{"version":3,"mappings":";oaAeO,MAAMA,EAAY,CAIvB,YAAYC,EAAgB,CAC1B,KAAK,OAASA,EACd,KAAK,QAAU,eAAiBA,EAAO,UAAUA,EAAO,QAAQ,OAAO,CAAC,EAG1E,MAAM,MAA8B,CAIlC,OAHe,MAAMC,EAAM,IAAI,KAAK,QAAU,YAAa,CACzD,gBAAiB,GAClB,GACa,KAGhB,MAAM,SAAiC,CACrC,aAAMA,EAAM,IAAI,KAAK,QAAU,eAAgB,CAC7C,gBAAiB,GAClB,EAEM,KAAK,KAAK,EAGnB,MAAM,UAA4B,CAOhC,MAAMC,GANS,MAAMD,EAAM,IACzB,GAAG,KAAK,MAAM,0BAA0B,mBAAmB,OAAO,SAAS,IAAI,CAAC,GAChF,CACE,gBAAiB,GAErB,GACwB,KACjB,YAAK,QAAUC,EAAS,KAEnC,CAOA,eAAsBC,GACpBH,EACAI,EACAC,EAAuB,GACvB,CACA,OAAOC,GAAWN,EAAQI,EAAS,IAAIL,GAAYC,CAAM,EAAGK,CAAW,CACzE,CAEA,eAAsBC,GACpBN,EACAI,EACAG,EACAF,EAAuB,GACvB,CAIA,GAHAD,EAAQ,KAAOJ,EACfI,EAAQ,iBAAmB,GAEvB,CAACC,EACI,SAGTJ,EAAM,aAAa,SAAS,IACzBC,GAAaA,EACbM,GAAUC,GAAWD,EAAOD,CAAW,CAC1C,EAEI,IAAAG,EAAa,MAAMH,EAAY,KAAK,EAExC,MAAI,CAACG,EAAW,YAAcA,EAAW,kBAC1BA,EAAA,MAAMH,EAAY,QAAQ,GAGpCG,EAAW,YACCC,EAAA,MAAMJ,EAAY,UAAU,EAGtCG,EAAW,UACpB,CAEA,IAAIE,EAAe,GASnB,MAAMC,EAAyC,CAAC,EAEhD,SAASC,EAAUN,EAAmB,CACpC,OAAOA,EAAM,QAAUA,EAAM,OAAO,KAAK,SAAS,UAAU,CAC9D,CAEA,SAASO,EAAgBP,EAAmB,CAC1C,OAAOA,EAAM,UAAYA,EAAM,SAAS,SAAW,GACrD,CAEsB,eAAAC,GAAWD,EAAmBD,EAA0B,CAC5E,MAAMS,EACJR,EAAM,OAER,GAAI,CAACQ,EACI,eAAQ,OAAOR,CAAK,EAK7B,GAAIO,EAAgBP,CAAK,GAAK,CAACM,EAAUN,CAAK,EAAG,CAC/C,GAAI,CAACI,EAAc,CACFA,EAAA,GACX,IAGE,KAFW,MAAML,EAAY,QAAQ,GAE7B,WACKI,EAAA,MAAMJ,EAAY,UAAU,MAE3C,QAAAM,EAAqB,QAAQ,CAAC,CAAE,OAAAI,EAAQ,QAAAC,EAAS,OAAAC,KAAa,CAC5DlB,EACG,QAAQgB,CAAM,EACd,KAAMf,GAAagB,EAAQhB,CAAQ,CAAC,EACpC,MAAOkB,GAAQD,EAAOC,CAAG,CAAC,EAC9B,EAEDP,EAAqB,OAAS,EACvBZ,EAAMe,CAAe,CAC9B,QACA,CACeJ,EAAA,GACjB,CAGF,OAAO,IAAI,QAAc,CAACM,EAASC,IAAW,CAC5CN,EAAqB,KAAK,CAAE,OAAQG,EAAiB,QAAAE,EAAS,OAAAC,EAAQ,EACvE,UACQJ,EAAgBP,CAAK,GAAKM,EAAUN,CAAK,EACnC,OAAAG,EAAA,MAAMJ,EAAY,UAAU,EACpC,QAAQ,QAAQ,UAAU,EAG5B,eAAQ,OAAOC,CAAK,CAC7B,CAEA,SAASG,EAAeU,EAAa,CACnC,OAAO,SAAS,KAAOA,CACzB,CC/JO,MAAMC,GAAe,IACtB,OAAO,OACF,OAAO,OAAO,sBAAsB,WAEtC,KAGIC,GAAsBN,GAA+B,CAKhE,GAJKA,EAAO,UACVA,EAAO,QAAU,CAAC,GAGhB,OAAO,OAAQ,CACjB,MAAMO,EAAUF,GAAa,EACzBE,IACKP,EAAA,QAAQ,sBAAsB,EAAIO,EAC3C,CAEK,OAAAP,CACT,EAEAhB,EAAM,aAAa,QAAQ,IACxBgB,GACQM,GAAmBN,CAAM,EAEjCT,GACQ,QAAQ,OAAOA,CAAK,CAE/B,EC9BO,MAAMiB,GAAoB,IAAM,CACrC,MAAMC,EAAc,CAClB,UACA,iBACA,aACA,YACA,mBACA,WACA,UACF,EAEMC,EAAe,CAACC,EAAcC,EAAO,IAAKC,EAAS,gBAAkB,CACzE,SAAS,OAAS,GAAGF,CAAI,sBAAsBC,CAAI,YAAYC,CAAM,GACvE,EAEA,SAAS,OAAO,MAAM,GAAG,EAAE,QAASC,GAAW,CAC7C,MAAMC,EAAYD,EAAO,MAAM,GAAG,EAAE,CAAC,EAAE,KAAK,EAE1CL,EAAY,KAAMO,GAAeD,EAAU,WAAW,GAAGC,CAAU,GAAG,CAAC,GAEvEN,EAAaK,CAAS,CACxB,CACD,CACH,ECrBaE,GAAqC,CAChD,MAAO,CACL,GAAI,CACF,SAAU,KACV,GAAI,EACJ,GAAI,EACJ,EAAG,OAEP,EAEA,SAAU,CACR,QAAS,CACP,GAAI,YACJ,MAAO,QACP,OAAQ,CACN,GAAI,YACJ,UAAW,CACT,GAAI,WACJ,MAAO,WAEX,EACA,QAAS,CACP,GAAI,WACN,EACA,UAAW,CACT,GAAI,WACJ,MAAO,UACT,EACA,cAAe,CACb,aAAc,aAElB,EACA,UAAW,CACT,cAAe,CACb,aAAc,aAElB,EACA,YAAa,CACX,GAAI,UACJ,MAAO,QACP,OAAQ,CACN,GAAI,UACJ,UAAW,CACT,GAAI,UACJ,MAAO,QAEX,EACA,QAAS,CACP,GAAI,SACN,EACA,UAAW,CACT,GAAI,UACJ,MAAO,OACT,EACA,cAAe,CACb,aAAc,aAElB,EACA,MAAO,CACL,GAAI,QACJ,MAAO,WACP,OAAQ,CACN,GAAI,UACJ,UAAW,CACT,QAAS,GACT,MAAO,WAEX,EACA,QAAS,CACP,GAAI,UACN,EACA,UAAW,CACT,QAAS,GACT,MAAO,UACT,EACA,cAAe,CACb,aAAc,aAElB,EAEA,QAAS,CACP,GAAI,WACJ,YAAa,WACb,YAAa,MACb,aAAc,QACd,KAAM,GACN,EAAG,GACH,OAAQ,CACN,GAAI,UACN,EACA,QAAS,CACP,GAAI,UACN,EACA,UAAW,CACT,QAAS,IACT,OAAQ,aACV,EACA,cAAe,CACb,aAAc,aAElB,EAEA,KAAM,CACJ,EAAG,GACH,KAAM,GACN,cAAe,CACb,aAAc,aAChB,CAEJ,EAEA,aAAc,CACZ,QAAS,UACT,KAAM,KAEV,ECnHaC,GAAuC,CAClD,UAAW,CACT,QAAS,CACP,UAAW,OACX,YAAa,WACb,QAAS,EAET,UAAW,CACT,QAAS,EACT,GAAI,OACJ,YAAa,WACb,MAAO,OACT,EAEA,SAAU,CACR,GAAI,YACJ,YAAa,YACb,MAAO,QAEP,UAAW,CACT,QAAS,EACT,GAAI,YACJ,YAAa,YACb,MAAO,OACT,EAEA,OAAQ,CACN,GAAI,YACJ,YAAa,YAEjB,EAEA,SAAU,CACR,YAAa,YAEb,SAAU,CACR,YAAa,YACb,GAAI,YACJ,MAAO,OACT,EAEA,UAAW,CACT,YAAa,WACf,CAEJ,EACA,KAAM,CACJ,aAAc,EACd,KAAM,IACR,EACA,MAAO,CACL,MAAO,QACP,GAAI,EACJ,SAAU,OAEV,UAAW,CACT,QAAS,EACT,MAAO,QACT,CAEJ,EACA,MAAO,CACL,GAAI,CACF,MAAO,CACL,SAAU,IACZ,EACA,KAAM,CACJ,SAAU,MACZ,EACA,QAAS,CACP,MAAO,OACP,OAAQ,OAEZ,EACA,GAAI,CACF,MAAO,CACL,SAAU,IACZ,EACA,KAAM,CACJ,SAAU,MACZ,EACA,QAAS,CACP,MAAO,OACP,OAAQ,OACV,CAEJ,EAEA,aAAc,CACZ,KAAM,KAEV,EC3FaC,GAAmC,CAC9C,UAAW,CACT,SAAU,KAEV,cAAe,CACb,aAAc,aACd,aAAc,EAElB,EACA,aAAc,EAChB,ECPaC,EAAY,CACvB,GAAIC,EAAY,CACd,SAAU,KACV,WAAY,KACb,EACD,KAAMA,EAAY,CAChB,SAAU,OACV,WAAY,OACb,EACD,GAAIA,EAAY,CACd,SAAU,KACV,WAAY,KACb,EACD,GAAIA,EAAY,CACd,SAAU,KACV,WAAY,KACb,EACD,GAAIA,EAAY,CACd,SAAU,KACV,WAAY,KACb,EACD,MAAOA,EAAY,CACjB,SAAU,MACV,WAAY,MACb,EACD,MAAOA,EAAY,CACjB,SAAU,MACV,WAAY,MACb,EACD,MAAOA,EAAY,CACjB,SAAU,MACV,WAAY,MACb,EACD,MAAOA,EAAY,CACjB,SAAU,MACV,WAAY,KACb,EACH,ECvCaC,GAAmC,CAC9C,UAAW,CACT,MAAO,UACT,EACA,aAAc,CACZ,KAAM,IACR,EACAC,OACF,ECTaC,GAAsC,CACjD,UAAW,CACT,gBAAiB,WACjB,OAAQ,KACV,EACA,aAAc,EAChB,ECNaC,GAAwC,CACnD,UAAW,CACT,KAAM,cACR,EACA,SAAU,CACR,QAAS,CACP,KAAM,QACN,GAAI,CAAE,KAAM,EAAG,GAAI,CAAE,CACvB,EACA,UAAW,CACT,KAAM,QACN,SAAU,WACV,IAAK,QAET,EACA,aAAc,EAChB,EChBMC,GAAUC,EAA8B,CAAC,iBAAkB,MAAM,CAAC,EAE3DC,GAAiBF,GAAQ,uBAAuB,CAC3D,UAAW,CACT,eAAgB,CACd,GAAI,QACJ,YAAa,MACb,YAAa,UACf,EACA,KAAM,CACJ,MAAO,OACT,EACA,OAAQ,CACN,GAAI,QACJ,UAAW,YACX,OAAQ,CACN,GAAI,WAER,EACA,KAAM,CACJ,MAAO,WAEX,EACA,SAAU,EACZ,CAAC,ECvBYG,GAAsC,CACjD,UAAW,CACT,MAAO,UACT,EACA,aAAc,CACZ,KAAM,IACR,EACAN,OACF,ECTMO,GAAsB,CAC1B,MAAO,CACL,YAAa,MACb,YAAa,WACb,MAAO,WAEP,aAAc,CACZ,MAAO,UACT,EAEA,OAAQ,CACN,UAAW,OACX,YAAa,UACf,EAEA,SAAU,CACR,UAAW,OACX,YAAa,UACb,QAAS,EACT,aAAc,QACd,aAAc,SAChB,EAEA,OAAQ,CACN,UAAW,OACX,YAAa,YACb,QAAS,EACT,aAAc,QACd,aAAc,YAEd,SAAU,CACR,YAAa,UACb,aAAc,UAElB,EAEA,cAAe,CACb,UAAW,OACX,YAAa,YACb,QAAS,EACT,aAAc,QACd,aAAc,YAEd,SAAU,CACR,YAAa,UACb,aAAc,UAElB,EAEA,UAAW,CACT,QAAS,EACT,gBAAiB,WACjB,MAAO,WAEP,OAAQ,CACN,YAAa,WACf,CACF,CAEJ,EAEaC,GAAoC,CAC/C,UAAW,CACT,MAAO,CACL,SAAU,KACV,aAAc,EACd,UAAW,OACX,gBAAiB,QACjB,cAAe,EAEnB,EACA,SAAU,CACR,QAASD,EACX,EACA,MAAO,CACL,GAAI,CACF,MAAO,CACL,SAAU,KACV,OAAQ,GACR,aAAc,CAChB,EACA,MAAO,CACL,OAAQ,EACV,EACA,QAAS,CACP,OAAQ,GAEZ,EACA,GAAI,CACF,MAAO,CACL,SAAU,KACV,OAAQ,GACR,aAAc,EACd,WAAY,CACd,EACA,MAAO,CACL,OAAQ,EACV,EACA,QAAS,CACP,OAAQ,GAEZ,EACA,GAAI,CACF,MAAO,CACL,SAAU,KACV,OAAQ,OACR,aAAc,EACd,WAAY,CACd,EACA,MAAO,CACL,OAAQ,MACV,EACA,QAAS,CACP,OAAQ,OACV,CAEJ,EACA,aAAc,CACZ,KAAM,KACN,iBAAkB,YAEtB,ECzHaE,GAAmC,CAC9C,UAAW,CACT,kBAAmB,CACjB,MAAO,SACT,EACA,WAAY,CACV,SAAU,KACV,MAAO,WACT,CAEJ,ECTaC,GAAwC,CACnD,UAAW,CACT,SAAU,KACV,WAAY,UACZ,WAAY,IACZ,MAAO,WACP,GAAI,EACJ,GAAI,CACN,QACAV,EACA,aAAc,CACZ,KAAM,KAEV,ECdaW,GAAwC,CACnD,UAAW,CACT,KAAM,CACJ,MAAO,UACP,SAAU,KACZ,CAEJ,ECPaC,GAAQC,EAAkB,CACrC,UAAW,CAAC,EACZ,SAAU,CACR,MAAO,CACL,YAAa,MACb,YAAa,WACb,aAAc,KACd,UACE,oFACJ,CAEJ,CAAC,ECXYC,GAAoC,CAC/C,UAAW,CACT,QAAS,CACP,UAAW,OACX,YAAa,WACb,QAAS,EAET,UAAW,CACT,QAAS,EACT,GAAI,OACJ,YAAa,WACb,MAAO,OACT,EAEA,SAAU,CACR,GAAI,QACJ,YAAa,YACb,MAAO,YAEP,UAAW,CACT,QAAS,EACT,GAAI,YACJ,YAAa,YACb,MAAO,OACT,EAEA,OAAQ,CACN,GAAI,QACJ,YAAa,YACb,MAAO,WACT,EAEA,QAAS,CACP,MAAO,OACP,OAAQ,OAEZ,EAEA,SAAU,CACR,YAAa,YAEb,SAAU,CACR,YAAa,YACb,GAAI,YACJ,MAAO,OACT,EAEA,UAAW,CACT,YAAa,WACf,CAEJ,EACA,MAAO,CACL,MAAO,QACP,GAAI,EACJ,SAAU,OAEV,UAAW,CACT,QAAS,EACT,MAAO,QACT,CAEJ,EACA,MAAO,CACL,GAAI,CACF,MAAO,CACL,SAAU,IACZ,EACA,KAAM,CACJ,SAAU,MACZ,EACA,QAAS,CACP,MAAO,OACP,OAAQ,OAEZ,EACA,GAAI,CACF,MAAO,CACL,SAAU,IACZ,EACA,KAAM,CACJ,SAAU,MACZ,EACA,QAAS,CACP,MAAO,OACP,OAAQ,OACV,CAEJ,EAEA,aAAc,CACZ,KAAM,KAEV,EC5FMP,GAAsB,CAC1B,MAAO,CACL,YAAa,MACb,YAAa,WACb,MAAO,WAEP,aAAc,CACZ,MAAO,UACT,EAEA,OAAQ,CACN,UAAW,OACX,YAAa,UACf,EAEA,SAAU,CACR,GAAI,QACJ,UAAW,OACX,YAAa,UACb,QAAS,EACT,aAAc,QACd,aAAc,SAChB,EAEA,OAAQ,CACN,UAAW,OACX,YAAa,YACb,QAAS,EACT,aAAc,QACd,aAAc,YAEd,SAAU,CACR,gBAAiB,QACjB,YAAa,UACb,aAAc,UAElB,EAEA,cAAe,CACb,UAAW,OACX,YAAa,YACb,QAAS,EACT,aAAc,QACd,aAAc,YAEd,SAAU,CACR,gBAAiB,QACjB,YAAa,UACb,aAAc,UAElB,EAEA,UAAW,CACT,QAAS,EACT,gBAAiB,WACjB,MAAO,WAEP,OAAQ,CACN,YAAa,WACf,CACF,CAEJ,EAEaQ,GAAqC,CAChD,UAAW,CACT,MAAO,CACL,SAAU,KACV,aAAc,EACd,UAAW,OACX,gBAAiB,QACjB,cAAe,CACjB,EACA,KAAM,CACJ,MAAO,WAEX,EACA,SAAU,CACR,QAASR,EACX,EACA,MAAO,CACL,GAAI,CACF,MAAO,CACL,SAAU,KACV,OAAQ,GACR,aAAc,CAChB,EACA,MAAO,CACL,OAAQ,EACV,EACA,QAAS,CACP,OAAQ,GAEZ,EACA,GAAI,CACF,MAAO,CACL,SAAU,KACV,OAAQ,GACR,aAAc,EACd,WAAY,CACd,EACA,MAAO,CACL,OAAQ,EACV,EACA,QAAS,CACP,OAAQ,GAEZ,EACA,GAAI,CACF,MAAO,CACL,SAAU,KACV,OAAQ,OACR,aAAc,EACd,WAAY,CACd,EACA,MAAO,CACL,OAAQ,MACV,EACA,QAAS,CACP,OAAQ,OACV,CAEJ,EACA,aAAc,CACZ,KAAM,KACN,iBAAkB,YAEtB,EChIaS,GAAqC,CAChD,UAAW,CACT,MAAO,CACL,GAAI,WACJ,SAAU,CACR,GAAI,YACN,CACF,CAEJ,ECMaC,GAAa,CACxB,OAAAvB,GACA,SAAAC,GACA,KAAAC,GACA,KAAAG,GAAA,QACAE,GACA,eAAAI,GACA,UAAAH,GACA,QAAAI,GACA,MAAAE,GACA,KAAAC,GACA,UAAAC,GACA,UAAAC,GACA,MAAAC,GACA,MAAAE,GACA,OAAAC,GACA,OAAAC,EACF,EChCME,GAAQ,CACZ,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,SACP,EAEMC,GAAM,CACV,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,SACP,EAQMC,EAAO,CACX,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,SACP,EAyEMC,GAAe,CACnB,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,SACP,EAEMC,GAAa,UAUbC,GAAQ,CACZ,QAAS,CACP,UAAW,CACT,OAAQH,EAAK,GAAG,EAChB,OAAQA,EAAK,GAAG,EAChB,OAAQA,EAAK,GAAG,EAClB,CAEJ,EAEaI,GAAiB,CAC5B,KAAAJ,EACA,MAAAF,GACA,IAAAC,GACA,MAAOE,GACP,WAAAC,GACA,MAAAC,EACF,ECpJaE,GAAS,CACpB,OAAQ,CACN,KAAM,CACJ,WAAY,QACd,CAEJ,EAKaC,GAAY,CACvB,GAAI,WACJ,KAAM,YACN,GAAI,OACJ,GAAI,YACJ,GAAI,UACJ,MAAO,SACP,MAAO,WACP,MAAO,UACP,MAAO,MACT,EAKaC,GAAc,CACzB,GAAI,UACJ,KAAM,WACN,GAAI,WACJ,GAAI,SACJ,GAAI,UACJ,MAAO,OACP,MAAO,UACP,MAAO,WACP,MAAO,SACT,EAKaC,GAA8B,CACzC,OAAAJ,GACA,WAAAP,GACA,OAAAQ,GACA,UAAAC,GACA,YAAAC,EACF,ECxCaE,GAAQC,GAEjBC,EAAA,KAACC,EAAA,CAEC,cAAa,QAAQF,EAAK,EAAE,GAC5B,GAAI,EACJ,EAAE,QACF,EAAG,EACH,OAAO,MACP,YAAY,WACZ,aAAc,GACd,QAAQ,WACR,cAAc,SACd,WAAW,aACX,IAAK,EAEL,UAAAG,EAAA,IAACC,EAAA,CACC,KAAMJ,EAAK,KAAK,KAChB,MAAOA,EAAK,KAAK,MACjB,QAASA,EAAK,KAAK,OAAS,OAAS,GAAK,OAC1C,GAAI,EACN,EACAG,MAAC3B,GAAQ,GAAG,KAAK,SAAS,MAAM,WAAW,OACxC,SAAAwB,EAAK,KACR,SACC/B,EAAK,UAAS,KAAK,WAAW,WAC5B,WAAK,OACR,KAxBK,iBAAiB+B,EAAK,EAAE,EAyB/B,ECCEK,EAAoB,CAAC,CACzB,KAAAC,EACA,WAAAC,EACA,QAAAC,EACA,UAAAC,EACA,OAAAC,CACF,IAEIP,EAAA,IAACQ,EAAA,CACC,aAAYF,GAAa,GACzB,EAAG,GACH,KAAM,GACN,EAAG,GACH,QAAQ,WACR,YAAY,MACZ,aAAa,QACb,YAAY,WACZ,OAAQ,CAAE,QAAS,UAAW,EAC9B,QAAS,CAAE,QAAS,UAAW,EAC/B,UAAW,CAAE,QAAS,GAAK,EAC3B,cAAe,CAAE,aAAc,YAAa,EAC5C,QAAQ,UACR,KAAAH,EACA,WAAYC,GAAc,CAACC,EAC3B,QAAAA,EACA,cAAa,GAAGE,CAAM,uBACxB,EAISE,GAAkC,CAAC,CAC9C,SAAAC,EACA,eAAAC,EACA,cAAAC,EACA,OAAAL,EAAS,UACT,GAAGM,CACL,IAAM,CACE,MAAAC,EAAc,EAAQF,GAAe,QACrCG,EAAe,EAAQJ,GAAgB,QAEvCK,EAAc,IACdF,EAEAd,EAAA,IAACE,EAAA,CACC,KAAMU,GAAe,KACrB,QAASA,GAAe,QACxB,WAAYA,GAAe,WAC3B,UAAWA,GAAe,UAC1B,OAAO,OACT,EAGIZ,MAAAiB,EAAA,CAAI,EAAG,GAAI,EAAG,GAAI,EAGtBC,EAAe,IACfH,EAEAf,EAAA,IAACE,EAAA,CACC,KAAMS,GAAgB,KACtB,QAASA,GAAgB,QACzB,WAAYA,GAAgB,WAC5B,UAAWA,GAAgB,UAC3B,OAAQA,GAAgB,QAAU,QACpC,EAGIX,MAAAiB,EAAA,CAAI,EAAG,GAAI,EAAG,GAAI,EAI1B,OAAAnB,EAAA,KAACC,EAAA,CACC,eAAe,gBACf,WAAW,SACX,IAAK,EACL,EAAE,OACF,EAAG,GACH,cAAaQ,EACZ,GAAGM,EAEH,UAAYG,EAAA,EACZN,EACAQ,EAAa,GAChB,CAEJ,ECpHalD,GAAyCmD,SAC5CC,EAAe,IAAGD,EAAO,GAAG,MAAM,mBAAkB,OAAW,ECmB5DE,GAA0B,CAAC,CACtC,QAAS,CAAE,QAAAC,EAAS,QAAAC,EAAS,cAAAC,EAAe,cAAAC,CAAc,EAC1D,SAAAC,EACA,WAAAC,EACA,YAAAC,EAAc,CAAC,EACf,oBAAAC,CACF,IAEI7B,EAAA,IAACD,EAAA,CACC,cAAY,SACZ,eAAe,SACf,EAAE,OACF,eAAe,MACf,YAAY,WAEZ,eAAC9B,EACC,UAAA6B,EAAA,KAACC,EAAA,CACC,QAAQ,SACR,EAAE,OACF,GAAI,GACJ,GAAI,CACF,KAAM,GACN,GAAI,EACN,EAEA,UAAAD,EAAA,KAACC,EAAA,CACC,EAAE,OACF,MAAO,CACL,KAAM,aACN,GAAI,QACN,EACA,QAAS,CACP,KAAM,iBACN,GAAI,KACN,EACA,eAAe,gBACf,IAAK,CACH,KAAM,EACN,GAAI,CACN,EAEA,UAAAC,EAAA,IAACiB,EAAA,CACC,UAAW,CACT,KAAM,IACN,GAAI,OACN,EAEC,SACCK,EAAAtB,EAAA,IAACrC,EAAA,CACC,QAAQ,QACR,cAAY,eACZ,aAAY6D,EACZ,KAAMD,EACN,WAAU,GAEV,SAAAvB,EAAA,IAAC8B,EAAA,CACC,cAAY,eACZ,aAAYL,EACZ,IAAKA,EACL,IAAKH,CAAA,EACP,GAGDtB,MAAAC,EAAA,CAAK,KAAK,cAAc,MAAO,GAAK,GAEzC,EACCyB,EACC1B,EAAA,IAACiB,EAAA,CACC,EAAG,CACD,KAAM,OACN,GAAI,OACN,EAEA,SAAAjB,EAAA,IAAClB,GAAA,CACC,OAAO,kBACP,aAAY4C,EAAS,MACrB,aAAcA,EAAS,QACvB,aAAcA,EAAS,SAEtB,SAASA,EAAA,QAAQ,IAAKK,GACpB/B,EAAA,cAAwB,MAAO+B,EAAK,MAClC,SAAAA,EAAK,KADK,EAAAA,EAAK,KAElB,CACD,GACH,GAEA,MACN,EACA/B,EAAA,IAAChC,EAAA,CACC,GAAI,CACF,KAAM,EACN,GAAI,EACN,EACA,GAAI,EACN,EAEC6D,GACC7B,EAAA,IAACD,EAAA,CACC,IAAK,CACH,KAAM,EACN,GAAI,CACN,EACA,QAAS,CACP,KAAM,SACN,GAAI,KACN,EACA,GAAI,EAEH,SAAA6B,EAAY,IAAKI,GAChBhC,EAAA,IAACrC,EAAA,CAEC,aAAYqE,EAAK,MACjB,QAAQ,OACR,WAAW,SACX,UAAU,SACV,EAAG,GACH,GAAI,EACJ,EAAE,cACF,MAAM,WACN,OAAQ,CAAE,MAAO,UAAW,EAC5B,KAAMA,EAAK,KACX,WAAU,GAET,SAAKA,EAAA,OAbDA,EAAK,KAeb,GACH,EAEFhC,EAAA,IAACD,EAAA,CACC,QAAS,CACP,KAAM,iBACN,GAAI,KACN,EACA,eAAe,gBACf,IAAK,CACH,KAAM,EACN,GAAI,CACN,EAEA,SAAAC,EAAA,IAAClC,EAAA,CACC,aAAY6D,EACZ,QAAQ,OACR,WAAW,SACX,MAAM,WACN,OAAQ,CAAE,MAAO,UAAW,EAC5B,KAAK,KAEJ,SAAAA,CAAA,EACH,EACF,GAEJ,GACF,ECnKSM,GAAY,CAAC,CAAE,YAAAC,EAAa,YAAAC,KAAkC,CACzE,MAAMC,EAAa,IAAM,CACvBC,GAAe,6BAA6B,EAC5C,OAAO,KAAK,OAAOH,EAAY,KAAK,GAAI,OAAO,CACjD,EAEA,MAAI,CAACA,EAAY,OAAS,CAACA,EAAY,QAAgB,KAGrDlC,EAAA,IAACD,EAAA,CACC,gBAAgB,QAChB,EAAE,OACF,WAAW,SACX,UAAU,SAEV,SAACC,MAAA/B,EAAA,CAAU,QAAQ,UAAU,EAAG,EAC9B,SAAA6B,EAAA,KAACC,EAAA,CACC,EAAE,OACF,UAAU,SACV,IAAK,EACL,GAAI,CAAE,KAAM,IAAK,GAAI,IAAK,GAAI,IAAK,EACnC,GAAI,CAAE,KAAM,EAAG,GAAI,EAAG,GAAI,CAAE,EAE5B,UAAAC,EAAA,IAACvC,EAAA,CACC,eAAW6E,EAAU,IACrB,aAAYH,EAAY,UACxB,QAAS,IAAMC,EAAW,EAEzB,SAAYD,EAAA,MACf,EACAnC,MAAClC,GAAK,KAAK,KACT,eAACyE,EAAU,UAAAL,EAAY,OAAQ,EACjC,KAEJ,GACF,CAEJ,EC7BMM,GAAW,CAAC,CAAE,SAAA9B,KACVV,MAAAyC,EAAA,CAAS,aAAc,EAAI,SAAA/B,CAAS,GAGxCgC,GAAmB,CAAC,CAAE,SAAAhC,EAAU,MAAAiC,EAAO,OAAApC,KAEzCT,EAAA,KAAC8C,EAAA,CACC,OAAO,MACP,aAAa,MACb,YAAY,WACZ,cAAarC,EAEb,UAACP,MAAA,MACC,gBAAC6C,EAAgB,IAAI,EAAG,GAAI,EAAG,WAAW,aACxC,UAAA7C,MAACiB,EAAI,IAAG,OAAO,KAAM,EAAG,UAAU,OAChC,SAACjB,EAAA,IAAA3B,EAAA,CAAQ,KAAK,KAAK,GAAG,KACnB,UACH,GACF,QACCyE,EAAc,KACjB,CACF,GACC9C,EAAA,IAAA+C,EAAA,CAAe,GAAI,EAAG,GAAI,EAAG,GAAI,EAChC,SAAA/C,MAAClC,GAAK,KAAK,KAAK,MAAM,WACnB,SAAA4C,EACH,CACF,IACF,EAISsC,GAAO,CAAC,CAAE,SAAAC,EAAU,MAAAN,KAE7B3C,EAAA,IAACD,EAAA,CACC,gBAAgB,UAChB,EAAE,OACF,WAAW,SACX,UAAU,SAEV,SAACC,MAAA/B,EAAA,CAAU,QAAQ,UAAU,EAAG,EAC9B,SAAA6B,EAAA,KAACC,EAAA,CACC,EAAE,OACF,UAAU,SACV,IAAK,EACL,GAAI,CAAE,KAAM,IAAK,GAAI,IAAK,GAAI,IAAK,EACnC,GAAI,CAAE,KAAM,EAAG,GAAI,EAAG,GAAI,CAAE,EAE5B,UAACC,EAAA,IAAA3B,EAAA,CAAQ,KAAK,MAAO,SAAMsE,EAAA,EAC3B3C,EAAA,IAACkD,EAAA,CACC,aAAc,CAAC,CAAC,EAChB,cAAe,GACf,YAAa,GAEb,SAAAlD,EAAA,IAACuC,EAAA,CACC,QAAS,CACP,WAAY,GACZ,UAAW,CACT,GAAI,CACF,UAAWC,EACb,EACA,GAAI,CACF,UAAWW,CACb,EACA,iBAAkB,CAChB,UAAWT,EAAA,CACb,CAEJ,EAEC,SAAAO,CAAA,EACH,EACF,GAEJ,GACF,ECxFSG,GAAkB,CAAC,CAC9B,OAAAC,EACA,QAAAC,EACA,aAAAC,EACA,SAAAC,EACA,MAAAb,CACF,IAEI3C,EAAA,IAACyD,GAAA,CACC,cAAY,oBACZ,QAAAH,EACA,OAAAD,EACA,MAAAV,EACA,qBAAsB,CACpB,SAAU,QACV,MAAO,QACP,QAASW,CACX,EAEA,SAACxD,OAAAC,EAAA,CAAK,UAAU,SAAS,WAAW,SAClC,UAACC,MAAAiC,GAAA,CAAW,GAAGsB,EAAc,QAC5BvF,EAAQ,IACTgC,MAACgD,GAAM,IAAGQ,CAAU,GACtB,GACF,ECjCSE,GAAe,IAAM,CAC1B,MAAE,KAAAC,CAAK,EAAIC,EAAe,EAEhCC,mBAAU,IAAM,CACVF,EAAK,mBAAqB,KACVG,EAAA,CAAE,OAAQC,GAAI,EAEdD,EAAA,CAAE,OAAQE,GAAM,CACpC,EACC,CAACL,EAAK,gBAAgB,CAAC,EAEnB,IACT,ECHaM,GAAmBC,EAAA,WAC9B,CAAC,CAAE,MAAAC,EAAO,SAAAC,EAAU,gBAAAC,EAAiB,KAAAC,EAAO,KAAM,UAAAhE,CAAU,EAAGiE,IAE3DvE,MAACiB,EAAI,MAAK,QACR,SAAAjB,EAAA,IAACwE,GAAA,CACC,IAAAD,EACA,MAAOJ,GAAS,GAChB,aAAeM,GAAW,CACxBL,EAASK,EAAS,OAAOA,CAAM,EAAI,IAAI,CACzC,EACA,WAAY,IAAM,CACXN,GACHC,EAAS,IAAI,CAEjB,EACA,cAAY,qBACZ,GAAG,cACH,KAAK,cACL,aAAY9D,GAAa,eACzB,YAAY,QACZ,UAAU,QACV,WAAaoE,GAAM,CACfA,EAAA,QAAU,IAAMA,EAAE,eAAe,CACrC,EACA,OAAQ,CACN,GAAIL,GAAiB,OAAS,QAC1B,CACE,YAAa,UACb,QAAS,EACT,aAAc,QACd,aAAc,WAEhB,EACN,EACA,KAAAC,CAAA,GAEJ,CAGN,EAEAL,GAAiB,YAAc,mBC7CxB,MAAMU,GAA0C,CAAC,CACtD,WAAAC,EACA,SAAAC,EAAW,aACX,OAAAtE,EAAS,eACT,OAAAuE,EAAS,EACT,SAAAC,EAAWD,EACX,GAAGjE,CACL,IACEb,EAAA,IAACiB,EAAA,CACC,QAAQ,WACR,GAAG,OACH,IAAI,WACJ,aAAc,GACd,EAAE,OACF,cAAaV,EACb,OAAAuE,EACC,GAAGjE,EAEJ,SAAAb,EAAA,IAACiB,EAAA,CACC,QAAS4D,EACT,IAAI,WACJ,aAAc,GACd,EAAG,GAAGD,CAAU,IAChB,SAAAG,EACA,IAAK,EACL,OAAQ,EACR,KAAM,EACN,cAAa,GAAGxE,CAAM,eACxB,CACF,EClCWyE,GAAwC,CAAC,CAAE,MAAAC,KAEpDjF,EAAA,IAACiB,EAAA,CACC,cAAY,uBACZ,SAAS,WACT,MAAM,OACN,gBAAgB,WAChB,UAAU,SACV,GAAI,EAEJ,SAAAjB,EAAA,IAAClC,EAAA,CACC,MAAM,YACN,SAAU,CAAE,KAAM,OAAQ,GAAI,MAAO,EACrC,WAAY,CAAE,KAAM,OAAQ,GAAI,MAAO,EAEtC,SAAAmH,CAAA,EACH,CACF,ECjBSC,GAA8C,CAAC,CAAE,MAAAD,KAE1DjF,EAAA,IAACiB,EAAA,CACC,cAAY,uBACZ,SAAS,WACT,MAAM,OACN,gBAAgB,aAChB,UAAU,SACV,GAAI,EAEJ,SAAAjB,EAAA,IAAClC,GAAK,MAAM,cAAc,SAAS,OAAO,WAAW,OAClD,SACHmH,CAAA,GACF,ECbSE,GAAkC,CAAC,CAAE,KAAAC,KAE9CpF,EAAA,IAACiB,EAAA,CACC,cAAY,kBACZ,SAAS,WACT,MAAM,OACN,gBAAgB,YAChB,UAAU,SACV,GAAI,EAEJ,SAAAjB,EAAA,IAAClC,EAAA,CACC,MAAM,aACN,SAAU,CAAE,KAAM,OAAQ,GAAI,MAAO,EACrC,WAAY,CAAE,KAAM,OAAQ,GAAI,MAAO,EAEtC,SAAAsH,CAAA,EACH,CACF,ECjBSC,GAAwC,CAAC,CAAE,KAAAD,KAEpDpF,EAAA,IAACiB,EAAA,CACC,cAAY,kBACZ,SAAS,WACT,MAAM,OACN,gBAAgB,YAChB,UAAU,SACV,GAAI,EAEJ,SAAAjB,EAAA,IAAClC,GAAK,MAAM,aAAa,SAAS,OAAO,WAAW,OACjD,SACHsH,CAAA,GACF,ECREE,GAAe,CAACC,EAAiBC,IACjCD,EAAK,mBAAqB,OACrB,CAAE,MAAO,QAAS,MAAO,MAAO,EAErCA,EAAK,SAAW,WACX,CAAE,MAAO,UAAW,MAAOE,EAAeF,EAAK,gBAAgB,CAAE,EAEtEA,EAAK,SAAW,OACX,CAAE,MAAO,YAAa,MAAOC,CAAoB,EAEnD,CAAE,MAAO,QAAS,MAAOC,EAAeF,EAAK,gBAAgB,CAAE,EAG3DG,GAA4C,CAAC,CACxD,KAAAH,EACA,MAAAI,EACA,oBAAAC,EACA,oBAAAJ,CACF,IAAM,CACE,MAAAK,EAAYP,GAAaC,EAAMC,CAAmB,EAGtD,OAAA1F,EAAA,KAACC,EAAA,CACC,KAAM,EACN,UAAU,SACV,eAAe,SACf,WAAW,SACX,QAASwF,EAAK,SAAW,WAAa,GAAM,EAE5C,UAAAvF,EAAA,IAAClC,EAAA,CACC,GAAG,OACH,KAAM6H,EAAQ,KAAO,CAAE,KAAM,KAAM,GAAI,IAAK,EAC5C,MAAM,WAEL,SAAKJ,EAAA,KAAK,MAAM,EAAG,CAAC,EACvB,EACAvF,EAAA,IAAClC,EAAA,CACC,GAAG,OACH,KAAM6H,EAAQ,KAAO,CAAE,KAAM,KAAM,GAAI,KAAM,EAC7C,WAAW,SACX,WAAY,IACZ,MAAOE,EAAU,MAEhB,SAAUA,EAAA,MACb,EACCN,EAAK,SAAW,YACdvF,MAAAlC,EAAA,CAAK,MAAM,UAAU,KAAM6H,EAAQ,KAAO,KACxC,SACHC,CAAA,IAEJ,CAEJ,EC1BaE,GAA0C,CAAC,CACtD,OAAAC,EACA,cAAAC,EACA,aAAAC,EACA,oBAAAT,EAAsB,OACtB,oBAAAI,EAAsB,WACtB,MAAAD,EAAQ,GACR,YAAAO,EAAc,EAChB,IAAM,CACJ,GAAI,CAACH,EACI,YAET,MAAMI,EAAWF,EAAe,EAG9B,OAAAjG,EAAA,IAACiB,EAAA,CACC,OAAO,YACP,YAAY,WACZ,gBAAiB0E,EAAQ,EAAI,EAC7B,aAAc,EAEd,SAAA3F,EAAA,IAACoG,GAAA,CACC,aAAcT,EAAQ,iBAAmB,iBACzC,gBAAiBA,EAAQ,kBAAoB,iBAC7C,cAAY,yBAEX,SAAOI,EAAA,IAAI,CAACR,EAAMc,IAAU,CACrB,MAAAjG,EAAamF,EAAK,SAAW,WAC7BhF,EAAS,WAAWgF,EAAK,KAAK,GAAGnF,EAAa,YAAc,EAAE,GAC9DkG,EAAkBlG,EAAa,WAAa,QAC5CmG,EAAkBhB,EAAK,QAAUS,GAAe,KAChDQ,EACJN,GAAeG,IAAU,GAAKd,EAAK,QAAU,WAAaY,EAG1D,OAAAnG,EAAA,IAACyG,GAAA,CAEC,cAAalG,EACb,gBAAA+F,EACA,OAAQ,CACN,qBAAsBX,EAAQ,EAAI,CACpC,EACA,YAAY,WACZ,SAAS,SACT,GACEA,EACI,CACE,kBAAmB,CACjB,iBAAkB,KACpB,EACA,mBAAoB,CAClB,iBAAkB,EACpB,EAEF,CACE,kBAAmB,CACjB,mBAAoB,CACtB,EACA,qBAAsB,CACpB,gBAAiB,MACjB,iBAAkB,MAEtB,EAGN,SAAA7F,EAAA,KAACC,EAAA,CACC,SAAS,WACT,OAAQ4F,EAAQ,QAAU,CAAE,KAAM,QAAS,GAAI,OAAQ,EACvD,UAAU,SACV,IAAKA,EAAQ,EAAI,EACjB,WAAW,SACX,eAAe,gBACf,aAAa,YACb,YAAY,WAEX,UACEY,IAAAZ,EACE3F,EAAA,IAAAkF,GAAA,CAAc,MAAOc,EAAc,KAAO,GAE1ChG,MAAAgF,GAAA,CAAW,MAAOgB,EAAc,KAAO,IAE3CQ,IACEb,EACC3F,MAACqF,GAAW,MAAMc,EAAU,EAE5BnG,EAAA,IAACmF,GAAQ,MAAMgB,CAAU,IAE7BnG,EAAA,IAAC0F,GAAA,CACC,KAAAH,EACA,MAAAI,EACA,oBAAAC,EACA,oBAAAJ,CAAA,EACF,GACF,EAzDKD,EAAK,KA0DZ,CAEH,IACH,CACF,CAEJ,EC7HamB,GAAmB,CAAC,CAC/B,SAAAhG,EACA,OAAAH,EACA,WAAAoG,EACA,iBAAAC,EACA,mBAAAC,EACA,qBAAAC,EACA,cAAAC,EAAgB,GAChB,YAAAC,EAAc,GACd,gBAAAV,EAAkB,OACpB,IAEIxG,EAAA,KAACmH,GAAgB,KAAhB,CACC,QAAQ,OACR,QAAQ,SACR,SAAU,EACV,MAAM,OACN,SAAWC,GAAU,CACnBA,EAAM,eAAe,EACrBL,EAAmB,QAAQ,CAC7B,EACA,gBAAAP,EAEC,UAAAM,GAAsC,KACvC5G,EAAA,IAAC/B,EAAA,CACC,QAAQ,UACR,cAAasC,EACb,SAAU,EACV,UAAU,QAEV,SAAAT,EAAA,KAACmB,GAAI,GAAI,CAAE,KAAM,EAAG,GAAI,EACrB,YACC0F,EAAA7G,EAAA,KAACmB,EAAI,eAAY,wBACf,UAAAjB,EAAA,IAAC3B,EAAA,CACC,cAAY,YACZ,KAAM,CAAE,KAAM,MAAO,GAAI,KAAM,EAE9B,SAAWsI,EAAA,MACd,EACCA,EAAW,SACV3G,EAAA,IAAClC,EAAA,CACC,KAAM,CAAE,KAAM,KAAM,GAAI,IAAK,EAC7B,MAAM,WACN,GAAI,EACJ,cAAY,eAEX,SAAW6I,EAAA,WAEZ,MACN,EACE,KACHjG,GACC,MAAM,QAAQA,CAAQ,GACtBA,EAAS,IAAI,CAACyG,EAAOd,UAClBpF,EAAgB,IAAI,CAAE,KAAM,EAAG,GAAI,EAAG,EACpC,SADOkG,GAAAd,CAEV,CACD,EACF3F,GAAY,CAAC,MAAM,QAAQA,CAAQ,GAClCV,EAAA,IAACiB,EAAI,IAAI,CAAE,KAAM,EAAG,GAAI,IAAO,SAAAP,CAAS,GAE5C,GACF,EACCsG,EAAc,KACbhH,EAAA,IAACiB,EAAA,CACC,GAAI,EACJ,GAAI,CAAE,KAAM,EAAG,GAAI,MAAO,EAC1B,QAAQ,QACR,EAAE,OACF,GACE8F,EACI,CACE,SAAU,iBAEV,SAAU,SACV,OAAQ,IACR,gBAAAT,CAAA,EAEF,CAAC,EAGP,eAACrI,EAAU,SAAQ,UACjB,SAAC6B,OAAAsH,GAAA,CAAO,QAAQ,OACd,UAAApH,EAAA,IAACvC,EAAA,CACC,QAAQ,UACP,GAAGoJ,EACJ,UAAWA,EAAmB,UAC9B,EAAE,OAED,SAAmBA,EAAA,KACtB,EACCC,EACE9G,MAAAvC,EAAA,CAAO,QAAQ,YAAa,GAAGqJ,EAAsB,EAAE,OACrD,SAAqBA,EAAA,IACxB,GACE,MACN,CACF,IACF,EAEJ,2wCC7GY,SAAAO,GACdC,EACAC,EAA2B,KAC3B,CACA,KAAM,CAACC,EAAWC,CAAY,EAAIC,WAAS,EAAE,EAE7C7D,mBAAU,IAAM,CACd,eAAe8D,GAAS,CAEtB,MAAMC,EAAM,MAAMC,smDAGlBJ,EAAaG,EAAI,OAAO,EAEnBD,EAAA,GACN,CAACL,EAAUC,CAAgB,CAAC,EACxBC,CACT,CClBa,MAAAM,GAAmBnF,GAAkB,CAChDkB,YAAU,IAAM,CACd,GAAI,UAAYlB,EACd,SAAS,MAAQA,MAEjB,OAAM,IAAI,MACR,0DACF,CACF,EACC,CAACA,CAAK,CAAC,CACZ","names":["AuthService","apiUrl","axios","response","setupApi","openApi","requireAuth","doSetupApi","authService","error","onRejected","authResult","redirectWindow","isRefreshing","refreshAndRetryQueue","isRefresh","isNotAuthorized","originalRequest","config","resolve","reject","err","url","getSessionId","addSessionIdHeader","session","deleteHeapCookies","heapCookies","deleteCookie","name","path","domain","cookie","cookieKey","heapCookie","Button","Checkbox","Link","textSizes","defineStyle","Text","sizes","Divider","Container","helpers","createMultiStyleConfigHelpers","ExpandableText","Heading","outlineVariantStyle","Input","Form","FormLabel","FormError","Paper","defineStyleConfig","Radio","Select","Switch","components","green","red","gray","brandDefault","focusState","icons","colors","styles","fontSizes","lineHeights","theme","Card","card","jsxs","Flex","jsx","Icon","ControlIconButton","icon","isDisabled","onClick","ariaLabel","testId","IconButton","Control","children","rightIconProps","leftIconProps","rest","hasLeftIcon","hasRightIcon","getLeftIcon","Box","getRightIcon","props","ChakraDivider","Footer","logoUrl","website","linkAriaLabel","logoAriaLabel","language","rightsCopy","footerLinks","customBottomContent","Image","lang","link","ContactUs","contactInfo","buttonProps","handleCall","trackHeapEvent","PhoneIcon","Markdown","CustomLi","ListItem","FAQAccordionItem","title","AccordionItem","AccordionButton","AccordionIcon","AccordionPanel","FAQs","markdown","Accordion","UnorderedList","HelpBottomSheet","isOpen","onClose","contactProps","faqProps","BottomSheet","LanguageSync","i18n","useTranslation","useEffect","setDefaultOptions","es","enUS","OtherAmountInput","forwardRef","value","onChange","inputValidation","size","ref","CurrencyInput","amount","e","ProgressBar","percentage","barColor","height","minWidth","OptInLabel","label","OptInLabelRow","YearTag","year","YearTagRow","getItemProps","item","paymentAppliedLabel","formatCurrency","MonthContent","asRow","paymentPastDueLabel","itemProps","ResultsGrid","months","selectedMonth","selectedYear","showYearTag","nextYear","Grid","index","backgroundColor","isSelectedMonth","addYearTag","GridItem","FullScreenLayout","topContent","customTopContent","primaryButtonProps","secondaryButtonProps","stickyButtons","hideButtons","ChakraComponent","event","child","VStack","useClientFaq","filename","resolvedLanguage","clientFaq","setClientFaq","useState","getFaq","faq","__variableDynamicImportRuntimeHelper","useSetPageTitle"],"ignoreList":[],"sources":["../../../m3p-core/src/utils/auth.ts","../../../m3p-core/src/utils/session.ts","../../../m3p-core/src/utils/heap.ts","../../../m3p-core/src/theme/components/Button.ts","../../../m3p-core/src/theme/components/Checkbox.ts","../../../m3p-core/src/theme/components/Link.ts","../../../m3p-core/src/theme/textSizes.ts","../../../m3p-core/src/theme/components/Text.ts","../../../m3p-core/src/theme/components/Divider.ts","../../../m3p-core/src/theme/components/Container.ts","../../../m3p-core/src/theme/components/ExpandableText.ts","../../../m3p-core/src/theme/components/Heading.ts","../../../m3p-core/src/theme/components/Input.ts","../../../m3p-core/src/theme/components/Form.ts","../../../m3p-core/src/theme/components/FormLabel.ts","../../../m3p-core/src/theme/components/FormError.ts","../../../m3p-core/src/theme/components/Paper.ts","../../../m3p-core/src/theme/components/Radio.ts","../../../m3p-core/src/theme/components/Select.ts","../../../m3p-core/src/theme/components/Switch.ts","../../../m3p-core/src/theme/components/index.ts","../../../m3p-core/src/theme/colors.ts","../../../m3p-core/src/theme/index.ts","../../../m3p-core/src/components/Card/Card.tsx","../../../m3p-core/src/components/Control/Control.tsx","../../../m3p-core/src/components/Divider/index.tsx","../../../m3p-core/src/components/Footer/Footer.tsx","../../../m3p-core/src/components/HelpBottomSheet/ContactUs/index.tsx","../../../m3p-core/src/components/HelpBottomSheet/FAQs/index.tsx","../../../m3p-core/src/components/HelpBottomSheet/index.tsx","../../../m3p-core/src/components/LanguageSync/index.tsx","../../../m3p-core/src/components/OtherAmountInput/index.tsx","../../../m3p-core/src/components/ProgressBar/ProgressBar.tsx","../../../m3p-core/src/components/ResultsGrid/OptInLabel.tsx","../../../m3p-core/src/components/ResultsGrid/OptInLabelRow.tsx","../../../m3p-core/src/components/ResultsGrid/YearTag.tsx","../../../m3p-core/src/components/ResultsGrid/YearTagRow.tsx","../../../m3p-core/src/components/ResultsGrid/MonthContent.tsx","../../../m3p-core/src/components/ResultsGrid/index.tsx","../../../m3p-core/src/layout/FullScreenLayout/index.tsx","../../../m3p-core/src/hooks/useClientFaq.ts","../../../m3p-core/src/hooks/useSetPageTitle.ts"],"sourcesContent":["import axios, {\n  AxiosError,\n  AxiosRequestConfig,\n  InternalAxiosRequestConfig,\n} from \"axios\";\n\nexport interface AuthResponse {\n  hasRefreshToken: boolean;\n  isLoggedIn: boolean;\n}\n\nexport interface AuthPathResponse {\n  path: string;\n}\n\nexport class AuthService {\n  apiUrl: string;\n  authUrl: string;\n\n  constructor(apiUrl: string) {\n    this.apiUrl = apiUrl;\n    this.authUrl = \"https://auth\" + apiUrl.substring(apiUrl.indexOf(\"-api.\"));\n  }\n\n  async auth(): Promise<AuthResponse> {\n    const result = await axios.get(this.authUrl + \"/sso/auth\", {\n      withCredentials: true,\n    });\n    return result.data as AuthResponse;\n  }\n\n  async refresh(): Promise<AuthResponse> {\n    await axios.get(this.authUrl + \"/sso/refresh\", {\n      withCredentials: true,\n    });\n\n    return this.auth();\n  }\n\n  async authPath(): Promise<string> {\n    const result = await axios.get(\n      `${this.apiUrl}/auth/path?RedirectUrl=${encodeURIComponent(window.location.href)}`,\n      {\n        withCredentials: true,\n      },\n    );\n    const response = result.data as AuthPathResponse;\n    return this.authUrl + response.path;\n  }\n}\n\nexport interface OpenApi {\n  BASE: string;\n  WITH_CREDENTIALS: boolean;\n}\n\nexport async function setupApi(\n  apiUrl: string,\n  openApi: OpenApi,\n  requireAuth: boolean = true,\n) {\n  return doSetupApi(apiUrl, openApi, new AuthService(apiUrl), requireAuth);\n}\n\nexport async function doSetupApi(\n  apiUrl: string,\n  openApi: OpenApi,\n  authService: AuthService,\n  requireAuth: boolean = true,\n) {\n  openApi.BASE = apiUrl;\n  openApi.WITH_CREDENTIALS = true;\n\n  if (!requireAuth) {\n    return true;\n  }\n\n  axios.interceptors.response.use(\n    (response) => response,\n    (error) => onRejected(error, authService),\n  );\n\n  let authResult = await authService.auth();\n\n  if (!authResult.isLoggedIn && authResult.hasRefreshToken) {\n    authResult = await authService.refresh();\n  }\n\n  if (!authResult.isLoggedIn) {\n    redirectWindow(await authService.authPath());\n  }\n\n  return authResult.isLoggedIn;\n}\n\nlet isRefreshing = false;\ninterface RetryQueueItem {\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  resolve: (value?: any) => void;\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  reject: (error?: any) => void;\n  config: AxiosRequestConfig;\n}\n\nconst refreshAndRetryQueue: RetryQueueItem[] = [];\n\nfunction isRefresh(error: AxiosError) {\n  return error.config && error.config.url?.endsWith(\"/refresh\");\n}\n\nfunction isNotAuthorized(error: AxiosError) {\n  return error.response && error.response.status === 401;\n}\n\nexport async function onRejected(error: AxiosError, authService: AuthService) {\n  const originalRequest: AxiosRequestConfig =\n    error.config as InternalAxiosRequestConfig;\n\n  if (!originalRequest) {\n    return Promise.reject(error);\n  }\n\n  // try to refresh the token if we get a not authorized error\n  // ignore refresh token requests that fail, so they fall through\n  if (isNotAuthorized(error) && !isRefresh(error)) {\n    if (!isRefreshing) {\n      isRefreshing = true;\n      try {\n        const result = await authService.refresh();\n\n        if (!result.isLoggedIn) {\n          redirectWindow(await authService.authPath());\n        } else {\n          refreshAndRetryQueue.forEach(({ config, resolve, reject }) => {\n            axios\n              .request(config)\n              .then((response) => resolve(response))\n              .catch((err) => reject(err));\n          });\n\n          refreshAndRetryQueue.length = 0;\n          return axios(originalRequest);\n        }\n      } finally {\n        isRefreshing = false;\n      }\n    }\n\n    return new Promise<void>((resolve, reject) => {\n      refreshAndRetryQueue.push({ config: originalRequest, resolve, reject });\n    });\n  } else if (isNotAuthorized(error) && isRefresh(error)) {\n    redirectWindow(await authService.authPath());\n    return Promise.resolve(\"redirect\");\n  }\n\n  return Promise.reject(error);\n}\n\nfunction redirectWindow(url: string) {\n  window.location.href = url;\n}\n","import axios, { AxiosRequestConfig, InternalAxiosRequestConfig } from \"axios\";\n\nexport const getSessionId = () => {\n  if (window.DD_RUM) {\n    return window.DD_RUM.getInternalContext()?.session_id;\n  }\n  return null;\n};\n\nexport const addSessionIdHeader = (config: AxiosRequestConfig) => {\n  if (!config.headers) {\n    config.headers = {};\n  }\n\n  if (window.DD_RUM) {\n    const session = getSessionId();\n    if (session) {\n      config.headers[\"x-datadog-session-id\"] = session;\n    }\n  }\n  return config as InternalAxiosRequestConfig;\n};\n\naxios.interceptors.request.use(\n  (config) => {\n    return addSessionIdHeader(config);\n  },\n  (error) => {\n    return Promise.reject(error);\n  },\n);\n","export const deleteHeapCookies = () => {\n  const heapCookies = [\n    \"_hp2_id\",\n    \"_hp2_ses_props\",\n    \"_hp2_props\",\n    \"_hp5_meta\",\n    \"_hp5_event_props\",\n    \"_hp5_let\",\n    \"_hp2_hld\",\n  ];\n\n  const deleteCookie = (name: string, path = \"/\", domain = \".m3p.health\") => {\n    document.cookie = `${name}=; Max-Age=0; path=${path}; domain=${domain};`;\n  };\n\n  document.cookie.split(\";\").forEach((cookie) => {\n    const cookieKey = cookie.split(\"=\")[0].trim();\n    if (\n      heapCookies.some((heapCookie) => cookieKey.startsWith(`${heapCookie}.`))\n    ) {\n      deleteCookie(cookieKey);\n    }\n  });\n};\n","import { ComponentSingleStyleConfig } from \"@chakra-ui/react\";\n\nexport const Button: ComponentSingleStyleConfig = {\n  sizes: {\n    lg: {\n      fontSize: \"lg\",\n      px: 6,\n      py: 5,\n      h: \"60px\",\n    },\n  },\n\n  variants: {\n    primary: {\n      bg: \"brand.600\",\n      color: \"white\",\n      _hover: {\n        bg: \"brand.700\",\n        _disabled: {\n          bg: \"gray.200\",\n          color: \"gray.400\",\n        },\n      },\n      _active: {\n        bg: \"brand.800\",\n      },\n      _disabled: {\n        bg: \"gray.200\",\n        color: \"gray.400\",\n      },\n      _focusVisible: {\n        outlineColor: \"focusState\",\n      },\n    },\n    secondary: {\n      _focusVisible: {\n        outlineColor: \"focusState\",\n      },\n    },\n    destructive: {\n      bg: \"red.600\",\n      color: \"white\",\n      _hover: {\n        bg: \"red.700\",\n        _disabled: {\n          bg: \"red.200\",\n          color: \"white\",\n        },\n      },\n      _active: {\n        bg: \"red.800\",\n      },\n      _disabled: {\n        bg: \"red.200\",\n        color: \"white\",\n      },\n      _focusVisible: {\n        outlineColor: \"focusState\",\n      },\n    },\n    ghost: {\n      bg: \"white\",\n      color: \"gray.900\",\n      _hover: {\n        bg: \"gray.50\",\n        _disabled: {\n          opacity: 0.3,\n          color: \"gray.900\",\n        },\n      },\n      _active: {\n        bg: \"gray.100\",\n      },\n      _disabled: {\n        opacity: 0.3,\n        color: \"gray.900\",\n      },\n      _focusVisible: {\n        outlineColor: \"focusState\",\n      },\n    },\n\n    control: {\n      bg: \"gray.100\",\n      borderColor: \"gray.300\",\n      borderWidth: \"1px\",\n      borderRadius: \"100px\",\n      minW: 16,\n      h: 10,\n      _hover: {\n        bg: \"gray.200\",\n      },\n      _active: {\n        bg: \"gray.300\",\n      },\n      _disabled: {\n        opacity: 0.15,\n        cursor: \"not-allowed\",\n      },\n      _focusVisible: {\n        outlineColor: \"focusState\",\n      },\n    },\n\n    icon: {\n      h: 10,\n      minW: 10,\n      _focusVisible: {\n        outlineColor: \"focusState\",\n      },\n    },\n  },\n\n  defaultProps: {\n    variant: \"primary\",\n    size: \"lg\",\n  },\n};\n","import { ComponentSingleStyleConfig } from \"@chakra-ui/react\";\n\nexport const Checkbox: ComponentSingleStyleConfig = {\n  baseStyle: {\n    control: {\n      boxShadow: \"none\",\n      borderColor: \"gray.500\",\n      opacity: 1,\n\n      _disabled: {\n        opacity: 1,\n        bg: \"none\",\n        borderColor: \"gray.300\",\n        color: \"white\",\n      },\n\n      _checked: {\n        bg: \"brand.600\",\n        borderColor: \"brand.600\",\n        color: \"white\",\n\n        _disabled: {\n          opacity: 1,\n          bg: \"brand.600\",\n          borderColor: \"brand.600\",\n          color: \"white\",\n        },\n\n        _hover: {\n          bg: \"brand.600\",\n          borderColor: \"brand.600\",\n        },\n      },\n\n      _invalid: {\n        borderColor: \"coral.900\",\n\n        _checked: {\n          borderColor: \"coral.900\",\n          bg: \"coral.900\",\n          color: \"white\",\n        },\n\n        _disabled: {\n          borderColor: \"gray.300\",\n        },\n      },\n    },\n    icon: {\n      borderRadius: 3,\n      size: \"lg\",\n    },\n    label: {\n      color: \"black\",\n      ml: 3,\n      textWrap: \"wrap\",\n\n      _disabled: {\n        opacity: 1,\n        color: \"black\",\n      },\n    },\n  },\n  sizes: {\n    md: {\n      label: {\n        fontSize: \"md\",\n      },\n      icon: {\n        fontSize: \"11px\",\n      },\n      control: {\n        width: \"20px\",\n        height: \"20px\",\n      },\n    },\n    lg: {\n      label: {\n        fontSize: \"lg\",\n      },\n      icon: {\n        fontSize: \"12px\",\n      },\n      control: {\n        width: \"22px\",\n        height: \"22px\",\n      },\n    },\n  },\n\n  defaultProps: {\n    size: \"md\",\n  },\n};\n","import { ComponentSingleStyleConfig } from \"@chakra-ui/react\";\n\nexport const Link: ComponentSingleStyleConfig = {\n  baseStyle: {\n    fontSize: \"lg\",\n\n    _focusVisible: {\n      outlineColor: \"focusState\",\n      borderRadius: 8,\n    },\n  },\n  defaultProps: {},\n};\n","import { defineStyle } from \"@chakra-ui/react\";\n\n/**\n * Sizes for Heading and Text components.\n */\nexport const textSizes = {\n  sm: defineStyle({\n    fontSize: \"sm\", // 14px\n    lineHeight: \"sm\",\n  }),\n  base: defineStyle({\n    fontSize: \"base\", // 15px\n    lineHeight: \"base\",\n  }),\n  md: defineStyle({\n    fontSize: \"md\", // 16px\n    lineHeight: \"md\",\n  }),\n  lg: defineStyle({\n    fontSize: \"lg\", // 17px\n    lineHeight: \"lg\",\n  }),\n  xl: defineStyle({\n    fontSize: \"xl\", // 20px\n    lineHeight: \"xl\",\n  }),\n  \"2xl\": defineStyle({\n    fontSize: \"2xl\", // 24px\n    lineHeight: \"2xl\",\n  }),\n  \"3xl\": defineStyle({\n    fontSize: \"3xl\", // 30px\n    lineHeight: \"3xl\",\n  }),\n  \"4xl\": defineStyle({\n    fontSize: \"4xl\", // 36px\n    lineHeight: \"4xl\",\n  }),\n  \"5xl\": defineStyle({\n    fontSize: \"5xl\", // 48px\n    lineHeight: \"5xl\",\n  }),\n};\n","import { ComponentSingleStyleConfig } from \"@chakra-ui/react\";\nimport { textSizes as sizes } from \"../textSizes\";\n\nexport const Text: ComponentSingleStyleConfig = {\n  baseStyle: {\n    color: \"gray.900\",\n  },\n  defaultProps: {\n    size: \"xl\",\n  },\n  sizes,\n};\n","import { ComponentSingleStyleConfig } from \"@chakra-ui/react\";\n\nexport const Divider: ComponentSingleStyleConfig = {\n  baseStyle: {\n    backgroundColor: \"gray.300\",\n    height: \"1px\",\n  },\n  defaultProps: {},\n};\n","import { ComponentSingleStyleConfig } from \"@chakra-ui/react\";\n\nexport const Container: ComponentSingleStyleConfig = {\n  baseStyle: {\n    maxW: \"container.xl\",\n  },\n  variants: {\n    reduced: {\n      maxW: \"684px\",\n      px: { base: 4, md: 0 },\n    },\n    backplate: {\n      maxW: \"684px\",\n      position: \"relative\",\n      top: \"-80px\",\n    },\n  },\n  defaultProps: {},\n};\n","import { createMultiStyleConfigHelpers } from \"@chakra-ui/styled-system\";\n\nconst helpers = createMultiStyleConfigHelpers([\"expandableText\", \"icon\"]);\n\nexport const ExpandableText = helpers.defineMultiStyleConfig({\n  baseStyle: {\n    expandableText: {\n      bg: \"white\",\n      borderWidth: \"1px\",\n      borderColor: \"gray.200\",\n    },\n    icon: {\n      color: \"black\",\n    },\n    button: {\n      bg: \"white\",\n      textColor: \"brand.600\",\n      _hover: {\n        bg: \"gray.100\",\n      },\n    },\n    text: {\n      color: \"gray.600\",\n    },\n  },\n  variants: {},\n});\n","import { ComponentSingleStyleConfig } from \"@chakra-ui/react\";\nimport { textSizes as sizes } from \"../textSizes\";\n\nexport const Heading: ComponentSingleStyleConfig = {\n  baseStyle: {\n    color: \"gray.900\",\n  },\n  defaultProps: {\n    size: \"xl\",\n  },\n  sizes,\n};\n","import { ComponentSingleStyleConfig } from \"@chakra-ui/react\";\n\nconst outlineVariantStyle = {\n  field: {\n    borderWidth: \"1px\",\n    borderColor: \"gray.300\",\n    color: \"gray.900\",\n\n    _placeholder: {\n      color: \"gray.500\",\n    },\n\n    _hover: {\n      boxShadow: \"none\",\n      borderColor: \"gray.400\",\n    },\n\n    _invalid: {\n      boxShadow: \"none\",\n      borderColor: \"red.700\",\n      outline: 1,\n      outlineStyle: \"solid\",\n      outlineColor: \"red.700\",\n    },\n\n    _focus: {\n      boxShadow: \"none\",\n      borderColor: \"brand.600\",\n      outline: 1,\n      outlineStyle: \"solid\",\n      outlineColor: \"brand.600\",\n\n      _invalid: {\n        borderColor: \"red.700\",\n        outlineColor: \"red.700\",\n      },\n    },\n\n    _focusVisible: {\n      boxShadow: \"none\",\n      borderColor: \"brand.600\",\n      outline: 1,\n      outlineStyle: \"solid\",\n      outlineColor: \"brand.600\",\n\n      _invalid: {\n        borderColor: \"red.700\",\n        outlineColor: \"red.700\",\n      },\n    },\n\n    _disabled: {\n      opacity: 1,\n      backgroundColor: \"gray.100\",\n      color: \"gray.500\",\n\n      _hover: {\n        borderColor: \"gray.300\",\n      },\n    },\n  },\n};\n\nexport const Input: ComponentSingleStyleConfig = {\n  baseStyle: {\n    field: {\n      fontSize: \"lg\",\n      borderRadius: 8,\n      boxShadow: \"none\",\n      backgroundColor: \"white\",\n      outlineOffset: 0,\n    },\n  },\n  variants: {\n    outline: outlineVariantStyle,\n  },\n  sizes: {\n    sm: {\n      field: {\n        fontSize: \"sm\",\n        height: 10,\n        borderRadius: 6,\n      },\n      addon: {\n        height: 10,\n      },\n      element: {\n        height: 10,\n      },\n    },\n    md: {\n      field: {\n        fontSize: \"md\",\n        height: 12,\n        paddingStart: 3,\n        paddingEnd: 3,\n      },\n      addon: {\n        height: 12,\n      },\n      element: {\n        height: 12,\n      },\n    },\n    lg: {\n      field: {\n        fontSize: \"lg\",\n        height: \"60px\",\n        paddingStart: 3,\n        paddingEnd: 3,\n      },\n      addon: {\n        height: \"60px\",\n      },\n      element: {\n        height: \"60px\",\n      },\n    },\n  },\n  defaultProps: {\n    size: \"lg\",\n    focusBorderColor: \"brand.600\",\n  },\n};\n","import { ComponentSingleStyleConfig } from \"@chakra-ui/react\";\n\nexport const Form: ComponentSingleStyleConfig = {\n  baseStyle: {\n    requiredIndicator: {\n      color: \"red.700\",\n    },\n    helperText: {\n      fontSize: \"lg\",\n      color: \"gray.500\",\n    },\n  },\n};\n","import { ComponentSingleStyleConfig } from \"@chakra-ui/react\";\nimport { textSizes as sizes } from \"../textSizes\";\n\nexport const FormLabel: ComponentSingleStyleConfig = {\n  baseStyle: {\n    fontSize: \"lg\",\n    fontFamily: \"primary\",\n    fontWeight: 400,\n    color: \"gray.900\",\n    mt: 0,\n    mb: 1,\n  },\n  sizes,\n  defaultProps: {\n    size: \"lg\",\n  },\n};\n","import { ComponentSingleStyleConfig } from \"@chakra-ui/react\";\n\nexport const FormError: ComponentSingleStyleConfig = {\n  baseStyle: {\n    text: {\n      color: \"red.900\",\n      fontSize: \"lg\",\n    },\n  },\n};\n","import { defineStyleConfig } from \"@chakra-ui/react\";\n\nexport const Paper = defineStyleConfig({\n  baseStyle: {},\n  variants: {\n    heavy: {\n      borderWidth: \"1px\",\n      borderColor: \"gray.300\",\n      borderRadius: \"xl\",\n      boxShadow:\n        \"box-shadow: 0px 4px 6px -4px #0000000D; box-shadow: 0px 10px 15px -3px #0000000D;\",\n    },\n  },\n});\n","import { ComponentSingleStyleConfig } from \"@chakra-ui/react\";\n\nexport const Radio: ComponentSingleStyleConfig = {\n  baseStyle: {\n    control: {\n      boxShadow: \"none\",\n      borderColor: \"gray.500\",\n      opacity: 1,\n\n      _disabled: {\n        opacity: 1,\n        bg: \"none\",\n        borderColor: \"gray.300\",\n        color: \"white\",\n      },\n\n      _checked: {\n        bg: \"white\",\n        borderColor: \"brand.700\",\n        color: \"brand.700\",\n\n        _disabled: {\n          opacity: 1,\n          bg: \"brand.300\",\n          borderColor: \"brand.300\",\n          color: \"white\",\n        },\n\n        _hover: {\n          bg: \"white\",\n          borderColor: \"brand.600\",\n          color: \"brand.600\",\n        },\n\n        _before: {\n          width: \"10px\",\n          height: \"10px\",\n        },\n      },\n\n      _invalid: {\n        borderColor: \"coral.900\",\n\n        _checked: {\n          borderColor: \"coral.900\",\n          bg: \"coral.900\",\n          color: \"white\",\n        },\n\n        _disabled: {\n          borderColor: \"gray.300\",\n        },\n      },\n    },\n    label: {\n      color: \"black\",\n      ml: 3,\n      textWrap: \"wrap\",\n\n      _disabled: {\n        opacity: 1,\n        color: \"black\",\n      },\n    },\n  },\n  sizes: {\n    md: {\n      label: {\n        fontSize: \"md\",\n      },\n      icon: {\n        fontSize: \"11px\",\n      },\n      control: {\n        width: \"20px\",\n        height: \"20px\",\n      },\n    },\n    lg: {\n      label: {\n        fontSize: \"lg\",\n      },\n      icon: {\n        fontSize: \"12px\",\n      },\n      control: {\n        width: \"22px\",\n        height: \"22px\",\n      },\n    },\n  },\n\n  defaultProps: {\n    size: \"md\",\n  },\n};\n","/* eslint-disable eslint-comments/disable-enable-pair */\nimport { ComponentSingleStyleConfig } from \"@chakra-ui/react\";\n\nconst outlineVariantStyle = {\n  field: {\n    borderWidth: \"1px\",\n    borderColor: \"gray.300\",\n    color: \"gray.900\",\n\n    _placeholder: {\n      color: \"gray.500\",\n    },\n\n    _hover: {\n      boxShadow: \"none\",\n      borderColor: \"gray.400\",\n    },\n\n    _invalid: {\n      bg: \"white\",\n      boxShadow: \"none\",\n      borderColor: \"red.700\",\n      outline: 1,\n      outlineStyle: \"solid\",\n      outlineColor: \"red.700\",\n    },\n\n    _focus: {\n      boxShadow: \"none\",\n      borderColor: \"brand.600\",\n      outline: 1,\n      outlineStyle: \"solid\",\n      outlineColor: \"brand.600\",\n\n      _invalid: {\n        backgroundColor: \"white\",\n        borderColor: \"red.300\",\n        outlineColor: \"red.300\",\n      },\n    },\n\n    _focusVisible: {\n      boxShadow: \"none\",\n      borderColor: \"brand.600\",\n      outline: 1,\n      outlineStyle: \"solid\",\n      outlineColor: \"brand.600\",\n\n      _invalid: {\n        backgroundColor: \"white\",\n        borderColor: \"red.300\",\n        outlineColor: \"red.300\",\n      },\n    },\n\n    _disabled: {\n      opacity: 1,\n      backgroundColor: \"gray.100\",\n      color: \"gray.500\",\n\n      _hover: {\n        borderColor: \"gray.300\",\n      },\n    },\n  },\n};\n\nexport const Select: ComponentSingleStyleConfig = {\n  baseStyle: {\n    field: {\n      fontSize: \"lg\",\n      borderRadius: 8,\n      boxShadow: \"none\",\n      backgroundColor: \"white\",\n      outlineOffset: 0,\n    },\n    icon: {\n      color: \"gray.600\",\n    },\n  },\n  variants: {\n    outline: outlineVariantStyle,\n  },\n  sizes: {\n    sm: {\n      field: {\n        fontSize: \"sm\",\n        height: 10,\n        borderRadius: 6,\n      },\n      addon: {\n        height: 10,\n      },\n      element: {\n        height: 10,\n      },\n    },\n    md: {\n      field: {\n        fontSize: \"md\",\n        height: 12,\n        paddingStart: 3,\n        paddingEnd: 3,\n      },\n      addon: {\n        height: 12,\n      },\n      element: {\n        height: 12,\n      },\n    },\n    lg: {\n      field: {\n        fontSize: \"lg\",\n        height: \"60px\",\n        paddingStart: 3,\n        paddingEnd: 3,\n      },\n      addon: {\n        height: \"60px\",\n      },\n      element: {\n        height: \"60px\",\n      },\n    },\n  },\n  defaultProps: {\n    size: \"lg\",\n    focusBorderColor: \"brand.600\",\n  },\n};\n","import { ComponentSingleStyleConfig } from \"@chakra-ui/react\";\n\nexport const Switch: ComponentSingleStyleConfig = {\n  baseStyle: {\n    track: {\n      bg: \"gray.400\",\n      _checked: {\n        bg: \"green.600\",\n      },\n    },\n  },\n};\n","import { Button } from \"./Button\";\nimport { Checkbox } from \"./Checkbox\";\nimport { Link } from \"./Link\";\nimport { Text } from \"./Text\";\nimport { Divider } from \"./Divider\";\nimport { Container } from \"./Container\";\nimport { ExpandableText } from \"./ExpandableText\";\nimport { Heading } from \"./Heading\";\nimport { Input } from \"./Input\";\nimport { Form } from \"./Form\";\nimport { FormLabel } from \"./FormLabel\";\nimport { FormError } from \"./FormError\";\nimport { Paper } from \"./Paper\";\nimport { Radio } from \"./Radio\";\nimport { Select } from \"./Select\";\nimport { Switch } from \"./Switch\";\n\nexport const components = {\n  Button,\n  Checkbox,\n  Link,\n  Text,\n  Divider,\n  ExpandableText,\n  Container,\n  Heading,\n  Input,\n  Form,\n  FormLabel,\n  FormError,\n  Paper,\n  Radio,\n  Select,\n  Switch,\n};\n","import { Colors } from \"@chakra-ui/react\";\n\nconst green = {\n  50: \"#f0fdf4\",\n  100: \"#dcfce7\",\n  200: \"#bbf7d0\",\n  300: \"#86efac\",\n  400: \"#4ade80\",\n  500: \"#22c55e\",\n  600: \"#16a34a\",\n  700: \"#15803d\",\n  800: \"#166534\",\n  900: \"#14532d\",\n};\n\nconst red = {\n  50: \"#FEF2F2\",\n  100: \"#FEE2E2\",\n  200: \"#FECACA\",\n  300: \"#FCA5A5\",\n  400: \"#F87171\",\n  500: \"#EF4444\",\n  600: \"#DC2626\",\n  700: \"#B91C1C\",\n  800: \"#991B1B\",\n  900: \"#7F1D1D\",\n};\n\n/**\n * Neutral palette\n *\n * This will probably want to eventually become the default for the\n * ui package and let `pop` apply its own custom gray\n */\nconst gray = {\n  50: \"#FAFAFA\",\n  100: \"#F4F4F5\",\n  200: \"#E4E4E7\",\n  300: \"#D4D4D8\",\n  400: \"#A1A1Aa\",\n  500: \"#6F6F7A\",\n  600: \"#52525b\",\n  700: \"#3f3f46\",\n  800: \"#27272a\",\n  900: \"#18181b\",\n};\n\n/**\n * ESI sourced from their brand guidelines\n */\nexport const esi = {\n  200: \"#EAEAEA\",\n  300: \"#EAEAEA\",\n  500: \"#035C67\",\n  600: \"#035C67\",\n  700: \"#00363D\",\n  800: \"#00171A\",\n  900: \"#035C67\",\n};\n\n/**\n * CarePlus sourced from their brand guidelines\n */\nexport const careplus = {\n  200: \"#E6E7E8\",\n  300: \"#E6E7E8\",\n  500: \"#0062A6\",\n  600: \"#0062A6\",\n  700: \"#152349\",\n  800: \"#152349\",\n  900: \"#D11D2E\",\n};\n\n/**\n * Humana sourced from their brand guidelines\n */\nexport const humana = {\n  200: \"#C8C8C8\",\n  300: \"#C8C8C8\",\n  500: \"#612166\",\n  600: \"#612166\",\n  700: \"#4C1A51\",\n  800: \"#4C1A51\",\n  900: \"#5C9A1B\",\n};\n\n/**\n * Acme Corp. yellow (fake)\n */\nexport const acme = {\n  50: \"#FAF9EB\",\n  100: \"#F0EDC6\",\n  200: \"#E7E2A2\",\n  300: \"#DED77D\",\n  400: \"#D4CC58\",\n  500: \"#CBC034\",\n  600: \"#A29A2A\",\n  700: \"#7A731F\",\n  800: \"#514D15\",\n  900: \"#29260A\",\n};\n\n/**\n * Globex red (fake)\n */\nexport const globex = {\n  50: \"#FAEBEB\",\n  100: \"#F0C6C6\",\n  200: \"#E7A2A2\",\n  300: \"#DD7E7E\",\n  400: \"#D45959\",\n  500: \"#CA3535\",\n  600: \"#A22A2A\",\n  700: \"#792020\",\n  800: \"#511515\",\n  900: \"#280B0B\",\n};\n\nconst brandDefault = {\n  200: \"#C8C8C8\",\n  300: \"#C8C8C8\",\n  500: \"#52525B\",\n  600: \"#52525B\",\n  700: \"#3F3F46\",\n  800: \"#27272A\",\n  900: \"#1D1D1F\",\n};\n\nconst focusState = \"#1967D2\";\n\nexport const brandColors = {\n  esi,\n  careplus,\n  humana,\n  acme,\n  globex,\n};\n\nconst icons = {\n  duotone: {\n    grayscale: {\n      color1: gray[300],\n      color2: gray[400],\n      color3: gray[500],\n    },\n  },\n};\n\nexport const colors: Colors = {\n  gray,\n  green,\n  red,\n  brand: brandDefault,\n  focusState,\n  icons,\n};\n","import { ChakraTheme } from \"@chakra-ui/react\";\n\nimport { components } from \"./components\";\nimport { colors } from \"./colors\";\n\nexport * from \"./textSizes\";\n\nexport const styles = {\n  global: {\n    body: {\n      background: \"white\",\n    },\n  },\n};\n\n/**\n * Font sizes\n */\nexport const fontSizes = {\n  sm: \"0.875rem\", // 14px\n  base: \"0.9375rem\", // 15px\n  md: \"1rem\", // 16px\n  lg: \"1.0625rem\", // 17px\n  xl: \"1.25rem\", // 20px\n  \"2xl\": \"1.5rem\", // 24px\n  \"3xl\": \"1.875rem\", // 30px\n  \"4xl\": \"2.25rem\", // 36px\n  \"5xl\": \"3rem\", // 48px\n};\n\n/**\n * Line heights\n */\nexport const lineHeights = {\n  sm: \"1.25rem\", // 20px\n  base: \"1.375rem\", // 22px\n  md: \"1.375rem\", // 22px\n  lg: \"1.5rem\", // 24px\n  xl: \"1.75rem\", // 28px\n  \"2xl\": \"2rem\", // 32px\n  \"3xl\": \"2.25rem\", // 36px\n  \"4xl\": \"2.625rem\", // 42px\n  \"5xl\": \"3.25rem\", // 52px\n};\n\n/**\n * Theme customizations\n */\nexport const theme: Partial<ChakraTheme> = {\n  colors,\n  components,\n  styles,\n  fontSizes,\n  lineHeights,\n};\n","import { Flex, Heading } from \"@chakra-ui/react\";\nimport { Text, Icon, IconKey } from \"@paytient/ui\";\n\nexport type CardProps = {\n  id: string;\n  content: string;\n  title: string;\n  icon: {\n    name: IconKey;\n    color: string;\n  };\n  testId?: string;\n};\n\nexport const Card = (card: CardProps) => {\n  return (\n    <Flex\n      key={`carousel-card-${card.id}`}\n      data-testid={`card-${card.id}`}\n      px={2}\n      w=\"286px\"\n      p={7}\n      border=\"1px\"\n      borderColor=\"gray.300\"\n      borderRadius={12}\n      bgColor=\"gray.100\"\n      flexDirection=\"column\"\n      alignItems=\"flex-start\"\n      gap={3}\n    >\n      <Icon\n        name={card.icon.name}\n        color={card.icon.color}\n        boxSize={card.icon.name !== \"card\" ? 12 : \"44px\"}\n        mb={2}\n      />\n      <Heading as=\"h3\" fontSize=\"2xl\" fontWeight=\"bold\">\n        {card.title}\n      </Heading>\n      <Text fontSize=\"lg\" whiteSpace=\"pre-line\">\n        {card.content}\n      </Text>\n    </Flex>\n  );\n};\n","/* eslint-disable @typescript-eslint/restrict-template-expressions */\nimport React, { ReactElement } from \"react\";\nimport { Flex, IconButton, FlexProps, Box } from \"@chakra-ui/react\";\n\ninterface ControlProps extends FlexProps {\n  /**\n   * Left icon to show on the control with its onClick\n   *\n   */\n  leftIconProps?: {\n    icon: ReactElement;\n    onClick: () => void;\n    isDisabled?: boolean;\n    ariaLabel: string;\n    testId?: string;\n  };\n  /**\n   * Right icon to show on the control with its onClick\n   *\n   */\n  rightIconProps?: {\n    icon: ReactElement;\n    onClick: () => void;\n    isDisabled?: boolean;\n    ariaLabel: string;\n    testId?: string;\n  };\n  /**\n   * Children to show in the control\n   *\n   */\n  children?: string | React.ReactNode;\n  testId?: string;\n}\n\ninterface ControlIconButtonProps {\n  icon?: ReactElement;\n  isDisabled?: boolean;\n  onClick?: () => void;\n  ariaLabel?: string;\n  testId?: string;\n}\n\nconst ControlIconButton = ({\n  icon,\n  isDisabled,\n  onClick,\n  ariaLabel,\n  testId,\n}: ControlIconButtonProps) => {\n  return (\n    <IconButton\n      aria-label={ariaLabel ?? \"\"}\n      w={16}\n      minW={16}\n      h={10}\n      bgColor=\"gray.100\"\n      borderWidth=\"1px\"\n      borderRadius=\"100px\"\n      borderColor=\"gray.300\"\n      _hover={{ bgColor: \"gray.200\" }}\n      _active={{ bgColor: \"gray.300\" }}\n      _disabled={{ opacity: 0.15 }}\n      _focusVisible={{ outlineColor: \"focusState\" }}\n      variant=\"control\"\n      icon={icon}\n      isDisabled={isDisabled || !onClick}\n      onClick={onClick}\n      data-testid={`${testId}-control-icon-button`}\n    />\n  );\n};\n\nexport const Control: React.FC<ControlProps> = ({\n  children,\n  rightIconProps,\n  leftIconProps,\n  testId = \"control\",\n  ...rest\n}) => {\n  const hasLeftIcon = Boolean(leftIconProps?.onClick);\n  const hasRightIcon = Boolean(rightIconProps?.onClick);\n\n  const getLeftIcon = () => {\n    if (hasLeftIcon) {\n      return (\n        <ControlIconButton\n          icon={leftIconProps?.icon}\n          onClick={leftIconProps?.onClick}\n          isDisabled={leftIconProps?.isDisabled}\n          ariaLabel={leftIconProps?.ariaLabel}\n          testId=\"left\"\n        />\n      );\n    }\n    return <Box w={16} h={10} />;\n  };\n\n  const getRightIcon = () => {\n    if (hasRightIcon) {\n      return (\n        <ControlIconButton\n          icon={rightIconProps?.icon}\n          onClick={rightIconProps?.onClick}\n          isDisabled={rightIconProps?.isDisabled}\n          ariaLabel={rightIconProps?.ariaLabel}\n          testId={rightIconProps?.testId ?? \"right\"}\n        />\n      );\n    }\n    return <Box w={16} h={10} />;\n  };\n\n  return (\n    <Flex\n      justifyContent=\"space-between\"\n      alignItems=\"center\"\n      gap={4}\n      w=\"full\"\n      h={20}\n      data-testid={testId}\n      {...rest}\n    >\n      {getLeftIcon()}\n      {children}\n      {getRightIcon()}\n    </Flex>\n  );\n};\n","import React from \"react\";\nimport {\n  Divider as ChakraDivider,\n  DividerProps as ChakraDividerProps,\n} from \"@chakra-ui/react\";\n\n/**\n *\n * @param props Divider props\n *\n * This component was created to accomodate for Axe tests where aria-orientation is forbidden and <hr> tags are not allowed.\n */\nexport const Divider: React.FC<ChakraDividerProps> = (props) => {\n  return <ChakraDivider {...props} as=\"div\" aria-orientation={undefined} />;\n};\n","import React from \"react\";\nimport { Flex, Divider, Box, Image, Container } from \"@chakra-ui/react\";\nimport { Select, Text, Link, Icon } from \"@paytient/ui\";\n\ntype Option = { label: string; value: string };\n\ntype LanguageSelect = {\n  label: string;\n  onToggle: (language: string) => void;\n  current?: string;\n  options: Option[];\n};\n\ntype FooterLink = {\n  label: string;\n  ariaLabel: string;\n  href: string;\n};\n\ntype Props = {\n  sponsor: {\n    logoUrl?: string;\n    website: string;\n    linkAriaLabel: string;\n    logoAriaLabel: string;\n  };\n  language?: LanguageSelect;\n  rightsCopy: string;\n  footerLinks?: FooterLink[];\n  customBottomContent?: React.ReactNode;\n};\n\nexport const Footer: React.FC<Props> = ({\n  sponsor: { logoUrl, website, linkAriaLabel, logoAriaLabel },\n  language,\n  rightsCopy,\n  footerLinks = [],\n  customBottomContent,\n}: Props) => {\n  return (\n    <Flex\n      data-testid=\"footer\"\n      justifyContent=\"center\"\n      w=\"full\"\n      borderTopWidth=\"1px\"\n      borderColor=\"gray.300\"\n    >\n      <Container>\n        <Flex\n          flexDir=\"column\"\n          w=\"full\"\n          pb={12}\n          pt={{\n            base: 12,\n            md: 16,\n          }}\n        >\n          <Flex\n            w=\"full\"\n            align={{\n              base: \"flex-start\",\n              md: \"center\",\n            }}\n            flexDir={{\n              base: \"column-reverse\",\n              md: \"row\",\n            }}\n            justifyContent=\"space-between\"\n            gap={{\n              base: 8,\n              md: 0,\n            }}\n          >\n            <Box\n              flexBasis={{\n                base: \"0\",\n                md: \"200px\",\n              }}\n            >\n              {logoUrl ? (\n                <Link\n                  display=\"block\"\n                  data-testid=\"sponsor-link\"\n                  aria-label={linkAriaLabel}\n                  href={website}\n                  isExternal\n                >\n                  <Image\n                    data-testid=\"sponsor-logo\"\n                    aria-label={logoAriaLabel}\n                    alt={logoAriaLabel}\n                    src={logoUrl}\n                  />\n                </Link>\n              ) : (\n                <Icon name=\"sponsorLogo\" width={200} />\n              )}\n            </Box>\n            {language ? (\n              <Box\n                w={{\n                  base: \"full\",\n                  md: \"200px\",\n                }}\n              >\n                <Select\n                  testId=\"select-language\"\n                  aria-label={language.label}\n                  defaultValue={language.current}\n                  handleChange={language.onToggle}\n                >\n                  {language.options.map((lang) => (\n                    <option key={lang.value} value={lang.value}>\n                      {lang.label}\n                    </option>\n                  ))}\n                </Select>\n              </Box>\n            ) : null}\n          </Flex>\n          <Divider\n            mt={{\n              base: 8,\n              md: 16,\n            }}\n            mb={8}\n          />\n          {/* If Paytient Calc we get and use customBottomContent, otherwise render standard footerLinks */}\n          {customBottomContent ?? (\n            <Flex\n              gap={{\n                base: 0,\n                md: 3,\n              }}\n              flexDir={{\n                base: \"column\",\n                md: \"row\",\n              }}\n              mb={8}\n            >\n              {footerLinks.map((link) => (\n                <Link\n                  key={link.label}\n                  aria-label={link.label}\n                  display=\"flex\"\n                  alignItems=\"center\"\n                  textAlign=\"center\"\n                  h={12}\n                  px={2}\n                  w=\"fit-content\"\n                  color=\"gray.500\"\n                  _hover={{ color: \"gray.700\" }}\n                  href={link.href}\n                  isExternal\n                >\n                  {link.label}\n                </Link>\n              ))}\n            </Flex>\n          )}\n          <Flex\n            flexDir={{\n              base: \"column-reverse\",\n              md: \"row\",\n            }}\n            justifyContent=\"space-between\"\n            gap={{\n              base: 8,\n              md: 0,\n            }}\n          >\n            <Text\n              aria-label={rightsCopy}\n              display=\"flex\"\n              alignItems=\"center\"\n              color=\"gray.500\"\n              _hover={{ color: \"gray.700\" }}\n              size=\"lg\"\n            >\n              {rightsCopy}\n            </Text>\n          </Flex>\n        </Flex>\n      </Container>\n    </Flex>\n  );\n};\n","import { Container, Flex, Text } from \"@chakra-ui/react\";\nimport { Button } from \"@paytient/ui\";\nimport { trackHeapEvent } from \"@paytient/common\";\nimport { PhoneIcon } from \"@chakra-ui/icons\";\nimport Markdown from \"markdown-to-jsx\";\n\ntype ContactInfo = {\n  message: string;\n  phone: string;\n};\n\ntype ButtonProps = {\n  label: string;\n  ariaLabel: string;\n};\n\nexport type ContactUsProps = {\n  contactInfo: ContactInfo;\n  buttonProps: ButtonProps;\n};\n\nexport const ContactUs = ({ contactInfo, buttonProps }: ContactUsProps) => {\n  const handleCall = () => {\n    trackHeapEvent(\"Clicked Call Support Button\");\n    window.open(`tel:${contactInfo.phone}`, \"_self\");\n  };\n\n  if (!contactInfo.phone || !contactInfo.message) return null;\n\n  return (\n    <Flex\n      backgroundColor=\"white\"\n      w=\"full\"\n      alignItems=\"center\"\n      direction=\"column\"\n    >\n      <Container variant=\"reduced\" p={0}>\n        <Flex\n          w=\"full\"\n          direction=\"column\"\n          gap={4}\n          py={{ base: \"8\", sm: \"8\", md: \"10\" }}\n          px={{ base: 5, sm: 5, md: 0 }}\n        >\n          <Button\n            leftIcon={<PhoneIcon />}\n            aria-label={buttonProps.ariaLabel}\n            onClick={() => handleCall()}\n          >\n            {buttonProps.label}\n          </Button>\n          <Text size=\"lg\">\n            <Markdown>{contactInfo.message}</Markdown>\n          </Text>\n        </Flex>\n      </Container>\n    </Flex>\n  );\n};\n","import { ReactElement } from \"react\";\nimport {\n  Accordion,\n  AccordionButton,\n  AccordionIcon,\n  AccordionItem,\n  AccordionPanel,\n  Box,\n  Container,\n  Flex,\n  Heading,\n  ListItem,\n  Text,\n  UnorderedList,\n} from \"@chakra-ui/react\";\nimport Markdown from \"markdown-to-jsx\";\n\ntype FAQItem = {\n  title: string;\n  content: string;\n};\n\nexport type FAQProps = {\n  title: string;\n  markdown?: string;\n  items?: FAQItem[];\n  testId?: string;\n};\n\nconst CustomLi = ({ children }) => {\n  return <ListItem marginBottom={1}>{children}</ListItem>;\n};\n\nconst FAQAccordionItem = ({ children, title, testId }) => {\n  return (\n    <AccordionItem\n      border=\"0px\"\n      borderBottom=\"1px\"\n      borderColor=\"gray.300\"\n      data-testid={testId}\n    >\n      <h3>\n        <AccordionButton px={0} py={5} alignItems=\"flex-start\">\n          <Box as=\"span\" flex={1} textAlign=\"left\">\n            <Heading size=\"md\" as=\"h3\">\n              {title}\n            </Heading>\n          </Box>\n          <AccordionIcon />\n        </AccordionButton>\n      </h3>\n      <AccordionPanel pb={4} pt={1} px={0}>\n        <Text size=\"md\" color=\"gray.500\">\n          {children}\n        </Text>\n      </AccordionPanel>\n    </AccordionItem>\n  );\n};\n\nexport const FAQs = ({ markdown, title }: FAQProps): ReactElement => {\n  return (\n    <Flex\n      backgroundColor=\"gray.50\"\n      w=\"full\"\n      alignItems=\"center\"\n      direction=\"column\"\n    >\n      <Container variant=\"reduced\" p={0}>\n        <Flex\n          w=\"full\"\n          direction=\"column\"\n          gap={4}\n          py={{ base: \"8\", sm: \"8\", md: \"10\" }}\n          px={{ base: 5, sm: 5, md: 0 }}\n        >\n          <Heading size=\"3xl\">{title}</Heading>\n          <Accordion\n            defaultIndex={[0]}\n            allowMultiple={true}\n            allowToggle={false}\n          >\n            <Markdown\n              options={{\n                forceBlock: true,\n                overrides: {\n                  li: {\n                    component: CustomLi,\n                  },\n                  ul: {\n                    component: UnorderedList,\n                  },\n                  FAQAccordionItem: {\n                    component: FAQAccordionItem,\n                  },\n                },\n              }}\n            >\n              {markdown as string}\n            </Markdown>\n          </Accordion>\n        </Flex>\n      </Container>\n    </Flex>\n  );\n};\n","import { ReactElement } from \"react\";\nimport { Divider, Flex } from \"@chakra-ui/react\";\nimport { BottomSheet } from \"@paytient/ui\";\n\nimport { ContactUs, ContactUsProps } from \"./ContactUs\";\nimport { FAQs, FAQProps } from \"./FAQs\";\n\nexport type HelpBottomSheetProps = {\n  isOpen: boolean;\n  onClose: () => void;\n  title: string;\n  contactProps: ContactUsProps;\n  faqProps: FAQProps;\n};\n\nexport const HelpBottomSheet = ({\n  isOpen,\n  onClose,\n  contactProps,\n  faqProps,\n  title,\n}: HelpBottomSheetProps): ReactElement => {\n  return (\n    <BottomSheet\n      data-testid=\"help-bottom-sheet\"\n      onClose={onClose}\n      isOpen={isOpen}\n      title={title}\n      rightIconButtonProps={{\n        iconName: \"close\",\n        label: \"close\",\n        onClick: onClose,\n      }}\n    >\n      <Flex direction=\"column\" alignItems=\"center\">\n        <ContactUs {...contactProps} />\n        <Divider />\n        <FAQs {...faqProps} />\n      </Flex>\n    </BottomSheet>\n  );\n};\n","/* eslint-disable import/no-duplicates */\nimport { useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { setDefaultOptions } from \"date-fns\";\nimport { es, enUS } from \"date-fns/locale\";\n\nexport const LanguageSync = () => {\n  const { i18n } = useTranslation();\n\n  useEffect(() => {\n    if (i18n.resolvedLanguage === \"es\") {\n      setDefaultOptions({ locale: es });\n    } else {\n      setDefaultOptions({ locale: enUS });\n    }\n  }, [i18n.resolvedLanguage]);\n\n  return null;\n};\n","import { forwardRef } from \"react\";\nimport { Box, InputProps } from \"@chakra-ui/react\";\nimport { CurrencyInput, CurrencyInputProps } from \"@paytient/ui\";\nimport { InputValidationProps } from \"../PaymentAmountWidget\";\n\ntype OtherAmountProps = {\n  value: number | null;\n  onChange: (amount: number | null) => void;\n  inputValidation?: InputValidationProps;\n  size?: InputProps[\"size\"];\n  ariaLabel?: string;\n};\n\ntype Ref = HTMLInputElement;\n\nexport const OtherAmountInput = forwardRef<Ref, OtherAmountProps>(\n  ({ value, onChange, inputValidation, size = \"md\", ariaLabel }, ref) => {\n    return (\n      <Box maxW=\"110px\">\n        <CurrencyInput\n          ref={ref}\n          value={value ?? \"\"}\n          handleChange={(amount) => {\n            onChange(amount ? Number(amount) : null);\n          }}\n          handleBlur={() => {\n            if (!value) {\n              onChange(null);\n            }\n          }}\n          data-testid=\"other-amount-input\"\n          id=\"otherAmount\"\n          name=\"otherAmount\"\n          aria-label={ariaLabel ?? \"Other Amount\"}\n          placeholder=\"$0.00\"\n          textAlign=\"right\"\n          onKeyPress={(e) => {\n            e.which === 13 && e.preventDefault();\n          }}\n          _focus={{\n            ...(inputValidation?.type === \"error\"\n              ? {\n                  borderColor: \"red.700\",\n                  outline: 1,\n                  outlineStyle: \"solid\",\n                  outlineColor: \"red.700\",\n                }\n              : {}),\n          }}\n          size={size as unknown as CurrencyInputProps[\"size\"]}\n        />\n      </Box>\n    );\n  },\n);\n\nOtherAmountInput.displayName = \"OtherAmountInput\";\n","import React from \"react\";\nimport { Box, BoxProps } from \"@chakra-ui/react\";\n\ninterface ProgressBarProps extends Omit<BoxProps, \"h\"> {\n  barColor?: string;\n  percentage: number;\n  testId?: string;\n  height?: number;\n  minWidth?: number;\n}\n\nexport const ProgressBar: React.FC<ProgressBarProps> = ({\n  percentage,\n  barColor = \"purple.500\",\n  testId = \"progress-bar\",\n  height = 4,\n  minWidth = height,\n  ...rest\n}) => (\n  <Box\n    bgColor=\"gray.100\"\n    my=\"auto\"\n    pos=\"relative\"\n    borderRadius={20}\n    w=\"full\"\n    data-testid={testId}\n    height={height}\n    {...rest}\n  >\n    <Box\n      bgColor={barColor}\n      pos=\"absolute\"\n      borderRadius={20}\n      w={`${percentage}%`}\n      minWidth={minWidth}\n      top={0}\n      bottom={0}\n      left={0}\n      data-testid={`${testId}-percentage`}\n    />\n  </Box>\n);\n","import { Box, Text } from \"@chakra-ui/react\";\n\ntype OptInLabelProps = {\n  label: string;\n};\n\nexport const OptInLabel: React.FC<OptInLabelProps> = ({ label }) => {\n  return (\n    <Box\n      data-testid=\"results-opt-in-label\"\n      position=\"absolute\"\n      width=\"full\"\n      backgroundColor=\"green.50\"\n      textAlign=\"center\"\n      py={1}\n    >\n      <Text\n        color=\"green.700\"\n        fontSize={{ base: \"12px\", md: \"16px\" }}\n        lineHeight={{ base: \"12px\", md: \"22px\" }}\n      >\n        {label}\n      </Text>\n    </Box>\n  );\n};\n","import { Box, Text } from \"@chakra-ui/react\";\n\ntype OptInLabelRowProps = {\n  label: string;\n};\n\nexport const OptInLabelRow: React.FC<OptInLabelRowProps> = ({ label }) => {\n  return (\n    <Box\n      data-testid=\"results-opt-in-label\"\n      position=\"absolute\"\n      width=\"full\"\n      backgroundColor=\"fuchsia.50\"\n      textAlign=\"center\"\n      py={1}\n    >\n      <Text color=\"fuchsia.700\" fontSize=\"12px\" lineHeight=\"12px\">\n        {label}\n      </Text>\n    </Box>\n  );\n};\n","import { Box, Text } from \"@chakra-ui/react\";\n\ntype YearTagProps = {\n  year?: number | null;\n};\n\nexport const YearTag: React.FC<YearTagProps> = ({ year }) => {\n  return (\n    <Box\n      data-testid=\"next-year-label\"\n      position=\"absolute\"\n      width=\"full\"\n      backgroundColor=\"yellow.50\"\n      textAlign=\"center\"\n      py={1}\n    >\n      <Text\n        color=\"yellow.700\"\n        fontSize={{ base: \"12px\", md: \"16px\" }}\n        lineHeight={{ base: \"12px\", md: \"22px\" }}\n      >\n        {year}\n      </Text>\n    </Box>\n  );\n};\n","import { Box, Text } from \"@chakra-ui/react\";\n\ntype YearTagRowProps = {\n  year?: number | null;\n};\n\nexport const YearTagRow: React.FC<YearTagRowProps> = ({ year }) => {\n  return (\n    <Box\n      data-testid=\"next-year-label\"\n      position=\"absolute\"\n      width=\"full\"\n      backgroundColor=\"yellow.50\"\n      textAlign=\"center\"\n      py={1}\n    >\n      <Text color=\"yellow.700\" fontSize=\"12px\" lineHeight=\"12px\">\n        {year}\n      </Text>\n    </Box>\n  );\n};\n","import { Flex, Text } from \"@chakra-ui/react\";\nimport { formatCurrency } from \"@paytient/common\";\nimport { MonthItem } from \"../ResultsGrid\";\n\ntype MonthContentProps = {\n  item: MonthItem;\n  asRow: boolean;\n  paymentPastDueLabel: string;\n  paymentAppliedLabel: string;\n};\n\nconst getItemProps = (item: MonthItem, paymentAppliedLabel: string) => {\n  if (item.minimumAmountDue === undefined) {\n    return { color: \"black\", value: \"$ --\" };\n  }\n  if (item.status === \"PAST_DUE\") {\n    return { color: \"red.700\", value: formatCurrency(item.minimumAmountDue) };\n  }\n  if (item.status === \"PAID\") {\n    return { color: \"green.700\", value: paymentAppliedLabel };\n  }\n  return { color: \"black\", value: formatCurrency(item.minimumAmountDue) };\n};\n\nexport const MonthContent: React.FC<MonthContentProps> = ({\n  item,\n  asRow,\n  paymentPastDueLabel,\n  paymentAppliedLabel,\n}) => {\n  const itemProps = getItemProps(item, paymentAppliedLabel);\n\n  return (\n    <Flex\n      grow={1}\n      direction=\"column\"\n      justifyContent=\"center\"\n      alignItems=\"center\"\n      opacity={item.status === \"INACTIVE\" ? 0.5 : 1}\n    >\n      <Text\n        as=\"span\"\n        size={asRow ? \"md\" : { base: \"md\", md: \"xl\" }}\n        color=\"gray.500\"\n      >\n        {item.name.slice(0, 3)}\n      </Text>\n      <Text\n        as=\"span\"\n        size={asRow ? \"xl\" : { base: \"xl\", md: \"3xl\" }}\n        fontFamily=\"Gilroy\"\n        fontWeight={600}\n        color={itemProps.color}\n      >\n        {itemProps.value}\n      </Text>\n      {item.status === \"PAST_DUE\" && (\n        <Text color=\"red.700\" size={asRow ? \"sm\" : \"md\"}>\n          {paymentPastDueLabel}\n        </Text>\n      )}\n    </Flex>\n  );\n};\n","import { Box, Flex, Grid, GridItem } from \"@chakra-ui/react\";\nimport { OptInLabel } from \"./OptInLabel\";\nimport { OptInLabelRow } from \"./OptInLabelRow\";\nimport { YearTag } from \"./YearTag\";\nimport { YearTagRow } from \"./YearTagRow\";\nimport { MonthContent } from \"./MonthContent\";\n\nexport type MonthItemStatus =\n  | \"PAID\"\n  | \"PAST_DUE\"\n  | \"OPEN\"\n  | \"PROJECTED\"\n  | \"INACTIVE\";\n\nexport type MonthItem = {\n  name: string;\n  value: string;\n  minimumAmountDue?: number | undefined;\n  status?: MonthItemStatus;\n};\n\ntype SelectedMonthItem = {\n  name: string | null;\n  label: string;\n};\n\ntype ResultsGridProps = {\n  months?: MonthItem[];\n  selectedMonth?: SelectedMonthItem;\n  selectedYear: number;\n  paymentAppliedLabel?: string;\n  paymentPastDueLabel?: string;\n  asRow?: boolean;\n  // after NCY is live we can remove this prop and have the year tag always show in all packages\n  showYearTag?: boolean;\n};\n\nexport const ResultsGrid: React.FC<ResultsGridProps> = ({\n  months,\n  selectedMonth,\n  selectedYear,\n  paymentAppliedLabel = \"Paid\",\n  paymentPastDueLabel = \"Past Due\",\n  asRow = false,\n  showYearTag = false,\n}) => {\n  if (!months) {\n    return null;\n  }\n  const nextYear = selectedYear + 1;\n\n  return (\n    <Box\n      border=\"1px solid\"\n      borderColor=\"gray.300\"\n      borderTopRadius={asRow ? 0 : 6}\n      borderBottom={0}\n    >\n      <Grid\n        templateRows={asRow ? \"repeat(1, 1fr)\" : \"repeat(4, 1fr)\"}\n        templateColumns={asRow ? \"repeat(12, 1fr)\" : \"repeat(3, 1fr)\"}\n        data-testid=\"results-grid-container\"\n      >\n        {months.map((item, index) => {\n          const isDisabled = item.status === \"INACTIVE\";\n          const testId = `results-${item.value}${isDisabled ? \"-disabled\" : \"\"}`;\n          const backgroundColor = isDisabled ? \"gray.100\" : \"white\";\n          const isSelectedMonth = item.value === selectedMonth?.name;\n          const addYearTag =\n            showYearTag && index !== 0 && item.value === \"JANUARY\" && nextYear;\n\n          return (\n            <GridItem\n              key={item.value}\n              data-testid={testId}\n              backgroundColor={backgroundColor}\n              _first={{\n                borderTopStartRadius: asRow ? 0 : 6,\n              }}\n              borderColor=\"gray.300\"\n              overflow=\"hidden\"\n              sx={\n                asRow\n                  ? {\n                      \":nth-of-type(n)\": {\n                        borderRightWidth: \"1px\",\n                      },\n                      \":nth-of-type(12)\": {\n                        borderRightWidth: 0,\n                      },\n                    }\n                  : {\n                      \":nth-of-type(3)\": {\n                        borderTopEndRadius: 6,\n                      },\n                      \":nth-of-type(3n+2)\": {\n                        borderLeftWidth: \"1px\",\n                        borderRightWidth: \"1px\",\n                      },\n                    }\n              }\n            >\n              <Flex\n                position=\"relative\"\n                height={asRow ? \"102px\" : { base: \"102px\", md: \"148px\" }}\n                direction=\"column\"\n                gap={asRow ? 0 : 1}\n                alignItems=\"center\"\n                justifyContent=\"space-between\"\n                borderBottom=\"1px solid\"\n                borderColor=\"gray.300\"\n              >\n                {isSelectedMonth &&\n                  (asRow ? (\n                    <OptInLabelRow label={selectedMonth.label} />\n                  ) : (\n                    <OptInLabel label={selectedMonth.label} />\n                  ))}\n                {addYearTag &&\n                  (asRow ? (\n                    <YearTagRow year={nextYear} />\n                  ) : (\n                    <YearTag year={nextYear} />\n                  ))}\n                <MonthContent\n                  item={item}\n                  asRow={asRow}\n                  paymentPastDueLabel={paymentPastDueLabel}\n                  paymentAppliedLabel={paymentAppliedLabel}\n                />\n              </Flex>\n            </GridItem>\n          );\n        })}\n      </Grid>\n    </Box>\n  );\n};\n","import { ReactElement } from \"react\";\nimport {\n  Box,\n  Container,\n  VStack,\n  chakra as ChakraComponent,\n} from \"@chakra-ui/react\";\nimport { Button, Heading, Text } from \"@paytient/ui\";\nimport { FullScreenLayoutProps } from \"./types\";\n\nexport type { FullScreenLayoutProps };\n\nexport const FullScreenLayout = ({\n  children,\n  testId,\n  topContent,\n  customTopContent,\n  primaryButtonProps,\n  secondaryButtonProps,\n  stickyButtons = true,\n  hideButtons = false,\n  backgroundColor = \"white\",\n}: FullScreenLayoutProps): ReactElement => {\n  return (\n    <ChakraComponent.form\n      display=\"flex\"\n      flexDir=\"column\"\n      flexGrow={1}\n      width=\"full\"\n      onSubmit={(event) => {\n        event.preventDefault();\n        primaryButtonProps.onClick();\n      }}\n      backgroundColor={backgroundColor}\n    >\n      {customTopContent ? customTopContent : null}\n      <Container\n        variant=\"reduced\"\n        data-testid={testId}\n        flexGrow={1}\n        overflowY=\"unset\"\n      >\n        <Box py={{ base: 6, md: 10 }}>\n          {topContent ? (\n            <Box data-testid=\"top-content-container\">\n              <Heading\n                data-testid=\"top-title\"\n                size={{ base: \"3xl\", md: \"4xl\" }}\n              >\n                {topContent.title}\n              </Heading>\n              {topContent.subtitle ? (\n                <Text\n                  size={{ base: \"lg\", md: \"xl\" }}\n                  color=\"gray.500\"\n                  mt={1}\n                  data-testid=\"top-subtitle\"\n                >\n                  {topContent.subtitle}\n                </Text>\n              ) : null}\n            </Box>\n          ) : null}\n          {children &&\n            Array.isArray(children) &&\n            children.map((child, index) => (\n              <Box key={index} mb={{ base: 6, md: 10 }}>\n                {child}\n              </Box>\n            ))}\n          {children && !Array.isArray(children) && (\n            <Box pt={{ base: 6, md: 10 }}>{children}</Box>\n          )}\n        </Box>\n      </Container>\n      {hideButtons ? null : (\n        <Box\n          py={4}\n          mb={{ base: 0, md: \"96px\" }}\n          bgColor=\"white\"\n          w=\"full\"\n          sx={\n            stickyButtons\n              ? {\n                  position: \"-webkit-sticky\",\n                  // @ts-expect-error: expected duplicated style property\n                  position: \"sticky\" /* Safari */,\n                  bottom: \"0\",\n                  backgroundColor: backgroundColor,\n                }\n              : {}\n          }\n        >\n          <Container variant=\"reduced\">\n            <VStack spacing=\"10px\">\n              <Button\n                variant=\"primary\"\n                {...primaryButtonProps}\n                isLoading={primaryButtonProps.isLoading}\n                w=\"full\"\n              >\n                {primaryButtonProps.text}\n              </Button>\n              {secondaryButtonProps ? (\n                <Button variant=\"secondary\" {...secondaryButtonProps} w=\"full\">\n                  {secondaryButtonProps.text}\n                </Button>\n              ) : null}\n            </VStack>\n          </Container>\n        </Box>\n      )}\n    </ChakraComponent.form>\n  );\n};\n","import { useState, useEffect } from \"react\";\n\n// Must be used in vite package\nexport function useClientFaq(\n  filename: string,\n  resolvedLanguage: string = \"en\",\n) {\n  const [clientFaq, setClientFaq] = useState(\"\");\n\n  useEffect(() => {\n    async function getFaq() {\n      // TODO these files should probably be kept in the CDN\n      const faq = await import(\n        `../assets/faq/${resolvedLanguage}/${filename}.md?raw`\n      );\n      setClientFaq(faq.default);\n    }\n    getFaq();\n  }, [filename, resolvedLanguage]);\n  return clientFaq;\n}\n","import { useEffect } from \"react\";\n\nexport const useSetPageTitle = (title: string) => {\n  useEffect(() => {\n    if (document && title) {\n      document.title = title;\n    } else {\n      throw new Error(\n        \"Document must be available and title cannot be undefined\",\n      );\n    }\n  }, [title]);\n};\n"],"file":"assets/m3p-core-package-CkNyMRBH.js"}