{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA4C;AAE5C,WAAW;;;;AGqGJ,MAAM,4CAAoB,CAC/B;IAEA,OAAO;QACL,OAAO;YACL,cAAc,WAAW,gBAAgB;QAC1C;QACD,OAAO;YACL,MAAM,WAAW,QAAQ;YACzB,QAAQ,WAAW,cAAc,WAAW,QAAQ;YACpD,UAAU,WAAW,gBAAgB,WAAW,QAAQ;QACzD;IACF;AACH;;;ADrGc,kDAAW,SAAiC;IACxD,IAAI,cAAc,CAAA,GAAA,yCAAA,EAAkB;IAEpC,OAAO;QACL,QAAQ;YACN,GAAG,CAAA,GAAA,cAAA,CAAO;YACV,GAAG,CAAA,GAAA,iBAAA,CAAU;YACb,GAAG,CAAA,GAAA,kBAAA,CAAW;YACd,GAAG,CAAA,GAAA,gBAAA,CAAS;YACZ,GAAG,CAAA,GAAA,aAAA,CAAM;YACT,GAAG,CAAA,GAAA,YAAA,CAAK;YAER,gBAAgB;YAChB,YAAY;YACZ,gBAAgB;YAChB,UAAU;YACV,eAAe;YACf,gBAAgB;YAChB,YAAY;YACZ,cAAc;YACd,mBAAmB,WAAW,gBAAgB;YAC9C,aAAa,WAAW,gBAAgB;YACxC,kBACE,WAAW,qBAAqB,WAAW,gBAAgB;YAC7D,YAAY;YACZ,oBAAoB;YAEpB,iBAAiB;YACjB,aAAa;YACb,iBAAiB;YACjB,WAAW;YACX,gBAAgB;YAChB,iBAAiB;YACjB,aAAa;YACb,eAAe;YACf,oBAAoB;YACpB,cAAc;YACd,mBAAmB;YACnB,aAAa;YACb,qBAAqB;YAErB,mBAAmB;YACnB,eAAe;YACf,mBAAmB;YACnB,aAAa;YACb,kBAAkB;YAClB,mBAAmB;YACnB,eAAe;YACf,iBAAiB;YACjB,sBAAsB;YACtB,gBAAgB;YAChB,qBAAqB;YACrB,eAAe;YACf,uBAAuB;YAEvB,iBAAiB;YACjB,aAAa,WAAW,eAAe;YACvC,WAAW,WAAW,aAAa;YACnC,YAAY;YACZ,WAAW;YACX,aAAa;YACb,eAAe;YAEf,mBAAmB;YACnB,oBAAoB;YACpB,iBAAiB;YACjB,iBAAiB,WAAW,mBAAmB;YAC/C,sBAAsB,WAAW,wBAAwB;YACzD,mBAAmB,WAAW,qBAAqB;YACnD,kBAAkB,WAAW,oBAAoB;YACjD,kBAAkB,WAAW,oBAAoB;YACjD,mBAAmB,WAAW,qBAAqB;YACnD,gBAAgB,WAAW,kBAAkB;YAC7C,mBAAmB,WAAW,qBAAqB;QACpD;QACD,QAAQ;YACN,SAAS,WAAW,WAAW;YAC/B,WAAW,WAAW,aAAa;QACpC;QACD,GAAG,WAAW;IACf;AACH;;;;;;AGhGA,4BAAiB,KAAK,KAAK,CAAC;;;ADYrB,MAAM,0DAAyB,CAAA,GAAA,oBAAA,EACpC;AAGK,MAAM,4CACX,SAAU,YAAE,QAAQ,WAAE,OAAO,EAAgC;IAC3D,MAAM,CAAC,eAAe,EAAE,GAAG,CAAA,GAAA,eAAA,EACzB,CAAA,GAAA,mBAAA,EAAa;QAAE,GAAG,OAAO;QAAE,WAAW,CAAA,GAAA,iCAAA;IAAO;IAG/C,qBACE,CAAA,GAAA,YAAA,EAAA,aAAA,CAAC,0CAAuB,QAAQ,EAAA;QAAC,OAAO;IAAa,GAClD;AAGP;;;;;;AEpBK,MAAM,eACX,yCAAW,aACX,yCAAS,UACT,yCAAM,aACN,yCAAS,cACT,yCAAU,SACV,yCAAK,UACL,yCAAM,EACP,GAAG,CAAA,GAAA,qBAAA,EAAe;IACjB,OAAO;QACL,OAAO;YACL,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;QACJ;QACD,WAAW,CAAA;QACX,aAAa,CAAA;QACb,OAAO;YACL,MAAM;YACN,QAAQ;QACT;QACD,aAAa,CAAA;QACb,gBAAgB,CAAA;QAChB,OAAO,CAAA;QACP,OAAO;YACL,cAAc;QACf;QACD,SAAS,CAAA;QACT,aAAa,CAAA;IACd;IACD,OAAO;QACL,SAAS;QACT,GAAG,CAAC,QAA6C,CAAA;gBAC/C,QAAQ;YACT,CAAA;QACD,IAAI,CAAC,QAA6C,CAAA;gBAChD,YAAY;gBACZ,aAAa;YACd,CAAA;QACD,IAAI,CAAC,QAA6C,CAAA;gBAChD,WAAW;gBACX,cAAc;YACf,CAAA;QACD,IAAI,CAAC,QAA6C,CAAA;gBAChD,WAAW;YACZ,CAAA;QACD,IAAI,CAAC,QAA6C,CAAA;gBAChD,cAAc;YACf,CAAA;QACD,IAAI,CAAC,QAA6C,CAAA;gBAChD,YAAY;YACb,CAAA;QACD,IAAI,CAAC,QAA6C,CAAA;gBAChD,aAAa;YACd,CAAA;QAED,UAAU;QACV,GAAG,CAAC,QAA8C,CAAA;gBAChD,SAAS;YACV,CAAA;QACD,IAAI,CAAC,QAA8C,CAAA;gBACjD,aAAa;gBACb,cAAc;YACf,CAAA;QACD,IAAI,CAAC,QAA8C,CAAA;gBACjD,YAAY;gBACZ,eAAe;YAChB,CAAA;QACD,IAAI,CAAC,QAA8C,CAAA;gBACjD,YAAY;YACb,CAAA;QACD,IAAI,CAAC,QAA8C,CAAA;gBACjD,eAAe;YAChB,CAAA;QACD,IAAI,CAAC,QAA8C,CAAA;gBACjD,aAAa;YACd,CAAA;QACD,IAAI,CAAC,QAA8C,CAAA;gBACjD,cAAc;YACf,CAAA;QACD,aAAa;QACb,GAAG,CAAC,QAA4C,CAAA;gBAC9C,OAAO;YACR,CAAA;QACD,GAAG,CAAC,QAA6C,CAAA;gBAC/C,QAAQ;YACT,CAAA;QACD,MAAM,CAAC,QAA4C,CAAA;gBACjD,OAAO;gBACP,QAAQ;YACT,CAAA;IACF;IACD,OAAO;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,QAAQ;QACR,OAAO;QACP,MAAM;QACN,OAAO;IACR;IACD,QAAQ;AACT;;;;;AC5GM,MAAM,4CAAiB,CAC5B,QACA;IAEA,MAAM,UAAuB;QAC3B,kBAAkB,CAAA,GAAA,iCAAA;IACnB;IACD,IAAI,QACF,OAAO,CAAC,YAAY,GAAG;IAEzB,IAAI,eACF,OAAO,CAAC,gBAAgB,GAAG;IAE7B,OAAO;AACT;AAEO,MAAM,4CAAiB,CAAC;IAC7B,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI,MAAM,OAAO,CAAC,SAAS;QACzB,WAAW,MAAM,CAAC,EAAE;QACpB,SAAS,MAAM,CAAC,EAAE;QAClB,gBAAgB,MAAM,CAAC,EAAE;IAC3B,OACE,WAAW;IAEb,MAAM,UAAU,0CAAe,QAAQ;IACvC,OAAO,CAAA,GAAA,YAAA,EAAM,UAAU;iBACrB;IACD,GACE,IAAI,CAAC,CAAC;QACL,IAAI,IAAI,OAAO,EAAE,CAAC,cAAc,KAAK,QACnC,QAAQ,IAAI,CACV,CAAA,aAAA,EAAgB,IAAI,MAAM,CAAC,GAAG,CAAA,0DAAA,CAA4D;QAI9F,OAAO,IAAI,IAAI;IACjB,GACC,KAAK,CAAC,CAAC;QACN,MAAM;IACR;AACJ;AAEA,MAAM,kCAAY;AAClB,MAAM,sCAAgB;AAEf,MAAM,4CAAuB;IAClC,IAAI,MAAM,IAAI,IAAI,EAAE;IACpB,IAAI,WAAmC,CAAA;IACvC,IAAI;QACF,MACE,OAAO,WAAW,cACd,IAAI,IAAI,KAAK,KAAK,CAAC,aAAa,OAAO,CAAC,oCAAc,SACtD,IAAI,IAAI,EAAE;QAChB,WACE,OAAO,WAAW,cACd,KAAK,KAAK,CAAC,aAAa,OAAO,CAAC,wCAAkB,QAClD,CAAA;QACN,IAAK,IAAI,OAAO,SAAU;YACxB,MAAM,MAAc,QAAQ,CAAC,IAAI;YACjC,MAAM,WAAW,IAAI,GAAG,CAAC;YACzB,IAAI,QAAQ;YAEZ,IAAI,KAAK,GAAG,MAAM,KAChB,QAAQ;iBACH,IACL,SAAS,KAAK,IACd,SAAS,IAAI,IACb,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,OAAc,CAAC,OAEnC,QAAQ;YAGV,IAAI,OAAO;gBACT,IAAI,MAAM,CAAC;gBACX,OAAO,QAAQ,CAAC,IAAI;YACtB;QACF;IACF,EAAE,OAAO,GAAG;QACV,QAAQ,IAAI,CAAC;IACf;IAEA,sBAAsB;IACtB,MAAM,SAAS,IAAI,GAAG,CAAC,IAAI,CAAC;IAC5B,IAAI,GAAG,GAAG,CAAC,KAAc;QACvB,MAAM,MAAM;QACZ,MAAM,oBAAoB;QAC1B,IAAI,IAAI,QAAQ,CAAC,oBACf,QAAQ,CAAC,IAAI,GAAG,KAAK,GAAG,KAAK,SAAQ,KAAK;aAE1C,QAAQ,CAAC,IAAI,GAAG,KAAK,GAAG,KAAK,QAAU,IAAI;QAE7C,OAAO,OAAO,KAAK;IACrB;IAEA,4EAA4E;IAC5E,IAAI,OAAO,WAAW,aACpB,2DAA2D;IAC3D,OAAO,gBAAgB,CAAC,gBAAgB;QACtC,MAAM,aAAa;YACjB;YACA;YACA;YACA;SACD;QACD,KAAK,IAAI,OAAO,IAAI,IAAI,GACtB,IACE,CAAC,WAAW,IAAI,CAAC,CAAC,YAAe,IAAe,QAAQ,CAAC,aAEzD,IAAI,MAAM,CAAC;QAGf,MAAM,WAAW,KAAK,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,OAAO;QACtD,aAAa,OAAO,CAAC,qCAAe,KAAK,SAAS,CAAC;QACnD,aAAa,OAAO,CAAC,iCAAW;IAClC;IAGF,yDAAyD;IACzD,OAAO;AACT;AAEO,MAAM,4CAEA;IACX,SAAS;IACT,mBAAmB;IACnB,UAAU;AACX;;;;ACrID,MAAM,qCAAe,CAAA,GAAA,yCAAA,EAAU;IAC7B,MAAM;QACJ,SAAS;QACT,WAAW;IACZ;IACD,QAAQ;QACN,SAAS;QACT,WAAW;IACZ;AACF;AAED,MAAM,oCAAc,CAAA,GAAA,yCAAA,EAAU;IAC5B,uBAAuB;QACrB,SAAS;QACT,SAAS;QACT,WAAW;QACX,YAAY;QACZ,SAAS;QACT,WAAW;QACX,WAAW;QACX,UAAU;QACV,YAAY;QACZ,cAAc;QACd,UAAU;QACV,WAAW;QACX,aAAa;QACb,iBAAiB;QACjB,WACE;QACF,QAAQ;QACR,YAAY;IACb;IACD,4BAA4B;QAC1B,SAAS;QACT,WAAW;QACX,YAAY;QACZ,SAAS;QACT,QAAQ;QACR,eAAe;IAChB;IACD,8BAA8B;QAC5B,SAAS;QACT,WAAW;QACX,YAAY;QACZ,SAAS;QACT,UAAU;QACV,KAAK;IACN;IACD,oCAAoC;QAClC,WAAW,CAAA,EAAG,mCAAY,qCAAA,CAAuC;IAClE;IACD,8BAA8B;QAC5B,UAAU;QACV,KAAK;IACN;IACD,mCAAmC;QACjC,QAAQ;QACR,SAAS;IACV;IACD,sHACE;QACE,WAAW;IACZ;IACH,sHACE;QACE,WAAW;IACZ;IACH,+CAA+C;QAC7C,cAAc;QACd,yBAAyB;QACzB,wBAAwB;QACxB,YAAY;IACb;IACD,8CAA8C;QAC5C,cAAc;QACd,yBAAyB;QACzB,wBAAwB;IACzB;IACD,+CAA+C;QAC7C,QAAQ;IACT;IACD,0DAA0D;QACxD,QAAQ;IACT;IACD,8BAA8B;QAC5B,UAAU;QACV,SAAS;QACT,eAAe;QACf,QAAQ;QACR,SAAS;QACT,QAAQ;QACR,OAAO;QACP,MAAM;QACN,aAAa;QACb,QAAQ;IACT;IACD,6BAA6B;QAC3B,UAAU;QACV,SAAS;QACT,eAAe;QACf,QAAQ;QACR,SAAS;QACT,QAAQ;QACR,OAAO;QACP,MAAM;QACN,aAAa;QACb,QAAQ;IACT;IACD,0JACE;QACE,MAAM;QACN,OAAO;IACR;IACH,iFACE;QACE,MAAM;QACN,OAAO;IACR;IACH,2EAA2E;QACzE,QAAQ;IACT;IACD,uCAAuC;QACrC,SAAS;IACV;IACD,sCAAsC;QACpC,SAAS;IACV;IACD,iFACE;QACE,KAAK;IACN;IACH,0CAA0C;QACxC,SAAS;IACV;IACD,yCAAyC;QACvC,SAAS;IACV;IACD,6BAA6B;QAC3B,SAAS;IACV;IACD,sBAAsB;QACpB,UAAU;QACV,SAAS;IACV;IACD,qBAAqB;QACnB,SAAS;IACV;IACD,sCAAsC;QACpC,iBAAiB;QACjB,OAAO;QACP,MAAM;QACN,QAAQ;QACR,YAAY;QACZ,WAAW;QACX,UAAU;QACV,YAAY;QACZ,UAAU;QACV,MAAM;QACN,cAAc;IACf;IACD,oFACE;QACE,YAAY;QACZ,gBAAgB;QAChB,QAAQ;QACR,UAAU;QACV,KAAK;QACL,QAAQ;QACR,SAAS;QACT,QAAQ;QACR,OAAO;QACP,MAAM;IACP;IACH,0HACE;QACE,SAAS;IACV;IACH,wFACE;QACE,UAAU;IACX;IACH,8HACE;QACE,MAAM;IACP;IACH,8HACE;QACE,OAAO;IACR;IACH,gGACE;QACE,OAAO;IACR;IACH,wGACE;QACE,MAAM;IACP;IACH,4FACE;QACE,OAAO;QACP,QAAQ;IACT;IACH,sGACE;QACE,YAAY;QACZ,MAAM;IACP;IACH,oBAAoB;QAClB,UAAU;QACV,QAAQ;IACT;IACD,iDAAiD;QAC/C,SAAS;IACV;IACD,0BAA0B;QACxB,OAAO;IACR;IACD,qCAAqC;QACnC,SAAS;IACV;IACD,wGACE;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AA,GAChD,MAAM,IAAI,MAAM;IAGlB,OAAO,SAAS,IAAI;AACtB;AAEO,MAAM,4CAAyB,OAAO;IAC3C,IAAI;QACF,MAAM,OAAO,MAAM,+BAAS;QAE5B,IAAI,KAAK,KAAK,EAAE;YACd,MAAM,QAAQ,0CAAoB,KAAK,KAAK;YAC5C,OAAO;QACT;QAEA,OAAO;IACT,EAAE,OAAO,GAAG;QACV,QAAQ,KAAK,CAAC;QACd,OAAO;IACT;AACF;;;AC1CO,MAAM,4CAAa;IACxB;QACE,WAAW;QACX,QAAQ;YACN;gBACE,SAAS;gBACT,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;YACD;gBACE,SAAS;gBACT,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;YACD;gBACE,SAAS;gBACT,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;SACF;QACD,MAAM;QACN,MAAM;IACP;IACD;QACE,WAAW;QACX,QAAQ;YACN;gBACE,SAAS;gBACT,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;YACD;gBACE,SAAS;gBACT,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;YACD;gBACE,SAAS;gBACT,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;YACD;gBACE,SAAS;gBACT,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;YACD;gBACE,SAAS;gBACT,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;SACF;QACD,MAAM;QACN,MAAM;IACP;IACD;QACE,WAAW;QACX,QAAQ;YACN;gBACE,SAAS;gBACT,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;YACD;gBACE,SAAS;gBACT,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;YACD;gBACE,SAAS;gBACT,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;YACD;gBACE,SAAS;gBACT,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;YACD;gBACE,SAAS;gBACT,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;SACF;QACD,MAAM;QACN,MAAM;IACP;IACD;QACE,WAAW;QACX,QAAQ;YACN;gBACE,SAAS;gBACT,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;YACD;gBACE,SAAS;gBACT,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;SACF;QACD,MAAM;QACN,MAAM;IACP;IACD;QACE,QAAQ;YACN;gBACE,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;YACD;gBACE,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;SACF;QACD,MAAM;QACN,SAAS;YACP;gBACE,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;SACF;QACD,iBAAiB;QACjB,MAAM;IACP;IACD;QACE,QAAQ;YACN;gBACE,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;YACD;gBACE,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;SACF;QACD,MAAM;QACN,SAAS;YACP;gBACE,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;SACF;QACD,iBAAiB;QACjB,MAAM;IACP;IACD;QACE,QAAQ;YACN;gBACE,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;YACD;gBACE,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;SACF;QACD,MAAM;QACN,SAAS;YACP;gBACE,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;SACF;QACD,iBAAiB;QACjB,MAAM;IACP;IACD;QACE,QAAQ;YACN;gBACE,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;YACD;gBACE,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;YACD;gBACE,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;YACD;gBACE,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;YACD;gBACE,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;SACF;QACD,MAAM;QACN,SAAS,EAAE;QACX,iBAAiB;QACjB,MAAM;IACP;IACD;QACE,QAAQ;YACN;gBACE,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;YACD;gBACE,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;YACD;gBACE,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;YACD;gBACE,cAAc;gBACd,MAAM;gBACN,MAAM;YACP;YACD;gBACE,cAAc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","sources":["packages/ui/src/index.ts","packages/ui/src/ReservoirKitProvider.tsx","packages/ui/src/themes/darkTheme.ts","packages/ui/src/themes/ReservoirKitTheme.ts","packages/ui/src/ReservoirClientProvider.tsx","packages/ui/package.json","packages/ui/stitches.config.ts","packages/ui/src/lib/swr.ts","packages/ui/src/styles/calendar.ts","packages/ui/src/hooks/useMutationObservable.ts","packages/ui/src/hooks/useAttributes.ts","packages/ui/src/hooks/useReservoirClient.ts","packages/ui/src/hooks/useBids.tsx","packages/ui/src/hooks/useInfiniteApi.ts","packages/ui/src/hooks/useCart.ts","packages/ui/src/context/CartProvider.tsx","packages/ui/src/hooks/useCurrencyConversion.ts","packages/ui/src/hooks/useChainCurrency.ts","packages/ui/src/hooks/useCoinConversion.ts","packages/ui/src/hooks/useCoinIds.ts","packages/ui/src/hooks/useCollectionActivity.ts","packages/ui/src/hooks/useCollections.ts","packages/ui/src/hooks/useDynamicTokens.ts","packages/ui/src/hooks/useTokens.ts","packages/ui/src/hooks/useListings.ts","packages/ui/src/hooks/useMarketplaceConfigs.ts","packages/ui/src/hooks/useOwnerListings.ts","packages/ui/src/hooks/useUserListings.ts","packages/ui/src/hooks/useSolverCapacity.ts","packages/ui/src/hooks/useTokenActivity.ts","packages/ui/src/hooks/useTrendingCollections.ts","packages/ui/src/hooks/useTrendingMints.ts","packages/ui/src/hooks/useUserBids.ts","packages/ui/src/hooks/useUserCollections.ts","packages/ui/src/hooks/useUsersActivity.ts","packages/ui/src/hooks/useUserTokens.ts","packages/ui/src/hooks/useUserTopBids.ts","packages/ui/src/themes/lightTheme.ts","packages/ui/src/modal/buy/BuyModal.tsx","packages/ui/src/hooks/useFallbackState.ts","packages/ui/src/primitives/Anchor.tsx","packages/ui/src/primitives/Box.tsx","packages/ui/src/primitives/Button.tsx","packages/ui/src/primitives/CryptoCurrencyIcon.tsx","packages/ui/src/primitives/EthLogo.tsx","packages/ui/src/img/EthIconGlyph.tsx","packages/ui/src/img/EthIconGray.tsx","packages/ui/src/img/EthIconPurple.tsx","packages/ui/src/constants/wrappedContracts.ts","packages/ui/src/img/WEthIcon.tsx","packages/ui/src/primitives/ErrorWell.tsx","packages/ui/src/primitives/Flex.tsx","packages/ui/src/primitives/Text.tsx","packages/ui/src/lib/truncate.ts","packages/ui/src/primitives/FormatCryptoCurrency.tsx","packages/ui/src/primitives/FormatCrypto.tsx","packages/ui/src/lib/numbers.ts","packages/ui/src/primitives/Tooltip.tsx","packages/ui/src/primitives/Loader.tsx","packages/ui/src/modal/Progress.tsx","packages/ui/src/lib/getChainBlockExplorerUrl.ts","packages/ui/src/modal/Modal.tsx","packages/ui/src/primitives/Dialog.tsx","packages/ui/src/hooks/useMediaQuery.ts","packages/ui/src/img/ReservoirText.tsx","packages/ui/src/modal/buy/BuyModalRenderer.tsx","packages/ui/src/hooks/usePaymentTokens.ts","packages/ui/src/hooks/useCurrencyConversions.ts","packages/ui/src/hooks/useRelayChains.ts","packages/ui/src/modal/ProgressBar.tsx","packages/ui/src/modal/QuantitySelector.tsx","packages/ui/src/primitives/PseudoInput.tsx","packages/ui/src/modal/SelectPaymentToken.tsx","packages/ui/src/primitives/ChainIcon.tsx","packages/ui/src/constants/chainIcons.tsx","packages/ui/src/img/chains/StoryOdysseyIconDark.tsx","packages/ui/src/img/chains/StoryOdysseyIconLight.tsx","packages/ui/src/img/chains/StoryOdysseyIconColor.tsx","packages/ui/src/img/chains/MainnetIconDark.tsx","packages/ui/src/img/chains/MainnetIconLight.tsx","packages/ui/src/img/chains/PolygonIconDark.tsx","packages/ui/src/img/chains/PolygonIconLight.tsx","packages/ui/src/img/chains/PolygonIconColor.tsx","packages/ui/src/img/chains/BaseIconDark.tsx","packages/ui/src/img/chains/BaseIconLight.tsx","packages/ui/src/img/chains/BaseIconColor.tsx","packages/ui/src/img/chains/Ancient8IconDark.tsx","packages/ui/src/img/chains/Ancient8IconLight.tsx","packages/ui/src/img/chains/Ancient8IconColor.tsx","packages/ui/src/img/chains/ArbitrumIconDark.tsx","packages/ui/src/img/chains/ArbitrumIconLight.tsx","packages/ui/src/img/chains/ArbitrumIconColor.tsx","packages/ui/src/img/chains/ArbitrumNovaIconDark.tsx","packages/ui/src/img/chains/ArbitrumNovaIconLight.tsx","packages/ui/src/img/chains/ArbitrumNovaIconColor.tsx","packages/ui/src/img/chains/AvalancheIconDark.tsx","packages/ui/src/img/chains/AvalancheIconLight.tsx","packages/ui/src/img/chains/AvalancheIconColor.tsx","packages/ui/src/img/chains/BscIconDark.tsx","packages/ui/src/img/chains/BscIconLight.tsx","packages/ui/src/img/chains/BscIconColor.tsx","packages/ui/src/img/chains/SepoliaIconDark.tsx","packages/ui/src/img/chains/SepoliaIconLight.tsx","packages/ui/src/img/chains/LineaIconDark.tsx","packages/ui/src/img/chains/LineaIconLight.tsx","packages/ui/src/img/chains/LineaIconColor.tsx","packages/ui/src/img/chains/OptimismIconDark.tsx","packages/ui/src/img/chains/OptimismIconLight.tsx","packages/ui/src/img/chains/OptimismIconColor.tsx","packages/ui/src/img/chains/ScrollIconDark.tsx","packages/ui/src/img/chains/ScrollIconLight.tsx","packages/ui/src/img/chains/ScrollIconColor.tsx","packages/ui/src/img/chains/PolygonZkevmIconDark.tsx","packages/ui/src/img/chains/PolygonZkevmIconLight.tsx","packages/ui/src/img/chains/PolygonZkevmIconColor.tsx","packages/ui/src/img/chains/ZksyncIconDark.tsx","packages/ui/src/img/chains/ZksyncIconLight.tsx","packages/ui/src/img/chains/ZksyncIconColor.tsx","packages/ui/src/img/chains/ZoraIconDark.tsx","packages/ui/src/img/chains/ZoraIconLight.tsx","packages/ui/src/img/chains/ZoraIconColor.tsx","packages/ui/src/img/chains/FrameIconDark.tsx","packages/ui/src/img/chains/FrameIconLight.tsx","packages/ui/src/img/chains/FrameIconColor.tsx","packages/ui/src/img/chains/BlastSepoliaIconColor.tsx","packages/ui/src/img/chains/BlastSepoliaIconLight.tsx","packages/ui/src/img/chains/BlastSepoliaIconDark.tsx","packages/ui/src/img/chains/ApexPopIconLight.tsx","packages/ui/src/img/chains/ApexPopIconDark.tsx","packages/ui/src/img/chains/ApexPopIconColor.tsx","packages/ui/src/img/chains/BlastIconColor.tsx","packages/ui/src/img/chains/BlastIconDark.tsx","packages/ui/src/img/chains/BlastIconLight.tsx","packages/ui/src/img/chains/AstarZkEVMLight.tsx","packages/ui/src/img/chains/AstarZkEVMDark.tsx","packages/ui/src/img/chains/AstarZkEVMColor.tsx","packages/ui/src/img/chains/RedstoneColor.tsx","packages/ui/src/img/chains/RedstoneDark.tsx","packages/ui/src/img/chains/RedstoneLight.tsx","packages/ui/src/img/chains/BerachainIconLight.tsx","packages/ui/src/img/chains/BerachainIconDark.tsx","packages/ui/src/img/chains/BerachainIconColor.tsx","packages/ui/src/img/chains/DegenIconLight.tsx","packages/ui/src/img/chains/DegenIconDark.tsx","packages/ui/src/img/chains/DegenIconColor.tsx","packages/ui/src/img/chains/XaiIconLight.tsx","packages/ui/src/img/chains/XaiIconDark.tsx","packages/ui/src/img/chains/XaiIconColor.tsx","packages/ui/src/img/chains/NebulaIconLight.tsx","packages/ui/src/img/chains/NebulaIconDark.tsx","packages/ui/src/img/chains/NebulaIconColor.tsx","packages/ui/src/img/chains/SeiTestnetIconLight.tsx","packages/ui/src/img/chains/SeiTestnetIconDark.tsx","packages/ui/src/img/chains/SeiTestnetIconColor.tsx","packages/ui/src/img/chains/CyberIconLight.tsx","packages/ui/src/img/chains/CyberIconDark.tsx","packages/ui/src/img/chains/CyberIconColor.tsx","packages/ui/src/img/chains/BitlayerIconLight.tsx","packages/ui/src/img/chains/BitlayerIconDark.tsx","packages/ui/src/img/chains/BitlayerIconColor.tsx","packages/ui/src/img/chains/SeiIconLight.tsx","packages/ui/src/img/chains/SeiIconDark.tsx","packages/ui/src/img/chains/SeiIconColor.tsx","packages/ui/src/img/chains/B3IconLight.tsx","packages/ui/src/img/chains/B3IconDark.tsx","packages/ui/src/img/chains/B3IconColor.tsx","packages/ui/src/img/chains/FlowPreviewnetIconLight.tsx","packages/ui/src/img/chains/FlowPreviewnetIconDark.tsx","packages/ui/src/img/chains/FlowPreviewnetIconColor.tsx","packages/ui/src/img/chains/CloudIconLight.tsx","packages/ui/src/img/chains/CloudIconDark.tsx","packages/ui/src/img/chains/CloudIconColor.tsx","packages/ui/src/img/chains/Game7IconLight.tsx","packages/ui/src/img/chains/Game7IconDark.tsx","packages/ui/src/img/chains/Game7IconColor.tsx","packages/ui/src/img/chains/FormaIconLight.tsx","packages/ui/src/img/chains/FormaIconDark.tsx","packages/ui/src/img/chains/FormaIconColor.tsx","packages/ui/src/img/chains/ApechainIconLight.tsx","packages/ui/src/img/chains/ApechainIconDark.tsx","packages/ui/src/img/chains/ApechainIconColor.tsx","packages/ui/src/img/chains/ShapeIconLight.tsx","packages/ui/src/img/chains/ShapeIconDark.tsx","packages/ui/src/img/chains/ShapeIconColor.tsx","packages/ui/src/img/chains/AbstractIconLight.tsx","packages/ui/src/img/chains/AbstractIconDark.tsx","packages/ui/src/img/chains/AbstractIconColor.tsx","packages/ui/src/img/chains/HychainIconLight.tsx","packages/ui/src/img/chains/HychainIconDark.tsx","packages/ui/src/img/chains/HychainIconColor.tsx","packages/ui/src/img/chains/ZeroIconLight.tsx","packages/ui/src/img/chains/ZeroIconDark.tsx","packages/ui/src/img/chains/ZeroIconColor.tsx","packages/ui/src/img/chains/AnimeIconLight.tsx","packages/ui/src/img/chains/AnimeIconDark.tsx","packages/ui/src/img/chains/AnimeIconColor.tsx","packages/ui/src/img/chains/MonadIconLight.tsx","packages/ui/src/img/chains/MonadIconDark.tsx","packages/ui/src/img/chains/MonadIconColor.tsx","packages/ui/src/img/chains/CreatorTestnetIconLight.tsx","packages/ui/src/img/chains/CreatorTestnetIconDark.tsx","packages/ui/src/img/chains/CreatorTestnetIconColor.tsx","packages/ui/src/img/chains/SoneiumIconLight.tsx","packages/ui/src/img/chains/SoneiumIconDark.tsx","packages/ui/src/img/chains/SoneiumIconColor.tsx","packages/ui/src/img/chains/InkIconLight.tsx","packages/ui/src/img/chains/InkIconDark.tsx","packages/ui/src/img/chains/InkIconColor.tsx","packages/ui/src/img/EthIconCircleBlue.tsx","packages/ui/src/common/PaymentDetails.tsx","packages/ui/src/primitives/FormatCurrency.tsx","packages/ui/src/common/TokenInfo.tsx","packages/ui/src/primitives/Divider.tsx","packages/ui/src/primitives/Img.tsx","packages/ui/src/modal/list/ListModal.tsx","packages/ui/src/primitives/DateInput.tsx","packages/ui/src/primitives/Input.tsx","packages/ui/src/primitives/Select.tsx","packages/ui/src/modal/list/ListModalRenderer.tsx","packages/ui/src/hooks/useMarketplaces.ts","packages/ui/src/lib/getLocalMarketplaceData.ts","packages/ui/src/lib/defaultExpirationOptions.ts","packages/ui/src/modal/SigninStep.tsx","packages/ui/src/modal/list/ListCheckout.tsx","packages/ui/src/hooks/useTimeSince.ts","packages/ui/src/modal/CurrencySelector.tsx","packages/ui/src/modal/list/PriceBreakdown.tsx","packages/ui/src/primitives/Collapsible.tsx","packages/ui/src/primitives/InfoTooltip.tsx","packages/ui/src/primitives/Popover.tsx","packages/ui/src/modal/list/FloorDropdown.tsx","packages/ui/src/primitives/Dropdown.tsx","packages/ui/src/modal/bid/BidModal.tsx","packages/ui/src/primitives/FormatWrappedCurrency.tsx","packages/ui/src/modal/bid/BidModalRenderer.tsx","packages/ui/src/constants/wrappedContractNames.ts","packages/ui/src/modal/bid/TokenInfo.tsx","packages/ui/src/modal/TransactionProgress.tsx","packages/ui/src/modal/bid/AttributeSelector.tsx","packages/ui/src/primitives/ScrollArea.tsx","packages/ui/src/modal/acceptBid/AcceptBidModal.tsx","packages/ui/src/modal/acceptBid/AcceptBidModalRenderer.tsx","packages/ui/src/modal/acceptBid/AcceptBidLineItem.tsx","packages/ui/src/modal/acceptBid/ApproveBidCollapsible.tsx","packages/ui/src/modal/ApproveCollapisble.tsx","packages/ui/src/primitives/Grid.tsx","packages/ui/src/modal/acceptBid/AcceptBidSummaryLineItem.tsx","packages/ui/src/modal/cancelBid/CancelBidModal.tsx","packages/ui/src/modal/cancelBid/CancelBidModalRenderer.tsx","packages/ui/src/modal/TokenPrimitive.tsx","packages/ui/src/modal/cancelListing/CancelListingModal.tsx","packages/ui/src/modal/cancelListing/CancelListingModalRenderer.tsx","packages/ui/src/modal/editBid/EditBidModal.tsx","packages/ui/src/modal/editBid/EditBidModalRenderer.tsx","packages/ui/src/modal/editListing/EditListingModal.tsx","packages/ui/src/modal/editListing/EditListingModalRenderer.tsx","packages/ui/src/primitives/PriceInput.tsx","packages/ui/src/modal/mint/MintModal.tsx","packages/ui/src/modal/mint/MintModalRenderer.tsx","packages/ui/src/modal/CurrentStepTxHashes.tsx","packages/ui/src/modal/ApprovePurchasingCollapsible.tsx","packages/ui/src/modal/TokenCheckout.tsx","packages/ui/src/modal/mint/MintImages.tsx","packages/ui/src/components/TokenMedia/index.tsx","packages/ui/src/hooks/useModelViewer.ts","packages/ui/src/components/TokenMedia/MediaPlayButton.tsx","packages/ui/src/components/TokenMedia/TokenFallback.tsx","packages/ui/src/lib/processTokenURI.ts","packages/ui/src/constants/abis.ts","packages/ui/src/modal/TokenInfo.tsx","packages/ui/src/modal/CollectionInfo.tsx","packages/ui/src/modal/PurchaseCheckout.tsx","packages/ui/src/modal/sweep/SweepModal.tsx","packages/ui/src/modal/sweep/SweepModalRenderer.tsx","packages/ui/src/components/cart/CartPopover.tsx","packages/ui/src/components/cart/CartItem.tsx","packages/ui/src/components/cart/CartToast.tsx","packages/ui/src/components/cart/CartPopoverRenderer.tsx","packages/ui/src/components/cart/CartCheckoutModal.tsx","packages/ui/src/components/collectButton/index.tsx","packages/ui/src/components/collectButton/CollectButtonRenderer.tsx"],"sourcesContent":["/// <reference path=\"./types/parcel.d.ts\" />\n\n//Providers\nexport { ReservoirKitProvider } from './ReservoirKitProvider'\nexport { ReservoirClientProvider } from './ReservoirClientProvider'\n\n// Hooks\nexport {\n  useCollections,\n  useCollectionActivity,\n  useUsersActivity,\n  useReservoirClient,\n  useTokens,\n  useTokenActivity,\n  useCoinConversion,\n  useListings,\n  useOwnerListings,\n  useAttributes,\n  useBids,\n  useUserTokens,\n  useUserTopBids,\n  useUserCollections,\n  useCart,\n  useDynamicTokens,\n  useTrendingCollections,\n  useTrendingMints,\n  useCurrencyConversion,\n  useSolverCapacity,\n  useMarketplaceConfigs,\n  useUserListings,\n  useUserBids,\n} from './hooks'\n\n// Themes\nexport { lightTheme, darkTheme } from './themes'\nexport type { ReservoirKitTheme } from './themes/ReservoirKitTheme'\n\n//Components\nexport { BuyModal } from './modal/buy/BuyModal'\nexport { BuyStep } from './modal/buy/BuyModalRenderer'\n\nexport { ListModal } from './modal/list/ListModal'\nexport { ListStep } from './modal/list/ListModalRenderer'\n\nexport { BidModal } from './modal/bid/BidModal'\nexport { BidStep } from './modal/bid/BidModalRenderer'\n\nexport { AcceptBidModal } from './modal/acceptBid/AcceptBidModal'\nexport { AcceptBidStep } from './modal/acceptBid/AcceptBidModalRenderer'\n\nexport { CancelBidModal } from './modal/cancelBid/CancelBidModal'\nexport { CancelStep as CancelBidStep } from './modal/cancelBid/CancelBidModalRenderer'\n\nexport { CancelListingModal } from './modal/cancelListing/CancelListingModal'\nexport { CancelStep as CancelListingStep } from './modal/cancelListing/CancelListingModalRenderer'\n\nexport { EditBidModal } from './modal/editBid/EditBidModal'\nexport { EditBidStep } from './modal/editBid/EditBidModalRenderer'\n\nexport { EditListingModal } from './modal/editListing/EditListingModal'\nexport { EditListingStep } from './modal/editListing/EditListingModalRenderer'\n\nexport { MintModal } from './modal/mint/MintModal'\nexport { MintStep } from './modal/mint/MintModalRenderer'\n\nexport { SweepModal } from './modal/sweep/SweepModal'\nexport { SweepStep } from './modal/sweep/SweepModalRenderer'\n\nexport {\n  default as TokenMedia,\n  extractMediaType,\n} from './components/TokenMedia'\n\nexport { default as CartPopover } from './components/cart/CartPopover'\nexport { CartProvider } from './context/CartProvider'\nexport type {\n  Cart,\n  CheckoutStatus,\n  CheckoutTransactionError,\n} from './context/CartProvider'\n\nexport { CollectButton } from './components/collectButton'\n","import React, {\n  createContext,\n  FC,\n  ReactNode,\n  useEffect,\n  useState,\n  useRef,\n  ComponentPropsWithoutRef,\n  useCallback,\n} from 'react'\nimport {\n  ReservoirClientOptions,\n  reservoirChains,\n} from '@reservoir0x/reservoir-sdk'\nimport { ReservoirKitTheme, darkTheme } from './themes'\nimport { ReservoirClientProvider } from './ReservoirClientProvider'\nimport { SWRConfig } from 'swr'\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\n\nexport type CoinId = {\n  [key: string]: string\n}\nexport type CoinGecko = {\n  proxy?: string\n  apiKey?: string\n  coinIds?: CoinId\n}\n\ntype ReservoirKitProviderOptions = {\n  disablePoweredByReservoir?: boolean\n  disableJumperLink?: boolean\n  coinGecko?: CoinGecko\n  alwaysIncludeListingCurrency?: boolean\n  preferDisplayFiatTotal?: boolean\n  convertLink?: {\n    tokenUrl?: string\n    chainUrl?: string\n    customUrl?: ({\n      toChain,\n      toToken,\n      amountToWrap,\n      toCurrency,\n    }: {\n      toChain?: number\n      toToken?: string\n      amountToWrap?: string\n      toCurrency?: EnhancedCurrency\n    }) => string\n  }\n}\nexport interface ReservoirKitProviderProps {\n  children: ReactNode\n  options?: ReservoirClientOptions & ReservoirKitProviderOptions\n  theme?: ReservoirKitTheme\n  swrOptions?: ComponentPropsWithoutRef<typeof SWRConfig>['value']\n}\n\nimport { createTheme, ReservoirKitThemeContext } from '../stitches.config'\nimport { swrDefaultOptions } from './lib/swr'\n\nexport const ThemeContext = createContext<undefined | ReservoirKitThemeContext>(\n  undefined\n)\nexport const ProviderOptionsContext =\n  createContext<ReservoirKitProviderOptions>({})\n\nconst defaultOptions = {\n  chains: [{ ...reservoirChains.mainnet, active: true }],\n}\n\nconst classNameObserverOptions = {\n  attributeFilter: ['class'],\n}\n\nimport calendarCss from './styles/calendar'\nimport useMutationObservable from './hooks/useMutationObservable'\nimport { EnhancedCurrency } from './hooks/usePaymentTokens'\n\nexport const ReservoirKitProvider: FC<ReservoirKitProviderProps> = function ({\n  children,\n  options = defaultOptions,\n  theme,\n  swrOptions = {},\n}: ReservoirKitProviderProps) {\n  const [globalTheme, setGlobalTheme] = useState<\n    undefined | ReservoirKitThemeContext\n  >()\n  const [providerOptions, setProviderOptions] =\n    useState<ReservoirKitProviderOptions>({})\n  const currentTheme = useRef(null as any)\n  const classNameCallback = useCallback(\n    (mutationList: MutationRecord[]) => {\n      mutationList.forEach((mutation) => {\n        const body = mutation.target as HTMLBodyElement\n        if (\n          mutation.attributeName === 'class' &&\n          body &&\n          !body.className.includes(currentTheme.current)\n        ) {\n          document.body.classList.add(currentTheme.current)\n        }\n      })\n    },\n    [currentTheme]\n  )\n\n  useMutationObservable(\n    classNameCallback,\n    typeof window !== 'undefined' ? document.body : null,\n    classNameObserverOptions\n  )\n\n  calendarCss()\n\n  useEffect(() => {\n    let newTheme = createTheme(theme ? (theme as any) : (darkTheme() as any))\n    let oldTheme = currentTheme.current\n    currentTheme.current = newTheme\n\n    document.body.classList.add(newTheme)\n\n    if (oldTheme) {\n      document.body.classList.remove(oldTheme)\n    }\n\n    setGlobalTheme(newTheme as any)\n  }, [JSON.stringify(theme)])\n\n  useEffect(() => {\n    setProviderOptions(options)\n  }, [options])\n\n  return (\n    <ThemeContext.Provider value={globalTheme}>\n      <TooltipPrimitive.Provider>\n        <ProviderOptionsContext.Provider value={providerOptions}>\n          <ReservoirClientProvider options={options}>\n            <SWRConfig value={{ ...swrDefaultOptions, ...swrOptions }}>\n              {children}\n            </SWRConfig>\n          </ReservoirClientProvider>\n        </ProviderOptionsContext.Provider>\n      </TooltipPrimitive.Provider>\n    </ThemeContext.Provider>\n  )\n}\n","import {\n  redDark,\n  indigoDark,\n  slateDark,\n  indigoDarkA,\n  blackA,\n  green,\n} from '@radix-ui/colors'\n\nimport {\n  ReservoirKitOverrides,\n  ReservoirKitTheme,\n  sharedThemeConfig,\n} from './ReservoirKitTheme'\n\nexport default function (overrides?: ReservoirKitOverrides): ReservoirKitTheme {\n  let sharedTheme = sharedThemeConfig(overrides)\n\n  return {\n    colors: {\n      ...redDark,\n      ...indigoDark,\n      ...indigoDarkA,\n      ...slateDark,\n      ...blackA,\n      ...green,\n\n      // accent colors\n      accentBase: '$indigo1',\n      accentBgSubtle: '$indigo2',\n      accentBg: '$indigo3',\n      accentBgHover: '$indigo4',\n      accentBgActive: '$indigo5',\n      accentLine: '$indigo6',\n      accentBorder: '$indigo7',\n      accentBorderHover: overrides?.primaryColor || '$indigo8',\n      accentSolid: overrides?.primaryColor || '$indigo9',\n      accentSolidHover:\n        overrides?.primaryHoverColor || overrides?.primaryColor || '$indigo10',\n      accentText: '$indigo11',\n      accentTextContrast: '$indigo12',\n\n      // neutral colors\n      neutralBase: '$slate1',\n      neutralBgSubtle: '$slate2',\n      neutralBg: '$slate3',\n      neutralBgHover: '$slate4',\n      neutralBgActive: '$slate5',\n      neutralLine: '$slate6',\n      neutralBorder: '$slate7',\n      neutralBorderHover: '$slate8',\n      neutralSolid: '$slate9',\n      neutralSolidHover: '$slate10',\n      neutralText: '$slate11',\n      neutralTextContrast: '$slate12',\n\n      // secondary colors\n      secondaryBase: '$indigoA1',\n      secondaryBgSubtle: '$indigoA2',\n      secondaryBg: '$indigoA3',\n      secondaryBgHover: '$indigoA4',\n      secondaryBgActive: '$indigoA5',\n      secondaryLine: '$indigoA6',\n      secondaryBorder: '$indigoA7',\n      secondaryBorderHover: '$indigoA8',\n      secondarySolid: '$indigoA9',\n      secondarySolidHover: '$indigoA10',\n      secondaryText: '$indigoA11',\n      secondaryTextContrast: '$indigoA12',\n\n      // general colors\n      borderColor: overrides?.borderColor || '$neutralBorder',\n      textColor: overrides?.textColor || '$neutralTextContrast',\n      focusColor: '$neutralTextContrast',\n      errorText: '$red12',\n      errorAccent: '$red10',\n      successAccent: '$green10',\n\n      // component colors\n      reservoirLogoColor: '#ECEDEE',\n      inputBackground: '$neutralBgHover',\n      buttonTextColor: overrides?.buttonTextColor || 'white',\n      buttonTextHoverColor: overrides?.buttonTextHoverColor || 'white',\n      overlayBackground: overrides?.overlayBackground || '$blackA10',\n      headerBackground: overrides?.headerBackground || '$neutralBgHover',\n      footerBackground: overrides?.footerBackground || '$neutralBg',\n      contentBackground: overrides?.contentBackground || '$neutralBgSubtle',\n      wellBackground: overrides?.wellBackground || '$neutralBase',\n      popoverBackground: overrides?.popoverBackground || '$neutralBgActive',\n    },\n    assets: {\n      ethIcon: overrides?.ethIcon || 'purple',\n      chainIcon: overrides?.chainIcon || 'dark',\n    },\n    ...sharedTheme,\n  }\n}\n","export interface ReservoirKitTheme {\n  radii: {\n    borderRadius: string\n  }\n  fonts: {\n    body: string\n    button: string\n    headline: string\n  }\n  colors: ReservoirKitThemeColors\n  assets: {\n    ethIcon: 'glyph' | 'gray' | 'purple'\n    chainIcon: 'dark' | 'light'\n  }\n}\n\nexport interface ReservoirKitThemeColors {\n  // accent colors\n  accentBase: string\n  accentBgSubtle: string\n  accentBg: string\n  accentBgHover: string\n  accentBgActive: string\n  accentLine: string\n  accentBorder: string\n  accentBorderHover: string\n  accentSolid: string\n  accentSolidHover: string\n  accentText: string\n  accentTextContrast: string\n\n  // neutral colors\n  neutralBase: string\n  neutralBgSubtle: string\n  neutralBg: string\n  neutralBgHover: string\n  neutralBgActive: string\n  neutralLine: string\n  neutralBorder: string\n  neutralBorderHover: string\n  neutralSolid: string\n  neutralSolidHover: string\n  neutralText: string\n  neutralTextContrast: string\n\n  // secondary colors\n  secondaryBase: string\n  secondaryBgSubtle: string\n  secondaryBg: string\n  secondaryBgHover: string\n  secondaryBgActive: string\n  secondaryLine: string\n  secondaryBorder: string\n  secondaryBorderHover: string\n  secondarySolid: string\n  secondarySolidHover: string\n  secondaryText: string\n  secondaryTextContrast: string\n\n  // general colors\n  borderColor: string\n  textColor: string\n  focusColor: string\n  errorText: string\n  errorAccent: string\n  successAccent: string\n\n  // component colors\n  reservoirLogoColor: string\n  inputBackground: string\n  buttonTextColor: string\n  buttonTextHoverColor: string\n  overlayBackground: string\n  headerBackground: string\n  footerBackground: string\n  contentBackground: string\n  wellBackground: string\n  popoverBackground: string\n}\n\nexport type ReservoirKitOverrides = {\n  borderRadius?: string\n  font?: string\n  buttonFont?: string\n  buttonTextColor?: string\n  buttonTextHoverColor?: string\n  headlineFont?: string\n  primaryColor?: string\n  primaryHoverColor?: string\n  wellBackground?: string\n  textColor?: string\n  headerBackground?: string\n  contentBackground?: string\n  footerBackground?: string\n  overlayBackground?: string\n  popoverBackground?: string\n  borderColor?: string\n  ethIcon?: ReservoirKitTheme['assets']['ethIcon']\n  chainIcon?: ReservoirKitTheme['assets']['chainIcon']\n}\n\ntype ReservoirKitSharedTheme = Pick<ReservoirKitTheme, 'fonts' | 'radii'>\n\nexport const sharedThemeConfig = (\n  overrides?: ReservoirKitOverrides\n): ReservoirKitSharedTheme => {\n  return {\n    radii: {\n      borderRadius: overrides?.borderRadius || '4px',\n    },\n    fonts: {\n      body: overrides?.font || 'sans-serif',\n      button: overrides?.buttonFont || overrides?.font || 'sans-serif',\n      headline: overrides?.headlineFont || overrides?.font || 'sans-serif',\n    },\n  }\n}\n","import React, { createContext, FC, ReactNode, useState } from 'react'\nimport {\n  ReservoirClientOptions,\n  ReservoirClient,\n  createClient,\n} from '@reservoir0x/reservoir-sdk'\nimport { version } from '../package.json'\nexport interface ReservoirClientProviderProps {\n  children: ReactNode\n  options: ReservoirClientOptions\n}\n\nexport const ReservoirClientContext = createContext<ReservoirClient | null>(\n  null\n)\n\nexport const ReservoirClientProvider: FC<ReservoirClientProviderProps> =\n  function ({ children, options }: ReservoirClientProviderProps) {\n    const [clientContext, _] = useState<ReservoirClient | null>(\n      createClient({ ...options, uiVersion: version })\n    )\n\n    return (\n      <ReservoirClientContext.Provider value={clientContext}>\n        {children}\n      </ReservoirClientContext.Provider>\n    )\n  }\n","{\n  \"name\": \"@reservoir0x/reservoir-kit-ui\",\n  \"description\": \"ReservoirKit is the official frontend kit to get you started building dApps with the ReservoirProtocol.\",\n  \"version\": \"2.8.7\",\n  \"author\": \"Reservoir Protocol\",\n  \"license\": \"MIT\",\n  \"exports\": {\n    \".\": {\n      \"import\": \"./dist/index.mjs\",\n      \"require\": \"./dist/index.js\",\n      \"types\": \"./dist/index.d.ts\"\n    }\n  },\n  \"source\": \"./src/index.ts\",\n  \"main\": \"./dist/index.js\",\n  \"module\": \"./dist/index.mjs\",\n  \"types\": \"./dist/index.d.ts\",\n  \"files\": [\n    \"dist\"\n  ],\n  \"keywords\": [\n    \"nft\",\n    \"reservoir\",\n    \"reservoirkit\",\n    \"protocol\",\n    \"sdk\"\n  ],\n  \"sideEffects\": false,\n  \"scripts\": {\n    \"clean\": \"rm -rf dist\"\n  },\n  \"dependencies\": {\n    \"@fortawesome/fontawesome-svg-core\": \"^6.1.1\",\n    \"@fortawesome/free-solid-svg-icons\": \"^6.1.1\",\n    \"@fortawesome/react-fontawesome\": \"^0.2.0\",\n    \"@radix-ui/colors\": \"^0.1.8\",\n    \"@radix-ui/react-collapsible\": \"1.0.3\",\n    \"@radix-ui/react-dialog\": \"1.0.4\",\n    \"@radix-ui/react-dropdown-menu\": \"2.0.5\",\n    \"@radix-ui/react-popover\": \"1.0.6\",\n    \"@radix-ui/react-scroll-area\": \"1.0.4\",\n    \"@radix-ui/react-select\": \"1.2.2\",\n    \"@radix-ui/react-switch\": \"1.0.3\",\n    \"@radix-ui/react-toggle-group\": \"1.0.4\",\n    \"@radix-ui/react-tooltip\": \"1.0.6\",\n    \"@react-hookz/web\": \"^19.2.0\",\n    \"@reservoir0x/reservoir-sdk\": \"workspace:*\",\n    \"@stitches/react\": \"1.3.1-1\",\n    \"dayjs\": \"^1.11.4\",\n    \"flatpickr\": \"^4.6.13\",\n    \"framer-motion\": \"^6.4.2\",\n    \"react-flatpickr\": \"^3.10.13\",\n    \"swr\": \"2.0.1\"\n  },\n  \"peerDependencies\": {\n    \"@tanstack/react-query\": \"^5.64.1\",\n    \"react\": \"^18.0\",\n    \"react-dom\": \"^18.0\",\n    \"viem\": \"~2.22.8\",\n    \"wagmi\": \"~2.14.7\"\n  },\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/reservoirprotocol/reservoir-kit\"\n  }\n}\n","import { createStitches } from '@stitches/react'\nimport type * as Stitches from '@stitches/react'\nimport { ReservoirKitTheme } from './src/themes/ReservoirKitTheme'\n\nexport type CSS = Stitches.CSS<typeof config>\nexport type CSSProps = { css?: CSS }\n\nexport const {\n  createTheme,\n  keyframes,\n  styled,\n  globalCss,\n  getCssText,\n  theme,\n  config,\n} = createStitches({\n  theme: {\n    space: {\n      1: '4px',\n      2: '8px',\n      3: '12px',\n      4: '16px',\n      5: '32px',\n      6: '64px',\n    },\n    fontSizes: {},\n    fontWeights: {},\n    fonts: {\n      body: 'sans-serif',\n      button: '$body',\n    },\n    lineHeights: {},\n    letterSpacings: {},\n    sizes: {},\n    radii: {\n      borderRadius: 0,\n    },\n    shadows: {},\n    transitions: {},\n  },\n  utils: {\n    // MARGIN\n    m: (value: Stitches.PropertyValue<'margin'>) => ({\n      margin: value,\n    }),\n    mx: (value: Stitches.PropertyValue<'margin'>) => ({\n      marginLeft: value,\n      marginRight: value,\n    }),\n    my: (value: Stitches.PropertyValue<'margin'>) => ({\n      marginTop: value,\n      marginBottom: value,\n    }),\n    mt: (value: Stitches.PropertyValue<'margin'>) => ({\n      marginTop: value,\n    }),\n    mb: (value: Stitches.PropertyValue<'margin'>) => ({\n      marginBottom: value,\n    }),\n    ml: (value: Stitches.PropertyValue<'margin'>) => ({\n      marginLeft: value,\n    }),\n    mr: (value: Stitches.PropertyValue<'margin'>) => ({\n      marginRight: value,\n    }),\n\n    // PADDING\n    p: (value: Stitches.PropertyValue<'padding'>) => ({\n      padding: value,\n    }),\n    px: (value: Stitches.PropertyValue<'padding'>) => ({\n      paddingLeft: value,\n      paddingRight: value,\n    }),\n    py: (value: Stitches.PropertyValue<'padding'>) => ({\n      paddingTop: value,\n      paddingBottom: value,\n    }),\n    pt: (value: Stitches.PropertyValue<'padding'>) => ({\n      paddingTop: value,\n    }),\n    pb: (value: Stitches.PropertyValue<'padding'>) => ({\n      paddingBottom: value,\n    }),\n    pl: (value: Stitches.PropertyValue<'padding'>) => ({\n      paddingLeft: value,\n    }),\n    pr: (value: Stitches.PropertyValue<'padding'>) => ({\n      paddingRight: value,\n    }),\n    // DIMENSIONS\n    w: (value: Stitches.PropertyValue<'width'>) => ({\n      width: value,\n    }),\n    h: (value: Stitches.PropertyValue<'height'>) => ({\n      height: value,\n    }),\n    size: (value: Stitches.PropertyValue<'width'>) => ({\n      width: value,\n      height: value,\n    }),\n  },\n  media: {\n    bp1: '(min-width: 600px)',\n    bp2: '(min-width: 905px)',\n    bp3: '(min-width: 1240px)',\n    bp4: '(min-width: 1440px)',\n    motion: '(prefers-reduced-motion)',\n    hover: '(any-hover: hover)',\n    dark: '(prefers-color-scheme: dark)',\n    light: '(prefers-color-scheme: light)',\n  },\n  prefix: 'rk',\n})\n\nexport type ReservoirKitThemeContext = {\n  assets: {\n    ethIcon: {\n      value: ReservoirKitTheme['assets']['ethIcon']\n    }\n    chainIcon: {\n      value: ReservoirKitTheme['assets']['chainIcon']\n    }\n  }\n} & typeof theme\n","import { ComponentPropsWithoutRef } from 'react'\nimport { Cache, SWRConfig } from 'swr'\nimport { version } from '../../package.json'\nimport { axios } from '@reservoir0x/reservoir-sdk'\n\nexport const defaultHeaders = (\n  apiKey?: string | null,\n  clientVersion?: string | null\n) => {\n  const headers: HeadersInit = {\n    'x-rkui-version': version,\n  }\n  if (apiKey) {\n    headers['x-api-key'] = apiKey\n  }\n  if (clientVersion) {\n    headers['x-rkc-version'] = clientVersion\n  }\n  return headers\n}\n\nexport const defaultFetcher = (params: string[] | string) => {\n  let resource\n  let apiKey\n  let clientVersion\n  if (Array.isArray(params)) {\n    resource = params[0]\n    apiKey = params[1]\n    clientVersion = params[2]\n  } else {\n    resource = params\n  }\n  const headers = defaultHeaders(apiKey, clientVersion)\n  return axios(resource, {\n    headers,\n  })\n    .then((res) => {\n      if (res.headers?.['deprecation'] === 'true') {\n        console.warn(\n          `Warning: API ${res.config.url} is deprecated. Stability and performance may be affected.`\n        )\n      }\n\n      return res.data\n    })\n    .catch((e) => {\n      throw e\n    })\n}\n\nconst CACHE_KEY = 'reservoirkit.swr.cache'\nconst CACHE_KEY_TTL = 'reservoirkit.swr.cache-TTL'\n\nexport const localStorageProvider = (): Cache<any> => {\n  let map = new Map([])\n  let cacheTTL: Record<string, number> = {}\n  try {\n    map =\n      typeof window !== 'undefined'\n        ? new Map(JSON.parse(localStorage.getItem(CACHE_KEY) || '[]'))\n        : new Map([])\n    cacheTTL =\n      typeof window !== 'undefined'\n        ? JSON.parse(localStorage.getItem(CACHE_KEY_TTL) || '{}')\n        : {}\n    for (let key in cacheTTL) {\n      const ttl: number = cacheTTL[key]\n      const response = map.get(key) as any\n      let purge = false\n\n      if (Date.now() >= ttl) {\n        purge = true\n      } else if (\n        response.value &&\n        response.data &&\n        response.data.some((data: any) => !data)\n      ) {\n        purge = true\n      }\n\n      if (purge) {\n        map.delete(key)\n        delete cacheTTL[key]\n      }\n    }\n  } catch (e) {\n    console.warn('Failed to rehydrate SWR cache')\n  }\n\n  //Handlers to set TTL:\n  const mapSet = map.set.bind(map)\n  map.set = (key: unknown, value: unknown) => {\n    const url = key as string\n    const coingeckoCoinsApi = '/api/v3/coins/list'\n    if (url.includes(coingeckoCoinsApi)) {\n      cacheTTL[url] = Date.now() + 7200000 //2hr\n    } else {\n      cacheTTL[url] = Date.now() + 60000 * 5 //5m\n    }\n    return mapSet(key, value)\n  }\n\n  // Before unloading the app, we write back all the data into `localStorage`.\n  if (typeof window !== 'undefined') {\n    //Allowlist of all domains or urls we want to cache locally\n    window.addEventListener('beforeunload', () => {\n      const cachedApis = [\n        'api.coingecko.com',\n        '/api/v3/coins/list',\n        '/api/v3/coins/markets',\n        '/currencies/conversion/v',\n      ]\n      for (let url of map.keys()) {\n        if (\n          !cachedApis.some((cachedApi) => (url as string).includes(cachedApi))\n        ) {\n          map.delete(url)\n        }\n      }\n      const appCache = JSON.stringify(Array.from(map.entries()))\n      localStorage.setItem(CACHE_KEY_TTL, JSON.stringify(cacheTTL))\n      localStorage.setItem(CACHE_KEY, appCache)\n    })\n  }\n\n  // We still use the map for write & read for performance.\n  return map as Cache<any>\n}\n\nexport const swrDefaultOptions: ComponentPropsWithoutRef<\n  typeof SWRConfig\n>['value'] = {\n  fetcher: defaultFetcher,\n  revalidateOnFocus: false,\n  provider: localStorageProvider,\n}\n","import { globalCss, keyframes } from '../../stitches.config'\n\nconst fpFadeInDown = keyframes({\n  '0%': {\n    opacity: 0,\n    transform: 'translate3d(0, -20px, 0)',\n  },\n  '100%': {\n    opacity: 1,\n    transform: 'translate3d(0, 0, 0)',\n  },\n})\n\nconst calendarCss = globalCss({\n  '.flatpickr-calendar': {\n    opacity: 0,\n    display: 'none',\n    textAlign: 'center',\n    visibility: 'hidden',\n    padding: 20,\n    animation: 'none',\n    direction: 'ltr',\n    fontSize: 14,\n    lineHeight: '24px',\n    borderRadius: 5,\n    position: 'absolute',\n    boxSizing: 'border-box',\n    touchAction: 'manipulation',\n    backgroundColor: '$contentBackground',\n    boxShadow:\n      '1px 0 0 #20222c, -1px 0 0 #20222c, 0 1px 0 #20222c, 0 -1px 0 #20222c, 0 3px 13px rgba(0,0,0,0.08)',\n    border: '1px solid $borderColor',\n    fontFamily: '$body',\n  },\n  '.flatpickr-calendar.open': {\n    opacity: 1,\n    maxHeight: 640,\n    visibility: 'visible',\n    display: 'inline-block',\n    zIndex: 99999,\n    pointerEvents: 'all',\n  },\n  '.flatpickr-calendar.inline': {\n    opacity: 1,\n    maxHeight: 640,\n    visibility: 'visible',\n    display: 'block',\n    position: 'relative',\n    top: 2,\n  },\n  '.flatpickr-calendar.animate.open': {\n    animation: `${fpFadeInDown} 300ms cubic-bezier(0.23, 1, 0.32, 1)`,\n  },\n  '.flatpickr-calendar.static': {\n    position: 'absolute',\n    top: 'calc(100% + 2px)',\n  },\n  '.flatpickr-calendar.static.open': {\n    zIndex: 999,\n    display: 'block',\n  },\n  '.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7)':\n    {\n      boxShadow: 'none !important',\n    },\n  '.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1)':\n    {\n      boxShadow: '-2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6',\n    },\n  '.flatpickr-calendar .hasWeeks .dayContainer': {\n    borderBottom: 0,\n    borderBottomRightRadius: 0,\n    borderBottomLeftRadius: 0,\n    borderLeft: 0,\n  },\n  '.flatpickr-calendar .hasTime .dayContainer': {\n    borderBottom: 0,\n    borderBottomRightRadius: 0,\n    borderBottomLeftRadius: 0,\n  },\n  '.flatpickr-calendar.hasTime .flatpickr-time': {\n    height: 40,\n  },\n  '.flatpickr-calendar.noCalendar.hasTime .flatpickr-time': {\n    height: 'auto',\n  },\n  '.flatpickr-calendar:before': {\n    position: 'absolute',\n    display: 'block',\n    pointerEvents: 'none',\n    border: 'solid transparent',\n    content: '',\n    height: 0,\n    width: 0,\n    left: 22,\n    borderWidth: 5,\n    margin: '0 -5px',\n  },\n  '.flatpickr-calendar:after': {\n    position: 'absolute',\n    display: 'block',\n    pointerEvents: 'none',\n    border: 'solid transparent',\n    content: '',\n    height: 0,\n    width: 0,\n    left: 22,\n    borderWidth: 4,\n    margin: '0 -4px',\n  },\n  '.flatpickr-calendar.rightMost:before, .flatpickr-calendar.arrowRight:before, .flatpickr-calendar.rightMost:after, .flatpickr-calendar.arrowRight:after':\n    {\n      left: 'auto',\n      right: 22,\n    },\n  '.flatpickr-calendar.arrowCenter:before, .flatpickr-calendar.arrowCenter:after':\n    {\n      left: '50%',\n      right: '50%',\n    },\n  '.flatpickr-calendar.arrowTop:before, .flatpickr-calendar.arrowTop:after': {\n    bottom: '100%',\n  },\n  '.flatpickr-calendar.arrowTop:before': {\n    display: 'none',\n  },\n  '.flatpickr-calendar.arrowTop:after': {\n    display: 'none',\n  },\n  '.flatpickr-calendar.arrowBottom:before, .flatpickr-calendar.arrowBottom:after':\n    {\n      top: '100%',\n    },\n  '.flatpickr-calendar.arrowBottom:before': {\n    display: 'none',\n  },\n  '.flatpickr-calendar.arrowBottom:after': {\n    display: 'none',\n  },\n  '.flatpickr-calendar:focus': {\n    outline: 0,\n  },\n  '.flatpickr-wrapper': {\n    position: 'relative',\n    display: 'inline-block',\n  },\n  '.flatpickr-months': {\n    display: 'flex',\n  },\n  '.flatpickr-months .flatpickr-month': {\n    backgroundColor: '$contentBackground',\n    color: '$neutralTextContrast',\n    fill: '$neutralTextContrast',\n    height: 34,\n    lineHeight: '1px',\n    textAlign: 'center',\n    position: 'relative',\n    userSelect: 'none',\n    overflow: 'hidden',\n    flex: 1,\n    marginBottom: 8,\n  },\n  '.flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month':\n    {\n      userSelect: 'none',\n      textDecoration: 'none',\n      cursor: 'pointer',\n      position: 'absolute',\n      top: 20,\n      height: 34,\n      padding: 10,\n      zIndex: 3,\n      color: '$neutralText',\n      fill: '$neutralText',\n    },\n  '.flatpickr-months .flatpickr-prev-month.flatpickr-disabled, .flatpickr-months .flatpickr-next-month.flatpickr-disabled':\n    {\n      display: 'none',\n    },\n  '.flatpickr-months .flatpickr-prev-month i, .flatpickr-months .flatpickr-next-month i':\n    {\n      position: 'relative',\n    },\n  '.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month, .flatpickr-months .flatpickr-next-month.flatpickr-prev-month':\n    {\n      left: 0,\n    },\n  '.flatpickr-months .flatpickr-prev-month.flatpickr-next-month, .flatpickr-months .flatpickr-next-month.flatpickr-next-month':\n    {\n      right: 0,\n    },\n  '.flatpickr-months .flatpickr-prev-month:hover, .flatpickr-months .flatpickr-next-month:hover':\n    {\n      color: '$neutralText',\n    },\n  '.flatpickr-months .flatpickr-prev-month:hover svg, .flatpickr-months .flatpickr-next-month:hover svg':\n    {\n      fill: '$neutralTextContrast',\n    },\n  '.flatpickr-months .flatpickr-prev-month svg, .flatpickr-months .flatpickr-next-month svg':\n    {\n      width: 14,\n      height: 14,\n    },\n  '.flatpickr-months .flatpickr-prev-month svg path, .flatpickr-months .flatpickr-next-month svg path':\n    {\n      transition: 'fill 0.1s',\n      fill: 'inherit',\n    },\n  '.numInputWrapper': {\n    position: 'relative',\n    height: 'auto',\n  },\n  '.numInputWrapper input, .numInputWrapper span': {\n    display: 'inline-block',\n  },\n  '.numInputWrapper input': {\n    width: '100%',\n  },\n  '.numInputWrapper input::-ms-clear': {\n    display: 'none',\n  },\n  '.numInputWrapper input::-webkit-outer-spin-button, .numInputWrapper input::-webkit-inner-spin-button':\n    {\n      margin: 0,\n      '-webkit-appearance': 'none',\n    },\n  '.numInputWrapper span': {\n    position: 'absolute',\n    right: 0,\n    width: 14,\n    padding: '0 4px 0 2px',\n    height: '50%',\n    lineHeight: '50%',\n    opacity: 0,\n    cursor: 'pointer',\n    boxSizing: 'border-box',\n  },\n  '.numInputWrapper span:hover': {\n    background: '$neutralBgHover',\n  },\n  '.numInputWrapper span:active': {\n    background: '$neutralBgActive',\n  },\n  '.numInputWrapper span:after': {\n    display: 'block',\n    content: '',\n    position: 'absolute',\n  },\n  '.numInputWrapper span.arrowUp': {\n    top: 0,\n    borderBottom: 0,\n  },\n  '.numInputWrapper span.arrowUp:after': {\n    borderLeft: '4px solid transparent',\n    borderRight: '4px solid transparent',\n    borderBottom: '4px solid $neutralText',\n    top: '26%',\n  },\n  '.numInputWrapper span.arrowDown': {\n    top: '50%',\n  },\n  '.numInputWrapper span.arrowDown:after': {\n    borderLeft: '4px solid transparent',\n    borderRight: '4px solid transparent',\n    borderTop: '4px solid $neutralText',\n    top: '40%',\n  },\n  '.numInputWrapper span svg': {\n    width: 'inherit',\n    height: 'auto',\n  },\n  '.numInputWrapper span svg path': {\n    fill: '$neutralBgHover',\n  },\n  '.numInputWrapper:hover': {\n    background: '$neutralBgHover',\n  },\n  '.numInputWrapper:hover span': {\n    opacity: 1,\n  },\n  '.flatpickr-current-month': {\n    fontSize: '135%',\n    fontWeight: 300,\n    color: '$neutralText',\n    position: 'absolute',\n    width: '83%',\n    left: '12.5%',\n    lineHeight: '1px',\n    height: 34,\n    display: 'flex',\n    alignItems: 'center',\n    gap: 12,\n    textAlign: 'center',\n    transform: 'translate3d(0px, 0px, 0px)',\n  },\n  '.flatpickr-current-month span.cur-month': {\n    fontFamily: 'inherit',\n    fontWeight: 700,\n    color: '$neutralText',\n    display: 'inline-block',\n    marginLeft: '0.5ch',\n    padding: 0,\n  },\n  '.flatpickr-current-month span.cur-month:hover': {\n    background: 'rgba(192,187,167,0.05)',\n  },\n  '.flatpickr-current-month .numInputWrapper': {\n    width: '7ch\\0',\n    display: 'inline-block',\n  },\n  '.flatpickr-current-month .numInputWrapper span.arrowUp:after': {\n    borderBottomColor: '$neutralText',\n  },\n  '.flatpickr-current-month .numInputWrapper span.arrowDown:after': {\n    borderTopColor: '$neutralText',\n  },\n  '.flatpickr-current-month input.cur-year': {\n    backgroundColor: 'transparent',\n    boxSizing: 'border-box',\n    color: '$neutralText',\n    cursor: 'text',\n    margin: 0,\n    display: 'inline-block',\n    fontSize: 'inherit',\n    fontFamily: 'inherit',\n    lineHeight: 'inherit',\n    height: 'auto',\n    border: 0,\n    borderRadius: 0,\n    verticalAlign: 'initial',\n    appearance: 'textfield',\n    padding: '4px 0px',\n  },\n  '.flatpickr-current-month input.cur-year:focus': {\n    outline: 0,\n  },\n  '.flatpickr-current-month input.cur-year[disabled], .flatpickr-current-month input.cur-year[disabled]:hover':\n    {\n      fontSize: '100%',\n      color: '$neutralText',\n      background: 'transparent',\n      pointerEvents: 'none',\n    },\n  '.flatpickr-current-month .flatpickr-monthDropdown-months': {\n    appearance: 'menulist',\n    backgroundColor: 'transparent',\n    border: 'none',\n    borderRadius: 0,\n    boxSizing: 'border-box',\n    color: '$neutralText',\n    cursor: 'pointer',\n    fontSize: 'inherit',\n    fontFamily: 'inherit',\n    height: 'auto',\n    lineHeight: 'inherit',\n    outline: 'none',\n    position: 'relative',\n    verticalAlign: 'initial',\n    width: 'auto',\n    padding: '4px 8px',\n  },\n  '.flatpickr-current-month .flatpickr-monthDropdown-months:focus, .flatpickr-current-month .flatpickr-monthDropdown-months:active':\n    {\n      outline: 'none',\n    },\n  '.flatpickr-current-month .flatpickr-monthDropdown-months:hover': {\n    backgroundColor: '$neutralBgHover',\n  },\n  '.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month':\n    {\n      backgroundColor: '$neutralBg',\n      outline: 'none',\n      padding: 0,\n    },\n  '.flatpickr-weekdays': {\n    backgroundColor: 'transparent',\n    color: '$neutralText',\n    textAlign: 'center',\n    overflow: 'hidden',\n    width: '100%',\n    display: 'flex',\n    alignItems: 'center',\n    height: 28,\n    border: 'transparent',\n    marginBottom: 8,\n  },\n  '.flatpickr-weekdays .flatpickr-weekdaycontainer': {\n    display: 'flex',\n    flex: 1,\n  },\n  'span.flatpickr-weekday': {\n    cursor: 'default',\n    fontSize: '90%',\n    background: 'transparent',\n    color: '$neutralText',\n    lineHeight: '1px',\n    margin: 0,\n    textAlign: 'center',\n    display: 'block',\n    flex: 1,\n    fontWeight: 'bolder',\n  },\n  '.dayContainer, .flatpickr-weeks': {\n    padding: '1px 0 0 0',\n  },\n  '.flatpickr-days': {\n    position: 'relative',\n    overflow: 'hidden',\n    display: 'flex',\n    alignItems: 'flex-start',\n    width: 307.875,\n    marginBottom: 12,\n  },\n  '.flatpickr-days:focus': {\n    outline: 0,\n  },\n  '.dayContainer': {\n    padding: 0,\n    outline: 0,\n    textAlign: 'left',\n    width: 307.875,\n    minWidth: 307.875,\n    maxWidth: 307.875,\n    boxSizing: 'border-box',\n    display: 'flex',\n    flexWrap: 'wrap',\n    '-ms-flex-pack': 'justify',\n    justifyContent: 'space-around',\n    transform: 'translate3d(0px, 0px, 0px)',\n    opacity: 1,\n  },\n  '.dayContainer + .dayContainer': {\n    boxShadow: '-1px 0 0 #20222c',\n  },\n  '.flatpickr-day': {\n    background: 'none',\n    border: '1px solid transparent',\n    borderRadius: 150,\n    boxSizing: 'border-box',\n    color: '$neutralText',\n    cursor: 'pointer',\n    fontWeight: 400,\n    width: '14.2857143%',\n    flexBasis: '14.2857143%',\n    maxWidth: 39,\n    height: 39,\n    lineHeight: '39px',\n    margin: 0,\n    display: 'inline-block',\n    position: 'relative',\n    '-webkit-box-pack': 'center',\n    '-ms-flex-pack': 'center',\n    justifyContent: 'center',\n    textAlign: 'center',\n  },\n  '.flatpickr-day.inRange, .flatpickr-day.prevMonthDay.inRange, .flatpickr-day.nextMonthDay.inRange, .flatpickr-day.today.inRange, .flatpickr-day.prevMonthDay.today.inRange, .flatpickr-day.nextMonthDay.today.inRange, .flatpickr-day:hover, .flatpickr-day.prevMonthDay:hover, .flatpickr-day.nextMonthDay:hover, .flatpickr-day:focus, .flatpickr-day.prevMonthDay:focus, .flatpickr-day.nextMonthDay:focus':\n    {\n      cursor: 'pointer',\n      outline: 0,\n      backgroundColor: '$accentBg',\n      borderColor: '$neutralBorder',\n    },\n  '.flatpickr-day.today': {\n    borderColor: '$neutralBorder',\n  },\n  '.flatpickr-day.today:hover, .flatpickr-day.today:focus': {\n    borderColor: '$neutralBorder',\n    backgroundColor: '$neutralBg',\n    color: '$buttonTextColor',\n  },\n  '.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.endRange.nextMonthDay':\n    {\n      backgroundColor: '$accentBg',\n      boxShadow: 'none',\n      color: '$neutralTextContrast',\n      borderColor: '$borderColor',\n    },\n  '.flatpickr-day.selected.startRange, .flatpickr-day.startRange.startRange, .flatpickr-day.endRange.startRange':\n    {\n      borderRadius: '50px 0 0 50px',\n    },\n  '.flatpickr-day.selected.endRange, .flatpickr-day.startRange.endRange, .flatpickr-day.endRange.endRange':\n    {\n      borderRadius: '0 50px 50px 0',\n    },\n  '.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1))':\n    {\n      boxShadow: '-10px 0 0 #80cbc4',\n    },\n  '.flatpickr-day.selected.startRange.endRange, .flatpickr-day.startRange.startRange.endRange, .flatpickr-day.endRange.startRange.endRange':\n    {\n      borderRadius: 50,\n    },\n  '.flatpickr-day.inRange': {\n    borderRadius: 0,\n    boxShadow: '-5px 0 0 #646c8c, 5px 0 0 #646c8c',\n  },\n  '.flatpickr-day.flatpickr-disabled, .flatpickr-day.flatpickr-disabled:hover, .flatpickr-day.prevMonthDay, .flatpickr-day.nextMonthDay, .flatpickr-day.notAllowed, .flatpickr-day.notAllowed.prevMonthDay, .flatpickr-day.notAllowed.nextMonthDay':\n    {\n      color: '$neutralText',\n      background: 'transparent',\n      borderColor: 'transparent',\n      cursor: 'default',\n    },\n  '.flatpickr-day.flatpickr-disabled, .flatpickr-day.flatpickr-disabled:hover':\n    {\n      cursor: 'not-allowed',\n      color: '$neutralText',\n      opacity: 0.5,\n    },\n  '.flatpickr-day.week.selected': {\n    borderRadius: 0,\n    boxShadow: '-5px 0 0 #80cbc4, 5px 0 0 #80cbc4',\n  },\n  '.flatpickr-day.hidden': {\n    visibility: 'hidden',\n  },\n  '.rangeMode .flatpickr-day': {\n    marginTop: 1,\n  },\n  '.flatpickr-weekwrapper': {\n    float: 'left',\n  },\n  '.flatpickr-weekwrapper .flatpickr-weeks': {\n    padding: '0 12px',\n    boxShadow: '1px 0 0 #20222c',\n  },\n  '.flatpickr-weekwrapper .flatpickr-weekday': {\n    float: 'none',\n    width: '100%',\n    lineHeight: '28px',\n  },\n  '.flatpickr-weekwrapper span.flatpickr-day, .flatpickr-weekwrapper span.flatpickr-day:hover':\n    {\n      display: 'block',\n      width: '100%',\n      maxWidth: 'none',\n      color: '$neutralText',\n      background: 'transparent',\n      cursor: 'default',\n      border: 'none',\n    },\n  '.flatpickr-innerContainer': {\n    display: 'flex',\n    boxSizing: 'border-box',\n    overflow: 'hidden',\n  },\n  '.flatpickr-rContainer': {\n    display: 'inline-block',\n    padding: 0,\n    boxSizing: 'border-box',\n  },\n  '.flatpickr-time': {\n    textAlign: 'center',\n    outline: 0,\n    height: 0,\n    lineHeight: '40px',\n    maxHeight: 40,\n    boxSizing: 'border-box',\n    overflow: 'hidden',\n    display: 'flex',\n  },\n  '.flatpickr-time:after': {\n    content: '',\n    display: 'table',\n    clear: 'both',\n  },\n  '.flatpickr-time .numInputWrapper': {\n    flex: 1,\n    width: '40%',\n    height: 40,\n    float: 'left',\n  },\n  '.flatpickr-time .numInputWrapper span.arrowUp:after': {\n    borderBottomColor: '$neutralText',\n  },\n  '.flatpickr-time .numInputWrapper span.arrowDown:after': {\n    borderTopColor: '$neutralText',\n  },\n  '.flatpickr-time.hasSeconds .numInputWrapper': {\n    width: '26%',\n  },\n  '.flatpickr-time.time24hr .numInputWrapper': {\n    width: '49%',\n  },\n  '.flatpickr-time input': {\n    background: 'transparent',\n    boxShadow: 'none',\n    border: 0,\n    borderRadius: 0,\n    textAlign: 'center',\n    margin: 0,\n    padding: 0,\n    height: 'inherit',\n    lineHeight: 'inherit',\n    color: '$neutralText',\n    fontSize: 14,\n    position: 'relative',\n    boxSizing: 'border-box',\n    appearance: 'textfield',\n  },\n  '.flatpickr-time input.flatpickr-hour': {},\n  '.flatpickr-time input.flatpickr-minute, .flatpickr-time input.flatpickr-second':\n    {\n      fontWeight: 400,\n    },\n  '.flatpickr-time input:focus': {\n    outline: 0,\n    border: 0,\n  },\n  '.flatpickr-time .flatpickr-time-separator, .flatpickr-time .flatpickr-am-pm':\n    {\n      height: 'inherit',\n      float: 'left',\n      lineHeight: 'inherit',\n      color: '$neutralText',\n      fontWeight: 'bold',\n      width: '2%',\n      userSelect: 'none',\n      '-ms-flex-item-align': 'center',\n      alignSelf: 'center',\n    },\n  '.flatpickr-time .flatpickr-am-pm': {\n    outline: 0,\n    width: '18%',\n    cursor: 'pointer',\n    textAlign: 'center',\n    fontWeight: 400,\n  },\n  '.flatpickr-time input:hover, .flatpickr-time .flatpickr-am-pm:hover, .flatpickr-time input:focus, .flatpickr-time .flatpickr-am-pm:focus':\n    {\n      background: '$neutralBgHover',\n    },\n  '.flatpickr-input[readonly]': {\n    cursor: 'pointer',\n  },\n  '.flatpickr-input.flatpickr-mobile': {\n    '&::-webkit-inner-spin-button': {\n      display: 'none',\n      '-webkit-appearance': 'none',\n    },\n    '&::-webkit-calendar-picker-indicator': {\n      position: 'absolute',\n      left: 0,\n      top: 0,\n      width: '100%',\n      height: '100%',\n      backgroundImage: 'none',\n    },\n    '&::-webkit-datetime-edit': {\n      display: 'none',\n      '-webkit-appearance': 'none',\n    },\n    '&::-webkit-date-and-time-value': {\n      display: 'none',\n      '-webkit-appearance': 'none',\n    },\n  },\n  '@-moz-document url-prefix()': {\n    '@media only screen and (max-width: 600px)': {\n      '.flatpickr-input[type=\"text\"]': {\n        color: 'transparent',\n      },\n    },\n  },\n})\n\nexport default calendarCss\n","import { useEffect, useState } from 'react'\n\nconst useMutationObservable = (\n  callback: MutationCallback,\n  el?: HTMLElement | null,\n  options?: MutationObserverInit\n) => {\n  const [observer, setObserver] = useState<MutationObserver | null>(null)\n\n  useEffect(() => {\n    if (observer) {\n      observer.disconnect()\n    }\n    if (\n      !el ||\n      typeof window === 'undefined' ||\n      !('MutationObserver' in window)\n    ) {\n      return\n    }\n\n    const obs = new MutationObserver(callback)\n    obs.observe(el, options)\n    setObserver(obs)\n\n    return () => {\n      obs.disconnect()\n    }\n  }, [el, callback, options])\n\n  return observer\n}\n\nexport default useMutationObservable\n","import { paths } from '@reservoir0x/reservoir-sdk'\nimport useSWR, { SWRConfiguration } from 'swr'\nimport useReservoirClient from './useReservoirClient'\n\ntype AttributesResponse =\n  paths['/collections/{collection}/attributes/all/v4']['get']['responses']['200']['schema']\n\nexport default function (\n  collection?: string | undefined,\n  chainId?: number,\n  swrOptions: SWRConfiguration = {}\n) {\n  const client = useReservoirClient()\n  const chain =\n    chainId !== undefined\n      ? client?.chains.find((chain) => chain.id === chainId)\n      : client?.currentChain()\n\n  const pathname = `${chain?.baseApiUrl}/collections/${collection}/attributes/all/v4`\n\n  const path = collection ? new URL(pathname) : null\n\n  const { data, mutate, error, isValidating } = useSWR<AttributesResponse>(\n    path ? [path.href, client?.apiKey, client?.version] : null,\n    null,\n    {\n      revalidateOnMount: true,\n      ...swrOptions,\n    }\n  )\n  const collections: AttributesResponse['attributes'] | null =\n    data && data.attributes ? data.attributes : null\n\n  return { response: data, data: collections, mutate, error, isValidating }\n}\n","import { ReservoirClientContext } from '../ReservoirClientProvider'\nimport { useContext } from 'react'\n\nexport default function () {\n  return useContext(ReservoirClientContext)\n}\n","import { paths, setParams } from '@reservoir0x/reservoir-sdk'\nimport { SWRInfiniteConfiguration } from 'swr/infinite'\nimport { useInfiniteApi, useReservoirClient } from './'\nimport { useMemo } from 'react'\n\ntype Bids = paths['/orders/bids/v6']['get']['responses']['200']['schema']\ntype BidsQuery = paths['/orders/bids/v6']['get']['parameters']['query']\n\nexport default function (\n  options: BidsQuery,\n  swrOptions: SWRInfiniteConfiguration = {},\n  enabled: boolean = true,\n  chainId?: number\n) {\n  const client = useReservoirClient()\n\n  const response = useInfiniteApi<Bids>(\n    (pageIndex, previousPageData) => {\n      if (!enabled) {\n        return null\n      }\n\n      const chain =\n        chainId !== undefined\n          ? client?.chains.find((chain) => chain.id === chainId)\n          : client?.currentChain()\n\n      const url = new URL(`${chain?.baseApiUrl || ''}/orders/bids/v6`)\n      let query = options || {}\n\n      if (\n        query.normalizeRoyalties === undefined &&\n        client?.normalizeRoyalties !== undefined\n      ) {\n        query.normalizeRoyalties = client?.normalizeRoyalties\n      }\n\n      if (previousPageData && !previousPageData.continuation) {\n        return null\n      } else if (previousPageData && pageIndex > 0) {\n        query.continuation = previousPageData.continuation\n      }\n\n      setParams(url, query)\n      return [url.href, client?.apiKey, client?.version]\n    },\n    {\n      revalidateOnMount: true,\n      revalidateFirstPage: false,\n      ...swrOptions,\n    }\n  )\n\n  const bids = useMemo(\n    () => response.data?.flatMap((page) => page.orders || []) ?? [],\n    [response.data]\n  )\n\n  return {\n    ...response,\n    data: bids,\n  }\n}\n","import { useState } from 'react'\nimport { useSWRConfig } from 'swr'\nimport useSWRInfinite from 'swr/infinite'\nimport { SWRInfiniteConfiguration } from 'swr/infinite'\n\ntype SWRInfiniteParams = Parameters<typeof useSWRInfinite>\n\nexport default function <ResponseType>(\n  getKey: SWRInfiniteParams['0'],\n  options: SWRInfiniteConfiguration,\n  limit?: number\n) {\n  const { mutate: globalMutate } = useSWRConfig()\n  const [keys, setKeys] = useState<string[]>([])\n  const response = useSWRInfinite<ResponseType>(\n    (pageIndex, previousPageData) => {\n      const params = getKey(pageIndex, previousPageData)\n      const key = params && params[0] ? params[0] : null\n      if (key && !keys.includes(key)) {\n        setKeys([...keys, key])\n      }\n      return params\n    },\n    null,\n    options\n  )\n\n  const { size, error, setSize, mutate } = response\n  const data = response.data as any\n  let hasNextPage: boolean\n  if (limit !== undefined) {\n    hasNextPage =\n      size === 0 || Boolean(data?.[size - 1]?.collections?.length === limit)\n  } else {\n    hasNextPage = size === 0 || Boolean(data?.[size - 1]?.continuation)\n  }\n  const isFetchingInitialData = !data && !error && size > 0\n  const isFetchingPage =\n    size > 0 &&\n    (isFetchingInitialData || (data && typeof data[size - 1] === 'undefined'))\n\n  const fetchNextPage = () => {\n    if (!isFetchingPage && hasNextPage) {\n      setSize((size) => size + 1)\n    }\n  }\n\n  const resetCache = () => {\n    setSize(0)\n    return mutate(undefined, {\n      revalidate: false,\n    }).then(() => {\n      globalMutate(\n        (key) => {\n          const url = key && key[0] ? key[0] : null\n          if (url) {\n            return keys.includes(url)\n          }\n          return false\n        },\n        undefined,\n        false\n      ).then(() => {\n        setKeys([])\n      })\n    })\n  }\n\n  return {\n    ...response,\n    hasNextPage,\n    isFetchingInitialData,\n    isFetchingPage,\n    resetCache,\n    fetchNextPage,\n  }\n}\n","import { Cart, CartContext } from '../context/CartProvider'\nimport { useContext, useSyncExternalStore } from 'react'\n\nexport default function useCart<SelectorOutput>(\n  selector: (store: Cart) => SelectorOutput\n) {\n  const cart = useContext(CartContext)\n  if (!cart) {\n    throw new Error('Cart not found')\n  }\n\n  const data = useSyncExternalStore(\n    cart.subscribe,\n    () => selector(cart.get()),\n    () => selector(cart.get())\n  )\n  const {\n    clear,\n    remove,\n    add,\n    validate,\n    checkout,\n    clearTransaction,\n    setQuantity,\n  } = cart\n\n  return {\n    data,\n    clear,\n    clearTransaction,\n    setQuantity,\n    remove,\n    add,\n    validate,\n    checkout,\n    set: cart.set,\n  }\n}\n","import {\n  Execute,\n  LogLevel,\n  ReservoirChain,\n  ReservoirClientActions,\n  ReservoirWallet,\n  paths,\n  setParams,\n} from '@reservoir0x/reservoir-sdk'\nimport {\n  useCurrencyConversion,\n  useListings,\n  useReservoirClient,\n  useTokens,\n} from '../hooks'\nimport { useChainCurrency } from '../hooks/index'\nimport { defaultFetcher } from '../lib/swr'\nimport React, {\n  createContext,\n  useCallback,\n  useRef,\n  ReactNode,\n  useEffect,\n  FC,\n  useState,\n} from 'react'\nimport { useAccount, useChains, useConfig, useSwitchChain } from 'wagmi'\nimport { WalletClient, formatUnits, parseUnits, zeroAddress } from 'viem'\nimport { version } from '../../package.json'\nimport { getAccount, getWalletClient } from 'wagmi/actions'\n\ntype Order = NonNullable<ReturnType<typeof useListings>['data'][0]>\ntype OrdersSchema =\n  paths['/orders/asks/v5']['get']['responses']['200']['schema']\ntype Token = NonNullable<ReturnType<typeof useTokens>['data'][0]>\ntype TokensSchema = paths['/tokens/v7']['get']['responses']['200']['schema']\ntype FloorAsk = NonNullable<NonNullable<Token['market']>['floorAsk']>\ntype CartItemPrice = FloorAsk['price']\ntype Currency = NonNullable<NonNullable<CartItemPrice>['currency']>\ntype BuyTokenOptions = Parameters<\n  ReservoirClientActions['buyToken']\n>['0']['options']\n\nexport enum CheckoutStatus {\n  Idle,\n  Approving,\n  Finalizing,\n  Complete,\n}\n\nexport enum CheckoutTransactionError {\n  Unknown,\n  PiceMismatch,\n  InsufficientBalance,\n  UserDenied,\n}\n\ntype CartItem = {\n  token: {\n    id: string\n    name: string\n  }\n  collection: {\n    id: string\n    name: string\n  }\n  order?: {\n    id: string\n    quantityRemaining: number\n    quantity: number\n    maker: string\n  }\n  price: CartItemPrice\n  poolId?: string\n  poolPrices?: CartItemPrice[]\n  previousPrice?: CartItemPrice\n}\n\nexport type Cart = {\n  totalPrice: number\n  currency?: NonNullable<CartItemPrice>['currency']\n  feeOnTop?: number\n  feesOnTopBps?: string[]\n  feesOnTopUsd?: string[]\n  items: CartItem[]\n  pools: Record<string, { prices: CartItemPrice[]; itemCount: number }>\n  isValidating: boolean\n  chain?: ReservoirChain\n  pendingTransactionId?: string\n  transaction: {\n    id?: string\n    txHashes?: {\n      txHash: `0x${string}`\n      chainId: number\n    }[]\n    chain: ReservoirChain\n    items: CartItem[]\n    error?: Error\n    errorType?: CheckoutTransactionError\n    status: CheckoutStatus\n    steps?: Execute['steps']\n    path?: Execute['path']\n    currentStep?: Execute['steps'][0]\n  } | null\n}\n\nconst CartStorageKey = `reservoirkit.cart.${version}`\n\ntype CartStoreProps = {\n  feesOnTopBps?: string[]\n  feesOnTopUsd?: string[]\n  persist?: boolean\n  walletClient?: ReservoirWallet | WalletClient\n}\n\nfunction cartStore({\n  feesOnTopBps,\n  feesOnTopUsd,\n  persist = true,\n  walletClient,\n}: CartStoreProps) {\n  const { address } = useAccount()\n  const chains = useChains()\n  const config = useConfig()\n  const { switchChainAsync } = useSwitchChain()\n  const [cartCurrency, setCartCurrency] = useState<Cart['currency']>()\n  const [cartChain, setCartChain] = useState<Cart['chain']>()\n  const cartData = useRef<Cart>({\n    totalPrice: 0,\n    feesOnTopBps: undefined,\n    feesOnTopUsd: undefined,\n    items: [],\n    pools: {},\n    isValidating: false,\n    transaction: null,\n  })\n\n  const subscribers = useRef(new Set<() => void>())\n  const client = useReservoirClient()\n  const { data: usdFeeConversion } = useCurrencyConversion(\n    cartChain?.id,\n    cartCurrency?.contract,\n    'usd'\n  )\n  const usdPrice = Number(usdFeeConversion?.usd || 0)\n\n  useEffect(() => {\n    subscribe(() => {\n      setCartCurrency(cartData.current.currency)\n      setCartChain(cartData.current.chain)\n    })\n\n    if (persist && typeof window !== 'undefined' && window.localStorage) {\n      const storedCart = window.localStorage.getItem(CartStorageKey)\n      if (storedCart) {\n        const rehydratedCart: Cart = JSON.parse(storedCart)\n        const currency = getCartCurrency(\n          rehydratedCart.items,\n          rehydratedCart.chain?.id || 1\n        )\n        const pools = calculatePools(rehydratedCart.items)\n        const { totalPrice, feeOnTop } = calculatePricing(\n          rehydratedCart.items,\n          currency,\n          cartData.current.feesOnTopBps,\n          cartData.current.feesOnTopUsd,\n          usdPrice\n        )\n        cartData.current = {\n          ...cartData.current,\n          chain:\n            rehydratedCart.items.length > 0 ? rehydratedCart.chain : undefined,\n          items: rehydratedCart.items,\n          pools,\n          totalPrice,\n          feeOnTop,\n          currency,\n        }\n        subscribers.current.forEach((callback) => callback())\n        validate()\n      }\n    }\n  }, [])\n\n  useEffect(() => {\n    const currency = getCartCurrency(\n      cartData.current.items,\n      cartData.current.chain?.id || 1\n    )\n    const pools = calculatePools(cartData.current.items)\n    const { totalPrice, feeOnTop } = calculatePricing(\n      cartData.current.items,\n      currency,\n      feesOnTopBps,\n      feesOnTopUsd,\n      usdPrice\n    )\n    cartData.current = {\n      ...cartData.current,\n      pools,\n      totalPrice,\n      feesOnTopBps,\n      feesOnTopUsd,\n      feeOnTop,\n      currency,\n    }\n    commit()\n  }, [feesOnTopBps, feesOnTopUsd, usdPrice])\n\n  const get = useCallback(() => cartData.current, [])\n  const set = useCallback((value: Partial<Cart>) => {\n    cartData.current = { ...cartData.current, ...value }\n    commit()\n  }, [])\n\n  const subscribe = useCallback((callback: () => void) => {\n    subscribers.current.add(callback)\n    return () => subscribers.current.delete(callback)\n  }, [])\n\n  const commit = useCallback(() => {\n    subscribers.current.forEach((callback) => callback())\n    if (persist && typeof window !== 'undefined' && window.localStorage) {\n      window.localStorage.setItem(\n        CartStorageKey,\n        JSON.stringify(cartData.current)\n      )\n    }\n  }, [persist])\n\n  const calculatePools = useCallback((items: CartItem[]) => {\n    const pools: Record<\n      string,\n      { prices: CartItemPrice[]; itemCount: number }\n    > = {}\n    items.forEach((item) => {\n      if (item.poolId) {\n        if (!pools[item.poolId] && item.poolPrices) {\n          pools[item.poolId] = { prices: item.poolPrices, itemCount: 1 }\n          item.price = item.poolPrices[0]\n        } else if (item.poolPrices) {\n          item.price = item.poolPrices[pools[item.poolId].itemCount]\n          pools[item.poolId].itemCount += 1\n        }\n      }\n    })\n    return pools\n  }, [])\n\n  const calculatePricing = useCallback(\n    (\n      items: Cart['items'],\n      currency?: Cart['currency'],\n      feesOnTopBps?: Cart['feesOnTopBps'],\n      feesOnTopUsd?: Cart['feesOnTopUsd'],\n      usdPrice?: number\n    ) => {\n      let feeOnTop = 0\n      let subtotal = items.reduce((total, { price, order }) => {\n        let amount = price?.amount?.decimal\n        if (price?.currency?.contract !== currency?.contract) {\n          amount = price?.amount?.native\n        }\n\n        if (amount && order?.quantity) {\n          amount = amount * order?.quantity\n        }\n        return (total += amount || 0)\n      }, 0)\n      if (feesOnTopBps) {\n        feeOnTop = feesOnTopBps.reduce((total, feeOnTopBps) => {\n          const [_, feeBps] = feeOnTopBps.split(':')\n          total += (Number(feeBps || 0) / 10000) * subtotal\n          return total\n        }, 0)\n      } else if (feesOnTopUsd && usdPrice && currency && currency?.decimals) {\n        feeOnTop = feesOnTopUsd.reduce((totalFees, feeOnTop) => {\n          const [_, fee] = feeOnTop.split(':')\n          const atomicUsdPrice = parseUnits(`${usdPrice}`, 6)\n          const atomicFee = BigInt(fee)\n          const convertedAtomicFee =\n            atomicFee * BigInt(10 ** (currency?.decimals || 18))\n          const currencyFee = convertedAtomicFee / atomicUsdPrice\n          const parsedFee = formatUnits(currencyFee, currency.decimals || 18)\n          return totalFees + Number(parsedFee)\n        }, 0)\n      }\n      subtotal = subtotal + feeOnTop\n      return {\n        totalPrice: subtotal,\n        feeOnTop,\n      }\n    },\n    []\n  )\n\n  const getCartCurrency = useCallback(\n    (items: CartItem[], chainId: number): Currency | undefined => {\n      let currencies = new Set<string>()\n      let currenciesData: Record<string, Currency> = {}\n      for (let i = 0; i < items.length; i++) {\n        const currency = items[i].price?.currency\n        if (currency?.contract) {\n          currencies.add(currency.contract)\n          currenciesData[currency.contract] = currency\n        }\n        if (currencies.size > 1) {\n          break\n        }\n      }\n      if (currencies.size > 1) {\n        const chainCurrency = useChainCurrency(chainId)\n        return {\n          ...chainCurrency,\n          contract: chainCurrency.address,\n        }\n      } else if (currencies.size > 0) {\n        return Object.values(currenciesData)[0]\n      }\n    },\n    [chains]\n  )\n\n  const fetchTokens = useCallback(\n    async (tokenIds: string[], chainId: number) => {\n      if (!tokenIds || tokenIds.length === 0) {\n        return { tokens: [] }\n      }\n\n      const reservoirChain = client?.chains.find(\n        (chain) => chain.id === chainId\n      )\n      const url = new URL(`${reservoirChain?.baseApiUrl}/tokens/v7`)\n\n      const query: paths['/tokens/v7']['get']['parameters']['query'] = {\n        tokens: tokenIds,\n        limit: 100,\n        includeDynamicPricing: true,\n      }\n      if (client?.normalizeRoyalties !== undefined) {\n        query.normalizeRoyalties = client?.normalizeRoyalties\n      }\n      setParams(url, query)\n      const params = [url.href]\n      if (client?.apiKey) {\n        params.push(client.apiKey)\n      }\n      if (client?.version) {\n        params.push(client.version)\n      }\n\n      const response: TokensSchema = await defaultFetcher(params)\n\n      return { tokens: response.tokens }\n    },\n    [client]\n  )\n\n  const fetchOrders = useCallback(\n    async (orderIds: string[], chainId: number) => {\n      if (!orderIds || orderIds.length === 0) {\n        return { orders: [] }\n      }\n\n      const reservoirChain = client?.chains.find(\n        (chain) => chain.id === chainId\n      )\n\n      const url = new URL(`${reservoirChain?.baseApiUrl}/orders/asks/v5`)\n\n      const query: paths['/orders/asks/v5']['get']['parameters']['query'] = {\n        ids: orderIds,\n        limit: 1000,\n        includeCriteriaMetadata: true,\n      }\n      if (client?.normalizeRoyalties !== undefined) {\n        query.normalizeRoyalties = client?.normalizeRoyalties\n      }\n      setParams(url, query)\n      const params = [url.href]\n      if (client?.apiKey) {\n        params.push(client.apiKey)\n      }\n      if (client?.version) {\n        params.push(client.version)\n      }\n\n      const response: OrdersSchema = await defaultFetcher(params)\n\n      return { orders: response.orders }\n    },\n    [client]\n  )\n\n  const convertTokenToItem = useCallback(\n    (tokenData: Token): CartItem | undefined => {\n      const token = tokenData.token\n      const market = tokenData.market\n\n      if (!token?.tokenId || !token.collection?.id) {\n        return\n      }\n      const dynamicPricing = market?.floorAsk?.dynamicPricing\n\n      let order:\n        | undefined\n        | {\n            id: string\n            quantityRemaining: number\n            quantity: number\n            maker: string\n          } = undefined\n      if (token.kind === 'erc1155' && market?.floorAsk) {\n        order = {\n          id: market?.floorAsk?.id || '',\n          quantityRemaining: market?.floorAsk?.quantityRemaining || 1,\n          quantity: 1,\n          maker: market?.floorAsk?.maker || '',\n        }\n      }\n\n      return {\n        token: {\n          id: token.tokenId,\n          name: token.name || '',\n        },\n        collection: {\n          id: token.collection.id,\n          name: token.collection.name || '',\n        },\n        order: order,\n        price:\n          dynamicPricing?.kind === 'pool' ? undefined : market?.floorAsk?.price,\n        poolId:\n          dynamicPricing?.kind === 'pool'\n            ? (dynamicPricing.data?.pool as string)\n            : undefined,\n        poolPrices:\n          dynamicPricing?.kind === 'pool'\n            ? (dynamicPricing.data?.prices as CartItemPrice[])\n            : undefined,\n      }\n    },\n    []\n  )\n\n  const convertOrderToItem = useCallback(\n    (orderData: Order): CartItem | undefined => {\n      let criteria = orderData.criteria?.data\n      if (!criteria?.token?.tokenId || !criteria.collection?.id) {\n        return\n      }\n      return {\n        token: {\n          id: criteria.token.tokenId,\n          name: criteria.token.name || '',\n        },\n        collection: {\n          id: criteria.collection.id,\n          name: criteria.collection.name || '',\n        },\n        order: {\n          id: orderData.id,\n          quantityRemaining: orderData.quantityRemaining || 1,\n          quantity: 1,\n          maker: orderData.maker,\n        },\n        price: orderData.price,\n        poolId: undefined,\n        poolPrices: undefined,\n      }\n    },\n    []\n  )\n\n  const clear = useCallback(() => {\n    cartData.current = {\n      ...cartData.current,\n      items: [],\n      pools: {},\n      totalPrice: 0,\n      feeOnTop: 0,\n      chain: undefined,\n    }\n    commit()\n  }, [commit])\n\n  const clearTransaction = useCallback(() => {\n    cartData.current = {\n      ...cartData.current,\n      transaction: null,\n      pendingTransactionId: undefined,\n    }\n    commit()\n  }, [commit])\n\n  const setQuantity = useCallback(\n    (orderId: string, quantity: number) => {\n      const updatedItems = [...cartData.current.items]\n      let item = updatedItems.find((item) => item.order?.id === orderId)\n      if (item?.order && (quantity > 0 || quantity == -1)) {\n        if (quantity > item?.order?.quantityRemaining) {\n          quantity = item?.order?.quantityRemaining\n        }\n        {\n          item.order = {\n            ...item.order,\n            quantity: quantity,\n          }\n        }\n      }\n\n      if (quantity == -1) {\n        cartData.current = {\n          ...cartData.current,\n          items: updatedItems,\n        }\n      } else {\n        const currency = getCartCurrency(\n          updatedItems,\n          cartData.current.chain?.id || 1\n        )\n        const { totalPrice, feeOnTop } = calculatePricing(\n          updatedItems,\n          currency,\n          cartData.current.feesOnTopBps,\n          cartData.current.feesOnTopUsd,\n          usdPrice\n        )\n\n        cartData.current = {\n          ...cartData.current,\n          items: updatedItems,\n          totalPrice,\n          feeOnTop,\n          currency,\n        }\n      }\n\n      commit()\n    },\n    [commit, usdPrice]\n  )\n\n  type AsyncAddToCartOrder = { orderId: string }\n  type AsyncAddToCartToken = { id: string }\n  type AddToCartToken = AsyncAddToCartToken | AsyncAddToCartOrder | Token\n\n  const add = useCallback(\n    async (items: AddToCartToken[], chainId: number) => {\n      try {\n        if (cartData.current.chain && chainId != cartData.current.chain?.id) {\n          throw `ChainId: ${chainId}, is different than the cart chainId (${cartData.current.chain?.id})`\n        }\n        if (cartData.current.isValidating) {\n          throw 'Currently validating, adding items temporarily disabled'\n        }\n\n        const updatedItems = [...cartData.current.items]\n        const currentIds = cartData.current.items.map(\n          (item) => `${item.collection.id}:${item.token.id}`\n        )\n        const currentOrderIds = cartData.current.items.map(\n          (item) => item.order?.id\n        )\n\n        const tokensToFetch: string[] = []\n        const tokens: Token[] = []\n        const ordersToFetch: string[] = []\n\n        const tokensByMaker = updatedItems.reduce((map, item) => {\n          if (item.order) {\n            const maker = item.order?.maker\n            if (!map[maker]) {\n              map[maker] = []\n            }\n            map[maker].push(`${item.collection.id}:${item.token.id}`)\n          }\n          return map\n        }, {} as Record<string, string[]>)\n\n        items.forEach((item) => {\n          const token = item as Token\n          const asyncToken = item as AsyncAddToCartToken\n          const asyncOrder = item as AsyncAddToCartOrder\n          if (token.token) {\n            if (\n              !currentIds.includes(\n                `${token.token?.collection?.id}:${token.token?.tokenId}`\n              )\n            ) {\n              tokens.push(token)\n            }\n          } else if (\n            asyncToken &&\n            asyncToken.id &&\n            !currentIds.includes(asyncToken.id)\n          ) {\n            tokensToFetch.push(asyncToken.id)\n          } else if (\n            asyncOrder &&\n            asyncOrder.orderId &&\n            !currentOrderIds.includes(asyncOrder.orderId)\n          ) {\n            ordersToFetch.push(asyncOrder.orderId)\n          }\n        })\n\n        const promises: Promise<void>[] = []\n\n        if (tokensToFetch.length > 0) {\n          promises.push(\n            new Promise(async (resolve) => {\n              const { tokens: fetchedTokens } = await fetchTokens(\n                tokensToFetch,\n                chainId\n              )\n              fetchedTokens?.forEach((tokenData) => {\n                const item = convertTokenToItem(tokenData)\n                const id = `${item?.collection.id}:${item?.token.id}`\n                const maker = tokenData.market?.floorAsk?.maker\n                const duplicateListingDetected =\n                  item &&\n                  maker &&\n                  tokensByMaker[maker] &&\n                  tokensByMaker[maker].includes(id)\n                if (duplicateListingDetected) {\n                  client?.log(\n                    [\n                      'Detected adding duplicate listing to cart, aborting',\n                      tokenData,\n                      updatedItems,\n                    ],\n                    LogLevel.Error\n                  )\n                } else if (item) {\n                  updatedItems.push(item)\n                }\n              })\n\n              resolve()\n            })\n          )\n        }\n\n        if (ordersToFetch.length > 0) {\n          promises.push(\n            new Promise(async (resolve) => {\n              const { orders: fetchedOrders } = await fetchOrders(\n                ordersToFetch,\n                chainId\n              )\n              fetchedOrders?.forEach((orderData) => {\n                const item = convertOrderToItem(orderData)\n                const id = `${item?.collection.id}:${item?.token.id}`\n                const duplicateListingDetected =\n                  item &&\n                  tokensByMaker[orderData.maker] &&\n                  tokensByMaker[orderData.maker].includes(id)\n                if (duplicateListingDetected) {\n                  client?.log(\n                    [\n                      'Detected adding duplicate listing to cart, aborting',\n                      orderData,\n                      updatedItems,\n                    ],\n                    LogLevel.Error\n                  )\n                } else if (item) {\n                  updatedItems.push(item)\n                }\n              })\n\n              resolve()\n            })\n          )\n        }\n\n        if (promises.length > 0) {\n          cartData.current.isValidating = true\n          subscribers.current.forEach((callback) => callback())\n\n          await Promise.allSettled(promises)\n        }\n\n        if (tokens.length > 0) {\n          tokens.forEach((token) => {\n            if (\n              token.market?.floorAsk?.maker?.toLowerCase() !==\n                address?.toLowerCase() &&\n              token.token?.owner?.toLowerCase() !== address?.toLowerCase()\n            ) {\n              const item = convertTokenToItem(token)\n              if (item) {\n                updatedItems.push(item)\n              }\n            }\n          })\n        }\n\n        const pools = calculatePools(updatedItems)\n        const currency = getCartCurrency(updatedItems, chainId)\n        const { totalPrice, feeOnTop } = calculatePricing(\n          updatedItems,\n          currency,\n          cartData.current.feesOnTopBps,\n          cartData.current.feesOnTopUsd,\n          usdPrice\n        )\n\n        cartData.current = {\n          ...cartData.current,\n          isValidating: false,\n          items: updatedItems,\n          totalPrice,\n          feeOnTop,\n          currency,\n          pools,\n        }\n\n        if (!cartData.current.chain) {\n          cartData.current.chain =\n            client?.chains.find((chain) => chain.id === chainId) ||\n            client?.currentChain() ||\n            undefined\n        }\n        commit()\n      } catch (e) {\n        if (cartData.current.isValidating) {\n          cartData.current.isValidating = false\n          commit()\n        }\n        throw e\n      }\n    },\n    [fetchTokens, commit, address, usdPrice]\n  )\n\n  /**\n   * @param ids An array of order ids or token keys. Tokens should be in the format `collection:token`\n   */\n\n  const remove = useCallback(\n    (ids: string[]) => {\n      if (cartData.current.isValidating) {\n        console.warn(\n          'Currently validating, removing items temporarily disabled'\n        )\n        return\n      }\n      const updatedItems: CartItem[] = []\n      const removedItems: CartItem[] = []\n      cartData.current.items.forEach((item) => {\n        const key = `${item.collection.id}:${item.token.id}`\n        const orderId = item.order?.id\n        if (orderId && ids.includes(orderId)) {\n          removedItems.push(item)\n        } else if (ids.includes(key)) {\n          removedItems.push(item)\n        } else {\n          updatedItems.push(item)\n        }\n      })\n      const pools = calculatePools(updatedItems)\n      const currency = getCartCurrency(\n        updatedItems,\n        cartData.current.chain?.id || 1\n      )\n      const { totalPrice, feeOnTop } = calculatePricing(\n        updatedItems,\n        currency,\n        cartData.current.feesOnTopBps,\n        cartData.current.feesOnTopUsd,\n        usdPrice\n      )\n\n      //Suppress pool price changes if the removed item was from the pool\n      const removedPoolIds = removedItems.reduce((poolIds, item) => {\n        if (item.poolId) {\n          poolIds.push(item.poolId)\n        }\n        return poolIds\n      }, [] as string[])\n\n      updatedItems.forEach((item) => {\n        if (item.poolId && removedPoolIds.includes(item.poolId)) {\n          item.previousPrice = item.price\n        }\n      })\n\n      cartData.current = {\n        ...cartData.current,\n        items: updatedItems,\n        pools,\n        totalPrice,\n        feeOnTop,\n        currency,\n      }\n      if (updatedItems.length === 0) {\n        cartData.current.chain = undefined\n      }\n      commit()\n    },\n    [usdPrice]\n  )\n\n  const validate = useCallback(async () => {\n    try {\n      if (cartData.current.items.length === 0) {\n        return false\n      }\n      cartData.current = { ...cartData.current, isValidating: true }\n      commit()\n\n      const items = [...cartData.current.items]\n\n      const positionMap =\n        cartData.current.items.reduce((items, item, index) => {\n          if (item.order?.id) {\n            items[`${item.order.id}`] = index\n          } else if (item.collection.id && item.token?.id) {\n            items[`${item.collection.id}:${item.token.id}`] = index\n          }\n          return items\n        }, {} as Record<string, number>) || {}\n\n      const tokensToFetch: string[] = []\n      const ordersToFetch: string[] = []\n\n      //find tokens and order ids to fetch\n      cartData.current.items.map((item) => {\n        if (item.order?.id) {\n          ordersToFetch.push(item.order.id)\n        } else {\n          const contract = item.collection.id.split(':')[0]\n          tokensToFetch.push(`${contract}:${item.token.id}`)\n        }\n      })\n\n      //fetch tokens and orders in tandem\n      const promises: (\n        | ReturnType<typeof fetchOrders>\n        | ReturnType<typeof fetchTokens>\n      )[] = []\n\n      if (ordersToFetch.length > 0) {\n        promises.push(\n          fetchOrders(ordersToFetch, cartData.current.chain?.id as number)\n        )\n      }\n\n      if (tokensToFetch.length > 0) {\n        promises.push(\n          fetchTokens(tokensToFetch, cartData.current.chain?.id as number)\n        )\n      }\n\n      const responses = await Promise.allSettled(promises)\n\n      // hashmap of items to remove { orderId/tokenId: item index }\n      let itemsToRemove: Record<string, number> = {}\n\n      responses.forEach((response) => {\n        if (response.status === 'fulfilled') {\n          const ordersResponse = response.value as OrdersSchema\n          const tokensResponse = response.value as TokensSchema\n\n          if (ordersResponse && ordersResponse.orders) {\n            // process orders response\n            ordersResponse.orders.map((order) => {\n              let index = positionMap[order.id]\n              if (\n                address &&\n                order.maker.toLowerCase() === address?.toLowerCase()\n              ) {\n                itemsToRemove[order.id] = index\n              } else if (order.status !== 'active') {\n                items[index] = {\n                  ...items[index],\n                  price: undefined,\n                }\n              }\n            })\n          } else if (tokensResponse && tokensResponse.tokens) {\n            // process tokens response\n            tokensResponse.tokens.map(({ token, market }) => {\n              const index =\n                positionMap[`${token?.collection?.id}:${token?.tokenId}`]\n\n              if (\n                address &&\n                (token?.owner?.toLowerCase() === address?.toLowerCase() ||\n                  market?.floorAsk?.maker?.toLowerCase() ===\n                    address?.toLowerCase())\n              ) {\n                if (token?.collection?.id && token?.tokenId) {\n                  itemsToRemove[`${token.collection.id}:${token.tokenId}`] =\n                    index\n                }\n              } else {\n                const dynamicPricing = market?.floorAsk?.dynamicPricing\n\n                items[index] = {\n                  ...items[index],\n                  previousPrice: items[index].price,\n                  price: market?.floorAsk?.price,\n                  poolId:\n                    dynamicPricing?.kind === 'pool'\n                      ? (dynamicPricing.data?.pool as string)\n                      : undefined,\n                  poolPrices:\n                    dynamicPricing?.kind === 'pool'\n                      ? (dynamicPricing.data?.prices as CartItemPrice[])\n                      : undefined,\n                }\n                if (token?.name) {\n                  items[index].token.name = token.name\n                }\n                if (token?.collection?.name) {\n                  items[index].collection.name = token.collection.name\n                }\n              }\n            })\n          }\n        }\n      })\n\n      // Remove all items in itemsToRemove\n      if (Object.values(itemsToRemove).length > 0) {\n        Object.values(itemsToRemove).map((index) => {\n          items.splice(index, 1)\n        })\n      }\n\n      const pools = calculatePools(items)\n      const currency = getCartCurrency(items, cartData.current.chain?.id || 1)\n      const { totalPrice, feeOnTop } = calculatePricing(\n        items,\n        currency,\n        cartData.current.feesOnTopBps,\n        cartData.current.feesOnTopUsd,\n        usdPrice\n      )\n      cartData.current = {\n        ...cartData.current,\n        items,\n        pools,\n        isValidating: false,\n        totalPrice,\n        feeOnTop,\n        currency,\n      }\n\n      commit()\n      return true\n    } catch (e) {\n      if (cartData.current.isValidating) {\n        cartData.current.isValidating = false\n        commit()\n      }\n      throw e\n    }\n  }, [fetchTokens, fetchOrders, address, usdPrice])\n\n  const checkout = useCallback(\n    async (options: BuyTokenOptions = {}) => {\n      if (!client) {\n        throw 'Reservoir SDK not initialized'\n      }\n\n      const { chain: activeChain } = await getAccount(config)\n\n      if (\n        cartData.current.chain &&\n        cartData.current.chain?.id !== activeChain?.id\n      ) {\n        const chain = await switchChainAsync?.({\n          ...config,\n          chainId: cartData.current.chain.id,\n        })\n        if (chain?.id !== cartData.current.chain.id) {\n          throw 'Active chain does not match cart chain'\n        }\n      }\n\n      let wagmiWalletClient\n      if (!walletClient) {\n        wagmiWalletClient = await getWalletClient(config, {\n          chainId: cartData.current.chain?.id,\n        })\n      }\n\n      const wallet = walletClient || wagmiWalletClient\n\n      if (!wallet) {\n        throw 'Wallet/Signer not available'\n      }\n\n      let isMixedCurrency = false\n      const tokens = cartData.current.items.reduce(\n        (items, { token, collection, price, order }) => {\n          if (price) {\n            const contract = collection.id.split(':')[0]\n            items?.push({\n              token: order?.id ? undefined : `${contract}:${token.id}`,\n              orderId: order?.id,\n              quantity: order?.quantity,\n            })\n            if (\n              price.currency?.contract != cartData.current.currency?.contract\n            ) {\n              isMixedCurrency = true\n            }\n          }\n          return items\n        },\n        [] as Parameters<ReservoirClientActions['buyToken']>['0']['items']\n      )\n\n      if (!tokens || tokens.length === 0) {\n        throw 'Cart is empty'\n      }\n      const chainCurrency = useChainCurrency(cartData.current.chain?.id || 1)\n      const currencyChain = client.chains.find(\n        (chain) => chainCurrency.chainId === chain.id\n      )\n      const feeOnTop = cartData.current.feeOnTop ? cartData.current.feeOnTop : 0\n      const expectedPrice = cartData.current.totalPrice - feeOnTop\n      let currencyDecimals = cartData.current.currency?.decimals || 18\n\n      if (isMixedCurrency) {\n        options.currency = zeroAddress\n        currencyDecimals = chainCurrency.decimals\n      } else {\n        options.currency = cartData.current.currency?.contract\n      }\n\n      if (feeOnTop) {\n        if (cartData.current.feesOnTopBps) {\n          const fixedFees = cartData.current.feesOnTopBps.map((fullFee) => {\n            const [referrer, feeBps] = fullFee.split(':')\n            const fee = Math.floor(\n              Number(\n                parseUnits(`${expectedPrice}`, currencyDecimals) *\n                  BigInt(feeBps)\n              ) / 10000\n            )\n            const atomicUnitsFee = formatUnits(BigInt(fee), 0)\n            return `${referrer}:${atomicUnitsFee}`\n          })\n          options.feesOnTop = fixedFees\n        } else if (cartData.current.feesOnTopUsd && usdPrice) {\n          options.feesOnTop = cartData.current.feesOnTopUsd.map((feeOnTop) => {\n            const [recipient, fee] = feeOnTop.split(':')\n            const atomicUsdPrice = parseUnits(`${usdPrice}`, 6)\n            const atomicFee = BigInt(fee)\n            const convertedAtomicFee =\n              atomicFee * BigInt(10 ** cartData.current?.currency?.decimals!)\n            const currencyFee = convertedAtomicFee / atomicUsdPrice\n            const parsedFee = formatUnits(currencyFee, 0)\n            return `${recipient}:${parsedFee}`\n          })\n        }\n      }\n\n      if (options.partial === undefined) {\n        options.partial = true\n      }\n\n      const transactionId = `${new Date().getTime()}`\n      cartData.current = {\n        ...cartData.current,\n        pendingTransactionId: transactionId,\n        transaction: {\n          id: transactionId,\n          chain: cartData.current.chain || currencyChain || client.chains[0],\n          items: cartData.current.items,\n          status: CheckoutStatus.Approving,\n        },\n      }\n      commit()\n\n      client.actions\n        .buyToken({\n          expectedPrice: {\n            [options.currency || zeroAddress]: {\n              amount: expectedPrice,\n              raw: parseUnits(`${expectedPrice}`, currencyDecimals),\n              currencyAddress: options.currency || zeroAddress,\n              currencyDecimals: currencyDecimals,\n            },\n          },\n          wallet,\n          items: tokens,\n          options,\n          onProgress: (steps: Execute['steps'], path: Execute['path']) => {\n            if (!steps) {\n              return\n            }\n            if (transactionId != cartData.current.pendingTransactionId) {\n              return\n            }\n\n            let status =\n              cartData.current.transaction?.status || CheckoutStatus.Approving\n\n            const executableSteps = steps.filter(\n              (step) => step.items && step.items.length > 0\n            )\n\n            let stepCount = executableSteps.length\n\n            let currentStepItem:\n              | NonNullable<Execute['steps'][0]['items']>[0]\n              | undefined\n\n            const currentStepIndex = executableSteps.findIndex((step) => {\n              currentStepItem = step.items?.find(\n                (item) => item.status === 'incomplete'\n              )\n              return currentStepItem\n            })\n\n            const currentStep =\n              currentStepIndex > -1\n                ? executableSteps[currentStepIndex]\n                : executableSteps[stepCount - 1]\n\n            if (currentStep.error) {\n              return\n            }\n\n            executableSteps.findIndex((step) => {\n              currentStepItem = step.items?.find(\n                (item) => item.status === 'incomplete'\n              )\n              return currentStepItem\n            })\n\n            const transactionSteps = steps.filter(\n              (step) =>\n                step.kind === 'transaction' &&\n                step.items &&\n                step.items?.length > 0\n            )\n\n            if (\n              transactionSteps.length > 0 &&\n              transactionSteps.every((step) =>\n                step.items?.every((item) => item.txHashes)\n              )\n            ) {\n              status = CheckoutStatus.Finalizing\n              if (cartData.current.items.length > 0) {\n                cartData.current.items = []\n                cartData.current.pools = {}\n                cartData.current.totalPrice = 0\n                cartData.current.currency = undefined\n                cartData.current.chain = undefined\n              }\n            }\n            if (\n              steps.every(\n                (step) =>\n                  !step.items ||\n                  step.items.length == 0 ||\n                  step.items?.every((item) => item.status === 'complete')\n              )\n            ) {\n              status = CheckoutStatus.Complete\n            }\n\n            if (\n              cartData.current.transaction?.status != status &&\n              (status === CheckoutStatus.Finalizing ||\n                status === CheckoutStatus.Complete)\n            ) {\n              cartData.current.items = []\n              cartData.current.pools = {}\n              cartData.current.totalPrice = 0\n              cartData.current.currency = undefined\n              cartData.current.chain = undefined\n            }\n\n            if (cartData.current.transaction) {\n              cartData.current.transaction.status = status\n              cartData.current.transaction.currentStep = currentStep\n              if (currentStepItem) {\n                cartData.current.transaction.txHashes =\n                  currentStepItem?.txHashes\n                cartData.current.transaction.steps = steps\n                cartData.current.transaction.path = path\n              }\n            }\n            commit()\n          },\n        })\n        .catch((e: any) => {\n          if (transactionId != cartData.current.pendingTransactionId) {\n            return\n          }\n          let error = e as any\n          let errorType = CheckoutTransactionError.Unknown\n          const errorStatus = (error as any)?.statusCode\n\n          if (error?.message && error?.message.includes('ETH balance')) {\n            errorType = CheckoutTransactionError.InsufficientBalance\n          } else if (error?.code && error?.code == 4001) {\n            errorType = CheckoutTransactionError.UserDenied\n          } else {\n            let message = 'Oops, something went wrong. Please try again.'\n            if (errorStatus >= 400 && errorStatus < 500) {\n              message = error.message\n            }\n            if (error?.type && error?.type === 'price mismatch') {\n              errorType = CheckoutTransactionError.PiceMismatch\n              message = error.message\n            }\n\n            //@ts-ignore: Should be fixed in an update to typescript\n            error = new Error(message, {\n              cause: error,\n            })\n          }\n          if (cartData.current.transaction) {\n            cartData.current.transaction.status = CheckoutStatus.Idle\n            cartData.current.transaction.error = error\n            cartData.current.transaction.errorType = errorType\n            if (\n              cartData.current.chain?.id ==\n              cartData.current.transaction.chain.id\n            ) {\n              const items = [...cartData.current.transaction.items]\n              const pools = calculatePools(items)\n              const currency = getCartCurrency(\n                items,\n                cartData.current.transaction.chain.id\n              )\n              const { totalPrice, feeOnTop } = calculatePricing(\n                items,\n                currency,\n                cartData.current.feesOnTopBps,\n                cartData.current.feesOnTopUsd,\n                usdPrice\n              )\n              cartData.current.items = items\n              cartData.current.pools = pools\n              cartData.current.currency = currency\n              cartData.current.totalPrice = totalPrice\n              cartData.current.feeOnTop = feeOnTop\n              cartData.current.chain = cartData.current.transaction.chain\n            }\n            commit()\n            validate()\n          }\n        })\n    },\n    [client, switchChainAsync, usdPrice, walletClient, config]\n  )\n\n  return {\n    get,\n    set,\n    subscribe,\n    setQuantity,\n    add,\n    remove,\n    clear,\n    clearTransaction,\n    validate,\n    checkout,\n  }\n}\n\nexport const CartContext = createContext<ReturnType<typeof cartStore> | null>(\n  null\n)\n\ntype CartProviderProps = {\n  children: ReactNode\n  feesOnTopBps?: string[]\n  feesOnTopUsd?: string[]\n  persist?: boolean\n  walletClient?: ReservoirWallet | WalletClient\n}\n\nexport const CartProvider: FC<CartProviderProps> = function ({\n  children,\n  feesOnTopBps,\n  feesOnTopUsd,\n  persist,\n  walletClient,\n}) {\n  return (\n    <CartContext.Provider\n      value={cartStore({ feesOnTopBps, feesOnTopUsd, persist, walletClient })}\n    >\n      {children}\n    </CartContext.Provider>\n  )\n}\n","import { paths } from '@reservoir0x/reservoir-sdk'\nimport useReservoirClient from './useReservoirClient'\nimport useSWR from 'swr/immutable'\n\nexport default function (chainId?: number, from?: string, to?: string) {\n  const client = useReservoirClient()\n  const chain =\n    chainId !== undefined\n      ? client?.chains.find((chain) => chain.id === chainId)\n      : client?.currentChain()\n  const path = new URL(\n    `${chain?.baseApiUrl}/currencies/conversion/v1?from=${from}&to=${to}`\n  )\n\n  return useSWR<\n    paths['/currencies/conversion/v1']['get']['responses'][200]['schema']\n  >(from && to ? [path.href, client?.apiKey, client?.version] : null, null, {\n    refreshInterval: 300000, //5m\n  })\n}\n","import { getClient, customChains } from '@reservoir0x/reservoir-sdk'\nimport { Address, zeroAddress } from 'viem'\nimport * as allChains from 'viem/chains'\n\nexport default (chainId?: number) => {\n  const client = getClient()\n  const reservoirChain = chainId\n    ? client.chains.find((chain) => chain.id === chainId)\n    : client.currentChain()\n\n  const chains = Object.values({ ...allChains, ...customChains })\n  let chain = chains.find((chain) => reservoirChain?.id === chain.id)\n\n  if (!chain && chains.length > 0) {\n    chain = chains[0]\n  }\n\n  const ETHChains: number[] = [allChains.mainnet.id, allChains.goerli.id]\n\n  if (!chain || !chain.nativeCurrency || ETHChains.includes(chain.id)) {\n    return {\n      name: 'Ethereum',\n      symbol: 'ETH',\n      decimals: 18,\n      address: zeroAddress as Address,\n      chainId: chain?.id || allChains.mainnet.id,\n    }\n  } else if (chain.id === allChains.skaleNebula.id) {\n    return {\n      name: 'Europa ETH',\n      symbol: 'ETH',\n      decimals: 18,\n      address: '0xab01bad2c86e24d371a13ed6367bdca819589c5d' as Address,\n      chainId: 1482601649,\n    }\n  } else {\n    return {\n      ...chain.nativeCurrency,\n      address: zeroAddress as Address,\n      chainId: chain.id,\n    }\n  }\n}\n","import { useContext } from 'react'\nimport useSWR from 'swr/immutable'\nimport { CoinGecko, ProviderOptionsContext } from '../ReservoirKitProvider'\nimport useCoinIds from './useCoinIds'\n\nconst createBaseUrl = (config: CoinGecko | undefined) => {\n  if (config?.proxy) return `${config.proxy}/api/v3/coins/markets?`\n\n  if (config?.apiKey)\n    return `https://pro-api.coingecko.com/api/v3/coins/markets?x_cg_pro_api_key={${config.apiKey}}&`\n\n  return 'https://api.coingecko.com/api/v3/coins/markets?'\n}\n\nexport default function (\n  vs_currency?: string,\n  symbols: string = 'eth',\n  id: string = ''\n): { price: number; symbol: string; id: string }[] {\n  const providerOptionsContext = useContext(ProviderOptionsContext)\n  const { data: coinIds } = useCoinIds()\n  const baseUrl = createBaseUrl(providerOptionsContext?.coinGecko)\n\n  if (id.length === 0) {\n    id = symbols\n      .split(',')\n      .reduce((ids: string[], symbol: string) => {\n        const normalizedSymbol = symbol.toLowerCase()\n        if (providerOptionsContext.coinGecko?.coinIds?.[normalizedSymbol]) {\n          ids.push(providerOptionsContext.coinGecko.coinIds[normalizedSymbol])\n        } else {\n          const coins = coinIds[normalizedSymbol]\n          if (coins?.length === 1) {\n            ids.push(coins[0].id)\n          }\n        }\n\n        return ids\n      }, [])\n      .join(',')\n  }\n\n  const { data } = useSWR(\n    vs_currency ? `${baseUrl}vs_currency=${vs_currency}&ids=${id}` : null,\n    null,\n    {\n      refreshInterval: 300000, //5m Interval\n    }\n  )\n\n  if (data && data.length > 0) {\n    return data\n      .filter((conversion: any) =>\n        symbols\n          .split(',')\n          .some((symbol) => symbol.toLowerCase().includes(conversion.symbol))\n      )\n      .map((conversion: any) => ({\n        price: conversion.current_price,\n        symbol: (conversion.symbol || '').toUpperCase(),\n        coinGeckoId: conversion.id,\n      }))\n  }\n  return []\n}\n","import { useContext } from 'react'\nimport useSWR from 'swr/immutable'\nimport { CoinGecko, ProviderOptionsContext } from '../ReservoirKitProvider'\n\nconst createBaseUrl = (config: CoinGecko | undefined) => {\n  if (config?.proxy) return `${config.proxy}/api/v3/coins/list?`\n\n  if (config?.apiKey)\n    return `https://pro-api.coingecko.com/api/v3/coins/list?x_cg_pro_api_key={${config.apiKey}}`\n\n  return 'https://api.coingecko.com/api/v3/coins/list'\n}\n\ntype CoinList = Record<string, { name: string; symbol: string; id: string }[]>\n\nexport default function () {\n  const providerOptionsContext = useContext(ProviderOptionsContext)\n  const baseUrl = createBaseUrl(providerOptionsContext?.coinGecko)\n  const response = useSWR(baseUrl, null, {\n    refreshInterval: 7200000, //2hr\n  })\n  const coins: CoinList =\n    response?.data?.reduce((coins: CoinList, coin: CoinList[0][0]) => {\n      //Hardcoded symbol to id pairings for established cryptocurrencies\n      if (\n        (coin.symbol === 'eth' && coin.id !== 'ethereum') ||\n        (coin.symbol === 'weth' && coin.id !== 'weth') ||\n        (coin.symbol === 'wmatic' && coin.id !== 'wmatic') ||\n        (coin.symbol === 'usdc' && coin.id !== 'usd-coin') ||\n        (coin.symbol === 'matic' && coin.id !== 'matic-network') ||\n        (coin.symbol === 'dai' && coin.id !== 'dai') ||\n        (coin.symbol === 'sand' && coin.id !== 'the-sandbox')\n      ) {\n        return coins\n      }\n      if (!coins[coin.symbol]) {\n        coins[coin.symbol] = [coin]\n      } else {\n        coins[coin.symbol].push(coin)\n      }\n      return coins\n    }, {}) || {}\n\n  return {\n    ...response,\n    data: coins,\n  }\n}\n","import { paths, setParams } from '@reservoir0x/reservoir-sdk'\nimport { SWRInfiniteConfiguration } from 'swr/infinite'\nimport { useInfiniteApi, useReservoirClient } from './'\n\ntype CollectionActivityResponse =\n  paths['/collections/activity/v6']['get']['responses']['200']['schema']\n\ntype CollectionActivityQuery =\n  paths['/collections/activity/v6']['get']['parameters']['query']\n\nexport default function (\n  options?: CollectionActivityQuery | false,\n  swrOptions: SWRInfiniteConfiguration = {},\n  chainId?: number\n) {\n  const client = useReservoirClient()\n  const chain =\n    chainId !== undefined\n      ? client?.chains.find((chain) => chain.id === chainId)\n      : client?.currentChain()\n\n  const response = useInfiniteApi<CollectionActivityResponse>(\n    (pageIndex, previousPageData) => {\n      if (\n        !options ||\n        (!options.collection && !options.collectionsSetId && !options.community)\n      ) {\n        return null\n      }\n\n      const url = new URL(`${chain?.baseApiUrl}/collections/activity/v6`)\n\n      let query: CollectionActivityQuery = { ...options }\n\n      if (previousPageData && !previousPageData.continuation) {\n        return null\n      } else if (previousPageData && pageIndex > 0) {\n        query.continuation = previousPageData.continuation\n      }\n\n      setParams(url, query)\n\n      return [url.href, client?.apiKey, client?.version]\n    },\n    {\n      revalidateOnMount: true,\n      revalidateFirstPage: false,\n      ...swrOptions,\n    }\n  )\n\n  const activities =\n    response.data?.flatMap((page) => page.activities || []) ?? []\n\n  return {\n    ...response,\n    data: activities,\n  }\n}\n","import { useInfiniteApi, useReservoirClient } from './'\nimport { paths, setParams } from '@reservoir0x/reservoir-sdk'\nimport { SWRInfiniteConfiguration } from 'swr/infinite'\n\ntype CollectionResponse =\n  paths['/collections/v7']['get']['responses']['200']['schema']\n\ntype CollectionsQuery = paths['/collections/v7']['get']['parameters']['query']\n\nexport default function (\n  options?: CollectionsQuery | false,\n  swrOptions: SWRInfiniteConfiguration = {},\n  chainId?: number\n) {\n  const client = useReservoirClient()\n  const chain =\n    chainId !== undefined\n      ? client?.chains.find((chain) => chain.id === chainId)\n      : client?.currentChain()\n\n  const response = useInfiniteApi<CollectionResponse>(\n    (pageIndex, previousPageData) => {\n      if (!options) {\n        return null\n      }\n\n      const url = new URL(`${chain?.baseApiUrl}/collections/v7`)\n      let query: CollectionsQuery = { ...options }\n\n      if (previousPageData && !previousPageData.continuation) {\n        return null\n      } else if (previousPageData && pageIndex > 0) {\n        query.continuation = previousPageData.continuation\n      }\n\n      if (\n        query.normalizeRoyalties === undefined &&\n        client?.normalizeRoyalties !== undefined\n      ) {\n        query.normalizeRoyalties = client.normalizeRoyalties\n      }\n\n      setParams(url, query)\n      return [url.href, client?.apiKey, client?.version]\n    },\n    {\n      revalidateOnMount: true,\n      revalidateFirstPage: false,\n      ...swrOptions,\n    }\n  )\n\n  const collections =\n    response.data?.flatMap((page) => page?.collections || []) ?? []\n\n  return {\n    ...response,\n    data: collections,\n  }\n}\n","import { useMemo } from 'react'\nimport { useCart, useReservoirClient, useTokens } from './'\nimport { SWRInfiniteConfiguration } from 'swr/infinite'\nimport { Cart } from './../context/CartProvider'\n\ntype DynamicTokens = (ReturnType<typeof useTokens>['data'][0] & {\n  isInCart?: boolean\n})[]\n\nexport default function (\n  options: Parameters<typeof useTokens>['0'] = {},\n  swrOptions: SWRInfiniteConfiguration = {},\n  chainId?: number\n) {\n  const client = useReservoirClient()\n  const tokensResponse = useTokens(\n    {\n      includeDynamicPricing: true,\n      ...options,\n    },\n    swrOptions,\n    chainId\n  )\n  const { data: cartItems, ...cartActions } = useCart((cart) => cart.items)\n  const { data: cartPools } = useCart((cart) => cart.pools)\n  const { data: cartChain } = useCart((cart) => cart.chain)\n  const cartRequiresReordering = useMemo(\n    () => Object.values(cartPools).some((pool) => pool.itemCount > 0),\n    [cartPools]\n  )\n  const itemsMap = useMemo(() => {\n    return cartItems.reduce((itemMap, item) => {\n      itemMap[`${item.collection.id}:${item.token.id}`] = item\n      return itemMap\n    }, {} as Record<string, Cart['items'][0]>)\n  }, [cartItems])\n\n  let dynamicTokens: DynamicTokens\n  if (\n    cartChain &&\n    (chainId === cartChain?.id ||\n      (chainId === undefined && client?.currentChain()?.id === cartChain?.id))\n  ) {\n    dynamicTokens = tokensResponse.data.map((tokenData) => {\n      const id = `${tokenData?.token?.collection?.id}:${tokenData?.token?.tokenId}`\n      const cartItem = itemsMap[id]\n      const dynamicTokenData = {\n        ...tokenData,\n        isInCart: cartItem !== undefined,\n      }\n      const floorAsk = tokenData?.market?.floorAsk\n      const isInPool = floorAsk?.dynamicPricing?.kind === 'pool'\n      const poolId = isInPool\n        ? (floorAsk?.dynamicPricing?.data?.pool as string)\n        : undefined\n      const poolPrices = isInPool\n        ? (floorAsk?.dynamicPricing?.data\n            ?.prices as Cart['items'][0]['poolPrices'])\n        : undefined\n      if (cartItem) {\n        if (\n          dynamicTokenData.market?.floorAsk &&\n          cartItem.poolId &&\n          cartItem.price &&\n          cartItem.price.amount?.decimal !=\n            dynamicTokenData.market?.floorAsk?.price\n        ) {\n          dynamicTokenData.market.floorAsk.price = cartItem.price\n        }\n      } else if (\n        isInPool &&\n        poolId &&\n        poolPrices &&\n        floorAsk &&\n        dynamicTokenData.market?.floorAsk\n      ) {\n        const nextPoolCartIndex = cartPools[poolId]\n          ? cartPools[poolId].itemCount\n          : 0\n\n        if (nextPoolCartIndex >= poolPrices.length) {\n          dynamicTokenData.market.floorAsk.price = undefined\n        } else if (poolPrices && poolPrices[nextPoolCartIndex]) {\n          dynamicTokenData.market.floorAsk.price = poolPrices[nextPoolCartIndex]\n        }\n      }\n      return dynamicTokenData\n    })\n\n    if (\n      cartRequiresReordering &&\n      (!options || !options.sortBy || options.sortBy === 'floorAskPrice')\n    ) {\n      dynamicTokens.sort((a, b) => {\n        const aPrice = a.market?.floorAsk?.price?.amount?.decimal\n        const bPrice = b.market?.floorAsk?.price?.amount?.decimal\n\n        if (aPrice === undefined) {\n          return 1\n        } else if (bPrice === undefined) {\n          return -1\n        } else if (\n          !options ||\n          !options.sortDirection ||\n          options.sortDirection === 'asc'\n        ) {\n          return aPrice - bPrice\n        } else {\n          return bPrice - aPrice\n        }\n      })\n    }\n  } else {\n    dynamicTokens = tokensResponse.data.map((tokenData) => {\n      const floorAsk = tokenData?.market?.floorAsk\n      const isInPool = floorAsk?.dynamicPricing?.kind === 'pool'\n      const poolPrices = isInPool\n        ? (floorAsk?.dynamicPricing?.data\n            ?.prices as Cart['items'][0]['poolPrices'])\n        : undefined\n\n      if (tokenData.market?.floorAsk && poolPrices && poolPrices[0]) {\n        tokenData.market.floorAsk.price = poolPrices[0]\n      }\n\n      return tokenData\n    })\n  }\n\n  return {\n    ...tokensResponse,\n    data: dynamicTokens,\n    ...cartActions,\n  }\n}\n","import { paths, setParams } from '@reservoir0x/reservoir-sdk'\nimport { SWRInfiniteConfiguration } from 'swr/infinite'\nimport { useInfiniteApi, useReservoirClient } from './'\nimport { useMemo } from 'react'\n\ntype TokenDetailsResponse =\n  paths['/tokens/v7']['get']['responses']['200']['schema']\n\ntype TokensQuery = paths['/tokens/v7']['get']['parameters']['query']\n\nexport default function (\n  options?: TokensQuery | false,\n  swrOptions: SWRInfiniteConfiguration = {},\n  chainId?: number\n) {\n  const client = useReservoirClient()\n  const chain =\n    chainId !== undefined\n      ? client?.chains.find((chain) => chain.id === chainId)\n      : client?.currentChain()\n\n  const response = useInfiniteApi<TokenDetailsResponse>(\n    (pageIndex, previousPageData) => {\n      if (!options) {\n        return null\n      }\n\n      const url = new URL(`${chain?.baseApiUrl}/tokens/v7`)\n      let query: TokensQuery = { ...options }\n\n      if (previousPageData && !previousPageData.continuation) {\n        return null\n      } else if (previousPageData && pageIndex > 0) {\n        query.continuation = previousPageData.continuation\n      }\n\n      if (\n        query.normalizeRoyalties === undefined &&\n        client?.normalizeRoyalties !== undefined\n      ) {\n        query.normalizeRoyalties = client.normalizeRoyalties\n      }\n\n      setParams(url, query)\n      return [url.href, client?.apiKey, client?.version]\n    },\n    {\n      revalidateOnMount: true,\n      revalidateFirstPage: false,\n      ...swrOptions,\n    }\n  )\n\n  const tokens = useMemo(\n    () => response.data?.flatMap((page) => page.tokens || []) ?? [],\n    [response.data]\n  )\n\n  return {\n    ...response,\n    data: tokens,\n  }\n}\n","import { paths, setParams } from '@reservoir0x/reservoir-sdk'\nimport useReservoirClient from './useReservoirClient'\nimport { SWRInfiniteConfiguration } from 'swr/infinite'\nimport useInfiniteApi from './useInfiniteApi'\n\ntype Asks = paths['/orders/asks/v5']['get']['responses']['200']['schema']\ntype AsksQuery = paths['/orders/asks/v5']['get']['parameters']['query']\n\nexport default function (\n  options: AsksQuery,\n  swrOptions: SWRInfiniteConfiguration = {},\n  enabled: boolean = true,\n  chainId?: number\n) {\n  const client = useReservoirClient()\n  const chain =\n    chainId !== undefined\n      ? client?.chains.find((chain) => chain.id === chainId)\n      : client?.currentChain()\n\n  const response = useInfiniteApi<Asks>(\n    (pageIndex, previousPageData) => {\n      if (!enabled) {\n        return null\n      }\n\n      const url = new URL(`${chain?.baseApiUrl || ''}/orders/asks/v5`)\n      let query: AsksQuery = options || {}\n\n      if (\n        query.normalizeRoyalties === undefined &&\n        client?.normalizeRoyalties !== undefined\n      ) {\n        query.normalizeRoyalties = client.normalizeRoyalties\n      }\n\n      if (previousPageData && !previousPageData.continuation) {\n        return null\n      } else if (previousPageData && pageIndex > 0) {\n        query.continuation = previousPageData.continuation\n      }\n\n      setParams(url, query)\n      return [url.href, client?.apiKey, client?.version]\n    },\n    {\n      revalidateOnMount: true,\n      revalidateFirstPage: false,\n      ...swrOptions,\n    }\n  )\n\n  const listings = response.data?.flatMap((page) => page.orders || []) ?? []\n\n  return {\n    ...response,\n    data: listings,\n  }\n}\n","import { paths, setParams } from '@reservoir0x/reservoir-sdk'\nimport useSWR from 'swr/immutable'\nimport { useReservoirClient } from './'\n\ntype MarketplaceConfigurationsResponse =\n  paths['/collections/{collection}/marketplace-configurations/v2']['get']['responses']['200']['schema']\n\nexport type MarketPlaceConfigurationsQuery =\n  paths['/collections/{collection}/marketplace-configurations/v2']['get']['parameters']['query']\n\nexport default function (\n  collectionId?: string,\n  chainId?: number,\n  options?: MarketPlaceConfigurationsQuery,\n  enabled: boolean = true\n) {\n  const client = useReservoirClient()\n  const chain =\n    chainId !== undefined\n      ? client?.chains.find((chain) => chain.id === chainId)\n      : client?.currentChain()\n\n  const { data, error } = useSWR<MarketplaceConfigurationsResponse>(() => {\n    if (!enabled || !collectionId) {\n      return null\n    }\n\n    const url = new URL(\n      `${chain?.baseApiUrl}/collections/${collectionId}/marketplace-configurations/v2`\n    )\n    let query: MarketPlaceConfigurationsQuery = { ...options }\n\n    setParams(url, query)\n    return [url.href, client?.apiKey, client?.version]\n  })\n\n  return {\n    data: data,\n    isError: !!error,\n    isLoading: !data && !error,\n  }\n}\n","import { useAccount } from 'wagmi'\nimport { paths } from '@reservoir0x/reservoir-sdk'\nimport { SWRConfiguration } from 'swr'\nimport useUserListings from './useUserListings'\n\nexport default function (\n  query?: paths['/users/{user}/asks/v1']['get']['parameters']['query'] | false,\n  swrOptions?: SWRConfiguration,\n  chainId?: number\n) {\n  const { address } = useAccount()\n  return useUserListings(\n    address,\n    query ? query : undefined,\n    swrOptions,\n    address !== undefined,\n    chainId\n  )\n}\n","import { paths, setParams } from '@reservoir0x/reservoir-sdk'\nimport useReservoirClient from './useReservoirClient'\nimport { SWRInfiniteConfiguration } from 'swr/infinite'\nimport useInfiniteApi from './useInfiniteApi'\n\ntype Asks = paths['/users/{user}/asks/v1']['get']['responses']['200']['schema']\ntype AsksQuery = paths['/users/{user}/asks/v1']['get']['parameters']['query']\n\nexport default function (\n  address?: string,\n  options?: AsksQuery,\n  swrOptions: SWRInfiniteConfiguration = {},\n  enabled: boolean = true,\n  chainId?: number\n) {\n  const client = useReservoirClient()\n  const chain =\n    chainId !== undefined\n      ? client?.chains.find((chain) => chain.id === chainId)\n      : client?.currentChain()\n\n  const response = useInfiniteApi<Asks>(\n    (pageIndex, previousPageData) => {\n      if (!enabled || !address) {\n        return null\n      }\n\n      const url = new URL(`${chain?.baseApiUrl || ''}/users/${address}/asks/v1`)\n      let query: AsksQuery = options || {}\n\n      if (\n        query.normalizeRoyalties === undefined &&\n        client?.normalizeRoyalties !== undefined\n      ) {\n        query.normalizeRoyalties = client.normalizeRoyalties\n      }\n\n      if (previousPageData && !previousPageData.continuation) {\n        return null\n      } else if (previousPageData && pageIndex > 0) {\n        query.continuation = previousPageData.continuation\n      }\n\n      setParams(url, query)\n      return [url.href, client?.apiKey, client?.version]\n    },\n    {\n      revalidateOnMount: true,\n      revalidateFirstPage: false,\n      ...swrOptions,\n    }\n  )\n\n  const listings = response.data?.flatMap((page) => page.orders || []) ?? []\n\n  return {\n    ...response,\n    data: listings,\n  }\n}\n","import useSWR from 'swr'\nimport { axios, paths } from '@reservoir0x/reservoir-sdk'\nimport { useReservoirClient } from './'\n\ntype SolverCapacityResponse =\n  paths['/execute/solve/capacity/v2']['post']['responses']['200']['schema']\n\nexport default function (chainId?: number, enabled: boolean = true) {\n  const client = useReservoirClient()\n  const chain =\n    chainId !== undefined\n      ? client?.chains.find((chain) => chain.id === chainId)\n      : client?.currentChain()\n\n  const { data, error } = useSWR<SolverCapacityResponse>(\n    chain && enabled ? `${chain?.baseApiUrl}/execute/solve/capacity/v2` : null,\n    async (url) => {\n      try {\n        const response = await axios.post(url, {\n          kind: 'cross-chain-intent',\n        })\n        return response.data\n      } catch (error) {\n        console.error('Error fetching solver capacity:', error)\n        return undefined\n      }\n    },\n    {\n      revalidateOnFocus: false,\n    }\n  )\n\n  return {\n    data,\n    isError: !!error,\n    isLoading: !data && !error,\n  }\n}\n","import { paths, setParams } from '@reservoir0x/reservoir-sdk'\nimport { SWRInfiniteConfiguration } from 'swr/infinite'\nimport { useInfiniteApi, useReservoirClient } from './'\n\ntype TokenActivityQuery =\n  paths['/tokens/{token}/activity/v5']['get']['parameters']['query']\n\ntype TokenActivityResponse =\n  paths['/tokens/{token}/activity/v5']['get']['responses']['200']['schema']\n\nexport default function (\n  token: string,\n  options?: TokenActivityQuery | false,\n  swrOptions: SWRInfiniteConfiguration = {},\n  chainId?: number\n) {\n  const client = useReservoirClient()\n  const chain =\n    chainId !== undefined\n      ? client?.chains.find((chain) => chain.id === chainId)\n      : client?.currentChain()\n\n  const response = useInfiniteApi<TokenActivityResponse>(\n    (pageIndex, previousPageData) => {\n      if (!token) {\n        return null\n      }\n\n      const url = new URL(`${chain?.baseApiUrl}/tokens/${token}/activity/v5`)\n\n      let query: TokenActivityQuery = { ...options }\n\n      if (previousPageData && !previousPageData.continuation) {\n        return null\n      } else if (previousPageData && pageIndex > 0) {\n        query.continuation = previousPageData.continuation\n      }\n\n      setParams(url, query)\n\n      return [url.href, client?.apiKey, client?.version]\n    },\n    {\n      revalidateOnMount: true,\n      revalidateFirstPage: false,\n      ...swrOptions,\n    }\n  )\n\n  const activities =\n    response.data?.flatMap((page) => page.activities || []) ?? []\n\n  return {\n    ...response,\n    data: activities,\n  }\n}\n","import { paths, setParams } from '@reservoir0x/reservoir-sdk'\nimport useSWR, { SWRConfiguration } from 'swr'\nimport { useReservoirClient } from './'\n\ntype TrendingCollectionsResponse =\n  paths['/collections/trending/v1']['get']['responses']['200']['schema']\n\ntype TrendingCollectionsQuery =\n  paths['/collections/trending/v1']['get']['parameters']['query']\n\nexport default function (\n  options: TrendingCollectionsQuery | false,\n  chainId?: number,\n  swrOptions: SWRConfiguration = {}\n) {\n  const client = useReservoirClient()\n  const chain =\n    chainId !== undefined\n      ? client?.chains.find((chain) => chain.id === chainId)\n      : client?.currentChain()\n\n  const url = new URL(`${chain?.baseApiUrl}/collections/trending/v1`)\n  let query: TrendingCollectionsQuery = { ...options }\n\n  setParams(url, query)\n\n  const { data, mutate, error, isValidating, isLoading } =\n    useSWR<TrendingCollectionsResponse>(\n      url && options ? [url.href, client?.apiKey, client?.version] : null,\n      null,\n      {\n        revalidateOnMount: true,\n        ...swrOptions,\n      }\n    )\n\n  const collections: TrendingCollectionsResponse['collections'] | null =\n    data && data.collections ? data.collections : null\n  return {\n    response: data,\n    data: collections,\n    mutate,\n    error,\n    isValidating,\n    isLoading,\n  }\n}\n","import { paths, setParams } from '@reservoir0x/reservoir-sdk'\nimport useSWR, { SWRConfiguration } from 'swr'\nimport { useReservoirClient } from './'\n\ntype TrendingMintsResponse =\n  paths['/collections/trending-mints/v1']['get']['responses']['200']['schema']\n\ntype TrendingMintsQuery =\n  paths['/collections/trending-mints/v1']['get']['parameters']['query']\n\nexport default function (\n  options: TrendingMintsQuery | false,\n  chainId?: number,\n  swrOptions: SWRConfiguration = {}\n) {\n  const client = useReservoirClient()\n  const chain =\n    chainId !== undefined\n      ? client?.chains.find((chain) => chain.id === chainId)\n      : client?.currentChain()\n\n  const url = new URL(`${chain?.baseApiUrl}/collections/trending-mints/v1`)\n  let query: TrendingMintsQuery = { ...options }\n\n  setParams(url, query)\n\n  const { data, mutate, error, isValidating, isLoading } =\n    useSWR<TrendingMintsResponse>(\n      url && options ? [url.href, client?.apiKey, client?.version] : null,\n      null,\n      {\n        revalidateOnMount: true,\n        ...swrOptions,\n      }\n    )\n\n  const mints: TrendingMintsResponse['mints'] | null =\n    data && data.mints ? data.mints : null\n  return { response: data, data: mints, mutate, error, isValidating, isLoading }\n}\n","import { paths, setParams } from '@reservoir0x/reservoir-sdk'\nimport { SWRInfiniteConfiguration } from 'swr/infinite'\nimport { useInfiniteApi, useReservoirClient } from './'\nimport { useMemo } from 'react'\nimport { Address } from 'viem'\n\ntype Bids = paths['/users/{user}/bids/v1']['get']['responses']['200']['schema']\ntype BidsQuery = paths['/users/{user}/bids/v1']['get']['parameters']['query']\n\nexport default function (\n  address?: Address,\n  options?: BidsQuery,\n  swrOptions: SWRInfiniteConfiguration = {},\n  enabled: boolean = true,\n  chainId?: number\n) {\n  const client = useReservoirClient()\n\n  const response = useInfiniteApi<Bids>(\n    (pageIndex, previousPageData) => {\n      if (!enabled) {\n        return null\n      }\n\n      const chain =\n        chainId !== undefined\n          ? client?.chains.find((chain) => chain.id === chainId)\n          : client?.currentChain()\n\n      const url = new URL(`${chain?.baseApiUrl || ''}/users/${address}/bids/v1`)\n      let query = options || {}\n\n      if (\n        query.normalizeRoyalties === undefined &&\n        client?.normalizeRoyalties !== undefined\n      ) {\n        query.normalizeRoyalties = client?.normalizeRoyalties\n      }\n\n      if (previousPageData && !previousPageData.continuation) {\n        return null\n      } else if (previousPageData && pageIndex > 0) {\n        query.continuation = previousPageData.continuation\n      }\n\n      setParams(url, query)\n      return [url.href, client?.apiKey, client?.version]\n    },\n    {\n      revalidateOnMount: true,\n      revalidateFirstPage: false,\n      ...swrOptions,\n    }\n  )\n\n  const bids = useMemo(\n    () => response.data?.flatMap((page) => page.orders || []) ?? [],\n    [response.data]\n  )\n\n  return {\n    ...response,\n    data: bids,\n  }\n}\n","import { paths, setParams } from '@reservoir0x/reservoir-sdk'\nimport { useReservoirClient, useInfiniteApi } from './'\nimport { SWRInfiniteConfiguration } from 'swr/infinite'\n\ntype UserCollections =\n  paths['/users/{user}/collections/v4']['get']['responses']['200']['schema']\ntype UserCollectionsQuery =\n  paths['/users/{user}/collections/v4']['get']['parameters']['query']\n\nexport default function (\n  user?: string,\n  options?: UserCollectionsQuery,\n  swrOptions: SWRInfiniteConfiguration = {},\n  chainId?: number\n) {\n  const client = useReservoirClient()\n  const chain =\n    chainId !== undefined\n      ? client?.chains.find((chain) => chain.id === chainId)\n      : client?.currentChain()\n\n  let defaultLimit = 20\n\n  const response = useInfiniteApi<UserCollections>(\n    (pageIndex, previousPageData) => {\n      if (!user) {\n        return null\n      }\n      const url = new URL(\n        `${chain?.baseApiUrl || ''}/users/${user}/collections/v4`\n      )\n      let query: UserCollectionsQuery = {\n        offset: pageIndex * (options?.limit || defaultLimit),\n        limit: options?.limit || defaultLimit,\n        ...options,\n      }\n\n      if (\n        previousPageData?.collections &&\n        previousPageData?.collections?.length === 0\n      ) {\n        return null\n      }\n\n      setParams(url, query)\n      return [url.href, client?.apiKey, client?.version]\n    },\n    {\n      revalidateOnMount: true,\n      revalidateFirstPage: false,\n      ...swrOptions,\n    },\n    options?.limit || defaultLimit\n  )\n\n  const collections =\n    response.data?.flatMap((page) => page.collections || []) ?? []\n\n  return {\n    ...response,\n    data: collections,\n  }\n}\n","import { paths, setParams } from '@reservoir0x/reservoir-sdk'\nimport { useReservoirClient, useInfiniteApi } from './'\nimport { SWRInfiniteConfiguration } from 'swr/infinite'\n\ntype UsersActivityResponse =\n  paths['/users/activity/v6']['get']['responses']['200']['schema']\n\ntype UsersActivityBaseQuery =\n  paths['/users/activity/v6']['get']['parameters']['query']\n\ntype UsersQuery = UsersActivityBaseQuery['users'] | undefined\ntype UsersActivityQuery = Omit<UsersActivityBaseQuery, 'users'>\n\nexport default function (\n  users?: UsersQuery,\n  options?: UsersActivityQuery | false,\n  swrOptions: SWRInfiniteConfiguration = {},\n  chainId?: number\n) {\n  const client = useReservoirClient()\n  const chain =\n    chainId !== undefined\n      ? client?.chains.find((chain) => chain.id === chainId)\n      : client?.currentChain()\n\n  const response = useInfiniteApi<UsersActivityResponse>(\n    (pageIndex, previousPageData) => {\n      if (!users) {\n        return null\n      }\n\n      const url = new URL(`${chain?.baseApiUrl}/users/activity/v6`)\n\n      let query: UsersActivityBaseQuery = { ...options, users }\n\n      if (previousPageData && !previousPageData.continuation) {\n        return null\n      } else if (previousPageData && pageIndex > 0) {\n        query.continuation = previousPageData.continuation\n      }\n\n      setParams(url, query)\n\n      return [url.href, client?.apiKey, client?.version]\n    },\n    {\n      revalidateOnMount: true,\n      revalidateFirstPage: false,\n      ...swrOptions,\n    }\n  )\n\n  const activities =\n    response.data?.flatMap((page) => page.activities || []) ?? []\n\n  return {\n    ...response,\n    data: activities,\n  }\n}\n","import { paths, setParams } from '@reservoir0x/reservoir-sdk'\nimport { useReservoirClient, useInfiniteApi } from './'\nimport { SWRInfiniteConfiguration } from 'swr/infinite'\n\ntype UserTokenResponse =\n  paths['/users/{user}/tokens/v10']['get']['responses']['200']['schema']\n\ntype UserTokenQuery =\n  paths['/users/{user}/tokens/v10']['get']['parameters']['query']\n\nexport default function (\n  user?: string | undefined,\n  options?: UserTokenQuery | false,\n  swrOptions: SWRInfiniteConfiguration = {},\n  chainId?: number\n) {\n  const client = useReservoirClient()\n  const chain =\n    chainId !== undefined\n      ? client?.chains.find((chain) => chain.id === chainId)\n      : client?.currentChain()\n\n  const response = useInfiniteApi<UserTokenResponse>(\n    (pageIndex, previousPageData) => {\n      if (!user) {\n        return null\n      }\n\n      const url = new URL(`${chain?.baseApiUrl}/users/${user}/tokens/v10`)\n\n      let query: UserTokenQuery = { ...options }\n\n      if (previousPageData && !previousPageData.continuation) {\n        return null\n      } else if (previousPageData && pageIndex > 0) {\n        query.continuation = previousPageData.continuation\n      }\n\n      if (\n        query.normalizeRoyalties === undefined &&\n        client?.normalizeRoyalties !== undefined\n      ) {\n        query.normalizeRoyalties = client.normalizeRoyalties\n      }\n\n      setParams(url, query)\n\n      return [url.href, client?.apiKey, client?.version]\n    },\n    {\n      revalidateOnMount: true,\n      revalidateFirstPage: false,\n      ...swrOptions,\n    }\n  )\n\n  const tokens = response.data?.flatMap((page) => page.tokens || []) ?? []\n\n  return {\n    ...response,\n    data: tokens,\n  }\n}\n","import { paths, setParams } from '@reservoir0x/reservoir-sdk'\nimport { useReservoirClient, useInfiniteApi } from './'\nimport { SWRInfiniteConfiguration } from 'swr/infinite'\n\ntype Bids =\n  paths['/orders/users/{user}/top-bids/v4']['get']['responses']['200']['schema']\ntype BidsQuery =\n  paths['/orders/users/{user}/top-bids/v4']['get']['parameters']['query']\n\nexport default function (\n  user?: string,\n  options?: BidsQuery,\n  swrOptions: SWRInfiniteConfiguration = {},\n  chainId?: number\n) {\n  const client = useReservoirClient()\n  const chain =\n    chainId !== undefined\n      ? client?.chains.find((chain) => chain.id === chainId)\n      : client?.currentChain()\n\n  const response = useInfiniteApi<Bids>(\n    (pageIndex, previousPageData) => {\n      if (!user) {\n        return null\n      }\n      const url = new URL(\n        `${chain?.baseApiUrl || ''}/orders/users/${user}/top-bids/v4`\n      )\n      let query: BidsQuery = options || {}\n\n      if (previousPageData && !previousPageData.continuation) {\n        return null\n      } else if (previousPageData && pageIndex > 0) {\n        query.continuation = previousPageData.continuation\n      }\n\n      if (\n        query.normalizeRoyalties === undefined &&\n        client?.normalizeRoyalties !== undefined\n      ) {\n        query.normalizeRoyalties = client.normalizeRoyalties\n      }\n\n      setParams(url, query)\n      return [url.href, client?.apiKey, client?.version]\n    },\n    {\n      revalidateOnMount: true,\n      revalidateFirstPage: false,\n      ...swrOptions,\n    }\n  )\n\n  const bids = response.data?.flatMap((page) => page.topBids || []) ?? []\n\n  return {\n    ...response,\n    data: bids,\n  }\n}\n","import {\n  red,\n  indigo,\n  indigoA,\n  gray,\n  whiteA,\n  blackA,\n  green,\n} from '@radix-ui/colors'\nimport {\n  sharedThemeConfig,\n  ReservoirKitTheme,\n  ReservoirKitOverrides,\n} from './ReservoirKitTheme'\n\nexport default function (overrides?: ReservoirKitOverrides): ReservoirKitTheme {\n  let sharedTheme = sharedThemeConfig(overrides)\n\n  return {\n    colors: {\n      ...indigo,\n      ...indigoA,\n      ...red,\n      ...gray,\n      ...blackA,\n      ...whiteA,\n      ...green,\n\n      // accent colors\n      accentBase: '$indigo1',\n      accentBgSubtle: '$indigo2',\n      accentBg: '$indigo3',\n      accentBgHover: '$indigo4',\n      accentBgActive: '$indigo5',\n      accentLine: '$indigo6',\n      accentBorder: '$indigo7',\n      accentBorderHover: overrides?.primaryColor || '$indigo8',\n      accentSolid: overrides?.primaryColor || '$indigo9',\n      accentSolidHover:\n        overrides?.primaryHoverColor || overrides?.primaryColor || '$indigo10',\n      accentText: '$indigo11',\n      accentTextContrast: '$indigo12',\n\n      // neutral colors\n      neutralBase: '$gray1',\n      neutralBgSubtle: 'white',\n      neutralBg: '$gray3',\n      neutralBgHover: '$gray2',\n      neutralBgActive: '$gray5',\n      neutralLine: '$gray6',\n      neutralBorder: '$gray7',\n      neutralBorderHover: '$gray8',\n      neutralSolid: '$gray9',\n      neutralSolidHover: '$gray10',\n      neutralText: '$gray11',\n      neutralTextContrast: '$gray12',\n\n      // secondary colors\n      secondaryBase: '$indigoA1',\n      secondaryBgSubtle: '$indigoA2',\n      secondaryBg: '$indigoA3',\n      secondaryBgHover: '$indigoA4',\n      secondaryBgActive: '$indigoA5',\n      secondaryLine: '$indigoA6',\n      secondaryBorder: '$indigoA7',\n      secondaryBorderHover: '$indigoA8',\n      secondarySolid: '$indigoA9',\n      secondarySolidHover: '$indigoA10',\n      secondaryText: '$indigoA11',\n      secondaryTextContrast: '$indigoA12',\n\n      // general colors\n      borderColor: overrides?.borderColor || '$neutralBorder',\n      textColor: overrides?.textColor || '$neutralTextContrast',\n      focusColor: '$neutralTextContrast',\n      errorText: '$red12',\n      errorAccent: '$red10',\n      successAccent: '$green10',\n\n      // component colors\n      reservoirLogoColor: '#11181C',\n      buttonTextColor: overrides?.buttonTextColor || 'white',\n      buttonTextHoverColor: overrides?.buttonTextHoverColor || 'white',\n      inputBackground: '$neutralBgHover',\n      overlayBackground: overrides?.overlayBackground || '$blackA10',\n      headerBackground: overrides?.headerBackground || '$neutralBgHover',\n      footerBackground: overrides?.footerBackground || '$neutralBgHover',\n      contentBackground: overrides?.contentBackground || '$neutralBgSubtle',\n      wellBackground: overrides?.wellBackground || '$gray3',\n      popoverBackground: overrides?.popoverBackground || '$neutralBase',\n    },\n    assets: {\n      ethIcon: overrides?.ethIcon || 'gray',\n      chainIcon: overrides?.chainIcon || 'light',\n    },\n    ...sharedTheme,\n  }\n}\n","import React, {\n  ComponentPropsWithoutRef,\n  Dispatch,\n  ReactElement,\n  SetStateAction,\n  useContext,\n  useEffect,\n} from 'react'\nimport { useFallbackState, useReservoirClient } from '../../hooks'\nimport {\n  Flex,\n  Box,\n  Text,\n  Anchor,\n  Button,\n  FormatCryptoCurrency,\n  Loader,\n  ErrorWell,\n  CryptoCurrencyIcon,\n} from '../../primitives'\nimport Progress from '../Progress'\nimport { Modal } from '../Modal'\nimport { faCircleExclamation } from '@fortawesome/free-solid-svg-icons/faCircleExclamation'\nimport { faCheckCircle } from '@fortawesome/free-solid-svg-icons/faCheckCircle'\nimport { faChevronLeft } from '@fortawesome/free-solid-svg-icons/faChevronLeft'\nimport { faChevronDown } from '@fortawesome/free-solid-svg-icons/faChevronDown'\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { BuyModalRenderer, BuyStep, BuyModalStepData } from './BuyModalRenderer'\nimport {\n  BuyTokenBodyParameters,\n  Execute,\n  ReservoirWallet,\n} from '@reservoir0x/reservoir-sdk'\nimport ProgressBar from '../ProgressBar'\nimport QuantitySelector from '../QuantitySelector'\nimport { formatNumber } from '../../lib/numbers'\nimport { ProviderOptionsContext } from '../../ReservoirKitProvider'\nimport { truncateAddress } from '../../lib/truncate'\nimport { SelectPaymentToken } from '../SelectPaymentToken'\nimport { WalletClient } from 'viem'\nimport getChainBlockExplorerUrl from '../../lib/getChainBlockExplorerUrl'\nimport { Dialog } from '../../primitives/Dialog'\nimport { TokenInfo, PaymentDetails } from '../../common'\n\ntype PurchaseData = {\n  token?: string\n  maker?: string\n  steps?: Execute['steps']\n}\n\nconst ModalCopy = {\n  titleInsufficientFunds: 'Add Funds',\n  titleDefault: 'Buy',\n  ctaClose: 'Close',\n  ctaCheckout: 'Checkout',\n  ctaConnect: 'Connect',\n  ctaInsufficientFunds: 'Add Funds',\n  ctaGoToToken: '',\n  ctaAwaitingValidation: 'Waiting for transaction to be validated',\n  ctaAwaitingApproval: 'Waiting for approval...',\n  ctaCopyAddress: 'Copy Wallet Address',\n}\n\ntype Props = Pick<Parameters<typeof Modal>['0'], 'trigger'> & {\n  openState?: [boolean, Dispatch<SetStateAction<boolean>>]\n  token?: string\n  orderId?: string\n  creditCardCheckoutButton?: JSX.Element\n  chainId?: number\n  defaultQuantity?: number\n  feesOnTopBps?: string[] | null\n  feesOnTopUsd?: string[] | null\n  normalizeRoyalties?: boolean\n  copyOverrides?: Partial<typeof ModalCopy>\n  walletClient?: ReservoirWallet | WalletClient\n  executeBuyOptions?: Omit<\n    NonNullable<BuyTokenBodyParameters>,\n    'items' | 'feesOnTop' | 'taker'\n  >\n  promptPaymentMethod?: boolean\n  onConnectWallet: () => void\n  onGoToToken?: () => any\n  onPurchaseComplete?: (data: PurchaseData) => void\n  onPurchaseError?: (error: Error, data: PurchaseData) => void\n  onClose?: (\n    data: PurchaseData,\n    stepData: BuyModalStepData | null,\n    currentStep: BuyStep\n  ) => void\n  onPointerDownOutside?: ComponentPropsWithoutRef<\n    typeof Dialog\n  >['onPointerDownOutside']\n}\n\nexport function BuyModal({\n  openState,\n  trigger,\n  token,\n  orderId,\n  chainId,\n  feesOnTopBps,\n  feesOnTopUsd,\n  normalizeRoyalties,\n  defaultQuantity,\n  copyOverrides,\n  walletClient,\n  executeBuyOptions,\n  promptPaymentMethod,\n  onConnectWallet,\n  onPurchaseComplete,\n  onPurchaseError,\n  onClose,\n  onGoToToken,\n  onPointerDownOutside,\n  creditCardCheckoutButton,\n}: Props): ReactElement {\n  const copy: typeof ModalCopy = { ...ModalCopy, ...copyOverrides }\n  const [open, setOpen] = useFallbackState(\n    openState ? openState[0] : false,\n    openState\n  )\n\n  const client = useReservoirClient()\n\n  const currentChain = client?.currentChain()\n\n  const modalChain = chainId\n    ? client?.chains.find(({ id }) => id === chainId) || currentChain\n    : currentChain\n\n  const providerOptions = useContext(ProviderOptionsContext)\n\n  return (\n    <BuyModalRenderer\n      chainId={modalChain?.id}\n      open={open}\n      defaultQuantity={defaultQuantity}\n      token={token}\n      orderId={orderId}\n      feesOnTopBps={feesOnTopBps}\n      feesOnTopUsd={feesOnTopUsd}\n      normalizeRoyalties={normalizeRoyalties}\n      walletClient={walletClient}\n      executeBuyOptions={executeBuyOptions}\n      onConnectWallet={onConnectWallet}\n    >\n      {({\n        loading,\n        isFetchingPath,\n        tokenData,\n        collection,\n        quantityAvailable,\n        quantity,\n        averageUnitPrice,\n        totalIncludingFees,\n        buyResponseFees,\n        feeOnTop,\n        paymentCurrency,\n        paymentTokens,\n        buyStep,\n        transactionError,\n        hasEnoughCurrency,\n        hasAuxiliaryFundsSupport,\n        addFundsLink,\n        steps,\n        stepData,\n        feeUsd,\n        totalUsd,\n        usdPrice,\n        balance,\n        address,\n        blockExplorerBaseName,\n        isConnected,\n        isOwner,\n        setPaymentCurrency,\n        setQuantity,\n        setBuyStep,\n        buyToken,\n      }) => {\n        useEffect(() => {\n          if (buyStep === BuyStep.Complete && onPurchaseComplete) {\n            const data: PurchaseData = {\n              token,\n              maker: address,\n            }\n            if (steps) {\n              data.steps = steps\n            }\n            onPurchaseComplete(data)\n          }\n        }, [buyStep])\n\n        useEffect(() => {\n          if (transactionError && onPurchaseError) {\n            const data: PurchaseData = {\n              token,\n              maker: address,\n            }\n            onPurchaseError(transactionError, data)\n          }\n        }, [transactionError])\n\n        const executableSteps =\n          steps?.filter((step) => step.items && step.items.length > 0) || []\n        const lastStepItems =\n          executableSteps[executableSteps.length - 1]?.items || []\n\n        const totalPurchases =\n          stepData?.currentStep?.items?.reduce((total, item) => {\n            item.transfersData?.forEach((transferData) => {\n              total += Number(transferData.amount || 1)\n            })\n            return total\n          }, 0) || 0\n\n        const failedPurchases = quantity - totalPurchases\n        const successfulPurchases = quantity - failedPurchases\n        const finalTxHashes = lastStepItems[lastStepItems.length - 1]?.txHashes\n\n        return (\n          <Modal\n            trigger={trigger}\n            title={copy.titleDefault}\n            open={open}\n            onPointerDownOutside={(e) => {\n              const dismissableLayers = Array.from(\n                document.querySelectorAll('div[data-radix-dismissable]')\n              )\n              const clickedDismissableLayer = dismissableLayers.some((el) =>\n                e.target ? el.contains(e.target as Node) : false\n              )\n\n              if (!clickedDismissableLayer && dismissableLayers.length > 0) {\n                e.preventDefault()\n              }\n              if (onPointerDownOutside) {\n                onPointerDownOutside(e)\n              }\n            }}\n            onOpenChange={(open) => {\n              if (!open && onClose) {\n                const data: PurchaseData = {\n                  token,\n                  maker: address,\n                }\n                onClose(data, stepData, buyStep)\n              }\n              setOpen(open)\n            }}\n            loading={loading}\n          >\n            {buyStep === BuyStep.Unavailable && !loading && (\n              <Flex direction=\"column\">\n                <Flex\n                  direction=\"column\"\n                  align=\"center\"\n                  css={{ py: '$6', px: '$4', gap: '$3' }}\n                >\n                  <Text style=\"h6\" css={{ textAlign: 'center' }}>\n                    {isOwner\n                      ? 'You already own this token.'\n                      : 'Item is no longer available.'}\n                  </Text>\n                </Flex>\n                <Button\n                  onClick={() => {\n                    setOpen(false)\n                  }}\n                  css={{ m: '$4' }}\n                >\n                  {copy.ctaClose}\n                </Button>\n              </Flex>\n            )}\n\n            {buyStep === BuyStep.SelectPayment && (\n              <Flex direction=\"column\" css={{ pb: 20 }}>\n                <Flex align=\"center\" css={{ gap: '$2' }}>\n                  <Button\n                    onClick={() => setBuyStep(BuyStep.Checkout)}\n                    color=\"ghost\"\n                    size=\"xs\"\n                    css={{ color: '$neutralSolidHover' }}\n                  >\n                    <FontAwesomeIcon icon={faChevronLeft} width={10} />\n                  </Button>\n                  <Text style=\"subtitle2\">Select Payment Method</Text>\n                </Flex>\n                <SelectPaymentToken\n                  paymentTokens={paymentTokens}\n                  currency={paymentCurrency}\n                  setCurrency={setPaymentCurrency}\n                  goBack={() => setBuyStep(BuyStep.Checkout)}\n                  itemAmount={quantity}\n                  chainId={modalChain?.id || 1}\n                />\n              </Flex>\n            )}\n\n            {buyStep === BuyStep.Checkout && !loading && (\n              <Flex direction=\"column\">\n                {transactionError && <ErrorWell error={transactionError} />}\n                <TokenInfo\n                  token={tokenData}\n                  chain={modalChain}\n                  collection={collection}\n                  css={{ p: '$4' }}\n                />\n                {quantityAvailable > 1 && (\n                  <Flex css={{ p: '$4' }} justify=\"between\">\n                    <Flex direction=\"column\" css={{ gap: '$1' }}>\n                      <Text style=\"body3\">Quantity</Text>\n                      <Text style=\"body3\" color=\"subtle\">\n                        {formatNumber(quantityAvailable)} items available\n                      </Text>\n                    </Flex>\n                    <QuantitySelector\n                      min={1}\n                      max={quantityAvailable}\n                      quantity={quantity}\n                      setQuantity={(quantity) => {\n                        setQuantity(quantity)\n                      }}\n                    />\n                  </Flex>\n                )}\n                <Flex\n                  direction=\"column\"\n                  css={{\n                    pb: '$2',\n                    borderTop: '1px solid $neutralBorder',\n                  }}\n                >\n                  {paymentTokens.length > 1 ? (\n                    <Flex\n                      direction=\"column\"\n                      css={{\n                        gap: '$2',\n                        py: '$3',\n                        px: '$4',\n                        borderRadius: '$3',\n                        borderBottom: '1px solid $neutralBorder',\n                        '&:hover': {\n                          backgroundColor: '$neutralBgHover',\n                        },\n                      }}\n                      onClick={() => setBuyStep(BuyStep.SelectPayment)}\n                    >\n                      <Flex\n                        justify=\"between\"\n                        align=\"center\"\n                        css={{\n                          gap: '$1',\n                        }}\n                      >\n                        <Text style=\"subtitle2\">Select Payment Method</Text>\n                        <Flex\n                          align=\"center\"\n                          css={{ gap: '$2', cursor: 'pointer' }}\n                        >\n                          <Flex align=\"center\">\n                            <CryptoCurrencyIcon\n                              address={paymentCurrency?.address as string}\n                              chainId={paymentCurrency?.chainId}\n                              css={{ width: 16, height: 16, mr: '$1' }}\n                            />\n                            <Text style=\"subtitle2\">\n                              {paymentCurrency?.name}\n                            </Text>\n                          </Flex>\n                          <Box css={{ color: '$neutralSolidHover' }}>\n                            <FontAwesomeIcon icon={faChevronDown} width={10} />\n                          </Box>\n                        </Flex>\n                      </Flex>\n                    </Flex>\n                  ) : null}\n                  <PaymentDetails\n                    feeOnTop={feeOnTop}\n                    feeUsd={feeUsd}\n                    crosschainFees={buyResponseFees}\n                    chainId={modalChain?.id}\n                    paymentCurrency={paymentCurrency}\n                    loading={isFetchingPath}\n                    css={{ pt: '$4' }}\n                  />\n                </Flex>\n\n                <Box css={{ p: '$4', width: '100%' }}>\n                  {hasEnoughCurrency ||\n                  !isConnected ||\n                  hasAuxiliaryFundsSupport ? (\n                    <>\n                      <Button\n                        disabled={\n                          !hasEnoughCurrency &&\n                          !hasAuxiliaryFundsSupport &&\n                          isConnected\n                        }\n                        onClick={buyToken}\n                        css={{ width: '100%' }}\n                        color=\"primary\"\n                      >\n                        {!isConnected ? copy.ctaConnect : copy.ctaCheckout}\n                      </Button>\n                      {creditCardCheckoutButton && creditCardCheckoutButton}\n                    </>\n                  ) : (\n                    <Flex direction=\"column\" align=\"center\">\n                      <Flex align=\"center\" css={{ mb: '$3' }}>\n                        <Text css={{ mr: '$3' }} color=\"error\" style=\"body3\">\n                          Insufficient Balance\n                          {paymentTokens.length > 1\n                            ? ', select another token or add funds'\n                            : null}\n                        </Text>\n\n                        <FormatCryptoCurrency\n                          chainId={paymentCurrency?.chainId}\n                          amount={paymentCurrency?.balance}\n                          address={paymentCurrency?.address}\n                          decimals={paymentCurrency?.decimals}\n                          symbol={paymentCurrency?.name}\n                          textStyle=\"body3\"\n                        />\n                      </Flex>\n\n                      {/* {paymentCurrency?.networkFees &&\n                      paymentCurrency?.networkFees > 0n ? (\n                        <Flex align=\"center\">\n                          <Text css={{ mr: '$3' }} color=\"error\" style=\"body3\">\n                            Estimated Gas Cost\n                          </Text>\n                          <FormatCryptoCurrency\n                            chainId={chainId}\n                            amount={paymentCurrency?.networkFees}\n                            address={paymentCurrency?.address}\n                            decimals={paymentCurrency?.decimals}\n                            symbol={paymentCurrency?.symbol}\n                            textStyle=\"body3\"\n                          />\n                        </Flex>\n                      ) : null} */}\n\n                      <Button\n                        disabled={\n                          !promptPaymentMethod &&\n                          providerOptions.disableJumperLink\n                        }\n                        onClick={() => {\n                          if (promptPaymentMethod) {\n                            setBuyStep(BuyStep.SelectPayment)\n                          } else {\n                            window.open(addFundsLink, '_blank')\n                          }\n                        }}\n                        css={{ width: '100%' }}\n                      >\n                        {!promptPaymentMethod &&\n                        providerOptions.disableJumperLink\n                          ? copy.ctaCheckout\n                          : copy.ctaInsufficientFunds}\n                      </Button>\n                    </Flex>\n                  )}\n                </Box>\n              </Flex>\n            )}\n\n            {buyStep === BuyStep.Approving && token && (\n              <Flex direction=\"column\">\n                <TokenInfo\n                  token={tokenData}\n                  chain={modalChain}\n                  collection={collection}\n                  css={{ p: '$4', borderBottom: '1px solid $neutralBorder' }}\n                />\n                {stepData && stepData.totalSteps > 1 && (\n                  <ProgressBar\n                    css={{ px: '$4', mt: '$3' }}\n                    value={stepData?.stepProgress || 0}\n                    max={stepData?.totalSteps || 0}\n                  />\n                )}\n                {!stepData && <Loader css={{ height: 206 }} />}\n                {stepData && (\n                  <Progress\n                    title={stepData?.currentStep.action || ''}\n                    txHashes={stepData?.currentStepItem.txHashes}\n                  />\n                )}\n                <Button disabled={true} css={{ m: '$4' }}>\n                  <Loader />\n                  {stepData?.currentStepItem?.txHashes\n                    ? copy.ctaAwaitingValidation\n                    : copy.ctaAwaitingApproval}\n                </Button>\n              </Flex>\n            )}\n\n            {buyStep === BuyStep.Complete && token && (\n              <Flex direction=\"column\">\n                <Flex\n                  css={{\n                    p: '$4',\n                    py: '$5',\n                    flexDirection: 'column',\n                    alignItems: 'center',\n                    textAlign: 'center',\n                  }}\n                >\n                  {totalPurchases === 1 ? (\n                    <>\n                      <Text\n                        style=\"h5\"\n                        css={{ textAlign: 'center', mt: 24, mb: 24 }}\n                      >\n                        Congratulations!\n                      </Text>\n                    </>\n                  ) : (\n                    <>\n                      <Box\n                        css={{\n                          color: failedPurchases\n                            ? '$errorAccent'\n                            : '$successAccent',\n                        }}\n                      >\n                        <FontAwesomeIcon\n                          icon={\n                            failedPurchases\n                              ? faCircleExclamation\n                              : faCheckCircle\n                          }\n                          fontSize={32}\n                        />\n                      </Box>\n                      <Text\n                        style=\"h5\"\n                        css={{ textAlign: 'center', mt: 24, mb: 24 }}\n                      >\n                        {failedPurchases\n                          ? `${successfulPurchases} ${\n                              successfulPurchases > 1 ? 'items' : 'item'\n                            } purchased, ${failedPurchases} ${\n                              failedPurchases > 1 ? 'items' : 'item'\n                            } failed`\n                          : 'Congrats! Purchase was successful.'}\n                      </Text>\n                    </>\n                  )}\n                  {totalPurchases === 1 && (\n                    <img\n                      src={tokenData?.token?.imageSmall}\n                      style={{ width: 100, height: 100 }}\n                    />\n                  )}\n                  {totalPurchases > 1 && (\n                    <Flex direction=\"column\" css={{ gap: '$2' }}>\n                      {stepData?.currentStep?.items?.map((item, itemIndex) => {\n                        if (\n                          Array.isArray(item?.txHashes) &&\n                          item?.txHashes.length > 0\n                        ) {\n                          return item.txHashes.map((hash, txHashIndex) => {\n                            const truncatedTxHash = truncateAddress(hash.txHash)\n                            const blockExplorerBaseUrl =\n                              getChainBlockExplorerUrl(hash.chainId)\n                            return (\n                              <Anchor\n                                key={`${itemIndex}-${txHashIndex}`}\n                                href={`${blockExplorerBaseUrl}/tx/${hash.txHash}`}\n                                color=\"primary\"\n                                weight=\"medium\"\n                                target=\"_blank\"\n                                css={{ fontSize: 12 }}\n                              >\n                                View transaction: {truncatedTxHash}\n                              </Anchor>\n                            )\n                          })\n                        } else {\n                          return null\n                        }\n                      })}\n                    </Flex>\n                  )}\n\n                  {totalPurchases === 1 && (\n                    <>\n                      <Flex\n                        css={{ mb: 24, mt: 24, maxWidth: '100%' }}\n                        align=\"center\"\n                        justify=\"center\"\n                      >\n                        {!!tokenData?.token?.collection?.image && (\n                          <Box css={{ mr: '$1' }}>\n                            <img\n                              src={tokenData?.token?.collection?.image}\n                              style={{\n                                width: 24,\n                                height: 24,\n                                borderRadius: '50%',\n                              }}\n                            />\n                          </Box>\n                        )}\n                        <Text\n                          style=\"subtitle3\"\n                          css={{ maxWidth: '100%' }}\n                          ellipsify\n                        >\n                          {tokenData?.token?.name\n                            ? tokenData?.token?.name\n                            : `#${tokenData?.token?.tokenId}`}\n                        </Text>\n                      </Flex>\n                      <Flex css={{ mb: '$2' }} align=\"center\">\n                        <Box css={{ color: '$successAccent', mr: '$2' }}>\n                          <FontAwesomeIcon icon={faCheckCircle} />\n                        </Box>\n                        <Text style=\"body1\">\n                          Your transaction went through successfully\n                        </Text>\n                      </Flex>\n\n                      <Flex\n                        direction=\"column\"\n                        align=\"center\"\n                        css={{ gap: '$2' }}\n                      >\n                        {finalTxHashes?.map((hash, index) => {\n                          const truncatedTxHash = truncateAddress(hash.txHash)\n                          const blockExplorerBaseUrl = getChainBlockExplorerUrl(\n                            hash.chainId\n                          )\n                          return (\n                            <Anchor\n                              key={index}\n                              href={`${blockExplorerBaseUrl}/tx/${hash.txHash}`}\n                              color=\"primary\"\n                              weight=\"medium\"\n                              target=\"_blank\"\n                              css={{ fontSize: 12 }}\n                            >\n                              View transaction: {truncatedTxHash}\n                            </Anchor>\n                          )\n                        })}\n                      </Flex>\n                    </>\n                  )}\n                </Flex>\n                <Flex\n                  css={{\n                    p: '$4',\n                    flexDirection: 'column',\n                    gap: '$3',\n                    '@bp1': {\n                      flexDirection: 'row',\n                    },\n                  }}\n                >\n                  {!!onGoToToken ? (\n                    <>\n                      <Button\n                        onClick={() => {\n                          setOpen(false)\n                        }}\n                        css={{ flex: 1 }}\n                        color=\"ghost\"\n                      >\n                        {copy.ctaClose}\n                      </Button>\n                      <Button\n                        style={{ flex: 1 }}\n                        color=\"primary\"\n                        onClick={() => {\n                          onGoToToken()\n                        }}\n                      >\n                        {copy.ctaGoToToken.length > 0\n                          ? copy.ctaGoToToken\n                          : `Go to ${\n                              successfulPurchases > 1 ? 'Tokens' : 'Token'\n                            }`}\n                      </Button>\n                    </>\n                  ) : (\n                    <Button\n                      onClick={() => {\n                        setOpen(false)\n                      }}\n                      style={{ flex: 1 }}\n                      color=\"primary\"\n                    >\n                      {copy.ctaClose}\n                    </Button>\n                  )}\n                </Flex>\n              </Flex>\n            )}\n          </Modal>\n        )\n      }}\n    </BuyModalRenderer>\n  )\n}\n\nBuyModal.Custom = BuyModalRenderer\n","import { Dispatch, SetStateAction, useState } from 'react'\n\ntype useStateType<S> = [S, Dispatch<SetStateAction<S>>]\n\nconst useFallbackState = <T>(defaultValue: T, state?: useStateType<T>) => {\n  const _state = useState<T>(defaultValue)\n\n  if (state) {\n    return state\n  }\n\n  return _state\n}\n\nexport default useFallbackState\n","import React, { ElementRef, forwardRef, ComponentPropsWithoutRef } from 'react'\nimport { styled } from '../../stitches.config'\n\nexport const StyledAnchor = styled('a', {\n  backgroundColor: 'transparent',\n  cursor: 'pointer',\n  fontFamily: '$body',\n  fontSize: 16,\n  color: 'inherit',\n  textDecoration: 'inherit',\n  $$focusColor: '$colors$neutralTextContrast',\n  '&:focus-visible': {\n    color: '$neutralTextContrast',\n    outline: 'none',\n    borderRadius: 4,\n    boxShadow: '0 0 0 2px $$focusColor',\n  },\n  variants: {\n    color: {\n      primary: {\n        color: '$accentText',\n        '&:hover': {\n          color: '$accentSolidHover',\n        },\n      },\n      gray: {\n        color: '$neutralText',\n        '&:hover': {\n          color: '$accentText',\n        },\n      },\n      error: {\n        color: '$errorAccent',\n      },\n    },\n    weight: {\n      heavy: {\n        fontWeight: 700,\n      },\n      medium: {\n        fontWeight: 500,\n      },\n    },\n  },\n  defaultVariants: {\n    color: 'gray',\n    weight: 'heavy',\n  },\n})\n\nexport default forwardRef<\n  ElementRef<typeof StyledAnchor>,\n  ComponentPropsWithoutRef<typeof StyledAnchor>\n>(({ children, ...props }, forwardedRef) => (\n  <StyledAnchor ref={forwardedRef} {...props} tabIndex={0}>\n    {children}\n  </StyledAnchor>\n))\n","import { styled } from '../../stitches.config'\n\nexport default styled('div', {\n  boxSizing: 'border-box',\n  borderStyle: 'solid',\n  borderWidth: 0,\n})\n","import { styled } from '../../stitches.config'\n\nconst Button = styled('button', {\n  backgroundColor: 'transparent',\n  backgroundImage: 'none',\n  outline: 'none',\n  fontWeight: 700,\n  fontSize: 16,\n  fontFamily: '$button',\n  transition: 'background-color 250ms linear',\n  gap: '$space$2',\n  display: 'inline-flex',\n  justifyContent: 'center',\n  color: '$buttonTextColor',\n  alignItems: 'center',\n  lineHeight: '20px',\n  $$focusColor: '$colors$focusColor',\n  cursor: 'pointer',\n  border: 0,\n  borderWidth: 0,\n  '&:focus-visible': {\n    boxShadow: '0 0 0 2px $$focusColor',\n  },\n  '&:disabled': {\n    backgroundColor: '$neutralBorder',\n    color: '$neutralText',\n  },\n  '&:disabled:hover': {\n    backgroundColor: '$neutralBorderHover',\n    color: '$neutralText',\n  },\n  variants: {\n    color: {\n      primary: {\n        backgroundColor: '$accentSolid',\n        color: '$buttonTextColor',\n        '&:hover': {\n          backgroundColor: '$accentSolidHover',\n          color: '$buttonTextHoverColor',\n        },\n      },\n      secondary: {\n        backgroundColor: '$neutralBgHover',\n        color: '$textColor',\n        '&:hover': {\n          backgroundColor: '$neutralBgActive',\n        },\n      },\n      ghost: {\n        backgroundColor: 'transparent',\n        p: 0,\n      },\n    },\n    corners: {\n      rounded: {\n        borderRadius: '$borderRadius',\n      },\n      pill: {\n        borderRadius: 99999,\n      },\n      circle: {\n        borderRadius: '99999px',\n        alignItems: 'center',\n        justifyContent: 'center',\n      },\n    },\n    size: {\n      none: {},\n      xs: {\n        p: '$space$3',\n        lineHeight: '16px',\n        minHeight: 40,\n      },\n      small: {\n        px: '$space$3',\n        py: '$space$4',\n        lineHeight: '12px',\n        minHeight: 44,\n      },\n      medium: {\n        px: '$space$5',\n        py: '$space$3',\n        minHeight: 44,\n      },\n      large: {\n        px: '$space$5',\n        py: '$space$4',\n        minHeight: 52,\n      },\n    },\n  },\n  compoundVariants: [\n    {\n      size: 'xs',\n      corners: 'circle',\n      css: {\n        height: 40,\n        width: 40,\n        p: 0,\n      },\n    },\n    {\n      size: 'small',\n      corners: 'circle',\n      css: {\n        height: 44,\n        width: 44,\n        p: 0,\n      },\n    },\n    {\n      size: 'medium',\n      corners: 'circle',\n      css: {\n        height: 44,\n        width: 44,\n        p: 0,\n      },\n    },\n    {\n      size: 'large',\n      corners: 'circle',\n      css: {\n        height: 52,\n        width: 52,\n        p: 0,\n      },\n    },\n  ],\n  defaultVariants: {\n    color: 'primary',\n    corners: 'rounded',\n    size: 'medium',\n  },\n})\n\nexport default Button\n","import EthLogo from './EthLogo'\nimport React, { FC } from 'react'\nimport { useReservoirClient, useChainCurrency } from '../hooks/index'\nimport { zeroAddress } from 'viem'\nimport { styled } from '../../stitches.config'\nimport { StyledComponent } from '@stitches/react/types/styled-component'\nimport Box from './Box'\nimport wrappedContracts from '../constants/wrappedContracts'\nimport WEthIcon from '../img/WEthIcon'\nimport { customChains } from '@reservoir0x/reservoir-sdk'\n\ntype Props = {\n  address: string\n  chainId?: number\n} & Parameters<StyledComponent>['0']\n\nconst StyledImg = styled('img', {})\n\nconst CryptoCurrencyIcon: FC<Props> = ({\n  address = zeroAddress,\n  chainId,\n  css,\n}) => {\n  const client = useReservoirClient()\n  const chainCurrency = useChainCurrency(chainId)\n  const chain = client?.chains.find(\n    (chain) => chain.id === chainCurrency.chainId\n  )\n\n  if (chainCurrency.symbol === 'ETH') {\n    if (\n      (chainCurrency.chainId === customChains.nebula.id &&\n        wrappedContracts[chainCurrency.chainId] === address) ||\n      zeroAddress === address\n    ) {\n      return (\n        <Box css={{ display: 'flex', ...css }}>\n          <EthLogo />\n        </Box>\n      )\n    } else if (wrappedContracts[chainCurrency.chainId] === address) {\n      return (\n        <Box css={{ display: 'flex', ...css }}>\n          <WEthIcon />\n        </Box>\n      )\n    }\n  }\n\n  return (\n    <StyledImg\n      src={`${chain?.baseApiUrl}/redirect/currency/${address}/icon/v1`}\n      css={{\n        borderRadius: '100%',\n        ...css,\n      }}\n    />\n  )\n}\n\nexport default CryptoCurrencyIcon\n","import React, { useContext } from 'react'\nimport { ThemeContext } from '../ReservoirKitProvider'\nimport { ReservoirKitThemeContext } from '../../stitches.config'\nimport EthIconGlyph from '../img/EthIconGlyph'\nimport EthIconGray from '../img/EthIconGray'\nimport EthIconPurple from '../img/EthIconPurple'\n\nconst EthLogo = () => {\n  const themeContext = useContext(ThemeContext)\n  const ethIcon: ReservoirKitThemeContext['assets']['ethIcon']['value'] =\n    themeContext && (themeContext as any)\n      ? themeContext['assets']['ethIcon']['value']\n      : 'glyph'\n\n  switch (ethIcon) {\n    case 'glyph':\n      return <EthIconGlyph />\n    case 'gray':\n      return <EthIconGray />\n    case 'purple':\n      return <EthIconPurple />\n  }\n}\n\nexport default EthLogo\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"5 0 15 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M11.9441 17.97L4.58008 13.62L11.9431 24L19.3131 13.62L11.9411 17.97H11.9441V17.97ZM12.0561 0L4.69008 12.223L12.0551 16.577L19.4201 12.227L12.0561 0Z\"\n      fill=\"black\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"5 0 15 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clipPath=\"url(#clip0_2127_56739)\">\n      <path\n        d=\"M11.9979 0L11.8369 0.546928V16.4161L11.9979 16.5767L19.3641 12.2225L11.9979 0Z\"\n        fill=\"#343434\"\n      />\n      <path\n        d=\"M11.9979 0L4.63159 12.2225L11.9979 16.5767V8.87428V0Z\"\n        fill=\"#8C8C8C\"\n      />\n      <path\n        d=\"M11.998 17.9714L11.9072 18.0821V23.7349L11.998 23.9999L19.3686 13.6195L11.998 17.9714Z\"\n        fill=\"#3C3C3B\"\n      />\n      <path\n        d=\"M11.9979 23.9999V17.9714L4.63159 13.6195L11.9979 23.9999Z\"\n        fill=\"#8C8C8C\"\n      />\n      <path\n        d=\"M11.998 16.5767L19.3642 12.2225L11.998 8.87427V16.5767Z\"\n        fill=\"#141414\"\n      />\n      <path\n        d=\"M4.63159 12.2225L11.9979 16.5767V8.87427L4.63159 12.2225Z\"\n        fill=\"#393939\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_2127_56739\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"5 0 15 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path d=\"M12.3654 8.87477V0L5 12.2224L12.3654 8.87477Z\" fill=\"#8A92B2\" />\n    <path\n      d=\"M12.3654 16.5772V8.87477L5 12.2224L12.3654 16.5772ZM12.3654 8.87477L19.7322 12.2224L12.3654 0V8.87477Z\"\n      fill=\"#62688F\"\n    />\n    <path\n      d=\"M12.3655 8.87476V16.5772L19.7322 12.2224L12.3655 8.87476Z\"\n      fill=\"#454A75\"\n    />\n    <path\n      d=\"M12.3654 17.972L5 13.6199L12.3654 23.9999V17.972Z\"\n      fill=\"#8A92B2\"\n    />\n    <path\n      d=\"M19.7363 13.6199L12.3655 17.972V23.9999L19.7363 13.6199Z\"\n      fill=\"#62688F\"\n    />\n  </svg>\n)\n","const wrappedContracts: Record<number, string> = {\n  1: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', //mainnet\n  10: '0x4200000000000000000000000000000000000006', //optimism\n  56: '0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c', //bnb\n  204: '0x4200000000000000000000000000000000000006', //opbnb\n  137: '0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270', //polygon\n  324: '0x5aea5775959fbc2557cc8789bc1bf90a239d9a91', //zksync\n  1101: '0x4f9a0e7fd2bf6067db6994cf12e4495df938e6e9', // zkEVM\n  42161: '0x82af49447d8a07e3bd95bd0d56f35241523fbab1', //arbitrum\n  42170: '0x722e8bdd2ce80a4422e880164f2079488e115365', //arbitrum nova\n  43114: '0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7', //avalance\n  59144: '0xe5d7c2a44ffddf6b295a15c148167daaaf5cf34f',\n  999: '0x8a5027ea12f45a13deb6CB96A07913c6e192BE84', //zoratestnet\n  80002: '0x0ae690aad8663aab12a671a6a0d74242332de85f', //amoy\n  8453: '0x4200000000000000000000000000000000000006', //base\n  84532: '0x4200000000000000000000000000000000000006', //base sepolia\n  534353: '0xa1EA0B2354F5A344110af2b6AD68e75545009a03', //scrolltestnet\n  534352: '0x5300000000000000000000000000000000000004', //scroll\n  7777777: '0x4200000000000000000000000000000000000006', //zora\n  11155111: '0x7b79995e5f793a07bc00c21412e50ecae098e7f9', //sepolia\n  888888888: '0x4200000000000000000000000000000000000006', //ancient8\n  28122024: '0x4200000000000000000000000000000000000006', //ancient8testnet\n  68840142: '0x822b4c4713433c6b88547845850a39343bf0957e', //frametestnet\n  168587773: '0x4200000000000000000000000000000000000023', //blast sepolia\n  70700: '0x77684A04145a5924eFCE0D92A7c4a2A2E8C359de', //apex pop\n  70800: '0xBfB86801053600dd3C7FCBa6d5E85017a64cE728', //apex pop testnet\n  81457: '0x4300000000000000000000000000000000000004', //blast\n  3776: '0xE9CC37904875B459Fa5D0FE37680d36F1ED55e38', // astar zkEVM\n  17069: '0x4200000000000000000000000000000000000006', // garnet\n  690: '0x4200000000000000000000000000000000000006', // redstone\n  80084: '0x7507c1dc16935b82698e4c63f2746a2fcf994df8', // berachain testnet\n  666666666: '0xeb54dacb4c2ccb64f8074eceea33b5ebb38e5387', // degen\n  660279: '0x3fb787101dc6be47cfe18aeee15404dcc842e6af', // xai\n  1482601649: '0xab01bad2c86e24d371a13ed6367bdca819589c5d', // nebula\n  713715: '0x48a9b22b80f566e88f0f1dcc90ea15a8a3bae8a4', // sei testnet\n  7560: '0x4200000000000000000000000000000000000006', // cyber\n  200901: '0xff204e2681a6fa0e2c3fade68a1b28fb90e4fc5f', // bitlayer\n  1329: '0xE30feDd158A2e3b13e9badaeABaFc5516e95e8C7', // sei\n  1993: '0x48a9b22b80f566e88f0f1dcc90ea15a8a3bae8a4', // b3 testnet\n  646: '0x48a9b22b80f566e88f0f1dcc90ea15a8a3bae8a4', // flow previewnet\n  70805: '0x48a9b22b80f566e88f0f1dcc90ea15a8a3bae8a4', // cloud\n  13746: '0x6b885d96916d18cd78e44b42c6489ca6f8794565', // game7 testnet\n  70701: '0x48a9b22b80f566e88f0f1dcc90ea15a8a3bae8a4', // boss\n  984122: '0xd5eace1274dbf70960714f513db207433615a263', // forma\n  984123: '0xd5eace1274dbf70960714f513db207433615a263', // forma sketchpad\n  8333: '0x4200000000000000000000000000000000000006', // b3\n  33139: '0x48b62137edfa95a428d35c09e44256a739f6b557', // apechain\n  33111: '0x8643a49363e80c7a15790703b915d1b0b6b71d56', // curtis\n  360: '0x4200000000000000000000000000000000000006', // shape\n  11011: '0x48a9b22b80f566e88f0f1dcc90ea15a8a3bae8a4', // shape sepolia\n  11124: '0x9edcde0257f2386ce177c3a7fcdd97787f0d841d', // abstract testnet\n  1946: '0x4200000000000000000000000000000000000006', // minato\n  2911: '0x2b1499d631bffb29eed7749b12cba754273d6da7', // hychain\n  29112: '0x2549584be33491340eee6762992055cda05b2581', // hychain testnet\n  747: '0xd3bf53dac106a0290b0483ecbc89d40fcc961f3e', // flow\n  543210: '0xac98b49576b1c892ba6bfae08fe1bb0d80cf599c', // zero\n  43210: '0xee6b04fcd07a54d78a7a23f353f2b4a0bfb4a78c', // zero testnet\n  2741: '0x3439153eb7af838ad19d56e1571fbd09333c2809', // abstract\n  6900: '0x164906a76f1a2ea933366c446ae0ec6a37062c42', // anime testnet\n  41454: '0x3c6dd29e612b28c10f3ee9bacf0f4af5f17b3f3e', // monad devnet\n  10143: '0x760afe86e5de5fa0ee542fc7b7b713e1c5425701', // monad testnet\n  2187: '0xfa3ed70386b9255fC04aA008A8ad1B0CDa816Fac', //game7\n  4654: '0x34AF38Ec07708dBC01C5A814fc418D3840448fce', // creator testnet\n  1868: '0x4200000000000000000000000000000000000006', // Soneium\n  1516: '0x1516000000000000000000000000000000000000', // Story Odyssey\n  57073: '0x4200000000000000000000000000000000000006', // Ink\n  80094: '0x6969696969696969696969696969696969696969', // Berachain\n  69000: '0x164906a76f1a2ea933366c446ae0ec6a37062c42', // Anime\n}\n\nexport default wrappedContracts\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 15 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path d=\"M7.49721 0L0 12.4432L7.49721 9.03511V0Z\" fill=\"#AE1955\" />\n    <path\n      d=\"M7.49721 9.03506L0 12.4432L7.49721 16.8767V9.03506Z\"\n      fill=\"#801D45\"\n    />\n    <path\n      d=\"M14.9959 12.4433L7.49731 0V9.03511L14.9959 12.4433Z\"\n      fill=\"#801D45\"\n    />\n    <path\n      d=\"M7.49731 16.8767L14.9959 12.4432L11.2466 10.7391L7.49731 9.03506V16.8767Z\"\n      fill=\"#641D3B\"\n    />\n    <path d=\"M0 13.8661L7.49721 24.4337V18.2968L0 13.8661Z\" fill=\"#AE1955\" />\n    <path\n      d=\"M7.49731 18.2968V24.4337L15.0001 13.8661L7.49731 18.2968Z\"\n      fill=\"#801D45\"\n    />\n  </svg>\n)\n","import React, { ComponentPropsWithoutRef, ReactNode } from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport Flex from './Flex'\nimport Text from './Text'\nimport { faCircleExclamation } from '@fortawesome/free-solid-svg-icons/faCircleExclamation'\nimport Anchor from './Anchor'\nimport { TransactionTimeoutError } from '@reservoir0x/reservoir-sdk'\nimport { truncateAddress } from '../lib/truncate'\n\ntype Props = {\n  error?: Error\n} & Pick<ComponentPropsWithoutRef<typeof Flex>, 'css'>\n\nexport default function ErrorWell({ error, css }: Props) {\n  let message = 'Oops, something went wrong. Please try again.'\n  let messageWithContent: ReactNode = null\n\n  const errorType = (error as any)?.type\n  const errorStatus = (error as any)?.statusCode\n  if (error) {\n    if (error?.message?.includes('rejected')) {\n      message = 'User rejected the request.'\n    } else if (errorType && errorType === 'price mismatch') {\n      message = error.message\n    } else if (\n      error.name === 'TransactionTimeoutError' &&\n      (error as TransactionTimeoutError).txHash &&\n      (error as TransactionTimeoutError).blockExplorerBaseUrl\n    ) {\n      let transactionError = error as TransactionTimeoutError\n      messageWithContent = (\n        <>\n          Your transaction was sent, but is taking longer to process.\n          <br />\n          <Anchor\n            href={`${transactionError.blockExplorerBaseUrl}/tx/${transactionError.txHash}`}\n            color=\"primary\"\n            weight=\"medium\"\n            target=\"_blank\"\n            css={{ fontSize: 12 }}\n          >\n            View on block explorer: {truncateAddress(transactionError.txHash)}\n          </Anchor>\n        </>\n      )\n    } else if (error.name === 'CrossChainTransactionError') {\n      messageWithContent = (\n        <>\n          Cross-chain purchase failed and funds have been refunded. Please try\n          again.{' '}\n          <Anchor\n            href={`https://reservoir.tools/#contact-us`}\n            color=\"primary\"\n            weight=\"medium\"\n            target=\"_blank\"\n            css={{ fontSize: 12 }}\n          >\n            Reservoir\n          </Anchor>\n          .\n        </>\n      )\n    } else if (errorStatus >= 400 && errorStatus < 500) {\n      message = error.message\n    }\n  }\n\n  return (\n    <Flex\n      css={{\n        color: '$errorAccent',\n        p: '$4',\n        gap: '$2',\n        background: '$wellBackground',\n        ...css,\n      }}\n      align=\"center\"\n    >\n      <FontAwesomeIcon icon={faCircleExclamation} width={16} height={16} />\n      <Text style=\"body3\" color=\"errorLight\">\n        {messageWithContent ? messageWithContent : message}\n      </Text>\n    </Flex>\n  )\n}\n","import { motion } from 'framer-motion'\nimport { styled } from '../../stitches.config'\n\nconst flexCss = {\n  display: 'flex',\n  boxSizing: 'border-box',\n  borderStyle: 'solid',\n  borderWidth: 0,\n  variants: {\n    align: {\n      start: {\n        alignItems: 'flex-start',\n      },\n      center: {\n        alignItems: 'center',\n      },\n      end: {\n        alignItems: 'flex-end',\n      },\n      stretch: {\n        alignItems: 'stretch',\n      },\n      baseline: {\n        alignItems: 'baseline',\n      },\n    },\n    justify: {\n      start: {\n        justifyContent: 'flex-start',\n      },\n      center: {\n        justifyContent: 'center',\n      },\n      end: {\n        justifyContent: 'flex-end',\n      },\n      between: {\n        justifyContent: 'space-between',\n      },\n    },\n    direction: {\n      row: {\n        flexDirection: 'row',\n      },\n      column: {\n        flexDirection: 'column',\n      },\n      rowReverse: {\n        flexDirection: 'row-reverse',\n      },\n      columnReverse: {\n        flexDirection: 'column-reverse',\n      },\n    },\n    wrap: {\n      noWrap: {\n        flexWrap: 'nowrap',\n      },\n      wrap: {\n        flexWrap: 'wrap',\n      },\n      wrapReverse: {\n        flexWrap: 'wrap-reverse',\n      },\n    },\n  },\n}\n\nexport default styled('div', flexCss)\nexport const AnimatedFlex = styled(motion.div, flexCss)\n","import { styled } from '../../stitches.config'\n\nexport default styled('span', {\n  color: '$textColor',\n  fontFamily: '$body',\n  letterSpacing: 0,\n  margin: 0,\n\n  variants: {\n    color: {\n      base: {\n        color: '$textColor',\n      },\n      subtle: {\n        color: '$neutralText',\n      },\n      error: {\n        color: '$errorAccent',\n      },\n      errorLight: {\n        color: '$errorText',\n      },\n      accent: {\n        color: '$accentText',\n      },\n      success: {\n        color: '$successAccent',\n      },\n      button: {\n        color: '$buttonTextColor',\n      },\n    },\n    style: {\n      h2: {\n        fontWeight: 700,\n        fontSize: 48,\n        fontFamily: '$headline',\n      },\n      h3: {\n        fontWeight: 700,\n        fontSize: 32,\n        fontFamily: '$headline',\n      },\n      h4: {\n        fontWeight: 700,\n        fontSize: 24,\n        fontFamily: '$headline',\n      },\n      h5: {\n        fontWeight: 700,\n        fontSize: 20,\n        fontFamily: '$headline',\n      },\n      h6: {\n        fontWeight: 700,\n        fontSize: 16,\n        fontFamily: '$headline',\n      },\n      subtitle1: {\n        fontWeight: 500,\n        fontSize: 16,\n      },\n      subtitle2: {\n        fontWeight: 500,\n        fontSize: 14,\n      },\n      subtitle3: {\n        fontWeight: 500,\n        fontSize: 12,\n      },\n      body1: {\n        fontWeight: 400,\n        fontSize: 16,\n      },\n      body2: {\n        fontWeight: 400,\n        fontSize: 14,\n      },\n      body3: {\n        fontWeight: 400,\n        fontSize: 12,\n      },\n      tiny: {\n        fontWeight: 500,\n        fontSize: 10,\n        color: '$neutralSolidHover',\n      },\n    },\n    italic: {\n      true: {\n        fontStyle: 'italic',\n      },\n    },\n    ellipsify: {\n      true: {\n        textOverflow: 'ellipsis',\n        overflow: 'hidden',\n        whiteSpace: 'nowrap',\n      },\n    },\n  },\n  compoundVariants: [\n    {\n      style: 'tiny',\n      color: 'base',\n      css: {\n        color: '$textColor',\n      },\n    },\n  ],\n  defaultVariants: {\n    style: 'body1',\n    color: 'base',\n  },\n})\n","/**\n * Ensure that an Ethereum address does not overflow\n * by removing the middle characters\n * @param address An Ethereum address\n * @param shrinkInidicator Visual indicator to show address is only\n * partially displayed\n * @returns A shrinked version of the Ethereum address\n * with the middle characters removed.\n */\nexport function truncateAddress(address: string, shrinkInidicator?: string) {\n  return address.slice(0, 4) + (shrinkInidicator || '…') + address.slice(-4)\n}\n","import FormatCrypto from './FormatCrypto'\nimport React, { FC, ComponentProps } from 'react'\nimport CryptoCurrencyIcon from './CryptoCurrencyIcon'\nimport { useAccount } from 'wagmi'\nimport Tooltip from './Tooltip'\nimport Anchor from './Anchor'\nimport { zeroAddress } from 'viem'\n\ntype FormatCryptoCurrencyProps = {\n  logoWidth?: number\n  address?: string\n  chainId?: number\n  symbol?: string\n}\n\ntype Props = ComponentProps<typeof FormatCrypto> & FormatCryptoCurrencyProps\n\nconst FormatCryptoCurrency: FC<Props> = ({\n  amount,\n  address = zeroAddress,\n  maximumFractionDigits,\n  logoWidth = 14,\n  textStyle,\n  css,\n  textColor,\n  decimals,\n  chainId,\n  symbol,\n}) => {\n  const { chain: activeChain } = useAccount()\n  const blockExplorerBaseUrl =\n    activeChain?.blockExplorers?.default?.url || 'https://etherscan.io'\n\n  return (\n    <FormatCrypto\n      css={css}\n      textColor={textColor}\n      textStyle={textStyle}\n      amount={amount}\n      maximumFractionDigits={maximumFractionDigits}\n      decimals={decimals}\n    >\n      {symbol ? (\n        <Tooltip\n          side=\"top\"\n          content={\n            <Anchor\n              href={`${blockExplorerBaseUrl}/address/${address}`}\n              target=\"_blank\"\n              weight=\"medium\"\n              css={{ fontSize: 14 }}\n              onClick={(event) => event.stopPropagation()}\n            >\n              {symbol}\n            </Anchor>\n          }\n        >\n          <CryptoCurrencyIcon\n            css={{ height: logoWidth }}\n            address={address}\n            chainId={chainId}\n          />\n        </Tooltip>\n      ) : (\n        <CryptoCurrencyIcon\n          css={{ height: logoWidth }}\n          address={address}\n          chainId={chainId}\n        />\n      )}\n    </FormatCrypto>\n  )\n}\n\nexport default FormatCryptoCurrency\n","import { formatBN } from '../lib/numbers'\nimport React, { FC } from 'react'\nimport { Flex, Text } from './index'\n\ntype Props = {\n  amount: string | number | bigint | null | undefined\n  maximumFractionDigits?: number\n  decimals?: number\n  css?: Parameters<typeof Text>['0']['css']\n  textStyle?: Parameters<typeof Text>['0']['style']\n  textColor?: Parameters<typeof Text>['0']['color']\n  children?: React.ReactNode\n}\n\nconst FormatCrypto: FC<Props> = ({\n  amount,\n  maximumFractionDigits = 4,\n  decimals = 18,\n  css,\n  textStyle = 'subtitle3',\n  textColor = 'base',\n  children,\n}) => {\n  const value = formatBN(amount, maximumFractionDigits, decimals)\n  return (\n    <Flex align=\"center\" css={{ gap: '$1' }}>\n      {value !== '-' ? children : null}\n      <Text style={textStyle} color={textColor} css={css} as=\"p\">\n        {value}\n      </Text>\n    </Flex>\n  )\n}\n\nexport default FormatCrypto\n","import { formatUnits } from 'viem'\n\nconst isSafariBrowser = () =>\n  typeof window !== 'undefined' &&\n  navigator.userAgent.indexOf('Safari') > -1 &&\n  navigator.userAgent.indexOf('Chrome') <= -1\n\nfunction toFixed(num: number, fixed: number) {\n  const re = new RegExp('^-?\\\\d+(?:.\\\\d{0,' + (fixed || -1) + '})?')\n  const fixedNum = num.toString().match(re)\n  return fixedNum ? fixedNum[0] : num\n}\n\nfunction formatNumber(\n  amount: number | null | undefined,\n  maximumFractionDigits: number = 2\n) {\n  const { format } = new Intl.NumberFormat('en-US', {\n    maximumFractionDigits: maximumFractionDigits,\n  })\n  if (amount === null || amount === undefined) {\n    return '-'\n  }\n  return format(amount)\n}\n\nconst truncateFractionAndFormat = (\n  parts: Intl.NumberFormatPart[],\n  digits: number\n) => {\n  return parts\n    .map(({ type, value }) => {\n      if (type !== 'fraction' || !value || value.length < digits) {\n        return value\n      }\n\n      let formattedValue = ''\n      for (let idx = 0; idx < value.length && idx < digits; idx++) {\n        formattedValue += value[idx]\n      }\n      return formattedValue\n    })\n    .reduce((string, part) => string + part)\n}\n\n/**\n *  Convert ETH values to human readable formats\n * @param amount An ETH amount\n * @param maximumFractionDigits Number of decimal digits\n * @returns returns the ETH value as a `string` or `-` if the amount is `null` or `undefined`\n */\nfunction formatBN(\n  amount: string | number | bigint | null | undefined,\n  maximumFractionDigits: number,\n  decimals: number = 18\n) {\n  if (typeof amount === 'undefined' || amount === null) return '-'\n\n  const amountToFormat =\n    typeof amount === 'number'\n      ? amount\n      : +formatUnits(BigInt(amount), decimals || 18)\n\n  const amountFraction = `${amount}`.split('.')[1]\n  const isSafari = isSafariBrowser()\n  const formatOptions: Intl.NumberFormatOptions = {\n    minimumFractionDigits: 0,\n    maximumFractionDigits: 20,\n    useGrouping: true,\n    notation: 'compact',\n    compactDisplay: 'short',\n  }\n\n  // New issue introduced in Safari v16 causes a regression and now need lessPrecision flagged in format options\n  if (isSafari) {\n    //@ts-ignore\n    formatOptions.roundingPriority = 'lessPrecision'\n  }\n\n  const parts = new Intl.NumberFormat('en-US', formatOptions).formatToParts(\n    amountToFormat\n  )\n\n  // Safari has a few bugs with the fraction part of formatToParts, sometimes rounding when unnecessary and\n  // when amount is in the thousands not properly representing the value in compact display. Until the bug is fixed\n  // this workaround should help. bugzilla bug report: https://bugs.webkit.org/show_bug.cgi?id=249231\n  // Update: this has been fixed, but still applied for >v15.3 and <v16\n\n  if (isSafari) {\n    const partTypes = parts.map((part) => part.type)\n    const partsIncludesFraction = partTypes.includes('fraction')\n    const partsIncludeCompactIdentifier = partTypes.includes('compact')\n    if (amountFraction) {\n      if (!partsIncludesFraction && !partsIncludeCompactIdentifier) {\n        const integerIndex = parts.findIndex((part) => part.type === 'integer')\n        parts.splice(\n          integerIndex + 1,\n          0,\n          {\n            type: 'decimal',\n            value: '.',\n          },\n          {\n            type: 'fraction',\n            value: amountFraction,\n          }\n        )\n      }\n    } else if (!partsIncludesFraction && partsIncludeCompactIdentifier) {\n      const compactIdentifier = parts.find((part) => part.type === 'compact')\n      const integerIndex = parts.findIndex((part) => part.type === 'integer')\n      const integer = parts[integerIndex]\n      if (compactIdentifier?.value === 'K' && integer) {\n        const fraction = `${amount}`.replace(integer.value, '')[0]\n        if (fraction && Number(fraction) > 0) {\n          parts.splice(\n            integerIndex + 1,\n            0,\n            {\n              type: 'decimal',\n              value: '.',\n            },\n            {\n              type: 'fraction',\n              value: fraction,\n            }\n          )\n        }\n      }\n    }\n  }\n\n  if (parts && parts.length > 0) {\n    const lowestValue = Number(\n      `0.${new Array(maximumFractionDigits).join('0')}1`\n    )\n\n    if (amountToFormat > 1000) {\n      return truncateFractionAndFormat(parts, 1)\n    } else if (\n      amountToFormat < 1 &&\n      amountToFormat < lowestValue &&\n      amountToFormat !== 0\n    ) {\n      return `< ${lowestValue}`\n    } else {\n      return truncateFractionAndFormat(parts, maximumFractionDigits)\n    }\n  } else {\n    return typeof amount === 'string' || typeof amount === 'number'\n      ? `${amount}`\n      : ''\n  }\n}\n\nexport { formatBN, formatNumber, toFixed }\n","import React from 'react'\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\nimport * as Popover from '@radix-ui/react-popover'\nimport Box from './Box'\nimport { styled } from '../../stitches.config'\nimport { useMediaQuery } from '@react-hookz/web'\n\nexport const TooltipArrow = styled(TooltipPrimitive.Arrow, {\n  fill: '$neutralBgHover',\n})\n\nconst PopoverArrow = styled(Popover.Arrow, {\n  fill: '$neutralBgHover',\n})\n\nconst Tooltip = ({\n  children,\n  content,\n  open,\n  defaultOpen,\n  onOpenChange,\n  delayDuration = 0,\n  ...props\n}: any) => {\n  const isSmallDevice = useMediaQuery('only screen and (max-width : 768px)')\n\n  if (isSmallDevice) {\n    return (\n      <Popover.Root\n        open={open}\n        defaultOpen={defaultOpen}\n        onOpenChange={onOpenChange}\n      >\n        <Popover.Trigger\n          style={{\n            backgroundColor: 'transparent',\n            borderWidth: 0,\n            padding: 0,\n            display: 'flex',\n          }}\n        >\n          {children}\n        </Popover.Trigger>\n        <Popover.Content\n          sideOffset={2}\n          side=\"bottom\"\n          align=\"center\"\n          style={{ zIndex: 100, outline: 'none' }}\n          {...props}\n        >\n          <PopoverArrow />\n          <Box\n            css={{\n              zIndex: 9999,\n              $$shadowColor: '$colors$gray7',\n              boxShadow: '0px 1px 5px rgba(0,0,0,0.2)',\n              borderRadius: 8,\n              overflow: 'hidden',\n            }}\n          >\n            <Box\n              css={{\n                background: '$neutralBgHover',\n                p: '$2',\n              }}\n            >\n              {content}\n            </Box>\n          </Box>\n        </Popover.Content>\n      </Popover.Root>\n    )\n  }\n  return (\n    <TooltipPrimitive.Root\n      open={open}\n      defaultOpen={defaultOpen}\n      onOpenChange={onOpenChange}\n      delayDuration={delayDuration}\n    >\n      <TooltipPrimitive.Trigger\n        style={{\n          backgroundColor: 'transparent',\n          borderWidth: 0,\n          padding: 0,\n          display: 'flex',\n        }}\n      >\n        {children}\n      </TooltipPrimitive.Trigger>\n      <TooltipPrimitive.Content\n        sideOffset={2}\n        side=\"bottom\"\n        align=\"center\"\n        style={{ zIndex: 100 }}\n        {...props}\n      >\n        <TooltipArrow />\n        <Box\n          css={{\n            zIndex: 9999,\n            $$shadowColor: '$colors$gray7',\n            boxShadow: '0px 1px 5px rgba(0,0,0,0.2)',\n            borderRadius: 8,\n            overflow: 'hidden',\n          }}\n        >\n          <Box\n            css={{\n              background: '$neutralBgHover',\n              p: '$2',\n            }}\n          >\n            {content}\n          </Box>\n        </Box>\n      </TooltipPrimitive.Content>\n    </TooltipPrimitive.Root>\n  )\n}\n\nexport default Tooltip\n","import { faSpinner } from '@fortawesome/free-solid-svg-icons/faSpinner'\nimport { styled } from '../../stitches.config'\nimport React, { ComponentPropsWithoutRef, ReactNode } from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { motion } from 'framer-motion'\n\nconst LoaderContainer = styled('div', {\n  display: 'flex',\n  justifyContent: 'center',\n  alignItems: 'center',\n  color: '$neutralText',\n})\n\ntype Props = ComponentPropsWithoutRef<typeof LoaderContainer> & {\n  icon?: ReactNode\n}\n\nexport default function Loader(props: Props) {\n  const { icon, ...containerProps } = props\n  return (\n    <LoaderContainer {...containerProps}>\n      <motion.div\n        initial={{ rotate: 0 }}\n        transition={{ repeat: Infinity, duration: 1, ease: 'linear' }}\n        animate={{ rotate: 360 }}\n      >\n        {icon ? (\n          icon\n        ) : (\n          <FontAwesomeIcon icon={faSpinner} width={20} height={20} />\n        )}\n      </motion.div>\n    </LoaderContainer>\n  )\n}\n","import { Anchor, Box, Flex, Text } from '../primitives'\nimport React, { FC, useMemo } from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCube } from '@fortawesome/free-solid-svg-icons/faCube'\nimport { faWallet } from '@fortawesome/free-solid-svg-icons/faWallet'\nimport { truncateAddress } from '../lib/truncate'\nimport { Execute } from '@reservoir0x/reservoir-sdk'\nimport getChainBlockExplorerUrl from '../lib/getChainBlockExplorerUrl'\n\ntype Props = {\n  title: string\n  txHashes?: NonNullable<Execute['steps'][0]['items']>[0]['txHashes']\n}\n\nconst Progress: FC<Props> = ({ title, txHashes }) => {\n  const hasTxHashes = txHashes && txHashes.length > 0\n\n  const enhancedTxHashes = useMemo(() => {\n    return txHashes?.map((hash) => {\n      const truncatedTxHash = truncateAddress(hash.txHash)\n      const blockExplorerUrl = getChainBlockExplorerUrl(hash.chainId)\n      return {\n        txHash: hash.txHash,\n        chainId: hash.chainId,\n        truncatedTxHash: truncatedTxHash,\n        blockExplorerUrl: blockExplorerUrl,\n      }\n    })\n  }, [txHashes])\n\n  return (\n    <Flex\n      direction=\"column\"\n      css={{\n        alignItems: 'center',\n        gap: '$4',\n        mt: '$5',\n        mb: '$3',\n      }}\n    >\n      <Text style=\"h6\">{title}</Text>\n      <Box css={{ color: '$neutralText' }}>\n        <FontAwesomeIcon\n          icon={hasTxHashes ? faCube : faWallet}\n          style={{\n            width: '32px',\n            height: '32px',\n            marginTop: '12px 0px',\n          }}\n        />\n      </Box>\n      {hasTxHashes ? (\n        <Flex direction=\"column\" align=\"center\" css={{ gap: '$2' }}>\n          {enhancedTxHashes?.map((enhancedTxHash, index) => (\n            <Anchor\n              key={index}\n              href={`${enhancedTxHash.blockExplorerUrl}/tx/${enhancedTxHash.txHash}`}\n              color=\"primary\"\n              weight=\"medium\"\n              target=\"_blank\"\n              css={{ fontSize: 12 }}\n            >\n              View transaction: {enhancedTxHash.truncatedTxHash}\n            </Anchor>\n          ))}\n        </Flex>\n      ) : null}\n    </Flex>\n  )\n}\n\nexport default Progress\n","import * as allChains from 'viem/chains'\nimport { customChains } from '@reservoir0x/reservoir-sdk'\n\nconst getChainBlockExplorerUrl = (chainId: number) => {\n  const wagmiChain: allChains.Chain | undefined = Object.values({\n    ...allChains,\n    ...customChains,\n  }).find(({ id }) => id === chainId)\n\n  if (chainId === 999) {\n    return allChains.zoraTestnet.blockExplorers.default.url\n  }\n\n  if (chainId === 747) {\n    return customChains.flow.blockExplorers.default.url\n  }\n\n  return wagmiChain?.blockExplorers?.default?.url || 'https://etherscan.io'\n}\n\nexport default getChainBlockExplorerUrl\n","import React, {\n  ComponentPropsWithoutRef,\n  ElementRef,\n  forwardRef,\n  ReactNode,\n  useContext,\n} from 'react'\nimport * as DialogPrimitive from '@radix-ui/react-dialog'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faClose } from '@fortawesome/free-solid-svg-icons/faClose'\nimport { faChevronLeft } from '@fortawesome/free-solid-svg-icons/faChevronLeft'\nimport { faLock } from '@fortawesome/free-solid-svg-icons/faLock'\n\nimport { Anchor, Button, Flex, Text, Loader, Box } from '../primitives'\nimport { styled } from '../../stitches.config'\nimport { Dialog } from '../primitives/Dialog'\nimport { ProviderOptionsContext } from '../ReservoirKitProvider'\nimport ReservoirText from '../img/ReservoirText'\n\nconst Title = styled(DialogPrimitive.Title, {\n  margin: 0,\n})\n\nexport enum ModalSize {\n  MD,\n  LG,\n}\n\ntype Props = {\n  title: string\n  children: ReactNode\n  size?: ModalSize\n  onBack?: (() => void) | null\n  loading?: boolean\n} & Pick<\n  ComponentPropsWithoutRef<typeof Dialog>,\n  | 'onPointerDownOutside'\n  | 'onOpenChange'\n  | 'open'\n  | 'trigger'\n  | 'onFocusCapture'\n>\n\nexport const Logo = styled(ReservoirText, {\n  fill: '$neutralText',\n  '&:hover': {\n    fill: '$neutralSolid',\n  },\n})\n\nexport const Modal = forwardRef<ElementRef<typeof Dialog>, Props>(\n  (\n    {\n      title,\n      children,\n      trigger,\n      onBack,\n      open,\n      size = ModalSize.MD,\n      onOpenChange,\n      loading,\n      onPointerDownOutside,\n      onFocusCapture,\n    },\n    forwardedRef\n  ) => {\n    const providerOptionsContext = useContext(ProviderOptionsContext)\n\n    return (\n      <Dialog\n        ref={forwardedRef}\n        trigger={trigger}\n        open={open}\n        onOpenChange={onOpenChange}\n        size={size}\n        onPointerDownOutside={onPointerDownOutside}\n        onFocusCapture={onFocusCapture}\n      >\n        <Flex\n          css={{\n            p: 16,\n            backgroundColor: '$headerBackground',\n            alignItems: 'center',\n            justifyContent: 'space-between',\n            borderTopRightRadius: '$borderRadius',\n            borderTopLeftRadius: '$borderRadius',\n          }}\n        >\n          <Title css={{ alignItems: 'center', display: 'flex' }}>\n            {onBack && (\n              <Button\n                color=\"ghost\"\n                size=\"none\"\n                css={{ mr: '$2', color: '$neutralText' }}\n                onClick={onBack}\n              >\n                <FontAwesomeIcon icon={faChevronLeft} width={16} height={16} />\n              </Button>\n            )}\n            <Text style=\"h6\">{title}</Text>\n          </Title>\n          <DialogPrimitive.Close asChild>\n            <Button color=\"ghost\" size=\"none\" css={{ color: '$neutralText' }}>\n              <FontAwesomeIcon icon={faClose} width={16} height={16} />\n            </Button>\n          </DialogPrimitive.Close>\n        </Flex>\n        {loading && (\n          <Loader\n            css={{\n              minHeight: 242,\n              backgroundColor: '$contentBackground',\n            }}\n          />\n        )}\n        <Box css={{ maxHeight: '85vh', overflowY: 'auto' }}>{children}</Box>\n        {!providerOptionsContext.disablePoweredByReservoir && (\n          <Flex\n            align=\"center\"\n            css={{\n              mx: 'auto',\n              alignItems: 'center',\n              justifyContent: 'center',\n              pb: 12,\n              gap: '$1',\n              visibility: '$poweredByReservoirVisibility',\n              borderBottomRightRadius: '$borderRadius',\n              borderBottomLeftRadius: '$borderRadius',\n            }}\n          >\n            <Box css={{ color: '$neutralBorderHover' }}>\n              <FontAwesomeIcon icon={faLock} width={9} height={10} />\n            </Box>\n            <Text\n              style=\"tiny\"\n              color=\"subtle\"\n              css={{\n                display: 'inline-flex',\n                alignItems: 'center',\n                gap: 4,\n                fontWeight: 400,\n                lineHeight: '12px',\n                color: '$neutralText',\n              }}\n            >\n              Powered by{' '}\n              <Anchor\n                href=\"https://reservoir.tools/\"\n                target=\"_blank\"\n                weight=\"heavy\"\n                color=\"gray\"\n                css={{\n                  height: 12,\n                  fontSize: 12,\n                  '&:hover': {\n                    color: '$neutralSolid',\n                    fill: '$neutralSolid',\n                  },\n                }}\n              >\n                <Logo />\n              </Anchor>\n            </Text>\n          </Flex>\n        )}\n      </Dialog>\n    )\n  }\n)\n","import { styled } from '../../stitches.config'\nimport * as DialogPrimitive from '@radix-ui/react-dialog'\nimport React, {\n  ComponentPropsWithoutRef,\n  ElementRef,\n  forwardRef,\n  ReactNode,\n  useState,\n  useEffect,\n} from 'react'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport { ModalSize } from '../modal/Modal'\nimport { useMediaQuery } from '../hooks'\n\nconst Overlay = styled(DialogPrimitive.Overlay, {\n  backgroundColor: '$overlayBackground',\n  position: 'fixed',\n  inset: 0,\n  zIndex: 1000,\n})\n\nconst AnimatedOverlay = forwardRef<\n  ElementRef<typeof DialogPrimitive.Overlay>,\n  ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ ...props }, forwardedRef) => (\n  <Overlay {...props} forceMount asChild>\n    <motion.div\n      ref={forwardedRef}\n      transition={{ duration: 0.5 }}\n      initial={{\n        opacity: 0,\n      }}\n      animate={{ opacity: 1 }}\n      exit={{ opacity: 0 }}\n    />\n  </Overlay>\n))\n\nconst Content = styled(DialogPrimitive.Content, {\n  backgroundColor: '$contentBackground',\n  borderRadius: '$borderRadius',\n  $$shadowColor: '$colors$gray7',\n  boxShadow: 'box-shadow: 0px 2px 16px $$shadowColor',\n  border: '1px solid $borderColor',\n  position: 'fixed',\n  left: '50%',\n  maxWidth: 516,\n  top: '100%',\n  width: '100%',\n  zIndex: 1000,\n  '&:focus': { outline: 'none' },\n  '@media(max-width: 520px)': {\n    borderBottomRightRadius: 0,\n    borderBottomLeftRadius: 0,\n    border: 0,\n  },\n})\n\nconst AnimatedContent = forwardRef<\n  ElementRef<typeof DialogPrimitive.DialogContent>,\n  ComponentPropsWithoutRef<typeof DialogPrimitive.DialogContent>\n>(({ children, ...props }, forwardedRef) => {\n  const isMobile = useMediaQuery('(max-width: 520px)')\n\n  const animation = isMobile\n    ? {\n        initial: {\n          opacity: 0,\n          bottom: '-100%',\n          top: 'auto',\n          left: 0,\n        },\n        animate: {\n          opacity: 1,\n          bottom: 0,\n          top: 'auto',\n          left: 0,\n        },\n\n        exit: {\n          opacity: 0,\n          bottom: '-100%',\n          top: 'auto',\n          left: 0,\n        },\n      }\n    : {\n        initial: {\n          opacity: 0,\n          top: '14%',\n          transform: 'translateX(-50%)',\n        },\n        animate: {\n          opacity: 1,\n          top: '9%',\n          transform: 'translateX(-50%)',\n        },\n\n        exit: {\n          opacity: 0,\n          top: '14%',\n          transform: 'translateX(-50%)',\n        },\n      }\n\n  return (\n    <Content forceMount asChild {...props}>\n      <motion.div\n        key={isMobile + 'modal'}\n        ref={forwardedRef}\n        transition={{ type: isMobile ? 'tween' : 'spring', duration: 0.5 }}\n        {...animation}\n      >\n        {children}\n      </motion.div>\n    </Content>\n  )\n})\n\nconst StyledAnimatedContent = styled(AnimatedContent, {})\n\ntype Props = {\n  trigger: ReactNode\n  portalProps?: DialogPrimitive.PortalProps\n  onOpenChange?: (open: boolean) => void\n  open?: boolean\n  size?: ModalSize\n}\n\nconst Dialog = forwardRef<\n  ElementRef<typeof DialogPrimitive.Content>,\n  ComponentPropsWithoutRef<typeof DialogPrimitive.Content> & Props\n>(\n  (\n    { children, trigger, portalProps, onOpenChange, open, size, ...props },\n    forwardedRef\n  ) => {\n    const [dialogOpen, setDialogOpen] = useState(false)\n\n    useEffect(() => {\n      if (open !== undefined && open !== dialogOpen) {\n        setDialogOpen(open)\n        if (onOpenChange) {\n          onOpenChange(open)\n        }\n      }\n    }, [open])\n\n    return (\n      <DialogPrimitive.Root\n        onOpenChange={(open) => {\n          setDialogOpen(open)\n          if (onOpenChange) {\n            onOpenChange(open)\n          }\n        }}\n        open={dialogOpen}\n      >\n        <DialogPrimitive.DialogTrigger asChild>\n          {trigger}\n        </DialogPrimitive.DialogTrigger>\n        <AnimatePresence>\n          {dialogOpen && (\n            <DialogPrimitive.DialogPortal forceMount {...portalProps}>\n              <AnimatedOverlay data-radix-dismissable />\n              <StyledAnimatedContent\n                ref={forwardedRef}\n                {...props}\n                forceMount\n                css={{\n                  maxWidth: size === ModalSize.MD ? 516 : 750,\n                }}\n              >\n                {children}\n              </StyledAnimatedContent>\n            </DialogPrimitive.DialogPortal>\n          )}\n        </AnimatePresence>\n      </DialogPrimitive.Root>\n    )\n  }\n)\n\nexport {\n  Dialog,\n  Content,\n  AnimatedContent,\n  Overlay,\n  AnimatedOverlay,\n  StyledAnimatedContent,\n}\n","import { useEffect, useState } from 'react'\n\nconst useMediaQuery = (query: string) => {\n  const [matches, setMatches] = useState(false)\n\n  useEffect(() => {\n    const media = window.matchMedia(query)\n    if (media.matches !== matches) {\n      setMatches(media.matches)\n    }\n    const listener = () => {\n      setMatches(media.matches)\n    }\n    media.addEventListener('change', listener)\n    return () => media.removeEventListener('change', listener)\n  }, [matches, query])\n\n  return matches\n}\n\nexport default useMediaQuery\n","import React from 'react'\n\nconst ReservoirText = (props: any) => {\n  return (\n    <svg\n      width=\"50\"\n      height=\"10\"\n      viewBox=\"0 0 50 10\"\n      fill=\"none\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n      {...props}\n    >\n      <path d=\"M0.104492 8.99985V2.75985C0.608492 2.72385 1.11249 2.72385 1.62849 2.75985L1.73649 3.77985H1.80849C2.00049 2.97585 2.78049 2.63985 3.87249 2.63985C3.92049 3.04785 3.92049 3.71985 3.87249 4.12785C2.51649 4.12785 2.14449 4.40385 1.82049 5.26785V8.99985C1.40049 9.05985 0.512492 9.05985 0.104492 8.99985Z\" />\n      <path d=\"M10.2115 5.02785V6.40785C9.40749 6.46785 7.55949 6.47985 6.52749 6.41985V6.71985C6.52749 7.57185 7.01949 7.72785 8.05149 7.72785C8.75949 7.72785 9.26349 7.66785 9.93549 7.53585C9.98349 7.94385 9.98349 8.51985 9.93549 8.92785C9.09549 9.07185 8.42349 9.14385 7.63149 9.14385C5.90349 9.14385 4.81149 8.62785 4.81149 7.10385V4.70385C4.81149 3.10785 5.96349 2.63985 7.55949 2.63985C9.14349 2.63985 10.2115 3.31185 10.2115 5.02785ZM8.53149 5.36385V4.95585C8.53149 4.13985 8.06349 4.04385 7.53549 4.04385C7.00749 4.04385 6.52749 4.13985 6.52749 4.95585V5.42385L7.45149 5.36385H8.53149Z\" />\n      <path d=\"M15.9181 6.94785V7.53585C15.9181 8.69985 15.0061 9.14385 13.5181 9.14385C12.8821 9.14385 12.1501 9.09585 11.4661 8.97585C11.4061 8.54385 11.4061 8.05185 11.4661 7.63185C12.1141 7.73985 12.7621 7.77585 13.2661 7.77585C13.7461 7.77585 14.2021 7.73985 14.2021 7.33185V7.10385C14.2021 6.75585 13.9621 6.69585 13.5541 6.58785L12.4741 6.27585C11.7901 6.08385 11.4181 5.65185 11.4181 4.85985V4.19985C11.4181 3.08385 12.3781 2.63985 13.9021 2.63985C14.5021 2.63985 15.1261 2.68785 15.8221 2.83185C15.8821 3.26385 15.8821 3.74385 15.8221 4.16385C15.0901 4.03185 14.6221 3.99585 14.0941 3.99585C13.5781 3.99585 13.1341 4.03185 13.1341 4.43985V4.66785C13.1341 4.96785 13.4101 5.07585 13.7821 5.18385L14.7901 5.45985C15.5341 5.66385 15.9181 6.03585 15.9181 6.94785Z\" />\n      <path d=\"M22.5865 5.02785V6.40785C21.7825 6.46785 19.9345 6.47985 18.9025 6.41985V6.71985C18.9025 7.57185 19.3945 7.72785 20.4265 7.72785C21.1345 7.72785 21.6385 7.66785 22.3105 7.53585C22.3585 7.94385 22.3585 8.51985 22.3105 8.92785C21.4705 9.07185 20.7985 9.14385 20.0065 9.14385C18.2785 9.14385 17.1865 8.62785 17.1865 7.10385V4.70385C17.1865 3.10785 18.3385 2.63985 19.9345 2.63985C21.5185 2.63985 22.5865 3.31185 22.5865 5.02785ZM20.9065 5.36385V4.95585C20.9065 4.13985 20.4385 4.04385 19.9105 4.04385C19.3825 4.04385 18.9025 4.13985 18.9025 4.95585V5.42385L19.8265 5.36385H20.9065Z\" />\n      <path d=\"M24.0811 8.99985V2.75985C24.5851 2.72385 25.0891 2.72385 25.6051 2.75985L25.7131 3.77985H25.7851C25.9771 2.97585 26.7571 2.63985 27.8491 2.63985C27.8971 3.04785 27.8971 3.71985 27.8491 4.12785C26.4931 4.12785 26.1211 4.40385 25.7971 5.26785V8.99985C25.3771 9.05985 24.4891 9.05985 24.0811 8.99985Z\" />\n      <path d=\"M30.1801 8.99985L28.2601 2.80785C28.6801 2.74785 29.5681 2.74785 29.9761 2.80785L31.2841 7.42785L32.5801 2.80785C32.9881 2.74785 33.8401 2.74785 34.2481 2.80785L32.3401 8.99985C31.8121 9.05985 30.7081 9.05985 30.1801 8.99985Z\" />\n      <path d=\"M40.7087 4.66785V7.13985C40.7087 8.62785 39.5807 9.14385 37.9007 9.14385C36.2207 9.14385 35.0927 8.62785 35.0927 7.13985V4.66785C35.0927 3.11985 36.2207 2.63985 37.9007 2.63985C39.5807 2.63985 40.7087 3.11985 40.7087 4.66785ZM38.9927 6.76785V5.01585C38.9927 4.18785 38.4887 4.09185 37.9007 4.09185C37.3007 4.09185 36.8087 4.18785 36.8087 5.01585V6.76785C36.8087 7.58385 37.3007 7.67985 37.9007 7.67985C38.4887 7.67985 38.9927 7.58385 38.9927 6.76785Z\" />\n      <path d=\"M42.3037 8.99985V2.80785C42.7117 2.74785 43.5997 2.74785 44.0197 2.80785V8.99985C43.5997 9.05985 42.7117 9.05985 42.3037 8.99985ZM44.0917 0.467852L44.0557 1.83585C43.6357 1.89585 42.6877 1.89585 42.2557 1.83585L42.2317 0.467852C42.6637 0.407852 43.6597 0.407852 44.0917 0.467852Z\" />\n      <path d=\"M45.7725 8.99985V2.75985C46.2765 2.72385 46.7805 2.72385 47.2965 2.75985L47.4045 3.77985H47.4765C47.6685 2.97585 48.4485 2.63985 49.5405 2.63985C49.5885 3.04785 49.5885 3.71985 49.5405 4.12785C48.1845 4.12785 47.8125 4.40385 47.4885 5.26785V8.99985C47.0685 9.05985 46.1805 9.05985 45.7725 8.99985Z\" />\n    </svg>\n  )\n}\n\nexport default ReservoirText\n","import React, {\n  FC,\n  useEffect,\n  useState,\n  useCallback,\n  ReactNode,\n  useMemo,\n  useContext,\n} from 'react'\nimport {\n  useTokens,\n  useReservoirClient,\n  useCollections,\n  useListings,\n} from '../../hooks'\nimport { useAccount, useConfig, useWalletClient } from 'wagmi'\nimport { getAccount, switchChain } from 'wagmi/actions'\nimport {\n  APIError,\n  BuyPath,\n  BuyResponses,\n  Execute,\n  LogLevel,\n  ReservoirClientActions,\n  ReservoirWallet,\n  axios,\n  BuyTokenBodyParameters,\n} from '@reservoir0x/reservoir-sdk'\nimport { Address, WalletClient, formatUnits, zeroAddress } from 'viem'\nimport { customChains } from '@reservoir0x/reservoir-sdk'\nimport * as allChains from 'viem/chains'\nimport usePaymentTokens, {\n  EnhancedCurrency,\n} from '../../hooks/usePaymentTokens'\nimport { ProviderOptionsContext } from '../../ReservoirKitProvider'\nimport { useCapabilities } from 'wagmi/experimental'\nimport useRelayChains from '../../hooks/useRelayChains'\n\ntype Item = Parameters<ReservoirClientActions['buyToken']>['0']['items'][0]\n\nexport enum BuyStep {\n  Checkout,\n  Approving,\n  Complete,\n  Unavailable,\n  SelectPayment,\n}\n\nexport type BuyModalStepData = {\n  totalSteps: number\n  stepProgress: number\n  currentStep: Execute['steps'][0]\n  currentStepItem: NonNullable<Execute['steps'][0]['items']>[0]\n}\n\ntype Token = NonNullable<NonNullable<ReturnType<typeof useTokens>>['data']>[0]\ntype BuyTokenOptions = NonNullable<\n  Parameters<ReservoirClientActions['buyToken']>['0']['options']\n>\n\ntype ChildrenProps = {\n  loading: boolean\n  isFetchingPath: boolean\n  tokenData?: Token\n  collection?: NonNullable<ReturnType<typeof useCollections>['data']>[0]\n  listing?: NonNullable<ReturnType<typeof useListings>['data']>[0]\n  quantityAvailable: number\n  averageUnitPrice: bigint\n  paymentCurrency?: EnhancedCurrency\n  paymentTokens: EnhancedCurrency[]\n  totalIncludingFees: bigint\n  feeOnTop: bigint\n  buyResponseFees?: BuyResponses['fees']\n  buyStep: BuyStep\n  transactionError?: Error | null\n  hasEnoughCurrency: boolean\n  hasAuxiliaryFundsSupport: boolean\n  addFundsLink: string\n  feeUsd: string\n  totalUsd: bigint\n  usdPrice: number\n  balance?: bigint\n  address?: string\n  blockExplorerBaseUrl: string\n  blockExplorerBaseName: string\n  steps: Execute['steps'] | null\n  stepData: BuyModalStepData | null\n  path: BuyPath\n  quantity: number\n  isConnected: boolean\n  isOwner: boolean\n  setPaymentCurrency: React.Dispatch<\n    React.SetStateAction<EnhancedCurrency | undefined>\n  >\n  setBuyStep: React.Dispatch<React.SetStateAction<BuyStep>>\n  setQuantity: React.Dispatch<React.SetStateAction<number>>\n  buyToken: () => void\n}\n\ntype Props = {\n  open: boolean\n  token?: string\n  orderId?: string\n  chainId?: number\n  defaultQuantity?: number\n  feesOnTopBps?: string[] | null\n  feesOnTopUsd?: string[] | null\n  normalizeRoyalties?: boolean\n  onConnectWallet: () => void\n  children: (props: ChildrenProps) => ReactNode\n  walletClient?: ReservoirWallet | WalletClient\n  executeBuyOptions?: Omit<\n    NonNullable<BuyTokenBodyParameters>,\n    'items' | 'feesOnTop' | 'taker'\n  >\n}\n\nexport const BuyModalRenderer: FC<Props> = ({\n  open,\n  token,\n  orderId,\n  chainId,\n  feesOnTopBps,\n  defaultQuantity,\n  feesOnTopUsd,\n  normalizeRoyalties,\n  onConnectWallet,\n  children,\n  walletClient,\n  executeBuyOptions,\n}) => {\n  const [totalIncludingFees, setTotalIncludingFees] = useState(0n)\n  const [averageUnitPrice, setAverageUnitPrice] = useState(0n)\n  const [path, setPath] = useState<BuyPath>(undefined)\n  const [isFetchingPath, setIsFetchingPath] = useState(false)\n  const [feeOnTop, setFeeOnTop] = useState(0n)\n  const [buyStep, setBuyStep] = useState<BuyStep>(BuyStep.Checkout)\n  const [transactionError, setTransactionError] = useState<Error | null>()\n  const [hasEnoughCurrency, setHasEnoughCurrency] = useState(true)\n  const [stepData, setStepData] = useState<BuyModalStepData | null>(null)\n  const [steps, setSteps] = useState<Execute['steps'] | null>(null)\n  const [quantity, setQuantity] = useState(1)\n  const providerOptions = useContext(ProviderOptionsContext)\n  const includeListingCurrency =\n    providerOptions.alwaysIncludeListingCurrency !== false\n\n  const [buyResponseFees, setBuyResponseFees] = useState<\n    BuyResponses['fees'] | undefined\n  >(undefined)\n  const client = useReservoirClient()\n  const currentChain = client?.currentChain()\n  const config = useConfig()\n\n  const rendererChain = chainId\n    ? client?.chains.find(({ id }) => id === chainId) || currentChain\n    : currentChain\n\n  const wagmiChain: allChains.Chain | undefined = Object.values({\n    ...allChains,\n    ...customChains,\n  }).find(({ id }) => rendererChain?.id === id)\n\n  const { data: wagmiWalletClient } = useWalletClient({\n    chainId: rendererChain?.id,\n  })\n\n  const wallet = walletClient || wagmiWalletClient\n\n  const blockExplorerBaseUrl =\n    wagmiChain?.blockExplorers?.default?.url || 'https://etherscan.io'\n  const blockExplorerBaseName =\n    wagmiChain?.blockExplorers?.default?.name || 'Etherscan'\n\n  const { address, connector } = useAccount()\n\n  const { data: capabilities } = useCapabilities({\n    query: {\n      enabled:\n        connector &&\n        (connector.id === 'coinbaseWalletSDK' || connector.id === 'coinbase'),\n    },\n  })\n  const hasAuxiliaryFundsSupport = Boolean(\n    rendererChain?.id\n      ? capabilities?.[rendererChain?.id]?.auxiliaryFunds?.supported\n      : false\n  )\n\n  const [_paymentCurrency, _setPaymentCurrency] = useState<\n    EnhancedCurrency | undefined\n  >(undefined)\n\n  const paymentTokens = usePaymentTokens({\n    open,\n    address: address as Address,\n    quantityToken: {\n      [`${token}`]: quantity,\n    },\n    path,\n    chainId: rendererChain?.id,\n    nativeOnly:\n      executeBuyOptions && executeBuyOptions.executionMethod !== undefined,\n  })\n\n  const paymentCurrency = paymentTokens?.find(\n    (paymentToken) =>\n      paymentToken?.address === _paymentCurrency?.address &&\n      paymentToken?.chainId === _paymentCurrency?.chainId\n  )\n\n  const { data: tokens, mutate: mutateTokens } = useTokens(\n    open && token\n      ? {\n          tokens: [token],\n          normalizeRoyalties,\n        }\n      : false,\n    {\n      revalidateFirstPage: true,\n    },\n    rendererChain?.id\n  )\n\n  const tokenData = tokens && tokens[0] ? tokens[0] : undefined\n\n  const collectionId = tokenData?.token?.collection?.id\n\n  const is1155 = tokenData?.token?.kind === 'erc1155'\n  const isOwner =\n    tokenData?.token?.owner?.toLowerCase() === address?.toLowerCase()\n\n  const { data: collections, mutate: mutateCollection } = useCollections(\n    open && collectionId\n      ? {\n          id: collectionId,\n          normalizeRoyalties,\n        }\n      : false,\n    {},\n    rendererChain?.id\n  )\n\n  const collection = collections && collections[0] ? collections[0] : undefined\n\n  const quantityRemaining = useMemo(() => {\n    return path\n      ? path.reduce((total, pathItem) => total + (pathItem.quantity || 0), 0)\n      : 0\n  }, [path, orderId])\n\n  const usdPrice = paymentCurrency?.usdPrice || 0\n  const usdPriceRaw = paymentCurrency?.usdPriceRaw || 0n\n  const feeUsd = formatUnits(\n    feeOnTop * usdPriceRaw,\n    (paymentCurrency?.decimals || 18) + 6\n  )\n  const totalUsd = totalIncludingFees * usdPriceRaw\n\n  const { relayLink } = useRelayChains(rendererChain?.id)\n\n  let addFundsLink: string = ''\n\n  if (relayLink) {\n    addFundsLink = paymentCurrency?.address\n      ? `${relayLink}?toCurrency=${paymentCurrency?.address}`\n      : relayLink\n  } else {\n    addFundsLink = paymentCurrency?.address\n      ? `https://jumper.exchange/?toChain=${rendererChain?.id}&toToken=${paymentCurrency?.address}`\n      : `https://jumper.exchange/?toChain=${rendererChain?.id}`\n  }\n\n  if (providerOptions?.convertLink?.chainUrl) {\n    addFundsLink =\n      paymentCurrency?.address && providerOptions.convertLink.tokenUrl\n        ? providerOptions.convertLink.tokenUrl\n        : providerOptions.convertLink.chainUrl\n\n    if (rendererChain?.id) {\n      addFundsLink = addFundsLink.replace('{toChain}', `${rendererChain.id}`)\n    }\n    if (paymentCurrency?.address) {\n      addFundsLink = addFundsLink.replace('{toToken}', paymentCurrency?.address)\n    }\n  } else if (providerOptions?.convertLink?.customUrl) {\n    addFundsLink = providerOptions.convertLink.customUrl?.({\n      toChain: rendererChain?.id,\n      toToken: paymentCurrency?.address,\n      toCurrency: paymentCurrency,\n    })\n  }\n\n  const fetchPath = useCallback(\n    (\n      paymentCurrency: EnhancedCurrency | undefined,\n      paymentTokens: EnhancedCurrency[]\n    ) => {\n      if (!open || !client || !tokenData || !token) {\n        setPath(undefined)\n        return\n      }\n\n      setTransactionError(null)\n      setIsFetchingPath(true)\n\n      const options: BuyTokenOptions = {\n        ...executeBuyOptions,\n        onlyPath: true,\n        partial: true,\n      }\n\n      if (feesOnTopBps && feesOnTopBps?.length > 0) {\n        const fixedFees = feesOnTopBps.map((fullFee) => {\n          const [referrer] = fullFee.split(':')\n          return `${referrer}:1`\n        })\n        options.feesOnTop = fixedFees\n      } else if (feesOnTopUsd && feesOnTopUsd.length > 0) {\n        const feesOnTopFixed = feesOnTopUsd.map((feeOnTop) => {\n          const [recipient] = feeOnTop.split(':')\n          return `${recipient}:1`\n        })\n        options.feesOnTop = feesOnTopFixed\n      } else if (!feesOnTopUsd && !feesOnTopBps) {\n        delete options.feesOnTop\n      }\n\n      if (normalizeRoyalties !== undefined) {\n        options.normalizeRoyalties = normalizeRoyalties\n      }\n\n      if (paymentCurrency) {\n        options.currency = paymentCurrency.address\n        if (paymentCurrency.chainId) {\n          options.currencyChainId = paymentCurrency.chainId\n        }\n      } else if (!includeListingCurrency && paymentTokens[0]) {\n        options.currency = paymentTokens[0].address\n        if (paymentTokens[0].chainId) {\n          options.currencyChainId = paymentTokens[0].chainId\n        }\n        _setPaymentCurrency(paymentTokens[0])\n      }\n\n      let items: Parameters<\n        ReservoirClientActions['buyToken']\n      >['0']['items'][0] = {\n        fillType: 'trade',\n      }\n\n      if (orderId) {\n        items.orderId = orderId\n      } else {\n        items.token = token\n      }\n\n      return client.actions\n        .buyToken({\n          options,\n          chainId: rendererChain?.id,\n          items: [items],\n          wallet: {\n            address: async () => {\n              return address || zeroAddress\n            },\n          } as any,\n          onProgress: () => {},\n          precheck: true,\n        })\n        .then((data) => {\n          if (data && (data as BuyResponses).path) {\n            const response = data as BuyResponses\n            const path: BuyPath = response.path\n            if (!paymentCurrency && path?.[0]) {\n              const listingToken = {\n                address: (path[0].buyInCurrency || path[0].currency) as Address,\n                decimals:\n                  path[0].buyInCurrencyDecimals ||\n                  path[0].currencyDecimals ||\n                  18,\n                symbol:\n                  path[0].buyInCurrencySymbol || path[0].currencySymbol || '',\n                name:\n                  path[0].buyInCurrencySymbol || path[0].currencySymbol || '',\n                chainId: rendererChain?.id || 1,\n              }\n              _setPaymentCurrency(listingToken)\n            }\n            setPath(path)\n            if (response.fees) {\n              setBuyResponseFees(response.fees)\n            }\n          } else {\n            setPath([])\n          }\n        })\n        .catch((err) => {\n          if (!err?.response?.data?.message?.includes('Price too high')) {\n            setPath([])\n          } else {\n            err = new APIError(\n              err?.response?.data?.message,\n              err?.response?.status,\n              err?.response?.data\n            )\n            setTransactionError(err)\n          }\n          throw err\n        })\n        .finally(() => {\n          setIsFetchingPath(false)\n        })\n    },\n    [\n      open,\n      client,\n      address,\n      tokenData,\n      token,\n      orderId,\n      normalizeRoyalties,\n      rendererChain,\n      rendererChain?.paymentTokens,\n      includeListingCurrency,\n      feesOnTopBps,\n      feesOnTopUsd,\n      executeBuyOptions,\n      _setPaymentCurrency,\n    ]\n  )\n\n  const setPaymentCurrency: typeof _setPaymentCurrency = useCallback(\n    (\n      value:\n        | EnhancedCurrency\n        | ((\n            prevState: EnhancedCurrency | undefined\n          ) => EnhancedCurrency | undefined)\n        | undefined\n    ) => {\n      if (typeof value === 'function') {\n        _setPaymentCurrency((prevState) => {\n          const newValue = value(prevState)\n          if (\n            newValue?.address !== paymentCurrency?.address ||\n            newValue?.chainId !== paymentCurrency?.chainId\n          ) {\n            fetchPath(newValue, paymentTokens)?.catch((err) => {\n              if (\n                err?.statusCode === 400 &&\n                err?.message?.includes('Price too high')\n              ) {\n                _setPaymentCurrency(prevState)\n              }\n            })\n          }\n          return newValue\n        })\n      } else {\n        if (\n          value?.address !== paymentCurrency?.address ||\n          value?.chainId !== paymentCurrency?.chainId\n        ) {\n          _setPaymentCurrency(value)\n          fetchPath(value, paymentTokens)?.catch((err) => {\n            if (\n              err?.statusCode === 400 &&\n              err?.message?.includes('Price too high')\n            ) {\n              _setPaymentCurrency(paymentCurrency)\n            }\n          })\n        }\n      }\n    },\n    [fetchPath, _setPaymentCurrency, paymentCurrency]\n  )\n\n  useEffect(() => {\n    if (token || orderId) {\n      fetchPath(paymentCurrency, paymentTokens)\n    }\n  }, [fetchPath, token, orderId])\n\n  const buyToken = useCallback(async () => {\n    if (!wallet) {\n      onConnectWallet()\n      if (document.body.style) {\n        document.body.style.pointerEvents = 'auto'\n      }\n      client?.log(['Missing wallet, prompting connection'], LogLevel.Verbose)\n      return\n    }\n\n    let activeWalletChain = getAccount(config).chain\n    if (paymentCurrency?.chainId !== activeWalletChain?.id) {\n      activeWalletChain = await switchChain(config, {\n        chainId: paymentCurrency?.chainId as number,\n      })\n    }\n\n    if (paymentCurrency?.chainId !== activeWalletChain?.id) {\n      const error = new Error(`Mismatching chainIds`)\n      setTransactionError(error)\n      throw error\n    }\n\n    if (!token && !orderId) {\n      const error = new Error('Missing token or order')\n      setTransactionError(error)\n      throw error\n    }\n\n    if (!client) {\n      const error = new Error('ReservoirClient was not initialized')\n      setTransactionError(error)\n      throw error\n    }\n\n    let options: BuyTokenOptions = {\n      ...executeBuyOptions,\n      currency: paymentCurrency?.address,\n      currencyChainId: paymentCurrency?.chainId,\n      skipBalanceCheck: hasAuxiliaryFundsSupport,\n    }\n\n    const relayerFee = BigInt(buyResponseFees?.relayer?.amount?.raw ?? 0)\n\n    if (feesOnTopBps && feesOnTopBps?.length > 0) {\n      const fixedFees = feesOnTopBps.map((fullFee) => {\n        const [referrer, feeBps] = fullFee.split(':')\n        let totalFeeTruncated = totalIncludingFees - feeOnTop\n\n        // if relayer fee, subtract from total\n        if (relayerFee) {\n          totalFeeTruncated -= relayerFee\n        }\n\n        const fee = Math.floor(\n          Number(totalFeeTruncated * BigInt(feeBps)) / 10000\n        )\n        const atomicUnitsFee = formatUnits(BigInt(fee), 0)\n        return `${referrer}:${atomicUnitsFee}`\n      })\n      options.feesOnTop = fixedFees\n    } else if (feesOnTopUsd && feesOnTopUsd.length > 0 && usdPriceRaw) {\n      const feesOnTopFixed = feesOnTopUsd.map((feeOnTop) => {\n        const [recipient, fee] = feeOnTop.split(':')\n        const atomicFee = BigInt(fee)\n        const convertedAtomicFee =\n          atomicFee * BigInt(10 ** paymentCurrency?.decimals!)\n        const currencyFee = convertedAtomicFee / usdPriceRaw\n        const parsedFee = formatUnits(currencyFee, 0)\n        return `${recipient}:${parsedFee}`\n      })\n      options.feesOnTop = feesOnTopFixed\n    } else if (!feesOnTopUsd && !feesOnTopBps) {\n      delete options.feesOnTop\n    }\n\n    if (normalizeRoyalties !== undefined) {\n      options.normalizeRoyalties = normalizeRoyalties\n    }\n\n    setBuyStep(BuyStep.Approving)\n    const items: Item[] = []\n    const item: Item = {\n      fillType: 'trade',\n      quantity,\n    }\n\n    if (is1155) {\n      options.partial = true\n    }\n\n    if (orderId) {\n      item.orderId = orderId\n    } else {\n      item.token = token\n    }\n    items.push(item)\n\n    client.actions\n      .buyToken({\n        chainId: rendererChain?.id,\n        items: items,\n        expectedPrice: {\n          [paymentCurrency?.address || zeroAddress]: {\n            raw: totalIncludingFees - relayerFee,\n            currencyAddress: paymentCurrency?.address,\n            currencyDecimals: paymentCurrency?.decimals || 18,\n          },\n        },\n        wallet,\n        onProgress: (steps: Execute['steps']) => {\n          if (!steps) {\n            return\n          }\n          setSteps(steps)\n\n          const executableSteps = steps.filter(\n            (step) => step.items && step.items.length > 0\n          )\n\n          let stepCount = executableSteps.length\n\n          let currentStepItem:\n            | NonNullable<Execute['steps'][0]['items']>[0]\n            | undefined\n\n          const currentStepIndex = executableSteps.findIndex((step) => {\n            currentStepItem = step.items?.find(\n              (item) => item.status === 'incomplete'\n            )\n            return currentStepItem\n          })\n\n          const currentStep =\n            currentStepIndex > -1\n              ? executableSteps[currentStepIndex]\n              : executableSteps[stepCount - 1]\n\n          if (currentStepItem) {\n            setStepData({\n              totalSteps: stepCount,\n              stepProgress: currentStepIndex,\n              currentStep,\n              currentStepItem,\n            })\n          } else if (\n            steps.every(\n              (step) =>\n                !step.items ||\n                step.items.length == 0 ||\n                step.items?.every((item) => item.status === 'complete')\n            )\n          ) {\n            setBuyStep(BuyStep.Complete)\n          }\n        },\n        options,\n      })\n      .catch((error: Error) => {\n        if (error && error?.message && error?.message.includes('ETH balance')) {\n          setHasEnoughCurrency(false)\n        } else {\n          setTransactionError(error)\n          mutateCollection()\n          mutateTokens()\n          fetchPath(paymentCurrency, paymentTokens)\n        }\n        setBuyStep(BuyStep.Checkout)\n        setStepData(null)\n        setSteps(null)\n      })\n  }, [\n    token,\n    orderId,\n    feesOnTopBps,\n    feesOnTopUsd,\n    quantity,\n    normalizeRoyalties,\n    is1155,\n    client,\n    config,\n    rendererChain,\n    rendererChain,\n    totalIncludingFees,\n    hasAuxiliaryFundsSupport,\n    wallet,\n    paymentCurrency,\n    buyResponseFees,\n    executeBuyOptions,\n    mutateTokens,\n    mutateCollection,\n    onConnectWallet,\n  ])\n\n  useEffect(() => {\n    if ((!path || (path && path.length === 0)) && !isFetchingPath) {\n      setBuyStep(BuyStep.Unavailable)\n    } else {\n      setBuyStep(BuyStep.Checkout)\n    }\n  }, [path, isFetchingPath])\n\n  useEffect(() => {\n    let totalFees = 0n\n\n    if (\n      paymentCurrency?.currencyTotalRaw &&\n      paymentCurrency.currencyTotalRaw > 0n\n    ) {\n      let currencyTotalRawMinusRelayerFees = paymentCurrency?.currencyTotalRaw\n\n      // if relayer fees, subtract from currencyTotalRaw\n      if (buyResponseFees?.relayer?.amount?.raw) {\n        const relayerFees = BigInt(buyResponseFees?.relayer?.amount?.raw ?? 0)\n\n        currencyTotalRawMinusRelayerFees -= relayerFees\n      }\n\n      if (feesOnTopBps && feesOnTopBps.length > 0) {\n        const fees = feesOnTopBps.reduce((totalFees, feeOnTop) => {\n          const [_, fee] = feeOnTop.split(':')\n          return (\n            totalFees +\n            (BigInt(fee) * currencyTotalRawMinusRelayerFees) / 10000n\n          )\n        }, 0n)\n        totalFees += fees\n        setFeeOnTop(fees)\n      } else if (feesOnTopUsd && feesOnTopUsd.length > 0 && usdPriceRaw) {\n        const fees = feesOnTopUsd.reduce((totalFees, feeOnTop) => {\n          const [_, fee] = feeOnTop.split(':')\n          const atomicFee = BigInt(fee)\n          const convertedAtomicFee =\n            atomicFee * BigInt(10 ** paymentCurrency?.decimals!)\n          const currencyFee = convertedAtomicFee / usdPriceRaw\n          return totalFees + currencyFee\n        }, 0n)\n        totalFees += fees\n        setFeeOnTop(fees)\n      } else {\n        setFeeOnTop(0n)\n      }\n\n      setTotalIncludingFees(paymentCurrency?.currencyTotalRaw + totalFees)\n      setAverageUnitPrice(paymentCurrency?.currencyTotalRaw / BigInt(quantity))\n    } else {\n      setTotalIncludingFees(0n)\n      setAverageUnitPrice(0n)\n    }\n  }, [\n    feesOnTopBps,\n    feesOnTopUsd,\n    usdPriceRaw,\n    feeOnTop,\n    quantity,\n    paymentCurrency,\n    buyResponseFees,\n  ])\n\n  useEffect(() => {\n    if (\n      paymentCurrency?.balance != undefined &&\n      totalIncludingFees != undefined &&\n      BigInt(paymentCurrency?.balance) < totalIncludingFees\n    ) {\n      setHasEnoughCurrency(false)\n    } else {\n      setHasEnoughCurrency(true)\n    }\n  }, [totalIncludingFees, paymentCurrency])\n\n  useEffect(() => {\n    if (!open) {\n      setBuyStep(BuyStep.Checkout)\n      setTransactionError(null)\n      setStepData(null)\n      setSteps(null)\n      setQuantity(1)\n      setPath(undefined)\n      _setPaymentCurrency(undefined)\n      setBuyResponseFees(undefined)\n    } else {\n      setQuantity(defaultQuantity || 1)\n    }\n  }, [open])\n\n  open\n    ? (axios.defaults.headers.common['x-rkui-context'] = 'buyModalRenderer')\n    : delete axios.defaults.headers.common?.['x-rkui-context']\n\n  useEffect(() => {\n    if (quantityRemaining > 0 && quantity > quantityRemaining) {\n      setQuantity(quantityRemaining)\n    }\n  }, [quantityRemaining, quantity])\n\n  return (\n    <>\n      {children({\n        loading:\n          !token || !path || (!(paymentTokens.length > 0) && path.length > 0),\n        isFetchingPath,\n        tokenData,\n        collection,\n        quantityAvailable: quantityRemaining || 1,\n        paymentCurrency,\n        paymentTokens,\n        totalIncludingFees,\n        averageUnitPrice,\n        feeOnTop,\n        buyResponseFees,\n        buyStep,\n        transactionError,\n        hasEnoughCurrency,\n        hasAuxiliaryFundsSupport,\n        addFundsLink,\n        feeUsd,\n        totalUsd,\n        usdPrice,\n        balance: paymentCurrency?.balance\n          ? BigInt(paymentCurrency.balance)\n          : undefined,\n        address: address,\n        blockExplorerBaseUrl,\n        blockExplorerBaseName,\n        steps,\n        stepData,\n        path,\n        quantity,\n        isConnected: wallet !== undefined,\n        isOwner,\n        setPaymentCurrency,\n        setQuantity,\n        setBuyStep,\n        buyToken,\n      })}\n    </>\n  )\n}\n","import { Config, useConfig, useReadContracts } from 'wagmi'\nimport { getBalance } from 'wagmi/actions'\nimport { Address, formatUnits, parseUnits, zeroAddress, erc20Abi } from 'viem'\nimport { useContext, useMemo } from 'react'\nimport {\n  useCurrencyConversions,\n  useReservoirClient,\n  useSolverCapacity,\n} from '.'\nimport { BuyPath, ReservoirChain } from '@reservoir0x/reservoir-sdk'\nimport { PaymentToken } from '@reservoir0x/reservoir-sdk'\nimport useSWR from 'swr'\nimport { ProviderOptionsContext } from '../ReservoirKitProvider'\nimport { Currency } from '../types/Currency'\n\nexport type EnhancedCurrency =\n  | NonNullable<ReservoirChain['paymentTokens']>[0] & {\n      usdPrice?: number\n      usdPriceRaw?: bigint\n      usdTotalPriceRaw?: bigint\n      usdTotalFormatted?: string\n      usdBalanceRaw?: bigint\n      balance?: string | number | bigint\n      currencyTotalRaw?: bigint\n      currencyTotalFormatted?: string\n      capacityPerRequest?: bigint\n      maxPricePerItem?: number\n    }\n\nconst fetchNativeBalances = async (\n  address: Address,\n  config: Config,\n  tokens?: PaymentToken[]\n) => {\n  const balancePromises = tokens?.map((currency) =>\n    getBalance(config, {\n      address: address,\n      chainId: currency?.chainId,\n    })\n  )\n\n  const settledResults = balancePromises\n    ? await Promise.allSettled(balancePromises)\n    : []\n\n  return settledResults.map((result) => {\n    return result.status === 'fulfilled' ? result.value : null\n  })\n}\n\nexport default function (options: {\n  open: boolean\n  address: Address\n  quantityToken: Record<string, number>\n  path?: BuyPath\n  nativeOnly?: boolean\n  chainId?: number\n  crossChainDisabled?: boolean\n}) {\n  const {\n    open,\n    address,\n    quantityToken,\n    path,\n    nativeOnly,\n    chainId,\n    crossChainDisabled,\n  } = options\n\n  const client = useReservoirClient()\n  const config = useConfig()\n  const providerOptions = useContext(ProviderOptionsContext)\n  const chain =\n    chainId !== undefined\n      ? client?.chains.find((chain) => chain.id === chainId)\n      : client?.currentChain()\n\n  const includeListingCurrency =\n    providerOptions.alwaysIncludeListingCurrency !== false\n\n  const listingCurrency: Currency | undefined =\n    path && path[0] && path[0].currency\n      ? {\n          contract: path[0].currency,\n          decimals: path[0].currencyDecimals || 18,\n          symbol: path[0].currencySymbol || '',\n        }\n      : undefined\n  const listingCurrencyChainId =\n    path && path[0] && path[0].fromChainId ? path[0].fromChainId : chainId\n\n  const allPaymentTokens = useMemo(() => {\n    let paymentTokens = chain?.paymentTokens\n\n    if (includeListingCurrency) {\n      const listingCurrencyAlreadyExists = paymentTokens?.some(\n        (token) =>\n          token?.address?.toLowerCase() ===\n            listingCurrency?.contract?.toLowerCase() &&\n          token.chainId === listingCurrencyChainId\n      )\n\n      if (!listingCurrencyAlreadyExists && listingCurrency) {\n        paymentTokens?.push({\n          ...listingCurrency,\n          decimals: listingCurrency.decimals || 18,\n          address: listingCurrency.contract as Address,\n          chainId: listingCurrencyChainId || 1,\n          name: listingCurrency.symbol,\n        })\n      }\n    }\n\n    if (crossChainDisabled) {\n      paymentTokens = paymentTokens?.filter(\n        (token) => token.chainId === chain?.id\n      )\n    }\n\n    if (nativeOnly) {\n      paymentTokens = paymentTokens?.filter(\n        (token) => token.address === zeroAddress\n      )\n    }\n\n    return paymentTokens\n  }, [\n    chain?.paymentTokens,\n    crossChainDisabled,\n    nativeOnly,\n    includeListingCurrency,\n    listingCurrency,\n    listingCurrencyChainId,\n  ])\n\n  const nonNativeCurrencies = useMemo(() => {\n    return allPaymentTokens?.filter(\n      (currency) => currency.address !== zeroAddress\n    )\n  }, [\n    allPaymentTokens,\n    chain?.paymentTokens,\n    crossChainDisabled,\n    nativeOnly,\n    includeListingCurrency,\n    listingCurrency,\n  ])\n\n  const nativeCurrencies = useMemo(() => {\n    return allPaymentTokens?.filter(\n      (currency) => currency.address === zeroAddress\n    )\n  }, [\n    allPaymentTokens,\n    chain?.paymentTokens,\n    crossChainDisabled,\n    nativeOnly,\n    includeListingCurrency,\n    listingCurrency,\n  ])\n\n  const { data: nonNativeBalances } = useReadContracts({\n    contracts: open\n      ? nonNativeCurrencies?.map((currency) => ({\n          abi: erc20Abi,\n          address: currency.address.toLowerCase() as `0x${string}`,\n          chainId: currency.chainId,\n          functionName: 'balanceOf',\n          args: [address],\n        }))\n      : [],\n    query: {\n      enabled: open,\n    },\n    allowFailure: false,\n  })\n\n  const { data: nativeBalances } = useSWR(\n    open ? address : undefined,\n    () => fetchNativeBalances(address, config, nativeCurrencies),\n    {\n      revalidateOnFocus: false,\n    }\n  )\n\n  const crosschainChainIds = useMemo(() => {\n    if (crossChainDisabled) {\n      return []\n    } else {\n      return (\n        allPaymentTokens\n          ?.filter((token) => token?.chainId !== chain?.id)\n          ?.map((token) => token?.chainId) ?? []\n      )\n    }\n  }, [allPaymentTokens, crossChainDisabled])\n\n  const { data: solverCapacity } = useSolverCapacity(chain?.id, open)\n\n  const preferredCurrencyConversions = useCurrencyConversions(\n    path && path[0]\n      ? path[0].currency ?? path[0].buyInCurrency ?? undefined\n      : undefined,\n    open ? allPaymentTokens : undefined\n  )\n\n  return useMemo(() => {\n    if (!open) {\n      return []\n    }\n\n    const paymentTokens = allPaymentTokens?.reduce(\n      (tokens, token, i) => {\n        const conversionData = preferredCurrencyConversions?.data?.[i]\n        tokens[`${token.address.toLowerCase()}:${token.chainId}`] = {\n          total: 0n,\n          usdTotal: 0,\n          currency: {\n            ...token,\n            contract: token.address.toLowerCase(),\n          },\n          chainId: token.chainId,\n          conversionData,\n        }\n        return tokens\n      },\n      {} as Record<\n        string,\n        {\n          total: bigint\n          usdTotal: number\n          currency: Currency\n          chainId: number\n          conversionData?: { conversion?: string; usd?: string }\n        }\n      >\n    )\n\n    if (!paymentTokens) {\n      return []\n    }\n\n    let totalQuantities: Record<string, number> = {}\n    let orders: Record<string, number> = {}\n\n    const normalizedQuantities: Record<string, number> = {}\n    for (const key in quantityToken) {\n      normalizedQuantities[key.toLowerCase()] = quantityToken[key]\n    }\n\n    let currencyChainId = chainId\n\n    path?.forEach((pathItem, i) => {\n      const tokenKey = `${pathItem.contract?.toLowerCase()}:${pathItem.tokenId}`\n      const contractKey = `${pathItem.contract?.toLowerCase()}` //todo: test with sweeping\n\n      let assetKey = tokenKey\n      let totalQuantity = 0\n      let requiredQuantity = 0\n      //Determine correct key to use\n      if (normalizedQuantities[tokenKey] !== undefined) {\n        assetKey = tokenKey\n      } else if (normalizedQuantities[contractKey] !== undefined) {\n        assetKey = contractKey\n      }\n\n      totalQuantity = totalQuantities[assetKey] || 0\n      requiredQuantity = normalizedQuantities[assetKey] || 0\n\n      //quantity check\n      const pathQuantity = pathItem.quantity || 0\n      const quantityLeft = requiredQuantity - totalQuantity\n      if (totalQuantity === requiredQuantity) {\n        return\n      }\n\n      let quantityToTake = 0\n\n      if (quantityLeft >= pathQuantity) {\n        quantityToTake = pathQuantity\n      } else {\n        quantityToTake = quantityLeft\n      }\n\n      orders[pathItem.orderId as string] = quantityToTake\n      totalQuantities[assetKey] = totalQuantity + quantityToTake\n\n      //Total for BuyIn or listing currency\n      const currency = pathItem.buyInCurrency\n        ? pathItem.buyInCurrency\n        : pathItem.currency\n      const totalRaw = BigInt(\n        pathItem.buyInRawQuote\n          ? pathItem.buyInRawQuote\n          : pathItem.totalRawPrice ?? 0\n      )\n\n      if (pathItem.fromChainId && pathItem.fromChainId !== chainId) {\n        currencyChainId = pathItem.fromChainId\n      }\n\n      const currencyKey = `${currency?.toLowerCase()}:${currencyChainId}`\n      if (paymentTokens[currencyKey]) {\n        if (currencyChainId !== chainId && i === 0) {\n          paymentTokens[currencyKey].total +=\n            (totalRaw - BigInt(pathItem.gasCost ?? 0)) *\n              BigInt(quantityToTake) +\n            BigInt(pathItem.gasCost ?? 0)\n        } else {\n          paymentTokens[currencyKey].total += totalRaw * BigInt(quantityToTake)\n        }\n      }\n    })\n\n    const preferredToken = Object.values(paymentTokens).find(\n      (token) => token.total > 0n\n    )\n\n    return Object.values(paymentTokens)\n      .map((token) => {\n        const currency = token.currency\n\n        let capacityPerRequest: EnhancedCurrency['capacityPerRequest'] =\n          undefined\n\n        if (\n          !crossChainDisabled &&\n          crosschainChainIds?.length > 0 &&\n          solverCapacity &&\n          token.chainId !== chain?.id &&\n          path\n        ) {\n          capacityPerRequest = BigInt(solverCapacity.capacityPerRequest)\n        }\n\n        let balance: string | number | bigint = 0n\n        if (currency.contract === zeroAddress) {\n          const index =\n            nativeCurrencies?.findIndex(\n              (nativeCurrency) =>\n                nativeCurrency.symbol === currency.symbol &&\n                nativeCurrency.chainId === token.chainId\n            ) || 0\n\n          balance = nativeBalances?.[index]?.value ?? 0n\n        } else {\n          const index =\n            nonNativeCurrencies?.findIndex(\n              (nonNativeCurrency) =>\n                nonNativeCurrency.symbol === currency.symbol &&\n                nonNativeCurrency?.address?.toLowerCase() ===\n                  currency?.contract?.toLowerCase()\n            ) || 0\n          balance =\n            nonNativeBalances &&\n            nonNativeBalances[index] &&\n            (typeof nonNativeBalances[index] === 'string' ||\n              typeof nonNativeBalances[index] === 'number' ||\n              typeof nonNativeBalances[index] === 'bigint')\n              ? (nonNativeBalances[index] as string | number | bigint)\n              : 0n\n        }\n        const conversionData = token.conversionData\n        let currencyTotalRaw = token.total\n        if (\n          !currencyTotalRaw &&\n          (token.currency.contract !== preferredToken?.currency.contract ||\n            token.chainId !== preferredToken?.chainId)\n        ) {\n          currencyTotalRaw =\n            conversionData?.conversion &&\n            conversionData?.conversion !== '0' &&\n            preferredToken?.total\n              ? (preferredToken.total *\n                  parseUnits('1', currency.decimals ?? 18)) /\n                parseUnits(\n                  conversionData?.conversion?.toString(),\n                  preferredToken.currency.decimals ?? 18\n                )\n              : 0n\n        }\n\n        const currencyTotalFormatted =\n          currencyTotalRaw > 0n\n            ? formatUnits(currencyTotalRaw, currency?.decimals || 18)\n            : undefined\n\n        const usdPrice = Number(conversionData?.usd ?? 0)\n        const usdPriceRaw = parseUnits(usdPrice.toString(), 6)\n        const usdTotalPriceRaw = conversionData?.usd\n          ? ((preferredToken?.total || 0n) * usdPriceRaw) /\n            parseUnits('1', preferredToken?.currency?.decimals ?? 18)\n          : undefined\n\n        const usdTotalFormatted = usdTotalPriceRaw\n          ? formatUnits(usdTotalPriceRaw, 6)\n          : undefined\n        const usdBalanceRaw =\n          conversionData?.usd && typeof balance === 'bigint'\n            ? ((balance || 0n) * usdPriceRaw) /\n              parseUnits('1', preferredToken?.currency?.decimals ?? 18)\n            : undefined\n\n        return {\n          ...currency,\n          address: token?.currency?.contract?.toLowerCase(),\n          usdPrice: token.usdTotal,\n          usdPriceRaw,\n          usdTotalPriceRaw,\n          balance,\n          currencyTotalRaw,\n          currencyTotalFormatted,\n          usdTotalFormatted: usdTotalFormatted,\n          usdBalanceRaw: usdBalanceRaw,\n          capacityPerRequest,\n          chainId: token.chainId,\n        }\n      })\n      .sort((a, b) => {\n        return Number(b.usdBalanceRaw) - Number(a.usdBalanceRaw)\n      })\n  }, [\n    address,\n    chainId,\n    allPaymentTokens,\n    path,\n    nonNativeBalances,\n    nativeBalances,\n    quantityToken,\n    listingCurrency,\n    listingCurrencyChainId,\n    preferredCurrencyConversions,\n  ]) as EnhancedCurrency[]\n}\n","import { axios, paths } from '@reservoir0x/reservoir-sdk'\nimport useSWR from 'swr/immutable'\nimport { PaymentToken } from '@reservoir0x/reservoir-sdk'\nimport { useReservoirClient } from '.'\n\ntype CurrencyConversionResponse =\n  paths['/currencies/conversion/v1']['get']['responses']['200']['schema']\n\nconst fetcher = async (urls: string[]) => {\n  const fetches = urls.map(\n    (url) =>\n      axios(url)\n        .then((r) => r.data)\n        .catch(() => undefined) // If a fetch fails, return undefined\n  )\n  const results = await Promise.allSettled(fetches)\n  return results.map((result) =>\n    result.status === 'fulfilled' ? result.value : undefined\n  )\n}\n\nexport default function (\n  preferredCurrencyAddress?: string,\n  currencies?: PaymentToken[]\n) {\n  const client = useReservoirClient()\n  const chains = client?.chains.reduce((map, chain) => {\n    map[chain.id] = chain.baseApiUrl\n    return map\n  }, {} as Record<string, string>)\n  const urls = preferredCurrencyAddress\n    ? currencies?.map(\n        (currency) =>\n          chains?.[currency.chainId] +\n          `/currencies/conversion/v1?from=${currency.address}&to=${preferredCurrencyAddress}`\n      )\n    : undefined\n\n  const { data, error } = useSWR<CurrencyConversionResponse[]>(urls, fetcher, {\n    refreshInterval: 300000, //5m\n  })\n  return {\n    data: data,\n    isError: !!error,\n    isLoading: !data && !error,\n  }\n}\n","import useSWR from 'swr'\nimport { axios } from '@reservoir0x/reservoir-sdk'\nimport { useReservoirClient } from './'\n\ntype RelayChain = {\n  id: number\n  name: string\n  displayName: string\n  httpRpcUrl: string\n  wsRpcUrl: string\n  explorerUrl: string\n  explorerName: string\n  depositEnabled: boolean\n  disabled: boolean\n  partialDisableLimit: number\n  blockProductionLagging: boolean\n  currency: {\n    id: string\n    symbol: string\n    name: string\n    address: string\n    decimals: number\n    supportsBridging: boolean\n  }\n  withdrawalFee: number\n  depositFee: number\n  surgeEnabled: boolean\n  erc20Currencies: Array<{\n    id: string\n    symbol: string\n    name: string\n    address: string\n    decimals: number\n    supportsBridging: boolean\n    supportsPermit: boolean\n    withdrawalFee: number\n    depositFee: number\n    surgeEnabled: boolean\n  }>\n  iconUrl?: string | null\n  logoUrl?: string | null\n  brandColor?: string | null\n  contracts: {\n    multicall3: string\n    multicaller: string\n    onlyOwnerMulticaller: string\n    relayReceiver: string\n    erc20Router: string\n    approvalProxy: string\n  }\n  vmType: string\n  explorerQueryParams?: Record<string, any> | null\n}\n\ntype RelayChainsResponse = {\n  chains: RelayChain[]\n}\n\nexport default function (chainId?: number) {\n  const client = useReservoirClient()\n\n  const chain =\n    chainId !== undefined\n      ? client?.chains.find((chain) => chain.id === chainId)\n      : client?.currentChain()\n\n  const { data: mainnetData, error: mainnetError } =\n    useSWR<RelayChainsResponse>(\n      chain ? 'https://api.relay.link/chains' : null,\n      async (url) => {\n        try {\n          const response = await axios.get(url)\n          return response.data\n        } catch (error) {\n          console.error('Error fetching relay mainnet chains:', error)\n          return undefined\n        }\n      },\n      {\n        revalidateOnFocus: false,\n      }\n    )\n\n  const { data: testnetData, error: testnetError } =\n    useSWR<RelayChainsResponse>(\n      chain ? 'https://api.testnets.relay.link/chains' : null,\n      async (url) => {\n        try {\n          const response = await axios.get(url)\n          return response.data\n        } catch (error) {\n          console.error('Error fetching relay testnet chains:', error)\n          return undefined\n        }\n      },\n      {\n        revalidateOnFocus: false,\n      }\n    )\n\n  let relayLink = null\n\n  const mainnetChain = mainnetData?.chains?.find(\n    (chain) => chain.id === chainId\n  )\n  const testnetChain = !mainnetChain\n    ? testnetData?.chains?.find((chain) => chain.id === chainId)\n    : null\n\n  if (mainnetChain) {\n    relayLink = `https://relay.link/bridge/${mainnetChain.name}`\n  } else if (testnetChain) {\n    relayLink = `https://testnets.relay.link/bridge/${testnetChain.name}`\n  }\n\n  return {\n    relayLink,\n    isError: !!mainnetError || !!testnetError,\n    isLoading:\n      (!mainnetData && !mainnetError) || (!testnetData && !testnetError),\n  }\n}\n","import { Flex } from '../primitives'\nimport React, { ComponentPropsWithoutRef, FC } from 'react'\n\ntype Props = {\n  value: number\n  max: number\n} & ComponentPropsWithoutRef<typeof Flex>\n\nconst ProgressBar: FC<Props> = ({ value, max, ...props }) => {\n  return (\n    <Flex {...props} css={{ width: '100%', gap: '$2', ...props.css }}>\n      {[...Array(max)].map((_item, i) => (\n        <Flex\n          key={i}\n          css={{\n            height: 4,\n            borderRadius: 99999,\n            flex: 1,\n            background:\n              'linear-gradient(to left, $neutralBorderHover 50%, $accentSolid 50%) right',\n            backgroundSize: '200% 100%',\n            backgroundPosition: i + 1 <= value ? 'left' : 'right',\n            transition: 'all 0.5s ease',\n          }}\n        ></Flex>\n      ))}\n    </Flex>\n  )\n}\n\nexport default ProgressBar\n","import React, { CSSProperties, FC } from 'react'\nimport { Button } from '../primitives'\nimport PseudoInput from '../primitives/PseudoInput'\nimport { styled } from '../../stitches.config'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faMinus } from '@fortawesome/free-solid-svg-icons/faMinus'\nimport { faPlus } from '@fortawesome/free-solid-svg-icons/faPlus'\n\ntype Props = {\n  max: number\n  min: number\n  quantity: number\n  setQuantity: (quantity: number) => void\n  css?: CSSProperties\n}\n\nconst QuantityButton = styled(Button, {\n  color: '$neutralSolid',\n  backgroundColor: 'transparent',\n  '&:disabled': {\n    backgroundColor: '$transparent',\n    color: '$neutralBorderHover',\n  },\n  '&:disabled:hover': {\n    backgroundColor: '$transparent',\n    color: '$neutralBorderHover',\n  },\n  defaultVariants: {\n    color: 'ghost',\n  },\n})\n\nconst QuantityInput = styled('input', {\n  border: 0,\n  background: 'none',\n  fontSize: 16,\n  maxWidth: 53,\n  textAlign: 'center',\n  color: '$neutralTextContrast',\n})\n\nconst QuantitySelector: FC<Props> = ({\n  max,\n  min,\n  quantity,\n  setQuantity,\n  css,\n}) => {\n  return (\n    <PseudoInput\n      css={{\n        gap: '$1',\n        direction: 'column',\n        display: 'flex',\n        alignItems: 'center',\n        p: 0,\n        ...css,\n      }}\n    >\n      <QuantityButton\n        css={{ px: 20 }}\n        disabled={quantity <= min}\n        onClick={() => {\n          setQuantity(quantity - 1)\n        }}\n      >\n        <FontAwesomeIcon\n          icon={faMinus}\n          width=\"16\"\n          height=\"16\"\n          style={{ height: 16 }}\n        />\n      </QuantityButton>\n      <QuantityInput\n        value={quantity == -1 ? '' : quantity}\n        onChange={(e) => {\n          if (e.target.value === '') {\n            setQuantity(-1)\n            return\n          }\n\n          const newQuantity = Number(e.target.value || 0)\n          if (newQuantity && newQuantity >= min && newQuantity <= max) {\n            setQuantity(newQuantity)\n          } else {\n            setQuantity(quantity)\n          }\n        }}\n        onBlur={(e) => {\n          if (e.target.value === '') {\n            setQuantity(min)\n          } else if (Number(e.target.value) > max) {\n            setQuantity(max)\n          }\n        }}\n      />\n      <QuantityButton\n        css={{ px: 20 }}\n        disabled={quantity >= max}\n        onClick={() => {\n          setQuantity(quantity + 1)\n        }}\n      >\n        <FontAwesomeIcon\n          icon={faPlus}\n          width=\"16\"\n          height=\"16\"\n          style={{ height: 16 }}\n        />\n      </QuantityButton>\n    </PseudoInput>\n  )\n}\n\nexport default QuantitySelector\n","import { styled } from '../../stitches.config'\n\nconst PseudoInput = styled('div', {\n  all: 'unset',\n  width: 'auto',\n  padding: '$4',\n  borderRadius: '$space$2',\n  fontFamily: '$body',\n  fontSize: 16,\n  fontWeight: 400,\n  color: '$neutralText',\n  backgroundColor: '$inputBackground',\n})\n\nexport default PseudoInput\n","import React, { FC } from 'react'\nimport {\n  Box,\n  Button,\n  ChainIcon,\n  CryptoCurrencyIcon,\n  Flex,\n  Text,\n} from '../primitives'\nimport { EnhancedCurrency } from '../hooks/usePaymentTokens'\nimport { formatUnits, zeroAddress } from 'viem'\nimport EthIconCircleBlue from '../img/EthIconCircleBlue'\nimport { formatNumber } from '../lib/numbers'\n\ntype Props = {\n  paymentTokens: EnhancedCurrency[]\n  setCurrency: React.Dispatch<\n    React.SetStateAction<EnhancedCurrency | undefined>\n  >\n  goBack: () => void\n  currency?: EnhancedCurrency\n  itemAmount: number\n  chainId: number\n}\n\nconst PaymentTokenRow = ({\n  setCurrency,\n  paymentToken,\n  goBack,\n  currency,\n}: {\n  setCurrency: Props['setCurrency']\n  paymentToken: EnhancedCurrency\n  goBack: Props['goBack']\n  currency?: EnhancedCurrency\n}) => {\n  const isSelectedCurrency =\n    currency?.address.toLowerCase() === paymentToken?.address &&\n    currency?.chainId === paymentToken?.chainId\n  const formattedBalance = formatUnits(\n    BigInt(paymentToken?.balance || 0),\n    paymentToken?.decimals || 18\n  )\n  return (\n    <Button\n      color=\"ghost\"\n      size=\"none\"\n      css={{\n        display: 'flex',\n        alignItems: 'center',\n        justifyContent: 'space-between',\n        width: '100%',\n        p: '$4',\n        background: '$neutralBg',\n        borderRadius: 8,\n        border: isSelectedCurrency ? '1px solid $accentBorderHover' : 'none',\n        '&:hover': {\n          background: '$neutralBgHover',\n        },\n        '&:disabled': {\n          background: 'transparent',\n          cursor: 'not-allowed',\n        },\n      }}\n      onClick={() => {\n        setCurrency(paymentToken)\n        goBack()\n      }}\n    >\n      <Flex\n        align=\"center\"\n        css={{\n          gap: '$3',\n          width: '100%',\n        }}\n      >\n        {paymentToken?.address === zeroAddress &&\n        paymentToken.symbol === 'ETH' ? (\n          <Box\n            css={{\n              display: 'flex',\n              width: 34,\n              height: 34,\n              'object-fit': 'contain',\n              position: 'relative',\n            }}\n          >\n            <EthIconCircleBlue />\n            <ChainIcon\n              chainId={paymentToken.chainId}\n              color={true}\n              css={{\n                position: 'absolute',\n                bottom: -5,\n                right: -5,\n                width: 20,\n                height: 20,\n              }}\n            />\n          </Box>\n        ) : (\n          <CryptoCurrencyIcon\n            chainId={paymentToken.chainId}\n            address={paymentToken?.address as string}\n            css={{ width: 34, height: 34, 'object-fit': 'contain' }}\n          />\n        )}\n        <Text style=\"subtitle2\" css={{ mr: 'auto' }} ellipsify>\n          {paymentToken?.name}\n        </Text>\n        <Text style=\"subtitle2\" color=\"subtle\">\n          Balance: {formatNumber(Number(formattedBalance), 6)}\n        </Text>\n      </Flex>\n    </Button>\n  )\n}\n\nexport const SelectPaymentToken: FC<Props> = ({\n  paymentTokens,\n  setCurrency,\n  goBack,\n  currency,\n  itemAmount,\n  chainId,\n}) => {\n  const availablePaymentTokens = paymentTokens.filter((paymentToken) => {\n    const isSelectedCurrency =\n      currency?.address.toLowerCase() === paymentToken?.address &&\n      currency?.chainId === paymentToken?.chainId\n    const hasMaxPricePerItem = paymentToken?.maxPricePerItem != undefined\n    const hasCurrencyTotalRaw = paymentToken?.currencyTotalRaw != undefined\n    const maxPurchasablePrice = paymentToken?.capacityPerRequest\n\n    return Boolean(\n      isSelectedCurrency ||\n        (!hasMaxPricePerItem && hasCurrencyTotalRaw) ||\n        (maxPurchasablePrice &&\n          paymentToken?.currencyTotalRaw !== undefined &&\n          maxPurchasablePrice >= paymentToken?.currencyTotalRaw)\n    )\n  })\n\n  const nativeCurrencies = availablePaymentTokens.filter(\n    (token) => token.chainId === chainId\n  )\n  const crossChainCurrencies = availablePaymentTokens.filter(\n    (token) => token.chainId !== chainId\n  )\n\n  return (\n    <Flex direction=\"column\" css={{ width: '100%', gap: '$3', px: '$3' }}>\n      {nativeCurrencies.map((paymentToken, idx) => (\n        <PaymentTokenRow\n          key={idx}\n          currency={currency}\n          goBack={goBack}\n          setCurrency={setCurrency}\n          paymentToken={paymentToken}\n        />\n      ))}\n      {crossChainCurrencies.length > 0 ? (\n        <Flex direction=\"column\" align=\"start\" css={{ gap: '$2' }}>\n          <Text style=\"subtitle2\" color=\"subtle\">\n            CrossChain ETH\n          </Text>\n        </Flex>\n      ) : null}\n      {crossChainCurrencies.map((paymentToken, idx) => (\n        <PaymentTokenRow\n          key={idx}\n          currency={currency}\n          goBack={goBack}\n          setCurrency={setCurrency}\n          paymentToken={paymentToken}\n        />\n      ))}\n    </Flex>\n  )\n}\n","import React, { FC } from 'react'\nimport { ThemeContext } from '../ReservoirKitProvider'\nimport { ReservoirKitThemeContext } from '../../stitches.config'\nimport { useContext } from 'react'\nimport { Box } from './'\nimport { CSS } from '@stitches/react'\nimport chainIcons from '../constants/chainIcons'\n\ntype Props = {\n  chainId?: number\n  height?: number\n  css?: CSS\n  color?: boolean\n}\n\nconst ChainIcon: FC<Props> = ({ chainId, css = {}, height = 14, color }) => {\n  const themeContext = useContext(ThemeContext)\n\n  if (!chainId) {\n    return null\n  }\n\n  const chainIconConfig = chainIcons[chainId]\n  let iconTheme: ReservoirKitThemeContext['assets']['chainIcon']['value'] =\n    themeContext && (themeContext as any)\n      ? themeContext['assets']['chainIcon']['value']\n      : 'dark'\n\n  let icon: JSX.Element | null = chainIconConfig[iconTheme]\n\n  if (color) {\n    icon = chainIconConfig.color\n  }\n\n  return icon ? (\n    <Box\n      css={{\n        display: 'flex',\n        height: height,\n        ...css,\n      }}\n    >\n      {icon}\n    </Box>\n  ) : null\n}\n\nexport default ChainIcon\n","import React from 'react'\nimport { reservoirChains } from '@reservoir0x/reservoir-sdk'\nimport StoryOdysseyIconDark from '../img/chains/StoryOdysseyIconDark'\nimport StoryOdysseyIconLight from '../img/chains/StoryOdysseyIconLight'\nimport StoryOdysseyIconColor from '../img/chains/StoryOdysseyIconColor'\nimport MainnetIconDark from '../img/chains/MainnetIconDark'\nimport MainnetIconLight from '../img/chains/MainnetIconLight'\nimport PolygonIconDark from '../img/chains/PolygonIconDark'\nimport PolygonIconLight from '../img/chains/PolygonIconLight'\nimport PolygonIconColor from '../img/chains/PolygonIconColor'\nimport BaseIconDark from '../img/chains/BaseIconDark'\nimport BaseIconLight from '../img/chains/BaseIconLight'\nimport BaseIconColor from '../img/chains/BaseIconColor'\nimport Ancient8IconDark from '../img/chains/Ancient8IconDark'\nimport Ancient8IconLight from '../img/chains/Ancient8IconLight'\nimport Ancient8IconColor from '../img/chains/Ancient8IconColor'\nimport ArbitrumIconDark from '../img/chains/ArbitrumIconDark'\nimport ArbitrumIconLight from '../img/chains/ArbitrumIconLight'\nimport ArbitrumIconColor from '../img/chains/ArbitrumIconColor'\nimport ArbitrumNovaIconDark from '../img/chains/ArbitrumNovaIconDark'\nimport ArbitrumNovaIconLight from '../img/chains/ArbitrumNovaIconLight'\nimport ArbitrumNovaIconColor from '../img/chains/ArbitrumNovaIconColor'\nimport AvalancheIconDark from '../img/chains/AvalancheIconDark'\nimport AvalancheIconLight from '../img/chains/AvalancheIconLight'\nimport AvalancheIconColor from '../img/chains/AvalancheIconColor'\nimport BscIconDark from '../img/chains/BscIconDark'\nimport BscIconLight from '../img/chains/BscIconLight'\nimport BscIconColor from '../img/chains/BscIconColor'\nimport SepoliaIconDark from '../img/chains/SepoliaIconDark'\nimport SepoliaIconLight from '../img/chains/SepoliaIconLight'\nimport LineaIconDark from '../img/chains/LineaIconDark'\nimport LineaIconLight from '../img/chains/LineaIconLight'\nimport LineaIconColor from '../img/chains/LineaIconColor'\nimport OptimismIconDark from '../img/chains/OptimismIconDark'\nimport OptimismIconLight from '../img/chains/OptimismIconLight'\nimport OptimismIconColor from '../img/chains/OptimismIconColor'\nimport ScrollIconDark from '../img/chains/ScrollIconDark'\nimport ScrollIconLight from '../img/chains/ScrollIconLight'\nimport ScrollIconColor from '../img/chains/ScrollIconColor'\nimport PolygonZkevmIconDark from '../img/chains/PolygonZkevmIconDark'\nimport PolygonZkevmIconLight from '../img/chains/PolygonZkevmIconLight'\nimport PolygonZkevmIconColor from '../img/chains/PolygonZkevmIconColor'\nimport ZksyncIconDark from '../img/chains/ZksyncIconDark'\nimport ZksyncIconLight from '../img/chains/ZksyncIconLight'\nimport ZksyncIconColor from '../img/chains/ZksyncIconColor'\nimport ZoraIconDark from '../img/chains/ZoraIconDark'\nimport ZoraIconLight from '../img/chains/ZoraIconLight'\nimport ZoraIconColor from '../img/chains/ZoraIconColor'\nimport FrameIconDark from '../img/chains/FrameIconDark'\nimport FrameIconLight from '../img/chains/FrameIconLight'\nimport FrameIconColor from '../img/chains/FrameIconColor'\nimport BlastSepoliaIconColor from '../img/chains/BlastSepoliaIconColor'\nimport BlastSepoliaIconLight from '../img/chains/BlastSepoliaIconLight'\nimport BlastSepoliaIconDark from '../img/chains/BlastSepoliaIconDark'\nimport ApexPopIconLight from '../img/chains/ApexPopIconLight'\nimport ApexPopIconDark from '../img/chains/ApexPopIconDark'\nimport ApexPopIconColor from '../img/chains/ApexPopIconColor'\nimport BlastIconColor from '../img/chains/BlastIconColor'\nimport BlastIconDark from '../img/chains/BlastIconDark'\nimport BlastIconLight from '../img/chains/BlastIconLight'\nimport AstarZkEVMLight from '../img/chains/AstarZkEVMLight'\nimport AstarZkEVMDark from '../img/chains/AstarZkEVMDark'\nimport AstarZkEVMColor from '../img/chains/AstarZkEVMColor'\nimport RedstoneColor from '../img/chains/RedstoneColor'\nimport RedstoneDark from '../img/chains/RedstoneDark'\nimport RedstoneLight from '../img/chains/RedstoneLight'\nimport BerachainIconLight from '../img/chains/BerachainIconLight'\nimport BerachainIconDark from '../img/chains/BerachainIconDark'\nimport BerachainIconColor from '../img/chains/BerachainIconColor'\nimport DegenIconLight from '../img/chains/DegenIconLight'\nimport DegenIconDark from '../img/chains/DegenIconDark'\nimport DegenIconColor from '../img/chains/DegenIconColor'\nimport XaiIconLight from '../img/chains/XaiIconLight'\nimport XaiIconDark from '../img/chains/XaiIconDark'\nimport XaiIconColor from '../img/chains/XaiIconColor'\nimport NebulaIconLight from '../img/chains/NebulaIconLight'\nimport NebulaIconDark from '../img/chains/NebulaIconDark'\nimport NebulaIconColor from '../img/chains/NebulaIconColor'\nimport SeiTestnetIconLight from '../img/chains/SeiTestnetIconLight'\nimport SeiTestnetIconDark from '../img/chains/SeiTestnetIconDark'\nimport SeiTestnetIconColor from '../img/chains/SeiTestnetIconColor'\nimport CyberIconLight from '../img/chains/CyberIconLight'\nimport CyberIconDark from '../img/chains/CyberIconDark'\nimport CyberIconColor from '../img/chains/CyberIconColor'\nimport BitlayerIconLight from '../img/chains/BitlayerIconLight'\nimport BitlayerIconDark from '../img/chains/BitlayerIconDark'\nimport BitlayerIconColor from '../img/chains/BitlayerIconColor'\nimport SeiIconLight from '../img/chains/SeiIconLight'\nimport SeiIconDark from '../img/chains/SeiIconDark'\nimport SeiIconColor from '../img/chains/SeiIconColor'\nimport B3IconLight from '../img/chains/B3IconLight'\nimport B3IconDark from '../img/chains/B3IconDark'\nimport B3IconColor from '../img/chains/B3IconColor'\nimport FlowPreviewnetIconLight from '../img/chains/FlowPreviewnetIconLight'\nimport FlowPreviewnetIconDark from '../img/chains/FlowPreviewnetIconDark'\nimport FlowPreviewnetIconColor from '../img/chains/FlowPreviewnetIconColor'\nimport CloudIconLight from '../img/chains/CloudIconLight'\nimport CloudIconDark from '../img/chains/CloudIconDark'\nimport CloudIconColor from '../img/chains/CloudIconColor'\nimport Game7IconLight from '../img/chains/Game7IconLight'\nimport Game7IconDark from '../img/chains/Game7IconDark'\nimport Game7IconColor from '../img/chains/Game7IconColor'\nimport FormaIconLight from '../img/chains/FormaIconLight'\nimport FormaIconDark from '../img/chains/FormaIconDark'\nimport FormaIconColor from '../img/chains/FormaIconColor'\nimport ApechainIconLight from '../img/chains/ApechainIconLight'\nimport ApechainIconDark from '../img/chains/ApechainIconDark'\nimport ApechainIconColor from '../img/chains/ApechainIconColor'\nimport ShapeIconLight from '../img/chains/ShapeIconLight'\nimport ShapeIconDark from '../img/chains/ShapeIconDark'\nimport ShapeIconColor from '../img/chains/ShapeIconColor'\nimport AbstractIconLight from '../img/chains/AbstractIconLight'\nimport AbstractIconDark from '../img/chains/AbstractIconDark'\nimport AbstractIconColor from '../img/chains/AbstractIconColor'\nimport HychainIconLight from '../img/chains/HychainIconLight'\nimport HychainIconDark from '../img/chains/HychainIconDark'\nimport HychainIconColor from '../img/chains/HychainIconColor'\nimport ZeroIconLight from '../img/chains/ZeroIconLight'\nimport ZeroIconDark from '../img/chains/ZeroIconDark'\nimport ZeroIconColor from '../img/chains/ZeroIconColor'\nimport AnimeIconLight from '../img/chains/AnimeIconLight'\nimport AnimeIconDark from '../img/chains/AnimeIconDark'\nimport AnimeIconColor from '../img/chains/AnimeIconColor'\nimport MonadIconLight from '../img/chains/MonadIconLight'\nimport MonadIconDark from '../img/chains/MonadIconDark'\nimport MonadIconColor from '../img/chains/MonadIconColor'\nimport CreatorTestnetIconLight from '../img/chains/CreatorTestnetIconLight'\nimport CreatorTestnetIconDark from '../img/chains/CreatorTestnetIconDark'\nimport CreatorTestnetIconColor from '../img/chains/CreatorTestnetIconColor'\nimport SoneiumIconLight from '../img/chains/SoneiumIconLight'\nimport SoneiumIconDark from '../img/chains/SoneiumIconDark'\nimport SoneiumIconColor from '../img/chains/SoneiumIconColor'\nimport InkIconLight from '../img/chains/InkIconLight'\nimport InkIconDark from '../img/chains/InkIconDark'\nimport InkIconColor from '../img/chains/InkIconColor'\n\nconst chainIcons = {\n  [reservoirChains.ancient8.id]: {\n    light: <Ancient8IconDark />,\n    dark: <Ancient8IconLight />,\n    color: <Ancient8IconColor />,\n  },\n  [reservoirChains.ancient8Testnet.id]: {\n    light: <Ancient8IconDark />,\n    dark: <Ancient8IconLight />,\n    color: <Ancient8IconColor />,\n  },\n  [reservoirChains.arbitrum.id]: {\n    light: <ArbitrumIconDark />,\n    dark: <ArbitrumIconLight />,\n    color: <ArbitrumIconColor />,\n  },\n  [reservoirChains.arbitrumNova.id]: {\n    light: <ArbitrumNovaIconDark />,\n    dark: <ArbitrumNovaIconLight />,\n    color: <ArbitrumNovaIconColor />,\n  },\n  [reservoirChains.avalanche.id]: {\n    light: <AvalancheIconDark />,\n    dark: <AvalancheIconLight />,\n    color: <AvalancheIconColor />,\n  },\n  [reservoirChains.base.id]: {\n    light: <BaseIconDark />,\n    dark: <BaseIconLight />,\n    color: <BaseIconColor />,\n  },\n  [reservoirChains.baseSepolia.id]: {\n    light: <BaseIconDark />,\n    dark: <BaseIconLight />,\n    color: <BaseIconColor />,\n  },\n  [reservoirChains.bsc.id]: {\n    light: <BscIconDark />,\n    dark: <BscIconLight />,\n    color: <BscIconColor />,\n  },\n  [reservoirChains.opBnb.id]: {\n    light: <BscIconDark />,\n    dark: <BscIconLight />,\n    color: <BscIconColor />,\n  },\n  [reservoirChains.sepolia.id]: {\n    light: <SepoliaIconDark />,\n    dark: <SepoliaIconLight />,\n    color: null,\n  },\n  [reservoirChains.linea.id]: {\n    light: <LineaIconDark />,\n    dark: <LineaIconLight />,\n    color: <LineaIconColor />,\n  },\n  [reservoirChains.mainnet.id]: {\n    light: <MainnetIconDark />,\n    dark: <MainnetIconLight />,\n    color: null,\n  },\n  [reservoirChains.optimism.id]: {\n    light: <OptimismIconDark />,\n    dark: <OptimismIconLight />,\n    color: <OptimismIconColor />,\n  },\n  [reservoirChains.polygonZkEvm.id]: {\n    light: <PolygonZkevmIconDark />,\n    dark: <PolygonZkevmIconLight />,\n    color: <PolygonZkevmIconColor />,\n  },\n  [reservoirChains.polygon.id]: {\n    light: <PolygonIconDark />,\n    dark: <PolygonIconLight />,\n    color: <PolygonIconColor />,\n  },\n\n  [reservoirChains.polygonAmoy.id]: {\n    light: <PolygonIconDark />,\n    dark: <PolygonIconLight />,\n    color: <PolygonIconColor />,\n  },\n  [reservoirChains.scrollTestnet.id]: {\n    light: <ScrollIconDark />,\n    dark: <ScrollIconLight />,\n    color: <ScrollIconColor />,\n  },\n  [reservoirChains.scroll.id]: {\n    light: <ScrollIconDark />,\n    dark: <ScrollIconLight />,\n    color: <ScrollIconColor />,\n  },\n  [reservoirChains.zkSync.id]: {\n    light: <ZksyncIconDark />,\n    dark: <ZksyncIconLight />,\n    color: <ZksyncIconColor />,\n  },\n  [reservoirChains.zora.id]: {\n    light: <ZoraIconDark />,\n    dark: <ZoraIconLight />,\n    color: <ZoraIconColor />,\n  },\n  [reservoirChains.frameTestnet.id]: {\n    light: <FrameIconDark />,\n    dark: <FrameIconLight />,\n    color: <FrameIconColor />,\n  },\n  [reservoirChains.blastSepolia.id]: {\n    light: <BlastSepoliaIconDark />,\n    dark: <BlastSepoliaIconLight />,\n    color: <BlastSepoliaIconColor />,\n  },\n  [reservoirChains.apexPop.id]: {\n    light: <ApexPopIconLight />,\n    dark: <ApexPopIconDark />,\n    color: <ApexPopIconColor />,\n  },\n  [reservoirChains.apexPopTestnet.id]: {\n    light: <ApexPopIconLight />,\n    dark: <ApexPopIconDark />,\n    color: <ApexPopIconColor />,\n  },\n  [reservoirChains.blast.id]: {\n    light: <BlastIconLight />,\n    dark: <BlastIconDark />,\n    color: <BlastIconColor />,\n  },\n  [reservoirChains.astarZkEVM.id]: {\n    light: <AstarZkEVMLight />,\n    dark: <AstarZkEVMDark />,\n    color: <AstarZkEVMColor />,\n  },\n  [reservoirChains.garnet.id]: {\n    light: <RedstoneLight />,\n    dark: <RedstoneDark />,\n    color: <RedstoneColor />,\n  },\n  [reservoirChains.redstone.id]: {\n    light: <RedstoneLight />,\n    dark: <RedstoneDark />,\n    color: <RedstoneColor />,\n  },\n  [reservoirChains.berachainTestnet.id]: {\n    light: <BerachainIconLight />,\n    dark: <BerachainIconDark />,\n    color: <BerachainIconColor />,\n  },\n  [reservoirChains.degen.id]: {\n    light: <DegenIconLight />,\n    dark: <DegenIconDark />,\n    color: <DegenIconColor />,\n  },\n  [reservoirChains.xai.id]: {\n    light: <XaiIconLight />,\n    dark: <XaiIconDark />,\n    color: <XaiIconColor />,\n  },\n  [reservoirChains.nebula.id]: {\n    light: <NebulaIconLight />,\n    dark: <NebulaIconDark />,\n    color: <NebulaIconColor />,\n  },\n  [reservoirChains.seiTestnet.id]: {\n    light: <SeiTestnetIconLight />,\n    dark: <SeiTestnetIconDark />,\n    color: <SeiTestnetIconColor />,\n  },\n  [reservoirChains.cyber.id]: {\n    light: <CyberIconLight />,\n    dark: <CyberIconDark />,\n    color: <CyberIconColor />,\n  },\n  [reservoirChains.bitlayer.id]: {\n    light: <BitlayerIconLight />,\n    dark: <BitlayerIconDark />,\n    color: <BitlayerIconColor />,\n  },\n  [reservoirChains.sei.id]: {\n    light: <SeiIconLight />,\n    dark: <SeiIconDark />,\n    color: <SeiIconColor />,\n  },\n  [reservoirChains.b3Testnet.id]: {\n    light: <B3IconLight />,\n    dark: <B3IconDark />,\n    color: <B3IconColor />,\n  },\n  [reservoirChains.flowPreviewnet.id]: {\n    light: <FlowPreviewnetIconLight />,\n    dark: <FlowPreviewnetIconDark />,\n    color: <FlowPreviewnetIconColor />,\n  },\n  [reservoirChains.cloud.id]: {\n    light: <CloudIconLight />,\n    dark: <CloudIconDark />,\n    color: <CloudIconColor />,\n  },\n  [reservoirChains.game7Testnet.id]: {\n    light: <Game7IconLight />,\n    dark: <Game7IconDark />,\n    color: <Game7IconColor />,\n  },\n  [reservoirChains.boss.id]: {\n    light: <ApexPopIconLight />,\n    dark: <ApexPopIconDark />,\n    color: <ApexPopIconColor />,\n  },\n  [reservoirChains.forma.id]: {\n    light: <FormaIconLight />,\n    dark: <FormaIconDark />,\n    color: <FormaIconColor />,\n  },\n  [reservoirChains.forma.id]: {\n    light: <FormaIconLight />,\n    dark: <FormaIconDark />,\n    color: <FormaIconColor />,\n  },\n  [reservoirChains.formaSketchpad.id]: {\n    light: <FormaIconLight />,\n    dark: <FormaIconDark />,\n    color: <FormaIconColor />,\n  },\n  [reservoirChains.b3.id]: {\n    light: <B3IconLight />,\n    dark: <B3IconDark />,\n    color: <B3IconColor />,\n  },\n  [reservoirChains.apechain.id]: {\n    light: <ApechainIconLight />,\n    dark: <ApechainIconDark />,\n    color: <ApechainIconColor />,\n  },\n  [reservoirChains.curtis.id]: {\n    light: <ApechainIconLight />,\n    dark: <ApechainIconDark />,\n    color: <ApechainIconColor />,\n  },\n  [reservoirChains.shape.id]: {\n    light: <ShapeIconLight />,\n    dark: <ShapeIconDark />,\n    color: <ShapeIconColor />,\n  },\n  [reservoirChains.shapeSepolia.id]: {\n    light: <ShapeIconLight />,\n    dark: <ShapeIconDark />,\n    color: <ShapeIconColor />,\n  },\n  [reservoirChains.abstractTestnet.id]: {\n    light: <AbstractIconLight />,\n    dark: <AbstractIconDark />,\n    color: <AbstractIconColor />,\n  },\n  [reservoirChains.minato.id]: {\n    light: <SoneiumIconLight />,\n    dark: <SoneiumIconDark />,\n    color: <SoneiumIconColor />,\n  },\n  [reservoirChains.hychain.id]: {\n    light: <HychainIconLight />,\n    dark: <HychainIconDark />,\n    color: <HychainIconColor />,\n  },\n  [reservoirChains.hychainTestnet.id]: {\n    light: <HychainIconLight />,\n    dark: <HychainIconDark />,\n    color: <HychainIconColor />,\n  },\n  [reservoirChains.flow.id]: {\n    light: <FlowPreviewnetIconLight />,\n    dark: <FlowPreviewnetIconDark />,\n    color: <FlowPreviewnetIconColor />,\n  },\n  [reservoirChains.zero.id]: {\n    light: <ZeroIconLight />,\n    dark: <ZeroIconDark />,\n    color: <ZeroIconColor />,\n  },\n  [reservoirChains.zeroTestnet.id]: {\n    light: <ZeroIconLight />,\n    dark: <ZeroIconDark />,\n    color: <ZeroIconColor />,\n  },\n  [reservoirChains.abstract.id]: {\n    light: <AbstractIconLight />,\n    dark: <AbstractIconDark />,\n    color: <AbstractIconColor />,\n  },\n  [reservoirChains.animeTestnet.id]: {\n    light: <AnimeIconLight />,\n    dark: <AnimeIconDark />,\n    color: <AnimeIconColor />,\n  },\n  [reservoirChains.monadDevnet.id]: {\n    light: <MonadIconLight />,\n    dark: <MonadIconDark />,\n    color: <MonadIconColor />,\n  },\n  [reservoirChains.game7.id]: {\n    light: <Game7IconLight />,\n    dark: <Game7IconDark />,\n    color: <Game7IconColor />,\n  },\n  [reservoirChains.creatorTestnet.id]: {\n    light: <CreatorTestnetIconLight />,\n    dark: <CreatorTestnetIconDark />,\n    color: <CreatorTestnetIconColor />,\n  },\n  [reservoirChains.soneium.id]: {\n    light: <SoneiumIconLight />,\n    dark: <SoneiumIconDark />,\n    color: <SoneiumIconColor />,\n  },\n  [reservoirChains.storyOdyssey.id]: {\n    light: <StoryOdysseyIconLight />,\n    dark: <StoryOdysseyIconDark />,\n    color: <StoryOdysseyIconColor />,\n  },\n  [reservoirChains.monadTestnet.id]: {\n    light: <MonadIconLight />,\n    dark: <MonadIconDark />,\n    color: <MonadIconColor />,\n  },\n  [reservoirChains.ink.id]: {\n    light: <InkIconLight />,\n    dark: <InkIconDark />,\n    color: <InkIconColor />,\n  },\n  [reservoirChains.berachain.id]: {\n    light: <BerachainIconLight />,\n    dark: <BerachainIconDark />,\n    color: <BerachainIconColor />,\n  },\n  [reservoirChains.anime.id]: {\n    light: <AnimeIconLight />,\n    dark: <AnimeIconDark />,\n    color: <AnimeIconColor />,\n  },\n}\n\nexport default chainIcons\n","import React from 'react'\n\nconst StoryOdysseyIconDark = () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5533_18202)\">\n      <path d=\"M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24Z\" fill=\"#ECEDEE\"/>\n      <path d=\"M17.6205 14.4549C17.6205 17.572 15.1172 19.4455 12.0324 19.4455C8.94757 19.4455 6.79952 17.6043 6.39575 15.2463H9.23828C9.54515 16.1346 10.5626 16.7806 12.0324 16.7806C13.5021 16.7806 14.8264 15.957 14.8264 14.5034C14.8264 13.0498 13.6797 12.2907 12.0162 12.2907V14.3419C8.88297 14.3419 6.47651 12.5653 6.47651 9.57741C6.47651 6.58952 8.78606 4.57068 12.0324 4.57068C15.2787 4.57068 17.2329 6.41186 17.4429 8.65682H14.6972C14.4711 7.84928 13.5828 7.23555 12.097 7.23555C10.6111 7.23555 9.28673 8.07539 9.28673 9.49665C9.28673 10.9179 10.4334 11.6124 12.0162 11.6124V9.4482C15.424 9.4482 17.6205 11.4993 17.6205 14.4388V14.4549Z\" fill=\"black\"/>\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5533_18202\">\n        <rect width=\"24\" height=\"24\" rx=\"4\" fill=\"white\"/>\n      </clipPath>\n    </defs>\n  </svg>\n)\n\nexport default StoryOdysseyIconDark\n","import React from 'react'\n\nconst StoryOdysseyIconLight = () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5533_18196)\">\n      <path d=\"M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24Z\" fill=\"#11181C\"/>\n      <path d=\"M17.6205 14.4549C17.6205 17.572 15.1172 19.4455 12.0324 19.4455C8.94757 19.4455 6.79952 17.6043 6.39575 15.2463H9.23828C9.54515 16.1346 10.5626 16.7806 12.0324 16.7806C13.5021 16.7806 14.8264 15.957 14.8264 14.5034C14.8264 13.0498 13.6797 12.2907 12.0162 12.2907V14.3419C8.88297 14.3419 6.47651 12.5653 6.47651 9.57741C6.47651 6.58952 8.78606 4.57068 12.0324 4.57068C15.2787 4.57068 17.2329 6.41186 17.4429 8.65682H14.6972C14.4711 7.84928 13.5828 7.23555 12.097 7.23555C10.6111 7.23555 9.28673 8.07539 9.28673 9.49665C9.28673 10.9179 10.4334 11.6124 12.0162 11.6124V9.4482C15.424 9.4482 17.6205 11.4993 17.6205 14.4388V14.4549Z\" fill=\"#FBFCFD\"/>\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5533_18196\">\n        <rect width=\"24\" height=\"24\" rx=\"4\" fill=\"white\"/>\n      </clipPath>\n    </defs>\n  </svg>\n)\n\nexport default StoryOdysseyIconLight\n","import React from 'react'\n\nconst StoryOdysseyIconColor = () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5533_18190)\">\n      <path d=\"M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24Z\" fill=\"black\"/>\n      <path d=\"M17.6205 14.4549C17.6205 17.572 15.1172 19.4455 12.0324 19.4455C8.94757 19.4455 6.79952 17.6043 6.39575 15.2463H9.23828C9.54515 16.1346 10.5626 16.7806 12.0324 16.7806C13.5021 16.7806 14.8264 15.957 14.8264 14.5034C14.8264 13.0498 13.6797 12.2907 12.0162 12.2907V14.3419C8.88297 14.3419 6.47651 12.5653 6.47651 9.57741C6.47651 6.58952 8.78606 4.57068 12.0324 4.57068C15.2787 4.57068 17.2329 6.41186 17.4429 8.65682H14.6972C14.4711 7.84928 13.5828 7.23555 12.097 7.23555C10.6111 7.23555 9.28673 8.07539 9.28673 9.49665C9.28673 10.9179 10.4334 11.6124 12.0162 11.6124V9.4482C15.424 9.4482 17.6205 11.4993 17.6205 14.4388V14.4549Z\" fill=\"white\"/>\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5533_18190\">\n        <rect width=\"24\" height=\"24\" rx=\"4\" fill=\"white\"/>\n      </clipPath>\n    </defs>\n  </svg>\n)\n\nexport default StoryOdysseyIconColor\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 15 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M14.2031 12.2344L7.125 0L0 12.2344L7.125 16.5938L14.2031 12.2344ZM7.125 18L0 13.6406L7.125 24L14.25 13.6406L7.125 18Z\"\n      fill=\"#151718\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 15 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M14.2031 12.2344L7.125 0L0 12.2344L7.125 16.5938L14.2031 12.2344ZM7.125 18L0 13.6406L7.125 24L14.25 13.6406L7.125 18Z\"\n      fill=\"#ECEDEE\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 22 20\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M22 10.4001V15.5719C21.9982 15.8944 21.9162 16.2109 21.7619 16.4905C21.6077 16.77 21.3865 17.003 21.12 17.1668L16.8231 19.7473C16.557 19.9127 16.253 20 15.9431 20C15.6333 20 15.3293 19.9127 15.0631 19.7473L10.7663 17.1668C10.4997 17.003 10.2786 16.77 10.1243 16.4905C9.97009 16.2109 9.88804 15.8944 9.88627 15.5719V14.1203L12.0863 12.7889V15.312L15.9362 17.6417L19.7863 15.312V10.6635L15.9362 8.33391L6.91627 13.7816C6.64765 13.9394 6.34454 14.0224 6.03624 14.0224C5.72794 14.0224 5.42487 13.9394 5.15625 13.7816L0.859362 11.1904C0.59697 11.0242 0.380036 10.7903 0.229515 10.5112C0.0789936 10.2322 -4.12339e-05 9.91743 1.61387e-08 9.59729V4.42551C0.00177377 4.10301 0.08382 3.78651 0.238054 3.50695C0.392329 3.2274 0.613512 2.99434 0.879987 2.83063L5.17688 0.250114C5.44356 0.0863567 5.74741 0 6.05687 0C6.36636 0 6.67021 0.0863567 6.93689 0.250114L11.2337 2.83063C11.5003 2.99434 11.7214 3.2274 11.8757 3.50695C12.03 3.78651 12.112 4.10301 12.1138 4.42551V5.87704L9.90001 7.19956V4.69075L6.05002 2.36113L2.19999 4.69075V9.33385L6.05002 11.6635L15.07 6.21574C15.3386 6.05794 15.6417 5.97505 15.95 5.97505C16.2583 5.97505 16.5614 6.05794 16.83 6.21574L21.1269 8.80701C21.3919 8.97149 21.6115 9.20464 21.7645 9.48376C21.9175 9.76294 21.9986 10.0786 22 10.4001Z\"\n      fill=\"#151718\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 22 20\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M22 10.4001V15.5719C21.9982 15.8944 21.9162 16.2109 21.7619 16.4905C21.6077 16.77 21.3865 17.003 21.12 17.1668L16.8231 19.7473C16.557 19.9127 16.253 20 15.9431 20C15.6333 20 15.3293 19.9127 15.0631 19.7473L10.7663 17.1668C10.4997 17.003 10.2786 16.77 10.1243 16.4905C9.97009 16.2109 9.88804 15.8944 9.88627 15.5719V14.1203L12.0863 12.7889V15.312L15.9362 17.6417L19.7863 15.312V10.6635L15.9362 8.33391L6.91627 13.7816C6.64765 13.9394 6.34454 14.0224 6.03624 14.0224C5.72794 14.0224 5.42487 13.9394 5.15625 13.7816L0.859362 11.1904C0.59697 11.0242 0.380036 10.7903 0.229515 10.5112C0.0789936 10.2322 -4.12339e-05 9.91743 1.61387e-08 9.59729V4.42551C0.00177377 4.10301 0.08382 3.78651 0.238054 3.50695C0.392329 3.2274 0.613512 2.99434 0.879987 2.83063L5.17688 0.250114C5.44356 0.0863567 5.74741 0 6.05687 0C6.36636 0 6.67021 0.0863567 6.93689 0.250114L11.2337 2.83063C11.5003 2.99434 11.7214 3.2274 11.8757 3.50695C12.03 3.78651 12.112 4.10301 12.1138 4.42551V5.87704L9.90001 7.19956V4.69075L6.05002 2.36113L2.19999 4.69075V9.33385L6.05002 11.6635L15.07 6.21574C15.3386 6.05794 15.6417 5.97505 15.95 5.97505C16.2583 5.97505 16.5614 6.05794 16.83 6.21574L21.1269 8.80701C21.3919 8.97149 21.6115 9.20464 21.7645 9.48376C21.9175 9.76294 21.9986 10.0786 22 10.4001Z\"\n      fill=\"#ECEDEE\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 18 19\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_176_1602)\">\n      <rect\n        y=\"0.5\"\n        width=\"18\"\n        height=\"18\"\n        rx=\"9\"\n        fill=\"url(#paint0_linear_176_1602)\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M18 9.5C18 14.4706 13.9706 18.5 9 18.5C4.02944 18.5 0 14.4706 0 9.5C0 4.52944 4.02944 0.5 9 0.5C13.9706 0.5 18 4.52944 18 9.5ZM14.1492 9.97186L11.6029 11.4422V11.4425C11.4681 11.5201 11.3009 11.5201 11.166 11.4425L10.2084 10.8895V9.50626L11.3843 10.1854L13.1699 9.15458V7.09263L11.3843 6.06185L9.63104 7.07426L9.5987 7.09263V12.3473C9.5987 12.5027 9.51528 12.6479 9.38041 12.7258L6.83413 14.1957C6.69927 14.2732 6.53169 14.2732 6.3972 14.1957L3.85091 12.7254C3.71642 12.6475 3.63263 12.5023 3.63263 12.3469V9.40667C3.63263 9.25086 3.71605 9.10607 3.85091 9.02816L6.3972 7.55787C6.46298 7.51965 6.53868 7.49944 6.61548 7.49944C6.69228 7.49944 6.76798 7.51965 6.83413 7.55787L7.79363 8.11166V9.49486L6.61585 8.81502L4.83025 9.84581V11.9078L6.61585 12.9385L8.40144 11.9078V6.65313C8.40144 6.49768 8.48486 6.35253 8.61973 6.27462L11.166 4.80432C11.3009 4.72679 11.4681 4.72642 11.6029 4.80432L14.1492 6.27462C14.2837 6.35253 14.3675 6.49768 14.3675 6.65313V9.59335C14.3675 9.74916 14.2841 9.89395 14.1492 9.97186Z\"\n        fill=\"#F5F0FD\"\n      />\n    </g>\n    <defs>\n      <linearGradient\n        id=\"paint0_linear_176_1602\"\n        x1=\"1.52312\"\n        y1=\"15.6526\"\n        x2=\"18.2537\"\n        y2=\"4.84284\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop stop-color=\"#A726C1\" />\n        <stop offset=\"0.88\" stop-color=\"#803BDF\" />\n        <stop offset=\"1\" stop-color=\"#7B3FE4\" />\n      </linearGradient>\n      <clipPath id=\"clip0_176_1602\">\n        <rect y=\"0.5\" width=\"18\" height=\"18\" rx=\"9\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 60 60\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M0 27.4501H44.626V32.4964H0C0.00804265 35.3958 0.952733 38.4999 2.02134 41.1675C7.03141 53.6749 19.9286 61.178 33.2382 59.8482C47.871 58.3862 59.9284 45.3962 59.9996 30.6484C60.0167 27.0554 59.5248 23.4575 58.3133 20.0583C54.9025 10.4882 46.777 3.13389 36.8681 0.788703C22.7699 -2.54798 7.93539 4.97004 2.2476 18.2814C1.05458 21.0734 0.0254091 24.3866 0 27.4501Z\"\n      fill=\"#11181C\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 60 60\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M0 27.4501H44.626V32.4964H0C0.00804265 35.3958 0.952733 38.4999 2.02134 41.1675C7.03141 53.6749 19.9286 61.178 33.2382 59.8482C47.871 58.3862 59.9284 45.3962 59.9996 30.6484C60.0167 27.0554 59.5248 23.4575 58.3133 20.0583C54.9025 10.4882 46.777 3.13389 36.8681 0.788703C22.7699 -2.54798 7.93539 4.97004 2.2476 18.2814C1.05458 21.0734 0.0254091 24.3866 0 27.4501Z\"\n      fill=\"#ECEDEE\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 18 19\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <rect y=\"0.5\" width=\"18\" height=\"18\" rx=\"9\" fill=\"#0054FF\" />\n    <path\n      d=\"M2 8.90501H12.4127V10.0825H2C2.00188 10.759 2.2223 11.4833 2.47165 12.1058C3.64066 15.0241 6.65001 16.7749 9.75558 16.4646C13.1699 16.1235 15.9833 13.0924 15.9999 9.6513C16.0039 8.81292 15.8891 7.97342 15.6064 7.18026C14.8106 4.94725 12.9146 3.23124 10.6025 2.68403C7.31297 1.90547 3.85159 3.65968 2.52444 6.76566C2.24607 7.41713 2.00593 8.1902 2 8.90501Z\"\n      fill=\"white\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5303_21434)\">\n      <path\n        d=\"M13.2908 0C13.8114 1.36458 14.3038 2.72938 14.7976 4.09367C15.1797 5.14943 15.5627 6.20485 15.9467 7.25988C16.536 8.87877 17.1288 10.4963 17.7158 12.1161C18.2039 13.4629 18.6823 14.8134 19.1794 16.1568C19.2089 16.2363 19.3662 16.3115 19.4651 16.3129C20.299 16.3253 21.1331 16.32 22 16.32C22 17.0738 22 17.8091 21.9687 18.5722C16.1574 18.6 10.3774 18.6 4.5975 18.6001C4.49921 18.6001 4.39427 18.5795 4.30466 18.6081C4.22858 18.6324 4.17019 18.7139 4.08712 18.7795C4.10586 18.827 4.13519 18.8759 4.17798 18.9015C5.36482 19.6114 5.83208 20.8912 5.34665 22.2721C5.14472 22.8465 4.95113 23.424 4.75375 24C3.84682 24 2.93989 24 2.00528 24C2.11999 23.5687 2.25092 23.1331 2.40691 22.7069C2.88271 21.4071 3.36815 20.1109 3.85879 18.7892C3.2296 18.7892 2.62595 18.7892 2 18.7892C2 17.969 2 17.1658 2 16.3353C2.07129 16.3307 2.1555 16.3208 2.23973 16.3207C2.99703 16.3195 3.75438 16.3155 4.51161 16.3233C4.68961 16.3251 4.77431 16.2815 4.84292 16.0917C5.58325 14.043 6.33886 12 7.09006 9.95534C7.84132 7.91056 8.593 5.86595 9.34208 3.82035C9.40187 3.65708 9.44285 3.48671 9.5367 3.30434C9.72638 3.27269 9.8718 3.24395 10.0175 3.24226C10.5278 3.23634 11.0382 3.24343 11.5485 3.23663C11.6547 3.23521 11.8297 3.28469 11.7762 3.05724C11.5209 2.29102 11.2644 1.52527 11.0114 0.758296C10.9334 0.521996 10.8652 0.282368 10.7856 0.0221322C11.6067 1.78814e-09 12.4349 0 13.2908 0ZM11.9118 3.45758C11.8954 3.43397 11.879 3.41037 11.8626 3.38676C11.8368 3.44012 11.811 3.49347 11.7831 3.59733C11.7637 3.7222 11.7621 3.85332 11.7219 3.97085C11.5526 4.46623 11.3679 4.95617 11.1958 5.45062C10.4153 7.69333 9.63818 9.93723 8.85786 12.18C8.51697 13.1597 8.1692 14.137 7.8289 15.117C7.69219 15.5106 7.56716 15.9085 7.43368 16.314C10.4508 16.314 13.4322 16.314 16.4249 16.314C15.91 14.8313 15.4006 13.3566 14.8859 11.8838C14.0609 9.52309 13.2344 7.16285 12.4033 4.80434C12.2464 4.35921 12.0647 3.92312 11.9118 3.45758Z\"\n        fill=\"#11181C\"\n      />\n      <path\n        d=\"M18.8939 24C18.6421 23.4415 18.4353 22.8784 18.1974 22.3256C17.6908 21.1484 18.182 19.7982 19.4119 19.1846C19.5228 19.1293 19.6264 19.0625 19.7813 19.0002C19.8779 18.9997 19.9267 19.0002 19.9754 19.0007C20.1562 19.3887 20.3462 19.7736 20.516 20.1653C20.8843 21.0146 21.2533 21.8639 21.5998 22.7201C21.7692 23.1387 21.8888 23.5729 22 24C20.9543 24 19.9396 24 18.8939 24Z\"\n        fill=\"#11181C\"\n      />\n      <path\n        d=\"M20.1245 18.91C20.0755 19.0047 20.0316 19.0026 19.9656 18.9985C19.8349 18.9184 19.7262 18.7722 19.6175 18.7719C14.4209 18.7589 9.22428 18.7586 4 18.7391C4.03918 18.4926 4.09812 18.1607 4.1749 18.0619C4.26536 17.9454 4.37128 18.0291 4.47049 18.029C10.3046 18.0287 16.1386 18.0288 22 18.0287C21.9808 18.2729 21.9339 18.7306 21.888 18.729C21.3178 18.7087 20.7478 18.6195 20.1776 18.5629C20.1621 18.5614 20.1456 18.7261 20.1245 18.91Z\"\n        fill=\"#11181C\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5303_21434\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5303_21433)\">\n      <path\n        d=\"M13.2908 0C13.8114 1.36458 14.3038 2.72938 14.7976 4.09367C15.1797 5.14943 15.5627 6.20485 15.9467 7.25988C16.536 8.87877 17.1288 10.4963 17.7158 12.1161C18.2039 13.4629 18.6823 14.8134 19.1794 16.1568C19.2089 16.2363 19.3662 16.3115 19.4651 16.3129C20.299 16.3253 21.1331 16.32 22 16.32C22 17.0738 22 17.8091 21.9687 18.5722C16.1574 18.6 10.3774 18.6 4.5975 18.6001C4.49921 18.6001 4.39427 18.5795 4.30466 18.6081C4.22858 18.6324 4.17019 18.7139 4.08712 18.7795C4.10586 18.827 4.13519 18.8759 4.17798 18.9015C5.36482 19.6114 5.83208 20.8912 5.34665 22.2721C5.14472 22.8465 4.95113 23.424 4.75375 24C3.84682 24 2.93989 24 2.00528 24C2.11999 23.5687 2.25092 23.1331 2.40691 22.7069C2.88271 21.4071 3.36815 20.1109 3.85879 18.7892C3.2296 18.7892 2.62595 18.7892 2 18.7892C2 17.969 2 17.1658 2 16.3353C2.07129 16.3307 2.1555 16.3208 2.23973 16.3207C2.99703 16.3195 3.75438 16.3155 4.51161 16.3233C4.68961 16.3251 4.77431 16.2815 4.84292 16.0917C5.58325 14.043 6.33886 12 7.09006 9.95534C7.84132 7.91056 8.593 5.86595 9.34208 3.82035C9.40187 3.65708 9.44285 3.48671 9.5367 3.30434C9.72638 3.27269 9.8718 3.24395 10.0175 3.24226C10.5278 3.23634 11.0382 3.24343 11.5485 3.23663C11.6547 3.23521 11.8297 3.28469 11.7762 3.05724C11.5209 2.29102 11.2644 1.52527 11.0114 0.758296C10.9334 0.521996 10.8652 0.282368 10.7856 0.0221322C11.6067 1.78814e-09 12.4349 0 13.2908 0ZM11.9118 3.45758C11.8954 3.43397 11.879 3.41037 11.8626 3.38676C11.8368 3.44012 11.811 3.49347 11.7831 3.59733C11.7637 3.7222 11.7621 3.85332 11.7219 3.97085C11.5526 4.46623 11.3679 4.95617 11.1958 5.45062C10.4153 7.69333 9.63818 9.93723 8.85786 12.18C8.51697 13.1597 8.1692 14.137 7.8289 15.117C7.69219 15.5106 7.56716 15.9085 7.43368 16.314C10.4508 16.314 13.4322 16.314 16.4249 16.314C15.91 14.8313 15.4006 13.3566 14.8859 11.8838C14.0609 9.52309 13.2344 7.16285 12.4033 4.80434C12.2464 4.35921 12.0647 3.92312 11.9118 3.45758Z\"\n        fill=\"#ECEDEE\"\n      />\n      <path\n        d=\"M18.8939 24C18.6421 23.4415 18.4353 22.8784 18.1974 22.3256C17.6908 21.1484 18.182 19.7982 19.4119 19.1846C19.5228 19.1293 19.6264 19.0625 19.7813 19.0002C19.8779 18.9997 19.9267 19.0002 19.9754 19.0007C20.1562 19.3887 20.3462 19.7736 20.516 20.1653C20.8843 21.0146 21.2533 21.8639 21.5998 22.7201C21.7692 23.1387 21.8888 23.5729 22 24C20.9543 24 19.9396 24 18.8939 24Z\"\n        fill=\"#ECEDEE\"\n      />\n      <path\n        d=\"M20.1245 18.91C20.0755 19.0047 20.0316 19.0026 19.9656 18.9985C19.8349 18.9184 19.7262 18.7722 19.6175 18.7719C14.4209 18.7589 9.22428 18.7586 4 18.7391C4.03918 18.4926 4.09812 18.1607 4.1749 18.0619C4.26536 17.9454 4.37128 18.0291 4.47049 18.029C10.3046 18.0287 16.1386 18.0288 22 18.0287C21.9808 18.2729 21.9339 18.7306 21.888 18.729C21.3178 18.7087 20.7478 18.6195 20.1776 18.5629C20.1621 18.5614 20.1456 18.7261 20.1245 18.91Z\"\n        fill=\"#ECEDEE\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5303_21433\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 18 19\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <rect y=\"0.5\" width=\"18\" height=\"18\" rx=\"9\" fill=\"black\" />\n    <path\n      d=\"M9.64539 4C9.90572 4.62543 10.1519 5.25097 10.3988 5.87627C10.5898 6.36015 10.7813 6.84389 10.9734 7.32744C11.268 8.06944 11.5644 8.81083 11.8579 9.55321C12.102 10.1705 12.3412 10.7895 12.5897 11.4052C12.6044 11.4416 12.6831 11.4761 12.7326 11.4768C13.1495 11.4824 13.5665 11.48 14 11.48C14 11.8255 14 12.1625 13.9843 12.5122C11.0787 12.525 8.18872 12.525 5.29875 12.525C5.2496 12.525 5.19714 12.5156 5.15233 12.5287C5.11429 12.5398 5.0851 12.5772 5.04356 12.6073C5.05293 12.6291 5.0676 12.6514 5.08899 12.6632C5.68241 12.9886 5.91604 13.5751 5.67332 14.2081C5.57236 14.4713 5.47556 14.736 5.37687 15C4.92341 15 4.46995 15 4.00264 15C4.06 14.8023 4.12546 14.6027 4.20346 14.4073C4.44135 13.8116 4.68408 13.2175 4.9294 12.6117C4.6148 12.6117 4.31298 12.6117 4 12.6117C4 12.2358 4 11.8676 4 11.487C4.03565 11.4849 4.07775 11.4804 4.11986 11.4803C4.49852 11.4798 4.87719 11.478 5.2558 11.4815C5.3448 11.4823 5.38715 11.4624 5.42146 11.3753C5.79162 10.4364 6.16943 9.49999 6.54503 8.56286C6.92066 7.62567 7.2965 6.68856 7.67104 5.75099C7.70093 5.67616 7.72142 5.59808 7.76835 5.51449C7.86319 5.49998 7.9359 5.48681 8.00876 5.48603C8.2639 5.48332 8.51912 5.48657 8.77425 5.48345C8.82735 5.48281 8.91485 5.50549 8.88808 5.40124C8.76047 5.05005 8.63218 4.69908 8.50568 4.34755C8.4667 4.23925 8.43262 4.12942 8.39279 4.01014C8.80337 4 9.21746 4 9.64539 4ZM8.95591 5.58472C8.94771 5.5739 8.9395 5.56308 8.93129 5.55226C8.9184 5.57672 8.90552 5.60117 8.89153 5.64878C8.88185 5.70601 8.88104 5.7661 8.86095 5.81997C8.77629 6.04702 8.68394 6.27158 8.5979 6.4982C8.20767 7.52611 7.81909 8.55456 7.42893 9.5825C7.25849 10.0315 7.0846 10.4795 6.91445 10.9286C6.8461 11.109 6.78358 11.2914 6.71684 11.4773C8.22539 11.4773 9.7161 11.4773 11.2124 11.4773C10.955 10.7977 10.7003 10.1218 10.443 9.44675C10.0304 8.36475 9.61722 7.28297 9.20164 6.20199C9.1232 5.99797 9.03234 5.7981 8.95591 5.58472Z\"\n      fill=\"#7AA72B\"\n    />\n    <path\n      d=\"M12.447 15C12.321 14.744 12.2176 14.4859 12.0987 14.2325C11.8454 13.693 12.091 13.0742 12.7059 12.7929C12.7614 12.7676 12.8132 12.737 12.8907 12.7084C12.939 12.7082 12.9633 12.7084 12.9877 12.7086C13.0781 12.8865 13.1731 13.0629 13.258 13.2424C13.4422 13.6317 13.6267 14.0209 13.7999 14.4134C13.8846 14.6052 13.9444 14.8042 14 15C13.4772 15 12.9698 15 12.447 15Z\"\n      fill=\"#7AA72B\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 20 22\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M10.0575 14.0509L12.9541 18.5973L15.6301 17.0465L11.8257 11.0502L10.0575 14.0509Z\"\n      fill=\"#151718\"\n    />\n    <path\n      d=\"M18.0669 15.222L18.0649 13.9795L13.908 7.50496L12.3658 10.1219L16.3787 16.6119L17.8296 15.7711C17.972 15.6555 18.0581 15.4859 18.0671 15.3029L18.0669 15.222Z\"\n      fill=\"#151718\"\n    />\n    <path\n      d=\"M0.647525 16.3939L2.69645 17.5746L9.51483 6.63984L8.35764 6.6093C7.37166 6.59537 6.30954 6.8517 5.82206 7.64745L1.95014 13.6488L0.647525 15.6502V16.3939Z\"\n      fill=\"#151718\"\n    />\n    <path\n      d=\"M13.4501 6.63953L10.4002 6.6506L3.50016 18.037L5.91195 19.4256L6.56782 18.3133L13.4501 6.63953Z\"\n      fill=\"#151718\"\n    />\n    <path\n      d=\"M19.3521 6.62416C19.3266 5.98633 18.9812 5.40244 18.4403 5.0625L10.8582 0.702226C10.3231 0.432793 9.65466 0.432447 9.1186 0.702053C9.05523 0.734018 1.74522 4.97352 1.74522 4.97352C1.64405 5.02206 1.54659 5.07984 1.45494 5.14546C0.972043 5.49154 0.677696 6.02937 0.647461 6.62022L0.647525 15.6502L1.95014 13.6488L1.9387 6.68126C1.94021 6.65578 1.94341 6.63069 1.94795 6.60595C1.97741 6.44202 2.06893 6.29577 2.20674 6.19694C2.24113 6.17232 9.67602 1.86871 9.69964 1.85691C9.87439 1.76914 10.0965 1.7681 10.2715 1.85418L17.7555 6.159C17.9325 6.27177 18.0435 6.46295 18.0533 6.67196V15.3031C18.0443 15.4861 17.972 15.6555 17.8296 15.7711L16.3787 16.6119L15.6301 17.0465L12.9541 18.5973L10.2405 20.1693C10.0943 20.2221 9.92344 20.2191 9.77849 20.1602L6.56782 18.3133L5.91195 19.4256L8.79726 21.0872C8.89268 21.1415 8.97768 21.1896 9.04745 21.2287C9.15546 21.2893 9.22907 21.3298 9.25507 21.3424C9.46014 21.442 9.75522 21.5 10.0211 21.5C10.2649 21.5 10.5026 21.4552 10.7275 21.3671L18.6096 16.8024C19.062 16.4519 19.3281 15.9233 19.3521 15.3506V6.62416Z\"\n      fill=\"#151718\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 20 22\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M10.0575 14.0509L12.9541 18.5973L15.6301 17.0465L11.8257 11.0502L10.0575 14.0509Z\"\n      fill=\"#ECEDEE\"\n    />\n    <path\n      d=\"M18.0669 15.222L18.0649 13.9795L13.908 7.50496L12.3658 10.1219L16.3787 16.6119L17.8296 15.7711C17.972 15.6555 18.0581 15.4859 18.0671 15.3029L18.0669 15.222Z\"\n      fill=\"#ECEDEE\"\n    />\n    <path\n      d=\"M0.647525 16.3939L2.69645 17.5746L9.51483 6.63984L8.35764 6.6093C7.37166 6.59537 6.30954 6.8517 5.82206 7.64745L1.95014 13.6488L0.647525 15.6502V16.3939Z\"\n      fill=\"#ECEDEE\"\n    />\n    <path\n      d=\"M13.4501 6.63953L10.4002 6.6506L3.50016 18.037L5.91195 19.4256L6.56782 18.3133L13.4501 6.63953Z\"\n      fill=\"#ECEDEE\"\n    />\n    <path\n      d=\"M19.3521 6.62416C19.3266 5.98633 18.9812 5.40244 18.4403 5.0625L10.8582 0.702226C10.3231 0.432793 9.65466 0.432447 9.1186 0.702053C9.05523 0.734018 1.74522 4.97352 1.74522 4.97352C1.64405 5.02206 1.54659 5.07984 1.45494 5.14546C0.972043 5.49154 0.677696 6.02937 0.647461 6.62022L0.647525 15.6502L1.95014 13.6488L1.9387 6.68126C1.94021 6.65578 1.94341 6.63069 1.94795 6.60595C1.97741 6.44202 2.06893 6.29577 2.20674 6.19694C2.24113 6.17232 9.67602 1.86871 9.69964 1.85691C9.87439 1.76914 10.0965 1.7681 10.2715 1.85418L17.7555 6.159C17.9325 6.27177 18.0435 6.46295 18.0533 6.67196V15.3031C18.0443 15.4861 17.972 15.6555 17.8296 15.7711L16.3787 16.6119L15.6301 17.0465L12.9541 18.5973L10.2405 20.1693C10.0943 20.2221 9.92344 20.2191 9.77849 20.1602L6.56782 18.3133L5.91195 19.4256L8.79726 21.0872C8.89268 21.1415 8.97768 21.1896 9.04745 21.2287C9.15546 21.2893 9.22907 21.3298 9.25507 21.3424C9.46014 21.442 9.75522 21.5 10.0211 21.5C10.2649 21.5 10.5026 21.4552 10.7275 21.3671L18.6096 16.8024C19.062 16.4519 19.3281 15.9233 19.3521 15.3506V6.62416Z\"\n      fill=\"#ECEDEE\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 18 18\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <rect width=\"18\" height=\"18\" rx=\"9\" fill=\"#2D374B\" />\n    <path\n      d=\"M10.4888 8.46701L11.4251 6.87843L13.9485 10.8089L13.9497 11.5631L13.9415 6.37266C13.9355 6.24578 13.8682 6.12971 13.7607 6.06127L9.21745 3.44794C9.11118 3.39572 8.9764 3.39627 8.87033 3.44956C8.85601 3.45676 8.84252 3.46456 8.82966 3.47306L8.81383 3.48303L4.40391 6.03856L4.38677 6.04631C4.36478 6.05644 4.34254 6.0693 4.32166 6.08425C4.23806 6.14423 4.18252 6.23289 4.16455 6.33235C4.16186 6.34742 4.15989 6.36277 4.15894 6.37824L4.16586 10.608L6.51637 6.96479C6.8123 6.4817 7.45709 6.3261 8.05562 6.33456L8.75813 6.35312L4.61897 12.9912L5.10689 13.2721L9.29566 6.35984L11.1471 6.35312L6.96912 13.4398L8.71018 14.4412L8.9182 14.5608C9.00619 14.5966 9.10992 14.5984 9.19866 14.5664L13.8057 11.8965L12.9249 12.4069L10.4888 8.46701ZM10.846 13.6117L9.08753 10.8517L10.161 9.03018L12.4704 12.6703L10.846 13.6117Z\"\n      fill=\"#2D374B\"\n    />\n    <path\n      d=\"M9.08752 10.8517L10.846 13.6116L12.4705 12.6702L10.161 9.03015L9.08752 10.8517Z\"\n      fill=\"#28A0F0\"\n    />\n    <path\n      d=\"M13.9497 11.5631L13.9485 10.8089L11.425 6.87842L10.4888 8.467L12.9249 12.4069L13.8057 11.8965C13.8921 11.8264 13.9443 11.7234 13.9498 11.6122L13.9497 11.5631Z\"\n      fill=\"#28A0F0\"\n    />\n    <path\n      d=\"M3.37504 12.2744L4.61888 12.9911L8.75804 6.35311L8.05554 6.33455C7.457 6.32609 6.81225 6.48169 6.51629 6.96478L4.16577 10.608L3.375 11.823V12.2744H3.37504Z\"\n      fill=\"white\"\n    />\n    <path\n      d=\"M11.1471 6.35309L9.29571 6.35981L5.10693 13.2721L6.57102 14.1151L6.96917 13.4398L11.1471 6.35309Z\"\n      fill=\"white\"\n    />\n    <path\n      d=\"M14.7298 6.34358C14.7144 5.95639 14.5047 5.60191 14.1763 5.39555L9.57358 2.74864C9.24873 2.58505 8.8429 2.58485 8.51754 2.74852C8.47909 2.7679 4.04143 5.34159 4.04143 5.34159C3.98003 5.37102 3.92088 5.40611 3.86522 5.44591C3.57206 5.65603 3.39336 5.9825 3.375 6.34121V11.823L4.16577 10.608L4.15885 6.37828C4.1598 6.36281 4.16174 6.34762 4.16447 6.33258C4.18231 6.23304 4.23789 6.14427 4.32157 6.08429C4.34246 6.06934 8.85588 3.4568 8.87024 3.4496C8.97635 3.39631 9.11114 3.39576 9.21736 3.44798L13.7606 6.06131C13.8681 6.12975 13.9354 6.24582 13.9414 6.3727V11.6123C13.9359 11.7234 13.892 11.8264 13.8056 11.8965L12.9248 12.4069L12.4703 12.6703L10.8459 13.6117L9.19853 14.5664C9.10979 14.5985 9.00606 14.5967 8.91807 14.5609L6.969 13.4398L6.57084 14.1151L8.32242 15.1236C8.38034 15.1565 8.43197 15.1857 8.4743 15.2095C8.5399 15.2463 8.58456 15.2709 8.60035 15.2785C8.72485 15.3389 8.90395 15.3741 9.06536 15.3741C9.21337 15.3741 9.35765 15.347 9.49422 15.2935L14.2791 12.5224C14.5537 12.3097 14.7153 11.9888 14.7298 11.6411V6.34358Z\"\n      fill=\"#96BEDC\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    version=\"1.1\"\n    id=\"Layer_1\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    x=\"0px\"\n    y=\"0px\"\n    viewBox=\"0 0 2000 1359.88\"\n  >\n    <path\n      fill=\"#000000\"\n      d=\"M693.83,0H510.66c-12.65,0-23.94,7.91-28.28,19.79L0.92,1339.67c-3.58,9.82,3.69,20.21,14.14,20.21h183.17\n\tc12.65,0,23.94-7.91,28.28-19.78L707.97,20.21C711.55,10.39,704.28,0,693.83,0z M916.62,553.04c-4.81-13.19-23.46-13.19-28.28,0\n\tL793.38,813.4c-2.43,6.66-2.43,13.97,0,20.63l184.6,506.06c4.33,11.88,15.63,19.78,28.28,19.78h183.17\n\tc10.45,0,17.72-10.39,14.14-20.21L916.62,553.04z M1383.57,807.88c4.81,13.19,23.46,13.19,28.27,0l287.32-787.67\n\tc3.58-9.82-3.69-20.21-14.14-20.21h-183.17c-12.65,0-23.94,7.9-28.28,19.79L1288.6,526.88c-2.43,6.66-2.43,13.96,0,20.62\n\tL1383.57,807.88z M1022.41,19.65C1018.12,7.85,1006.9,0,994.35,0H810.56c-12.64,0-23.93,7.9-28.27,19.78L300.84,1339.67\n\tc-3.58,9.82,3.69,20.21,14.14,20.21h183.18c12.65,0,23.94-7.9,28.28-19.78L895.06,329.52c2.42-6.63,11.79-6.63,14.2,0\n\tl368.63,1010.58c4.33,11.88,15.63,19.78,28.28,19.78h183.18c10.45,0,17.72-10.39,14.14-20.2L1022.41,19.65z M1984.94,0h-183.19\n\tc-12.64,0-23.94,7.9-28.27,19.78l-334.93,918.2c-2.43,6.66-2.43,13.96,0,20.62l94.98,260.38c4.81,13.19,23.46,13.19,28.27,0\n\tl331.55-908.93L1999.08,20.2C2002.66,10.39,1995.39,0,1984.94,0z\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    version=\"1.1\"\n    id=\"Layer_1\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    x=\"0px\"\n    y=\"0px\"\n    viewBox=\"0 0 2000 1359.88\"\n  >\n    <path\n      fill=\"#ffffff\"\n      d=\"M693.83,0H510.66c-12.65,0-23.94,7.91-28.28,19.79L0.92,1339.67c-3.58,9.82,3.69,20.21,14.14,20.21h183.17\n\tc12.65,0,23.94-7.91,28.28-19.78L707.97,20.21C711.55,10.39,704.28,0,693.83,0z M916.62,553.04c-4.81-13.19-23.46-13.19-28.28,0\n\tL793.38,813.4c-2.43,6.66-2.43,13.97,0,20.63l184.6,506.06c4.33,11.88,15.63,19.78,28.28,19.78h183.17\n\tc10.45,0,17.72-10.39,14.14-20.21L916.62,553.04z M1383.57,807.88c4.81,13.19,23.46,13.19,28.27,0l287.32-787.67\n\tc3.58-9.82-3.69-20.21-14.14-20.21h-183.17c-12.65,0-23.94,7.9-28.28,19.79L1288.6,526.88c-2.43,6.66-2.43,13.96,0,20.62\n\tL1383.57,807.88z M1022.41,19.65C1018.12,7.85,1006.9,0,994.35,0H810.56c-12.64,0-23.93,7.9-28.27,19.78L300.84,1339.67\n\tc-3.58,9.82,3.69,20.21,14.14,20.21h183.18c12.65,0,23.94-7.9,28.28-19.78L895.06,329.52c2.42-6.63,11.79-6.63,14.2,0\n\tl368.63,1010.58c4.33,11.88,15.63,19.78,28.28,19.78h183.18c10.45,0,17.72-10.39,14.14-20.2L1022.41,19.65z M1984.94,0h-183.19\n\tc-12.64,0-23.94,7.9-28.27,19.78l-334.93,918.2c-2.43,6.66-2.43,13.96,0,20.62l94.98,260.38c4.81,13.19,23.46,13.19,28.27,0\n\tl331.55-908.93L1999.08,20.2C2002.66,10.39,1995.39,0,1984.94,0z\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 18 19\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <rect y=\"0.5\" width=\"18\" height=\"18\" rx=\"9\" fill=\"black\" />\n    <path\n      d=\"M7.1907 5.65076H6.10825C6.03349 5.65076 5.96677 5.6975 5.94112 5.76771L3.09591 13.5676C3.07476 13.6256 3.11772 13.687 3.17947 13.687H4.26193C4.33668 13.687 4.4034 13.6403 4.42905 13.5701L7.27426 5.77019C7.29541 5.71216 7.25245 5.65076 7.1907 5.65076ZM8.50728 8.91897C8.47886 8.84103 8.36865 8.84103 8.34016 8.91897L7.77899 10.4576C7.76463 10.4969 7.76463 10.5401 7.77899 10.5795L8.86989 13.5701C8.89548 13.6403 8.96226 13.687 9.03702 13.687H10.1195C10.1812 13.687 10.2242 13.6256 10.203 13.5675L8.50728 8.91897ZM11.2667 10.425C11.2952 10.5029 11.4054 10.5029 11.4338 10.425L13.1317 5.77019C13.1529 5.71216 13.1099 5.65076 13.0482 5.65076H11.9657C11.891 5.65076 11.8243 5.69744 11.7986 5.76771L10.7055 8.76438C10.6912 8.80374 10.6912 8.84688 10.7055 8.88623L11.2667 10.425ZM9.13245 5.76688C9.1071 5.69715 9.0408 5.65076 8.96663 5.65076H7.88052C7.80582 5.65076 7.7391 5.69744 7.71345 5.76765L4.8683 13.5676C4.84715 13.6256 4.89011 13.687 4.95187 13.687H6.03438C6.10913 13.687 6.17585 13.6403 6.2015 13.5701L8.37987 7.59807C8.39418 7.55889 8.44955 7.55889 8.46379 7.59807L10.6422 13.5701C10.6678 13.6403 10.7346 13.687 10.8093 13.687H11.8919C11.9536 13.687 11.9966 13.6256 11.9754 13.5677L9.13245 5.76688ZM14.8206 5.65076H13.738C13.6633 5.65076 13.5965 5.69744 13.5709 5.76765L11.5917 11.1938C11.5773 11.2332 11.5773 11.2763 11.5917 11.3156L12.1529 12.8544C12.1814 12.9323 12.2916 12.9323 12.32 12.8544L14.2793 7.48301L14.9041 5.77013C14.9253 5.71216 14.8823 5.65076 14.8206 5.65076Z\"\n      fill=\"#FF7B00\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5155_86557)\">\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M23.9921 12C23.9921 18.6187 18.6231 23.9841 12.0001 23.9841C5.37706 23.9841 0.00805664 18.6187 0.00805664 12C0.00805664 5.38143 5.37706 0.0159912 12.0001 0.0159912C18.6231 0.0159912 23.9921 5.38143 23.9921 12ZM8.60188 16.7691H6.27456C5.78553 16.7691 5.54396 16.7691 5.39667 16.6749C5.23758 16.5718 5.14037 16.4011 5.12858 16.2126C5.11974 16.039 5.24054 15.827 5.4821 15.403L11.2285 5.28091C11.473 4.85108 11.5968 4.63617 11.7529 4.55668C11.9208 4.47131 12.1212 4.47131 12.2891 4.55668C12.4452 4.63617 12.569 4.85108 12.8135 5.28091L13.9948 7.34172L14.0008 7.35224C14.2649 7.81336 14.3988 8.0472 14.4573 8.29262C14.5221 8.56053 14.5221 8.84316 14.4573 9.11107C14.3984 9.35836 14.2658 9.59389 13.9977 10.062L10.9793 15.3942L10.9715 15.4079C10.7056 15.8728 10.5709 16.1084 10.3842 16.2862C10.1809 16.4806 9.93641 16.6218 9.66832 16.7014C9.4238 16.7691 9.14984 16.7691 8.60188 16.7691ZM14.4791 16.7691H17.8139C18.3059 16.7691 18.5534 16.7691 18.7008 16.6721C18.8598 16.569 18.9599 16.3952 18.9689 16.2069C18.9773 16.0389 18.8592 15.8351 18.6276 15.4358C18.6196 15.4222 18.6117 15.4084 18.6035 15.3943L16.9331 12.5386L16.9141 12.5064C16.6794 12.1098 16.5609 11.9095 16.4087 11.832C16.2409 11.7466 16.0433 11.7466 15.8755 11.832C15.7223 11.9115 15.5986 12.1205 15.3541 12.5415L13.6896 15.3972L13.6839 15.4071C13.4402 15.8274 13.3185 16.0374 13.3272 16.2098C13.339 16.3982 13.4362 16.5718 13.5953 16.6749C13.7397 16.7691 13.9871 16.7691 14.4791 16.7691Z\"\n        fill=\"#11181C\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5155_86557\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5155_86555)\">\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M23.9921 12C23.9921 18.6187 18.6231 23.9841 12.0001 23.9841C5.37706 23.9841 0.00805664 18.6187 0.00805664 12C0.00805664 5.38143 5.37706 0.0159912 12.0001 0.0159912C18.6231 0.0159912 23.9921 5.38143 23.9921 12ZM8.60188 16.7691H6.27456C5.78553 16.7691 5.54396 16.7691 5.39667 16.6749C5.23758 16.5718 5.14037 16.4011 5.12858 16.2126C5.11974 16.039 5.24054 15.827 5.4821 15.403L11.2285 5.28091C11.473 4.85108 11.5968 4.63617 11.7529 4.55668C11.9208 4.47131 12.1212 4.47131 12.2891 4.55668C12.4452 4.63617 12.569 4.85108 12.8135 5.28091L13.9948 7.34172L14.0008 7.35224C14.2649 7.81336 14.3988 8.0472 14.4573 8.29262C14.5221 8.56053 14.5221 8.84316 14.4573 9.11107C14.3984 9.35836 14.2658 9.59389 13.9977 10.062L10.9793 15.3942L10.9715 15.4079C10.7056 15.8728 10.5709 16.1084 10.3842 16.2862C10.1809 16.4806 9.93641 16.6218 9.66832 16.7014C9.4238 16.7691 9.14984 16.7691 8.60188 16.7691ZM14.4791 16.7691H17.8139C18.3059 16.7691 18.5534 16.7691 18.7008 16.6721C18.8598 16.569 18.9599 16.3952 18.9689 16.2069C18.9773 16.0389 18.8592 15.8351 18.6276 15.4358C18.6196 15.4222 18.6117 15.4084 18.6035 15.3943L16.9331 12.5386L16.9141 12.5064C16.6794 12.1098 16.5609 11.9095 16.4087 11.832C16.2409 11.7466 16.0433 11.7466 15.8755 11.832C15.7223 11.9115 15.5986 12.1205 15.3541 12.5415L13.6896 15.3972L13.6839 15.4071C13.4402 15.8274 13.3185 16.0374 13.3272 16.2098C13.339 16.3982 13.4362 16.5718 13.5953 16.6749C13.7397 16.7691 13.9871 16.7691 14.4791 16.7691Z\"\n        fill=\"#ECEDEE\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5155_86555\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 18 19\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_174_1568)\">\n      <rect y=\"0.5\" width=\"18\" height=\"18\" rx=\"9\" fill=\"white\" />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M17.994 9.5C17.994 14.464 13.9673 18.488 8.99999 18.488C4.03274 18.488 0.00598145 14.464 0.00598145 9.5C0.00598145 4.53604 4.03274 0.511963 8.99999 0.511963C13.9673 0.511963 17.994 4.53604 17.994 9.5ZM6.45135 13.0768H4.70586C4.33908 13.0768 4.15791 13.0768 4.04744 13.0062C3.92813 12.9289 3.85521 12.8008 3.84638 12.6594C3.83974 12.5292 3.93034 12.3702 4.11151 12.0522L8.42133 4.46065C8.60472 4.13828 8.69751 3.97709 8.81462 3.91748C8.94056 3.85345 9.09081 3.85345 9.21675 3.91748C9.33385 3.97709 9.42665 4.13828 9.61003 4.46065L10.496 6.00626L10.5006 6.01415C10.6986 6.35999 10.7991 6.53537 10.8429 6.71944C10.8915 6.92037 10.8915 7.13234 10.8429 7.33327C10.7987 7.51874 10.6993 7.69539 10.4982 8.04646L8.2344 12.0456L8.22854 12.0559C8.02917 12.4046 7.92813 12.5813 7.78809 12.7146C7.63563 12.8604 7.45224 12.9663 7.25118 13.026C7.06779 13.0768 6.86232 13.0768 6.45135 13.0768ZM10.8593 13.0768H13.3604C13.7293 13.0768 13.915 13.0768 14.0255 13.004C14.1448 12.9267 14.2199 12.7964 14.2266 12.6551C14.2329 12.5291 14.1443 12.3763 13.9707 12.0768C13.9647 12.0666 13.9587 12.0562 13.9526 12.0457L12.6998 9.90392L12.6855 9.8798C12.5095 9.5823 12.4206 9.43206 12.3065 9.37399C12.1806 9.30995 12.0324 9.30995 11.9066 9.37399C11.7917 9.43361 11.6989 9.59038 11.5155 9.90612L10.2671 12.0479L10.2629 12.0553C10.0801 12.3705 9.98878 12.528 9.99537 12.6573C10.0042 12.7986 10.0771 12.9289 10.1964 13.0062C10.3047 13.0768 10.4903 13.0768 10.8593 13.0768Z\"\n        fill=\"#E84142\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_174_1568\">\n        <rect y=\"0.5\" width=\"18\" height=\"18\" rx=\"9\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 60 60\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M13.9993 9.2496L30.0001 0L46.0009 9.2496L40.0009 12.4992L30.0001 6.7488L19.7497 12.4992L13.9993 9.2496ZM45.7489 20.7504L39.9985 17.5008L30.0001 23.2512L19.7497 17.5008L13.9993 20.7504V27.5016L24.0001 33.252V45.0024L29.7505 48.5016L35.5009 45.0024V33.5016L45.5017 27.7512V20.7504H45.7489ZM45.7489 39.2496V32.5008L40.0009 36V42.4992L45.7489 39.2496ZM49.9993 41.5008L39.9985 47.2512V54L55.9993 44.7504V26.2512L49.9993 30V41.5008ZM44.2513 15L50.0017 18.4992V25.2504L55.7521 21.7512V15L50.0017 11.5008L44.2513 15ZM24.0001 49.7496V56.4984L29.7505 59.9976L35.5009 56.4984V49.7496L29.7505 53.2488L24.0001 49.7496ZM13.9993 39.2496L19.7497 42.4992V35.7504L13.9993 32.2512V39.2496ZM24.0001 15L29.7505 18.4992L35.7505 15L30.0001 11.5008L24.0001 15ZM9.74894 18.4992L15.7489 15L9.74894 11.5008L4.00093 15V21.7488L9.75133 25.248V18.4992H9.74894ZM9.74894 30L3.99854 26.5008V45L19.9993 54.2496V47.5008L9.99854 41.7504V30H9.74894Z\"\n      fill=\"#11181C\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 60 60\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M13.9993 9.2496L30.0001 0L46.0009 9.2496L40.0009 12.4992L30.0001 6.7488L19.7497 12.4992L13.9993 9.2496ZM45.7489 20.7504L39.9985 17.5008L30.0001 23.2512L19.7497 17.5008L13.9993 20.7504V27.5016L24.0001 33.252V45.0024L29.7505 48.5016L35.5009 45.0024V33.5016L45.5017 27.7512V20.7504H45.7489ZM45.7489 39.2496V32.5008L40.0009 36V42.4992L45.7489 39.2496ZM49.9993 41.5008L39.9985 47.2512V54L55.9993 44.7504V26.2512L49.9993 30V41.5008ZM44.2513 15L50.0017 18.4992V25.2504L55.7521 21.7512V15L50.0017 11.5008L44.2513 15ZM24.0001 49.7496V56.4984L29.7505 59.9976L35.5009 56.4984V49.7496L29.7505 53.2488L24.0001 49.7496ZM13.9993 39.2496L19.7497 42.4992V35.7504L13.9993 32.2512V39.2496ZM24.0001 15L29.7505 18.4992L35.7505 15L30.0001 11.5008L24.0001 15ZM9.74894 18.4992L15.7489 15L9.74894 11.5008L4.00093 15V21.7488L9.75133 25.248V18.4992H9.74894ZM9.74894 30L3.99854 26.5008V45L19.9993 54.2496V47.5008L9.99854 41.7504V30H9.74894Z\"\n      fill=\"#ECEDEE\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 18 19\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <rect y=\"0.5\" width=\"18\" height=\"18\" rx=\"9\" fill=\"#FAB600\" />\n    <path\n      d=\"M5.53317 5.00408L9.00001 3L12.4669 5.00408L11.1669 5.70816L9.00001 4.46224L6.77909 5.70816L5.53317 5.00408ZM12.4123 7.49592L11.1663 6.79184L9.00001 8.03776L6.77909 6.79184L5.53317 7.49592V8.95868L7.70001 10.2046V12.7505L8.94593 13.5087L10.1919 12.7505V10.2587L12.3587 9.01276V7.49592H12.4123ZM12.4123 11.5041V10.0418L11.1669 10.8V12.2082L12.4123 11.5041ZM13.3332 11.9918L11.1663 13.2378V14.7L14.6332 12.6959V8.68776L13.3332 9.5V11.9918ZM12.0878 6.25L13.3337 7.00816V8.47092L14.5796 7.71276V6.25L13.3337 5.49184L12.0878 6.25ZM7.70001 13.7791V15.2413L8.94593 15.9995L10.1919 15.2413V13.7791L8.94593 14.5372L7.70001 13.7791ZM5.53317 11.5041L6.77909 12.2082V10.7459L5.53317 9.98776V11.5041ZM7.70001 6.25L8.94593 7.00816L10.2459 6.25L9.00001 5.49184L7.70001 6.25ZM4.61225 7.00816L5.91225 6.25L4.61225 5.49184L3.36685 6.25V7.71224L4.61277 8.4704V7.00816H4.61225ZM4.61225 9.5L3.36633 8.74184V12.75L6.83317 14.7541V13.2918L4.66633 12.0459V9.5H4.61225Z\"\n      fill=\"white\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 15 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      fill-rule=\"evenodd\"\n      clip-rule=\"evenodd\"\n      d=\"M14.7031 12.2344L7.625 0L0.5 12.2344L7.625 16.5938L14.7031 12.2344ZM7.62241 14.8337L12.674 11.7224L7.62072 2.98796L2.53487 11.7209L7.62241 14.8337ZM14.75 13.6406L7.625 18L0.5 13.6406L7.625 24L14.75 13.6406ZM9.51852 18.6L7.625 19.7585L5.73148 18.6L7.625 21.353L9.51852 18.6Z\"\n      fill=\"#151718\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 15 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      fill-rule=\"evenodd\"\n      clip-rule=\"evenodd\"\n      d=\"M14.7031 12.2344L7.625 0L0.5 12.2344L7.625 16.5938L14.7031 12.2344ZM7.62241 14.8337L12.674 11.7224L7.62072 2.98796L2.53487 11.7209L7.62241 14.8337ZM14.75 13.6406L7.625 18L0.5 13.6406L7.625 24L14.75 13.6406ZM9.51852 18.6L7.625 19.7585L5.73148 18.6L7.625 21.353L9.51852 18.6Z\"\n      fill=\"#ECEDEE\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M15.9375 24C11.9386 24 7.96601 24 4 24C1.79086 24 4.05403e-07 22.2091 3.49982e-07 20C2.16183e-07 14.6667 1.72474e-07 9.33333 8.03423e-08 4C4.21801e-08 1.79086 1.79086 1.09105e-06 4 9.78196e-07C9.33333 7.05733e-07 14.6667 5.93166e-07 20 2.79037e-07C22.2091 1.48921e-07 24 1.79086 24 4C24 9.33333 24 14.6667 24 20C24 22.2091 22.2091 24 20 24C18.6537 24 17.3015 24 15.9375 24ZM7.7979 11.9531C7.7979 9.97493 7.7979 7.99672 7.7979 6.01462C6.82839 6.01462 5.90347 6.01462 4.98743 6.01462C4.98743 10.3794 4.98743 14.7129 4.98743 19.0504C9.12763 19.0504 13.2415 19.0504 17.3637 19.0504C17.3637 18.2008 17.3637 17.3814 17.3637 16.5231C14.1715 16.5231 11.0081 16.5231 7.7979 16.5231C7.7979 15.0052 7.7979 13.5261 7.7979 11.9531ZM15.3044 4.48025C15.2591 4.54372 15.2121 4.60604 15.1688 4.67081C14.3322 5.92139 14.7297 7.55141 16.0518 8.29315C17.2939 8.98993 18.9121 8.44879 19.5301 7.13006C20.0459 6.02927 19.6905 4.71735 18.6873 4.01936C17.6165 3.27428 16.329 3.43311 15.3044 4.48025Z\"\n      fill=\"#11181C\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M15.9375 24C11.9386 24 7.96601 24 4 24C1.79086 24 4.05403e-07 22.2091 3.49982e-07 20C2.16183e-07 14.6667 1.72474e-07 9.33333 8.03423e-08 4C4.21801e-08 1.79086 1.79086 1.09105e-06 4 9.78196e-07C9.33333 7.05733e-07 14.6667 5.93166e-07 20 2.79037e-07C22.2091 1.48921e-07 24 1.79086 24 4C24 9.33333 24 14.6667 24 20C24 22.2091 22.2091 24 20 24C18.6537 24 17.3015 24 15.9375 24ZM7.7979 11.9531C7.7979 9.97493 7.7979 7.99672 7.7979 6.01462C6.82839 6.01462 5.90347 6.01462 4.98743 6.01462C4.98743 10.3794 4.98743 14.7129 4.98743 19.0504C9.12763 19.0504 13.2415 19.0504 17.3637 19.0504C17.3637 18.2008 17.3637 17.3814 17.3637 16.5231C14.1715 16.5231 11.0081 16.5231 7.7979 16.5231C7.7979 15.0052 7.7979 13.5261 7.7979 11.9531ZM15.3044 4.48025C15.2591 4.54372 15.2121 4.60604 15.1688 4.67081C14.3322 5.92139 14.7297 7.55141 16.0518 8.29315C17.2939 8.98993 18.9121 8.44879 19.5301 7.13006C20.0459 6.02927 19.6905 4.71735 18.6873 4.01936C17.6165 3.27428 16.329 3.43311 15.3044 4.48025Z\"\n      fill=\"#ECEDEE\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 18 19\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <rect y=\"0.5\" width=\"18\" height=\"18\" rx=\"9\" fill=\"black\" />\n    <path\n      d=\"M6.1986 9.50002C6.1986 10.4538 6.1986 11.3783 6.1986 12.327C8.33871 12.327 10.4477 12.327 12.5758 12.327C12.5758 12.8634 12.5758 13.3755 12.5758 13.9065C9.82769 13.9065 7.08508 13.9065 4.32495 13.9065C4.32495 11.1956 4.32495 8.48714 4.32495 5.75916C4.93564 5.75916 5.55226 5.75916 6.1986 5.75916C6.1986 6.99797 6.1986 8.23435 6.1986 9.50002Z\"\n      fill=\"#FBFBFB\"\n    />\n    <path\n      d=\"M11.2182 4.78476C11.8861 4.14568 12.7444 4.04641 13.4583 4.51208C14.127 4.94833 14.364 5.76828 14.0201 6.45627C13.6082 7.28048 12.5293 7.61869 11.7013 7.1832C10.8199 6.71962 10.5549 5.70085 11.1126 4.91924C11.1415 4.87876 11.1728 4.8398 11.2182 4.78476Z\"\n      fill=\"#FDFDFD\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      fill-rule=\"evenodd\"\n      clip-rule=\"evenodd\"\n      d=\"M12 24C18.6274 24 24 18.6274 24 12C24 5.37259 18.6274 0 12 0C5.37259 0 0 5.37259 0 12C0 18.6274 5.37259 24 12 24ZM7.48368 15.2962C7.812 15.3995 8.16768 15.4512 8.55072 15.4512C9.43234 15.4512 10.1346 15.2475 10.6574 14.8402C11.1803 14.4267 11.5451 13.8035 11.7518 12.9706C11.8127 12.7091 11.8704 12.4477 11.9251 12.1862C11.9859 11.9248 12.0376 11.6603 12.0802 11.3928C12.1531 10.9794 12.141 10.6176 12.0437 10.3075C11.9525 9.99744 11.7913 9.73598 11.5603 9.5232C11.3353 9.31042 11.0587 9.1523 10.7304 9.04896C10.4082 8.93952 10.0555 8.8848 9.67248 8.8848C8.78482 8.8848 8.0795 9.09758 7.55664 9.5232C7.03378 9.94882 6.672 10.572 6.47136 11.3928C6.41054 11.6603 6.34978 11.9248 6.28896 12.1862C6.23424 12.4477 6.18254 12.7091 6.13392 12.9706C6.06706 13.384 6.0792 13.7458 6.1704 14.0558C6.2677 14.3659 6.42878 14.6243 6.65376 14.831C6.87874 15.0378 7.15536 15.1928 7.48368 15.2962ZM9.53568 13.8461C9.28642 14.0406 8.9976 14.1379 8.66928 14.1379C8.33486 14.1379 8.09472 14.0406 7.9488 13.8461C7.80288 13.6515 7.7664 13.3415 7.83936 12.9158C7.88798 12.6483 7.93666 12.396 7.98528 12.1589C8.04 11.9218 8.10082 11.6755 8.16768 11.4202C8.27102 10.9945 8.4443 10.6845 8.68752 10.4899C8.93678 10.2954 9.2256 10.1981 9.55392 10.1981C9.88224 10.1981 10.1224 10.2954 10.2744 10.4899C10.4264 10.6845 10.4629 10.9945 10.3838 11.4202C10.3413 11.6755 10.2926 11.9218 10.2379 12.1589C10.1893 12.396 10.1315 12.6483 10.0646 12.9158C9.9613 13.3415 9.78494 13.6515 9.53568 13.8461ZM12.3074 15.2962C12.3439 15.3387 12.3925 15.36 12.4533 15.36H13.6936C13.7605 15.36 13.8182 15.3387 13.8669 15.2962C13.9216 15.2536 13.955 15.1989 13.9672 15.132L14.3868 13.1347H15.618C16.4023 13.1347 17.0255 12.9675 17.4876 12.6331C17.9557 12.2987 18.2658 11.7819 18.4178 11.0827C18.4908 10.7301 18.4877 10.4231 18.4087 10.1616C18.3296 9.8941 18.1898 9.67214 17.9892 9.49584C17.7885 9.31954 17.5362 9.18878 17.2322 9.10368C16.9343 9.01858 16.5998 8.976 16.229 8.976H13.8031C13.7423 8.976 13.6845 8.99726 13.6298 9.03984C13.5751 9.08242 13.5416 9.13714 13.5295 9.204L12.2709 15.132C12.2587 15.1989 12.2709 15.2536 12.3074 15.2962ZM15.6727 11.8762H14.6239L14.9796 10.2437H16.074C16.2928 10.2437 16.4539 10.2802 16.5573 10.3531C16.6668 10.4261 16.7306 10.5234 16.7488 10.645C16.7671 10.7665 16.761 10.9064 16.7306 11.0645C16.6698 11.3381 16.5391 11.5417 16.3384 11.6755C16.1438 11.8093 15.9219 11.8762 15.6727 11.8762Z\"\n      fill=\"#151718\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      fill-rule=\"evenodd\"\n      clip-rule=\"evenodd\"\n      d=\"M12 24C18.6274 24 24 18.6274 24 12C24 5.37259 18.6274 0 12 0C5.37259 0 0 5.37259 0 12C0 18.6274 5.37259 24 12 24ZM7.48368 15.2962C7.812 15.3995 8.16768 15.4512 8.55072 15.4512C9.43233 15.4512 10.1346 15.2475 10.6574 14.8402C11.1803 14.4267 11.5451 13.8035 11.7518 12.9706C11.8127 12.7091 11.8704 12.4477 11.9251 12.1862C11.9859 11.9248 12.0376 11.6603 12.0802 11.3928C12.1531 10.9794 12.141 10.6176 12.0437 10.3075C11.9525 9.99744 11.7913 9.73598 11.5603 9.5232C11.3353 9.31042 11.0587 9.1523 10.7304 9.04896C10.4082 8.93952 10.0555 8.8848 9.67248 8.8848C8.78482 8.8848 8.0795 9.09758 7.55664 9.5232C7.03378 9.94882 6.672 10.572 6.47136 11.3928C6.41054 11.6603 6.34978 11.9248 6.28896 12.1862C6.23424 12.4477 6.18254 12.7091 6.13392 12.9706C6.06706 13.384 6.0792 13.7458 6.1704 14.0558C6.2677 14.3659 6.42878 14.6243 6.65376 14.831C6.87874 15.0378 7.15536 15.1928 7.48368 15.2962ZM9.53568 13.8461C9.28642 14.0406 8.9976 14.1379 8.66928 14.1379C8.33486 14.1379 8.09472 14.0406 7.9488 13.8461C7.80288 13.6515 7.7664 13.3415 7.83936 12.9158C7.88798 12.6483 7.93666 12.396 7.98528 12.1589C8.04 11.9218 8.10082 11.6755 8.16768 11.4202C8.27102 10.9945 8.4443 10.6845 8.68752 10.4899C8.93678 10.2954 9.2256 10.1981 9.55392 10.1981C9.88224 10.1981 10.1224 10.2954 10.2744 10.4899C10.4264 10.6845 10.4629 10.9945 10.3838 11.4202C10.3413 11.6755 10.2926 11.9218 10.2379 12.1589C10.1893 12.396 10.1315 12.6483 10.0646 12.9158C9.9613 13.3415 9.78494 13.6515 9.53568 13.8461ZM12.3074 15.2962C12.3439 15.3387 12.3925 15.36 12.4533 15.36H13.6936C13.7605 15.36 13.8182 15.3387 13.8669 15.2962C13.9216 15.2536 13.955 15.1989 13.9672 15.132L14.3868 13.1347H15.618C16.4023 13.1347 17.0255 12.9675 17.4876 12.6331C17.9557 12.2987 18.2658 11.7819 18.4178 11.0827C18.4908 10.7301 18.4877 10.4231 18.4087 10.1616C18.3296 9.8941 18.1898 9.67214 17.9892 9.49584C17.7885 9.31954 17.5362 9.18878 17.2322 9.10368C16.9343 9.01858 16.5998 8.976 16.229 8.976H13.8031C13.7423 8.976 13.6845 8.99726 13.6298 9.03984C13.5751 9.08242 13.5416 9.13714 13.5295 9.204L12.2709 15.132C12.2587 15.1989 12.2709 15.2536 12.3074 15.2962ZM15.6727 11.8762H14.6239L14.9796 10.2437H16.074C16.2928 10.2437 16.4539 10.2802 16.5573 10.3531C16.6668 10.4261 16.7306 10.5234 16.7488 10.645C16.7671 10.7665 16.761 10.9064 16.7306 11.0645C16.6698 11.3381 16.5391 11.5417 16.3384 11.6755C16.1438 11.8093 15.9219 11.8762 15.6727 11.8762Z\"\n      fill=\"#ECEDEE\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 18 19\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_174_1547)\">\n      <rect y=\"0.5\" width=\"18\" height=\"18\" rx=\"9\" fill=\"white\" />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M9 18.5C13.9706 18.5 18 14.4706 18 9.5C18 4.52944 13.9706 0.5 9 0.5C4.02944 0.5 0 4.52944 0 9.5C0 14.4706 4.02944 18.5 9 18.5ZM5.61276 11.9721C5.859 12.0496 6.12576 12.0884 6.41304 12.0884C7.07425 12.0884 7.60093 11.9357 7.99308 11.6301C8.38523 11.3201 8.65883 10.8526 8.81388 10.2279C8.85949 10.0318 8.9028 9.83577 8.94384 9.63968C8.98945 9.44359 9.02819 9.24523 9.06012 9.0446C9.11484 8.73453 9.10573 8.4632 9.03276 8.23064C8.96436 7.99808 8.84351 7.80199 8.67024 7.6424C8.50151 7.48281 8.29404 7.36423 8.0478 7.28672C7.80613 7.20464 7.54164 7.1636 7.25436 7.1636C6.58861 7.1636 6.05963 7.32319 5.66748 7.6424C5.27533 7.96161 5.004 8.429 4.85352 9.0446C4.80791 9.24523 4.76233 9.44359 4.71672 9.63968C4.67568 9.83577 4.63691 10.0318 4.60044 10.2279C4.55029 10.538 4.5594 10.8093 4.6278 11.0419C4.70077 11.2744 4.82159 11.4682 4.99032 11.6233C5.15905 11.7783 5.36652 11.8946 5.61276 11.9721ZM7.15176 10.8846C6.96481 11.0305 6.7482 11.1034 6.50196 11.1034C6.25115 11.1034 6.07104 11.0305 5.9616 10.8846C5.85216 10.7387 5.8248 10.5061 5.87952 10.1869C5.91599 9.98625 5.95249 9.797 5.98896 9.61916C6.03 9.44132 6.07561 9.25664 6.12576 9.06512C6.20327 8.74591 6.33323 8.51335 6.51564 8.36744C6.70259 8.22153 6.9192 8.14856 7.16544 8.14856C7.41168 8.14856 7.59179 8.22153 7.7058 8.36744C7.81981 8.51335 7.84717 8.74591 7.78788 9.06512C7.75595 9.25664 7.71948 9.44132 7.67844 9.61916C7.64197 9.797 7.59863 9.98625 7.54848 10.1869C7.47097 10.5061 7.33871 10.7387 7.15176 10.8846ZM9.23054 11.9721C9.2579 12.0041 9.29437 12.02 9.33998 12.02H10.2702C10.3204 12.02 10.3637 12.0041 10.4002 11.9721C10.4412 11.9402 10.4663 11.8991 10.4754 11.849L10.7901 10.351H11.7135C12.3017 10.351 12.7691 10.2257 13.1157 9.97484C13.4668 9.72403 13.6993 9.33645 13.8133 8.81204C13.8681 8.54755 13.8658 8.31729 13.8065 8.1212C13.7472 7.92057 13.6423 7.75411 13.4919 7.62188C13.3414 7.48965 13.1521 7.39159 12.9241 7.32776C12.7007 7.26393 12.4499 7.232 12.1717 7.232H10.3523C10.3067 7.232 10.2634 7.24795 10.2223 7.27988C10.1813 7.31181 10.1562 7.35285 10.1471 7.403L9.20318 11.849C9.19404 11.8991 9.20318 11.9402 9.23054 11.9721ZM11.7545 9.40712H10.9679L11.2347 8.18276H12.0555C12.2196 8.18276 12.3404 8.21012 12.418 8.26484C12.5001 8.31956 12.5479 8.39253 12.5616 8.48372C12.5753 8.57491 12.5707 8.67981 12.5479 8.79836C12.5023 9.00356 12.4043 9.15631 12.2538 9.25664C12.1079 9.35697 11.9415 9.40712 11.7545 9.40712Z\"\n        fill=\"#FF0000\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_174_1547\">\n        <rect y=\"0.5\" width=\"18\" height=\"18\" rx=\"9\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    id=\"Layer_2\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    viewBox=\"0 0 408.59 401.32\"\n  >\n    <g id=\"Layer_1-2\">\n      <g>\n        <path\n          fill=\"#11181c\"\n          d=\"M72.79,191.41c-.02-14.11,.12-27.76,.15-41.42,.05-16.83,.01-33.66,.01-51.08h-13.99v-23.94c7.82,0,15.68-.7,23.35,.19,8.49,.98,14.59,9.04,15.15,18.05,.1,1.66,.04,3.33,.04,5,0,76.32,0,152.65,0,228.97,0,26.47,18.36,46.96,44.37,49.53,24.58,2.43,47.12-14.61,52.14-39.73,4.92-24.61-14.43-58.56-49.26-53.7v26.58h13.65v23.88c-5.64,0-11.31,.51-16.85-.1-12.5-1.39-21.23-11.82-21.56-25.31-.2-8.16-.21-16.34,0-24.5,.41-15.81,9.56-24.97,25.38-25.35,8.99-.22,18-.04,27-.04,53.66,0,107.32,.08,160.98-.05,16.62-.04,31.94,3.76,45.9,13.63,14.04,11.2,23.76,24.87,27.59,42.36,9.76,44.52-22.75,86.45-68.41,86.74-65.81,.42-131.63,.21-197.44-.53-27.21-.31-48.83-11.91-61.35-37.28-5.19-10.5-6.67-21.88-6.68-33.46-.05-45.99-.04-91.98-.17-138.43m141.3,164.39c-3.67,6.79-7.33,13.59-11.22,20.79,1.54,0,3,0,4.46,0,42.99,.11,85.99,.24,128.98,.33,2.49,0,5.02,0,7.47-.38,24.78-3.76,42.07-24.83,40.48-49.62-1.66-25.73-22.02-43.92-47.98-43.95-43.16-.05-86.33-.02-129.49,0-1.2,0-2.41,.19-3.9,.32,15.76,22.38,20.5,46.02,11.2,72.51Z\"\n        />\n        <path\n          fill=\"#11181c\"\n          d=\"M379.54,252.32c-7.86-2.41-15.74-5.29-24.19-8.37v-5.23c0-66.45,0-132.91,0-199.36,0-11.1-3.81-14.89-15.04-14.89-79.95,0-159.89,0-239.84,0-31.26,0-58.22,17.38-69.88,45.06-11.71,27.81-5.46,58.26,16.63,80.95,1.63,1.67,3.2,3.41,4.96,4.93,4.5,3.9,6.31,8.76,4.15,14.31-2.19,5.62-6.87,7.84-13.26,7.39-7.42-6.26-15.48-11.72-21.22-19.01C-1.55,128.39-6.23,95.07,8.17,60.43,22.58,25.82,49.55,5.9,86.98,.83,91.74,.18,96.61,.04,101.43,.04,180.93-.01,260.42,0,339.92,0c24.68,0,39.59,14.83,39.59,39.36,0,70.83,0,141.66,.03,212.96Z\"\n        />\n        <path\n          fill=\"#11181c\"\n          d=\"M187.67,135.78c40.81,0,81.12,0,121.43,0,6.78,0,10.71,2.35,12.78,7.49,2.96,7.37-1.56,15.28-9.46,16.49-1.14,.17-2.33,.12-3.49,.12-55.3,0-110.61,0-165.91,0-1.15,0-2.29-.1-3.74-.17v-23.93h48.39Z\"\n        />\n        <path\n          fill=\"#11181c\"\n          d=\"M246.67,192.41c12.66,0,24.82-.12,36.98,.04,9.39,.12,14.84,6.32,13.2,14.59-1,5.06-4.83,8.71-10.24,9.54-1.8,.28-3.65,.21-5.48,.21-45.47,0-90.94,0-136.41,0h-5.38v-24.39c35.64,0,71.23,0,107.33,0Z\"\n        />\n        <path\n          fill=\"#11181c\"\n          d=\"M278.61,78.87c2.15,0,3.82-.02,5.48,0,7.79,.11,13.02,4.92,13.06,12,.05,7.06-5.24,12.04-12.99,12.06-16.65,.04-33.29,.01-49.94,.01h-95.01v-24.07h139.39Z\"\n        />\n      </g>\n    </g>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    id=\"Layer_2\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    viewBox=\"0 0 408.59 401.32\"\n  >\n    <g id=\"Layer_1-2\">\n      <g>\n        <path\n          fill=\"#ecedee\"\n          d=\"M72.79,191.41c-.02-14.11,.12-27.76,.15-41.42,.05-16.83,.01-33.66,.01-51.08h-13.99v-23.94c7.82,0,15.68-.7,23.35,.19,8.49,.98,14.59,9.04,15.15,18.05,.1,1.66,.04,3.33,.04,5,0,76.32,0,152.65,0,228.97,0,26.47,18.36,46.96,44.37,49.53,24.58,2.43,47.12-14.61,52.14-39.73,4.92-24.61-14.43-58.56-49.26-53.7v26.58h13.65v23.88c-5.64,0-11.31,.51-16.85-.1-12.5-1.39-21.23-11.82-21.56-25.31-.2-8.16-.21-16.34,0-24.5,.41-15.81,9.56-24.97,25.38-25.35,8.99-.22,18-.04,27-.04,53.66,0,107.32,.08,160.98-.05,16.62-.04,31.94,3.76,45.9,13.63,14.04,11.2,23.76,24.87,27.59,42.36,9.76,44.52-22.75,86.45-68.41,86.74-65.81,.42-131.63,.21-197.44-.53-27.21-.31-48.83-11.91-61.35-37.28-5.19-10.5-6.67-21.88-6.68-33.46-.05-45.99-.04-91.98-.17-138.43m141.3,164.39c-3.67,6.79-7.33,13.59-11.22,20.79,1.54,0,3,0,4.46,0,42.99,.11,85.99,.24,128.98,.33,2.49,0,5.02,0,7.47-.38,24.78-3.76,42.07-24.83,40.48-49.62-1.66-25.73-22.02-43.92-47.98-43.95-43.16-.05-86.33-.02-129.49,0-1.2,0-2.41,.19-3.9,.32,15.76,22.38,20.5,46.02,11.2,72.51Z\"\n        />\n        <path\n          fill=\"#ecedee\"\n          d=\"M379.54,252.32c-7.86-2.41-15.74-5.29-24.19-8.37v-5.23c0-66.45,0-132.91,0-199.36,0-11.1-3.81-14.89-15.04-14.89-79.95,0-159.89,0-239.84,0-31.26,0-58.22,17.38-69.88,45.06-11.71,27.81-5.46,58.26,16.63,80.95,1.63,1.67,3.2,3.41,4.96,4.93,4.5,3.9,6.31,8.76,4.15,14.31-2.19,5.62-6.87,7.84-13.26,7.39-7.42-6.26-15.48-11.72-21.22-19.01C-1.55,128.39-6.23,95.07,8.17,60.43,22.58,25.82,49.55,5.9,86.98,.83,91.74,.18,96.61,.04,101.43,.04,180.93-.01,260.42,0,339.92,0c24.68,0,39.59,14.83,39.59,39.36,0,70.83,0,141.66,.03,212.96Z\"\n        />\n        <path\n          fill=\"#ecedee\"\n          d=\"M187.67,135.78c40.81,0,81.12,0,121.43,0,6.78,0,10.71,2.35,12.78,7.49,2.96,7.37-1.56,15.28-9.46,16.49-1.14,.17-2.33,.12-3.49,.12-55.3,0-110.61,0-165.91,0-1.15,0-2.29-.1-3.74-.17v-23.93h48.39Z\"\n        />\n        <path\n          fill=\"#ecedee\"\n          d=\"M246.67,192.41c12.66,0,24.82-.12,36.98,.04,9.39,.12,14.84,6.32,13.2,14.59-1,5.06-4.83,8.71-10.24,9.54-1.8,.28-3.65,.21-5.48,.21-45.47,0-90.94,0-136.41,0h-5.38v-24.39c35.64,0,71.23,0,107.33,0Z\"\n        />\n        <path\n          fill=\"#ecedee\"\n          d=\"M278.61,78.87c2.15,0,3.82-.02,5.48,0,7.79,.11,13.02,4.92,13.06,12,.05,7.06-5.24,12.04-12.99,12.06-16.65,.04-33.29,.01-49.94,.01h-95.01v-24.07h139.39Z\"\n        />\n      </g>\n    </g>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 18 19\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <rect y=\"0.5\" width=\"18\" height=\"18\" rx=\"9\" fill=\"#FFEDD8\" />\n    <g clip-path=\"url(#clip0_179_1765)\">\n      <path\n        d=\"M5.25161 9.12536C5.25105 8.72406 5.25503 8.33584 5.25588 7.94733C5.2573 7.46867 5.25617 6.99001 5.25617 6.49457H4.85828V5.81369C5.08068 5.81369 5.30423 5.79378 5.52237 5.8191C5.76384 5.84697 5.93733 6.0762 5.95325 6.33246C5.9561 6.37967 5.95439 6.42716 5.95439 6.47466C5.95439 8.64527 5.95439 10.8162 5.95439 12.9868C5.95439 13.7396 6.47657 14.3224 7.21632 14.3955C7.91539 14.4646 8.55645 13.9799 8.69923 13.2655C8.83916 12.5656 8.28882 11.6 7.29823 11.7382V12.4942H7.68644V13.1734C7.52604 13.1734 7.36478 13.1879 7.20722 13.1705C6.8517 13.131 6.60341 12.8343 6.59403 12.4507C6.58834 12.2186 6.58806 11.9859 6.59403 11.7539C6.60569 11.3042 6.86592 11.0437 7.31586 11.0329C7.57154 11.0266 7.8278 11.0318 8.08377 11.0318C9.60991 11.0318 11.136 11.034 12.6622 11.0303C13.1349 11.0292 13.5706 11.1373 13.9676 11.418C14.3669 11.7365 14.6434 12.1253 14.7523 12.6227C15.0299 13.8889 14.1053 15.0815 12.8067 15.0897C10.935 15.1017 9.06299 15.0957 7.19129 15.0746C6.41741 15.0658 5.80252 14.7359 5.44644 14.0144C5.29883 13.7157 5.25673 13.3921 5.25645 13.0627C5.25503 11.7547 5.25531 10.4467 5.25161 9.12564M9.27032 13.8011C9.16594 13.9942 9.06185 14.1876 8.95121 14.3923C8.99501 14.3923 9.03654 14.3923 9.07806 14.3923C10.3007 14.3955 11.5237 14.3992 12.7464 14.4017C12.8172 14.4017 12.8891 14.4017 12.9588 14.3909C13.6636 14.284 14.1553 13.6847 14.1101 12.9797C14.0629 12.2479 13.4838 11.7305 12.7455 11.7297C11.518 11.7283 10.2902 11.7291 9.0627 11.7297C9.02857 11.7297 8.99416 11.7351 8.95178 11.7388C9.40001 12.3753 9.53482 13.0477 9.27032 13.8011Z\"\n        fill=\"#1C0500\"\n      />\n      <path\n        d=\"M13.9759 10.8577C13.7523 10.7891 13.5282 10.7072 13.2879 10.6196V10.4709C13.2879 8.58098 13.2879 6.6908 13.2879 4.80089C13.2879 4.4852 13.1795 4.37741 12.8602 4.37741C10.5863 4.37741 8.31273 4.37741 6.03887 4.37741C5.14981 4.37741 4.38304 4.87171 4.05142 5.65896C3.71837 6.4499 3.89613 7.31593 4.52439 7.96125C4.57075 8.00875 4.6154 8.05824 4.66546 8.10147C4.79344 8.21239 4.84492 8.35061 4.78349 8.50846C4.7212 8.6683 4.5881 8.73143 4.40636 8.71864C4.19533 8.5406 3.96609 8.38531 3.80284 8.17797C3.13732 7.33299 3.00422 6.38534 3.41377 5.40015C3.8236 4.4158 4.59066 3.84926 5.6552 3.70506C5.79058 3.68658 5.92909 3.6826 6.06617 3.6826C8.32723 3.68117 10.588 3.68146 12.8491 3.68146C13.551 3.68146 13.975 4.10324 13.975 4.80089C13.975 6.81537 13.975 8.82984 13.9759 10.8577Z\"\n        fill=\"#1C0500\"\n      />\n      <path\n        d=\"M8.51896 7.54318C9.67963 7.54318 10.8261 7.54318 11.9725 7.54318C12.1654 7.54318 12.2771 7.61002 12.336 7.75621C12.4202 7.96582 12.2917 8.19078 12.067 8.2252C12.0345 8.23003 12.0007 8.22861 11.9677 8.22861C10.3949 8.22861 8.82185 8.22861 7.24907 8.22861C7.21636 8.22861 7.18394 8.22577 7.1427 8.22377V7.54318H8.51896Z\"\n        fill=\"#1C0500\"\n      />\n      <path\n        d=\"M10.197 9.15379C10.557 9.15379 10.9029 9.15038 11.2487 9.15493C11.5158 9.15834 11.6708 9.33468 11.6241 9.56988C11.5957 9.7138 11.4868 9.81761 11.3329 9.84121C11.2817 9.84918 11.2291 9.84718 11.1771 9.84718C9.88384 9.84718 8.59063 9.84718 7.29742 9.84718H7.14441V9.15351C8.15804 9.15351 9.17026 9.15351 10.197 9.15351V9.15379Z\"\n        fill=\"#1C0500\"\n      />\n      <path\n        d=\"M11.1053 5.92461C11.1664 5.92461 11.2139 5.92405 11.2612 5.92461C11.4827 5.92774 11.6315 6.06454 11.6326 6.26591C11.634 6.4667 11.4836 6.60834 11.2631 6.6089C10.7896 6.61004 10.3163 6.60919 9.8428 6.60919H7.14062V5.92461H11.105H11.1053Z\"\n        fill=\"#1C0500\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_179_1765\">\n        <rect\n          width=\"12.0164\"\n          height=\"12.0164\"\n          fill=\"white\"\n          transform=\"translate(2.99182 3.49182)\"\n        />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24Z\"\n      fill=\"#202425\"\n    />\n    <path\n      d=\"M15.4706 14.5895L18.8656 12.6291C19.0455 12.5253 19.1567 12.3322 19.1567 12.1245V8.20417C19.1567 7.99691 19.045 7.80337 18.8656 7.69949L15.4706 5.7391C15.2908 5.63522 15.0678 5.63571 14.888 5.7391L11.493 7.69949C11.3131 7.80337 11.2019 7.99691 11.2019 8.20417V15.2103L8.82113 16.5847L6.44034 15.2103V12.4611L8.82113 11.0867L10.3915 11.9932V10.1489L9.11218 9.41049C9.02398 9.35953 8.92305 9.33258 8.82064 9.33258C8.71824 9.33258 8.6173 9.35953 8.52959 9.41049L5.13455 11.3709C4.95473 11.4748 4.84351 11.6678 4.84351 11.8756V15.7959C4.84351 16.0031 4.95522 16.1967 5.13455 16.3005L8.52959 18.2609C8.70893 18.3643 8.93235 18.3643 9.11218 18.2609L12.5072 16.301C12.687 16.1971 12.7983 16.0036 12.7983 15.7963V8.79018L12.8414 8.76568L15.1791 7.4158L17.5598 8.79018V11.5394L15.1791 12.9138L13.6111 12.0083V13.8526L14.888 14.59C15.0678 14.6934 15.2908 14.6934 15.4706 14.59V14.5895Z\"\n      fill=\"white\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24Z\"\n      fill=\"#687076\"\n    />\n    <path\n      d=\"M15.4706 14.5895L18.8656 12.6291C19.0455 12.5253 19.1567 12.3322 19.1567 12.1245V8.20417C19.1567 7.99691 19.045 7.80337 18.8656 7.69949L15.4706 5.7391C15.2908 5.63522 15.0678 5.63571 14.888 5.7391L11.493 7.69949C11.3131 7.80337 11.2019 7.99691 11.2019 8.20417V15.2103L8.82113 16.5847L6.44034 15.2103V12.4611L8.82113 11.0867L10.3915 11.9932V10.1489L9.11218 9.41049C9.02398 9.35953 8.92305 9.33258 8.82064 9.33258C8.71824 9.33258 8.6173 9.35953 8.52959 9.41049L5.13455 11.3709C4.95473 11.4748 4.84351 11.6678 4.84351 11.8756V15.7959C4.84351 16.0031 4.95522 16.1967 5.13455 16.3005L8.52959 18.2609C8.70893 18.3643 8.93235 18.3643 9.11218 18.2609L12.5072 16.301C12.687 16.1971 12.7983 16.0036 12.7983 15.7963V8.79018L12.8414 8.76568L15.1791 7.4158L17.5598 8.79018V11.5394L15.1791 12.9138L13.6111 12.0083V13.8526L14.888 14.59C15.0678 14.6934 15.2908 14.6934 15.4706 14.59V14.5895Z\"\n      fill=\"white\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 18 19\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_176_1624)\">\n      <rect y=\"0.5\" width=\"18\" height=\"18\" rx=\"9\" fill=\"white\" />\n      <path\n        d=\"M9 18.5C13.9706 18.5 18 14.4706 18 9.5C18 4.52944 13.9706 0.5 9 0.5C4.02944 0.5 0 4.52944 0 9.5C0 14.4706 4.02944 18.5 9 18.5Z\"\n        fill=\"url(#paint0_linear_176_1624)\"\n      />\n      <path\n        d=\"M11.6029 11.4422L14.1492 9.97186C14.284 9.89395 14.3674 9.74916 14.3674 9.59335V6.65313C14.3674 6.49768 14.2837 6.35253 14.1492 6.27462L11.6029 4.80432C11.468 4.72642 11.3008 4.72679 11.1659 4.80432L8.61966 6.27462C8.4848 6.35253 8.40138 6.49768 8.40138 6.65313V11.9078L6.61579 12.9385L4.83019 11.9078V9.84581L6.61579 8.81502L7.79357 9.49486V8.11166L6.83407 7.55787C6.76792 7.51965 6.69222 7.49944 6.61542 7.49944C6.53862 7.49944 6.46291 7.51965 6.39713 7.55787L3.85085 9.02816C3.71599 9.10607 3.63257 9.25086 3.63257 9.40667V12.3469C3.63257 12.5023 3.71635 12.6475 3.85085 12.7254L6.39713 14.1957C6.53163 14.2732 6.6992 14.2732 6.83407 14.1957L9.38035 12.7258C9.51522 12.6479 9.59864 12.5027 9.59864 12.3473V7.09263L9.63097 7.07426L11.3842 6.06185L13.1698 7.09263V9.15458L11.3842 10.1854L10.2083 9.50626V10.8895L11.1659 11.4425C11.3008 11.5201 11.468 11.5201 11.6029 11.4425V11.4422Z\"\n        fill=\"white\"\n      />\n    </g>\n    <defs>\n      <linearGradient\n        id=\"paint0_linear_176_1624\"\n        x1=\"-3.28948\"\n        y1=\"1.97941\"\n        x2=\"15.2926\"\n        y2=\"13.3508\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop stop-color=\"#A229C5\" />\n        <stop offset=\"1\" stop-color=\"#7B3FE4\" />\n      </linearGradient>\n      <clipPath id=\"clip0_176_1624\">\n        <rect y=\"0.5\" width=\"18\" height=\"18\" rx=\"9\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    version=\"1.1\"\n    id=\"Layer_1\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    x=\"0px\"\n    y=\"0px\"\n    viewBox=\"0 0 400 400\"\n  >\n    <circle fillRule=\"evenodd\" clipRule=\"evenOdd\" cx=\"200\" cy=\"200\" r=\"200\" />\n    <g>\n      <path\n        fillRule=\"evenodd\"\n        clipRule=\"evenOdd\"\n        fill=\"#ffffff\"\n        d=\"M316,199l-66.7-66.4v48.6l-66.2,48.7l66.2,0v35.5L316,199z\"\n      />\n      <path\n        fillRule=\"evenodd\"\n        clipRule=\"evenOdd\"\n        fill=\"#ffffff\"\n        d=\"M81,199l66.7,66.4v-48.3l66.2-49.1l-66.2,0v-35.5L81,199z\"\n      />\n    </g>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    version=\"1.1\"\n    id=\"Layer_1\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    x=\"0px\"\n    y=\"0px\"\n    viewBox=\"0 0 400 400\"\n  >\n    <circle\n      fillRule=\"evenodd\"\n      clipRule=\"evenOdd\"\n      fill=\"#ffffff\"\n      cx=\"200\"\n      cy=\"200\"\n      r=\"200\"\n    />\n    <g>\n      <path\n        fillRule=\"evenodd\"\n        clipRule=\"evenOdd\"\n        d=\"M316,199l-66.7-66.4v48.6l-66.2,48.7l66.2,0v35.5L316,199z\"\n      />\n      <path\n        fillRule=\"evenodd\"\n        clipRule=\"evenOdd\"\n        d=\"M81,199l66.7,66.4v-48.3l66.2-49.1l-66.2,0v-35.5L81,199z\"\n      />\n    </g>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 18 19\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_176_1669)\">\n      <rect y=\"0.5\" width=\"18\" height=\"18\" rx=\"9\" fill=\"white\" />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M18 9.5C18 14.4706 13.9706 18.5 9 18.5C4.02944 18.5 0 14.4706 0 9.5C0 4.52944 4.02944 0.5 9 0.5C13.9706 0.5 18 4.52944 18 9.5ZM15.75 9.49998L11.9867 5.75V8.4963L8.25 11.246L11.9867 11.2486V13.25L15.75 9.49998ZM6.01333 13.25L2.25 9.5L6.01333 5.75V7.7514L9.75 7.75394L6.01333 10.5258V13.25Z\"\n        fill=\"black\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_176_1669\">\n        <rect y=\"0.5\" width=\"18\" height=\"18\" rx=\"9\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 60 60\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_4824_71881)\">\n      <path\n        d=\"M60 30C60 13.4315 46.5685 0 30 0C13.4315 0 0 13.4315 0 30C0 46.5685 13.4315 60 30 60C46.5685 60 60 46.5685 60 30Z\"\n        fill=\"url(#paint0_radial_4824_71881)\"\n      />\n    </g>\n    <defs>\n      <radialGradient\n        id=\"paint0_radial_4824_71881\"\n        cx=\"0\"\n        cy=\"0\"\n        r=\"1\"\n        gradientUnits=\"userSpaceOnUse\"\n        gradientTransform=\"translate(38.9752 14.6145) scale(45.1744)\"\n      >\n        <stop offset=\"0.0677083\" stop-color=\"#ECEDEE\" />\n        <stop offset=\"0.25\" stop-color=\"#787F85\" />\n        <stop offset=\"0.473958\" stop-color=\"#4C5155\" />\n        <stop offset=\"0.880208\" stop-color=\"#26292B\" />\n        <stop offset=\"1\" stop-color=\"#313538\" />\n      </radialGradient>\n      <clipPath id=\"clip0_4824_71881\">\n        <rect width=\"60\" height=\"60\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 60 60\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_4827_71887)\">\n      <path\n        d=\"M60 30C60 13.4315 46.5685 0 30 0C13.4315 0 0 13.4315 0 30C0 46.5685 13.4315 60 30 60C46.5685 60 60 46.5685 60 30Z\"\n        fill=\"url(#paint0_radial_4827_71887)\"\n      />\n    </g>\n    <defs>\n      <radialGradient\n        id=\"paint0_radial_4827_71887\"\n        cx=\"0\"\n        cy=\"0\"\n        r=\"1\"\n        gradientUnits=\"userSpaceOnUse\"\n        gradientTransform=\"translate(38.9752 14.6145) scale(45.1744)\"\n      >\n        <stop offset=\"0.0677083\" stop-color=\"white\" />\n        <stop offset=\"0.25\" stop-color=\"#F0F0F0\" />\n        <stop offset=\"0.473958\" stop-color=\"#F3F3F3\" />\n        <stop offset=\"0.880208\" stop-color=\"#ADADAD\" />\n        <stop offset=\"1\" stop-color=\"#CCCCCC\" />\n      </radialGradient>\n      <clipPath id=\"clip0_4827_71887\">\n        <rect width=\"60\" height=\"60\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 18 19\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_179_1873)\">\n      <mask\n        id=\"mask0_179_1873\"\n        style={{ maskType: 'alpha' }}\n        maskUnits=\"userSpaceOnUse\"\n        x=\"0\"\n        y=\"0\"\n        width=\"18\"\n        height=\"19\"\n      >\n        <path\n          d=\"M9 18.5C13.9706 18.5 18 14.4706 18 9.5C18 4.52944 13.9706 0.5 9 0.5C4.02944 0.5 0 4.52944 0 9.5C0 14.4706 4.02944 18.5 9 18.5Z\"\n          fill=\"#D9D9D9\"\n        />\n      </mask>\n      <g mask=\"url(#mask0_179_1873)\">\n        <path\n          d=\"M21.0501 -3.41278H-2.77734V20.4147H21.0501V-3.41278Z\"\n          fill=\"#A1723A\"\n        />\n        <g filter=\"url(#filter0_f_179_1873)\">\n          <path\n            d=\"M9.68737 18.1215C14.9915 18.1215 19.2913 13.8229 19.2913 8.52039C19.2913 3.21782 14.9915 -1.08075 9.68737 -1.08075C4.38331 -1.08075 0.0834961 3.21782 0.0834961 8.52039C0.0834961 13.8229 4.38331 18.1215 9.68737 18.1215Z\"\n            fill=\"#531002\"\n          />\n        </g>\n        <g filter=\"url(#filter1_f_179_1873)\">\n          <path\n            d=\"M10.7226 15.0825C15.0246 15.0825 18.5121 11.5938 18.5121 7.29034C18.5121 2.98679 15.0246 -0.501892 10.7226 -0.501892C6.42068 -0.501892 2.93323 2.98679 2.93323 7.29034C2.93323 11.5938 6.42068 15.0825 10.7226 15.0825Z\"\n            fill=\"#2B5DF0\"\n          />\n        </g>\n        <g filter=\"url(#filter2_f_179_1873)\">\n          <path\n            d=\"M10.5807 15.5278C15.0656 15.5278 18.7013 11.8908 18.7013 7.4044C18.7013 2.91796 15.0656 -0.718994 10.5807 -0.718994C6.0958 -0.718994 2.46008 2.91796 2.46008 7.4044C2.46008 11.8908 6.0958 15.5278 10.5807 15.5278Z\"\n            fill=\"url(#paint0_radial_179_1873)\"\n          />\n        </g>\n        <g filter=\"url(#filter3_f_179_1873)\">\n          <path\n            d=\"M11.9276 9.44993C14.187 9.44993 16.0185 7.61839 16.0185 5.35904C16.0185 3.09969 14.187 1.26813 11.9276 1.26813C9.66821 1.26813 7.83667 3.09969 7.83667 5.35904C7.83667 7.61839 9.66821 9.44993 11.9276 9.44993Z\"\n            fill=\"#FCB8D4\"\n          />\n        </g>\n        <g filter=\"url(#filter4_f_179_1873)\">\n          <path\n            d=\"M11.9248 6.98982C12.8271 6.98982 13.5584 6.25846 13.5584 5.35624C13.5584 4.45404 12.8271 3.72266 11.9248 3.72266C11.0226 3.72266 10.2913 4.45404 10.2913 5.35624C10.2913 6.25846 11.0226 6.98982 11.9248 6.98982Z\"\n            fill=\"white\"\n          />\n        </g>\n        <g filter=\"url(#filter5_f_179_1873)\">\n          <path\n            d=\"M10.8395 21.667C18.9471 21.667 25.5195 15.0946 25.5195 6.98704C25.5195 -1.12047 18.9471 -7.69293 10.8395 -7.69293C2.73199 -7.69293 -3.84045 -1.12047 -3.84045 6.98704C-3.84045 15.0946 2.73199 21.667 10.8395 21.667Z\"\n            fill=\"url(#paint1_radial_179_1873)\"\n            fill-opacity=\"0.9\"\n          />\n        </g>\n      </g>\n    </g>\n    <defs>\n      <filter\n        id=\"filter0_f_179_1873\"\n        x=\"-3.89229\"\n        y=\"-5.05653\"\n        width=\"27.1593\"\n        height=\"27.1538\"\n        filterUnits=\"userSpaceOnUse\"\n        color-interpolation-filters=\"sRGB\"\n      >\n        <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\n        <feBlend\n          mode=\"normal\"\n          in=\"SourceGraphic\"\n          in2=\"BackgroundImageFix\"\n          result=\"shape\"\n        />\n        <feGaussianBlur\n          stdDeviation=\"1.98789\"\n          result=\"effect1_foregroundBlur_179_1873\"\n        />\n      </filter>\n      <filter\n        id=\"filter1_f_179_1873\"\n        x=\"-5.01836\"\n        y=\"-8.45348\"\n        width=\"31.482\"\n        height=\"31.4876\"\n        filterUnits=\"userSpaceOnUse\"\n        color-interpolation-filters=\"sRGB\"\n      >\n        <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\n        <feBlend\n          mode=\"normal\"\n          in=\"SourceGraphic\"\n          in2=\"BackgroundImageFix\"\n          result=\"shape\"\n        />\n        <feGaussianBlur\n          stdDeviation=\"3.9758\"\n          result=\"effect1_foregroundBlur_179_1873\"\n        />\n      </filter>\n      <filter\n        id=\"filter2_f_179_1873\"\n        x=\"-0.521771\"\n        y=\"-3.70085\"\n        width=\"22.2049\"\n        height=\"22.2105\"\n        filterUnits=\"userSpaceOnUse\"\n        color-interpolation-filters=\"sRGB\"\n      >\n        <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\n        <feBlend\n          mode=\"normal\"\n          in=\"SourceGraphic\"\n          in2=\"BackgroundImageFix\"\n          result=\"shape\"\n        />\n        <feGaussianBlur\n          stdDeviation=\"1.49093\"\n          result=\"effect1_foregroundBlur_179_1873\"\n        />\n      </filter>\n      <filter\n        id=\"filter3_f_179_1873\"\n        x=\"1.87298\"\n        y=\"-4.69556\"\n        width=\"20.1091\"\n        height=\"20.1092\"\n        filterUnits=\"userSpaceOnUse\"\n        color-interpolation-filters=\"sRGB\"\n      >\n        <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\n        <feBlend\n          mode=\"normal\"\n          in=\"SourceGraphic\"\n          in2=\"BackgroundImageFix\"\n          result=\"shape\"\n        />\n        <feGaussianBlur\n          stdDeviation=\"2.98184\"\n          result=\"effect1_foregroundBlur_179_1873\"\n        />\n      </filter>\n      <filter\n        id=\"filter4_f_179_1873\"\n        x=\"6.31547\"\n        y=\"-0.253129\"\n        width=\"11.2188\"\n        height=\"11.2187\"\n        filterUnits=\"userSpaceOnUse\"\n        color-interpolation-filters=\"sRGB\"\n      >\n        <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\n        <feBlend\n          mode=\"normal\"\n          in=\"SourceGraphic\"\n          in2=\"BackgroundImageFix\"\n          result=\"shape\"\n        />\n        <feGaussianBlur\n          stdDeviation=\"1.98789\"\n          result=\"effect1_foregroundBlur_179_1873\"\n        />\n      </filter>\n      <filter\n        id=\"filter5_f_179_1873\"\n        x=\"-6.82231\"\n        y=\"-10.6748\"\n        width=\"35.3237\"\n        height=\"35.3236\"\n        filterUnits=\"userSpaceOnUse\"\n        color-interpolation-filters=\"sRGB\"\n      >\n        <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\n        <feBlend\n          mode=\"normal\"\n          in=\"SourceGraphic\"\n          in2=\"BackgroundImageFix\"\n          result=\"shape\"\n        />\n        <feGaussianBlur\n          stdDeviation=\"1.49093\"\n          result=\"effect1_foregroundBlur_179_1873\"\n        />\n      </filter>\n      <radialGradient\n        id=\"paint0_radial_179_1873\"\n        cx=\"0\"\n        cy=\"0\"\n        r=\"1\"\n        gradientUnits=\"userSpaceOnUse\"\n        gradientTransform=\"translate(11.9504 5.11263) rotate(128.228) scale(15.3367 15.3355)\"\n      >\n        <stop offset=\"0.286458\" stop-color=\"#387AFA\" />\n        <stop offset=\"0.647782\" stop-color=\"#387AFA\" stop-opacity=\"0\" />\n      </radialGradient>\n      <radialGradient\n        id=\"paint1_radial_179_1873\"\n        cx=\"0\"\n        cy=\"0\"\n        r=\"1\"\n        gradientUnits=\"userSpaceOnUse\"\n        gradientTransform=\"translate(10.8395 6.98704) rotate(90) scale(14.68)\"\n      >\n        <stop offset=\"0.598958\" stop-opacity=\"0\" />\n        <stop offset=\"0.671875\" />\n        <stop offset=\"0.734375\" stop-opacity=\"0\" />\n      </radialGradient>\n      <clipPath id=\"clip0_179_1873\">\n        <rect\n          width=\"18\"\n          height=\"18\"\n          fill=\"white\"\n          transform=\"translate(0 0.5)\"\n        />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      fill-rule=\"evenodd\"\n      clip-rule=\"evenodd\"\n      d=\"M12.7508 11.25C12.7508 11.25 12.9154 4.25646 15.5016 1.67025C17.5824 -0.410578 20.798 -0.568718 22.6837 1.31704C24.5695 3.20279 24.4113 6.4183 22.3305 8.4992C19.7443 11.0854 12.7508 11.25 12.7508 11.25ZM11.2504 11.25C11.2504 11.25 11.0858 4.25646 8.49954 1.67026C6.41871 -0.410568 3.20316 -0.568708 1.3174 1.31704C-0.568351 3.20279 -0.410208 6.4183 1.67063 8.4992C4.25683 11.0854 11.2504 11.25 11.2504 11.25ZM8.49917 22.3302C11.0854 19.744 11.25 12.7505 11.25 12.7505C11.25 12.7505 4.25646 12.9151 1.67026 15.5013C-0.410575 17.5821 -0.568718 20.7977 1.31704 22.6834C3.20279 24.5692 6.41834 24.411 8.49917 22.3302ZM12.7515 12.7505C12.7515 12.7505 12.9161 19.744 15.5023 22.3302C17.5832 24.411 20.7987 24.5692 22.6845 22.6834C24.5702 20.7977 24.4121 17.5821 22.3312 15.5013C19.745 12.9151 12.7515 12.7505 12.7515 12.7505Z\"\n      fill=\"#11181C\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      fill-rule=\"evenodd\"\n      clip-rule=\"evenodd\"\n      d=\"M12.7508 11.25C12.7508 11.25 12.9154 4.25646 15.5016 1.67025C17.5824 -0.410578 20.798 -0.568718 22.6837 1.31704C24.5695 3.20279 24.4113 6.4183 22.3305 8.4992C19.7443 11.0854 12.7508 11.25 12.7508 11.25ZM11.2504 11.25C11.2504 11.25 11.0858 4.25646 8.49954 1.67026C6.41871 -0.410568 3.20316 -0.568708 1.3174 1.31704C-0.568351 3.20279 -0.410208 6.4183 1.67063 8.4992C4.25683 11.0854 11.2504 11.25 11.2504 11.25ZM8.49917 22.3302C11.0854 19.744 11.25 12.7505 11.25 12.7505C11.25 12.7505 4.25646 12.9151 1.67026 15.5013C-0.410575 17.5821 -0.568718 20.7977 1.31704 22.6834C3.20279 24.5692 6.41834 24.411 8.49917 22.3302ZM12.7515 12.7505C12.7515 12.7505 12.9161 19.744 15.5023 22.3302C17.5832 24.411 20.7987 24.5692 22.6845 22.6834C24.5702 20.7977 24.4121 17.5821 22.3312 15.5013C19.745 12.9151 12.7515 12.7505 12.7515 12.7505Z\"\n      fill=\"#ECEDEE\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"18\"\n    height=\"19\"\n    viewBox=\"0 0 18 19\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <rect y=\"0.5\" width=\"18\" height=\"17.9992\" rx=\"8.99962\" fill=\"#F9F9F9\" />\n    <path\n      d=\"M9.3125 9.18705C9.3125 9.18705 9.38108 6.27313 10.4586 5.19556C11.3256 4.32856 12.6654 4.26267 13.4511 5.04839C14.2369 5.83411 14.171 7.17388 13.304 8.0409C12.2264 9.11847 9.3125 9.18705 9.3125 9.18705Z\"\n      fill=\"url(#paint0_linear_264_1723)\"\n    />\n    <path\n      d=\"M8.68754 9.18704C8.68754 9.18704 8.61895 6.27312 7.54138 5.19556C6.67438 4.32856 5.33459 4.26267 4.54887 5.04839C3.76316 5.8341 3.82905 7.17387 4.69605 8.0409C5.77361 9.11846 8.68754 9.18704 8.68754 9.18704Z\"\n      fill=\"url(#paint1_linear_264_1723)\"\n    />\n    <path\n      d=\"M7.54113 13.8037C8.6187 12.7262 8.68728 9.81226 8.68728 9.81226C8.68728 9.81226 5.77337 9.88084 4.69581 10.9584C3.82881 11.8254 3.76292 13.1652 4.54863 13.9509C5.33435 14.7366 6.67414 14.6707 7.54113 13.8037Z\"\n      fill=\"url(#paint2_linear_264_1723)\"\n    />\n    <path\n      d=\"M9.31287 9.81226C9.31287 9.81226 9.38145 12.7262 10.459 13.8037C11.326 14.6707 12.6658 14.7366 13.4515 13.9509L9.31287 9.81226Z\"\n      fill=\"#FBDB30\"\n    />\n    <path\n      d=\"M13.4515 13.9509C14.2372 13.1652 14.1714 11.8254 13.3043 10.9584C12.2268 9.88084 9.31287 9.81226 9.31287 9.81226L13.4515 13.9509Z\"\n      fill=\"#FBDB30\"\n    />\n    <path\n      d=\"M9.31287 9.81226C9.31287 9.81226 9.38145 12.7262 10.459 13.8037C11.326 14.6707 12.6658 14.7366 13.4515 13.9509L9.31287 9.81226Z\"\n      fill=\"#FF5E20\"\n    />\n    <defs>\n      <linearGradient\n        id=\"paint0_linear_264_1723\"\n        x1=\"9.3125\"\n        y1=\"9.18705\"\n        x2=\"13.4927\"\n        y2=\"5.02\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop stop-color=\"#FCC02D\" />\n        <stop offset=\"1\" stop-color=\"#FCBA2C\" />\n      </linearGradient>\n      <linearGradient\n        id=\"paint1_linear_264_1723\"\n        x1=\"4.29239\"\n        y1=\"4.92982\"\n        x2=\"8.68753\"\n        y2=\"9.18705\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop stop-color=\"#FD9B28\" />\n        <stop offset=\"1\" stop-color=\"#FD9F28\" />\n      </linearGradient>\n      <linearGradient\n        id=\"paint2_linear_264_1723\"\n        x1=\"4.6306\"\n        y1=\"14.0852\"\n        x2=\"8.75729\"\n        y2=\"9.71049\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop stop-color=\"#FE7A24\" />\n        <stop offset=\"1\" stop-color=\"#FE7B24\" />\n      </linearGradient>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M3.94903 4.125L0.000488281 7.06588H20.3608L19.2358 10.4424H11.0961L10.2799 12.8169H18.5299L17.2505 16.8034H5.71373L8.16226 9.61463L5.47108 7.65405L1.54461 19.875H16.2578L20.052 18.0016L21.3093 13.7972L18.8608 11.8584L22.6549 10.0503L24.0005 6.10737L21.3093 4.125H3.94903Z\"\n      fill=\"#FDFE00\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M3.94854 4.125L0 7.06588H20.3603L19.2353 10.4424H11.0956L10.2794 12.8169H18.5294L17.25 16.8034H5.71324L8.16177 9.61463L5.47059 7.65405L1.54412 19.875H16.2574L20.0515 18.0016L21.3088 13.7972L18.8603 11.8584L22.6544 10.0503L24 6.10737L21.3088 4.125H3.94854Z\"\n      fill=\"#11181C\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M3.94854 4.125L0 7.06588H20.3603L19.2353 10.4424H11.0956L10.2794 12.8169H18.5294L17.25 16.8034H5.71324L8.16177 9.61463L5.47059 7.65405L1.54412 19.875H16.2574L20.0515 18.0016L21.3088 13.7972L18.8603 11.8584L22.6544 10.0503L24 6.10737L21.3088 4.125H3.94854Z\"\n      fill=\"#ECEDEE\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5410_9742)\">\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M18.502 11.6102L14.9102 13.686V16.1586V17.8346L18.502 15.7589V11.6102ZM8.3947 6.55089L11.9865 8.62662L15.5783 6.55089L11.9865 4.47517L8.3947 6.55089ZM5.47382 13.6831V15.7589L6.44746 16.3185L9.06566 17.8317V13.6831L5.47382 11.6102V13.686V13.6831ZM3.52658 16.8809V19.1308L2.55293 18.5683L1.57935 18.0059V11.9986V5.99128L11.9865 -0.0160522L22.3937 5.99128V18.0087L17.1886 21.0124L14.9074 22.3286V20.0787L20.4464 16.8809V8.23831L12.9601 12.5611C12.9601 13.7602 12.9601 14.9566 12.9601 16.1557V23.4535L11.9865 24.0161L11.0129 23.4535L6.78149 21.0124L5.47382 20.2586V18.0087L11.0129 21.2065V12.5639L3.52658 8.24115V16.8838V16.8809ZM11.9865 10.8736L4.50023 6.55089L11.9865 2.22814L19.4728 6.55089L11.9865 10.8736Z\"\n        fill=\"#151718\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5410_9742\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5410_9739)\">\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M18.502 11.6102L14.9102 13.686V16.1586V17.8346L18.502 15.7589V11.6102ZM8.3947 6.55089L11.9865 8.62662L15.5783 6.55089L11.9865 4.47517L8.3947 6.55089ZM5.47382 13.6831V15.7589L6.44746 16.3185L9.06566 17.8317V13.6831L5.47382 11.6102V13.686V13.6831ZM3.52658 16.8809V19.1308L2.55293 18.5683L1.57935 18.0059V11.9986V5.99128L11.9865 -0.0160522L22.3937 5.99128V18.0087L17.1886 21.0124L14.9074 22.3286V20.0787L20.4464 16.8809V8.23831L12.9601 12.5611C12.9601 13.7602 12.9601 14.9566 12.9601 16.1557V23.4535L11.9865 24.0161L11.0129 23.4535L6.78149 21.0124L5.47382 20.2586V18.0087L11.0129 21.2065V12.5639L3.52658 8.24115V16.8838V16.8809ZM11.9865 10.8736L4.50023 6.55089L11.9865 2.22814L19.4728 6.55089L11.9865 10.8736Z\"\n        fill=\"#FBFCFD\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5410_9739\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5410_9710)\">\n      <path\n        d=\"M24.0007 12C24.0007 5.37258 18.6281 0 12.0007 0C5.37332 0 0.000732422 5.37258 0.000732422 12C0.000732422 18.6274 5.37332 24 12.0007 24C18.6281 24 24.0007 18.6274 24.0007 12Z\"\n        fill=\"url(#paint0_linear_5410_9710)\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M16.2856 11.7589L13.9161 13.1283V14.7594V15.8651L16.2856 14.4957V11.7589ZM9.61785 8.42133L11.9873 9.79066L14.3568 8.42133L11.9873 7.05199L9.61785 8.42133ZM7.69097 13.1264V14.4957L8.33328 14.8649L10.0605 15.8632V13.1264L7.69097 11.7589V13.1283V13.1264ZM6.4064 15.236V16.7202L5.76409 16.3491L5.12183 15.9781V12.0151V8.05215L11.9873 4.08917L18.8528 8.05215V15.9799L15.4191 17.9614L13.9142 18.8298V17.3455L17.5683 15.236V9.5345L12.6296 12.3862C12.6296 13.1773 12.6296 13.9665 12.6296 14.7576V19.5718L11.9873 19.9429L11.345 19.5718L8.55363 17.9614L7.69097 17.4642V15.9799L11.345 18.0895V12.3881L6.4064 9.53637V15.2378V15.236ZM11.9873 11.273L7.04871 8.42133L11.9873 5.56964L16.926 8.42133L11.9873 11.273Z\"\n        fill=\"white\"\n      />\n    </g>\n    <defs>\n      <linearGradient\n        id=\"paint0_linear_5410_9710\"\n        x1=\"20.7141\"\n        y1=\"21.0955\"\n        x2=\"-13.8528\"\n        y2=\"-21.7643\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop stop-color=\"#8F00FF\" />\n        <stop offset=\"0.531658\" stop-color=\"#78A5EA\" />\n        <stop offset=\"1\" stop-color=\"#00FFC2\" />\n      </linearGradient>\n      <clipPath id=\"clip0_5410_9710\">\n        <rect\n          width=\"24\"\n          height=\"24\"\n          fill=\"white\"\n          transform=\"translate(0.000732422)\"\n        />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M3.94903 4.125L0.000488281 7.06588H20.3608L19.2358 10.4424H11.0961L10.2799 12.8169H18.5299L17.2505 16.8034H5.71373L8.16226 9.61463L5.47108 7.65405L1.54461 19.875H16.2578L20.052 18.0016L21.3093 13.7972L18.8608 11.8584L22.6549 10.0503L24.0005 6.10737L21.3093 4.125H3.94903Z\"\n      fill=\"#FDFE00\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M3.94854 4.125L0 7.06588H20.3603L19.2353 10.4424H11.0956L10.2794 12.8169H18.5294L17.25 16.8034H5.71324L8.16177 9.61463L5.47059 7.65405L1.54412 19.875H16.2574L20.0515 18.0016L21.3088 13.7972L18.8603 11.8584L22.6544 10.0503L24 6.10737L21.3088 4.125H3.94854Z\"\n      fill=\"#ECEDEE\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M3.94854 4.125L0 7.06588H20.3603L19.2353 10.4424H11.0956L10.2794 12.8169H18.5294L17.25 16.8034H5.71324L8.16177 9.61463L5.47059 7.65405L1.54412 19.875H16.2574L20.0515 18.0016L21.3088 13.7972L18.8603 11.8584L22.6544 10.0503L24 6.10737L21.3088 4.125H3.94854Z\"\n      fill=\"#11181C\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    xmlns=\"http://www.w3.org/2000/svg\"\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n  >\n    <g clip-path=\"url(#clip0_5415_14718)\">\n      <path\n        d=\"M23.9718 11.1857C23.5221 4.57385 17.7976 -0.421607 11.1857 0.0281354C7.89191 0.252168 4.99986 1.78574 2.9817 4.08539L2.97609 4.08132C2.96249 4.10014 2.94978 4.1187 2.93628 4.1375C0.9316 6.44838 -0.195883 9.52104 0.0281222 12.8143C0.0494681 13.1282 0.0864072 13.437 0.131043 13.7431C0.131057 13.7432 0.131057 13.7432 0.13107 13.7433C0.133081 13.7571 0.135132 13.7709 0.137076 13.7847C0.16725 13.9867 0.202286 14.1869 0.242261 14.3852C0.242287 14.3853 0.242301 14.3854 0.242327 14.3855C0.24306 14.3891 0.243752 14.3927 0.244458 14.3963C0.280851 14.5759 0.321279 14.7538 0.365515 14.9303L0.365595 14.9306C0.365635 14.9308 0.365675 14.931 0.365702 14.931C1.75156 20.4578 6.92977 24.3722 12.8143 23.9718C19.4262 23.5222 24.4216 17.7975 23.9718 11.1857ZM21.3598 11.3634C21.4152 12.1774 21.364 12.9744 21.219 13.7412C21.2172 13.7368 21.2158 13.7322 21.214 13.7278V13.7278C20.3441 11.6013 18.6232 10.0661 17.1098 9.218C17.4162 5.61479 16.1938 4.09679 14.8102 3.8498C14.7726 3.84256 14.7348 3.83638 14.6963 3.83162C13.5983 3.69078 12.5942 4.46692 12.4535 5.5649C12.3126 6.66293 13.0888 7.6671 14.1868 7.80798C14.2826 7.8201 14.3773 7.82346 14.4711 7.82198C14.4772 7.94362 14.481 8.0728 14.4821 8.20792C13.2029 7.89093 12.007 7.82888 10.9168 7.9269C10.5091 7.95408 10.1011 8.00544 9.69536 8.08128C9.83144 6.86458 10.2879 5.49859 11.1737 4.49894C12.0299 3.53261 13.303 2.97874 14.6917 3.12087C14.955 3.14781 15.2358 3.21245 15.4887 3.29738C15.5003 3.30128 15.5127 3.30458 15.5242 3.30858C15.5243 3.30835 15.5246 3.30805 15.5247 3.30782C18.7414 4.61819 21.1086 7.67094 21.3598 11.3634ZM12.9959 13.1962C12.995 13.1975 12.9942 13.1988 12.9933 13.2002C12.707 13.6131 12.3664 14.0203 11.9666 14.4142C11.3674 13.7766 10.886 13.0899 10.5208 12.3796C10.5021 12.3415 10.4821 12.3054 10.4638 12.2666C10.4631 12.2653 10.4625 12.2638 10.4618 12.2624C10.2472 11.8078 10.0648 11.309 9.9236 10.7658C10.7763 10.5651 11.6126 10.4914 12.4111 10.5302C12.4534 10.533 12.4948 10.5338 12.5374 10.5374C12.539 10.5374 12.5406 10.5376 12.5422 10.5377C13.0423 10.5791 13.5646 10.6703 14.1048 10.8193C13.8522 11.6577 13.4981 12.4185 13.0653 13.0904C13.0417 13.1257 13.0203 13.161 12.9959 13.1962ZM8.89552 3.14874C8.89328 3.15163 8.8908 3.15436 8.88856 3.15726C7.48263 4.97298 7.01326 7.22954 7.03497 8.96384C3.76157 10.5002 3.05818 12.3178 3.53603 13.6394C3.54855 13.6755 3.56214 13.7114 3.57723 13.7471C4.0043 14.7685 5.17853 15.25 6.19972 14.8228C7.22106 14.3958 7.70262 13.2215 7.27566 12.2002C7.23826 12.1112 7.19381 12.0274 7.14562 11.947C7.24907 11.8801 7.36017 11.8114 7.47814 11.7422C7.84322 13.0087 8.38328 14.0801 9.01344 14.9754C9.2404 15.3142 9.48832 15.6412 9.75624 15.9541C8.6344 16.4448 7.22289 16.7326 5.91401 16.4654C4.64899 16.207 3.53282 15.3814 2.96156 14.1077C2.85327 13.8662 2.76883 13.5907 2.71591 13.3293C2.68335 13.1008 2.65607 12.8706 2.64017 12.6366C2.34778 8.33816 5.01462 4.51138 8.89552 3.14874ZM12.6366 21.3598C10.0841 21.5334 7.698 20.6628 5.89466 19.1152C8.17008 19.4249 10.359 18.703 11.8501 17.817C14.8186 19.8854 16.745 19.586 17.6509 18.5111C17.676 18.4822 17.7002 18.4525 17.7236 18.4215C18.3946 17.541 18.2246 16.2834 17.344 15.6126C16.4634 14.9415 15.2058 15.1117 14.5348 15.9921C14.4764 16.069 14.4261 16.1493 14.3805 16.2313C14.2716 16.1755 14.1573 16.114 14.0391 16.047C14.9543 15.097 15.6064 14.0918 16.067 13.0979C16.2473 12.7313 16.4068 12.3522 16.5441 11.9629C17.5305 12.6891 18.4864 13.7681 18.9095 15.0359C19.3182 16.2606 19.1614 17.6401 18.344 18.7717C18.189 18.9862 17.9926 19.1971 17.7926 19.3737C17.7897 19.3762 17.7868 19.379 17.784 19.3816C16.3538 20.5056 14.5843 21.2274 12.6366 21.3598Z\"\n        fill=\"#11181C\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5415_14718\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    xmlns=\"http://www.w3.org/2000/svg\"\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n  >\n    <g clip-path=\"url(#clip0_5415_14716)\">\n      <path\n        d=\"M23.9718 11.1857C23.5221 4.57385 17.7976 -0.421607 11.1857 0.0281354C7.89191 0.252168 4.99986 1.78574 2.9817 4.08539L2.97609 4.08132C2.96249 4.10014 2.94978 4.1187 2.93628 4.1375C0.9316 6.44838 -0.195883 9.52104 0.0281222 12.8143C0.0494681 13.1282 0.0864072 13.437 0.131043 13.7431C0.131057 13.7432 0.131057 13.7432 0.13107 13.7433C0.133081 13.7571 0.135132 13.7709 0.137076 13.7847C0.16725 13.9867 0.202286 14.1869 0.242261 14.3852C0.242287 14.3853 0.242301 14.3854 0.242327 14.3855C0.24306 14.3891 0.243752 14.3927 0.244458 14.3963C0.280851 14.5759 0.321279 14.7538 0.365515 14.9303L0.365595 14.9306C0.365635 14.9308 0.365675 14.931 0.365702 14.931C1.75156 20.4578 6.92977 24.3722 12.8143 23.9718C19.4262 23.5222 24.4216 17.7975 23.9718 11.1857ZM21.3598 11.3634C21.4152 12.1774 21.364 12.9744 21.219 13.7412C21.2172 13.7368 21.2158 13.7322 21.214 13.7278V13.7278C20.3441 11.6013 18.6232 10.0661 17.1098 9.218C17.4162 5.61479 16.1938 4.09679 14.8102 3.8498C14.7726 3.84256 14.7348 3.83638 14.6963 3.83162C13.5983 3.69078 12.5942 4.46692 12.4535 5.5649C12.3126 6.66293 13.0888 7.6671 14.1868 7.80798C14.2826 7.8201 14.3773 7.82346 14.4711 7.82198C14.4772 7.94362 14.481 8.0728 14.4821 8.20792C13.2029 7.89093 12.007 7.82888 10.9168 7.9269C10.5091 7.95408 10.1011 8.00544 9.69536 8.08128C9.83144 6.86458 10.2879 5.49859 11.1737 4.49894C12.0299 3.53261 13.303 2.97874 14.6917 3.12087C14.955 3.14781 15.2358 3.21245 15.4887 3.29738C15.5003 3.30128 15.5127 3.30458 15.5242 3.30858C15.5243 3.30835 15.5246 3.30805 15.5247 3.30782C18.7414 4.61819 21.1086 7.67094 21.3598 11.3634ZM12.9959 13.1962C12.995 13.1975 12.9942 13.1988 12.9933 13.2002C12.707 13.6131 12.3664 14.0203 11.9666 14.4142C11.3674 13.7766 10.886 13.0899 10.5208 12.3796C10.5021 12.3415 10.4821 12.3054 10.4638 12.2666C10.4631 12.2653 10.4625 12.2638 10.4618 12.2624C10.2472 11.8078 10.0648 11.309 9.9236 10.7658C10.7763 10.5651 11.6126 10.4914 12.4111 10.5302C12.4534 10.533 12.4948 10.5338 12.5374 10.5374C12.539 10.5374 12.5406 10.5376 12.5422 10.5377C13.0423 10.5791 13.5646 10.6703 14.1048 10.8193C13.8522 11.6577 13.4981 12.4185 13.0653 13.0904C13.0417 13.1257 13.0203 13.161 12.9959 13.1962ZM8.89552 3.14874C8.89328 3.15163 8.8908 3.15436 8.88856 3.15726C7.48263 4.97298 7.01326 7.22954 7.03497 8.96384C3.76157 10.5002 3.05818 12.3178 3.53603 13.6394C3.54855 13.6755 3.56214 13.7114 3.57723 13.7471C4.0043 14.7685 5.17853 15.25 6.19972 14.8228C7.22106 14.3958 7.70262 13.2215 7.27566 12.2002C7.23826 12.1112 7.19381 12.0274 7.14562 11.947C7.24907 11.8801 7.36017 11.8114 7.47814 11.7422C7.84322 13.0087 8.38328 14.0801 9.01344 14.9754C9.2404 15.3142 9.48832 15.6412 9.75624 15.9541C8.6344 16.4448 7.22289 16.7326 5.91401 16.4654C4.64899 16.207 3.53282 15.3814 2.96156 14.1077C2.85327 13.8662 2.76883 13.5907 2.71591 13.3293C2.68335 13.1008 2.65607 12.8706 2.64017 12.6366C2.34778 8.33816 5.01462 4.51138 8.89552 3.14874ZM12.6366 21.3598C10.0841 21.5334 7.698 20.6628 5.89466 19.1152C8.17008 19.4249 10.359 18.703 11.8501 17.817C14.8186 19.8854 16.745 19.586 17.6509 18.5111C17.676 18.4822 17.7002 18.4525 17.7236 18.4215C18.3946 17.541 18.2246 16.2834 17.344 15.6126C16.4634 14.9415 15.2058 15.1117 14.5348 15.9921C14.4764 16.069 14.4261 16.1493 14.3805 16.2313C14.2716 16.1755 14.1573 16.114 14.0391 16.047C14.9543 15.097 15.6064 14.0918 16.067 13.0979C16.2473 12.7313 16.4068 12.3522 16.5441 11.9629C17.5305 12.6891 18.4864 13.7681 18.9095 15.0359C19.3182 16.2606 19.1614 17.6401 18.344 18.7717C18.189 18.9862 17.9926 19.1971 17.7926 19.3737C17.7897 19.3762 17.7868 19.379 17.784 19.3816C16.3538 20.5056 14.5843 21.2274 12.6366 21.3598Z\"\n        fill=\"#ECEDEE\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5415_14716\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    xmlns=\"http://www.w3.org/2000/svg\"\n    xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n  >\n    <g clip-path=\"url(#clip0_5415_14720)\">\n      <g clip-path=\"url(#clip1_5415_14720)\">\n        <path d=\"M24 0H0V24H24V0Z\" fill=\"url(#pattern0)\" />\n      </g>\n    </g>\n    <defs>\n      <pattern\n        id=\"pattern0\"\n        patternContentUnits=\"objectBoundingBox\"\n        width=\"1\"\n        height=\"1\"\n      >\n        <use xlinkHref=\"#image0_5415_14720\" transform=\"scale(0.00333333)\" />\n      </pattern>\n      <clipPath id=\"clip0_5415_14720\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n      <clipPath id=\"clip1_5415_14720\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n      <image\n        id=\"image0_5415_14720\"\n        width=\"300\"\n        height=\"300\"\n        xlinkHref=\"data:image/png;base64,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\"\n      />\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 200 200\"\n    fill=\"none\"\n    shape-rendering=\"crispEdges\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <rect width=\"200\" height=\"200\" fill=\"#F34242\" />\n    <g clip-path=\"url(#clip0_1_376)\">\n      <path opacity=\"0.75\" d=\"M84 84H68V68H84V84Z\" fill=\"white\" />\n      <path d=\"M84 100H68V84H84V100Z\" fill=\"white\" />\n      <path d=\"M84 116H68V100H84V116Z\" fill=\"white\" />\n      <path opacity=\"0.75\" d=\"M84 132H68V116H84V132Z\" fill=\"white\" />\n      <path opacity=\"0.75\" d=\"M132 84H116V68H132V84Z\" fill=\"white\" />\n      <path d=\"M132 100H116V84H132V100Z\" fill=\"white\" />\n      <path d=\"M132 116H116V100H132V116Z\" fill=\"white\" />\n      <path opacity=\"0.75\" d=\"M132 132H116V116H132V132Z\" fill=\"white\" />\n      <path d=\"M100 132H84V116H100V132Z\" fill=\"white\" />\n      <path d=\"M116 132H100V116H116V132Z\" fill=\"white\" />\n      <path d=\"M100 84H84V68H100V84Z\" fill=\"white\" />\n      <path d=\"M116 84H100V68H116V84Z\" fill=\"white\" />\n      <path d=\"M100 36H84V52H100V36Z\" fill=\"white\" fill-opacity=\"0.25\" />\n      <path d=\"M116 148H100V132H116V148Z\" fill=\"white\" fill-opacity=\"0.75\" />\n      <path d=\"M148 100H132V116H148V100Z\" fill=\"white\" fill-opacity=\"0.75\" />\n      <path d=\"M68 116H52V100H68V116Z\" fill=\"white\" fill-opacity=\"0.75\" />\n      <path d=\"M116 52H100V68H116V52Z\" fill=\"white\" fill-opacity=\"0.75\" />\n      <path d=\"M116 36H100V52H116V36Z\" fill=\"white\" fill-opacity=\"0.25\" />\n      <path d=\"M100 164H84V148H100V164Z\" fill=\"white\" fill-opacity=\"0.25\" />\n      <path d=\"M116 164H100V148H116V164Z\" fill=\"white\" fill-opacity=\"0.25\" />\n      <path d=\"M164 84H148V100H164V84Z\" fill=\"white\" fill-opacity=\"0.25\" />\n      <path d=\"M164 100H148V116H164V100Z\" fill=\"white\" fill-opacity=\"0.25\" />\n      <path d=\"M52 116H36V100H52V116Z\" fill=\"white\" fill-opacity=\"0.25\" />\n      <path d=\"M52 100H36V84H52V100Z\" fill=\"white\" fill-opacity=\"0.25\" />\n      <path d=\"M100 52H84V68H100V52Z\" fill=\"white\" fill-opacity=\"0.75\" />\n      <path d=\"M100 148H84V132H100V148Z\" fill=\"white\" fill-opacity=\"0.75\" />\n      <path d=\"M148 84H132V100H148V84Z\" fill=\"white\" fill-opacity=\"0.75\" />\n      <path d=\"M68 100H52V84H68V100Z\" fill=\"white\" fill-opacity=\"0.75\" />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_1_376\">\n        <rect\n          width=\"128\"\n          height=\"128\"\n          fill=\"white\"\n          transform=\"translate(36 36)\"\n        />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 200 200\"\n    fill=\"none\"\n    shape-rendering=\"crispEdges\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_1_639)\">\n      <path opacity=\"0.75\" d=\"M84 84H68V68H84V84Z\" fill=\"white\" />\n      <path d=\"M84 100H68V84H84V100Z\" fill=\"white\" />\n      <path d=\"M84 116H68V100H84V116Z\" fill=\"white\" />\n      <path opacity=\"0.75\" d=\"M84 132H68V116H84V132Z\" fill=\"white\" />\n      <path opacity=\"0.75\" d=\"M132 84H116V68H132V84Z\" fill=\"white\" />\n      <path d=\"M132 100H116V84H132V100Z\" fill=\"white\" />\n      <path d=\"M132 116H116V100H132V116Z\" fill=\"white\" />\n      <path opacity=\"0.75\" d=\"M132 132H116V116H132V132Z\" fill=\"white\" />\n      <path d=\"M100 132H84V116H100V132Z\" fill=\"white\" />\n      <path d=\"M116 132H100V116H116V132Z\" fill=\"white\" />\n      <path d=\"M100 84H84V68H100V84Z\" fill=\"white\" />\n      <path d=\"M116 84H100V68H116V84Z\" fill=\"white\" />\n      <path d=\"M100 36H84V52H100V36Z\" fill=\"white\" fill-opacity=\"0.25\" />\n      <path d=\"M116 148H100V132H116V148Z\" fill=\"white\" fill-opacity=\"0.75\" />\n      <path d=\"M148 100H132V116H148V100Z\" fill=\"white\" fill-opacity=\"0.75\" />\n      <path d=\"M68 116H52V100H68V116Z\" fill=\"white\" fill-opacity=\"0.75\" />\n      <path d=\"M116 52H100V68H116V52Z\" fill=\"white\" fill-opacity=\"0.75\" />\n      <path d=\"M116 36H100V52H116V36Z\" fill=\"white\" fill-opacity=\"0.25\" />\n      <path d=\"M100 164H84V148H100V164Z\" fill=\"white\" fill-opacity=\"0.25\" />\n      <path d=\"M116 164H100V148H116V164Z\" fill=\"white\" fill-opacity=\"0.25\" />\n      <path d=\"M164 84H148V100H164V84Z\" fill=\"white\" fill-opacity=\"0.25\" />\n      <path d=\"M164 100H148V116H164V100Z\" fill=\"white\" fill-opacity=\"0.25\" />\n      <path d=\"M52 116H36V100H52V116Z\" fill=\"white\" fill-opacity=\"0.25\" />\n      <path d=\"M52 100H36V84H52V100Z\" fill=\"white\" fill-opacity=\"0.25\" />\n      <path d=\"M100 52H84V68H100V52Z\" fill=\"white\" fill-opacity=\"0.75\" />\n      <path d=\"M100 148H84V132H100V148Z\" fill=\"white\" fill-opacity=\"0.75\" />\n      <path d=\"M148 84H132V100H148V84Z\" fill=\"white\" fill-opacity=\"0.75\" />\n      <path d=\"M68 100H52V84H68V100Z\" fill=\"white\" fill-opacity=\"0.75\" />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_1_639\">\n        <rect\n          width=\"128\"\n          height=\"128\"\n          fill=\"white\"\n          transform=\"translate(36 36)\"\n        />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 200 200\"\n    fill=\"none\"\n    shape-rendering=\"crispEdges\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_1_639)\">\n      <path opacity=\"0.75\" d=\"M84 84H68V68H84V84Z\" fill=\"white\" />\n      <path d=\"M84 100H68V84H84V100Z\" fill=\"white\" />\n      <path d=\"M84 116H68V100H84V116Z\" fill=\"white\" />\n      <path opacity=\"0.75\" d=\"M84 132H68V116H84V132Z\" fill=\"white\" />\n      <path opacity=\"0.75\" d=\"M132 84H116V68H132V84Z\" fill=\"white\" />\n      <path d=\"M132 100H116V84H132V100Z\" fill=\"white\" />\n      <path d=\"M132 116H116V100H132V116Z\" fill=\"white\" />\n      <path opacity=\"0.75\" d=\"M132 132H116V116H132V132Z\" fill=\"white\" />\n      <path d=\"M100 132H84V116H100V132Z\" fill=\"white\" />\n      <path d=\"M116 132H100V116H116V132Z\" fill=\"white\" />\n      <path d=\"M100 84H84V68H100V84Z\" fill=\"white\" />\n      <path d=\"M116 84H100V68H116V84Z\" fill=\"white\" />\n      <path d=\"M100 36H84V52H100V36Z\" fill=\"white\" fill-opacity=\"0.25\" />\n      <path d=\"M116 148H100V132H116V148Z\" fill=\"white\" fill-opacity=\"0.75\" />\n      <path d=\"M148 100H132V116H148V100Z\" fill=\"white\" fill-opacity=\"0.75\" />\n      <path d=\"M68 116H52V100H68V116Z\" fill=\"white\" fill-opacity=\"0.75\" />\n      <path d=\"M116 52H100V68H116V52Z\" fill=\"white\" fill-opacity=\"0.75\" />\n      <path d=\"M116 36H100V52H116V36Z\" fill=\"white\" fill-opacity=\"0.25\" />\n      <path d=\"M100 164H84V148H100V164Z\" fill=\"white\" fill-opacity=\"0.25\" />\n      <path d=\"M116 164H100V148H116V164Z\" fill=\"white\" fill-opacity=\"0.25\" />\n      <path d=\"M164 84H148V100H164V84Z\" fill=\"white\" fill-opacity=\"0.25\" />\n      <path d=\"M164 100H148V116H164V100Z\" fill=\"white\" fill-opacity=\"0.25\" />\n      <path d=\"M52 116H36V100H52V116Z\" fill=\"white\" fill-opacity=\"0.25\" />\n      <path d=\"M52 100H36V84H52V100Z\" fill=\"white\" fill-opacity=\"0.25\" />\n      <path d=\"M100 52H84V68H100V52Z\" fill=\"white\" fill-opacity=\"0.75\" />\n      <path d=\"M100 148H84V132H100V148Z\" fill=\"white\" fill-opacity=\"0.75\" />\n      <path d=\"M148 84H132V100H148V84Z\" fill=\"white\" fill-opacity=\"0.75\" />\n      <path d=\"M68 100H52V84H68V100Z\" fill=\"white\" fill-opacity=\"0.75\" />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_1_639\">\n        <rect\n          width=\"128\"\n          height=\"128\"\n          fill=\"white\"\n          transform=\"translate(36 36)\"\n        />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 25\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M17.1406 16.0851V14.8219C17.9181 14.5552 18.4843 13.7271 18.4843 12.747C18.4843 11.7668 17.9181 10.9364 17.1406 10.672V9.40885C17.8728 9.15854 18.4188 8.40763 18.4793 7.5H17.5885V7.88598C17.5885 8.18307 17.4073 8.44506 17.1406 8.57606V8.39594C17.1406 8.1316 16.9091 7.91639 16.6248 7.91639H16.5795C16.2952 7.91639 16.0636 8.1316 16.0636 8.39594V8.57606C15.7969 8.44506 15.6157 8.1854 15.6157 7.88598V7.5H14.725C14.7854 8.40763 15.3314 9.15854 16.0636 9.40885V10.672C15.2886 10.9364 14.72 11.7645 14.72 12.747C14.72 13.7295 15.2861 14.5576 16.0636 14.8219V16.0851C15.3314 16.3354 14.7854 17.0863 14.725 17.9939H15.6157V17.608C15.6157 17.3109 15.7969 17.0489 16.0636 16.9179V17.098C16.0636 17.3624 16.2952 17.5776 16.5795 17.5776H16.6248C16.9091 17.5776 17.1406 17.3624 17.1406 17.098V16.9179C17.4073 17.0489 17.5885 17.3085 17.5885 17.608V17.9939H18.4793C18.4188 17.0863 17.8728 16.3354 17.1406 16.0851ZM15.6157 13.299V12.1926C15.6157 11.8955 15.7969 11.6335 16.0636 11.5025V11.6826C16.0636 11.9469 16.2952 12.1622 16.5795 12.1622H16.6248C16.9091 12.1622 17.1406 11.9469 17.1406 11.6826V11.5025C17.4073 11.6335 17.5885 11.8931 17.5885 12.1926V13.299C17.5885 13.5961 17.4073 13.8581 17.1406 13.9891V13.809C17.1406 13.5447 16.9091 13.3295 16.6248 13.3295H16.5795C16.2952 13.3295 16.0636 13.5447 16.0636 13.809V13.9891C15.7994 13.8581 15.6157 13.5985 15.6157 13.299Z\"\n      fill=\"#11181C\"\n    />\n    <path\n      d=\"M22.6058 13.4183V12.0733C23.3833 11.8066 23.9495 10.9785 23.9495 9.99834C23.9495 9.01818 23.3833 8.18774 22.6058 7.92341V7.5H21.5314V7.92341C20.7539 8.19008 20.1877 9.01818 20.1877 9.99834C20.1877 10.9785 20.7539 11.8089 21.5314 12.0733V13.4183C20.7539 13.685 20.1877 14.5131 20.1877 15.4933C20.1877 16.4734 20.7539 17.3039 21.5314 17.5682V17.9916H22.6058V17.5682C23.3833 17.3015 23.9495 16.4734 23.9495 15.4933C23.9495 14.5131 23.3833 13.685 22.6058 13.4183ZM21.081 10.5504V9.44393C21.081 9.14684 21.2622 8.88485 21.5289 8.75384V8.93397C21.5289 9.19831 21.7604 9.41352 22.0447 9.41352H22.0875C22.3718 9.41352 22.6033 9.19831 22.6033 8.93397V8.75384C22.8701 8.88485 23.0512 9.1445 23.0512 9.44393V10.5504C23.0512 10.8475 22.8701 11.1095 22.6033 11.2405V11.0604C22.6033 10.796 22.3718 10.5808 22.0875 10.5808H22.0422C21.7579 10.5808 21.5264 10.796 21.5264 11.0604V11.2405C21.2647 11.1095 21.081 10.8498 21.081 10.5504ZM23.0537 16.0477C23.0537 16.3448 22.8726 16.6068 22.6058 16.7378V16.4734C22.6058 16.2091 22.3744 15.9939 22.09 15.9939H22.0472C21.7629 15.9939 21.5314 16.2091 21.5314 16.4734V16.7378C21.2647 16.6068 21.0835 16.3471 21.0835 16.0477V14.9412C21.0835 14.6441 21.2647 14.3821 21.5314 14.2511V14.347C21.5314 14.6114 21.7629 14.8266 22.0472 14.8266H22.0926C22.3769 14.8266 22.6083 14.6114 22.6083 14.347V14.2511C22.8751 14.3821 23.0562 14.6418 23.0562 14.9412V16.0477H23.0537Z\"\n      fill=\"#11181C\"\n    />\n    <path\n      d=\"M10.9835 11.6757C10.9734 11.6219 10.9608 11.5704 10.9407 11.5213C10.9482 11.5096 12.619 9.34578 11.0716 8.00772C9.52656 6.66966 7.72237 8.41476 7.71231 8.42411C7.42546 8.3399 7.13609 8.28843 6.84924 8.26504C6.84924 8.26504 6.84924 8.26504 6.84672 8.26504C6.25791 8.17381 5.43258 8.26504 5.43258 8.26504C5.14825 8.28843 4.8614 8.3399 4.57706 8.42177C4.56699 8.41241 2.76284 6.66732 1.21787 8.00538C-0.327113 9.34344 1.34116 11.5096 1.34871 11.519C1.3311 11.5704 1.316 11.6219 1.30593 11.6734C1.13987 12.5997 0 12.8851 0 14.4992C0 16.1437 1.19018 17.4396 3.62089 17.4396H4.61732C4.62235 17.4443 5.00734 17.9543 5.80248 17.9847C5.80248 17.9847 5.98617 18.0034 6.40889 17.9894C7.25184 17.9894 7.66199 17.449 7.6645 17.4419H8.66093C11.0916 17.4419 12.2818 16.146 12.2818 14.5015C12.2893 12.8898 11.1495 12.602 10.9835 11.6757Z\"\n      fill=\"#11181C\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 25 25\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5423_19166)\">\n      <g clip-path=\"url(#clip1_5423_19166)\">\n        <path\n          d=\"M17.6406 16.0851V14.8219C18.4181 14.5552 18.9843 13.7271 18.9843 12.747C18.9843 11.7668 18.4181 10.9364 17.6406 10.672V9.40885C18.3728 9.15854 18.9188 8.40763 18.9793 7.5H18.0885V7.88598C18.0885 8.18307 17.9073 8.44506 17.6406 8.57606V8.39594C17.6406 8.1316 17.4091 7.91639 17.1248 7.91639H17.0795C16.7952 7.91639 16.5636 8.1316 16.5636 8.39594V8.57606C16.2969 8.44506 16.1157 8.1854 16.1157 7.88598V7.5H15.225C15.2854 8.40763 15.8314 9.15854 16.5636 9.40885V10.672C15.7886 10.9364 15.22 11.7645 15.22 12.747C15.22 13.7295 15.7861 14.5576 16.5636 14.8219V16.0851C15.8314 16.3354 15.2854 17.0863 15.225 17.9939H16.1157V17.608C16.1157 17.3109 16.2969 17.0489 16.5636 16.9179V17.098C16.5636 17.3624 16.7952 17.5776 17.0795 17.5776H17.1248C17.4091 17.5776 17.6406 17.3624 17.6406 17.098V16.9179C17.9073 17.0489 18.0885 17.3085 18.0885 17.608V17.9939H18.9793C18.9188 17.0863 18.3728 16.3354 17.6406 16.0851ZM16.1157 13.299V12.1926C16.1157 11.8955 16.2969 11.6335 16.5636 11.5025V11.6826C16.5636 11.9469 16.7952 12.1622 17.0795 12.1622H17.1248C17.4091 12.1622 17.6406 11.9469 17.6406 11.6826V11.5025C17.9073 11.6335 18.0885 11.8931 18.0885 12.1926V13.299C18.0885 13.5961 17.9073 13.8581 17.6406 13.9891V13.809C17.6406 13.5447 17.4091 13.3295 17.1248 13.3295H17.0795C16.7952 13.3295 16.5636 13.5447 16.5636 13.809V13.9891C16.2994 13.8581 16.1157 13.5985 16.1157 13.299Z\"\n          fill=\"#ECEDEE\"\n        />\n        <path\n          d=\"M23.1058 13.4183V12.0733C23.8833 11.8066 24.4495 10.9785 24.4495 9.99834C24.4495 9.01818 23.8833 8.18774 23.1058 7.92341V7.5H22.0314V7.92341C21.2539 8.19008 20.6877 9.01818 20.6877 9.99834C20.6877 10.9785 21.2539 11.8089 22.0314 12.0733V13.4183C21.2539 13.685 20.6877 14.5131 20.6877 15.4933C20.6877 16.4734 21.2539 17.3039 22.0314 17.5682V17.9916H23.1058V17.5682C23.8833 17.3015 24.4495 16.4734 24.4495 15.4933C24.4495 14.5131 23.8833 13.685 23.1058 13.4183ZM21.581 10.5504V9.44393C21.581 9.14684 21.7622 8.88485 22.0289 8.75384V8.93397C22.0289 9.19831 22.2604 9.41352 22.5447 9.41352H22.5875C22.8718 9.41352 23.1033 9.19831 23.1033 8.93397V8.75384C23.3701 8.88485 23.5512 9.1445 23.5512 9.44393V10.5504C23.5512 10.8475 23.3701 11.1095 23.1033 11.2405V11.0604C23.1033 10.796 22.8718 10.5808 22.5875 10.5808H22.5422C22.2579 10.5808 22.0264 10.796 22.0264 11.0604V11.2405C21.7647 11.1095 21.581 10.8498 21.581 10.5504ZM23.5537 16.0477C23.5537 16.3448 23.3726 16.6068 23.1058 16.7378V16.4734C23.1058 16.2091 22.8744 15.9939 22.59 15.9939H22.5472C22.2629 15.9939 22.0314 16.2091 22.0314 16.4734V16.7378C21.7647 16.6068 21.5835 16.3471 21.5835 16.0477V14.9412C21.5835 14.6441 21.7647 14.3821 22.0314 14.2511V14.347C22.0314 14.6114 22.2629 14.8266 22.5472 14.8266H22.5926C22.8769 14.8266 23.1083 14.6114 23.1083 14.347V14.2511C23.3751 14.3821 23.5562 14.6418 23.5562 14.9412V16.0477H23.5537Z\"\n          fill=\"#ECEDEE\"\n        />\n        <path\n          d=\"M11.4835 11.6757C11.4734 11.6219 11.4608 11.5704 11.4407 11.5213C11.4482 11.5096 13.119 9.34578 11.5716 8.00772C10.0266 6.66966 8.22237 8.41476 8.21231 8.42411C7.92546 8.3399 7.63609 8.28843 7.34924 8.26504C7.34924 8.26504 7.34924 8.26504 7.34672 8.26504C6.75791 8.17381 5.93258 8.26504 5.93258 8.26504C5.64825 8.28843 5.3614 8.3399 5.07706 8.42177C5.06699 8.41241 3.26284 6.66732 1.71787 8.00538C0.172887 9.34344 1.84116 11.5096 1.84871 11.519C1.8311 11.5704 1.816 11.6219 1.80593 11.6734C1.63987 12.5997 0.5 12.8851 0.5 14.4992C0.5 16.1437 1.69018 17.4396 4.12089 17.4396H5.11732C5.12235 17.4443 5.50734 17.9543 6.30248 17.9847C6.30248 17.9847 6.48617 18.0034 6.90889 17.9894C7.75184 17.9894 8.16199 17.449 8.1645 17.4419H9.16093C11.5916 17.4419 12.7818 16.146 12.7818 14.5015C12.7893 12.8898 11.6495 12.602 11.4835 11.6757Z\"\n          fill=\"#ECEDEE\"\n        />\n      </g>\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5423_19166\">\n        <rect\n          width=\"24\"\n          height=\"24\"\n          fill=\"white\"\n          transform=\"translate(0.5 0.758423)\"\n        />\n      </clipPath>\n      <clipPath id=\"clip1_5423_19166\">\n        <rect\n          width=\"24\"\n          height=\"10.5169\"\n          fill=\"white\"\n          transform=\"translate(0.5 7.5)\"\n        />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 25 25\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <rect x=\"0.5\" y=\"0.758423\" width=\"24\" height=\"24\" rx=\"12\" fill=\"#F47226\" />\n    <path\n      d=\"M16.5324 15.3691V14.3769C17.1431 14.1674 17.5879 13.517 17.5879 12.7471C17.5879 11.9772 17.1431 11.3249 16.5324 11.1173V10.1251C17.1075 9.92847 17.5365 9.33865 17.5839 8.62573H16.8842V8.92891C16.8842 9.16226 16.742 9.36805 16.5324 9.47095V9.32947C16.5324 9.12184 16.3506 8.95279 16.1273 8.95279H16.0917C15.8684 8.95279 15.6865 9.12184 15.6865 9.32947V9.47095C15.477 9.36805 15.3347 9.1641 15.3347 8.92891V8.62573H14.6351C14.6825 9.33865 15.1114 9.92847 15.6865 10.1251V11.1173C15.0777 11.3249 14.6311 11.9754 14.6311 12.7471C14.6311 13.5188 15.0758 14.1692 15.6865 14.3769V15.3691C15.1114 15.5657 14.6825 16.1555 14.6351 16.8684H15.3347V16.5652C15.3347 16.3319 15.477 16.1261 15.6865 16.0232V16.1647C15.6865 16.3724 15.8684 16.5414 16.0917 16.5414H16.1273C16.3506 16.5414 16.5324 16.3724 16.5324 16.1647V16.0232C16.742 16.1261 16.8842 16.3301 16.8842 16.5652V16.8684H17.5839C17.5365 16.1555 17.1075 15.5657 16.5324 15.3691ZM15.3347 13.1807V12.3116C15.3347 12.0783 15.477 11.8725 15.6865 11.7696V11.9111C15.6865 12.1187 15.8684 12.2877 16.0917 12.2877H16.1273C16.3506 12.2877 16.5324 12.1187 16.5324 11.9111V11.7696C16.742 11.8725 16.8842 12.0764 16.8842 12.3116V13.1807C16.8842 13.4141 16.742 13.6199 16.5324 13.7228V13.5813C16.5324 13.3736 16.3506 13.2046 16.1273 13.2046H16.0917C15.8684 13.2046 15.6865 13.3736 15.6865 13.5813V13.7228C15.479 13.6199 15.3347 13.4159 15.3347 13.1807Z\"\n      fill=\"black\"\n    />\n    <path\n      d=\"M20.8251 13.2744V12.2179C21.4358 12.0084 21.8806 11.358 21.8806 10.5881C21.8806 9.81822 21.4358 9.16594 20.8251 8.95831V8.62573H19.9812V8.95831C19.3704 9.16777 18.9258 9.81822 18.9258 10.5881C18.9258 11.358 19.3704 12.0103 19.9812 12.2179V13.2744C19.3704 13.4839 18.9258 14.1343 18.9258 14.9042C18.9258 15.6741 19.3704 16.3264 19.9812 16.534V16.8666H20.8251V16.534C21.4358 16.3246 21.8806 15.6741 21.8806 14.9042C21.8806 14.1343 21.4358 13.4839 20.8251 13.2744ZM19.6274 11.0217V10.1526C19.6274 9.91928 19.7697 9.71349 19.9792 9.61059V9.75207C19.9792 9.95971 20.1611 10.1287 20.3844 10.1287H20.418C20.6413 10.1287 20.8231 9.95971 20.8231 9.75207V9.61059C21.0327 9.71349 21.1749 9.91744 21.1749 10.1526V11.0217C21.1749 11.2551 21.0327 11.4609 20.8231 11.5638V11.4223C20.8231 11.2147 20.6413 11.0456 20.418 11.0456H20.3824C20.1591 11.0456 19.9772 11.2147 19.9772 11.4223V11.5638C19.7717 11.4609 19.6274 11.2569 19.6274 11.0217ZM21.1769 15.3397C21.1769 15.573 21.0347 15.7789 20.8251 15.8817V15.6741C20.8251 15.4665 20.6433 15.2974 20.42 15.2974H20.3864C20.163 15.2974 19.9812 15.4665 19.9812 15.6741V15.8817C19.7717 15.7789 19.6294 15.5749 19.6294 15.3397V14.4706C19.6294 14.2372 19.7717 14.0314 19.9812 13.9285V14.0039C19.9812 14.2115 20.163 14.3806 20.3864 14.3806H20.422C20.6453 14.3806 20.8271 14.2115 20.8271 14.0039V13.9285C21.0366 14.0314 21.1789 14.2354 21.1789 14.4706V15.3397H21.1769Z\"\n      fill=\"black\"\n    />\n    <path\n      d=\"M11.696 11.9055C11.6881 11.8633 11.6783 11.8228 11.6624 11.7843C11.6684 11.7751 12.9807 10.0755 11.7652 9.02444C10.5517 7.97344 9.13455 9.34416 9.12665 9.35151C8.90133 9.28536 8.67404 9.24494 8.44873 9.22656C8.44873 9.22656 8.44873 9.22656 8.44676 9.22656C7.98426 9.1549 7.33599 9.22656 7.33599 9.22656C7.11265 9.24494 6.88734 9.28536 6.664 9.34967C6.65609 9.34232 5.23898 7.9716 4.02545 9.02261C2.81191 10.0736 4.12229 11.7751 4.12822 11.7824C4.11439 11.8228 4.10253 11.8633 4.09462 11.9037C3.96418 12.6313 3.06885 12.8555 3.06885 14.1233C3.06885 15.415 4.0037 16.4329 5.91295 16.4329H6.69562C6.69958 16.4366 7.00197 16.8372 7.62653 16.8611C7.62653 16.8611 7.77081 16.8758 8.10285 16.8647C8.76496 16.8647 9.08712 16.4403 9.0891 16.4348H9.87177C11.781 16.4348 12.7159 15.4169 12.7159 14.1251C12.7218 12.8592 11.8265 12.6332 11.696 11.9055Z\"\n      fill=\"black\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 25 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5438_9944)\">\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M24.25 12C24.25 18.6274 18.8774 24 12.25 24C5.62258 24 0.25 18.6274 0.25 12C0.25 5.37258 5.62258 0 12.25 0C18.8774 0 24.25 5.37258 24.25 12ZM6.58249 13.5711L6.64702 14.7466C6.65124 14.8267 6.68125 14.902 6.73189 14.9637C6.79577 15.0411 6.89982 15.1532 7.04848 15.2849L7.07251 15.3061C7.76093 15.9066 9.35249 16.8875 12.249 16.8875C15.1593 16.8875 16.7395 15.91 17.4249 15.309L17.4248 15.309L17.4534 15.2837L17.4534 15.2837C17.5952 15.157 17.696 15.0486 17.7601 14.9717C17.8154 14.9053 17.8473 14.8229 17.8524 14.7363L17.9164 13.5719C18.3422 13.3383 18.7817 13.0743 18.7817 13.0743C19.4727 12.7 20.244 13.2378 20.2454 14.0266C20.2477 15.3028 19.2505 16.6143 17.9054 17.4408C16.3888 18.3728 14.1248 18.7594 12.25 18.7594C10.3752 18.7594 8.11121 18.3728 6.59456 17.4408C5.24949 16.6143 4.2523 15.3033 4.25464 14.0266C4.25605 13.2378 5.02727 12.7 5.71832 13.0743C5.71832 13.0743 6.15708 13.3377 6.58249 13.5711ZM17.1553 5.43398C15.9663 5.29741 15.1735 5.22913 12.2495 5.22913C9.74078 5.22913 8.51807 5.32001 7.34366 5.43398C6.79467 5.48719 6.35679 5.90491 6.39711 6.45731L6.83505 12.4231C6.97222 12.4628 7.12181 12.513 7.28958 12.5693C8.16804 12.8641 9.54511 13.3263 12.2494 13.3263C14.9538 13.3263 16.3309 12.8641 17.2093 12.5693C17.3769 12.5131 17.5264 12.4629 17.6634 12.4232L18.1013 6.45731C18.1421 5.90491 17.7028 5.49708 17.1548 5.43398H17.1553Z\"\n        fill=\"#11181C\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5438_9944\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" transform=\"translate(0.25)\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 25 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5438_9845)\">\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M24.5 12C24.5 18.6274 19.1274 24 12.5 24C5.87258 24 0.5 18.6274 0.5 12C0.5 5.37258 5.87258 0 12.5 0C19.1274 0 24.5 5.37258 24.5 12ZM6.83249 13.5711L6.89702 14.7466C6.90124 14.8267 6.93125 14.902 6.98189 14.9637C7.04577 15.0411 7.14982 15.1532 7.29848 15.2849L7.32251 15.3061C8.01093 15.9066 9.60249 16.8875 12.499 16.8875C15.4093 16.8875 16.9895 15.91 17.6749 15.309L17.6748 15.309L17.7034 15.2837L17.7034 15.2837C17.8452 15.157 17.946 15.0486 18.0101 14.9717C18.0654 14.9053 18.0973 14.8229 18.1024 14.7363L18.1664 13.5719C18.5922 13.3383 19.0317 13.0743 19.0317 13.0743C19.7227 12.7 20.494 13.2378 20.4954 14.0266C20.4977 15.3028 19.5005 16.6143 18.1554 17.4408C16.6388 18.3728 14.3748 18.7594 12.5 18.7594C10.6252 18.7594 8.36121 18.3728 6.84456 17.4408C5.49949 16.6143 4.5023 15.3033 4.50464 14.0266C4.50605 13.2378 5.27727 12.7 5.96832 13.0743C5.96832 13.0743 6.40708 13.3377 6.83249 13.5711ZM17.4053 5.43398C16.2163 5.29741 15.4235 5.22913 12.4995 5.22913C9.99078 5.22913 8.76807 5.32001 7.59366 5.43398C7.04467 5.48719 6.60679 5.90491 6.64711 6.45731L7.08505 12.4231C7.22222 12.4628 7.37181 12.513 7.53958 12.5693C8.41804 12.8641 9.79511 13.3263 12.4994 13.3263C15.2038 13.3263 16.5809 12.8641 17.4593 12.5693C17.6269 12.5131 17.7764 12.4629 17.9134 12.4232L18.3513 6.45731C18.3921 5.90491 17.9528 5.49708 17.4048 5.43398H17.4053Z\"\n        fill=\"#ECEDEE\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5438_9845\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" transform=\"translate(0.5)\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5438_9745)\">\n      <circle cx=\"12\" cy=\"12\" r=\"12\" fill=\"#A36EFE\" />\n      <g clip-path=\"url(#clip1_5438_9745)\">\n        <path\n          d=\"M6.33591 13.5711L6.40044 14.7466C6.40466 14.8267 6.43467 14.902 6.48531 14.9637C6.83927 15.3923 8.42623 16.8875 12.0024 16.8875C15.5787 16.8875 17.1464 15.4116 17.5135 14.9717C17.5688 14.9053 17.6007 14.8229 17.6059 14.7363L17.6698 13.5719C18.0956 13.3383 18.5351 13.0743 18.5351 13.0743C19.2262 12.7 19.9974 13.2378 19.9988 14.0266C20.0011 15.3028 19.0039 16.6143 17.6589 17.4408C16.1422 18.3728 13.8783 18.7594 12.0034 18.7594C10.1286 18.7594 7.86463 18.3728 6.34798 17.4408C5.00291 16.6143 4.00572 15.3033 4.00806 14.0266C4.00947 13.2378 4.78069 12.7 5.47173 13.0743C5.47173 13.0743 5.9105 13.3377 6.33591 13.5711Z\"\n          fill=\"#4C2896\"\n        />\n        <path\n          d=\"M12.0029 5.22913C14.9269 5.22913 15.7197 5.29741 16.9087 5.43398H16.9082C17.4563 5.49708 17.8956 5.90491 17.8548 6.45731L17.4168 12.4232C17.2798 12.4629 17.1303 12.5131 16.9627 12.5693C16.0843 12.8641 14.7072 13.3263 12.0029 13.3263C9.29853 13.3263 7.92146 12.8641 7.043 12.5693C6.87523 12.513 6.72563 12.4628 6.58847 12.4231L6.15053 6.45731C6.11021 5.90491 6.54809 5.48719 7.09708 5.43398C8.27149 5.32001 9.4942 5.22913 12.0029 5.22913ZM6.79831 15.2818L6.79985 15.3027L6.83007 15.3097C6.81926 15.3003 6.80868 15.291 6.79831 15.2818ZM17.1782 15.309L17.2055 15.3027L17.2069 15.2837C17.1975 15.292 17.1879 15.3005 17.1782 15.309Z\"\n          fill=\"#4C2896\"\n        />\n      </g>\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5438_9745\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n      <clipPath id=\"clip1_5438_9745\">\n        <rect\n          width=\"16\"\n          height=\"13.5463\"\n          fill=\"white\"\n          transform=\"translate(4 5.22681)\"\n        />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 25 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5438_9997)\">\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M12.25 23.92C5.64471 23.92 0.290039 18.5653 0.290039 11.96C0.290039 5.35468 5.64471 0 12.25 0C18.8554 0 24.21 5.35468 24.21 11.96C24.21 18.5653 18.8554 23.92 12.25 23.92ZM12.2496 9.30401L8.59265 15.483H15.9065L12.2496 9.30401ZM12.2496 4.56166L12.25 4.56091H12.2491L12.2496 4.56166ZM4.25 18.0791L12.2496 4.56166L20.25 18.0791H4.25Z\"\n        fill=\"#11181C\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5438_9997\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" transform=\"translate(0.25)\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 25 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5438_10001)\">\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M12.5 23.92C5.89471 23.92 0.540039 18.5653 0.540039 11.96C0.540039 5.35468 5.89471 0 12.5 0C19.1054 0 24.46 5.35468 24.46 11.96C24.46 18.5653 19.1054 23.92 12.5 23.92ZM12.4996 9.30401L8.84265 15.483H16.1565L12.4996 9.30401ZM12.4996 4.56166L12.5 4.56091H12.4991L12.4996 4.56166ZM4.5 18.0791L12.4996 4.56166L20.5 18.0791H4.5Z\"\n        fill=\"#ECEDEE\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5438_10001\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" transform=\"translate(0.5)\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5438_9995)\">\n      <g clip-path=\"url(#clip1_5438_9995)\">\n        <path\n          d=\"M0.0800781 11.96C0.0800781 18.5653 5.43475 23.92 12.0401 23.92C18.6454 23.92 24.0001 18.5653 24.0001 11.96C24.0001 5.35468 18.6454 0 12.0401 0C5.43475 0 0.0800781 5.35468 0.0800781 11.96Z\"\n          fill=\"#F30019\"\n        />\n        <path\n          d=\"M12.0392 9.30327L15.6965 15.483H8.38269L12.04 9.30327M12.04 4.56091L4.04004 18.0791H20.04L12.0392 4.56091H12.0403H12.04Z\"\n          fill=\"white\"\n        />\n      </g>\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5438_9995\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n      <clipPath id=\"clip1_5438_9995\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 25 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n  >\n    <g clip-path=\"url(#clip0_5501_9760)\">\n      <rect width=\"24.5\" height=\"24\" fill=\"url(#pattern0_5501_9760)\" />\n    </g>\n    <defs>\n      <pattern\n        id=\"pattern0_5501_9760\"\n        patternContentUnits=\"objectBoundingBox\"\n        width=\"1\"\n        height=\"1\"\n      >\n        <use\n          xlinkHref=\"#image0_5501_9760\"\n          transform=\"scale(0.0204082 0.0208333)\"\n        />\n      </pattern>\n      <clipPath id=\"clip0_5501_9760\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" transform=\"translate(0.25)\" />\n      </clipPath>\n      <image\n        id=\"image0_5501_9760\"\n        width=\"49\"\n        height=\"48\"\n        xlinkHref=\"data:image/png;base64,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\"\n      />\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 25 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n  >\n    <g clip-path=\"url(#clip0_5501_9764)\">\n      <rect width=\"24.5\" height=\"24\" fill=\"url(#pattern0_5501_9764)\" />\n    </g>\n    <defs>\n      <pattern\n        id=\"pattern0_5501_9764\"\n        patternContentUnits=\"objectBoundingBox\"\n        width=\"1\"\n        height=\"1\"\n      >\n        <use\n          xlinkHref=\"#image0_5501_9764\"\n          transform=\"scale(0.0204082 0.0208333)\"\n        />\n      </pattern>\n      <clipPath id=\"clip0_5501_9764\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" transform=\"translate(0.5)\" />\n      </clipPath>\n      <image\n        id=\"image0_5501_9764\"\n        width=\"49\"\n        height=\"48\"\n        xlinkHref=\"data:image/png;base64,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\"\n      />\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n  >\n    <g clip-path=\"url(#clip0_5501_9758)\">\n      <rect width=\"24\" height=\"24\" fill=\"url(#pattern0_5501_9758)\" />\n    </g>\n    <defs>\n      <pattern\n        id=\"pattern0_5501_9758\"\n        patternContentUnits=\"objectBoundingBox\"\n        width=\"1\"\n        height=\"1\"\n      >\n        <use xlinkHref=\"#image0_5501_9758\" transform=\"scale(0.0208333)\" />\n      </pattern>\n      <clipPath id=\"clip0_5501_9758\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n      <image\n        id=\"image0_5501_9758\"\n        width=\"48\"\n        height=\"48\"\n        xlinkHref=\"data:image/png;base64,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\"\n      />\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 25 25\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5438_9950)\">\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M12.2184 24.2419C15.7424 24.2419 18.9126 22.7309 21.113 20.323L20.5275 19.6786C19.8029 18.881 18.5677 18.8128 17.7588 19.5258L16.5098 20.6268C14.8107 22.1246 12.228 22.0301 10.644 20.4123L9.86301 19.6146C9.11306 18.8486 7.88421 18.822 7.10133 19.5547L4.81058 21.6984C6.85279 23.2921 9.42436 24.2419 12.2184 24.2419ZM22.2202 18.1573L22.5045 18.4703C23.6121 16.6547 24.25 14.5227 24.25 12.2419C24.25 9.47648 23.3121 6.92949 21.7361 4.90017C21.4432 4.97507 21.1632 5.11841 20.9214 5.33156L19.6724 6.43251C17.9733 7.93033 15.3906 7.83592 13.8066 6.21806L13.0256 5.42041C12.2756 4.65445 11.0468 4.62775 10.2639 5.3604L7.05042 8.36779L5.48708 6.71536L8.70058 3.70796C10.3899 2.12696 13.0417 2.18458 14.66 3.83746L15.4409 4.63511C16.1751 5.38484 17.3719 5.42859 18.1593 4.73448L19.4082 3.63353C19.6179 3.44876 19.8407 3.28832 20.0734 3.15197C17.9656 1.33852 15.2204 0.241943 12.2184 0.241943C6.18258 0.241943 1.18485 4.67474 0.319346 10.4543C1.96636 9.50871 4.10491 9.75592 5.48829 11.1688L6.39147 12.0913C7.09349 12.8084 8.22595 12.884 9.01806 12.2667L11.6954 10.1805C13.3024 8.92838 15.5774 8.98895 17.1147 10.3248L20.7603 13.4928L19.2594 15.2014L15.6137 12.0335C14.9013 11.4144 13.847 11.3863 13.1024 11.9667L10.425 14.0529C8.71568 15.3848 6.27196 15.2215 4.75707 13.6743L3.8539 12.7518C3.10394 11.9859 1.87509 11.9591 1.09222 12.6918L0.25 13.48C0.510464 16.0146 1.56188 18.3155 3.15401 20.1333L5.538 17.9022C7.22736 16.3212 9.87909 16.3788 11.4974 18.0317L12.2784 18.8293C13.0125 19.579 14.2093 19.6229 14.9967 18.9288L16.2457 17.8278C17.991 16.2892 20.6566 16.4363 22.2202 18.1573Z\"\n        fill=\"#11181C\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5438_9950\">\n        <rect\n          width=\"24\"\n          height=\"24\"\n          fill=\"white\"\n          transform=\"translate(0.25 0.241943)\"\n        />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 25 25\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5438_9957)\">\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M12.4684 24.2419C15.9924 24.2419 19.1626 22.7309 21.363 20.323L20.7775 19.6786C20.0529 18.881 18.8177 18.8128 18.0088 19.5258L16.7598 20.6268C15.0607 22.1246 12.478 22.0301 10.894 20.4123L10.113 19.6146C9.36306 18.8486 8.13421 18.822 7.35133 19.5547L5.06058 21.6984C7.10279 23.2921 9.67436 24.2419 12.4684 24.2419ZM22.4702 18.1573L22.7545 18.4703C23.8621 16.6547 24.5 14.5227 24.5 12.2419C24.5 9.47648 23.5621 6.92949 21.9861 4.90017C21.6932 4.97507 21.4132 5.11841 21.1714 5.33156L19.9224 6.43251C18.2233 7.93033 15.6406 7.83592 14.0566 6.21806L13.2756 5.42041C12.5256 4.65445 11.2968 4.62775 10.5139 5.3604L7.30042 8.36779L5.73708 6.71536L8.95058 3.70796C10.6399 2.12696 13.2917 2.18458 14.91 3.83746L15.6909 4.63511C16.4251 5.38484 17.6219 5.42859 18.4093 4.73448L19.6582 3.63353C19.8679 3.44876 20.0907 3.28832 20.3234 3.15197C18.2156 1.33852 15.4704 0.241943 12.4684 0.241943C6.43258 0.241943 1.43485 4.67474 0.569346 10.4543C2.21636 9.50871 4.35491 9.75592 5.73829 11.1688L6.64147 12.0913C7.34349 12.8084 8.47595 12.884 9.26806 12.2667L11.9454 10.1805C13.5524 8.92838 15.8274 8.98895 17.3647 10.3248L21.0103 13.4928L19.5094 15.2014L15.8637 12.0335C15.1513 11.4144 14.097 11.3863 13.3524 11.9667L10.675 14.0529C8.96568 15.3848 6.52196 15.2215 5.00707 13.6743L4.1039 12.7518C3.35394 11.9859 2.12509 11.9591 1.34222 12.6918L0.5 13.48C0.760464 16.0146 1.81188 18.3155 3.40401 20.1333L5.788 17.9022C7.47736 16.3212 10.1291 16.3788 11.7474 18.0317L12.5284 18.8293C13.2625 19.579 14.4593 19.6229 15.2467 18.9288L16.4957 17.8278C18.241 16.2892 20.9066 16.4363 22.4702 18.1573Z\"\n        fill=\"#ECEDEE\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5438_9957\">\n        <rect\n          width=\"24\"\n          height=\"24\"\n          fill=\"white\"\n          transform=\"translate(0.5 0.241943)\"\n        />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 25\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5438_9946)\">\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M11.9684 24.2419C15.4924 24.2419 18.6626 22.7309 20.863 20.323L20.2775 19.6786C19.5529 18.881 18.3177 18.8128 17.5088 19.5258L16.2598 20.6268C14.5607 22.1246 11.978 22.0301 10.394 20.4123L9.61301 19.6146C8.86306 18.8486 7.63421 18.822 6.85133 19.5547L4.56058 21.6984C6.60279 23.2921 9.17436 24.2419 11.9684 24.2419ZM21.9702 18.1573L22.2545 18.4703C23.3621 16.6547 24 14.5227 24 12.2419C24 9.47648 23.0621 6.92949 21.4861 4.90017C21.1932 4.97507 20.9132 5.11841 20.6714 5.33156L19.4224 6.43251C17.7233 7.93033 15.1406 7.83592 13.5566 6.21806L12.7756 5.42041C12.0256 4.65445 10.7968 4.62775 10.0139 5.3604L6.80042 8.36779L5.23708 6.71536L8.45058 3.70796C10.1399 2.12696 12.7917 2.18458 14.41 3.83746L15.1909 4.63511C15.9251 5.38484 17.1219 5.42859 17.9093 4.73448L19.1582 3.63353C19.3679 3.44876 19.5907 3.28832 19.8234 3.15197C17.7156 1.33852 14.9704 0.241943 11.9684 0.241943C5.93258 0.241943 0.934849 4.67474 0.0693464 10.4543C1.71636 9.50871 3.85491 9.75592 5.23829 11.1688L6.14147 12.0913C6.84349 12.8084 7.97595 12.884 8.76806 12.2667L11.4454 10.1805C13.0524 8.92838 15.3274 8.98895 16.8647 10.3248L20.5103 13.4928L19.0094 15.2014L15.3637 12.0335C14.6513 11.4144 13.597 11.3863 12.8524 11.9667L10.175 14.0529C8.46568 15.3848 6.02196 15.2215 4.50707 13.6743L3.6039 12.7518C2.85394 11.9859 1.62509 11.9591 0.842217 12.6918L0 13.48C0.260464 16.0146 1.31188 18.3155 2.90401 20.1333L5.288 17.9022C6.97736 16.3212 9.62909 16.3788 11.2474 18.0317L12.0284 18.8293C12.7625 19.579 13.9593 19.6229 14.7467 18.9288L15.9957 17.8278C17.741 16.2892 20.4066 16.4363 21.9702 18.1573Z\"\n        fill=\"url(#paint0_linear_5438_9946)\"\n      />\n    </g>\n    <defs>\n      <linearGradient\n        id=\"paint0_linear_5438_9946\"\n        x1=\"12\"\n        y1=\"0.241944\"\n        x2=\"16.7179\"\n        y2=\"24.242\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop stop-color=\"#780000\" />\n        <stop offset=\"1\" stop-color=\"#C1121F\" />\n      </linearGradient>\n      <clipPath id=\"clip0_5438_9946\">\n        <rect\n          width=\"24\"\n          height=\"24\"\n          fill=\"white\"\n          transform=\"translate(0 0.241943)\"\n        />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 25 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5445_18770)\">\n      <path\n        d=\"M12.2499 7.71095C14.6168 7.71095 16.5357 9.63141 16.5357 12C16.5357 14.3687 14.6168 16.2892 12.2499 16.2892C9.88321 16.2892 7.96428 14.3687 7.96428 12C7.96428 9.63141 9.88321 7.71095 12.2499 7.71095ZM12.2499 -0.00939941C10.6332 -0.00939941 9.06142 0.309069 7.57643 0.93742C6.14607 1.54218 4.86357 2.4075 3.76429 3.50765C2.66499 4.6078 1.80035 5.8913 1.19607 7.32279C0.568214 8.80793 0.25 10.382 0.25 12C0.25 13.6181 0.568214 15.1911 1.19607 16.6773C1.80035 18.1087 2.66499 19.3923 3.76429 20.4924C4.86357 21.5926 6.14607 22.4579 7.57643 23.0626C9.06035 23.691 10.6332 24.0094 12.2499 24.0094C13.8667 24.0094 15.4386 23.691 16.9235 23.0626C18.3539 22.4579 19.6364 21.5926 20.7357 20.4924C21.835 19.3923 22.6997 18.1087 23.3039 16.6773C23.9318 15.1922 24.25 13.6181 24.25 12C24.25 10.382 23.9318 8.80894 23.3039 7.32279C22.6997 5.8913 21.835 4.6078 20.7357 3.50765C19.6364 2.4075 18.3539 1.54218 16.9235 0.93742C15.4397 0.309069 13.8667 -0.00939941 12.2499 -0.00939941Z\"\n        fill=\"#C1C8CD\"\n      />\n      <path\n        d=\"M12.2501 7.71098C14.6169 7.71098 16.5358 9.63144 16.5358 12.0001C16.5358 14.3687 14.6169 16.2892 12.2501 16.2892C9.88332 16.2892 7.96439 14.3687 7.96439 12.0001C7.96439 9.63144 9.88332 7.71098 12.2501 7.71098ZM12.2501 2.56409C7.05152 2.56409 2.82153 6.79741 2.82153 12.0001C2.82153 17.2027 7.05152 21.436 12.2501 21.436C17.4486 21.436 21.6787 17.2027 21.6787 12.0001C21.6787 6.79741 17.4486 2.56409 12.2501 2.56409Z\"\n        fill=\"#889096\"\n      />\n      <path\n        d=\"M12.2499 7.71101C14.6167 7.71101 16.5357 9.63144 16.5357 12.0001C16.5357 14.3687 14.6167 16.2892 12.2499 16.2892C9.88318 16.2892 7.96425 14.3687 7.96425 12.0001C7.96425 9.63144 9.88318 7.71101 12.2499 7.71101ZM12.2499 5.13757C8.46889 5.13757 5.39282 8.21605 5.39282 12.0001C5.39282 15.7842 8.46889 18.8626 12.2499 18.8626C16.0311 18.8626 19.1071 15.7842 19.1071 12.0001C19.1071 8.21605 16.0311 5.13757 12.2499 5.13757Z\"\n        fill=\"#687076\"\n      />\n      <path\n        d=\"M12.25 7.71094C14.6169 7.71094 16.5358 9.63135 16.5358 12C16.5358 14.3687 14.6169 16.2891 12.25 16.2891C9.88329 16.2891 7.96436 14.3687 7.96436 12C7.96436 9.63135 9.88329 7.71094 12.25 7.71094Z\"\n        fill=\"#C1C8CD\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5445_18770\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" transform=\"translate(0.25)\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 25 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5445_18774)\">\n      <path\n        d=\"M12.4999 7.71095C14.8668 7.71095 16.7857 9.63141 16.7857 12C16.7857 14.3687 14.8668 16.2892 12.4999 16.2892C10.1332 16.2892 8.21428 14.3687 8.21428 12C8.21428 9.63141 10.1332 7.71095 12.4999 7.71095ZM12.4999 -0.00939941C10.8832 -0.00939941 9.31142 0.309069 7.82643 0.93742C6.39607 1.54218 5.11357 2.4075 4.01429 3.50765C2.91499 4.6078 2.05035 5.8913 1.44607 7.32279C0.818214 8.80793 0.5 10.382 0.5 12C0.5 13.6181 0.818214 15.1911 1.44607 16.6773C2.05035 18.1087 2.91499 19.3923 4.01429 20.4924C5.11357 21.5926 6.39607 22.4579 7.82643 23.0626C9.31035 23.691 10.8832 24.0094 12.4999 24.0094C14.1167 24.0094 15.6886 23.691 17.1735 23.0626C18.6039 22.4579 19.8864 21.5926 20.9857 20.4924C22.085 19.3923 22.9497 18.1087 23.5539 16.6773C24.1818 15.1922 24.5 13.6181 24.5 12C24.5 10.382 24.1818 8.80894 23.5539 7.32279C22.9497 5.8913 22.085 4.6078 20.9857 3.50765C19.8864 2.4075 18.6039 1.54218 17.1735 0.93742C15.6897 0.309069 14.1167 -0.00939941 12.4999 -0.00939941Z\"\n        fill=\"#EAEAEA\"\n      />\n      <path\n        d=\"M12.5001 7.71098C14.8669 7.71098 16.7858 9.63144 16.7858 12.0001C16.7858 14.3687 14.8669 16.2892 12.5001 16.2892C10.1333 16.2892 8.21439 14.3687 8.21439 12.0001C8.21439 9.63144 10.1333 7.71098 12.5001 7.71098ZM12.5001 2.56409C7.30152 2.56409 3.07153 6.79741 3.07153 12.0001C3.07153 17.2027 7.30152 21.436 12.5001 21.436C17.6986 21.436 21.9287 17.2027 21.9287 12.0001C21.9287 6.79741 17.6986 2.56409 12.5001 2.56409Z\"\n        fill=\"#CCCCCC\"\n      />\n      <path\n        d=\"M12.4999 7.71101C14.8667 7.71101 16.7857 9.63144 16.7857 12.0001C16.7857 14.3687 14.8667 16.2892 12.4999 16.2892C10.1332 16.2892 8.21425 14.3687 8.21425 12.0001C8.21425 9.63144 10.1332 7.71101 12.4999 7.71101ZM12.4999 5.13757C8.71889 5.13757 5.64282 8.21605 5.64282 12.0001C5.64282 15.7842 8.71889 18.8626 12.4999 18.8626C16.2811 18.8626 19.3571 15.7842 19.3571 12.0001C19.3571 8.21605 16.2811 5.13757 12.4999 5.13757Z\"\n        fill=\"#999999\"\n      />\n      <path\n        d=\"M12.5 7.71094C14.8669 7.71094 16.7858 9.63135 16.7858 12C16.7858 14.3687 14.8669 16.2891 12.5 16.2891C10.1333 16.2891 8.21436 14.3687 8.21436 12C8.21436 9.63135 10.1333 7.71094 12.5 7.71094Z\"\n        fill=\"#EAEAEA\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5445_18774\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" transform=\"translate(0.5)\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5445_18767)\">\n      <path\n        d=\"M11.9999 7.75819C14.3668 7.75819 16.2857 9.65744 16.2857 12.0001C16.2857 14.3427 14.3668 16.2419 11.9999 16.2419C9.63321 16.2419 7.71428 14.3427 7.71428 12.0001C7.71428 9.65744 9.63321 7.75819 11.9999 7.75819ZM11.9999 0.122803C10.3832 0.122803 8.81142 0.437765 7.32643 1.05921C5.89607 1.65731 4.61357 2.5131 3.51429 3.60115C2.41499 4.68919 1.55035 5.95856 0.946072 7.37429C0.318214 8.84308 0 10.3999 0 12.0001C0 13.6004 0.318214 15.156 0.946072 16.6258C1.55035 18.0415 2.41499 19.3109 3.51429 20.399C4.61357 21.487 5.89607 22.3428 7.32643 22.9409C8.81035 23.5624 10.3832 23.8773 11.9999 23.8773C13.6167 23.8773 15.1886 23.5624 16.6735 22.9409C18.1039 22.3428 19.3864 21.487 20.4857 20.399C21.585 19.3109 22.4497 18.0415 23.0539 16.6258C23.6818 15.1571 24 13.6004 24 12.0001C24 10.3999 23.6818 8.84409 23.0539 7.37429C22.4497 5.95856 21.585 4.68919 20.4857 3.60115C19.3864 2.5131 18.1039 1.65731 16.6735 1.05921C15.1897 0.437765 13.6167 0.122803 11.9999 0.122803Z\"\n        fill=\"#B7F7B0\"\n      />\n      <path\n        d=\"M12.0002 7.75822C14.3669 7.75822 16.2858 9.65748 16.2858 12.0001C16.2858 14.3427 14.3669 16.2419 12.0002 16.2419C9.63332 16.2419 7.71439 14.3427 7.71439 12.0001C7.71439 9.65748 9.63332 7.75822 12.0002 7.75822ZM12.0002 2.66797C6.80154 2.66797 2.57153 6.8547 2.57153 12.0001C2.57153 17.1455 6.80154 21.3323 12.0002 21.3323C17.1987 21.3323 21.4287 17.1455 21.4287 12.0001C21.4287 6.8547 17.1987 2.66797 12.0002 2.66797Z\"\n        fill=\"#07DC10\"\n      />\n      <path\n        d=\"M11.9999 7.75814C14.3667 7.75814 16.2857 9.6574 16.2857 12.0001C16.2857 14.3426 14.3667 16.2418 11.9999 16.2418C9.63318 16.2418 7.71425 14.3426 7.71425 12.0001C7.71425 9.6574 9.63318 7.75814 11.9999 7.75814ZM11.9999 5.21301C8.21889 5.21301 5.14282 8.25761 5.14282 12.0001C5.14282 15.7424 8.21889 18.787 11.9999 18.787C15.7811 18.787 18.8571 15.7424 18.8571 12.0001C18.8571 8.25761 15.7811 5.21301 11.9999 5.21301Z\"\n        fill=\"#0C9B00\"\n      />\n      <path\n        d=\"M12 7.75818C14.3668 7.75818 16.2858 9.65743 16.2858 12.0001C16.2858 14.3427 14.3668 16.2419 12 16.2419C9.63327 16.2419 7.71436 14.3427 7.71436 12.0001C7.71436 9.65743 9.63327 7.75818 12 7.75818Z\"\n        fill=\"#EAEAEA\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5445_18767\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 25 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5445_18746)\">\n      <path\n        d=\"M0.28152 14.6882C0.279215 13.2832 0.276911 11.8782 0.285398 10.4436C0.305681 10.4053 0.314504 10.3959 0.322662 10.3859C0.802041 10.1488 1.30224 9.97967 1.83723 9.92664C2.2885 9.88191 2.74003 9.83975 3.21194 9.79449C3.21194 8.42505 3.21194 7.03519 3.21194 5.64207C2.22416 5.71043 1.22186 5.70979 0.289522 6.20013C0.281748 6.09755 0.273769 6.04112 0.27374 5.9847C0.273029 4.67335 0.274562 3.36201 0.271 2.05068C0.270652 1.92256 0.29101 1.83585 0.424399 1.77786C1.33128 1.38363 2.28381 1.32438 3.28007 1.36315C3.28007 2.7659 3.28007 4.1556 3.28007 5.49385C4.22759 5.54169 5.14501 5.58802 6.0871 5.6356C6.0871 4.28877 6.0871 2.93161 6.0871 1.53531C7.08552 1.70364 8.00797 2.01904 8.94469 2.33345C8.94469 3.22814 8.94469 4.12113 8.94469 5.01412C8.94469 5.35658 8.94469 5.69903 8.94469 6.04148C8.94469 6.47081 8.94338 6.47449 9.33438 6.61359C10.0706 6.87552 10.8086 7.13275 11.5812 7.40436C11.5812 6.05836 11.5812 4.72108 11.5812 3.3443C12.224 3.52427 12.8233 3.69207 13.4487 3.86716C13.4487 3.19301 13.4487 2.5378 13.4487 1.84791C13.8129 1.93948 14.1477 2.02491 14.4832 2.10764C14.7604 2.176 15.0368 2.24884 15.3166 2.30467C15.466 2.33448 15.5169 2.40011 15.5144 2.55394C15.5056 3.09671 15.5057 3.63982 15.5171 4.1825C15.5187 4.25811 15.5913 4.38638 15.6496 4.39815C16.1466 4.49846 16.6479 4.57793 17.1482 4.66172C17.1783 4.66677 17.2111 4.65542 17.2596 4.64973C17.2596 4.01094 17.2596 3.37858 17.2596 2.69923C17.3978 2.72052 17.5124 2.74491 17.6282 2.75482C18.064 2.79208 18.4997 2.83416 18.9363 2.85471C19.139 2.86426 19.2326 2.91424 19.2253 3.14221C19.209 3.65119 19.2265 4.16117 19.2169 4.67049C19.2134 4.85412 19.2749 4.90032 19.4586 4.92057C20.488 5.03405 21.5065 5.20661 22.3891 5.80184C23.1549 6.31834 23.5133 7.06197 23.5872 7.97619C23.6464 8.7082 23.5609 9.41039 23.3405 10.1077C23.1076 10.8445 22.7201 11.4788 22.1679 12.0154C22.1084 12.0731 22.0432 12.125 21.9562 12.2009C22.0889 12.2544 22.1804 12.2988 22.2764 12.3287C23.3366 12.6594 23.9358 13.3893 24.1338 14.4676C24.3584 15.6912 24.1854 16.8687 23.6173 17.963C22.8673 19.4079 21.6774 20.304 20.0612 20.6028C19.7952 20.652 19.5273 20.6904 19.2297 20.7388C19.2297 21.3672 19.2297 22.022 19.2297 22.6767C18.5669 22.6767 17.9315 22.6767 17.2699 22.6767C17.2699 21.9904 17.2699 21.3351 17.2699 20.6828C16.6749 20.6191 16.1065 20.5583 15.517 20.4953C15.517 21.1565 15.517 21.7885 15.517 22.4905C14.8168 22.3787 14.1448 22.2714 13.4603 22.1621C13.4603 21.4724 13.4603 20.8061 13.4603 20.1382C12.7945 19.9907 12.1368 19.8722 11.4948 19.696C10.7009 19.4781 9.92169 19.207 9.13234 18.9715C8.9545 18.9184 8.88798 18.8451 8.88958 18.6511C8.8995 17.4484 8.89457 16.2456 8.89457 15.0429C8.89457 14.9517 8.89457 14.8605 8.89457 14.739C7.98702 14.5214 7.08587 14.3052 6.13944 14.0783C6.13944 15.5264 6.13944 16.9071 6.13944 18.2465C5.16107 18.2465 4.21451 18.2465 3.24192 18.2465C3.24192 16.8997 3.24192 15.5103 3.24192 14.0844C2.25955 14.1965 1.29267 14.2198 0.381146 14.6884C0.324915 14.689 0.303218 14.6886 0.28152 14.6882ZM16.0868 14.0367C15.9026 14.0168 15.7185 13.9969 15.5208 13.9755C15.5208 15.0483 15.5208 16.0814 15.5208 17.1514C15.9271 17.1998 16.331 17.2601 16.737 17.2936C17.453 17.3527 18.1698 17.4153 18.8874 17.437C19.2663 17.4486 19.6344 17.3217 19.9437 17.0918C20.4236 16.7352 20.6689 15.985 20.5093 15.4084C20.385 14.9595 20.1369 14.6372 19.6773 14.4548C19.1522 14.2464 18.6048 14.3175 18.0706 14.2427C17.4274 14.1526 16.7785 14.1036 16.0868 14.0367ZM18.0351 8.07187C17.2013 7.96203 16.3675 7.85219 15.511 7.73935C15.511 7.82867 15.511 7.91901 15.511 8.00935C15.511 8.81881 15.5165 9.62833 15.5074 10.4377C15.5049 10.6571 15.5154 10.8183 15.8027 10.7859C15.9045 10.7745 16.0127 10.8126 16.117 10.8331C16.9269 10.992 17.7421 11.1105 18.5695 11.0752C18.9797 11.0578 19.3727 10.9365 19.5989 10.5642C19.7426 10.3277 19.8433 10.054 19.9089 9.78386C19.9877 9.4598 19.7583 8.74079 19.3921 8.49801C18.9849 8.22804 18.5362 8.15614 18.0351 8.07187ZM3.28787 9.86871C3.28787 11.2349 3.28787 12.6012 3.28787 13.9864C4.22863 13.9864 5.14843 13.9864 6.07819 13.9864C6.07819 12.6577 6.07819 11.3077 6.07819 9.9395C5.16064 9.78087 4.24424 9.72105 3.28787 9.86871ZM6.95347 10.0313C7.59172 10.2023 8.22997 10.3733 8.89431 10.5513C8.89431 9.21014 8.89639 7.92517 8.88765 6.64026C8.88725 6.58134 8.80059 6.49482 8.73538 6.46962C8.50761 6.38163 8.2741 6.30567 8.03824 6.24193C7.41437 6.07334 6.78813 5.91354 6.13783 5.74371C6.13783 7.10778 6.1354 8.41806 6.14498 9.72826C6.14546 9.79402 6.23911 9.89755 6.30814 9.91705C6.50375 9.9723 6.70911 9.99304 6.95347 10.0313ZM8.94469 11.2562C8.94469 12.4064 8.94469 13.5567 8.94469 14.7125C9.82594 14.9979 10.697 15.28 11.5627 15.5603C11.5831 15.5181 11.5898 15.5106 11.5899 15.503C11.5939 14.236 11.5996 12.9689 11.5943 11.7019C11.5941 11.6434 11.507 11.5575 11.4417 11.5317C11.0857 11.3909 10.7252 11.2611 10.3636 11.1349C9.90389 10.9744 9.4417 10.821 8.94469 10.6525C8.94469 10.862 8.94469 11.0344 8.94469 11.2562Z\"\n        fill=\"#11181C\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5445_18746\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" transform=\"translate(0.25)\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 25 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5445_18750)\">\n      <path\n        d=\"M0.53152 14.6882C0.529215 13.2832 0.526911 11.8782 0.535398 10.4436C0.555681 10.4053 0.564504 10.3959 0.572662 10.3859C1.05204 10.1488 1.55224 9.97967 2.08723 9.92664C2.5385 9.88191 2.99003 9.83975 3.46194 9.79449C3.46194 8.42505 3.46194 7.03519 3.46194 5.64207C2.47416 5.71043 1.47186 5.70979 0.539522 6.20013C0.531748 6.09755 0.523769 6.04112 0.52374 5.9847C0.523029 4.67335 0.524562 3.36201 0.521 2.05068C0.520652 1.92256 0.54101 1.83585 0.674399 1.77786C1.58128 1.38363 2.53381 1.32438 3.53007 1.36315C3.53007 2.7659 3.53007 4.1556 3.53007 5.49385C4.47759 5.54169 5.39501 5.58802 6.3371 5.6356C6.3371 4.28877 6.3371 2.93161 6.3371 1.53531C7.33552 1.70364 8.25797 2.01904 9.19469 2.33345C9.19469 3.22814 9.19469 4.12113 9.19469 5.01412C9.19469 5.35658 9.19469 5.69903 9.19469 6.04148C9.19469 6.47081 9.19338 6.47449 9.58438 6.61359C10.3206 6.87552 11.0586 7.13275 11.8312 7.40436C11.8312 6.05836 11.8312 4.72108 11.8312 3.3443C12.474 3.52427 13.0733 3.69207 13.6987 3.86716C13.6987 3.19301 13.6987 2.5378 13.6987 1.84791C14.0629 1.93948 14.3977 2.02491 14.7332 2.10764C15.0104 2.176 15.2868 2.24884 15.5666 2.30467C15.716 2.33448 15.7669 2.40011 15.7644 2.55394C15.7556 3.09671 15.7557 3.63982 15.7671 4.1825C15.7687 4.25811 15.8413 4.38638 15.8996 4.39815C16.3966 4.49846 16.8979 4.57793 17.3982 4.66172C17.4283 4.66677 17.4611 4.65542 17.5096 4.64973C17.5096 4.01094 17.5096 3.37858 17.5096 2.69923C17.6478 2.72052 17.7624 2.74491 17.8782 2.75482C18.314 2.79208 18.7497 2.83416 19.1863 2.85471C19.389 2.86426 19.4826 2.91424 19.4753 3.14221C19.459 3.65119 19.4765 4.16117 19.4669 4.67049C19.4634 4.85412 19.5249 4.90032 19.7086 4.92057C20.738 5.03405 21.7565 5.20661 22.6391 5.80184C23.4049 6.31834 23.7633 7.06197 23.8372 7.97619C23.8964 8.7082 23.8109 9.41039 23.5905 10.1077C23.3576 10.8445 22.9701 11.4788 22.4179 12.0154C22.3584 12.0731 22.2932 12.125 22.2062 12.2009C22.3389 12.2544 22.4304 12.2988 22.5264 12.3287C23.5866 12.6594 24.1858 13.3893 24.3838 14.4676C24.6084 15.6912 24.4354 16.8687 23.8673 17.963C23.1173 19.4079 21.9274 20.304 20.3112 20.6028C20.0452 20.652 19.7773 20.6904 19.4797 20.7388C19.4797 21.3672 19.4797 22.022 19.4797 22.6767C18.8169 22.6767 18.1815 22.6767 17.5199 22.6767C17.5199 21.9904 17.5199 21.3351 17.5199 20.6828C16.9249 20.6191 16.3565 20.5583 15.767 20.4953C15.767 21.1565 15.767 21.7885 15.767 22.4905C15.0668 22.3787 14.3948 22.2714 13.7103 22.1621C13.7103 21.4724 13.7103 20.8061 13.7103 20.1382C13.0445 19.9907 12.3868 19.8722 11.7448 19.696C10.9509 19.4781 10.1717 19.207 9.38234 18.9715C9.2045 18.9184 9.13798 18.8451 9.13958 18.6511C9.1495 17.4484 9.14457 16.2456 9.14457 15.0429C9.14457 14.9517 9.14457 14.8605 9.14457 14.739C8.23702 14.5214 7.33587 14.3052 6.38944 14.0783C6.38944 15.5264 6.38944 16.9071 6.38944 18.2465C5.41107 18.2465 4.46451 18.2465 3.49192 18.2465C3.49192 16.8997 3.49192 15.5103 3.49192 14.0844C2.50955 14.1965 1.54267 14.2198 0.631146 14.6884C0.574915 14.689 0.553218 14.6886 0.53152 14.6882ZM16.3368 14.0367C16.1526 14.0168 15.9685 13.9969 15.7708 13.9755C15.7708 15.0483 15.7708 16.0814 15.7708 17.1514C16.1771 17.1998 16.581 17.2601 16.987 17.2936C17.703 17.3527 18.4198 17.4153 19.1374 17.437C19.5163 17.4486 19.8844 17.3217 20.1937 17.0918C20.6736 16.7352 20.9189 15.985 20.7593 15.4084C20.635 14.9595 20.3869 14.6372 19.9273 14.4548C19.4022 14.2464 18.8548 14.3175 18.3206 14.2427C17.6774 14.1526 17.0285 14.1036 16.3368 14.0367ZM18.2851 8.07187C17.4513 7.96203 16.6175 7.85219 15.761 7.73935C15.761 7.82867 15.761 7.91901 15.761 8.00935C15.761 8.81881 15.7665 9.62833 15.7574 10.4377C15.7549 10.6571 15.7654 10.8183 16.0527 10.7859C16.1545 10.7745 16.2627 10.8126 16.367 10.8331C17.1769 10.992 17.9921 11.1105 18.8195 11.0752C19.2297 11.0578 19.6227 10.9365 19.8489 10.5642C19.9926 10.3277 20.0933 10.054 20.1589 9.78386C20.2377 9.4598 20.0083 8.74079 19.6421 8.49801C19.2349 8.22804 18.7862 8.15614 18.2851 8.07187ZM3.53787 9.86871C3.53787 11.2349 3.53787 12.6012 3.53787 13.9864C4.47863 13.9864 5.39843 13.9864 6.32819 13.9864C6.32819 12.6577 6.32819 11.3077 6.32819 9.9395C5.41064 9.78087 4.49424 9.72105 3.53787 9.86871ZM7.20347 10.0313C7.84172 10.2023 8.47997 10.3733 9.14431 10.5513C9.14431 9.21014 9.14639 7.92517 9.13765 6.64026C9.13725 6.58134 9.05059 6.49482 8.98538 6.46962C8.75761 6.38163 8.5241 6.30567 8.28824 6.24193C7.66437 6.07334 7.03813 5.91354 6.38783 5.74371C6.38783 7.10778 6.3854 8.41806 6.39498 9.72826C6.39546 9.79402 6.48911 9.89755 6.55814 9.91705C6.75375 9.9723 6.95911 9.99304 7.20347 10.0313ZM9.19469 11.2562C9.19469 12.4064 9.19469 13.5567 9.19469 14.7125C10.0759 14.9979 10.947 15.28 11.8127 15.5603C11.8331 15.5181 11.8398 15.5106 11.8399 15.503C11.8439 14.236 11.8496 12.9689 11.8443 11.7019C11.8441 11.6434 11.757 11.5575 11.6917 11.5317C11.3357 11.3909 10.9752 11.2611 10.6136 11.1349C10.1539 10.9744 9.6917 10.821 9.19469 10.6525C9.19469 10.862 9.19469 11.0344 9.19469 11.2562Z\"\n        fill=\"#ECEDEE\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5445_18750\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" transform=\"translate(0.5)\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5445_18743)\">\n      <path\n        d=\"M0.03152 14.6734C0.0292149 13.2683 0.0269111 11.8633 0.0353978 10.4287C0.0556813 10.3904 0.0645044 10.381 0.0726622 10.371C0.552041 10.1339 1.05224 9.96478 1.58723 9.91175C2.0385 9.86702 2.49003 9.82486 2.96194 9.77959C2.96194 8.41016 2.96194 7.0203 2.96194 5.62718C1.97416 5.69553 0.971861 5.6949 0.0395218 6.18524C0.031748 6.08266 0.0237692 6.02623 0.0237401 5.9698C0.0230288 4.65846 0.0245615 3.34712 0.0210004 2.03578C0.0206517 1.90766 0.0410101 1.82095 0.174399 1.76297C1.08128 1.36874 2.03381 1.30949 3.03007 1.34826C3.03007 2.75101 3.03007 4.14071 3.03007 5.47895C3.97759 5.5268 4.89501 5.57313 5.8371 5.62071C5.8371 4.27387 5.8371 2.91672 5.8371 1.52041C6.83552 1.68874 7.75797 2.00414 8.69469 2.31856C8.69469 3.21325 8.69469 4.10624 8.69469 4.99923C8.69469 5.34168 8.69469 5.68414 8.69469 6.02659C8.69469 6.45592 8.69338 6.4596 9.08438 6.5987C9.82065 6.86063 10.5586 7.11786 11.3312 7.38947C11.3312 6.04347 11.3312 4.70618 11.3312 3.32941C11.974 3.50937 12.5733 3.67717 13.1987 3.85227C13.1987 3.17812 13.1987 2.52291 13.1987 1.83301C13.5629 1.92459 13.8977 2.01001 14.2332 2.09275C14.5104 2.16111 14.7868 2.23395 15.0666 2.28977C15.216 2.31959 15.2669 2.38522 15.2644 2.53905C15.2556 3.08182 15.2557 3.62493 15.2671 4.1676C15.2687 4.24322 15.3413 4.37149 15.3996 4.38326C15.8966 4.48357 16.3979 4.56304 16.8982 4.64683C16.9283 4.65187 16.9611 4.64053 17.0096 4.63483C17.0096 3.99605 17.0096 3.36369 17.0096 2.68434C17.1478 2.70563 17.2624 2.73002 17.3782 2.73992C17.814 2.77719 18.2497 2.81926 18.6863 2.83982C18.889 2.84936 18.9826 2.89935 18.9753 3.12732C18.959 3.6363 18.9765 4.14628 18.9669 4.6556C18.9634 4.83923 19.0249 4.88543 19.2086 4.90567C20.238 5.01916 21.2565 5.19172 22.1391 5.78695C22.9049 6.30345 23.2633 7.04707 23.3372 7.9613C23.3964 8.6933 23.3109 9.3955 23.0905 10.0928C22.8576 10.8297 22.4701 11.4639 21.9179 12.0005C21.8584 12.0583 21.7932 12.1101 21.7062 12.186C21.8389 12.2395 21.9304 12.2839 22.0264 12.3139C23.0866 12.6445 23.6858 13.3744 23.8838 14.4527C24.1084 15.6763 23.9354 16.8539 23.3673 17.9481C22.6173 19.393 21.4274 20.2891 19.8112 20.5879C19.5452 20.6371 19.2773 20.6755 18.9797 20.7239C18.9797 21.3523 18.9797 22.0072 18.9797 22.6618C18.3169 22.6618 17.6815 22.6618 17.0199 22.6618C17.0199 21.9755 17.0199 21.3202 17.0199 20.6679C16.4249 20.6042 15.8565 20.5434 15.267 20.4804C15.267 21.1417 15.267 21.7736 15.267 22.4756C14.5668 22.3638 13.8948 22.2565 13.2103 22.1472C13.2103 21.4575 13.2103 20.7912 13.2103 20.1233C12.5445 19.9758 11.8868 19.8573 11.2448 19.6811C10.4509 19.4632 9.67169 19.1921 8.88234 18.9566C8.7045 18.9035 8.63798 18.8302 8.63958 18.6362C8.6495 17.4336 8.64457 16.2308 8.64457 15.028C8.64457 14.9368 8.64457 14.8456 8.64457 14.7241C7.73702 14.5065 6.83587 14.2904 5.88944 14.0634C5.88944 15.5115 5.88944 16.8922 5.88944 18.2316C4.91107 18.2316 3.96451 18.2316 2.99192 18.2316C2.99192 16.8848 2.99192 15.4954 2.99192 14.0695C2.00955 14.1816 1.04267 14.2049 0.131146 14.6735C0.0749154 14.6741 0.0532185 14.6737 0.03152 14.6734ZM15.8368 14.0218C15.6526 14.0019 15.4685 13.982 15.2708 13.9606C15.2708 15.0334 15.2708 16.0665 15.2708 17.1365C15.6771 17.1849 16.081 17.2452 16.487 17.2787C17.203 17.3378 17.9198 17.4004 18.6374 17.4222C19.0163 17.4337 19.3844 17.3068 19.6937 17.0769C20.1736 16.7203 20.4189 15.9701 20.2593 15.3935C20.135 14.9446 19.8869 14.6223 19.4273 14.4399C18.9022 14.2315 18.3548 14.3026 17.8206 14.2278C17.1774 14.1377 16.5285 14.0887 15.8368 14.0218ZM17.7851 8.05698C16.9513 7.94714 16.1175 7.83729 15.261 7.72446C15.261 7.81377 15.261 7.90412 15.261 7.99446C15.261 8.80392 15.2665 9.61344 15.2574 10.4228C15.2549 10.6423 15.2654 10.8034 15.5527 10.771C15.6545 10.7596 15.7627 10.7977 15.867 10.8182C16.6769 10.9771 17.4921 11.0956 18.3195 11.0604C18.7297 11.0429 19.1227 10.9216 19.3489 10.5493C19.4926 10.3128 19.5933 10.0391 19.6589 9.76896C19.7377 9.4449 19.5083 8.7259 19.1421 8.48311C18.7349 8.21315 18.2862 8.14125 17.7851 8.05698ZM3.03787 9.85382C3.03787 11.2201 3.03787 12.5863 3.03787 13.9715C3.97863 13.9715 4.89843 13.9715 5.82819 13.9715C5.82819 12.6428 5.82819 11.2929 5.82819 9.92461C4.91064 9.76598 3.99424 9.70616 3.03787 9.85382ZM6.70347 10.0164C7.34172 10.1874 7.97997 10.3584 8.64431 10.5364C8.64431 9.19525 8.64639 7.91027 8.63765 6.62537C8.63725 6.56645 8.55059 6.47992 8.48538 6.45473C8.25761 6.36673 8.0241 6.29078 7.78824 6.22704C7.16437 6.05845 6.53813 5.89865 5.88783 5.72882C5.88783 7.09289 5.8854 8.40317 5.89498 9.71337C5.89546 9.77913 5.98911 9.88265 6.05814 9.90215C6.25375 9.95741 6.45911 9.97814 6.70347 10.0164ZM8.69469 11.2413C8.69469 12.3915 8.69469 13.5418 8.69469 14.6976C9.57594 14.983 10.447 15.2651 11.3127 15.5454C11.3331 15.5032 11.3398 15.4957 11.3399 15.4882C11.3439 14.2211 11.3496 12.954 11.3443 11.687C11.3441 11.6285 11.257 11.5426 11.1917 11.5168C10.8357 11.376 10.4752 11.2462 10.1136 11.12C9.65389 10.9595 9.1917 10.8062 8.69469 10.6376C8.69469 10.8471 8.69469 11.0195 8.69469 11.2413Z\"\n        fill=\"#E36E1B\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5445_18743\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 25 25\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5438_9950)\">\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M12.2184 24.2419C15.7424 24.2419 18.9126 22.7309 21.113 20.323L20.5275 19.6786C19.8029 18.881 18.5677 18.8128 17.7588 19.5258L16.5098 20.6268C14.8107 22.1246 12.228 22.0301 10.644 20.4123L9.86301 19.6146C9.11306 18.8486 7.88421 18.822 7.10133 19.5547L4.81058 21.6984C6.85279 23.2921 9.42436 24.2419 12.2184 24.2419ZM22.2202 18.1573L22.5045 18.4703C23.6121 16.6547 24.25 14.5227 24.25 12.2419C24.25 9.47648 23.3121 6.92949 21.7361 4.90017C21.4432 4.97507 21.1632 5.11841 20.9214 5.33156L19.6724 6.43251C17.9733 7.93033 15.3906 7.83592 13.8066 6.21806L13.0256 5.42041C12.2756 4.65445 11.0468 4.62775 10.2639 5.3604L7.05042 8.36779L5.48708 6.71536L8.70058 3.70796C10.3899 2.12696 13.0417 2.18458 14.66 3.83746L15.4409 4.63511C16.1751 5.38484 17.3719 5.42859 18.1593 4.73448L19.4082 3.63353C19.6179 3.44876 19.8407 3.28832 20.0734 3.15197C17.9656 1.33852 15.2204 0.241943 12.2184 0.241943C6.18258 0.241943 1.18485 4.67474 0.319346 10.4543C1.96636 9.50871 4.10491 9.75592 5.48829 11.1688L6.39147 12.0913C7.09349 12.8084 8.22595 12.884 9.01806 12.2667L11.6954 10.1805C13.3024 8.92838 15.5774 8.98895 17.1147 10.3248L20.7603 13.4928L19.2594 15.2014L15.6137 12.0335C14.9013 11.4144 13.847 11.3863 13.1024 11.9667L10.425 14.0529C8.71568 15.3848 6.27196 15.2215 4.75707 13.6743L3.8539 12.7518C3.10394 11.9859 1.87509 11.9591 1.09222 12.6918L0.25 13.48C0.510464 16.0146 1.56188 18.3155 3.15401 20.1333L5.538 17.9022C7.22736 16.3212 9.87909 16.3788 11.4974 18.0317L12.2784 18.8293C13.0125 19.579 14.2093 19.6229 14.9967 18.9288L16.2457 17.8278C17.991 16.2892 20.6566 16.4363 22.2202 18.1573Z\"\n        fill=\"#11181C\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5438_9950\">\n        <rect\n          width=\"24\"\n          height=\"24\"\n          fill=\"white\"\n          transform=\"translate(0.25 0.241943)\"\n        />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 25 25\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5438_9957)\">\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M12.4684 24.2419C15.9924 24.2419 19.1626 22.7309 21.363 20.323L20.7775 19.6786C20.0529 18.881 18.8177 18.8128 18.0088 19.5258L16.7598 20.6268C15.0607 22.1246 12.478 22.0301 10.894 20.4123L10.113 19.6146C9.36306 18.8486 8.13421 18.822 7.35133 19.5547L5.06058 21.6984C7.10279 23.2921 9.67436 24.2419 12.4684 24.2419ZM22.4702 18.1573L22.7545 18.4703C23.8621 16.6547 24.5 14.5227 24.5 12.2419C24.5 9.47648 23.5621 6.92949 21.9861 4.90017C21.6932 4.97507 21.4132 5.11841 21.1714 5.33156L19.9224 6.43251C18.2233 7.93033 15.6406 7.83592 14.0566 6.21806L13.2756 5.42041C12.5256 4.65445 11.2968 4.62775 10.5139 5.3604L7.30042 8.36779L5.73708 6.71536L8.95058 3.70796C10.6399 2.12696 13.2917 2.18458 14.91 3.83746L15.6909 4.63511C16.4251 5.38484 17.6219 5.42859 18.4093 4.73448L19.6582 3.63353C19.8679 3.44876 20.0907 3.28832 20.3234 3.15197C18.2156 1.33852 15.4704 0.241943 12.4684 0.241943C6.43258 0.241943 1.43485 4.67474 0.569346 10.4543C2.21636 9.50871 4.35491 9.75592 5.73829 11.1688L6.64147 12.0913C7.34349 12.8084 8.47595 12.884 9.26806 12.2667L11.9454 10.1805C13.5524 8.92838 15.8274 8.98895 17.3647 10.3248L21.0103 13.4928L19.5094 15.2014L15.8637 12.0335C15.1513 11.4144 14.097 11.3863 13.3524 11.9667L10.675 14.0529C8.96568 15.3848 6.52196 15.2215 5.00707 13.6743L4.1039 12.7518C3.35394 11.9859 2.12509 11.9591 1.34222 12.6918L0.5 13.48C0.760464 16.0146 1.81188 18.3155 3.40401 20.1333L5.788 17.9022C7.47736 16.3212 10.1291 16.3788 11.7474 18.0317L12.5284 18.8293C13.2625 19.579 14.4593 19.6229 15.2467 18.9288L16.4957 17.8278C18.241 16.2892 20.9066 16.4363 22.4702 18.1573Z\"\n        fill=\"#ECEDEE\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5438_9957\">\n        <rect\n          width=\"24\"\n          height=\"24\"\n          fill=\"white\"\n          transform=\"translate(0.5 0.241943)\"\n        />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 25\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5438_9946)\">\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M11.9684 24.2419C15.4924 24.2419 18.6626 22.7309 20.863 20.323L20.2775 19.6786C19.5529 18.881 18.3177 18.8128 17.5088 19.5258L16.2598 20.6268C14.5607 22.1246 11.978 22.0301 10.394 20.4123L9.61301 19.6146C8.86306 18.8486 7.63421 18.822 6.85133 19.5547L4.56058 21.6984C6.60279 23.2921 9.17436 24.2419 11.9684 24.2419ZM21.9702 18.1573L22.2545 18.4703C23.3621 16.6547 24 14.5227 24 12.2419C24 9.47648 23.0621 6.92949 21.4861 4.90017C21.1932 4.97507 20.9132 5.11841 20.6714 5.33156L19.4224 6.43251C17.7233 7.93033 15.1406 7.83592 13.5566 6.21806L12.7756 5.42041C12.0256 4.65445 10.7968 4.62775 10.0139 5.3604L6.80042 8.36779L5.23708 6.71536L8.45058 3.70796C10.1399 2.12696 12.7917 2.18458 14.41 3.83746L15.1909 4.63511C15.9251 5.38484 17.1219 5.42859 17.9093 4.73448L19.1582 3.63353C19.3679 3.44876 19.5907 3.28832 19.8234 3.15197C17.7156 1.33852 14.9704 0.241943 11.9684 0.241943C5.93258 0.241943 0.934849 4.67474 0.0693464 10.4543C1.71636 9.50871 3.85491 9.75592 5.23829 11.1688L6.14147 12.0913C6.84349 12.8084 7.97595 12.884 8.76806 12.2667L11.4454 10.1805C13.0524 8.92838 15.3274 8.98895 16.8647 10.3248L20.5103 13.4928L19.0094 15.2014L15.3637 12.0335C14.6513 11.4144 13.597 11.3863 12.8524 11.9667L10.175 14.0529C8.46568 15.3848 6.02196 15.2215 4.50707 13.6743L3.6039 12.7518C2.85394 11.9859 1.62509 11.9591 0.842217 12.6918L0 13.48C0.260464 16.0146 1.31188 18.3155 2.90401 20.1333L5.288 17.9022C6.97736 16.3212 9.62909 16.3788 11.2474 18.0317L12.0284 18.8293C12.7625 19.579 13.9593 19.6229 14.7467 18.9288L15.9957 17.8278C17.741 16.2892 20.4066 16.4363 21.9702 18.1573Z\"\n        fill=\"url(#paint0_linear_5438_9946)\"\n      />\n    </g>\n    <defs>\n      <linearGradient\n        id=\"paint0_linear_5438_9946\"\n        x1=\"12\"\n        y1=\"0.241944\"\n        x2=\"16.7179\"\n        y2=\"24.242\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop stop-color=\"#780000\" />\n        <stop offset=\"1\" stop-color=\"#C1121F\" />\n      </linearGradient>\n      <clipPath id=\"clip0_5438_9946\">\n        <rect\n          width=\"24\"\n          height=\"24\"\n          fill=\"white\"\n          transform=\"translate(0 0.241943)\"\n        />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 25 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5457_9838)\">\n      <g clip-path=\"url(#clip1_5457_9838)\">\n        <path\n          d=\"M1.22935 5H11.7356C11.9257 5 12.0796 5.15032 12.0796 5.33597V10.1438C12.0796 10.444 11.9005 10.7165 11.6215 10.8413L10.2982 11.4345C10.2336 11.4636 10.1919 11.5266 10.1919 11.5964C10.1919 11.6654 10.2322 11.7275 10.2959 11.757L11.6312 12.3771C11.9051 12.5042 12.0796 12.7739 12.0796 13.0705V18.2636C12.0796 18.4492 11.9257 18.5996 11.7356 18.5996H1.22935C0.68837 18.5996 0.25 18.1714 0.25 17.6431V5.95647C0.25 5.42813 0.68837 5 1.22935 5ZM6.92772 14.0663C7.19566 14.0663 7.38668 14.031 7.50028 13.9608C7.62397 13.8901 7.68582 13.7594 7.68582 13.568V13.5376C7.68582 13.3362 7.61892 13.1949 7.48471 13.1143C7.36102 13.0338 7.14945 12.9936 6.85031 12.9936H4.8916V14.0663H6.92772ZM6.83517 10.3944C7.30975 10.3944 7.54705 10.2279 7.54705 9.89555V9.81994C7.54705 9.62847 7.4852 9.4974 7.36151 9.42716C7.24791 9.34663 7.05732 9.30637 6.78889 9.30637H4.89206V10.3944H6.83566H6.83517ZM12.9701 12.9484H17.2997C17.2997 13.2911 17.3616 13.5278 17.4853 13.6588C17.6195 13.7899 17.81 13.8552 18.0578 13.8552C18.4806 13.8552 18.6923 13.6185 18.6923 13.1448C18.6923 12.913 18.6199 12.7471 18.4756 12.646C18.3414 12.5453 18.1352 12.4948 17.8568 12.4948H15.4739V10.742L19.1407 9.85037H12.9701C12.7979 9.85037 12.6581 9.71392 12.6581 9.54571V5.25455C12.6581 5.11408 12.7749 5 12.9188 5H23.0696C23.6106 5 24.0489 5.42813 24.0489 5.95647V9.386C24.0489 9.77342 23.7763 10.1103 23.3907 10.2002L19.373 11.1352L19.5585 11.1657H23.393C23.8661 11.1657 24.25 11.5406 24.25 12.0026V17.6435C24.25 18.1719 23.8116 18.6 23.2707 18.6H12.9188C12.7749 18.6 12.6581 18.4859 12.6581 18.3455V13.253C12.6581 13.0849 12.7979 12.9484 12.9701 12.9484Z\"\n          fill=\"#11181C\"\n        />\n      </g>\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5457_9838\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" transform=\"translate(0.25)\" />\n      </clipPath>\n      <clipPath id=\"clip1_5457_9838\">\n        <rect\n          width=\"24\"\n          height=\"13.6\"\n          fill=\"white\"\n          transform=\"translate(0.25 5)\"\n        />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 25 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5457_9847)\">\n      <g clip-path=\"url(#clip1_5457_9847)\">\n        <path\n          d=\"M1.47935 5H11.9856C12.1757 5 12.3296 5.15032 12.3296 5.33597V10.1438C12.3296 10.444 12.1505 10.7165 11.8715 10.8413L10.5482 11.4345C10.4836 11.4636 10.4419 11.5266 10.4419 11.5964C10.4419 11.6654 10.4822 11.7275 10.5459 11.757L11.8812 12.3771C12.1551 12.5042 12.3296 12.7739 12.3296 13.0705V18.2636C12.3296 18.4492 12.1757 18.5996 11.9856 18.5996H1.47935C0.93837 18.5996 0.5 18.1714 0.5 17.6431V5.95647C0.5 5.42813 0.93837 5 1.47935 5ZM7.17772 14.0663C7.44566 14.0663 7.63668 14.031 7.75028 13.9608C7.87397 13.8901 7.93582 13.7594 7.93582 13.568V13.5376C7.93582 13.3362 7.86892 13.1949 7.73471 13.1143C7.61102 13.0338 7.39945 12.9936 7.10031 12.9936H5.1416V14.0663H7.17772ZM7.08517 10.3944C7.55975 10.3944 7.79705 10.2279 7.79705 9.89555V9.81994C7.79705 9.62847 7.7352 9.4974 7.61151 9.42716C7.49791 9.34663 7.30732 9.30637 7.03889 9.30637H5.14206V10.3944H7.08566H7.08517ZM13.2201 12.9484H17.5497C17.5497 13.2911 17.6116 13.5278 17.7353 13.6588C17.8695 13.7899 18.06 13.8552 18.3078 13.8552C18.7306 13.8552 18.9423 13.6185 18.9423 13.1448C18.9423 12.913 18.8699 12.7471 18.7256 12.646C18.5914 12.5453 18.3852 12.4948 18.1068 12.4948H15.7239V10.742L19.3907 9.85037H13.2201C13.0479 9.85037 12.9081 9.71392 12.9081 9.54571V5.25455C12.9081 5.11408 13.0249 5 13.1688 5H23.3196C23.8606 5 24.2989 5.42813 24.2989 5.95647V9.386C24.2989 9.77342 24.0263 10.1103 23.6407 10.2002L19.623 11.1352L19.8085 11.1657H23.643C24.1161 11.1657 24.5 11.5406 24.5 12.0026V17.6435C24.5 18.1719 24.0616 18.6 23.5207 18.6H13.1688C13.0249 18.6 12.9081 18.4859 12.9081 18.3455V13.253C12.9081 13.0849 13.0479 12.9484 13.2201 12.9484Z\"\n          fill=\"#ECEDEE\"\n        />\n      </g>\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5457_9847\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" transform=\"translate(0.5)\" />\n      </clipPath>\n      <clipPath id=\"clip1_5457_9847\">\n        <rect\n          width=\"24\"\n          height=\"13.6\"\n          fill=\"white\"\n          transform=\"translate(0.5 5)\"\n        />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5457_9830)\">\n      <g clip-path=\"url(#clip1_5457_9830)\">\n        <path\n          d=\"M0.979348 5.19995H11.4856C11.6757 5.19995 11.8296 5.35027 11.8296 5.53592V10.3438C11.8296 10.644 11.6505 10.9164 11.3715 11.0412L10.0482 11.6345C9.98357 11.6635 9.94191 11.7266 9.94191 11.7964C9.94191 11.8653 9.98222 11.9275 10.0459 11.957L11.3812 12.5771C11.6551 12.7041 11.8296 12.9739 11.8296 13.2705V18.4635C11.8296 18.6492 11.6757 18.7995 11.4856 18.7995H0.979348C0.43837 18.7995 0 18.3714 0 17.843V6.15643C0 5.62808 0.43837 5.19995 0.979348 5.19995ZM6.67772 14.2663C6.94566 14.2663 7.13668 14.231 7.25028 14.1608C7.37397 14.09 7.43582 13.9594 7.43582 13.768V13.7376C7.43582 13.5362 7.36892 13.3948 7.23471 13.3143C7.11102 13.2338 6.89945 13.1936 6.60031 13.1936H4.6416V14.2663H6.67772ZM6.58517 10.5943C7.05975 10.5943 7.29705 10.4279 7.29705 10.0955V10.0199C7.29705 9.82842 7.2352 9.69735 7.11151 9.62711C6.99791 9.54658 6.80732 9.50632 6.53889 9.50632H4.64206V10.5943H6.58566H6.58517ZM12.7201 13.1483H17.0497C17.0497 13.491 17.1116 13.7277 17.2353 13.8588C17.3695 13.9899 17.56 14.0552 17.8078 14.0552C18.2306 14.0552 18.4423 13.8185 18.4423 13.3448C18.4423 13.113 18.3699 12.947 18.2256 12.8459C18.0914 12.7452 17.8852 12.6947 17.6068 12.6947H15.2239V10.9419L18.8907 10.0503H12.7201C12.5479 10.0503 12.4081 9.91387 12.4081 9.74566V5.4545C12.4081 5.31403 12.5249 5.19995 12.6688 5.19995H22.8196C23.3606 5.19995 23.7989 5.62808 23.7989 6.15643V9.58595C23.7989 9.97337 23.5263 10.3102 23.1407 10.4002L19.123 11.3352L19.3085 11.3656H23.143C23.6161 11.3656 24 11.7405 24 12.2026V17.8435C24 18.3718 23.5616 18.8 23.0207 18.8H12.6688C12.5249 18.8 12.4081 18.6859 12.4081 18.5454V13.453C12.4081 13.2848 12.5479 13.1483 12.7201 13.1483Z\"\n          fill=\"#3368EF\"\n        />\n      </g>\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5457_9830\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n      <clipPath id=\"clip1_5457_9830\">\n        <rect\n          width=\"24\"\n          height=\"13.6\"\n          fill=\"white\"\n          transform=\"translate(0 5.19995)\"\n        />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 25 25\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5457_9796)\">\n      <path\n        d=\"M12.25 0.758057C5.62704 0.758057 0.25 6.1351 0.25 12.758C0.25 19.381 5.62704 24.758 12.25 24.758C18.8729 24.758 24.25 19.381 24.25 12.758C24.2664 6.1351 18.8893 0.758057 12.25 0.758057ZM17.5287 14.2826H14.1352V15.5613C14.1352 18.1351 12.0533 20.217 9.47949 20.217C6.90573 20.217 4.82376 18.1351 4.82376 15.5613C4.82376 12.9875 6.90573 10.9056 9.47949 10.9056H10.7418V14.299H14.1352V10.8892H17.5287V14.2826ZM19.2172 9.18427H15.3975C14.6926 9.18427 14.1352 9.75804 14.1188 10.463V10.8892H10.7418V10.463C10.7418 7.88919 12.8238 5.80723 15.3975 5.80723H19.2172V9.18427Z\"\n        fill=\"#11181C\"\n      />\n      <path\n        d=\"M9.46301 14.2827C8.7581 14.2827 8.18433 14.8565 8.18433 15.5614C8.18433 16.2663 8.7581 16.8401 9.46301 16.8401C10.1679 16.8401 10.7417 16.2663 10.7417 15.5614V14.2827H9.46301C9.46301 14.2663 9.46301 14.2663 9.46301 14.2827Z\"\n        fill=\"#151718\"\n      />\n      <path\n        d=\"M17.2787 10.8892H13.8853V14.2826H17.2787V10.8892Z\"\n        fill=\"white\"\n      />\n      <path\n        d=\"M10.4918 15.5449C10.4918 16.2498 9.91799 16.8236 9.21308 16.8236C8.50816 16.8236 7.93439 16.2498 7.93439 15.5449C7.93439 14.84 8.50816 14.2662 9.21308 14.2662H10.4918V10.8892H9.22947C6.6557 10.8892 4.57373 12.9711 4.57373 15.5449C4.57373 18.1187 6.6557 20.2006 9.22947 20.2006C11.8032 20.2006 13.8852 18.1187 13.8852 15.5449V14.2662H10.4918V15.5449Z\"\n        fill=\"white\"\n      />\n      <path\n        d=\"M15.1474 9.1843H18.9671V5.80725H15.1474C12.5737 5.80725 10.4917 7.88922 10.4917 10.463V10.8892H13.8851V10.463C13.8851 9.75807 14.4589 9.1843 15.1474 9.1843Z\"\n        fill=\"white\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5457_9796\">\n        <rect\n          width=\"24\"\n          height=\"24\"\n          fill=\"white\"\n          transform=\"translate(0.25 0.758057)\"\n        />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 25 25\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5457_9804)\">\n      <path\n        d=\"M12.5 0.758057C5.87704 0.758057 0.5 6.1351 0.5 12.758C0.5 19.381 5.87704 24.758 12.5 24.758C19.1229 24.758 24.5 19.381 24.5 12.758C24.5164 6.1351 19.1393 0.758057 12.5 0.758057ZM17.7787 14.2826H14.3852V15.5613C14.3852 18.1351 12.3033 20.217 9.72949 20.217C7.15573 20.217 5.07376 18.1351 5.07376 15.5613C5.07376 12.9875 7.15573 10.9056 9.72949 10.9056H10.9918V14.299H14.3852V10.8892H17.7787V14.2826ZM19.4672 9.18427H15.6475C14.9426 9.18427 14.3852 9.75804 14.3688 10.463V10.8892H10.9918V10.463C10.9918 7.88919 13.0738 5.80723 15.6475 5.80723H19.4672V9.18427Z\"\n        fill=\"#FBFCFD\"\n      />\n      <path\n        d=\"M9.71301 14.2827C9.0081 14.2827 8.43433 14.8565 8.43433 15.5614C8.43433 16.2663 9.0081 16.8401 9.71301 16.8401C10.4179 16.8401 10.9917 16.2663 10.9917 15.5614V14.2827H9.71301C9.71301 14.2663 9.71301 14.2663 9.71301 14.2827Z\"\n        fill=\"#FBFCFD\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5457_9804\">\n        <rect\n          width=\"24\"\n          height=\"24\"\n          fill=\"white\"\n          transform=\"translate(0.5 0.758057)\"\n        />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 25\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5457_9788)\">\n      <path\n        d=\"M12 24.7581C18.6274 24.7581 24 19.3855 24 12.7581C24 6.13064 18.6274 0.758057 12 0.758057C5.37258 0.758057 0 6.13064 0 12.7581C0 19.3855 5.37258 24.7581 12 24.7581Z\"\n        fill=\"#00EF8B\"\n      />\n      <path\n        d=\"M17.2787 10.8892H13.8853V14.2826H17.2787V10.8892Z\"\n        fill=\"white\"\n      />\n      <path\n        d=\"M10.4918 15.5449C10.4918 16.2498 9.91799 16.8236 9.21308 16.8236C8.50816 16.8236 7.93439 16.2498 7.93439 15.5449C7.93439 14.84 8.50816 14.2662 9.21308 14.2662H10.4918V10.8892H9.22947C6.6557 10.8892 4.57373 12.9711 4.57373 15.5449C4.57373 18.1187 6.6557 20.2006 9.22947 20.2006C11.8032 20.2006 13.8852 18.1187 13.8852 15.5449V14.2662H10.4918V15.5449Z\"\n        fill=\"white\"\n      />\n      <path\n        d=\"M15.1474 9.1843H18.9671V5.80725H15.1474C12.5737 5.80725 10.4917 7.88922 10.4917 10.463V10.8892H13.8851V10.463C13.8851 9.75807 14.4589 9.1843 15.1474 9.1843Z\"\n        fill=\"white\"\n      />\n      <path\n        d=\"M10.4917 14.2662H13.8851V10.8892H10.4917V14.2662Z\"\n        fill=\"#16FF99\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5457_9788\">\n        <rect\n          width=\"24\"\n          height=\"24\"\n          fill=\"white\"\n          transform=\"translate(0 0.758057)\"\n        />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5464_9795)\">\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M18.5016 11.6102L14.9097 13.6859V16.1585V17.8345L18.5016 15.7588V11.6102ZM8.39421 6.55083L11.986 8.62656L15.5778 6.55083L11.986 4.4751L8.39421 6.55083ZM5.47333 13.6831V15.7588L6.44697 16.3184L9.06517 17.8316V13.6831L5.47333 11.6102V13.6859V13.6831ZM3.52609 16.8809V19.1308L2.55245 18.5683L1.57886 18.0058V11.9985V5.99122L11.986 -0.0161133L22.3932 5.99122V18.0087L17.1881 21.0123L14.9069 22.3286V20.0786L20.4459 16.8809V8.23825L12.9596 12.561C12.9596 13.7602 12.9596 14.9565 12.9596 16.1557V23.4535L11.986 24.016L11.0124 23.4535L6.781 21.0123L5.47333 20.2586V18.0087L11.0124 21.2065V12.5638L3.52609 8.24108V16.8837V16.8809ZM11.986 10.8736L4.49974 6.55083L11.986 2.22808L19.4723 6.55083L11.986 10.8736Z\"\n        fill=\"#151718\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5464_9795\">\n        <rect\n          width=\"24\"\n          height=\"24\"\n          fill=\"white\"\n          transform=\"translate(-0.000488281)\"\n        />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5464_9794)\">\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M18.502 11.6102L14.9102 13.6859V16.1585V17.8345L18.502 15.7588V11.6102ZM8.3947 6.55083L11.9865 8.62656L15.5783 6.55083L11.9865 4.4751L8.3947 6.55083ZM5.47382 13.6831V15.7588L6.44746 16.3184L9.06566 17.8316V13.6831L5.47382 11.6102V13.6859V13.6831ZM3.52658 16.8809V19.1308L2.55293 18.5683L1.57935 18.0058V11.9985V5.99122L11.9865 -0.0161133L22.3937 5.99122V18.0087L17.1886 21.0123L14.9074 22.3286V20.0786L20.4464 16.8809V8.23825L12.9601 12.561C12.9601 13.7602 12.9601 14.9565 12.9601 16.1557V23.4535L11.9865 24.016L11.0129 23.4535L6.78149 21.0123L5.47382 20.2586V18.0087L11.0129 21.2065V12.5638L3.52658 8.24108V16.8837V16.8809ZM11.9865 10.8736L4.50023 6.55083L11.9865 2.22808L19.4728 6.55083L11.9865 10.8736Z\"\n        fill=\"#FBFCFD\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5464_9794\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5464_9787)\">\n      <path\n        d=\"M24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24C18.6274 24 24 18.6274 24 12Z\"\n        fill=\"url(#paint0_linear_5464_9787)\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M16.2848 11.7589L13.9153 13.1282V14.7594V15.865L16.2848 14.4957V11.7589ZM9.61712 8.42126L11.9866 9.7906L14.3561 8.42126L11.9866 7.05193L9.61712 8.42126ZM7.69024 13.1263V14.4957L8.33255 14.8648L10.0597 15.8631V13.1263L7.69024 11.7589V13.1282V13.1263ZM6.40567 15.2359V16.7201L5.76336 16.3491L5.12109 15.978V12.015V8.05209L11.9866 4.08911L18.8521 8.05209V15.9799L15.4184 17.9614L13.9135 18.8297V17.3454L17.5675 15.2359V9.53444L12.6289 12.3861C12.6289 13.1772 12.6289 13.9664 12.6289 14.7575V19.5718L11.9866 19.9429L11.3443 19.5718L8.5529 17.9614L7.69024 17.4641V15.9799L11.3443 18.0894V12.388L6.40567 9.53631V15.2378V15.2359ZM11.9866 11.2729L7.04797 8.42126L11.9866 5.56958L16.9252 8.42126L11.9866 11.2729Z\"\n        fill=\"white\"\n      />\n    </g>\n    <defs>\n      <linearGradient\n        id=\"paint0_linear_5464_9787\"\n        x1=\"20.7134\"\n        y1=\"21.0955\"\n        x2=\"-13.8535\"\n        y2=\"-21.7643\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop stop-color=\"#8F00FF\" />\n        <stop offset=\"0.531658\" stop-color=\"#78A5EA\" />\n        <stop offset=\"1\" stop-color=\"#00FFC2\" />\n      </linearGradient>\n      <clipPath id=\"clip0_5464_9787\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 25 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5464_9765)\">\n      <path\n        d=\"M0.25 3.83374L5.11237 11.2616H11.4117L9.98094 9.07495H14.5216L9.10162 17.3571L12.25 22.1662L24.25 3.83374L0.25 3.83374Z\"\n        fill=\"#11181C\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5464_9765\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" transform=\"translate(0.25)\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 25 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5464_9767)\">\n      <path\n        d=\"M0.5 3.83374L5.36237 11.2616H11.6617L10.2309 9.07495H14.7716L9.35162 17.3571L12.5 22.1662L24.5 3.83374L0.5 3.83374Z\"\n        fill=\"#ECEDEE\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5464_9767\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" transform=\"translate(0.5)\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5464_9762)\">\n      <path\n        d=\"M0 3.83374L4.86237 11.2616H11.1617L9.73094 9.07495H14.2716L8.85162 17.3571L12 22.1662L24 3.83374L0 3.83374Z\"\n        fill=\"#FE2C2E\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5464_9762\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5466_9750)\">\n      <path\n        d=\"M24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24C18.6274 24 24 18.6274 24 12Z\"\n        fill=\"#151718\"\n      />\n      <path\n        d=\"M18.5781 5.422H5.42139V16.8768C5.42139 17.8164 6.1831 18.5781 7.12273 18.5781H9.033V9.03383H16.6877C17.7317 9.03383 18.5781 8.18748 18.5781 7.14345V5.422Z\"\n        fill=\"white\"\n      />\n      <path\n        d=\"M16.9981 9.8127H9.84239V17.4446C9.84239 18.0706 10.3512 18.5781 10.8622 18.5781H11.9957V12.0301H15.9699C16.5378 12.0301 16.9981 11.6552 16.9981 10.9596V9.8127Z\"\n        fill=\"#687076\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5466_9750\">\n        <rect\n          width=\"24\"\n          height=\"24\"\n          fill=\"white\"\n          transform=\"translate(-0.000488281)\"\n        />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5466_9747)\">\n      <path\n        d=\"M24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24C18.6274 24 24 18.6274 24 12Z\"\n        fill=\"#ECEDEE\"\n      />\n      <path\n        d=\"M18.5783 5.422H5.42163V16.8768C5.42163 17.8164 6.18335 18.5781 7.12297 18.5781H9.03325V9.03383H16.688C17.732 9.03383 18.5783 8.18748 18.5783 7.14345V5.422Z\"\n        fill=\"#697177\"\n      />\n      <path\n        d=\"M16.9983 9.8127H9.84264V17.4446C9.84264 18.0706 10.3514 18.5781 10.8625 18.5781H11.996V12.0301H15.9702C16.538 12.0301 16.9983 11.6552 16.9983 10.9596V9.8127Z\"\n        fill=\"#151718\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5466_9747\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5466_9753)\">\n      <path\n        d=\"M24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24C18.6274 24 24 18.6274 24 12Z\"\n        fill=\"black\"\n      />\n      <path\n        d=\"M18.5783 5.422H5.42163V16.8768C5.42163 17.8164 6.18335 18.5781 7.12297 18.5781H9.03325V9.03383H16.688C17.732 9.03383 18.5783 8.18748 18.5783 7.14345V5.422Z\"\n        fill=\"white\"\n      />\n      <path\n        d=\"M16.9983 9.8127H9.84264V17.4446C9.84264 18.0706 10.3514 18.5781 10.8625 18.5781H11.996V12.0301H15.9702C16.538 12.0301 16.9983 11.6552 16.9983 10.9596V9.8127Z\"\n        fill=\"#FF6B6B\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5466_9753\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5483_9785)\">\n      <g clip-path=\"url(#clip1_5483_9785)\">\n        <rect width=\"24\" height=\"24\" rx=\"12\" fill=\"#FBFCFD\" />\n        <path\n          d=\"M7.06215 11.6658L6.91785 13.4936H7.471L7.31468 11.6658L7.20645 10.1266H7.17038L7.06215 11.6658Z\"\n          fill=\"#11181C\"\n        />\n        <path\n          d=\"M12.0913 12.1829H12.4039C12.6444 12.1829 12.7406 11.9664 12.7406 11.5816V9.39305C12.7406 8.99623 12.6444 8.77977 12.4039 8.77977H12.0913V12.1829Z\"\n          fill=\"#11181C\"\n        />\n        <path\n          fill-rule=\"evenodd\"\n          clip-rule=\"evenodd\"\n          d=\"M-4.67174 0C-4.77335 0 -4.85571 0.0823656 -4.85571 0.183968V24.7277C-4.85571 24.8293 -4.77335 24.9116 -4.67175 24.9116H27.4999C27.6015 24.9116 27.6838 24.8293 27.6838 24.7277V0.183968C27.6838 0.0823653 27.6015 0 27.4999 0H-4.67174ZM6.40077 7.70954H8.06023L9.13046 16.6081H7.72353L7.5672 14.6721H6.82165L6.66532 16.6081H5.33054L6.40077 7.70954ZM12.0792 16.6081H10.6483V7.70954H12.5242C13.5463 7.70954 14.1716 8.3108 14.1716 9.39305V11.5816C14.1716 12.6518 13.5463 13.2531 12.5242 13.2531H12.0792V16.6081ZM15.82 7.70954V16.6081H18.6098V15.4296H17.2509V12.6999H18.4655V11.5215H17.2509V8.888H18.6098V7.70954H15.82Z\"\n          fill=\"#11181C\"\n        />\n      </g>\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5483_9785\">\n        <rect\n          width=\"24\"\n          height=\"24\"\n          fill=\"white\"\n          transform=\"translate(-0.000488281)\"\n        />\n      </clipPath>\n      <clipPath id=\"clip1_5483_9785\">\n        <rect width=\"24\" height=\"24\" rx=\"12\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5483_9745)\">\n      <g clip-path=\"url(#clip1_5483_9745)\">\n        <rect width=\"24\" height=\"24\" rx=\"12\" fill=\"#151718\" />\n        <path\n          d=\"M7.06215 11.6658L6.91785 13.4936H7.471L7.31468 11.6658L7.20645 10.1266H7.17038L7.06215 11.6658Z\"\n          fill=\"#ECEDEE\"\n        />\n        <path\n          d=\"M12.0913 12.1829H12.4039C12.6444 12.1829 12.7406 11.9664 12.7406 11.5816V9.39305C12.7406 8.99623 12.6444 8.77977 12.4039 8.77977H12.0913V12.1829Z\"\n          fill=\"#ECEDEE\"\n        />\n        <path\n          fill-rule=\"evenodd\"\n          clip-rule=\"evenodd\"\n          d=\"M-4.67174 0C-4.77335 0 -4.85571 0.0823656 -4.85571 0.183968V24.7277C-4.85571 24.8293 -4.77335 24.9116 -4.67175 24.9116H27.4999C27.6015 24.9116 27.6838 24.8293 27.6838 24.7277V0.183968C27.6838 0.0823653 27.6015 0 27.4999 0H-4.67174ZM6.40077 7.70954H8.06023L9.13046 16.6081H7.72353L7.5672 14.6721H6.82165L6.66532 16.6081H5.33054L6.40077 7.70954ZM12.0792 16.6081H10.6483V7.70954H12.5242C13.5463 7.70954 14.1716 8.3108 14.1716 9.39305V11.5816C14.1716 12.6518 13.5463 13.2531 12.5242 13.2531H12.0792V16.6081ZM15.82 7.70954V16.6081H18.6098V15.4296H17.2509V12.6999H18.4655V11.5215H17.2509V8.888H18.6098V7.70954H15.82Z\"\n          fill=\"#ECEDEE\"\n        />\n      </g>\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5483_9745\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n      <clipPath id=\"clip1_5483_9745\">\n        <rect width=\"24\" height=\"24\" rx=\"12\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5483_9822)\">\n      <g clip-path=\"url(#clip1_5483_9822)\">\n        <rect width=\"24\" height=\"24\" rx=\"12\" fill=\"#0054FA\" />\n        <path\n          d=\"M7.06215 11.6658L6.91785 13.4936H7.471L7.31468 11.6658L7.20645 10.1266H7.17038L7.06215 11.6658Z\"\n          fill=\"white\"\n        />\n        <path\n          d=\"M12.0913 12.1829H12.4039C12.6444 12.1829 12.7406 11.9664 12.7406 11.5816V9.39305C12.7406 8.99623 12.6444 8.77977 12.4039 8.77977H12.0913V12.1829Z\"\n          fill=\"white\"\n        />\n        <path\n          fill-rule=\"evenodd\"\n          clip-rule=\"evenodd\"\n          d=\"M-4.67174 0C-4.77335 0 -4.85571 0.0823656 -4.85571 0.183968V24.7277C-4.85571 24.8293 -4.77335 24.9116 -4.67175 24.9116H27.4999C27.6015 24.9116 27.6838 24.8293 27.6838 24.7277V0.183968C27.6838 0.0823653 27.6015 0 27.4999 0H-4.67174ZM6.40077 7.70954H8.06023L9.13046 16.6081H7.72353L7.5672 14.6721H6.82165L6.66532 16.6081H5.33054L6.40077 7.70954ZM12.0792 16.6081H10.6483V7.70954H12.5242C13.5463 7.70954 14.1716 8.3108 14.1716 9.39305V11.5816C14.1716 12.6518 13.5463 13.2531 12.5242 13.2531H12.0792V16.6081ZM15.82 7.70954V16.6081H18.6098V15.4296H17.2509V12.6999H18.4655V11.5215H17.2509V8.888H18.6098V7.70954H15.82Z\"\n          fill=\"white\"\n        />\n      </g>\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5483_9822\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n      <clipPath id=\"clip1_5483_9822\">\n        <rect width=\"24\" height=\"24\" rx=\"12\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5484_9754)\">\n      <path\n        d=\"M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24Z\"\n        fill=\"black\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5484_9754\">\n        <rect\n          width=\"24\"\n          height=\"24\"\n          fill=\"white\"\n          transform=\"translate(-0.000488281)\"\n        />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5484_9745)\">\n      <path\n        d=\"M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24Z\"\n        fill=\"#ECEDEE\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5484_9745\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5484_9760)\">\n      <path\n        d=\"M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24Z\"\n        fill=\"black\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5484_9760\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5486_2301)\">\n      <rect\n        width=\"24\"\n        height=\"24\"\n        rx=\"4\"\n        transform=\"matrix(-1 0 0 1 24.0005 0)\"\n        fill=\"#11181C\"\n      />\n      <g filter=\"url(#filter0_d_5486_2301)\">\n        <path\n          d=\"M14.3068 14.2056L17.2284 17.0475L15.8579 18.3809L12.9358 15.5396C12.685 15.2955 12.3554 15.1628 11.9997 15.1628C11.6441 15.1628 11.3134 15.2955 11.0632 15.5396L8.14107 18.3809L6.77001 17.0475L9.6921 14.2056H14.3068Z\"\n          fill=\"white\"\n        />\n        <path\n          d=\"M18.7842 14.4248L14.794 13.3864L14.7919 13.3843L12.4848 9.49926L13.5529 5.61902L15.4271 6.1061L14.359 9.98688C14.3133 10.1501 14.3014 10.3209 14.3241 10.4888C14.3468 10.6568 14.4036 10.8184 14.4911 10.9637C14.5789 11.1114 14.6952 11.2404 14.8331 11.3433C14.9711 11.4462 15.1281 11.521 15.2951 11.5633L19.2853 12.6022L18.7842 14.4248Z\"\n          fill=\"white\"\n        />\n        <path\n          d=\"M9.20704 13.3864L5.21686 14.4248L4.71582 12.6022L8.706 11.5633C8.87305 11.5209 9.03006 11.4461 9.16803 11.3431C9.30599 11.2401 9.42221 11.111 9.51 10.9632C9.59747 10.8178 9.65429 10.6563 9.67699 10.4883C9.6997 10.3204 9.68781 10.1496 9.64205 9.98635L8.57449 6.1061L10.4487 5.61902L11.5168 9.49926L9.2097 13.3843L9.20704 13.3864Z\"\n          fill=\"white\"\n        />\n      </g>\n    </g>\n    <defs>\n      <filter\n        id=\"filter0_d_5486_2301\"\n        x=\"-18.9775\"\n        y=\"-13.3356\"\n        width=\"61.956\"\n        height=\"60.1485\"\n        filterUnits=\"userSpaceOnUse\"\n        color-interpolation-filters=\"sRGB\"\n      >\n        <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\n        <feColorMatrix\n          in=\"SourceAlpha\"\n          type=\"matrix\"\n          values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n          result=\"hardAlpha\"\n        />\n        <feOffset dy=\"4.73867\" />\n        <feGaussianBlur stdDeviation=\"11.8467\" />\n        <feComposite in2=\"hardAlpha\" operator=\"out\" />\n        <feColorMatrix\n          type=\"matrix\"\n          values=\"0 0 0 0 0.2125 0 0 0 0 0.06375 0 0 0 0 0 0 0 0 0.2 0\"\n        />\n        <feBlend\n          mode=\"normal\"\n          in2=\"BackgroundImageFix\"\n          result=\"effect1_dropShadow_5486_2301\"\n        />\n        <feBlend\n          mode=\"normal\"\n          in=\"SourceGraphic\"\n          in2=\"effect1_dropShadow_5486_2301\"\n          result=\"shape\"\n        />\n      </filter>\n      <clipPath id=\"clip0_5486_2301\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5486_2299)\">\n      <rect\n        width=\"24\"\n        height=\"24\"\n        rx=\"4\"\n        transform=\"matrix(-1 0 0 1 24 0)\"\n        fill=\"#FDFEFF\"\n        fill-opacity=\"0.927\"\n      />\n      <g filter=\"url(#filter0_d_5486_2299)\">\n        <path\n          d=\"M14.2982 14.1979L17.2094 17.0297L15.8437 18.3583L12.932 15.5271C12.6821 15.2839 12.3537 15.1517 11.9993 15.1517C11.6449 15.1517 11.3154 15.2839 11.066 15.5271L8.15431 18.3583L6.78812 17.0297L9.69984 14.1979H14.2982Z\"\n          fill=\"#12181C\"\n        />\n        <path\n          d=\"M18.7597 14.4162L14.7837 13.3815L14.7816 13.3794L12.4826 9.5082L13.5469 5.64172L15.4145 6.12708L14.3502 9.99409C14.3046 10.1567 14.2928 10.3269 14.3154 10.4943C14.338 10.6616 14.3946 10.8226 14.4818 10.9674C14.5693 11.1146 14.6851 11.2432 14.8226 11.3457C14.9601 11.4482 15.1165 11.5227 15.2829 11.5649L19.259 12.6001L18.7597 14.4162Z\"\n          fill=\"#12181C\"\n        />\n        <path\n          d=\"M9.2165 13.3815L5.24047 14.4162L4.74121 12.6001L8.71724 11.5649C8.88369 11.5227 9.04014 11.4481 9.17762 11.3455C9.3151 11.2429 9.4309 11.1142 9.51838 10.9669C9.60554 10.8221 9.66216 10.6611 9.68478 10.4937C9.70741 10.3264 9.69556 10.1562 9.64996 9.99356L8.58619 6.12708L10.4538 5.64172L11.5181 9.5082L9.21915 13.3794L9.2165 13.3815Z\"\n          fill=\"#12181C\"\n        />\n      </g>\n    </g>\n    <defs>\n      <filter\n        id=\"filter0_d_5486_2299\"\n        x=\"-18.9521\"\n        y=\"-13.3129\"\n        width=\"61.9045\"\n        height=\"60.1032\"\n        filterUnits=\"userSpaceOnUse\"\n        color-interpolation-filters=\"sRGB\"\n      >\n        <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\n        <feColorMatrix\n          in=\"SourceAlpha\"\n          type=\"matrix\"\n          values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n          result=\"hardAlpha\"\n        />\n        <feOffset dy=\"4.73867\" />\n        <feGaussianBlur stdDeviation=\"11.8467\" />\n        <feComposite in2=\"hardAlpha\" operator=\"out\" />\n        <feColorMatrix\n          type=\"matrix\"\n          values=\"0 0 0 0 0.2125 0 0 0 0 0.06375 0 0 0 0 0 0 0 0 0.2 0\"\n        />\n        <feBlend\n          mode=\"normal\"\n          in2=\"BackgroundImageFix\"\n          result=\"effect1_dropShadow_5486_2299\"\n        />\n        <feBlend\n          mode=\"normal\"\n          in=\"SourceGraphic\"\n          in2=\"effect1_dropShadow_5486_2299\"\n          result=\"shape\"\n        />\n      </filter>\n      <clipPath id=\"clip0_5486_2299\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5486_2303)\">\n      <rect\n        width=\"24\"\n        height=\"24\"\n        rx=\"4\"\n        transform=\"matrix(-1 0 0 1 24.0005 0)\"\n        fill=\"url(#paint0_linear_5486_2303)\"\n      />\n      <g filter=\"url(#filter0_d_5486_2303)\">\n        <path\n          d=\"M14.3068 14.2056L17.2284 17.0475L15.8579 18.3809L12.9358 15.5396C12.685 15.2955 12.3554 15.1628 11.9997 15.1628C11.6441 15.1628 11.3134 15.2955 11.0632 15.5396L8.14107 18.3809L6.77001 17.0475L9.6921 14.2056H14.3068Z\"\n          fill=\"url(#paint1_linear_5486_2303)\"\n        />\n        <path\n          d=\"M18.7842 14.4248L14.794 13.3864L14.7919 13.3843L12.4848 9.49926L13.5529 5.61902L15.4271 6.1061L14.359 9.98688C14.3133 10.1501 14.3014 10.3209 14.3241 10.4888C14.3468 10.6568 14.4036 10.8184 14.4911 10.9637C14.5789 11.1114 14.6952 11.2404 14.8331 11.3433C14.9711 11.4462 15.1281 11.521 15.2951 11.5633L19.2853 12.6022L18.7842 14.4248Z\"\n          fill=\"url(#paint2_linear_5486_2303)\"\n        />\n        <path\n          d=\"M9.20704 13.3864L5.21686 14.4248L4.71582 12.6022L8.706 11.5633C8.87305 11.5209 9.03006 11.4461 9.16803 11.3431C9.30599 11.2401 9.42221 11.111 9.51 10.9632C9.59747 10.8178 9.65429 10.6563 9.67699 10.4883C9.6997 10.3204 9.68781 10.1496 9.64205 9.98635L8.57449 6.1061L10.4487 5.61902L11.5168 9.49926L9.2097 13.3843L9.20704 13.3864Z\"\n          fill=\"url(#paint3_linear_5486_2303)\"\n        />\n      </g>\n    </g>\n    <defs>\n      <filter\n        id=\"filter0_d_5486_2303\"\n        x=\"-18.9775\"\n        y=\"-13.3356\"\n        width=\"61.956\"\n        height=\"60.1485\"\n        filterUnits=\"userSpaceOnUse\"\n        color-interpolation-filters=\"sRGB\"\n      >\n        <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\n        <feColorMatrix\n          in=\"SourceAlpha\"\n          type=\"matrix\"\n          values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n          result=\"hardAlpha\"\n        />\n        <feOffset dy=\"4.73867\" />\n        <feGaussianBlur stdDeviation=\"11.8467\" />\n        <feComposite in2=\"hardAlpha\" operator=\"out\" />\n        <feColorMatrix\n          type=\"matrix\"\n          values=\"0 0 0 0 0.2125 0 0 0 0 0.06375 0 0 0 0 0 0 0 0 0.2 0\"\n        />\n        <feBlend\n          mode=\"normal\"\n          in2=\"BackgroundImageFix\"\n          result=\"effect1_dropShadow_5486_2303\"\n        />\n        <feBlend\n          mode=\"normal\"\n          in=\"SourceGraphic\"\n          in2=\"effect1_dropShadow_5486_2303\"\n          result=\"shape\"\n        />\n      </filter>\n      <linearGradient\n        id=\"paint0_linear_5486_2303\"\n        x1=\"12\"\n        y1=\"0\"\n        x2=\"12\"\n        y2=\"24\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop stop-color=\"#16D379\" />\n        <stop offset=\"1\" stop-color=\"#01CA6A\" />\n      </linearGradient>\n      <linearGradient\n        id=\"paint1_linear_5486_2303\"\n        x1=\"12.0005\"\n        y1=\"5.61902\"\n        x2=\"12.0005\"\n        y2=\"18.3809\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop stop-color=\"white\" />\n        <stop offset=\"1\" stop-color=\"#D5D7D3\" />\n      </linearGradient>\n      <linearGradient\n        id=\"paint2_linear_5486_2303\"\n        x1=\"12.0005\"\n        y1=\"5.61902\"\n        x2=\"12.0005\"\n        y2=\"18.3809\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop stop-color=\"white\" />\n        <stop offset=\"1\" stop-color=\"#D5D7D3\" />\n      </linearGradient>\n      <linearGradient\n        id=\"paint3_linear_5486_2303\"\n        x1=\"12.0005\"\n        y1=\"5.61902\"\n        x2=\"12.0005\"\n        y2=\"18.3809\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop stop-color=\"white\" />\n        <stop offset=\"1\" stop-color=\"#D5D7D3\" />\n      </linearGradient>\n      <clipPath id=\"clip0_5486_2303\">\n        <rect width=\"24\" height=\"24\" rx=\"4\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5486_2331)\">\n      <rect\n        width=\"24\"\n        height=\"24\"\n        rx=\"4\"\n        transform=\"matrix(-1 0 0 1 24.0005 0)\"\n        fill=\"#11181C\"\n      />\n      <g filter=\"url(#filter0_d_5486_2331)\">\n        <path\n          d=\"M13.597 7.30273H16.6972V10.4342V13.5657V16.6972H13.597H13.5657H12.8141V13.5658H11.217V16.6972H10.4342H7.30273V13.5658V10.4342V7.30273H10.4341H11.217V10.4342H12.8141V7.30273H13.5657H13.597Z\"\n          fill=\"#EEEDEE\"\n        />\n      </g>\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M4.08423 4.08423H19.9158V10.3679H18.3011V5.69892H5.69892V18.3011H18.3011V13.5904H19.9158V19.9158H4.08423V4.08423Z\"\n        fill=\"#EEEDEE\"\n      />\n    </g>\n    <defs>\n      <filter\n        id=\"filter0_d_5486_2331\"\n        x=\"-16.3906\"\n        y=\"-11.6519\"\n        width=\"56.7812\"\n        height=\"56.7811\"\n        filterUnits=\"userSpaceOnUse\"\n        color-interpolation-filters=\"sRGB\"\n      >\n        <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\n        <feColorMatrix\n          in=\"SourceAlpha\"\n          type=\"matrix\"\n          values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n          result=\"hardAlpha\"\n        />\n        <feOffset dy=\"4.73867\" />\n        <feGaussianBlur stdDeviation=\"11.8467\" />\n        <feComposite in2=\"hardAlpha\" operator=\"out\" />\n        <feColorMatrix\n          type=\"matrix\"\n          values=\"0 0 0 0 0.2125 0 0 0 0 0.06375 0 0 0 0 0 0 0 0 0.2 0\"\n        />\n        <feBlend\n          mode=\"normal\"\n          in2=\"BackgroundImageFix\"\n          result=\"effect1_dropShadow_5486_2331\"\n        />\n        <feBlend\n          mode=\"normal\"\n          in=\"SourceGraphic\"\n          in2=\"effect1_dropShadow_5486_2331\"\n          result=\"shape\"\n        />\n      </filter>\n      <clipPath id=\"clip0_5486_2331\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5486_2328)\">\n      <rect\n        width=\"24\"\n        height=\"24\"\n        rx=\"4\"\n        transform=\"matrix(-1 0 0 1 24 0)\"\n        fill=\"#FDFEFF\"\n        fill-opacity=\"0.927\"\n      />\n      <g filter=\"url(#filter0_d_5486_2328)\">\n        <path\n          d=\"M13.597 7.30273H16.6972V10.4342V13.5657V16.6972H13.597H13.5657H12.8141V13.5658H11.217V16.6972H10.4342H7.30273V13.5658V10.4342V7.30273H10.4341H11.217V10.4342H12.8141V7.30273H13.5657H13.597Z\"\n          fill=\"#12181C\"\n        />\n      </g>\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M4.08423 4.08423H19.9158V10.3679H18.3011V5.69892H5.69892V18.3011H18.3011V13.5904H19.9158V19.9158H4.08423V4.08423Z\"\n        fill=\"#12181C\"\n      />\n    </g>\n    <defs>\n      <filter\n        id=\"filter0_d_5486_2328\"\n        x=\"-16.3906\"\n        y=\"-11.6519\"\n        width=\"56.7812\"\n        height=\"56.7811\"\n        filterUnits=\"userSpaceOnUse\"\n        color-interpolation-filters=\"sRGB\"\n      >\n        <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\n        <feColorMatrix\n          in=\"SourceAlpha\"\n          type=\"matrix\"\n          values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n          result=\"hardAlpha\"\n        />\n        <feOffset dy=\"4.73867\" />\n        <feGaussianBlur stdDeviation=\"11.8467\" />\n        <feComposite in2=\"hardAlpha\" operator=\"out\" />\n        <feColorMatrix\n          type=\"matrix\"\n          values=\"0 0 0 0 0.2125 0 0 0 0 0.06375 0 0 0 0 0 0 0 0 0.2 0\"\n        />\n        <feBlend\n          mode=\"normal\"\n          in2=\"BackgroundImageFix\"\n          result=\"effect1_dropShadow_5486_2328\"\n        />\n        <feBlend\n          mode=\"normal\"\n          in=\"SourceGraphic\"\n          in2=\"effect1_dropShadow_5486_2328\"\n          result=\"shape\"\n        />\n      </filter>\n      <clipPath id=\"clip0_5486_2328\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5486_2334)\">\n      <rect\n        width=\"24\"\n        height=\"24\"\n        rx=\"4\"\n        transform=\"matrix(-1 0 0 1 24.0005 0)\"\n        fill=\"url(#paint0_linear_5486_2334)\"\n      />\n      <g filter=\"url(#filter0_d_5486_2334)\">\n        <path\n          d=\"M13.5974 7.30273H16.6977V10.4342V13.5657V16.6972H13.5974H13.5662H12.8146V13.5658H11.2175V16.6972H10.4347H7.30322V13.5658V10.4342V7.30273H10.4346H11.2175V10.4342H12.8146V7.30273H13.5662H13.5974Z\"\n          fill=\"black\"\n        />\n      </g>\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M4.08472 4.08423H19.9163V10.3679H18.3016V5.69892H5.69941V18.3011H18.3016V13.5904H19.9163V19.9158H4.08472V4.08423Z\"\n        fill=\"black\"\n      />\n    </g>\n    <defs>\n      <filter\n        id=\"filter0_d_5486_2334\"\n        x=\"-16.3901\"\n        y=\"-11.6519\"\n        width=\"56.7812\"\n        height=\"56.7811\"\n        filterUnits=\"userSpaceOnUse\"\n        color-interpolation-filters=\"sRGB\"\n      >\n        <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\n        <feColorMatrix\n          in=\"SourceAlpha\"\n          type=\"matrix\"\n          values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n          result=\"hardAlpha\"\n        />\n        <feOffset dy=\"4.73867\" />\n        <feGaussianBlur stdDeviation=\"11.8467\" />\n        <feComposite in2=\"hardAlpha\" operator=\"out\" />\n        <feColorMatrix\n          type=\"matrix\"\n          values=\"0 0 0 0 0.2125 0 0 0 0 0.06375 0 0 0 0 0 0 0 0 0.2 0\"\n        />\n        <feBlend\n          mode=\"normal\"\n          in2=\"BackgroundImageFix\"\n          result=\"effect1_dropShadow_5486_2334\"\n        />\n        <feBlend\n          mode=\"normal\"\n          in=\"SourceGraphic\"\n          in2=\"effect1_dropShadow_5486_2334\"\n          result=\"shape\"\n        />\n      </filter>\n      <linearGradient\n        id=\"paint0_linear_5486_2334\"\n        x1=\"22.5462\"\n        y1=\"1.45378\"\n        x2=\"1.28044\"\n        y2=\"22.7196\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop stop-color=\"#FEB169\" />\n        <stop offset=\"0.397256\" stop-color=\"#F87ADD\" />\n        <stop offset=\"0.655673\" stop-color=\"#E667F9\" />\n        <stop offset=\"1\" stop-color=\"#7F4AD1\" />\n      </linearGradient>\n      <clipPath id=\"clip0_5486_2334\">\n        <rect width=\"24\" height=\"24\" rx=\"4\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5499_9763)\">\n      <mask\n        id=\"mask0_5499_9763\"\n        style={{ maskType: 'luminance' }}\n        maskUnits=\"userSpaceOnUse\"\n        x=\"0\"\n        y=\"0\"\n        width=\"24\"\n        height=\"24\"\n      >\n        <path d=\"M24 0H0V24H24V0Z\" fill=\"white\" />\n      </mask>\n      <g mask=\"url(#mask0_5499_9763)\">\n        <path\n          d=\"M12 24C5.37277 24 0 18.6273 0 12C0 5.37277 5.37277 0 12 0C18.6273 0 24 5.37277 24 12C24 18.6273 18.6285 24 12 24Z\"\n          fill=\"#11181C\"\n        />\n        <path\n          d=\"M12.0547 5.5636C7.87252 5.5636 6.21826 8.11944 6.21826 11.8828C6.21826 15.6461 7.87252 18.3272 12.0547 18.3272C16.237 18.3272 17.891 15.6459 17.891 11.8828C17.891 8.11963 16.237 5.5636 12.0547 5.5636ZM12.0553 16.2649C10.1478 16.2649 9.15982 15.1455 8.86162 13.2615C8.83916 13.1195 8.94779 12.9904 9.09108 12.9904H14.99C15.1328 12.9904 15.2414 13.1187 15.2198 13.2605C14.9297 15.1451 13.9634 16.2649 12.0555 16.2649H12.0553ZM9.0663 10.9475C8.92513 10.9475 8.81728 10.822 8.83626 10.6813C9.10077 8.72201 10.0901 7.62602 12.0553 7.62602C14.0206 7.62602 14.9872 8.7224 15.2439 10.6823C15.2623 10.8226 15.1547 10.9475 15.0137 10.9475H9.0663Z\"\n          fill=\"white\"\n        />\n      </g>\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5499_9763\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5499_9759)\">\n      <mask\n        id=\"mask0_5499_9759\"\n        style={{ maskType: 'luminance' }}\n        maskUnits=\"userSpaceOnUse\"\n        x=\"0\"\n        y=\"0\"\n        width=\"24\"\n        height=\"24\"\n      >\n        <path d=\"M24 0H0V24H24V0Z\" fill=\"white\" />\n      </mask>\n      <g mask=\"url(#mask0_5499_9759)\">\n        <path\n          d=\"M12 24C5.37277 24 0 18.6273 0 12C0 5.37278 5.37277 0 12 0C18.6273 0 24 5.37278 24 12C24 18.6273 18.6285 24 12 24Z\"\n          fill=\"#FDFEFF\"\n          fill-opacity=\"0.927\"\n        />\n        <path\n          d=\"M12.0547 5.5636C7.87252 5.5636 6.21826 8.11944 6.21826 11.8828C6.21826 15.6461 7.87252 18.3272 12.0547 18.3272C16.237 18.3272 17.891 15.6459 17.891 11.8828C17.891 8.11963 16.237 5.5636 12.0547 5.5636ZM12.0553 16.2649C10.1478 16.2649 9.15982 15.1455 8.86162 13.2615C8.83916 13.1195 8.94779 12.9904 9.09108 12.9904H14.99C15.1328 12.9904 15.2414 13.1187 15.2198 13.2605C14.9297 15.1451 13.9634 16.2649 12.0555 16.2649H12.0553ZM9.0663 10.9475C8.92513 10.9475 8.81728 10.822 8.83626 10.6813C9.10077 8.72201 10.0901 7.62602 12.0553 7.62602C14.0206 7.62602 14.9872 8.7224 15.2439 10.6823C15.2623 10.8226 15.1547 10.9475 15.0137 10.9475H9.0663Z\"\n          fill=\"#151718\"\n        />\n      </g>\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5499_9759\">\n        <rect width=\"24\" height=\"24\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5499_9767)\">\n      <mask\n        id=\"mask0_5499_9767\"\n        style={{ maskType: 'luminance' }}\n        maskUnits=\"userSpaceOnUse\"\n        x=\"0\"\n        y=\"0\"\n        width=\"24\"\n        height=\"24\"\n      >\n        <path d=\"M24 0H0V24H24V0Z\" fill=\"white\" />\n      </mask>\n      <g mask=\"url(#mask0_5499_9767)\">\n        <path\n          d=\"M12 24C5.37277 24 0 18.6273 0 12C0 5.37277 5.37277 0 12 0C18.6273 0 24 5.37277 24 12C24 18.6273 18.6285 24 12 24Z\"\n          fill=\"#FE5161\"\n        />\n        <path\n          d=\"M12.0547 5.5636C7.87252 5.5636 6.21826 8.11944 6.21826 11.8828C6.21826 15.6461 7.87252 18.3272 12.0547 18.3272C16.237 18.3272 17.891 15.6459 17.891 11.8828C17.891 8.11963 16.237 5.5636 12.0547 5.5636ZM12.0553 16.2649C10.1478 16.2649 9.15982 15.1455 8.86162 13.2615C8.83916 13.1195 8.94779 12.9904 9.09108 12.9904H14.99C15.1328 12.9904 15.2414 13.1187 15.2198 13.2605C14.9297 15.1451 13.9634 16.2649 12.0555 16.2649H12.0553ZM9.0663 10.9475C8.92513 10.9475 8.81728 10.822 8.83626 10.6813C9.10077 8.72201 10.0901 7.62602 12.0553 7.62602C14.0206 7.62602 14.9872 8.7224 15.2439 10.6823C15.2623 10.8226 15.1547 10.9475 15.0137 10.9475H9.0663Z\"\n          fill=\"white\"\n        />\n      </g>\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5499_9767\">\n        <rect width=\"24\" height=\"24\" rx=\"4\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 25\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5515_15115)\">\n      <mask\n        id=\"mask0_5515_15115\"\n        style={{ maskType: 'luminance' }}\n        maskUnits=\"userSpaceOnUse\"\n        x=\"0\"\n        y=\"0\"\n        width=\"24\"\n        height=\"25\"\n      >\n        <path d=\"M24 0.607666H0V24.6077H24V0.607666Z\" fill=\"white\" />\n      </mask>\n      <g mask=\"url(#mask0_5515_15115)\">\n        <path\n          d=\"M12 24.6077C5.37277 24.6077 0 19.2349 0 12.6077C0 5.98044 5.37277 0.607666 12 0.607666C18.6273 0.607666 24 5.98044 24 12.6077C24 19.2349 18.6285 24.6077 12 24.6077Z\"\n          fill=\"#11181C\"\n        />\n      </g>\n      <path\n        d=\"M5.25391 18.7681V14.6769L13.4835 6.44727H18.7463V18.7681H13.4835V14.4312L9.14667 18.7681H5.25391Z\"\n        fill=\"#FFFDFD\"\n      />\n      <path\n        d=\"M5.25391 10.7558V6.44727H12.0946L7.7861 10.7558H5.25391Z\"\n        fill=\"#889096\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5515_15115\">\n        <rect\n          width=\"24\"\n          height=\"24\"\n          fill=\"white\"\n          transform=\"translate(0 0.607666)\"\n        />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 25\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5515_15108)\">\n      <mask\n        id=\"mask0_5515_15108\"\n        style={{ maskType: 'luminance' }}\n        maskUnits=\"userSpaceOnUse\"\n        x=\"0\"\n        y=\"0\"\n        width=\"24\"\n        height=\"25\"\n      >\n        <path d=\"M24 0.607666H0V24.6077H24V0.607666Z\" fill=\"white\" />\n      </mask>\n      <g mask=\"url(#mask0_5515_15108)\">\n        <path\n          d=\"M12 24.6077C5.37277 24.6077 0 19.2349 0 12.6077C0 5.98045 5.37277 0.607666 12 0.607666C18.6273 0.607666 24 5.98045 24 12.6077C24 19.2349 18.6285 24.6077 12 24.6077Z\"\n          fill=\"#FDFEFF\"\n          fill-opacity=\"0.927\"\n        />\n        <path\n          d=\"M5.25391 18.7681V14.6769L13.4835 6.44727H18.7463V18.7681H13.4835V14.4312L9.14667 18.7681H5.25391Z\"\n          fill=\"#151718\"\n        />\n        <path\n          d=\"M5.25391 10.7558V6.44727H12.0946L7.7861 10.7558H5.25391Z\"\n          fill=\"#697177\"\n        />\n      </g>\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5515_15108\">\n        <rect\n          width=\"24\"\n          height=\"24\"\n          fill=\"white\"\n          transform=\"translate(0 0.607666)\"\n        />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 25\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5515_15122)\">\n      <mask\n        id=\"mask0_5515_15122\"\n        style={{ maskType: 'luminance' }}\n        maskUnits=\"userSpaceOnUse\"\n        x=\"0\"\n        y=\"0\"\n        width=\"24\"\n        height=\"25\"\n      >\n        <path d=\"M24 0.607666H0V24.6077H24V0.607666Z\" fill=\"white\" />\n      </mask>\n      <g mask=\"url(#mask0_5515_15122)\">\n        <path\n          d=\"M12 24.6077C5.37277 24.6077 0 19.2349 0 12.6077C0 5.98044 5.37277 0.607666 12 0.607666C18.6273 0.607666 24 5.98044 24 12.6077C24 19.2349 18.6285 24.6077 12 24.6077Z\"\n          fill=\"black\"\n        />\n        <path\n          d=\"M5.25391 18.7681V14.6769L13.4835 6.44727H18.7463V18.7681H13.4835V14.4312L9.14667 18.7681H5.25391Z\"\n          fill=\"#FFFDFD\"\n        />\n        <path\n          d=\"M5.25391 10.7558V6.44727H12.0946L7.7861 10.7558H5.25391Z\"\n          fill=\"#ED3E7D\"\n        />\n      </g>\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5515_15122\">\n        <rect y=\"0.607666\" width=\"24\" height=\"24\" rx=\"4\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5516_24344)\">\n      <path\n        d=\"M12.0936 0C8.73327 0 0.457275 8.27578 0.457275 11.6363C0.457275 14.9968 8.73327 23.2727 12.0936 23.2727C15.4539 23.2727 23.73 14.9967 23.73 11.6363C23.73 8.27593 15.454 0 12.0936 0ZM10.2803 18.2903C8.86323 17.9042 5.0535 11.24 5.43969 9.82298C5.82589 8.40589 12.49 4.59621 13.9069 4.9824C15.324 5.36853 19.1338 12.0327 18.7476 13.4497C18.3614 14.8668 11.6973 18.6765 10.2803 18.2903Z\"\n        fill=\"#11181C\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5516_24344\">\n        <rect width=\"24\" height=\"23.2727\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5516_24346)\">\n      <path\n        d=\"M12.0936 0C8.73327 0 0.457275 8.27578 0.457275 11.6363C0.457275 14.9968 8.73327 23.2727 12.0936 23.2727C15.4539 23.2727 23.73 14.9967 23.73 11.6363C23.73 8.27593 15.454 0 12.0936 0ZM10.2803 18.2903C8.86323 17.9042 5.0535 11.24 5.43969 9.82298C5.82589 8.40589 12.49 4.59621 13.9069 4.9824C15.324 5.36853 19.1338 12.0327 18.7476 13.4497C18.3614 14.8668 11.6973 18.6765 10.2803 18.2903Z\"\n        fill=\"#ECEDEE\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5516_24346\">\n        <rect width=\"24\" height=\"23.2727\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5516_24342)\">\n      <path\n        d=\"M12.0936 0C8.73327 0 0.457275 8.27578 0.457275 11.6363C0.457275 14.9968 8.73327 23.2727 12.0936 23.2727C15.4539 23.2727 23.73 14.9967 23.73 11.6363C23.73 8.27593 15.454 0 12.0936 0ZM10.2803 18.2903C8.86323 17.9042 5.0535 11.24 5.43969 9.82298C5.82589 8.40589 12.49 4.59621 13.9069 4.9824C15.324 5.36853 19.1338 12.0327 18.7476 13.4497C18.3614 14.8668 11.6973 18.6765 10.2803 18.2903Z\"\n        fill=\"#806FF1\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5516_24342\">\n        <rect width=\"24\" height=\"23.2727\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5528_29303)\">\n      <path d=\"M24 0H0V24H24V0Z\" fill=\"#11181C\" />\n      <path\n        d=\"M11.9999 23.9203C18.5833 23.9203 23.9202 18.5834 23.9202 12C23.9202 5.41662 18.5833 0.0797119 11.9999 0.0797119C5.4165 0.0797119 0.0795898 5.41662 0.0795898 12C0.0795898 18.5834 5.4165 23.9203 11.9999 23.9203Z\"\n        fill=\"#11181C\"\n      />\n      <path\n        d=\"M17.8312 12.5906L22.064 8.35779L11.9999 12.3797L1.93115 8.35779L6.16396 12.5906C6.4874 12.914 6.92334 13.0969 7.38271 13.0969H9.1874L6.6374 15.6468L11.9905 13.4812L17.3437 15.6468L14.7937 13.0969H16.5983C17.0577 13.0969 17.4937 12.914 17.8171 12.5906H17.8312Z\"\n        fill=\"white\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5528_29303\">\n        <rect width=\"24\" height=\"24\" rx=\"4\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5528_29309)\">\n      <path d=\"M24 0H0V24H24V0Z\" fill=\"#ECEDEE\" />\n      <path\n        d=\"M11.9999 23.9203C18.5833 23.9203 23.9202 18.5834 23.9202 12C23.9202 5.41662 18.5833 0.0797119 11.9999 0.0797119C5.4165 0.0797119 0.0795898 5.41662 0.0795898 12C0.0795898 18.5834 5.4165 23.9203 11.9999 23.9203Z\"\n        fill=\"#ECEDEE\"\n      />\n      <path\n        d=\"M17.8312 12.5906L22.064 8.35779L11.9999 12.3797L1.93115 8.35779L6.16396 12.5906C6.4874 12.914 6.92334 13.0969 7.38271 13.0969H9.1874L6.6374 15.6468L11.9905 13.4812L17.3437 15.6468L14.7937 13.0969H16.5983C17.0577 13.0969 17.4937 12.914 17.8171 12.5906H17.8312Z\"\n        fill=\"#151718\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5528_29309\">\n        <rect width=\"24\" height=\"24\" rx=\"4\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0_5528_29297)\">\n      <path d=\"M24 0H0V24H24V0Z\" fill=\"black\" />\n      <path\n        d=\"M11.9999 23.9203C18.5833 23.9203 23.9202 18.5834 23.9202 12C23.9202 5.41662 18.5833 0.0797119 11.9999 0.0797119C5.4165 0.0797119 0.0795898 5.41662 0.0795898 12C0.0795898 18.5834 5.4165 23.9203 11.9999 23.9203Z\"\n        fill=\"black\"\n      />\n      <path\n        d=\"M17.8312 12.5906L22.064 8.35779L11.9999 12.3797L1.93115 8.35779L6.16396 12.5906C6.4874 12.914 6.92334 13.0969 7.38271 13.0969H9.1874L6.6374 15.6468L11.9905 13.4812L17.3437 15.6468L14.7937 13.0969H16.5983C17.0577 13.0969 17.4937 12.914 17.8171 12.5906H17.8312Z\"\n        fill=\"white\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5528_29297\">\n        <rect width=\"24\" height=\"24\" rx=\"4\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M10.4899 17.354C11.3989 17.6109 12.3583 17.6296 13.2766 17.4081L9.11403 21.583C6.66634 20.8391 4.59716 19.1782 3.33483 16.9443C2.0725 14.7105 1.71368 12.0746 2.33264 9.5823C2.95088 7.08982 4.50032 4.93189 6.65977 3.55586C8.81921 2.17984 11.423 1.69127 13.9314 2.19143C13.9314 2.19143 10.5576 5.53743 8.72024 7.37626C8.14106 7.92976 7.63542 8.55602 7.21584 9.23953C6.57666 10.288 6.31422 11.5248 6.47221 12.744C6.6302 13.9631 7.19908 15.0912 8.08419 15.9404C8.75267 16.6103 9.58094 17.097 10.4899 17.354Z\"\n      fill=\"#11181C\"\n    />\n    <path\n      d=\"M10.7139 6.59581C11.632 6.37395 12.5914 6.3924 13.5004 6.64937C14.4094 6.90634 15.2376 7.39325 15.9057 8.06353C17.7264 9.89292 18.0821 12.6078 16.7674 14.7544C16.3471 15.4384 15.8415 16.0657 15.263 16.621C13.4251 18.4571 10.0513 21.8053 10.0513 21.8053C12.5619 22.3104 15.1698 21.8245 17.333 20.4485C19.4962 19.0726 21.0485 16.9123 21.6672 14.4167C22.2867 11.9212 21.9259 9.28192 20.6596 7.04655C19.3933 4.81118 17.3187 3.15135 14.8664 2.4115L10.7139 6.59581Z\"\n      fill=\"#11181C\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M10.4902 17.354C11.3992 17.6109 12.3586 17.6296 13.2768 17.4081L9.11428 21.583C6.66658 20.8391 4.5974 19.1782 3.33507 16.9443C2.07274 14.7105 1.71392 12.0746 2.33289 9.5823C2.95112 7.08982 4.50057 4.93189 6.66001 3.55586C8.81946 2.17984 11.4233 1.69127 13.9317 2.19143C13.9317 2.19143 10.5578 5.53743 8.72048 7.37626C8.1413 7.92976 7.63566 8.55602 7.21609 9.23953C6.5769 10.288 6.31447 11.5248 6.47246 12.744C6.63045 13.9631 7.19933 15.0912 8.08443 15.9404C8.75292 16.6103 9.58119 17.097 10.4902 17.354Z\"\n      fill=\"white\"\n    />\n    <path\n      d=\"M10.7141 6.59581C11.6322 6.37395 12.5917 6.3924 13.5006 6.64937C14.4096 6.90634 15.2378 7.39325 15.9059 8.06353C17.7267 9.89292 18.0823 12.6078 16.7676 14.7544C16.3473 15.4384 15.8417 16.0657 15.2632 16.621C13.4253 18.4571 10.0515 21.8053 10.0515 21.8053C12.5622 22.3104 15.17 21.8245 17.3333 20.4485C19.4965 19.0726 21.0487 16.9123 21.6674 14.4167C22.287 11.9212 21.9262 9.28192 20.6599 7.04655C19.3936 4.81118 17.319 3.15135 14.8667 2.4115L10.7141 6.59581Z\"\n      fill=\"white\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M10.4902 17.354C11.3992 17.6109 12.3586 17.6296 13.2768 17.4081L9.11428 21.583C6.66658 20.8391 4.5974 19.1782 3.33507 16.9443C2.07274 14.7105 1.71392 12.0746 2.33289 9.5823C2.95112 7.08982 4.50057 4.93189 6.66001 3.55586C8.81946 2.17984 11.4233 1.69127 13.9317 2.19143C13.9317 2.19143 10.5578 5.53743 8.72048 7.37626C8.1413 7.92976 7.63566 8.55602 7.21609 9.23953C6.5769 10.288 6.31447 11.5248 6.47246 12.744C6.63045 13.9631 7.19933 15.0912 8.08443 15.9404C8.75292 16.6103 9.58119 17.097 10.4902 17.354Z\"\n      fill=\"black\"\n    />\n    <path\n      d=\"M10.7141 6.59581C11.6322 6.37395 12.5917 6.3924 13.5006 6.64937C14.4096 6.90634 15.2378 7.39325 15.9059 8.06353C17.7267 9.89292 18.0823 12.6078 16.7676 14.7544C16.3473 15.4384 15.8417 16.0657 15.2632 16.621C13.4253 18.4571 10.0515 21.8053 10.0515 21.8053C12.5622 22.3104 15.17 21.8245 17.3333 20.4485C19.4965 19.0726 21.0487 16.9123 21.6674 14.4167C22.287 11.9212 21.9262 9.28192 20.6599 7.04655C19.3936 4.81118 17.319 3.15135 14.8667 2.4115L10.7141 6.59581Z\"\n      fill=\"black\"\n    />\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 25\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clipPath=\"url(#clip0_5534_9752)\">\n      <path\n        fillRule=\"evenodd\"\n        clipRule=\"evenodd\"\n        d=\"M24 12.5C24 5.87259 18.6274 0.5 12 0.5C5.37259 0.5 -2.89694e-07 5.87259 0 12.5C2.89694e-07 19.1274 5.37259 24.5 12 24.5C18.6274 24.5 24 19.1274 24 12.5ZM13.7127 21.481C13.7127 22.2951 13.0446 22.9568 12.0962 22.9758C12.0699 22.976 12.0436 22.9761 12.0173 22.9762H11.9827C6.20482 22.9669 1.52381 18.2801 1.52381 12.5C1.52381 6.71418 6.21415 2.02383 12 2.02383C12.0312 2.02383 12.0624 2.02396 12.0935 2.02424C13.1637 2.0433 13.7127 2.70499 13.7127 3.51901C13.7127 4.34751 12.9804 4.95714 12.2045 4.95714C11.4286 4.95716 11.3905 4.95716 10.6478 5.01666C9.90506 5.07618 9.13706 5.68582 9.13706 6.51186C9.13706 7.34281 9.81206 8.01195 10.6478 8.01195H17.2346C18.0679 8.01195 18.7429 8.68112 18.7429 9.50715C18.7429 10.3332 18.0679 11.0024 17.2346 11.0024H7.08914C6.25344 11.0024 5.57844 11.674 5.57844 12.5024C5.57844 13.3285 6.25344 13.9976 7.08914 13.9976H12.2045C13.0377 13.9976 13.7127 14.6668 13.7127 15.4953C13.7127 16.3213 13.0377 16.9905 12.2045 16.9905H10.6478C9.81206 16.9905 9.13706 17.6597 9.13706 18.4857C9.13706 19.3142 9.82886 19.9189 10.6478 19.9809C10.7123 19.9858 10.7713 19.9903 10.8257 19.9944C11.1139 20.0164 11.2714 20.0284 11.4291 20.035C11.619 20.0429 11.8092 20.0429 12.2286 20.0429C13.0618 20.0429 13.7127 20.655 13.7127 21.481Z\"\n        fill=\"#11181C\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5534_9752\">\n        <rect y=\"0.5\" width=\"24\" height=\"24\" rx=\"4\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 25\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clipPath=\"url(#clip0_5534_9756)\">\n      <path\n        fillRule=\"evenodd\"\n        clipRule=\"evenodd\"\n        d=\"M24 12.5C24 5.87259 18.6274 0.5 12 0.5C5.37259 0.5 -2.89694e-07 5.87259 0 12.5C2.89694e-07 19.1274 5.37259 24.5 12 24.5C18.6274 24.5 24 19.1274 24 12.5ZM13.7127 21.481C13.7127 22.2951 13.0446 22.9568 12.0962 22.9758C12.0699 22.976 12.0436 22.9761 12.0173 22.9762H11.9827C6.20482 22.9669 1.52381 18.2801 1.52381 12.5C1.52381 6.71418 6.21415 2.02383 12 2.02383C12.0312 2.02383 12.0624 2.02396 12.0935 2.02424C13.1637 2.0433 13.7127 2.70499 13.7127 3.51901C13.7127 4.34751 12.9804 4.95714 12.2045 4.95714C11.4286 4.95716 11.3905 4.95716 10.6478 5.01666C9.90506 5.07618 9.13706 5.68582 9.13706 6.51186C9.13706 7.34281 9.81206 8.01195 10.6478 8.01195H17.2346C18.0679 8.01195 18.7429 8.68112 18.7429 9.50715C18.7429 10.3332 18.0679 11.0024 17.2346 11.0024H7.08914C6.25344 11.0024 5.57844 11.674 5.57844 12.5024C5.57844 13.3285 6.25344 13.9976 7.08914 13.9976H12.2045C13.0377 13.9976 13.7127 14.6668 13.7127 15.4953C13.7127 16.3213 13.0377 16.9905 12.2045 16.9905H10.6478C9.81206 16.9905 9.13706 17.6597 9.13706 18.4857C9.13706 19.3142 9.82886 19.9189 10.6478 19.9809C10.7123 19.9858 10.7713 19.9903 10.8257 19.9944C11.1139 20.0164 11.2714 20.0284 11.4291 20.035C11.619 20.0429 11.8092 20.0429 12.2286 20.0429C13.0618 20.0429 13.7127 20.655 13.7127 21.481Z\"\n        fill=\"#ECEDEE\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5534_9756\">\n        <rect y=\"0.5\" width=\"24\" height=\"24\" rx=\"4\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 24 25\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clipPath=\"url(#clip0_5534_9747)\">\n      <path\n        fillRule=\"evenodd\"\n        clipRule=\"evenodd\"\n        d=\"M24 12.5C24 5.87259 18.6274 0.5 12 0.5C5.37259 0.5 -2.89694e-07 5.87259 0 12.5C2.89694e-07 19.1274 5.37259 24.5 12 24.5C18.6274 24.5 24 19.1274 24 12.5ZM13.7127 21.481C13.7127 22.2951 13.0446 22.9568 12.0962 22.9758C12.0699 22.976 12.0436 22.9761 12.0173 22.9762H11.9827C6.20482 22.9669 1.52381 18.2801 1.52381 12.5C1.52381 6.71418 6.21415 2.02383 12 2.02383C12.0312 2.02383 12.0624 2.02396 12.0935 2.02424C13.1637 2.0433 13.7127 2.70499 13.7127 3.51901C13.7127 4.34751 12.9804 4.95714 12.2045 4.95714C11.4286 4.95716 11.3905 4.95716 10.6478 5.01666C9.90506 5.07618 9.13706 5.68582 9.13706 6.51186C9.13706 7.34281 9.81206 8.01195 10.6478 8.01195H17.2346C18.0679 8.01195 18.7429 8.68112 18.7429 9.50715C18.7429 10.3332 18.0679 11.0024 17.2346 11.0024H7.08914C6.25344 11.0024 5.57844 11.674 5.57844 12.5024C5.57844 13.3285 6.25344 13.9976 7.08914 13.9976H12.2045C13.0377 13.9976 13.7127 14.6668 13.7127 15.4953C13.7127 16.3213 13.0377 16.9905 12.2045 16.9905H10.6478C9.81206 16.9905 9.13706 17.6597 9.13706 18.4857C9.13706 19.3142 9.82886 19.9189 10.6478 19.9809C10.7123 19.9858 10.7713 19.9903 10.8257 19.9944C11.1139 20.0164 11.2714 20.0284 11.4291 20.035C11.619 20.0429 11.8092 20.0429 12.2286 20.0429C13.0618 20.0429 13.7127 20.655 13.7127 21.481Z\"\n        fill=\"#7132F5\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0_5534_9747\">\n        <rect y=\"0.5\" width=\"24\" height=\"24\" rx=\"4\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n)\n","import React from 'react'\n\nexport default () => (\n  <svg\n    width=\"auto\"\n    height=\"100%\"\n    viewBox=\"0 0 80 80\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M40 80C62.0914 80 80 62.0914 80 40C80 17.9086 62.0914 0 40 0C17.9086 0 0 17.9086 0 40C0 62.0914 17.9086 80 40 80Z\"\n      fill=\"#627EEA\"\n    />\n    <path\n      d=\"M41.2451 10V32.175L59.9876 40.55L41.2451 10Z\"\n      fill=\"white\"\n      fill-opacity=\"0.602\"\n    />\n    <path d=\"M41.245 10L22.5 40.55L41.245 32.175V10Z\" fill=\"white\" />\n    <path\n      d=\"M41.2451 54.92V69.9875L60.0001 44.04L41.2451 54.92Z\"\n      fill=\"white\"\n      fill-opacity=\"0.602\"\n    />\n    <path d=\"M41.245 69.9875V54.9175L22.5 44.04L41.245 69.9875Z\" fill=\"white\" />\n    <path\n      d=\"M41.2451 51.4326L59.9876 40.5501L41.2451 32.1801V51.4326Z\"\n      fill=\"white\"\n      fill-opacity=\"0.2\"\n    />\n    <path\n      d=\"M22.5 40.5501L41.245 51.4326V32.1801L22.5 40.5501Z\"\n      fill=\"white\"\n      fill-opacity=\"0.602\"\n    />\n  </svg>\n)\n","import React, { FC, useContext } from 'react'\nimport { CSS } from '@stitches/react'\nimport {\n  Box,\n  Flex,\n  FormatCryptoCurrency,\n  FormatCurrency,\n  Loader,\n  Text,\n  Tooltip,\n} from '../primitives'\nimport { ProviderOptionsContext } from '../ReservoirKitProvider'\nimport { EnhancedCurrency } from '../hooks/usePaymentTokens'\nimport { formatUnits } from 'viem'\nimport { BuyResponses, MintResponses } from '@reservoir0x/reservoir-sdk'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faInfoCircle } from '@fortawesome/free-solid-svg-icons/faInfoCircle'\n\ntype Props = {\n  css?: CSS\n  chainId?: number\n  paymentCurrency?: EnhancedCurrency\n  loading?: boolean\n  feeOnTop: bigint\n  feeUsd: string\n  crosschainFees?: BuyResponses['fees'] | MintResponses['fees']\n}\n\nexport const PaymentDetails: FC<Props> = ({\n  css,\n  chainId,\n  paymentCurrency,\n  loading,\n  feeOnTop,\n  feeUsd,\n  crosschainFees,\n}) => {\n  const providerOptions = useContext(ProviderOptionsContext)\n  const usdTotal = formatUnits(\n    ((paymentCurrency?.currencyTotalRaw || 0n) + feeOnTop) *\n      (paymentCurrency?.usdPriceRaw || 0n),\n    (paymentCurrency?.decimals || 18) + 6\n  )\n\n  return (\n    <Flex direction=\"column\" css={{ width: '100%', ...css }}>\n      {feeOnTop > 0 && (\n        <Flex\n          justify=\"between\"\n          align=\"start\"\n          css={{ px: '$4', py: '$3', width: '100%' }}\n        >\n          <Text style=\"subtitle3\">Referral Fee</Text>\n          <Flex direction=\"column\" align=\"end\" css={{ gap: '$1' }}>\n            <FormatCryptoCurrency\n              chainId={paymentCurrency?.chainId ?? chainId}\n              amount={feeOnTop}\n              address={paymentCurrency?.address}\n              decimals={paymentCurrency?.decimals}\n              symbol={paymentCurrency?.name}\n            />\n            <FormatCurrency amount={feeUsd} color=\"subtle\" style=\"tiny\" />\n          </Flex>\n        </Flex>\n      )}\n      {crosschainFees && crosschainFees?.relayer?.amount?.raw ? (\n        <Flex\n          justify=\"between\"\n          align=\"start\"\n          css={{ px: '$4', py: '$3', width: '100%' }}\n        >\n          <Flex align=\"center\" css={{ gap: '$2' }}>\n            <Text style=\"subtitle3\">Relay Cost</Text>\n            <Tooltip\n              content={\n                <Text\n                  style=\"body3\"\n                  css={{ maxWidth: 200, textAlign: 'center', display: 'block' }}\n                >\n                  A fee paid to the Relayer who executes your transaction on the\n                  destination chain.\n                </Text>\n              }\n            >\n              <Box css={{ color: '$neutralText' }}>\n                <FontAwesomeIcon icon={faInfoCircle} />\n              </Box>\n            </Tooltip>\n          </Flex>\n          <Flex direction=\"column\" align=\"end\" css={{ gap: '$1' }}>\n            <FormatCryptoCurrency\n              chainId={paymentCurrency?.chainId ?? chainId}\n              amount={crosschainFees?.relayer?.amount?.raw}\n            />\n\n            {crosschainFees?.relayer?.amount?.usd ? (\n              <FormatCurrency\n                amount={crosschainFees?.relayer?.amount?.usd}\n                color=\"subtle\"\n                style=\"tiny\"\n              />\n            ) : null}\n          </Flex>\n        </Flex>\n      ) : null}\n      <Flex justify=\"between\" align=\"start\" css={{ px: '$4' }}>\n        <Text style=\"h6\">You Pay</Text>\n        <Flex direction=\"column\" align=\"end\" css={{ gap: '$1' }}>\n          {loading ? (\n            <Loader />\n          ) : (\n            <>\n              {providerOptions.preferDisplayFiatTotal ? (\n                <>\n                  <FormatCurrency amount={usdTotal} style=\"h6\" color=\"base\" />\n                  <FormatCryptoCurrency\n                    chainId={paymentCurrency?.chainId ?? chainId}\n                    textStyle=\"body2\"\n                    textColor=\"subtle\"\n                    amount={\n                      (paymentCurrency?.currencyTotalRaw ?? 0n) + feeOnTop\n                    }\n                    address={paymentCurrency?.address}\n                    decimals={paymentCurrency?.decimals}\n                    symbol={paymentCurrency?.symbol}\n                    logoWidth={12}\n                  />\n                </>\n              ) : (\n                <>\n                  <FormatCryptoCurrency\n                    chainId={paymentCurrency?.chainId ?? chainId}\n                    textStyle=\"h6\"\n                    textColor=\"base\"\n                    amount={\n                      (paymentCurrency?.currencyTotalRaw ?? 0n) + feeOnTop\n                    }\n                    address={paymentCurrency?.address}\n                    decimals={paymentCurrency?.decimals}\n                    symbol={paymentCurrency?.symbol}\n                    logoWidth={18}\n                  />\n                  <FormatCurrency\n                    amount={usdTotal}\n                    style=\"body2\"\n                    color=\"subtle\"\n                  />\n                </>\n              )}\n            </>\n          )}\n        </Flex>\n      </Flex>\n    </Flex>\n  )\n}\n","import React, { ComponentPropsWithoutRef, FC, useEffect, useState } from 'react'\nimport { Text } from './index'\nimport { formatUnits } from 'viem'\n\ntype Props = {\n  amount: string | number | bigint | null | undefined\n  currency?: Intl.NumberFormatOptions['currency']\n  maximumFractionDigits?: number\n}\n\nconst FormatCurrency: FC<ComponentPropsWithoutRef<typeof Text> & Props> = ({\n  amount,\n  maximumFractionDigits = 2,\n  currency = 'USD',\n  ...props\n}) => {\n  const [formattedValue, setFormattedValue] = useState('')\n\n  useEffect(() => {\n    let parsedAmount\n    if (typeof amount === 'bigint') {\n      parsedAmount = formatUnits(amount, 6)\n    } else {\n      parsedAmount = amount\n    }\n    if (parsedAmount) {\n      const lowestValue = Number(\n        `0.${new Array(maximumFractionDigits).join('0')}1`\n      )\n      const tooLow = +parsedAmount < lowestValue\n\n      const formatted = new Intl.NumberFormat(undefined, {\n        style: 'currency',\n        currency: currency,\n      }).format(tooLow ? lowestValue : +parsedAmount)\n      setFormattedValue(tooLow ? `< ${formatted}` : formatted)\n    } else {\n      setFormattedValue('')\n    }\n  }, [amount, maximumFractionDigits])\n\n  return (\n    <Text\n      {...props}\n      style={props.style || 'subtitle3'}\n      color={props.color || 'base'}\n    >\n      {formattedValue}\n    </Text>\n  )\n}\n\nexport default FormatCurrency\n","import React, { FC } from 'react'\nimport { ChainIcon, Divider, Flex, Img, Text } from '../primitives'\nimport { useCollections, useTokens } from '../hooks'\nimport { ReservoirChain } from '@reservoir0x/reservoir-sdk'\nimport { CSS } from '@stitches/react'\n\ntype Props = {\n  token?: NonNullable<ReturnType<typeof useTokens>['data']>[0]\n  collection?: NonNullable<ReturnType<typeof useCollections>['data']>[0]\n  chain?: ReservoirChain | null\n  css?: CSS\n}\n\nexport const TokenInfo: FC<Props> = ({ token, collection, chain, css }) => {\n  return (\n    <Flex justify=\"between\" align=\"center\" css={{ gap: '$4', ...css }}>\n      <Flex align=\"center\" css={{ gap: '$3' }}>\n        <Img\n          src={token?.token?.image || token?.token?.collection?.image}\n          css={{\n            borderRadius: 8,\n            objectFit: 'cover',\n            height: 56,\n            width: 56,\n          }}\n        />\n        <Flex direction=\"column\" css={{ gap: '$1' }}>\n          <Text style=\"h6\">\n            {token?.token?.name || `#${token?.token?.tokenId}`}\n          </Text>\n          <Flex align=\"center\" css={{ gap: '$1' }}>\n            <Text style=\"subtitle2\" color=\"subtle\">\n              {collection?.name}\n            </Text>\n            {chain ? (\n              <>\n                <Divider direction=\"vertical\" />\n                <ChainIcon chainId={chain.id} height={12} />\n                <Text style=\"subtitle2\" color=\"subtle\" ellipsify>\n                  {chain.name}\n                </Text>\n              </>\n            ) : null}\n          </Flex>\n        </Flex>\n      </Flex>\n    </Flex>\n  )\n}\n","import { styled } from '../../stitches.config'\n\nconst Divider = styled('hr', {\n  width: '100%',\n  height: '1px',\n  borderWidth: 0,\n  backgroundColor: '$neutralLine',\n  variants: {\n    direction: {\n      vertical: {\n        height: '100%',\n        maxHeight: 16,\n        minHeight: 12,\n        width: 1,\n        margin: '0 5px',\n      },\n    },\n  },\n})\n\nexport default Divider\n","import { faImage } from '@fortawesome/free-solid-svg-icons/faImage'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport Flex from './Flex'\nimport { ComponentPropsWithoutRef, useEffect, useState } from 'react'\nimport { styled } from '@stitches/react'\nimport React from 'react'\n\nconst StyledImg = styled('img')\n\nconst Img = (props: ComponentPropsWithoutRef<typeof StyledImg>) => {\n  const [imageBroken, setImageBroken] = useState(false)\n\n  useEffect(() => {\n    if (imageBroken) {\n      setImageBroken(false)\n    }\n  }, [props.src])\n\n  return imageBroken || !props.src ? (\n    <Flex\n      css={{ ...props.css, background: '$neutralBgActive' }}\n      justify=\"center\"\n      align=\"center\"\n    >\n      <FontAwesomeIcon icon={faImage} size=\"2x\" />\n    </Flex>\n  ) : (\n    <StyledImg\n      {...props}\n      onError={(e: React.SyntheticEvent<HTMLImageElement, Event>) => {\n        setImageBroken(true)\n      }}\n    />\n  )\n}\n\nexport default Img\n","import { styled } from '../../../stitches.config'\nimport React, {\n  ComponentPropsWithoutRef,\n  Dispatch,\n  ReactElement,\n  SetStateAction,\n  useEffect,\n  useMemo,\n  useRef,\n} from 'react'\nimport {\n  Flex,\n  Box,\n  Text,\n  Button,\n  Loader,\n  Select,\n  ErrorWell,\n  Img,\n  DateInput,\n  CryptoCurrencyIcon,\n  Input,\n} from '../../primitives'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport Flatpickr from 'react-flatpickr'\nimport { Modal } from '../Modal'\nimport {\n  ListingData,\n  ListModalRenderer,\n  ListStep,\n  ListModalStepData,\n} from './ListModalRenderer'\nimport { faCalendar } from '@fortawesome/free-solid-svg-icons/faCalendar'\nimport { faImages } from '@fortawesome/free-solid-svg-icons/faImages'\nimport { faTag } from '@fortawesome/free-solid-svg-icons/faTag'\n\nimport { useFallbackState, useReservoirClient } from '../../hooks'\nimport { Currency } from '../../types/Currency'\nimport SigninStep from '../SigninStep'\nimport { WalletClient, formatUnits, zeroAddress } from 'viem'\nimport ListCheckout from './ListCheckout'\nimport QuantitySelector from '../QuantitySelector'\nimport dayjs from 'dayjs'\nimport { CurrencySelector } from '../CurrencySelector'\nimport PriceBreakdown from './PriceBreakdown'\nimport FloorDropdown from './FloorDropdown'\nimport { ReservoirWallet } from '@reservoir0x/reservoir-sdk'\nimport { formatNumber } from '../../lib/numbers'\nimport { Dialog } from '../../primitives/Dialog'\n\ntype ListingCallbackData = {\n  listings?: ListingData[]\n  tokenId?: string\n  collectionId?: string\n}\n\nconst ModalCopy = {\n  title: 'List Item for sale',\n  ctaClose: 'Close',\n  ctaSetPrice: 'Set your price',\n  ctaList: 'List for Sale',\n  ctaAwaitingApproval: 'Waiting for Approval',\n  ctaGoToToken: 'Go to Token',\n}\n\ntype Props = Pick<Parameters<typeof Modal>['0'], 'trigger'> & {\n  openState?: [boolean, Dispatch<SetStateAction<boolean>>]\n  tokenId?: string\n  collectionId?: string\n  chainId?: number\n  orderKind?: ListingData['listing']['orderKind']\n  currencies?: Currency[]\n  normalizeRoyalties?: boolean\n  oracleEnabled?: boolean\n  conduitKey?: string\n  copyOverrides?: Partial<typeof ModalCopy>\n  feesBps?: string[]\n  walletClient?: ReservoirWallet | WalletClient\n  onGoToToken?: () => any\n  onListingComplete?: (data: ListingCallbackData) => void\n  onListingError?: (error: Error, data: ListingCallbackData) => void\n  onClose?: (\n    data: ListingCallbackData,\n    stepData: ListModalStepData | null,\n    currentStep: ListStep\n  ) => void\n  onPointerDownOutside?: ComponentPropsWithoutRef<\n    typeof Dialog\n  >['onPointerDownOutside']\n}\n\nconst Image = styled('img', {})\n\nconst MINIMUM_AMOUNT = 0.000001\nconst MAXIMUM_AMOUNT = Infinity\n\nexport function ListModal({\n  openState,\n  trigger,\n  tokenId,\n  collectionId,\n  chainId,\n  orderKind,\n  currencies,\n  normalizeRoyalties,\n  oracleEnabled = false,\n  conduitKey,\n  copyOverrides,\n  feesBps,\n  walletClient,\n  onGoToToken,\n  onListingComplete,\n  onListingError,\n  onClose,\n  onPointerDownOutside,\n}: Props): ReactElement {\n  const copy: typeof ModalCopy = { ...ModalCopy, ...copyOverrides }\n  const [open, setOpen] = useFallbackState(\n    openState ? openState[0] : false,\n    openState\n  )\n\n  const datetimeElement = useRef<Flatpickr | null>(null)\n\n  const client = useReservoirClient()\n\n  const currentChain = client?.currentChain()\n\n  const modalChain = chainId\n    ? client?.chains.find(({ id }) => id === chainId) || currentChain\n    : currentChain\n\n  return (\n    <ListModalRenderer\n      open={open}\n      orderKind={orderKind}\n      chainId={modalChain?.id}\n      tokenId={tokenId}\n      collectionId={collectionId}\n      currencies={currencies}\n      normalizeRoyalties={normalizeRoyalties}\n      oracleEnabled={oracleEnabled}\n      conduitKey={conduitKey}\n      feesBps={feesBps}\n      walletClient={walletClient}\n    >\n      {({\n        loading,\n        token,\n        quantityAvailable,\n        collection,\n        usdPrice,\n        listStep,\n        marketplace,\n        exchange,\n        expirationOption,\n        expirationOptions,\n        royaltyBps,\n        listingData,\n        transactionError,\n        stepData,\n        price,\n        currencies,\n        currency,\n        quantity,\n        setPrice,\n        listToken,\n        setCurrency,\n        setExpirationOption,\n        setQuantity,\n      }) => {\n        const source = client?.source ? client?.source : marketplace?.domain\n\n        const minimumDate = useMemo(() => {\n          return dayjs().add(1, 'h').format('MM/DD/YYYY h:mm A')\n        }, [open])\n\n        const expirationDate = useMemo(() => {\n          if (expirationOption && expirationOption.relativeTime) {\n            const newExpirationTime = expirationOption.relativeTimeUnit\n              ? dayjs().add(\n                  expirationOption.relativeTime,\n                  expirationOption.relativeTimeUnit\n                )\n              : dayjs.unix(expirationOption.relativeTime)\n            return newExpirationTime.format('MM/DD/YYYY h:mm A')\n          }\n          return ''\n        }, [expirationOption])\n\n        useEffect(() => {\n          if (listStep === ListStep.Complete && onListingComplete) {\n            const data: ListingCallbackData = {\n              tokenId: tokenId,\n              collectionId: collectionId,\n              listings: listingData,\n            }\n            onListingComplete(data)\n          }\n        }, [listStep])\n\n        useEffect(() => {\n          if (transactionError && onListingError) {\n            const data: ListingCallbackData = {\n              tokenId: tokenId,\n              collectionId: collectionId,\n              listings: listingData,\n            }\n            onListingError(transactionError, data)\n          }\n        }, [transactionError])\n\n        const floorAskPrice =\n          token?.token?.kind === 'erc1155'\n            ? token?.market?.floorAsk?.price\n            : collection?.floorAsk?.price\n        const decimalFloorPrice = floorAskPrice?.amount?.decimal\n        const nativeFloorPrice = floorAskPrice?.amount?.native\n        const usdFloorPrice = floorAskPrice?.amount?.usd\n        const defaultCurrency = currencies?.find(\n          (currency) => currency?.contract === zeroAddress\n        )\n\n        const floorButtonEnabled =\n          (currency.contract === floorAskPrice?.currency?.contract &&\n            decimalFloorPrice) ||\n          (currency.symbol === 'USDC' && usdFloorPrice) ||\n          (nativeFloorPrice && currency.contract === zeroAddress) ||\n          (nativeFloorPrice && defaultCurrency)\n        const minimumAmount = exchange?.minPriceRaw\n          ? Number(\n              formatUnits(\n                BigInt(exchange.minPriceRaw),\n                currency?.decimals || 18\n              )\n            )\n          : MINIMUM_AMOUNT\n        const maximumAmount = exchange?.maxPriceRaw\n          ? Number(\n              formatUnits(\n                BigInt(exchange.maxPriceRaw),\n                currency?.decimals || 18\n              )\n            )\n          : MAXIMUM_AMOUNT\n\n        const withinPricingBounds =\n          price &&\n          Number(price) !== 0 &&\n          Number(price) <= maximumAmount &&\n          Number(price) >= minimumAmount\n\n        const canPurchase = price !== '' && withinPricingBounds\n\n        const handleSetFloor = () => {\n          // If currency matches floor ask currency, use decimal floor price\n          if (\n            currency.contract === floorAskPrice?.currency?.contract &&\n            decimalFloorPrice\n          ) {\n            setPrice(decimalFloorPrice.toString())\n          }\n\n          // If currency is USDC, use usd floor price\n          else if (currency.symbol === 'USDC' && usdFloorPrice) {\n            setPrice(usdFloorPrice?.toString())\n          } else if (nativeFloorPrice) {\n            // If currency is native currency, use native floor price\n            if (currency.contract === zeroAddress) {\n              setPrice(nativeFloorPrice.toString())\n            }\n            // Fallback to default currency if it exists\n            else {\n              if (defaultCurrency) {\n                setCurrency(defaultCurrency)\n                setPrice(nativeFloorPrice.toString())\n              }\n            }\n          }\n        }\n\n        return (\n          <Modal\n            trigger={trigger}\n            title={copy.title}\n            open={open}\n            onOpenChange={(open) => {\n              if (!open && onClose) {\n                const data: ListingCallbackData = {\n                  tokenId: tokenId,\n                  collectionId: collectionId,\n                  listings: listingData,\n                }\n                onClose(data, stepData, listStep)\n              }\n\n              setOpen(open)\n            }}\n            loading={loading}\n            onPointerDownOutside={(e) => {\n              if (\n                e.target instanceof Element &&\n                datetimeElement.current?.flatpickr?.calendarContainer &&\n                datetimeElement.current.flatpickr.calendarContainer.contains(\n                  e.target\n                )\n              ) {\n                e.preventDefault()\n              }\n              if (onPointerDownOutside) {\n                onPointerDownOutside(e)\n              }\n            }}\n            onFocusCapture={(e) => {\n              e.stopPropagation()\n            }}\n          >\n            {!loading && listStep == ListStep.Unavailable && (\n              <Flex\n                direction=\"column\"\n                align=\"center\"\n                css={{ p: '$4', gap: '$5' }}\n              >\n                <Box css={{ color: '$neutralSolid', mt: 48 }}>\n                  <FontAwesomeIcon\n                    icon={faTag}\n                    style={{ width: '32px', height: '32px' }}\n                  />\n                </Box>\n\n                <Text style=\"h6\" css={{ mb: '$3', textAlign: 'center' }}>\n                  Listing is not available for this collection.\n                </Text>\n                <Button\n                  css={{ width: '100%' }}\n                  onClick={() => {\n                    setOpen(false)\n                  }}\n                >\n                  {copy.ctaClose}\n                </Button>\n              </Flex>\n            )}\n            {!loading && listStep == ListStep.SetPrice && (\n              <Flex direction=\"column\">\n                {transactionError && <ErrorWell error={transactionError} />}\n                <ListCheckout\n                  collection={collection}\n                  token={token}\n                  chain={modalChain}\n                />\n                <Flex\n                  direction=\"column\"\n                  align=\"center\"\n                  css={{ width: '100%', p: '$4', gap: 24 }}\n                >\n                  {quantityAvailable > 1 && (\n                    <Flex\n                      align=\"center\"\n                      justify=\"between\"\n                      css={{ width: '100%', gap: '$3', '@bp1': { gap: '$6' } }}\n                    >\n                      <Flex\n                        align=\"start\"\n                        direction=\"column\"\n                        css={{ gap: '$1', flexShrink: 0 }}\n                      >\n                        <Text style=\"subtitle2\">Quantity</Text>\n                        <Text style=\"body3\" color=\"subtle\">\n                          {quantityAvailable} items available\n                        </Text>\n                      </Flex>\n                      <QuantitySelector\n                        quantity={quantity}\n                        setQuantity={setQuantity}\n                        min={1}\n                        max={quantityAvailable}\n                        css={{ width: '100%', justifyContent: 'space-between' }}\n                      />\n                    </Flex>\n                  )}\n\n                  <Flex direction=\"column\" css={{ gap: '$2', width: '100%' }}>\n                    <Text style=\"subtitle2\">Enter a price</Text>\n                    <Flex align=\"center\" justify=\"between\" css={{ gap: '$2' }}>\n                      <Input\n                        type=\"number\"\n                        value={price}\n                        onChange={(e) => {\n                          setPrice(e.target.value)\n                        }}\n                        placeholder=\"Amount\"\n                        css={{ width: '100%' }}\n                        containerCss={{ width: '100%', height: 44 }}\n                      />\n                      {currencies.length > 1 ? (\n                        <CurrencySelector\n                          chainId={chainId}\n                          currency={currency}\n                          currencies={currencies}\n                          setCurrency={setCurrency}\n                          triggerCss={{\n                            backgroundColor: '$neutralBgHover',\n                            borderRadius: 8,\n                            p: '$3',\n                            width: 120,\n                            flexShrink: 0,\n                            height: 44,\n                          }}\n                          valueCss={{\n                            justifyContent: 'space-between',\n                            width: '100%',\n                          }}\n                        />\n                      ) : (\n                        <Flex align=\"center\" css={{ flexShrink: 0, px: '$2' }}>\n                          <Box\n                            css={{\n                              width: 'auto',\n                              height: 20,\n                            }}\n                          >\n                            <CryptoCurrencyIcon\n                              chainId={chainId}\n                              css={{ height: 18 }}\n                              address={currency.contract}\n                            />\n                          </Box>\n                          <Text\n                            style=\"body1\"\n                            color=\"subtle\"\n                            css={{ ml: '$1' }}\n                            as=\"p\"\n                          >\n                            {currency.symbol}\n                          </Text>\n                        </Flex>\n                      )}\n                      {floorButtonEnabled ? (\n                        <Button\n                          color=\"secondary\"\n                          size=\"none\"\n                          css={{\n                            height: 44,\n                            px: '$4',\n                            borderRadius: 8,\n                            fontWeight: 500,\n                          }}\n                          onClick={() => handleSetFloor()}\n                        >\n                          Floor\n                        </Button>\n                      ) : null}\n                      <FloorDropdown\n                        token={token}\n                        currency={currency}\n                        defaultCurrency={defaultCurrency}\n                        setPrice={setPrice}\n                        setCurrency={setCurrency}\n                      />\n                    </Flex>\n                    {Number(price) !== 0 && !withinPricingBounds && (\n                      <Box>\n                        <Text style=\"body2\" color=\"error\">\n                          {maximumAmount !== Infinity\n                            ? `Amount must be between ${formatNumber(\n                                minimumAmount\n                              )} - ${formatNumber(maximumAmount)}`\n                            : `Amount must be higher than ${formatNumber(\n                                minimumAmount\n                              )}`}\n                        </Text>\n                      </Box>\n                    )}\n                    {floorAskPrice?.amount?.native !== undefined &&\n                      Number(price) !== 0 &&\n                      Number(price) >= minimumAmount &&\n                      currency.contract === zeroAddress &&\n                      Number(price) < floorAskPrice.amount.native && (\n                        <Box>\n                          <Text style=\"body2\" color=\"error\">\n                            Price is{' '}\n                            {Math.round(\n                              ((floorAskPrice.amount.native - +price) /\n                                ((floorAskPrice.amount.native + +price) / 2)) *\n                                100 *\n                                1000\n                            ) / 1000}\n                            % below the floor\n                          </Text>\n                        </Box>\n                      )}\n                  </Flex>\n                  <Flex direction=\"column\" css={{ width: '100%', gap: '$2' }}>\n                    <Text style=\"subtitle2\">Expiration Date</Text>\n                    <Flex align=\"center\" css={{ gap: '$2' }}>\n                      <Select\n                        value={expirationOption?.text || ''}\n                        onValueChange={(value: string) => {\n                          const option = expirationOptions.find(\n                            (option) => option.value == value\n                          )\n                          if (option) {\n                            setExpirationOption(option)\n                          }\n                        }}\n                        css={{ borderRadius: 8, maxWidth: 160, height: 44 }}\n                      >\n                        {expirationOptions\n                          .filter(({ value }) => value !== 'custom')\n                          .map((option) => (\n                            <Select.Item key={option.text} value={option.value}>\n                              <Select.ItemText>{option.text}</Select.ItemText>\n                            </Select.Item>\n                          ))}\n                      </Select>\n                      <DateInput\n                        ref={datetimeElement}\n                        icon={\n                          <FontAwesomeIcon\n                            icon={faCalendar}\n                            width={14}\n                            height={16}\n                          />\n                        }\n                        value={expirationDate}\n                        options={{\n                          chainId: modalChain?.id,\n                          minDate: minimumDate,\n                          enableTime: true,\n                          minuteIncrement: 1,\n                        }}\n                        defaultValue={expirationDate}\n                        onChange={(e: any) => {\n                          if (Array.isArray(e)) {\n                            const customOption = expirationOptions.find(\n                              (option) => option.value === 'custom'\n                            )\n                            if (customOption) {\n                              setExpirationOption({\n                                ...customOption,\n                                relativeTime: e[0] / 1000,\n                              })\n                            }\n                          }\n                        }}\n                        containerCss={{\n                          height: 44,\n                          width: 46,\n                          '@bp1': {\n                            flex: 1,\n                            width: '100%',\n                          },\n                        }}\n                        css={{\n                          padding: 0,\n                          '@bp1': {\n                            padding: '12px 16px 12px 48px',\n                          },\n                        }}\n                      />\n                    </Flex>\n                  </Flex>\n                  <PriceBreakdown\n                    price={price}\n                    usdPrice={usdPrice}\n                    currency={currency}\n                    quantity={quantity}\n                    royaltyBps={royaltyBps}\n                    marketplace={marketplace}\n                    exchange={exchange}\n                  />\n                </Flex>\n                <Box css={{ p: '$4', width: '100%' }}>\n                  <Button\n                    disabled={canPurchase ? false : true}\n                    onClick={() => listToken()}\n                    css={{ width: '100%' }}\n                  >\n                    {copy.ctaList}\n                  </Button>\n                </Box>\n              </Flex>\n            )}\n            {!loading && listStep == ListStep.Listing && (\n              <Flex direction=\"column\">\n                <ListCheckout\n                  collection={collection}\n                  token={token}\n                  price={price}\n                  currency={currency}\n                  quantity={quantity}\n                  expirationOption={expirationOption}\n                  containerCss={{\n                    borderBottom: '1px solid',\n                    borderBottomColor: '$neutralLine',\n                    borderColor: '$neutralLine',\n                  }}\n                />\n                <Flex\n                  direction=\"column\"\n                  align=\"center\"\n                  css={{ width: '100%', p: 24, gap: '$4' }}\n                >\n                  {stepData && stepData.currentStep.id === 'auth' ? (\n                    <SigninStep css={{ mt: 48, mb: '$4', gap: 20 }} />\n                  ) : null}\n                  {stepData && stepData.currentStep.id !== 'auth' ? (\n                    <>\n                      <Text css={{ textAlign: 'center' }} style=\"h6\">\n                        {stepData.currentStep.kind === 'transaction'\n                          ? 'Approve Collections'\n                          : 'Confirm listing in your wallet'}\n                      </Text>\n                      <Text\n                        css={{\n                          textAlign: 'center',\n                          maxWidth: 395,\n                          mx: 'auto',\n                        }}\n                        style=\"body1\"\n                        color=\"subtle\"\n                      >\n                        {stepData?.currentStep.description}\n                      </Text>\n                      <Flex css={{ color: '$neutralSolid' }}>\n                        <FontAwesomeIcon\n                          icon={\n                            stepData.currentStep.kind === 'transaction'\n                              ? faImages\n                              : faTag\n                          }\n                          size=\"2x\"\n                        />\n                      </Flex>\n                    </>\n                  ) : null}\n                  {!stepData && (\n                    <Flex\n                      css={{ height: '100%', py: '$5' }}\n                      justify=\"center\"\n                      align=\"center\"\n                    >\n                      <Loader />\n                    </Flex>\n                  )}\n                </Flex>\n                <Flex css={{ width: '100%', p: '$4' }}>\n                  <Button css={{ width: '100%', mt: 'auto' }} disabled={true}>\n                    <Loader />\n                    {copy.ctaAwaitingApproval}\n                  </Button>\n                </Flex>\n              </Flex>\n            )}\n            {!loading && listStep == ListStep.Complete && (\n              <Flex direction=\"column\" align=\"center\">\n                <Flex\n                  direction=\"column\"\n                  align=\"center\"\n                  css={{ width: '100%', px: '$5', pt: '$5', gap: 24 }}\n                >\n                  <Flex\n                    direction=\"column\"\n                    align=\"center\"\n                    css={{ width: '100%', gap: '$2', overflow: 'hidden' }}\n                  >\n                    <Img\n                      src={token?.token?.image || collection?.image}\n                      alt={token?.token?.name || token?.token?.tokenId}\n                      css={{\n                        width: 120,\n                        height: 120,\n                        aspectRatio: '1/1',\n                        borderRadius: 4,\n                      }}\n                    />\n                    <Text style=\"h6\" ellipsify>\n                      {token?.token?.tokenId\n                        ? `#${token?.token?.tokenId}`\n                        : token?.token?.name}\n                    </Text>\n                    <Text style=\"subtitle2\" color=\"accent\" ellipsify>\n                      {collection?.name}\n                    </Text>\n                  </Flex>\n                  <Text style=\"h5\" as=\"h5\">\n                    Your item has been listed!\n                  </Text>\n\n                  {source ? (\n                    <Flex direction=\"column\" align=\"center\" css={{ gap: '$2' }}>\n                      <Text style=\"subtitle3\" color=\"subtle\" as=\"p\">\n                        View Listing on\n                      </Text>\n                      <a\n                        target=\"_blank\"\n                        href={`${modalChain?.baseApiUrl}/redirect/sources/${source}/tokens/${token?.token?.contract}:${token?.token?.tokenId}/link/v2`}\n                      >\n                        <Image\n                          css={{ width: 24, borderRadius: 4 }}\n                          src={marketplace?.imageUrl}\n                        />\n                      </a>\n                    </Flex>\n                  ) : null}\n                </Flex>\n                <Flex\n                  css={{\n                    p: '$4',\n                    width: '100%',\n                    flexDirection: 'column',\n                    gap: '$3',\n                    '@bp1': {\n                      flexDirection: 'row',\n                    },\n                  }}\n                >\n                  {!!onGoToToken ? (\n                    <>\n                      <Button\n                        onClick={() => {\n                          setOpen(false)\n                        }}\n                        css={{ flex: 1 }}\n                        color=\"secondary\"\n                      >\n                        {copy.ctaClose}\n                      </Button>\n                      <Button\n                        style={{ flex: 1 }}\n                        color=\"primary\"\n                        onClick={() => {\n                          onGoToToken()\n                        }}\n                      >\n                        {copy.ctaGoToToken}\n                      </Button>\n                    </>\n                  ) : (\n                    <Button\n                      onClick={() => {\n                        setOpen(false)\n                      }}\n                      style={{ flex: 1 }}\n                      color=\"primary\"\n                    >\n                      {copy.ctaClose}\n                    </Button>\n                  )}\n                </Flex>\n              </Flex>\n            )}\n          </Modal>\n        )\n      }}\n    </ListModalRenderer>\n  )\n}\n\nListModal.Custom = ListModalRenderer\n","import { default as FlatpickrModule } from 'react-flatpickr'\nimport Input from './Input'\nimport React, {\n  ComponentPropsWithoutRef,\n  ComponentPropsWithRef,\n  ElementRef,\n  forwardRef,\n} from 'react'\n\n//@ts-ignore\nconst Flatpickr = FlatpickrModule.default\n  ? //@ts-ignore\n    FlatpickrModule.default\n  : FlatpickrModule\n\ntype FlatPickrProps = ComponentPropsWithoutRef<typeof Flatpickr>\n\ntype Props = Omit<ComponentPropsWithRef<typeof Input>, 'onChange' | 'value'> & {\n  onChange: FlatPickrProps['onChange']\n  value: FlatPickrProps['value']\n  defaultValue: FlatPickrProps['defaultValue']\n  options?: FlatPickrProps['options']\n}\n\nexport default forwardRef<ElementRef<typeof Flatpickr>, Props>(\n  ({ options, onChange, value, defaultValue, ...inputProps }, forwardedRef) => {\n    return (\n      <Flatpickr\n        ref={forwardedRef}\n        value={value}\n        options={{ dateFormat: 'm/d/Y h:i K', ...options }}\n        onChange={onChange}\n        defaultValue={defaultValue}\n        render={({ defaultValue }: any, ref: any) => {\n          return <Input {...inputProps} ref={ref} defaultValue={defaultValue} />\n        }}\n      />\n    )\n  }\n)\n","import { styled } from '../../stitches.config'\nimport Flex from './Flex'\nimport Box from './Box'\nimport React, {\n  ComponentPropsWithoutRef,\n  ElementRef,\n  forwardRef,\n  ReactNode,\n} from 'react'\nimport { CSS } from '@stitches/react'\n\nconst StyledInput = styled('input', {\n  all: 'unset',\n  width: '100%',\n  px: 16,\n  py: 12,\n  borderRadius: 8,\n  fontFamily: '$body',\n  fontSize: 16,\n  color: '$neutralTextContrast',\n  backgroundColor: '$inputBackground',\n  $$focusColor: '$colors$accentBorderHover',\n  '&:placeholder': { color: '$neutralText' },\n  '&:focus': { boxShadow: '0 0 0 2px $$focusColor' },\n\n  '&::-webkit-outer-spin-button, &::-webkit-inner-spin-button': {\n    '-webkit-appearance': 'none',\n    margin: 0,\n  },\n\n  '&[type=number]': {\n    '-moz-appearance': 'textfield',\n  },\n})\n\nexport const Input = forwardRef<\n  ElementRef<typeof StyledInput>,\n  ComponentPropsWithoutRef<typeof StyledInput> & {\n    icon?: ReactNode\n    containerCss?: CSS\n    iconCss?: CSS\n  }\n>(({ children, icon, containerCss, iconCss, ...props }, forwardedRef) => (\n  <Flex css={{ ...containerCss, position: 'relative' }}>\n    {icon && (\n      <Box\n        css={{\n          position: 'absolute',\n          top: '50%',\n          transform: 'translateY(-50%)',\n          left: 16,\n          color: '$neutralTextContrast',\n          pointerEvents: 'none',\n          ...iconCss,\n        }}\n      >\n        {icon}\n      </Box>\n    )}\n    <StyledInput\n      css={{ pl: icon ? 48 : 16, ...props.css }}\n      ref={forwardedRef}\n      {...props}\n    />\n  </Flex>\n))\n\nexport default Input\n","import React, {\n  ComponentPropsWithoutRef,\n  ElementRef,\n  forwardRef,\n  ReactElement,\n} from 'react'\nimport { styled } from '../../stitches.config'\nimport * as Select from '@radix-ui/react-select'\nimport { faChevronDown } from '@fortawesome/free-solid-svg-icons/faChevronDown'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport Box from './Box'\n\ntype Props = {\n  children: React.ReactNode\n  trigger?: ReactElement<typeof StyledTrigger>\n  css?: ComponentPropsWithoutRef<typeof StyledTrigger>['css']\n}\n\ntype SelectProps = {\n  Item: typeof Select.Item\n  ItemText: typeof StyledItemText\n  Trigger: typeof StyledTrigger\n  Value: typeof StyledValue\n  DownIcon: typeof SelectDownIcon\n}\n\nconst StyledTrigger = styled(Select.Trigger, {\n  boxSizing: 'border-box',\n  borderWidth: 0,\n  width: '100%',\n  px: '$4',\n  py: '$3',\n  borderRadius: '$borderRadius',\n  fontfamily: '$body',\n  fontSize: 16,\n  display: 'flex',\n  justifyContent: 'space-between',\n  color: '$neutralTextContrast',\n  backgroundColor: '$inputBackground',\n  $$focusColor: '$colors$accentBorderHover',\n  '&:placeholder': { color: '$neutralText' },\n  '&:focus': { boxShadow: '0 0 0 2px $$focusColor' },\n})\n\nconst StyledContent = styled(Select.Content, {\n  backgroundColor: '$inputBackground',\n  color: '$textColor',\n  borderRadius: '$borderRadius',\n  overflow: 'hidden',\n  $$focusColor: '$colors$accentBorderHover',\n  boxShadow: '0 0 0 2px $$focusColor',\n})\n\nconst textCss = {\n  color: '$textColor',\n  fontFamily: '$body',\n  letterSpacing: 0,\n}\n\nconst StyledItemText = styled(Select.ItemText, textCss)\n\nconst StyledValue = styled(Select.Value, textCss)\n\nconst SelectDownIcon = forwardRef<\n  ElementRef<typeof Select.Icon>,\n  ComponentPropsWithoutRef<typeof Select.Icon>\n>(({ ...props }, forwardedRef) => (\n  <Select.Icon asChild ref={forwardedRef} {...props}>\n    <Box css={{ color: '$neutralSolidHover' }}>\n      <FontAwesomeIcon icon={faChevronDown} width=\"14\" color=\"\" />\n    </Box>\n  </Select.Icon>\n))\n\nexport const RKSelect: React.FC<\n  Props &\n    ComponentPropsWithoutRef<typeof Select.Root> &\n    ComponentPropsWithoutRef<typeof Select.Value>\n> &\n  SelectProps = ({ children, trigger, css, ...props }) => (\n  <Select.Root {...props}>\n    {trigger ? (\n      trigger\n    ) : (\n      <StyledTrigger css={{ ...textCss, ...css }}>\n        <StyledValue placeholder={props.placeholder}>{props.value}</StyledValue>\n        <SelectDownIcon />\n      </StyledTrigger>\n    )}\n    <Select.Portal style={{ zIndex: 1000000 }}>\n      <StyledContent>\n        <Select.ScrollUpButton />\n        <Select.Viewport>{children}</Select.Viewport>\n        <Select.ScrollDownButton />\n      </StyledContent>\n    </Select.Portal>\n  </Select.Root>\n)\n\nconst StyledItem = styled(Select.Item, {\n  cursor: 'pointer',\n  py: '$3',\n  px: '$4',\n  color: '$textColor',\n  fontFamily: '$body',\n  letterSpacing: 0,\n\n  '&:hover': {\n    background: '$neutralBgActive',\n  },\n})\n\nRKSelect.Item = StyledItem\nRKSelect.ItemText = StyledItemText\nRKSelect.Trigger = StyledTrigger\nRKSelect.Value = StyledValue\nRKSelect.DownIcon = SelectDownIcon\n\nexport default RKSelect\n","import React, {\n  FC,\n  useState,\n  ReactNode,\n  useCallback,\n  useEffect,\n  useMemo,\n} from 'react'\nimport {\n  useTokens,\n  useCoinConversion,\n  useReservoirClient,\n  useMarketplaces,\n  useCollections,\n  useUserTokens,\n  useChainCurrency,\n} from '../../hooks'\nimport { useAccount, useConfig, useWalletClient } from 'wagmi'\nimport {\n  Execute,\n  ReservoirClientActions,\n  ReservoirWallet,\n  axios,\n} from '@reservoir0x/reservoir-sdk'\nimport dayjs from 'dayjs'\nimport { Marketplace } from '../../hooks/useMarketplaces'\nimport { ExpirationOption } from '../../types/ExpirationOption'\nimport defaultExpirationOptions from '../../lib/defaultExpirationOptions'\nimport { Currency } from '../../types/Currency'\nimport { WalletClient, parseUnits, zeroAddress } from 'viem'\nimport { getAccount, switchChain } from 'wagmi/actions'\n\nexport enum ListStep {\n  Unavailable,\n  SetPrice,\n  Listing,\n  Complete,\n}\n\nexport type Listing = Parameters<\n  ReservoirClientActions['listToken']\n>['0']['listings'][0]\n\ntype Exchange = NonNullable<Marketplace['exchanges']>['string']\n\nexport type ListingData = {\n  listing: Listing\n  marketplace: Marketplace\n}\n\nexport type ListModalStepData = {\n  totalSteps: number\n  stepProgress: number\n  currentStep: Execute['steps'][0]\n  listingData: ListingData[]\n}\n\ntype ChildrenProps = {\n  loading: boolean\n  token?: NonNullable<NonNullable<ReturnType<typeof useTokens>>['data']>[0]\n  quantityAvailable: number\n  collection?: NonNullable<ReturnType<typeof useCollections>['data']>[0]\n  listStep: ListStep\n  usdPrice: number\n  expirationOptions: ExpirationOption[]\n  expirationOption: ExpirationOption\n  marketplace?: Marketplace\n  exchange?: Exchange\n  listingData: ListingData[]\n  transactionError?: Error | null\n  stepData: ListModalStepData | null\n  price: string\n  currencies: Currency[]\n  currency: Currency\n  quantity: number\n  royaltyBps?: number\n  setListStep: React.Dispatch<React.SetStateAction<ListStep>>\n  setExpirationOption: React.Dispatch<React.SetStateAction<ExpirationOption>>\n  setPrice: React.Dispatch<React.SetStateAction<string>>\n  setCurrency: (currency: Currency) => void\n  setQuantity: React.Dispatch<React.SetStateAction<number>>\n  listToken: (options?: { royaltyBps?: number }) => void\n}\n\ntype Props = {\n  open: boolean\n  tokenId?: string\n  collectionId?: string\n  chainId?: number\n  orderKind?: ListingData['listing']['orderKind']\n  currencies?: Currency[]\n  normalizeRoyalties?: boolean\n  conduitKey?: string\n  oracleEnabled: boolean\n  feesBps?: string[]\n  children: (props: ChildrenProps) => ReactNode\n  walletClient?: ReservoirWallet | WalletClient\n}\n\nconst expirationOptions = [\n  ...defaultExpirationOptions,\n  {\n    text: 'Custom',\n    value: 'custom',\n    relativeTime: null,\n    relativeTimeUnit: null,\n  },\n]\n\nexport const ListModalRenderer: FC<Props> = ({\n  open,\n  tokenId,\n  collectionId,\n  orderKind,\n  currencies: preferredCurrencies,\n  chainId,\n  normalizeRoyalties,\n  conduitKey,\n  oracleEnabled = false,\n  feesBps,\n  children,\n  walletClient,\n}) => {\n  const account = useAccount()\n\n  const client = useReservoirClient()\n  const currentChain = client?.currentChain()\n  const config = useConfig()\n\n  const rendererChain = chainId\n    ? client?.chains.find(({ id }) => id === chainId) || currentChain\n    : currentChain\n\n  const { data: wagmiWallet } = useWalletClient({ chainId: rendererChain?.id })\n\n  const wallet = walletClient || wagmiWallet\n\n  const [listStep, setListStep] = useState<ListStep>(ListStep.SetPrice)\n  const [listingData, setListingData] = useState<ListingData[]>([])\n  const [allMarketplaces] = useMarketplaces(\n    collectionId,\n    tokenId,\n    true,\n    feesBps,\n    rendererChain?.id,\n    open\n  )\n\n  const marketplace = useMemo(\n    () =>\n      allMarketplaces.find(\n        (marketplace) => marketplace.orderbook === 'reservoir'\n      ),\n    [allMarketplaces]\n  )\n\n  const [transactionError, setTransactionError] = useState<Error | null>()\n  const [stepData, setStepData] = useState<ListModalStepData | null>(null)\n  const [price, setPrice] = useState('')\n  const chainCurrency = useChainCurrency(rendererChain?.id)\n  const defaultCurrency = {\n    contract: chainCurrency.address,\n    symbol: chainCurrency.symbol,\n  }\n  const [currencies, setCurrencies] = useState<Currency[] | undefined>(\n    preferredCurrencies\n  )\n  const [currency, setCurrency] = useState<Currency>(\n    preferredCurrencies && preferredCurrencies[0]\n      ? preferredCurrencies[0]\n      : defaultCurrency\n  )\n  const [quantity, setQuantity] = useState(1)\n  const contract = collectionId ? collectionId?.split(':')[0] : undefined\n  const { data: collections } = useCollections(\n    open && {\n      id: collectionId,\n      normalizeRoyalties,\n    },\n    {},\n    rendererChain?.id\n  )\n  const collection = collections && collections[0] ? collections[0] : undefined\n\n  const [expirationOption, setExpirationOption] = useState<ExpirationOption>(\n    expirationOptions[5]\n  )\n\n  const royaltyBps = collection?.royalties?.bps\n    ? collection?.royalties?.bps\n    : marketplace?.royalties?.maxBps\n    ? marketplace?.royalties?.maxBps\n    : 0\n\n  const { data: tokens } = useTokens(\n    open && {\n      tokens: [`${contract}:${tokenId}`],\n      includeAttributes: true,\n      includeLastSale: true,\n      normalizeRoyalties,\n    },\n    {\n      revalidateFirstPage: true,\n    },\n    rendererChain?.id\n  )\n\n  const token = tokens && tokens.length > 0 ? tokens[0] : undefined\n  const is1155 = token?.token?.kind === 'erc1155'\n\n  const { data: userTokens } = useUserTokens(\n    open && is1155 ? account.address : undefined,\n    {\n      tokens: [`${contract}:${tokenId}`],\n    },\n    {},\n    rendererChain?.id\n  )\n\n  const quantityAvailable =\n    is1155 && userTokens[0]\n      ? Number(userTokens[0].ownership?.tokenCount || 1)\n      : 1\n\n  const coinConversion = useCoinConversion(\n    open ? 'USD' : undefined,\n    currency.symbol,\n    currency.coinGeckoId\n  )\n  const usdPrice = coinConversion.length > 0 ? coinConversion[0].price : 0\n\n  useEffect(() => {\n    if (!open) {\n      setListStep(ListStep.SetPrice)\n      setTransactionError(null)\n      setPrice('')\n      setStepData(null)\n      setExpirationOption(expirationOptions[5])\n      setQuantity(1)\n      setCurrency(defaultCurrency)\n    }\n  }, [open])\n\n  open\n    ? (axios.defaults.headers.common['x-rkui-context'] = 'listModalRenderer')\n    : delete axios.defaults.headers.common?.['x-rkui-context']\n\n  const exchange = useMemo(() => {\n    const exchanges: Record<string, Exchange> = marketplace?.exchanges || {}\n    const exchange = orderKind\n      ? exchanges[orderKind]\n      : Object.values(exchanges).find((exchange) => exchange?.enabled)\n    return exchange?.enabled ? exchange : undefined\n  }, [marketplace, orderKind])\n\n  useEffect(() => {\n    if (exchange?.paymentTokens && exchange?.paymentTokens.length > 0) {\n      const restrictedCurrencies = exchange.paymentTokens\n        .filter((token) => token.address && token.symbol)\n        .map((token) => ({\n          contract: token.address as string,\n          decimals: token.decimals,\n          name: token.name,\n          symbol: token.symbol as string,\n        }))\n      setCurrencies(restrictedCurrencies)\n\n      if (\n        !restrictedCurrencies.find(\n          (c) => currency.contract.toLowerCase() == c.contract.toLowerCase()\n        )\n      ) {\n        setCurrency(restrictedCurrencies[0])\n      }\n    } else {\n      setCurrency(\n        preferredCurrencies && preferredCurrencies[0]\n          ? preferredCurrencies[0]\n          : defaultCurrency\n      )\n      setCurrencies(preferredCurrencies)\n    }\n  }, [exchange, open])\n\n  useEffect(() => {\n    if (marketplace && !exchange) {\n      setListStep(ListStep.Unavailable)\n    }\n  }, [marketplace, exchange, open])\n\n  useEffect(() => {\n    if (currencies && currencies.length > 5) {\n      console.warn(\n        'The ListModal UI was designed to have a maximum of 5 currencies, going above 5 may degrade the user experience.'\n      )\n    }\n  }, [currencies])\n\n  const listToken = useCallback(\n    async (options: { royaltyBps?: number } | undefined) => {\n      const { royaltyBps } = options ?? {}\n      if (!wallet) {\n        const error = new Error('Missing a wallet/signer')\n        setTransactionError(error)\n        throw error\n      }\n\n      let activeWalletChain = getAccount(config).chain\n      if (rendererChain?.id !== activeWalletChain?.id) {\n        activeWalletChain = await switchChain(config, {\n          chainId: rendererChain?.id as number,\n        })\n      }\n\n      if (rendererChain?.id !== activeWalletChain?.id) {\n        const error = new Error(`Mismatching chainIds`)\n        setTransactionError(error)\n        throw error\n      }\n\n      if (!client) {\n        const error = new Error('ReservoirClient was not initialized')\n        setTransactionError(error)\n        throw error\n      }\n\n      if (!marketplace) {\n        throw new Error('No marketplace found')\n      }\n\n      if (!exchange) {\n        throw new Error('No exchange found')\n      }\n\n      setTransactionError(null)\n\n      let expirationTime: string | null = null\n\n      if (expirationOption.relativeTime) {\n        if (expirationOption.relativeTimeUnit) {\n          expirationTime = dayjs()\n            .add(\n              expirationOption.relativeTime,\n              expirationOption.relativeTimeUnit\n            )\n            .unix()\n            .toString()\n        } else {\n          expirationTime = `${expirationOption.relativeTime}`\n        }\n      }\n\n      const listing: Listing = {\n        token: `${contract}:${tokenId}`,\n        weiPrice: (\n          parseUnits(`${+price}`, currency.decimals || 18) * BigInt(quantity)\n        ).toString(),\n        // @ts-ignore\n        orderbook: marketplace.orderbook,\n        // @ts-ignore\n        orderKind: exchange.orderKind,\n      }\n\n      const fees = feesBps || client.marketplaceFees\n      if (fees) {\n        listing.marketplaceFees = fees\n      }\n\n      if (quantity > 1) {\n        listing.quantity = quantity\n      }\n\n      if (expirationTime) {\n        listing.expirationTime = expirationTime\n      }\n\n      if (currency && currency.contract != zeroAddress) {\n        listing.currency = currency.contract\n      }\n\n      if (oracleEnabled || conduitKey) {\n        listing.options = {\n          [`${listing.orderKind}`]: {\n            useOffChainCancellation: oracleEnabled,\n            conduitKey,\n          },\n        }\n      }\n\n      if (royaltyBps !== undefined) {\n        listing.royaltyBps = royaltyBps\n      }\n\n      setListingData([{ listing, marketplace }])\n      setListStep(ListStep.Listing)\n\n      client.actions\n        .listToken({\n          chainId: rendererChain?.id,\n          listings: [listing],\n          wallet,\n          onProgress: (steps: Execute['steps']) => {\n            const executableSteps = steps.filter(\n              (step) => step.items && step.items.length > 0\n            )\n\n            let stepCount = executableSteps.length\n            let incompleteStepItemIndex: number | null = null\n            let incompleteStepIndex: number | null = null\n\n            executableSteps.find((step, i) => {\n              if (!step.items) {\n                return false\n              }\n\n              incompleteStepItemIndex = step.items.findIndex(\n                (item) => item.status == 'incomplete'\n              )\n              if (incompleteStepItemIndex !== -1) {\n                incompleteStepIndex = i\n                return true\n              }\n            })\n\n            if (\n              incompleteStepIndex === null ||\n              incompleteStepItemIndex === null\n            ) {\n              const currentStep = executableSteps[executableSteps.length - 1]\n              const currentStepItem = currentStep.items\n                ? currentStep.items[currentStep.items.length]\n                : null\n              setListStep(ListStep.Complete)\n              const listings =\n                currentStepItem && currentStepItem.orderIndexes !== undefined\n                  ? listingData.filter((_, i) =>\n                      currentStepItem.orderIndexes?.includes(i)\n                    )\n                  : [listingData[listingData.length - 1]]\n              setStepData({\n                totalSteps: stepCount,\n                stepProgress: stepCount,\n                currentStep,\n                listingData: listings,\n              })\n            } else {\n              const currentStep = executableSteps[incompleteStepIndex]\n              const listingIndexes: Set<number> = new Set()\n              currentStep.items?.forEach(({ orderIndexes, status }) => {\n                if (status === 'incomplete') {\n                  orderIndexes?.forEach((orderIndex) => {\n                    listingIndexes.add(orderIndex)\n                  })\n                }\n              })\n              const listings = Array.from(listingIndexes).map(\n                (index) => listingData[index]\n              )\n\n              setStepData({\n                totalSteps: stepCount,\n                stepProgress: incompleteStepIndex,\n                currentStep: executableSteps[incompleteStepIndex],\n                listingData: listings,\n              })\n            }\n          },\n        })\n        .catch((error: Error) => {\n          setListStep(ListStep.SetPrice)\n          setTransactionError(error)\n        })\n    },\n    [\n      client,\n      wallet,\n      config,\n      collectionId,\n      chainId,\n      tokenId,\n      expirationOption,\n      currency,\n      quantity,\n      feesBps,\n      price,\n      marketplace,\n      exchange,\n      conduitKey,\n    ]\n  )\n\n  return (\n    <>\n      {children({\n        loading: !token || !collection || !marketplace,\n        token,\n        quantityAvailable,\n        collection,\n        listStep,\n        usdPrice,\n        marketplace,\n        exchange,\n        expirationOption,\n        expirationOptions,\n        listingData,\n        transactionError,\n        stepData,\n        price,\n        currencies: currencies || [defaultCurrency],\n        currency,\n        quantity,\n        royaltyBps,\n        setListStep,\n        setPrice,\n        setCurrency,\n        setExpirationOption,\n        setQuantity,\n        listToken,\n      })}\n    </>\n  )\n}\n\nListModalRenderer.displayName = 'ListModalRenderer'\n","import { paths, setParams } from '@reservoir0x/reservoir-sdk'\nimport getLocalMarketplaceData from '../lib/getLocalMarketplaceData'\nimport { useEffect, useState } from 'react'\nimport useReservoirClient from './useReservoirClient'\nimport useSWR from 'swr'\nimport { MarketPlaceConfigurationsQuery } from './useMarketplaceConfigs'\n\nexport type Marketplace = NonNullable<\n  paths['/collections/{collection}/marketplace-configurations/v2']['get']['responses']['200']['schema']['marketplaces']\n>[0] & {\n  price: number | string\n  truePrice: number | string\n  fee: {\n    bps: number\n    percent: number\n  }\n}\n\nexport default function (\n  collectionId?: string,\n  tokenId?: string,\n  listingEnabledOnly?: boolean,\n  fees?: string[],\n  chainId?: number,\n  enabled: boolean = true\n): [Marketplace[], React.Dispatch<React.SetStateAction<Marketplace[]>>] {\n  const [marketplaces, setMarketplaces] = useState<Marketplace[]>([])\n  const client = useReservoirClient()\n  const chain =\n    chainId !== undefined\n      ? client?.chains.find((chain) => chain.id === chainId)\n      : client?.currentChain()\n\n  const { data, isValidating } = useSWR<\n    paths['/collections/{collection}/marketplace-configurations/v2']['get']['responses'][200]['schema']\n  >(() => {\n    if (!enabled || !collectionId) {\n      return null\n    }\n\n    const url = new URL(\n      `${chain?.baseApiUrl}/collections/${collectionId}/marketplace-configurations/v2`\n    )\n    if (tokenId) {\n      let query: MarketPlaceConfigurationsQuery = { tokenId: tokenId }\n      setParams(url, query)\n    }\n\n    return [url.href, client?.apiKey, client?.version]\n  })\n\n  useEffect(() => {\n    if (data && data.marketplaces) {\n      let updatedMarketplaces: Marketplace[] =\n        data.marketplaces as Marketplace[]\n      if (listingEnabledOnly) {\n        updatedMarketplaces = updatedMarketplaces.filter(\n          (marketplace) =>\n            Object.values(marketplace.exchanges || {}).some(\n              (exchange) => exchange.enabled\n            ) && marketplace.orderbook !== 'x2y2'\n        )\n      }\n      updatedMarketplaces.forEach((marketplace) => {\n        if (marketplace.orderbook === 'reservoir') {\n          const data = getLocalMarketplaceData()\n          marketplace.name = data.title\n          marketplace.domain = client?.source\n          let marketplaceFees = fees\n          if (!fees && chain?.marketplaceFees) {\n            marketplaceFees = chain?.marketplaceFees\n          } else if (!fees && client?.marketplaceFees) {\n            marketplaceFees = client.marketplaceFees\n          }\n          const feeBps = marketplaceFees?.reduce((total, fee) => {\n            const bps = Number(fee.split(':')[1])\n            total += bps\n            return total\n          }, 0)\n          marketplace.fee = {\n            bps: feeBps || 0,\n            percent: (feeBps || 0) / 100,\n          }\n          if (data.icon) {\n            marketplace.imageUrl = data.icon\n          }\n        }\n        if (marketplace.fee) {\n          marketplace.fee.percent = (marketplace.fee.bps || 0) / 100\n        }\n        marketplace.price = 0\n        marketplace.truePrice = 0\n      })\n      setMarketplaces(updatedMarketplaces)\n    }\n  }, [data, listingEnabledOnly, chain, chainId, fees])\n\n  return [!isValidating ? marketplaces : [], setMarketplaces]\n}\n","import { getClient } from '@reservoir0x/reservoir-sdk'\n\nexport default () => {\n  const client = getClient()\n  let reservoirTitleEl = document.querySelector(\n    \"meta[property='reservoir:title']\"\n  )\n  let title: null | string = null\n  if (reservoirTitleEl) {\n    title = reservoirTitleEl.getAttribute('content')\n  }\n\n  if (!title && client && client.source) {\n    title = client.source\n  } else if (!title) {\n    title = location ? location.hostname.replace('www.', '') : ''\n  }\n\n  const reservoirIconEl = document.querySelector(\n    \"meta[property='reservoir:icon']\"\n  )\n  let icon: null | string = null\n  if (reservoirIconEl) {\n    icon = reservoirIconEl.getAttribute('content')\n  }\n\n  if (!icon) {\n    const favicon = document.querySelector(\"link[rel*='icon']\")\n    if (favicon) {\n      icon = favicon.getAttribute('href')\n    }\n  }\n\n  return {\n    title,\n    icon,\n  }\n}\n","import { ExpirationOption } from '../types/ExpirationOption'\n\nconst expirationOptions: ExpirationOption[] = [\n  {\n    text: '1 Hour',\n    value: 'hour',\n    relativeTime: 1,\n    relativeTimeUnit: 'h',\n  },\n  {\n    text: '12 Hours',\n    value: '12 hours',\n    relativeTime: 12,\n    relativeTimeUnit: 'h',\n  },\n  {\n    text: '1 Day',\n    value: '1 day',\n    relativeTime: 1,\n    relativeTimeUnit: 'd',\n  },\n  {\n    text: '3 Day',\n    value: '3 days',\n    relativeTime: 3,\n    relativeTimeUnit: 'd',\n  },\n  { text: '1 Week', value: 'week', relativeTime: 1, relativeTimeUnit: 'w' },\n  { text: '1 Month', value: 'month', relativeTime: 1, relativeTimeUnit: 'M' },\n  {\n    text: '3 Months',\n    value: '3 months',\n    relativeTime: 3,\n    relativeTimeUnit: 'M',\n  },\n  {\n    text: '6 Months',\n    value: '6 months',\n    relativeTime: 6,\n    relativeTimeUnit: 'M',\n  },\n]\n\nexport default expirationOptions\n","import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { Flex, Text } from '../primitives'\nimport React, { FC } from 'react'\nimport { faPenNib } from '@fortawesome/free-solid-svg-icons/faPenNib'\n\nimport { CSS } from '@stitches/react'\n\ntype Props = {\n  css: CSS\n}\n\nconst SigninStep: FC<Props> = ({ css }) => {\n  return (\n    <Flex\n      css={{ color: '$neutralText', ...css }}\n      direction=\"column\"\n      justify=\"center\"\n      align=\"center\"\n    >\n      <Text style=\"h6\" color=\"base\" css={{ mb: '$2', textAlign: 'center' }}>\n        Sign in to Blur\n      </Text>\n      <Text\n        style=\"subtitle3\"\n        color=\"subtle\"\n        css={{ mb: 20, textAlign: 'center' }}\n      >\n        This is a one-time approval process that takes place once a month\n      </Text>\n      <FontAwesomeIcon\n        icon={faPenNib}\n        width={32}\n        height={32}\n        style={{ height: 32 }}\n      />\n    </Flex>\n  )\n}\n\nexport default SigninStep\n","import React, { FC } from 'react'\nimport {\n  ChainIcon,\n  Divider,\n  Flex,\n  FormatCryptoCurrency,\n  Img,\n  Text,\n} from '../../primitives'\nimport { useCollections, useTimeSince, useTokens } from '../../hooks'\nimport { ReservoirChain } from '@reservoir0x/reservoir-sdk'\nimport { CSS } from '@stitches/react'\nimport { ExpirationOption } from '../../types/ExpirationOption'\nimport { Currency } from '../../types/Currency'\n\ntype ListCheckoutProps = {\n  collection?: NonNullable<ReturnType<typeof useCollections>['data']>[0]\n  token?: NonNullable<ReturnType<typeof useTokens>['data']>[0]\n  price?: string\n  currency?: Currency\n  quantity?: number\n  chain?: ReservoirChain | null\n  expirationOption?: ExpirationOption\n  containerCss?: CSS\n}\n\nconst ListCheckout: FC<ListCheckoutProps> = ({\n  collection,\n  token,\n  price,\n  currency,\n  quantity,\n  chain,\n  expirationOption,\n  containerCss,\n}) => {\n  const expirationDisplay =\n    expirationOption?.value === 'custom' && expirationOption.relativeTime\n      ? useTimeSince(expirationOption.relativeTime)\n      : `in ${expirationOption?.text.toLowerCase()}`\n\n  return (\n    <Flex align=\"center\" justify=\"between\" css={{ p: '$4', ...containerCss }}>\n      <Flex align=\"center\" css={{ gap: '$3', overflow: 'hidden' }}>\n        <Img\n          src={token?.token?.imageSmall || collection?.image}\n          alt={token?.token?.name || collection?.name}\n          css={{ width: 56, height: 56, borderRadius: 4, aspectRatio: '1/1' }}\n        />\n        <Flex direction=\"column\" css={{ gap: '$1', overflow: 'hidden' }}>\n          <Text style=\"h6\" ellipsify>\n            {token?.token?.name\n              ? token?.token?.name\n              : `#${token?.token?.tokenId}`}\n          </Text>\n          <Flex align=\"center\" css={{ gap: '$1' }}>\n            <Text style=\"subtitle2\" color=\"subtle\" ellipsify>\n              {collection?.name}\n            </Text>\n            {chain && !expirationOption ? (\n              <>\n                <Divider direction=\"vertical\" />\n                <ChainIcon chainId={chain.id} height={12} />\n                <Text style=\"subtitle2\" color=\"subtle\" ellipsify>\n                  {chain.name}\n                </Text>\n              </>\n            ) : null}\n          </Flex>\n          {quantity && quantity > 1 ? (\n            <Flex\n              css={{\n                width: 'max-content',\n                backgroundColor: '$neutralBg',\n                borderRadius: 4,\n                py: '$1',\n                px: '$2',\n              }}\n            >\n              <Text style=\"body3\" color=\"subtle\" ellipsify>\n                {quantity} items\n              </Text>\n            </Flex>\n          ) : null}\n        </Flex>\n      </Flex>\n\n      <Flex direction=\"column\" align=\"end\" css={{ gap: '$1', flexShrink: 0 }}>\n        {price && currency ? (\n          <FormatCryptoCurrency\n            amount={Number(price)}\n            address={currency?.contract}\n            symbol={currency?.symbol}\n            textStyle=\"h6\"\n          />\n        ) : null}\n        {expirationOption ? (\n          <Text style=\"body2\" color=\"subtle\">\n            Expires {expirationDisplay}\n          </Text>\n        ) : null}\n      </Flex>\n    </Flex>\n  )\n}\n\nexport default ListCheckout\n","import { useEffect, useState } from 'react'\nimport dayjs from 'dayjs'\nimport relativeTime from 'dayjs/plugin/relativeTime.js'\n\ndayjs.extend(relativeTime)\n\nexport default function (timestamp?: number) {\n  const [timeSince, setTimeSince] = useState('')\n\n  useEffect(() => {\n    if (timestamp) {\n      setTimeSince(dayjs.unix(timestamp).fromNow())\n    } else {\n      setTimeSince('')\n    }\n  }, [timestamp])\n\n  return timeSince\n}\n","import { CSS } from '@stitches/react'\nimport React, { FC } from 'react'\nimport { CryptoCurrencyIcon, Flex, Select, Text } from '../primitives'\nimport { Currency } from '../types/Currency'\n\ntype Props = {\n  triggerCss?: CSS\n  valueCss?: CSS\n  currencies: Currency[]\n  currency: Currency\n  chainId?: number\n  setCurrency: (currency: Currency) => void\n}\n\nexport const CurrencySelector: FC<Props> = ({\n  triggerCss,\n  valueCss,\n  chainId,\n  currencies,\n  currency,\n  setCurrency,\n}) => {\n  return (\n    <Select\n      trigger={\n        <Select.Trigger\n          css={{\n            width: 'auto',\n            p: 0,\n            backgroundColor: 'transparent',\n            ...triggerCss,\n          }}\n        >\n          <Select.Value asChild>\n            <Flex align=\"center\" css={{ ...valueCss }}>\n              <Flex align=\"center\">\n                <CryptoCurrencyIcon\n                  chainId={chainId}\n                  address={currency.contract}\n                  css={{ height: 18 }}\n                />\n                <Text style=\"subtitle1\" color=\"subtle\" css={{ ml: '$1' }}>\n                  {currency.symbol}\n                </Text>\n              </Flex>\n              <Select.DownIcon style={{ marginLeft: 6 }} />\n            </Flex>\n          </Select.Value>\n        </Select.Trigger>\n      }\n      value={currency.contract}\n      onValueChange={(value: string) => {\n        const option = currencies.find((option) => option.contract == value)\n        if (option) {\n          setCurrency(option)\n        }\n      }}\n    >\n      {currencies.map((option) => (\n        <Select.Item key={option.contract} value={option.contract}>\n          <Select.ItemText>\n            <Flex align=\"center\" css={{ gap: '$1' }}>\n              <CryptoCurrencyIcon\n                chainId={chainId}\n                address={option.contract}\n                css={{ height: 18 }}\n              />\n              {option.symbol}\n            </Flex>\n          </Select.ItemText>\n        </Select.Item>\n      ))}\n    </Select>\n  )\n}\n","import React, { FC } from 'react'\nimport { Collapsible } from '../../primitives/Collapsible'\nimport {\n  Button,\n  Divider,\n  Flex,\n  FormatCryptoCurrency,\n  FormatCurrency,\n  Text,\n} from '../../primitives'\nimport { Currency } from '../../types/Currency'\nimport { Marketplace } from '../../hooks/useMarketplaces'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faChevronDown } from '@fortawesome/free-solid-svg-icons/faChevronDown'\nimport InfoTooltip from '../../primitives/InfoTooltip'\n\ntype Exchange = NonNullable<Marketplace['exchanges']>['string']\n\ntype PriceBreakdownProps = {\n  price: string\n  usdPrice: number\n  currency: Currency\n  quantity: number\n  royaltyBps?: number\n  marketplace?: Marketplace\n  exchange?: Exchange\n}\n\nconst PriceBreakdown: FC<PriceBreakdownProps> = ({\n  price,\n  usdPrice,\n  currency,\n  quantity,\n  royaltyBps,\n  marketplace,\n  exchange,\n}) => {\n  const marketplaceFee =\n    (marketplace?.fee?.percent ?? 0) / 100 + (exchange?.fee?.bps ?? 0) * 0.0001\n  const royaltyFee = (royaltyBps || 0) * 0.0001\n  const profit = (1 - marketplaceFee - royaltyFee) * Number(price) * quantity\n  100\n\n  if (Number(price) > 0 && (marketplace?.fee?.percent || royaltyBps)) {\n    return (\n      <Collapsible\n        style={{ width: '100%', borderRadius: 0, overflow: 'visible' }}\n        trigger={\n          <Button\n            color=\"ghost\"\n            size=\"none\"\n            css={{\n              width: '100%',\n              display: 'flex',\n              justifyContent: 'space-between',\n              alignItems: 'start',\n              '& > div > span > svg': {\n                transition: '.3s',\n              },\n              '&[data-state=\"open\"] > div > span > svg': {\n                transform: 'rotate(180deg)',\n              },\n              $$focusColor: '$colors$accentBorderHover',\n              '&:focus-visible': { boxShadow: '0 0 0 2px $$focusColor' },\n            }}\n          >\n            <Flex align=\"center\" css={{ gap: '$3' }}>\n              <Text style=\"h6\">Total Earnings</Text>\n              <Text\n                css={{\n                  color: '$neutralSolidHover',\n                }}\n              >\n                <FontAwesomeIcon icon={faChevronDown} width={16} height={16} />\n              </Text>\n            </Flex>\n            <Flex direction=\"column\" align=\"end\">\n              <FormatCryptoCurrency\n                amount={profit}\n                address={currency.contract}\n                symbol={currency.symbol}\n                textStyle=\"h6\"\n              />\n              {usdPrice ? (\n                <FormatCurrency\n                  amount={profit * (usdPrice || 0)}\n                  style=\"subtitle3\"\n                  color=\"subtle\"\n                />\n              ) : null}\n            </Flex>\n          </Button>\n        }\n      >\n        <Flex direction=\"column\" css={{ gap: '$2', mt: '$3' }}>\n          <Flex justify=\"between\" align=\"center\">\n            <Text style=\"subtitle2\" color=\"subtle\">\n              Total Listing Value\n            </Text>\n            <FormatCryptoCurrency\n              amount={Number(price) * quantity}\n              address={currency.contract}\n              symbol={currency.symbol}\n              textStyle=\"subtitle2\"\n              textColor=\"subtle\"\n            />\n          </Flex>\n          {royaltyBps ? (\n            <Flex justify=\"between\" align=\"center\">\n              <Flex align=\"center\" css={{ gap: '$2' }}>\n                <Text style=\"subtitle2\" color=\"subtle\">\n                  Creator Royalties\n                </Text>\n                <InfoTooltip\n                  side=\"right\"\n                  width={200}\n                  content={\n                    'A fee on every order that goes to the collection creator.'\n                  }\n                />\n              </Flex>\n\n              <Flex align=\"center\" css={{ gap: '$1' }}>\n                <Text style=\"subtitle2\" color=\"subtle\">\n                  -\n                </Text>\n                <FormatCryptoCurrency\n                  amount={quantity * Number(price) * royaltyFee}\n                  address={currency.contract}\n                  symbol={currency.symbol}\n                  textStyle=\"subtitle2\"\n                  textColor=\"subtle\"\n                />\n              </Flex>\n            </Flex>\n          ) : null}\n          {marketplaceFee ? (\n            <Flex justify=\"between\" align=\"center\">\n              <Text style=\"subtitle2\" color=\"subtle\">\n                {marketplace?.name || 'Marketplace'} Fee\n              </Text>\n\n              <Flex align=\"center\" css={{ gap: '$1' }}>\n                <Text style=\"subtitle2\" color=\"subtle\">\n                  -\n                </Text>\n                <FormatCryptoCurrency\n                  amount={quantity * Number(price) * marketplaceFee}\n                  address={currency.contract}\n                  symbol={currency.symbol}\n                  textStyle=\"subtitle2\"\n                  textColor=\"subtle\"\n                />\n              </Flex>\n            </Flex>\n          ) : null}\n          <Divider />\n          <Flex justify=\"between\" align=\"center\">\n            <Text style=\"subtitle2\" color=\"subtle\">\n              Total Earnings\n            </Text>\n            <FormatCryptoCurrency\n              amount={profit}\n              address={currency.contract}\n              symbol={currency.symbol}\n              textStyle=\"subtitle2\"\n              textColor=\"subtle\"\n            />\n          </Flex>\n        </Flex>\n      </Collapsible>\n    )\n  }\n\n  return (\n    <Flex justify=\"between\" align=\"start\" css={{ width: '100%' }}>\n      <Text style=\"h6\">Total Earnings</Text>\n      <Flex direction=\"column\" align=\"end\">\n        <FormatCryptoCurrency\n          amount={profit}\n          address={currency.contract}\n          symbol={currency.symbol}\n          textStyle=\"h6\"\n        />\n        {usdPrice ? (\n          <FormatCurrency\n            amount={profit * (usdPrice || 0)}\n            style=\"subtitle3\"\n            color=\"subtle\"\n          />\n        ) : null}\n      </Flex>\n    </Flex>\n  )\n}\n\nexport default PriceBreakdown\n","import React, { useEffect } from 'react'\nimport { keyframes, styled } from '@stitches/react'\nimport * as CollapsiblePrimitive from '@radix-ui/react-collapsible'\nimport {\n  ComponentPropsWithoutRef,\n  ElementRef,\n  forwardRef,\n  ReactNode,\n  useState,\n} from 'react'\n\nconst slideDown = keyframes({\n  from: { height: 0 },\n  to: { height: 'var(--radix-collapsible-content-height)' },\n})\n\nconst slideUp = keyframes({\n  from: { height: 'var(--radix-collapsible-content-height)' },\n  to: { height: 0 },\n})\n\nconst CollapsibleContent = styled(CollapsiblePrimitive.CollapsibleContent, {\n  background: 'transparent',\n  overflow: 'hidden',\n  border: 'none',\n  borderRadius: 0,\n  '&[data-state=\"open\"]': {\n    animation: `${slideDown} 300ms cubic-bezier(0.87, 0, 0.13, 1)`,\n  },\n  '&[data-state=\"closed\"]': {\n    animation: `${slideUp} 300ms cubic-bezier(0.87, 0, 0.13, 1)`,\n  },\n})\n\nconst CollapsibleRoot = styled(CollapsiblePrimitive.Root, {\n  borderRadius: 8,\n  overflow: 'hidden',\n})\n\ntype Props = {\n  trigger: ReactNode\n  contentProps?: CollapsiblePrimitive.CollapsibleContentProps\n  open?: boolean\n  onOpenChange?: (open: boolean) => void\n}\n\nconst Collapsible = forwardRef<\n  ElementRef<typeof CollapsiblePrimitive.Content>,\n  ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Content> & Props\n>(\n  (\n    { children, trigger, contentProps, open, onOpenChange, ...props },\n    forwardedRef\n  ) => {\n    const [collapsibleOpen, setCollapsibleOpen] = useState(false)\n\n    useEffect(() => {\n      if (open !== undefined && open !== collapsibleOpen) {\n        setCollapsibleOpen(open)\n        if (onOpenChange) {\n          onOpenChange(open)\n        }\n      }\n    }, [open])\n\n    return (\n      <CollapsibleRoot\n        {...props}\n        onOpenChange={(open) => {\n          setCollapsibleOpen(open)\n          if (onOpenChange) {\n            onOpenChange(open)\n          }\n        }}\n        open={collapsibleOpen}\n      >\n        <CollapsiblePrimitive.Trigger asChild>\n          {trigger}\n        </CollapsiblePrimitive.Trigger>\n        <CollapsibleContent ref={forwardedRef} {...contentProps}>\n          {children}\n        </CollapsibleContent>\n      </CollapsibleRoot>\n    )\n  }\n)\n\nexport { Collapsible, CollapsibleContent, CollapsibleRoot }\n","import React from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faInfoCircle } from '@fortawesome/free-solid-svg-icons/faInfoCircle'\nimport { Box, Popover, Text } from '.'\ntype Props = {\n  side: string\n  content: string\n  width: number\n  kind?: 'info' | 'error'\n}\n\nconst InfoTooltip = ({ side, content, width, kind = 'info' }: Props) => {\n  return (\n    <Popover\n      side={side}\n      width={width}\n      content={\n        <Text style={'body3'} as=\"p\">\n          {content}\n        </Text>\n      }\n    >\n      <Box css={{ color: kind === 'error' ? '$errorAccent' : '$neutralText' }}>\n        <FontAwesomeIcon icon={faInfoCircle} />\n      </Box>\n    </Popover>\n  )\n}\n\nexport default InfoTooltip\n","import React, { ReactNode } from 'react'\nimport * as Popover from '@radix-ui/react-popover'\nimport { styled } from '../../stitches.config'\nimport Box from './Box'\n\nconst Arrow = styled(Popover.Arrow, {\n  width: 15,\n  height: 7,\n  fill: '$popoverBackground',\n})\n\nconst Content = styled(Popover.Content, {\n  filter: 'drop-shadow(0px 2px 16px rgba(0, 0, 0, 0.75))',\n  zIndex: 1000,\n})\n\ntype Props = {\n  content?: ReactNode\n  side?: any\n  width?: any\n} & Popover.PopoverProps\n\nconst RKPopover = ({\n  children,\n  content,\n  side = 'bottom',\n  width = '100%',\n  ...props\n}: Props) => {\n  return (\n    <Popover.Root {...props}>\n      <Popover.Trigger\n        style={{\n          backgroundColor: 'transparent',\n          borderWidth: 0,\n          cursor: 'pointer',\n          padding: 0,\n        }}\n      >\n        {children}\n      </Popover.Trigger>\n      <Content side={side}>\n        <Arrow />\n        <Box\n          css={{\n            p: '$3',\n            maxWidth: 320,\n            overflowY: 'auto',\n            maxHeight: 322,\n            width: width,\n            borderRadius: 8,\n            backgroundColor: '$popoverBackground',\n          }}\n        >\n          {content}\n        </Box>\n      </Content>\n    </Popover.Root>\n  )\n}\n\nRKPopover.Root = Popover.Root\nRKPopover.Portal = Popover.Portal\nRKPopover.Trigger = Popover.Trigger\nRKPopover.Arrow = Arrow\nRKPopover.Content = Content\n\nexport default RKPopover\n","import React, { FC, useMemo } from 'react'\nimport { useTokens } from '../../hooks'\nimport { Dropdown, DropdownMenuItem } from '../../primitives/Dropdown'\nimport { Button, Flex, FormatCryptoCurrency, Text } from '../../primitives'\nimport { faEllipsis } from '@fortawesome/free-solid-svg-icons/faEllipsis'\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { Currency } from '../../types/Currency'\n\ntype FloorDropdownProps = {\n  token?: NonNullable<NonNullable<ReturnType<typeof useTokens>>['data']>[0]\n  currency: Currency\n  defaultCurrency?: Currency\n  setPrice: React.Dispatch<React.SetStateAction<string>>\n  setCurrency: (currency: Currency) => void\n}\n\nconst FloorDropdown: FC<FloorDropdownProps> = ({\n  token,\n  currency,\n  defaultCurrency,\n  setPrice,\n  setCurrency,\n}) => {\n  const highestTraitFloor = useMemo(() => {\n    if (token?.token?.attributes && token?.token?.attributes?.length < 2000) {\n      return Math.max(\n        ...token.token.attributes.map((attr: any) =>\n          Number(attr.floorAskPrice)\n        ),\n        0\n      )\n    }\n  }, [token?.token?.attributes])\n\n  const recentSalePrice = token?.token?.lastSale?.price\n  const decimalSalePrice = recentSalePrice?.amount?.decimal\n  const nativeSalePrice = recentSalePrice?.amount?.native\n  const usdSalePrice = recentSalePrice?.amount?.usd\n\n  const recentSale = useMemo(() => {\n    // If currency matches recent sale currency, use decimal floor price\n    if (\n      currency.contract === recentSalePrice?.currency?.contract &&\n      decimalSalePrice\n    ) {\n      return {\n        address: currency.contract,\n        amount: decimalSalePrice,\n      }\n    }\n\n    // If currency is USDC, use usd recent sale price\n    else if (currency.symbol === 'USDC' && usdSalePrice) {\n      return {\n        address: currency.contract,\n        amount: usdSalePrice,\n      }\n    }\n    // Fallback to native sale price\n    else if (nativeSalePrice && defaultCurrency) {\n      return {\n        address: defaultCurrency.contract,\n        amount: nativeSalePrice,\n      }\n    }\n  }, [token, currency])\n\n  if ((highestTraitFloor || recentSale) && defaultCurrency)\n    return (\n      <Dropdown\n        contentProps={{ align: 'end', sideOffset: 10, style: { width: 265 } }}\n        trigger={\n          <Button\n            color=\"secondary\"\n            size=\"none\"\n            css={{ height: 44, px: '$4', borderRadius: 8 }}\n          >\n            <Flex css={{ color: '$textColor' }}>\n              <FontAwesomeIcon icon={faEllipsis} />\n            </Flex>\n          </Button>\n        }\n      >\n        <Flex direction=\"column\" css={{ width: '100%', gap: '$3' }}>\n          {highestTraitFloor ? (\n            <DropdownMenuItem\n              onClick={() => {\n                setPrice(highestTraitFloor.toString())\n                setCurrency(defaultCurrency)\n              }}\n            >\n              <Flex justify=\"between\" align=\"center\">\n                <Text style=\"subtitle1\">Highest Trait</Text>\n                <FormatCryptoCurrency\n                  amount={highestTraitFloor}\n                  textStyle=\"h6\"\n                />\n              </Flex>\n            </DropdownMenuItem>\n          ) : null}\n          {recentSale ? (\n            <DropdownMenuItem\n              onClick={() => {\n                setPrice(recentSale?.amount?.toString())\n                if (currency.contract != recentSale.address) {\n                  setCurrency(defaultCurrency)\n                }\n              }}\n            >\n              <Flex justify=\"between\" align=\"center\">\n                <Text style=\"subtitle1\">Recent Sale</Text>\n                <FormatCryptoCurrency\n                  address={recentSale?.address}\n                  amount={recentSale?.amount}\n                  textStyle=\"h6\"\n                />\n              </Flex>\n            </DropdownMenuItem>\n          ) : null}\n        </Flex>\n      </Dropdown>\n    )\n\n  return null\n}\n\nexport default FloorDropdown\n","import { styled } from '../../stitches.config'\nimport React, {\n  ComponentPropsWithoutRef,\n  ElementRef,\n  forwardRef,\n  ReactNode,\n  useState,\n} from 'react'\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu'\n\nconst DropdownMenuContent = styled(DropdownMenuPrimitive.DropdownMenuContent, {\n  p: '$3',\n  borderRadius: 8,\n  zIndex: 5,\n  background: '$neutralBg',\n  $$borderColor: '$colors$gray7',\n  boxShadow: '0 0 0 1px $$borderColor',\n})\n\nconst DropdownMenuItem = styled(DropdownMenuPrimitive.DropdownMenuItem, {\n  fontSize: 16,\n  fontFamily: '$body',\n  color: '$gray12',\n  px: '$4',\n  py: '$4',\n  borderRadius: 8,\n  outline: 'none',\n  cursor: 'pointer',\n  backgroundColor: '$neutralBgActive',\n  $$focusColor: '$colors$focusColor',\n  '&:hover': {\n    backgroundColor: '$neutralBgHover',\n  },\n  '&[data-highlighted]': {\n    boxShadow: '0 0 0 2px $$focusColor',\n  },\n})\n\ntype Props = {\n  trigger: ReactNode\n  contentProps?: DropdownMenuPrimitive.DropdownMenuContentProps\n}\n\nconst Dropdown = forwardRef<\n  ElementRef<typeof DropdownMenuPrimitive.Root>,\n  ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Root> & Props\n>(({ children, trigger, contentProps, ...props }, forwardedRef) => {\n  const [open, setOpen] = useState(false)\n\n  return (\n    <DropdownMenuPrimitive.Root {...props} open={open} onOpenChange={setOpen}>\n      <DropdownMenuPrimitive.Trigger asChild>\n        {trigger}\n      </DropdownMenuPrimitive.Trigger>\n      {open && (\n        <DropdownMenuContent ref={forwardedRef} {...contentProps}>\n          {children}\n        </DropdownMenuContent>\n      )}\n    </DropdownMenuPrimitive.Root>\n  )\n})\n\nexport { Dropdown, DropdownMenuContent, DropdownMenuItem }\n","import React, {\n  ReactElement,\n  useEffect,\n  useState,\n  useRef,\n  Dispatch,\n  SetStateAction,\n  useContext,\n  ComponentPropsWithoutRef,\n} from 'react'\nimport {\n  Flex,\n  Text,\n  FormatWrappedCurrency,\n  Box,\n  Input,\n  Select,\n  DateInput,\n  Button,\n  ErrorWell,\n  Loader,\n  FormatCurrency,\n  FormatCryptoCurrency,\n  CryptoCurrencyIcon,\n} from '../../primitives'\nimport { Modal } from '../Modal'\nimport {\n  BidModalRenderer,\n  BidStep,\n  BidData,\n  Trait,\n  BidModalStepData,\n  BID_AMOUNT_MINIMUM,\n} from './BidModalRenderer'\nimport TokenInfo from './TokenInfo'\nimport dayjs from 'dayjs'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCalendar } from '@fortawesome/free-solid-svg-icons/faCalendar'\nimport { faClose } from '@fortawesome/free-solid-svg-icons/faClose'\nimport { faCheckCircle } from '@fortawesome/free-solid-svg-icons/faCheckCircle'\nimport { faHand } from '@fortawesome/free-solid-svg-icons/faHand'\n\nimport Flatpickr from 'react-flatpickr'\nimport TransactionProgress from '../TransactionProgress'\nimport getLocalMarketplaceData from '../../lib/getLocalMarketplaceData'\nimport AttributeSelector from './AttributeSelector'\nimport Popover from '../../primitives/Popover'\nimport PseudoInput from '../../primitives/PseudoInput'\nimport { useFallbackState, useReservoirClient } from '../../hooks'\nimport { Currency } from '../../types/Currency'\nimport { CurrencySelector } from '../CurrencySelector'\nimport { ProviderOptionsContext } from '../../ReservoirKitProvider'\nimport QuantitySelector from '../QuantitySelector'\nimport { ReservoirWallet } from '@reservoir0x/reservoir-sdk'\nimport { WalletClient, formatUnits, parseUnits, zeroAddress } from 'viem'\nimport { formatNumber } from '../../lib/numbers'\nimport { Dialog } from '../../primitives/Dialog'\n\ntype BidCallbackData = {\n  tokenId?: string\n  collectionId?: string\n  bidData: BidData | null\n}\n\nconst ModalCopy = {\n  titleSetPrice: 'Make an Offer',\n  titleConfirm: 'Complete Offer',\n  titleComplete: 'Offer Submitted',\n  ctaBidDisabled: 'Enter a Price',\n  ctaBid: '',\n  ctaConvertManually: 'Get ',\n  ctaConvertAutomatically: '',\n  ctaAwaitingApproval: 'Waiting for Approval',\n  ctaEditOffer: 'Edit Offer',\n  ctaRetry: 'Retry',\n  ctaViewOffers: 'View Offers',\n  ctaClose: 'Close',\n}\n\ntype Props = Pick<Parameters<typeof Modal>['0'], 'trigger'> & {\n  openState?: [boolean, Dispatch<SetStateAction<boolean>>]\n  tokenId?: string\n  orderKind?: BidData['orderKind']\n  chainId?: number\n  collectionId?: string\n  attribute?: Trait\n  conduitKey?: string\n  normalizeRoyalties?: boolean\n  currencies?: Currency[]\n  oracleEnabled?: boolean\n  copyOverrides?: Partial<typeof ModalCopy>\n  feesBps?: string[] | null\n  walletClient?: ReservoirWallet | WalletClient\n  usePermit?: boolean\n  onViewOffers?: () => void\n  onClose?: (\n    data: BidCallbackData,\n    stepData: BidModalStepData | null,\n    currentStep: BidStep\n  ) => void\n  onBidComplete?: (data: any) => void\n  onBidError?: (error: Error, data: any) => void\n  onPointerDownOutside?: ComponentPropsWithoutRef<\n    typeof Dialog\n  >['onPointerDownOutside']\n}\n\nfunction titleForStep(step: BidStep, copy: typeof ModalCopy) {\n  switch (step) {\n    case BidStep.SetPrice:\n    case BidStep.Unavailable:\n      return copy.titleSetPrice\n    case BidStep.Offering:\n      return copy.titleConfirm\n    case BidStep.Complete:\n      return copy.titleComplete\n  }\n}\n\nconst MINIMUM_DATE = dayjs().add(1, 'h').format('MM/DD/YYYY h:mm A')\nconst MAXIMUM_AMOUNT = Infinity\n\nexport function BidModal({\n  openState,\n  trigger,\n  tokenId,\n  chainId,\n  collectionId,\n  attribute,\n  conduitKey,\n  normalizeRoyalties,\n  currencies,\n  oracleEnabled = false,\n  copyOverrides,\n  feesBps,\n  orderKind,\n  walletClient,\n  usePermit,\n  onViewOffers,\n  onClose,\n  onBidComplete,\n  onBidError,\n  onPointerDownOutside,\n}: Props): ReactElement {\n  const copy: typeof ModalCopy = { ...ModalCopy, ...copyOverrides }\n  const [open, setOpen] = useFallbackState(\n    openState ? openState[0] : false,\n    openState\n  )\n\n  const client = useReservoirClient()\n\n  const currentChain = client?.currentChain()\n\n  const modalChain = chainId\n    ? client?.chains.find(({ id }) => id === chainId) || currentChain\n    : currentChain\n\n  const datetimeElement = useRef<Flatpickr | null>(null)\n  const [stepTitle, setStepTitle] = useState('')\n  const [localMarketplace, setLocalMarketplace] = useState<ReturnType<\n    typeof getLocalMarketplaceData\n  > | null>(null)\n  const [attributesSelectable, setAttributesSelectable] = useState(false)\n\n  useEffect(() => {\n    setLocalMarketplace(getLocalMarketplaceData())\n  }, [])\n  const [attributeSelectorOpen, setAttributeSelectorOpen] = useState(false)\n\n  return (\n    <BidModalRenderer\n      open={open}\n      orderKind={orderKind}\n      chainId={modalChain?.id}\n      tokenId={tokenId}\n      collectionId={collectionId}\n      attribute={attribute}\n      conduitKey={conduitKey}\n      normalizeRoyalties={normalizeRoyalties}\n      oracleEnabled={oracleEnabled}\n      currencies={currencies}\n      feesBps={feesBps}\n      walletClient={walletClient}\n      usePermit={usePermit}\n    >\n      {({\n        token,\n        collection,\n        attributes,\n        bidStep,\n        expirationOption,\n        expirationOptions,\n        wrappedBalance,\n        wrappedContractName,\n        wrappedContractAddress,\n        bidAmountPerUnit,\n        totalBidAmount,\n        totalBidAmountUsd,\n        quantity,\n        setQuantity,\n        hasEnoughNativeCurrency,\n        hasEnoughWrappedCurrency,\n        hasAuxiliaryFundsSupport,\n        loading,\n        traitBidSupported,\n        collectionBidSupported,\n        partialBidSupported,\n        amountToWrap,\n        balance,\n        convertLink,\n        canAutomaticallyConvert,\n        transactionError,\n        stepData,\n        bidData,\n        currencies,\n        currency,\n        exchange,\n        setCurrency,\n        setBidAmountPerUnit,\n        setExpirationOption,\n        setBidStep,\n        setTrait,\n        trait,\n        placeBid,\n      }) => {\n        const [expirationDate, setExpirationDate] = useState('')\n\n        const tokenCount = collection?.tokenCount\n          ? +collection.tokenCount\n          : undefined\n\n        const itemImage =\n          token && token.token?.imageSmall\n            ? token.token?.imageSmall\n            : (collection?.image as string)\n\n        const providerOptionsContext = useContext(ProviderOptionsContext)\n\n        const quantityEnabled =\n          partialBidSupported &&\n          (!tokenId ||\n            (token?.token?.kind === 'erc1155' &&\n              Number(token?.token?.supply) > 1))\n\n        useEffect(() => {\n          if (stepData) {\n            switch (stepData.currentStep.kind) {\n              case 'signature': {\n                setStepTitle('Confirm Offer')\n                break\n              }\n              default: {\n                setStepTitle(stepData.currentStep.action)\n                break\n              }\n            }\n          }\n        }, [stepData])\n\n        useEffect(() => {\n          if (expirationOption && expirationOption.relativeTime) {\n            const newExpirationTime = expirationOption.relativeTimeUnit\n              ? dayjs().add(\n                  expirationOption.relativeTime,\n                  expirationOption.relativeTimeUnit\n                )\n              : dayjs.unix(expirationOption.relativeTime)\n            setExpirationDate(newExpirationTime.format('MM/DD/YYYY h:mm A'))\n          } else {\n            setExpirationDate('')\n          }\n        }, [expirationOption])\n\n        useEffect(() => {\n          if (bidStep === BidStep.Complete && onBidComplete) {\n            const data: BidCallbackData = {\n              tokenId: tokenId,\n              collectionId: collectionId,\n              bidData,\n            }\n            onBidComplete(data)\n          }\n        }, [bidStep])\n\n        useEffect(() => {\n          if (transactionError && onBidError) {\n            const data: BidCallbackData = {\n              tokenId: tokenId,\n              collectionId: collectionId,\n              bidData,\n            }\n            onBidError(transactionError, data)\n          }\n        }, [transactionError])\n\n        useEffect(() => {\n          if (open && attributes && !tokenId && attribute) {\n            setTrait(attribute)\n          } else {\n            setTrait(undefined)\n          }\n\n          if (open && attributes && !tokenId) {\n            let attributeCount = 0\n            for (let i = 0; i < attributes.length; i++) {\n              attributeCount += attributes[i].attributeCount || 0\n              if (attributeCount >= 2000) {\n                break\n              }\n            }\n            if (attributeCount >= 2000) {\n              setAttributesSelectable(false)\n            } else {\n              setAttributesSelectable(true)\n            }\n          } else {\n            setAttributesSelectable(false)\n          }\n        }, [open, attributes])\n\n        const ctaButtonText =\n          copy.ctaBid.length > 0\n            ? copy.ctaBid\n            : token && token.token\n            ? 'Make an Offer'\n            : trait\n            ? 'Make an Attribute Offer'\n            : 'Make a Collection Offer'\n\n        const minimumAmount = exchange?.minPriceRaw\n          ? Number(\n              formatUnits(\n                BigInt(exchange.minPriceRaw),\n                currency?.decimals || 18\n              )\n            )\n          : BID_AMOUNT_MINIMUM\n        const minimumAmountRaw = parseUnits(\n          `${minimumAmount}`,\n          currency?.decimals ?? 18\n        )\n        const maximumAmount = exchange?.maxPriceRaw\n          ? Number(\n              formatUnits(\n                BigInt(exchange.maxPriceRaw),\n                currency?.decimals || 18\n              )\n            )\n          : MAXIMUM_AMOUNT\n        const maximumAmountRaw =\n          maximumAmount !== Infinity\n            ? parseUnits(`${maximumAmount}`, currency?.decimals ?? 18)\n            : null\n        const withinPricingBounds =\n          totalBidAmount !== 0n &&\n          (maximumAmountRaw ? totalBidAmount <= maximumAmountRaw : true) &&\n          totalBidAmount >= minimumAmountRaw\n\n        const canPurchase = bidAmountPerUnit !== '' && withinPricingBounds\n\n        const topBidPrice =\n          token?.market?.topBid?.price ?? collection?.topBid?.price\n        const decimalTopBidPrice = topBidPrice?.amount?.decimal\n        const nativeTopBidPrice = topBidPrice?.amount?.native\n        const usdTopBidPrice = topBidPrice?.amount?.usd\n        const defaultCurrency = currencies?.find(\n          (currency) => currency?.contract === zeroAddress\n        )\n\n        const topOfferButtonEnabled =\n          (currency?.contract?.toLowerCase() ===\n            topBidPrice?.currency?.contract?.toLowerCase() &&\n            decimalTopBidPrice) ||\n          (currency?.symbol === 'USDC' && usdTopBidPrice) ||\n          (nativeTopBidPrice && currency?.contract === zeroAddress) ||\n          (nativeTopBidPrice && defaultCurrency)\n\n        const handleSetBestOffer = () => {\n          // If currency matches top bid currency, use decimal floor price\n          if (\n            currency?.contract?.toLowerCase() ===\n              topBidPrice?.currency?.contract?.toLowerCase() &&\n            decimalTopBidPrice\n          ) {\n            setBidAmountPerUnit(decimalTopBidPrice.toString())\n          }\n\n          // If currency is USDC, use usd floor price\n          else if (currency?.symbol === 'USDC' && usdTopBidPrice) {\n            setBidAmountPerUnit(usdTopBidPrice?.toString())\n          } else if (nativeTopBidPrice) {\n            // If currency is native currency, use native floor price\n            if (currency?.contract === zeroAddress) {\n              setBidAmountPerUnit(nativeTopBidPrice.toString())\n            }\n            // Fallback to default currency if it exists\n            else {\n              if (defaultCurrency) {\n                setCurrency(defaultCurrency)\n                setBidAmountPerUnit(nativeTopBidPrice.toString())\n              }\n            }\n          }\n        }\n\n        return (\n          <Modal\n            trigger={trigger}\n            title={titleForStep(bidStep, copy)}\n            open={open}\n            onOpenChange={(open) => {\n              if (!open && onClose) {\n                const data: BidCallbackData = {\n                  tokenId: tokenId,\n                  collectionId: collectionId,\n                  bidData,\n                }\n                onClose(data, stepData, bidStep)\n              }\n\n              setOpen(open)\n            }}\n            loading={loading}\n            onPointerDownOutside={(e) => {\n              if (\n                e.target instanceof Element &&\n                datetimeElement.current?.flatpickr?.calendarContainer &&\n                datetimeElement.current.flatpickr.calendarContainer.contains(\n                  e.target\n                )\n              ) {\n                e.preventDefault()\n              }\n              if (onPointerDownOutside) {\n                onPointerDownOutside(e)\n              }\n            }}\n            onFocusCapture={(e) => {\n              e.stopPropagation()\n            }}\n          >\n            {bidStep === BidStep.SetPrice && !loading && collection && (\n              <Flex direction=\"column\">\n                <TokenInfo\n                  chain={modalChain}\n                  token={token ? token : undefined}\n                  collection={collection}\n                  containerCss={{\n                    borderBottom: '1px solid',\n                    borderBottomColor: '$neutralLine',\n                    borderColor: '$neutralLine',\n                  }}\n                />\n                <Flex\n                  justify=\"between\"\n                  direction=\"column\"\n                  align=\"center\"\n                  css={{ width: '100%', p: '$4', gap: 24, overflow: 'hidden' }}\n                >\n                  <Flex direction=\"column\" css={{ gap: '$2', width: '100%' }}>\n                    <Flex justify=\"between\" css={{ gap: '$3' }}>\n                      <Text style=\"subtitle2\">Offer Price</Text>\n                      <Text\n                        as={Flex}\n                        css={{ gap: '$1' }}\n                        align=\"center\"\n                        style=\"subtitle3\"\n                      >\n                        Balance:{' '}\n                        <FormatWrappedCurrency\n                          chainId={modalChain?.id}\n                          logoWidth={10}\n                          textStyle=\"tiny\"\n                          amount={wrappedBalance?.[0]}\n                          address={wrappedContractAddress}\n                          decimals={wrappedBalance?.[1]}\n                          symbol={wrappedBalance?.[2]}\n                        />{' '}\n                      </Text>\n                    </Flex>\n\n                    <Flex css={{ mt: '$2', gap: quantityEnabled ? '$2' : 20 }}>\n                      <Text\n                        as={Flex}\n                        css={{ gap: '$2', flexShrink: 0 }}\n                        align=\"center\"\n                        style=\"body1\"\n                        color=\"subtle\"\n                      >\n                        {currency && currencies.length > 1 ? (\n                          <CurrencySelector\n                            chainId={modalChain?.id}\n                            currency={currency}\n                            currencies={currencies}\n                            setCurrency={setCurrency}\n                            triggerCss={{\n                              backgroundColor: '$neutralBgHover',\n                              borderRadius: 8,\n                              p: '$3',\n                              width: 120,\n                              flexShrink: 0,\n                              height: 44,\n                            }}\n                          />\n                        ) : (\n                          <>\n                            <CryptoCurrencyIcon\n                              chainId={modalChain?.id}\n                              css={{ height: 20 }}\n                              address={wrappedContractAddress}\n                            />\n                            {wrappedContractName}\n                          </>\n                        )}\n                      </Text>\n                      <Input\n                        type=\"number\"\n                        value={bidAmountPerUnit}\n                        onChange={(e) => {\n                          setBidAmountPerUnit(e.target.value)\n                        }}\n                        placeholder=\"Enter price\"\n                        containerCss={{\n                          width: '100%',\n                        }}\n                        css={{\n                          textAlign: 'center',\n                          '@bp1': {\n                            textAlign: 'left',\n                          },\n                        }}\n                      />\n                      {topOfferButtonEnabled ? (\n                        <Button\n                          color=\"secondary\"\n                          size=\"none\"\n                          css={{\n                            height: 44,\n                            px: '$4',\n                            borderRadius: 8,\n                            fontWeight: 500,\n                            flexShrink: 0,\n                          }}\n                          onClick={handleSetBestOffer}\n                        >\n                          Best Offer\n                        </Button>\n                      ) : null}\n                    </Flex>\n\n                    {totalBidAmount !== 0n && !withinPricingBounds && (\n                      <Box>\n                        <Text style=\"body2\" color=\"error\">\n                          {maximumAmount !== Infinity\n                            ? `Amount must be between ${formatNumber(\n                                minimumAmount,\n                                6\n                              )} - ${formatNumber(maximumAmount)}`\n                            : `Amount must be higher than ${formatNumber(\n                                minimumAmount,\n                                6\n                              )}`}\n                        </Text>\n                      </Box>\n                    )}\n\n                    {attributes &&\n                      attributes.length > 0 &&\n                      (attributesSelectable || trait) &&\n                      !tokenId &&\n                      traitBidSupported && (\n                        <>\n                          <Popover.Root\n                            open={attributeSelectorOpen}\n                            onOpenChange={\n                              attributesSelectable\n                                ? setAttributeSelectorOpen\n                                : undefined\n                            }\n                          >\n                            <Popover.Trigger asChild>\n                              {trait ? (\n                                <PseudoInput css={{ py: '$3' }}>\n                                  <Flex\n                                    justify=\"between\"\n                                    css={{\n                                      gap: '$2',\n                                      alignItems: 'center',\n                                      color: '$neutralText',\n                                    }}\n                                  >\n                                    <Box\n                                      css={{\n                                        maxWidth: 385,\n                                        overflow: 'hidden',\n                                        textOverflow: 'ellipsis',\n                                        whiteSpace: 'nowrap',\n                                      }}\n                                    >\n                                      <Text color=\"accent\" style=\"subtitle1\">\n                                        {trait?.key}:{' '}\n                                      </Text>\n                                      <Text style=\"subtitle1\">\n                                        {trait?.value}\n                                      </Text>\n                                    </Box>\n                                    <Flex\n                                      css={{\n                                        alignItems: 'center',\n                                        gap: '$2',\n                                      }}\n                                    >\n                                      {trait?.floorAskPrice && (\n                                        <Box css={{ flex: 'none' }}>\n                                          <FormatCryptoCurrency\n                                            amount={trait?.floorAskPrice}\n                                            maximumFractionDigits={2}\n                                            logoWidth={11}\n                                            textStyle=\"body1\"\n                                          />\n                                        </Box>\n                                      )}\n                                      <FontAwesomeIcon\n                                        style={{\n                                          cursor: 'pointer',\n                                        }}\n                                        onClick={(e) => {\n                                          e.preventDefault()\n                                          setTrait(undefined)\n                                        }}\n                                        icon={faClose}\n                                        width={16}\n                                        height={16}\n                                      />\n                                    </Flex>\n                                  </Flex>\n                                </PseudoInput>\n                              ) : (\n                                <Button\n                                  color=\"ghost\"\n                                  css={{\n                                    color: '$accentText',\n                                    fontWeight: 500,\n                                    fontSize: 14,\n                                    maxWidth: 'max-content',\n                                  }}\n                                  size=\"none\"\n                                >\n                                  + Add Attribute\n                                </Button>\n                              )}\n                            </Popover.Trigger>\n                            <Popover.Content\n                              side=\"bottom\"\n                              align=\"start\"\n                              sideOffset={-20}\n                              style={{ maxWidth: '100vw' }}\n                            >\n                              <AttributeSelector\n                                attributes={attributes}\n                                tokenCount={tokenCount}\n                                setTrait={setTrait}\n                                setOpen={setAttributeSelectorOpen}\n                              />\n                            </Popover.Content>\n                          </Popover.Root>\n                        </>\n                      )}\n                  </Flex>\n\n                  {quantityEnabled ? (\n                    <Flex\n                      justify=\"between\"\n                      align=\"center\"\n                      css={{ gap: '$5', width: '100%' }}\n                    >\n                      <Flex\n                        direction=\"column\"\n                        align=\"start\"\n                        css={{ gap: '$2', flexShrink: 0 }}\n                      >\n                        <Text style=\"subtitle2\">Quantity</Text>\n                        <Text\n                          color=\"subtle\"\n                          style=\"body3\"\n                          css={{\n                            display: 'none',\n                            '@bp1': {\n                              display: 'block',\n                            },\n                          }}\n                        >\n                          Offers can be accepted separately\n                        </Text>\n                      </Flex>\n                      <QuantitySelector\n                        quantity={quantity}\n                        setQuantity={setQuantity}\n                        min={1}\n                        max={999999}\n                        css={{ justifyContent: 'space-between', width: '100%' }}\n                      />\n                    </Flex>\n                  ) : null}\n\n                  <Flex direction=\"column\" css={{ gap: '$2', width: '100%' }}>\n                    <Text as={Box} style=\"subtitle2\">\n                      Expiration Date\n                    </Text>\n                    <Flex css={{ gap: '$2' }}>\n                      <Select\n                        css={{\n                          flex: 1,\n                          '@bp1': {\n                            width: 160,\n                            flexDirection: 'row',\n                          },\n                        }}\n                        value={expirationOption?.text || ''}\n                        onValueChange={(value: string) => {\n                          const option = expirationOptions.find(\n                            (option) => option.value == value\n                          )\n                          if (option) {\n                            setExpirationOption(option)\n                          }\n                        }}\n                      >\n                        {expirationOptions\n                          .filter(({ value }) => value !== 'custom')\n                          .map((option) => (\n                            <Select.Item key={option.text} value={option.value}>\n                              <Select.ItemText>{option.text}</Select.ItemText>\n                            </Select.Item>\n                          ))}\n                      </Select>\n                      <DateInput\n                        ref={datetimeElement}\n                        icon={\n                          <FontAwesomeIcon\n                            icon={faCalendar}\n                            width={14}\n                            height={16}\n                          />\n                        }\n                        value={expirationDate}\n                        options={{\n                          chainId: modalChain?.id,\n                          minDate: MINIMUM_DATE,\n                          enableTime: true,\n                          minuteIncrement: 1,\n                        }}\n                        defaultValue={expirationDate}\n                        onChange={(e: any) => {\n                          if (Array.isArray(e)) {\n                            const customOption = expirationOptions.find(\n                              (option) => option.value === 'custom'\n                            )\n                            if (customOption) {\n                              setExpirationOption({\n                                ...customOption,\n                                relativeTime: e[0] / 1000,\n                              })\n                            }\n                          }\n                        }}\n                        containerCss={{\n                          width: 46,\n                          '@bp1': {\n                            flex: 1,\n                            width: '100%',\n                          },\n                        }}\n                        css={{\n                          padding: 0,\n                          '@bp1': {\n                            padding: '12px 16px 12px 48px',\n                          },\n                        }}\n                      />\n                    </Flex>\n                  </Flex>\n\n                  <Flex\n                    justify=\"between\"\n                    align=\"center\"\n                    css={{ gap: '$4', width: '100%' }}\n                  >\n                    <Text style=\"h6\">Total Offer Price</Text>\n                    <Flex direction=\"column\" align=\"end\">\n                      <FormatWrappedCurrency\n                        chainId={modalChain?.id}\n                        logoWidth={16}\n                        textStyle=\"h6\"\n                        amount={totalBidAmount}\n                        address={currency?.contract}\n                        decimals={currency?.decimals}\n                        symbol={currency?.symbol}\n                      />\n                      <FormatCurrency\n                        style=\"subtitle3\"\n                        color=\"subtle\"\n                        amount={totalBidAmountUsd}\n                      />\n                    </Flex>\n                  </Flex>\n                  <Box css={{ width: '100%', mt: 'auto' }}>\n                    {oracleEnabled && (\n                      <Text\n                        style=\"body2\"\n                        color=\"subtle\"\n                        css={{\n                          mb: 10,\n                          textAlign: 'center',\n                          width: '100%',\n                          display: 'block',\n                        }}\n                      >\n                        You can change or cancel your offer for free on{' '}\n                        {localMarketplace?.title}.\n                      </Text>\n                    )}\n                    {!canPurchase && (\n                      <Button disabled={true} css={{ width: '100%' }}>\n                        {copy.ctaBidDisabled}\n                      </Button>\n                    )}\n                    {canPurchase && hasEnoughWrappedCurrency && (\n                      <Button\n                        onClick={() => placeBid()}\n                        css={{ width: '100%' }}\n                      >\n                        {ctaButtonText}\n                      </Button>\n                    )}\n                    {canPurchase && !hasEnoughWrappedCurrency && (\n                      <>\n                        {!hasEnoughNativeCurrency &&\n                          !hasAuxiliaryFundsSupport && (\n                            <Flex css={{ gap: '$2', mt: 10 }} justify=\"center\">\n                              <Text style=\"body3\" color=\"error\">\n                                {balance?.symbol || 'ETH'} Balance\n                              </Text>\n                              <FormatCryptoCurrency\n                                chainId={modalChain?.id}\n                                amount={balance?.value}\n                                symbol={balance?.symbol}\n                              />\n                            </Flex>\n                          )}\n                        <Flex\n                          css={{\n                            gap: '$2',\n                            mt: 10,\n                            overflow: 'hidden',\n                            flexDirection: 'column-reverse',\n                            '@bp1': {\n                              flexDirection: 'row',\n                            },\n                          }}\n                        >\n                          <Button\n                            disabled={providerOptionsContext.disableJumperLink}\n                            css={{ flex: '1 0 auto' }}\n                            color=\"secondary\"\n                            onClick={() => {\n                              window.open(convertLink, '_blank')\n                            }}\n                          >\n                            {providerOptionsContext.disableJumperLink\n                              ? ctaButtonText\n                              : currency?.symbol\n                              ? copy.ctaConvertManually + currency?.symbol\n                              : 'Convert Manually'}\n                          </Button>\n                          {canAutomaticallyConvert && (\n                            <Button\n                              css={{ flex: 1, maxHeight: 44 }}\n                              disabled={\n                                !hasEnoughNativeCurrency &&\n                                !hasAuxiliaryFundsSupport\n                              }\n                              onClick={() => placeBid()}\n                            >\n                              <Text style=\"h6\" color=\"button\" ellipsify>\n                                {copy.ctaConvertAutomatically.length > 0\n                                  ? copy.ctaConvertAutomatically\n                                  : `Convert ${amountToWrap} ${\n                                      balance?.symbol || 'ETH'\n                                    } for me`}\n                              </Text>\n                            </Button>\n                          )}\n                        </Flex>\n                      </>\n                    )}\n                  </Box>\n                </Flex>\n              </Flex>\n            )}\n\n            {bidStep === BidStep.Offering && collection && (\n              <Flex direction=\"column\">\n                <TokenInfo\n                  chain={modalChain}\n                  token={token ? token : undefined}\n                  collection={collection}\n                  price={totalBidAmount}\n                  currency={currency}\n                  quantity={quantity}\n                  trait={trait}\n                  expirationOption={expirationOption}\n                  containerCss={{\n                    borderBottom: '1px solid',\n                    borderBottomColor: '$neutralLine',\n                    borderColor: '$neutralLine',\n                  }}\n                />\n                <Flex\n                  justify=\"between\"\n                  direction=\"column\"\n                  align=\"center\"\n                  css={{ width: '100%', p: '$4', gap: 24 }}\n                >\n                  {transactionError && (\n                    <ErrorWell\n                      error={transactionError}\n                      css={{ width: '100%' }}\n                    />\n                  )}\n                  {stepData && (\n                    <>\n                      <Text css={{ textAlign: 'center' }} style=\"subtitle1\">\n                        {stepTitle}\n                      </Text>\n                      {stepData.currentStep.kind === 'signature' && (\n                        <TransactionProgress\n                          justify=\"center\"\n                          fromImg={itemImage || ''}\n                          toImgs={[localMarketplace?.icon || '']}\n                        />\n                      )}\n                      {stepData.currentStep.kind !== 'signature' && (\n                        <Flex align=\"center\" justify=\"center\">\n                          <Flex\n                            css={{\n                              background: '$neutralLine',\n                              borderRadius: 8,\n                            }}\n                          >\n                            <CryptoCurrencyIcon\n                              chainId={modalChain?.id}\n                              css={{ height: 56, width: 56 }}\n                              address={wrappedContractAddress}\n                            />\n                          </Flex>\n                        </Flex>\n                      )}\n                      <Text\n                        css={{\n                          textAlign: 'center',\n                          mt: 24,\n                          maxWidth: 395,\n                          mx: 'auto',\n                          mb: '$4',\n                        }}\n                        style=\"body2\"\n                        color=\"subtle\"\n                      >\n                        {stepData?.currentStep.description}\n                      </Text>\n                    </>\n                  )}\n                  {!stepData && (\n                    <Flex\n                      css={{ height: '100%', py: '$5' }}\n                      justify=\"center\"\n                      align=\"center\"\n                    >\n                      <Loader />\n                    </Flex>\n                  )}\n                  {!transactionError && (\n                    <Button css={{ width: '100%', mt: 'auto' }} disabled={true}>\n                      <Loader />\n                      {copy.ctaAwaitingApproval}\n                    </Button>\n                  )}\n                  {transactionError && (\n                    <Flex css={{ mt: 'auto', gap: 10, width: '100%' }}>\n                      <Button\n                        color=\"secondary\"\n                        css={{ flex: 1 }}\n                        onClick={() => setBidStep(BidStep.SetPrice)}\n                      >\n                        {copy.ctaEditOffer}\n                      </Button>\n                      <Button css={{ flex: 1 }} onClick={() => placeBid()}>\n                        {copy.ctaRetry}\n                      </Button>\n                    </Flex>\n                  )}\n                </Flex>\n              </Flex>\n            )}\n\n            {bidStep === BidStep.Complete && (\n              <Flex direction=\"column\" align=\"center\" css={{ p: '$4' }}>\n                <Box css={{ color: '$successAccent', mt: 48 }}>\n                  <FontAwesomeIcon\n                    icon={faCheckCircle}\n                    style={{ width: '32px', height: '32px' }}\n                  />\n                </Box>\n                <Text style=\"h5\" css={{ textAlign: 'center', mt: 36, mb: 80 }}>\n                  Offer Submitted!\n                </Text>\n                {onViewOffers ? (\n                  <Button\n                    css={{ width: '100%' }}\n                    onClick={() => {\n                      onViewOffers()\n                    }}\n                  >\n                    {copy.ctaViewOffers}\n                  </Button>\n                ) : (\n                  <Button\n                    css={{ width: '100%' }}\n                    onClick={() => {\n                      setOpen(false)\n                    }}\n                  >\n                    {copy.ctaClose}\n                  </Button>\n                )}\n              </Flex>\n            )}\n            {bidStep === BidStep.Unavailable && !loading && (\n              <Flex\n                direction=\"column\"\n                align=\"center\"\n                css={{ p: '$4', gap: '$5' }}\n              >\n                <Box css={{ color: '$neutralSolid', mt: 48 }}>\n                  <FontAwesomeIcon\n                    icon={faHand}\n                    style={{ width: '32px', height: '32px' }}\n                  />\n                </Box>\n\n                <Text\n                  style=\"h6\"\n                  css={{ maxWidth: 350, mb: '$3', textAlign: 'center' }}\n                >\n                  {!collectionBidSupported\n                    ? 'This collection does not support placing a collection offer.'\n                    : 'Oops, this collection does not support bidding.'}\n                </Text>\n                <Button\n                  css={{ width: '100%' }}\n                  onClick={() => {\n                    setOpen(false)\n                  }}\n                >\n                  {copy.ctaClose}\n                </Button>\n              </Flex>\n            )}\n          </Modal>\n        )\n      }}\n    </BidModalRenderer>\n  )\n}\n\nBidModal.Custom = BidModalRenderer\n","import React, { FC, ComponentProps } from 'react'\nimport wrappedContracts from '../constants/wrappedContracts'\nimport { useAccount, useChains } from 'wagmi'\nimport FormatCryptoCurrency from './FormatCryptoCurrency'\n\ntype Props = ComponentProps<typeof FormatCryptoCurrency> & {\n  logoWidth?: number\n  address?: string\n}\n\nconst FormatWrappedCurrency: FC<Props> = ({ logoWidth, address, ...props }) => {\n  const { chain: activeChain } = useAccount()\n  const chains = useChains()\n  let chain = chains.find((chain) => activeChain?.id === chain.id)\n\n  if (!chain && chains.length > 0) {\n    chain = chains[0]\n  } else {\n    chain = activeChain\n  }\n\n  const contractAddress =\n    chain?.id !== undefined && chain.id in wrappedContracts\n      ? wrappedContracts[chain.id]\n      : wrappedContracts[1]\n\n  return (\n    <FormatCryptoCurrency {...props} address={address || contractAddress} />\n  )\n}\n\nexport default FormatWrappedCurrency\n","import React, {\n  FC,\n  useEffect,\n  useState,\n  useCallback,\n  ReactNode,\n  useMemo,\n  useContext,\n} from 'react'\nimport {\n  useTokens,\n  useCoinConversion,\n  useReservoirClient,\n  useCollections,\n  useAttributes,\n  useChainCurrency,\n  useMarketplaces,\n} from '../../hooks'\nimport {\n  useAccount,\n  useBalance,\n  useConfig,\n  useReadContracts,\n  useWalletClient,\n} from 'wagmi'\nimport { mainnet, goerli } from 'wagmi/chains'\nimport { useCapabilities } from 'wagmi/experimental'\nimport {\n  Execute,\n  ReservoirClientActions,\n  ReservoirWallet,\n  axios,\n} from '@reservoir0x/reservoir-sdk'\nimport { ExpirationOption } from '../../types/ExpirationOption'\nimport defaultExpirationOptions from '../../lib/defaultExpirationOptions'\nimport { formatBN } from '../../lib/numbers'\nimport dayjs from 'dayjs'\nimport wrappedContractNames from '../../constants/wrappedContractNames'\nimport wrappedContracts from '../../constants/wrappedContracts'\nimport { Currency } from '../../types/Currency'\nimport { Address, WalletClient, erc20Abi, formatUnits, parseUnits } from 'viem'\nimport { getAccount, switchChain } from 'wagmi/actions'\nimport { Marketplace } from '../../hooks/useMarketplaces'\nimport { ProviderOptionsContext } from '../../ReservoirKitProvider'\nimport useRelayChains from '../../hooks/useRelayChains'\n\nconst expirationOptions = [\n  ...defaultExpirationOptions,\n  {\n    text: 'Custom',\n    value: 'custom',\n    relativeTime: null,\n    relativeTimeUnit: null,\n  },\n]\n\nexport type FetchBalanceResult = {\n  decimals: number\n  formatted: string\n  symbol: string\n  value: bigint\n}\n\nexport enum BidStep {\n  SetPrice,\n  Offering,\n  Complete,\n  Unavailable,\n}\n\nexport type Traits =\n  | NonNullable<ReturnType<typeof useAttributes>['data']>\n  | undefined\n\nexport type Trait =\n  | {\n      key: string\n      value: string\n      floorAskPrice?: number\n    }\n  | undefined\n\ntype Exchange = NonNullable<Marketplace['exchanges']>['string']\n\ntype ChildrenProps = {\n  token?: NonNullable<NonNullable<ReturnType<typeof useTokens>>['data']>[0]\n  collection?: NonNullable<ReturnType<typeof useCollections>['data']>[0]\n  attributes?: Traits\n  bidAmountPerUnit: string\n  totalBidAmount: bigint\n  totalBidAmountUsd: number\n  quantity: number\n  setQuantity: React.Dispatch<React.SetStateAction<number>>\n  bidData: BidData | null\n  bidStep: BidStep\n  hasEnoughNativeCurrency: boolean\n  hasEnoughWrappedCurrency: boolean\n  hasAuxiliaryFundsSupport: boolean\n  loading: boolean\n  traitBidSupported: boolean\n  collectionBidSupported: boolean\n  partialBidSupported: boolean\n  biddingSupported: boolean\n  amountToWrap: string\n  usdPrice: number | null\n  balance?: FetchBalanceResult\n  wrappedBalance?: [bigint, number, string]\n  wrappedContractName: string\n  wrappedContractAddress: string\n  canAutomaticallyConvert: boolean\n  convertLink: string\n  transactionError?: Error | null\n  expirationOptions: ExpirationOption[]\n  expirationOption: ExpirationOption\n  stepData: BidModalStepData | null\n  currencies: Currency[]\n  currency?: Currency\n  exchange?: Exchange\n  feeBps?: number\n  setCurrency: (currency: Currency) => void\n  setBidStep: React.Dispatch<React.SetStateAction<BidStep>>\n  setBidAmountPerUnit: React.Dispatch<React.SetStateAction<string>>\n  setExpirationOption: React.Dispatch<React.SetStateAction<ExpirationOption>>\n  setTrait: React.Dispatch<React.SetStateAction<Trait>>\n  trait: Trait\n  placeBid: (options?: { royaltyBps?: number }) => void\n}\n\ntype Props = {\n  open: boolean\n  tokenId?: string\n  chainId?: number\n  collectionId?: string\n  attribute?: Trait\n  normalizeRoyalties?: boolean\n  currencies?: Currency[]\n  conduitKey?: string\n  oracleEnabled: boolean\n  feesBps?: string[] | null\n  orderKind?: BidData['orderKind']\n  children: (props: ChildrenProps) => ReactNode\n  walletClient?: ReservoirWallet | WalletClient\n  usePermit?: boolean\n}\n\nexport const BID_AMOUNT_MINIMUM = 0.000001\n\nexport type BidData = Parameters<\n  ReservoirClientActions['placeBid']\n>['0']['bids'][0]\n\nexport type BidModalStepData = {\n  totalSteps: number\n  stepProgress: number\n  currentStep: Execute['steps'][0]\n}\n\nexport const BidModalRenderer: FC<Props> = ({\n  open,\n  tokenId,\n  chainId,\n  collectionId,\n  orderKind,\n  attribute,\n  conduitKey,\n  normalizeRoyalties,\n  currencies: preferredCurrencies,\n  oracleEnabled = false,\n  feesBps,\n  children,\n  walletClient,\n  usePermit,\n}) => {\n  const providerOptions = useContext(ProviderOptionsContext)\n  const client = useReservoirClient()\n  const currentChain = client?.currentChain()\n\n  const rendererChain = chainId\n    ? client?.chains.find(({ id }) => id === chainId) || currentChain\n    : currentChain\n\n  const { data: wagmiWallet } = useWalletClient({ chainId: rendererChain?.id })\n  const config = useConfig()\n\n  const wallet = walletClient || wagmiWallet\n\n  const [bidStep, setBidStep] = useState<BidStep>(BidStep.SetPrice)\n  const [transactionError, setTransactionError] = useState<Error | null>()\n  const [bidAmountPerUnit, setBidAmountPerUnit] = useState<string>('')\n  const [quantity, setQuantity] = useState(1)\n  const [expirationOption, setExpirationOption] = useState<ExpirationOption>(\n    expirationOptions[3]\n  )\n  const [hasEnoughNativeCurrency, setHasEnoughNativeCurrency] = useState(false)\n  const [hasEnoughWrappedCurrency, setHasEnoughWrappedCurrency] =\n    useState(false)\n  const [amountToWrap, setAmountToWrap] = useState('')\n  const [stepData, setStepData] = useState<BidModalStepData | null>(null)\n  const [bidData, setBidData] = useState<BidData | null>(null)\n  const contract = collectionId ? collectionId?.split(':')[0] : undefined\n  const [trait, setTrait] = useState<Trait>(attribute)\n  const [attributes, setAttributes] = useState<Traits>()\n  const chainCurrency = useChainCurrency(rendererChain?.id)\n  const nativeWrappedContractAddress =\n    chainCurrency.chainId in wrappedContracts\n      ? wrappedContracts[chainCurrency.chainId]\n      : wrappedContracts[1]\n  const nativeWrappedContractName =\n    chainCurrency.chainId in wrappedContractNames\n      ? wrappedContractNames[chainCurrency.chainId]\n      : wrappedContractNames[1]\n\n  const defaultCurrency = {\n    contract: nativeWrappedContractAddress,\n    symbol: nativeWrappedContractName,\n  }\n  const [currency, setCurrency] = useState<Currency>(\n    preferredCurrencies && preferredCurrencies[0]\n      ? preferredCurrencies[0]\n      : defaultCurrency\n  )\n  const [currencies, setCurrencies] = useState<Currency[] | undefined>(\n    preferredCurrencies\n  )\n\n  const wrappedContractAddress = currency\n    ? currency.contract\n    : nativeWrappedContractAddress\n  const wrappedContractName = currency\n    ? currency.symbol\n    : nativeWrappedContractName\n\n  const { data: tokens } = useTokens(\n    open &&\n      tokenId !== undefined && {\n        tokens: [`${contract}:${tokenId}`],\n        includeTopBid: true,\n        normalizeRoyalties,\n      },\n    {\n      revalidateFirstPage: true,\n    },\n    rendererChain?.id\n  )\n\n  const { data: traits } = useAttributes(\n    open && !tokenId ? collectionId : undefined,\n    rendererChain?.id\n  )\n\n  const { data: collections } = useCollections(\n    open && {\n      id: collectionId,\n      normalizeRoyalties,\n    },\n    {},\n    rendererChain?.id\n  )\n\n  const collection = collections && collections[0] ? collections[0] : undefined\n\n  const token = tokens && tokens.length > 0 ? tokens[0] : undefined\n  const usdConversion = useCoinConversion(\n    open ? 'USD' : undefined,\n    wrappedContractName\n  )\n  const usdPrice = usdConversion.length > 0 ? usdConversion[0].price : null\n  const totalBidAmount =\n    parseUnits(bidAmountPerUnit, currency?.decimals ?? 18) *\n    BigInt(quantity ?? 1)\n  const totalBidAmountUsd =\n    Number(formatUnits(totalBidAmount, currency?.decimals ?? 18)) *\n    (usdPrice || 0)\n\n  const [allMarketplaces] = useMarketplaces(\n    collectionId,\n    tokenId,\n    undefined,\n    undefined,\n    rendererChain?.id,\n    open\n  )\n\n  const reservoirMarketplace = useMemo(\n    () =>\n      allMarketplaces.find(\n        (marketplace) => marketplace.orderbook === 'reservoir'\n      ),\n    [allMarketplaces]\n  )\n\n  const exchange = useMemo(() => {\n    const exchanges: Record<string, Exchange> =\n      reservoirMarketplace?.exchanges || {}\n    const exchange = orderKind\n      ? exchanges[orderKind]\n      : Object.values(exchanges).find((exchange) => exchange?.enabled)\n    return exchange?.enabled ? exchange : undefined\n  }, [reservoirMarketplace, orderKind])\n\n  const traitBidSupported = Boolean(exchange?.traitBidSupported)\n  const collectionBidSupported = Boolean(exchange?.collectionBidSupported)\n  const partialBidSupported = Boolean(exchange?.partialOrderSupported)\n  const biddingSupported = exchange?.supportedBidCurrencies\n    ? exchange?.supportedBidCurrencies?.length > 0\n    : false\n\n  // Set bid step to unavailable if collection bid is not supported or if bidding is not supported\n  useEffect(() => {\n    if (\n      open &&\n      reservoirMarketplace &&\n      ((!tokenId && !collectionBidSupported) || !biddingSupported)\n    ) {\n      setBidStep(BidStep.Unavailable)\n    } else {\n      setBidStep(BidStep.SetPrice)\n    }\n  }, [\n    open,\n    tokenId,\n    reservoirMarketplace,\n    collectionBidSupported,\n    biddingSupported,\n  ])\n\n  const { address, connector } = useAccount()\n\n  const { data: capabilities } = useCapabilities({\n    query: {\n      enabled:\n        connector &&\n        (connector.id === 'coinbaseWalletSDK' || connector.id === 'coinbase'),\n    },\n  })\n  const hasAuxiliaryFundsSupport = Boolean(\n    rendererChain?.id\n      ? capabilities?.[rendererChain?.id]?.auxiliaryFunds?.supported\n      : false\n  )\n\n  const { data: balance } = useBalance({\n    address: address,\n    chainId: rendererChain?.id,\n    query: {\n      enabled: open,\n    },\n  })\n\n  const { data: wrappedBalance } = useReadContracts({\n    allowFailure: false,\n    contracts: [\n      {\n        address: wrappedContractAddress as Address,\n        abi: erc20Abi,\n        functionName: 'balanceOf',\n        chainId: rendererChain?.id,\n        args: [address as Address],\n      },\n      {\n        address: wrappedContractAddress as Address,\n        abi: erc20Abi,\n        chainId: rendererChain?.id,\n        functionName: 'decimals',\n      },\n      {\n        address: wrappedContractAddress as Address,\n        abi: erc20Abi,\n        chainId: rendererChain?.id,\n        functionName: 'symbol',\n      },\n    ],\n    query: {\n      enabled: Boolean(open && address !== undefined),\n    },\n  })\n\n  const { relayLink } = useRelayChains(rendererChain?.id)\n\n  const canAutomaticallyConvert =\n    !currency ||\n    currency.contract.toLowerCase() ===\n      nativeWrappedContractAddress.toLowerCase()\n  let convertLink: string = ''\n\n  if (providerOptions?.convertLink) {\n    convertLink =\n      providerOptions.convertLink.tokenUrl ??\n      providerOptions.convertLink.chainUrl ??\n      providerOptions.convertLink.customUrl?.({\n        toChain: rendererChain?.id,\n        toToken: wrappedContractAddress,\n        amountToWrap: amountToWrap,\n      }) ??\n      ''\n    if (rendererChain?.id) {\n      convertLink = convertLink.replace('{toChain}', `${rendererChain.id}`)\n    }\n    convertLink = convertLink.replace('{toToken}', wrappedContractAddress)\n  } else if (relayLink) {\n    convertLink = `${relayLink}?toCurrency=${wrappedContractAddress}&fromChainId=${rendererChain?.id}&fromCurrency=${chainCurrency.address}`\n  } else if (canAutomaticallyConvert) {\n    convertLink =\n      rendererChain?.id === mainnet.id || rendererChain?.id === goerli.id\n        ? `https://app.uniswap.org/#/swap?theme=dark&exactAmount=${amountToWrap}&chain=mainnet&inputCurrency=eth&outputCurrency=${wrappedContractAddress}`\n        : `https://app.uniswap.org/#/swap?theme=dark&exactAmount=${amountToWrap}`\n  } else {\n    convertLink = `https://jumper.exchange/?toChain=${rendererChain?.id}&toToken=${wrappedContractAddress}`\n  }\n\n  const feeBps: number | undefined = useMemo(() => {\n    let totalFeeBps = 0\n    const bpsFees = feesBps || client?.marketplaceFees\n    totalFeeBps +=\n      bpsFees?.reduce((total, fee) => {\n        const bps = Number(fee.split(':')[1])\n        total += bps\n        return total\n      }, 0) ?? 0\n    totalFeeBps += exchange?.fee?.bps ?? 0\n    return totalFeeBps\n  }, [feesBps, client?.marketplaceFees, currency, exchange])\n\n  useEffect(() => {\n    if (totalBidAmount !== 0n) {\n      const bid = totalBidAmount\n\n      if (!wrappedBalance?.[0] || wrappedBalance?.[0] < bid) {\n        setHasEnoughWrappedCurrency(false)\n        const wrappedAmount = wrappedBalance?.[0]\n          ? BigInt(wrappedBalance?.[0])\n          : BigInt(0)\n        const amountToWrap = bid - wrappedAmount\n        setAmountToWrap(formatBN(amountToWrap, 5))\n\n        if (!balance?.value || balance.value < amountToWrap) {\n          setHasEnoughNativeCurrency(false)\n        } else {\n          setHasEnoughNativeCurrency(true)\n        }\n      } else {\n        setHasEnoughWrappedCurrency(true)\n        setHasEnoughNativeCurrency(true)\n        setAmountToWrap('')\n      }\n    } else {\n      setHasEnoughNativeCurrency(true)\n      setHasEnoughWrappedCurrency(true)\n      setAmountToWrap('')\n    }\n  }, [totalBidAmount, balance, wrappedBalance])\n\n  useEffect(() => {\n    const validAttributes = traits\n      ? traits.filter(\n          (attribute) => attribute.values && attribute.values.length > 0\n        )\n      : undefined\n    setAttributes(validAttributes)\n  }, [traits])\n\n  useEffect(() => {\n    const validAttributes = traits\n      ? traits.filter(\n          (attribute) => attribute.values && attribute.values.length > 0\n        )\n      : undefined\n    setAttributes(validAttributes)\n  }, [traits])\n\n  useEffect(() => {\n    if (!open) {\n      setBidStep(BidStep.SetPrice)\n      setExpirationOption(expirationOptions[3])\n      setHasEnoughNativeCurrency(false)\n      setHasEnoughWrappedCurrency(false)\n      setAmountToWrap('')\n      setBidAmountPerUnit('')\n      setQuantity(1)\n      setStepData(null)\n      setBidData(null)\n      setTransactionError(null)\n      setTrait(undefined)\n    } else {\n      setTrait(attribute)\n    }\n    setCurrency(currencies && currencies[0] ? currencies[0] : defaultCurrency)\n  }, [open])\n\n  open\n    ? (axios.defaults.headers.common['x-rkui-context'] = 'bidModalRenderer')\n    : delete axios.defaults.headers.common?.['x-rkui-context']\n\n  useEffect(() => {\n    const setDefaultCurrency = async () => {\n      const supportedCurrencies =\n        exchange?.supportedBidCurrencies?.map((currency) => {\n          return {\n            address: currency?.address?.toLowerCase() as string,\n            contract: currency?.address?.toLowerCase() as string,\n            decimals: currency?.decimals ?? 18,\n            name: currency?.name ?? '',\n            symbol: currency?.symbol ?? '',\n          }\n        }) || []\n      const supportedCurrencyAddresses = supportedCurrencies.map(\n        (currency) => currency.address\n      )\n      if (exchange?.paymentTokens) {\n        let restrictedCurrencies = exchange.paymentTokens\n          .filter(\n            (token) =>\n              token.address &&\n              token.symbol &&\n              supportedCurrencyAddresses.includes(token.address.toLowerCase())\n          )\n          .map((token) => ({\n            contract: token.address as string,\n            decimals: token.decimals,\n            name: token.name,\n            symbol: token.symbol as string,\n          }))\n        if (!restrictedCurrencies.length) {\n          restrictedCurrencies = supportedCurrencies ?? []\n        }\n        setCurrencies(restrictedCurrencies)\n\n        if (\n          !restrictedCurrencies.find(\n            (c) => currency.contract.toLowerCase() == c.contract.toLowerCase()\n          )\n        ) {\n          setCurrency(restrictedCurrencies[0])\n        }\n      } else {\n        const currencies = preferredCurrencies?.filter((currency) =>\n          currency.contract.toLowerCase()\n        )\n        setCurrency(\n          currencies && currencies[0] ? currencies[0] : defaultCurrency\n        )\n        setCurrencies(preferredCurrencies)\n      }\n    }\n    setDefaultCurrency()\n  }, [exchange, open])\n\n  useEffect(() => {\n    if (currencies && currencies.length > 5) {\n      console.warn(\n        'The BidModal UI was designed to have a maximum of 5 currencies, going above 5 may degrade the user experience.'\n      )\n    }\n  }, [currencies])\n\n  const placeBid = useCallback(\n    async (options?: { royaltyBps?: number }) => {\n      if (!wallet) {\n        const error = new Error('Missing a wallet/signer')\n        setTransactionError(error)\n        throw error\n      }\n\n      let activeWalletChain = getAccount(config).chain\n      if (rendererChain?.id !== activeWalletChain?.id) {\n        activeWalletChain = await switchChain(config, {\n          chainId: rendererChain?.id as number,\n        })\n      }\n\n      if (rendererChain?.id !== activeWalletChain?.id) {\n        const error = new Error(`Mismatching chainIds`)\n        setTransactionError(error)\n        throw error\n      }\n\n      if (!tokenId && !collectionId) {\n        const error = new Error('Missing tokenId and collectionId')\n        setTransactionError(error)\n        throw error\n      }\n\n      if (!client) {\n        const error = new Error('ReservoirClient was not initialized')\n        setTransactionError(error)\n        throw error\n      }\n\n      if (!tokenId && !collectionBidSupported) {\n        const error = new Error(\n          'Collection bids are not supported for this collection'\n        )\n        setTransactionError(error)\n        throw error\n      }\n\n      if (!exchange) {\n        const error = new Error('Missing Exchange')\n        setTransactionError(error)\n        throw error\n      }\n\n      setBidStep(BidStep.Offering)\n      setTransactionError(null)\n      setBidData(null)\n\n      const bid: BidData = {\n        weiPrice: totalBidAmount.toString(),\n        orderbook: 'reservoir',\n        orderKind:\n          orderKind ||\n          (exchange?.orderKind as BidData['orderKind']) ||\n          'seaport',\n        attributeKey: traitBidSupported ? trait?.key : undefined,\n        attributeValue: traitBidSupported ? trait?.value : undefined,\n      }\n\n      if (feesBps && feesBps?.length > 0) {\n        bid.marketplaceFees = feesBps\n      } else if (!feesBps) {\n        delete bid.fees\n        delete bid.marketplaceFees\n      }\n\n      if (currency) {\n        bid.currency = currency.contract\n      }\n\n      if (tokenId && collectionId) {\n        const contract = collectionId ? collectionId?.split(':')[0] : undefined\n        bid.token = `${contract}:${tokenId}`\n      } else if (collectionId) {\n        bid.collection = collectionId\n      }\n\n      if (expirationOption.relativeTime) {\n        if (expirationOption.relativeTimeUnit) {\n          bid.expirationTime = dayjs()\n            .add(\n              expirationOption.relativeTime,\n              expirationOption.relativeTimeUnit\n            )\n            .unix()\n            .toString()\n        } else {\n          bid.expirationTime = `${expirationOption.relativeTime}`\n        }\n      }\n\n      if (oracleEnabled || conduitKey) {\n        bid.options = {\n          [exchange.orderKind as string]: {\n            useOffChainCancellation: oracleEnabled,\n            conduitKey,\n          },\n        }\n      }\n\n      if (usePermit) {\n        bid.usePermit = true\n      }\n\n      if (quantity > 1) {\n        bid.quantity = quantity\n      }\n\n      if (options?.royaltyBps !== undefined) {\n        bid.royaltyBps = options.royaltyBps\n      }\n\n      setBidData(bid)\n\n      client.actions\n        .placeBid({\n          chainId: rendererChain?.id,\n          wallet,\n          bids: [bid],\n          onProgress: (steps: Execute['steps']) => {\n            const executableSteps = steps.filter(\n              (step) => step.items && step.items.length > 0\n            )\n\n            let stepCount = executableSteps.length\n            let incompleteStepItemIndex: number | null = null\n            let incompleteStepIndex: number | null = null\n\n            executableSteps.find((step, i) => {\n              if (!step.items) {\n                return false\n              }\n\n              incompleteStepItemIndex = step.items.findIndex(\n                (item) => item.status == 'incomplete'\n              )\n              if (incompleteStepItemIndex !== -1) {\n                incompleteStepIndex = i\n                return true\n              }\n            })\n\n            if (incompleteStepIndex !== null) {\n              setStepData({\n                totalSteps: stepCount,\n                stepProgress: incompleteStepIndex,\n                currentStep: executableSteps[incompleteStepIndex],\n              })\n            } else {\n              setBidStep(BidStep.Complete)\n            }\n          },\n        })\n        .catch((e: Error) => {\n          setTransactionError(e)\n        })\n    },\n    [\n      config,\n      tokenId,\n      rendererChain,\n      collectionId,\n      currency,\n      client,\n      wallet,\n      totalBidAmount,\n      expirationOption,\n      trait,\n      quantity,\n      feesBps,\n      exchange,\n      usePermit,\n      conduitKey,\n    ]\n  )\n\n  return (\n    <>\n      {children({\n        token,\n        collection,\n        attributes,\n        usdPrice,\n        balance,\n        wrappedBalance,\n        wrappedContractName,\n        wrappedContractAddress,\n        convertLink,\n        canAutomaticallyConvert,\n        bidAmountPerUnit,\n        totalBidAmount,\n        quantity,\n        setQuantity,\n        bidData,\n        totalBidAmountUsd,\n        bidStep,\n        loading: !collection || !reservoirMarketplace,\n        hasEnoughNativeCurrency,\n        hasEnoughWrappedCurrency,\n        hasAuxiliaryFundsSupport,\n        traitBidSupported,\n        collectionBidSupported,\n        partialBidSupported,\n        biddingSupported,\n        amountToWrap,\n        transactionError,\n        expirationOption,\n        expirationOptions,\n        stepData,\n        currencies: currencies || [defaultCurrency],\n        currency,\n        exchange,\n        feeBps,\n        setCurrency,\n        setBidStep,\n        setBidAmountPerUnit,\n        setExpirationOption,\n        setTrait,\n        trait,\n        placeBid,\n      })}\n    </>\n  )\n}\n","const wrappedContractNames: Record<number, string> = {\n  1: 'WETH', //mainnet\n  10: 'WETH', //optimism\n  56: 'WBNB', //bnb\n  204: 'WBNB', //opbnb\n  137: 'WMATIC', //polygon\n  1101: 'WETH ', // zkEVM\n  324: 'WETH', //weth\n  42161: 'WETH', //arbitrum\n  42170: 'WETH', //arbitrum nova\n  43114: 'WAVAX', //avalance\n  59144: 'WETH',\n  999: 'WETH', //zoratestnet\n  80002: 'WMATIC', //amoy\n  8453: 'WETH', //base\n  84532: 'WETH', //base sepolia\n  534353: 'WETH', //scrolltestnet\n  534352: 'WETH', //scroll\n  7777777: 'WETH', //zora\n  11155111: 'WETH', //sepolia\n  888888888: 'WETH', //ancient8\n  28122024: 'WETH', //ancient8 testnet\n  68840142: 'WETH', //frametestnet\n  168587773: 'WETH', //blast sepolia\n  70700: 'WETH', //apex pop\n  70800: 'WETH', //apex pop testnet\n  81457: 'WETH', //blast\n  3776: 'WETH', // astar zkevm,\n  17069: 'WETH', // garnet\n  690: 'WETH', // redstone\n  80084: 'WBERA', // berachain testnet\n  666666666: 'WDEGEN', // degen\n  660279: 'WXAI', // xai\n  1482601649: 'ETH', // nebula\n  713715: 'WSEI', // sei testnet\n  7560: 'WETH', // cyber\n  200901: 'WBTC', // bitlayer\n  1329: 'WSEI', // sei\n  1993: 'WETH', // b3 testnet\n  646: 'WFLOW', // flow previewnet\n  70805: 'WETH', // cloud\n  13746: 'WTG7T', // game7 testnet\n  70701: 'WETH', // boss\n  984122: 'WTIA', // forma\n  984123: 'WTIA', // forma sketchpad\n  8333: 'WETH', // b3\n  33139: 'WAPE', // apechain\n  33111: 'WAPE', // apechain\n  360: 'WETH', // shape\n  11011: 'WETH', // shape sepolia\n  11124: 'WETH', // abstract testnet\n  1946: 'WETH', // minato\n  2911: 'WTOPIA', // hychain\n  29112: 'WTOPIA', // hychain testnet\n  747: 'WFLOW', // flow\n  543210: 'WETH', // zero\n  43210: 'WETH', // zero testnet\n  2741: 'WETH', // abstract\n  6900: 'WANIME', // anime testnet\n  41454: 'WMON', // monad devnet\n  10143: 'WMON', // monad testnet\n  2187: 'WG7', //game7\n  4654: 'WETH', // creator testnet\n  1868: 'WETH', // Soneium\n  1516: 'WIP', // Story Odyssey\n  57073: 'WETH', // Ink\n  80094: 'WBERA', // Berachain\n  69000: 'WANIME', // Anime\n}\nexport default wrappedContractNames\n","import { useTokens, useCollections, useTimeSince } from '../../hooks'\nimport React, { FC } from 'react'\nimport {\n  ChainIcon,\n  Divider,\n  Flex,\n  FormatCryptoCurrency,\n  Img,\n  Text,\n} from '../../primitives'\nimport { ReservoirChain } from '@reservoir0x/reservoir-sdk'\nimport { Currency } from '../../types/Currency'\nimport { ExpirationOption } from '../../types/ExpirationOption'\nimport { CSS } from '@stitches/react'\nimport { Trait } from './BidModalRenderer'\n\ntype Props = {\n  token?: NonNullable<NonNullable<ReturnType<typeof useTokens>>['data']>['0']\n  collection: NonNullable<ReturnType<typeof useCollections>['data']>[0]\n  chain?: ReservoirChain | null\n  price?: number | bigint\n  currency?: Currency\n  quantity?: number\n  trait?: Trait\n  expirationOption?: ExpirationOption\n  containerCss?: CSS\n}\n\nconst TokenInfo: FC<Props> = ({\n  token,\n  collection,\n  chain,\n  price,\n  currency,\n  quantity,\n  trait,\n  expirationOption,\n  containerCss,\n}) => {\n  const expirationDisplay =\n    expirationOption?.value === 'custom' && expirationOption.relativeTime\n      ? useTimeSince(expirationOption.relativeTime)\n      : `in ${expirationOption?.text.toLowerCase()}`\n\n  const floorAsk = token?.market?.floorAsk ?? collection?.floorAsk\n  const topBid = token?.market?.topBid ?? collection?.topBid\n\n  const tokenName = token?.token?.name\n    ? token?.token?.name\n    : `#${token?.token?.tokenId}`\n\n  return (\n    <Flex\n      align=\"start\"\n      justify=\"between\"\n      direction={price ? 'row' : 'column'}\n      css={{ p: '$4', gap: '$4', ...containerCss }}\n    >\n      <Flex align=\"center\" css={{ gap: '$3', overflow: 'hidden' }}>\n        <Img\n          src={token?.token?.imageSmall || collection?.image}\n          alt={token?.token?.name || collection?.name}\n          css={{ width: 56, height: 56, borderRadius: 4, aspectRatio: '1/1' }}\n        />\n        <Flex direction=\"column\" css={{ gap: '$1', overflow: 'hidden' }}>\n          <Text style=\"h6\" ellipsify>\n            {token ? tokenName : collection?.name}\n          </Text>\n          <Flex align=\"center\" css={{ gap: '$1' }}>\n            <Text style=\"subtitle2\" color=\"subtle\" ellipsify>\n              {token ? collection?.name : null}\n            </Text>\n            {chain && !expirationOption ? (\n              <>\n                {token ? <Divider direction=\"vertical\" /> : null}\n                <ChainIcon chainId={chain.id} height={12} />\n                <Text style=\"subtitle2\" color=\"subtle\" ellipsify>\n                  {chain.name}\n                </Text>\n              </>\n            ) : null}\n          </Flex>\n          <Flex css={{ gap: '$1' }}>\n            {trait ? (\n              <Flex\n                css={{\n                  width: 'max-content',\n                  backgroundColor: '$neutralBg',\n                  borderRadius: 4,\n                  py: '$1',\n                  px: '$2',\n                }}\n              >\n                <Text style=\"body3\" color=\"subtle\" ellipsify>\n                  {trait?.key}: {trait?.value}\n                </Text>\n              </Flex>\n            ) : null}\n            {quantity && quantity > 1 ? (\n              <Flex\n                css={{\n                  width: 'max-content',\n                  backgroundColor: '$neutralBg',\n                  borderRadius: 4,\n                  py: '$1',\n                  px: '$2',\n                }}\n              >\n                <Text style=\"body3\" color=\"subtle\" ellipsify>\n                  {quantity} items\n                </Text>\n              </Flex>\n            ) : null}\n          </Flex>\n        </Flex>\n      </Flex>\n\n      {!price ? (\n        <Flex\n          align=\"center\"\n          css={{\n            gap: '$2',\n            flexShrink: 0,\n          }}\n        >\n          {floorAsk?.price ? (\n            <Flex css={{ gap: '$1' }}>\n              <Text style=\"subtitle2\" color=\"subtle\">\n                Floor Price\n              </Text>\n              <FormatCryptoCurrency\n                amount={floorAsk?.price?.amount?.decimal}\n                address={floorAsk?.price?.currency?.contract}\n                symbol={floorAsk?.price?.currency?.symbol}\n                decimals={floorAsk?.price?.currency?.decimals}\n                textStyle=\"subtitle2\"\n              />\n            </Flex>\n          ) : null}\n          {floorAsk?.price && topBid?.price ? (\n            <Divider direction=\"vertical\" css={{ display: 'block' }} />\n          ) : null}\n          {topBid?.price ? (\n            <Flex css={{ gap: '$1' }}>\n              <Text style=\"subtitle2\" color=\"subtle\">\n                Best Offer\n              </Text>\n              <FormatCryptoCurrency\n                amount={topBid?.price?.amount?.decimal}\n                address={topBid?.price?.currency?.contract}\n                symbol={topBid?.price?.currency?.symbol}\n                decimals={topBid?.price?.currency?.decimals}\n                textStyle=\"subtitle2\"\n              />\n            </Flex>\n          ) : null}\n        </Flex>\n      ) : (\n        <Flex direction=\"column\" align=\"end\" css={{ gap: '$1', flexShrink: 0 }}>\n          {price && currency ? (\n            <FormatCryptoCurrency\n              amount={price}\n              address={currency?.contract}\n              symbol={currency?.symbol}\n              textStyle=\"h6\"\n            />\n          ) : null}\n          {expirationOption ? (\n            <Text style=\"body2\" color=\"subtle\">\n              Expires {expirationDisplay}\n            </Text>\n          ) : null}\n        </Flex>\n      )}\n    </Flex>\n  )\n}\n\nexport default TokenInfo\n","import { Box, Flex } from '../primitives'\nimport React, { FC, ComponentPropsWithoutRef } from 'react'\nimport { styled, keyframes } from '../../stitches.config'\n\ntype Props = {\n  fromImg: string\n  toImgs: string[]\n} & ComponentPropsWithoutRef<typeof Flex>\n\nconst Img = styled('img', {\n  width: 56,\n  height: 56,\n  borderRadius: 4,\n  objectFit: 'cover',\n  '& + img': {\n    ml: -20,\n  },\n})\n\nconst ProgressDot = styled(Box, {\n  borderRadius: '50%',\n  width: 5,\n  height: 5,\n})\n\nconst loadingStart = keyframes({\n  '0%': { transform: 'scale(0.8)', backgroundColor: '$neutralSolid' },\n  '20%': { transform: 'scale(1)', backgroundColor: '$accentText' },\n  '100%': { transform: 'scale(0.8)', backgroundColor: '$neutralSolid' },\n})\n\nconst loadingMiddle = keyframes({\n  '0%': { transform: 'scale(0.8)', backgroundColor: '$neutralSolid' },\n  '20%': { transform: 'scale(0.8)', backgroundColor: '$neutralSolid' },\n  '40%': { transform: 'scale(1)', backgroundColor: '$accentText' },\n  '100%': { transform: 'scale(0.8)', backgroundColor: '$neutralSolid' },\n})\n\nconst loadingEnd = keyframes({\n  '0%': { transform: 'scale(0.8)', backgroundColor: '$neutralSolid' },\n  '40%': { transform: 'scale(0.8)', backgroundColor: '$neutralSolid' },\n  '60%': { transform: 'scale(1)', backgroundColor: '$accentText' },\n  '100%': { transform: 'scale(0.8)', backgroundColor: '$neutralSolid' },\n})\n\nconst TransactionProgress: FC<Props> = ({ fromImg, toImgs, ...props }) => {\n  return (\n    <Flex {...props} align=\"center\">\n      <Img src={fromImg} />\n      <Flex css={{ gap: '$1', mx: 23 }}>\n        <ProgressDot\n          css={{ animation: `${loadingStart} 1s ease-in-out infinite` }}\n        />\n        <ProgressDot\n          css={{ animation: `${loadingMiddle} 1s ease-in-out infinite` }}\n        />\n        <ProgressDot\n          css={{ animation: `${loadingEnd} 1s ease-in-out infinite` }}\n        />\n      </Flex>\n      {toImgs.map((src, i) => (\n        <Img key={i} src={src} />\n      ))}\n    </Flex>\n  )\n}\n\nexport default TransactionProgress\n","import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport React, { FC, useEffect, useState } from 'react'\nimport { Flex, FormatCryptoCurrency, Input, Text } from '../../primitives'\nimport ScrollArea from '../../primitives/ScrollArea'\nimport { Trait } from './BidModalRenderer'\nimport { faMagnifyingGlass } from '@fortawesome/free-solid-svg-icons/faMagnifyingGlass'\n\nimport { useAttributes } from '../../hooks'\n\ntype Props = {\n  attributes?: NonNullable<ReturnType<typeof useAttributes>['data']>\n  tokenCount?: number\n  chainId?: number\n  setTrait: React.Dispatch<React.SetStateAction<Trait>>\n  setOpen: React.Dispatch<React.SetStateAction<boolean>>\n}\n\nconst AttributeSelector: FC<Props> = ({\n  attributes,\n  chainId,\n  setTrait,\n  setOpen,\n  tokenCount,\n}) => {\n  const [results, setResults] = useState<Props['attributes']>([])\n  const [query, setQuery] = useState('')\n\n  useEffect(() => {\n    if (query === '') {\n      setResults(attributes)\n    } else {\n      let results: Props['attributes'] = []\n      attributes?.forEach((attribute) => {\n        const values = attribute.values?.filter(({ value }) =>\n          value.toLowerCase().includes(query.toLowerCase())\n        )\n        if (values && values.length > 0) {\n          results?.push({\n            ...attribute,\n            values: values,\n          })\n        }\n      })\n      setResults(results ? [...results] : [])\n    }\n  }, [query])\n\n  if (!attributes) return null\n\n  return (\n    <Flex\n      direction=\"column\"\n      css={{\n        width: '100%',\n        maxWidth: 484,\n        maxHeight: 250,\n        '@bp1': { maxHeight: 500 },\n        zIndex: 1000,\n        padding: '$4',\n        overflowY: 'auto',\n        borderRadius: '$space$2',\n        backgroundColor: '$contentBackground',\n        border: '1px solid $borderColor',\n      }}\n    >\n      <Input\n        css={{ marginBottom: '$4', padding: '$space$4 $space$4 $space$4 48px' }}\n        placeholder=\"Filter attribute\"\n        value={query}\n        onChange={(e) => setQuery(e.target.value)}\n        iconCss={{ top: '26px', color: '$neutralText' }}\n        icon={\n          <FontAwesomeIcon icon={faMagnifyingGlass} width={16} height={16} />\n        }\n      />\n      <Flex\n        justify=\"between\"\n        align=\"center\"\n        css={{\n          borderBottom: '1px solid $borderColor',\n          pb: '$2',\n          mb: '$4',\n          width: '100%',\n        }}\n      >\n        <Text color=\"subtle\" style=\"subtitle3\">\n          Trait\n        </Text>\n        <Text color=\"subtle\" style=\"subtitle3\">\n          Floor\n        </Text>\n      </Flex>\n      <ScrollArea\n        css={{ width: '100%', minWidth: '80vw', '@bp1': { minWidth: 468 } }}\n      >\n        {results?.map(({ key, values }) => {\n          if (values?.length === 0) return null\n\n          return (\n            <Flex\n              direction=\"column\"\n              key={key}\n              css={{ gap: '$2', marginBottom: '$3', width: '100%' }}\n            >\n              <Text style=\"subtitle2\" color=\"accent\" as=\"div\">\n                {key}\n              </Text>\n              <Flex direction=\"column\" css={{ width: '100%' }}>\n                {values?.map(({ value, count, floorAskPrice }) => (\n                  <Flex\n                    key={value}\n                    justify=\"between\"\n                    align=\"center\"\n                    css={{\n                      cursor: 'pointer',\n                      borderRadius: '$space$2',\n                      width: '100%',\n                      py: '$3',\n                      backgroundColor: '$contentBackground',\n                      transition: 'background-color 0.25s ease-in-out',\n                      '&:hover': {\n                        backgroundColor: '$neutralBgHover',\n                      },\n                    }}\n                    as=\"button\"\n                    onClick={() => {\n                      setTrait({\n                        key,\n                        value,\n                        floorAskPrice: floorAskPrice?.amount?.decimal,\n                      })\n                      setOpen(false)\n                    }}\n                  >\n                    <Flex\n                      justify=\"between\"\n                      css={{\n                        gap: '$2',\n                      }}\n                    >\n                      <Text ellipsify style=\"subtitle2\">\n                        {value}\n                      </Text>\n                      <Text style=\"body2\" color=\"subtle\">\n                        {count && tokenCount\n                          ? `${Math.round((count / tokenCount) * 100)}%`\n                          : '-'}\n                      </Text>\n                    </Flex>\n\n                    <FormatCryptoCurrency\n                      chainId={chainId}\n                      amount={floorAskPrice?.amount?.decimal}\n                      logoWidth={10}\n                      maximumFractionDigits={1}\n                      textStyle=\"subtitle2\"\n                      css={{ pr: '$4' }}\n                    />\n                  </Flex>\n                ))}\n              </Flex>\n            </Flex>\n          )\n        })}\n      </ScrollArea>\n    </Flex>\n  )\n}\n\nexport default AttributeSelector\n","import { CSSProps, styled } from '../../stitches.config'\nimport * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area'\nimport React from 'react'\n\nconst SCROLLBAR_SIZE = 10\n\nconst ScrollArea = styled(ScrollAreaPrimitive.Root, {\n  height: 322,\n  borderRadius: '$space$2',\n  overflow: 'hidden',\n  boxShadow: `0 2px 10px $inputBackground`,\n})\ntype ScrollAreaProps = ScrollAreaPrimitive.ScrollAreaProps & CSSProps\n\nconst ScrollAreaViewport = styled(ScrollAreaPrimitive.Viewport, {\n  backgroundColor: 'transparent',\n  width: '100%',\n  height: '100%',\n  borderRadius: 'inherit',\n})\n\nconst ScrollAreaScrollbar = styled(ScrollAreaPrimitive.Scrollbar, {\n  display: 'flex',\n  // ensures no selection\n  userSelect: 'none',\n  // disable browser handling of all panning and zooming gestures on touch devices\n  touchAction: 'none',\n  padding: 2,\n  background: '$inputBackground',\n  transition: 'background 160ms ease-out',\n  '&:hover': { background: '$inputBackground' },\n  '&[data-orientation=\"vertical\"]': { width: SCROLLBAR_SIZE },\n  '&[data-orientation=\"horizontal\"]': {\n    flexDirection: 'column',\n    height: SCROLLBAR_SIZE,\n  },\n})\n\nconst ScrollAreaThumb = styled(ScrollAreaPrimitive.Thumb, {\n  flex: 1,\n  background: '$wellBackground',\n  borderRadius: SCROLLBAR_SIZE,\n  // increase target size for touch devices https://www.w3.org/WAI/WCAG21/Understanding/target-size.html\n  position: 'relative',\n  '&::before': {\n    content: '\"\"',\n    position: 'absolute',\n    top: '50%',\n    left: '50%',\n    transform: 'translate(-50%, -50%)',\n    width: '100%',\n    height: '100%',\n    minWidth: 44,\n    minHeight: 44,\n  },\n})\n\nconst ScrollAreaCorner = styled(ScrollAreaPrimitive.Corner, {\n  background: '$wellBackground',\n})\n\nconst RKScrollArea = ({ children, ...props }: ScrollAreaProps) => {\n  return (\n    <ScrollArea {...props}>\n      <ScrollAreaViewport>{children}</ScrollAreaViewport>\n      <ScrollAreaScrollbar orientation=\"vertical\">\n        <ScrollAreaThumb />\n      </ScrollAreaScrollbar>\n      <ScrollAreaScrollbar orientation=\"horizontal\">\n        <ScrollAreaThumb />\n      </ScrollAreaScrollbar>\n      <ScrollAreaCorner />\n    </ScrollArea>\n  )\n}\n\nRKScrollArea.Root = ScrollArea\nRKScrollArea.Viewport = ScrollAreaViewport\nRKScrollArea.Scrollbar = ScrollAreaScrollbar\nRKScrollArea.Thumb = ScrollAreaThumb\nRKScrollArea.Corner = ScrollAreaCorner\n\nexport default RKScrollArea\n","import React, {\n  ComponentPropsWithoutRef,\n  Dispatch,\n  ReactElement,\n  SetStateAction,\n  useEffect,\n  useMemo,\n} from 'react'\nimport {\n  Flex,\n  Text,\n  Button,\n  FormatCurrency,\n  Loader,\n  FormatCryptoCurrency,\n  Box,\n  Anchor,\n  ErrorWell,\n  ChainIcon,\n  Divider,\n  CryptoCurrencyIcon,\n} from '../../primitives'\n\nimport { Modal } from '../Modal'\nimport { faCircleExclamation } from '@fortawesome/free-solid-svg-icons/faCircleExclamation'\nimport { faChevronDown } from '@fortawesome/free-solid-svg-icons/faChevronDown'\nimport { faCube } from '@fortawesome/free-solid-svg-icons/faCube'\nimport { faCircleCheck } from '@fortawesome/free-solid-svg-icons/faCircleCheck'\nimport { faEnvelopeOpen } from '@fortawesome/free-solid-svg-icons/faEnvelopeOpen'\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n  AcceptBidStep,\n  AcceptBidModalRenderer,\n  AcceptBidStepData,\n  AcceptBidTokenData,\n  EnhancedAcceptBidTokenData,\n} from './AcceptBidModalRenderer'\nimport { useBids, useFallbackState, useReservoirClient } from '../../hooks'\nimport AcceptBidLineItem from './AcceptBidLineItem'\nimport { Collapsible } from '../../primitives/Collapsible'\nimport { ApproveBidCollapsible } from './ApproveBidCollapsible'\nimport SigninStep from '../SigninStep'\nimport AcceptBidSummaryLineItem from './AcceptBidSummaryLineItem'\nimport { truncateAddress } from '../../lib/truncate'\nimport { WalletClient } from 'viem'\nimport { ReservoirWallet, SellPath } from '@reservoir0x/reservoir-sdk'\nimport getChainBlockExplorerUrl from '../../lib/getChainBlockExplorerUrl'\nimport { Dialog } from '../../primitives/Dialog'\n\ntype BidData = {\n  tokens?: EnhancedAcceptBidTokenData[]\n  bids?: NonNullable<ReturnType<typeof useBids>['data']>\n  txHash?: string\n  maker?: string\n}\n\nconst ModalCopy = {\n  title: 'Accept Offer',\n  ctaAccept: 'Accept',\n  ctaAwaitingApproval: 'Waiting for Approval',\n  ctaClose: 'Close',\n  ctaDone: 'Done',\n}\n\ntype Props = Pick<Parameters<typeof Modal>['0'], 'trigger'> & {\n  openState?: [boolean, Dispatch<SetStateAction<boolean>>]\n  tokens: AcceptBidTokenData[]\n  chainId?: number\n  currency?: string\n  normalizeRoyalties?: boolean\n  copyOverrides?: Partial<typeof ModalCopy>\n  walletClient?: ReservoirWallet | WalletClient\n  feesOnTopBps?: string[] | null\n  feesOnTopCustom?: (data: SellPath) => string[] | null\n  onBidAccepted?: (data: BidData) => void\n  onClose?: (\n    data: BidData,\n    stepData: AcceptBidStepData | null,\n    currentStep: AcceptBidStep\n  ) => void\n  onBidAcceptError?: (error: Error, data: BidData) => void\n  onCurrentStepUpdate?: (data: AcceptBidStepData) => void\n  onPointerDownOutside?: ComponentPropsWithoutRef<\n    typeof Dialog\n  >['onPointerDownOutside']\n}\n\nexport function AcceptBidModal({\n  openState,\n  trigger,\n  chainId,\n  tokens,\n  normalizeRoyalties,\n  copyOverrides,\n  walletClient,\n  feesOnTopBps,\n  feesOnTopCustom,\n  onBidAccepted,\n  onClose,\n  onBidAcceptError,\n  onCurrentStepUpdate,\n  onPointerDownOutside,\n  currency,\n}: Props): ReactElement {\n  const [open, setOpen] = useFallbackState(\n    openState ? openState[0] : false,\n    openState\n  )\n\n  const copy: typeof ModalCopy = { ...ModalCopy, ...copyOverrides }\n\n  const client = useReservoirClient()\n\n  const currentChain = client?.currentChain()\n  const baseApiUrl = currentChain?.baseApiUrl\n\n  const modalChain = chainId\n    ? client?.chains.find(({ id }) => id === chainId) || currentChain\n    : currentChain\n\n  return (\n    <AcceptBidModalRenderer\n      currency={currency}\n      open={open}\n      chainId={modalChain?.id}\n      tokens={tokens}\n      normalizeRoyalties={normalizeRoyalties}\n      walletClient={walletClient}\n      feesOnTopBps={feesOnTopBps}\n      feesOnTopCustom={feesOnTopCustom}\n    >\n      {({\n        loading,\n        acceptBidStep,\n        transactionError,\n        txHash,\n        usdPrices,\n        prices,\n        tokensData,\n        swapCurrency,\n        address,\n        stepData,\n        acceptBid,\n      }) => {\n        useEffect(() => {\n          if (acceptBidStep === AcceptBidStep.Complete && onBidAccepted) {\n            const data: BidData = {\n              tokens: tokensData,\n              maker: address,\n            }\n            if (txHash) {\n              data.txHash = txHash\n            }\n            onBidAccepted(data)\n          }\n        }, [acceptBidStep])\n\n        useEffect(() => {\n          if (transactionError && onBidAcceptError) {\n            const data: BidData = {\n              tokens: tokensData,\n              maker: address,\n            }\n            onBidAcceptError(transactionError, data)\n          }\n        }, [transactionError])\n\n        useEffect(() => {\n          if (stepData && onCurrentStepUpdate) {\n            onCurrentStepUpdate(stepData)\n          }\n        }, [stepData])\n\n        const bidCount = useMemo(\n          () =>\n            tokensData.reduce(\n              (total, tokenData) => (total += tokenData.bidsPath.length),\n              0\n            ),\n          [tokensData]\n        )\n\n        const saleStep = stepData?.steps.find((step) => step.id === 'sale')\n        const swapStep = stepData?.steps.find((step) => step.id === 'swap')\n\n        const transfersTxHashes =\n          saleStep?.items?.reduce((txHashes, item) => {\n            item.transfersData?.forEach((transferData) => {\n              if (transferData.txHash) {\n                txHashes.add(transferData.txHash)\n              }\n            })\n            return txHashes\n          }, new Set<string>()) || []\n        const totalSales = Array.from(transfersTxHashes).length\n        const failedSales = totalSales - (saleStep?.items?.length || 0)\n\n        const successfulSales = totalSales - failedSales\n\n        return (\n          <Modal\n            trigger={trigger}\n            title={copy.title}\n            open={open}\n            onOpenChange={(open) => {\n              if (!open && onClose) {\n                const data: BidData = {\n                  tokens: tokensData,\n                  maker: address,\n                }\n                onClose(data, stepData, acceptBidStep)\n              }\n              setOpen(open)\n            }}\n            loading={loading}\n            onPointerDownOutside={(e) => {\n              if (onPointerDownOutside) {\n                onPointerDownOutside(e)\n              }\n            }}\n          >\n            {acceptBidStep === AcceptBidStep.Unavailable && !loading && (\n              <Flex\n                direction=\"column\"\n                align=\"center\"\n                css={{ p: '$4', gap: '$5' }}\n              >\n                <Box css={{ color: '$neutralSolid', mt: 48 }}>\n                  <FontAwesomeIcon\n                    icon={faEnvelopeOpen}\n                    style={{ height: 32, width: 32 }}\n                  />\n                </Box>\n                <Text style=\"h6\" css={{ mb: '$3', textAlign: 'center' }}>\n                  {tokens.length > 1 ? 'Offers are ' : 'Offer is '} no longer\n                  available\n                </Text>\n                <Button\n                  onClick={() => setOpen(false)}\n                  css={{\n                    width: '100%',\n                  }}\n                >\n                  {copy.ctaClose}\n                </Button>\n              </Flex>\n            )}\n\n            {acceptBidStep === AcceptBidStep.Checkout && !loading && (\n              <Flex direction=\"column\">\n                {transactionError && <ErrorWell error={transactionError} />}\n                <Flex css={{ px: '$4', pt: '$4' }} align=\"center\">\n                  <Text style=\"subtitle3\" color=\"subtle\">\n                    {`${bidCount} ${bidCount > 1 ? 'Items' : 'Item'}`}\n                  </Text>\n                  <Divider direction=\"vertical\" css={{ maxHeight: 12 }} />\n                  <ChainIcon\n                    chainId={modalChain?.id}\n                    height={12}\n                    css={{ mr: 5 }}\n                  />\n                  <Text style=\"subtitle3\" color=\"subtle\">\n                    {modalChain?.name}\n                  </Text>\n                </Flex>\n                {tokensData.map(({ tokenData, bidsPath }, i) => {\n                  if (!bidsPath || !bidsPath.length) {\n                    return (\n                      <AcceptBidLineItem\n                        chainId={modalChain?.id}\n                        key={i}\n                        token={{\n                          name: tokenData?.token?.name || '',\n                          id: tokenData?.token?.tokenId || '',\n                        }}\n                        collection={{\n                          id: tokenData?.token?.collection?.id || '',\n                          name: tokenData?.token?.collection?.name || '',\n                        }}\n                        img={\n                          tokenData?.token?.imageSmall ||\n                          tokenData?.token?.collection?.image ||\n                          ''\n                        }\n                      />\n                    )\n                  } else {\n                    return bidsPath.map((bidPath) => (\n                      <AcceptBidLineItem\n                        key={i}\n                        chainId={modalChain?.id}\n                        token={{\n                          name: tokenData?.token?.name || '',\n                          id: tokenData?.token?.tokenId || '',\n                        }}\n                        collection={{\n                          id: tokenData?.token?.collection?.id || '',\n                          name: tokenData?.token?.collection?.name || '',\n                        }}\n                        img={\n                          tokenData?.token?.imageSmall ||\n                          tokenData?.token?.collection?.image ||\n                          ''\n                        }\n                        netAmount={bidPath.quote}\n                        price={bidPath.totalPrice}\n                        fees={bidPath.builtInFees}\n                        currency={swapCurrency?.contract || bidPath.currency}\n                        decimals={\n                          swapCurrency?.decimals || bidPath.currencyDecimals\n                        }\n                        sourceImg={\n                          bidPath.source\n                            ? `${baseApiUrl}/redirect/sources/${bidPath.source}/logo/v2`\n                            : ''\n                        }\n                      />\n                    ))\n                  }\n                })}\n\n                {prices.map((price, i) => (\n                  <Collapsible\n                    key={i}\n                    trigger={\n                      <Flex justify=\"between\" css={{ p: '$4' }}>\n                        <Text style=\"h6\">\n                          {price.currency?.symbol} You Get{' '}\n                          <Text css={{ color: '$neutralSolidHover', ml: '$2' }}>\n                            <FontAwesomeIcon\n                              icon={faChevronDown}\n                              width={16}\n                              height={16}\n                            />\n                          </Text>\n                        </Text>\n                        <Flex direction=\"column\" css={{ gap: '$1' }}>\n                          <FormatCryptoCurrency\n                            chainId={modalChain?.id}\n                            amount={price.netAmount}\n                            decimals={price.currency?.decimals}\n                            address={price.currency?.contract}\n                            symbol={price.currency?.symbol}\n                            textStyle=\"h6\"\n                          />\n                          {price.currency?.symbol &&\n                          usdPrices[price.currency.symbol] ? (\n                            <FormatCurrency\n                              color=\"subtle\"\n                              style=\"tiny\"\n                              amount={\n                                usdPrices[price.currency.symbol].price *\n                                price.netAmount\n                              }\n                              css={{ textAlign: 'end' }}\n                            />\n                          ) : null}\n                        </Flex>\n                      </Flex>\n                    }\n                  >\n                    <Flex\n                      css={{\n                        gap: '$2',\n                        padding: '$4',\n                        paddingTop: 0,\n                      }}\n                      direction=\"column\"\n                    >\n                      <Flex justify=\"between\">\n                        <Text style=\"subtitle3\" color=\"subtle\">\n                          Total {price.currency?.symbol} Offer Value\n                        </Text>\n                        <FormatCryptoCurrency\n                          chainId={modalChain?.id}\n                          amount={price.amount}\n                          decimals={price.currency?.decimals}\n                          address={price.currency?.contract}\n                          symbol={price.currency?.symbol}\n                          textStyle=\"subtitle3\"\n                        />\n                      </Flex>\n                      {price.royalty > 0 ? (\n                        <Flex justify=\"between\">\n                          <Text style=\"subtitle3\" color=\"subtle\">\n                            Creator Royalties\n                          </Text>\n                          <Text\n                            css={{ ml: 'auto' }}\n                            style=\"subtitle3\"\n                            color=\"subtle\"\n                          >\n                            -\n                          </Text>\n                          <FormatCryptoCurrency\n                            chainId={modalChain?.id}\n                            amount={price.royalty}\n                            decimals={price.currency?.decimals}\n                            address={price.currency?.contract}\n                            symbol={price.currency?.symbol}\n                            textStyle=\"subtitle3\"\n                          />\n                        </Flex>\n                      ) : null}\n                      {price.marketplaceFee > 0 ? (\n                        <Flex justify=\"between\">\n                          <Text style=\"subtitle3\" color=\"subtle\">\n                            Marketplace Fee\n                          </Text>\n                          <Text\n                            css={{ ml: 'auto' }}\n                            style=\"subtitle3\"\n                            color=\"subtle\"\n                          >\n                            -\n                          </Text>\n                          <FormatCryptoCurrency\n                            chainId={modalChain?.id}\n                            amount={price.marketplaceFee}\n                            decimals={price.currency?.decimals}\n                            address={price.currency?.contract}\n                            symbol={price.currency?.symbol}\n                            textStyle=\"subtitle3\"\n                          />\n                        </Flex>\n                      ) : null}\n                      {price.feesOnTop > 0 ? (\n                        <Flex justify=\"between\">\n                          <Text style=\"subtitle3\" color=\"subtle\">\n                            Referral Fee\n                          </Text>\n                          <Text\n                            css={{ ml: 'auto' }}\n                            style=\"subtitle3\"\n                            color=\"subtle\"\n                          >\n                            -\n                          </Text>\n                          <FormatCryptoCurrency\n                            chainId={modalChain?.id}\n                            amount={price.feesOnTop}\n                            decimals={price.currency?.decimals}\n                            address={price.currency?.contract}\n                            symbol={price.currency?.symbol}\n                            textStyle=\"subtitle3\"\n                          />\n                        </Flex>\n                      ) : null}\n                    </Flex>\n                  </Collapsible>\n                ))}\n\n                <Button\n                  css={{\n                    flex: 1,\n                    m: '$4',\n                  }}\n                  color=\"primary\"\n                  onClick={acceptBid}\n                >\n                  {copy.ctaAccept}\n                </Button>\n              </Flex>\n            )}\n            {acceptBidStep === AcceptBidStep.Auth && !loading && (\n              <Flex direction=\"column\">\n                <AcceptBidSummaryLineItem\n                  tokensData={tokensData}\n                  usdPrices={usdPrices}\n                  prices={prices}\n                  chain={modalChain}\n                />\n                <SigninStep css={{ mt: 48, mb: 60, gap: 20 }} />\n                <Button disabled={true} css={{ m: '$4' }}>\n                  <Loader />\n                  {copy.ctaAwaitingApproval}\n                </Button>\n              </Flex>\n            )}\n            {acceptBidStep === AcceptBidStep.ApproveMarketplace && !loading && (\n              <Flex direction=\"column\">\n                <AcceptBidSummaryLineItem\n                  tokensData={tokensData}\n                  usdPrices={usdPrices}\n                  prices={prices}\n                  chain={modalChain}\n                />\n                <Text style=\"h6\" css={{ m: '$4', textAlign: 'center' }}>\n                  Confirm Selling\n                </Text>\n                {stepData?.steps.map((step) =>\n                  step?.items && step.items.length > 0 ? (\n                    <ApproveBidCollapsible\n                      key={step.id}\n                      step={step}\n                      tokensData={tokensData}\n                      chain={modalChain}\n                      isCurrentStep={stepData.currentStep.id === step.id}\n                      open={stepData.currentStep.id === step.id}\n                    />\n                  ) : null\n                )}\n\n                <Button disabled={true} css={{ m: '$4' }}>\n                  <Loader />\n                  {copy.ctaAwaitingApproval}\n                </Button>\n              </Flex>\n            )}\n\n            {acceptBidStep === AcceptBidStep.TokenSwap && !loading && (\n              <Flex direction=\"column\">\n                <Flex\n                  justify=\"between\"\n                  direction=\"column\"\n                  align=\"center\"\n                  css={{ width: '100%', p: '$4', gap: 24 }}\n                >\n                  {transactionError && (\n                    <ErrorWell\n                      error={transactionError}\n                      css={{ width: '100%' }}\n                    />\n                  )}\n                  {stepData && (\n                    <>\n                      <Text style=\"h6\" css={{ textAlign: 'center' }}>\n                        {stepData.currentStep.action}\n                      </Text>\n                      <Flex align=\"center\" justify=\"center\">\n                        <Flex\n                          css={{\n                            background: '$neutralLine',\n                            borderRadius: 8,\n                          }}\n                        >\n                          <CryptoCurrencyIcon\n                            chainId={modalChain?.id}\n                            css={{ height: 56, width: 56 }}\n                            address={swapCurrency?.contract as string}\n                          />\n                        </Flex>\n                      </Flex>\n                      <Text\n                        css={{\n                          textAlign: 'center',\n                          mt: 24,\n                          maxWidth: 395,\n                          mx: 'auto',\n                          mb: '$4',\n                        }}\n                        style=\"body2\"\n                        color=\"subtle\"\n                      >\n                        {stepData?.currentStep.description}\n                      </Text>\n                    </>\n                  )}\n                  {!stepData && (\n                    <Flex\n                      css={{ height: '100%', py: '$5' }}\n                      justify=\"center\"\n                      align=\"center\"\n                    >\n                      <Loader />\n                    </Flex>\n                  )}\n                  {!transactionError && (\n                    <Button css={{ width: '100%', mt: 'auto' }} disabled={true}>\n                      <Loader />\n                      {copy.ctaAwaitingApproval}\n                    </Button>\n                  )}\n                </Flex>\n              </Flex>\n            )}\n\n            {acceptBidStep === AcceptBidStep.Finalizing && !loading && (\n              <Flex\n                direction=\"column\"\n                justify=\"center\"\n                css={{\n                  gap: '$4',\n                  pb: '$5',\n                }}\n              >\n                <AcceptBidSummaryLineItem\n                  tokensData={tokensData}\n                  usdPrices={usdPrices}\n                  prices={prices}\n                  chain={modalChain}\n                />\n                <Text style=\"h6\" css={{ textAlign: 'center' }}>\n                  Finalizing on blockchain\n                </Text>\n                <Text\n                  style=\"subtitle3\"\n                  color=\"subtle\"\n                  css={{ textAlign: 'center', px: '$4' }}\n                >\n                  You can close this modal while it finalizes on the blockchain.\n                  The transaction will continue in the background.\n                </Text>\n                <Flex\n                  direction=\"column\"\n                  align=\"center\"\n                  css={{ gap: '$2', mb: '$3', width: '100%' }}\n                >\n                  {[...(swapStep?.items ?? []), ...(saleStep?.items ?? [])].map(\n                    (item, itemIndex) => {\n                      if (\n                        Array.isArray(item?.txHashes) &&\n                        item?.txHashes.length > 0\n                      ) {\n                        return item.txHashes.map((hash, txHashIndex) => {\n                          const truncatedTxHash = truncateAddress(hash.txHash)\n                          const blockExplorerBaseUrl = getChainBlockExplorerUrl(\n                            hash.chainId\n                          )\n                          return (\n                            <Anchor\n                              key={`${itemIndex}-${txHashIndex}`}\n                              href={`${blockExplorerBaseUrl}/tx/${hash.txHash}`}\n                              color=\"primary\"\n                              weight=\"medium\"\n                              target=\"_blank\"\n                              css={{ fontSize: 12 }}\n                            >\n                              View transaction: {truncatedTxHash}\n                            </Anchor>\n                          )\n                        })\n                      } else {\n                        return null\n                      }\n                    }\n                  )}\n                </Flex>\n                <Box\n                  css={{\n                    color: '$neutralSolid',\n                    width: 32,\n                    height: 32,\n                    m: '0 auto',\n                  }}\n                >\n                  <FontAwesomeIcon\n                    icon={faCube}\n                    style={{ width: 32, height: 32 }}\n                  />\n                </Box>\n              </Flex>\n            )}\n\n            {acceptBidStep === AcceptBidStep.Complete && !loading && (\n              <Flex direction=\"column\">\n                <Flex\n                  css={{\n                    p: '$4',\n                    py: '$5',\n                    flexDirection: 'column',\n                    alignItems: 'center',\n                    textAlign: 'center',\n                  }}\n                >\n                  <Box\n                    css={{\n                      color: failedSales ? '$errorAccent' : '$successAccent',\n                    }}\n                  >\n                    <FontAwesomeIcon\n                      icon={failedSales ? faCircleExclamation : faCircleCheck}\n                      fontSize={32}\n                    />\n                  </Box>\n                  <Text style=\"h5\" css={{ my: 24 }}>\n                    {failedSales\n                      ? `${successfulSales} ${\n                          successfulSales > 1 ? 'items' : 'item'\n                        } sold, ${failedSales} ${\n                          failedSales > 1 ? 'items' : 'item'\n                        } failed`\n                      : `${totalSales > 1 ? 'Offers' : 'Offer'} accepted!`}\n                  </Text>\n                  <Flex direction=\"column\" css={{ gap: '$2', mb: '$3' }}>\n                    {[\n                      ...(swapStep?.items ?? []),\n                      ...(saleStep?.items ?? []),\n                    ]?.map((item, itemIndex) => {\n                      if (\n                        Array.isArray(item?.txHashes) &&\n                        item?.txHashes.length > 0\n                      ) {\n                        return item.txHashes.map((hash, txHashIndex) => {\n                          const truncatedTxHash = truncateAddress(hash.txHash)\n                          const blockExplorerBaseUrl = getChainBlockExplorerUrl(\n                            hash.chainId\n                          )\n                          return (\n                            <Anchor\n                              key={`${itemIndex}-${txHashIndex}`}\n                              href={`${blockExplorerBaseUrl}/tx/${hash.txHash}`}\n                              color=\"primary\"\n                              weight=\"medium\"\n                              target=\"_blank\"\n                              css={{ fontSize: 12 }}\n                            >\n                              View transaction: {truncatedTxHash}\n                            </Anchor>\n                          )\n                        })\n                      } else {\n                        return null\n                      }\n                    })}\n                  </Flex>\n                </Flex>\n                <Flex\n                  css={{\n                    p: '$4',\n                    flexDirection: 'column',\n                    gap: '$3',\n                    '@bp1': {\n                      flexDirection: 'row',\n                    },\n                  }}\n                >\n                  <Button\n                    css={{ width: '100%' }}\n                    onClick={() => {\n                      setOpen(false)\n                    }}\n                  >\n                    {copy.ctaDone}\n                  </Button>\n                </Flex>\n              </Flex>\n            )}\n          </Modal>\n        )\n      }}\n    </AcceptBidModalRenderer>\n  )\n}\n\nAcceptBidModal.Custom = AcceptBidModalRenderer\n","import React, {\n  FC,\n  useEffect,\n  useState,\n  useCallback,\n  ReactNode,\n  useMemo,\n} from 'react'\nimport { useTokens, useCoinConversion, useReservoirClient } from '../../hooks'\nimport { useAccount, useConfig, useWalletClient } from 'wagmi'\nimport {\n  Execute,\n  ExpectedPrice,\n  ReservoirClientActions,\n  ReservoirWallet,\n  SellPath,\n  axios,\n} from '@reservoir0x/reservoir-sdk'\nimport { Currency } from '../../types/Currency'\nimport { WalletClient, formatUnits, parseUnits } from 'viem'\nimport { getAccount, switchChain } from 'wagmi/actions'\nimport { customChains } from '@reservoir0x/reservoir-sdk'\nimport * as allChains from 'viem/chains'\n\nexport enum AcceptBidStep {\n  Checkout,\n  Auth,\n  ApproveMarketplace,\n  Finalizing,\n  Complete,\n  Unavailable,\n  TokenSwap,\n}\n\nexport type AcceptBidTokenData = {\n  tokenId: string\n  collectionId: string\n  bidIds?: string[]\n  bidsPath?: NonNullable<SellPath>\n}\n\nexport type EnhancedAcceptBidTokenData = Required<AcceptBidTokenData> & {\n  tokenData?: ReturnType<typeof useTokens>['data'][0]\n}\n\nexport type AcceptBidPrice = {\n  netAmount: number\n  amount: number\n  currency: Currency\n  royalty: number\n  marketplaceFee: number\n  feesOnTop: number\n}\n\nexport type AcceptBidStepData = {\n  totalSteps: number\n  steps: Execute['steps']\n  currentStep: Execute['steps'][0]\n  currentStepItem?: NonNullable<Execute['steps'][0]['items']>[0]\n}\n\ntype ChildrenProps = {\n  loading: boolean\n  tokensData: EnhancedAcceptBidTokenData[]\n  acceptBidStep: AcceptBidStep\n  transactionError?: Error | null\n  txHash: string | null\n  usdPrices: Record<string, ReturnType<typeof useCoinConversion>[0]>\n  prices: AcceptBidPrice[]\n  address?: string\n  blockExplorerBaseUrl: string\n  stepData: AcceptBidStepData | null\n  acceptBid: () => void\n  swapCurrency: Omit<Currency, 'coinGeckoId'> | null\n  setAcceptBidStep: React.Dispatch<React.SetStateAction<AcceptBidStep>>\n}\n\ntype Props = {\n  open: boolean\n  tokens: AcceptBidTokenData[]\n  chainId?: number\n  currency?: string\n  normalizeRoyalties?: boolean\n  children: (props: ChildrenProps) => ReactNode\n  walletClient?: ReservoirWallet | WalletClient\n  feesOnTopBps?: string[] | null\n  feesOnTopCustom?: (data: SellPath) => string[] | null\n}\n\nexport const AcceptBidModalRenderer: FC<Props> = ({\n  open,\n  tokens,\n  chainId,\n  normalizeRoyalties,\n  children,\n  walletClient,\n  feesOnTopBps,\n  feesOnTopCustom,\n  currency,\n}) => {\n  const [stepData, setStepData] = useState<AcceptBidStepData | null>(null)\n  const [prices, setPrices] = useState<AcceptBidPrice[]>([])\n  const [acceptBidStep, setAcceptBidStep] = useState<AcceptBidStep>(\n    AcceptBidStep.Checkout\n  )\n  const [transactionError, setTransactionError] = useState<Error | null>()\n  const [txHash, setTxHash] = useState<string | null>(null)\n\n  const client = useReservoirClient()\n  const currentChain = client?.currentChain()\n  const config = useConfig()\n\n  const rendererChain = chainId\n    ? client?.chains.find(({ id }) => id === chainId) || currentChain\n    : currentChain\n\n  const wagmiChain: allChains.Chain | undefined = Object.values({\n    ...allChains,\n    ...customChains,\n  }).find(({ id }) => rendererChain?.id === id)\n  const { data: wagmiWallet } = useWalletClient({ chainId: rendererChain?.id })\n\n  const wallet = walletClient || wagmiWallet\n\n  const blockExplorerBaseUrl =\n    wagmiChain?.blockExplorers?.default?.url || 'https://etherscan.io'\n\n  const [isFetchingBidPath, setIsFetchingBidPath] = useState(false)\n  const [bidsPath, setBidsPath] = useState<SellPath | null>(null)\n  const [feesOnTop, setFeesOnTop] = useState<string[] | null>(null)\n\n  const _tokenIds = tokens.map((token) => {\n    const contract = (token?.collectionId || '').split(':')[0]\n    return `${contract}:${token.tokenId}`\n  })\n  const {\n    data: tokensData,\n    mutate: mutateTokens,\n    isValidating: isFetchingTokenData,\n  } = useTokens(\n    open &&\n      _tokenIds &&\n      _tokenIds.length > 0 && {\n        tokens: _tokenIds,\n        normalizeRoyalties,\n      },\n    {\n      revalidateFirstPage: true,\n    },\n    rendererChain?.id\n  )\n\n  const enhancedTokens = useMemo(() => {\n    const tokensDataMap = tokensData.reduce((map, data) => {\n      map[`${data.token?.contract}:${data.token?.tokenId}`] = data\n      return map\n    }, {} as Record<string, (typeof tokensData)[0]>)\n    const tokensBidPathMap =\n      bidsPath?.reduce((map, path) => {\n        const key = `${path.contract}:${path.tokenId}`\n        const mapPath = map[key]\n        if (!mapPath) {\n          map[key] = [path]\n        } else {\n          mapPath.push(path)\n        }\n        return map\n      }, {} as Record<string, NonNullable<AcceptBidTokenData['bidsPath']>>) ||\n      {}\n\n    return tokens.reduce((enhancedTokens, token) => {\n      const contract = token.collectionId.split(':')[0]\n      const dataMapKey = `${contract}:${token.tokenId}`\n      const tokenData = tokensDataMap[dataMapKey]\n      const bidIds = token.bidIds?.filter((bidId) => bidId.length > 0) || []\n      const bidsPath: NonNullable<AcceptBidTokenData['bidsPath']> =\n        tokensBidPathMap[dataMapKey] ? tokensBidPathMap[dataMapKey] : []\n      if (!bidIds.length) {\n        enhancedTokens.push({\n          ...token,\n          bidIds: tokenData?.market?.topBid?.id\n            ? [tokenData.market.topBid.id]\n            : [],\n          tokenData,\n          bidsPath,\n        })\n      } else {\n        enhancedTokens.push({\n          ...token,\n          bidIds: token.bidIds || [],\n          tokenData,\n          bidsPath,\n        })\n      }\n      return enhancedTokens\n    }, [] as EnhancedAcceptBidTokenData[])\n  }, [tokensData, tokens, bidsPath])\n\n  const bidTokenMap = useMemo(\n    () =>\n      enhancedTokens.reduce((map, token) => {\n        token.bidIds.forEach((bidId) => {\n          map[bidId] = token\n        })\n        return map\n      }, {} as Record<string, (typeof enhancedTokens)[0]>),\n    [enhancedTokens]\n  )\n\n  const fetchBidsPath = useCallback(\n    (tokens: AcceptBidTokenData[]) => {\n      if (!wallet || !client) {\n        setIsFetchingBidPath(false)\n        return\n      }\n      setIsFetchingBidPath(true)\n      type AcceptOfferOptions = Parameters<\n        ReservoirClientActions['acceptOffer']\n      >['0']['options']\n      let options: AcceptOfferOptions = {\n        onlyPath: true,\n        ...(currency && { currency }),\n        partial: true,\n      }\n      if (normalizeRoyalties !== undefined) {\n        options.normalizeRoyalties = normalizeRoyalties\n      }\n\n      type AcceptBidItems = Parameters<\n        ReservoirClientActions['acceptOffer']\n      >[0]['items']\n      const items: AcceptBidItems = tokens?.reduce((items, token) => {\n        if (tokens) {\n          const contract = token.collectionId.split(':')[0]\n          const bids = token.bidIds\n            ? token.bidIds.filter((bid) => bid.length > 0)\n            : []\n          if (bids && bids.length > 0) {\n            bids.forEach((bidId) => {\n              items.push({\n                orderId: bidId,\n                token: `${contract}:${token.tokenId}`,\n              })\n            })\n          } else {\n            items.push({\n              token: `${contract}:${token.tokenId}`,\n            })\n          }\n        }\n        return items\n      }, [] as AcceptBidItems)\n\n      const acceptOfferParams = {\n        chainId: rendererChain?.id,\n        items: items,\n        wallet,\n        options,\n        precheck: true,\n        onProgress: () => {},\n      }\n\n      client.actions\n        .acceptOffer(acceptOfferParams)\n        .then((data) => {\n          if (feesOnTopBps || feesOnTopCustom) {\n            const bidsPath =\n              'path' in (data as any)\n                ? ((data as Execute)['path'] as SellPath)\n                : null\n            if (bidsPath) {\n              let feesOnTop: string[] = []\n              if (feesOnTopBps) {\n                const total = bidsPath.reduce((total, path) => {\n                  return (total += BigInt(path.totalRawPrice || 0n))\n                }, 0n)\n                feesOnTop = feesOnTopBps.map((feeOnTop) => {\n                  const [recipient, fee] = feeOnTop.split(':')\n                  return `${recipient}:${formatUnits(\n                    (BigInt(fee) * total) / 10000n,\n                    0\n                  )}`\n                })\n              } else if (feesOnTopCustom) {\n                feesOnTop = feesOnTopCustom(bidsPath) || []\n              }\n\n              if (feesOnTop) {\n                acceptOfferParams.options.feesOnTop = feesOnTop\n                setFeesOnTop(feesOnTop)\n              }\n\n              return client.actions.acceptOffer(acceptOfferParams)\n            }\n          } else {\n            return data\n          }\n        })\n        .then((data) => {\n          setBidsPath(\n            'path' in (data as any)\n              ? ((data as Execute)['path'] as SellPath)\n              : null\n          )\n        })\n        .finally(() => {\n          setIsFetchingBidPath(false)\n        })\n    },\n    [\n      currency,\n      client,\n      wallet,\n      rendererChain,\n      normalizeRoyalties,\n      feesOnTopBps,\n      feesOnTopCustom,\n    ]\n  )\n\n  useEffect(() => {\n    if (open) {\n      fetchBidsPath(tokens)\n    }\n  }, [client, tokens, open])\n\n  const currencySymbols = useMemo(\n    () =>\n      Array.from(\n        enhancedTokens.reduce((symbols, { bidsPath }) => {\n          bidsPath.forEach(({ sellOutCurrencySymbol, currencySymbol }) => {\n            if (sellOutCurrencySymbol) {\n              symbols.add(sellOutCurrencySymbol)\n            }\n\n            if (currencySymbol) {\n              symbols.add(currencySymbol)\n            }\n          })\n          return symbols\n        }, new Set() as Set<string>)\n      ).join(','),\n    [enhancedTokens]\n  )\n\n  const conversions = useCoinConversion(\n    open && currencySymbols.length > 0 ? 'USD' : undefined,\n    currencySymbols\n  )\n\n  const usdPrices = useMemo(\n    () =>\n      conversions.reduce((map, price) => {\n        map[price.symbol] = price\n        return map\n      }, {} as ChildrenProps['usdPrices']),\n    [conversions]\n  )\n\n  const acceptBid = useCallback(async () => {\n    setTransactionError(null)\n    if (!wallet) {\n      const error = new Error('Missing a wallet/signer')\n      setTransactionError(error)\n      throw error\n    }\n\n    let activeWalletChain = getAccount(config).chain\n    if (rendererChain?.id !== activeWalletChain?.id) {\n      activeWalletChain = await switchChain(config, {\n        chainId: rendererChain?.id as number,\n      })\n    }\n\n    if (rendererChain?.id !== activeWalletChain?.id) {\n      const error = new Error(`Mismatching chainIds`)\n      setTransactionError(error)\n      throw error\n    }\n\n    if (!bidsPath) {\n      const error = new Error('Missing bids to accept')\n      setTransactionError(error)\n      throw error\n    }\n\n    if (!client) {\n      const error = new Error('ReservoirClient was not initialized')\n      setTransactionError(error)\n      setTransactionError(null)\n      throw error\n    }\n\n    type AcceptOfferOptions = Parameters<\n      ReservoirClientActions['acceptOffer']\n    >['0']['options']\n    let options: AcceptOfferOptions = {\n      partial: true,\n      ...(currency && { currency }),\n    }\n\n    if (normalizeRoyalties !== undefined) {\n      options.normalizeRoyalties = normalizeRoyalties\n    }\n\n    if (feesOnTop) {\n      options.feesOnTop = feesOnTop\n    }\n\n    setAcceptBidStep(AcceptBidStep.ApproveMarketplace)\n\n    type AcceptBidItems = Parameters<\n      ReservoirClientActions['acceptOffer']\n    >[0]['items']\n    const items: AcceptBidItems = bidsPath.map(\n      ({ orderId, tokenId, contract }) => ({\n        orderId: orderId,\n        token: `${contract}:${tokenId}`,\n      })\n    )\n\n    const expectedPrice: Record<string, ExpectedPrice> = {}\n    for (let currency in prices) {\n      expectedPrice[currency] = {\n        amount: prices[currency].netAmount,\n        raw: parseUnits(\n          `${prices[currency].netAmount}`,\n          prices[currency].currency.decimals || 18\n        ),\n        currencyAddress: prices[currency].currency.contract,\n        currencyDecimals: prices[currency].currency.decimals || 18,\n      }\n    }\n\n    let hasError = false\n\n    client.actions\n      .acceptOffer({\n        chainId: rendererChain?.id,\n        expectedPrice,\n        wallet,\n        items,\n        onProgress: (steps: Execute['steps'], path: Execute['path']) => {\n          if (!steps || hasError) return\n          setBidsPath(path)\n          const executableSteps = steps.filter(\n            (step) => step.items && step.items.length > 0\n          )\n\n          let stepCount = executableSteps.length\n\n          let currentStepItem:\n            | NonNullable<Execute['steps'][0]['items']>[0]\n            | undefined\n          let currentStepIndex: number = 0\n          executableSteps.find((step, index) => {\n            currentStepIndex = index\n            currentStepItem = step.items?.find(\n              (item) => item.status === 'incomplete'\n            )\n            return currentStepItem\n          })\n\n          const currentStep =\n            currentStepIndex > -1\n              ? executableSteps[currentStepIndex]\n              : executableSteps[stepCount - 1]\n\n          if (currentStepItem) {\n            setStepData({\n              totalSteps: stepCount,\n              currentStep,\n              currentStepItem,\n              steps,\n            })\n\n            if (currentStep.id === 'auth') {\n              setAcceptBidStep(AcceptBidStep.Auth)\n            } else if (currentStep.id === 'nft-approval') {\n              setAcceptBidStep(AcceptBidStep.ApproveMarketplace)\n            } else if (currentStep.id === 'sale') {\n              if (\n                currentStep.items?.every((item) => item.txHashes !== undefined)\n              ) {\n                setAcceptBidStep(AcceptBidStep.Finalizing)\n              } else {\n                setAcceptBidStep(AcceptBidStep.ApproveMarketplace)\n              }\n            } else if (currentStep.id === 'swap') {\n              setAcceptBidStep(AcceptBidStep.TokenSwap)\n            }\n          } else if (\n            executableSteps.every(\n              (step) =>\n                !step.items ||\n                step.items.length == 0 ||\n                step.items?.every((item) => item.status === 'complete')\n            )\n          ) {\n            setAcceptBidStep(AcceptBidStep.Complete)\n\n            const lastStepItem = currentStep.items\n              ? currentStep.items[currentStep.items?.length - 1]\n              : undefined\n\n            if (lastStepItem) {\n              setStepData({\n                totalSteps: stepCount,\n                steps,\n                currentStep,\n                currentStepItem: lastStepItem,\n              })\n            }\n          }\n        },\n        options,\n      })\n      .catch((e: Error) => {\n        hasError = true\n        setTransactionError(e)\n        setAcceptBidStep(AcceptBidStep.Checkout)\n        setStepData(null)\n        fetchBidsPath(tokens)\n        mutateTokens()\n      })\n  }, [\n    currency,\n    config,\n    bidsPath,\n    bidTokenMap,\n    rendererChain,\n    client,\n    wallet,\n    prices,\n    feesOnTop,\n    mutateTokens,\n  ])\n\n  useEffect(() => {\n    if (bidsPath && bidsPath.length > 0) {\n      const prices: Record<string, AcceptBidPrice> = bidsPath.reduce(\n        (\n          map,\n          {\n            quote,\n            sellOutCurrency,\n            sellOutCurrencyDecimals,\n            sellOutCurrencySymbol,\n            sellOutQuote,\n            sellOutRawQuote,\n            currency,\n            currencyDecimals,\n            currencySymbol,\n            builtInFees,\n            feesOnTop,\n            totalPrice,\n          }\n        ) => {\n          const netAmount = sellOutQuote || quote || 0\n          const amount = totalPrice || 0\n          let royalty = 0\n          let marketplaceFee = 0\n          let referralFee = 0\n\n          if (sellOutCurrency && sellOutCurrencySymbol) {\n            builtInFees?.forEach((fee) => {\n              switch (fee.kind) {\n                case 'marketplace': {\n                  marketplaceFee += fee.amount || 0\n                  break\n                }\n                case 'royalty': {\n                  royalty += fee.amount || 0\n                  break\n                }\n              }\n            })\n            feesOnTop?.forEach((fee) => {\n              switch (fee.kind) {\n                case 'royalty': {\n                  royalty += fee.amount || 0\n                  break\n                }\n                case 'marketplace':\n                default: {\n                  referralFee += fee.amount || 0\n                  break\n                }\n              }\n            })\n            if (!map[sellOutCurrencySymbol]) {\n              map[sellOutCurrencySymbol] = {\n                netAmount: netAmount - referralFee,\n                amount,\n                currency: {\n                  contract: sellOutCurrency,\n                  symbol: sellOutCurrencySymbol,\n                  decimals: currencyDecimals,\n                },\n                royalty,\n                marketplaceFee,\n                feesOnTop: referralFee,\n              }\n            } else if (map[sellOutCurrencySymbol]) {\n              map[sellOutCurrencySymbol].netAmount += netAmount - referralFee\n              map[sellOutCurrencySymbol].amount += amount\n              map[sellOutCurrencySymbol].royalty += royalty\n              map[sellOutCurrencySymbol].marketplaceFee += marketplaceFee\n              map[sellOutCurrencySymbol].feesOnTop += referralFee\n            }\n          } else if (currency && currencySymbol) {\n            builtInFees?.forEach((fee) => {\n              switch (fee.kind) {\n                case 'marketplace': {\n                  marketplaceFee += fee.amount || 0\n                  break\n                }\n                case 'royalty': {\n                  royalty += fee.amount || 0\n                  break\n                }\n              }\n            })\n            feesOnTop?.forEach((fee) => {\n              switch (fee.kind) {\n                case 'royalty': {\n                  royalty += fee.amount || 0\n                  break\n                }\n                case 'marketplace':\n                default: {\n                  referralFee += fee.amount || 0\n                  break\n                }\n              }\n            })\n            if (!map[currencySymbol]) {\n              map[currencySymbol] = {\n                netAmount: netAmount - referralFee,\n                amount,\n                currency: {\n                  contract: currency,\n                  symbol: currencySymbol,\n                  decimals: currencyDecimals,\n                },\n                royalty,\n                marketplaceFee,\n                feesOnTop: referralFee,\n              }\n            } else if (map[currencySymbol]) {\n              map[currencySymbol].netAmount += netAmount - referralFee\n              map[currencySymbol].amount += amount\n              map[currencySymbol].royalty += royalty\n              map[currencySymbol].marketplaceFee += marketplaceFee\n              map[currencySymbol].feesOnTop += referralFee\n            }\n          }\n          return map\n        },\n        {} as Record<string, AcceptBidPrice>\n      )\n\n      setPrices(Object.values(prices))\n\n      if (acceptBidStep === AcceptBidStep.Unavailable) {\n        setAcceptBidStep(AcceptBidStep.Checkout)\n      }\n    } else if (!isFetchingBidPath) {\n      setPrices([])\n      setAcceptBidStep(AcceptBidStep.Unavailable)\n    }\n  }, [client, bidsPath, isFetchingBidPath])\n\n  const swapCurrency = useMemo(() => {\n    const bidPath = bidsPath?.[0]\n    if (bidPath && bidPath.sellOutCurrency) {\n      return {\n        contract: bidPath.sellOutCurrency as string,\n        decimals: bidPath.sellOutCurrencyDecimals as number,\n        symbol: bidPath.sellOutCurrencySymbol as string,\n      }\n    } else return null\n  }, [bidsPath, currency])\n\n  const { address } = useAccount()\n\n  useEffect(() => {\n    if (!open) {\n      setAcceptBidStep(AcceptBidStep.Checkout)\n      setTxHash(null)\n      setStepData(null)\n      setTransactionError(null)\n    }\n  }, [open])\n\n  open\n    ? (axios.defaults.headers.common['x-rkui-context'] =\n        'acceptBidModalRenderer')\n    : delete axios.defaults.headers.common?.['x-rkui-context']\n\n  return (\n    <>\n      {children({\n        swapCurrency,\n        loading: isFetchingBidPath || isFetchingTokenData,\n        tokensData: enhancedTokens,\n        acceptBidStep,\n        transactionError,\n        txHash,\n        usdPrices,\n        prices,\n        address,\n        blockExplorerBaseUrl,\n        acceptBid,\n        setAcceptBidStep,\n        stepData,\n      })}\n    </>\n  )\n}\n","import React, { FC } from 'react'\nimport { styled } from '../../../stitches.config'\nimport { Flex, FormatCryptoCurrency, Text, Tooltip } from '../../primitives'\nimport { SellPath } from '@reservoir0x/reservoir-sdk'\n\ntype Props = {\n  token: {\n    name?: string\n    id: string\n  }\n  collection?: {\n    name: string\n    id: string\n  }\n  fees?: NonNullable<SellPath>[0]['builtInFees']\n  img: string\n  sourceImg?: string\n  price?: number\n  netAmount?: number\n  currency?: string\n  decimals?: number\n  chainId?: number\n}\n\nconst Img = styled('img', {\n  height: 56,\n  width: 56,\n})\n\nconst AcceptBidLineItem: FC<Props> = ({\n  img,\n  token,\n  collection,\n  chainId,\n  sourceImg,\n  price,\n  netAmount,\n  fees,\n  currency,\n  decimals,\n}) => {\n  const royaltiesBps = fees?.reduce((total, fee) => {\n    if (fee?.kind === 'royalty') {\n      total += fee?.bps || 0\n    }\n    return total\n  }, 0)\n\n  const isUnavailable = !price\n\n  return (\n    <Flex css={{ p: '$4', borderBottom: '1px solid $borderColor', gap: '$2' }}>\n      <Img\n        src={img}\n        alt={'Token Image'}\n        css={{\n          borderRadius: 4,\n          overflow: 'hidden',\n          visibility: !img || img.length === 0 ? 'hidden' : 'visible',\n          flexShrink: 0,\n          objectFit: 'cover',\n          filter: isUnavailable ? 'grayscale(1)' : 'unset',\n        }}\n      />\n      <Flex\n        direction=\"column\"\n        align=\"start\"\n        justify=\"center\"\n        css={{ gap: 2, mr: 'auto' }}\n      >\n        <Text style=\"h6\" color={isUnavailable ? 'subtle' : 'base'}>\n          {token.name || `#${token.id}`}\n        </Text>\n        <Text style=\"body3\" color={isUnavailable ? 'subtle' : 'base'}>\n          {collection?.name}\n        </Text>\n        {royaltiesBps ? (\n          <Text style=\"body3\" color=\"subtle\">\n            Creator Royalties: {royaltiesBps / 100}%\n          </Text>\n        ) : null}\n      </Flex>\n      {isUnavailable ? (\n        <Text\n          color=\"error\"\n          style=\"body3\"\n          css={{ display: 'flex', alignItems: 'center', flexShrink: 0 }}\n        >\n          Offer no longer available\n        </Text>\n      ) : (\n        <Tooltip\n          side=\"left\"\n          content={\n            <Flex direction=\"column\" css={{ gap: '$2' }}>\n              <Flex css={{ gap: '$1' }} justify=\"between\">\n                <Text style=\"body3\">Total Offer Value</Text>\n                <FormatCryptoCurrency\n                  chainId={chainId}\n                  amount={price}\n                  address={currency}\n                  decimals={decimals}\n                  textStyle=\"subtitle3\"\n                />\n              </Flex>\n              {fees?.map((fee, i) => {\n                let feeName = 'Misc Fee'\n                switch (fee.kind) {\n                  case 'marketplace': {\n                    feeName = 'Marketplace Fee'\n                    break\n                  }\n                  case 'royalty': {\n                    feeName = 'Creator Royalties'\n                    break\n                  }\n                }\n                return (\n                  <Flex justify=\"between\" key={i}>\n                    <Text style=\"body3\" color=\"subtle\" css={{ mr: '$1' }}>\n                      {feeName}\n                    </Text>\n                    <Text style=\"body3\" color=\"subtle\" css={{ ml: 'auto' }}>\n                      -\n                    </Text>\n                    <FormatCryptoCurrency\n                      chainId={chainId}\n                      amount={fee.amount}\n                      address={currency}\n                      decimals={decimals}\n                      textStyle=\"subtitle3\"\n                    />\n                  </Flex>\n                )\n              })}\n              <Flex justify=\"between\" css={{ gap: '$1' }}>\n                <Text style=\"body3\">You Get</Text>\n                <FormatCryptoCurrency\n                  chainId={chainId}\n                  amount={netAmount}\n                  address={currency}\n                  decimals={decimals}\n                  textStyle=\"subtitle3\"\n                />\n              </Flex>\n            </Flex>\n          }\n        >\n          <Flex\n            direction=\"column\"\n            align=\"end\"\n            justify=\"center\"\n            css={{ gap: '$1', ml: 'auto', height: '100%' }}\n          >\n            {sourceImg && (\n              <Img src={sourceImg} css={{ height: 16, width: 16 }} />\n            )}\n            <FormatCryptoCurrency\n              chainId={chainId}\n              amount={price}\n              address={currency}\n              decimals={decimals}\n              textStyle=\"subtitle3\"\n            />\n          </Flex>\n        </Tooltip>\n      )}\n    </Flex>\n  )\n}\n\nexport default AcceptBidLineItem\n","import React, { FC, useEffect, useMemo, useState } from 'react'\nimport { Execute, ReservoirChain } from '@reservoir0x/reservoir-sdk'\nimport { ApproveCollapsible } from '../ApproveCollapisble'\nimport { EnhancedAcceptBidTokenData } from './AcceptBidModalRenderer'\nimport { Flex, Grid, Img, Loader, Text } from '../../primitives'\nimport { styled } from '@stitches/react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCircleNotch } from '@fortawesome/free-solid-svg-icons/faCircleNotch'\n\ntype Props = {\n  step: NonNullable<Execute['steps'][0]>\n  tokensData: EnhancedAcceptBidTokenData[]\n  chain?: ReservoirChain | null\n  open?: boolean\n  isCurrentStep?: boolean\n}\n\nconst StyledImg = styled(Img, {\n  width: 24,\n  height: 24,\n  borderRadius: 4,\n})\n\nconst Spinner = () => (\n  <Loader\n    css={{ display: 'flex', alignItems: 'center' }}\n    icon={\n      <Flex css={{ color: '$accentSolidHover' }}>\n        <FontAwesomeIcon icon={faCircleNotch} width={16} height={16} />\n      </Flex>\n    }\n  />\n)\n\nexport const ApproveBidCollapsible: FC<Props> = ({\n  step,\n  tokensData,\n  chain,\n  open,\n  isCurrentStep,\n}) => {\n  const [collapsibleOpen, setCollapsibleOpen] = useState(false)\n  const isComplete =\n    step && step.items?.every((item) => item?.status == 'complete')\n      ? true\n      : false\n\n  useEffect(() => {\n    if (open !== undefined && open !== collapsibleOpen) {\n      setCollapsibleOpen(open)\n    }\n  }, [open])\n\n  const pathMap = useMemo(\n    () =>\n      tokensData.reduce((paths, tokenData) => {\n        tokenData.bidsPath.forEach((bidPath) => {\n          if (bidPath.orderId) {\n            paths[bidPath.orderId] = bidPath\n          }\n        })\n        return paths\n      }, {} as Record<string, EnhancedAcceptBidTokenData['bidsPath'][0]>),\n    [tokensData]\n  )\n\n  const tokensMap = useMemo(\n    () =>\n      tokensData.reduce((map, tokenData) => {\n        const contract = (tokenData?.collectionId || '').split(':')[0]\n        map[`${contract}:${tokenData.tokenId}`] = tokenData\n        return map\n      }, {} as Record<string, EnhancedAcceptBidTokenData>),\n    []\n  )\n\n  if (step.id !== 'sale' && step.id !== 'nft-approval') {\n    return null\n  }\n\n  const title = step.id === 'sale' ? 'Confirm Sale' : 'Approve Collections'\n  const disabled = !step.items || !step.items.length\n  const baseApiUrl = chain?.baseApiUrl\n\n  return (\n    <ApproveCollapsible\n      title={title}\n      open={disabled ? false : collapsibleOpen}\n      onOpenChange={disabled ? () => {} : setCollapsibleOpen}\n      isInProgress={isCurrentStep}\n      isComplete={isComplete}\n      css={{ margin: 12 }}\n    >\n      <Grid\n        css={{\n          px: '$4',\n          pb: '$2',\n          gridTemplateColumns: 'auto 1fr 16px',\n          gridRowGap: 24,\n        }}\n      >\n        {step?.items?.map((item, i) => {\n          const paths = item.orderIds?.map((id) => pathMap[id]) || []\n          const marketplaces = Array.from(\n            paths.reduce((marketplaces, path) => {\n              if (path.source) {\n                marketplaces.add(path.source)\n              }\n              return marketplaces\n            }, new Set() as Set<string>)\n          ).join(',')\n          if (step.id === 'sale') {\n            const images = paths.reduce((images, path) => {\n              const tokenKey = `${path?.contract}:${path?.tokenId}`\n              const tokenData = tokensMap[tokenKey]?.tokenData\n              const image =\n                tokenData?.token?.imageSmall || baseApiUrl\n                  ? `${baseApiUrl}/redirect/tokens/${tokenKey}/image/v1?imageSize=small`\n                  : null\n              if (image && images.length < 4) {\n                images.push(image)\n              }\n              return images\n            }, [] as string[])\n\n            return (\n              <React.Fragment key={i}>\n                <Flex css={{ mr: '$2' }}>\n                  {images.map((image, i) => (\n                    <StyledImg\n                      key={i}\n                      src={image}\n                      css={{ marginLeft: i > 0 ? -14 : 0 }}\n                    />\n                  ))}\n                </Flex>\n                <Text\n                  style=\"body2\"\n                  color=\"subtle\"\n                  css={{ display: 'flex', alignItems: 'center' }}\n                >\n                  Confirm sale of {paths.length}{' '}\n                  {paths.length > 1 ? 'items' : 'item'} on{' '}\n                  {marketplaces.length > 0 ? marketplaces : 'exchange'}\n                </Text>\n                {isCurrentStep ? <Spinner /> : null}\n              </React.Fragment>\n            )\n          } else {\n            const path = paths.length > 0 ? paths[0] : null\n            const tokenKey = `${path?.contract}:${path?.tokenId}`\n            const collection = tokensMap[tokenKey]?.tokenData?.token?.collection\n            const collectionName = collection?.name || 'Collection'\n            const collectionImage =\n              collection?.image || baseApiUrl\n                ? `${baseApiUrl}/redirect/collections/${path?.contract}/image/v1`\n                : ''\n            const sourceImages = paths.map(\n              (path) => `${baseApiUrl}/redirect/sources/${path.source}/logo/v2`\n            )\n\n            return (\n              <React.Fragment key={i}>\n                <Flex css={{ mr: '$2' }}>\n                  <StyledImg src={collectionImage} />\n                  {sourceImages.map((src, i) => (\n                    <StyledImg key={i} src={src} css={{ marginLeft: -14 }} />\n                  ))}\n                </Flex>\n                <Text\n                  style=\"body2\"\n                  color=\"subtle\"\n                  css={{ display: 'flex', alignItems: 'center' }}\n                >\n                  Approve {collectionName} for{' '}\n                  {marketplaces.length > 0 ? marketplaces : 'trading'}\n                </Text>\n                {isCurrentStep ? <Spinner /> : null}\n              </React.Fragment>\n            )\n          }\n        })}\n      </Grid>\n    </ApproveCollapsible>\n  )\n}\n","import { faChevronDown } from '@fortawesome/free-solid-svg-icons/faChevronDown'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport React, { FC, PropsWithChildren, useEffect } from 'react'\nimport { Flex, Box, Text } from '../primitives'\nimport { CollapsibleContent, CollapsibleRoot } from '../primitives/Collapsible'\nimport * as CollapsiblePrimitive from '@radix-ui/react-collapsible'\nimport { CSS } from '@stitches/react'\n\ntype Props = {\n  title?: string\n  isInProgress?: boolean\n  isComplete: boolean\n  open: boolean\n  onOpenChange: (open: boolean) => void\n  css?: CSS\n} & PropsWithChildren\n\nexport const ApproveCollapsible: FC<Props> = ({\n  title,\n  isInProgress,\n  isComplete,\n  children,\n  open,\n  css,\n  onOpenChange,\n}) => {\n  useEffect(() => {\n    if (isComplete) {\n      onOpenChange(false)\n    }\n  }, [isComplete])\n\n  let backgroundColor = 'transparent'\n  let borderColor = '$neutralLine'\n\n  if (isComplete) {\n    backgroundColor = '$green6'\n    borderColor = '$green9'\n  } else if (isInProgress) {\n    backgroundColor = '$accentSolid'\n    borderColor = '$accentLine'\n  }\n\n  return (\n    <CollapsibleRoot\n      open={open}\n      onOpenChange={onOpenChange}\n      css={{ backgroundColor: '$gray3', ...css }}\n    >\n      <CollapsiblePrimitive.Trigger asChild>\n        <Flex justify=\"between\" css={{ p: '$4' }}>\n          <Flex align=\"center\" css={{ gap: '$3' }}>\n            <Box\n              css={{\n                width: 18,\n                height: 18,\n                backgroundColor: backgroundColor,\n                borderColor: borderColor,\n                borderStyle: 'solid',\n                borderWidth: 4,\n                borderRadius: 999,\n              }}\n            />\n            <Text\n              style=\"subtitle3\"\n              css={{ color: isComplete ? '$neutralText' : '$textColor' }}\n            >\n              {title}\n            </Text>\n          </Flex>\n          <Box\n            css={{\n              color: '$neutralSolid',\n              transform: open ? 'rotate(180deg)' : 'rotate(0)',\n              transition: '.3s',\n            }}\n          >\n            <FontAwesomeIcon icon={faChevronDown} />\n          </Box>\n        </Flex>\n      </CollapsiblePrimitive.Trigger>\n      <CollapsibleContent>{children}</CollapsibleContent>\n    </CollapsibleRoot>\n  )\n}\n","import { styled } from '../../stitches.config'\n\nexport default styled('div', {\n  display: 'grid',\n\n  variants: {\n    align: {\n      start: {\n        alignItems: 'start',\n      },\n      center: {\n        alignItems: 'center',\n      },\n      end: {\n        alignItems: 'end',\n      },\n      stretch: {\n        alignItems: 'stretch',\n      },\n      baseline: {\n        alignItems: 'baseline',\n      },\n    },\n    justify: {\n      start: {\n        justifyContent: 'start',\n      },\n      center: {\n        justifyContent: 'center',\n      },\n      end: {\n        justifyContent: 'end',\n      },\n      between: {\n        justifyContent: 'space-between',\n      },\n    },\n    flow: {\n      row: {\n        gridAutoFlow: 'row',\n      },\n      column: {\n        gridAutoFlow: 'column',\n      },\n      dense: {\n        gridAutoFlow: 'dense',\n      },\n      rowDense: {\n        gridAutoFlow: 'row dense',\n      },\n      columnDense: {\n        gridAutoFlow: 'column dense',\n      },\n    },\n  },\n})\n","import React, { FC, useMemo } from 'react'\nimport { styled } from '../../../stitches.config'\nimport {\n  Flex,\n  FormatCryptoCurrency,\n  FormatCurrency,\n  Text,\n} from '../../primitives'\nimport { ReservoirChain } from '@reservoir0x/reservoir-sdk'\nimport {\n  AcceptBidPrice,\n  EnhancedAcceptBidTokenData,\n} from './AcceptBidModalRenderer'\nimport { useCoinConversion } from '../../hooks'\n\ntype Props = {\n  tokensData: EnhancedAcceptBidTokenData[]\n  prices: AcceptBidPrice[]\n  usdPrices: Record<string, ReturnType<typeof useCoinConversion>[0]>\n  chain?: ReservoirChain | null\n}\n\nconst Img = styled('img', {\n  height: 56,\n  width: 56,\n  borderRadius: 4,\n  overflow: 'hidden',\n  flexShrink: 0,\n  objectFit: 'cover',\n})\n\nconst AcceptBidSummaryLineItem: FC<Props> = ({\n  tokensData,\n  prices,\n  usdPrices,\n  chain,\n}) => {\n  const imgs = useMemo(() => {\n    if (!tokensData || tokensData.length <= 0) {\n      return []\n    }\n    const imgs: string[] = []\n    const baseApiUrl = chain?.baseApiUrl\n    for (var i = 0; i < tokensData.length; i++) {\n      const token = tokensData[i]\n      const contract = (token?.collectionId || '').split(':')[0]\n      const tokenId = `${contract}:${token?.tokenId}`\n      if (token?.tokenData?.token?.imageSmall || baseApiUrl) {\n        imgs.push(\n          `${baseApiUrl}/redirect/tokens/${tokenId}/image/v1?imageSize=small`\n        )\n      }\n      if (imgs.length > 2) {\n        break\n      }\n    }\n    return imgs\n  }, [tokensData, chain])\n\n  const itemCount = useMemo(\n    () =>\n      tokensData.reduce((total, tokenData) => {\n        tokenData.bidsPath.forEach((path) => {\n          total += path.quantity || 0\n        })\n        return total\n      }, 0),\n    [tokensData]\n  )\n  const usdPrice = useMemo(() => {\n    let missingConversion = false\n    const totalUsd = prices.reduce((total, { amount, currency }) => {\n      const conversion = usdPrices[currency.symbol]\n      if (conversion) {\n        total += conversion.price * amount\n      } else {\n        missingConversion = true\n      }\n      return total\n    }, 0)\n    return missingConversion ? 0 : totalUsd\n  }, [prices, usdPrices])\n\n  return (\n    <Flex\n      direction=\"column\"\n      css={{ p: '$4', borderBottom: '1px solid $borderColor', gap: '$2' }}\n    >\n      <Flex justify=\"between\">\n        <Text color=\"subtle\" style=\"subtitle3\">\n          Item\n        </Text>\n        <Text color=\"subtle\" style=\"subtitle3\">\n          You Get\n        </Text>\n      </Flex>\n      <Flex align=\"center\">\n        <Flex css={{ mr: '$4', position: 'relative' }}>\n          <Img\n            src={imgs[0]}\n            alt={'Token Image'}\n            css={{\n              visibility: !imgs[0] ? 'hidden' : 'visible',\n              mr: itemCount > 1 && imgs[1] ? 8 : 0,\n            }}\n          />\n          {itemCount > 1 && imgs[1] ? (\n            <Img\n              src={imgs[1]}\n              alt={'Token Image'}\n              css={{\n                position: 'absolute',\n                right: -5,\n                zIndex: -1,\n                opacity: 0.5,\n              }}\n            />\n          ) : null}\n        </Flex>\n        <Text style=\"h6\">\n          {itemCount} {itemCount > 1 ? 'Items' : 'Item'}\n        </Text>\n\n        <Flex\n          align=\"end\"\n          justify=\"end\"\n          direction=\"column\"\n          css={{ ml: 'auto', gap: '$2' }}\n        >\n          <Flex align=\"center\">\n            {prices.map(({ netAmount, currency }, i) => {\n              return (\n                <span key={i}>\n                  {i > 0 ? (\n                    <Text color=\"subtle\" style=\"subtitle3\" css={{ mx: '$1' }}>\n                      +\n                    </Text>\n                  ) : null}\n                  <FormatCryptoCurrency\n                    chainId={chain?.id}\n                    amount={netAmount}\n                    address={currency.contract}\n                    decimals={currency.decimals}\n                    textStyle=\"h6\"\n                    logoWidth={19}\n                  />\n                </span>\n              )\n            })}\n          </Flex>\n          <FormatCurrency amount={usdPrice} style=\"tiny\" color=\"subtle\" />\n        </Flex>\n      </Flex>\n    </Flex>\n  )\n}\n\nexport default AcceptBidSummaryLineItem\n","import { useFallbackState, useReservoirClient, useTimeSince } from '../../hooks'\nimport React, {\n  ReactElement,\n  Dispatch,\n  SetStateAction,\n  useEffect,\n  ComponentPropsWithoutRef,\n} from 'react'\nimport {\n  Flex,\n  Text,\n  Box,\n  Button,\n  Loader,\n  Anchor,\n  ErrorWell,\n} from '../../primitives'\nimport { CancelBidModalRenderer, CancelStep } from './CancelBidModalRenderer'\nimport { Modal } from '../Modal'\nimport TokenPrimitive from '../../modal/TokenPrimitive'\nimport Progress from '../Progress'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faGasPump } from '@fortawesome/free-solid-svg-icons/faGasPump'\n\nimport { truncateAddress } from '../../lib/truncate'\nimport { ReservoirWallet } from '@reservoir0x/reservoir-sdk'\nimport { WalletClient } from 'viem'\nimport getChainBlockExplorerUrl from '../../lib/getChainBlockExplorerUrl'\nimport { Dialog } from '../../primitives/Dialog'\n\nconst ModalCopy = {\n  title: 'Cancel Offer',\n  ctaCancel: 'Continue to Cancel',\n  ctaAwaitingApproval: 'Waiting for approval...',\n  ctaAwaitingValidation: 'Waiting for transaction to be validated',\n  ctaClose: 'Close',\n}\n\ntype Props = Pick<Parameters<typeof Modal>['0'], 'trigger'> & {\n  openState?: [boolean, Dispatch<SetStateAction<boolean>>]\n  bidId?: string\n  chainId?: number\n  normalizeRoyalties?: boolean\n  copyOverrides?: Partial<typeof ModalCopy>\n  walletClient?: ReservoirWallet | WalletClient\n  onClose?: (data: any, currentStep: CancelStep) => void\n  onCancelComplete?: (data: any) => void\n  onCancelError?: (error: Error, data: any) => void\n  onPointerDownOutside?: ComponentPropsWithoutRef<\n    typeof Dialog\n  >['onPointerDownOutside']\n}\n\nexport function CancelBidModal({\n  openState,\n  bidId,\n  chainId,\n  trigger,\n  normalizeRoyalties,\n  copyOverrides,\n  walletClient,\n  onClose,\n  onCancelComplete,\n  onCancelError,\n  onPointerDownOutside,\n}: Props): ReactElement {\n  const copy: typeof ModalCopy = { ...ModalCopy, ...copyOverrides }\n  const [open, setOpen] = useFallbackState(\n    openState ? openState[0] : false,\n    openState\n  )\n\n  const client = useReservoirClient()\n\n  const currentChain = client?.currentChain()\n\n  const modalChain = chainId\n    ? client?.chains.find(({ id }) => id === chainId) || currentChain\n    : currentChain\n\n  return (\n    <CancelBidModalRenderer\n      chainId={modalChain?.id}\n      bidId={bidId}\n      open={open}\n      normalizeRoyalties={normalizeRoyalties}\n      walletClient={walletClient}\n    >\n      {({\n        loading,\n        bid,\n        tokenId,\n        cancelStep,\n        transactionError,\n        stepData,\n        totalUsd,\n        blockExplorerName,\n        cancelOrder,\n      }) => {\n        const expires = useTimeSince(bid?.expiration)\n        const collectionId = bid?.criteria?.data?.collection?.id\n        const bidImg = tokenId\n          ? `${modalChain?.baseApiUrl}/redirect/tokens/${collectionId}:${tokenId}/image/v1?imageSize=small`\n          : `${modalChain?.baseApiUrl}/redirect/collections/${collectionId}/image/v1`\n        const isAttributeOffer = (bid?.criteria?.kind as any) === 'attribute'\n\n        useEffect(() => {\n          if (cancelStep === CancelStep.Complete && onCancelComplete) {\n            const data = {\n              bid,\n              stepData: stepData,\n            }\n            onCancelComplete(data)\n          }\n        }, [cancelStep])\n\n        useEffect(() => {\n          if (transactionError && onCancelError) {\n            const data = {\n              bid,\n              stepData: stepData,\n            }\n            onCancelError(transactionError, data)\n          }\n        }, [transactionError])\n\n        const isBidAvailable =\n          bid &&\n          (bid.status === 'active' || bid.status === 'inactive') &&\n          !loading\n\n        const isOracleOrder = bid?.isNativeOffChainCancellable\n\n        return (\n          <Modal\n            trigger={trigger}\n            title={copy.title}\n            open={open}\n            onOpenChange={(open) => {\n              if (!open && onClose) {\n                const data = {\n                  bid,\n                  stepData: stepData,\n                }\n                onClose(data, cancelStep)\n              }\n              setOpen(open)\n            }}\n            loading={loading}\n            onPointerDownOutside={(e) => {\n              if (onPointerDownOutside) {\n                onPointerDownOutside(e)\n              }\n            }}\n          >\n            {!isBidAvailable && !loading && (\n              <Flex\n                direction=\"column\"\n                justify=\"center\"\n                css={{ px: '$4', py: '$6' }}\n              >\n                <Text style=\"h6\" css={{ textAlign: 'center' }}>\n                  Selected bid is no longer available\n                </Text>\n              </Flex>\n            )}\n            {isBidAvailable && cancelStep === CancelStep.Cancel && (\n              <Flex direction=\"column\">\n                {transactionError && <ErrorWell error={transactionError} />}\n\n                <Box css={{ p: '$4', borderBottom: '1px solid $borderColor' }}>\n                  <TokenPrimitive\n                    chain={modalChain}\n                    img={bidImg}\n                    name={bid?.criteria?.data?.token?.name}\n                    price={bid?.price?.amount?.decimal}\n                    usdPrice={totalUsd}\n                    collection={bid?.criteria?.data?.collection?.name || ''}\n                    currencyContract={bid?.price?.currency?.contract}\n                    currencyDecimals={bid?.price?.currency?.decimals}\n                    currencySymbol={bid?.price?.currency?.symbol}\n                    expires={expires}\n                    source={(bid?.source?.icon as string) || ''}\n                    priceSubtitle=\"Offer\"\n                  />\n                </Box>\n                <Text\n                  style=\"body2\"\n                  color=\"subtle\"\n                  css={{ mt: '$3', mr: '$3', ml: '$3', textAlign: 'center' }}\n                >\n                  {!isOracleOrder\n                    ? 'This action will cancel your offer. You will be prompted to confirm this cancellation from your wallet. A gas fee is required.'\n                    : 'This will cancel your offer for free. You will be prompted to confirm this cancellation from your wallet.'}\n                </Text>\n                <Button onClick={cancelOrder} css={{ m: '$4' }}>\n                  {!isOracleOrder && (\n                    <FontAwesomeIcon icon={faGasPump} width=\"16\" height=\"16\" />\n                  )}\n                  {copy.ctaCancel}\n                </Button>\n              </Flex>\n            )}\n            {cancelStep === CancelStep.Approving && (\n              <Flex direction=\"column\">\n                <Box css={{ p: '$4', borderBottom: '1px solid $borderColor' }}>\n                  <TokenPrimitive\n                    chain={modalChain}\n                    img={bidImg}\n                    name={bid?.criteria?.data?.token?.name}\n                    price={bid?.price?.amount?.decimal}\n                    usdPrice={totalUsd}\n                    collection={bid?.criteria?.data?.collection?.name || ''}\n                    currencyContract={bid?.price?.currency?.contract}\n                    currencyDecimals={bid?.price?.currency?.decimals}\n                    currencySymbol={bid?.price?.currency?.symbol}\n                    expires={expires}\n                    source={(bid?.source?.icon as string) || ''}\n                    priceSubtitle=\"Offer\"\n                  />\n                </Box>\n                {!stepData && <Loader css={{ height: 206 }} />}\n                {stepData && (\n                  <>\n                    <Progress\n                      title={\n                        stepData?.currentStepItem.txHashes\n                          ? 'Finalizing on blockchain'\n                          : 'Confirm cancelation in your wallet'\n                      }\n                      txHashes={stepData?.currentStepItem.txHashes}\n                    />\n                    {isAttributeOffer &&\n                      !stepData?.currentStepItem.txHashes && (\n                        <Flex justify=\"center\">\n                          <Text\n                            style=\"body2\"\n                            color=\"subtle\"\n                            css={{\n                              maxWidth: 400,\n                              textAlign: 'center',\n                              mx: '$3',\n                            }}\n                          >\n                            This will cancel your offer on all items that were\n                            included in this attribute offer.\n                          </Text>\n                        </Flex>\n                      )}\n                  </>\n                )}\n                <Button disabled={true} css={{ m: '$4' }}>\n                  <Loader />\n                  {stepData?.currentStepItem.txHashes\n                    ? copy.ctaAwaitingValidation\n                    : copy.ctaAwaitingApproval}\n                </Button>\n              </Flex>\n            )}\n            {cancelStep === CancelStep.Complete && (\n              <Flex direction=\"column\">\n                <Flex\n                  css={{\n                    p: '$4',\n                    py: '$5',\n                    flexDirection: 'column',\n                    alignItems: 'center',\n                    textAlign: 'center',\n                  }}\n                >\n                  <Text style=\"h5\" css={{ mb: '$2' }}>\n                    Offer Canceled!\n                  </Text>\n                  <Text style=\"body2\" color=\"subtle\" css={{ mb: 24 }}>\n                    <>\n                      Your{' '}\n                      <Text style=\"body2\" color=\"accent\">\n                        {bid?.source?.name as string}\n                      </Text>{' '}\n                      offer for{' '}\n                      <Text style=\"body2\" color=\"accent\">\n                        {bid?.criteria?.data?.token?.name ||\n                          bid?.criteria?.data?.collection?.name}{' '}\n                      </Text>\n                      at {bid?.price?.amount?.decimal}{' '}\n                      {bid?.price?.currency?.symbol} has been canceled.\n                    </>\n                  </Text>\n\n                  <Flex direction=\"column\" align=\"center\" css={{ gap: '$2' }}>\n                    {stepData?.currentStepItem?.txHashes?.map((hash, index) => {\n                      const truncatedTxHash = truncateAddress(hash.txHash)\n                      const blockExplorerBaseUrl = getChainBlockExplorerUrl(\n                        hash.chainId\n                      )\n                      return (\n                        <Anchor\n                          key={index}\n                          href={`${blockExplorerBaseUrl}/tx/${hash.txHash}`}\n                          color=\"primary\"\n                          weight=\"medium\"\n                          target=\"_blank\"\n                          css={{ fontSize: 12 }}\n                        >\n                          View transaction: {truncatedTxHash}\n                        </Anchor>\n                      )\n                    })}\n                  </Flex>\n                </Flex>\n                <Button\n                  onClick={() => {\n                    setOpen(false)\n                  }}\n                  css={{ m: '$4' }}\n                >\n                  {copy.ctaClose}\n                </Button>\n              </Flex>\n            )}\n          </Modal>\n        )\n      }}\n    </CancelBidModalRenderer>\n  )\n}\n\nCancelBidModal.Custom = CancelBidModalRenderer\n","import React, { FC, useEffect, useState, useCallback, ReactNode } from 'react'\nimport { useCoinConversion, useReservoirClient, useUserBids } from '../../hooks'\nimport { useAccount, useConfig, useWalletClient } from 'wagmi'\nimport { Execute, ReservoirWallet, axios } from '@reservoir0x/reservoir-sdk'\nimport { getAccount, switchChain } from 'wagmi/actions'\nimport { customChains } from '@reservoir0x/reservoir-sdk'\nimport * as allChains from 'viem/chains'\nimport { WalletClient } from 'viem'\n\nexport enum CancelStep {\n  Cancel,\n  Approving,\n  Complete,\n}\n\nexport type CancelBidStepData = {\n  totalSteps: number\n  stepProgress: number\n  currentStep: Execute['steps'][0]\n  currentStepItem: NonNullable<Execute['steps'][0]['items']>[0]\n}\n\ntype ChildrenProps = {\n  loading: boolean\n  bid?: NonNullable<ReturnType<typeof useUserBids>['data']>[0]\n  tokenId?: string\n  cancelStep: CancelStep\n  transactionError?: Error | null\n  totalUsd: number\n  usdPrice: number\n  blockExplorerBaseUrl: string\n  blockExplorerName: string\n  steps: Execute['steps'] | null\n  stepData: CancelBidStepData | null\n  setCancelStep: React.Dispatch<React.SetStateAction<CancelStep>>\n  cancelOrder: () => void\n}\n\ntype Props = {\n  open: boolean\n  bidId?: string\n  chainId?: number\n  normalizeRoyalties?: boolean\n  children: (props: ChildrenProps) => ReactNode\n  walletClient?: ReservoirWallet | WalletClient\n}\n\nexport const CancelBidModalRenderer: FC<Props> = ({\n  open,\n  chainId,\n  bidId,\n  normalizeRoyalties,\n  children,\n  walletClient,\n}) => {\n  const [cancelStep, setCancelStep] = useState<CancelStep>(CancelStep.Cancel)\n  const [transactionError, setTransactionError] = useState<Error | null>()\n  const [stepData, setStepData] = useState<CancelBidStepData | null>(null)\n  const [steps, setSteps] = useState<Execute['steps'] | null>(null)\n\n  const client = useReservoirClient()\n  const currentChain = client?.currentChain()\n  const config = useConfig()\n  const { address } = useAccount()\n\n  const rendererChain = chainId\n    ? client?.chains.find(({ id }) => id === chainId) || currentChain\n    : currentChain\n\n  const wagmiChain: allChains.Chain | undefined = Object.values({\n    ...allChains,\n    ...customChains,\n  }).find(({ id }) => rendererChain?.id === id)\n\n  const { data: wagmiWallet } = useWalletClient({ chainId: rendererChain?.id })\n\n  const wallet = walletClient || wagmiWallet\n\n  const blockExplorerBaseUrl =\n    wagmiChain?.blockExplorers?.default.url || 'https://etherscan.io'\n\n  const blockExplorerName =\n    wagmiChain?.blockExplorers?.default?.name || 'Etherscan'\n\n  const { data: bids, isFetchingPage } = useUserBids(\n    address,\n    {\n      ids: bidId,\n      normalizeRoyalties,\n      includeCriteriaMetadata: true,\n      includeRawData: true,\n    },\n    {\n      revalidateFirstPage: true,\n    },\n    open && bidId ? true : false,\n    rendererChain?.id\n  )\n\n  const bid = bids && bids[0] ? bids[0] : undefined\n  const currency = bid?.price?.currency\n\n  const coinConversion = useCoinConversion(\n    open && bid ? 'USD' : undefined,\n    currency?.symbol\n  )\n  const usdPrice = coinConversion.length > 0 ? coinConversion[0].price : 0\n  const totalUsd = usdPrice * (bid?.price?.amount?.decimal || 0)\n\n  const cancelOrder = useCallback(async () => {\n    if (!wallet) {\n      const error = new Error('Missing a wallet/signer')\n      setTransactionError(error)\n      throw error\n    }\n\n    let activeWalletChain = getAccount(config).chain\n    if (rendererChain?.id !== activeWalletChain?.id) {\n      activeWalletChain = await switchChain(config, {\n        chainId: rendererChain?.id as number,\n      })\n    }\n\n    if (rendererChain?.id !== activeWalletChain?.id) {\n      const error = new Error(`Mismatching chainIds`)\n      setTransactionError(error)\n      throw error\n    }\n\n    if (!bidId) {\n      const error = new Error('Missing bid id to cancel')\n      setTransactionError(error)\n      throw error\n    }\n\n    if (!client) {\n      const error = new Error('ReservoirClient was not initialized')\n      setTransactionError(error)\n      throw error\n    }\n\n    setCancelStep(CancelStep.Approving)\n\n    client.actions\n      .cancelOrder({\n        chainId: rendererChain?.id,\n        ids: [bidId],\n        wallet,\n        onProgress: (steps: Execute['steps']) => {\n          if (!steps) {\n            return\n          }\n          setSteps(steps)\n\n          const executableSteps = steps.filter(\n            (step) => step.items && step.items.length > 0\n          )\n\n          let stepCount = executableSteps.length\n\n          let currentStepItem:\n            | NonNullable<Execute['steps'][0]['items']>[0]\n            | undefined\n\n          const currentStepIndex = executableSteps.findIndex((step) => {\n            currentStepItem = step.items?.find(\n              (item) => item.status === 'incomplete'\n            )\n            return currentStepItem\n          })\n\n          const currentStep =\n            currentStepIndex > -1\n              ? executableSteps[currentStepIndex]\n              : executableSteps[stepCount - 1]\n\n          if (currentStepItem) {\n            setStepData({\n              totalSteps: stepCount,\n              stepProgress: currentStepIndex,\n              currentStep,\n              currentStepItem,\n            })\n          } else if (\n            steps.every(\n              (step) =>\n                !step.items ||\n                step.items.length == 0 ||\n                step.items?.every((item) => item.status === 'complete')\n            )\n          ) {\n            setCancelStep(CancelStep.Complete)\n          }\n        },\n      })\n      .catch((error: Error) => {\n        setTransactionError(error)\n        setCancelStep(CancelStep.Cancel)\n        setStepData(null)\n        setSteps(null)\n      })\n  }, [bidId, client, rendererChain, wallet, config])\n\n  useEffect(() => {\n    if (!open) {\n      setCancelStep(CancelStep.Cancel)\n      setTransactionError(null)\n      setStepData(null)\n      setSteps(null)\n    }\n  }, [open])\n\n  open\n    ? (axios.defaults.headers.common['x-rkui-context'] =\n        'cancelBidModalRenderer')\n    : delete axios.defaults.headers.common?.['x-rkui-context']\n\n  let tokenId\n\n  if (bid?.criteria?.kind === 'token') {\n    tokenId = bid?.tokenSetId?.split(':')[2]\n  }\n\n  return (\n    <>\n      {children({\n        loading: isFetchingPage !== undefined ? isFetchingPage : true,\n        bid,\n        tokenId,\n        cancelStep,\n        transactionError,\n        usdPrice,\n        totalUsd,\n        blockExplorerName,\n        blockExplorerBaseUrl,\n        steps,\n        stepData,\n        setCancelStep,\n        cancelOrder,\n      })}\n    </>\n  )\n}\n","import { styled } from '../../stitches.config'\nimport React, { FC } from 'react'\nimport {\n  Box,\n  Flex,\n  Text,\n  Grid,\n  FormatCurrency,\n  FormatCryptoCurrency,\n  ChainIcon,\n  Divider,\n} from '../primitives'\nimport InfoTooltip from '../primitives/InfoTooltip'\nimport { ReservoirChain } from '@reservoir0x/reservoir-sdk'\n\ntype Props = {\n  img?: string\n  name?: string\n  collection: string\n  currencyContract?: string\n  currencyDecimals?: number\n  currencySymbol?: string\n  source?: string\n  price?: number\n  usdPrice?: number | string\n  expires?: string\n  warning?: string\n  isOffer?: boolean\n  isUnavailable?: boolean\n  priceSubtitle?: string\n  royaltiesBps?: number\n  chain?: ReservoirChain | null\n  quantity?: number\n}\n\nconst Img = styled('img', {\n  height: 56,\n  width: 56,\n})\n\nconst TokenPrimitive: FC<Props> = ({\n  img,\n  name,\n  chain,\n  collection,\n  currencyContract,\n  currencyDecimals,\n  currencySymbol,\n  expires,\n  warning,\n  source,\n  usdPrice,\n  price,\n  isUnavailable,\n  priceSubtitle,\n  royaltiesBps,\n  quantity,\n}) => {\n  const royaltyPercent = royaltiesBps ? royaltiesBps / 100 : royaltiesBps\n\n  return (\n    <Box>\n      <Flex css={{ justifyContent: 'space-between', alignItems: 'center' }}>\n        <Text\n          style=\"subtitle3\"\n          color=\"subtle\"\n          css={{ mb: 10, display: 'block' }}\n        >\n          {name ? 'Item' : 'Collection'}\n        </Text>\n        {priceSubtitle && (\n          <Text\n            style=\"subtitle3\"\n            color=\"subtle\"\n            css={{ mb: 10, display: 'block' }}\n          >\n            {priceSubtitle}\n          </Text>\n        )}\n      </Flex>\n      <Flex justify=\"between\">\n        <Flex css={{ alignItems: 'center', gap: 8 }}>\n          <Img\n            src={img}\n            alt={name}\n            css={{\n              borderRadius: 4,\n              overflow: 'hidden',\n              visibility: !img || img.length === 0 ? 'hidden' : 'visible',\n              flexShrink: 0,\n              objectFit: 'cover',\n            }}\n          />\n          <Grid css={{ rowGap: 2 }}>\n            <Flex\n              align=\"center\"\n              css={{ gap: '$2', mr: '$4', overflow: 'hidden' }}\n            >\n              <Text\n                style=\"h6\"\n                ellipsify\n                color={isUnavailable ? 'subtle' : 'base'}\n              >\n                {name ? name : collection}\n              </Text>\n              {expires && quantity && quantity > 1 && !name ? (\n                <Flex align=\"center\">\n                  <ChainIcon chainId={chain?.id} height={12} css={{ mr: 5 }} />\n                  <Text style=\"tiny\" color=\"subtle\">\n                    {chain?.name}\n                  </Text>\n                </Flex>\n              ) : null}\n              {expires && quantity && quantity > 1 ? (\n                <Flex\n                  css={{\n                    p: '$1 ',\n                    background: '$neutralBgHover',\n                    borderRadius: 4,\n                    mr: 'auto',\n                  }}\n                >\n                  <Text\n                    style=\"tiny\"\n                    color=\"base\"\n                    css={{ minWidth: 'max-content' }}\n                  >\n                    {quantity} items\n                  </Text>\n                </Flex>\n              ) : null}\n            </Flex>\n            {!name && !quantity && expires ? (\n              <Flex align=\"center\">\n                <ChainIcon chainId={chain?.id} height={12} css={{ mr: 5 }} />\n                <Text style=\"body3\" color=\"subtle\">\n                  {chain?.name}\n                </Text>\n              </Flex>\n            ) : null}\n            {name && (\n              <Flex\n                css={{\n                  maxWidth: '370px',\n                }}\n              >\n                <Text ellipsify style=\"body3\" color=\"subtle\">\n                  {collection}\n                </Text>\n                <Divider direction=\"vertical\" />\n                <ChainIcon chainId={chain?.id} css={{ mr: 5 }} height={12} />\n                <Text style=\"body3\" color=\"subtle\">\n                  {chain?.name}\n                </Text>\n              </Flex>\n            )}\n            {!!expires && (\n              <Text style=\"tiny\" color=\"subtle\" css={{ color: '$neutralText' }}>\n                Expires {expires}\n              </Text>\n            )}\n            {!expires && quantity && quantity > 1 ? (\n              <Flex\n                css={{\n                  p: '$1 ',\n                  background: '$neutralBgHover',\n                  borderRadius: 4,\n                  mr: 'auto',\n                }}\n              >\n                <Text style=\"tiny\" color=\"base\">\n                  {quantity} {quantity > 1 ? 'items' : 'item'}\n                </Text>\n              </Flex>\n            ) : null}\n            {!expires && !quantity && royaltiesBps ? (\n              <Text\n                style=\"body3\"\n                color=\"subtle\"\n                css={{ display: 'flex', gap: '$1' }}\n              >\n                Creator Royalties: {royaltyPercent}%\n                <InfoTooltip\n                  side=\"right\"\n                  width={200}\n                  content=\"A fee on every order that goes to the collection creator.\"\n                />\n              </Text>\n            ) : null}\n          </Grid>\n        </Flex>\n        <Grid css={{ justifyItems: 'end', alignContent: 'start', rowGap: 4 }}>\n          {source && (\n            <Img\n              src={source}\n              alt=\"Source Icon\"\n              css={{ w: 17, h: 17, borderRadius: 99999, overflow: 'hidden' }}\n            />\n          )}\n          {price ? (\n            <FormatCryptoCurrency\n              amount={price}\n              chainId={chain?.id}\n              textColor={isUnavailable ? 'subtle' : 'base'}\n              address={currencyContract}\n              decimals={currencyDecimals}\n              symbol={currencySymbol}\n              logoWidth={14.5}\n            />\n          ) : (\n            <Text style=\"subtitle3\" color={isUnavailable ? 'subtle' : 'base'}>\n              --\n            </Text>\n          )}\n          {usdPrice ? (\n            <FormatCurrency amount={usdPrice} style=\"tiny\" color=\"subtle\" />\n          ) : null}\n          {warning && (\n            <Text style=\"subtitle3\" color=\"error\">\n              {warning}\n            </Text>\n          )}\n        </Grid>\n      </Flex>\n    </Box>\n  )\n}\n\nexport default TokenPrimitive\n","import { useFallbackState, useReservoirClient, useTimeSince } from '../../hooks'\nimport React, {\n  ReactElement,\n  Dispatch,\n  SetStateAction,\n  useEffect,\n  ComponentPropsWithoutRef,\n} from 'react'\nimport {\n  Flex,\n  Text,\n  Box,\n  Button,\n  Loader,\n  Anchor,\n  ErrorWell,\n} from '../../primitives'\nimport {\n  CancelListingModalRenderer,\n  CancelStep,\n} from './CancelListingModalRenderer'\nimport { Modal } from '../Modal'\nimport TokenPrimitive from '../TokenPrimitive'\nimport Progress from '../Progress'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faGasPump } from '@fortawesome/free-solid-svg-icons/faGasPump'\n\nimport { truncateAddress } from '../../lib/truncate'\nimport { WalletClient } from 'viem'\nimport { ReservoirWallet } from '@reservoir0x/reservoir-sdk'\nimport getChainBlockExplorerUrl from '../../lib/getChainBlockExplorerUrl'\nimport { Dialog } from '../../primitives/Dialog'\n\nconst ModalCopy = {\n  title: 'Cancel Listing',\n  ctaCancel: 'Continue to Cancel',\n  ctaAwaitingApproval: 'Waiting for approval...',\n  ctaAwaitingValidation: 'Waiting for transaction to be validated',\n  ctaClose: 'Close',\n}\n\ntype Props = Pick<Parameters<typeof Modal>['0'], 'trigger'> & {\n  openState?: [boolean, Dispatch<SetStateAction<boolean>>]\n  listingId?: string\n  chainId?: number\n  normalizeRoyalties?: boolean\n  copyOverrides?: Partial<typeof ModalCopy>\n  walletClient?: ReservoirWallet | WalletClient\n  onClose?: (data: any, currentStep: CancelStep) => void\n  onCancelComplete?: (data: any) => void\n  onCancelError?: (error: Error, data: any) => void\n  onPointerDownOutside?: ComponentPropsWithoutRef<\n    typeof Dialog\n  >['onPointerDownOutside']\n}\n\nexport function CancelListingModal({\n  openState,\n  listingId,\n  chainId,\n  trigger,\n  normalizeRoyalties,\n  copyOverrides,\n  walletClient,\n  onClose,\n  onCancelComplete,\n  onCancelError,\n  onPointerDownOutside,\n}: Props): ReactElement {\n  const copy: typeof ModalCopy = { ...ModalCopy, ...copyOverrides }\n  const [open, setOpen] = useFallbackState(\n    openState ? openState[0] : false,\n    openState\n  )\n\n  const client = useReservoirClient()\n\n  const currentChain = client?.currentChain()\n\n  const modalChain = chainId\n    ? client?.chains.find(({ id }) => id === chainId) || currentChain\n    : currentChain\n\n  return (\n    <CancelListingModalRenderer\n      chainId={modalChain?.id}\n      listingId={listingId}\n      open={open}\n      normalizeRoyalties={normalizeRoyalties}\n      walletClient={walletClient}\n    >\n      {({\n        loading,\n        listing,\n        tokenId,\n        contract,\n        cancelStep,\n        transactionError,\n        stepData,\n        totalUsd,\n        blockExplorerName,\n        cancelOrder,\n      }) => {\n        const expires = useTimeSince(listing?.expiration)\n        const listingImg = tokenId\n          ? `${modalChain?.baseApiUrl}/redirect/tokens/${contract}:${tokenId}/image/v1?imageSize=small`\n          : `${modalChain?.baseApiUrl}/redirect/collections/${contract}/image/v1`\n\n        useEffect(() => {\n          if (cancelStep === CancelStep.Complete && onCancelComplete) {\n            const data = {\n              listing,\n              stepData: stepData,\n            }\n            onCancelComplete(data)\n          }\n        }, [cancelStep])\n\n        useEffect(() => {\n          if (transactionError && onCancelError) {\n            const data = {\n              listing,\n              stepData: stepData,\n            }\n            onCancelError(transactionError, data)\n          }\n        }, [transactionError])\n\n        const isListingAvailable =\n          listing &&\n          (listing.status === 'active' || listing.status === 'inactive') &&\n          !loading\n\n        const isOracleOrder = listing?.isNativeOffChainCancellable\n\n        return (\n          <Modal\n            trigger={trigger}\n            title={copy.title}\n            open={open}\n            onOpenChange={(open) => {\n              if (!open && onClose) {\n                const data = {\n                  listing,\n                  stepData: stepData,\n                }\n                onClose(data, cancelStep)\n              }\n              setOpen(open)\n            }}\n            loading={loading}\n            onPointerDownOutside={(e) => {\n              if (onPointerDownOutside) {\n                onPointerDownOutside(e)\n              }\n            }}\n          >\n            {!isListingAvailable && !loading && (\n              <Flex\n                direction=\"column\"\n                justify=\"center\"\n                css={{ px: '$4', py: '$6' }}\n              >\n                <Text style=\"h6\" css={{ textAlign: 'center' }}>\n                  Selected listing is no longer available\n                </Text>\n              </Flex>\n            )}\n            {isListingAvailable && cancelStep === CancelStep.Cancel && (\n              <Flex direction=\"column\">\n                {transactionError && <ErrorWell error={transactionError} />}\n                <Box css={{ p: '$4', borderBottom: '1px solid $borderColor' }}>\n                  <TokenPrimitive\n                    chain={modalChain}\n                    img={listingImg}\n                    name={listing.criteria?.data?.token?.name}\n                    price={listing?.price?.amount?.decimal}\n                    usdPrice={totalUsd}\n                    collection={listing.criteria?.data?.collection?.name || ''}\n                    currencyContract={listing.price?.currency?.contract}\n                    currencyDecimals={listing?.price?.currency?.decimals}\n                    currencySymbol={listing?.price?.currency?.symbol}\n                    expires={expires}\n                    source={(listing?.source?.icon as string) || ''}\n                  />\n                </Box>\n                <Text\n                  style=\"body2\"\n                  color=\"subtle\"\n                  css={{ mt: '$3', mr: '$3', ml: '$3', textAlign: 'center' }}\n                >\n                  {!isOracleOrder\n                    ? 'This action will cancel your listing. You will be prompted to confirm this cancellation from your wallet. A gas fee is required.'\n                    : 'This will cancel your listing for free. You will be prompted to confirm this cancellation from your wallet.'}\n                </Text>\n                <Button onClick={cancelOrder} css={{ m: '$4' }}>\n                  {!isOracleOrder && (\n                    <FontAwesomeIcon icon={faGasPump} width=\"16\" height=\"16\" />\n                  )}\n                  {copy.ctaCancel}\n                </Button>\n              </Flex>\n            )}\n            {cancelStep === CancelStep.Approving && (\n              <Flex direction=\"column\">\n                <Box css={{ p: '$4', borderBottom: '1px solid $borderColor' }}>\n                  <TokenPrimitive\n                    chain={modalChain}\n                    img={listingImg}\n                    name={listing?.criteria?.data?.token?.name}\n                    price={listing?.price?.amount?.decimal}\n                    usdPrice={totalUsd}\n                    collection={listing?.criteria?.data?.collection?.name || ''}\n                    currencyContract={listing?.price?.currency?.contract}\n                    currencyDecimals={listing?.price?.currency?.decimals}\n                    currencySymbol={listing?.price?.currency?.symbol}\n                    expires={expires}\n                    source={(listing?.source?.icon as string) || ''}\n                  />\n                </Box>\n                {!stepData && <Loader css={{ height: 206 }} />}\n                {stepData && (\n                  <>\n                    <Progress\n                      title={\n                        stepData?.currentStepItem.txHashes\n                          ? 'Finalizing on blockchain'\n                          : 'Confirm cancelation in your wallet'\n                      }\n                      txHashes={stepData?.currentStepItem?.txHashes}\n                    />\n                  </>\n                )}\n                <Button disabled={true} css={{ m: '$4' }}>\n                  <Loader />\n                  {stepData?.currentStepItem.txHashes\n                    ? copy.ctaAwaitingValidation\n                    : copy.ctaAwaitingApproval}\n                </Button>\n              </Flex>\n            )}\n            {cancelStep === CancelStep.Complete && (\n              <Flex direction=\"column\">\n                <Flex\n                  css={{\n                    p: '$4',\n                    py: '$5',\n                    flexDirection: 'column',\n                    alignItems: 'center',\n                    textAlign: 'center',\n                  }}\n                >\n                  <Text style=\"h5\" css={{ mb: '$2' }}>\n                    Listing Canceled!\n                  </Text>\n                  <Text style=\"body2\" color=\"subtle\" css={{ mb: 24 }}>\n                    <>\n                      Your{' '}\n                      <Text style=\"body2\" color=\"accent\">\n                        {listing?.source?.name as string}\n                      </Text>{' '}\n                      listing for{' '}\n                      <Text style=\"body2\" color=\"accent\">\n                        {listing?.criteria?.data?.token?.name ||\n                          listing?.criteria?.data?.collection?.name}{' '}\n                      </Text>\n                      at {listing?.price?.amount?.decimal}{' '}\n                      {listing?.price?.currency?.symbol} has been canceled.\n                    </>\n                  </Text>\n                  <Flex direction=\"column\" align=\"center\" css={{ gap: '$2' }}>\n                    {stepData?.currentStepItem?.txHashes?.map((hash, index) => {\n                      const truncatedTxHash = truncateAddress(hash.txHash)\n                      const blockExplorerBaseUrl = getChainBlockExplorerUrl(\n                        hash.chainId\n                      )\n                      return (\n                        <Anchor\n                          key={index}\n                          href={`${blockExplorerBaseUrl}/tx/${hash.txHash}`}\n                          color=\"primary\"\n                          weight=\"medium\"\n                          target=\"_blank\"\n                          css={{ fontSize: 12 }}\n                        >\n                          View transaction: {truncatedTxHash}\n                        </Anchor>\n                      )\n                    })}\n                  </Flex>\n                </Flex>\n                <Button\n                  onClick={() => {\n                    setOpen(false)\n                  }}\n                  css={{ m: '$4' }}\n                >\n                  {copy.ctaClose}\n                </Button>\n              </Flex>\n            )}\n          </Modal>\n        )\n      }}\n    </CancelListingModalRenderer>\n  )\n}\n\nCancelListingModal.Custom = CancelListingModalRenderer\n","import React, { FC, useEffect, useState, useCallback, ReactNode } from 'react'\nimport {\n  useCoinConversion,\n  useReservoirClient,\n  useUserListings,\n} from '../../hooks'\nimport { useAccount, useConfig, useWalletClient } from 'wagmi'\nimport { Execute, ReservoirWallet, axios } from '@reservoir0x/reservoir-sdk'\nimport { getAccount, switchChain } from 'wagmi/actions'\nimport { customChains } from '@reservoir0x/reservoir-sdk'\nimport * as allChains from 'viem/chains'\nimport { WalletClient } from 'viem'\n\nexport enum CancelStep {\n  Cancel,\n  Approving,\n  Complete,\n}\n\nexport type CancelListingStepData = {\n  totalSteps: number\n  stepProgress: number\n  currentStep: Execute['steps'][0]\n  currentStepItem: NonNullable<Execute['steps'][0]['items']>[0]\n}\n\ntype ChildrenProps = {\n  loading: boolean\n  listing?: NonNullable<ReturnType<typeof useUserListings>['data']>[0]\n  tokenId?: string\n  contract?: string\n  cancelStep: CancelStep\n  transactionError?: Error | null\n  totalUsd: number\n  usdPrice: number\n  blockExplorerBaseUrl: string\n  blockExplorerName: string\n  steps: Execute['steps'] | null\n  stepData: CancelListingStepData | null\n  setCancelStep: React.Dispatch<React.SetStateAction<CancelStep>>\n  cancelOrder: () => void\n}\n\ntype Props = {\n  open: boolean\n  listingId?: string\n  chainId?: number\n  normalizeRoyalties?: boolean\n  children: (props: ChildrenProps) => ReactNode\n  walletClient?: ReservoirWallet | WalletClient\n}\n\nexport const CancelListingModalRenderer: FC<Props> = ({\n  open,\n  listingId,\n  chainId,\n  normalizeRoyalties,\n  children,\n  walletClient,\n}) => {\n  const [cancelStep, setCancelStep] = useState<CancelStep>(CancelStep.Cancel)\n  const [transactionError, setTransactionError] = useState<Error | null>()\n  const [stepData, setStepData] = useState<CancelListingStepData | null>(null)\n  const [steps, setSteps] = useState<Execute['steps'] | null>(null)\n  const { address } = useAccount()\n  const client = useReservoirClient()\n  const currentChain = client?.currentChain()\n  const config = useConfig()\n\n  const rendererChain = chainId\n    ? client?.chains.find(({ id }) => id === chainId) || currentChain\n    : currentChain\n\n  const wagmiChain: allChains.Chain | undefined = Object.values({\n    ...allChains,\n    ...customChains,\n  }).find(({ id }) => rendererChain?.id === id)\n\n  const { data: wagmiWallet } = useWalletClient({ chainId: rendererChain?.id })\n\n  const wallet = walletClient || wagmiWallet\n  const blockExplorerBaseUrl =\n    wagmiChain?.blockExplorers?.default.url || 'https://etherscan.io'\n\n  const blockExplorerName =\n    wagmiChain?.blockExplorers?.default?.name || 'Etherscan'\n\n  const { data: listings, isFetchingPage } = useUserListings(\n    address,\n    {\n      ids: listingId,\n      normalizeRoyalties,\n      includeCriteriaMetadata: true,\n      includeRawData: true,\n    },\n    {\n      revalidateFirstPage: true,\n    },\n    open && listingId ? true : false,\n    rendererChain?.id\n  )\n\n  const listing = listings && listings[0] ? listings[0] : undefined\n  const currency = listing?.price?.currency\n\n  const coinConversion = useCoinConversion(\n    open && listing ? 'USD' : undefined,\n    currency?.symbol\n  )\n  const usdPrice = coinConversion.length > 0 ? coinConversion[0].price : 0\n  const totalUsd = usdPrice * (listing?.price?.amount?.decimal || 0)\n\n  const cancelOrder = useCallback(async () => {\n    if (!wallet) {\n      const error = new Error('Missing a wallet/signer')\n      setTransactionError(error)\n      throw error\n    }\n\n    if (!listingId) {\n      const error = new Error('Missing list id to cancel')\n      setTransactionError(error)\n      throw error\n    }\n\n    if (!client) {\n      const error = new Error('ReservoirClient was not initialized')\n      setTransactionError(error)\n      throw error\n    }\n\n    let activeWalletChain = getAccount(config).chain\n    if (rendererChain?.id !== activeWalletChain?.id) {\n      activeWalletChain = await switchChain(config, {\n        chainId: rendererChain?.id as number,\n      })\n    }\n\n    if (rendererChain?.id !== activeWalletChain?.id) {\n      const error = new Error(`Mismatching chainIds`)\n      setTransactionError(error)\n      throw error\n    }\n\n    setCancelStep(CancelStep.Approving)\n\n    client.actions\n      .cancelOrder({\n        chainId: rendererChain?.id,\n        ids: [listingId],\n        wallet,\n        onProgress: (steps: Execute['steps']) => {\n          if (!steps) {\n            return\n          }\n          setSteps(steps)\n\n          const executableSteps = steps.filter(\n            (step) => step.items && step.items.length > 0\n          )\n\n          let stepCount = executableSteps.length\n\n          let currentStepItem:\n            | NonNullable<Execute['steps'][0]['items']>[0]\n            | undefined\n\n          const currentStepIndex = executableSteps.findIndex((step) => {\n            currentStepItem = step.items?.find(\n              (item) => item.status === 'incomplete'\n            )\n            return currentStepItem\n          })\n\n          const currentStep =\n            currentStepIndex > -1\n              ? executableSteps[currentStepIndex]\n              : executableSteps[stepCount - 1]\n\n          if (currentStepItem) {\n            setStepData({\n              totalSteps: stepCount,\n              stepProgress: currentStepIndex,\n              currentStep,\n              currentStepItem,\n            })\n          } else if (\n            steps.every(\n              (step) =>\n                !step.items ||\n                step.items.length == 0 ||\n                step.items?.every((item) => item.status === 'complete')\n            )\n          ) {\n            setCancelStep(CancelStep.Complete)\n          }\n        },\n      })\n      .catch((error: Error) => {\n        setTransactionError(error)\n        setCancelStep(CancelStep.Cancel)\n        setStepData(null)\n        setSteps(null)\n      })\n  }, [listingId, client, rendererChain, wallet, config])\n\n  useEffect(() => {\n    if (!open) {\n      setCancelStep(CancelStep.Cancel)\n      setTransactionError(null)\n      setStepData(null)\n      setSteps(null)\n    }\n  }, [open])\n\n  open\n    ? (axios.defaults.headers.common['x-rkui-context'] =\n        'cancelListingRenderer')\n    : delete axios.defaults.headers.common?.['x-rkui-context']\n\n  const tokenId = listing?.tokenSetId?.split(':')[2]\n  const contract = listing?.tokenSetId?.split(':')[1]\n\n  return (\n    <>\n      {children({\n        loading: isFetchingPage !== undefined ? isFetchingPage : true,\n        listing,\n        tokenId,\n        blockExplorerName,\n        contract,\n        cancelStep,\n        transactionError,\n        usdPrice,\n        totalUsd,\n        blockExplorerBaseUrl,\n        steps,\n        stepData,\n        setCancelStep,\n        cancelOrder,\n      })}\n    </>\n  )\n}\n","import { useFallbackState, useReservoirClient } from '../../hooks'\nimport React, {\n  ReactElement,\n  Dispatch,\n  SetStateAction,\n  useEffect,\n  useState,\n  ComponentPropsWithoutRef,\n  useContext,\n} from 'react'\nimport {\n  Flex,\n  Text,\n  Box,\n  Button,\n  Loader,\n  Select,\n  FormatWrappedCurrency,\n  Popover,\n  FormatCryptoCurrency,\n  CryptoCurrencyIcon,\n  Input,\n  FormatCurrency,\n  ErrorWell,\n} from '../../primitives'\nimport PseudoInput from '../../primitives/PseudoInput'\nimport AttributeSelector from '../bid/AttributeSelector'\nimport { EditBidModalRenderer, EditBidStep } from './EditBidModalRenderer'\nimport { Modal } from '../Modal'\nimport getLocalMarketplaceData from '../../lib/getLocalMarketplaceData'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCheckCircle } from '@fortawesome/free-solid-svg-icons/faCheckCircle'\nimport { faClose } from '@fortawesome/free-solid-svg-icons/faClose'\n\nimport { ReservoirWallet } from '@reservoir0x/reservoir-sdk'\nimport { WalletClient, formatUnits } from 'viem'\nimport { formatNumber } from '../../lib/numbers'\nimport { Dialog } from '../../primitives/Dialog'\nimport TokenInfo from '../bid/TokenInfo'\nimport { ProviderOptionsContext } from '../../ReservoirKitProvider'\nimport TransactionProgress from '../TransactionProgress'\nimport QuantitySelector from '../QuantitySelector'\nimport { Currency } from '../../types/Currency'\n\nconst ModalCopy = {\n  title: 'Edit Offer',\n  ctaClose: 'Close',\n  ctaConfirm: 'Confirm',\n  ctaDisabled: 'Enter a Price',\n  ctaEditOffer: 'Edit Offer',\n  ctaRetry: 'Retry',\n  ctaConvertManually: 'Get ',\n  ctaConvertAutomatically: '',\n  ctaAwaitingApproval: 'Waiting for approval...',\n  ctaAwaitingValidation: 'Waiting for transaction to be validated',\n}\n\ntype Props = Pick<Parameters<typeof Modal>['0'], 'trigger'> & {\n  openState?: [boolean, Dispatch<SetStateAction<boolean>>]\n  bidId?: string\n  tokenId?: string\n  chainId?: number\n  collectionId?: string\n  normalizeRoyalties?: boolean\n  enableOnChainRoyalties?: boolean\n  copyOverrides?: Partial<typeof ModalCopy>\n  walletClient?: ReservoirWallet | WalletClient\n  onClose?: (data: any, currentStep: EditBidStep) => void\n  onEditBidComplete?: (data: any) => void\n  onEditBidError?: (error: Error, data: any) => void\n  onPointerDownOutside?: ComponentPropsWithoutRef<\n    typeof Dialog\n  >['onPointerDownOutside']\n}\n\nconst MINIMUM_AMOUNT = 0.000001\nconst MAXIMUM_AMOUNT = Infinity\n\nexport function EditBidModal({\n  openState,\n  bidId,\n  tokenId,\n  chainId,\n  collectionId,\n  trigger,\n  normalizeRoyalties,\n  copyOverrides,\n  walletClient,\n  onClose,\n  onEditBidComplete,\n  onEditBidError,\n  onPointerDownOutside,\n}: Props): ReactElement {\n  const copy: typeof ModalCopy = { ...ModalCopy, ...copyOverrides }\n  const [open, setOpen] = useFallbackState(\n    openState ? openState[0] : false,\n    openState\n  )\n\n  const client = useReservoirClient()\n\n  const currentChain = client?.currentChain()\n\n  const modalChain = chainId\n    ? client?.chains.find(({ id }) => id === chainId) || currentChain\n    : currentChain\n\n  return (\n    <EditBidModalRenderer\n      chainId={modalChain?.id}\n      bidId={bidId}\n      tokenId={tokenId}\n      collectionId={collectionId}\n      open={open}\n      normalizeRoyalties={normalizeRoyalties}\n      walletClient={walletClient}\n    >\n      {({\n        loading,\n        bid,\n        attributes,\n        trait,\n        isOracleOrder,\n        isTokenBid,\n        quantity,\n        bidAmountPerUnit,\n        totalBidAmount,\n        totalBidAmountUsd,\n        token,\n        collection,\n        editBidStep,\n        transactionError,\n        hasEnoughNativeCurrency,\n        hasEnoughWrappedCurrency,\n        hasAuxiliaryFundsSupport,\n        amountToWrap,\n        balance,\n        wrappedBalance,\n        wrappedContractName,\n        wrappedContractAddress,\n        canAutomaticallyConvert,\n        convertLink,\n        royaltyBps,\n        expirationOptions,\n        expirationOption,\n        usdPrice,\n        stepData,\n        exchange,\n        traitBidSupported,\n        partialBidSupported,\n        currency,\n        setQuantity,\n        setTrait,\n        setBidAmountPerUnit,\n        setExpirationOption,\n        setEditBidStep,\n        editBid,\n      }) => {\n        const providerOptionsContext = useContext(ProviderOptionsContext)\n\n        const [attributeSelectorOpen, setAttributeSelectorOpen] =\n          useState(false)\n\n        const [attributesSelectable, setAttributesSelectable] = useState(false)\n        const tokenCount = collection?.tokenCount\n          ? +collection.tokenCount\n          : undefined\n\n        const itemImage = isTokenBid\n          ? bid?.criteria?.data?.token?.image || token?.token?.imageSmall\n          : bid?.criteria?.data?.collection?.image || collection?.image\n\n        const quantityEnabled =\n          partialBidSupported &&\n          (!tokenId ||\n            (token?.token?.kind === 'erc1155' &&\n              Number(token?.token?.supply) > 1))\n\n        const [localMarketplace, setLocalMarketplace] = useState<ReturnType<\n          typeof getLocalMarketplaceData\n        > | null>(null)\n\n        useEffect(() => {\n          setLocalMarketplace(getLocalMarketplaceData())\n        }, [])\n\n        useEffect(() => {\n          if (editBidStep === EditBidStep.Complete && onEditBidComplete) {\n            const data = {\n              bid,\n              stepData: stepData,\n            }\n            onEditBidComplete(data)\n          }\n        }, [editBidStep])\n\n        useEffect(() => {\n          if (transactionError && onEditBidError) {\n            const data = {\n              bid,\n              stepData: stepData,\n            }\n            onEditBidError(transactionError, data)\n          }\n        }, [transactionError])\n\n        useEffect(() => {\n          if (open && attributes) {\n            let attributeCount = 0\n            for (let i = 0; i < attributes.length; i++) {\n              attributeCount += attributes[i].attributeCount || 0\n              if (attributeCount >= 2000) {\n                break\n              }\n            }\n            if (attributeCount >= 2000) {\n              setAttributesSelectable(false)\n            } else {\n              setAttributesSelectable(true)\n            }\n          } else {\n            setAttributesSelectable(false)\n          }\n        }, [open, attributes])\n\n        const isBidAvailable = bid && bid.status === 'active' && !loading\n\n        const isBidEditable =\n          bid && bid.status === 'active' && !loading && isOracleOrder\n\n        const minimumAmount = exchange?.minPriceRaw\n          ? Number(\n              formatUnits(\n                BigInt(exchange.minPriceRaw),\n                currency?.decimals || 18\n              )\n            )\n          : MINIMUM_AMOUNT\n        const maximumAmount = exchange?.maxPriceRaw\n          ? Number(\n              formatUnits(\n                BigInt(exchange.maxPriceRaw),\n                currency?.decimals || 18\n              )\n            )\n          : MAXIMUM_AMOUNT\n\n        const withinPricingBounds =\n          totalBidAmount !== 0 &&\n          totalBidAmount <= maximumAmount &&\n          totalBidAmount >= minimumAmount\n\n        const canPurchase = totalBidAmount !== 0 && withinPricingBounds\n\n        return (\n          <Modal\n            trigger={trigger}\n            title={copy.title}\n            open={open}\n            onOpenChange={(open) => {\n              if (!open && onClose) {\n                const data = {\n                  bid,\n                  stepData: stepData,\n                }\n                onClose(data, editBidStep)\n              }\n              setOpen(open)\n            }}\n            loading={loading}\n            onPointerDownOutside={(e) => {\n              if (onPointerDownOutside) {\n                onPointerDownOutside(e)\n              }\n            }}\n          >\n            {!isBidAvailable && !loading && (\n              <Flex\n                direction=\"column\"\n                justify=\"center\"\n                css={{ px: '$4', py: '$6' }}\n              >\n                <Text style=\"h6\" css={{ textAlign: 'center' }}>\n                  Selected offer is no longer available\n                </Text>\n              </Flex>\n            )}\n            {!isBidEditable && isBidAvailable && (\n              <Flex\n                direction=\"column\"\n                justify=\"center\"\n                css={{ px: '$4', py: '$6' }}\n              >\n                <Text style=\"h6\" css={{ textAlign: 'center' }}>\n                  Selected offer is not an oracle order, so cannot be edited.\n                </Text>\n              </Flex>\n            )}\n            {editBidStep === EditBidStep.Edit &&\n              isBidEditable &&\n              collection && (\n                <Flex direction=\"column\">\n                  <TokenInfo\n                    chain={modalChain}\n                    token={token ? token : undefined}\n                    collection={collection}\n                    containerCss={{\n                      borderBottom: '1px solid',\n                      borderBottomColor: '$neutralLine',\n                      borderColor: '$neutralLine',\n                    }}\n                  />\n                  <Flex\n                    justify=\"between\"\n                    direction=\"column\"\n                    align=\"center\"\n                    css={{\n                      width: '100%',\n                      p: '$4',\n                      gap: 24,\n                      overflow: 'hidden',\n                    }}\n                  >\n                    <Flex direction=\"column\" css={{ gap: '$2', width: '100%' }}>\n                      <Flex justify=\"between\" css={{ gap: '$3' }}>\n                        <Text style=\"subtitle2\">Offer Price</Text>\n                        <Text\n                          as={Flex}\n                          css={{ gap: '$1' }}\n                          align=\"center\"\n                          style=\"subtitle3\"\n                        >\n                          Balance:{' '}\n                          <FormatWrappedCurrency\n                            chainId={modalChain?.id}\n                            logoWidth={10}\n                            textStyle=\"tiny\"\n                            amount={wrappedBalance?.[0]}\n                            address={wrappedContractAddress}\n                            decimals={wrappedBalance?.[1]}\n                            symbol={wrappedBalance?.[2]}\n                          />{' '}\n                        </Text>\n                      </Flex>\n\n                      <Flex css={{ mt: '$2', gap: 20 }}>\n                        <Text\n                          as={Flex}\n                          css={{ gap: '$2', flexShrink: 0 }}\n                          align=\"center\"\n                          style=\"body1\"\n                          color=\"subtle\"\n                        >\n                          <CryptoCurrencyIcon\n                            chainId={modalChain?.id}\n                            css={{ height: 20 }}\n                            address={wrappedContractAddress}\n                          />\n                          {wrappedContractName}\n                        </Text>\n                        <Input\n                          type=\"number\"\n                          value={bidAmountPerUnit}\n                          onChange={(e) => {\n                            setBidAmountPerUnit(e.target.value)\n                          }}\n                          placeholder=\"Enter price\"\n                          containerCss={{\n                            width: '100%',\n                          }}\n                          css={{\n                            textAlign: 'center',\n                            '@bp1': {\n                              textAlign: 'left',\n                            },\n                          }}\n                        />\n                      </Flex>\n\n                      {totalBidAmount !== 0 && !withinPricingBounds && (\n                        <Box>\n                          <Text style=\"body2\" color=\"error\">\n                            {maximumAmount !== Infinity\n                              ? `Amount must be between ${formatNumber(\n                                  minimumAmount\n                                )} - ${formatNumber(maximumAmount)}`\n                              : `Amount must be higher than ${formatNumber(\n                                  minimumAmount\n                                )}`}\n                          </Text>\n                        </Box>\n                      )}\n\n                      {attributes &&\n                        attributes.length > 0 &&\n                        (attributesSelectable || trait) &&\n                        !tokenId &&\n                        traitBidSupported && (\n                          <>\n                            <Popover.Root\n                              open={attributeSelectorOpen}\n                              onOpenChange={\n                                attributesSelectable\n                                  ? setAttributeSelectorOpen\n                                  : undefined\n                              }\n                            >\n                              <Popover.Trigger asChild>\n                                {trait ? (\n                                  <PseudoInput css={{ py: '$3' }}>\n                                    <Flex\n                                      justify=\"between\"\n                                      css={{\n                                        gap: '$2',\n                                        alignItems: 'center',\n                                        color: '$neutralText',\n                                      }}\n                                    >\n                                      <Box\n                                        css={{\n                                          maxWidth: 385,\n                                          overflow: 'hidden',\n                                          textOverflow: 'ellipsis',\n                                          whiteSpace: 'nowrap',\n                                        }}\n                                      >\n                                        <Text color=\"accent\" style=\"subtitle1\">\n                                          {trait?.key}:{' '}\n                                        </Text>\n                                        <Text style=\"subtitle1\">\n                                          {trait?.value}\n                                        </Text>\n                                      </Box>\n                                      <Flex\n                                        css={{\n                                          alignItems: 'center',\n                                          gap: '$2',\n                                        }}\n                                      >\n                                        {trait?.floorAskPrice && (\n                                          <Box css={{ flex: 'none' }}>\n                                            <FormatCryptoCurrency\n                                              amount={trait?.floorAskPrice}\n                                              maximumFractionDigits={2}\n                                              logoWidth={11}\n                                              textStyle=\"body1\"\n                                            />\n                                          </Box>\n                                        )}\n                                        <FontAwesomeIcon\n                                          style={{\n                                            cursor: 'pointer',\n                                          }}\n                                          onClick={(e) => {\n                                            e.preventDefault()\n                                            setTrait(undefined)\n                                          }}\n                                          icon={faClose}\n                                          width={16}\n                                          height={16}\n                                        />\n                                      </Flex>\n                                    </Flex>\n                                  </PseudoInput>\n                                ) : (\n                                  <Button\n                                    color=\"ghost\"\n                                    css={{\n                                      color: '$accentText',\n                                      fontWeight: 500,\n                                      fontSize: 14,\n                                      maxWidth: 'max-content',\n                                    }}\n                                    size=\"none\"\n                                  >\n                                    + Add Attribute\n                                  </Button>\n                                )}\n                              </Popover.Trigger>\n                              <Popover.Content\n                                side=\"bottom\"\n                                align=\"start\"\n                                sideOffset={-20}\n                                style={{ maxWidth: '100vw' }}\n                              >\n                                <AttributeSelector\n                                  attributes={attributes}\n                                  tokenCount={tokenCount}\n                                  setTrait={setTrait}\n                                  setOpen={setAttributeSelectorOpen}\n                                />\n                              </Popover.Content>\n                            </Popover.Root>\n                          </>\n                        )}\n                    </Flex>\n\n                    {quantityEnabled ? (\n                      <Flex\n                        justify=\"between\"\n                        align=\"center\"\n                        css={{ gap: '$5', width: '100%' }}\n                      >\n                        <Flex\n                          direction=\"column\"\n                          align=\"start\"\n                          css={{ gap: '$2', flexShrink: 0 }}\n                        >\n                          <Text style=\"subtitle2\">Quantity</Text>\n                          <Text\n                            color=\"subtle\"\n                            style=\"body3\"\n                            css={{\n                              display: 'none',\n                              '@bp1': {\n                                display: 'block',\n                              },\n                            }}\n                          >\n                            Offers can be accepted separately\n                          </Text>\n                        </Flex>\n                        <QuantitySelector\n                          quantity={quantity}\n                          setQuantity={setQuantity}\n                          min={1}\n                          max={999999}\n                          css={{\n                            justifyContent: 'space-between',\n                            width: '100%',\n                          }}\n                        />\n                      </Flex>\n                    ) : null}\n\n                    <Flex direction=\"column\" css={{ gap: '$2', width: '100%' }}>\n                      <Text as={Box} style=\"subtitle2\">\n                        Expiration Date\n                      </Text>\n                      <Select\n                        css={{\n                          flex: 1,\n                          width: '100%',\n                        }}\n                        value={expirationOption?.text || ''}\n                        onValueChange={(value: string) => {\n                          const option = expirationOptions.find(\n                            (option) => option.value == value\n                          )\n                          if (option) {\n                            setExpirationOption(option)\n                          }\n                        }}\n                      >\n                        {expirationOptions\n                          .filter(({ value }) => value !== 'custom')\n                          .map((option) => (\n                            <Select.Item key={option.text} value={option.value}>\n                              <Select.ItemText>{option.text}</Select.ItemText>\n                            </Select.Item>\n                          ))}\n                      </Select>\n                    </Flex>\n\n                    <Flex\n                      justify=\"between\"\n                      align=\"center\"\n                      css={{ gap: '$4', width: '100%' }}\n                    >\n                      <Text style=\"h6\">Total Offer Price</Text>\n                      <Flex direction=\"column\" align=\"end\">\n                        <FormatWrappedCurrency\n                          chainId={modalChain?.id}\n                          logoWidth={16}\n                          textStyle=\"h6\"\n                          amount={totalBidAmount}\n                          address={currency?.contract}\n                          decimals={currency?.decimals}\n                          symbol={currency?.symbol}\n                        />\n                        <FormatCurrency\n                          style=\"subtitle3\"\n                          color=\"subtle\"\n                          amount={totalBidAmountUsd}\n                        />\n                      </Flex>\n                    </Flex>\n                    <Box css={{ width: '100%', mt: 'auto' }}>\n                      {!canPurchase && (\n                        <Button disabled={true} css={{ width: '100%' }}>\n                          {copy.ctaDisabled}\n                        </Button>\n                      )}\n                      {canPurchase && hasEnoughWrappedCurrency && (\n                        <Button onClick={editBid} css={{ width: '100%' }}>\n                          {copy.ctaConfirm}\n                        </Button>\n                      )}\n                      {canPurchase && !hasEnoughWrappedCurrency && (\n                        <>\n                          {!hasEnoughNativeCurrency &&\n                            !hasAuxiliaryFundsSupport && (\n                              <Flex\n                                css={{ gap: '$2', mt: 10 }}\n                                justify=\"center\"\n                              >\n                                <Text style=\"body3\" color=\"error\">\n                                  {balance?.symbol || 'ETH'} Balance\n                                </Text>\n                                <FormatCryptoCurrency\n                                  chainId={modalChain?.id}\n                                  amount={balance?.value}\n                                  symbol={balance?.symbol}\n                                />\n                              </Flex>\n                            )}\n                          <Flex\n                            css={{\n                              gap: '$2',\n                              mt: 10,\n                              overflow: 'hidden',\n                              flexDirection: 'column-reverse',\n                              '@bp1': {\n                                flexDirection: 'row',\n                              },\n                            }}\n                          >\n                            <Button\n                              disabled={\n                                providerOptionsContext.disableJumperLink\n                              }\n                              css={{ flex: '1 0 auto' }}\n                              color=\"secondary\"\n                              onClick={() => {\n                                window.open(convertLink, '_blank')\n                              }}\n                            >\n                              {providerOptionsContext.disableJumperLink\n                                ? copy.ctaConfirm\n                                : currency?.symbol\n                                ? copy.ctaConvertManually + currency?.symbol\n                                : 'Convert Manually'}\n                            </Button>\n                            {canAutomaticallyConvert && (\n                              <Button\n                                css={{ flex: 1, maxHeight: 44 }}\n                                disabled={\n                                  !hasEnoughNativeCurrency &&\n                                  !hasAuxiliaryFundsSupport\n                                }\n                                onClick={editBid}\n                              >\n                                <Text style=\"h6\" color=\"button\" ellipsify>\n                                  {copy.ctaConvertAutomatically.length > 0\n                                    ? copy.ctaConvertAutomatically\n                                    : `Convert ${amountToWrap} ${\n                                        balance?.symbol || 'ETH'\n                                      } for me`}\n                                </Text>\n                              </Button>\n                            )}\n                          </Flex>\n                        </>\n                      )}\n                    </Box>\n                  </Flex>\n                </Flex>\n              )}\n            {editBidStep === EditBidStep.Approving && collection && (\n              <Flex direction=\"column\">\n                <TokenInfo\n                  chain={modalChain}\n                  token={token ? token : undefined}\n                  collection={collection}\n                  price={totalBidAmount}\n                  currency={currency as Currency}\n                  quantity={quantity}\n                  trait={trait}\n                  expirationOption={expirationOption}\n                  containerCss={{\n                    borderBottom: '1px solid',\n                    borderBottomColor: '$neutralLine',\n                    borderColor: '$neutralLine',\n                  }}\n                />\n                <Flex\n                  justify=\"between\"\n                  direction=\"column\"\n                  align=\"center\"\n                  css={{ width: '100%', p: '$4', gap: 24 }}\n                >\n                  {transactionError && (\n                    <ErrorWell\n                      error={transactionError}\n                      css={{ width: '100%' }}\n                    />\n                  )}\n                  {stepData && (\n                    <>\n                      <Text css={{ textAlign: 'center' }} style=\"subtitle1\">\n                        {stepData.currentStep.action}\n                      </Text>\n                      {stepData.currentStep.kind === 'signature' && (\n                        <TransactionProgress\n                          justify=\"center\"\n                          fromImg={itemImage || ''}\n                          toImgs={[localMarketplace?.icon || '']}\n                        />\n                      )}\n                      {stepData.currentStep.kind !== 'signature' && (\n                        <Flex align=\"center\" justify=\"center\">\n                          <Flex\n                            css={{\n                              background: '$neutralLine',\n                              borderRadius: 8,\n                            }}\n                          >\n                            <CryptoCurrencyIcon\n                              chainId={modalChain?.id}\n                              css={{ height: 56, width: 56 }}\n                              address={wrappedContractAddress}\n                            />\n                          </Flex>\n                        </Flex>\n                      )}\n                      <Text\n                        css={{\n                          textAlign: 'center',\n                          mt: 24,\n                          maxWidth: 395,\n                          mx: 'auto',\n                          mb: '$4',\n                        }}\n                        style=\"body2\"\n                        color=\"subtle\"\n                      >\n                        {stepData?.currentStep.description}\n                      </Text>\n                    </>\n                  )}\n                  {!stepData && (\n                    <Flex\n                      css={{ height: '100%', py: '$5' }}\n                      justify=\"center\"\n                      align=\"center\"\n                    >\n                      <Loader />\n                    </Flex>\n                  )}\n                  {!transactionError && (\n                    <Button css={{ width: '100%', mt: 'auto' }} disabled={true}>\n                      <Loader />\n                      {copy.ctaAwaitingApproval}\n                    </Button>\n                  )}\n                  {transactionError && (\n                    <Flex css={{ mt: 'auto', gap: 10, width: '100%' }}>\n                      <Button\n                        color=\"secondary\"\n                        css={{ flex: 1 }}\n                        onClick={() => setEditBidStep(EditBidStep.Edit)}\n                      >\n                        {copy.ctaEditOffer}\n                      </Button>\n                      <Button css={{ flex: 1 }} onClick={editBid}>\n                        {copy.ctaRetry}\n                      </Button>\n                    </Flex>\n                  )}\n                </Flex>\n              </Flex>\n            )}\n            {editBidStep === EditBidStep.Complete && (\n              <Flex direction=\"column\" align=\"center\" css={{ p: '$4' }}>\n                <Box css={{ color: '$successAccent', mt: 48 }}>\n                  <FontAwesomeIcon\n                    icon={faCheckCircle}\n                    style={{ width: '32px', height: '32px' }}\n                  />\n                </Box>\n                <Text style=\"h5\" css={{ textAlign: 'center', mt: 36, mb: 80 }}>\n                  Offer Updated!\n                </Text>\n\n                <Button\n                  css={{ width: '100%' }}\n                  onClick={() => {\n                    setOpen(false)\n                  }}\n                >\n                  {copy.ctaClose}\n                </Button>\n              </Flex>\n            )}\n          </Modal>\n        )\n      }}\n    </EditBidModalRenderer>\n  )\n}\n\nEditBidModal.Custom = EditBidModalRenderer\n","import React, {\n  FC,\n  useEffect,\n  useState,\n  useCallback,\n  ReactNode,\n  useMemo,\n  useContext,\n} from 'react'\nimport {\n  useCoinConversion,\n  useReservoirClient,\n  useTokens,\n  useCollections,\n  useChainCurrency,\n  useAttributes,\n  useMarketplaces,\n  useUserBids,\n} from '../../hooks'\nimport {\n  useWalletClient,\n  useAccount,\n  useBalance,\n  useConfig,\n  useReadContracts,\n} from 'wagmi'\nimport { mainnet, goerli } from 'wagmi/chains'\n\nimport { Execute, ReservoirWallet, axios } from '@reservoir0x/reservoir-sdk'\nimport { ExpirationOption } from '../../types/ExpirationOption'\nimport expirationOptions from '../../lib/defaultExpirationOptions'\nimport dayjs from 'dayjs'\nimport wrappedContractNames from '../../constants/wrappedContractNames'\nimport wrappedContracts from '../../constants/wrappedContracts'\nimport {\n  BidData,\n  FetchBalanceResult,\n  Trait,\n  Traits,\n} from '../bid/BidModalRenderer'\nimport { formatBN } from '../../lib/numbers'\nimport { Address, WalletClient, erc20Abi, parseUnits } from 'viem'\nimport { getAccount, switchChain } from 'wagmi/actions'\nimport { customChains } from '@reservoir0x/reservoir-sdk'\nimport * as allChains from 'viem/chains'\nimport { Marketplace } from '../../hooks/useMarketplaces'\nimport { ProviderOptionsContext } from '../../ReservoirKitProvider'\nimport { useCapabilities } from 'wagmi/experimental'\nimport useRelayChains from '../../hooks/useRelayChains'\n\ntype Exchange = NonNullable<Marketplace['exchanges']>['string']\n\nexport enum EditBidStep {\n  Edit,\n  Approving,\n  Complete,\n}\n\nexport type EditBidStepData = {\n  totalSteps: number\n  stepProgress: number\n  currentStep: Execute['steps'][0]\n  currentStepItem: NonNullable<Execute['steps'][0]['items']>[0]\n}\n\ntype ChildrenProps = {\n  loading: boolean\n  bid?: NonNullable<ReturnType<typeof useUserBids>['data']>[0]\n  attributes?: Traits\n  trait: Trait\n  tokenId?: string\n  contract?: string\n  isOracleOrder: boolean\n  isTokenBid: boolean\n  quantity: number\n  setQuantity: React.Dispatch<React.SetStateAction<number>>\n  bidAmountPerUnit: string\n  totalBidAmount: number\n  totalBidAmountUsd: number\n  usdPrice: number | null\n  token?: NonNullable<NonNullable<ReturnType<typeof useTokens>>['data']>[0]\n  currency: NonNullable<\n    NonNullable<ReturnType<typeof useUserBids>['data']>[0]['price']\n  >['currency']\n  collection?: NonNullable<ReturnType<typeof useCollections>['data']>[0]\n  editBidStep: EditBidStep\n  transactionError?: Error | null\n  hasEnoughNativeCurrency: boolean\n  hasEnoughWrappedCurrency: boolean\n  hasAuxiliaryFundsSupport: boolean\n  balance?: FetchBalanceResult\n  wrappedBalance?: [bigint, number, string]\n  wrappedContractName: string\n  wrappedContractAddress: string\n  amountToWrap: string\n  canAutomaticallyConvert: boolean\n  convertLink: string\n  royaltyBps?: number\n  expirationOptions: ExpirationOption[]\n  expirationOption: ExpirationOption\n  steps: Execute['steps'] | null\n  stepData: EditBidStepData | null\n  exchange?: Exchange\n  traitBidSupported: boolean\n  collectionBidSupported: boolean\n  partialBidSupported: boolean\n  setTrait: React.Dispatch<React.SetStateAction<Trait>>\n  setBidAmountPerUnit: React.Dispatch<React.SetStateAction<string>>\n  setExpirationOption: React.Dispatch<React.SetStateAction<ExpirationOption>>\n  setEditBidStep: React.Dispatch<React.SetStateAction<EditBidStep>>\n  editBid: () => void\n}\n\ntype Props = {\n  open: boolean\n  bidId?: string\n  chainId?: number\n  tokenId?: string\n  attribute?: Trait\n  collectionId?: string\n  normalizeRoyalties?: boolean\n  children: (props: ChildrenProps) => ReactNode\n  walletClient?: ReservoirWallet | WalletClient\n}\n\nexport const EditBidModalRenderer: FC<Props> = ({\n  open,\n  bidId,\n  chainId,\n  tokenId,\n  collectionId,\n  attribute,\n  normalizeRoyalties,\n  walletClient,\n  children,\n}) => {\n  const providerOptions = useContext(ProviderOptionsContext)\n  const client = useReservoirClient()\n  const currentChain = client?.currentChain()\n  const config = useConfig()\n  const { address, connector } = useAccount()\n\n  const rendererChain = chainId\n    ? client?.chains.find(({ id }) => id === chainId) || currentChain\n    : currentChain\n\n  const wagmiChain: allChains.Chain | undefined = Object.values({\n    ...allChains,\n    ...customChains,\n  }).find(({ id }) => rendererChain?.id === id)\n\n  const { data: wallet } = useWalletClient({ chainId: rendererChain?.id })\n  const { data: capabilities } = useCapabilities({\n    query: {\n      enabled:\n        connector &&\n        (connector.id === 'coinbaseWalletSDK' || connector.id === 'coinbase'),\n    },\n  })\n  const hasAuxiliaryFundsSupport = Boolean(\n    rendererChain?.id\n      ? capabilities?.[rendererChain?.id]?.auxiliaryFunds?.supported\n      : false\n  )\n\n  const [editBidStep, setEditBidStep] = useState<EditBidStep>(EditBidStep.Edit)\n  const [transactionError, setTransactionError] = useState<Error | null>()\n  const [stepData, setStepData] = useState<EditBidStepData | null>(null)\n  const [steps, setSteps] = useState<Execute['steps'] | null>(null)\n\n  const [bidAmountPerUnit, setBidAmountPerUnit] = useState<string>('')\n  const [quantity, setQuantity] = useState(1)\n\n  const [expirationOption, setExpirationOption] = useState<ExpirationOption>(\n    expirationOptions[5]\n  )\n  const [hasEnoughNativeCurrency, setHasEnoughNativeCurrency] = useState(false)\n  const [hasEnoughWrappedCurrency, setHasEnoughWrappedCurrency] =\n    useState(false)\n  const [amountToWrap, setAmountToWrap] = useState('')\n  const [trait, setTrait] = useState<Trait>(attribute)\n  const [attributes, setAttributes] = useState<Traits>()\n  const chainCurrency = useChainCurrency(rendererChain?.id)\n\n  const nativeWrappedContractAddress =\n    chainCurrency.chainId in wrappedContracts\n      ? wrappedContracts[chainCurrency.chainId]\n      : wrappedContracts[1]\n  const nativeWrappedContractName =\n    chainCurrency.chainId in wrappedContractNames\n      ? wrappedContractNames[chainCurrency.chainId]\n      : wrappedContractNames[1]\n\n  const { data: bids } = useUserBids(\n    address,\n    {\n      ids: bidId,\n      normalizeRoyalties,\n      includeCriteriaMetadata: true,\n      includeRawData: true,\n    },\n    {\n      revalidateFirstPage: true,\n    },\n    open && bidId ? true : false,\n    rendererChain?.id\n  )\n\n  const bid = bids && bids[0] ? bids[0] : undefined\n\n  const [allMarketplaces] = useMarketplaces(\n    collectionId,\n    tokenId,\n    undefined,\n    undefined,\n    rendererChain?.id,\n    open\n  )\n\n  const reservoirMarketplace = useMemo(\n    () =>\n      allMarketplaces.find(\n        (marketplace) => marketplace.orderbook === 'reservoir'\n      ),\n    [allMarketplaces]\n  )\n\n  const exchange = useMemo(() => {\n    const exchanges: Record<string, Exchange> =\n      reservoirMarketplace?.exchanges || {}\n\n    const exchange = Object.values(exchanges).find(\n      (exchange) => exchange?.orderKind === bid?.kind\n    )\n\n    return exchange?.enabled ? exchange : undefined\n  }, [reservoirMarketplace, bid])\n\n  const traitBidSupported = Boolean(exchange?.traitBidSupported)\n  const collectionBidSupported = Boolean(exchange?.collectionBidSupported)\n  const partialBidSupported = Boolean(exchange?.partialOrderSupported)\n\n  const contract = bid?.tokenSetId?.split(':')[1]\n  const currency = bid?.price?.currency\n\n  const isOracleOrder = bid?.isNativeOffChainCancellable as boolean\n\n  const wrappedContractAddress = currency\n    ? (currency.contract as string)\n    : nativeWrappedContractAddress\n  const wrappedContractName = currency\n    ? (currency.symbol as string)\n    : nativeWrappedContractName\n\n  useEffect(() => {\n    if (bid?.price?.amount?.decimal) {\n      setBidAmountPerUnit(bid?.price?.amount?.decimal.toString())\n    }\n    if (bid?.quantityRemaining && bid?.quantityRemaining > 1) {\n      setQuantity(bid?.quantityRemaining)\n    }\n    //@ts-ignore\n    if (bid?.criteria?.kind == 'attribute' && bid?.criteria?.data.attribute) {\n      //@ts-ignore\n      setTrait(bid?.criteria?.data?.attribute)\n    }\n  }, [bid])\n\n  const coinConversion = useCoinConversion(\n    open && bid ? 'USD' : undefined,\n    wrappedContractName\n  )\n  const usdPrice = coinConversion.length > 0 ? coinConversion[0].price : null\n\n  const totalBidAmount = Number(bidAmountPerUnit) * Math.max(1, quantity)\n  const totalBidAmountUsd = totalBidAmount * (usdPrice || 0)\n\n  const { data: balance } = useBalance({\n    address: address,\n    chainId: rendererChain?.id,\n    query: {\n      enabled: open,\n    },\n  })\n\n  const { data: wrappedBalance } = useReadContracts({\n    allowFailure: false,\n    contracts: [\n      {\n        address: wrappedContractAddress as Address,\n        abi: erc20Abi,\n        functionName: 'balanceOf',\n        chainId: rendererChain?.id,\n        args: [address as Address],\n      },\n      {\n        address: wrappedContractAddress as Address,\n        abi: erc20Abi,\n        functionName: 'decimals',\n        chainId: rendererChain?.id,\n      },\n      {\n        address: wrappedContractAddress as Address,\n        abi: erc20Abi,\n        functionName: 'symbol',\n        chainId: rendererChain?.id,\n      },\n    ],\n    query: {\n      enabled: Boolean(open && address !== undefined),\n    },\n  })\n\n  const { relayLink } = useRelayChains(rendererChain?.id)\n\n  const canAutomaticallyConvert =\n    !currency || currency.contract === nativeWrappedContractAddress\n  let convertLink: string = ''\n\n  if (providerOptions?.convertLink) {\n    convertLink =\n      providerOptions.convertLink.tokenUrl ??\n      providerOptions.convertLink.chainUrl ??\n      providerOptions.convertLink.customUrl?.({\n        toChain: rendererChain?.id,\n        toToken: wrappedContractAddress,\n        amountToWrap: amountToWrap,\n      }) ??\n      ''\n    if (rendererChain?.id) {\n      convertLink = convertLink.replace('{toChain}', `${rendererChain.id}`)\n    }\n    convertLink = convertLink.replace('{toToken}', wrappedContractAddress)\n  } else if (relayLink) {\n    convertLink = `${relayLink}?toCurrency=${wrappedContractAddress}&fromChainId=${rendererChain?.id}&fromCurrency=${chainCurrency.address}`\n  } else if (canAutomaticallyConvert) {\n    convertLink =\n      wagmiChain?.id === mainnet.id || wagmiChain?.id === goerli.id\n        ? `https://app.uniswap.org/#/swap?theme=dark&exactAmount=${amountToWrap}&chain=mainnet&inputCurrency=eth&outputCurrency=${wrappedContractAddress}`\n        : `https://app.uniswap.org/#/swap?theme=dark&exactAmount=${amountToWrap}`\n  } else {\n    convertLink = `https://jumper.exchange/?toChain=${wagmiChain?.id}&toToken=${wrappedContractAddress}`\n  }\n\n  const isTokenBid = bid?.criteria?.kind == 'token'\n\n  const { data: traits } = useAttributes(\n    open && !isTokenBid ? collectionId : undefined,\n    rendererChain?.id\n  )\n\n  const { data: collections } = useCollections(\n    open && {\n      id: collectionId,\n      normalizeRoyalties,\n    },\n    {},\n    rendererChain?.id\n  )\n  const collection = collections && collections[0] ? collections[0] : undefined\n  let royaltyBps = collection?.royalties?.bps\n\n  const { data: tokens } = useTokens(\n    open && contract && tokenId\n      ? {\n          tokens: [`${contract}:${tokenId}`],\n          includeAttributes: true,\n          normalizeRoyalties,\n        }\n      : false,\n    {\n      revalidateFirstPage: true,\n    },\n    rendererChain?.id\n  )\n\n  const token = tokens && tokens.length > 0 ? tokens[0] : undefined\n\n  useEffect(() => {\n    if (totalBidAmount !== 0) {\n      const bid = parseUnits(`${totalBidAmount}`, wrappedBalance?.[1] || 18)\n\n      if (!wrappedBalance?.[0] || wrappedBalance?.[0] < bid) {\n        setHasEnoughWrappedCurrency(false)\n        const wrappedAmount = wrappedBalance?.[0] || 0n\n        const amountToWrap = bid - wrappedAmount\n        setAmountToWrap(formatBN(amountToWrap, 5))\n\n        if (!balance?.value || balance.value < amountToWrap) {\n          setHasEnoughNativeCurrency(false)\n        } else {\n          setHasEnoughNativeCurrency(true)\n        }\n      } else {\n        setHasEnoughWrappedCurrency(true)\n        setHasEnoughNativeCurrency(true)\n        setAmountToWrap('')\n      }\n    } else {\n      setHasEnoughNativeCurrency(true)\n      setHasEnoughWrappedCurrency(true)\n      setAmountToWrap('')\n    }\n  }, [totalBidAmount, balance, wrappedBalance])\n\n  useEffect(() => {\n    const validAttributes = traits\n      ? traits.filter(\n          (attribute) => attribute.values && attribute.values.length > 0\n        )\n      : undefined\n    setAttributes(validAttributes)\n  }, [traits])\n\n  useEffect(() => {\n    if (!open) {\n      setEditBidStep(EditBidStep.Edit)\n      setExpirationOption(expirationOptions[3])\n      setHasEnoughNativeCurrency(false)\n      setHasEnoughWrappedCurrency(false)\n      setAmountToWrap('')\n      setBidAmountPerUnit('')\n      setStepData(null)\n      setTransactionError(null)\n      setTrait(undefined)\n    } else {\n      setTrait(attribute)\n    }\n  }, [open])\n\n  open\n    ? (axios.defaults.headers.common['x-rkui-context'] = 'editBidModalRenderer')\n    : delete axios.defaults.headers.common?.['x-rkui-context']\n\n  const editBid = useCallback(async () => {\n    if (!wallet) {\n      const error = new Error('Missing a wallet/signer')\n      setTransactionError(error)\n      throw error\n    }\n\n    let activeWalletChain = getAccount(config).chain\n    if (rendererChain?.id !== activeWalletChain?.id) {\n      activeWalletChain = await switchChain(config, {\n        chainId: rendererChain?.id as number,\n      })\n    }\n\n    if (rendererChain?.id !== activeWalletChain?.id) {\n      const error = new Error(`Mismatching chainIds`)\n      setTransactionError(error)\n      throw error\n    }\n\n    if (!client) {\n      const error = new Error('ReservoirClient was not initialized')\n      setTransactionError(error)\n      throw error\n    }\n\n    if (!bidId) {\n      const error = new Error('Missing bid id to edit')\n      setTransactionError(error)\n      throw error\n    }\n\n    if (!isOracleOrder) {\n      const error = new Error('Not an oracle powered offer')\n      setTransactionError(error)\n      throw error\n    }\n\n    if (!exchange) {\n      const error = new Error('Missing Exchange')\n      setTransactionError(error)\n      throw error\n    }\n\n    setTransactionError(null)\n\n    let expirationTime: string | null = null\n\n    if (expirationOption.relativeTime && expirationOption.relativeTimeUnit) {\n      expirationTime = dayjs()\n        .add(expirationOption.relativeTime, expirationOption.relativeTimeUnit)\n        .unix()\n        .toString()\n    }\n\n    const atomicBidAmount = parseUnits(\n      `${totalBidAmount}`,\n      currency?.decimals || 18\n    ).toString()\n\n    const bid: BidData = {\n      weiPrice: atomicBidAmount,\n      orderbook: 'reservoir',\n      orderKind: exchange.orderKind as any,\n      attributeKey: trait?.key,\n      attributeValue: trait?.value,\n    }\n\n    if (isTokenBid && tokenId && collectionId) {\n      const contract = collectionId ? collectionId?.split(':')[0] : undefined\n      bid.token = `${contract}:${tokenId}`\n    } else if (collectionId) {\n      bid.collection = collectionId\n    }\n\n    if (nativeWrappedContractAddress != wrappedContractAddress) {\n      bid.currency = wrappedContractAddress\n    }\n\n    if (expirationTime) {\n      bid.expirationTime = expirationTime\n    }\n\n    if (quantity > 1) {\n      bid.quantity = quantity\n    }\n\n    bid.options = {\n      [exchange.orderKind as string]: {\n        useOffChainCancellation: true,\n        replaceOrderId: bidId,\n      },\n    }\n\n    setEditBidStep(EditBidStep.Approving)\n\n    client.actions\n      .placeBid({\n        chainId: rendererChain?.id,\n        bids: [bid],\n        wallet,\n        onProgress: (steps: Execute['steps']) => {\n          if (!steps) {\n            return\n          }\n          setSteps(steps)\n\n          const executableSteps = steps.filter(\n            (step) => step.items && step.items.length > 0\n          )\n\n          let stepCount = executableSteps.length\n\n          let currentStepItem:\n            | NonNullable<Execute['steps'][0]['items']>[0]\n            | undefined\n\n          const currentStepIndex = executableSteps.findIndex((step) => {\n            currentStepItem = step.items?.find(\n              (item) => item.status === 'incomplete'\n            )\n            return currentStepItem\n          })\n\n          const currentStep =\n            currentStepIndex > -1\n              ? executableSteps[currentStepIndex]\n              : executableSteps[stepCount - 1]\n\n          if (currentStepItem) {\n            setStepData({\n              totalSteps: stepCount,\n              stepProgress: currentStepIndex,\n              currentStep,\n              currentStepItem,\n            })\n          } else if (\n            steps.every(\n              (step) =>\n                !step.items ||\n                step.items.length == 0 ||\n                step.items?.every((item) => item.status === 'complete')\n            )\n          ) {\n            setEditBidStep(EditBidStep.Complete)\n          }\n        },\n      })\n      .catch((error: Error) => {\n        setTransactionError(error)\n        setEditBidStep(EditBidStep.Edit)\n        setStepData(null)\n        setSteps(null)\n      })\n  }, [\n    config,\n    client,\n    wallet,\n    collectionId,\n    tokenId,\n    rendererChain,\n    expirationOption,\n    trait,\n    totalBidAmount,\n    quantity,\n    wrappedBalance,\n    wrappedContractAddress,\n    nativeWrappedContractAddress,\n    exchange,\n  ])\n\n  return (\n    <>\n      {children({\n        loading: !bid || !collection,\n        bid,\n        attributes,\n        trait,\n        tokenId,\n        contract,\n        isOracleOrder,\n        isTokenBid,\n        quantity,\n        bidAmountPerUnit,\n        totalBidAmount,\n        totalBidAmountUsd,\n        token,\n        currency,\n        collection,\n        editBidStep,\n        transactionError,\n        hasEnoughNativeCurrency,\n        hasEnoughWrappedCurrency,\n        hasAuxiliaryFundsSupport,\n        balance,\n        wrappedBalance,\n        wrappedContractName,\n        wrappedContractAddress,\n        amountToWrap,\n        convertLink,\n        canAutomaticallyConvert,\n        royaltyBps,\n        expirationOptions,\n        expirationOption,\n        usdPrice,\n        steps,\n        stepData,\n        exchange,\n        traitBidSupported,\n        partialBidSupported,\n        collectionBidSupported,\n        setQuantity,\n        setTrait,\n        setBidAmountPerUnit,\n        setExpirationOption,\n        setEditBidStep,\n        editBid,\n      })}\n    </>\n  )\n}\n","import { useFallbackState, useReservoirClient, useTimeSince } from '../../hooks'\nimport React, {\n  ReactElement,\n  Dispatch,\n  SetStateAction,\n  useEffect,\n  ComponentPropsWithoutRef,\n} from 'react'\nimport {\n  Flex,\n  Text,\n  Box,\n  Button,\n  Loader,\n  Select,\n  ErrorWell,\n} from '../../primitives'\nimport {\n  EditListingModalRenderer,\n  EditListingStep,\n} from './EditListingModalRenderer'\nimport { Modal } from '../Modal'\nimport TokenPrimitive from '../TokenPrimitive'\nimport Progress from '../Progress'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCheckCircle } from '@fortawesome/free-solid-svg-icons/faCheckCircle'\nimport PriceInput from '../../primitives/PriceInput'\nimport InfoTooltip from '../../primitives/InfoTooltip'\nimport { WalletClient, formatUnits, zeroAddress } from 'viem'\nimport { ReservoirWallet } from '@reservoir0x/reservoir-sdk'\nimport { formatNumber } from '../../lib/numbers'\nimport { Dialog } from '../../primitives/Dialog'\n\nconst ModalCopy = {\n  title: 'Edit Listing',\n  ctaClose: 'Close',\n  ctaConfirm: 'Confirm',\n  ctaConvertManually: 'Convert Manually',\n  ctaConvertAutomatically: '',\n  ctaAwaitingApproval: 'Waiting for approval...',\n  ctaAwaitingValidation: 'Waiting for transaction to be validated',\n}\n\ntype Props = Pick<Parameters<typeof Modal>['0'], 'trigger'> & {\n  openState?: [boolean, Dispatch<SetStateAction<boolean>>]\n  listingId?: string\n  tokenId?: string\n  collectionId?: string\n  chainId?: number\n  normalizeRoyalties?: boolean\n  copyOverrides?: Partial<typeof ModalCopy>\n  walletClient?: ReservoirWallet | WalletClient\n  onClose?: (data: any, currentStep: EditListingStep) => void\n  onEditListingComplete?: (data: any) => void\n  onEditListingError?: (error: Error, data: any) => void\n  onPointerDownOutside?: ComponentPropsWithoutRef<\n    typeof Dialog\n  >['onPointerDownOutside']\n}\n\nconst MINIMUM_AMOUNT = 0.000001\nconst MAXIMUM_AMOUNT = Infinity\n\nexport function EditListingModal({\n  openState,\n  listingId,\n  tokenId,\n  collectionId,\n  chainId,\n  trigger,\n  normalizeRoyalties,\n  copyOverrides,\n  walletClient,\n  onClose,\n  onEditListingComplete,\n  onEditListingError,\n  onPointerDownOutside,\n}: Props): ReactElement {\n  const copy: typeof ModalCopy = { ...ModalCopy, ...copyOverrides }\n  const [open, setOpen] = useFallbackState(\n    openState ? openState[0] : false,\n    openState\n  )\n  const client = useReservoirClient()\n\n  const currentChain = client?.currentChain()\n\n  const modalChain = chainId\n    ? client?.chains.find(({ id }) => id === chainId) || currentChain\n    : currentChain\n\n  return (\n    <EditListingModalRenderer\n      listingId={listingId}\n      chainId={modalChain?.id}\n      tokenId={tokenId}\n      collectionId={collectionId}\n      open={open}\n      normalizeRoyalties={normalizeRoyalties}\n      walletClient={walletClient}\n    >\n      {({\n        loading,\n        listing,\n        token,\n        price,\n        currency,\n        isOracleOrder,\n        quantityAvailable,\n        collection,\n        quantity,\n        expirationOption,\n        expirationOptions,\n        editListingStep,\n        transactionError,\n        usdPrice,\n        totalUsd,\n        royaltyBps,\n        stepData,\n        exchange,\n        setPrice,\n        setQuantity,\n        setExpirationOption,\n        editListing,\n      }) => {\n        const expires = useTimeSince(listing?.expiration)\n\n        const profit =\n          (1 - (royaltyBps || 0) * 0.0001) * (price || 0) * quantity\n        100\n\n        const updatedTotalUsd = profit * usdPrice\n\n        useEffect(() => {\n          if (\n            editListingStep === EditListingStep.Complete &&\n            onEditListingComplete\n          ) {\n            const data = {\n              listing,\n              stepData: stepData,\n            }\n            onEditListingComplete(data)\n          }\n        }, [editListingStep])\n\n        useEffect(() => {\n          if (transactionError && onEditListingError) {\n            const data = {\n              listing,\n              stepData: stepData,\n            }\n            onEditListingError(transactionError, data)\n          }\n        }, [transactionError])\n\n        const isListingAvailable =\n          listing &&\n          (listing.status === 'active' || listing.status === 'inactive') &&\n          !loading\n\n        const isListingEditable =\n          listing && listing.status === 'active' && !loading && isOracleOrder\n\n        const minimumAmount = exchange?.minPriceRaw\n          ? Number(\n              formatUnits(\n                BigInt(exchange.minPriceRaw),\n                currency?.decimals || 18\n              )\n            )\n          : MINIMUM_AMOUNT\n        const maximumAmount = exchange?.maxPriceRaw\n          ? Number(\n              formatUnits(\n                BigInt(exchange.maxPriceRaw),\n                currency?.decimals || 18\n              )\n            )\n          : MAXIMUM_AMOUNT\n        const withinPricingBounds =\n          price !== 0 &&\n          Number(price) <= maximumAmount &&\n          Number(price) >= minimumAmount\n\n        const canPurchase = price && price !== 0 && withinPricingBounds\n\n        return (\n          <Modal\n            trigger={trigger}\n            title={copy.title}\n            open={open}\n            onOpenChange={(open) => {\n              if (!open && onClose) {\n                const data = {\n                  listing,\n                  stepData: stepData,\n                }\n                onClose(data, editListingStep)\n              }\n              setOpen(open)\n            }}\n            loading={loading}\n            onPointerDownOutside={(e) => {\n              if (onPointerDownOutside) {\n                onPointerDownOutside(e)\n              }\n            }}\n          >\n            {!isListingAvailable && !loading && (\n              <Flex\n                direction=\"column\"\n                justify=\"center\"\n                css={{ px: '$4', py: '$6' }}\n              >\n                <Text style=\"h6\" css={{ textAlign: 'center' }}>\n                  Selected listing is no longer available\n                </Text>\n              </Flex>\n            )}\n            {!isListingEditable && isListingAvailable && (\n              <Flex\n                direction=\"column\"\n                justify=\"center\"\n                css={{ px: '$4', py: '$6' }}\n              >\n                <Text style=\"h6\" css={{ textAlign: 'center' }}>\n                  Selected listing is not an oracle order, so cannot be edited.\n                </Text>\n              </Flex>\n            )}\n            {isListingEditable && editListingStep === EditListingStep.Edit && (\n              <Flex direction=\"column\">\n                {transactionError && <ErrorWell error={transactionError} />}\n                <Box css={{ p: '$4', borderBottom: '1px solid $borderColor' }}>\n                  <TokenPrimitive\n                    chain={modalChain}\n                    img={token?.token?.imageSmall}\n                    name={listing.criteria?.data?.token?.name}\n                    price={listing?.price?.amount?.decimal}\n                    priceSubtitle=\"Price\"\n                    royaltiesBps={royaltyBps}\n                    usdPrice={totalUsd}\n                    collection={listing.criteria?.data?.collection?.name || ''}\n                    currencyContract={listing.price?.currency?.contract}\n                    currencyDecimals={listing?.price?.currency?.decimals}\n                    currencySymbol={listing?.price?.currency?.symbol}\n                    expires={expires}\n                    source={(listing?.source?.icon as string) || ''}\n                    quantity={listing?.quantityRemaining}\n                  />\n                </Box>\n                <Flex direction=\"column\" css={{ px: '$4', py: '$2' }}>\n                  {quantityAvailable > 1 && (\n                    <>\n                      <Box css={{ mb: '$2' }}>\n                        <Text\n                          as=\"div\"\n                          css={{ mb: '$2' }}\n                          style=\"subtitle3\"\n                          color=\"subtle\"\n                        >\n                          Quantity\n                        </Text>\n                        <Select\n                          value={`${quantity}`}\n                          onValueChange={(value: string) => {\n                            setQuantity(Number(value))\n                          }}\n                        >\n                          {[...Array(quantityAvailable)].map((_a, i) => (\n                            <Select.Item key={i} value={`${i + 1}`}>\n                              <Select.ItemText>{i + 1}</Select.ItemText>\n                            </Select.Item>\n                          ))}\n                        </Select>\n                      </Box>\n                      <Text\n                        style=\"body3\"\n                        css={{ mb: 24, display: 'inline-block' }}\n                      >\n                        {quantityAvailable} items available\n                      </Text>\n                    </>\n                  )}\n                  <Flex css={{ mb: '$2' }} justify=\"between\">\n                    <Text style=\"subtitle3\" color=\"subtle\" as=\"p\">\n                      Set New Price\n                    </Text>\n                    <Flex css={{ alignItems: 'center', gap: 8 }}>\n                      <Text style=\"subtitle3\" color=\"subtle\" as=\"p\">\n                        You Get\n                      </Text>\n                      <InfoTooltip\n                        side=\"left\"\n                        width={200}\n                        content={`How much ${currency?.symbol} you will receive after creator royalties are subtracted.`}\n                      />\n                    </Flex>\n                  </Flex>\n                  <Flex direction=\"column\" css={{ gap: '$2' }}>\n                    <PriceInput\n                      chainId={modalChain?.id}\n                      price={price}\n                      collection={collection}\n                      currency={currency}\n                      usdPrice={usdPrice}\n                      quantity={quantity}\n                      placeholder={'Enter a listing price'}\n                      onChange={(e) => {\n                        if (e.target.value === '') {\n                          setPrice(undefined)\n                        } else {\n                          setPrice(Number(e.target.value))\n                        }\n                      }}\n                      onBlur={() => {\n                        if (price === undefined) {\n                          setPrice(0)\n                        }\n                      }}\n                    />\n                    {price && price !== 0 && !withinPricingBounds && (\n                      <Box>\n                        <Text style=\"body3\" color=\"error\">\n                          {maximumAmount !== Infinity\n                            ? `Amount must be between ${formatNumber(\n                                minimumAmount\n                              )} - ${formatNumber(maximumAmount)}`\n                            : `Amount must be higher than ${formatNumber(\n                                minimumAmount\n                              )}`}\n                        </Text>\n                      </Box>\n                    )}\n\n                    {collection &&\n                      collection?.floorAsk?.price?.amount?.native !==\n                        undefined &&\n                      canPurchase &&\n                      currency?.contract === zeroAddress &&\n                      price < collection?.floorAsk?.price.amount.native && (\n                        <Box>\n                          <Text style=\"body3\" color=\"error\">\n                            Price is{' '}\n                            {Math.round(\n                              ((collection.floorAsk.price.amount.native -\n                                price) /\n                                ((collection.floorAsk.price.amount.native +\n                                  price) /\n                                  2)) *\n                                100 *\n                                1000\n                            ) / 1000}\n                            % below the floor\n                          </Text>\n                        </Box>\n                      )}\n                  </Flex>\n                  <Box css={{ mb: '$3', mt: '$4' }}>\n                    <Text\n                      as=\"div\"\n                      css={{ mb: '$2' }}\n                      style=\"subtitle3\"\n                      color=\"subtle\"\n                    >\n                      Expiration Date\n                    </Text>\n                    <Select\n                      value={expirationOption?.text || ''}\n                      onValueChange={(value: string) => {\n                        const option = expirationOptions.find(\n                          (option) => option.value == value\n                        )\n                        if (option) {\n                          setExpirationOption(option)\n                        }\n                      }}\n                    >\n                      {expirationOptions\n                        .filter(({ value }) => value !== 'custom')\n                        .map((option) => (\n                          <Select.Item key={option.text} value={option.value}>\n                            <Select.ItemText>{option.text}</Select.ItemText>\n                          </Select.Item>\n                        ))}\n                    </Select>\n                  </Box>\n                  <Flex\n                    css={{\n                      gap: '$3',\n                      py: '$3',\n                    }}\n                  >\n                    <Button\n                      onClick={() => {\n                        setOpen(false)\n                      }}\n                      color=\"secondary\"\n                      css={{ flex: 1 }}\n                    >\n                      {copy.ctaClose}\n                    </Button>\n                    <Button\n                      disabled={!canPurchase}\n                      onClick={editListing}\n                      css={{ flex: 1 }}\n                    >\n                      {copy.ctaConfirm}\n                    </Button>\n                  </Flex>\n                </Flex>\n              </Flex>\n            )}\n            {editListingStep === EditListingStep.Approving && (\n              <Flex direction=\"column\">\n                <Box css={{ p: '$4', borderBottom: '1px solid $borderColor' }}>\n                  <TokenPrimitive\n                    chain={modalChain}\n                    img={token?.token?.imageSmall}\n                    name={token?.token?.name}\n                    price={profit}\n                    usdPrice={updatedTotalUsd}\n                    collection={collection?.name || ''}\n                    currencyContract={listing?.price?.currency?.contract}\n                    currencyDecimals={listing?.price?.currency?.decimals}\n                    currencySymbol={listing?.price?.currency?.symbol}\n                    expires={`in ${expirationOption.text.toLowerCase()}`}\n                    source={(listing?.source?.icon as string) || ''}\n                    quantity={quantity}\n                  />\n                </Box>\n                {!stepData && <Loader css={{ height: 206 }} />}\n                {stepData && (\n                  <>\n                    <Progress\n                      title={\n                        stepData?.currentStepItem.txHashes\n                          ? 'Finalizing on blockchain'\n                          : 'Approve Reservoir Oracle to update the listing'\n                      }\n                      txHashes={stepData?.currentStepItem?.txHashes}\n                    />\n                  </>\n                )}\n                <Button disabled={true} css={{ m: '$4' }}>\n                  <Loader />\n                  {stepData?.currentStepItem?.txHashes\n                    ? copy.ctaAwaitingValidation\n                    : copy.ctaAwaitingApproval}\n                </Button>\n              </Flex>\n            )}\n            {editListingStep === EditListingStep.Complete && (\n              <Flex direction=\"column\" align=\"center\" css={{ width: '100%' }}>\n                <Flex\n                  direction=\"column\"\n                  align=\"center\"\n                  css={{\n                    p: '$4',\n                    py: '$5',\n                    textAlign: 'center',\n                  }}\n                >\n                  <Box css={{ color: '$successAccent', mb: 24 }}>\n                    <FontAwesomeIcon icon={faCheckCircle} size=\"3x\" />\n                  </Box>\n                  <Text style=\"h5\" css={{ mb: '$4' }}>\n                    Listing Updated!\n                  </Text>\n                  <Text style=\"body2\" color=\"subtle\" css={{ mb: 24 }}>\n                    Your listing for{' '}\n                    <Text style=\"body2\" color=\"base\">\n                      {token?.token?.name}\n                    </Text>{' '}\n                    has been updated.\n                  </Text>\n                </Flex>\n                <Button\n                  onClick={() => {\n                    setOpen(false)\n                  }}\n                  css={{ m: '$4' }}\n                >\n                  {copy.ctaClose}\n                </Button>\n              </Flex>\n            )}\n          </Modal>\n        )\n      }}\n    </EditListingModalRenderer>\n  )\n}\n\nEditListingModal.Custom = EditListingModalRenderer\n","import React, {\n  FC,\n  useEffect,\n  useState,\n  useCallback,\n  ReactNode,\n  useMemo,\n} from 'react'\nimport {\n  useCoinConversion,\n  useReservoirClient,\n  useListings,\n  useTokens,\n  useUserTokens,\n  useCollections,\n  useMarketplaces,\n  useUserListings,\n} from '../../hooks'\nimport { useWalletClient, useAccount, useConfig } from 'wagmi'\nimport { Execute, ReservoirWallet, axios } from '@reservoir0x/reservoir-sdk'\nimport { ExpirationOption } from '../../types/ExpirationOption'\nimport expirationOptions from '../../lib/defaultExpirationOptions'\nimport dayjs from 'dayjs'\nimport { Listing } from '../list/ListModalRenderer'\nimport { WalletClient, parseUnits, zeroAddress } from 'viem'\nimport { getAccount, switchChain } from 'wagmi/actions'\nimport { Marketplace } from '../../hooks/useMarketplaces'\n\ntype Exchange = NonNullable<Marketplace['exchanges']>['string']\n\nexport enum EditListingStep {\n  Edit,\n  Approving,\n  Complete,\n}\n\nexport type EditListingStepData = {\n  totalSteps: number\n  stepProgress: number\n  currentStep: Execute['steps'][0]\n  currentStepItem: NonNullable<Execute['steps'][0]['items']>[0]\n}\n\ntype ChildrenProps = {\n  loading: boolean\n  listing?: NonNullable<ReturnType<typeof useListings>['data']>[0]\n  tokenId?: string\n  contract?: string\n  isOracleOrder: boolean\n  price: number | undefined\n  token?: NonNullable<NonNullable<ReturnType<typeof useTokens>>['data']>[0]\n  currency: NonNullable<\n    NonNullable<ReturnType<typeof useListings>['data']>[0]['price']\n  >['currency']\n  quantityAvailable: number\n  collection?: NonNullable<ReturnType<typeof useCollections>['data']>[0]\n  quantity: number\n  editListingStep: EditListingStep\n  transactionError?: Error | null\n  totalUsd: number\n  royaltyBps?: number\n  expirationOptions: ExpirationOption[]\n  expirationOption: ExpirationOption\n  usdPrice: number\n  steps: Execute['steps'] | null\n  stepData: EditListingStepData | null\n  exchange?: Exchange\n  setPrice: React.Dispatch<React.SetStateAction<number | undefined>>\n  setQuantity: React.Dispatch<React.SetStateAction<number>>\n  setExpirationOption: React.Dispatch<React.SetStateAction<ExpirationOption>>\n  setEditListingStep: React.Dispatch<React.SetStateAction<EditListingStep>>\n  editListing: () => void\n}\n\ntype Props = {\n  open: boolean\n  listingId?: string\n  tokenId?: string\n  collectionId?: string\n  chainId?: number\n  normalizeRoyalties?: boolean\n  children: (props: ChildrenProps) => ReactNode\n  walletClient?: ReservoirWallet | WalletClient\n}\n\nexport const EditListingModalRenderer: FC<Props> = ({\n  open,\n  listingId,\n  tokenId,\n  collectionId,\n  chainId,\n  normalizeRoyalties,\n  children,\n  walletClient,\n}) => {\n  const client = useReservoirClient()\n  const currentChain = client?.currentChain()\n  const config = useConfig()\n\n  const rendererChain = chainId\n    ? client?.chains.find(({ id }) => id === chainId) || currentChain\n    : currentChain\n\n  const { data: wagmiWalletClient } = useWalletClient({\n    chainId: rendererChain?.id,\n  })\n  const wallet = walletClient || wagmiWalletClient\n  const account = useAccount()\n  const [editListingStep, setEditListingStep] = useState<EditListingStep>(\n    EditListingStep.Edit\n  )\n  const [transactionError, setTransactionError] = useState<Error | null>()\n  const [stepData, setStepData] = useState<EditListingStepData | null>(null)\n  const [steps, setSteps] = useState<Execute['steps'] | null>(null)\n  const [price, setPrice] = useState<number | undefined>(0)\n  const [quantity, setQuantity] = useState(1)\n\n  const { data: listings } = useUserListings(\n    account.address,\n    {\n      ids: listingId,\n      normalizeRoyalties,\n      includeCriteriaMetadata: true,\n      includeRawData: true,\n    },\n    {\n      revalidateFirstPage: true,\n    },\n    open && listingId ? true : false,\n    rendererChain?.id\n  )\n\n  const listing = listings && listings[0] ? listings[0] : undefined\n  const contract =\n    listing?.tokenSetId?.split(':')[1] || collectionId?.split(':')[0]\n  const currency = listing?.price?.currency\n\n  const [allMarketplaces] = useMarketplaces(\n    collectionId,\n    tokenId,\n    undefined,\n    undefined,\n    rendererChain?.id,\n    open\n  )\n\n  const reservoirMarketplace = useMemo(\n    () =>\n      allMarketplaces.find(\n        (marketplace) => marketplace.orderbook === 'reservoir'\n      ),\n    [allMarketplaces]\n  )\n\n  const exchange = useMemo(() => {\n    const exchanges: Record<string, Exchange> =\n      reservoirMarketplace?.exchanges || {}\n    const exchange = Object.values(exchanges).find(\n      (exchange) => exchange?.orderKind === listing?.kind\n    )\n    return exchange?.enabled ? exchange : undefined\n  }, [reservoirMarketplace, listing])\n\n  const isOracleOrder = listing?.isNativeOffChainCancellable as boolean\n\n  useEffect(() => {\n    if (listing?.price?.amount?.decimal) {\n      setPrice(listing?.price?.amount?.decimal)\n    }\n  }, [listing?.price])\n\n  const coinConversion = useCoinConversion(\n    open && listing ? 'USD' : undefined,\n    currency?.symbol\n  )\n  const usdPrice = coinConversion.length > 0 ? coinConversion[0].price : 0\n  const totalUsd = usdPrice * (listing?.price?.amount?.decimal || 0)\n\n  const [expirationOption, setExpirationOption] = useState<ExpirationOption>(\n    expirationOptions[5]\n  )\n\n  const { data: collections } = useCollections(\n    open && {\n      id: collectionId,\n      normalizeRoyalties,\n    },\n    {},\n    rendererChain?.id\n  )\n  const collection = collections && collections[0] ? collections[0] : undefined\n  const royaltyBps = collection?.royalties?.bps\n    ? collection?.royalties?.bps\n    : reservoirMarketplace?.royalties?.maxBps\n    ? reservoirMarketplace?.royalties?.maxBps\n    : 0\n\n  useEffect(() => {\n    if (!open) {\n      setEditListingStep(EditListingStep.Edit)\n      setTransactionError(null)\n      setStepData(null)\n      setExpirationOption(expirationOptions[5])\n      setQuantity(1)\n    }\n  }, [open])\n\n  const { data: tokens } = useTokens(\n    open && contract && tokenId\n      ? {\n          tokens: [`${contract}:${tokenId}`],\n          includeAttributes: true,\n          normalizeRoyalties,\n        }\n      : false,\n    {\n      revalidateFirstPage: true,\n    },\n    rendererChain?.id\n  )\n\n  const token = tokens && tokens.length > 0 ? tokens[0] : undefined\n  const is1155 = token?.token?.kind === 'erc1155'\n\n  const { data: userTokens } = useUserTokens(\n    open && is1155 ? account.address : undefined,\n    {\n      tokens: [`${contract}:${tokenId}`],\n    },\n    {},\n    rendererChain?.id\n  )\n\n  const quantityAvailable =\n    is1155 && userTokens[0]\n      ? Number(userTokens[0].ownership?.tokenCount || 1)\n      : 1\n\n  const editListing = useCallback(async () => {\n    if (!wallet) {\n      const error = new Error('Missing a wallet/signer')\n      setTransactionError(error)\n      throw error\n    }\n\n    let activeWalletChain = getAccount(config).chain\n    if (rendererChain?.id !== activeWalletChain?.id) {\n      activeWalletChain = await switchChain(config, {\n        chainId: rendererChain?.id as number,\n      })\n    }\n\n    if (rendererChain?.id !== activeWalletChain?.id) {\n      const error = new Error(`Mismatching chainIds`)\n      setTransactionError(error)\n      throw error\n    }\n\n    if (!client) {\n      const error = new Error('ReservoirClient was not initialized')\n      setTransactionError(error)\n      throw error\n    }\n\n    if (!listingId) {\n      const error = new Error('Missing list id to edit')\n      setTransactionError(error)\n      throw error\n    }\n\n    if (!isOracleOrder) {\n      const error = new Error('Not an oracle order')\n      setTransactionError(error)\n      throw error\n    }\n\n    if (!exchange) {\n      const error = new Error('Missing Exchange')\n      setTransactionError(error)\n      throw error\n    }\n\n    setTransactionError(null)\n\n    let expirationTime: string | null = null\n\n    if (expirationOption.relativeTime && expirationOption.relativeTimeUnit) {\n      expirationTime = dayjs()\n        .add(expirationOption.relativeTime, expirationOption.relativeTimeUnit)\n        .unix()\n        .toString()\n    }\n\n    const listing: Listing = {\n      token: `${contract}:${tokenId}`,\n      weiPrice: (\n        parseUnits(`${price as number}`, currency?.decimals || 18) *\n        BigInt(quantity)\n      ).toString(),\n      orderbook: 'reservoir',\n      orderKind: exchange.orderKind as any,\n    }\n\n    if (quantity > 1) {\n      listing.quantity = quantity\n    }\n\n    if (expirationTime) {\n      listing.expirationTime = expirationTime\n    }\n\n    if (currency && currency.contract != zeroAddress) {\n      listing.currency = currency.contract\n    }\n\n    listing.options = {\n      [exchange.orderKind as string]: {\n        useOffChainCancellation: true,\n        replaceOrderId: listingId,\n      },\n    }\n\n    setEditListingStep(EditListingStep.Approving)\n\n    client.actions\n      .listToken({\n        chainId: rendererChain?.id,\n        listings: [listing],\n        wallet,\n        onProgress: (steps: Execute['steps']) => {\n          if (!steps) {\n            return\n          }\n          setSteps(steps)\n\n          const executableSteps = steps.filter(\n            (step) => step.items && step.items.length > 0\n          )\n\n          let stepCount = executableSteps.length\n\n          let currentStepItem:\n            | NonNullable<Execute['steps'][0]['items']>[0]\n            | undefined\n\n          const currentStepIndex = executableSteps.findIndex((step) => {\n            currentStepItem = step.items?.find(\n              (item) => item.status === 'incomplete'\n            )\n            return currentStepItem\n          })\n\n          const currentStep =\n            currentStepIndex > -1\n              ? executableSteps[currentStepIndex]\n              : executableSteps[stepCount - 1]\n\n          if (currentStepItem) {\n            setStepData({\n              totalSteps: stepCount,\n              stepProgress: currentStepIndex,\n              currentStep,\n              currentStepItem,\n            })\n          } else if (\n            steps.every(\n              (step) =>\n                !step.items ||\n                step.items.length == 0 ||\n                step.items?.every((item) => item.status === 'complete')\n            )\n          ) {\n            setEditListingStep(EditListingStep.Complete)\n          }\n        },\n      })\n      .catch((error: Error) => {\n        setTransactionError(error)\n        setEditListingStep(EditListingStep.Edit)\n        setStepData(null)\n        setSteps(null)\n      })\n  }, [\n    config,\n    client,\n    wallet,\n    rendererChain,\n    collectionId,\n    tokenId,\n    expirationOption,\n    price,\n    currency,\n    quantity,\n    contract,\n    exchange,\n  ])\n\n  useEffect(() => {\n    if (!open) {\n      setEditListingStep(EditListingStep.Edit)\n      setTransactionError(null)\n      setStepData(null)\n      setSteps(null)\n    }\n  }, [open])\n\n  open\n    ? (axios.defaults.headers.common['x-rkui-context'] =\n        'editListingModalRenderer')\n    : delete axios.defaults.headers.common?.['x-rkui-context']\n\n  return (\n    <>\n      {children({\n        loading: !listing || !token || !collection || !exchange,\n        listing,\n        tokenId,\n        contract,\n        isOracleOrder,\n        currency,\n        token,\n        price,\n        quantityAvailable,\n        collection,\n        quantity,\n        expirationOption,\n        expirationOptions,\n        editListingStep,\n        transactionError,\n        usdPrice,\n        totalUsd,\n        royaltyBps,\n        steps,\n        stepData,\n        exchange,\n        setPrice,\n        setQuantity,\n        setExpirationOption,\n        setEditListingStep,\n        editListing,\n      })}\n    </>\n  )\n}\n","import React from 'react'\n\nimport { Flex, Box, Input, FormatCurrency, Text, FormatCryptoCurrency } from '.'\n\nimport { CryptoCurrencyIcon } from '.'\nimport { useCollections, useListings } from '../hooks'\n\ntype MarketPlaceInputProps = {\n  price: number | undefined\n  chainId?: number\n  collection?: NonNullable<ReturnType<typeof useCollections>['data']>[0]\n  currency: NonNullable<\n    NonNullable<ReturnType<typeof useListings>['data']>[0]['price']\n  >['currency']\n  usdPrice?: number | null\n  quantity?: number\n  placeholder?: string\n  onChange: (e: any) => void\n  onBlur: (e: any) => void\n}\n\nconst PriceInput = ({\n  chainId,\n  price,\n  collection,\n  currency,\n  usdPrice,\n  quantity = 1,\n  placeholder,\n  onChange,\n  onBlur,\n  ...props\n}: MarketPlaceInputProps) => {\n  let profit =\n    (1 - (collection?.royalties?.bps || 0) * 0.0001) * (price || 0) * quantity\n  100\n\n  return (\n    <Flex {...props} align=\"center\">\n      <Flex align=\"center\">\n        <Box\n          css={{\n            width: 'auto',\n            height: 20,\n          }}\n        >\n          <CryptoCurrencyIcon\n            chainId={chainId}\n            css={{ height: 18 }}\n            address={currency?.contract as string}\n          />\n        </Box>\n\n        <Text style=\"body1\" color=\"subtle\" css={{ ml: '$1', mr: '$4' }} as=\"p\">\n          {currency?.symbol}\n        </Text>\n      </Flex>\n      <Box css={{ flex: 1 }}>\n        <Input\n          type=\"number\"\n          value={price}\n          onChange={onChange}\n          onBlur={onBlur}\n          placeholder={placeholder}\n        />\n      </Box>\n      <Flex direction=\"column\" align=\"end\" css={{ ml: '$3' }}>\n        <FormatCryptoCurrency\n          chainId={chainId}\n          amount={profit}\n          address={currency?.contract}\n          decimals={currency?.decimals}\n          symbol={currency?.symbol}\n          textStyle=\"h6\"\n          logoWidth={18}\n        />\n        <FormatCurrency\n          amount={profit * (usdPrice || 0)}\n          style=\"subtitle3\"\n          color=\"subtle\"\n        />\n      </Flex>\n    </Flex>\n  )\n}\n\nexport default PriceInput\n","import React, {\n  ComponentPropsWithoutRef,\n  Dispatch,\n  ReactElement,\n  SetStateAction,\n  useEffect,\n} from 'react'\nimport { WalletClient, formatUnits } from 'viem'\nimport { ReservoirWallet } from '@reservoir0x/reservoir-sdk'\nimport { useFallbackState, useReservoirClient } from '../../hooks'\nimport { Modal } from '../Modal'\nimport {\n  MintModalRenderer,\n  MintModalStepData,\n  MintStep,\n} from './MintModalRenderer'\nimport {\n  Anchor,\n  Box,\n  Button,\n  CryptoCurrencyIcon,\n  ErrorWell,\n  Flex,\n  FormatCryptoCurrency,\n  Loader,\n  Text,\n} from '../../primitives'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCheckCircle } from '@fortawesome/free-solid-svg-icons/faCheckCircle'\nimport { faChevronLeft } from '@fortawesome/free-solid-svg-icons/faChevronLeft'\nimport { faChevronRight } from '@fortawesome/free-solid-svg-icons/faChevronRight'\nimport { faCircleExclamation } from '@fortawesome/free-solid-svg-icons/faCircleExclamation'\nimport { faCube } from '@fortawesome/free-solid-svg-icons/faCube'\nimport { faEye } from '@fortawesome/free-solid-svg-icons/faEye'\nimport { faPenNib } from '@fortawesome/free-solid-svg-icons/faPenNib'\nimport { faWallet } from '@fortawesome/free-solid-svg-icons/faWallet'\n\nimport { formatNumber } from '../../lib/numbers'\nimport { Path } from '../../components/cart/CartCheckoutModal'\nimport QuantitySelector from '../QuantitySelector'\nimport { CurrentStepTxHashes } from '../CurrentStepTxHashes'\nimport SigninStep from '../SigninStep'\nimport { ApprovePurchasingCollapsible } from '../ApprovePurchasingCollapsible'\nimport { MintImages } from './MintImages'\nimport { truncateAddress } from '../../lib/truncate'\nimport getChainBlockExplorerUrl from '../../lib/getChainBlockExplorerUrl'\nimport { TokenInfo } from '../TokenInfo'\nimport { CollectionInfo } from '../CollectionInfo'\nimport { PurchaseCheckout } from '../PurchaseCheckout'\nimport { PaymentDetails } from '../../common/PaymentDetails'\nimport { SelectPaymentToken } from '../SelectPaymentToken'\nimport { Dialog } from '../../primitives/Dialog'\n\nexport type MintCallbackData = {\n  collectionId?: string\n  maker?: string\n  stepData: MintModalStepData | null\n}\n\nexport const MintModalCopy = {\n  ctaConnect: 'Connect',\n  mintTitle: 'Mint',\n  mintCtaClose: 'Close',\n  mintCtaBuy: 'Mint',\n  mintCtaBuyDisabled: 'Mint',\n  mintCtaInsufficientFunds: 'Add Funds to Purchase',\n  mintCtaAwaitingApproval: 'Waiting for approval...',\n  mintCtaAwaitingValidation: 'Waiting to be validated...',\n  mintCtaGoToToken: '',\n}\n\ntype Props = Pick<Parameters<typeof Modal>['0'], 'trigger'> & {\n  openState?: [boolean, Dispatch<SetStateAction<boolean>>]\n  contract?: string\n  collectionId?: string\n  token?: string\n  defaultQuantity?: number\n  onConnectWallet: () => void\n  feesOnTopBps?: string[] | null\n  feesOnTopUsd?: string[] | null\n  chainId?: number\n  copyOverrides?: Partial<typeof MintModalCopy>\n  walletClient?: ReservoirWallet | WalletClient\n  onMintComplete?: (data: MintCallbackData) => void\n  onMintError?: (error: Error, data: MintCallbackData) => void\n  onClose?: (data: MintCallbackData, currentStep: MintStep) => void\n  onGoToToken?: (data: MintCallbackData) => any\n  onPointerDownOutside?: ComponentPropsWithoutRef<\n    typeof Dialog\n  >['onPointerDownOutside']\n}\n\nexport function MintModal({\n  openState,\n  trigger,\n  contract,\n  collectionId,\n  token,\n  chainId,\n  feesOnTopBps,\n  feesOnTopUsd,\n  copyOverrides,\n  walletClient,\n  onMintComplete,\n  onMintError,\n  onClose,\n  onConnectWallet,\n  onGoToToken,\n  onPointerDownOutside,\n  defaultQuantity,\n}: Props): ReactElement {\n  const copy: typeof MintModalCopy = {\n    ...MintModalCopy,\n    ...copyOverrides,\n  }\n  const [open, setOpen] = useFallbackState(\n    openState ? openState[0] : false,\n    openState\n  )\n\n  const client = useReservoirClient()\n\n  const currentChain = client?.currentChain()\n\n  const modalChain = chainId\n    ? client?.chains.find(({ id }) => id === chainId) || currentChain\n    : currentChain\n\n  return (\n    <MintModalRenderer\n      onConnectWallet={onConnectWallet}\n      chainId={modalChain?.id}\n      defaultQuantity={defaultQuantity}\n      open={open}\n      contract={contract}\n      collectionId={collectionId}\n      token={token}\n      feesOnTopBps={feesOnTopBps}\n      feesOnTopUsd={feesOnTopUsd}\n      walletClient={walletClient}\n    >\n      {({\n        loading,\n        isFetchingPath,\n        collection,\n        token,\n        orders,\n        totalIncludingFees,\n        mintResponseFees,\n        feeOnTop,\n        feeUsd,\n        paymentTokens,\n        paymentCurrency,\n        setPaymentCurrency,\n        addFundsLink,\n        chainCurrency,\n        itemAmount,\n        setItemAmount,\n        maxItemAmount,\n        setMaxItemAmount,\n        usdPrice,\n        usdPriceRaw,\n        currentChain,\n        address,\n        isConnected,\n        disableJumperLink,\n        balance,\n        hasEnoughCurrency,\n        hasAuxiliaryFundsSupport,\n        transactionError,\n        fetchMintPathError,\n        stepData,\n        mintStep,\n        setStepData,\n        setMintStep,\n        mintTokens,\n      }) => {\n        useEffect(() => {\n          if (mintStep === MintStep.Complete && onMintComplete) {\n            const data: MintCallbackData = {\n              collectionId: collection?.id,\n              maker: address,\n              stepData,\n            }\n\n            onMintComplete(data)\n          }\n        }, [mintStep])\n\n        useEffect(() => {\n          if (transactionError && onMintError) {\n            const data: MintCallbackData = {\n              collectionId: collection?.id,\n              maker: address,\n              stepData,\n            }\n            onMintError(transactionError, data)\n          }\n        }, [transactionError])\n\n        const pathMap = stepData?.path\n          ? (stepData.path as Path[]).reduce(\n              (paths: Record<string, Path>, path: Path) => {\n                if (path.orderId) {\n                  paths[path.orderId] = path\n                }\n\n                return paths\n              },\n              {} as Record<string, Path>\n            )\n          : {}\n\n        const totalMints =\n          stepData?.currentStep?.items?.reduce((total, item) => {\n            item.transfersData?.forEach((transferData) => {\n              total += Number(transferData.amount || 1)\n            })\n            return total\n          }, 0) || 0\n\n        const failedMints = itemAmount - totalMints\n        const successfulMints = itemAmount - failedMints\n\n        return (\n          <Modal\n            trigger={trigger}\n            title={copy.mintTitle}\n            open={open}\n            loading={loading}\n            onPointerDownOutside={(e) => {\n              const dismissableLayers = Array.from(\n                document.querySelectorAll('div[data-radix-dismissable]')\n              )\n              const clickedDismissableLayer = dismissableLayers.some((el) =>\n                e.target ? el.contains(e.target as Node) : false\n              )\n\n              if (!clickedDismissableLayer && dismissableLayers.length > 0) {\n                e.preventDefault()\n              }\n\n              if (onPointerDownOutside) {\n                onPointerDownOutside(e)\n              }\n            }}\n            onOpenChange={(open) => {\n              if (!open && onClose) {\n                const data: MintCallbackData = {\n                  collectionId: collection?.id,\n                  maker: address,\n                  stepData,\n                }\n                onClose(data, mintStep)\n              }\n              setOpen(open)\n            }}\n          >\n            {!loading &&\n            (orders?.length === 0 || maxItemAmount === 0) &&\n            mintStep === MintStep.Idle ? (\n              <Flex\n                direction=\"column\"\n                align=\"center\"\n                css={{ width: '100%', p: '$4' }}\n              >\n                <Flex\n                  direction=\"column\"\n                  align=\"center\"\n                  css={{ pt: 28, pb: 48, px: '$4', gap: 28 }}\n                >\n                  <Box css={{ color: '$neutralSolid' }}>\n                    <FontAwesomeIcon\n                      icon={faEye}\n                      style={{\n                        width: '36px',\n                        height: '32px',\n                      }}\n                    />\n                  </Box>\n                  {!collection && !fetchMintPathError ? (\n                    <Text style=\"h6\" css={{ textAlign: 'center' }}>\n                      Collection not found.\n                    </Text>\n                  ) : null}\n\n                  {collection && fetchMintPathError?.message ? (\n                    <Text style=\"h6\" css={{ textAlign: 'center' }}>\n                      {fetchMintPathError?.message}\n                    </Text>\n                  ) : null}\n\n                  {collection && !fetchMintPathError?.message ? (\n                    <Text style=\"h6\" css={{ textAlign: 'center' }}>\n                      Oops. Looks like the mint has ended or the maximum minting\n                      limit has been reached.\n                    </Text>\n                  ) : null}\n                </Flex>\n                <Button css={{ width: '100%' }} onClick={() => setOpen(false)}>\n                  {copy.mintCtaClose}\n                </Button>\n              </Flex>\n            ) : null}\n            {!loading &&\n              orders.length > 0 &&\n              maxItemAmount !== 0 &&\n              mintStep === MintStep.Idle && (\n                <Flex direction=\"column\">\n                  <Flex\n                    direction=\"column\"\n                    css={{ borderBottom: '1px solid $neutralBorder' }}\n                  >\n                    {transactionError ? (\n                      <ErrorWell error={transactionError} />\n                    ) : null}\n                    <Flex direction=\"column\" css={{ p: '$4', gap: '$4' }}>\n                      {token ? (\n                        <TokenInfo\n                          token={token}\n                          collection={collection}\n                          chain={currentChain}\n                        />\n                      ) : (\n                        <CollectionInfo\n                          collection={collection}\n                          chain={currentChain}\n                        />\n                      )}\n\n                      <Flex\n                        align=\"center\"\n                        justify=\"between\"\n                        css={{ gap: 24, '@bp1': { gap: '$6' } }}\n                      >\n                        <Flex\n                          direction=\"column\"\n                          align=\"start\"\n                          css={{\n                            gap: '$1',\n                            overflow: 'hidden',\n                            flexShrink: 0,\n                            maxWidth: 200,\n                          }}\n                        >\n                          <Text style=\"subtitle2\">Quantity</Text>\n                          <Text\n                            style=\"body3\"\n                            color=\"subtle\"\n                            ellipsify\n                            css={{ width: '100%' }}\n                          >\n                            {formatNumber(maxItemAmount)}{' '}\n                            {maxItemAmount > 1 ? 'items' : 'item'} available\n                          </Text>\n                        </Flex>\n                        <QuantitySelector\n                          quantity={itemAmount}\n                          setQuantity={setItemAmount}\n                          min={1}\n                          max={maxItemAmount}\n                          css={{\n                            width: '100%',\n                            justifyContent: 'space-between',\n                            minWidth: 200,\n                          }}\n                        />\n                      </Flex>\n                    </Flex>\n                  </Flex>\n                  <Flex direction=\"column\" css={{ pb: '$2' }}>\n                    {paymentTokens.length > 1 ? (\n                      <Flex\n                        direction=\"column\"\n                        css={{\n                          gap: '$2',\n                          py: '$3',\n                          px: '$4',\n                          borderRadius: '$3',\n                          borderBottom: '1px solid $neutralBorder',\n                          '&:hover': {\n                            backgroundColor: '$neutralBgHover',\n                          },\n                        }}\n                        onClick={() => setMintStep(MintStep.SelectPayment)}\n                      >\n                        <Flex\n                          justify=\"between\"\n                          align=\"center\"\n                          css={{\n                            gap: '$1',\n                          }}\n                        >\n                          <Text style=\"subtitle2\">Payment Method</Text>\n                          <Flex\n                            align=\"center\"\n                            css={{ gap: '$2', cursor: 'pointer' }}\n                          >\n                            <Flex align=\"center\">\n                              <CryptoCurrencyIcon\n                                address={paymentCurrency?.address as string}\n                                chainId={paymentCurrency?.chainId}\n                                css={{ width: 16, height: 16, mr: '$1' }}\n                              />\n                              <Text style=\"subtitle2\">\n                                {paymentCurrency?.name}\n                              </Text>\n                            </Flex>\n                            <Box css={{ color: '$neutralSolidHover' }}>\n                              <FontAwesomeIcon\n                                icon={faChevronRight}\n                                width={10}\n                              />\n                            </Box>\n                          </Flex>\n                        </Flex>\n                      </Flex>\n                    ) : null}\n                    <PaymentDetails\n                      chainId={chainId}\n                      crosschainFees={mintResponseFees}\n                      paymentCurrency={paymentCurrency}\n                      feeOnTop={feeOnTop}\n                      feeUsd={feeUsd}\n                      loading={isFetchingPath}\n                      css={{ pt: '$4' }}\n                    />\n                  </Flex>\n                  {hasEnoughCurrency ||\n                  !isConnected ||\n                  hasAuxiliaryFundsSupport ? (\n                    <Button\n                      css={{ m: '$4' }}\n                      disabled={\n                        !hasEnoughCurrency &&\n                        !hasAuxiliaryFundsSupport &&\n                        isConnected\n                      }\n                      onClick={mintTokens}\n                    >\n                      {!isConnected ? copy.ctaConnect : copy.mintCtaBuy}\n                    </Button>\n                  ) : (\n                    <Flex\n                      direction=\"column\"\n                      align=\"center\"\n                      css={{ px: '$3', gap: '$3' }}\n                    >\n                      <Flex align=\"center\">\n                        <Text css={{ mr: '$3' }} color=\"error\" style=\"body3\">\n                          Insufficient Balance\n                        </Text>\n\n                        <FormatCryptoCurrency\n                          chainId={paymentCurrency?.chainId}\n                          amount={paymentCurrency?.balance}\n                          address={paymentCurrency?.address}\n                          decimals={paymentCurrency?.decimals}\n                          symbol={paymentCurrency?.name}\n                          textStyle=\"body3\"\n                        />\n                      </Flex>\n                      <Button\n                        disabled={disableJumperLink}\n                        onClick={() => {\n                          window.open(addFundsLink, '_blank')\n                        }}\n                        css={{ mb: '$3', width: '100%' }}\n                      >\n                        {disableJumperLink\n                          ? copy.mintCtaBuy\n                          : copy.mintCtaInsufficientFunds}\n                      </Button>\n                    </Flex>\n                  )}\n                </Flex>\n              )}\n\n            {!loading && mintStep === MintStep.SelectPayment && (\n              <Flex direction=\"column\" css={{ py: 20 }}>\n                <Flex align=\"center\" css={{ gap: '$2', px: '$4' }}>\n                  <Button\n                    onClick={() => setMintStep(MintStep.Idle)}\n                    color=\"ghost\"\n                    size=\"xs\"\n                    css={{ color: '$neutralSolidHover' }}\n                  >\n                    <FontAwesomeIcon icon={faChevronLeft} width={10} />\n                  </Button>\n                  <Text style=\"subtitle2\">Select Payment Method</Text>\n                </Flex>\n                <SelectPaymentToken\n                  paymentTokens={paymentTokens}\n                  currency={paymentCurrency}\n                  setCurrency={setPaymentCurrency}\n                  goBack={() => setMintStep(MintStep.Idle)}\n                  itemAmount={itemAmount}\n                  chainId={modalChain?.id || 1}\n                />\n              </Flex>\n            )}\n\n            {!loading && mintStep === MintStep.Approving && (\n              <Flex direction=\"column\">\n                <Box\n                  css={{\n                    p: '$4',\n                    borderBottom: '1px solid $neutralBorder',\n                  }}\n                >\n                  <PurchaseCheckout\n                    chainId={chainId}\n                    collection={collection}\n                    token={token}\n                    itemCount={itemAmount}\n                    totalPrice={\n                      (paymentCurrency?.currencyTotalRaw || 0n) + feeOnTop\n                    }\n                    currency={paymentCurrency}\n                    usdTotalFormatted={formatUnits(\n                      ((paymentCurrency?.currencyTotalRaw || 0n) + feeOnTop) *\n                        (paymentCurrency?.usdPriceRaw || 0n),\n                      (paymentCurrency?.decimals || 18) + 6\n                    )}\n                  />\n                </Box>\n                <Flex\n                  direction=\"column\"\n                  align=\"center\"\n                  css={{ p: '$4', overflowY: 'auto' }}\n                >\n                  {stepData?.currentStep == undefined ? (\n                    <Flex css={{ py: '$5' }}>\n                      <Loader />\n                    </Flex>\n                  ) : null}\n\n                  {stepData?.currentStep &&\n                  stepData.currentStep.id !== 'auth' &&\n                  stepData.currentStep.id !== 'sale' ? (\n                    <>\n                      <Flex\n                        css={{ color: '$neutralText', py: '$5' }}\n                        direction=\"column\"\n                        justify=\"center\"\n                        align=\"center\"\n                      >\n                        <Text\n                          style=\"h6\"\n                          color=\"base\"\n                          css={{ mb: '$2', textAlign: 'center' }}\n                        >\n                          {stepData.currentStep.action}{' '}\n                          {stepData?.currentStep?.items &&\n                          stepData.currentStep.items.length > 1\n                            ? `(${\n                                stepData.currentStep.items.filter(\n                                  (item) => item.status === 'complete'\n                                ).length\n                              }/${stepData.currentStep.items.length})`\n                            : null}\n                        </Text>\n                        <Text\n                          style=\"subtitle3\"\n                          color=\"subtle\"\n                          css={{ mb: 20, textAlign: 'center' }}\n                        >\n                          {stepData.currentStep.description}\n                        </Text>\n                        <FontAwesomeIcon\n                          icon={faPenNib}\n                          width={32}\n                          height={32}\n                          style={{ height: 32 }}\n                        />\n                      </Flex>\n                      <CurrentStepTxHashes\n                        currentStep={stepData?.currentStep}\n                      />\n                      <Button disabled={true} css={{ mt: '$4', width: '100%' }}>\n                        <Loader />\n                        {copy.mintCtaAwaitingApproval}\n                      </Button>\n                    </>\n                  ) : null}\n\n                  {stepData?.currentStep &&\n                  stepData.currentStep.id === 'auth' ? (\n                    <>\n                      <SigninStep css={{ mt: 48, mb: '$4', gap: 20 }} />\n                      <Button disabled={true} css={{ mt: '$4', width: '100%' }}>\n                        <Loader />\n                        {copy.mintCtaAwaitingApproval}\n                      </Button>\n                    </>\n                  ) : null}\n\n                  {stepData?.currentStep &&\n                  stepData?.currentStep?.id === 'sale' ? (\n                    <>\n                      {stepData?.currentStep?.items &&\n                      stepData?.currentStep?.items.length > 1 ? (\n                        <Flex\n                          direction=\"column\"\n                          css={{ gap: '$4', width: '100%' }}\n                        >\n                          <Text style=\"h6\" css={{ textAlign: 'center' }}>\n                            Approve Purchases\n                          </Text>\n                          <Text style=\"subtitle3\" color=\"subtle\">\n                            The purchase of these items needs to be split into{' '}\n                            {stepData?.currentStep?.items.length} separate\n                            transactions.\n                          </Text>\n                          {stepData?.currentStep?.items.map((item, idx) => (\n                            <ApprovePurchasingCollapsible\n                              key={idx}\n                              item={item}\n                              pathMap={pathMap}\n                              usdPrice={+usdPrice}\n                              chain={currentChain}\n                              open={true}\n                            />\n                          ))}\n                        </Flex>\n                      ) : (\n                        <Flex\n                          direction=\"column\"\n                          align=\"center\"\n                          css={{ gap: '$4', pt: '$4', width: '100%' }}\n                        >\n                          <Text style=\"h6\">\n                            Confirm transaction in your wallet\n                          </Text>\n                          <Box css={{ color: '$neutralText' }}>\n                            <FontAwesomeIcon\n                              icon={faWallet}\n                              style={{\n                                width: '32px',\n                                height: '32px',\n                                margin: '12px 0px',\n                              }}\n                            />\n                          </Box>\n                          <CurrentStepTxHashes\n                            currentStep={stepData?.currentStep}\n                          />\n                          <Button\n                            disabled={true}\n                            css={{ mt: '$4', width: '100%' }}\n                          >\n                            <Loader />\n                            {copy.mintCtaAwaitingApproval}\n                          </Button>\n                        </Flex>\n                      )}\n                    </>\n                  ) : null}\n                </Flex>\n              </Flex>\n            )}\n\n            {!loading && mintStep === MintStep.Finalizing && (\n              <Flex direction=\"column\">\n                <Box\n                  css={{\n                    p: '$4',\n                    borderBottom: '1px solid $neutralBorder',\n                  }}\n                >\n                  <PurchaseCheckout\n                    chainId={chainId}\n                    collection={collection}\n                    token={token}\n                    itemCount={itemAmount}\n                    totalPrice={\n                      (paymentCurrency?.currencyTotalRaw || 0n) + feeOnTop\n                    }\n                    currency={paymentCurrency}\n                    usdTotalFormatted={formatUnits(\n                      ((paymentCurrency?.currencyTotalRaw || 0n) + feeOnTop) *\n                        (paymentCurrency?.usdPriceRaw || 0n),\n                      (paymentCurrency?.decimals || 18) + 6\n                    )}\n                  />\n                </Box>\n                <Flex\n                  direction=\"column\"\n                  align=\"center\"\n                  justify=\"center\"\n                  css={{\n                    gap: '$4',\n                    px: '$4',\n                    py: '$5',\n                  }}\n                >\n                  <Text style=\"h6\">Finalizing on blockchain</Text>\n                  <Text\n                    style=\"subtitle3\"\n                    color=\"subtle\"\n                    css={{ textAlign: 'center' }}\n                  >\n                    You can close this modal while it finalizes on the\n                    blockchain. The transaction will continue in the background.\n                  </Text>\n                  <Box css={{ color: '$neutralSolid' }}>\n                    <FontAwesomeIcon\n                      icon={faCube}\n                      style={{ width: 32, height: 32 }}\n                    />\n                  </Box>\n                </Flex>\n                <CurrentStepTxHashes currentStep={stepData?.currentStep} />\n                <Button disabled={true} css={{ m: '$4' }}>\n                  <Loader />\n                  {copy.mintCtaAwaitingValidation}\n                </Button>\n              </Flex>\n            )}\n\n            {!loading && mintStep === MintStep.Complete && (\n              <Flex\n                direction=\"column\"\n                align=\"center\"\n                css={{ width: '100%', py: '$4' }}\n              >\n                <Flex\n                  direction=\"column\"\n                  align=\"center\"\n                  css={{ py: '$5', gap: 24, maxWidth: '100%' }}\n                >\n                  <Text style=\"h5\" css={{ px: '$5' }}>\n                    Your mint is complete!\n                  </Text>\n                  <MintImages\n                    stepData={stepData}\n                    tokenKind={collection?.contractKind}\n                  />\n                  <Flex align=\"center\" css={{ gap: '$2', px: '$5' }}>\n                    <Box\n                      css={{\n                        color: failedMints ? '$errorAccent' : '$successAccent',\n                      }}\n                    >\n                      <FontAwesomeIcon\n                        icon={failedMints ? faCircleExclamation : faCheckCircle}\n                        fontSize={16}\n                      />\n                    </Box>\n                    <Text style=\"body1\" css={{ textAlign: 'center' }}>\n                      {failedMints\n                        ? `${successfulMints} ${\n                            successfulMints > 1 ? 'items' : 'item'\n                          } minted, ${failedMints} ${\n                            failedMints > 1 ? 'items' : 'item'\n                          } failed`\n                        : `Successfully minted ${successfulMints} ${\n                            successfulMints > 1 ? 'items' : 'item'\n                          }`}\n                      {collection?.name ? (\n                        <>\n                          {' '}\n                          from\n                          <Text style=\"body1\" color=\"accent\">\n                            {' '}\n                            {collection?.name}\n                          </Text>\n                        </>\n                      ) : null}\n                    </Text>\n                  </Flex>\n                  <Flex\n                    direction=\"column\"\n                    css={{ gap: '$2', mb: '$3', px: '$5' }}\n                  >\n                    {stepData?.currentStep?.items?.map((item, itemIndex) => {\n                      if (\n                        Array.isArray(item?.txHashes) &&\n                        item?.txHashes.length > 0\n                      ) {\n                        return item.txHashes.map((hash, txHashIndex) => {\n                          const truncatedTxHash = truncateAddress(hash.txHash)\n                          const blockExplorerBaseUrl = getChainBlockExplorerUrl(\n                            hash.chainId\n                          )\n                          return (\n                            <Anchor\n                              key={`${itemIndex}-${txHashIndex}`}\n                              href={`${blockExplorerBaseUrl}/tx/${hash.txHash}`}\n                              color=\"primary\"\n                              weight=\"medium\"\n                              target=\"_blank\"\n                              css={{ fontSize: 12 }}\n                            >\n                              View transaction: {truncatedTxHash}\n                            </Anchor>\n                          )\n                        })\n                      } else {\n                        return null\n                      }\n                    })}\n                  </Flex>\n                </Flex>\n                <Flex css={{ width: '100%', px: '$4' }}>\n                  {!!onGoToToken ? (\n                    <>\n                      <Button\n                        onClick={() => {\n                          setOpen(false)\n                        }}\n                        css={{ flex: 1 }}\n                        color=\"ghost\"\n                      >\n                        {copy.mintCtaClose}\n                      </Button>\n                      <Button\n                        style={{ flex: 1 }}\n                        color=\"primary\"\n                        onClick={() => {\n                          onGoToToken({\n                            collectionId: collection?.id,\n                            maker: address,\n                            stepData,\n                          })\n                        }}\n                      >\n                        {copy.mintCtaGoToToken.length > 0\n                          ? copy.mintCtaGoToToken\n                          : `View ${successfulMints > 1 ? 'Tokens' : 'Token'}`}\n                      </Button>\n                    </>\n                  ) : (\n                    <Button\n                      css={{ width: '100%' }}\n                      onClick={() => setOpen(false)}\n                    >\n                      {copy.mintCtaClose}\n                    </Button>\n                  )}\n                </Flex>\n              </Flex>\n            )}\n          </Modal>\n        )\n      }}\n    </MintModalRenderer>\n  )\n}\n\nMintModal.Custom = MintModalRenderer\n","import React, {\n  FC,\n  ReactNode,\n  useCallback,\n  useContext,\n  useEffect,\n  useMemo,\n  useState,\n} from 'react'\nimport { Address, WalletClient, formatUnits, zeroAddress } from 'viem'\nimport { useAccount, useConfig, useWalletClient } from 'wagmi'\nimport { getAccount, switchChain } from 'wagmi/actions'\nimport {\n  Execute,\n  LogLevel,\n  MintPath,\n  MintResponses,\n  ReservoirChain,\n  ReservoirClientActions,\n  ReservoirWallet,\n  axios,\n  customChains,\n} from '@reservoir0x/reservoir-sdk'\nimport {\n  useChainCurrency,\n  useCollections,\n  useReservoirClient,\n  useTokens,\n} from '../../hooks'\nimport * as allChains from 'viem/chains'\nimport { ProviderOptionsContext } from '../../ReservoirKitProvider'\nimport usePaymentTokens, {\n  EnhancedCurrency,\n} from '../../hooks/usePaymentTokens'\nimport { useCapabilities } from 'wagmi/experimental'\nimport useRelayChains from '../../hooks/useRelayChains'\n\nexport enum MintStep {\n  Idle,\n  SelectPayment,\n  Approving,\n  Finalizing,\n  Complete,\n}\n\nexport type MintModalStepData = {\n  totalSteps: number\n  stepProgress: number\n  currentStep: Execute['steps'][0]\n  currentStepItem: NonNullable<Execute['steps'][0]['items']>[0]\n  path: Execute['path']\n}\n\ntype MintTokenOptions = Parameters<\n  ReservoirClientActions['mintToken']\n>['0']['options']\n\ntype ChildrenProps = {\n  loading: boolean\n  isFetchingPath: boolean\n  collection?: NonNullable<ReturnType<typeof useCollections>['data']>[0]\n  token?: NonNullable<ReturnType<typeof useTokens>['data']>[0]\n  orders: NonNullable<MintPath>\n  currentChain: ReservoirChain | null | undefined\n  chainCurrency: ReturnType<typeof useChainCurrency>\n  paymentTokens: EnhancedCurrency[]\n  paymentCurrency?: EnhancedCurrency\n  setPaymentCurrency: React.Dispatch<\n    React.SetStateAction<EnhancedCurrency | undefined>\n  >\n  address?: string\n  balance?: bigint\n  totalIncludingFees: bigint\n  mintResponseFees?: MintResponses['fees']\n  feeOnTop: bigint\n  feeUsd: string\n  usdPrice: number\n  usdPriceRaw: bigint\n  isConnected: boolean\n  disableJumperLink?: boolean\n  hasEnoughCurrency: boolean\n  hasAuxiliaryFundsSupport: boolean\n  transactionError: Error | null | undefined\n  fetchMintPathError: Error | null | undefined\n  stepData: MintModalStepData | null\n  addFundsLink: string\n  mintStep: MintStep\n  itemAmount: number\n  setItemAmount: React.Dispatch<React.SetStateAction<number>>\n  maxItemAmount: number\n  setMaxItemAmount: React.Dispatch<React.SetStateAction<number>>\n  setStepData: React.Dispatch<React.SetStateAction<MintModalStepData | null>>\n  setMintStep: React.Dispatch<React.SetStateAction<MintStep>>\n  mintTokens: () => void\n}\n\ntype Props = {\n  open: boolean\n  contract?: string\n  collectionId?: string\n  token?: string\n  onConnectWallet: () => void\n  chainId?: number\n  defaultQuantity?: number\n  feesOnTopBps?: string[] | null\n  feesOnTopUsd?: string[] | null\n  children: (props: ChildrenProps) => ReactNode\n  walletClient?: ReservoirWallet | WalletClient\n}\n\nexport const MintModalRenderer: FC<Props> = ({\n  open,\n  contract,\n  collectionId,\n  token,\n  onConnectWallet,\n  chainId,\n  defaultQuantity,\n  feesOnTopBps,\n  feesOnTopUsd,\n  children,\n  walletClient,\n}) => {\n  const client = useReservoirClient()\n  const config = useConfig()\n  const { address, connector } = useAccount()\n  const [mintStep, setMintStep] = useState<MintStep>(MintStep.Idle)\n  const [stepData, setStepData] = useState<MintModalStepData | null>(null)\n  const [orders, setOrders] = useState<NonNullable<MintPath>>([])\n  const [isFetchingPath, setIsFetchingPath] = useState(false)\n  const [fetchedInitialOrders, setFetchedInitialOrders] = useState(false)\n  const [itemAmount, setItemAmount] = useState<number>(1)\n  const [maxItemAmount, setMaxItemAmount] = useState<number>(1)\n  const [transactionError, setTransactionError] = useState<Error | null>()\n  const [fetchMintPathError, setFetchMintPathError] = useState<Error | null>()\n  const [totalIncludingFees, setTotalIncludingFees] = useState(0n)\n  const [hasEnoughCurrency, setHasEnoughCurrency] = useState(true)\n  const [feeOnTop, setFeeOnTop] = useState(0n)\n  const [mintResponseFees, setMintResponseFees] = useState<\n    MintResponses['fees'] | undefined\n  >(undefined)\n\n  const currentChain = client?.currentChain()\n\n  const rendererChain = chainId\n    ? client?.chains.find(({ id }) => id === chainId) || currentChain\n    : currentChain\n\n  const { data: wagmiWallet } = useWalletClient({ chainId: rendererChain?.id })\n\n  const wallet = walletClient || wagmiWallet\n\n  const chainCurrency = useChainCurrency(rendererChain?.id)\n\n  const wagmiChain: allChains.Chain | undefined = Object.values({\n    ...allChains,\n    ...customChains,\n  }).find(({ id }) => rendererChain?.id === id)\n\n  const providerOptions = useContext(ProviderOptionsContext)\n  const includeListingCurrency =\n    providerOptions.alwaysIncludeListingCurrency !== false\n  const disableJumperLink = providerOptions?.disableJumperLink\n\n  const { data: capabilities } = useCapabilities({\n    query: {\n      enabled:\n        connector &&\n        (connector.id === 'coinbaseWalletSDK' || connector.id === 'coinbase'),\n    },\n  })\n  const hasAuxiliaryFundsSupport = Boolean(\n    rendererChain?.id\n      ? capabilities?.[rendererChain?.id]?.auxiliaryFunds?.supported\n      : false\n  )\n\n  const collectionContract =\n    contract ?? collectionId?.split(':')?.[0] ?? token?.split(':')?.[0]\n  const tokenId = token?.split(':')?.[1]\n\n  const {\n    data: collections,\n    mutate: mutateCollection,\n    isFetchingPage: isFetchingCollections,\n  } = useCollections(\n    open && {\n      contract: collectionId ? undefined : collectionContract,\n      id: collectionId ? collectionId : undefined,\n      includeMintStages: true,\n    },\n    {},\n    rendererChain?.id\n  )\n\n  const collection = collections && collections[0] ? collections[0] : undefined\n  const is1155 = collection?.contractKind === 'erc1155'\n\n  const isSingleToken1155 = is1155 && collection?.tokenCount === '1'\n\n  const { data: tokens } = useTokens(\n    open && collection && (tokenId || isSingleToken1155)\n      ? {\n          collection: isSingleToken1155 ? collection?.id : undefined,\n          tokens: isSingleToken1155\n            ? undefined\n            : `${collectionContract}:${tokenId}`,\n        }\n      : undefined,\n    {},\n    rendererChain?.id\n  )\n\n  const tokenData = tokens && tokens[0] ? tokens[0] : undefined\n\n  const [_paymentCurrency, _setPaymentCurrency] = useState<\n    EnhancedCurrency | undefined\n  >(undefined)\n\n  const paymentKey = useMemo(() => {\n    if (token) {\n      return token\n    } else if (tokenData?.token?.tokenId && collectionContract) {\n      return `${collectionContract}:${tokenData?.token?.tokenId}`\n    } else if (collectionId) {\n      return collectionId\n    } else return collectionContract\n  }, [token, collectionId, , collectionContract, tokenData?.token?.tokenId])\n\n  const paymentTokens = usePaymentTokens({\n    open,\n    address: address as Address,\n    quantityToken: {\n      [`${paymentKey}`]: itemAmount,\n    },\n    path: orders,\n    nativeOnly: true,\n    chainId: rendererChain?.id,\n    crossChainDisabled: false,\n  })\n\n  const paymentCurrency = paymentTokens?.find(\n    (paymentToken) =>\n      paymentToken?.address === _paymentCurrency?.address &&\n      paymentToken?.chainId === _paymentCurrency?.chainId\n  )\n\n  const usdPrice = paymentCurrency?.usdPrice || 0\n  const usdPriceRaw = paymentCurrency?.usdPriceRaw || 0n\n  const feeUsd = formatUnits(\n    feeOnTop * usdPriceRaw,\n    (paymentCurrency?.decimals || 18) + 6\n  )\n\n  // Fetch mint path\n  const fetchMintPath = useCallback(\n    (paymentCurrency: EnhancedCurrency | undefined) => {\n      if (!open || !client) {\n        return\n      }\n\n      setIsFetchingPath(true)\n\n      let options: MintTokenOptions = {\n        partial: true,\n        onlyPath: true,\n        currencyChainId: paymentCurrency?.chainId,\n      }\n\n      if (feesOnTopBps && feesOnTopBps?.length > 0) {\n        const fixedFees = feesOnTopBps.map((fullFee) => {\n          const [referrer] = fullFee.split(':')\n          return `${referrer}:1`\n        })\n        options.feesOnTop = fixedFees\n      } else if (feesOnTopUsd && feesOnTopUsd.length > 0) {\n        const feesOnTopFixed = feesOnTopUsd.map((feeOnTop) => {\n          const [recipient] = feeOnTop.split(':')\n          return `${recipient}:1`\n        })\n        options.feesOnTop = feesOnTopFixed\n      } else if (!feesOnTopUsd && !feesOnTopBps) {\n        delete options.feesOnTop\n      }\n\n      return client?.actions\n        .mintToken({\n          chainId: rendererChain?.id,\n          items: [\n            {\n              collection:\n                token ?? tokenData?.token?.tokenId ? undefined : collection?.id,\n              token:\n                token ?? tokenData?.token?.tokenId\n                  ? `${collectionContract}:${\n                      tokenId ?? tokenData?.token?.tokenId\n                    }`\n                  : undefined,\n            },\n          ],\n          expectedPrice: undefined,\n          options,\n          wallet: {\n            address: async () => {\n              return address || zeroAddress\n            },\n          } as any,\n          precheck: true,\n          onProgress: () => {},\n        })\n        .then((rawData) => {\n          let data = rawData as MintResponses\n\n          if ('path' in data) {\n            let pathData = data['path']\n            setOrders(pathData ?? [])\n\n            if (data.fees) {\n              setMintResponseFees(data.fees)\n            }\n\n            const pathOrderQuantity =\n              pathData?.reduce(\n                (quantity, order) => quantity + (order?.quantity || 1),\n                0\n              ) || 0\n            let totalMaxQuantity = pathOrderQuantity\n            if ('maxQuantities' in data && data.maxQuantities?.[0]) {\n              if (is1155) {\n                totalMaxQuantity = data.maxQuantities.reduce(\n                  (total, currentQuantity) => {\n                    let maxQuantity = 0\n                    if (currentQuantity.maxQuantity === null) {\n                      //Hardcoded to 30k items if unlimited\n                      maxQuantity = 30000\n                    } else if (!currentQuantity.maxQuantity) {\n                      // if value is undefined, we don't know max quantity, but simulation succeeed with quantity of 1\n                      maxQuantity = 1\n                    } else {\n                      maxQuantity = Number(currentQuantity.maxQuantity ?? 0)\n                    }\n                    return total + maxQuantity\n                  },\n                  0\n                )\n              } else {\n                let maxQuantity = data.maxQuantities?.[0].maxQuantity\n                // if value is null/undefined, we don't know max quantity, but simulation succeeed with quantity of 1\n                totalMaxQuantity = maxQuantity ? Number(maxQuantity) : 1\n              }\n            }\n\n            setMaxItemAmount(\n              pathOrderQuantity > totalMaxQuantity\n                ? totalMaxQuantity\n                : pathOrderQuantity\n            )\n          }\n        })\n        .catch((err) => {\n          setOrders([])\n          setFetchMintPathError(err)\n          throw err\n        })\n        .finally(() => {\n          setFetchedInitialOrders(true)\n          setIsFetchingPath(false)\n        })\n    },\n    [\n      open,\n      address,\n      client,\n      wallet,\n      rendererChain,\n      contract,\n      tokenId,\n      collection,\n      token,\n      tokenData?.token?.tokenId,\n      paymentCurrency?.chainId,\n      is1155,\n      feesOnTopBps,\n      feesOnTopUsd,\n    ]\n  )\n\n  useEffect(() => {\n    if (open && (collection || tokenData) && !paymentCurrency) {\n      fetchMintPath(paymentCurrency)\n    }\n  }, [fetchMintPath, open, collection, tokenData, paymentCurrency])\n\n  const setPaymentCurrency: typeof _setPaymentCurrency = useCallback(\n    (\n      value:\n        | EnhancedCurrency\n        | ((\n            prevState: EnhancedCurrency | undefined\n          ) => EnhancedCurrency | undefined)\n        | undefined\n    ) => {\n      if (typeof value === 'function') {\n        _setPaymentCurrency((prevState) => {\n          const newValue = value(prevState)\n          if (\n            newValue?.address !== paymentCurrency?.address ||\n            newValue?.chainId !== paymentCurrency?.chainId\n          ) {\n            fetchMintPath(newValue)?.catch((err) => {\n              if (\n                err?.statusCode === 400 &&\n                err?.message?.includes('Price too high')\n              ) {\n                _setPaymentCurrency(prevState)\n              }\n            })\n          }\n          return newValue\n        })\n      } else {\n        if (\n          value?.address !== paymentCurrency?.address ||\n          value?.chainId !== paymentCurrency?.chainId\n        ) {\n          _setPaymentCurrency(value)\n          fetchMintPath(value)?.catch((err) => {\n            if (\n              err?.statusCode === 400 &&\n              err?.message?.includes('Price too high')\n            ) {\n              _setPaymentCurrency(paymentCurrency)\n            }\n          })\n        }\n      }\n    },\n    [fetchMintPath, _setPaymentCurrency, paymentCurrency]\n  )\n\n  useEffect(() => {\n    let totalFees = 0n\n    if (\n      paymentCurrency?.currencyTotalRaw &&\n      paymentCurrency.currencyTotalRaw > 0n\n    ) {\n      let currencyTotalRawMinusRelayerFees = paymentCurrency?.currencyTotalRaw\n\n      // if there is a relayer fee, subtract from currencyTotalRaw\n      if (mintResponseFees?.relayer?.amount?.raw) {\n        const relayerFees = BigInt(mintResponseFees?.relayer?.amount?.raw ?? 0)\n        currencyTotalRawMinusRelayerFees -= relayerFees\n      }\n\n      if (feesOnTopBps && feesOnTopBps.length > 0) {\n        const fees = feesOnTopBps.reduce((totalFees, feeOnTop) => {\n          const [_, fee] = feeOnTop.split(':')\n          return (\n            totalFees +\n            (BigInt(fee) * currencyTotalRawMinusRelayerFees) / 10000n\n          )\n        }, 0n)\n\n        totalFees += fees\n        setFeeOnTop(fees)\n      } else if (feesOnTopUsd && feesOnTopUsd.length > 0 && usdPriceRaw) {\n        const fees = feesOnTopUsd.reduce((totalFees, feeOnTop) => {\n          const [_, fee] = feeOnTop.split(':')\n          const atomicFee = BigInt(fee)\n          const convertedAtomicFee =\n            atomicFee * BigInt(10 ** paymentCurrency?.decimals!)\n          const currencyFee = convertedAtomicFee / usdPriceRaw\n          return totalFees + currencyFee\n        }, 0n)\n        totalFees += fees\n        setFeeOnTop(fees)\n      } else {\n        setFeeOnTop(0n)\n      }\n      setTotalIncludingFees(paymentCurrency?.currencyTotalRaw + totalFees)\n    } else {\n      setTotalIncludingFees(0n)\n    }\n  }, [\n    feesOnTopBps,\n    feesOnTopUsd,\n    usdPriceRaw,\n    feeOnTop,\n    itemAmount,\n    paymentCurrency,\n    mintResponseFees,\n  ])\n\n  const { relayLink } = useRelayChains(rendererChain?.id)\n\n  let addFundsLink: string = ''\n\n  if (relayLink) {\n    addFundsLink = paymentCurrency?.address\n      ? `${relayLink}?toCurrency=${paymentCurrency?.address}`\n      : relayLink\n  } else {\n    addFundsLink = paymentCurrency?.address\n      ? `https://jumper.exchange/?toChain=${rendererChain?.id}&toToken=${paymentCurrency?.address}`\n      : `https://jumper.exchange/?toChain=${rendererChain?.id}`\n  }\n\n  if (providerOptions?.convertLink?.chainUrl) {\n    addFundsLink =\n      paymentCurrency?.address && providerOptions.convertLink.tokenUrl\n        ? providerOptions.convertLink.tokenUrl\n        : providerOptions.convertLink.chainUrl\n\n    if (rendererChain?.id) {\n      addFundsLink = addFundsLink.replace('{toChain}', `${rendererChain.id}`)\n    }\n    if (paymentCurrency?.address) {\n      addFundsLink = addFundsLink.replace('{toToken}', paymentCurrency?.address)\n    }\n  } else if (providerOptions?.convertLink?.customUrl) {\n    addFundsLink = providerOptions.convertLink.customUrl?.({\n      toChain: rendererChain?.id,\n      toToken: paymentCurrency?.address,\n      toCurrency: paymentCurrency,\n    })\n  }\n\n  // Determine if user has enough funds in paymentToken\n  useEffect(() => {\n    if (\n      paymentCurrency?.balance != undefined &&\n      totalIncludingFees != undefined &&\n      BigInt(paymentCurrency?.balance) < totalIncludingFees\n    ) {\n      setHasEnoughCurrency(false)\n    } else {\n      setHasEnoughCurrency(true)\n    }\n  }, [totalIncludingFees, paymentCurrency?.balance])\n\n  // Set initial payment currency\n  useEffect(() => {\n    if (paymentTokens[0] && !paymentCurrency && fetchedInitialOrders) {\n      if (!includeListingCurrency) {\n        _setPaymentCurrency(paymentTokens[0])\n      } else {\n        _setPaymentCurrency(chainCurrency)\n      }\n    }\n  }, [paymentTokens, paymentCurrency, fetchedInitialOrders])\n\n  // Reset state on close\n  useEffect(() => {\n    if (!open) {\n      setOrders([])\n      setItemAmount(1)\n      setMaxItemAmount(1)\n      setMintStep(MintStep.Idle)\n      setTransactionError(null)\n      setFetchMintPathError(null)\n      setFetchedInitialOrders(false)\n      _setPaymentCurrency(undefined)\n      setStepData(null)\n      setMintResponseFees(undefined)\n    } else {\n      setItemAmount(defaultQuantity || 1)\n    }\n  }, [open])\n\n  open\n    ? (axios.defaults.headers.common['x-rkui-context'] = 'mintModalRenderer')\n    : delete axios.defaults.headers.common?.['x-rkui-context']\n\n  useEffect(() => {\n    if (maxItemAmount > 0 && itemAmount > maxItemAmount) {\n      setItemAmount(maxItemAmount)\n    }\n  }, [maxItemAmount, itemAmount])\n\n  const mintTokens = useCallback(async () => {\n    if (!wallet) {\n      onConnectWallet()\n      if (document.body.style) {\n        document.body.style.pointerEvents = 'auto'\n      }\n      client?.log(['Missing wallet, prompting connection'], LogLevel.Verbose)\n      return\n    }\n\n    let activeWalletChain = getAccount(config).chain\n    if (paymentCurrency?.chainId !== activeWalletChain?.id) {\n      activeWalletChain = await switchChain(config, {\n        chainId: paymentCurrency?.chainId as number,\n      })\n    }\n    if (paymentCurrency?.chainId !== activeWalletChain?.id) {\n      const error = new Error(`Mismatching chainIds`)\n      setTransactionError(error)\n      throw error\n    }\n\n    if (!client) {\n      const error = new Error('ReservoirClient was not initialized')\n      setTransactionError(error)\n      throw error\n    }\n\n    setTransactionError(null)\n    let options: MintTokenOptions = {\n      partial: true,\n      currencyChainId: paymentCurrency?.chainId,\n      skipBalanceCheck: hasAuxiliaryFundsSupport,\n    }\n\n    const relayerFee = BigInt(mintResponseFees?.relayer?.amount?.raw ?? 0)\n\n    if (feesOnTopBps && feesOnTopBps?.length > 0) {\n      const fixedFees = feesOnTopBps.map((fullFee) => {\n        const [referrer, feeBps] = fullFee.split(':')\n\n        let totalFeeTruncated = totalIncludingFees - feeOnTop\n\n        if (relayerFee) {\n          totalFeeTruncated -= relayerFee\n        }\n\n        const fee = Math.floor(\n          Number(totalFeeTruncated * BigInt(feeBps)) / 10000\n        )\n        const atomicUnitsFee = formatUnits(BigInt(fee), 0)\n        return `${referrer}:${atomicUnitsFee}`\n      })\n      options.feesOnTop = fixedFees\n    } else if (feesOnTopUsd && feesOnTopUsd.length > 0 && usdPriceRaw) {\n      const feesOnTopFixed = feesOnTopUsd.map((feeOnTop) => {\n        const [recipient, fee] = feeOnTop.split(':')\n        const atomicFee = BigInt(fee)\n        const convertedAtomicFee =\n          atomicFee * BigInt(10 ** paymentCurrency?.decimals!)\n        const currencyFee = convertedAtomicFee / usdPriceRaw\n        const parsedFee = formatUnits(currencyFee, 0)\n        return `${recipient}:${parsedFee}`\n      })\n      options.feesOnTop = feesOnTopFixed\n    } else if (!feesOnTopUsd && !feesOnTopBps) {\n      delete options.feesOnTop\n    }\n\n    setMintStep(MintStep.Approving)\n\n    client.actions\n      .mintToken({\n        chainId: rendererChain?.id,\n        items: [\n          {\n            collection: tokenData?.token?.tokenId ? undefined : collection?.id,\n            token: tokenData?.token?.tokenId\n              ? `${collectionContract}:${tokenData?.token?.tokenId}`\n              : undefined,\n            quantity: itemAmount,\n          },\n        ],\n        expectedPrice: {\n          [paymentCurrency?.address || zeroAddress]: {\n            raw: totalIncludingFees - relayerFee,\n            currencyAddress: paymentCurrency?.address,\n            currencyDecimals: paymentCurrency?.decimals || 18,\n          },\n        },\n        wallet,\n        options,\n        onProgress: (steps: Execute['steps'], path: Execute['path']) => {\n          if (!steps) {\n            return\n          }\n\n          const executableSteps = steps.filter(\n            (step) => step.items && step.items.length > 0\n          )\n\n          let stepCount = executableSteps.length\n\n          let currentStepItem:\n            | NonNullable<Execute['steps'][0]['items']>[0]\n            | undefined\n\n          const currentStepIndex = executableSteps.findIndex((step) => {\n            currentStepItem = step.items?.find(\n              (item) => item.status === 'incomplete'\n            )\n            return currentStepItem\n          })\n\n          const currentStep =\n            currentStepIndex > -1\n              ? executableSteps[currentStepIndex]\n              : executableSteps[stepCount - 1]\n\n          if (currentStepItem) {\n            setStepData({\n              totalSteps: stepCount,\n              stepProgress: currentStepIndex,\n              currentStep,\n              currentStepItem,\n              path: path,\n            })\n          }\n\n          if (\n            currentStepIndex + 1 === executableSteps.length &&\n            currentStep?.items?.every((item) => item.txHashes)\n          ) {\n            setMintStep(MintStep.Finalizing)\n          }\n\n          if (\n            steps.every(\n              (step) =>\n                !step.items ||\n                step.items.length == 0 ||\n                step.items?.every((item) => item.status === 'complete')\n            )\n          ) {\n            setMintStep(MintStep.Complete)\n          }\n        },\n      })\n      .catch((error: Error) => {\n        setTransactionError(error)\n        setMintStep(MintStep.Idle)\n        mutateCollection()\n        fetchMintPath(paymentCurrency)\n      })\n  }, [\n    client,\n    wallet,\n    config,\n    address,\n    wagmiChain,\n    rendererChain,\n    contract,\n    token,\n    feesOnTopBps,\n    onConnectWallet,\n    feesOnTopUsd,\n    itemAmount,\n    paymentCurrency?.address,\n    paymentCurrency?.chainId,\n    paymentCurrency?.currencyTotalRaw,\n    totalIncludingFees,\n    tokenData?.token?.tokenId,\n    collection?.id,\n    collectionContract,\n    mintResponseFees,\n    usdPriceRaw,\n    hasAuxiliaryFundsSupport,\n  ])\n\n  return (\n    <>\n      {children({\n        loading:\n          isFetchingCollections ||\n          (!isFetchingCollections && collection && !fetchedInitialOrders) ||\n          ((token !== undefined || isSingleToken1155) && !tokenData) ||\n          !(paymentTokens.length > 0),\n        isFetchingPath,\n        collection,\n        token: tokenData,\n        orders,\n        totalIncludingFees,\n        mintResponseFees,\n        feeOnTop,\n        feeUsd,\n        paymentTokens,\n        paymentCurrency,\n        setPaymentCurrency,\n        addFundsLink,\n        chainCurrency,\n        itemAmount,\n        setItemAmount,\n        maxItemAmount,\n        setMaxItemAmount,\n        usdPrice,\n        usdPriceRaw,\n        currentChain,\n        address,\n        isConnected: wallet !== undefined,\n        disableJumperLink,\n        balance: paymentCurrency?.balance\n          ? BigInt(paymentCurrency.balance)\n          : undefined,\n        hasEnoughCurrency,\n        hasAuxiliaryFundsSupport,\n        transactionError,\n        fetchMintPathError,\n        stepData,\n        mintStep,\n        setStepData,\n        setMintStep,\n        mintTokens,\n      })}\n    </>\n  )\n}\n","import React, { FC } from 'react'\nimport { Execute } from '@reservoir0x/reservoir-sdk'\nimport { truncateAddress } from '../lib/truncate'\nimport getChainBlockExplorerUrl from '../lib/getChainBlockExplorerUrl'\nimport { Anchor, Flex } from '../primitives'\nimport { CSS } from '@stitches/react'\n\ntype CurrentStepTxHashesProps = {\n  currentStep?: Execute['steps'][0]\n  css?: CSS\n}\n\nexport const CurrentStepTxHashes: FC<CurrentStepTxHashesProps> = ({\n  currentStep,\n  css,\n}) => {\n  const hasValidTxHashes = currentStep?.items?.some(\n    (item) =>\n      (Array.isArray(item?.txHashes) && item.txHashes.length > 0) ||\n      (Array.isArray(item?.internalTxHashes) &&\n        item.internalTxHashes.length > 0)\n  )\n\n  // Return null if there are no valid txHashes or internalTxHashes\n  if (!hasValidTxHashes) {\n    return null\n  }\n  return (\n    <Flex\n      direction=\"column\"\n      align=\"center\"\n      css={{ width: '100%', gap: '$2', mb: '$3', px: '$5', ...css }}\n    >\n      {currentStep?.items?.map((item, itemIndex) => {\n        // Check if txHashes and internalTxHashes arrays are valid and merge them\n        const validTxHashes =\n          Array.isArray(item?.txHashes) && item?.txHashes.length > 0\n            ? item.txHashes\n            : []\n        const validInternalTxHashes =\n          Array.isArray(item?.internalTxHashes) &&\n          item?.internalTxHashes.length > 0\n            ? item.internalTxHashes\n            : []\n        const allTxHashes = [...validTxHashes, ...validInternalTxHashes]\n        if (allTxHashes?.length > 0) {\n          return allTxHashes?.map((hash, txHashIndex) => {\n            const truncatedTxHash = truncateAddress(hash.txHash)\n            const blockExplorerBaseUrl = getChainBlockExplorerUrl(hash.chainId)\n            return (\n              <Anchor\n                key={`${itemIndex}-${txHashIndex}`}\n                href={`${blockExplorerBaseUrl}/tx/${hash.txHash}`}\n                color=\"primary\"\n                weight=\"medium\"\n                target=\"_blank\"\n                css={{ fontSize: 12 }}\n              >\n                View transaction: {truncatedTxHash}\n              </Anchor>\n            )\n          })\n        } else {\n          return null\n        }\n      })}\n    </Flex>\n  )\n}\n","import React, { FC, useEffect, useState } from 'react'\nimport { TokenCheckout } from './TokenCheckout'\nimport { Execute, ReservoirChain } from '@reservoir0x/reservoir-sdk'\nimport { ApproveCollapsible } from './ApproveCollapisble'\nimport { Flex } from '../primitives'\n\ntype Props = {\n  title?: string\n  item: NonNullable<Execute['steps'][0]['items']>[0]\n  pathMap: Record<string, NonNullable<Execute['path']>[0]>\n  usdPrice: number\n  chain?: ReservoirChain | null\n  open?: boolean\n}\n\nexport const ApprovePurchasingCollapsible: FC<Props> = ({\n  item,\n  pathMap,\n  usdPrice,\n  chain,\n  open,\n}) => {\n  const [collapsibleOpen, setCollapsibleOpen] = useState(false)\n\n  const isComplete = item && item?.status == 'complete'\n  const itemCount = item?.orderIds?.length || 1\n\n  function processOrders(orderIds: string[]) {\n    let totalPrice = 0\n    let images: string[] = []\n\n    orderIds.forEach((orderId: string) => {\n      const path = pathMap[orderId]\n\n      if (path) {\n        let imageRedirect = `${chain?.baseApiUrl}/redirect/tokens/${path.contract}:${path.tokenId}/image/v1?imageSize=small`\n        images.push(imageRedirect)\n        totalPrice += path.quote || 0\n      }\n    })\n\n    images = images.slice(0, 2)\n\n    return { totalPrice, images }\n  }\n\n  const { totalPrice, images } = processOrders(item?.orderIds as string[])\n\n  useEffect(() => {\n    if (open !== undefined && open !== collapsibleOpen) {\n      setCollapsibleOpen(open)\n    }\n  }, [open])\n\n  return (\n    <ApproveCollapsible\n      title={'Approve transaction'}\n      open={collapsibleOpen}\n      onOpenChange={setCollapsibleOpen}\n      isComplete={isComplete}\n    >\n      <Flex\n        justify=\"between\"\n        align=\"center\"\n        css={{\n          px: '$4',\n          pb: '$2',\n        }}\n      >\n        <TokenCheckout\n          usdPrice={usdPrice}\n          itemCount={itemCount}\n          totalPrice={totalPrice}\n          images={images}\n          size={0}\n        />\n      </Flex>\n    </ApproveCollapsible>\n  )\n}\n","import { ReservoirChain } from '@reservoir0x/reservoir-sdk'\nimport React, { FC } from 'react'\nimport { Cart } from '../context/CartProvider'\nimport {\n  Flex,\n  FormatCryptoCurrency,\n  FormatCurrency,\n  Img,\n  Text,\n} from '../primitives'\n\nenum Size {\n  SM,\n  LG,\n}\n\ntype Props = {\n  itemCount: number\n  images: string[]\n  totalPrice: number\n  usdPrice: number\n  currency?: NonNullable<Cart['items'][0]['price']>['currency']\n  chain?: ReservoirChain | null\n  size?: Size\n}\n\nexport const TokenCheckout: FC<Props> = ({\n  itemCount,\n  images,\n  totalPrice,\n  usdPrice,\n  currency,\n  chain,\n  size = Size.LG,\n}) => {\n  const itemSubject = itemCount > 1 ? 'items' : 'item'\n  return (\n    <Flex justify=\"between\" align=\"center\" css={{ width: '100%' }}>\n      <Flex align=\"center\" css={{ gap: size == Size.SM ? '$3' : '$4' }}>\n        <Flex>\n          {images.map((image) => (\n            <Img\n              src={image}\n              key={image}\n              css={{\n                borderRadius: 4,\n                objectFit: 'cover',\n                height: size == Size.SM ? 40 : 56,\n                width: size == Size.SM ? 40 : 56,\n                '& + img, & + div': {\n                  marginLeft: size == Size.SM ? -32 : -48,\n                  zIndex: -1,\n                },\n              }}\n            />\n          ))}\n        </Flex>\n        <Text style={size == Size.SM ? 'subtitle3' : 'h6'}>\n          {itemCount} {itemSubject}\n        </Text>\n      </Flex>\n      <Flex direction=\"column\" align=\"end\" css={{ gap: '$1' }}>\n        <FormatCryptoCurrency\n          textStyle={size == Size.SM ? 'subtitle3' : 'h6'}\n          amount={totalPrice}\n          address={currency?.contract}\n          decimals={currency?.decimals}\n          symbol={currency?.symbol}\n          logoWidth={size == Size.SM ? 12 : 18}\n          chainId={chain?.id}\n        />\n        {usdPrice ? (\n          <FormatCurrency\n            amount={usdPrice * totalPrice}\n            style=\"subtitle3\"\n            color=\"subtle\"\n            css={{ textAlign: 'end' }}\n          />\n        ) : null}\n      </Flex>\n    </Flex>\n  )\n}\n","import React, { FC, useMemo } from 'react'\nimport { Box, Flex, Text } from '../../primitives'\nimport TokenMedia from '../../components/TokenMedia'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faImage } from '@fortawesome/free-solid-svg-icons/faImage'\nimport { useTokens } from '../../hooks'\nimport { MintModalStepData } from './MintModalRenderer'\n\ntype Props = {\n  stepData: MintModalStepData | null\n  tokenKind: NonNullable<\n    NonNullable<NonNullable<ReturnType<typeof useTokens>['data']>['0']>['token']\n  >['kind']\n}\n\nexport const MintImages: FC<Props> = ({ stepData, tokenKind }) => {\n  const totalTransfersDataLength = useMemo(() => {\n    return (\n      stepData?.currentStep?.items?.reduce((total, item) => {\n        return total + (item?.transfersData?.length || 0)\n      }, 0) ?? 0\n    )\n  }, [stepData?.currentStep?.items])\n\n  return (\n    <Flex css={{ width: '100%', overflow: 'hidden', position: 'relative' }}>\n      <Box\n        css={{\n          position: 'absolute',\n          top: 0,\n          bottom: 0,\n          left: 0,\n          zIndex: 2,\n          width: '32px',\n          background:\n            'linear-gradient(-90deg, rgba(255, 255, 255, 0) 0%, $neutralBgSubtle 50%)',\n        }}\n      />\n      <Flex\n        align=\"center\"\n        css={{\n          width: '100%',\n          overflowX: totalTransfersDataLength > 3 ? 'scroll' : 'auto',\n          gap: '$2',\n          px: '$5',\n          pb: 10,\n          position: 'relative',\n          justifyContent:\n            totalTransfersDataLength > 3 ? 'flex-start' : 'center',\n        }}\n      >\n        {stepData?.currentStep?.items?.map((item, itemIndex) => (\n          <React.Fragment key={`item-${itemIndex}`}>\n            {item?.transfersData?.map((mint, mintIndex) => {\n              if (mint?.token?.tokenId && mint?.token?.contract)\n                return (\n                  <Flex\n                    direction=\"column\"\n                    align=\"center\"\n                    key={`mint-${mintIndex}`}\n                    css={{ gap: '$2' }}\n                  >\n                    <TokenMedia\n                      token={{\n                        tokenId: mint?.token?.tokenId,\n                        collection: {\n                          id: mint?.token?.contract,\n                        },\n                        kind: tokenKind,\n                      }}\n                      fallbackMode=\"simple\"\n                      style={{ width: 100, height: 100 }}\n                      fallback={() => (\n                        <Flex\n                          css={{\n                            borderRadius: 4,\n                            objectFit: 'cover',\n                            height: 100,\n                            width: 100,\n                            background: '$neutralBgActive',\n                          }}\n                          justify=\"center\"\n                          align=\"center\"\n                        >\n                          <FontAwesomeIcon icon={faImage} size=\"2x\" />\n                        </Flex>\n                      )}\n                    />\n                    <Text style=\"subtitle3\">#{mint?.token?.tokenId}</Text>\n                  </Flex>\n                )\n            })}\n          </React.Fragment>\n        ))}\n      </Flex>\n      <Box\n        css={{\n          position: 'absolute',\n          top: 0,\n          bottom: 0,\n          right: 0,\n          zIndex: 2,\n          width: '32px',\n          background:\n            'linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, $neutralBgSubtle 50%)',\n        }}\n      />\n    </Flex>\n  )\n}\n","import React, {\n  CSSProperties,\n  FC,\n  ReactElement,\n  SyntheticEvent,\n  useContext,\n  useState,\n  useRef,\n  LegacyRef,\n  VideoHTMLAttributes,\n  AudioHTMLAttributes,\n  IframeHTMLAttributes,\n  useEffect,\n  ComponentPropsWithoutRef,\n} from 'react'\nimport { useTokens } from '../../hooks'\nimport { useModelViewer } from '../../hooks'\nimport { ThemeContext } from '../../ReservoirKitProvider'\nimport { Box, Loader } from '../../primitives'\nimport MediaPlayButton from './MediaPlayButton'\nimport { useMeasure } from '@react-hookz/web'\nimport TokenFallback from './TokenFallback'\nimport { useReadContract } from 'wagmi'\nimport { convertTokenUriToImage } from '../../lib/processTokenURI'\nimport { erc1155ABI } from '../../constants/abis'\nimport { Address, erc721Abi } from 'viem'\n\ntype MediaType =\n  | 'mp4'\n  | 'mp3'\n  | 'wav'\n  | 'm4a'\n  | 'mov'\n  | 'gltf'\n  | 'glb'\n  | 'png'\n  | 'jpeg'\n  | 'jpg'\n  | 'svg'\n  | 'gif'\n  | 'html'\n  | 'other'\n  | undefined\n\nexport const extractMediaType = (tokenMedia?: string): MediaType | null => {\n  let extension: string | null = null\n  if (tokenMedia) {\n    const pieces = tokenMedia.split('/')\n    const file =\n      pieces && pieces[pieces.length - 1] ? pieces[pieces.length - 1] : null\n    const matches = file ? file.match('(\\\\.[^.]+)$') : null\n    extension = matches && matches[0] ? matches[0].replace('.', '') : null\n  }\n  return (extension as MediaType) ? (extension as MediaType) : null\n}\n\nconst normalizeContentType = (contentType?: string) => {\n  if (contentType?.includes('video/')) {\n    return contentType.replace('video/', '')\n  }\n  if (contentType?.includes('audio/')) {\n    return contentType.replace('audio/', '')\n  }\n  if (contentType?.includes('image/svg+xml')) {\n    return 'svg'\n  }\n  if (contentType?.includes('image/')) {\n    return contentType.replace('image/', '')\n  }\n  if (contentType?.includes('text/')) {\n    return contentType.replace('text/', '')\n  }\n  return null\n}\n\ntype Token = NonNullable<\n  NonNullable<ReturnType<typeof useTokens>['data']>['0']\n>['token']\n\ntype RequiredTokenProps = Pick<\n  NonNullable<Token>,\n  | 'image'\n  | 'media'\n  | 'collection'\n  | 'tokenId'\n  | 'imageSmall'\n  | 'imageLarge'\n  | 'kind'\n>\n\ntype Props = {\n  token?: RequiredTokenProps\n  staticOnly?: boolean\n  imageResolution?: 'small' | 'medium' | 'large'\n  style?: CSSProperties\n  className?: string\n  modelViewerOptions?: any\n  videoOptions?: VideoHTMLAttributes<HTMLVideoElement>\n  audioOptions?: AudioHTMLAttributes<HTMLAudioElement>\n  iframeOptions?: IframeHTMLAttributes<HTMLIFrameElement>\n  disableOnChainRendering?: boolean\n  chainId?: number\n  fallbackMode?: ComponentPropsWithoutRef<typeof TokenFallback>['mode']\n  fallback?: (mediaType: MediaType | null) => ReactElement | null\n  onError?: (e: Event) => void\n  onRefreshToken?: () => void\n}\n\nconst TokenMedia: FC<Props> = ({\n  token,\n  staticOnly,\n  imageResolution,\n  style,\n  className,\n  modelViewerOptions = {},\n  videoOptions = {},\n  audioOptions = {},\n  iframeOptions = {},\n  disableOnChainRendering,\n  chainId,\n  fallbackMode,\n  fallback,\n  onError = () => {},\n  onRefreshToken = () => {},\n}) => {\n  const [detectingMediaType, setDetectingMediaType] = useState(false)\n  const [mediaType, setMediaType] = useState<MediaType | null>(null)\n  const mediaRef = useRef<HTMLAudioElement | HTMLVideoElement>(null)\n  const themeContext = useContext(ThemeContext)\n  let borderRadius: string = themeContext?.radii?.borderRadius?.value || '0'\n  const [error, setError] = useState<SyntheticEvent | Event | null>(null)\n  const media = token?.media\n  const tokenImage = (() => {\n    switch (imageResolution) {\n      case 'small':\n        return token?.imageSmall\n      case 'large':\n        return token?.imageLarge\n      case 'medium':\n      default:\n        return token?.image\n    }\n  })()\n  useEffect(() => {\n    setDetectingMediaType(true)\n    let abort = false\n    let type = extractMediaType(token?.media)\n\n    if (!type && token?.media) {\n      async function getContentType(tokenMedia: string) {\n        const response = await fetch(tokenMedia)\n        return response.headers.get('content-type')\n      }\n      getContentType(token.media)\n        .then((contentType) => {\n          if (contentType && !abort) {\n            const normalizedContentType = normalizeContentType(contentType)\n            type = extractMediaType(`.${normalizedContentType}`)\n            setMediaType(type)\n          }\n        })\n        .finally(() => {\n          setDetectingMediaType(false)\n        })\n    } else {\n      setMediaType(type)\n      setDetectingMediaType(false)\n    }\n    return () => {\n      abort = true\n      setDetectingMediaType(false)\n    }\n  }, [token?.media])\n\n  const defaultStyle: CSSProperties = {\n    width: '150px',\n    height: '150px',\n    objectFit: 'cover',\n    borderRadius,\n    position: 'relative',\n  }\n  const computedStyle = {\n    ...defaultStyle,\n    ...style,\n  }\n\n  useModelViewer(\n    !staticOnly && mediaType && (mediaType === 'gltf' || mediaType === 'glb')\n      ? true\n      : false\n  )\n\n  const [measurements, containerRef] = useMeasure<HTMLDivElement>()\n  const isContainerLarge = (measurements?.width || 0) >= 360\n\n  const contract = token?.collection?.id?.split(':')[0] as Address\n\n  const [onChainImage, setOnChainImage] = useState('')\n  const [onChainImageBroken, setOnChainImageBroken] = useState(false)\n  const [isUpdatingOnChainImage, setIsUpdatingOnChainImage] = useState(false)\n\n  const is1155 = token?.kind === 'erc1155'\n\n  const {\n    data: tokenURI,\n    isLoading: isFetchingTokenURI,\n    isError: fetchTokenURIError,\n  } = useReadContract(\n    // @ts-ignore\n    !disableOnChainRendering && (error || (!media && !tokenImage))\n      ? {\n          address: contract,\n          abi: is1155 ? erc1155ABI : erc721Abi,\n          functionName: is1155 ? 'uri' : 'tokenURI',\n          args: token?.tokenId ? [BigInt(token?.tokenId)] : undefined,\n          chainId: chainId,\n        }\n      : undefined\n  )\n\n  useEffect(() => {\n    if (tokenURI) {\n      setIsUpdatingOnChainImage(true)\n      ;(async () => {\n        const updatedOnChainImage = await convertTokenUriToImage(tokenURI)\n        setOnChainImage(updatedOnChainImage)\n      })().then(() => {\n        setIsUpdatingOnChainImage(false)\n      })\n    }\n  }, [tokenURI])\n\n  useEffect(() => {\n    if (mediaRef && mediaRef.current) {\n      mediaRef.current.load()\n    }\n  }, [media])\n\n  if (!token && !staticOnly) {\n    console.warn('A token object or a media url are required!')\n    return null\n  }\n\n  if (detectingMediaType) {\n    return <Loader style={{ ...computedStyle }} />\n  }\n\n  if (error || (!media && !tokenImage)) {\n    if (\n      !disableOnChainRendering &&\n      !onChainImageBroken &&\n      !fetchTokenURIError\n    ) {\n      return (\n        <>\n          {isFetchingTokenURI || isUpdatingOnChainImage ? (\n            <Loader style={{ ...computedStyle }} />\n          ) : (\n            <img\n              src={onChainImage}\n              style={{ ...computedStyle }}\n              alt=\"Token Image\"\n              onError={(e: React.SyntheticEvent<HTMLImageElement, Event>) => {\n                setOnChainImageBroken(true)\n              }}\n            />\n          )}\n        </>\n      )\n    }\n\n    let fallbackElement: ReactElement | null | undefined\n    if (fallback) {\n      fallbackElement = fallback(mediaType)\n    }\n    if (!fallbackElement) {\n      fallbackElement = (\n        <TokenFallback\n          style={style}\n          className={className}\n          token={token}\n          mode={fallbackMode}\n          onRefreshClicked={onRefreshToken}\n        />\n      )\n    }\n    return fallbackElement\n  }\n\n  const onErrorCb = (e: SyntheticEvent) => {\n    setError(e)\n    onError(e.nativeEvent)\n  }\n\n  if (staticOnly || !media) {\n    return (\n      <img\n        alt=\"Token Image\"\n        src={tokenImage}\n        style={{\n          ...computedStyle,\n          visibility:\n            !tokenImage || tokenImage.length === 0 ? 'hidden' : 'visible',\n        }}\n        className={className}\n        onError={onErrorCb}\n      />\n    )\n  }\n\n  // VIDEO\n  if (mediaType === 'mp4' || mediaType === 'mov') {\n    return (\n      <Box className={className} style={computedStyle} ref={containerRef}>\n        {!isContainerLarge && <MediaPlayButton mediaRef={mediaRef} />}\n        <video\n          style={computedStyle}\n          className={className}\n          poster={tokenImage}\n          {...videoOptions}\n          controls={isContainerLarge}\n          loop\n          playsInline\n          onError={onErrorCb}\n          ref={mediaRef as LegacyRef<HTMLVideoElement>}\n        >\n          <source src={media} type=\"video/mp4\" />\n          Your browser does not support the\n          <code>video</code> element.\n        </video>\n      </Box>\n    )\n  }\n\n  // AUDIO\n  if (mediaType === 'wav' || mediaType === 'mp3' || mediaType === 'm4a') {\n    return (\n      <Box className={className} style={computedStyle} ref={containerRef}>\n        {!isContainerLarge && <MediaPlayButton mediaRef={mediaRef} />}\n        <img\n          alt=\"Audio Poster\"\n          src={tokenImage}\n          style={{\n            position: 'absolute',\n            height: '100%',\n            width: '100%',\n            visibility:\n              !tokenImage || tokenImage.length === 0 ? 'hidden' : 'visible',\n            objectFit: 'cover',\n          }}\n          onError={onErrorCb}\n        />\n        <audio\n          src={media}\n          {...audioOptions}\n          onError={onErrorCb}\n          ref={mediaRef}\n          controls={isContainerLarge}\n          style={{\n            position: 'absolute',\n            bottom: 16,\n            left: 16,\n            width: 'calc(100% - 32px)',\n          }}\n        >\n          Your browser does not support the\n          <code>audio</code> element.\n        </audio>\n      </Box>\n    )\n  }\n\n  // 3D\n  if (mediaType === 'gltf' || mediaType === 'glb') {\n    return (\n      //@ts-ignore\n      <model-viewer\n        src={media}\n        ar\n        ar-modes=\"webxr scene-viewer quick-look\"\n        poster={tokenImage}\n        seamless-poster\n        shadow-intensity=\"1\"\n        camera-controls\n        enable-pan\n        {...modelViewerOptions}\n        style={computedStyle}\n        className={className}\n        onError={onErrorCb}\n        //@ts-ignore\n      ></model-viewer>\n    )\n  }\n\n  //Image\n  if (\n    mediaType === 'png' ||\n    mediaType === 'jpeg' ||\n    mediaType === 'jpg' ||\n    mediaType === 'gif'\n  ) {\n    return (\n      <img\n        alt=\"Token Image\"\n        src={media}\n        className={className}\n        style={{\n          ...computedStyle,\n          visibility: !media || media.length === 0 ? 'hidden' : 'visible',\n        }}\n        onError={onErrorCb}\n      />\n    )\n  }\n\n  // HTML\n  if (\n    mediaType === 'html' ||\n    mediaType === null ||\n    mediaType === undefined ||\n    mediaType === 'other' ||\n    mediaType === 'svg'\n  ) {\n    return (\n      <iframe\n        style={computedStyle}\n        className={className}\n        src={media}\n        sandbox=\"allow-scripts\"\n        frameBorder=\"0\"\n        {...iframeOptions}\n      ></iframe>\n    )\n  }\n\n  return (\n    <img\n      alt=\"Token Image\"\n      src={tokenImage}\n      style={{\n        ...computedStyle,\n        visibility:\n          !tokenImage || tokenImage.length === 0 ? 'hidden' : 'visible',\n      }}\n      className={className}\n      onError={onErrorCb}\n    />\n  )\n}\n\nexport default TokenMedia\n","import { useEffect } from 'react'\n\nlet modelViewerInjected = false\n\nconst importScript = (src: string) => {\n  if (document) {\n    const script = document.createElement('script')\n    script.async = true\n    script.src = src\n    script.type = 'module'\n    document.body.appendChild(script)\n  }\n}\n\nconst useModelViewer = (enabled: boolean) => {\n  useEffect(() => {\n    if (enabled && !modelViewerInjected) {\n      modelViewerInjected = true\n      importScript(\n        'https://unpkg.com/@google/model-viewer/dist/model-viewer.min.js'\n      )\n    }\n  }, [enabled])\n}\n\nexport default useModelViewer\n","import React, { FC, useState, useEffect, RefObject } from 'react'\nimport { Button } from '../../primitives'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faPlay } from '@fortawesome/free-solid-svg-icons/faPlay'\nimport { faPause } from '@fortawesome/free-solid-svg-icons/faPause'\n\ntype MediaPlayButtonProps = {\n  mediaRef: RefObject<HTMLAudioElement> | RefObject<HTMLVideoElement>\n}\n\nconst MediaPlayButton: FC<MediaPlayButtonProps> = ({ mediaRef }) => {\n  const [playing, setPlaying] = useState(false)\n\n  useEffect(() => {\n    if (mediaRef.current) {\n      mediaRef.current.onplaying = () => {\n        setPlaying(true)\n      }\n      mediaRef.current.onpause = () => {\n        setPlaying(false)\n      }\n    }\n    return () => {\n      if (mediaRef.current) {\n        mediaRef.current.onplaying = null\n        mediaRef.current.onpause = null\n      }\n    }\n  }, [mediaRef])\n\n  return (\n    <Button\n      css={{\n        zIndex: 5,\n        position: 'absolute',\n        right: 16,\n        bottom: 16,\n        backdropFilter: 'blur(2px)',\n        background: 'rgba(105, 113, 119, 0.5)',\n        width: 48,\n        height: 48,\n        borderRadius: '50%',\n        cursor: 'pointer',\n        display: 'flex',\n        justifyContent: 'center',\n        alignItems: 'center',\n        padding: 0,\n        '&:hover': {\n          background: 'rgba(105, 113, 119, 0.7)',\n        },\n      }}\n      onClick={(e) => {\n        e.preventDefault()\n        if (mediaRef.current) {\n          if (mediaRef.current.paused) {\n            mediaRef.current.play()\n          } else {\n            mediaRef.current.pause()\n          }\n        }\n      }}\n    >\n      <FontAwesomeIcon\n        icon={playing ? faPause : faPlay}\n        width={24}\n        height={24}\n      />\n    </Button>\n  )\n}\n\nexport default MediaPlayButton\n","import React, { FC, ComponentPropsWithoutRef, CSSProperties } from 'react'\nimport { Button, Flex, Text } from '../../primitives'\nimport TokenMedia from './index'\nimport { defaultHeaders } from '../../lib/swr'\nimport { useReservoirClient } from '../../hooks'\nimport { axios, paths } from '@reservoir0x/reservoir-sdk'\nimport { faImage } from '@fortawesome/free-solid-svg-icons/faImage'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\n\ntype TokenFallbackProps = {\n  mode?: 'default' | 'simple'\n  style?: CSSProperties\n  className?: string\n  token: ComponentPropsWithoutRef<typeof TokenMedia>['token']\n  chainId?: number\n  onRefreshClicked: () => void\n}\n\nconst TokenFallback: FC<TokenFallbackProps> = ({\n  mode,\n  style,\n  className,\n  token,\n  chainId,\n  onRefreshClicked,\n}) => {\n  const client = useReservoirClient()\n  const reservoirChain = chainId\n    ? client?.chains.find((chain) => chain.id === chainId)\n    : client?.currentChain()\n\n  const contract = token?.collection?.id\n    ? token?.collection.id?.split(':')[0]\n    : undefined\n\n  return (\n    <Flex\n      justify=\"center\"\n      align=\"center\"\n      direction=\"column\"\n      css={{ gap: '$2', aspectRatio: '1/1', p: '$2', ...style }}\n      className={className}\n    >\n      {mode === 'simple' || !token?.collection?.id ? (\n        <FontAwesomeIcon icon={faImage} style={{ height: '50%' }} />\n      ) : (\n        <>\n          {token?.collection?.image && (\n            <img\n              style={{\n                width: 64,\n                height: 64,\n                objectFit: 'cover',\n                borderRadius: 8,\n              }}\n              src={token?.collection?.image}\n            />\n          )}\n          <Text style=\"body2\" css={{ textAlign: 'center' }}>\n            No Content Available\n          </Text>\n          <Button\n            color=\"secondary\"\n            onClick={(e) => {\n              e.preventDefault()\n              if (!reservoirChain) {\n                throw 'ReservoirClient missing chain configuration'\n              }\n              onRefreshClicked()\n              const url = `${reservoirChain?.baseApiUrl}/tokens/refresh/v2`\n              const body: paths['/tokens/refresh/v2']['post']['parameters']['body']['body'] =\n                {\n                  tokens: [`${contract}:${token?.tokenId}`],\n                }\n              const headers = {\n                ...defaultHeaders(client?.apiKey, client?.version),\n                'Content-Type': 'application/json',\n              }\n              axios(url, {\n                headers,\n                method: 'POST',\n                data: JSON.stringify(body),\n              })\n                .then((res) => res.data)\n                .catch((e) => {\n                  throw e\n                })\n            }}\n          >\n            Refresh\n          </Button>\n        </>\n      )}\n    </Flex>\n  )\n}\n\nexport default TokenFallback\n","import { axios } from '@reservoir0x/reservoir-sdk'\n\nconst gatewayConfig = {\n  'ipfs://': 'https://ipfs.io/ipfs/',\n  'ar://': 'https://arweave.net/',\n}\n\nconst convertToGatewayUrl = (url: string) => {\n  for (const [protocol, gateway] of Object.entries(gatewayConfig)) {\n    if (url.includes(protocol)) {\n      return url.replace(protocol, gateway)\n    }\n  }\n  return url\n}\n\nconst fetchUri = async (uri: string) => {\n  const response = await axios(convertToGatewayUrl(uri), {\n    method: 'GET',\n  })\n\n  if (!(response.status >= 200 && response.status < 300)) {\n    throw new Error('Failed to fetch URI')\n  }\n\n  return response.data\n}\n\nexport const convertTokenUriToImage = async (uri: string): Promise<string> => {\n  try {\n    const json = await fetchUri(uri)\n\n    if (json.image) {\n      const image = convertToGatewayUrl(json.image)\n      return image\n    }\n\n    return ''\n  } catch (e) {\n    console.error(e)\n    return ''\n  }\n}\n","export const erc1155ABI = [\n  {\n    anonymous: false,\n    inputs: [\n      {\n        indexed: true,\n        internalType: 'address',\n        name: 'account',\n        type: 'address',\n      },\n      {\n        indexed: true,\n        internalType: 'address',\n        name: 'operator',\n        type: 'address',\n      },\n      {\n        indexed: false,\n        internalType: 'bool',\n        name: 'approved',\n        type: 'bool',\n      },\n    ],\n    name: 'ApprovalForAll',\n    type: 'event',\n  },\n  {\n    anonymous: false,\n    inputs: [\n      {\n        indexed: true,\n        internalType: 'address',\n        name: 'operator',\n        type: 'address',\n      },\n      {\n        indexed: true,\n        internalType: 'address',\n        name: 'from',\n        type: 'address',\n      },\n      {\n        indexed: true,\n        internalType: 'address',\n        name: 'to',\n        type: 'address',\n      },\n      {\n        indexed: false,\n        internalType: 'uint256[]',\n        name: 'ids',\n        type: 'uint256[]',\n      },\n      {\n        indexed: false,\n        internalType: 'uint256[]',\n        name: 'values',\n        type: 'uint256[]',\n      },\n    ],\n    name: 'TransferBatch',\n    type: 'event',\n  },\n  {\n    anonymous: false,\n    inputs: [\n      {\n        indexed: true,\n        internalType: 'address',\n        name: 'operator',\n        type: 'address',\n      },\n      {\n        indexed: true,\n        internalType: 'address',\n        name: 'from',\n        type: 'address',\n      },\n      {\n        indexed: true,\n        internalType: 'address',\n        name: 'to',\n        type: 'address',\n      },\n      {\n        indexed: false,\n        internalType: 'uint256',\n        name: 'id',\n        type: 'uint256',\n      },\n      {\n        indexed: false,\n        internalType: 'uint256',\n        name: 'value',\n        type: 'uint256',\n      },\n    ],\n    name: 'TransferSingle',\n    type: 'event',\n  },\n  {\n    anonymous: false,\n    inputs: [\n      {\n        indexed: false,\n        internalType: 'string',\n        name: 'value',\n        type: 'string',\n      },\n      {\n        indexed: true,\n        internalType: 'uint256',\n        name: 'id',\n        type: 'uint256',\n      },\n    ],\n    name: 'URI',\n    type: 'event',\n  },\n  {\n    inputs: [\n      {\n        internalType: 'address',\n        name: 'account',\n        type: 'address',\n      },\n      {\n        internalType: 'uint256',\n        name: 'id',\n        type: 'uint256',\n      },\n    ],\n    name: 'balanceOf',\n    outputs: [\n      {\n        internalType: 'uint256',\n        name: '',\n        type: 'uint256',\n      },\n    ],\n    stateMutability: 'view',\n    type: 'function',\n  },\n  {\n    inputs: [\n      {\n        internalType: 'address[]',\n        name: 'accounts',\n        type: 'address[]',\n      },\n      {\n        internalType: 'uint256[]',\n        name: 'ids',\n        type: 'uint256[]',\n      },\n    ],\n    name: 'balanceOfBatch',\n    outputs: [\n      {\n        internalType: 'uint256[]',\n        name: '',\n        type: 'uint256[]',\n      },\n    ],\n    stateMutability: 'view',\n    type: 'function',\n  },\n  {\n    inputs: [\n      {\n        internalType: 'address',\n        name: 'account',\n        type: 'address',\n      },\n      {\n        internalType: 'address',\n        name: 'operator',\n        type: 'address',\n      },\n    ],\n    name: 'isApprovedForAll',\n    outputs: [\n      {\n        internalType: 'bool',\n        name: '',\n        type: 'bool',\n      },\n    ],\n    stateMutability: 'view',\n    type: 'function',\n  },\n  {\n    inputs: [\n      {\n        internalType: 'address',\n        name: 'from',\n        type: 'address',\n      },\n      {\n        internalType: 'address',\n        name: 'to',\n        type: 'address',\n      },\n      {\n        internalType: 'uint256[]',\n        name: 'ids',\n        type: 'uint256[]',\n      },\n      {\n        internalType: 'uint256[]',\n        name: 'amounts',\n        type: 'uint256[]',\n      },\n      {\n        internalType: 'bytes',\n        name: 'data',\n        type: 'bytes',\n      },\n    ],\n    name: 'safeBatchTransferFrom',\n    outputs: [],\n    stateMutability: 'nonpayable',\n    type: 'function',\n  },\n  {\n    inputs: [\n      {\n        internalType: 'address',\n        name: 'from',\n        type: 'address',\n      },\n      {\n        internalType: 'address',\n        name: 'to',\n        type: 'address',\n      },\n      {\n        internalType: 'uint256',\n        name: 'id',\n        type: 'uint256',\n      },\n      {\n        internalType: 'uint256',\n        name: 'amount',\n        type: 'uint256',\n      },\n      {\n        internalType: 'bytes',\n        name: 'data',\n        type: 'bytes',\n      },\n    ],\n    name: 'safeTransferFrom',\n    outputs: [],\n    stateMutability: 'nonpayable',\n    type: 'function',\n  },\n  {\n    inputs: [\n      {\n        internalType: 'address',\n        name: 'operator',\n        type: 'address',\n      },\n      {\n        internalType: 'bool',\n        name: 'approved',\n        type: 'bool',\n      },\n    ],\n    name: 'setApprovalForAll',\n    outputs: [],\n    stateMutability: 'nonpayable',\n    type: 'function',\n  },\n  {\n    inputs: [\n      {\n        internalType: 'bytes4',\n        name: 'interfaceId',\n        type: 'bytes4',\n      },\n    ],\n    name: 'supportsInterface',\n    outputs: [\n      {\n        internalType: 'bool',\n        name: '',\n        type: 'bool',\n      },\n    ],\n    stateMutability: 'view',\n    type: 'function',\n  },\n  {\n    inputs: [\n      {\n        internalType: 'uint256',\n        name: 'id',\n        type: 'uint256',\n      },\n    ],\n    name: 'uri',\n    outputs: [\n      {\n        internalType: 'string',\n        name: '',\n        type: 'string',\n      },\n    ],\n    stateMutability: 'view',\n    type: 'function',\n  },\n] as const\n","import React, { FC } from 'react'\nimport { ChainIcon, Divider, Flex, Img, Text } from '../primitives'\nimport { useCollections, useTokens } from '../hooks'\nimport { ReservoirChain } from '@reservoir0x/reservoir-sdk'\n\ntype Props = {\n  token?: NonNullable<ReturnType<typeof useTokens>['data']>[0]\n  collection?: NonNullable<ReturnType<typeof useCollections>['data']>[0]\n  chain?: ReservoirChain | null\n}\n\nexport const TokenInfo: FC<Props> = ({ token, collection, chain }) => {\n  return (\n    <Flex justify=\"between\" align=\"center\" css={{ gap: '$4' }}>\n      <Flex align=\"center\" css={{ gap: '$3' }}>\n        <Img\n          src={token?.token?.image || token?.token?.collection?.image}\n          css={{\n            borderRadius: 8,\n            objectFit: 'cover',\n            height: 56,\n            width: 56,\n          }}\n        />\n        <Flex direction=\"column\" css={{ gap: '$1' }}>\n          <Text style=\"h6\">\n            {token?.token?.name || `#${token?.token?.tokenId}`}\n          </Text>\n          <Flex align=\"center\" css={{ gap: '$1' }}>\n            <Text style=\"subtitle2\" color=\"subtle\">\n              {collection?.name}\n            </Text>\n            {chain ? (\n              <>\n                <Divider direction=\"vertical\" />\n                <ChainIcon chainId={chain.id} height={12} />\n                <Text style=\"subtitle2\" color=\"subtle\" ellipsify>\n                  {chain.name}\n                </Text>\n              </>\n            ) : null}\n          </Flex>\n        </Flex>\n      </Flex>\n    </Flex>\n  )\n}\n","import React, { FC } from 'react'\nimport { ChainIcon, Divider, Flex, Img, Text } from '../primitives'\nimport { useCollections, useTimeSince } from '../hooks'\nimport { ReservoirChain } from '@reservoir0x/reservoir-sdk'\n\ntype Props = {\n  collection?: NonNullable<ReturnType<typeof useCollections>['data']>[0]\n  chain?: ReservoirChain | null\n}\n\nexport const CollectionInfo: FC<Props> = ({ collection, chain }) => {\n  const mintData = collection?.mintStages?.find(\n    (stage) => stage.kind === 'public'\n  )\n\n  const mintEndTime = mintData ? useTimeSince(mintData?.endTime) : undefined\n\n  return (\n    <Flex\n      justify=\"between\"\n      align=\"center\"\n      css={{ gap: '$4', maxWidth: '100%' }}\n    >\n      <Flex align=\"center\" css={{ gap: '$3', overflow: 'hidden' }}>\n        <Img\n          src={collection?.image}\n          css={{\n            borderRadius: 8,\n            objectFit: 'cover',\n            height: 56,\n            width: 56,\n          }}\n        />\n        <Flex direction=\"column\" css={{ gap: '$1', overflow: 'hidden' }}>\n          <Text style=\"h6\" ellipsify>\n            {collection?.name}\n          </Text>\n          <Flex align=\"center\" css={{ gap: '$1' }}>\n            {mintEndTime ? (\n              <Text style=\"subtitle2\" color=\"subtle\">\n                Ends {mintEndTime}\n              </Text>\n            ) : null}\n            {chain ? (\n              <>\n                {mintEndTime ? (\n                  <Divider direction=\"vertical\" css={{ maxHeight: 12 }} />\n                ) : null}\n                <ChainIcon chainId={chain.id} height={12} />\n                <Text style=\"subtitle2\" color=\"subtle\" ellipsify>\n                  {chain.name}\n                </Text>\n              </>\n            ) : null}\n          </Flex>\n        </Flex>\n      </Flex>\n    </Flex>\n  )\n}\n","import React, { FC } from 'react'\nimport {\n  Flex,\n  FormatCryptoCurrency,\n  FormatCurrency,\n  Img,\n  Text,\n} from '../primitives'\nimport { useCollections, useTokens } from '../hooks'\nimport { PaymentToken } from '@reservoir0x/reservoir-sdk'\n\nenum Size {\n  SM,\n  LG,\n}\n\ntype Props = {\n  collection?: NonNullable<ReturnType<typeof useCollections>['data']>[0]\n  token?: NonNullable<ReturnType<typeof useTokens>['data']>[0]\n  itemCount: number\n  totalPrice: bigint\n  usdTotalFormatted?: number | string\n  currency?: PaymentToken\n  size?: Size\n  chainId?: number\n}\n\nexport const PurchaseCheckout: FC<Props> = ({\n  collection,\n  token,\n  itemCount,\n  totalPrice,\n  chainId,\n  usdTotalFormatted,\n  currency,\n}) => {\n  const itemSubject = itemCount === 1 ? 'item' : 'items'\n\n  return (\n    <Flex direction=\"column\">\n      <Flex justify=\"between\" css={{ width: '100%', mb: '$2' }}>\n        <Text style=\"subtitle3\" color=\"subtle\">\n          Item\n        </Text>\n        <Text style=\"subtitle3\" color=\"subtle\">\n          Total\n        </Text>\n      </Flex>\n      <Flex justify=\"between\" align=\"start\" css={{ width: '100%' }}>\n        <Flex direction=\"column\">\n          <Flex align=\"center\" css={{ gap: '$3' }}>\n            <Img\n              src={token ? token?.token?.image : collection?.image}\n              css={{\n                borderRadius: 8,\n                objectFit: 'cover',\n                height: 56,\n                width: 56,\n              }}\n            />\n            <Flex direction=\"column\" css={{ gap: '$1' }}>\n              <Text style={'h6'}>\n                {token\n                  ? token?.token?.name || `#${token?.token?.tokenId}`\n                  : collection?.name}\n              </Text>\n              <Text\n                style={'tiny'}\n                css={{\n                  p: '$1',\n                  borderRadius: 4,\n                  backgroundColor: '$neutralBgActive',\n                  width: 'max-content',\n                }}\n              >\n                {itemCount} {itemSubject}\n              </Text>\n            </Flex>\n          </Flex>\n        </Flex>\n        <Flex direction=\"column\" align=\"end\" css={{ gap: '$1', pt: '$1' }}>\n          <FormatCryptoCurrency\n            chainId={chainId}\n            textStyle={'h6'}\n            amount={totalPrice}\n            address={currency?.address}\n            decimals={currency?.decimals}\n            symbol={currency?.symbol}\n            logoWidth={18}\n          />\n          {usdTotalFormatted ? (\n            <FormatCurrency\n              amount={usdTotalFormatted}\n              style=\"subtitle3\"\n              color=\"subtle\"\n              css={{ textAlign: 'end' }}\n            />\n          ) : null}\n        </Flex>\n      </Flex>\n    </Flex>\n  )\n}\n","import React, {\n  ComponentPropsWithoutRef,\n  Dispatch,\n  ReactElement,\n  SetStateAction,\n  useEffect,\n} from 'react'\nimport { WalletClient, formatUnits } from 'viem'\nimport { ReservoirWallet } from '@reservoir0x/reservoir-sdk'\nimport { useFallbackState, useReservoirClient } from '../../hooks'\nimport { Modal } from '../Modal'\nimport {\n  SweepModalRenderer,\n  SweepModalStepData,\n  SweepStep,\n} from './SweepModalRenderer'\nimport {\n  Anchor,\n  Box,\n  Button,\n  CryptoCurrencyIcon,\n  ErrorWell,\n  Flex,\n  FormatCryptoCurrency,\n  Loader,\n  Text,\n} from '../../primitives'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCheckCircle } from '@fortawesome/free-solid-svg-icons/faCheckCircle'\nimport { faChevronLeft } from '@fortawesome/free-solid-svg-icons/faChevronLeft'\nimport { faChevronRight } from '@fortawesome/free-solid-svg-icons/faChevronRight'\nimport { faCircleExclamation } from '@fortawesome/free-solid-svg-icons/faCircleExclamation'\nimport { faCube } from '@fortawesome/free-solid-svg-icons/faCube'\nimport { faMagnifyingGlass } from '@fortawesome/free-solid-svg-icons/faMagnifyingGlass'\nimport { faPenNib } from '@fortawesome/free-solid-svg-icons/faPenNib'\nimport { faWallet } from '@fortawesome/free-solid-svg-icons/faWallet'\n\nimport { formatNumber } from '../../lib/numbers'\nimport { Path } from '../../components/cart/CartCheckoutModal'\nimport QuantitySelector from '../QuantitySelector'\nimport { CurrentStepTxHashes } from '../CurrentStepTxHashes'\nimport SigninStep from '../SigninStep'\nimport { ApprovePurchasingCollapsible } from '../ApprovePurchasingCollapsible'\nimport { truncateAddress } from '../../lib/truncate'\nimport getChainBlockExplorerUrl from '../../lib/getChainBlockExplorerUrl'\nimport { TokenInfo } from '../TokenInfo'\nimport { CollectionInfo } from '../CollectionInfo'\nimport { PurchaseCheckout } from '../PurchaseCheckout'\nimport { PaymentDetails } from '../../common/PaymentDetails'\nimport { Dialog } from '../../primitives/Dialog'\nimport { SelectPaymentToken } from '../SelectPaymentToken'\n\nexport type SweepCallbackData = {\n  collectionId?: string\n  maker?: string\n  stepData: SweepModalStepData | null\n}\n\nexport const SweepModalCopy = {\n  ctaConnect: 'Connect',\n  sweepTitle: 'Sweep',\n  sweepCtaClose: 'Close',\n  sweepCtaBuy: 'Sweep',\n  sweepCtaBuyDisabled: 'Sweep',\n  sweepCtaInsufficientFunds: 'Add Funds to Purchase',\n  sweepCtaAwaitingApproval: 'Waiting for approval...',\n  sweepCtaAwaitingValidation: 'Waiting to be validated...',\n  sweepCtaGoToToken: '',\n}\n\ntype Props = Pick<Parameters<typeof Modal>['0'], 'trigger'> & {\n  openState?: [boolean, Dispatch<SetStateAction<boolean>>]\n  contract?: string\n  collectionId?: string\n  token?: string\n  defaultQuantity?: number\n  onConnectWallet: () => void\n  feesOnTopBps?: string[] | null\n  feesOnTopUsd?: string[] | null\n  chainId?: number\n  copyOverrides?: Partial<typeof SweepModalCopy>\n  walletClient?: ReservoirWallet | WalletClient\n  normalizeRoyalties?: boolean\n  usePermit?: boolean\n  onSweepComplete?: (data: SweepCallbackData) => void\n  onSweepError?: (error: Error, data: SweepCallbackData) => void\n  onClose?: (data: SweepCallbackData, currentStep: SweepStep) => void\n  onGoToToken?: (data: SweepCallbackData) => any\n  onPointerDownOutside?: ComponentPropsWithoutRef<\n    typeof Dialog\n  >['onPointerDownOutside']\n}\n\nexport function SweepModal({\n  openState,\n  trigger,\n  contract,\n  collectionId,\n  token,\n  chainId,\n  feesOnTopBps,\n  feesOnTopUsd,\n  copyOverrides,\n  walletClient,\n  normalizeRoyalties,\n  usePermit,\n  onSweepComplete,\n  onSweepError,\n  onClose,\n  onConnectWallet,\n  onGoToToken,\n  onPointerDownOutside,\n  defaultQuantity,\n}: Props): ReactElement {\n  const copy: typeof SweepModalCopy = {\n    ...SweepModalCopy,\n    ...copyOverrides,\n  }\n  const [open, setOpen] = useFallbackState(\n    openState ? openState[0] : false,\n    openState\n  )\n\n  const client = useReservoirClient()\n\n  const currentChain = client?.currentChain()\n\n  const modalChain = chainId\n    ? client?.chains.find(({ id }) => id === chainId) || currentChain\n    : currentChain\n\n  return (\n    <SweepModalRenderer\n      onConnectWallet={onConnectWallet}\n      chainId={modalChain?.id}\n      defaultQuantity={defaultQuantity}\n      open={open}\n      contract={contract}\n      collectionId={collectionId}\n      token={token}\n      feesOnTopBps={feesOnTopBps}\n      feesOnTopUsd={feesOnTopUsd}\n      walletClient={walletClient}\n      normalizeRoyalties={normalizeRoyalties}\n      usePermit={usePermit}\n    >\n      {({\n        loading,\n        isFetchingPath,\n        collection,\n        token,\n        orders,\n        totalIncludingFees,\n        buyResponseFees,\n        averageUnitPrice,\n        selectedTokens,\n        feeOnTop,\n        feeUsd,\n        paymentTokens,\n        paymentCurrency,\n        setPaymentCurrency,\n        addFundsLink,\n        chainCurrency,\n        itemAmount,\n        setItemAmount,\n        maxItemAmount,\n        setMaxItemAmount,\n        usdPrice,\n        usdPriceRaw,\n        currentChain,\n        address,\n        isConnected,\n        disableJumperLink,\n        balance,\n        hasEnoughCurrency,\n        hasAuxiliaryFundsSupport,\n        transactionError,\n        stepData,\n        sweepStep,\n        setStepData,\n        setSweepStep,\n        sweepTokens,\n      }) => {\n        useEffect(() => {\n          if (sweepStep === SweepStep.Complete && onSweepComplete) {\n            const data: SweepCallbackData = {\n              collectionId: collection?.id,\n              maker: address,\n              stepData,\n            }\n\n            onSweepComplete(data)\n          }\n        }, [sweepStep])\n\n        useEffect(() => {\n          if (transactionError && onSweepError) {\n            const data: SweepCallbackData = {\n              collectionId: collection?.id,\n              maker: address,\n              stepData,\n            }\n            onSweepError(transactionError, data)\n          }\n        }, [transactionError])\n\n        const hasTokens = orders && orders.length > 0\n\n        const pathMap = stepData?.path\n          ? (stepData.path as Path[]).reduce(\n              (paths: Record<string, Path>, path: Path) => {\n                if (path.orderId) {\n                  paths[path.orderId] = path\n                }\n\n                return paths\n              },\n              {} as Record<string, Path>\n            )\n          : {}\n\n        const totalSales =\n          stepData?.currentStep?.items?.reduce((total, item) => {\n            item.transfersData?.forEach((transferData) => {\n              total += Number(transferData.amount || 1)\n            })\n            return total\n          }, 0) || 0\n\n        const failedSales = itemAmount - totalSales\n        const successfulSales = itemAmount - failedSales\n\n        return (\n          <Modal\n            trigger={trigger}\n            title={copy.sweepTitle}\n            open={open}\n            loading={loading}\n            onPointerDownOutside={(e) => {\n              const dismissableLayers = Array.from(\n                document.querySelectorAll('div[data-radix-dismissable]')\n              )\n              const clickedDismissableLayer = dismissableLayers.some((el) =>\n                e.target ? el.contains(e.target as Node) : false\n              )\n\n              if (!clickedDismissableLayer && dismissableLayers.length > 0) {\n                e.preventDefault()\n              }\n\n              if (onPointerDownOutside) {\n                onPointerDownOutside(e)\n              }\n            }}\n            onOpenChange={(open) => {\n              if (!open && onClose) {\n                const data: SweepCallbackData = {\n                  collectionId: collection?.id,\n                  maker: address,\n                  stepData,\n                }\n                onClose(data, sweepStep)\n              }\n              setOpen(open)\n            }}\n          >\n            {(!loading && !hasTokens) ||\n            (maxItemAmount === 0 && sweepStep === SweepStep.Idle) ? (\n              <Flex\n                direction=\"column\"\n                align=\"center\"\n                css={{ width: '100%', p: '$4' }}\n              >\n                <Flex\n                  direction=\"column\"\n                  align=\"center\"\n                  css={{ pt: 28, pb: 48, px: '$4', gap: 28 }}\n                >\n                  <Box css={{ color: '$neutralSolid' }}>\n                    <FontAwesomeIcon\n                      icon={faMagnifyingGlass}\n                      style={{\n                        width: '36px',\n                        height: '32px',\n                      }}\n                    />\n                  </Box>\n                  <Text style=\"h6\" css={{ textAlign: 'center' }}>\n                    No available items were found for this collection.\n                  </Text>\n                </Flex>\n                <Button css={{ width: '100%' }} onClick={() => setOpen(false)}>\n                  {copy.sweepCtaClose}\n                </Button>\n              </Flex>\n            ) : null}\n\n            {!loading &&\n              hasTokens &&\n              maxItemAmount !== 0 &&\n              sweepStep === SweepStep.Idle && (\n                <Flex direction=\"column\">\n                  <Flex\n                    direction=\"column\"\n                    css={{ borderBottom: '1px solid $neutralBorder' }}\n                  >\n                    {transactionError ? (\n                      <ErrorWell error={transactionError} />\n                    ) : null}\n                    <Flex direction=\"column\" css={{ p: '$4', gap: 10 }}>\n                      {token ? (\n                        <TokenInfo token={token} collection={collection} />\n                      ) : (\n                        <CollectionInfo collection={collection} />\n                      )}\n                      <Flex\n                        align=\"center\"\n                        justify=\"between\"\n                        css={{ gap: 24, '@bp1': { gap: '$6' }, mt: '$1' }}\n                      >\n                        <Flex\n                          direction=\"column\"\n                          align=\"start\"\n                          css={{\n                            gap: '$1',\n                            overflow: 'hidden',\n                            flexShrink: 0,\n                            maxWidth: 200,\n                          }}\n                        >\n                          <Text style=\"subtitle2\">Quantity</Text>\n                          <Text\n                            style=\"body3\"\n                            color=\"subtle\"\n                            ellipsify\n                            css={{ width: '100%' }}\n                          >\n                            {formatNumber(maxItemAmount)}{' '}\n                            {maxItemAmount === 1 ? 'item' : 'items'} available\n                          </Text>\n                        </Flex>\n                        <QuantitySelector\n                          quantity={itemAmount}\n                          setQuantity={setItemAmount}\n                          min={1}\n                          max={maxItemAmount}\n                          css={{\n                            width: '100%',\n                            justifyContent: 'space-between',\n                            minWidth: 200,\n                          }}\n                        />\n                      </Flex>\n                      {itemAmount > 1 && averageUnitPrice ? (\n                        <Flex justify=\"end\" css={{ gap: '$3' }}>\n                          <Flex align=\"center\" css={{ gap: '$2' }}>\n                            <Text style=\"subtitle3\" color=\"subtle\">\n                              Avg Item Price\n                            </Text>\n                            <FormatCryptoCurrency\n                              chainId={chainId}\n                              amount={averageUnitPrice}\n                              address={paymentCurrency?.address}\n                              decimals={paymentCurrency?.decimals}\n                              symbol={paymentCurrency?.name}\n                              maximumFractionDigits={2}\n                            />\n                          </Flex>\n                        </Flex>\n                      ) : null}\n                    </Flex>\n                  </Flex>\n                  <Flex direction=\"column\" css={{ pb: '$2' }}>\n                    {paymentTokens.length > 1 ? (\n                      <Flex\n                        direction=\"column\"\n                        css={{\n                          gap: '$2',\n                          py: '$3',\n                          px: '$4',\n                          borderRadius: '$3',\n                          borderBottom: '1px solid $neutralBorder',\n                          '&:hover': {\n                            backgroundColor: '$neutralBgHover',\n                          },\n                        }}\n                        onClick={() => setSweepStep(SweepStep.SelectPayment)}\n                      >\n                        <Flex\n                          justify=\"between\"\n                          align=\"center\"\n                          css={{\n                            gap: '$1',\n                          }}\n                        >\n                          <Text style=\"subtitle2\">Payment Method</Text>\n                          <Flex\n                            align=\"center\"\n                            css={{ gap: '$2', cursor: 'pointer' }}\n                          >\n                            <Flex align=\"center\">\n                              <CryptoCurrencyIcon\n                                address={paymentCurrency?.address as string}\n                                css={{ width: 16, height: 16, mr: '$1' }}\n                              />\n                              <Text style=\"subtitle2\">\n                                {paymentCurrency?.name}\n                              </Text>\n                            </Flex>\n                            <Box css={{ color: '$neutralSolidHover' }}>\n                              <FontAwesomeIcon\n                                icon={faChevronRight}\n                                width={10}\n                              />\n                            </Box>\n                          </Flex>\n                        </Flex>\n                      </Flex>\n                    ) : null}\n                    <PaymentDetails\n                      chainId={chainId}\n                      crosschainFees={buyResponseFees}\n                      paymentCurrency={paymentCurrency}\n                      feeOnTop={feeOnTop}\n                      feeUsd={feeUsd}\n                      loading={isFetchingPath}\n                      css={{ pt: '$4' }}\n                    />\n                  </Flex>\n                  {hasEnoughCurrency ||\n                  !isConnected ||\n                  hasAuxiliaryFundsSupport ? (\n                    <Button\n                      css={{ m: '$4' }}\n                      disabled={\n                        !(selectedTokens.length > 0) ||\n                        (!hasEnoughCurrency &&\n                          !hasAuxiliaryFundsSupport &&\n                          isConnected)\n                      }\n                      onClick={sweepTokens}\n                    >\n                      {!isConnected\n                        ? copy.ctaConnect\n                        : selectedTokens.length > 0\n                        ? copy.sweepCtaBuy\n                        : copy.sweepCtaBuyDisabled}\n                    </Button>\n                  ) : (\n                    <Flex direction=\"column\" align=\"center\" css={{ px: '$3' }}>\n                      <Flex align=\"center\">\n                        <Text css={{ mr: '$3' }} color=\"error\" style=\"body3\">\n                          Insufficient Balance\n                          {paymentTokens.length > 1\n                            ? ', select another token or add funds'\n                            : null}\n                        </Text>\n\n                        <FormatCryptoCurrency\n                          chainId={chainId}\n                          amount={paymentCurrency?.balance}\n                          address={paymentCurrency?.address}\n                          decimals={paymentCurrency?.decimals}\n                          symbol={paymentCurrency?.name}\n                          textStyle=\"body3\"\n                        />\n                      </Flex>\n                      <Button\n                        disabled={disableJumperLink}\n                        onClick={() => {\n                          window.open(addFundsLink, '_blank')\n                        }}\n                        css={{ width: '100%', my: '$4' }}\n                      >\n                        {disableJumperLink\n                          ? copy.sweepCtaBuy\n                          : copy.sweepCtaInsufficientFunds}\n                      </Button>\n                    </Flex>\n                  )}\n                </Flex>\n              )}\n\n            {!loading && sweepStep === SweepStep.SelectPayment && (\n              <Flex direction=\"column\" css={{ py: 20 }}>\n                <Flex align=\"center\" css={{ gap: '$2', px: '$4' }}>\n                  <Button\n                    onClick={() => setSweepStep(SweepStep.Idle)}\n                    color=\"ghost\"\n                    size=\"xs\"\n                    css={{ color: '$neutralSolidHover' }}\n                  >\n                    <FontAwesomeIcon icon={faChevronLeft} width={10} />\n                  </Button>\n                  <Text style=\"subtitle2\">Select Payment Method</Text>\n                </Flex>\n                <SelectPaymentToken\n                  paymentTokens={paymentTokens}\n                  currency={paymentCurrency}\n                  setCurrency={setPaymentCurrency}\n                  goBack={() => setSweepStep(SweepStep.Idle)}\n                  itemAmount={itemAmount}\n                  chainId={modalChain?.id || 1}\n                />\n              </Flex>\n            )}\n\n            {sweepStep === SweepStep.Approving && (\n              <Flex direction=\"column\">\n                <Box\n                  css={{\n                    p: '$4',\n                    borderBottom: '1px solid $neutralBorder',\n                  }}\n                >\n                  <PurchaseCheckout\n                    chainId={chainId}\n                    collection={collection}\n                    token={token}\n                    itemCount={itemAmount}\n                    totalPrice={\n                      (paymentCurrency?.currencyTotalRaw || 0n) + feeOnTop\n                    }\n                    currency={paymentCurrency}\n                    usdTotalFormatted={formatUnits(\n                      ((paymentCurrency?.currencyTotalRaw || 0n) + feeOnTop) *\n                        (paymentCurrency?.usdPriceRaw || 0n),\n                      (paymentCurrency?.decimals || 18) + 6\n                    )}\n                  />\n                </Box>\n                <Flex\n                  direction=\"column\"\n                  align=\"center\"\n                  css={{ p: '$4', overflowY: 'auto' }}\n                >\n                  {stepData?.currentStep == undefined ? (\n                    <Flex css={{ py: '$5' }}>\n                      <Loader />\n                    </Flex>\n                  ) : null}\n\n                  {stepData?.currentStep &&\n                  stepData.currentStep.id !== 'auth' &&\n                  stepData.currentStep.id !== 'sale' ? (\n                    <>\n                      <Flex\n                        css={{ color: '$neutralText', py: '$5' }}\n                        direction=\"column\"\n                        justify=\"center\"\n                        align=\"center\"\n                      >\n                        <Text\n                          style=\"h6\"\n                          color=\"base\"\n                          css={{ mb: '$2', textAlign: 'center' }}\n                        >\n                          {stepData.currentStep.action}{' '}\n                          {stepData?.currentStep?.items &&\n                          stepData.currentStep.items.length > 1\n                            ? `(${\n                                stepData.currentStep.items.filter(\n                                  (item) => item.status === 'complete'\n                                ).length\n                              }/${stepData.currentStep.items.length})`\n                            : null}\n                        </Text>\n                        <Text\n                          style=\"subtitle3\"\n                          color=\"subtle\"\n                          css={{ mb: 20, textAlign: 'center' }}\n                        >\n                          {stepData.currentStep.description}\n                        </Text>\n                        <FontAwesomeIcon\n                          icon={faPenNib}\n                          width={32}\n                          height={32}\n                          style={{ height: 32 }}\n                        />\n                      </Flex>\n                      <CurrentStepTxHashes\n                        currentStep={stepData?.currentStep}\n                      />\n                      <Button disabled={true} css={{ mt: '$4', width: '100%' }}>\n                        <Loader />\n                        {copy.sweepCtaAwaitingApproval}\n                      </Button>\n                    </>\n                  ) : null}\n\n                  {stepData?.currentStep &&\n                  stepData.currentStep.id === 'auth' ? (\n                    <>\n                      <SigninStep css={{ mt: 48, mb: '$4', gap: 20 }} />\n                      <Button disabled={true} css={{ mt: '$4', width: '100%' }}>\n                        <Loader />\n                        {copy.sweepCtaAwaitingApproval}\n                      </Button>\n                    </>\n                  ) : null}\n\n                  {stepData?.currentStep &&\n                  stepData?.currentStep?.id === 'sale' ? (\n                    <>\n                      {stepData?.currentStep?.items &&\n                      stepData?.currentStep?.items.length > 1 ? (\n                        <Flex\n                          direction=\"column\"\n                          css={{ gap: '$4', width: '100%' }}\n                        >\n                          <Text style=\"h6\" css={{ textAlign: 'center' }}>\n                            Approve Purchases\n                          </Text>\n                          <Text style=\"subtitle3\" color=\"subtle\">\n                            The purchase of these items needs to be split into{' '}\n                            {stepData?.currentStep?.items.length} separate\n                            transactions.\n                          </Text>\n                          {stepData?.currentStep?.items.map((item, idx) => (\n                            <ApprovePurchasingCollapsible\n                              key={idx}\n                              item={item}\n                              pathMap={pathMap}\n                              usdPrice={+usdPrice}\n                              chain={currentChain}\n                              open={true}\n                            />\n                          ))}\n                        </Flex>\n                      ) : (\n                        <Flex\n                          direction=\"column\"\n                          align=\"center\"\n                          css={{ gap: '$4', pt: '$4', width: '100%' }}\n                        >\n                          <Text style=\"h6\">\n                            Confirm transaction in your wallet\n                          </Text>\n                          <Box css={{ color: '$neutralText' }}>\n                            <FontAwesomeIcon\n                              icon={faWallet}\n                              style={{\n                                width: '32px',\n                                height: '32px',\n                                margin: '12px 0px',\n                              }}\n                            />\n                          </Box>\n                          <CurrentStepTxHashes\n                            currentStep={stepData?.currentStep}\n                          />\n                          <Button\n                            disabled={true}\n                            css={{ mt: '$4', width: '100%' }}\n                          >\n                            <Loader />\n                            {copy.sweepCtaAwaitingApproval}\n                          </Button>\n                        </Flex>\n                      )}\n                    </>\n                  ) : null}\n                </Flex>\n              </Flex>\n            )}\n\n            {sweepStep === SweepStep.Finalizing && (\n              <Flex direction=\"column\">\n                <Box\n                  css={{\n                    p: '$4',\n                    borderBottom: '1px solid $neutralBorder',\n                  }}\n                >\n                  <PurchaseCheckout\n                    chainId={chainId}\n                    collection={collection}\n                    token={token}\n                    itemCount={itemAmount}\n                    totalPrice={\n                      (paymentCurrency?.currencyTotalRaw || 0n) + feeOnTop\n                    }\n                    currency={paymentCurrency}\n                    usdTotalFormatted={formatUnits(\n                      ((paymentCurrency?.currencyTotalRaw || 0n) + feeOnTop) *\n                        (paymentCurrency?.usdPriceRaw || 0n),\n                      (paymentCurrency?.decimals || 18) + 6\n                    )}\n                  />\n                </Box>\n                <Flex\n                  direction=\"column\"\n                  align=\"center\"\n                  justify=\"center\"\n                  css={{\n                    gap: '$4',\n                    px: '$4',\n                    py: '$5',\n                  }}\n                >\n                  <Text style=\"h6\">Finalizing on blockchain</Text>\n                  <Text\n                    style=\"subtitle3\"\n                    color=\"subtle\"\n                    css={{ textAlign: 'center' }}\n                  >\n                    You can close this modal while it finalizes on the\n                    blockchain. The transaction will continue in the background.\n                  </Text>\n                  <Box css={{ color: '$neutralSolid' }}>\n                    <FontAwesomeIcon\n                      icon={faCube}\n                      style={{ width: 32, height: 32 }}\n                    />\n                  </Box>\n                </Flex>\n                <CurrentStepTxHashes currentStep={stepData?.currentStep} />\n                <Button disabled={true} css={{ m: '$4' }}>\n                  <Loader />\n                  {copy.sweepCtaAwaitingValidation}\n                </Button>\n              </Flex>\n            )}\n\n            {sweepStep === SweepStep.Complete && (\n              <Flex\n                direction=\"column\"\n                align=\"center\"\n                css={{ width: '100%', p: '$4' }}\n              >\n                <Flex\n                  direction=\"column\"\n                  align=\"center\"\n                  css={{ px: '$4', py: '$5', gap: 24 }}\n                >\n                  <Box\n                    css={{\n                      color: failedSales ? '$errorAccent' : '$successAccent',\n                    }}\n                  >\n                    <FontAwesomeIcon\n                      icon={failedSales ? faCircleExclamation : faCheckCircle}\n                      fontSize={32}\n                    />\n                  </Box>\n                  <Text style=\"h5\" css={{ textAlign: 'center' }}>\n                    {failedSales\n                      ? `${successfulSales} ${\n                          successfulSales > 1 ? 'items' : 'item'\n                        } purchased, ${failedSales} ${\n                          failedSales > 1 ? 'items' : 'item'\n                        } failed`\n                      : 'Congrats! Purchase was successful.'}\n                  </Text>\n                  <Flex direction=\"column\" css={{ gap: '$2', mb: '$3' }}>\n                    {stepData?.currentStep?.items?.map((item, itemIndex) => {\n                      if (\n                        Array.isArray(item?.txHashes) &&\n                        item?.txHashes.length > 0\n                      ) {\n                        return item.txHashes.map((hash, txHashIndex) => {\n                          const truncatedTxHash = truncateAddress(hash.txHash)\n                          const blockExplorerBaseUrl = getChainBlockExplorerUrl(\n                            hash.chainId\n                          )\n                          return (\n                            <Anchor\n                              key={`${itemIndex}-${txHashIndex}`}\n                              href={`${blockExplorerBaseUrl}/tx/${hash.txHash}`}\n                              color=\"primary\"\n                              weight=\"medium\"\n                              target=\"_blank\"\n                              css={{ fontSize: 12 }}\n                            >\n                              View transaction: {truncatedTxHash}\n                            </Anchor>\n                          )\n                        })\n                      } else {\n                        return null\n                      }\n                    })}\n                  </Flex>\n                </Flex>\n                <Flex css={{ width: '100%' }}>\n                  {!!onGoToToken ? (\n                    <>\n                      <Button\n                        onClick={() => {\n                          setOpen(false)\n                        }}\n                        css={{ flex: 1 }}\n                        color=\"ghost\"\n                      >\n                        {copy.sweepCtaClose}\n                      </Button>\n                      <Button\n                        style={{ flex: 1 }}\n                        color=\"primary\"\n                        onClick={() => {\n                          onGoToToken({\n                            collectionId: collection?.id,\n                            maker: address,\n                            stepData,\n                          })\n                        }}\n                      >\n                        {copy.sweepCtaGoToToken.length > 0\n                          ? copy.sweepCtaGoToToken\n                          : `View ${successfulSales > 1 ? 'Tokens' : 'Token'}`}\n                      </Button>\n                    </>\n                  ) : (\n                    <Button\n                      css={{ width: '100%' }}\n                      onClick={() => setOpen(false)}\n                    >\n                      {copy.sweepCtaClose}\n                    </Button>\n                  )}\n                </Flex>\n              </Flex>\n            )}\n          </Modal>\n        )\n      }}\n    </SweepModalRenderer>\n  )\n}\n\nSweepModal.Custom = SweepModalRenderer\n","import React, {\n  FC,\n  ReactNode,\n  useCallback,\n  useContext,\n  useEffect,\n  useMemo,\n  useState,\n} from 'react'\nimport {\n  useChainCurrency,\n  useCollections,\n  useReservoirClient,\n  useTokens,\n} from '../../hooks'\nimport usePaymentTokens from '../../hooks/usePaymentTokens'\nimport { useAccount, useConfig, useWalletClient } from 'wagmi'\nimport {\n  BuyPath,\n  Execute,\n  LogLevel,\n  ReservoirChain,\n  ReservoirClientActions,\n  axios,\n} from '@reservoir0x/reservoir-sdk'\nimport { Address, WalletClient, formatUnits, zeroAddress } from 'viem'\nimport { EnhancedCurrency } from '../../hooks/usePaymentTokens'\nimport { getAccount, switchChain } from 'wagmi/actions'\nimport * as allChains from 'viem/chains'\nimport {\n  customChains,\n  ReservoirWallet,\n  BuyResponses,\n} from '@reservoir0x/reservoir-sdk'\nimport { ProviderOptionsContext } from '../../ReservoirKitProvider'\nimport { useCapabilities } from 'wagmi/experimental'\nimport useRelayChains from '../../hooks/useRelayChains'\n\nexport enum SweepStep {\n  Idle,\n  SelectPayment,\n  Approving,\n  Finalizing,\n  Complete,\n}\n\nexport type SweepModalStepData = {\n  totalSteps: number\n  stepProgress: number\n  currentStep: Execute['steps'][0]\n  currentStepItem: NonNullable<Execute['steps'][0]['items']>[0]\n  path: Execute['path']\n}\n\ntype BuyTokenOptions = Parameters<\n  ReservoirClientActions['buyToken']\n>['0']['options']\n\nexport type ChildrenProps = {\n  collection?: NonNullable<ReturnType<typeof useCollections>['data']>[0]\n  token?: NonNullable<ReturnType<typeof useTokens>['data']>[0]\n  loading: boolean\n  isFetchingPath: boolean\n  orders: NonNullable<BuyPath>\n  selectedTokens: NonNullable<BuyPath>\n  setSelectedTokens: React.Dispatch<React.SetStateAction<NonNullable<BuyPath>>>\n  itemAmount: number\n  setItemAmount: React.Dispatch<React.SetStateAction<number>>\n  maxItemAmount: number\n  setMaxItemAmount: React.Dispatch<React.SetStateAction<number>>\n  paymentCurrency?: EnhancedCurrency\n  setPaymentCurrency: React.Dispatch<\n    React.SetStateAction<EnhancedCurrency | undefined>\n  >\n  averageUnitPrice: bigint\n  chainCurrency: ReturnType<typeof useChainCurrency>\n  paymentTokens: EnhancedCurrency[]\n  totalIncludingFees: bigint\n  buyResponseFees?: BuyResponses['fees']\n  feeOnTop: bigint\n  feeUsd: string\n  usdPrice: number\n  usdPriceRaw: bigint\n  currentChain: ReservoirChain | null | undefined\n  address?: string\n  balance?: bigint\n  isConnected: boolean\n  disableJumperLink?: boolean\n  hasEnoughCurrency: boolean\n  hasAuxiliaryFundsSupport: boolean\n  addFundsLink: string\n  blockExplorerBaseUrl: string\n  transactionError: Error | null | undefined\n  stepData: SweepModalStepData | null\n  setStepData: React.Dispatch<React.SetStateAction<SweepModalStepData | null>>\n  sweepStep: SweepStep\n  setSweepStep: React.Dispatch<React.SetStateAction<SweepStep>>\n  sweepTokens: () => void\n}\n\ntype Props = {\n  open: boolean\n  contract?: string\n  collectionId?: string\n  token?: string\n  onConnectWallet: () => void\n  chainId?: number\n  defaultQuantity?: number\n  feesOnTopBps?: string[] | null\n  feesOnTopUsd?: string[] | null\n  normalizeRoyalties?: boolean\n  children: (props: ChildrenProps) => ReactNode\n  walletClient?: ReservoirWallet | WalletClient\n  usePermit?: boolean\n}\n\nexport const SweepModalRenderer: FC<Props> = ({\n  open,\n  chainId,\n  contract,\n  collectionId,\n  token,\n  feesOnTopBps,\n  feesOnTopUsd,\n  defaultQuantity,\n  onConnectWallet,\n  normalizeRoyalties,\n  children,\n  walletClient,\n  usePermit,\n}) => {\n  const client = useReservoirClient()\n  const config = useConfig()\n  const { address, connector } = useAccount()\n  const [selectedTokens, setSelectedTokens] = useState<NonNullable<BuyPath>>([])\n  const [isFetchingPath, setIsFetchingPath] = useState(false)\n  const [fetchedInitialOrders, setFetchedInitialOrders] = useState(false)\n  const [orders, setOrders] = useState<NonNullable<BuyPath>>([])\n  const [itemAmount, setItemAmount] = useState<number>(1)\n  const [maxItemAmount, setMaxItemAmount] = useState<number>(1)\n  const [sweepStep, setSweepStep] = useState<SweepStep>(SweepStep.Idle)\n  const [stepData, setStepData] = useState<SweepModalStepData | null>(null)\n  const [transactionError, setTransactionError] = useState<Error | null>()\n  const [totalIncludingFees, setTotalIncludingFees] = useState(0n)\n  const [averageUnitPrice, setAverageUnitPrice] = useState(0n)\n\n  const [hasEnoughCurrency, setHasEnoughCurrency] = useState(true)\n  const [feeOnTop, setFeeOnTop] = useState(0n)\n\n  const [buyResponseFees, setBuyResponseFees] = useState<\n    BuyResponses['fees'] | undefined\n  >(undefined)\n\n  const currentChain = client?.currentChain()\n\n  const rendererChain = chainId\n    ? client?.chains.find(({ id }) => id === chainId) || currentChain\n    : currentChain\n\n  const chainCurrency = useChainCurrency(rendererChain?.id)\n\n  const collectionContract =\n    contract ?? collectionId?.split(':')?.[0] ?? token?.split(':')?.[0]\n  const tokenId = token?.split(':')?.[1]\n\n  const wagmiChain: allChains.Chain | undefined = Object.values({\n    ...allChains,\n    ...customChains,\n  }).find(({ id }) => rendererChain?.id === id)\n\n  const providerOptions = useContext(ProviderOptionsContext)\n  const disableJumperLink = providerOptions?.disableJumperLink\n  const includeListingCurrency =\n    providerOptions.alwaysIncludeListingCurrency !== false\n\n  const { data: wagmiWallet } = useWalletClient({ chainId: rendererChain?.id })\n\n  const wallet = walletClient || wagmiWallet\n\n  const { data: capabilities } = useCapabilities({\n    query: {\n      enabled:\n        connector &&\n        (connector.id === 'coinbaseWalletSDK' || connector.id === 'coinbase'),\n    },\n  })\n  const hasAuxiliaryFundsSupport = Boolean(\n    rendererChain?.id\n      ? capabilities?.[rendererChain?.id]?.auxiliaryFunds?.supported\n      : false\n  )\n\n  const blockExplorerBaseUrl =\n    wagmiChain?.blockExplorers?.default?.url || 'https://etherscan.io'\n\n  const {\n    data: collections,\n    mutate: mutateCollection,\n    isFetchingPage: isFetchingCollections,\n  } = useCollections(\n    open && {\n      contract: collectionId ? undefined : collectionContract,\n      id: collectionId ? collectionId : undefined,\n    },\n    {},\n    rendererChain?.id\n  )\n\n  const collection = collections && collections[0] ? collections[0] : undefined\n\n  const is1155 = collection?.contractKind === 'erc1155'\n  const isSingleToken1155 = is1155 && collection?.tokenCount === '1'\n\n  const { data: tokens } = useTokens(\n    open && (tokenId || isSingleToken1155)\n      ? {\n          collection: isSingleToken1155 ? collection?.id : undefined,\n          tokens: isSingleToken1155\n            ? undefined\n            : `${collectionContract}:${tokenId}`,\n        }\n      : undefined,\n    {},\n    rendererChain?.id\n  )\n\n  const tokenData = tokens && tokens[0] ? tokens[0] : undefined\n\n  const [_paymentCurrency, _setPaymentCurrency] = useState<\n    EnhancedCurrency | undefined\n  >(undefined)\n\n  const paymentKey = useMemo(() => {\n    if (token) {\n      return token\n    } else if (tokenData?.token?.tokenId && collectionContract) {\n      return `${collectionContract}:${tokenData?.token?.tokenId}`\n    } else if (collectionId) {\n      return collectionId\n    } else return collectionContract\n  }, [token, collectionId, , collectionContract, tokenData?.token?.tokenId])\n\n  const paymentTokens = usePaymentTokens({\n    open,\n    address: address as Address,\n    quantityToken: {\n      [`${paymentKey}`]: itemAmount,\n    },\n    path: orders,\n    nativeOnly: false,\n    chainId: rendererChain?.id,\n    crossChainDisabled: !is1155,\n  })\n\n  const paymentCurrency = paymentTokens?.find(\n    (paymentToken: EnhancedCurrency) =>\n      paymentToken?.address === _paymentCurrency?.address &&\n      paymentToken?.chainId === _paymentCurrency?.chainId\n  )\n\n  const usdPrice = paymentCurrency?.usdPrice || 0\n  const usdPriceRaw = paymentCurrency?.usdPriceRaw || 0n\n\n  const feeUsd = formatUnits(\n    feeOnTop * usdPriceRaw,\n    (paymentCurrency?.decimals || 18) + 6\n  )\n\n  const fetchBuyPath = useCallback(\n    (\n      paymentCurrency: EnhancedCurrency | undefined,\n      paymentTokens: EnhancedCurrency[]\n    ) => {\n      if (!open || !client) {\n        return\n      }\n\n      setIsFetchingPath(true)\n\n      let options: BuyTokenOptions = {\n        partial: true,\n        onlyPath: true,\n      }\n\n      if (is1155) {\n        if (feesOnTopBps && feesOnTopBps?.length > 0) {\n          const fixedFees = feesOnTopBps.map((fullFee) => {\n            const [referrer] = fullFee.split(':')\n            return `${referrer}:1`\n          })\n          options.feesOnTop = fixedFees\n        } else if (feesOnTopUsd && feesOnTopUsd.length > 0) {\n          const feesOnTopFixed = feesOnTopUsd.map((feeOnTop) => {\n            const [recipient] = feeOnTop.split(':')\n            return `${recipient}:1`\n          })\n          options.feesOnTop = feesOnTopFixed\n        } else if (!feesOnTopUsd && !feesOnTopBps) {\n          delete options.feesOnTop\n        }\n      }\n\n      if (normalizeRoyalties !== undefined) {\n        options.normalizeRoyalties = normalizeRoyalties\n      }\n\n      if (paymentCurrency) {\n        options.currency = paymentCurrency.address\n        if (paymentCurrency.chainId) {\n          options.currencyChainId = paymentCurrency.chainId\n        }\n      } else if (!includeListingCurrency && paymentTokens[0]) {\n        options.currency = paymentTokens[0].address\n        if (paymentTokens[0].chainId) {\n          options.currencyChainId = paymentTokens[0].chainId\n        }\n        _setPaymentCurrency(paymentTokens[0])\n      }\n\n      return client?.actions\n        .buyToken({\n          chainId: rendererChain?.id,\n          items: [\n            {\n              collection:\n                token ?? tokenData?.token?.tokenId ? undefined : collection?.id,\n              token:\n                token ?? tokenData?.token?.tokenId\n                  ? `${collectionContract}:${\n                      tokenId ?? tokenData?.token?.tokenId\n                    }`\n                  : undefined,\n              fillType: 'trade',\n            },\n          ],\n          expectedPrice: undefined,\n          options,\n          wallet: {\n            address: async () => {\n              return address || zeroAddress\n            },\n          } as any,\n          precheck: true,\n          onProgress: () => {},\n        })\n        .then((rawData) => {\n          let data = rawData as BuyResponses\n\n          if ('path' in data) {\n            let pathData = data['path']\n            setOrders(pathData ?? [])\n\n            if (data.fees) {\n              setBuyResponseFees(data.fees)\n            }\n\n            const pathOrderQuantity =\n              pathData?.reduce(\n                (quantity, order) => quantity + (order?.quantity || 1),\n                0\n              ) || 0\n            let totalMaxQuantity = pathOrderQuantity\n            if ('maxQuantities' in data && data.maxQuantities?.[0]) {\n              if (is1155) {\n                totalMaxQuantity = data.maxQuantities.reduce(\n                  (total, currentQuantity) =>\n                    total + Number(currentQuantity.maxQuantity ?? 1),\n                  0\n                )\n              } else {\n                let maxQuantity = data.maxQuantities?.[0].maxQuantity\n                // if value is null/undefined, we don't know max quantity, but simulation succeeed with quantity of 1\n                totalMaxQuantity = maxQuantity ? Number(maxQuantity) : 1\n              }\n            }\n            setMaxItemAmount(\n              pathOrderQuantity > totalMaxQuantity\n                ? totalMaxQuantity\n                : pathOrderQuantity\n            )\n\n            if (!paymentCurrency && pathData?.[0]) {\n              const listingToken = {\n                address: (pathData[0].buyInCurrency ||\n                  pathData[0].currency) as Address,\n                decimals:\n                  pathData[0].buyInCurrencyDecimals ||\n                  pathData[0].currencyDecimals ||\n                  18,\n                symbol:\n                  pathData[0].buyInCurrencySymbol ||\n                  pathData[0].currencySymbol ||\n                  '',\n                name:\n                  pathData[0].buyInCurrencySymbol ||\n                  pathData[0].currencySymbol ||\n                  '',\n                chainId: rendererChain?.id || 1,\n              }\n\n              _setPaymentCurrency(listingToken)\n            }\n          }\n        })\n        .catch((err) => {\n          setOrders([])\n          throw err\n        })\n        .finally(() => {\n          setFetchedInitialOrders(true)\n          setIsFetchingPath(false)\n        })\n    },\n    [\n      address,\n      client,\n      wallet,\n      rendererChain,\n      normalizeRoyalties,\n      collectionId,\n      tokenData?.token?.tokenId,\n      collectionContract,\n      collection?.id,\n      tokenId,\n      rendererChain?.paymentTokens,\n      is1155,\n      includeListingCurrency,\n      feesOnTopBps,\n      feesOnTopUsd,\n      _setPaymentCurrency,\n    ]\n  )\n\n  const setPaymentCurrency: typeof _setPaymentCurrency = useCallback(\n    (\n      value:\n        | EnhancedCurrency\n        | ((\n            prevState: EnhancedCurrency | undefined\n          ) => EnhancedCurrency | undefined)\n        | undefined\n    ) => {\n      if (typeof value === 'function') {\n        _setPaymentCurrency((prevState) => {\n          const newValue = value(prevState)\n          if (\n            newValue?.address !== paymentCurrency?.address ||\n            newValue?.chainId !== paymentCurrency?.chainId\n          ) {\n            fetchBuyPath(newValue, paymentTokens)?.catch((err) => {\n              if (\n                err?.statusCode === 400 &&\n                err?.message?.includes('Price too high')\n              ) {\n                _setPaymentCurrency(prevState)\n              }\n            })\n          }\n          return newValue\n        })\n      } else {\n        if (\n          value?.address !== paymentCurrency?.address ||\n          value?.chainId !== paymentCurrency?.chainId\n        ) {\n          _setPaymentCurrency(value)\n          fetchBuyPath(value, paymentTokens)?.catch((err) => {\n            if (\n              err?.statusCode === 400 &&\n              err?.message?.includes('Price too high')\n            ) {\n              _setPaymentCurrency(paymentCurrency)\n            }\n          })\n        }\n      }\n    },\n    [fetchBuyPath, _setPaymentCurrency, paymentCurrency]\n  )\n\n  const fetchBuyPathIfIdle = useCallback(() => {\n    if (collection && sweepStep === SweepStep.Idle) {\n      fetchBuyPath(paymentCurrency, paymentTokens)\n    }\n  }, [fetchBuyPath, sweepStep, collection])\n\n  useEffect(() => {\n    if (open) {\n      fetchBuyPathIfIdle()\n\n      const intervalId = setInterval(fetchBuyPathIfIdle, 60000) // Poll buy api every 1 minute\n      return () => clearInterval(intervalId)\n    }\n  }, [client, wallet, open, fetchBuyPathIfIdle, tokenId, is1155, collection])\n\n  useEffect(() => {\n    let totalFees = 0n\n\n    if (\n      paymentCurrency?.currencyTotalRaw &&\n      paymentCurrency.currencyTotalRaw > 0n\n    ) {\n      let currencyTotalRawMinusRelayerFees = paymentCurrency?.currencyTotalRaw\n\n      // if cross-chain, subtract relayer fees from currencyTotalRaw\n      if (buyResponseFees?.relayer?.amount?.raw) {\n        const relayerFees = BigInt(buyResponseFees?.relayer?.amount?.raw ?? 0)\n\n        currencyTotalRawMinusRelayerFees -= relayerFees\n      }\n\n      if (feesOnTopBps && feesOnTopBps.length > 0) {\n        const fees = feesOnTopBps.reduce((totalFees, feeOnTop) => {\n          const [_, fee] = feeOnTop.split(':')\n          return (\n            totalFees +\n            (BigInt(fee) * currencyTotalRawMinusRelayerFees) / 10000n\n          )\n        }, 0n)\n        totalFees += fees\n        setFeeOnTop(fees)\n      } else if (feesOnTopUsd && feesOnTopUsd.length > 0 && usdPriceRaw) {\n        const fees = feesOnTopUsd.reduce((totalFees, feeOnTop) => {\n          const [_, fee] = feeOnTop.split(':')\n          const atomicFee = BigInt(fee)\n          const convertedAtomicFee =\n            atomicFee * BigInt(10 ** paymentCurrency?.decimals!)\n          const currencyFee = convertedAtomicFee / usdPriceRaw\n          return totalFees + currencyFee\n        }, 0n)\n        totalFees += fees\n        setFeeOnTop(fees)\n      } else {\n        setFeeOnTop(0n)\n      }\n\n      setTotalIncludingFees(paymentCurrency.currencyTotalRaw + totalFees)\n      setAverageUnitPrice(paymentCurrency.currencyTotalRaw / BigInt(itemAmount))\n    } else {\n      setTotalIncludingFees(0n)\n      setAverageUnitPrice(0n)\n    }\n  }, [\n    paymentCurrency,\n    feesOnTopBps,\n    feesOnTopUsd,\n    usdPriceRaw,\n    itemAmount,\n    buyResponseFees,\n  ])\n\n  const { relayLink } = useRelayChains(rendererChain?.id)\n\n  let addFundsLink: string = ''\n\n  if (relayLink) {\n    addFundsLink = paymentCurrency?.address\n      ? `${relayLink}?toCurrency=${paymentCurrency?.address}`\n      : relayLink\n  } else {\n    addFundsLink = paymentCurrency?.address\n      ? `https://jumper.exchange/?toChain=${rendererChain?.id}&toToken=${paymentCurrency?.address}`\n      : `https://jumper.exchange/?toChain=${rendererChain?.id}`\n  }\n\n  if (providerOptions?.convertLink?.chainUrl) {\n    addFundsLink =\n      paymentCurrency?.address && providerOptions.convertLink.tokenUrl\n        ? providerOptions.convertLink.tokenUrl\n        : providerOptions.convertLink.chainUrl\n\n    if (rendererChain?.id) {\n      addFundsLink = addFundsLink.replace('{toChain}', `${rendererChain.id}`)\n    }\n    if (paymentCurrency?.address) {\n      addFundsLink = addFundsLink.replace('{toToken}', paymentCurrency?.address)\n    }\n  } else if (providerOptions?.convertLink?.customUrl) {\n    addFundsLink = providerOptions.convertLink.customUrl?.({\n      toChain: rendererChain?.id,\n      toToken: paymentCurrency?.address,\n      toCurrency: paymentCurrency,\n    })\n  }\n\n  // Determine if user has enough funds in paymentToken\n  useEffect(() => {\n    if (\n      paymentCurrency?.balance != undefined &&\n      totalIncludingFees != undefined &&\n      BigInt(paymentCurrency?.balance) < totalIncludingFees\n    ) {\n      setHasEnoughCurrency(false)\n    } else {\n      setHasEnoughCurrency(true)\n    }\n  }, [totalIncludingFees, paymentCurrency?.balance])\n\n  useEffect(() => {\n    let updatedTokens = []\n    let quantity = 0\n    for (var i = 0; i < orders.length; i++) {\n      const order = orders[i]\n      if (order.quantity && order.quantity > 1) {\n        quantity += order.quantity\n      } else {\n        quantity++\n      }\n      updatedTokens.push(order)\n      if (quantity >= itemAmount) {\n        break\n      }\n    }\n    setSelectedTokens(updatedTokens)\n  }, [itemAmount, maxItemAmount, orders])\n\n  // Reset state on close\n  useEffect(() => {\n    if (!open) {\n      setSelectedTokens([])\n      setOrders([])\n      setItemAmount(1)\n      setMaxItemAmount(1)\n      setSweepStep(SweepStep.Idle)\n      setTransactionError(null)\n      setFetchedInitialOrders(false)\n      setIsFetchingPath(false)\n      _setPaymentCurrency(undefined)\n      setBuyResponseFees(undefined)\n      setStepData(null)\n    } else {\n      setItemAmount(defaultQuantity || 1)\n    }\n  }, [open])\n\n  open\n    ? (axios.defaults.headers.common['x-rkui-context'] = 'sweepModalRenderer')\n    : delete axios.defaults.headers.common?.['x-rkui-context']\n\n  useEffect(() => {\n    if (maxItemAmount > 0 && itemAmount > maxItemAmount) {\n      setItemAmount(maxItemAmount)\n    }\n  }, [maxItemAmount, itemAmount])\n\n  const sweepTokens = useCallback(async () => {\n    if (!wallet) {\n      onConnectWallet()\n      if (document.body.style) {\n        document.body.style.pointerEvents = 'auto'\n      }\n      client?.log(['Missing wallet, prompting connection'], LogLevel.Verbose)\n      return\n    }\n\n    let activeWalletChain = getAccount(config).chain\n    if (paymentCurrency?.chainId !== activeWalletChain?.id) {\n      activeWalletChain = await switchChain(config, {\n        chainId: paymentCurrency?.chainId as number,\n      })\n    }\n    if (paymentCurrency?.chainId !== activeWalletChain?.id) {\n      const error = new Error(`Mismatching chainIds`)\n      setTransactionError(error)\n      throw error\n    }\n\n    if (!client) {\n      const error = new Error('ReservoirClient was not initialized')\n      setTransactionError(error)\n      throw error\n    }\n\n    setTransactionError(null)\n    let options: BuyTokenOptions = {\n      partial: true,\n      currency: paymentCurrency?.address,\n      currencyChainId: paymentCurrency?.chainId,\n      skipBalanceCheck: hasAuxiliaryFundsSupport,\n    }\n\n    const relayerFee = BigInt(buyResponseFees?.relayer?.amount?.raw ?? 0)\n\n    if (feesOnTopBps && feesOnTopBps?.length > 0) {\n      const fixedFees = feesOnTopBps.map((fullFee) => {\n        const [referrer, feeBps] = fullFee.split(':')\n        let totalFeeTruncated = totalIncludingFees - feeOnTop\n\n        // if relayer fee, subtract from total\n        if (relayerFee) {\n          totalFeeTruncated -= relayerFee\n        }\n\n        const fee = Math.floor(\n          Number(totalFeeTruncated * BigInt(feeBps)) / 10000\n        )\n        const atomicUnitsFee = formatUnits(BigInt(fee), 0)\n        return `${referrer}:${atomicUnitsFee}`\n      })\n      options.feesOnTop = fixedFees\n    } else if (feesOnTopUsd && feesOnTopUsd.length > 0 && usdPriceRaw) {\n      const feesOnTopFixed = feesOnTopUsd.map((feeOnTop) => {\n        const [recipient, fee] = feeOnTop.split(':')\n        const atomicFee = BigInt(fee)\n        const convertedAtomicFee =\n          atomicFee * BigInt(10 ** paymentCurrency?.decimals!)\n        const currencyFee = convertedAtomicFee / usdPriceRaw\n        const parsedFee = formatUnits(currencyFee, 0)\n        return `${recipient}:${parsedFee}`\n      })\n      options.feesOnTop = feesOnTopFixed\n    } else if (!feesOnTopUsd && !feesOnTopBps) {\n      delete options.feesOnTop\n    }\n\n    if (normalizeRoyalties !== undefined) {\n      options.normalizeRoyalties = normalizeRoyalties\n    }\n\n    if (usePermit) {\n      options.usePermit = true\n    }\n\n    setSweepStep(SweepStep.Approving)\n\n    client.actions\n      .buyToken({\n        chainId: rendererChain?.id,\n        items: [\n          {\n            collection: tokenData?.token?.tokenId ? undefined : collection?.id,\n            token: tokenData?.token?.tokenId\n              ? `${collectionContract}:${tokenData?.token?.tokenId}`\n              : undefined,\n            quantity: itemAmount,\n            fillType: 'trade',\n          },\n        ],\n        expectedPrice: {\n          [paymentCurrency?.address || zeroAddress]: {\n            raw: totalIncludingFees - relayerFee,\n            currencyAddress: paymentCurrency?.address,\n            currencyDecimals: paymentCurrency?.decimals || 18,\n          },\n        },\n        wallet,\n        options,\n        onProgress: (steps: Execute['steps'], path: Execute['path']) => {\n          if (!steps) {\n            return\n          }\n\n          const executableSteps = steps.filter(\n            (step) => step.items && step.items.length > 0\n          )\n\n          let stepCount = executableSteps.length\n\n          let currentStepItem:\n            | NonNullable<Execute['steps'][0]['items']>[0]\n            | undefined\n\n          const currentStepIndex = executableSteps.findIndex((step) => {\n            currentStepItem = step.items?.find(\n              (item) => item.status === 'incomplete'\n            )\n            return currentStepItem\n          })\n\n          const currentStep =\n            currentStepIndex > -1\n              ? executableSteps[currentStepIndex]\n              : executableSteps[stepCount - 1]\n\n          if (currentStepItem) {\n            setStepData({\n              totalSteps: stepCount,\n              stepProgress: currentStepIndex,\n              currentStep,\n              currentStepItem,\n              path: path,\n            })\n          }\n\n          if (\n            currentStepIndex + 1 === executableSteps.length &&\n            currentStep?.items?.every((item) => item.txHashes)\n          ) {\n            setSweepStep(SweepStep.Finalizing)\n          }\n\n          if (\n            steps.every(\n              (step) =>\n                !step.items ||\n                step.items.length == 0 ||\n                step.items?.every((item) => item.status === 'complete')\n            )\n          ) {\n            setSweepStep(SweepStep.Complete)\n          }\n        },\n      })\n      .catch((error: Error) => {\n        setTransactionError(error)\n        setSweepStep(SweepStep.Idle)\n        mutateCollection()\n        fetchBuyPath(paymentCurrency, paymentTokens)\n      })\n  }, [\n    selectedTokens,\n    client,\n    wallet,\n    config,\n    address,\n    totalIncludingFees,\n    normalizeRoyalties,\n    wagmiChain,\n    rendererChain,\n    collectionId,\n    collection?.id,\n    tokenId,\n    feesOnTopBps,\n    onConnectWallet,\n    feesOnTopUsd,\n    itemAmount,\n    tokenData?.token?.tokenId,\n    collectionContract,\n    paymentCurrency?.address,\n    paymentCurrency?.chainId,\n    paymentCurrency?.currencyTotalRaw,\n    paymentTokens,\n    buyResponseFees,\n    usePermit,\n    hasAuxiliaryFundsSupport,\n  ])\n\n  return (\n    <>\n      {children({\n        collection,\n        token: tokenData,\n        loading:\n          isFetchingCollections ||\n          (!isFetchingCollections && collection && !fetchedInitialOrders) ||\n          ((token !== undefined || isSingleToken1155) && !tokenData) ||\n          !(paymentTokens.length > 0),\n        isFetchingPath,\n        address: address,\n        selectedTokens,\n        setSelectedTokens,\n        itemAmount,\n        setItemAmount,\n        maxItemAmount,\n        setMaxItemAmount,\n        paymentCurrency,\n        setPaymentCurrency,\n        chainCurrency,\n        paymentTokens,\n        totalIncludingFees,\n        buyResponseFees,\n        averageUnitPrice,\n        feeOnTop,\n        feeUsd,\n        usdPrice,\n        disableJumperLink,\n        usdPriceRaw,\n        isConnected: wallet !== undefined,\n        currentChain,\n        orders,\n        balance: paymentCurrency?.balance\n          ? BigInt(paymentCurrency.balance)\n          : undefined,\n        hasEnoughCurrency,\n        hasAuxiliaryFundsSupport,\n        addFundsLink,\n        blockExplorerBaseUrl,\n        transactionError,\n        stepData,\n        setStepData,\n        sweepStep,\n        setSweepStep,\n        sweepTokens,\n      })}\n    </>\n  )\n}\n","import { useFallbackState } from '../../hooks'\nimport { keyframes } from '../../../stitches.config'\nimport {\n  Box,\n  Flex,\n  Text,\n  Button,\n  Anchor,\n  FormatCryptoCurrency,\n  FormatCurrency,\n  Loader,\n  ChainIcon,\n} from '../../primitives'\nimport Popover from '../../primitives/Popover'\nimport React, {\n  ComponentPropsWithRef,\n  Dispatch,\n  ReactElement,\n  ReactNode,\n  SetStateAction,\n  useContext,\n  useEffect,\n  useMemo,\n  useState,\n} from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faClose } from '@fortawesome/free-solid-svg-icons/faClose'\nimport { faLock } from '@fortawesome/free-solid-svg-icons/faLock'\nimport { faRefresh } from '@fortawesome/free-solid-svg-icons/faRefresh'\nimport { faShoppingCart } from '@fortawesome/free-solid-svg-icons/faShoppingCart'\n\nimport { ProviderOptionsContext } from '../../ReservoirKitProvider'\nimport CartItem from './CartItem'\nimport CartToast from './CartToast'\nimport CartPopoverRenderer from './CartPopoverRenderer'\nimport {\n  CheckoutStatus,\n  CheckoutTransactionError,\n} from '../../context/CartProvider'\nimport { useAccount } from 'wagmi'\nimport { CartCheckoutModal } from './CartCheckoutModal'\nimport { Logo } from '../../modal/Modal'\nimport { truncateAddress } from '../../lib/truncate'\nimport getChainBlockExplorerUrl from '../../lib/getChainBlockExplorerUrl'\n\nconst scaleUp = keyframes({\n  '0%': { opacity: 0, transform: 'scale(0.9) translateY(-10px)' },\n  '100%': { opacity: 1, transform: 'scale(1) translateY(0)' },\n})\n\nconst scaleDown = keyframes({\n  '0%': { opacity: 1, transform: 'scale(1) translateY(0)' },\n  '100%': { opacity: 0, transform: 'scale(0.9) translateY(-10px)' },\n})\n\ntype Props = {\n  trigger: ReactNode\n  side?: ComponentPropsWithRef<typeof Popover>['side']\n  openState?: [boolean, Dispatch<SetStateAction<boolean>>]\n  tokenUrl?: string\n  onConnectWallet: () => void\n}\n\nconst CONTENT_OFFSET = 8\n\nexport function CartPopover({\n  trigger,\n  side,\n  openState,\n  tokenUrl,\n  onConnectWallet,\n}: Props): ReactElement {\n  const [popoverTrigger, setPopoverTrigger] =\n    useState<HTMLButtonElement | null>(null)\n  const [open, setOpen] = useFallbackState(\n    openState ? openState[0] : false,\n    openState\n  )\n  const providerOptionsContext = useContext(ProviderOptionsContext)\n  const [displayPendingTransaction, setDisplayPendingTransaction] =\n    useState(false)\n  const [purchaseComplete, setPurchaseComplete] = useState(false)\n  const { isConnected } = useAccount()\n\n  useEffect(() => {\n    if (!open) {\n      setDisplayPendingTransaction(false)\n      setPurchaseComplete(false)\n    }\n  }, [open])\n\n  const triggerBottom = useMemo(\n    () =>\n      (popoverTrigger?.offsetTop || 0) +\n      (popoverTrigger?.offsetHeight || 0) +\n      CONTENT_OFFSET,\n    [trigger]\n  )\n\n  return (\n    <CartPopoverRenderer open={open}>\n      {({\n        loading,\n        items,\n        unavailableItems,\n        priceChangeItems,\n        totalPrice,\n        feeOnTop,\n        usdPrice,\n        hasEnoughCurrency,\n        hasAuxiliaryFundsSupport,\n        balance,\n        currency,\n        cartCurrencyConverted,\n        transaction,\n        blockExplorerBaseUrl,\n        cartChain,\n        remove,\n        clear,\n        checkout,\n      }) => {\n        useEffect(() => {\n          if (transaction?.status === CheckoutStatus.Complete) {\n            setDisplayPendingTransaction(false)\n            setPurchaseComplete(true)\n          }\n        }, [transaction?.status])\n\n        const unavailableItemsSubject =\n          unavailableItems.length > 1 ? 'items' : 'item'\n        const priceChangeItemsSubject =\n          priceChangeItems.length > 1 ? 'items prices' : 'item price'\n        const isCartEmpty = items.length === 0\n        const hasValidItems = items.length > unavailableItems.length\n\n        return (\n          <Popover.Root modal={true} open={open} onOpenChange={setOpen}>\n            <Popover.Trigger asChild ref={setPopoverTrigger}>\n              {trigger}\n            </Popover.Trigger>\n            <Popover.Content\n              side={side}\n              sideOffset={CONTENT_OFFSET}\n              css={{\n                display: 'flex',\n                flexDirection: 'column',\n                zIndex: 1001,\n                transformOrigin:\n                  'var(--radix-popover-content-transform-origin)',\n                animation: `${open ? scaleUp : scaleDown} 0.2s ease-in-out`,\n                overflowY: 'auto',\n                borderRadius: '$borderRadius',\n                $$shadowColor: '$colors$gray7',\n                boxShadow: 'box-shadow: 0px 2px 16px $$shadowColor',\n                border: '1px solid $borderColor',\n                p: 24,\n                minHeight: 500,\n                width: 395,\n                maxHeight: `calc(100vh - ${\n                  triggerBottom || 0\n                }px - (25px * 2) - 10px)`,\n                backgroundColor: '$contentBackground',\n                boxSizing: 'border-box',\n                '@media(max-width: 520px)': {\n                  height: `calc(100vh - ${triggerBottom || 0}px - (25px * 2))`,\n                  width: '100vw',\n                  minHeight: '100%',\n                },\n              }}\n            >\n              {loading && (\n                <Loader\n                  css={{\n                    backgroundColor: '$contentBackground',\n                    position: 'absolute',\n                    inset: 0,\n                    opacity: 0.6,\n                    zIndex: 10000,\n                  }}\n                />\n              )}\n              <Flex align=\"center\" css={{ mb: '$4' }}>\n                <Text style=\"h6\">Cart</Text>\n                {!isCartEmpty && (\n                  <Flex\n                    align=\"center\"\n                    justify=\"center\"\n                    css={{\n                      background: '$accentSolid',\n                      height: 20,\n                      width: 20,\n                      borderRadius: '99999px',\n                      ml: '$2',\n                    }}\n                  >\n                    <Text style=\"subtitle3\" color=\"button\">\n                      {items.length}\n                    </Text>\n                  </Flex>\n                )}\n                {!isCartEmpty && (\n                  <Text\n                    style=\"subtitle3\"\n                    css={{\n                      color: '$accentSolid',\n                      cursor: 'pointer',\n                      ml: 24,\n                      '&:hover': { color: '$accentSolidHover' },\n                    }}\n                    onClick={clear}\n                  >\n                    Clear All\n                  </Text>\n                )}\n                <Button\n                  size=\"none\"\n                  color=\"ghost\"\n                  css={{ color: '$neutralSolid', ml: 'auto' }}\n                  onClick={() => {\n                    setOpen(false)\n                  }}\n                >\n                  <FontAwesomeIcon icon={faClose} width=\"16\" height=\"16\" />\n                </Button>\n              </Flex>\n              {cartCurrencyConverted && (\n                <CartToast\n                  kind=\"warning\"\n                  message={`Mixed currency items are only available to be checked out with ${currency?.symbol}`}\n                />\n              )}\n              <Flex align=\"center\" css={{ mb: '$4' }}>\n                <ChainIcon\n                  chainId={cartChain?.id}\n                  height={12}\n                  css={{ mr: 5 }}\n                />\n                <Text style=\"body3\" color=\"subtle\">\n                  {cartChain?.name}\n                </Text>\n              </Flex>\n              {unavailableItems.length > 0 && (\n                <CartToast\n                  kind=\"error\"\n                  message={`${unavailableItems.length} ${unavailableItemsSubject} no longer available`}\n                  link={\n                    <Text\n                      color=\"accent\"\n                      style=\"subtitle3\"\n                      css={{ ml: 'auto', mt: 3, cursor: 'pointer' }}\n                      onClick={(e) => {\n                        e.preventDefault()\n                        remove(\n                          unavailableItems.map(\n                            (item) => `${item.collection.id}:${item.token.id}`\n                          )\n                        )\n                      }}\n                    >\n                      Remove {unavailableItemsSubject}\n                    </Text>\n                  }\n                />\n              )}\n              {priceChangeItems.length > 0 && (\n                <CartToast\n                  kind=\"warning\"\n                  message={`${priceChangeItems.length} ${priceChangeItemsSubject} updated`}\n                />\n              )}\n              {transaction?.error && (\n                <CartToast\n                  kind=\"error\"\n                  message={\n                    transaction.errorType ===\n                    CheckoutTransactionError.UserDenied\n                      ? 'User denied transaction signature.'\n                      : transaction.error.message\n                  }\n                />\n              )}\n              {purchaseComplete\n                ? transaction?.txHashes?.map((hash) => {\n                    const truncatedTxHash = truncateAddress(hash.txHash)\n                    const blockExplorerBaseUrl = getChainBlockExplorerUrl(\n                      hash.chainId\n                    )\n                    return (\n                      <CartToast\n                        message={`Transaction Complete`}\n                        link={\n                          <Anchor\n                            href={`${blockExplorerBaseUrl}/tx/${hash.txHash}`}\n                            target=\"_blank\"\n                            css={{ ml: 'auto', fontSize: 12, mt: 2 }}\n                            weight=\"medium\"\n                            color=\"primary\"\n                          >\n                            View transaction: {truncatedTxHash}\n                          </Anchor>\n                        }\n                      />\n                    )\n                  })\n                : null}\n              {!isCartEmpty && (\n                <Flex\n                  direction=\"column\"\n                  css={{ gap: '$4', mb: '$4', overflowY: 'auto', mx: -24 }}\n                >\n                  {items.map((item) => (\n                    <CartItem\n                      key={`${item.collection.id}:${item.token.id}`}\n                      item={item}\n                      usdConversion={usdPrice}\n                      tokenUrl={tokenUrl}\n                    />\n                  ))}\n                </Flex>\n              )}\n              {isCartEmpty &&\n                !(\n                  displayPendingTransaction &&\n                  transaction?.status === CheckoutStatus.Finalizing\n                ) && (\n                  <Flex\n                    direction=\"column\"\n                    align=\"center\"\n                    justify=\"center\"\n                    css={{ color: '$neutralBorderHover', flex: 1, gap: '$5' }}\n                  >\n                    <FontAwesomeIcon\n                      icon={faShoppingCart}\n                      width=\"30\"\n                      height=\"30\"\n                      style={{ height: 30 }}\n                    />\n                    <Text style=\"body2\" color=\"subtle\">\n                      No items in your cart\n                    </Text>\n                  </Flex>\n                )}\n              <Flex direction=\"column\" css={{ mt: 'auto', pb: 10 }}>\n                {!isCartEmpty && feeOnTop ? (\n                  <Flex css={{ mb: '$4' }}>\n                    <Text style=\"subtitle3\">Referrer Fee</Text>\n                    <Flex\n                      direction=\"column\"\n                      justify=\"center\"\n                      css={{ ml: 'auto', gap: '$1', '> div': { ml: 'auto' } }}\n                    >\n                      <FormatCryptoCurrency\n                        textStyle=\"subtitle3\"\n                        amount={feeOnTop}\n                        address={currency?.contract}\n                        decimals={currency?.decimals}\n                        symbol={currency?.symbol}\n                        logoWidth={12}\n                        chainId={cartChain?.id}\n                      />\n                      {usdPrice && (\n                        <FormatCurrency\n                          amount={usdPrice * feeOnTop}\n                          style=\"subtitle3\"\n                          color=\"subtle\"\n                          css={{ textAlign: 'end' }}\n                        />\n                      )}\n                    </Flex>\n                  </Flex>\n                ) : null}\n                {!isCartEmpty && (\n                  <Flex css={{ mb: 28 }}>\n                    <Text style=\"h6\">Total</Text>\n                    <Flex\n                      direction=\"column\"\n                      justify=\"center\"\n                      css={{ ml: 'auto', gap: '$1', '> div': { ml: 'auto' } }}\n                    >\n                      {providerOptionsContext.preferDisplayFiatTotal &&\n                      usdPrice ? (\n                        <>\n                          <FormatCurrency\n                            amount={usdPrice * totalPrice}\n                            style=\"h6\"\n                            color=\"base\"\n                            css={{ textAlign: 'end' }}\n                          />\n                          <FormatCryptoCurrency\n                            textStyle=\"subtitle3\"\n                            textColor=\"subtle\"\n                            amount={totalPrice}\n                            address={currency?.contract}\n                            decimals={currency?.decimals}\n                            symbol={currency?.symbol}\n                            logoWidth={12}\n                            chainId={cartChain?.id}\n                          />\n                        </>\n                      ) : (\n                        <>\n                          <FormatCryptoCurrency\n                            textStyle=\"h6\"\n                            amount={totalPrice}\n                            address={currency?.contract}\n                            decimals={currency?.decimals}\n                            symbol={currency?.symbol}\n                            logoWidth={18}\n                            chainId={cartChain?.id}\n                          />\n                          {usdPrice && (\n                            <FormatCurrency\n                              amount={usdPrice * totalPrice}\n                              style=\"subtitle3\"\n                              color=\"subtle\"\n                              css={{ textAlign: 'end' }}\n                            />\n                          )}\n                        </>\n                      )}\n                    </Flex>\n                  </Flex>\n                )}\n                <CartCheckoutModal\n                  open={\n                    (transaction?.status == CheckoutStatus.Approving ||\n                      transaction?.status == CheckoutStatus.Finalizing ||\n                      transaction?.status == CheckoutStatus.Complete) &&\n                    !transaction?.error\n                  }\n                  items={items}\n                  currency={currency}\n                  totalPrice={totalPrice}\n                  usdPrice={usdPrice || 0}\n                  transaction={transaction}\n                  cartChain={cartChain}\n                  blockExplorerBaseUrl={blockExplorerBaseUrl}\n                  setCartPopoverOpen={setOpen}\n                />\n\n                {!hasEnoughCurrency &&\n                  !hasAuxiliaryFundsSupport &&\n                  isConnected && (\n                    <Flex\n                      align=\"center\"\n                      justify=\"center\"\n                      css={{ mb: '$2', gap: '$2' }}\n                    >\n                      <Text style=\"body3\" color=\"error\">\n                        Insufficient balance\n                      </Text>\n                      <FormatCryptoCurrency\n                        textStyle=\"body3\"\n                        chainId={cartChain?.id}\n                        amount={balance}\n                        address={currency?.contract}\n                        decimals={currency?.decimals}\n                        symbol={currency?.symbol}\n                        logoWidth={10}\n                      />\n                    </Flex>\n                  )}\n                {isCartEmpty && !displayPendingTransaction && (\n                  <Button disabled={true}>Select Items to Buy</Button>\n                )}\n                {!isCartEmpty &&\n                  hasValidItems &&\n                  (transaction?.status === CheckoutStatus.Idle ||\n                    !displayPendingTransaction) && (\n                    <Button\n                      disabled={\n                        !hasEnoughCurrency &&\n                        !hasAuxiliaryFundsSupport &&\n                        isConnected\n                      }\n                      onClick={async () => {\n                        if (!isConnected) {\n                          onConnectWallet?.()\n                        } else {\n                          checkout({\n                            skipBalanceCheck: hasAuxiliaryFundsSupport,\n                          })\n                            .then(() => {\n                              setDisplayPendingTransaction(true)\n                            })\n                            .catch((e) => {\n                              console.error(e)\n                              setDisplayPendingTransaction(false)\n                            })\n                        }\n                      }}\n                    >\n                      {hasEnoughCurrency ||\n                      !isConnected ||\n                      hasAuxiliaryFundsSupport\n                        ? 'Purchase'\n                        : 'Add Funds to Purchase'}\n                    </Button>\n                  )}\n                {!isCartEmpty && !hasValidItems && (\n                  <Button\n                    color=\"secondary\"\n                    onClick={() => {\n                      clear()\n                    }}\n                  >\n                    <FontAwesomeIcon icon={faRefresh} width=\"16\" height=\"16\" />\n                    Refresh Cart\n                  </Button>\n                )}\n\n                {!providerOptionsContext.disablePoweredByReservoir && (\n                  <Flex\n                    align=\"center\"\n                    css={{\n                      mx: 'auto',\n                      alignItems: 'center',\n                      justifyContent: 'center',\n                      mt: 26,\n                      gap: '$1',\n                      visibility: '$poweredByReservoirVisibility',\n                    }}\n                  >\n                    <Box css={{ color: '$neutralBorderHover' }}>\n                      <FontAwesomeIcon icon={faLock} width={9} height={10} />\n                    </Box>\n                    <Text\n                      style=\"tiny\"\n                      color=\"subtle\"\n                      css={{\n                        display: 'inline-flex',\n                        alignItems: 'center',\n                        gap: 4,\n                        lineHeight: '14px',\n                        fontWeight: 400,\n                        color: '$neutralText',\n                      }}\n                    >\n                      Powered by{' '}\n                      <Anchor\n                        href=\"https://reservoir.tools/\"\n                        target=\"_blank\"\n                        weight=\"heavy\"\n                        color=\"gray\"\n                        css={{\n                          height: 12,\n                          fontSize: 12,\n                          '&:hover': {\n                            color: '$neutralSolid',\n                            fill: '$neutralSolid',\n                          },\n                        }}\n                      >\n                        <Logo />\n                      </Anchor>\n                    </Text>\n                  </Flex>\n                )}\n              </Flex>\n            </Popover.Content>\n            {open && (\n              <Box\n                css={{\n                  backgroundColor: '$overlayBackground',\n                  position: 'fixed',\n                  inset: 0,\n                  zIndex: 1000,\n                }}\n              ></Box>\n            )}\n          </Popover.Root>\n        )\n      }}\n    </CartPopoverRenderer>\n  )\n}\n\nCartPopover.Custom = CartPopoverRenderer\n\nexport default CartPopover\n","import React, { FC, useContext } from 'react'\nimport { useCart, useReservoirClient } from '../../hooks'\nimport {\n  Button,\n  Flex,\n  FormatCryptoCurrency,\n  FormatCurrency,\n  Text,\n} from '../../primitives'\nimport { styled } from '../../../stitches.config'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faArrowDown } from '@fortawesome/free-solid-svg-icons/faArrowDown'\nimport { faArrowUp } from '@fortawesome/free-solid-svg-icons/faArrowUp'\nimport { faClose } from '@fortawesome/free-solid-svg-icons/faClose'\n\nimport { Cart } from '../../context/CartProvider'\nimport { formatNumber } from '../../lib/numbers'\nimport QuantitySelector from '../../modal/QuantitySelector'\nimport * as allChains from 'viem/chains'\nimport { Chain } from 'viem'\nimport { customChains } from '@reservoir0x/reservoir-sdk'\nimport { ProviderOptionsContext } from '../../ReservoirKitProvider'\n\ntype Props = {\n  item: Cart['items'][0]\n  usdConversion: number | null\n  tokenUrl?: string\n}\n\nconst CartItemImage = styled('img', {\n  width: 56,\n  height: 56,\n  borderRadius: 4,\n  objectFit: 'cover',\n})\n\nconst CloseButton = styled(Button, {\n  position: 'absolute',\n  width: 24,\n  height: 24,\n  top: -8,\n  right: -8,\n  flexShrink: 0,\n  defaultVariants: {\n    size: 'none',\n    corners: 'circle',\n  },\n})\n\nconst CartItem: FC<Props> = ({ item, usdConversion, tokenUrl }) => {\n  const providerOptionsContext = useContext(ProviderOptionsContext)\n  const { token, collection, order } = item\n  const contract = collection.id.split(':')[0]\n  const client = useReservoirClient()\n  const {\n    remove,\n    data: cartCurrency,\n    setQuantity,\n  } = useCart((cart) => cart.currency)\n  const { data: cartChain } = useCart((cart) => cart.chain)\n\n  const currencyConverted =\n    item.price && item.price?.currency?.contract !== cartCurrency?.contract\n  let price = currencyConverted\n    ? item.price?.amount?.native\n    : item.price?.amount?.decimal\n  let previousPrice =\n    item.previousPrice?.currency?.contract !== cartCurrency?.contract\n      ? item.previousPrice?.amount?.native\n      : item.previousPrice?.amount?.decimal\n  let priceDiff = 0\n  let priceIncrease = false\n  let priceDecrease = false\n  if (price !== undefined && previousPrice !== undefined) {\n    priceDiff = Math.abs(((price - previousPrice) / price) * 100)\n    priceIncrease = price > previousPrice\n    priceDecrease = price < previousPrice\n  }\n  let usdPrice = (usdConversion || 0) * (price || 0)\n  const reservoirChain = client?.chains.find(\n    (chain) => cartChain?.id === chain.id\n  )\n\n  if (price && order?.quantity) {\n    price = price * order.quantity\n    usdPrice = usdPrice * order.quantity\n  }\n\n  return (\n    <Flex\n      direction=\"column\"\n      css={{\n        transition: 'background-color 0.25s ease-in-out',\n        '&:hover': {\n          backgroundColor: '$neutralBgHover',\n        },\n      }}\n    >\n      <Flex\n        onClick={() => {\n          let chain: Chain | undefined = Object.values(allChains).find(\n            (chain) => cartChain?.id === chain.id\n          )\n\n          if (!chain) {\n            chain =\n              Object.values(customChains).find(\n                (chain) => chain.id === reservoirChain?.id\n              ) ?? allChains.mainnet\n          }\n\n          let url: string | undefined = tokenUrl\n          if (!url && cartChain) {\n            let tokenMetaKey: string | null = null\n            if (cartChain.id === allChains.mainnet.id) {\n              tokenMetaKey = 'reservoir:token-url-mainnet'\n            } else {\n              tokenMetaKey = `reservoir:token-url-${chain?.name.toLowerCase()}`\n            }\n            const tokenMetaTag = document.querySelector(\n              `meta[property='${tokenMetaKey}']`\n            )\n            if (tokenMetaTag) {\n              url = tokenMetaTag.getAttribute('content') || undefined\n            }\n          }\n          if (url) {\n            window.location.href = url\n              .replace('${contract}', contract)\n              .replace('${tokenId}', token.id)\n          }\n        }}\n        css={{\n          width: '100%',\n          px: 24,\n          py: 8,\n          cursor: 'pointer',\n        }}\n      >\n        <Flex css={{ position: 'relative', minWidth: 0, flexShrink: 0 }}>\n          <CartItemImage\n            src={`${reservoirChain?.baseApiUrl}/redirect/tokens/${contract}:${token.id}/image/v1?imageSize=small`}\n            css={!price ? { filter: 'grayscale(1)' } : {}}\n            onError={({ currentTarget }) => {\n              const collectionImage = `${reservoirChain?.baseApiUrl}/redirect/collections/${collection.id}/image/v1`\n              if (currentTarget.src != collectionImage) {\n                currentTarget.src = collectionImage\n              }\n            }}\n          />\n          <CloseButton\n            css={{\n              '&:hover': {\n                background: '$errorAccent',\n              },\n              background: !item.price ? '$errorAccent' : '$neutralSolid',\n            }}\n            onClick={(e) => {\n              e.stopPropagation()\n              e.preventDefault()\n              if (order?.id) {\n                remove([order?.id])\n              } else {\n                remove([`${collection.id}:${token.id}`])\n              }\n            }}\n          >\n            <FontAwesomeIcon icon={faClose} width=\"16\" height=\"16\" />\n          </CloseButton>\n        </Flex>\n        <Flex\n          direction=\"column\"\n          justify=\"center\"\n          css={{ gap: 2, ml: '$2', minWidth: 0 }}\n        >\n          <Flex align=\"center\" css={{ gap: '$1' }}>\n            <Text style=\"h6\" color={price ? undefined : 'subtle'} ellipsify>\n              {token.name ? token.name : `#${token.id}`}\n            </Text>\n          </Flex>\n          <Text style=\"body3\" color=\"subtle\" ellipsify>\n            {collection.name}\n          </Text>\n          {!price && !order?.id && (\n            <Text style=\"body3\" color=\"error\">\n              Item no longer available\n            </Text>\n          )}\n          {!price && order?.id && (\n            <Text style=\"body3\" color=\"error\">\n              Listing no longer available\n            </Text>\n          )}\n          {!priceIncrease && !priceDecrease && currencyConverted && (\n            <Flex\n              css={{ gap: '$1', color: '$accentSolidHover' }}\n              align=\"center\"\n            >\n              <Text style=\"body3\" color=\"accent\">\n                Currency converted\n              </Text>\n            </Flex>\n          )}\n          {priceIncrease && (\n            <Flex\n              css={{ gap: '$1', color: '$accentSolidHover' }}\n              align=\"center\"\n            >\n              <FontAwesomeIcon width=\"11\" icon={faArrowUp} />\n              <Text style=\"body2\" color=\"accent\">\n                Price has gone up {formatNumber(priceDiff)}%\n              </Text>\n            </Flex>\n          )}\n          {priceDecrease && (\n            <Flex\n              css={{ gap: '$1', color: '$accentSolidHover' }}\n              align=\"center\"\n            >\n              <FontAwesomeIcon width=\"11\" icon={faArrowDown} />\n              <Text style=\"body3\" color=\"accent\">\n                Price went down {formatNumber(priceDiff)}%\n              </Text>\n            </Flex>\n          )}\n        </Flex>\n        {price ? (\n          <Flex\n            direction=\"column\"\n            justify=\"center\"\n            css={{\n              ml: 'auto',\n              flexShrink: 0,\n              gap: '$1',\n              '> div': { ml: 'auto' },\n            }}\n          >\n            {providerOptionsContext.preferDisplayFiatTotal &&\n            usdPrice &&\n            usdPrice > 0 ? (\n              <>\n                <FormatCurrency\n                  amount={usdPrice}\n                  style=\"subtitle3\"\n                  color=\"base\"\n                  css={{ textAlign: 'end' }}\n                />\n                <FormatCryptoCurrency\n                  textStyle=\"tiny\"\n                  textColor=\"subtle\"\n                  amount={price}\n                  address={cartCurrency?.contract}\n                  decimals={cartCurrency?.decimals}\n                  symbol={cartCurrency?.symbol}\n                  logoWidth={10}\n                  chainId={cartChain?.id}\n                />\n              </>\n            ) : (\n              <>\n                <FormatCryptoCurrency\n                  textStyle=\"subtitle3\"\n                  amount={price}\n                  address={cartCurrency?.contract}\n                  decimals={cartCurrency?.decimals}\n                  symbol={cartCurrency?.symbol}\n                  logoWidth={12}\n                  chainId={cartChain?.id}\n                />\n                {usdPrice && usdPrice > 0 ? (\n                  <FormatCurrency\n                    amount={usdPrice}\n                    style=\"tiny\"\n                    color=\"subtle\"\n                    css={{ textAlign: 'end' }}\n                  />\n                ) : null}\n              </>\n            )}\n          </Flex>\n        ) : null}\n      </Flex>\n      {order && order?.quantityRemaining > 1 && price ? (\n        <Flex\n          justify=\"between\"\n          align=\"center\"\n          css={{ width: '100%', px: 24, pb: 8, gap: '$3' }}\n        >\n          <Flex\n            direction=\"column\"\n            align=\"start\"\n            css={{ gap: '$1', overflow: 'hidden', minWidth: 0 }}\n          >\n            <Text style=\"body3\">Quantity</Text>\n            <Text\n              style=\"body3\"\n              color=\"subtle\"\n              ellipsify\n              css={{ width: '100%' }}\n            >\n              {formatNumber(order.quantityRemaining)} items available\n            </Text>\n          </Flex>\n          <QuantitySelector\n            min={1}\n            max={order.quantityRemaining as number}\n            quantity={order.quantity}\n            setQuantity={(number) => setQuantity(order.id, number)}\n            css={{\n              border: '1px solid $neutralBorder',\n              background: 'none',\n            }}\n          />\n        </Flex>\n      ) : null}\n    </Flex>\n  )\n}\n\nexport default CartItem\n","import React, { FC, ReactNode } from 'react'\nimport { Flex, Text } from '../../primitives'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCircleCheck } from '@fortawesome/free-solid-svg-icons/faCircleCheck'\nimport { faCircleInfo } from '@fortawesome/free-solid-svg-icons/faCircleInfo'\nimport { faTriangleExclamation } from '@fortawesome/free-solid-svg-icons/faTriangleExclamation'\n\nexport type CartToastKind = 'success' | 'error' | 'warning'\n\ntype Props = {\n  kind?: CartToastKind\n  message: string\n  link?: ReactNode\n}\n\nconst CartToast: FC<Props> = ({ kind = 'success', message, link }) => {\n  return (\n    <Flex\n      css={{\n        width: '100%',\n        background: '$wellBackground',\n        p: '$2',\n        borderRadius: '$borderRadius',\n        mb: '$2',\n      }}\n    >\n      {kind === 'success' && (\n        <Text color=\"success\">\n          <FontAwesomeIcon icon={faCircleCheck} width=\"16\" height=\"16\" />\n        </Text>\n      )}\n      {kind === 'error' && (\n        <Text color=\"error\">\n          <FontAwesomeIcon\n            icon={faTriangleExclamation}\n            width=\"16\"\n            height=\"16\"\n          />\n        </Text>\n      )}\n      {kind === 'warning' && (\n        <Text color=\"error\">\n          <FontAwesomeIcon icon={faCircleInfo} width=\"16\" height=\"16\" />\n        </Text>\n      )}\n      <Text css={{ ml: '$1', mt: 3 }} style=\"body3\">\n        {message}\n      </Text>\n      {link}\n    </Flex>\n  )\n}\n\nexport default CartToast\n","import { useCoinConversion, useCart, useReservoirClient } from '../../hooks'\nimport React, { FC, ReactNode, useEffect, useMemo, useState } from 'react'\nimport { useAccount, useBalance, useChains, useReadContracts } from 'wagmi'\nimport { zeroAddress, parseUnits, erc20Abi, Address } from 'viem'\nimport { toFixed } from '../../lib/numbers'\nimport {\n  Cart,\n  CheckoutStatus,\n  CheckoutTransactionError,\n} from '../../context/CartProvider'\nimport { useCapabilities } from 'wagmi/experimental'\n\ntype ChildrenProps = {\n  loading: boolean\n  currency?: NonNullable<Cart['items'][0]['price']>['currency']\n  cartCurrencyConverted?: Boolean\n  totalPrice: number\n  feeOnTop?: number\n  usdPrice: number | null\n  balance?: bigint\n  hasEnoughCurrency: boolean\n  hasAuxiliaryFundsSupport: boolean\n  items: Cart['items']\n  unavailableItems: Cart['items']\n  priceChangeItems: Cart['items']\n  transaction?: Cart['transaction']\n  blockExplorerBaseUrl: string\n  cartChain: Cart['chain']\n  checkout: ReturnType<typeof useCart>['checkout']\n  clear: ReturnType<typeof useCart>['clear']\n  remove: ReturnType<typeof useCart>['remove']\n  add: ReturnType<typeof useCart>['add']\n  validate: ReturnType<typeof useCart>['validate']\n}\n\ntype Props = {\n  open: boolean\n  children: (props: ChildrenProps) => ReactNode\n}\n\nexport const CartPopoverRenderer: FC<Props> = ({ open, children }) => {\n  const client = useReservoirClient()\n  const [hasEnoughCurrency, setHasEnoughCurrency] = useState(true)\n  const { data, clear, clearTransaction, validate, remove, add, checkout } =\n    useCart((cart) => cart)\n  const {\n    isValidating,\n    totalPrice,\n    items,\n    currency,\n    transaction,\n    feeOnTop,\n    chain: cartChain,\n  } = data\n  const usdConversion = useCoinConversion(\n    open ? 'USD' : undefined,\n    currency?.symbol || currency?.name\n  )\n  const usdPrice = usdConversion.length > 0 ? usdConversion[0].price : null\n\n  const chains = useChains()\n  const chain = chains.find((chain) => chain.id === transaction?.chain.id)\n  const blockExplorerBaseUrl =\n    chain?.blockExplorers?.default?.url || 'https://etherscan.io'\n  const cartCurrencyConverted = items.some(\n    (item) =>\n      item.price && item.price?.currency?.contract !== currency?.contract\n  )\n\n  useEffect(() => {\n    if (open) {\n      validate()\n    } else if (\n      transaction?.status === CheckoutStatus.Complete ||\n      transaction?.error\n    ) {\n      clearTransaction()\n    }\n  }, [open])\n\n  const unavailableItems = useMemo(\n    () => items.filter((item) => !item.price),\n    [items]\n  )\n  const priceChangeItems = useMemo(\n    () =>\n      items.filter(\n        ({ previousPrice, price }) =>\n          previousPrice &&\n          price?.amount?.decimal !== undefined &&\n          previousPrice.amount?.decimal !== price?.amount?.decimal\n      ),\n    [items]\n  )\n  const { address, connector } = useAccount()\n\n  const { data: capabilities } = useCapabilities({\n    query: {\n      enabled:\n        connector &&\n        (connector.id === 'coinbaseWalletSDK' || connector.id === 'coinbase'),\n    },\n  })\n\n  const cartChainId = cartChain?.id ?? client?.currentChain()?.id\n\n  const hasAuxiliaryFundsSupport = Boolean(\n    cartChainId ? capabilities?.[cartChainId]?.auxiliaryFunds?.supported : false\n  )\n\n  const isNativeListing = currency?.contract === zeroAddress\n  const { data: nativeBalance } = useBalance({\n    chainId: cartChainId,\n    address: address,\n    query: {\n      enabled: isNativeListing,\n    },\n  })\n\n  const { data: tokenBalance } = useReadContracts({\n    allowFailure: false,\n    contracts: [\n      {\n        address: currency?.contract as Address,\n        abi: erc20Abi,\n        functionName: 'balanceOf',\n        chainId: cartChainId,\n        args: [address as Address],\n      },\n    ],\n    query: {\n      enabled: address && !isNativeListing,\n    },\n  })\n\n  const balance = isNativeListing\n    ? nativeBalance\n    : { ...currency, value: tokenBalance?.[0] ?? 0n }\n\n  useEffect(() => {\n    if (balance) {\n      const totalPriceTruncated = toFixed(totalPrice, currency?.decimals || 18)\n      if (!balance.value) {\n        setHasEnoughCurrency(false)\n      } else if (\n        balance.value <\n        parseUnits(`${totalPriceTruncated as number}`, currency?.decimals || 18)\n      ) {\n        setHasEnoughCurrency(false)\n      } else {\n        setHasEnoughCurrency(true)\n      }\n    }\n  }, [totalPrice, balance, currency])\n\n  useEffect(() => {\n    if (\n      hasEnoughCurrency &&\n      transaction?.errorType === CheckoutTransactionError.InsufficientBalance\n    ) {\n      setHasEnoughCurrency(false)\n    }\n  }, [transaction])\n\n  return (\n    <>\n      {children({\n        loading: isValidating,\n        items,\n        unavailableItems,\n        priceChangeItems,\n        currency,\n        cartCurrencyConverted,\n        totalPrice,\n        feeOnTop,\n        usdPrice,\n        hasEnoughCurrency,\n        hasAuxiliaryFundsSupport,\n        balance: balance?.value,\n        transaction,\n        blockExplorerBaseUrl,\n        cartChain,\n        checkout,\n        clear,\n        remove,\n        add,\n        validate,\n      })}\n    </>\n  )\n}\n\nexport default CartPopoverRenderer\n","import React, { ReactElement, useContext, useEffect, useState } from 'react'\nimport * as DialogPrimitive from '@radix-ui/react-dialog'\nimport { AnimatePresence } from 'framer-motion'\nimport { AnimatedOverlay, StyledAnimatedContent } from '../../primitives/Dialog'\nimport { Anchor, Button, Flex, Text, Box, Loader } from '../../primitives'\nimport { styled } from '@stitches/react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCheckCircle } from '@fortawesome/free-solid-svg-icons/faCheckCircle'\nimport { faCircleExclamation } from '@fortawesome/free-solid-svg-icons/faCircleExclamation'\nimport { faClose } from '@fortawesome/free-solid-svg-icons/faClose'\nimport { faCube } from '@fortawesome/free-solid-svg-icons/faCube'\nimport { faLock } from '@fortawesome/free-solid-svg-icons/faLock'\nimport { faWallet } from '@fortawesome/free-solid-svg-icons/faWallet'\nimport { ProviderOptionsContext } from '../../ReservoirKitProvider'\nimport { TokenCheckout } from '../../modal/TokenCheckout'\nimport { Cart, CheckoutStatus } from '../../context/CartProvider'\nimport SigninStep from '../../modal/SigninStep'\nimport { ApprovePurchasingCollapsible } from '../../modal/ApprovePurchasingCollapsible'\nimport { Execute } from '@reservoir0x/reservoir-sdk'\nimport { Logo } from '../../modal/Modal'\nimport { truncateAddress } from '../../lib/truncate'\nimport getChainBlockExplorerUrl from '../../lib/getChainBlockExplorerUrl'\n\nconst Title = styled(DialogPrimitive.Title, {\n  margin: 0,\n})\n\nexport type Path = NonNullable<Execute['path']>[0]\n\ntype Props = {\n  items: Cart['items']\n  totalPrice: number\n  usdPrice: number\n  currency: NonNullable<Cart['items'][0]['price']>['currency']\n  cartChain: Cart['chain']\n  blockExplorerBaseUrl: string\n  transaction?: Cart['transaction']\n  open?: boolean\n  setCartPopoverOpen: React.Dispatch<React.SetStateAction<boolean>>\n}\n\nexport function CartCheckoutModal({\n  items,\n  totalPrice,\n  usdPrice,\n  currency,\n  cartChain,\n  blockExplorerBaseUrl,\n  transaction,\n  open,\n  setCartPopoverOpen,\n}: Props): ReactElement | null {\n  const [dialogOpen, setDialogOpen] = useState(false)\n  const providerOptionsContext = useContext(ProviderOptionsContext)\n\n  const images = items.slice(0, 2).map((item) => {\n    const { token, collection } = item\n    const contract = collection.id.split(':')[0]\n\n    return `${cartChain?.baseApiUrl}/redirect/tokens/${contract}:${token.id}/image/v1?imageSize=small`\n  })\n\n  const totalSales =\n    transaction?.currentStep?.items?.reduce((total, item) => {\n      item.transfersData?.forEach((transferData) => {\n        total += Number(transferData.amount || 1)\n      })\n      return total\n    }, 0) || 0\n\n  const totalQuantity =\n    transaction?.items?.reduce((total, item) => {\n      total += item?.order?.quantity || 1\n      return total\n    }, 0) || 0\n\n  const failedSales = totalQuantity - totalSales\n  const successfulSales = totalQuantity - failedSales\n\n  const pathMap = transaction?.path\n    ? (transaction.path as Path[]).reduce(\n        (paths: Record<string, Path>, path: Path) => {\n          if (path.orderId) {\n            paths[path.orderId] = path\n          }\n\n          return paths\n        },\n        {} as Record<string, Path>\n      )\n    : {}\n\n  useEffect(() => {\n    if (open !== undefined && open !== dialogOpen) {\n      setDialogOpen(open)\n    }\n  }, [open])\n\n  return (\n    <DialogPrimitive.Root\n      onOpenChange={(open) => {\n        setDialogOpen(open)\n        if (!open) {\n          setCartPopoverOpen(false)\n        }\n      }}\n      open={dialogOpen}\n    >\n      <AnimatePresence>\n        {dialogOpen && (\n          <DialogPrimitive.DialogPortal forceMount>\n            <AnimatedOverlay style={{ zIndex: 1002 }} />\n            <StyledAnimatedContent\n              forceMount\n              css={{\n                zIndex: 1003,\n              }}\n            >\n              <Flex\n                css={{\n                  p: 16,\n                  backgroundColor: '$headerBackground',\n                  alignItems: 'center',\n                  justifyContent: 'space-between',\n                  borderTopRightRadius: '$borderRadius',\n                  borderTopLeftRadius: '$borderRadius',\n                }}\n              >\n                <Title css={{ alignItems: 'center', display: 'flex' }}>\n                  <Text style=\"h6\">Complete Checkout</Text>\n                </Title>\n                <DialogPrimitive.Close asChild>\n                  <Button\n                    color=\"ghost\"\n                    size=\"none\"\n                    css={{ color: '$neutralText' }}\n                  >\n                    <FontAwesomeIcon icon={faClose} width={16} height={16} />\n                  </Button>\n                </DialogPrimitive.Close>\n              </Flex>\n              <Box css={{ maxHeight: '85vh', overflowY: 'auto' }}>\n                {transaction?.status === CheckoutStatus.Approving && (\n                  <Flex direction=\"column\">\n                    <Box\n                      css={{\n                        p: '$4',\n                        borderBottom: '1px solid $neutralBorder',\n                      }}\n                    >\n                      <TokenCheckout\n                        itemCount={items.length}\n                        images={images}\n                        totalPrice={totalPrice}\n                        usdPrice={usdPrice}\n                        currency={currency}\n                        chain={cartChain}\n                      />\n                    </Box>\n                    <Flex\n                      direction=\"column\"\n                      css={{ p: '$4', overflowY: 'auto' }}\n                    >\n                      <Flex\n                        direction=\"column\"\n                        align=\"center\"\n                        justify=\"center\"\n                        css={{\n                          color: '$neutralBorderHover',\n                          flex: 1,\n                          gap: '$5',\n                        }}\n                      >\n                        {transaction?.currentStep == undefined ? (\n                          <Flex css={{ py: '$5' }}>\n                            <Loader />\n                          </Flex>\n                        ) : null}\n                        {transaction?.currentStep &&\n                        transaction?.currentStep?.id === 'auth' ? (\n                          <SigninStep css={{ mt: 48, mb: '$4', gap: 20 }} />\n                        ) : null}\n                        {transaction?.currentStep &&\n                        transaction?.currentStep?.id !== 'auth' ? (\n                          <>\n                            {transaction?.currentStep?.items &&\n                            transaction.currentStep?.items.length > 1 ? (\n                              <Flex\n                                direction=\"column\"\n                                css={{ gap: '$4', width: '100%' }}\n                              >\n                                <Text style=\"h6\" css={{ textAlign: 'center' }}>\n                                  Approve Purchases\n                                </Text>\n                                <Text style=\"subtitle3\" color=\"subtle\">\n                                  Due to limitations with Blur, the purchase of\n                                  these items needs to be split into{' '}\n                                  {transaction?.currentStep?.items.length}{' '}\n                                  separate transactions.\n                                </Text>\n                                {transaction.currentStep?.items.map((item) => (\n                                  <ApprovePurchasingCollapsible\n                                    item={item}\n                                    pathMap={pathMap}\n                                    usdPrice={usdPrice}\n                                    chain={cartChain}\n                                    open={true}\n                                  />\n                                ))}\n                              </Flex>\n                            ) : (\n                              <Flex\n                                direction=\"column\"\n                                align=\"center\"\n                                css={{ gap: '$4', py: '$4' }}\n                              >\n                                <Text style=\"h6\">\n                                  Confirm transaction in your wallet\n                                </Text>\n                                <Box css={{ color: '$neutralText' }}>\n                                  <FontAwesomeIcon\n                                    icon={faWallet}\n                                    style={{\n                                      width: '32px',\n                                      height: '32px',\n                                      margin: '12px 0px',\n                                    }}\n                                  />\n                                </Box>\n                              </Flex>\n                            )}\n                          </>\n                        ) : null}\n                      </Flex>\n                    </Flex>\n                    <Button disabled={true} css={{ m: '$4' }}>\n                      <Loader />\n                      Waiting for Approval...\n                    </Button>\n                  </Flex>\n                )}\n                {transaction?.status === CheckoutStatus.Finalizing && (\n                  <Flex direction=\"column\">\n                    <Flex direction=\"column\" css={{ px: '$4', py: '$5' }}>\n                      <Flex\n                        direction=\"column\"\n                        align=\"center\"\n                        justify=\"center\"\n                        css={{\n                          gap: '$4',\n                        }}\n                      >\n                        <Text style=\"h6\">Finalizing on blockchain</Text>\n                        <Text\n                          style=\"subtitle3\"\n                          color=\"subtle\"\n                          css={{ textAlign: 'center' }}\n                        >\n                          You can close this modal while it finalizes on the\n                          blockchain. The transaction will continue in the\n                          background.\n                        </Text>\n\n                        <FontAwesomeIcon\n                          icon={faCube}\n                          style={{ height: 24, width: 24 }}\n                        />\n                      </Flex>\n                    </Flex>\n                    <Button disabled={true} css={{ m: '$4' }}>\n                      <Loader />\n                      Waiting to be Validated...\n                    </Button>\n                  </Flex>\n                )}\n\n                {transaction?.status === CheckoutStatus.Complete && (\n                  <Flex\n                    direction=\"column\"\n                    align=\"center\"\n                    css={{ width: '100%', p: '$4' }}\n                  >\n                    <Flex\n                      direction=\"column\"\n                      align=\"center\"\n                      css={{ width: '100%', p: '$4' }}\n                    >\n                      <Flex\n                        direction=\"column\"\n                        align=\"center\"\n                        css={{ px: '$4', py: '$5', gap: 24 }}\n                      >\n                        <Box\n                          css={{\n                            color: failedSales\n                              ? '$errorAccent'\n                              : '$successAccent',\n                          }}\n                        >\n                          <FontAwesomeIcon\n                            icon={\n                              failedSales ? faCircleExclamation : faCheckCircle\n                            }\n                            fontSize={32}\n                          />\n                        </Box>\n                        <Text style=\"h5\" css={{ textAlign: 'center' }}>\n                          {failedSales\n                            ? `${successfulSales} ${\n                                successfulSales > 1 ? 'items' : 'item'\n                              } purchased, ${failedSales} ${\n                                failedSales > 1 ? 'items' : 'item'\n                              } failed`\n                            : 'Congrats! Purchase was successful.'}\n                        </Text>\n                        <Flex direction=\"column\" css={{ gap: '$2', mb: '$3' }}>\n                          {transaction?.currentStep?.items?.map(\n                            (item, itemIndex) => {\n                              if (\n                                Array.isArray(item?.txHashes) &&\n                                item?.txHashes.length > 0\n                              ) {\n                                return item.txHashes.map(\n                                  (hash, txHashIndex) => {\n                                    const truncatedTxHash = truncateAddress(\n                                      hash.txHash\n                                    )\n                                    const blockExplorerBaseUrl =\n                                      getChainBlockExplorerUrl(hash.chainId)\n                                    return (\n                                      <Anchor\n                                        key={`${itemIndex}-${txHashIndex}`}\n                                        href={`${blockExplorerBaseUrl}/tx/${hash.txHash}`}\n                                        color=\"primary\"\n                                        weight=\"medium\"\n                                        target=\"_blank\"\n                                        css={{ fontSize: 12 }}\n                                      >\n                                        View transaction: {truncatedTxHash}\n                                      </Anchor>\n                                    )\n                                  }\n                                )\n                              } else {\n                                return null\n                              }\n                            }\n                          )}\n                        </Flex>\n                      </Flex>\n                    </Flex>\n                    <Flex css={{ width: '100%', p: '$4' }}>\n                      <Button\n                        css={{ width: '100%' }}\n                        onClick={() => setDialogOpen(false)}\n                      >\n                        Close\n                      </Button>\n                    </Flex>\n                  </Flex>\n                )}\n              </Box>\n\n              {!providerOptionsContext.disablePoweredByReservoir && (\n                <Flex\n                  align=\"center\"\n                  css={{\n                    mx: 'auto',\n                    alignItems: 'center',\n                    justifyContent: 'center',\n                    pb: 12,\n                    gap: '$1',\n                    visibility: '$poweredByReservoirVisibility',\n                    borderBottomRightRadius: '$borderRadius',\n                    borderBottomLeftRadius: '$borderRadius',\n                  }}\n                >\n                  <Box css={{ color: '$neutralBorderHover' }}>\n                    <FontAwesomeIcon icon={faLock} width={9} height={10} />\n                  </Box>\n                  <Text\n                    style=\"tiny\"\n                    color=\"subtle\"\n                    css={{\n                      display: 'inline-flex',\n                      alignItems: 'center',\n                      gap: 4,\n                      lineHeight: '12px',\n                      fontWeight: 400,\n                      color: '$neutralText',\n                    }}\n                  >\n                    Powered by{' '}\n                    <Anchor\n                      href=\"https://reservoir.tools/\"\n                      target=\"_blank\"\n                      weight=\"heavy\"\n                      color=\"gray\"\n                      css={{\n                        height: 12,\n                        fontSize: 12,\n                        '&:hover': {\n                          color: '$neutralSolid',\n                          fill: '$neutralSolid',\n                        },\n                      }}\n                    >\n                      <Logo />\n                    </Anchor>\n                  </Text>\n                </Flex>\n              )}\n            </StyledAnimatedContent>\n          </DialogPrimitive.DialogPortal>\n        )}\n      </AnimatePresence>\n    </DialogPrimitive.Root>\n  )\n}\n","import CollectButtonRenderer, {\n  Collection,\n  MintStages,\n  Token,\n} from './CollectButtonRenderer'\nimport { Button, Loader } from '../../primitives'\nimport React, { ComponentPropsWithoutRef, ReactElement, useMemo } from 'react'\nimport { SWRInfiniteConfiguration } from 'swr/infinite'\nimport { SweepModal } from '../../modal/sweep/SweepModal'\nimport { CSS } from '@stitches/react'\nimport { MintModal } from '../../modal/mint/MintModal'\nimport FormatCrypto from '../../primitives/FormatCrypto'\n\ntype Props = {\n  contract?: string\n  collectionId?: string\n  token?: string\n  onConnectWallet: () => void\n  optionalMintModalProps?: Omit<\n    ComponentPropsWithoutRef<typeof MintModal>,\n    | 'trigger'\n    | 'chainId'\n    | 'contract'\n    | 'collectionId'\n    | 'token'\n    | 'onConnectWallet'\n  >\n  optionalSweepModalProps?: Omit<\n    ComponentPropsWithoutRef<typeof SweepModal>,\n    | 'trigger'\n    | 'chainId'\n    | 'contract'\n    | 'collectionId'\n    | 'token'\n    | 'onConnectWallet'\n  >\n  customTriggerRenderer?: (\n    loading: boolean,\n    publicMintData?: MintStages[0],\n    mintData?: MintStages,\n    collection?: Collection,\n    tokenData?: Token\n  ) => ReactElement\n  triggerCss?: CSS\n  swrOptions?: SWRInfiniteConfiguration\n  chainId?: number\n}\n\nexport function CollectButton({\n  token,\n  contract,\n  collectionId,\n  onConnectWallet,\n  optionalMintModalProps,\n  optionalSweepModalProps,\n  customTriggerRenderer,\n  triggerCss,\n  swrOptions,\n  chainId,\n}: Props): ReactElement {\n  return (\n    <CollectButtonRenderer\n      token={token}\n      contract={contract}\n      collectionId={collectionId}\n      swrOptions={swrOptions}\n      chainId={chainId}\n    >\n      {({ loading, tokenData, publicMintData, mintStages, collection }) => {\n        const mintPriceDecimal = publicMintData?.price?.amount?.decimal\n        const mintCurrency =\n          publicMintData?.price?.currency?.symbol?.toUpperCase()\n\n        const mintPrice =\n          typeof mintPriceDecimal === 'number' &&\n          mintPriceDecimal !== null &&\n          mintPriceDecimal !== undefined\n            ? mintPriceDecimal === 0\n              ? 'Free'\n              : `${mintPriceDecimal} ${mintCurrency}`\n            : undefined\n\n        const sweepPriceData = tokenData\n          ? tokenData?.market?.floorAsk?.price\n          : collection?.floorAsk?.price\n\n        const sweepSymbol = sweepPriceData?.currency?.symbol\n        const sweepPriceRaw = sweepPriceData?.amount?.raw\n\n        const trigger = useMemo(() => {\n          if (customTriggerRenderer) {\n            return customTriggerRenderer(\n              loading,\n              publicMintData,\n              mintStages,\n              collection,\n              tokenData\n            )\n          } else if (loading) {\n            return (\n              <Button css={{ ...triggerCss }}>\n                <Loader />\n              </Button>\n            )\n          } else if (publicMintData && mintPrice) {\n            return <Button css={{ ...triggerCss }}>Mint {mintPrice}</Button>\n          } else if (sweepPriceRaw) {\n            return (\n              <Button css={{ ...triggerCss }}>\n                Collect{' '}\n                <FormatCrypto\n                  amount={sweepPriceRaw}\n                  decimals={sweepPriceData?.currency?.decimals}\n                  maximumFractionDigits={4}\n                  textStyle=\"h6\"\n                  css={{ color: '$buttonTextColor' }}\n                />\n                {sweepSymbol}\n              </Button>\n            )\n          } else {\n            return null\n          }\n        }, [\n          customTriggerRenderer,\n          loading,\n          tokenData,\n          publicMintData,\n          mintStages,\n          collection,\n        ])\n\n        if (publicMintData && mintPrice) {\n          return (\n            <MintModal\n              trigger={trigger}\n              chainId={chainId}\n              collectionId={collectionId}\n              contract={contract}\n              token={token}\n              onConnectWallet={onConnectWallet}\n              {...optionalMintModalProps}\n            />\n          )\n        } else if (sweepPriceRaw) {\n          return (\n            <SweepModal\n              trigger={trigger}\n              chainId={chainId}\n              collectionId={collectionId}\n              contract={contract}\n              token={token}\n              onConnectWallet={onConnectWallet}\n              {...optionalSweepModalProps}\n            />\n          )\n        } else {\n          return trigger\n        }\n      }}\n    </CollectButtonRenderer>\n  )\n}\n\nCollectButton.Custom = CollectButtonRenderer\n","import { useCollections, useReservoirClient, useTokens } from '../../hooks'\nimport React, { ReactElement, ReactNode, useMemo } from 'react'\nimport { SWRInfiniteConfiguration } from 'swr/infinite'\n\ntype Props = {\n  contract?: string\n  collectionId?: string\n  token?: string\n  swrOptions?: SWRInfiniteConfiguration\n  chainId?: number\n  children: (props: ChildrenProps) => ReactNode\n}\n\nexport type Collection = ReturnType<typeof useCollections>['data']['0']\nexport type Token = ReturnType<typeof useTokens>['data']['0']\nexport type MintStages = NonNullable<NonNullable<Collection>['mintStages']>\n\ntype ChildrenProps = {\n  collection?: Collection\n  tokenData?: Token\n  mintStages?: MintStages\n  publicMintData?: MintStages['0']\n  loading: boolean\n}\n\nexport function CollectButtonRenderer({\n  token,\n  contract,\n  collectionId,\n  swrOptions,\n  chainId,\n  children,\n}: Props): ReactElement {\n  const client = useReservoirClient()\n  const currentChain = client?.currentChain()\n  const chain = chainId\n    ? client?.chains.find(({ id }) => id === chainId) || currentChain\n    : currentChain\n\n  const { data: tokens, isFetchingPage: isFetchingTokens } = useTokens(\n    token && !collectionId && !contract\n      ? {\n          tokens: [token],\n        }\n      : false,\n    undefined,\n    chain?.id\n  )\n  const _collectionId =\n    !collectionId && tokens && tokens[0]\n      ? tokens[0].token?.collection?.id\n      : collectionId\n  const collectionQuery: Parameters<typeof useCollections>[0] = useMemo(() => {\n    let query: Parameters<typeof useCollections>[0] = {\n      includeMintStages: true,\n    }\n    if (_collectionId) {\n      query.id = _collectionId\n    } else if (contract) {\n      query.contract = contract\n    } else {\n      query = false\n    }\n    return query\n  }, [_collectionId, contract])\n  const { data: collections, isFetchingPage: isFetchingCollections } =\n    useCollections(collectionQuery, swrOptions, chain?.id)\n\n  const tokenData = tokens && tokens[0] ? tokens[0] : undefined\n  const collection = collections && collections[0] ? collections[0] : undefined\n  const mintStages = collection?.mintStages\n  const publicMintData = collection?.mintStages?.find(\n    (stage) => stage.kind === 'public'\n  )\n\n  return (\n    <>\n      {children({\n        publicMintData,\n        mintStages,\n        collection,\n        tokenData,\n        loading:\n          ((contract !== undefined || collection !== undefined) &&\n            isFetchingCollections &&\n            !collection) ||\n          (token !== undefined && isFetchingTokens && !tokenData),\n      })}\n    </>\n  )\n}\n\nexport default CollectButtonRenderer\n"],"names":[],"version":3,"file":"index.mjs.map"}