{"version":3,"file":"app-38bf0f6841fa2b966b04.js","mappings":";oHAGAA,EAAQ,OAA2B,EACnC,MAMMC,EAAW,CAAC,QAAS,QAAS,MAAO,OAAQ,OAAQ,OAAQ,QAenED,EAAQ,EAdyB,CAACE,EAAOC,EAAS,YAChD,GAAc,MAAVD,EAAe,OAAOA,EAC1B,MAAME,EAAmBF,EAAMG,SAAS,KACxC,MAVuB,EAACJ,EAAUC,KAClC,IAAK,MAAMI,KAAUL,EACnB,GAAIC,EAAMG,SAASC,GAAS,OAAO,EAErC,OAAO,CAAK,EAMRC,CAAiBN,EAAUC,GACtBA,EAEM,WAAXC,EACKC,EAAmBF,EAAQ,GAAGA,KAExB,UAAXC,GACKC,EAAmBF,EAAMM,MAAM,GAAI,GAErCN,CAAK,sCCpBiBF,EAAQ,QAAgB,EACvD,IAAIS,EAAiB,EAAQ,OAC7BT,EAAQ,GAAgBS,EAAeC,cACX,EAAQ,OACiBC,yDCLrD,IAAIC,EAAyB,EAAQ,OACrCZ,EAAQa,YAAa,EACrBb,EAAQU,cAAgBV,EAAQc,mBAAgB,EAChD,IAAIC,EAA0BH,EAAuB,EAAQ,QACzDI,EAAkBJ,EAAuB,EAAQ,OACjDK,EAIJ,SAAiCC,EAAKC,GAAe,IAAKA,GAAeD,GAAOA,EAAIL,WAAc,OAAOK,EAAO,GAAY,OAARA,GAA+B,iBAARA,GAAmC,mBAARA,EAAsB,MAAO,CAAEE,QAASF,GAAS,IAAIG,EAAQC,EAAyBH,GAAc,GAAIE,GAASA,EAAME,IAAIL,GAAQ,OAAOG,EAAMG,IAAIN,GAAQ,IAAIO,EAAS,CAAC,EAAOC,EAAwBC,OAAOC,gBAAkBD,OAAOE,yBAA0B,IAAK,IAAIC,KAAOZ,EAAO,GAAY,YAARY,GAAqBH,OAAOI,UAAUC,eAAeC,KAAKf,EAAKY,GAAM,CAAE,IAAII,EAAOR,EAAwBC,OAAOE,yBAAyBX,EAAKY,GAAO,KAAUI,IAASA,EAAKV,KAAOU,EAAKC,KAAQR,OAAOC,eAAeH,EAAQK,EAAKI,GAAgBT,EAAOK,GAAOZ,EAAIY,EAAQ,CAAIL,EAAOL,QAAUF,EAASG,GAASA,EAAMc,IAAIjB,EAAKO,GAAW,OAAOA,CAAQ,CAJvxBW,CAAwB,EAAQ,QACxCC,EAAazB,EAAuB,EAAQ,OAC5C0B,EAAkB,EAAQ,OAC9B,SAAShB,EAAyBH,GAAe,GAAuB,mBAAZoB,QAAwB,OAAO,KAAM,IAAIC,EAAoB,IAAID,QAAeE,EAAmB,IAAIF,QAAW,OAAQjB,EAA2B,SAAkCH,GAAe,OAAOA,EAAcsB,EAAmBD,CAAmB,GAAGrB,EAAc,CAE9U,IAAIL,EAA6BG,EAAMyB,cAAc,IAAIJ,EAAgBK,gBACzE3C,EAAQc,cAAgBA,EACxBA,EAAc8B,YAAc,sBAC5B,IAAIlC,EAA6B,SAAUmC,GAEzC,SAASnC,IAEP,IADA,IAAIoC,EACKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAiCzB,OA/BAN,EAAQD,EAAiBZ,KAAKoB,MAAMR,EAAkB,CAACS,MAAMC,OAAOL,KAAUI,MACxEE,cAAgB,IAAIlB,EAAgBK,eAC1CG,EAAMW,YAAa,EACnBX,EAAMY,oBAAsB,EAC5BZ,EAAMa,eAAiB,WACrBb,EAAMY,oBAAsBE,OAAOC,QAC9Bf,EAAMW,aACTX,EAAMW,YAAa,EACnBK,sBAAsBhB,EAAMiB,YAAYC,MAAK,EAAIjD,EAAwBK,SAAS0B,KAEtF,EACAA,EAAMmB,aAAe,SAAUC,EAAUC,GACnCrB,EAAMsB,mBAAmBD,EAAWrB,EAAMuB,QAC5CT,OAAOU,SAAS,EAAGJ,EAEvB,EACApB,EAAMyB,aAAe,SAAUC,EAAML,GACnC,IAAIM,EAAOC,SAASC,eAAeH,EAAKI,UAAU,IAC9CH,GAAQ3B,EAAMsB,mBAAmBD,EAAWrB,EAAMuB,QACpDI,EAAKI,gBAET,EACA/B,EAAMsB,mBAAqB,SAAUU,EAAiBC,GACpD,IAAIX,EAAqBtB,EAAMuB,MAAMD,mBACrC,OAAKA,GAKEA,EAAmBnC,MAAK,EAAIlB,EAAwBK,SAAS0B,GAAQgC,EAAiBC,EAC/F,EACOjC,CACT,EAtCA,EAAI9B,EAAgBI,SAASV,EAAemC,GAuC5C,IAAImC,EAAStE,EAAcqB,UA2D3B,OA1DAiD,EAAOjB,YAAc,WACnB,IAAIjC,EAAMwB,KAAKe,MAAMY,SAASnD,KAAO,KACjCA,GACFwB,KAAKE,cAAc0B,KAAK5B,KAAKe,MAAMY,SAAUnD,EAAKwB,KAAKI,qBAEzDJ,KAAKG,YAAa,CACpB,EACAuB,EAAOG,kBAAoB,WAEzB,IAAIC,EADJxB,OAAOyB,iBAAiB,SAAU/B,KAAKK,gBAEvC,IAAI2B,EAAuBhC,KAAKe,MAAMY,SACpCnD,EAAMwD,EAAqBxD,IAC3B0C,EAAOc,EAAqBd,KAC1B1C,IACFsD,EAAiB9B,KAAKE,cAAc+B,KAAKjC,KAAKe,MAAMY,SAAUnD,IAM5D0C,EACFlB,KAAKiB,aAAaiB,UAAUhB,QAAOiB,GAC1BL,GACT9B,KAAKW,aAAamB,OAAgBK,EAEtC,EACAT,EAAOU,qBAAuB,WAC5B9B,OAAO+B,oBAAoB,SAAUrC,KAAKK,eAC5C,EACAqB,EAAOY,mBAAqB,SAA4BzB,GACtD,IAGIiB,EAHAS,EAAwBvC,KAAKe,MAAMY,SACrCT,EAAOqB,EAAsBrB,KAC7B1C,EAAM+D,EAAsB/D,IAE1BA,IACFsD,EAAiB9B,KAAKE,cAAc+B,KAAKjC,KAAKe,MAAMY,SAAUnD,IAY5D0C,EACFlB,KAAKiB,aAAaiB,UAAUhB,GAAOL,GAEnCb,KAAKW,aAAamB,EAAgBjB,EAEtC,EACAa,EAAOc,OAAS,WACd,OAAoB7E,EAAM8E,cAAcjF,EAAckF,SAAU,CAC9DC,MAAO3C,KAAKE,eACXF,KAAKe,MAAM6B,SAChB,EACOxF,CACT,CApGiC,CAoG/BO,EAAMkF,WACRnG,EAAQU,cAAgBA,EACxBA,EAAc0F,UAAY,CACxBhC,mBAAoB/B,EAAWjB,QAAQiF,KACvCH,SAAU7D,EAAWjB,QAAQkF,QAAQC,WACrCtB,SAAU5C,EAAWjB,QAAQoF,OAAOD,8CCtHtCvG,EAAQa,YAAa,EACrBb,EAAQ2C,oBAAiB,EACzB,IACI8D,EAA6B,gCAC7B9D,EAA8B,WAChC,SAASA,IAAkB,CAC3B,IAAIqC,EAASrC,EAAeZ,UAqC5B,OApCAiD,EAAOO,KAAO,SAAcN,EAAUnD,GACpC,IAAI4E,EAAWpD,KAAKqD,YAAY1B,EAAUnD,GAC1C,IACE,IAAImE,EAAQrC,OAAOgD,eAAeC,QAAQH,GAC1C,OAAOT,EAAQa,KAAKC,MAAMd,GAAS,CACrC,CAAE,MAAOe,GAIP,OAAIpD,QAAUA,OAAO6C,IAA+B7C,OAAO6C,GAA4BC,GAC9E9C,OAAO6C,GAA4BC,GAErC,CACT,CACF,EACA1B,EAAOE,KAAO,SAAcD,EAAUnD,EAAKmE,GACzC,IAAIS,EAAWpD,KAAKqD,YAAY1B,EAAUnD,GACtCmF,EAAcH,KAAKI,UAAUjB,GACjC,IACErC,OAAOgD,eAAeO,QAAQT,EAAUO,EAC1C,CAAE,MAAOD,GACHpD,QAAUA,OAAO6C,KAGnB7C,OAAO6C,GAA8B,CAAC,GAFtC7C,OAAO6C,GAA4BC,GAAYI,KAAKC,MAAME,EAQ9D,CACF,EACAjC,EAAO2B,YAAc,SAAqB1B,EAAUnD,GAClD,IAAIsF,EAtCe,YAsCwBnC,EAASoC,SACpD,OAAOvF,QAA6CsF,EAAeA,EAAe,IAAMtF,CAC1F,EACOa,CACT,CAxCkC,GAyClC3C,EAAQ2C,eAAiBA,sCC7CzB3C,EAAQa,YAAa,EACrBb,EAAQW,qBAIR,SAA8B2G,GAC5B,IAAIrC,GAAW,EAAIsC,EAAaC,eAC5BC,GAAQ,EAAIC,EAAOC,YAAYlH,EAAeK,eAC9C8G,GAAM,EAAIF,EAAOG,QAAQ,MAO7B,OANA,EAAIH,EAAOI,kBAAiB,WAC1B,GAAIF,EAAIG,QAAS,CACf,IAAI7D,EAAWuD,EAAMlC,KAAKN,EAAUqC,GACpCM,EAAIG,QAAQzD,SAAS,EAAGJ,GAAY,EACtC,CACF,GAAG,CAACe,EAASnD,MACN,CACL8F,IAAKA,EACLI,SAAU,WACJJ,EAAIG,SACNN,EAAMvC,KAAKD,EAAUqC,EAAYM,EAAIG,QAAQE,UAEjD,EAEJ,EArBA,IAAIxH,EAAiB,EAAQ,OACzBiH,EAAS,EAAQ,OACjBH,EAAe,EAAQ,0CCJ3BvH,EAAQa,YAAa,EACrBb,EAAQkI,2BAAwB,EACZ,EAAQ,OACE,EAAQ,OAgBtClI,EAAQkI,sBAdsB,KAOyC,oCCZvElI,EAAQa,YAAa,EACrBb,EAAQmI,YACR,SAAqBC,GACnB,OAAOA,aAA2D,EAASA,EAAiBC,SAAQC,IAAWA,aAAuC,EAASA,EAAOC,UAAY,IACpL,sCCJAvI,EAAQa,YAAa,EACrBb,EAAQwI,uBAIR,SAAgCJ,GAC9B,IAAKA,EAAiBnF,OACpB,OAEF,MAAMwF,EAAkB/D,SAASgE,cAAc,0BACzCC,EAAkBjE,SAASgE,cAAc,kDAC3CD,GACFA,EAAgBG,SAEdD,GACFA,EAAgBC,SAElB,MAAMC,GAAW,EAAIC,EAAaX,aAAaC,GACzCW,EAAUrE,SAASqB,cAAc,UACvCgD,EAAQC,QAAQC,UAAY,GAC5BF,EAAQG,WAAY,EAAIC,EAAaC,kBAAkB,CACrDb,QAASM,IAEXnE,SAAS2E,KAAKC,YAAYP,EAC5B,EAtBA,IAAII,EAAe,EAAQ,OACvBL,EAAe,EAAQ,8BCL3B9I,EAAQuJ,WAAa,CACnB,+BAAgCC,IAAM,8BACtC,iCAAkCC,IAAM,+BACxC,2BAA4BC,IAAM,kHCHpCC,EAAO3J,QAAU,CAAC,CACZ4J,OAAQC,EAAQ,OAChBC,QAAS,CAAC,QAAU,GAAG,UAAY,CAAC,MAAQ,iBAAiB,KAAO,UAAU,OAAS,QAAQ,YAAc,+FAA+F,OAAS,CAAC,CAAC,IAAM,oDAAoD,IAAM,SAAS,UAAY,UAC5S,CACAF,OAAQC,EAAQ,OAChBC,QAAS,CAAC,QAAU,KACpB,CACAF,OAAQC,EAAQ,MAChBC,QAAS,CAAC,QAAU,6BCR1B,MAAMC,EAAUF,EAAQ,QAClB,2BAAEG,EAA0B,SAAEC,EAAQ,aAAEC,GAC5CL,EAAAA,OAAAA,GAEF7J,EAAQ,EAAY,SAACmK,EAAKjH,EAAWkH,EAAeC,QAAtB,IAAJnH,IAAAA,EAAO,CAAC,GAYhC,IAAIoH,EAAUP,EAAQQ,KAAIX,IACxB,IAAKA,EAAOA,OAAOO,GACjB,OAGFjH,EAAK8G,2BAA6BA,EAClC9G,EAAK+G,SAAWA,EAChB/G,EAAKgH,aAAeA,EAEpB,MAAMM,EAASZ,EAAOA,OAAOO,GAAKjH,EAAM0G,EAAOE,SAI/C,OAHIU,GAAUH,IACZnH,EAAOmH,EAAa,CAAEnH,OAAMsH,SAAQZ,YAE/BY,CAAM,IAMf,OAFAF,EAAUA,EAAQG,QAAOD,QAA4B,IAAXA,IAEtCF,EAAQrH,OAAS,EACZqH,EACEF,EACF,CAACA,GAED,EAEX,EAEApK,EAAQ,EAAiB,CAACmK,EAAKjH,EAAMkH,IACnCL,EAAQW,QACN,CAACC,EAAUC,IACTA,EAAKhB,OAAOO,GACRQ,EAASE,MAAK,IAAMD,EAAKhB,OAAOO,GAAKjH,EAAM0H,EAAKd,WAChDa,GACNG,QAAQC,qGC/CZ,MCgBA,SAAcC,GAGb,OAFAA,EAAMA,GAAOrJ,OAAOsJ,OAAO,MAEpB,CAQNC,GAAI,SAAYC,EAAcC,IAC5BJ,EAAIG,KAAUH,EAAIG,GAAQ,KAAKE,KAAKD,EACtC,EASAE,IAAK,SAAaH,EAAcC,GAC3BJ,EAAIG,IACPH,EAAIG,GAAMI,OAAOP,EAAIG,GAAMK,QAAQJ,KAAa,EAAG,EAErD,EAUAK,KAAM,SAAcN,EAAcO,IAChCV,EAAIG,IAAS,IAAI3K,QAAQ+J,KAAI,SAAUa,GAAWA,EAAQM,EAAM,KAChEV,EAAI,MAAQ,IAAIxK,QAAQ+J,KAAI,SAAUa,GAAWA,EAAQD,EAAMO,EAAM,GACvE,EAEF,CD1DgBC,0KEFhB,EAAeC,IACb,QAAsBnG,IAAlBmG,EACF,OAAOA,EAET,IAAKC,EAAMC,EAAS,IAAMF,EAAcG,MAAM,KAK9C,OAJID,IACFA,EAAS,IAAMA,GAGJ,MAATD,EACK,IAAMC,EAEsB,MAAjCD,EAAKG,OAAOH,EAAK5I,OAAS,GACrB4I,EAAKrL,MAAM,GAAI,GAAKsL,EAEtBD,EAAOC,CACf,aCXD,MAAMG,EAAY,IAAIC,IACtB,IAAIC,EAAa,GAEjB,MAAMC,EAAeC,IACnB,IAAIC,EAAiBD,EAGrB,IAAoB,IAFDA,EAAYb,QAAQ,KAEhB,CACrB,MAAOK,EAAMU,GAAMF,EAAYN,MAAM,KACrCO,EAAiB,GAAGT,KAAQW,mBAAmBD,IACjD,CAEA,MAAMlF,EAAWoF,mBAAmBH,GAUpC,OAPwBI,EAAAA,EAAAA,GACtBrF,EACAoF,mBAAmBE,KAGlBZ,MAAM,KAAK,EAEQ,EAGxB,SAASa,EAAWf,GAElB,OACEA,EAAKgB,WAAW,MAChBhB,EAAKgB,WAAW,aAChBhB,EAAKgB,WAAW,WAEThB,EAIF,IAAIiB,IACTjB,EACAjI,OAAOqB,SAAS8H,MAAQnJ,OAAOqB,SAAS8H,KAAK1M,SAAS,KAAO,GAAK,MAClEgH,QACJ,CAOO,MAAM2F,EAAgB/G,IAC3BkG,EAAalG,CAAK,EAWPgH,EAAgBZ,IAC3B,MAAMa,EAAkBC,EAAUd,GAE5Be,EAAYjB,EAAW5B,KAAI8C,IAA0B,IAAzB,KAAExB,EAAI,UAAEyB,GAAWD,EACnD,MAAO,CACLxB,KAAMyB,EACNC,aAAc1B,EACf,IAGGA,GAAO2B,EAAAA,EAAAA,MAAKJ,EAAWF,GAE7B,OAAIrB,EACK4B,EAAkB5B,EAAK6B,MAAMH,cAG/B,IAAI,EAYAI,EAAkBtB,IAC7B,MAAMa,EAAkBC,EAAUd,GAE5Be,EAAYjB,EAAW5B,KAAIqD,IAA0B,IAAzB,KAAE/B,EAAI,UAAEyB,GAAWM,EACnD,MAAO,CACL/B,KAAMyB,EACNC,aAAc1B,EACf,IAGGA,GAAO2B,EAAAA,EAAAA,MAAKJ,EAAWF,GAE7B,OAAIrB,EACKA,EAAKgC,OAGP,CAAC,CAAC,EAWEC,EAAWzB,IACtB,MAAMa,EAAkBd,EAAaQ,EAAWP,IAChD,GAAIJ,EAAU1K,IAAI2L,GAChB,OAAOjB,EAAUzK,IAAI0L,GAGvB,MAAMa,GAAWC,EAAAA,EAAAA,GAAwB3B,GACzC,GAAI0B,EACF,OAAOD,EAASC,EAASE,QAG3B,IAAIC,EAAYjB,EAAcC,GAQ9B,OANKgB,IACHA,EAAYf,EAAUd,IAGxBJ,EAAU9J,IAAI+K,EAAiBgB,GAExBA,CAAS,EAULf,EAAYd,IAGvB,IAAI6B,EAFoB9B,EAAaQ,EAAWP,IAShD,MANkB,gBAAd6B,IACFA,EAAY,KAGdA,EAAYT,EAAkBS,GAEvBA,CAAS,gNC5JOC,EAAAA,GAAOC,kQCFhC,MAyDMC,EAzDU,SAAUC,GACxB,GAAwB,oBAAb5J,SACT,OAAO,EAET,MAAM6J,EAAW7J,SAASqB,cAAc,QACxC,IACE,GAAIwI,EAASC,SAAgD,mBAA9BD,EAASC,QAAQC,SAC9C,OAAOF,EAASC,QAAQC,SAASH,EAErC,CAAE,MAAOI,GACP,OAAO,CACT,CACA,OAAO,CACT,CA4CkCC,CAAQ,YA1Cb,SAAUC,EAAK9E,GAC1C,OAAO,IAAIgB,SAAQ,CAACC,EAAS8D,KAC3B,GAAwB,oBAAbnK,SAET,YADAmK,IAIF,MAAMC,EAAOpK,SAASqB,cAAc,QACpC+I,EAAKC,aAAa,MAAO,YACzBD,EAAKC,aAAa,OAAQH,GAE1BjN,OAAOqN,KAAKlF,GAASmF,SAAQnN,IAC3BgN,EAAKC,aAAajN,EAAKgI,EAAQhI,GAAK,IAGtCgN,EAAKI,OAASnE,EACd+D,EAAKK,QAAUN,GAGbnK,SAAS0K,qBAAqB,QAAQ,IACtC1K,SAAS2K,kBAAkB,UAAU,GAAGC,YAC5BhG,YAAYwF,EAAK,GAEnC,EAE4B,SAAUF,GACpC,OAAO,IAAI9D,SAAQ,CAACC,EAAS8D,KAC3B,MAAMU,EAAM,IAAIC,eAChBD,EAAIE,KAAK,MAAOb,GAAK,GAErBW,EAAIL,OAAS,KACQ,MAAfK,EAAIG,OACN3E,IAEA8D,GACF,EAGFU,EAAII,KAAK,KAAK,GAElB,EAMMC,EAAa,CAAC,EAkBpB,MAhBiB,SAAUhB,EAAK9E,GAC9B,OAAO,IAAIgB,SAAQC,IACb6E,EAAWhB,GACb7D,IAIFsD,EAA0BO,EAAK9E,GAC5Be,MAAK,KACJE,IACA6E,EAAWhB,IAAO,CAAI,IAEvBiB,OAAM,QAAS,GAEtB,wBCrEO,MAAMC,EAAqB,CAIhCC,MAAO,QAIPC,QAAS,WAWLC,EAAoBC,IACxB,MAAOrE,EAAMsE,GAAeD,EAAQnE,MAAM,KAPZqE,MAS9B,MAAO,cADoB,MAATvE,EAAe,SAPjCuE,EAAa,OADiBA,EAQqCvE,GAP7D,GAAauE,EAAE5P,MAAM,GAAK4P,GAC1B/P,SAAS,KAAO+P,EAAE5P,MAAM,GAAI,GAAK4P,mBAQrCD,EAAc,IAAIA,IAAgB,IAClC,EAOEE,EAAmBH,GAAWA,EAAQrD,WAAW,MAEvD,SAASyD,EAAQ1B,EAAK2B,GACpB,YAD0B,IAANA,IAAAA,EAAS,OACtB,IAAIzF,SAAQC,IACjB,MAAMwE,EAAM,IAAIC,eAChBD,EAAIE,KAAKc,EAAQ3B,GAAK,GACtBW,EAAIiB,mBAAqB,KACD,GAAlBjB,EAAIkB,YACN1F,EAAQwE,EACV,EAEFA,EAAII,KAAK,KAAK,GAElB,CAEA,MAgBMe,EAAY,+BAEZC,EAAkB,SAACC,EAAUC,EAAkBxH,GAAU,IAADyH,OAAlB,IAATD,IAAAA,EAAY,MAC7C,MAAME,EAAO,CACXC,mBAAoBJ,EAASI,mBAC7BnF,KAAM+E,EAAS/E,KACfoF,uBAAwBL,EAASK,uBACjC3D,UAAWsD,EAAStD,UACpB4D,kBAAmBN,EAASM,kBAC5BC,mBAAoBP,EAASO,mBAC7BC,UAA6B,QAApBN,EAAEF,EAASQ,iBAAS,IAAAN,EAAAA,EAAI,CAAC,GAGpC,MAAO,CACLD,YACAxH,OACAgI,KAAMT,EAASpG,OACfuG,OAEJ,EAEA,SAASO,EAAgBC,GACvB,OAAO,IAAIzG,SAAQC,IACjB,IACE,MAAMP,EAAS+G,EAASC,WACxBzG,EAAQP,EACV,CAAE,MAAOkE,GACP,IACE/M,OAAOK,eAAeC,KAAKyM,EAAK,eAChC/M,OAAOK,eAAeC,KAAKyM,EAAK,WAMhC,MAAMA,EAJN+C,YAAW,KACTH,EAAgBC,GAAU1G,KAAKE,EAAQ,GACtC,IAIP,IAEJ,CAEO,IAAM2G,EAAU,WACrB,SAAAA,EAAYC,EAAexF,GAAa,KAgCxCyF,wBAA0B,IAAI1F,IAhB5B5I,KAAKuO,OAAS,IAAI3F,IAClB5I,KAAKwO,WAAa,IAAI5F,IACtB5I,KAAKyO,cAAgB,CAAC,EACtBzO,KAAK0O,WAAa,IAAI9F,IACtB5I,KAAK2O,mBAAqB,IAAI/F,IAC9B5I,KAAK4O,aAAe,IAAIhG,IACxB5I,KAAK6O,gBAAkB,IAAIjG,IAC3B5I,KAAK8O,SAAW,IAAIlG,IACpB5I,KAAK+O,wBAAyB,EAC9B/O,KAAKgP,eAAiB,GACtBhP,KAAKiP,kBAAoB,IAAIC,IAC7BlP,KAAKmP,kBAAoB,IAAID,IAC7BlP,KAAKqO,cAAgBA,GACrB3E,EAAAA,EAAAA,IAAcb,EAChB,CAAC,IAAAnH,EAAA0M,EAAA3P,UAgrBA,OAhrBAiD,EAID0N,YAAA,SAAY9D,GACV,IAAI+D,EAAkBrP,KAAKsO,wBAAwBpQ,IAAIoN,GAQvD,OANK+D,IACHA,EAAkBrC,EAAQ1B,EAAK,OAC/BtL,KAAKsO,wBAAwBzP,IAAIyM,EAAK+D,IAIjCA,EACJ9H,MAAK0G,IACJjO,KAAKsO,wBAAwBgB,OAAOhE,GAC7B2C,KAER1B,OAAMnB,IAEL,MADApL,KAAKsO,wBAAwBgB,OAAOhE,GAC9BF,CAAG,GAEf,EAAC1J,EAED6N,aAAA,SAAaC,GACXxP,KAAKwP,UAAYA,EACjBxP,KAAKyP,iBAAmBD,EAAU,0BAA0BE,MAAKC,GAAKA,GACxE,EAACjO,EAEDkO,kBAAA,SAAkBC,GAChB,MAAM,SAAEC,EAAQ,QAAEC,EAAU,GAAMF,EAC5BvE,EAAMqB,EAAkBmD,GAC9B,OAAO9P,KAAKoP,YAAY9D,GAAK/D,MAAK0E,IAChC,MAAM,OAAEG,EAAM,aAAE4D,GAAiB/D,EAGjC,GAAe,MAAXG,EACF,IACE,MAAM6D,EAAczM,KAAKC,MAAMuM,GAC/B,QAAyB7N,IAArB8N,EAAY1H,KACd,MAAM,IAAIkE,MAAM,iCAGlB,MAAMI,EAAciD,EAASrH,MAAM,KAAK,GAKxC,OAJIoE,IAAgBoD,EAAY1H,KAAK2H,SAASrD,KAC5CoD,EAAY1H,MAAQ,IAAIsE,KAGnBxO,OAAO8R,OAAON,EAAS,CAC5BzD,OAAQI,EAAmBE,QAC3B0D,QAASH,GAEb,CAAE,MAAO7E,GACP,CAKJ,OAAe,MAAXgB,GAA6B,MAAXA,EAEH,cAAb0D,GAAyC,cAAbA,EACvBzR,OAAO8R,OAAON,EAAS,CAC5BzD,OAAQI,EAAmBC,QAMxBzM,KAAK4P,kBACVvR,OAAO8R,OAAON,EAAS,CAAEC,SAAU,YAAaO,UAAU,KAK/C,MAAXjE,EACKpM,KAAK4P,kBACVvR,OAAO8R,OAAON,EAAS,CACrBC,SAAU,YACVQ,qBAAqB,KAMvBP,EAAU,EACL/P,KAAK4P,kBACVvR,OAAO8R,OAAON,EAAS,CAAEE,QAASA,EAAU,KAKzC1R,OAAO8R,OAAON,EAAS,CAC5BzD,OAAQI,EAAmBC,OAC3B,GAEN,EAAC/K,EAED6O,0BAAA,SAA0BV,GACxB,MAAM,SAAEC,EAAQ,QAAEC,EAAU,GAAMF,EAC5BvE,EAAMqB,EAAkBmD,GAAUU,QAAQ,QAAS,aACzD,OAAOxQ,KAAKoP,YAAY9D,GAAK/D,MAAK0E,IAChC,MAAM,OAAEG,EAAM,aAAE4D,GAAiB/D,EAGjC,GAAe,MAAXG,EACF,IACE,OAAO/N,OAAO8R,OAAON,EAAS,CAC5BzD,OAAQI,EAAmBE,QAC3B0D,QAASJ,GAEb,CAAE,MAAO5E,GACP,CAKJ,OAAe,MAAXgB,GAA6B,MAAXA,EAEH,cAAb0D,GAAyC,cAAbA,EACvBzR,OAAO8R,OAAON,EAAS,CAC5BzD,OAAQI,EAAmBC,QAMxBzM,KAAKuQ,0BACVlS,OAAO8R,OAAON,EAAS,CAAEC,SAAU,YAAaO,UAAU,KAK/C,MAAXjE,EACKpM,KAAKuQ,0BACVlS,OAAO8R,OAAON,EAAS,CACrBC,SAAU,YACVQ,qBAAqB,KAMvBP,EAAU,EACL/P,KAAKuQ,0BACVlS,OAAO8R,OAAON,EAAS,CAAEE,QAASA,EAAU,KAKzC1R,OAAO8R,OAAON,EAAS,CAC5BzD,OAAQI,EAAmBC,OAC3B,GAEN,EAAC/K,EAED+O,iBAAA,SAAiB7D,GACf,MAAMkD,GAAWtF,EAAAA,EAAAA,IAASoC,GAC1B,GAAI5M,KAAK0O,WAAWzQ,IAAI6R,GAAW,CACjC,MAAMxC,EAAWtN,KAAK0O,WAAWxQ,IAAI4R,GAEnC,OAAOtI,QAAQC,QAAQ6F,EAE3B,CAEA,OAAOtN,KAAK4P,kBAAkB,CAAEE,aAAYvI,MAAK+F,IAC/CtN,KAAK0O,WAAW7P,IAAIiR,EAAUxC,GAEvBA,IAEX,EAAC5L,EAEDgP,yBAAA,SAAyB9D,GACvB,MAAMkD,GAAWtF,EAAAA,EAAAA,IAASoC,GAC1B,GAAI5M,KAAK2O,mBAAmB1Q,IAAI6R,GAAW,CACzC,MAAMxC,EAAWtN,KAAK2O,mBAAmBzQ,IAAI4R,GAE3C,OAAOtI,QAAQC,QAAQ6F,EAE3B,CAEA,OAAOtN,KAAKuQ,0BAA0B,CAAET,aAAYvI,MAAK+F,IACvDtN,KAAK2O,mBAAmB9P,IAAIiR,EAAUxC,GAE/BA,IAEX,EAAC5L,EAEDiP,kBAAA,SAAkBC,GAChB,GAAI5Q,KAAK4O,aAAa3Q,IAAI2S,GAAY,CACpC,MAAMX,EAAcjQ,KAAK4O,aAAa1Q,IAAI0S,GAC1C,OAAOpJ,QAAQC,QAAQ,CAAEmJ,YAAWX,eACtC,CAGA,OAAOjD,EADK,eAAiC4D,SACzB,OAAOrJ,MAAKsJ,IAC9B,MAAMZ,EAAczM,KAAKC,MAAMoN,EAAIb,cAGnC,OADAhQ,KAAK4O,aAAa/P,IAAI+R,EAAWX,GAC1B,CAAEW,YAAWX,cAAa,GAErC,EAACvO,EAEDiI,cAAA,SAAciD,GACZ,OAAOjD,EAAAA,EAAAA,IAAciD,EACvB,EAEAlL,EACAiF,SAAA,SAASiG,GACP,MAAMkD,GAAWtF,EAAAA,EAAAA,IAASoC,GAC1B,GAAI5M,KAAKuO,OAAOtQ,IAAI6R,GAAW,CAC7B,MAAMrC,EAAOzN,KAAKuO,OAAOrQ,IAAI4R,GAE3B,OAAIrC,EAAKqD,MACAtJ,QAAQC,QAAQ,CACrBqJ,MAAOrD,EAAKqD,MACZ1E,OAAQqB,EAAKrB,SAIV5E,QAAQC,QAAQgG,EAAK2C,QAEhC,CAEA,GAAIpQ,KAAKwO,WAAWvQ,IAAI6R,GACtB,OAAO9P,KAAKwO,WAAWtQ,IAAI4R,GAG7B,MAAMiB,EAAmB,CACvB/Q,KAAKgR,cACLhR,KAAKyQ,iBAAiBX,IAOxB,MAAMT,EAAkB7H,QAAQE,IAAIqJ,GAAkBxJ,MAAK0J,IACzD,MAAOC,EAAiBC,EAAkBC,GAAmBH,EAE7D,GACEE,EAAiB/E,SAAWI,EAAmBC,QAC/C2E,aAAe,EAAfA,EAAiBhF,UAAWI,EAAmBC,MAE/C,MAAO,CACLL,OAAQI,EAAmBC,OAI/B,IAAIa,EAAW6D,EAAiBf,QAEhC,MAAM,mBACJ1C,EACAE,kBAAmByD,EAAwB,GAAE,UAC7CvD,EAAY,CAAC,GACXR,EAEEgE,EAAc,CAAC,EAEfC,EAAoB1R,MAAM2R,KAAK,IAAItC,IAAI7Q,OAAOoT,OAAO3D,KAErD4D,EAAYxU,IAChB,GAAI8C,KAAK8O,SAAS7Q,IAAIf,EAAMyU,MAC1B,OAAO3R,KAAK8O,SAAS5Q,IAAIhB,EAAMyU,MAC1B,GAAI3R,KAAK6O,gBAAgB5Q,IAAIf,EAAMyU,MACxC,OAAO3R,KAAK6O,gBAAgB3Q,IAAIhB,EAAMyU,MAGxC,MAAMC,EAAW5R,KAAKqO,cAAcnR,EAAMwQ,oBAAoBnG,MAC5DgG,IACE,MAAO,CACLA,WAzYQsE,EAyYiBtE,EAzYXsE,GAAKA,EAAE/T,SAAY+T,GA0YjCC,aAAc5U,EAAMgK,OAAO4K,aAC3BC,KAAM7U,EAAMgK,OAAO6K,MA3YXF,KA4YT,IAUL,OANA7R,KAAK6O,gBAAgBhQ,IAAI3B,EAAMyU,KAAMC,GACrCA,EAASrK,MAAKP,IACZhH,KAAK8O,SAASjQ,IAAI3B,EAAMyU,KAAM3K,GAC9BhH,KAAK6O,gBAAgBS,OAAOpS,EAAMyU,KAAK,IAGlCC,CAAQ,EAGjB,OAAOpK,QAAQE,IACb6J,EAAkBtK,KAAI2J,GAAa5Q,KAAK2Q,kBAAkBC,MAC1DrJ,MAAKyK,IACL,MAAMC,EAAS,GACTC,GAAwBC,EAAAA,EAAAA,GAAOd,GAErC,IAAK,MAAM,YAAEpB,EAAW,UAAEW,KAAevS,OAAOoT,OAAOO,GAAa,CAClEC,EAAOlK,KAAK,CAAE4J,KAAMf,KAAcX,IAClC,IAAK,MAAMmC,KAAmBnC,EAAYrC,kBACnCsE,EAAyBhC,SAASkC,IACrCF,EAAyBnK,KAAKqK,EAGpC,CAEA,MAAMC,EAAoB,CACxB7K,QAAQE,IAAIuK,EAAOhL,IAAIyK,IACvB1R,KAAKqO,cAAcX,EAAoB,SAIvC2E,EAAkBtK,KAAK/H,KAAKqO,cAAcX,IAS5C,MAAM4E,EAAyB9K,QAAQE,IAAI2K,GAAmB9K,MAC5DtB,IACE,MAAOsM,EAAiBC,EAAeC,GAAiBxM,EAExDqL,EAAYoB,UAAY,IAAIC,KAE5B,IAAK,MAAMC,KAAkBL,IACtBK,GAAkBA,aAA0BnG,SAC/C6E,EAAYlF,OAASI,EAAmBC,MACxC6E,EAAYR,MAAQ8B,GAYxB,IAAIC,EAEJ,KARIJ,GAAiBA,aAAyBhG,SAE5C6E,EAAYlF,OAASI,EAAmBC,MACxC6E,EAAYR,MAAQ2B,GAKlBnB,EAAYlF,SAAWI,EAAmBC,MAAO,CAcnD,GAbA6E,EAAYlF,OAASI,EAAmBE,SAER,IAA9ByE,EAAiBd,WACa,KAA9Be,aAAe,EAAfA,EAAiBf,YAEjBiB,EAAYjB,UAAW,GAEzB/C,EAAWjP,OAAO8R,OAAO7C,EAAU,CACjCK,uBAAwBuD,EACpBA,EAAgBvD,uBAChB,KAGkC,iBAA7ByD,aAAe,EAAfA,EAAiBhB,SAAsB,CAChDyC,EAAgBxF,EAAgBC,EAAU,KAAMkF,GAEhDK,EAAcC,iBAAmB1B,EAAgBhB,QAEjD,MAAM2C,EAAiB,IAAIC,eAAe,CACxCC,KAAAA,CAAMC,GACJ,MAAMC,EAAK,IAAIC,YACfF,EAAWpI,QAAQqI,EAAGE,OAAOjC,EAAgBhB,SAC/C,EACAkD,IAAAA,CAAKJ,GAEHA,EAAWK,OACb,EACAC,MAAAA,GAAU,IAGZ,OAAOxF,GACLyF,EAAAA,EAAAA,0BAAyBV,IACzBxL,MAAKL,IACL2L,EAAcC,iBAAmB5L,EAE1B2L,IAEX,CACEA,EAAgBxF,EACdC,EACAmF,EACAD,EAGN,CAGA,OAAOK,CAAa,IAKlBa,EAA0BlM,QAAQE,IACtCwK,EAAyBjL,KAAImL,IAE3B,GAAIpS,KAAKyO,cAAc2D,GAAkB,CACvC,MAAMnC,EAAcjQ,KAAKyO,cAAc2D,GACvC,MAAO,CAAEA,kBAAiBnC,cAC5B,CAEA,OAAOjQ,KAAKoP,YACV,mBAAqCgD,UAEpC7K,MAAK0E,IACJ,MAAMgE,EAAczM,KAAKC,MAAMwI,EAAI+D,cACnC,MAAO,CAAEoC,kBAAiBnC,cAAa,IAExC1D,OAAM,KACL,MAAM,IAAIE,MACR,qCAAuD2F,UACxD,GACD,KAEN7K,MAAKoM,IACL,MAAMC,EAAwB,CAAC,EAO/B,OALAD,EAAmBhI,SAAQ5B,IAAuC,IAAtC,gBAAEqI,EAAe,YAAEnC,GAAalG,EAC1D6J,EAAsBxB,GAAmBnC,EACzCjQ,KAAKyO,cAAc2D,GAAmBnC,CAAW,IAG5C2D,CAAqB,IAG9B,OACEpM,QAAQE,IAAI,CAAC4K,EAAwBoB,IAClCnM,MAAK+C,IAA0C,IAC1C8F,GADEyC,EAAec,GAAmBrJ,EAaxC,OAXIuI,IACFzC,EAAU,IAAKyC,EAAec,sBAC9BrC,EAAYlB,QAAUA,EACtByD,EAAAA,EAAQ1L,KAAK,0BAA2B,CACtCsF,KAAM2C,EACNyC,cAAezC,KAInBpQ,KAAKuO,OAAO1P,IAAIiR,EAAUwB,GAEtBA,EAAYR,MACP,CACLA,MAAOQ,EAAYR,MACnB1E,OAAQkF,EAAYlF,QAIjBgE,CAAO,IAGf7D,OAAMnB,IACE,CACL0F,MAAO1F,EACPgB,OAAQI,EAAmBC,SAE7B,GAEN,IAcJ,OAXA4C,EACG9H,MAAK,KACJvH,KAAKwO,WAAWc,OAAOQ,EAAS,IAEjCvD,OAAMuE,IAEL,MADA9Q,KAAKwO,WAAWc,OAAOQ,GACjBgB,CAAK,IAGf9Q,KAAKwO,WAAW3P,IAAIiR,EAAUT,GAEvBA,CACT,EAEA3N,EACAkF,aAAA,SAAagG,EAASpG,QAAO,IAAPA,IAAAA,EAAU,CAAC,GAC/B,MAAMsJ,GAAWtF,EAAAA,EAAAA,IAASoC,GAC1B,GAAI5M,KAAKuO,OAAOtQ,IAAI6R,GAAW,CAAC,IAADgE,EAC7B,MAAMxG,EAAWtN,KAAKuO,OAAOrQ,IAAI4R,GAEjC,GAAIxC,EAAS8C,QACX,OAAO9C,EAAS8C,QAGlB,GAAW,QAAX0D,EAAItN,SAAO,IAAAsN,GAAPA,EAASC,iBACX,MAAO,CACLjD,MAAOxD,EAASwD,MAChB1E,OAAQkB,EAASlB,OAGvB,CAEF,EAAC1K,EAEDsS,eAAA,SAAelE,GAEb,QAvkBkCmE,MACpC,GACE,eAAgBC,gBACgB,IAAzBA,UAAUC,WACjB,CACA,IAAKD,UAAUC,WAAWC,eAAiB,IAAIlE,SAAS,MACtD,OAAO,EAET,GAAIgE,UAAUC,WAAWE,SACvB,OAAO,CAEX,CACA,OAAO,CAAI,EA2jBJJ,OAKDC,UAAUI,YAAalH,EAAUmH,KAAKL,UAAUI,cAKhDtU,KAAKuO,OAAOtQ,IAAI6R,GAKtB,EAACpO,EAED8S,SAAA,SAAS1E,GACP,IAAK9P,KAAKgU,eAAelE,GACvB,MAAO,CACLvI,KAAME,GAAWA,GAAQ,GACzBgN,MAAOA,QAGX,GAAIzU,KAAKiP,kBAAkBhR,IAAI6R,GAC7B,MAAO,CACLvI,KAAME,GAAWA,GAAQ,GACzBgN,MAAOA,QAIX,MAAMC,EAAQ,CACZjN,QAAS,KACT8D,OAAQ,KACRoJ,QAAS,MAEXD,EAAMC,QAAU,IAAInN,SAAQ,CAACC,EAAS8D,KACpCmJ,EAAMjN,QAAUA,EAChBiN,EAAMnJ,OAASA,CAAM,IAEvBvL,KAAKgP,eAAejH,KAAK,CAAC+H,EAAU4E,IACpC,MAAME,EAAS,IAAIC,gBAgBnB,OAfAD,EAAOE,OAAO/S,iBAAiB,SAAS,KACtC,MAAMgT,EAAQ/U,KAAKgP,eAAegG,WAAUC,IAAA,IAAEC,GAAED,EAAA,OAAKC,IAAMpF,CAAQ,KAEpD,IAAXiF,GACF/U,KAAKgP,eAAe/G,OAAO8M,EAAO,EACpC,IAGG/U,KAAK+O,yBACR/O,KAAK+O,wBAAyB,EAC9BZ,YAAW,KACTnO,KAAKmV,2BAA2B,GAC/B,MAGE,CACL5N,KAAMA,CAACE,EAAS8D,IAAWmJ,EAAMC,QAAQpN,KAAKE,EAAS8D,GACvDkJ,MAAOG,EAAOH,MAAM/T,KAAKkU,GAE7B,EAAClT,EAEDyT,0BAAA,YACuB7U,OAAO8U,qBAAmB,CAAKC,GAAMlH,WAAWkH,EAAI,MAE5D,KACX,MAAMC,EAAatV,KAAKgP,eAAe/G,OAAO,EAAG,GAC3CsN,EAAa/N,QAAQE,IACzB4N,EAAWrO,KAAIuO,IAA2B,IAAzB1F,EAAU2F,GAASD,EASlC,OANKxV,KAAKiP,kBAAkBhR,IAAI6R,KAC9B9P,KAAKwP,UAAU,qBAAsB,CAAEzL,SAAU+L,IACjD9P,KAAKiP,kBAAkByG,IAAI5F,IAIzB9P,KAAKyP,iBACAgG,EAAShO,SAAQ,GAGnBzH,KAAK2V,YAAWnL,EAAAA,EAAAA,IAASsF,IAAWvI,MAAK,KACzCvH,KAAKmP,kBAAkBlR,IAAI6R,KAC9B9P,KAAKwP,UAAU,yBAA0B,CAAEzL,SAAU+L,IACrD9P,KAAKmP,kBAAkBuG,IAAI5F,IAG7B2F,EAAShO,SAAQ,EAAK,GACtB,KAIFzH,KAAKgP,eAAerP,OACtB4V,EAAWhO,MAAK,KACd4G,YAAW,KACTnO,KAAKmV,2BAA2B,GAC/B,IAAK,IAGVnV,KAAK+O,wBAAyB,CAChC,GAEJ,EAACrN,EAEDiU,WAAA,SAAW7F,GACT,MAAM8F,EAAcjJ,EAAkBmD,GAsBpC,OAAO+F,EAAeD,EAAa,CACjCE,YAAa,YACbC,GAAI,UACHxO,MAAK,IAGNvH,KAAKyQ,iBAAiBX,IAG5B,EAACpO,EAEDsU,SAAA,SAASpJ,GACP5M,KAAK2G,SAASiG,EAChB,EAAClL,EAEDgF,2BAAA,SAA2BkG,GACzB,MAAMkD,GAAWtF,EAAAA,EAAAA,IAASoC,GACpBa,EAAOzN,KAAK0O,WAAWxQ,IAAI4R,GACjC,GAAIrC,EAAM,CACR,MAAMoF,EAAgBxF,EAAgBI,EAAK2C,SAE3C,MAAM,GAANnQ,QAAAkS,EAAAA,EAAAA,GACK8D,EAAoBpD,EAAcpF,KAAKC,qBAAmB,CAC7Df,EAAkBmD,IAEtB,CACE,OAAO,IAEX,EAACpO,EAEDwU,eAAA,SAAetJ,GACb,MAAMkD,GAAWtF,EAAAA,EAAAA,IAASoC,GACpBa,EAAOzN,KAAKuO,OAAOrQ,IAAI4R,GAC7B,OAAQrC,GAAQA,EAAK4C,QACvB,EAAC3O,EAEDsP,YAAA,SAAYjB,GACV,YADiB,IAAPA,IAAAA,EAAU,GACb/P,KAAKoP,YAAY,4BAA8C7H,MACpE0E,IACE,MAAM,OAAEG,EAAM,aAAE4D,GAAiB/D,EAEjC,IAAIkK,EAEJ,GAAe,MAAX/J,GAAkB2D,EAAU,EAE9B,OAAO/P,KAAKgR,YAAYjB,EAAU,GAIpC,GAAe,MAAX3D,EACF,IACE,MAAM6D,EAAczM,KAAKC,MAAMuM,GAC/B,QAA2C7N,IAAvC8N,EAAYtC,uBACd,MAAM,IAAIlB,MAAM,iCAGlB0J,EAAUlG,CACZ,CAAE,MAAO7E,GACP,CAIJ,OAAO+K,CAAO,GAGpB,EAAC/H,CAAA,CA/sBoB,GAktBvB,MAAM6H,EAAsBvI,IACzBpN,OAAO8V,gBAAgB1I,IAAuB,IAAIzG,KACjDoP,GAASC,GAAkBD,IAGxB,IAkGHE,EAlGSC,EAAU,SAAAC,GACrB,SAAAD,EAAYE,EAAe7N,EAAYyE,GAAW,IAAD9N,EA2B9C,OARDA,EAAAiX,EAAA9X,KAAA,MAlBsB,SAACgY,EAAWC,GAKhC,QAL0C,IAAVA,IAAAA,EAAa,eAKxCF,EAHHE,EAAa,cAGgBD,GAC7B,MAAM,IAAIlK,MACR,+DAA+DkK,MAInE,OACED,EAAcE,GAAYD,KAEvBpK,OAAMnB,GAAOA,GAEpB,GAEqBvC,IAAW,KAE5ByE,GACF9N,EAAKkP,WAAW7P,KAAI2L,EAAAA,EAAAA,IAAS8C,EAAS/E,MAAO,CAC3CuH,SAAUxC,EAAS/E,KACnB6H,QAAS9C,EACTlB,OAAQ,YAEX5M,CACH,EAACqX,EAAAA,EAAAA,GAAAL,EAAAC,GAAA,IAAAK,EAAAN,EAAA/X,UAkEA,OAlEAqY,EAEDnB,WAAA,SAAW7F,GACT,OAAO2G,EAAAhY,UAAMkX,WAAUhX,KAAC,KAAAmR,GAAUvI,MAAKL,IACrC,GAAIA,EAAOkF,SAAWI,EAAmBE,QACvC,OAAOlF,QAAQC,UAEjB,MAAM6F,EAAWpG,EAAOkJ,QAClBuG,EAAYrJ,EAASI,mBACrBqJ,EAAgBd,EAAoBU,GAC1C,OAAOnP,QAAQE,IAAIqP,EAAc9P,IAAI4O,IAAiBtO,MAAK,IAAM+F,GAAS,GAE9E,EAACwJ,EAEDrG,iBAAA,SAAiB7D,GACf,OAAO6J,EAAAhY,UAAMgS,iBAAgB9R,KAAC,KAAAiO,GAASrF,MAAKwK,GACtCA,EAAK1B,SACHtD,EAAiBH,GACZmF,EAIF/E,EAAQJ,EAAS,QAAQrF,MAAK0E,GAChB,MAAfA,EAAIG,OAIC,CACLA,OAAQI,EAAmBC,OAMxBsF,IAGJA,GAEX,EAAC+E,EAEDpG,yBAAA,SAAyB9D,GACvB,OAAO6J,EAAAhY,UAAMiS,yBAAwB/R,KAAC,KAAAiO,GAASrF,MAAKwK,GAC9CA,EAAK1B,SACHtD,EAAiBH,GACZmF,EAIF/E,EAAQJ,EAAS,QAAQrF,MAAK0E,GAChB,MAAfA,EAAIG,OAIC,CACLA,OAAQI,EAAmBC,OAMxBsF,IAGJA,GAEX,EAACyE,CAAA,CA/FoB,CAASpI,GAoGzB,MAAM4I,EAAYC,IACvBV,EAAWU,CAAO,EAGPC,EAAe,CAC1BpM,QAAS8B,GAAW2J,EAAS/B,SAAS5H,GAGtClG,2BAA4BkG,GAC1B2J,EAAS7P,2BAA2BkG,GACtCjG,SAAUiG,GAAW2J,EAAS5P,SAASiG,GAEvChG,aAAc,SAACgG,EAASpG,GAAY,YAAL,IAAPA,IAAAA,EAAU,CAAC,GACjC+P,EAAS3P,aAAagG,EAASpG,EAAQ,EACzCgO,SAAU5H,GAAW2J,EAAS/B,SAAS5H,GACvCsJ,eAAgBtJ,GAAW2J,EAASL,eAAetJ,GACnDoJ,SAAUpJ,GAAW2J,EAASP,SAASpJ,GACvCoE,YAAaA,IAAMuF,EAASvF,eAG9B,QAEO,SAASmG,IACd,OAAIZ,EACKA,EAAS9H,cAET,CAAC,CAEZ,CAEO,SAAS2I,IACd,OAAIb,EACKA,EAASzH,SAET,CAAC,CAEZ,yKCz8BO,SAASuI,EAAoBtN,GAA0B,IAAzB,SAAEnH,EAAQ,SAAE0U,GAAUvN,EAKzD,OAJAwN,EAAAA,EAAAA,YAAU,KACRD,GAAU,IAGL1U,CACT,CCXO,MAAM4U,EAAmB,CAC9B,OACA,OACA,QACA,QACA,OACA,WACA,SACA,OACA,QCgEK,SAASC,EAAYC,EAAQC,GAClC,GAAID,aAAkBE,aAAeD,aAAkBC,YAAa,CAClE,MAAMC,EAAQF,EAAOG,aAAa,SAGlC,GAAID,IAAUH,EAAOI,aAAa,SAAU,CAC1C,MAAMC,EAAWJ,EAAOK,WAAU,GAGlC,OAFAD,EAAStM,aAAa,QAAS,IAC/BsM,EAASF,MAAQA,EACVA,IAAUH,EAAOG,OAASH,EAAOD,YAAYM,EACtD,CACF,CAEA,OAAOL,EAAOD,YAAYE,EAC5B,CAsBO,SAASM,EACdC,EACAC,QAAqB,IAArBA,IAAAA,EAAwB,CACtBC,KAAM,CAAC,EACPC,KAAM,CAAC,IAGT,MAAMC,EAAU,IAAI1P,IACd2P,EAAiB,GAGvB,IAAK,MAAMpX,KAAQ+W,EAASM,WAAY,CAAC,IAADC,EAAAC,EACtC,MAAMC,EAAWxX,EAAKwX,SAASC,cACzBC,EAAoB,QAAlBJ,EAAGtX,EAAK2X,kBAAU,IAAAL,GAAI,QAAJC,EAAfD,EAAiBI,UAAE,IAAAH,OAAJ,EAAfA,EAAqB/V,MAEhC,GAAKoW,EAAc5X,GAAnB,CAEA,GAAI6X,EAAgBL,GAElB,GAAiB,SAAbA,GAAoC,SAAbA,EACzB,IAAK,MAAMM,KAAa9X,EAAK2X,WAAY,CACvC,MAAMI,EAAsC,UAAnBD,EAAUtH,KAYZ,IAADwH,EAAtB,GATAhB,EAAsBQ,GAAY,IAC7BR,EAAsBQ,IAGtBO,IACHf,EAAsBQ,GAAUM,EAAUtH,MAAQsH,EAAUtW,OAI1DuW,EACFf,EAAsBQ,GAAUS,MAAQ,GACP,QAA/BD,EAAAhB,EAAsBQ,UAAS,IAAAQ,GAA/BA,EAAiCC,MAC7BjB,EAAsBQ,GAAUS,MAChC,KACHH,EAAUtW,QAEjB,KACK,CACL,IAAI0W,EAAalY,EAAK6W,WAAU,GAQhC,GAPAqB,EAAW5N,aAAa,oBAAoB,GAGF,WAAtC4N,EAAWV,SAASC,gBACtBS,EAAaC,EAAcD,IAGzBR,EACF,GAAKP,EAAQra,IAAI4a,GAGV,CAAC,IAADU,EACL,MAAMC,EAAgClB,EAAQpa,IAAI2a,GAGtC,QAFZU,EAAAhB,EACEiB,GACAxN,kBAAU,IAAAuN,GAFZA,EAEcE,YACZlB,EAAeiB,IAEjBjB,EAAeiB,GAAiCH,CAClD,MAVEd,EAAexQ,KAAKsR,GACpBf,EAAQzZ,IAAIga,EAAIN,EAAe5Y,OAAS,QAW1C4Y,EAAexQ,KAAKsR,EAExB,CAKElY,EAAKqX,WAAW7Y,QAClB4Y,EAAexQ,KAAIhI,MAAnBwY,GAAcpG,EAAAA,EAAAA,GACT8F,EAA+B9W,EAAMgX,GACrCI,gBA3D2B,CA8DpC,CAEA,MAAO,CAAEA,iBAAgBJ,wBAC3B,CAEA,SAASmB,EAAcnY,GACrB,MAAM6D,EAAS5D,SAASqB,cAAc,UACtC,IAAK,MAAMiX,KAAQvY,EAAK2X,WACtB9T,EAAOyG,aAAaiO,EAAK/H,KAAM+H,EAAK/W,OAItC,OAFAqC,EAAOY,UAAYzE,EAAKyE,UAEjBZ,CACT,CAEO,SAASgU,EAAgBL,GAC9B,OAAOnB,EAAiBtH,SAASyI,EACnC,CAKO,SAASI,EAAc5X,GAC5B,OAAyB,IAAlBA,EAAKwY,QACd,CCjMA,MAAMC,EAAaxY,SAASqB,cAAc,OACpCoX,EAA8B,CAClCzB,KAAM,GACNC,KAAM,IAGFyB,EAAiBA,KAAO,IAADC,EAC3B,MAAM,eAAExB,EAAc,sBAAEJ,GACtBF,EAA+B2B,GAEjCC,EAA4BzB,KAAO/Z,OAAOqN,KAAKyM,EAAsBC,MACrEyB,EAA4BxB,KAAOha,OAAOqN,KAAKyM,EAAsBE,MDkMhE,SAAoCF,GACzC,IAAKA,EAAuB,OAE5B,MAAM,KAAEC,EAAI,KAAEC,GAASF,EAEjB6B,EAAc5Y,SAASgE,cAAc,QACvC4U,GACF3b,OAAO4b,QAAQ7B,GAAMzM,SAAQrB,IAAsC,IAApC4P,EAAeC,GAAe7P,EAC3D0P,EAAYvO,aAAayO,EAAeC,EAAe,IAI3D,MAAMC,EAAchZ,SAASgE,cAAc,QACvCgV,GACF/b,OAAO4b,QAAQ5B,GAAM1M,SAAQsJ,IAAsC,IAApCiF,EAAeC,GAAelF,EAC3DmF,EAAY3O,aAAayO,EAAeC,EAAe,GAG7D,CClNEE,CAA2BlC,GAM3B,MAAMmC,EAAuBlZ,SAASmZ,iBAAiB,sBAEf,IAADC,EAAvC,GAAoC,IAAhCF,EAAqB3a,OAEvB,YADA6a,EAAApZ,SAAS2E,MAAK0U,OAAM1a,MAAAya,GAAArI,EAAAA,EAAAA,GAAIoG,IAI1B,MAAMmC,EAAe,ID8ChB,SAAkB3Q,GAA0C,IAAzC,SAAE4Q,EAAQ,SAAEC,EAAQ,QAAEC,EAAO,MAAEC,GAAO/Q,EAC9D,IAAK,MAAMgR,KAAuBJ,EAAU,CAC1C,MAAMK,EAAkBJ,EAAS5F,WAAUtR,GACzC+T,EAAY/T,EAAGqX,MAGQ,IAArBC,EACFH,EAAQE,GAGRH,EAAS3S,OAAO+S,EAAiB,EAErC,CAGA,IAAK,MAAMC,KAAWL,EACpBE,EAAMG,EAEV,CC/DEC,CAAU,CACRP,SAAUL,EACVM,SAAUrC,EACVsC,QAAS1Z,GAAQA,EAAK6K,WAAWyN,YAAYtY,GAC7C2Z,MAAO3Z,GAAQuZ,EAAa3S,KAAK5G,MAGnC4Y,EAAA3Y,SAAS2E,MAAK0U,OAAM1a,MAAAga,EAAIW,EAAa,EAmChC,SAASS,EAAqBpR,GAIjC,IAJkC,cACpC0I,EAAa,mBACbkB,EAAkB,mBAClByH,GACDrR,GACCwN,EAAAA,EAAAA,YAAU,KACR,GAAI9E,SAAAA,EAAe4I,KAAM,EDvEtB,SAA6BtV,GAClC,GAAoB,mBAATA,EACT,MAAM,IAAI0G,MACR,uDAAuD1G,MAE7D,CCmEMuV,CAAoB7I,EAAc4I,MAElC,MAAM,OAAE7Y,IAAW+Y,EAAAA,EAAAA,KAEbC,EACJ7d,EAAAA,cAAC8U,EAAc4I,KD3Fd,CACL1Z,SAAU,CACRoC,UAH0BnH,EC4FgBwe,GDzF1BzZ,SAASoC,UAE3BwG,OAAQ3N,EAAM2N,OACdwH,KAAMnV,EAAMmV,MAAQ,CAAC,EACrB0J,WAAY7e,EAAM6e,WAClBC,YAAa9e,EAAM8e,cCuFXC,GAAkBnM,EAAAA,EAAAA,GACtB,kBACA,CAAExM,QAASwY,GACXA,GACAlR,IAAiB,IAAhB,OAAEpD,GAAQoD,EACT,MAAO,CAAEtH,QAASkE,EAAQ,IAE5B0U,MAEFpZ,EAIE7E,EAAAA,cAAC0Z,EAAoB,CAACC,SAAUwC,GAC9Bnc,EAAAA,cAACke,EAAAA,EAAmBnZ,SAAQ,CAACC,MAAOgR,GAClChW,EAAAA,cAACme,EAAAA,iBAAgB,KAAEH,KAGvB/B,EAEJ,CDnHG,IAAyBhd,ECqH5B,MAAO,MD4FJ,WACL,MAAMmf,EAAgB3a,SAASmZ,iBAAiB,sBAChD,IAAK,MAAMpZ,KAAQ4a,EACjB5a,EAAK6K,WAAWyN,YAAYtY,EAEhC,CChGM6a,GDsHC,SAAqCC,GAC1C,IAAKA,EAA0B,OAE/B,MAAM,KAAE7D,EAAI,KAAEC,GAAS4D,EAEvB,GAAI7D,EAAM,CACR,MAAM4B,EAAc5Y,SAASgE,cAAc,QAC3CgT,EAAKzM,SAAQuO,IACPF,GACFA,EAAYkC,gBAAgBhC,EAC9B,GAEJ,CAEA,GAAI7B,EAAM,CACR,MAAM+B,EAAchZ,SAASgE,cAAc,QAC3CiT,EAAK1M,SAAQuO,IACPE,GACFA,EAAY8B,gBAAgBhC,EAC9B,GAEJ,CACF,CC3IMiC,CAA4BtC,EAA4B,CACzD,GAEL,CCzHA,SAASuC,EAAarb,GACpB,MAAMqa,EAAqB,IACtBra,EACHwJ,OAAQ,KACHF,EAAAA,EAAAA,IAAgBtJ,EAAMY,SAASoC,aAC/BhD,EAAM8R,cAAc9E,KAAK2N,YAAYW,WAM5C,IAAIC,EAFkBzK,MAIpByK,EADEvb,EAAM8R,cAAcC,iBACR/R,EAAM8R,cAAcC,kBAEpBrQ,EAAAA,EAAAA,gBANMoP,EAMsB9Q,EAAM8R,cAActF,YAN/BsE,EAAE/T,SAAY+T,EAM6B,IACrEuJ,EACH5c,IAAKuC,EAAMwH,MAAQxH,EAAM8R,cAAcpF,KAAKlF,OAMhD4S,EAAsB,CACpB1I,cAHoB1R,EAAM8R,cAAc9M,KAIxC4N,mBAAoB5S,EAAM8R,cAAcc,mBACxCyH,uBAeF,OAZoB5L,EAAAA,EAAAA,GAClB,kBACA,CACExM,QAASsZ,EACTvb,MAAOqa,GAETkB,GACAvS,IAAiB,IAAhB,OAAE7C,GAAQ6C,EACT,MAAO,CAAE/G,QAASkE,EAAQnG,MAAOqa,EAAoB,IAEvDQ,KAGJ,CAEAQ,EAAatZ,UAAY,CACvBnB,SAAU4a,IAAAA,OAAiBtZ,WAC3B4P,cAAe0J,IAAAA,OAAiBtZ,WAChC8O,KAAMwK,IAAAA,OACNb,YAAaa,IAAAA,OAAiBtZ,YAGhC,4JCxDO,MAAMuZ,EAAsB,CACjC3D,GAAI,mBACJO,MAAO,CACLxY,SAAU,WACV6b,IAAK,EACLC,MAAO,EACPC,OAAQ,EACRC,QAAS,EACTC,SAAU,SACVC,KAAM,mBACNC,WAAY,SACZC,OAAQ,GAEV,YAAa,YACb,cAAe,uBCHjB,SAASC,EAAclZ,GACrB,MAAM0G,GAAWC,EAAAA,EAAAA,GAAwB3G,IACnC,KAAE7C,EAAI,OAAEsH,GAAWlI,OAAOqB,SAEhC,OAAgB,MAAZ8I,IACFnK,OAAO4c,WAAWzS,EAASE,OAASnC,EAAStH,IACtC,EAIX,CAGA,IAAIic,EAAY,GAEhB7c,OAAOyB,iBAAiB,sBAAsBqb,IACxC,6BAA6B7I,KAAK6I,EAAMC,SACtCF,IACF7c,OAAOqB,SAASoC,SAAWoZ,EAE/B,IAGF,MAAMG,EAAmBA,CAAC3b,EAAU4b,KAC7BN,EAActb,EAASoC,YAC1BoZ,EAAYxb,EAASoC,UACrByL,EAAAA,EAAAA,GAAU,mBAAoB,CAAE7N,WAAU4b,iBAC5C,EAGIC,EAAgBA,CAAC7b,EAAU4b,KAC1BN,EAActb,EAASoC,YAC1ByL,EAAAA,EAAAA,GAAU,gBAAiB,CAAE7N,WAAU4b,gBAOzC,EAGIE,EAAW,SAACC,EAAIlX,GAIpB,QAJ2B,IAAPA,IAAAA,EAAU,CAAC,GAIb,iBAAPkX,EAET,YADAC,EAAAA,cAAcF,SAASC,GAIzB,MAAM,SAAE3Z,EAAQ,OAAEyE,EAAM,KAAEtH,IAAS0c,EAAAA,EAAAA,IAAUF,GACvCjT,GAAWC,EAAAA,EAAAA,GAAwB3G,GAUzC,GANI0G,IACFiT,EAAKjT,EAASE,OAASnC,EAAStH,GAK9BZ,OAAOud,aAET,YADAvd,OAAOqB,SAAWoC,EAAWyE,EAAStH,GAMxC,MAAM4c,EAAY3P,YAAW,KAC3B0F,EAAAA,EAAQ1L,KAAK,6BAA8B,CAAEpE,cAC7CyL,EAAAA,EAAAA,GAAU,uBAAwB,CAChC7N,SAAUrB,OAAOqB,UACjB,GACD,KAEHkJ,EAAAA,GAAOlE,SAAS5C,EAAWyE,GAAQjB,MAAKsL,IAOtC,IAAKA,GAAiBA,EAAczG,SAAWI,EAAAA,GAAmBC,MAIhE,OAHAnM,OAAOyd,QAAQC,aAAa,CAAC,EAAG,GAAIrc,SAAS8H,MAC7CnJ,OAAOqB,SAAWoC,OAClBka,aAAaH,GAM8BjL,GAEzCA,EAAcpF,KAAKE,yBACnBrN,OAAO4d,4BAIL,kBAAmBhK,WACoB,OAAvCA,UAAUiK,cAAcjL,YACqB,cAA7CgB,UAAUiK,cAAcjL,WAAW/O,OAEnC+P,UAAUiK,cAAcjL,WAAWkL,YAAY,CAC7CC,UAAW,uBAIf/d,OAAOqB,SAAWoC,EAAWyE,EAAStH,IAG1Cod,EAAAA,EAAAA,UAAcZ,EAAIlX,GAClByX,aAAaH,EAAU,GAE3B,EAEA,SAAShd,EAAmBU,EAAeuI,GAAiB,IAAf,SAAEpI,GAAUoI,EACvD,MAAM,SAAEhG,EAAQ,KAAE7C,GAASS,EACrBqF,GAAUwI,EAAAA,EAAAA,GAAU,qBAAsB,CAC9ChO,kBAEAuC,WACAtC,YAAa,CAAEE,YACf4c,uBAAwB3e,GAAQ,CAC9B,EAGAI,KAAKE,cAAc+B,KAAKrC,EAAMA,EAAKpB,QAGvC,GAAIwI,EAAQrH,OAAS,EAGnB,OAAOqH,EAAQA,EAAQrH,OAAS,GAGlC,GAAI6B,EAAiB,CACnB,MACEG,UAAYoC,SAAUya,IACpBhd,EACJ,GAAIgd,IAAgBza,EAGlB,OAAO7C,EAAOgB,UAAUhB,EAAKhE,MAAM,IAAM,CAAC,EAAG,EAEjD,CACA,OAAO,CACT,CAYC,IAEKuhB,EAAc,SAAAlf,GAClB,SAAAkf,EAAY1d,GAAQ,IAADvB,EAEuB,OADxCA,EAAAD,EAAAZ,KAAA,KAAMoC,IAAM,MACP2d,gBAAkB/gB,EAAAA,YAAiB6B,CAC1C,EAACqX,EAAAA,EAAAA,GAAA4H,EAAAlf,GAAA,IAAAmC,EAAA+c,EAAAhgB,UAwBA,OAxBAiD,EAEDY,mBAAA,SAAmBzB,EAAW8d,GAC5Bne,uBAAsB,KACpB,IAAIoe,EAAW,eAAe5e,KAAKe,MAAMY,SAASoC,WAC9C3C,SAASyd,QACXD,EAAWxd,SAASyd,OAEtB,MAAMC,EAAe1d,SAASmZ,iBAAiB,4BAC3CuE,GAAgBA,EAAanf,SAC/Bif,EAAWE,EAAa,GAAGC,aAE7B,MAAMC,EAAkB,gBAAgBJ,IACxC,GAAI5e,KAAK0e,gBAAgBja,QAAS,CACRzE,KAAK0e,gBAAgBja,QAAQwa,YAC7BD,IACtBhf,KAAK0e,gBAAgBja,QAAQwa,UAAYD,EAE7C,IAEJ,EAACtd,EAEDc,OAAA,WACE,OAAO7E,EAAAA,cAAA,MAAAU,OAAA8R,OAAA,GAASqM,EAAmB,CAAElY,IAAKtE,KAAK0e,kBACjD,EAACD,CAAA,CA5BiB,CAAS9gB,EAAAA,WA+B7B,MAAMuhB,EAAuBA,CAAC3B,EAAc4B,KAAkB,IAADC,EAAAC,EAC3D,OAAI9B,EAAa9T,OAAS0V,EAAa1V,OAInC8T,SAAmB,QAAP6B,EAAZ7B,EAAcpZ,aAAK,IAAAib,OAAP,EAAZA,EAAqB5gB,QAAQ2gB,SAAmB,QAAPE,EAAZF,EAAchb,aAAK,IAAAkb,OAAP,EAAZA,EAAqB7gB,IAI1C,EAGd,IACM8gB,EAAY,SAAAC,GAChB,SAAAD,EAAYve,GAAQ,IAADye,EAEqB,OADtCA,EAAAD,EAAA5gB,KAAA,KAAMoC,IAAM,KACZuc,EAAiBvc,EAAMY,SAAU,MAAK6d,CACxC,EAAC3I,EAAAA,EAAAA,GAAAyI,EAAAC,GAAA,IAAAzI,EAAAwI,EAAA7gB,UA2BA,OA3BAqY,EAEDjV,kBAAA,WACE2b,EAAcxd,KAAKe,MAAMY,SAAU,KACrC,EAACmV,EAED2I,sBAAA,SAAsBd,GACpB,QAAIO,EAAqBlf,KAAKe,MAAMY,SAAUgd,EAAUhd,YACtD2b,EAAiBqB,EAAUhd,SAAU3B,KAAKe,MAAMY,WACzC,EAGX,EAACmV,EAEDxU,mBAAA,SAAmBzB,GACbqe,EAAqBre,EAAUc,SAAU3B,KAAKe,MAAMY,WACtD6b,EAAcxd,KAAKe,MAAMY,SAAUd,EAAUc,SAEjD,EAACmV,EAEDtU,OAAA,WACE,OACE7E,EAAAA,cAACA,EAAAA,SAAc,KACZqC,KAAKe,MAAM6B,SACZjF,EAAAA,cAAC8gB,EAAc,CAAC9c,SAAUA,WAGhC,EAAC2d,CAAA,CA/Be,CAAS3hB,EAAAA,oCCxN3B,SAAS+hB,EAAe/P,EAAGgQ,GACzB,IAAK,IAAIC,KAAKjQ,EACZ,KAAMiQ,KAAKD,GAAI,OAAO,EACvB,IAAK,IAAIE,KAAMF,EACd,GAAIhQ,EAAEkQ,KAAQF,EAAEE,GAAK,OAAO,EAC7B,OAAO,CACV,CC8GA,MAlHqB,SAAAtgB,GACnB,SAAAugB,EAAY/e,GAAQ,IAADvB,EACjBA,EAAAD,EAAAZ,KAAA,OAAO,KACP,MAAM,SAAEgD,EAAQ,cAAEkR,GAAkB9R,EAQnC,OAPDvB,EAAK2E,MAAQ,CACXxC,SAAU,IAAKA,GACfkR,cACEA,GACAhI,EAAAA,GAAOjE,aAAajF,EAASoC,SAAWpC,EAAS6G,OAAQ,CACvDuL,kBAAkB,KAEvBvU,CACH,EAACqX,EAAAA,EAAAA,GAAAiJ,EAAAvgB,GAAAugB,EAEMC,yBAAP,SAAAhW,EAA8CiW,GAAY,IAA1B,SAAEre,GAAUoI,EAC1C,GAAIiW,EAAUre,SAAS8H,OAAS9H,EAAS8H,KAAM,CAQ7C,MAAO,CACLoJ,cARoBhI,EAAAA,GAAOjE,aAC3BjF,EAASoC,SAAWpC,EAAS6G,OAC7B,CACEuL,kBAAkB,IAMpBpS,SAAU,IAAKA,GAEnB,CAEA,MAAO,CACLA,SAAU,IAAKA,GAEnB,EAAC,IAAAD,EAAAoe,EAAArhB,UA+EA,OA/EAiD,EAEDue,cAAA,SAAcrT,GACZ/B,EAAAA,GAAOlE,SAASiG,GAASrF,MAAKsL,IACxBA,GAAiBA,EAAczG,SAAWI,EAAAA,GAAmBC,MAC/DzM,KAAKkgB,SAAS,CACZve,SAAU,IAAKrB,OAAOqB,UACtBkR,mBAGFvS,OAAOyd,QAAQC,aAAa,CAAC,EAAG,GAAIrc,SAAS8H,MAC7CnJ,OAAOqB,SAAWiL,EACpB,GAEJ,EAAClL,EAED+d,sBAAA,SAAsBd,EAAWwB,GAE/B,OAAKA,EAAUtN,cAkBX7S,KAAKmE,MAAM0O,gBAAkBsN,EAAUtN,gBAIzC7S,KAAKmE,MAAM0O,cAActF,YAAc4S,EAAUtN,cAActF,YAK7DvN,KAAKmE,MAAM0O,cAAc9E,OAASoS,EAAUtN,cAAc9E,SAM5D/N,KAAKmE,MAAMxC,SAASnD,MAAQ2hB,EAAUxe,SAASnD,MAC/C2hB,EAAUtN,cAAcpF,OACvB0S,EAAUtN,cAAcpF,KAAKzD,YAC5BmW,EAAUtN,cAAcpF,KAAKlF,ODhFrC,SAA0BgO,EAAUoI,EAAWwB,GAC7C,OAAOT,EAAenJ,EAASxV,MAAO4d,IAAce,EAAenJ,EAASpS,MAAOgc,EACpF,CCkFUC,CAAepgB,KAAM2e,EAAWwB,OAvCrCngB,KAAKigB,cACHtB,EAAUhd,SAASoC,SAAW4a,EAAUhd,SAAS6G,SAE5C,EAqCX,EAAC9G,EAEDc,OAAA,WAiBE,OAAOxC,KAAKe,MAAM6B,SAAS5C,KAAKmE,MAClC,EAAC2b,CAAA,CA/GkB,CAASniB,EAAAA,sMC6B9B,MAAMkN,EAAS,IAAI2L,EAAAA,GAAWE,EAAe7N,EAAYvI,OAAOgN,WAChE0J,EAAAA,EAAAA,IAAUnM,GACVA,EAAO0E,aAAaC,EAAAA,GAEpB,MAAM,OAAEhN,EAAM,QAAE6d,IAAY9E,EAAAA,EAAAA,KAE5Bjb,OAAOoW,cAAgBA,EACvBpW,OAAOggB,WAAazM,EAAAA,EACpBvT,OAAOigB,UAAYrJ,EAAAA,GH4HjByG,EAAAA,cAAc6C,QAAO5gB,IACnBA,EAAK+B,SAAS8e,OAAS7gB,EAAK6gB,MAAM,IAGpCngB,OAAOogB,QAAUhD,GAAMD,EAASC,EAAI,CAAElN,SAAS,IAC/ClQ,OAAO4c,WAAaQ,GAAMD,EAASC,EAAI,CAAElN,SAAS,IAClDlQ,OAAOqgB,YAAc,CAACjD,EAAIlX,IAAYiX,EAASC,EAAIlX,GG9HrD,MAAMoa,EAAmB,wCAEzBC,EAAAA,EAAAA,GAAe,iBAAiBtZ,MAAK,MAG/BiI,EAAAA,EAAAA,GAAU,yBAAyBrI,OAAO2Z,SAASnhB,OAAS,GAC9D4G,EAAQ,OAWV,MAAMwa,EAAehgB,GACnBpD,EAAAA,cAACqjB,EAAAA,YAAYte,SAAQ,CACnBC,MAAO,CACLse,QAAS,IACTC,SAAU,MAGZvjB,EAAAA,cAACye,EAAAA,EAAiBrb,IAIhBogB,EAAcxjB,EAAAA,cAAoB,CAAC,GAEnCyjB,EAAgB,CACpBC,kBAAmB,WACpB,IAEKC,EAAU,SAAA/hB,GAAA,SAAA+hB,IAAA,OAAA/hB,EAAAQ,MAAA,KAAAL,YAAA,KAiCb,OAjCamX,EAAAA,EAAAA,GAAAyK,EAAA/hB,GAAA+hB,EAAA7iB,UACd+D,OAAA,WACE,MAAM,SAAEI,GAAa5C,KAAKe,MAC1B,OACEpD,EAAAA,cAAC4jB,EAAAA,SAAQ,MACNxX,IAAA,IAAC,SAAEpI,GAAUoI,EAAA,OACZpM,EAAAA,cAACmiB,EAAe,CAACne,SAAUA,IACxB2I,IAAkC,IAAjC,cAAEuI,EAAa,SAAElR,GAAU2I,EAC3B,MAAMqJ,GAAqBwD,EAAAA,EAAAA,MACrBqK,GAAepK,EAAAA,EAAAA,MAErB,OACEzZ,EAAAA,cAACke,EAAAA,EAAmBnZ,SAAQ,CAACC,MAAOgR,GAClChW,EAAAA,cAAC8jB,EAAAA,GAAc/e,SAAQ,CAACC,MAAOye,GAC7BzjB,EAAAA,cAAC+jB,EAAAA,GAAqBhf,SAAQ,CAACC,MAAO6e,GACpC7jB,EAAAA,cAACgkB,EAAAA,GAAiBjf,SAAQ,CACxBC,MAAOkQ,EAAcpF,KAAKK,WAE1BnQ,EAAAA,cAACwjB,EAAYze,SAAQ,CACnBC,MAAO,CAAEkQ,gBAAelR,aAEvBiB,MAKmB,GAGlB,GAI1B,EAAC0e,CAAA,CAjCa,CAAS3jB,EAAAA,WAoCnBikB,EAAe,SAAArC,GAAA,SAAAqC,IAAA,OAAArC,EAAAxf,MAAA,KAAAL,YAAA,KAsClB,OAtCkBmX,EAAAA,EAAAA,GAAA+K,EAAArC,GAAAqC,EAAAnjB,UACnB+D,OAAA,WACE,OACE7E,EAAAA,cAACwjB,EAAYU,SAAQ,MAClB5M,IAAA,IAAC,cAAEpC,EAAa,SAAElR,GAAUsT,EAAA,OAC3BtX,EAAAA,cAAC2hB,EAAY,CAAC3d,SAAUA,GACtBhE,EAAAA,cAACH,EAAAA,GAAa,CACZmE,SAAUA,EACVb,mBAAoBA,GAEpBnD,EAAAA,cAACmkB,EAAAA,OAAM,CACLZ,SAAU7X,GACV1H,SAAUA,EACVkX,GAAG,wBAEHlb,EAAAA,cAACojB,EAAY1iB,OAAA8R,OAAA,CACX5H,KAC8B,cAA5BsK,EAAcpF,KAAKlF,MACS,cAA5BsK,EAAcpF,KAAKlF,MACfa,EAAAA,EAAAA,GAAYzH,EAASoC,SAAUsF,IAC/B0Y,WAEIlP,EAAcpF,KAAKzD,WACnB6I,EAAcpF,KAAKlF,MACnBE,MAAM,KAAK,KAGjBzI,KAAKe,MAAK,CACdY,SAAUA,EACVkR,cAAeA,GACXA,EAAc9E,SAIX,GAIvB,EAAC6T,CAAA,CAtCkB,CAASjkB,EAAAA,WAyC9B,MAAM,SAAEmS,EAAUnO,SAAUqgB,GAAe1hB,OAYzCwP,GACAzG,GAAgByG,IACdkS,EAAWje,UAAY+L,EAASI,SAAS,KAAO8R,EAAWxZ,OAAS,OAEpEqC,EAAOlB,eAAcP,EAAAA,EAAAA,GAAY4Y,EAAWje,SAAUsF,MACtDyG,EAASmS,MAAM,6BACfnS,EAASmS,MAAM,+CAGjBxE,EAAAA,EAAAA,UACEpU,GACEyG,GACEA,EAASI,SAAS,KAA2B,GAApB8R,EAAWxZ,QACtCwZ,EAAW9gB,KACb,CACEsP,SAAS,IAMf,MAAM0R,EAAoBA,KACxB,IACE,OAAO5e,cACT,CAAE,MACA,OAAO,IACT,GAGF4T,EAAAA,GAAavQ,SAASqb,EAAWje,SAAWie,EAAWxZ,QAAQjB,MAAKkG,IAAS,IAAD0U,EAC1E,MAAM7e,EAAiB4e,IAEvB,GACEzU,SAAU,QAAN0U,EAAJ1U,EAAMA,YAAI,IAAA0U,GAAVA,EAAYxU,wBACZF,EAAKA,KAAKE,yBAA2BrN,OAAO4d,4BAI1C,kBAAmBhK,WACoB,OAAvCA,UAAUiK,cAAcjL,YACqB,cAA7CgB,UAAUiK,cAAcjL,WAAW/O,OAEnC+P,UAAUiK,cAAcjL,WAAWkL,YAAY,CAC7CC,UAAW,uBAUX/a,GAAgB,CAGlB,KAFgE,MAA7CA,EAAeC,QAAQqd,IAKxC,OAFAtd,EAAeO,QAAQ+c,EAAkB,UACzCtgB,OAAOqB,SAASygB,QAAO,EAG3B,CAOF,GAJI9e,GACFA,EAAe+e,WAAWzB,IAGvBnT,GAAQA,EAAKrB,SAAWI,EAAAA,GAAmBC,MAAO,CACrD,MAAM6V,EAAU,sBAAsBN,EAAWje,0CAIjD,GAAI0J,GAAQA,EAAKqD,MAEf,MAAMrD,EAAKqD,MAGb,MAAM,IAAIrE,MAAM6V,EAClB,CAEA,MAAMC,GAAW/S,EAAAA,EAAAA,GACf,kBACA,CAAExM,QAASrF,EAAAA,cAACikB,EAAe,OAC3BjkB,EAAAA,cAACikB,EAAe,OAChBpM,IAAiB,IAAhB,OAAEtO,GAAQsO,EACT,MAAO,CAAExS,QAASkE,EAAQ,IAE5B0U,MAEI4G,EAAM,WACV,MAAMC,EAAsB9kB,EAAAA,QAAa,GAazC,OAXAA,EAAAA,WAAgB,KACT8kB,EAAoBhe,UACvBge,EAAoBhe,SAAU,EAC1Bie,YAAYC,MACdD,YAAYC,KAAK,0BAGnBnT,EAAAA,EAAAA,GAAU,yBACZ,GACC,IAEI7R,EAAAA,cAAC2jB,EAAU,KAAEiB,EACtB,EAEMK,EAAUxhB,SAASC,eAAe,wBAIxC,IAAIwhB,EAAkBrgB,EAClBogB,GAAWA,EAAQhgB,SAASjD,SAC9BkjB,EAAkBxC,GAGpB,MAAMyC,GAAWtT,EAAAA,EAAAA,GACf,8BACArN,EACA0gB,GACA,GAEF,SAASE,IACP,MAAMC,EACc,oBAAX1iB,OACHc,SAASC,eAAe,aACxB,KAENyhB,EAASnlB,EAAAA,cAAC6kB,EAAG,MAAKQ,EACpB,CAIA,MAAMC,EAAM7hB,SACZ,GACqB,aAAnB6hB,EAAI9V,YACgB,YAAnB8V,EAAI9V,aAA6B8V,EAAIC,gBAAgBC,SAEtDhV,YAAW,WACT4U,GACF,GAAG,OACE,CACL,MAAMjb,EAAU,WACdmb,EAAI5gB,oBAAoB,mBAAoByF,GAAS,GACrDxH,OAAO+B,oBAAoB,OAAQyF,GAAS,GAE5Cib,GACF,EAEAE,EAAIlhB,iBAAiB,mBAAoB+F,GAAS,GAClDxH,OAAOyB,iBAAiB,OAAQ+F,GAAS,EAC3C,CAEM,GACN,mFC1SJ,UAlByBiC,IAAmB,IAAlB,SAAEpI,GAAUoI,EACpC,MAAM8I,EAAgBhI,EAAAA,GAAOjE,aAAajF,EAASoC,UACnD,OAAK8O,EAGElV,EAAAA,cAAoBylB,EAAAA,EAAsB,CAC/CzhB,WACAkR,mBACGA,EAAc9E,OALV,IAMP,yBCfkB8D,MAKpBxL,EAAO3J,SALamV,EAKWtL,EAAQ,SALRsL,EAAE/T,SAAY+T,sECA/C,MAAM5K,EAAM,IAAIhI,QAET,SAASsc,IACd,MAAM8H,EAAiB9c,EAAQ,MAY/B,MAAO,CAAE/D,OAVMA,CAACK,EAAWygB,KACzB,IAAIC,EAAOtc,EAAI/I,IAAIolB,GACdC,GACHtc,EAAIpI,IAAIykB,EAAKC,EAAOF,EAAeG,WAAWF,IAEhDC,EAAK/gB,OAAOK,EAAU,EAKPwd,QAFDA,CAACxd,EAAWygB,IAAOD,EAAeI,YAAYH,EAAIzgB,GAGpE,sECZA,MAAM6gB,EAAc,IAAI9a,IAClB+a,EAAwB,IAAI/a,IAU3B,SAAS8B,EAAwB3G,GACtC,IAAI0G,EAAWiZ,EAAYxlB,IAAI6F,GAI/B,OAHK0G,IACHA,EAAWkZ,EAAsBzlB,IAAI6F,EAAS6U,gBAEzCnO,CACT,IAdUkB,SAAQlB,IACZA,EAASmZ,WACXD,EAAsB9kB,IAAI4L,EAASoZ,SAAUpZ,GAE7CiZ,EAAY7kB,IAAI4L,EAASoZ,SAAUpZ,EACrC,8DCT6B,WAA7BnK,OAAOqB,SAASmiB,UACa,cAA7BxjB,OAAOqB,SAASoiB,UAKP,kBAAmB7P,WAC5BA,UAAUiK,cACP6F,SAAS,UACTzc,MAAK,SAAU0c,GACdA,EAAIliB,iBAAiB,eAAe,MAClCyN,EAAAA,EAAAA,GAAU,6BAA8B,CAAE2O,cAAe8F,IAGzD,MAAMC,EAAmBD,EAAIE,WAE7BD,EAAiBniB,iBAAiB,eAAe,KAC/C,OAAQmiB,EAAiB/f,OACvB,IAAK,YACC+P,UAAUiK,cAAcjL,YAK1B5S,OAAOud,cAAe,GAEtBrO,EAAAA,EAAAA,GAAU,6BAA8B,CAAE2O,cAAe8F,IAGrD3jB,OAAO8jB,oBAET9jB,OAAOqB,SAASygB,WAUlB5S,EAAAA,EAAAA,GAAU,2BAA4B,CAAE2O,cAAe8F,IAEzD,MAEF,IAAK,aAEHzU,EAAAA,EAAAA,GAAU,2BAA4B,CAAE2O,cAAe8F,IACvD,MAEF,IAAK,aACHzU,EAAAA,EAAAA,GAAU,wBAAyB,CAAE2O,cAAe8F,IAExD,GACA,GAEN,IACC1X,OAAM,SAAU7I,GAEjB,uIC5DJ,MAAMge,EAAuB/jB,EAAAA,cAAoB,CAAC,GAC5C8jB,EAAgB9jB,EAAAA,cAAoB,CAAC,GACrCgkB,EAAmBhkB,EAAAA,cAAoB,CAAC,qFCA9C,MAAMke,GCgB+BlK,EDhBkB,cCgBZ0S,EDhB2B,CAAC,ECiBjE1mB,EAAM2mB,oBAjBgB,SAAC3S,EAAM0S,GAajC,YAb6C,IAAZA,IAAAA,EAAe,MAE3CE,WAAWC,mBACdD,WAAWC,iBAAmB,CAAC,GAG5BD,WAAWC,iBAAiB7S,KAC/B4S,WAAWC,iBAAiB7S,GAAQhU,EAAM2mB,oBACxC3S,EACA0S,IAIGE,WAAWC,iBAAiB7S,EACrC,CAIW2S,CAAoB3S,EAAM0S,GAG5B1mB,EAAAA,cAAoB0mB,IAL7B,IAAqC1S,EAAM0S,sCCf5B,SAASjb,EAAYqb,EAAKC,GACvC,YAD6C,IAANA,IAAAA,EAAS,IAC3CA,EAIDD,IAAQC,EACH,IAGLD,EAAIlb,WAAW,GAAGmb,MACbD,EAAIvnB,MAAMwnB,EAAO/kB,QAGnB8kB,EAXEA,CAYX,+IClBO,MAAME,ECCkBC,IACpB,CAAC5hB,EAAS6hB,KACAC,EAAAA,WAAoBD,GAC5BriB,OAAOQ,EAAQ,6LCHxB1F,EAAyBiJ,EAAQ,OAKrC7J,EAAQ,GAAkBA,EAAQ,QAAkB,EAEpD,IAAI0H,EAAS9G,EAAuBiJ,EAAQ,QAExCwe,EAAoBxe,EAAQ,OAE5Bye,EAAWze,EAAQ,OAOvB7J,EAAQ,GALc,SAAyBqN,EAAMvD,GACnD,IAAIxD,EAAU+G,EAAK/G,QACnB,OAAoBoB,EAAgB,QAAE3B,cAAc2B,EAAgB,QAAE6gB,SAAU,KAAmB7gB,EAAgB,QAAE3B,cAAcuiB,EAASE,QAAS1e,GAAUxD,EACjK,EASAtG,EAAQ,GALc,SAAyB4N,GAC7C,IAAItH,EAAUsH,EAAMtH,QACpB,OAAoBoB,EAAgB,QAAE3B,cAAcsiB,EAAkBI,eAAgB,KAAMniB,EAC9F,sCCvBA,IAAI1F,EAAyBiJ,EAAQ,OAErClI,OAAOC,eAAe5B,EAAS,aAAc,CAC3CiG,OAAO,IAETjG,EAAQwoB,QAAUxoB,EAAQ0oB,qBAAkB,EAE5C,IAAIC,EAA4B/nB,EAAuBiJ,EAAQ,QAE3D+e,EAAmBhoB,EAAuBiJ,EAAQ,QAElDnC,EAAS9G,EAAuBiJ,EAAQ,QAExCwe,EAAoBxe,EAAQ,OAEhC,SAASgf,EAA2BC,EAAGC,GAAkB,IAAIC,EAAI,GAAsB,oBAAXC,QAAgD,MAAtBH,EAAEG,OAAOC,UAAmB,CAAE,GAAI/lB,MAAMgmB,QAAQL,KAAOE,EAE7J,SAAqCF,EAAGM,GAAU,IAAKN,EAAG,OAAQ,GAAiB,iBAANA,EAAgB,OAAOO,EAAkBP,EAAGM,GAAS,IAAIE,EAAI3nB,OAAOI,UAAUwnB,SAAStnB,KAAK6mB,GAAGtoB,MAAM,GAAI,GAAc,WAAN8oB,GAAkBR,EAAEU,cAAaF,EAAIR,EAAEU,YAAYvU,MAAM,GAAU,QAANqU,GAAqB,QAANA,EAAa,OAAOnmB,MAAM2R,KAAKgU,GAAI,GAAU,cAANQ,GAAqB,2CAA2CzR,KAAKyR,GAAI,OAAOD,EAAkBP,EAAGM,EAAS,CAF7PK,CAA4BX,KAAOC,GAAkBD,GAAyB,iBAAbA,EAAE7lB,OAAqB,CAAM+lB,IAAIF,EAAIE,GAAI,IAAI9F,EAAI,EAAOwG,EAAI,WAAc,EAAG,MAAO,CAAEtZ,EAAGsZ,EAAGJ,EAAG,WAAe,OAAIpG,GAAK4F,EAAE7lB,OAAe,CAAE0mB,MAAM,GAAe,CAAEA,MAAM,EAAO1jB,MAAO6iB,EAAE5F,KAAQ,EAAGlc,EAAG,SAAW4iB,GAAM,MAAMA,CAAI,EAAGC,EAAGH,EAAK,CAAE,MAAM,IAAII,UAAU,wIAA0I,CAAE,IAA6Cpb,EAAzCqb,GAAmB,EAAMC,GAAS,EAAY,MAAO,CAAE5Z,EAAG,WAAe4Y,EAAKF,EAAEG,OAAOC,WAAa,EAAGI,EAAG,WAAe,IAAIW,EAAOjB,EAAGpe,OAAsC,OAA9Bmf,EAAmBE,EAAKN,KAAaM,CAAM,EAAGjjB,EAAG,SAAWkjB,GAAOF,GAAS,EAAMtb,EAAMwb,CAAK,EAAGL,EAAG,WAAe,IAAWE,GAAoC,MAAhBf,EAAW,QAAWA,EAAW,QAAK,CAAC,QAAW,GAAIgB,EAAQ,MAAMtb,CAAK,CAAE,EAAK,CAIp+B,SAAS2a,EAAkBc,EAAKC,IAAkB,MAAPA,GAAeA,EAAMD,EAAIlnB,UAAQmnB,EAAMD,EAAIlnB,QAAQ,IAAK,IAAIigB,EAAI,EAAGmH,EAAO,IAAIlnB,MAAMinB,GAAMlH,EAAIkH,EAAKlH,IAAOmH,EAAKnH,GAAKiH,EAAIjH,GAAM,OAAOmH,CAAM,CAEtL,SAASC,EAAQ9jB,EAAQ+jB,GAAkB,IAAIvb,EAAOrN,OAAOqN,KAAKxI,GAAS,GAAI7E,OAAO6oB,sBAAuB,CAAE,IAAIC,EAAU9oB,OAAO6oB,sBAAsBhkB,GAAa+jB,IAAgBE,EAAUA,EAAQhgB,QAAO,SAAUigB,GAAO,OAAO/oB,OAAOE,yBAAyB2E,EAAQkkB,GAAKC,UAAY,KAAI3b,EAAK3D,KAAKhI,MAAM2L,EAAMyb,EAAU,CAAE,OAAOzb,CAAM,CAEpV,SAAS4b,EAAcC,GAAU,IAAK,IAAI3H,EAAI,EAAGA,EAAIlgB,UAAUC,OAAQigB,IAAK,CAAE,IAAI4H,EAAyB,MAAhB9nB,UAAUkgB,GAAalgB,UAAUkgB,GAAK,CAAC,EAAOA,EAAI,EAAKoH,EAAQ3oB,OAAOmpB,IAAS,GAAM7b,SAAQ,SAAUnN,IAAO,EAAI8mB,EAA0B,SAAGiC,EAAQ/oB,EAAKgpB,EAAOhpB,GAAO,IAAeH,OAAOopB,0BAA6BppB,OAAOqpB,iBAAiBH,EAAQlpB,OAAOopB,0BAA0BD,IAAmBR,EAAQ3oB,OAAOmpB,IAAS7b,SAAQ,SAAUnN,GAAOH,OAAOC,eAAeipB,EAAQ/oB,EAAKH,OAAOE,yBAAyBipB,EAAQhpB,GAAO,GAAM,CAAE,OAAO+oB,CAAQ,CAEtiB,IAAII,EAAgB,CAClBC,SAAS,EACTC,UAAU,EACVC,2BAA4B,EAC5BC,4BAA6B,EAC7BC,2BAA4B,EAC5BC,4BAA6B,GAG3BC,EAAWZ,EAAc,CAAC,EAAGK,GAoCjCjrB,EAAQ0oB,gBA5Bc,WACpB8C,EAAWZ,EAAc,CAAC,EAAGK,EAC/B,EAogBAjrB,EAAQwoB,QAxeM,SAAiBnb,GAC7B,IAAIoe,EAAgBC,EAEhBC,EAAate,EAAK2K,MAClBA,OAAuB,IAAf2T,GAAgCA,EACxCC,EAAgBve,EAAKwe,SACrBA,OAA6B,IAAlBD,EAA2B,GAAKA,EAC3CE,EAAgBze,EAAK0e,SACrBA,OAA6B,IAAlBD,EAA2B,GAAKA,EAC3CznB,GAAQ,EAAIskB,EAAmC,SAAGtb,EAAM,CAAC,QAAS,WAAY,aAC9E2e,EAAO,GACPld,EAAO,GACPoc,GAAgD,QAApCO,EAAiBpnB,EAAM6mB,eAAwC,IAAnBO,EAA4BA,EAAiBD,EAASN,UAAY7mB,EAAM4nB,gCAChId,GAAmD,QAAtCO,EAAkBrnB,EAAM8mB,gBAA0C,IAApBO,EAA6BA,EAAkBF,EAASL,WAAa9mB,EAAM6nB,iCACtIC,EAAY,CAAC,SAAU,aAE3B,GAAIjB,GAAWC,EAAU,CACnB9mB,EAAM4nB,kCACRT,EAASN,SAAU,GAGjB7mB,EAAM6nB,mCACRV,EAASL,UAAW,GAGtB,IACIiB,EADAC,EAAYxD,EAA2BsD,GAG3C,IACE,IAAKE,EAAUjc,MAAOgc,EAAQC,EAAU/C,KAAKK,MAAO,CAClD,IAAI1U,EAAOmX,EAAMnmB,MACjB+lB,EAAK3gB,KAAK,CACR4J,KAAMA,EACNqX,QAAS,GAAG/oB,OAAO2nB,EAAU,UAAY,QAAS,KAAK3nB,OAAO4nB,EAAW,WAAa,WAE1F,CACF,CAAE,MAAOzc,GACP2d,EAAUrlB,EAAE0H,EACd,CAAC,QACC2d,EAAUxC,GACZ,CACF,KAAO,CACL,IACI0C,EADAC,EAAa3D,EAA2BsD,GAG5C,IACE,IAAKK,EAAWpc,MAAOmc,EAASC,EAAWlD,KAAKK,MAAO,CACrD,IAAI8C,EAAQF,EAAOtmB,MACnB+lB,EAAK3gB,KAAK,CACR4J,KAAMwX,EACNH,QAAS,gBAEb,CACF,CAAE,MAAO5d,GACP8d,EAAWxlB,EAAE0H,EACf,CAAC,QACC8d,EAAW3C,GACb,CACF,CA4DA,GA1DIxlB,EAAMqoB,aACRV,EAAK3gB,KAAK,CACR4J,KAAM,cACNqX,QAASjoB,EAAMqoB,cAIfroB,EAAMsoB,iBACR7d,EAAKzD,KAAK,CACRuhB,IAAK,YACLC,MAAOxoB,EAAMsoB,gBAAgBE,MAC7B9f,KAAM1I,EAAMsoB,gBAAgB5f,OAI5B1I,EAAMyoB,oBAAsBzoB,EAAMyoB,mBAAmB7pB,OAAS,GAChEoB,EAAMyoB,mBAAmB7d,SAAQ,SAAU8d,GACzCje,EAAKzD,KAAK,CACRuhB,IAAK,YACL9qB,IAAK,qBAAqByB,OAAOwpB,EAAkBC,UACnDA,SAAUD,EAAkBC,SAC5BjgB,KAAMggB,EAAkBhgB,MAE5B,IAGE1I,EAAM4oB,UACJ5oB,EAAM4oB,QAAQC,UAChBlB,EAAK3gB,KAAK,CACR4J,KAAM,eACNqX,QAASjoB,EAAM4oB,QAAQC,WAIvB7oB,EAAM4oB,QAAQE,MAChBnB,EAAK3gB,KAAK,CACR4J,KAAM,eACNqX,QAASjoB,EAAM4oB,QAAQE,OAIvB9oB,EAAM4oB,QAAQG,QAChBpB,EAAK3gB,KAAK,CACR4J,KAAM,kBACNqX,QAASjoB,EAAM4oB,QAAQG,UAKzB/oB,EAAMgpB,UACJhpB,EAAMgpB,SAASC,OACjBtB,EAAK3gB,KAAK,CACRkiB,SAAU,YACVjB,QAASjoB,EAAMgpB,SAASC,QAK1BjpB,EAAMmpB,UAAW,CACnB,IAAIC,EAAuBC,EAGrBC,EAqMAC,EAAuBC,EAAsBC,EAS7CC,EA/MN,GAAI1pB,EAAMmpB,UAAU5e,KAAOvK,EAAM2pB,UAG/BhC,EAAK3gB,KAAK,CACRkiB,SAAU,SACVjB,QAA0D,QAAhDqB,EAAuBtpB,EAAMmpB,UAAU5e,WAA0C,IAAzB+e,EAAkCA,EAAuBtpB,EAAM2pB,YAIrI,GAAI3pB,EAAMmpB,UAAUriB,KAAM,CACxB,IAAIA,EAAO9G,EAAMmpB,UAAUriB,KAAK+Q,cAMhC,GALA8P,EAAK3gB,KAAK,CACRkiB,SAAU,UACVjB,QAASnhB,IAGE,YAATA,GAAsB9G,EAAMmpB,UAAUS,QACpC5pB,EAAMmpB,UAAUS,QAAQC,WAC1BlC,EAAK3gB,KAAK,CACRkiB,SAAU,qBACVjB,QAASjoB,EAAMmpB,UAAUS,QAAQC,YAIjC7pB,EAAMmpB,UAAUS,QAAQE,UAC1BnC,EAAK3gB,KAAK,CACRkiB,SAAU,oBACVjB,QAASjoB,EAAMmpB,UAAUS,QAAQE,WAIjC9pB,EAAMmpB,UAAUS,QAAQG,UAC1BpC,EAAK3gB,KAAK,CACRkiB,SAAU,mBACVjB,QAASjoB,EAAMmpB,UAAUS,QAAQG,WAIjC/pB,EAAMmpB,UAAUS,QAAQI,QAC1BrC,EAAK3gB,KAAK,CACRkiB,SAAU,iBACVjB,QAASjoB,EAAMmpB,UAAUS,QAAQI,cAGhC,GAAa,SAATljB,GAAmB9G,EAAMmpB,UAAUc,KAAM,CAClD,IAAIC,EAAuBC,GAEoC,QAA1DD,EAAwBlqB,EAAMmpB,UAAUc,KAAKG,eAA+C,IAA1BF,OAAmC,EAASA,EAAsBtrB,SACvIoB,EAAMmpB,UAAUc,KAAKG,QAAQxf,SAAQ,SAAUyf,GAC7C1C,EAAK3gB,KAAK,CACRkiB,SAAU,cACVjB,QAASoC,GAEb,IAGErqB,EAAMmpB,UAAUc,KAAKK,MACvB3C,EAAK3gB,KAAK,CACRkiB,SAAU,YACVjB,QAASjoB,EAAMmpB,UAAUc,KAAKK,OAI9BtqB,EAAMmpB,UAAUc,KAAKM,aACvB5C,EAAK3gB,KAAK,CACRkiB,SAAU,oBACVjB,QAASjoB,EAAMmpB,UAAUc,KAAKM,eAI2B,QAAxDJ,EAAyBnqB,EAAMmpB,UAAUc,KAAKO,YAA6C,IAA3BL,OAAoC,EAASA,EAAuBvrB,SACvIoB,EAAMmpB,UAAUc,KAAKO,KAAK5f,SAAQ,SAAU6f,GAC1C9C,EAAK3gB,KAAK,CACRkiB,SAAU,WACVjB,QAASwC,GAEb,GAEJ,MAAO,GAAa,YAAT3jB,GAAsB9G,EAAMmpB,UAAUuB,QAAS,CACxD,IAAIC,EAAuBC,EAEvB5qB,EAAMmpB,UAAUuB,QAAQG,eAC1BlD,EAAK3gB,KAAK,CACRkiB,SAAU,yBACVjB,QAASjoB,EAAMmpB,UAAUuB,QAAQG,gBAIjC7qB,EAAMmpB,UAAUuB,QAAQI,cAC1BnD,EAAK3gB,KAAK,CACRkiB,SAAU,wBACVjB,QAASjoB,EAAMmpB,UAAUuB,QAAQI,eAIjC9qB,EAAMmpB,UAAUuB,QAAQK,gBAC1BpD,EAAK3gB,KAAK,CACRkiB,SAAU,0BACVjB,QAASjoB,EAAMmpB,UAAUuB,QAAQK,kBAI6B,QAA7DJ,EAAwB3qB,EAAMmpB,UAAUuB,QAAQN,eAA+C,IAA1BO,OAAmC,EAASA,EAAsB/rB,SAC1IoB,EAAMmpB,UAAUuB,QAAQN,QAAQxf,SAAQ,SAAUyf,GAChD1C,EAAK3gB,KAAK,CACRkiB,SAAU,iBACVjB,QAASoC,GAEb,IAGErqB,EAAMmpB,UAAUuB,QAAQM,SAC1BrD,EAAK3gB,KAAK,CACRkiB,SAAU,kBACVjB,QAASjoB,EAAMmpB,UAAUuB,QAAQM,WAI2B,QAA3DJ,EAAyB5qB,EAAMmpB,UAAUuB,QAAQF,YAA6C,IAA3BI,OAAoC,EAASA,EAAuBhsB,SAC1IoB,EAAMmpB,UAAUuB,QAAQF,KAAK5f,SAAQ,SAAU6f,GAC7C9C,EAAK3gB,KAAK,CACRkiB,SAAU,cACVjB,QAASwC,GAEb,GAEJ,MAAO,IAAc,gBAAT3jB,GAAmC,kBAATA,GAAqC,kBAATA,GAAqC,gBAATA,IAA2B9G,EAAMmpB,UAAU8B,MAAO,CAC9I,IAAIC,EAAuBC,EAAwBC,EAAwBC,GAEZ,QAA1DH,EAAwBlrB,EAAMmpB,UAAU8B,MAAMK,cAA8C,IAA1BJ,OAAmC,EAASA,EAAsBtsB,SACvIoB,EAAMmpB,UAAU8B,MAAMK,OAAO1gB,SAAQ,SAAU2gB,GACzCA,EAAM3B,SACRjC,EAAK3gB,KAAK,CACRkiB,SAAU,cACVjB,QAASsD,EAAM3B,UAIf2B,EAAMC,MACR7D,EAAK3gB,KAAK,CACRkiB,SAAU,mBACVjB,QAASsD,EAAMC,MAGrB,KAGiE,QAA9DL,EAAyBnrB,EAAMmpB,UAAU8B,MAAMQ,iBAAkD,IAA3BN,OAAoC,EAASA,EAAuBvsB,SAC7IoB,EAAMmpB,UAAU8B,MAAMQ,UAAU7gB,SAAQ,SAAU8gB,GAChD/D,EAAK3gB,KAAK,CACRkiB,SAAU,iBACVjB,QAASyD,GAEb,KAG+D,QAA5DN,EAAyBprB,EAAMmpB,UAAU8B,MAAMU,eAAgD,IAA3BP,OAAoC,EAASA,EAAuBxsB,SAC3IoB,EAAMmpB,UAAU8B,MAAMU,QAAQ/gB,SAAQ,SAAUghB,GAC9CjE,EAAK3gB,KAAK,CACRkiB,SAAU,eACVjB,QAAS2D,GAEb,IAGE5rB,EAAMmpB,UAAU8B,MAAMY,UACxBlE,EAAK3gB,KAAK,CACRkiB,SAAU,iBACVjB,QAASjoB,EAAMmpB,UAAU8B,MAAMY,SAAS3G,aAIxCllB,EAAMmpB,UAAU8B,MAAMV,aACxB5C,EAAK3gB,KAAK,CACRkiB,SAAU,qBACVjB,QAASjoB,EAAMmpB,UAAU8B,MAAMV,eAI2B,QAAzDc,EAAyBrrB,EAAMmpB,UAAU8B,MAAMT,YAA6C,IAA3Ba,OAAoC,EAASA,EAAuBzsB,SACxIoB,EAAMmpB,UAAU8B,MAAMT,KAAK5f,SAAQ,SAAU6f,GAC3C9C,EAAK3gB,KAAK,CACRkiB,SAAU,YACVjB,QAASwC,GAEb,IAGEzqB,EAAMmpB,UAAU8B,MAAMa,QACxBnE,EAAK3gB,KAAK,CACRkiB,SAAU,eACVjB,QAASjoB,EAAMmpB,UAAU8B,MAAMa,QAGrC,CACF,CAEA,GAAI9rB,EAAMmpB,UAAUrL,OAAS9d,EAAM8d,MAGjC6J,EAAK3gB,KAAK,CACRkiB,SAAU,WACVjB,QAA6D,QAAnDsB,EAAwBvpB,EAAMmpB,UAAUrL,aAA6C,IAA1ByL,EAAmCA,GAA0E,QAAhDC,EAAuBxpB,EAAM+rB,qBAAoD,IAAzBvC,EAAkCA,EAAuB,IAAI/Z,QAAQ,KAAuC,QAAhCga,EAAezpB,EAAM8d,aAAoC,IAAjB2L,EAA0BA,EAAe,MAI3V,GAAIzpB,EAAMmpB,UAAUd,aAAeroB,EAAMqoB,YAGvCV,EAAK3gB,KAAK,CACRkiB,SAAU,iBACVjB,QAAmE,QAAzDyB,EAAwB1pB,EAAMmpB,UAAUd,mBAAmD,IAA1BqB,EAAmCA,EAAwB1pB,EAAMqoB,cAK5IroB,EAAM+mB,6BACRI,EAASJ,2BAA6B/mB,EAAM+mB,4BAG1C/mB,EAAMgnB,8BACRG,EAASH,4BAA8BhnB,EAAMgnB,8BAGU,QAApDoC,EAAwBppB,EAAMmpB,UAAU6C,cAA8C,IAA1B5C,OAAmC,EAASA,EAAsBxqB,SACjIoB,EAAMmpB,UAAU6C,OAAOphB,SAAQ,SAAUqhB,GACvCtE,EAAK3gB,KAAK,CACRkiB,SAAU,WACVjB,QAASgE,EAAM1hB,MAGb0hB,EAAMC,KACRvE,EAAK3gB,KAAK,CACRkiB,SAAU,eACVjB,QAASgE,EAAMC,MAIfD,EAAMtQ,MACRgM,EAAK3gB,KAAK,CACRkiB,SAAU,iBACVjB,QAASgE,EAAMtQ,MAAMuJ,aAEdiC,EAASJ,4BAClBY,EAAK3gB,KAAK,CACRkiB,SAAU,iBACVjB,QAASd,EAASJ,2BAA2B7B,aAI7C+G,EAAMrQ,OACR+L,EAAK3gB,KAAK,CACRkiB,SAAU,kBACVjB,QAASgE,EAAMrQ,OAAOsJ,aAEfiC,EAASH,6BAClBW,EAAK3gB,KAAK,CACRkiB,SAAU,kBACVjB,QAASd,EAASH,4BAA4B9B,YAGpD,IAIEllB,EAAMinB,6BACRE,EAASF,2BAA6BjnB,EAAMinB,4BAG1CjnB,EAAMknB,8BACRC,EAASD,4BAA8BlnB,EAAMknB,8BAGW,QAArDmC,EAAyBrpB,EAAMmpB,UAAUgD,cAA+C,IAA3B9C,OAAoC,EAASA,EAAuBzqB,SACpIoB,EAAMmpB,UAAUgD,OAAOvhB,SAAQ,SAAUqgB,GACvCtD,EAAK3gB,KAAK,CACRkiB,SAAU,WACVjB,QAASgD,EAAM1gB,MAGb0gB,EAAMiB,KACRvE,EAAK3gB,KAAK,CACRkiB,SAAU,eACVjB,QAASgD,EAAMiB,MAIfjB,EAAMtP,MACRgM,EAAK3gB,KAAK,CACRkiB,SAAU,iBACVjB,QAASgD,EAAMtP,MAAMuJ,aAEdiC,EAASF,4BAClBU,EAAK3gB,KAAK,CACRkiB,SAAU,iBACVjB,QAASd,EAASF,2BAA2B/B,aAI7C+F,EAAMrP,OACR+L,EAAK3gB,KAAK,CACRkiB,SAAU,kBACVjB,QAASgD,EAAMrP,OAAOsJ,aAEfiC,EAASD,6BAClBS,EAAK3gB,KAAK,CACRkiB,SAAU,kBACVjB,QAASd,EAASD,4BAA4BhC,YAGpD,IAGEllB,EAAMmpB,UAAUiD,QAClBzE,EAAK3gB,KAAK,CACRkiB,SAAU,YACVjB,QAASjoB,EAAMmpB,UAAUiD,SAIzBpsB,EAAMmpB,UAAUkD,WAClB1E,EAAK3gB,KAAK,CACRkiB,SAAU,eACVjB,QAASjoB,EAAMmpB,UAAUkD,WAG/B,CAEIrsB,EAAM2pB,WACRlf,EAAKzD,KAAK,CACRuhB,IAAK,YACL7f,KAAM1I,EAAM2pB,UACZlsB,IAAK,cAIT+pB,EAAS5c,SAAQ,SAAU6f,GACzB9C,EAAK3gB,KAAKyjB,EACZ,IACA/C,EAAS9c,SAAQ,SAAU6f,GACzBhgB,EAAKzD,KAAKyjB,EACZ,IACA,IAAI6B,EAAiBtsB,EAAMusB,SAAWhG,EAAc,CAClDiG,KAAMxsB,EAAMusB,UACXvsB,EAAMssB,gBAAkB/F,EAAc,CAAC,EAAGvmB,EAAMssB,gBAC/CG,EAAc,CAChB9E,KAAMA,EACNld,KAAMA,EACNkJ,MAAOA,EACP2Y,eAAgBA,GAelB,OAZItsB,EAAM8d,QACR2O,EAAmB,MAAIzsB,EAAM8d,OAG3B9d,EAAM+rB,gBACRU,EAA2B,cAAIzsB,EAAM+rB,eAGnC/rB,EAAM0sB,OACRD,EAAkB,KAAIzsB,EAAM0sB,MAGVrpB,EAAgB,QAAE3B,cAAc2B,EAAgB,QAAE6gB,SAAU,KAAmB7gB,EAAgB,QAAE3B,cAAcsiB,EAAkB2I,OAAQF,GAC/J,kCChgBAnnB,EAAO3J,QA5BS,SAASixB,EAAWC,EAAQje,EAAGgQ,EAAGkO,EAAGC,EAAGpqB,EAAG6iB,GAOzD,IAAKoH,EAAW,CACd,IAAI7c,EACJ,QAAe3O,IAAXyrB,EACF9c,EAAQ,IAAIrE,MACV,qIAGG,CACL,IAAI7M,EAAO,CAAC+P,EAAGgQ,EAAGkO,EAAGC,EAAGpqB,EAAG6iB,GACvBwH,EAAW,GACfjd,EAAQ,IAAIrE,MACVmhB,EAAOpd,QAAQ,OAAO,WAAa,OAAO5Q,EAAKmuB,IAAa,MAExDpc,KAAO,qBACf,CAGA,MADAb,EAAMkd,YAAc,EACdld,CACR,CACF,qBC5CA,IAAImd,EAAoC,oBAAZC,QACxBC,EAAwB,mBAARvlB,IAChBwlB,EAAwB,mBAARlf,IAChBmf,EAAwC,mBAAhBC,eAAgCA,YAAYC,OAIxE,SAASC,EAAM7e,EAAGgQ,GAEhB,GAAIhQ,IAAMgQ,EAAG,OAAO,EAEpB,GAAIhQ,GAAKgQ,GAAiB,iBAALhQ,GAA6B,iBAALgQ,EAAe,CAC1D,GAAIhQ,EAAEuW,cAAgBvG,EAAEuG,YAAa,OAAO,EAE5C,IAAIvmB,EAAQigB,EAAGlU,EA6BXga,EA5BJ,GAAI7lB,MAAMgmB,QAAQlW,GAAI,CAEpB,IADAhQ,EAASgQ,EAAEhQ,SACGggB,EAAEhgB,OAAQ,OAAO,EAC/B,IAAKigB,EAAIjgB,EAAgB,GAARigB,KACf,IAAK4O,EAAM7e,EAAEiQ,GAAID,EAAEC,IAAK,OAAO,EACjC,OAAO,CACT,CAuBA,GAAIuO,GAAWxe,aAAa/G,KAAS+W,aAAa/W,IAAM,CACtD,GAAI+G,EAAE8e,OAAS9O,EAAE8O,KAAM,OAAO,EAE9B,IADA/I,EAAK/V,EAAEsK,YACE2F,EAAI8F,EAAGpe,QAAQ+e,UACjB1G,EAAE1hB,IAAI2hB,EAAEjd,MAAM,IAAK,OAAO,EAEjC,IADA+iB,EAAK/V,EAAEsK,YACE2F,EAAI8F,EAAGpe,QAAQ+e,UACjBmI,EAAM5O,EAAEjd,MAAM,GAAIgd,EAAEzhB,IAAI0hB,EAAEjd,MAAM,KAAM,OAAO,EACpD,OAAO,CACT,CAEA,GAAIyrB,GAAWze,aAAaT,KAASyQ,aAAazQ,IAAM,CACtD,GAAIS,EAAE8e,OAAS9O,EAAE8O,KAAM,OAAO,EAE9B,IADA/I,EAAK/V,EAAEsK,YACE2F,EAAI8F,EAAGpe,QAAQ+e,UACjB1G,EAAE1hB,IAAI2hB,EAAEjd,MAAM,IAAK,OAAO,EACjC,OAAO,CACT,CAGA,GAAI0rB,GAAkBC,YAAYC,OAAO5e,IAAM2e,YAAYC,OAAO5O,GAAI,CAEpE,IADAhgB,EAASgQ,EAAEhQ,SACGggB,EAAEhgB,OAAQ,OAAO,EAC/B,IAAKigB,EAAIjgB,EAAgB,GAARigB,KACf,GAAIjQ,EAAEiQ,KAAOD,EAAEC,GAAI,OAAO,EAC5B,OAAO,CACT,CAEA,GAAIjQ,EAAEuW,cAAgBwI,OAAQ,OAAO/e,EAAE6X,SAAW7H,EAAE6H,QAAU7X,EAAEgf,QAAUhP,EAAEgP,MAK5E,GAAIhf,EAAEif,UAAYvwB,OAAOI,UAAUmwB,SAAgC,mBAAdjf,EAAEif,SAA+C,mBAAdjP,EAAEiP,QAAwB,OAAOjf,EAAEif,YAAcjP,EAAEiP,UAC3I,GAAIjf,EAAEsW,WAAa5nB,OAAOI,UAAUwnB,UAAkC,mBAAftW,EAAEsW,UAAiD,mBAAftG,EAAEsG,SAAyB,OAAOtW,EAAEsW,aAAetG,EAAEsG,WAKhJ,IADAtmB,GADA+L,EAAOrN,OAAOqN,KAAKiE,IACLhQ,UACCtB,OAAOqN,KAAKiU,GAAGhgB,OAAQ,OAAO,EAE7C,IAAKigB,EAAIjgB,EAAgB,GAARigB,KACf,IAAKvhB,OAAOI,UAAUC,eAAeC,KAAKghB,EAAGjU,EAAKkU,IAAK,OAAO,EAKhE,GAAIqO,GAAkBte,aAAaue,QAAS,OAAO,EAGnD,IAAKtO,EAAIjgB,EAAgB,GAARigB,KACf,IAAiB,WAAZlU,EAAKkU,IAA+B,QAAZlU,EAAKkU,IAA4B,QAAZlU,EAAKkU,KAAiBjQ,EAAEkf,YAarEL,EAAM7e,EAAEjE,EAAKkU,IAAKD,EAAEjU,EAAKkU,KAAM,OAAO,EAK7C,OAAO,CACT,CAEA,OAAOjQ,GAAMA,GAAKgQ,GAAMA,CAC1B,CAGAtZ,EAAO3J,QAAU,SAAiBiT,EAAGgQ,GACnC,IACE,OAAO6O,EAAM7e,EAAGgQ,EAClB,CAAE,MAAO7O,GACP,IAAMA,EAAMwR,SAAW,IAAIL,MAAM,oBAO/B,OADA6M,QAAQC,KAAK,mDACN,EAGT,MAAMje,CACR,CACF,gOC9HIke,EAA4B,CAAEC,IAChCA,EAAiB,KAAI,OACrBA,EAAiB,KAAI,OACrBA,EAAiB,KAAI,OACrBA,EAAiB,KAAI,OACrBA,EAAiB,KAAI,OACrBA,EAAiB,KAAI,OACrBA,EAAqB,SAAI,WACzBA,EAAmB,OAAI,SACvBA,EAAkB,MAAI,QACtBA,EAAkB,MAAI,QACtBA,EAAqB,SAAI,yBAClBA,GAZuB,CAa7BD,GAAa,CAAC,GACbE,EACI,CAAE5F,IAAK,CAAC,UAAW,YAAa,cADpC4F,EAEM,CAAErnB,KAAM,CAAC,wBAFfqnB,EAGI,CACJC,QAAS,GACTxd,KAAM,CAAC,YAAa,SAAU,eAC9BsY,SAAU,CACR,UACA,WACA,SACA,WACA,eACA,iBACA,cACA,gBACA,sBACA,gBACA,oBACA,eACA,iBAIFmF,EAAkB/wB,OAAOoT,OAAOud,GAChCK,EAAgB,CAClBC,UAAW,YACXH,QAAS,UACTI,MAAO,YACPC,gBAAiB,kBACjBC,YAAa,cACb,aAAc,YACdC,SAAU,WACVC,SAAU,YAERC,EAAevxB,OAAO4b,QAAQoV,GAAejoB,QAC/C,CAACyoB,GAAQrxB,EAAKmE,MACZktB,EAAMltB,GAASnE,EACRqxB,IAET,CAAC,GAECC,EAAmB,UAGnBC,EACa,eADbA,EAEK,QAFLA,EAGyB,0BAHzBA,EAIsB,sBAJtBA,EAKc,gBALdA,EAMmB,oBAEnBC,EAAuB,CAACC,EAAWhG,KACrC,IAAK,IAAIrK,EAAIqQ,EAAUtwB,OAAS,EAAGigB,GAAK,EAAGA,GAAK,EAAG,CACjD,MAAM7e,EAAQkvB,EAAUrQ,GACxB,GAAIvhB,OAAOI,UAAUC,eAAeC,KAAKoC,EAAOkpB,GAC9C,OAAOlpB,EAAMkpB,EAEjB,CACA,OAAO,IAAI,EAETiG,EAAyBD,IAC3B,IAAIE,EAAiBH,EAAqBC,EAAW,SACrD,MAAMG,EAAoBJ,EAAqBC,EAAWF,GAI1D,GAHIlwB,MAAMgmB,QAAQsK,KAChBA,EAAiBA,EAAeE,KAAK,KAEnCD,GAAqBD,EACvB,OAAOC,EAAkB5f,QAAQ,OAAO,IAAM2f,IAEhD,MAAMG,EAAwBN,EAAqBC,EAAWF,GAC9D,OAAOI,GAAkBG,QAAyB,CAAM,EAEtDC,EAA0BN,GAAcD,EAAqBC,EAAWF,IAAwC,MACnH,GACGS,EAA6B,CAACC,EAASR,IAAcA,EAAU9oB,QAAQpG,QAAoC,IAAnBA,EAAM0vB,KAA0BxpB,KAAKlG,GAAUA,EAAM0vB,KAAUrpB,QAAO,CAACspB,EAAUjsB,KAAY,IAAMisB,KAAajsB,KAAY,CAAC,GACrNksB,EAA0B,CAACC,EAAmBX,IAAcA,EAAU9oB,QAAQpG,QAA8C,IAA7BA,EAAuB,OAAmBkG,KAAKlG,GAAUA,EAAuB,OAAG8vB,UAAUzpB,QAAO,CAAC0pB,EAAkBtF,KACxN,IAAKsF,EAAiBnxB,OAAQ,CAC5B,MAAM+L,EAAOrN,OAAOqN,KAAK8f,GACzB,IAAK,IAAI5L,EAAI,EAAGA,EAAIlU,EAAK/L,OAAQigB,GAAK,EAAG,CACvC,MACMmR,EADerlB,EAAKkU,GACiBhH,cAC3C,IAA0D,IAAtDgY,EAAkB1oB,QAAQ6oB,IAAiCvF,EAAIuF,GACjE,OAAOD,EAAiB7wB,OAAOurB,EAEnC,CACF,CACA,OAAOsF,CAAgB,GACtB,IAECE,EAAuB,CAACC,EAASL,EAAmBX,KACtD,MAAMiB,EAAmB,CAAC,EAC1B,OAAOjB,EAAU9oB,QAAQpG,IACvB,QAAIlB,MAAMgmB,QAAQ9kB,EAAMkwB,WAGM,IAAnBlwB,EAAMkwB,KAPTE,EASJ,WAAWF,2DAAiElwB,EAAMkwB,MATtEnC,SAAmC,mBAAjBA,QAAQC,MAAuBD,QAAQC,KAAKoC,KAYvE,GAZA,IAACA,CAYI,IACXlqB,KAAKlG,GAAUA,EAAMkwB,KAAUJ,UAAUzpB,QAAO,CAACgqB,EAAcC,KAChE,MAAMC,EAAmB,CAAC,EAC1BD,EAAalqB,QAAQqkB,IACnB,IAAI+F,EACJ,MAAMC,EAAQnzB,OAAOqN,KAAK8f,GAC1B,IAAK,IAAI5L,EAAI,EAAGA,EAAI4R,EAAM7xB,OAAQigB,GAAK,EAAG,CACxC,MAAM6R,EAAeD,EAAM5R,GACrBmR,EAAwBU,EAAa7Y,eACe,IAAtDgY,EAAkB1oB,QAAQ6oB,IAA2D,QAAxBQ,GAAsF,cAA3C/F,EAAI+F,GAAqB3Y,eAA8D,QAA1BmY,GAA0F,eAA7CvF,EAAIuF,GAAuBnY,gBAC/O2Y,EAAsBR,IAEyB,IAA7CH,EAAkB1oB,QAAQupB,IAA0C,cAAjBA,GAAkE,YAAjBA,GAA8D,aAAjBA,IACnJF,EAAsBE,EAE1B,CACA,IAAKF,IAAwB/F,EAAI+F,GAC/B,OAAO,EAET,MAAM5uB,EAAQ6oB,EAAI+F,GAAqB3Y,cAOvC,OANKsY,EAAiBK,KACpBL,EAAiBK,GAAuB,CAAC,GAEtCD,EAAiBC,KACpBD,EAAiBC,GAAuB,CAAC,IAEtCL,EAAiBK,GAAqB5uB,KACzC2uB,EAAiBC,GAAqB5uB,IAAS,GACxC,EAEG,IACXkuB,UAAUllB,SAAS6f,GAAQ4F,EAAarpB,KAAKyjB,KAChD,MAAM9f,EAAOrN,OAAOqN,KAAK4lB,GACzB,IAAK,IAAI1R,EAAI,EAAGA,EAAIlU,EAAK/L,OAAQigB,GAAK,EAAG,CACvC,MAAM6R,EAAe/lB,EAAKkU,GACpB8R,EAAW,IACZR,EAAiBO,MACjBH,EAAiBG,IAEtBP,EAAiBO,GAAgBC,CACnC,CACA,OAAON,CAAY,GAClB,IAAIP,SAAS,EAEdc,EAA0B,CAAC1B,EAAW2B,KACxC,GAAI/xB,MAAMgmB,QAAQoK,IAAcA,EAAUtwB,OACxC,IAAK,IAAIoV,EAAQ,EAAGA,EAAQkb,EAAUtwB,OAAQoV,GAAS,EAAG,CAExD,GADakb,EAAUlb,GACd6c,GACP,OAAO,CAEX,CAEF,OAAO,CAAK,EAoCVC,EAAgBC,GAAkBjyB,MAAMgmB,QAAQiM,GAAiBA,EAAczB,KAAK,IAAMyB,EAU1FC,EAAc,CAACC,EAAcC,IAC3BpyB,MAAMgmB,QAAQmM,GACTA,EAAa5qB,QAClB,CAAC8qB,EAAKC,KAZY,EAACpxB,EAAOqxB,KAC9B,MAAM1mB,EAAOrN,OAAOqN,KAAK3K,GACzB,IAAK,IAAI6e,EAAI,EAAGA,EAAIlU,EAAK/L,OAAQigB,GAAK,EACpC,GAAIwS,EAAQ1mB,EAAKkU,KAAOwS,EAAQ1mB,EAAKkU,IAAI1P,SAASnP,EAAM2K,EAAKkU,KAC3D,OAAO,EAGX,OAAO,CAAK,EAMFyS,CAAkBF,EAAcF,GAClCC,EAAII,SAASvqB,KAAKoqB,GAElBD,EAAIp0B,QAAQiK,KAAKoqB,GAEZD,IAET,CAAEI,SAAU,GAAIx0B,QAAS,KAGtB,CAAEA,QAASk0B,EAAcM,SAAU,IAExCC,EAAU,CAAC30B,EAAKY,KACX,IACFZ,EACH,CAACY,QAAM,IAKPg0B,EAAoB,CAAC,WAA2B,SAAuB,SACvEC,EAA0B,CAAChO,EAAKpR,GAAS,KAC5B,IAAXA,EACKqf,OAAOjO,GAETiO,OAAOjO,GAAKjU,QAAQ,KAAM,SAASA,QAAQ,KAAM,QAAQA,QAAQ,KAAM,QAAQA,QAAQ,KAAM,UAAUA,QAAQ,KAAM,UAE1HmiB,EAAqC7Z,GAAeza,OAAOqN,KAAKoN,GAAY1R,QAAO,CAACqd,EAAKjmB,KAC3F,MAAMkb,OAAkC,IAApBZ,EAAWta,GAAuB,GAAGA,MAAQsa,EAAWta,MAAU,GAAGA,IACzF,OAAOimB,EAAM,GAAGA,KAAO/K,IAASA,CAAI,GACnC,IAwBCkZ,EAAuC,CAAC9Z,EAAY+Z,EAAY,CAAC,IAAMx0B,OAAOqN,KAAKoN,GAAY1R,QAAO,CAACxJ,EAAKY,KAE9GZ,EADeyxB,EAAc7wB,IACfA,GAAOsa,EAAWta,GACzBZ,IACNi1B,GASCC,EAA+B,CAACjrB,EAAM0jB,IAASA,EAAKtkB,KAAI,CAACukB,EAAK5L,KAChE,MAAMmT,EAAY,CAChBv0B,IAAKohB,EACL,CAACkQ,IAAmB,GAYtB,OAVAzxB,OAAOqN,KAAK8f,GAAK7f,SAASsN,IACxB,MACM+Z,EADS3D,EAAcpW,IACKA,EAClC,GAAwB,cAApB+Z,GAAwE,YAApBA,EAA8C,CACpG,MAAMhK,EAAUwC,EAAI5lB,WAAa4lB,EAAIyH,QACrCF,EAAUG,wBAA0B,CAAEC,OAAQnK,EAChD,MACE+J,EAAUC,GAAmBxH,EAAIvS,EACnC,IAEK,gBAAoBpR,EAAMkrB,EAAU,IAEzCK,EAAmB,CAACvrB,EAAM0jB,EAAMlY,GAAS,KAC3C,OAAQxL,GACN,IAAK,QACH,MAAO,CACLwrB,YAAa,IA7Be,EAACC,EAAOzU,EAAO/F,KACjD,MAIM/X,EAAQ6xB,EAAqC9Z,EAJjC,CAChBta,IAAKqgB,EACL,CAACiR,IAAmB,IAGtB,MAAO,CAAC,gBAAoB,QAAqB/uB,EAAO8d,GAAO,EAuBtC0U,CAA8B1rB,EAAM0jB,EAAK1M,MAAO0M,EAAKiI,iBACxEvN,SAAU,IA1DU,EAACpe,EAAMgX,EAAO/F,EAAYzF,KACpD,MAAMogB,EAAkBd,EAAkC7Z,GACpD4a,EAAiB7B,EAAahT,GACpC,OAAO4U,EAAkB,IAAI5rB,KAAQioB,YAA2B2D,KAAmBhB,EACjFiB,EACArgB,OACIxL,KAAU,IAAIA,KAAQioB,YAA2B2C,EACrDiB,EACArgB,OACIxL,IAAO,EAiDS8rB,CAAsB9rB,EAAM0jB,EAAK1M,MAAO0M,EAAKiI,gBAAiBngB,IAElF,IAAK,iBACL,IAAK,iBACH,MAAO,CACLggB,YAAa,IAAMT,EAAqCrH,GACxDtF,SAAU,IAAM0M,EAAkCpH,IAEtD,QACE,MAAO,CACL8H,YAAa,IAAMP,EAA6BjrB,EAAM0jB,GACtDtF,SAAU,IA1DS,EAACpe,EAAM0jB,EAAMlY,GAAS,IAASkY,EAAKnkB,QAAO,CAACqd,EAAKmP,KAC1E,MAAMpI,EAAMoI,EACNC,EAAgBx1B,OAAOqN,KAAK8f,GAAKrkB,QACpC8R,KAA8B,cAAdA,GAA4D,YAAdA,KAC/D7R,QAAO,CAAC0sB,EAAQ7a,KAChB,MAAMS,OAAiC,IAAnB8R,EAAIvS,GAA6BA,EAAY,GAAGA,MAAcwZ,EAAwBjH,EAAIvS,GAAY5F,MAC1H,OAAOygB,EAAS,GAAGA,KAAUpa,IAASA,CAAI,GACzC,IACGqa,EAAavI,EAAI5lB,WAAa4lB,EAAIyH,SAAW,GAC7Ce,GAAqD,IAArCxB,EAAkBtqB,QAAQL,GAChD,MAAO,GAAG4c,KAAO5c,KAAQioB,YAA2B+D,IAAgBG,EAAgB,KAAO,IAAID,MAAelsB,MAAS,GACtH,IA+CqBosB,CAAqBpsB,EAAM0jB,EAAMlY,IAEvD,EA8DE6gB,EAlCoBnzB,IACtB,MAAM,QACJozB,EAAO,eACPC,EAAc,OACd/gB,GAAS,EAAI,eACbga,EAAc,aACdgH,EAAY,UACZC,EAAS,MACTzV,EAAQ,GAAE,gBACV2U,EAAe,kBACfe,GACExzB,EACJ,IAAI,SAAE0nB,EAAQ,SAAEF,EAAQ,WAAEiM,GAAezzB,EACrC0zB,EAAkB,CACpBpB,YAAa,OAEbpN,SAAU,IAAM,IAKlB,OAHIsO,KACCE,kBAAiBhM,WAAUF,WAAUiM,cA7CnB,GAAGjM,WAAUE,WAAU+L,aAAYnhB,aAC1D,MAAMqV,EAAOqJ,EAAYxJ,EAAU2G,GAC7B1jB,EAAOumB,EAAYtJ,EAAUyG,GAC7BlqB,EAAS+sB,EAAYyC,EAAYtF,GAgBvC,MAAO,CACLuF,gBAhBsB,CACtBpB,YAAa,IAAM,IACdP,EAA6B,OAAmBpK,EAAK4J,aACrDQ,EAA6B,OAAmBtnB,EAAK8mB,aACrDQ,EAA6B,SAAuB9tB,EAAOstB,WAEhErM,SAAU,IAAM,GAEXmN,EAAiB,OAAmB1K,EAAK4J,SAAUjf,MAAW+f,EAC/D,OACA5nB,EAAK8mB,SACLjf,MACG+f,EAAiB,SAAuBpuB,EAAOstB,SAAUjf,MAKhEkV,SAAUG,EAAK5qB,QACf2qB,SAAUjd,EAAK1N,QACf02B,WAAYxvB,EAAOlH,QACpB,EAqBwD42B,CAAmB3zB,IAErE,CACLuxB,SAAUmC,EACVhH,KAAM2F,EAAiB,OAAmBe,EAAS9gB,GACnD+gB,eAAgBhB,EAAiB,iBAA6BgB,EAAgB/gB,GAC9Ega,eAAgB+F,EAAiB,iBAA6B/F,EAAgBha,GAC9E7H,KAAM4nB,EAAiB,OAAmB3K,EAAUpV,GACpDqV,KAAM0K,EAAiB,OAAmB7K,EAAUlV,GACpDshB,SAAUvB,EAAiB,WAA2BiB,EAAchhB,GACpErO,OAAQouB,EAAiB,SAAuBoB,EAAYnhB,GAC5D+F,MAAOga,EAAiB,QAAqBkB,EAAWjhB,GACxDwL,MAAOuU,EAAiB,QAAqB,CAAEvU,QAAO2U,mBAAmBngB,GAC1E,EAKCuhB,EAAY,GACZC,IAAkC,oBAAXv0B,SAA0BA,OAAOc,WAAYd,OAAOc,SAASqB,eACpFqyB,EAAa,MACfF,UAAY,GACZG,UAAYF,EACZG,QACAryB,MAAQ,CACNsyB,UAAYC,IACVl1B,KAAKg1B,QAAQG,OAASD,CAAW,EAEnCE,gBAAiB,CACfl3B,IAAK,IAAM8B,KAAK+0B,UAAYH,EAAY50B,KAAK40B,UAC7Clf,IAAMa,KACHvW,KAAK+0B,UAAYH,EAAY50B,KAAK40B,WAAW7sB,KAAKwO,EAAS,EAE9DjR,OAASiR,IACP,MAAMxB,GAAS/U,KAAK+0B,UAAYH,EAAY50B,KAAK40B,WAAW1sB,QAAQqO,IACnEvW,KAAK+0B,UAAYH,EAAY50B,KAAK40B,WAAW3sB,OAAO8M,EAAO,EAAE,IAIpE,WAAAmR,CAAY8O,EAASD,GACnB/0B,KAAKg1B,QAAUA,EACfh1B,KAAK+0B,UAAYA,IAAa,EACzBA,IACHC,EAAQG,OAASjB,EAAe,CAC9BC,QAAS,GACTC,eAAgB,CAAC,EACjB3B,yBAAyB,EACzBpF,eAAgB,CAAC,EACjB5E,SAAU,GACVF,SAAU,GACV8L,aAAc,GACdG,WAAY,GACZF,UAAW,GACXzV,MAAO,GACP2U,gBAAiB,CAAC,IAGxB,GAKE6B,EAAU,gBADK,CAAC,GAEhBlQ,EAAiB,MAAMmQ,UAAwB,EAAAzyB,UACjD0yB,iBAAmBV,EACnBW,WACA,WAAAtP,CAAYnlB,GACV00B,MAAM10B,GACNf,KAAKw1B,WAAa,IAAIV,EAAW90B,KAAKe,MAAMi0B,SAAW,CAAC,EAAGM,EAAgBP,UAC7E,CACA,MAAAvyB,GACE,OAAuB,gBAAqB6yB,EAAQ3yB,SAAU,CAAEC,MAAO3C,KAAKw1B,WAAW7yB,OAAS3C,KAAKe,MAAM6B,SAC7G,GAQE8yB,EAAa,CAAC7tB,EAAM0jB,KACtB,MAAMoK,EAAcv0B,SAAS2E,MAAQ3E,SAASgE,cAAc,QACtDwwB,EAAWD,EAAYpb,iBAAiB,GAAG1S,KAAQioB,MACnD+F,EAAU,GAAG34B,MAAMyB,KAAKi3B,GACxBE,EAAU,GAChB,IAAIC,EAkCJ,OAjCIxK,GAAQA,EAAK5rB,QACf4rB,EAAK5f,SAAS6f,IACZ,MAAMwK,EAAa50B,SAASqB,cAAcoF,GAC1C,IAAK,MAAMoR,KAAauS,EACtB,GAAIntB,OAAOI,UAAUC,eAAeC,KAAK6sB,EAAKvS,GAC5C,GAAkB,cAAdA,EACF+c,EAAWpwB,UAAY4lB,EAAI5lB,eACtB,GAAkB,YAAdqT,EACL+c,EAAWC,WACbD,EAAWC,WAAWhD,QAAUzH,EAAIyH,QAEpC+C,EAAWhwB,YAAY5E,SAAS80B,eAAe1K,EAAIyH,cAEhD,CACL,MAAMvZ,EAAOT,EACPtW,OAA6B,IAAd6oB,EAAI9R,GAAwB,GAAK8R,EAAI9R,GAC1Dsc,EAAWvqB,aAAawN,EAAWtW,EACrC,CAGJqzB,EAAWvqB,aAAaqkB,EAAkB,QACtC+F,EAAQnmB,MAAK,CAACymB,EAAaphB,KAC7BghB,EAAgBhhB,EACTihB,EAAWve,YAAY0e,MAE9BN,EAAQ5tB,OAAO8tB,EAAe,GAE9BD,EAAQ/tB,KAAKiuB,EACf,IAGJH,EAAQlqB,SAAS6f,GAAQA,EAAIxf,YAAYyN,YAAY+R,KACrDsK,EAAQnqB,SAAS6f,GAAQmK,EAAY3vB,YAAYwlB,KAC1C,CACLqK,UACAC,UACD,EAECM,EAAmB,CAACnF,EAASnY,KAC/B,MAAMud,EAAaj1B,SAAS0K,qBAAqBmlB,GAAS,GAC1D,IAAKoF,EACH,OAEF,MAAMC,EAAwBD,EAAWve,aAAagY,GAChDyG,EAAmBD,EAAwBA,EAAsB7tB,MAAM,KAAO,GAC9E+tB,EAAqB,IAAID,GACzBE,EAAgBp4B,OAAOqN,KAAKoN,GAClC,IAAK,MAAMG,KAAawd,EAAe,CACrC,MAAM9zB,EAAQmW,EAAWG,IAAc,GACnCod,EAAWve,aAAamB,KAAetW,GACzC0zB,EAAW5qB,aAAawN,EAAWtW,IAEQ,IAAzC4zB,EAAiBruB,QAAQ+Q,IAC3Bsd,EAAiBxuB,KAAKkR,GAExB,MAAMyd,EAAcF,EAAmBtuB,QAAQ+Q,IAC1B,IAAjByd,GACFF,EAAmBvuB,OAAOyuB,EAAa,EAE3C,CACA,IAAK,IAAI9W,EAAI4W,EAAmB72B,OAAS,EAAGigB,GAAK,EAAGA,GAAK,EACvDyW,EAAWna,gBAAgBsa,EAAmB5W,IAE5C2W,EAAiB52B,SAAW62B,EAAmB72B,OACjD02B,EAAWna,gBAAgB4T,GAClBuG,EAAWve,aAAagY,KAAsB2G,EAAcpG,KAAK,MAC1EgG,EAAW5qB,aAAaqkB,EAAkB2G,EAAcpG,KAAK,KAC/D,EAQEsG,EAAmB,CAACC,EAAUvhB,KAChC,MAAM,QACJ8e,EAAO,eACPC,EAAc,eACd/G,EAAc,SACd5E,EAAQ,SACRF,EAAQ,aACR8L,EAAY,oBACZwC,EAAmB,WACnBrC,EAAU,UACVF,EAAS,MACTzV,EAAK,gBACL2U,GACEoD,EACJR,EAAiB,OAAmBhC,GACpCgC,EAAiB,OAAmB/I,GArBpB,EAACxO,EAAO/F,UACH,IAAV+F,GAAyBzd,SAASyd,QAAUA,IACrDzd,SAASyd,MAAQgT,EAAahT,IAEhCuX,EAAiB,QAAqBtd,EAAW,EAkBjDge,CAAYjY,EAAO2U,GACnB,MAAMuD,EAAa,CACjB5C,QAASuB,EAAW,OAAmBvB,GACvC1L,SAAUiN,EAAW,OAAmBjN,GACxCF,SAAUmN,EAAW,OAAmBnN,GACxC8L,aAAcqB,EAAW,WAA2BrB,GACpDG,WAAYkB,EAAW,SAAuBlB,GAC9CF,UAAWoB,EAAW,QAAqBpB,IAEvC0C,EAAY,CAAC,EACbC,EAAc,CAAC,EACrB54B,OAAOqN,KAAKqrB,GAAYprB,SAAS8kB,IAC/B,MAAM,QAAEqF,EAAO,QAAED,GAAYkB,EAAWtG,GACpCqF,EAAQn2B,SACVq3B,EAAUvG,GAAWqF,GAEnBD,EAAQl2B,SACVs3B,EAAYxG,GAAWsG,EAAWtG,GAASoF,QAC7C,IAEExgB,GACFA,IAEFwhB,EAAoBD,EAAUI,EAAWC,EAAY,EAEnDC,EAAkB,KAgBlBC,EAf6BP,IAC3BM,GACFE,qBAAqBF,GAEnBN,EAASliB,MACXwiB,EAAkB12B,uBAAsB,KACtCm2B,EAAiBC,GAAU,KACzBM,EAAkB,IAAI,GACtB,KAGJP,EAAiBC,GACjBM,EAAkB,KACpB,EAKEG,EAAmB,cAAc,EAAAx0B,UACnCy0B,UAAW,EACX,qBAAA7X,CAAsBd,GACpB,OAAQ,IAAaA,EAAW3e,KAAKe,MACvC,CACA,kBAAAuB,GACEtC,KAAKu3B,YACP,CACA,oBAAAn1B,GACE,MAAM,gBAAEgzB,GAAoBp1B,KAAKe,MAAMi0B,QACvCI,EAAgB9vB,OAAOtF,MACvBA,KAAKu3B,YACP,CACA,UAAAA,GACE,MAAM,gBAAEnC,EAAe,UAAEH,GAAcj1B,KAAKe,MAAMi0B,QAClD,IAAIE,EAAc,KAClB,MAAM/wB,GAlbgB8rB,EAmbpBmF,EAAgBl3B,MAAM+I,KAAKsP,IACzB,MAAMxV,EAAQ,IAAKwV,EAASxV,OAE5B,cADOA,EAAMi0B,QACNj0B,CAAK,IAtboB,CACtCozB,QAASxD,EAAwB,CAAC,QAAoBV,GACtDmE,eAAgB5D,EAA2B,iBAA6BP,GACxEvb,MAAOsb,EAAqBC,EAAWF,GACvC1c,OAAQ2c,EAAqBC,EAAWF,GACxC1C,eAAgBmD,EAA2B,iBAA6BP,GACxExH,SAAUuI,EACR,OACA,CAAC,MAAiB,QAClBf,GAEF1H,SAAUyI,EACR,OACA,CACE,OACA,UACA,aACA,WACA,YAEFf,GAEFoE,aAAcrD,EAAqB,WAA2B,CAAC,aAA+Bf,GAC9F4G,oBAAqBtG,EAAuBN,GAC5CuE,WAAYxD,EACV,SACA,CAAC,MAAiB,aAClBf,GAEFqE,UAAWtD,EAAqB,QAAqB,CAAC,WAA2Bf,GACjFpR,MAAOqR,EAAsBD,GAC7BuD,gBAAiBhD,EAA2B,kBAA+BP,GAC3EsE,kBAAmB5C,EAAwB1B,EAAWF,KAhC/B,IAACE,EAyblB9K,EAAe4P,UACjBoC,EAAehzB,GACN+vB,IACTgB,EAAchB,EAAe/vB,IAE/B8wB,EAAUC,EACZ,CAIA,IAAAsC,GACE,GAAIx3B,KAAKs3B,SACP,OAEFt3B,KAAKs3B,UAAW,EAChB,MAAM,gBAAElC,GAAoBp1B,KAAKe,MAAMi0B,QACvCI,EAAgB1f,IAAI1V,MACpBA,KAAKu3B,YACP,CACA,MAAA/0B,GAEE,OADAxC,KAAKw3B,OACE,IACT,GAIE9J,EAAS,cAAc,EAAA7qB,UACzB0yB,oBAAsB,CACpB7gB,OAAO,EACP+d,yBAAyB,EACzB8B,mBAAmB,GAErB,qBAAA9U,CAAsBd,GACpB,OAAQ,IAAY4T,EAAQvyB,KAAKe,MAAO,cAAewxB,EAAQ5T,EAAW,cAC5E,CACA,wBAAA8Y,CAAyBC,EAAOC,GAC9B,IAAKA,EACH,OAAO,KAET,OAAQD,EAAM7vB,MACZ,IAAK,SACL,IAAK,WACH,MAAO,CACLjC,UAAW+xB,GAEf,IAAK,QACH,MAAO,CACL1E,QAAS0E,GAEb,QACE,MAAM,IAAIlrB,MACR,IAAIirB,EAAM7vB,0GAGlB,CACA,wBAAA+vB,CAAyBF,EAAOG,EAAmBC,EAAeH,GAChE,MAAO,IACFE,EACH,CAACH,EAAM7vB,MAAO,IACTgwB,EAAkBH,EAAM7vB,OAAS,GACpC,IACKiwB,KACA93B,KAAKy3B,yBAAyBC,EAAOC,KAIhD,CACA,qBAAAI,CAAsBL,EAAOM,EAAUF,EAAeH,GACpD,OAAQD,EAAM7vB,MACZ,IAAK,QACH,MAAO,IACFmwB,EACH,CAACN,EAAM7vB,MAAO8vB,EACdnE,gBAAiB,IAAKsE,IAE1B,IAAK,OACH,MAAO,IACFE,EACH5D,eAAgB,IAAK0D,IAEzB,IAAK,OACH,MAAO,IACFE,EACH3K,eAAgB,IAAKyK,IAEzB,QACE,MAAO,IACFE,EACH,CAACN,EAAM7vB,MAAO,IAAKiwB,IAG3B,CACA,2BAAAG,CAA4BJ,EAAmBG,GAC7C,IAAIE,EAAoB,IAAKF,GAO7B,OANA35B,OAAOqN,KAAKmsB,GAAmBlsB,SAASwsB,IACtCD,EAAoB,IACfA,EACH,CAACC,GAAiBN,EAAkBM,GACrC,IAEID,CACT,CACA,qBAAAE,CAAsBV,EAAOC,GAW3B,OAVA,IACEvI,EAAgB1f,MAAMiC,GAAS+lB,EAAM7vB,OAAS8J,IACxB,mBAAf+lB,EAAM7vB,KAAsB,oIAAsI,uBAAuBunB,EAAgBiB,KAC9M,yDACmDqH,EAAM7vB,0DAE7D,KACG8vB,GAA4C,iBAAnBA,GAA+B93B,MAAMgmB,QAAQ8R,KAAoBA,EAAejoB,MAAM2oB,GAAuC,iBAAhBA,IACvI,0CAA0CX,EAAM7vB,6DAA6D6vB,EAAM7vB,gBAAgB6vB,EAAM7vB,mDAEpI,CACT,CACA,kBAAAywB,CAAmB11B,EAAUo1B,GAC3B,IAAIH,EAAoB,CAAC,EAqCzB,OApCA,WAAgBlsB,QAAQ/I,GAAW80B,IACjC,IAAKA,IAAUA,EAAM32B,MACnB,OAEF,MAAQ6B,SAAU+0B,KAAmBY,GAAeb,EAAM32B,MACpD+2B,EAAgBz5B,OAAOqN,KAAK6sB,GAAYnxB,QAAO,CAACxJ,EAAKY,KACzDZ,EAAIgyB,EAAapxB,IAAQA,GAAO+5B,EAAW/5B,GACpCZ,IACN,CAAC,GACJ,IAAI,KAAEiK,GAAS6vB,EAMf,OALoB,iBAAT7vB,EACTA,EAAOA,EAAKoe,WAEZjmB,KAAKo4B,sBAAsBV,EAAOC,GAE5B9vB,GACN,IAAK,yBACHmwB,EAAWh4B,KAAKs4B,mBAAmBX,EAAgBK,GACnD,MACF,IAAK,OACL,IAAK,OACL,IAAK,WACL,IAAK,SACL,IAAK,QACHH,EAAoB73B,KAAK43B,yBACvBF,EACAG,EACAC,EACAH,GAEF,MACF,QACEK,EAAWh4B,KAAK+3B,sBAAsBL,EAAOM,EAAUF,EAAeH,GAE1E,IAEK33B,KAAKi4B,4BAA4BJ,EAAmBG,EAC7D,CACA,MAAAx1B,GACE,MAAM,SAAEI,KAAa7B,GAAUf,KAAKe,MACpC,IAAIi3B,EAAW,IAAKj3B,IAChB,WAAEy0B,GAAez0B,EAIrB,GAHI6B,IACFo1B,EAAWh4B,KAAKs4B,mBAAmB11B,EAAUo1B,IAE3CxC,KAAgBA,aAAsBV,GAAa,CAErDU,EAAa,IAAIV,EADJU,EACoBR,SAAS,UACnCgD,EAASxC,UAClB,CACA,OAAOA,EAA6B,gBAAqB6B,EAAkB,IAAKW,EAAUhD,QAASQ,EAAW7yB,QAA2B,gBAAqB0yB,EAAQxT,SAAU,MAAOmT,GAA4B,gBAAqBqC,EAAkB,IAAKW,EAAUhD,aAC3Q,2CC9wBewD,EAAE,EAAQ,OAASC,EAAE,CAACC,QAAO,GAAI1S,EAAE,IAAIpd,IAAIsM,EAAEyQ,OAAOgT,IAAI,iBAAiBC,EAAEjT,OAAOgT,IAAI,cAAcE,EAAElT,OAAOgT,IAAI,uBAAuB/E,EAAE4E,EAAEM,mDAAmDC,gBAAkF,SAASC,EAAErpB,EAAEgQ,EAAEkO,GAAG7tB,KAAKi5B,QAAQtpB,EAAE3P,KAAKk5B,OAAOvZ,EAAE3f,KAAKm5B,UAAUtL,CAAC,CACjW,SAASuL,EAAEzpB,GAAG,OAAOA,EAAEspB,SAAS,KAAK,EAAE,OAAOtpB,EAAEupB,OAAO,KAAK,EAAE,IAAIvZ,EAAEnc,KAAKC,MAAMkM,EAAEupB,OAAOvpB,EAAEwpB,UAAUE,WAAuB,OAAZ1pB,EAAEspB,QAAQ,EAAStpB,EAAEupB,OAAOvZ,EAAE,KAAK,EAAa,IAAI,IAAIkO,GAAnBlO,EAAEhQ,EAAEupB,QAAmBI,OAAOxL,EAAE,EAAEA,EAAED,EAAEluB,OAAOmuB,IAAI,CAAC,IAAIpqB,EAAEsiB,EAAE9nB,IAAI2vB,EAAEC,IAAI,GAAG,OAAOpqB,EAAE,MAAMA,CAAE,CAAyG,OAAxGmqB,EAAE0L,EAAoB5Z,EAAE9G,IAAI8G,EAAE,MAAMA,EAAEhO,KAAKkc,EAAE,KAAKlO,EAAEhO,KAAKkc,EAAEtwB,WAAWswB,EAAE/vB,QAAQ+vB,EAAEA,EAAElO,EAAEhO,MAAMhC,EAAEspB,QAAQ,EAAStpB,EAAEupB,OAAOvZ,EAAE,KAAK,EAAE,MAAMhQ,EAAE,QAAQ,MAAMA,EAAEupB,OAAQ,CAAC,SAASM,IAAoB,OAAOJ,EAAjBK,EAAEz5B,KAAK,GAAc,CAAC,SAAS05B,EAAE/pB,EAAEgQ,GAAG,OAAO,IAAIqZ,EAAE,EAAErZ,EAAEhQ,EAAE,CAC3d,SAASgqB,EAAEhqB,GAAG,GAAG,OAAOA,EAAE,IAAI,IAAIgQ,EAAE,EAAEA,EAAEhQ,EAAEhQ,OAAOggB,KAAI,EAAGhQ,EAAEgQ,KAAK,CAAC,SAASia,EAAEjqB,EAAEgQ,GAAG,GAAG,IAAIhQ,EAAEspB,QAAQ,CAAC,IAAIpL,EAAEle,EAAEupB,OAAOvpB,EAAEspB,QAAQ,EAAEtpB,EAAEupB,OAAOvZ,EAAEga,EAAE9L,EAAE,CAAC,CAAC,SAASgM,EAAElqB,EAAEgQ,GAAGhQ,EAAEmqB,QAAQnuB,SAAQ,SAASgE,GAAGiqB,EAAEjqB,EAAEgQ,EAAE,GAAE,CAAC,SAAS8Z,EAAE9pB,EAAEgQ,GAAG,IAAIkO,EAAEle,EAAEmqB,QAAQhM,EAAED,EAAE3vB,IAAIyhB,GAAqC,OAAlCmO,IAAIA,EAAE,IAAIkL,EAAE,EAAE,KAAKrpB,GAAGke,EAAEhvB,IAAI8gB,EAAEmO,IAAWA,CAAC,CAC3B,SAAS1H,EAAEzW,GAAGkqB,EAAElqB,EAAElD,MAAM,sBAAsB,CAC7S,SAASstB,EAAEpqB,EAAEgQ,GAAG,GAAG,KAAKA,EAAE,CAAC,IAAIkO,EAAElO,EAAE,GAAGmO,EAAEnO,EAAEzX,QAAQ,IAAI,GAAGxE,EAAEs2B,SAASra,EAAEre,UAAU,EAAEwsB,GAAG,IAAuB,OAAnBA,EAAEnO,EAAEre,UAAUwsB,EAAE,GAAUD,GAAG,IAAK,KAAiBA,GAAblO,EAAEhQ,EAAEmqB,SAAa57B,IAAIwF,IAAI,IAAImqB,EAAEoL,UAAUtpB,EAAEke,EAAEqL,OAAOrL,EAAEoL,QAAQ,EAAEpL,EAAEqL,OAAOpL,EAAE6L,EAAEhqB,IAAIgQ,EAAE9gB,IAAI6E,EAAE,IAAIs1B,EAAE,EAAElL,EAAEne,IAAI,MAAM,IAAK,IAAgBke,GAAZlO,EAAEhQ,EAAEmqB,SAAY57B,IAAIwF,GAAGoqB,EAAEtqB,KAAKC,MAAMqqB,EAAEne,EAAE0pB,WAAW,IAAI9S,EAAE5W,EAAEsqB,eAAqC1T,GAAtBuH,EAAEvH,EAAEA,EAAEuH,EAAEjV,IAAIiV,EAAEnc,MAAMmc,GAAMwL,OAAO,IAAI,IAAIY,EAAE,EAAEA,EAAE3T,EAAE5mB,OAAOu6B,IAAI,CAAC,IAAIC,EAAE5T,EAAE2T,GAAG,QAAG,IAASlU,EAAE9nB,IAAIi8B,GAAG,CAAC,IAAIC,EAAE,IAAuBD,GAAGtoB,EAAEmU,EAAEnnB,IAAI6B,KAAKslB,EAAEmU,EAAE,MAAME,EAAErU,EAAEnnB,IAAI6B,KAAKslB,EAAEmU,GAAGC,EAAE7yB,KAAKsK,EAAEwoB,GAAGrU,EAAEnnB,IAAIs7B,EACxfC,EAAE,CAAC,CAACvM,EAAE,IAAIA,EAAEoL,UAAUtpB,EAAEke,EAAEqL,OAAOrL,EAAEoL,QAAQ,EAAEpL,EAAEqL,OAAOpL,EAAE6L,EAAEhqB,IAAIgQ,EAAE9gB,IAAI6E,EAAE,IAAIs1B,EAAE,EAAElL,EAAEne,IAAI,MAAM,IAAK,IAAIA,EAAEmqB,QAAQj7B,IAAI6E,EAAEg2B,EAAE/pB,EAL2G,SAAWA,GAA2C,OAAxCikB,EAAEjkB,KAAKikB,EAAEjkB,GAAG6oB,EAAElU,oBAAoB3U,EAAEkpB,IAAWjF,EAAEjkB,EAAE,CAK1K2qB,CAAExM,GAAGprB,WAAW,MAAM,IAAK,IAAImrB,EAAErqB,KAAKC,MAAMqqB,GAAGne,EAAEmqB,QAAQj7B,IAAI6E,EAAEg2B,EAAE/pB,EAAEgW,OAAOgT,IAAI9K,KAAK,MAAM,IAAK,IAAIlO,EAAEnc,KAAKC,MAAMqqB,IAAGD,EAAEphB,MAAMkT,EAAE2C,UAAWiY,MAAM5a,EAAE4a,OAAmBzM,GAAbnO,EAAEhQ,EAAEmqB,SAAa57B,IAAIwF,IAAIk2B,EAAE9L,EAAED,GAAGlO,EAAE9gB,IAAI6E,EAAE,IAAIs1B,EAAE,EAAEnL,EAAEle,IAAI,MAAM,QAAQ,MAAMlD,MAAM,8EAA+E,CAAC,CAC5a,SAAS+tB,EAAE7qB,GAAG,OAAO,SAASgQ,EAAEkO,GAAG,MAAM,iBAAkBA,EAH3D,SAAWle,EAAEgQ,EAAEkO,GAAG,OAAOA,EAAE,IAAI,IAAK,IAAI,MAAG,MAAMA,EAAS3Y,EAAK,MAAM2Y,EAAE,IAAI,MAAMA,EAAE,GAAUA,EAAEvsB,UAAU,GAAiD83B,EAAhBzpB,EAAE8pB,EAAE9pB,EAAhCqqB,SAASnM,EAAEvsB,UAAU,GAAG,MAAyB,IAAK,IAAI,OAAqCqO,EAAE8pB,EAAE9pB,EAAhCqqB,SAASnM,EAAEvsB,UAAU,GAAG,KAAa,CAACutB,SAAS+J,EAAE6B,SAAS9qB,EAAE+qB,MAAMtB,GAAG,OAAOvL,CAAC,CAGjM8M,CAAEhrB,EAAE3P,EAAK6tB,GAAG,iBAAkBA,GAAG,OAAOA,EAAKA,EAAE,KAAK3Y,EAAE,CAAC2Z,SAAS3Z,EAAErN,KAAKgmB,EAAE,GAAGrvB,IAAIqvB,EAAE,GAAGvpB,IAAI,KAAKvD,MAAM8sB,EAAE,GAAG+M,OAAO,MAAM/M,EAAKA,CAAC,CAAC,CAAC,SAASgN,EAAElrB,GAAG,IAAIgQ,EAAE,IAAImb,YAAiH,OAA3FnrB,EAAE,CAACsqB,eAAetqB,EAAEmqB,QAA5B,IAAIlxB,IAAkCsF,SAASsrB,EAAEuB,YAAY,GAAGC,eAAerb,IAAK0Z,UAAUmB,EAAE7qB,GAAUA,CAAC,CAC5U,SAASsrB,EAAEtrB,EAAEgQ,GAAqR,SAASmO,EAAEnO,GAAGka,EAAElqB,EAAEgQ,EAAE,CAAC,IAAIjc,EAAEic,EAAEub,YAAYx3B,EAAEzB,OAAOsF,MAApU,SAASsmB,EAAElO,GAAG,IAAIua,EAAEva,EAAEhd,MAAM,IAAGgd,EAAE0G,KAAc,CAAC1G,EAAEua,EAAEA,EAAEvqB,EAAEqrB,eAAe,IAAI,IAAIb,EAAExa,EAAEzX,QAAQ,KAAK,EAAEiyB,GAAG,CAAC,IAAI5T,EAAE5W,EAAEorB,YAAgBlpB,EAAE8N,EAAEwb,SAAS,EAAEhB,GAAGtoB,EAAEqoB,EAAEkB,OAAOvpB,GAAGkoB,EAAEpqB,EAAE4W,EAAE1U,GAAGlC,EAAEorB,YAAY,GAAqBZ,GAAlBxa,EAAEA,EAAEwb,SAAShB,EAAE,IAAOjyB,QAAQ,GAAG,CAA8B,OAA7ByH,EAAEorB,aAAab,EAAEkB,OAAOzb,EAAE8Y,GAAU/0B,EAAEzB,OAAOsF,KAAKsmB,EAAEC,EAAE,CAA1O1H,EAAEzW,EAAyO,GAA0Dme,EAAE,CAPKkL,EAAEv6B,UAAU8I,KAAK,SAASoI,GAAG,IAAI3P,KAAKi5B,SAAS,OAAOj5B,KAAKk5B,SAASl5B,KAAKk5B,OAAO,IAAIl5B,KAAKk5B,OAAOnxB,KAAK4H,IAAIA,GAAG,EAQ9cjT,EAAQ+W,yBAAyB,SAAS9D,EAAEgQ,GAA+C,OAAPsb,EAArCtb,EAAEkb,EAAElb,GAAGA,EAAE0b,UAAU1b,EAAE0b,UAAU,MAAU1rB,GAAUgQ,CAAC,sCCdjGtZ,EAAO3J,QAAU,EAAjB,yBCDF2J,EAAO3J,QAAU,SAAsB4+B,EAAMC,EAAMC,EAASC,GAC1D,IAAIC,EAAMF,EAAUA,EAAQ78B,KAAK88B,EAAgBH,EAAMC,QAAQ,EAE/D,QAAY,IAARG,EACF,QAASA,EAGX,GAAIJ,IAASC,EACX,OAAO,EAGT,GAAoB,iBAATD,IAAsBA,GAAwB,iBAATC,IAAsBA,EACpE,OAAO,EAGT,IAAII,EAAQt9B,OAAOqN,KAAK4vB,GACpBM,EAAQv9B,OAAOqN,KAAK6vB,GAExB,GAAII,EAAMh8B,SAAWi8B,EAAMj8B,OACzB,OAAO,EAMT,IAHA,IAAIk8B,EAAkBx9B,OAAOI,UAAUC,eAAegC,KAAK66B,GAGlDO,EAAM,EAAGA,EAAMH,EAAMh8B,OAAQm8B,IAAO,CAC3C,IAAIt9B,EAAMm9B,EAAMG,GAEhB,IAAKD,EAAgBr9B,GACnB,OAAO,EAGT,IAAIu9B,EAAST,EAAK98B,GACdw9B,EAAST,EAAK/8B,GAIlB,IAAY,KAFZk9B,EAAMF,EAAUA,EAAQ78B,KAAK88B,EAAgBM,EAAQC,EAAQx9B,QAAO,SAEtC,IAARk9B,GAAkBK,IAAWC,EACjD,OAAO,CAEX,CAEA,OAAO,CACT,qBCzCA31B,EAAO3J,QAJP,SAAgCgH,GAC9B,QAAI,IAAWA,EAAG,MAAM,IAAIu4B,eAAe,6DAC3C,OAAOv4B,CACT,EACyC2C,EAAO3J,QAAQa,YAAa,EAAM8I,EAAO3J,QAAiB,QAAI2J,EAAO3J,+BCJ9G,IAAIw/B,EAAgB,EAAQ,OAS5B71B,EAAO3J,QARP,SAAyBgH,EAAGm1B,EAAGjF,GAC7B,OAAQiF,EAAIqD,EAAcrD,MAAOn1B,EAAIrF,OAAOC,eAAeoF,EAAGm1B,EAAG,CAC/Dl2B,MAAOixB,EACPvM,YAAY,EACZ8U,cAAc,EACdC,UAAU,IACP14B,EAAEm1B,GAAKjF,EAAGlwB,CACjB,EACkC2C,EAAO3J,QAAQa,YAAa,EAAM8I,EAAO3J,QAAiB,QAAI2J,EAAO3J,8BCTvG,IAAI2/B,EAAiB,EAAQ,OAI7Bh2B,EAAO3J,QAHP,SAAwBk3B,EAAGpO,GACzBoO,EAAEn1B,UAAYJ,OAAOsJ,OAAO6d,EAAE/mB,WAAYm1B,EAAEn1B,UAAUynB,YAAc0N,EAAGyI,EAAezI,EAAGpO,EAC3F,EACiCnf,EAAO3J,QAAQa,YAAa,EAAM8I,EAAO3J,QAAiB,QAAI2J,EAAO3J,2BCCtG2J,EAAO3J,QALP,SAAgCgH,GAC9B,OAAOA,GAAKA,EAAEnG,WAAamG,EAAI,CAC7B,QAAWA,EAEf,EACyC2C,EAAO3J,QAAQa,YAAa,EAAM8I,EAAO3J,QAAiB,QAAI2J,EAAO3J,+BCL9G,IAAI4/B,EAA+B,EAAQ,OAY3Cj2B,EAAO3J,QAXP,SAAkCgH,EAAGkwB,GACnC,GAAI,MAAQlwB,EAAG,MAAO,CAAC,EACvB,IAAI8hB,EACFqT,EACAjZ,EAAI0c,EAA6B54B,EAAGkwB,GACtC,GAAIv1B,OAAO6oB,sBAAuB,CAChC,IAAIlB,EAAI3nB,OAAO6oB,sBAAsBxjB,GACrC,IAAKm1B,EAAI,EAAGA,EAAI7S,EAAErmB,OAAQk5B,IAAKrT,EAAIQ,EAAE6S,GAAIjF,EAAE1rB,QAAQsd,IAAM,GAAK,CAAC,EAAE+W,qBAAqB59B,KAAK+E,EAAG8hB,KAAO5F,EAAE4F,GAAK9hB,EAAE8hB,GAChH,CACA,OAAO5F,CACT,EAC2CvZ,EAAO3J,QAAQa,YAAa,EAAM8I,EAAO3J,QAAiB,QAAI2J,EAAO3J,2BCHhH2J,EAAO3J,QATP,SAAuCm8B,EAAGn1B,GACxC,GAAI,MAAQm1B,EAAG,MAAO,CAAC,EACvB,IAAIjF,EAAI,CAAC,EACT,IAAK,IAAI5N,KAAK6S,EAAG,GAAI,CAAC,EAAEn6B,eAAeC,KAAKk6B,EAAG7S,GAAI,CACjD,GAAItiB,EAAEwE,QAAQ8d,IAAM,EAAG,SACvB4N,EAAE5N,GAAK6S,EAAE7S,EACX,CACA,OAAO4N,CACT,EACgDvtB,EAAO3J,QAAQa,YAAa,EAAM8I,EAAO3J,QAAiB,QAAI2J,EAAO3J,2BCTrH,SAAS8/B,EAAgB5I,EAAGlwB,GAC1B,OAAQ2C,EAAO3J,QAAU8/B,EAAkBn+B,OAAOg+B,eAAiBh+B,OAAOg+B,eAAe37B,OAAS,SAAUkzB,EAAGlwB,GAC7G,OAAOkwB,EAAE6I,UAAY/4B,EAAGkwB,CAC1B,EAAGvtB,EAAO3J,QAAQa,YAAa,EAAM8I,EAAO3J,QAAiB,QAAI2J,EAAO3J,QAAU8/B,EAAgB5I,EAAGlwB,EACvG,CACA2C,EAAO3J,QAAU8/B,EAAiBn2B,EAAO3J,QAAQa,YAAa,EAAM8I,EAAO3J,QAAiB,QAAI2J,EAAO3J,+BCLvG,IAAIggC,EAAU,iBAWdr2B,EAAO3J,QAVP,SAAqBk3B,EAAGiF,GACtB,GAAI,UAAY6D,EAAQ9I,KAAOA,EAAG,OAAOA,EACzC,IAAIlwB,EAAIkwB,EAAEjO,OAAOgX,aACjB,QAAI,IAAWj5B,EAAG,CAChB,IAAIkc,EAAIlc,EAAE/E,KAAKi1B,EAAGiF,GAAK,WACvB,GAAI,UAAY6D,EAAQ9c,GAAI,OAAOA,EACnC,MAAM,IAAI4G,UAAU,+CACtB,CACA,OAAQ,WAAaqS,EAAInG,OAASkK,QAAQhJ,EAC5C,EAC8BvtB,EAAO3J,QAAQa,YAAa,EAAM8I,EAAO3J,QAAiB,QAAI2J,EAAO3J,+BCXnG,IAAIggC,EAAU,iBACVC,EAAc,EAAQ,OAK1Bt2B,EAAO3J,QAJP,SAAuBk3B,GACrB,IAAIhU,EAAI+c,EAAY/I,EAAG,UACvB,MAAO,UAAY8I,EAAQ9c,GAAKA,EAAIA,EAAI,EAC1C,EACgCvZ,EAAO3J,QAAQa,YAAa,EAAM8I,EAAO3J,QAAiB,QAAI2J,EAAO3J,2BCNrG,SAASggC,EAAQlX,GAGf,OAAQnf,EAAO3J,QAAUggC,EAAU,mBAAqB/W,QAAU,iBAAmBA,OAAOC,SAAW,SAAUJ,GAC/G,cAAcA,CAChB,EAAI,SAAUA,GACZ,OAAOA,GAAK,mBAAqBG,QAAUH,EAAEU,cAAgBP,QAAUH,IAAMG,OAAOlnB,UAAY,gBAAkB+mB,CACpH,EAAGnf,EAAO3J,QAAQa,YAAa,EAAM8I,EAAO3J,QAAiB,QAAI2J,EAAO3J,QAAUggC,EAAQlX,EAC5F,CACAnf,EAAO3J,QAAUggC,EAASr2B,EAAO3J,QAAQa,YAAa,EAAM8I,EAAO3J,QAAiB,QAAI2J,EAAO3J,0CCP/F2B,OAAOC,eAAe5B,EAAS,aAA/B,CAA+CiG,OAAO,IA6CtDjG,EAAQmgC,YAVY,iBAWpBngC,EAAQoJ,iBAHkBg3B,GAvCJ,EAACA,EAAQC,KAC3B,MAAM,QAAE93B,EAAU,MAAO+3B,GAAmBF,GAAU,CAAC,EACjDG,EAAYz5B,KAAKI,UAAUo5B,GAAgB,CAACxE,EAAGQ,KAChC,mBAANA,IACPA,EAAItG,OAAOsG,IACLzvB,WAAWivB,EAAI,OACjBQ,EAAI,YAAcA,GAGnBA,KAEX,MAAO,CACH,uBACA36B,OAAOqN,KAAKsxB,GAAgBr9B,OAAS,EAC/B,iCAAiCs9B,MACjC,mBACN,kBACAh4B,EAAQtF,OAAS,EAAI,WAAW6D,KAAKI,UAAUqB,MAAc,GAC7D,oCACA83B,GACF1M,KAAK,GAAG,EAmBuB6M,CAAcJ,EAzC1B,u9CCJzB,SAASN,EAAgB5I,EAAGlwB,GAC1B,OAAO84B,EAAkBn+B,OAAOg+B,eAAiBh+B,OAAOg+B,eAAe37B,OAAS,SAAUkzB,EAAGlwB,GAC3F,OAAOkwB,EAAE6I,UAAY/4B,EAAGkwB,CAC1B,EAAG4I,EAAgB5I,EAAGlwB,EACxB,CCHA,SAASmT,EAAe+c,EAAGpO,GACzBoO,EAAEn1B,UAAYJ,OAAOsJ,OAAO6d,EAAE/mB,WAAYm1B,EAAEn1B,UAAUynB,YAAc0N,EAAG,EAAeA,EAAGpO,EAC3F,qECHA,SAASO,EAAkB8S,EAAGlpB,IAC3B,MAAQA,GAAKA,EAAIkpB,EAAEl5B,UAAYgQ,EAAIkpB,EAAEl5B,QACtC,IAAK,IAAI+D,EAAI,EAAGsiB,EAAInmB,MAAM8P,GAAIjM,EAAIiM,EAAGjM,IAAKsiB,EAAEtiB,GAAKm1B,EAAEn1B,GACnD,OAAOsiB,CACT,CCAA,SAAS7T,EAAmB0mB,GAC1B,OCJF,SAA4BA,GAC1B,GAAIh5B,MAAMgmB,QAAQgT,GAAI,OAAO,EAAiBA,EAChD,CDES,CAAkBA,IEL3B,SAA0BA,GACxB,GAAI,oBAAsBlT,QAAU,MAAQkT,EAAElT,OAAOC,WAAa,MAAQiT,EAAE,cAAe,OAAOh5B,MAAM2R,KAAKqnB,EAC/G,CFGiC,CAAgBA,IGJjD,SAAqCA,EAAGlpB,GACtC,GAAIkpB,EAAG,CACL,GAAI,iBAAmBA,EAAG,OAAO,EAAiBA,EAAGlpB,GACrD,IAAIikB,EAAI,CAAC,EAAE3N,SAAStnB,KAAKk6B,GAAG37B,MAAM,GAAI,GACtC,MAAO,WAAa02B,GAAKiF,EAAE3S,cAAgB0N,EAAIiF,EAAE3S,YAAYvU,MAAO,QAAUiiB,GAAK,QAAUA,EAAI/zB,MAAM2R,KAAKqnB,GAAK,cAAgBjF,GAAK,2CAA2Crf,KAAKqf,GAAK,EAAiBiF,EAAGlpB,QAAK,CACtN,CACF,CHFuD,CAA2BkpB,IILlF,WACE,MAAM,IAAIrS,UAAU,uIACtB,CJGwF,EACxF,uhCKNgG,SAAShB,IAAI,OAAOA,EAAEnnB,OAAO8R,OAAO9R,OAAO8R,OAAOzP,OAAO,SAASgD,GAAG,IAAI,IAAIkwB,EAAE,EAAEA,EAAEl0B,UAAUC,OAAOi0B,IAAI,CAAC,IAAIiF,EAAEn5B,UAAUk0B,GAAG,IAAI,IAAI5N,KAAK6S,EAAEx6B,OAAOI,UAAUC,eAAeC,KAAKk6B,EAAE7S,KAAKtiB,EAAEsiB,GAAG6S,EAAE7S,GAAG,CAAC,OAAOtiB,CAAC,EAAE8hB,EAAEzlB,MAAMC,KAAKN,UAAU,CAAC,SAASiQ,EAAEjM,EAAEkwB,GAAG,GAAG,MAAMlwB,EAAE,MAAM,CAAC,EAAE,IAAIm1B,EAAE7S,EAAER,EAAE,CAAC,EAAE7V,EAAEtR,OAAOqN,KAAKhI,GAAG,IAAIsiB,EAAE,EAAEA,EAAErW,EAAEhQ,OAAOqmB,IAAI4N,EAAE1rB,QAAQ2wB,EAAElpB,EAAEqW,KAAK,IAAIR,EAAEqT,GAAGn1B,EAAEm1B,IAAI,OAAOrT,CAAC,CAAC,MAAM1Y,EAAEpJ,IAAI,MAAM8E,OAAOorB,EAAE1yB,KAAK23B,EAAEpvB,KAAKuc,EAAEmX,OAAO3X,EAAE1B,SAASnU,EAAEytB,KAAKtwB,EAAEiX,SAASnE,EAAEyd,KAAKxP,GAAGnqB,EAAE/B,SAAS,IAAIoC,SAAS00B,GAAG/0B,EAAE/B,SAAS,OAAO82B,GAAGzS,GAAGsU,IAAI7B,EAAE,IAAIjvB,IAAIwc,GAAGjiB,UAAU,CAACA,SAASge,UAAU7f,UAAUu2B,IAAIjwB,OAAOorB,EAAE1yB,KAAK23B,EAAEpvB,KAAKuc,EAAEmX,OAAO3X,EAAE1B,SAASnU,EAAEytB,KAAKtwB,EAAEiX,SAASnE,EAAEyd,KAAKxP,EAAE1pB,MAAMT,EAAEqa,QAAQ5Z,MAAM3F,IAAIkF,EAAEqa,QAAQ5Z,OAAOT,EAAEqa,QAAQ5Z,MAAM3F,KAAK,UAAS,EAAGohB,EAAE,CAAClc,EAAEkwB,KAAK,IAAIiF,EAAE,GAAG7S,EAAElZ,EAAEpJ,GAAGiM,GAAE,EAAGiQ,EAAE,OAAO,MAAM,CAAC,YAAIje,GAAW,OAAOqkB,CAAC,EAAE,iBAAIsX,GAAgB,OAAO3tB,CAAC,EAAE,qBAAA4tB,GAAwB5tB,GAAE,EAAGiQ,GAAG,EAAE,MAAAY,CAAOoT,GAAGiF,EAAE9wB,KAAK6rB,GAAG,MAAMpO,EAAE,KAAKQ,EAAElZ,EAAEpJ,GAAGkwB,EAAE,CAACjyB,SAASqkB,EAAEvF,OAAO,OAAM,EAAG,OAAO/c,EAAE3B,iBAAiB,WAAWyjB,GAAG,KAAK9hB,EAAErB,oBAAoB,WAAWmjB,GAAGqT,EAAEA,EAAE1xB,QAAOzD,GAAGA,IAAIkwB,GAAC,CAAE,EAAE,QAAAnW,CAASmW,GAAGzvB,MAAM0pB,EAAErd,QAAQ8pB,GAAE,GAAI,CAAC,GAAG,GAAG,iBAAiB1G,EAAElwB,EAAEqa,QAAQyf,GAAG5J,OAAO,CAAC/F,EAAErI,EAAE,CAAC,EAAEqI,EAAE,CAACrvB,IAAImU,KAAK8qB,MAAM,KAAK,IAAI9tB,GAAG2qB,EAAE52B,EAAEqa,QAAQC,aAAa6P,EAAE,KAAK+F,GAAGlwB,EAAEqa,QAAQ2f,UAAU7P,EAAE,KAAK+F,EAAE,CAAC,MAAMiF,GAAGn1B,EAAE/B,SAAS24B,EAAE,UAAU,UAAU1G,EAAE,CAAC,CAAC5N,EAAElZ,EAAEpJ,GAAGiM,GAAE,EAAG,MAAM8oB,EAAE,IAAIjxB,SAAQ9D,GAAGkc,EAAElc,IAAG,OAAOm1B,EAAEltB,SAAQjI,GAAGA,EAAE,CAAC/B,SAASqkB,EAAEvF,OAAO,WAAUgY,CAAC,EAAC,EAAG5K,EAAE,CAACnqB,EAAE,OAAO,MAAMkwB,EAAElwB,EAAEwE,QAAQ,KAAK2wB,EAAE,CAAC90B,SAAS6vB,GAAG,EAAElwB,EAAEi6B,OAAO,EAAE/J,GAAGlwB,EAAE8E,OAAOorB,GAAG,EAAElwB,EAAEi6B,OAAO/J,GAAG,IAAI,IAAI5N,EAAE,EAAE,MAAMR,EAAE,CAACqT,GAAGlpB,EAAE,CAAC,MAAM,MAAM,CAAC,YAAIhO,GAAW,OAAO6jB,EAAEQ,EAAE,EAAE,gBAAAjkB,CAAiB2B,EAAEkwB,GAAG,EAAE,mBAAAvxB,CAAoBqB,EAAEkwB,GAAG,EAAE7V,QAAQ,CAAC,WAAI9D,GAAU,OAAOuL,CAAC,EAAE,SAAIzQ,GAAQ,OAAOiR,CAAC,EAAE,SAAI7hB,GAAQ,OAAOwL,EAAEqW,EAAE,EAAE,SAAA0X,CAAUh6B,EAAEkwB,EAAEiF,GAAG,MAAM/rB,EAAE8S,EAAE,IAAIiZ,EAAEpwB,MAAM,KAAKud,IAAIR,EAAEzd,KAAK,CAAChE,SAAS+I,EAAEtE,OAAOoX,EAAEjgB,OAAO,IAAIigB,IAAIA,IAAIjQ,EAAE5H,KAAKrE,EAAE,EAAE,YAAAsa,CAAata,EAAEkwB,EAAEiF,GAAG,MAAM/rB,EAAE8S,EAAE,IAAIiZ,EAAEpwB,MAAM,KAAK+c,EAAEQ,GAAG,CAACjiB,SAAS+I,EAAEtE,OAAOoX,GAAGjQ,EAAEqW,GAAGtiB,CAAC,EAAE,EAAA85B,CAAG95B,GAAG,MAAMkwB,EAAE5N,EAAEtiB,EAAEkwB,EAAE,GAAGA,EAAEjkB,EAAEhQ,OAAO,IAAIqmB,EAAE4N,EAAE,GAAE,EAAG0G,IAAI,oBAAoBh6B,SAASA,OAAOc,WAAWd,OAAOc,SAASqB,eAAeg2B,EAAE7Y,EAAE0a,EAAEh6B,OAAOutB,MAAMpQ,SAASvI,GAAGujB,EAAE,SAASyB,EAAEx2B,EAAEm1B,GAAG,OAAO,EAAEvU,oBAAoB,EAAE5gB,EAAEm1B,EAAE,QAAQtU,WAAWC,mBAAmBD,WAAWC,iBAAiB,CAAC,GAAGD,WAAWC,iBAAiB9gB,KAAK6gB,WAAWC,iBAAiB9gB,GAAG,EAAE4gB,oBAAoB5gB,EAAEm1B,IAAItU,WAAWC,iBAAiB9gB,IAApM,CAAyMA,EAAEm1B,GAAG,gBAAgBA,EAAE,CAAC,MAAMhnB,EAAEqoB,EAAE,OAAO,CAACjZ,QAAQ,IAAIC,SAAS,MAAM4M,EAAEoM,EAAE,YAAY3T,EAAE,IAAI,aAAa1U,GAAG4nB,EAAE,IAAI,aAAa3L,GAAG,SAAS6M,EAAEj3B,GAAG1D,KAAK49B,IAAIl6B,CAAC,CAAC,MAAMy2B,EAAEz2B,GAAGA,aAAai3B,EAAE3B,EAAEt1B,IAAI,MAAM,IAAIi3B,EAAEj3B,EAAC,EAAG,SAASic,EAAEiU,GAAG,MAAMlW,GAAGmb,EAAEroB,QAAQwV,GAAE,EAAG7hB,MAAMqhB,EAAEqY,QAAQluB,EAAEsR,QAAQnU,GAAG8mB,EAAE,aAAY,KAAKpsB,QAAQC,UAAUF,MAAK,KAAK,MAAM7D,EAAE80B,EAAEK,EAAE/rB,GAAGoI,EAAE4oB,EAAEp6B,EAAEkwB,GAAG,CAACpjB,QAAQwV,EAAE7hB,MAAMqhB,GAAE,GAAE,GAAG,IAAI,MAAM5F,EAAE4Y,EAAEK,EAAE/rB,GAAG,OAAO6C,GAAGqpB,EAAE8E,EAAEle,EAAEgU,IAAI,IAAI,CAAC,MAAMmK,EAAEnK,IAAI,MAAMiF,EAAEY,KAAKxY,QAAQ+E,GAAGO,IAAiB,OAAO,gBAAgB5G,EAAE6F,EAAE,CAAC,EAAEqT,EAAE,CAAC5X,QAAQ+E,GAAG4N,GAAE,EAAGmK,EAAEj7B,UAAU,CAAC0O,KAAK,SAASkM,GAAG,SAASza,YAAY,MAAM22B,EAAE,CAACl2B,EAAEkwB,IAAIlwB,EAAEi6B,OAAO,EAAE/J,EAAEj0B,UAAUi0B,EAAEwF,EAAE,CAAC11B,EAAEkwB,KAAK,IAAIiF,EAAErT,EAAE,MAAM7V,GAAGikB,EAAEnrB,MAAM,KAAKqE,EAAEkxB,EAAEruB,GAAGiQ,EAAE,KAAK9S,EAAE,GAAG+gB,EAAEoQ,EAAEv6B,GAAG,IAAI,IAAIA,EAAE,EAAEiM,EAAEke,EAAEluB,OAAO+D,EAAEiM,EAAEjM,IAAI,CAAC,IAAIiM,GAAE,EAAG,MAAM2qB,EAAEzM,EAAEnqB,GAAG0G,MAAM,GAAGkwB,EAAEx8B,QAAQ,CAAC0nB,EAAE,CAACpb,MAAMkwB,EAAE/vB,OAAO,CAAC,EAAEqzB,IAAIhK,GAAG,QAAQ,CAAC,MAAM6E,EAAEuF,EAAE1D,EAAE/xB,MAAM2M,EAAE,CAAC,EAAEglB,EAAEgE,KAAKC,IAAIrxB,EAAEnN,OAAO84B,EAAE94B,QAAQ,IAAIkS,EAAE,EAAE,KAAKA,EAAEqoB,EAAEroB,IAAI,CAAC,MAAMnO,EAAE+0B,EAAE5mB,GAAG+hB,EAAE9mB,EAAE+E,GAAG,GAAGusB,EAAE16B,GAAG,CAACwR,EAAExR,EAAExG,MAAM,IAAI,KAAK4P,EAAE5P,MAAM2U,GAAG5K,IAAIkC,oBAAoBknB,KAAK,KAAK,KAAK,CAAC,QAAG,IAASuD,EAAE,CAACjkB,GAAE,EAAG,KAAK,CAAC,MAAMkpB,EAAEwF,EAAEC,KAAK56B,GAAG,GAAGm1B,IAAIjZ,EAAE,CAAC,MAAMlc,GAAG,IAAI66B,EAAEr2B,QAAQ2wB,EAAE,IAAI,EAAEn1B,EAAE,6BAA6Bm1B,EAAE,gEAAgEyB,EAAE/xB,UAAU,MAAMid,EAAErc,mBAAmByqB,GAAG1e,EAAE2jB,EAAE,IAAIrT,CAAC,MAAM,GAAG9hB,IAAIkwB,EAAE,CAACjkB,GAAE,EAAG,KAAK,CAAC,CAAC,IAAIA,EAAE,CAACkpB,EAAE,CAACzuB,MAAMkwB,EAAE/vB,OAAO2K,EAAE0oB,IAAI,IAAI9wB,EAAE5P,MAAM,EAAE2U,GAAGwe,KAAK,MAAM,KAAK,CAAC,CAAC,OAAOwI,GAAGrT,GAAG,MAAMgU,EAAE,CAAC91B,EAAEkwB,IAAIwF,EAAE,CAAC,CAAC7wB,KAAK7E,IAAIkwB,GAAG4E,EAAE,CAAC90B,EAAEkwB,KAAK,GAAGgG,EAAEl2B,EAAE,KAAK,OAAOA,EAAE,MAAMm1B,EAAE7S,GAAGtiB,EAAE+E,MAAM,MAAM+c,GAAGoO,EAAEnrB,MAAM,KAAKkH,EAAEquB,EAAEnF,GAAG/rB,EAAEkxB,EAAExY,GAAG,GAAG,KAAK7V,EAAE,GAAG,OAAO6uB,EAAEhZ,EAAEQ,GAAG,IAAI4T,EAAEjqB,EAAE,GAAG,KAAK,CAAC,MAAMjM,EAAEoJ,EAAE7M,OAAO0P,GAAG0gB,KAAK,KAAK,OAAOmO,GAAG,MAAMhZ,EAAE,GAAG,KAAK9hB,EAAEsiB,EAAE,CAAC,MAAMpG,EAAE9S,EAAE7M,OAAO0P,GAAGke,EAAE,GAAG,IAAI,IAAInqB,EAAE,EAAEkwB,EAAEhU,EAAEjgB,OAAO+D,EAAEkwB,EAAElwB,IAAI,CAAC,MAAMkwB,EAAEhU,EAAElc,GAAG,OAAOkwB,EAAE/F,EAAEjS,MAAM,MAAMgY,GAAG/F,EAAE9lB,KAAK6rB,EAAE,CAAC,OAAO4K,EAAE,IAAI3Q,EAAEwC,KAAK,KAAKrK,EAAC,EAAG8X,EAAE,CAACp6B,EAAEkwB,KAAK,MAAMiF,EAAE7S,EAAE,IAAItiB,EAAE+E,MAAM,KAAK,IAAI+c,EAAE,IAAIwY,EAAEnF,GAAG5xB,KAAIvD,IAAI,MAAMm1B,EAAEwF,EAAEC,KAAK56B,GAAG,OAAOm1B,EAAEjF,EAAEiF,EAAE,IAAIn1B,KAAI2sB,KAAK,KAAK,MAAM1uB,UAAU6G,OAAOmH,EAAE,IAAI,CAAC,GAAGikB,EAAE9mB,EAAE6C,EAAElH,MAAM,KAAK,IAAI,GAAG,OAAO+c,EAAEgZ,EAAEhZ,EAAEQ,EAAElZ,GAAG0Y,GAAGiZ,EAAE,CAAC/6B,EAAEkwB,KAAK,MAAMiF,EAAEn1B,GAAGg7B,EAAEh7B,GAAG,OAAOs6B,EAAEt6B,GAAGyD,OAAO0xB,GAAG8F,OAAOtO,KAAK,OAAO2N,EAAEpK,GAAGzsB,OAAO0xB,GAAG8F,OAAOtO,KAAK,IAAG,EAAGgO,EAAE,SAASK,EAAEh7B,GAAG26B,EAAE9pB,KAAK7Q,GAAG06B,EAAE16B,GAAGA,GAAG,MAAMA,EAAE,GAAGk7B,EAAE,CAACl7B,EAAEkwB,KAAI,CAAExpB,MAAM1G,EAAEm7B,MAAMn7B,EAAE5F,QAAQ,EAAEkgC,EAAEt6B,EAAE6E,MAAMnB,QAAO,CAAC1D,EAAEkwB,KAAKlwB,GAAG,EAAE,CAACA,GAAG,KAAKA,EAAT,CAAYkwB,GAAGlwB,GAAG,EAAEg7B,EAAE9K,GAAGlwB,GAAG,EAAE06B,EAAExK,GAAGlwB,GAAG,EAAEA,GAAG,EAAEA,IAAG,GAAGqR,MAAM6e,IAAIqK,EAAEv6B,GAAGA,EAAEuD,IAAI23B,GAAGD,MAAK,CAACj7B,EAAEkwB,IAAIlwB,EAAEm7B,MAAMjL,EAAEiL,MAAM,EAAEn7B,EAAEm7B,MAAMjL,EAAEiL,OAAO,EAAEn7B,EAAEqR,MAAM6e,EAAE7e,QAAOipB,EAAEt6B,GAAGA,EAAE8M,QAAQ,eAAe,IAAI/H,MAAM,KAAK+1B,EAAE,CAAC96B,KAAKkwB,IAAIlwB,IAAIkwB,EAAEA,EAAEzsB,QAAOzD,GAAGA,GAAGA,EAAE/D,OAAO,MAAKi0B,EAAEj0B,OAAO,EAAE,IAAIi0B,EAAEvD,KAAK,OAAO,IAAIkO,EAAE,CAAC,MAAM,QAAQ1E,EAAE,CAACn2B,EAAEkwB,KAAK,MAAMiF,EAAEx6B,OAAOqN,KAAKhI,GAAG,OAAOm1B,EAAEl5B,SAAStB,OAAOqN,KAAKkoB,GAAGj0B,QAAQk5B,EAAEiG,OAAMjG,GAAGjF,EAAEl1B,eAAem6B,IAAIn1B,EAAEm1B,KAAKjF,EAAEiF,IAAE,EAAGkG,EAAEr7B,GAAGA,EAAE8M,QAAQ,eAAe,IAAIqqB,EAAEjH,GAAGiF,IAAI,IAAIA,EAAE,OAAO,KAAK,GAAGA,EAAEhxB,OAAO,YAAYgxB,EAAE93B,MAAM6B,SAAS,OAAO,WAAWqE,IAAI4xB,EAAE93B,MAAM6B,SAASi4B,EAAEjH,IAAI,GAAG,EAAEiF,EAAE93B,MAAMwH,MAAMswB,EAAE93B,MAAMjD,SAAS+6B,EAAEhxB,OAAOk2B,EAAE,iIAAiIlF,EAAEhxB,UAAU,KAAKgxB,EAAEhxB,OAAOk2B,GAAGlF,EAAE93B,MAAMyQ,MAAMqnB,EAAE93B,MAAM2c,IAAI,mBAAmBmb,EAAE93B,MAAMyQ,aAAaqnB,EAAE93B,MAAM2c,qEAAqE,IAAImb,EAAEhxB,OAAOk2B,IAAIU,EAAE5F,EAAE93B,MAAMyQ,KAAKqnB,EAAE93B,MAAM2c,KAAK,mBAAmBmb,EAAE93B,MAAMyQ,YAAYqnB,EAAE93B,MAAM2c,kGAAkGmb,EAAE93B,MAAMjD,QAAQ,MAAM,CAAC6E,MAAMk2B,EAAE/6B,SAAQ,GAAI,MAAM0nB,EAAEqT,EAAEhxB,OAAOk2B,EAAElF,EAAE93B,MAAMyQ,KAAKqnB,EAAE93B,MAAMwH,KAAKoH,EAAE,MAAM6V,EAAEoO,EAAE,GAAGmL,EAAEnL,MAAMmL,EAAEvZ,KAAK,MAAM,CAAC7iB,MAAMk2B,EAAE/6B,QAAQ+6B,EAAE93B,MAAMjD,QAAQyK,KAAKswB,EAAE93B,MAAM6B,SAAS,GAAGm8B,EAAEpvB,OAAOA,EAAC,EAAGqvB,EAAE,CAAC,YAAYpG,EAAE,CAAC,KAAK,QAAQ,UAAU,YAAYqG,EAAE,CAAC,OAAO,IAAIC,WAAW9E,GAAG,qBAAE,IAASA,IAAIA,EAAE12B,GAAGA,GAAG,MAAMu3B,EAAE,OAAOtB,EAAES,GAAE,CAACxG,EAAEiF,KAAK,IAAIsG,SAASnZ,GAAG4N,EAAE9mB,EAAE6C,EAAEikB,EAAEoL,GAAG,MAAM/d,QAAQrB,GAAG2G,KAAK5kB,SAASksB,GAAG4L,KAAK/b,GAAG4c,EAAEn2B,MAAMs0B,EAAEjoB,QAAQ0pB,EAAEkF,SAASvtB,EAAEopB,GAAGnuB,EAAEghB,EAAEne,EAAE7C,EAAE8rB,GAAG+B,EAAEnC,EAAE8B,EAAE1a,GAAGua,EAAEpY,UAAU4Y,GAAG3B,EAAEnL,EAAE9pB,WAAWo2B,EAAExa,EAAEia,EAAE/L,EAAE9pB,SAASo2B,GAAgB,OAAO,gBAAgB,IAAI3U,EAAE,CAAClhB,IAAIu0B,GAAG7S,EAAE,eAAegT,EAAE,YAAO,GAAQlL,EAAEjc,EAAE,CAACwtB,UAAUrG,EAAEsG,mBAAmB3f,EAAElW,KAAKkxB,EAAEh5B,SAASksB,IAAI,CAACpkB,KAAKkxB,EAAE4E,QAAQ77B,IAAI,GAAGoqB,EAAEyR,SAASzR,EAAEyR,QAAQ77B,GAAG,CAACA,IAAIA,EAAE87B,kBAAkB,IAAI97B,EAAE+7B,UAAU/7B,EAAEg8B,SAASh8B,EAAEi8B,QAAQj8B,EAAEk8B,SAASl8B,EAAEm8B,UAA3E,CAAsFn8B,GAAG,CAACA,EAAEo8B,iBAAiB,IAAIlM,EAAEsG,EAAE,GAAG,kBAAkBA,GAAGlB,EAAE,CAAC,MAAMt1B,EAAEiM,EAAE6V,EAAE,CAAC,EAAEqI,EAAE1pB,OAAO86B,GAAGrL,EAAEiG,EAAErU,EAAE,CAAC,EAAEiT,GAAG/0B,EAAE,CAACwR,EAAEylB,EAAE,CAACx2B,MAAMs0B,EAAEjoB,QAAQojB,GAAG,KAAI,IAAI+F,EAAEr6B,YAAY,OAAOq6B,EAAE72B,UAAU,CAAC4a,GAAG,SAASza,YAAY,MAAMmjB,UAAU,YAAY,WAAAF,IAAexiB,GAAG+xB,SAAS/xB,GAAG1D,KAAKV,YAAY,uBAAuB,CAAC,iBAAAygC,IAAqBr8B,GAAG1D,KAAKkgB,SAAS,CAAC,GAAGlgB,KAAKe,MAAMi/B,WAAWt8B,EAAE,CAAC,MAAAlB,GAAS,OAAOxC,KAAKe,MAAM6B,QAAQ,EAAE,MAAMq9B,EAAE,gBAAgB,CAACF,kBAAkB,CAACt7B,aAAQ,GAAQqM,WAAM,EAAOovB,SAAS,KAAI,IAAK,SAAS1F,GAAG53B,SAASgxB,IAAI,MAAMiF,EAAE7S,GAAG,aAAaR,EAAE,WAAW7V,EAAE,WAAU,KAAI,CAAEowB,kBAAkBva,EAAE1U,MAAM+nB,EAAEqH,SAASla,KAAI,CAAC6S,IAAiB,OAAO,gBAAgBoH,EAAEv9B,SAAS,CAACC,MAAMgN,GAAgB,gBAAgByW,EAAE,CAACtV,MAAM+nB,EAAEmH,QAAQ,CAACt8B,EAAEkwB,KAAK5N,EAAEtiB,GAAG,MAAM8hB,EAAE/gB,SAAS+gB,EAAE/gB,QAAQf,EAAEkwB,EAAC,GAAIA,GAAG,CAAC4G,EAAEl7B,YAAY,+BAA+B,MAAMo6B,EAAE,SAAS9F,GAAG,IAAIiF,EAAE7S,EAAE,SAASrW,EAAEkpB,GAAgB,OAAO,gBAAgB2B,EAAE,KAAkB,gBAAgB5G,EAAEpO,EAAE,CAAChnB,IAAI,oBAAoBq6B,IAAI,CAAC,OAAOlpB,EAAErQ,YAAY,qBAAqB,OAAOu5B,EAAE,OAAO7S,EAAE4N,EAAEt0B,aAAa0mB,EAAE4N,EAAEjiB,MAAMknB,EAAE,eAAelpB,CAAC,CAAnP,EAAqP,EAAEoO,QAAQ6V,EAAE6E,EAAE71B,SAASi2B,MAAM,MAAMl3B,SAASqkB,GAAG4N,GAAGpO,EAAE7V,GAAG,WAAW,CAAChO,SAASqkB,KAAKlZ,GAAG,SAAS8mB,GAAG,MAAMiF,EAAE,aAAaoH,GAAGpH,EAAEkH,kBAAkBt7B,aAAQ,EAAO,MAAMuhB,EAAE,eAAc,KAAK6S,EAAEqH,cAAS,EAAM,GAAG,IAAI,MAAM,CAACrH,EAAE/nB,MAAMkV,EAAE,CAA3I,GAA+I,GAAG,aAAY,KAAK4N,EAAE2J,uBAAsB,GAAG,CAAC/X,EAAE7jB,WAAW,aAAY,KAAK,IAAI+B,GAAE,EAAG,MAAMm1B,EAAEjF,EAAEpT,QAAO,EAAE7e,SAASiyB,MAAMpsB,QAAQC,UAAUF,MAAK,KAAK/G,uBAAsB,KAAKkD,GAAGiM,EAAE,CAAChO,SAASiyB,GAAE,GAAE,GAAE,IAAI,MAAM,KAAKlwB,GAAE,EAAGm1B,GAAE,CAAC,GAAG,IAAI/rB,EAAE,CAAC,IAAIqtB,EAAErtB,GAAG,MAAMA,EAAEoI,EAAEpI,EAAE8wB,IAAI,CAACptB,SAAQ,GAAI,CAAc,OAAO,gBAAgBsd,EAAEprB,SAAS,CAACC,MAAM6iB,GAAG,mBAAmBqT,EAAEA,EAAErT,GAAGqT,GAAG,KAAI,IAAIkB,EAAE,EAAEn3B,SAASgxB,MAAM,MAAMiF,EAAEY,IAAI,OAAOZ,EAAEjF,EAAEiF,GAAgB,gBAAgBa,EAAE,KAAK9F,EAAC,EAAGyG,EAAE,EAAE/uB,IAAIsoB,EAAEhxB,SAASi2B,MAAM,MAAM7S,EAAE4N,EAAE1rB,QAAQ,KAAK,IAAIsd,EAAE7V,EAAE,GAAG,OAAOqW,GAAG,GAAGR,EAAEoO,EAAEtyB,UAAU,EAAE0kB,GAAGrW,EAAEikB,EAAEtyB,UAAU0kB,IAAIR,EAAEoO,EAAe,gBAAgB9F,EAAEprB,SAAS,CAACC,MAAM,CAAChB,SAAS,CAACoC,SAASyhB,EAAEhd,OAAOmH,EAAEzO,KAAK,MAAM23B,EAAC,EAAGsH,GAAE,EAAE53B,KAAK7E,EAAEd,SAASgxB,MAAM,MAAM3S,QAAQ4X,GAAGtS,KAAK5kB,SAASqkB,GAAGyT,IAAI9pB,EAAE6oB,EAAE90B,EAAEm1B,GAAG/rB,EAAE0sB,EAAE7pB,EAAEqW,EAAEjiB,UAAU,OAAO6vB,EAAE,CAACjyB,SAASqkB,EAAE/D,MAAMnV,EAAE0Y,EAAE,CAAC,EAAE1Y,EAAEvC,OAAO,CAACqzB,IAAI9wB,EAAE8wB,IAAIr1B,KAAK7E,IAAI,MAAK,EAAG08B,GAAE,CAAC,MAAM,WAAW,aAAaC,GAAE,CAAC,WAAW,QAAQ,YAAY,MAAM,YAAYC,GAAG1M,IAAI,IAAIgK,IAAI/E,EAAEl3B,SAASqkB,EAAEzY,UAAUT,GAAG8mB,EAAEhU,EAAEjQ,EAAEikB,EAAEwM,IAAgB,OAAO,gBAAgBG,GAAG/a,EAAE,CAAC,EAAE5F,EAAE,CAACrS,UAAUT,EAAE8wB,IAAI/E,EAAEl3B,SAASqkB,IAAG,EAAG,IAAI7S,GAAG,EAAE,MAAMotB,GAAG3M,IAAI,IAAIhxB,SAASi2B,EAAEzf,MAAM4M,EAAEzY,UAAUT,EAAE,MAAM8wB,IAAIhe,EAAEje,SAASksB,GAAG+F,EAAE0G,EAAE3qB,EAAEikB,EAAEyM,IAAG,MAAM5H,EAAE,WAAWvjB,EAAE,UAAS,GAAIglB,EAAE,SAASta,GAAG/N,EAAE,SAASgc,EAAE9pB,UAAU+pB,EAAE,UAAS,GAAI,aAAY,KAAK3a,KAAKoT,IAAI,KAAKpT,KAAK,IAAIA,KAAK+B,EAAEzQ,SAAQ,EAAE,IAAI,IAAI,aAAY,KAAK,IAAIf,GAAE,EAAGkwB,GAAE,EAAGhU,IAAIsa,EAAEz1B,UAAUy1B,EAAEz1B,QAAQmb,EAAElc,GAAE,GAAImqB,EAAE9pB,WAAW8N,EAAEpN,UAAUoN,EAAEpN,QAAQopB,EAAE9pB,SAAS6vB,GAAE,GAAI9F,EAAErpB,QAAQf,GAAGkwB,GAAG/F,EAAE9pB,WAAW6b,EAAEkO,EAAErpB,SAAS8hB,GAAE,GAAG,CAAC3G,EAAEiO,IAAI,MAAMtH,EAAE,eAAc,KAAK,IAAI7iB,EAAkCwR,EAAEzQ,QAAQyQ,EAAEzQ,SAAQ,GAAIf,EAAE+0B,EAAEh0B,QAAQqpB,EAAErpB,SAASf,GAAGA,EAAE88B,QAAQ,GAAG,IAAiB,OAAO,gBAAgB1zB,EAAE0Y,EAAE,CAACpM,MAAMoM,EAAE,CAACib,QAAQ,QAAQza,GAAG0a,SAAS,KAAKp8B,IAAIm0B,GAAG6B,GAAGzB,EAAC,EAAG8H,GAAG,CAAC,WAAW,UAAU,WAAW,WAAW,UAAU,aAAaC,GAAGhN,IAAI,MAAMiF,EAAEtS,IAAIP,EAAEyT,IAAiB,OAAO,gBAAgBoH,GAAGrb,EAAE,CAAC,EAAEqT,EAAE7S,EAAE4N,GAAE,EAAG,SAASiN,GAAGjN,GAAG,MAAMjyB,SAASk3B,EAAEiI,QAAQ9a,GAAE,EAAGpjB,SAASkK,EAAEoU,SAAStB,EAAErS,UAAUsgB,EAAE,OAAO+F,EAAE0G,EAAE3qB,EAAEikB,EAAE+M,IAAIlI,EAAE,WAAWsI,QAAQj0B,GAAG1F,QAAO,CAAC1D,EAAEkwB,KAAK,MAAMiF,EAAEgC,EAAEjb,EAAFib,CAAKjH,GAAG,OAAOlwB,EAAEzD,OAAO44B,EAAC,GAAG,KAAK90B,SAASmR,GAAG2jB,EAAEqB,EAAEd,EAAEX,EAAEvjB,GAAG,GAAGglB,EAAE,CAAC,MAAM3vB,OAAOqpB,EAAEgK,IAAIjuB,EAAEvF,MAAM0C,EAAE1C,OAAOzH,MAAM81B,IAAIyB,EAAEhlB,EAAEpI,EAAEhP,QAAQ8hB,EAAE9S,EAAEvE,KAAKiI,QAAQ,MAAM,IAAIsd,EAAEtI,EAAE,CAAC,EAAEoO,EAAE,CAACgK,IAAIjuB,EAAEhO,SAASk3B,IAAItS,EAAE,eAAekS,EAAE3K,EAAE2K,EAAE13B,MAAM6B,SAAsB,gBAAgBg+B,GAAG,CAACj/B,SAASk3B,EAAEiI,QAAQ9a,GAAGyS,EAAE13B,MAAM6B,eAAU,GAAQ62B,EAAEzT,EAAEsa,GAAGzS,EAAE8M,EAAE3U,EAAER,EAAE,CAACoY,IAAIjuB,EAAEhO,SAASk3B,EAAEtrB,UAAUsgB,GAAGyM,GAAGA,EAAe,OAAO,gBAAgBzoB,EAAEnP,SAAS,CAACC,MAAM,CAACse,QAAQtR,EAAEuR,SAAShM,IAAiB,gBAAgBukB,EAAEkB,EAAEpU,GAAG,CAAC,OAAO,IAAI,CAAC,MAAMya,GAAG,KAAK,MAAMt9B,EAAE+1B,IAAI,IAAI/1B,EAAE,MAAM,IAAI+I,MAAM,8JAA8J,OAAO/I,EAAE/B,UAAUs/B,GAAG,KAAK,MAAM,IAAIx0B,MAAM,wEAAuE,EAAGy0B,GAAG,KAAK,MAAMx9B,EAAE6iB,IAAI,IAAI7iB,EAAE,MAAM,IAAI+I,MAAM,4JAA4J,MAAMmnB,EAAEoN,KAAKnI,EAAEW,EAAE91B,EAAEwd,SAAS0S,EAAE7vB,UAAU,OAAO80B,EAAEA,EAAEtuB,OAAO,MAAM42B,GAAGz9B,IAAI,IAAIA,EAAE,MAAM,IAAI+I,MAAM,4EAA4E,MAAMmnB,EAAErN,IAAI,IAAIqN,EAAE,MAAM,IAAInnB,MAAM,2JAA2J,MAAMosB,EAAEmI,KAAKhb,EAAEwS,EAAE90B,EAAEkwB,EAAE3S,SAAStR,EAAE6pB,EAAExT,EAAE6S,EAAE90B,UAAU,OAAO4L,EAAE6V,EAAE,CAAC,EAAE7V,EAAEpF,OAAO,CAACqzB,IAAIjuB,EAAEiuB,IAAIr1B,KAAK7E,IAAI,0KCCv+U,SAASkc,IAAI,OAAOA,EAAEvhB,OAAO8R,OAAO9R,OAAO8R,OAAOzP,OAAO,SAASkzB,GAAG,IAAI,IAAIlwB,EAAE,EAAEA,EAAEhE,UAAUC,OAAO+D,IAAI,CAAC,IAAIsiB,EAAEtmB,UAAUgE,GAAG,IAAI,IAAIm1B,KAAK7S,EAAE3nB,OAAOI,UAAUC,eAAeC,KAAKqnB,EAAE6S,KAAKjF,EAAEiF,GAAG7S,EAAE6S,GAAG,CAAC,OAAOjF,CAAC,EAAEhU,EAAE7f,MAAMC,KAAKN,UAAU,CAAC,SAASiQ,EAAEikB,GAAG,IAAIlwB,EAAEkwB,GAAG,IAAI5N,EAAE,GAAG6S,EAAE,GAAG,MAAMrT,EAAE9hB,EAAEwE,QAAQ,MAAM,IAAIsd,IAAIqT,EAAEn1B,EAAExG,MAAMsoB,GAAG9hB,EAAEA,EAAExG,MAAM,EAAEsoB,IAAI,MAAM1Y,EAAEpJ,EAAEwE,QAAQ,KAAK,OAAO,IAAI4E,IAAIkZ,EAAEtiB,EAAExG,MAAM4P,GAAGpJ,EAAEA,EAAExG,MAAM,EAAE4P,IAAI,CAAC/I,SAASL,EAAE8E,OAAO,MAAMwd,EAAE,GAAGA,EAAE9kB,KAAK,MAAM23B,EAAE,GAAGA,EAAE,CAAC,MAAMhL,EAAE,6BAA6B4K,EAAE7E,IAAI,GAAG,iBAAiBA,EAAE,OAAO,CAACA,GAAG/F,EAAEtZ,KAAKqf,GAAX,CAAeA,EAAC,EAAG1e,EAAE,IAA+F,GAAcglB,EAAE,IAAmG,GAAgB,SAAS3T,EAAEqN,EAAElwB,EAAEwR,KAAK,IAAI8Q,EAAE,IAAIyS,EAAE7E,GAAG,OAAOA,EAAE,GAAGA,EAAErqB,WAAW,OAAOqqB,EAAErqB,WAAW,OAAO,OAAOqqB,EAAE,MAAMiF,EAAE,OAAO7S,EAAE,MAAMtiB,EAAEA,EAAEw2B,KAAKlU,EAAE,IAAI,MAAM,GAAG,MAAM6S,GAAGA,EAAE97B,SAAS,KAAK87B,EAAE37B,MAAM,GAAG,GAAG27B,IAAIjF,EAAErqB,WAAW,KAAKqqB,EAAE,IAAIA,KAAK,CAAC,MAAM0G,EAAE1G,GAAG,MAAMA,OAAE,EAAOA,EAAErqB,WAAW,KAA4E,SAASukB,EAAE8F,EAAElwB,GAAG,MAAMK,SAASiiB,EAAExd,OAAOqwB,EAAE33B,KAAKskB,GAAG7V,EAAEikB,GAAG,MAAM,IAAG,OAAE5N,EAAEtiB,KAAKm1B,IAAIrT,GAAG,CAAC,MAAM3T,EAAE,CAAC+hB,EAAElwB,IAAI,iBAAiBkwB,EAAEA,EAAE6E,EAAE7E,GAAG0G,EAAE1G,GAAG,SAASA,GAAG,MAAMlwB,EAAE6iB,EAAEqN,GAAG5N,EAAlL,SAAwL,OAAgC8H,EAAEpqB,EAAEsiB,EAAI,CAAvE,CAAyE4N,GAAG,SAASA,EAAElwB,GAAG,GAAG42B,EAAE1G,GAAG,OAAOA,EAAE,MAAMiF,EAA1Q,SAAgRrT,GAAE,aAAEoO,EAAElwB,GAAG,OAAgCoqB,EAAEtI,EAAEqT,EAAI,CAA5F,CAA8FjF,EAAElwB,GAAGkwB,EAAE6F,EAAE,CAAC,KAAK,WAAW,UAAU,eAAe,kBAAkB,cAAc,WAAW,kBAAkB,QAAQ,UAAU,aAA2C,MAAM9Z,EAAE,CAACyhB,gBAAgB,SAASC,YAAY,SAASC,gBAAgB,QAAQ,SAASlI,EAAExF,GAAgB,OAAO,gBAAgB,WAAE,MAAK,EAAEjyB,SAASqkB,KAAkB,gBAAgB8X,EAAEle,EAAE,CAAC,EAAEgU,EAAE,CAAC2N,UAAUvb,MAAK,CAAC,MAAM8X,UAAU,YAAY,WAAA5X,CAAY0N,GAAG6B,MAAM7B,GAAG5zB,KAAKwhC,gBAAgB,EAAElC,mBAAmB1L,EAAEyL,UAAU37B,MAAM1D,KAAKe,MAAMugC,gBAAgB1N,EAAElwB,GAAG,CAAC+9B,UAAU,CAACzhC,KAAKe,MAAM0gC,UAAUzhC,KAAKe,MAAMqgC,iBAAiBj6B,OAAO2Z,SAASuP,KAAK,KAAKjX,MAAMwG,EAAE,CAAC,EAAE5f,KAAKe,MAAMqY,MAAMpZ,KAAKe,MAAMsgC,cAAc,KAAK,IAAI39B,GAAE,EAAG,oBAAoBpD,QAAQA,OAAOohC,uBAAuBh+B,GAAE,GAAI1D,KAAKmE,MAAM,CAACw9B,YAAYj+B,GAAG1D,KAAK4hC,cAAc,KAAK5hC,KAAK6hC,UAAU7hC,KAAK6hC,UAAUnhC,KAAKV,KAAK,CAAC,SAAA8hC,GAAY,IAAIlO,EAAEtzB,OAAOqB,SAASoC,SAASzD,OAAOqB,SAAS6G,OAAOxI,KAAKe,MAAMwgC,WAAWvhC,KAAKe,MAAMwgC,UAAUx9B,WAAW6vB,EAAE5zB,KAAKe,MAAMwgC,UAAUx9B,SAAS/D,KAAKe,MAAMwgC,UAAU/4B,QAAQ,MAAM9E,EAAEiM,EAAEkC,EAAE7R,KAAKe,MAAM2c,GAAGkW,IAAI5N,EAAEtiB,EAAEK,SAASL,EAAE8E,OAAO,GAAGorB,IAAI5N,EAAE,OAAOzF,UAAUzV,QAAQkb,EAAE,CAAC,oBAAA5jB,GAAuB,IAAIpC,KAAK+hC,GAAG,OAAO,MAAMxrB,SAASqd,EAAEtQ,GAAG5f,GAAG1D,KAAK+hC,GAAG/hC,KAAK4hC,eAAe5hC,KAAK4hC,cAAcntB,QAAQmf,EAAEoO,UAAUt+B,GAAGkwB,EAAEqO,YAAY,CAAC,SAAAJ,CAAUjO,GAAG5zB,KAAKe,MAAMo+B,UAAU9gC,OAAOI,UAAUC,eAAeC,KAAKqB,KAAKe,MAAMo+B,SAAS,WAAWn/B,KAAKe,MAAMo+B,SAAS16B,QAAQmvB,EAAE5zB,KAAKe,MAAMo+B,UAAUn/B,KAAKe,MAAMo+B,SAASvL,GAAG5zB,KAAKmE,MAAMw9B,aAAa/N,IAAI5zB,KAAK+hC,GAAG,EAAEnO,EAAElwB,KAAK,MAAMsiB,EAAE,IAAI1lB,OAAOohC,sBAAqB1b,IAAIA,EAAEra,SAAQqa,IAAI4N,IAAI5N,EAAEuB,QAAQ7jB,EAAEsiB,EAAEkc,gBAAgBlc,EAAEmc,kBAAkB,EAAC,GAAE,IAAI,OAAOnc,EAAEoc,QAAQxO,GAAG,CAACrd,SAASyP,EAAE1C,GAAGsQ,EAAG,EAAtK,CAAwKA,GAAEA,IAAIA,EAAE5zB,KAAK4hC,cAAc5hC,KAAK8hC,YAAY9hC,KAAK4hC,eAAe5hC,KAAK4hC,cAAcntB,OAAM,IAAI,CAAC,MAAAjS,GAAS,MAAMoxB,EAAE5zB,KAAKe,OAAO2c,GAAGsI,EAAEoZ,SAASvG,EAAE74B,KAAKwhC,gBAAgBjC,QAAQzyB,EAAEu1B,aAAaxU,EAAE1pB,MAAM+Q,EAAE1E,QAAQ0pB,EAAEqH,UAAUhb,GAAGqN,EAAE0G,EAAE,SAAS1G,EAAElwB,GAAG,GAAG,MAAMkwB,EAAE,MAAM,CAAC,EAAE,IAAI5N,EAAE6S,EAAErT,EAAE,CAAC,EAAE1Y,EAAEzO,OAAOqN,KAAKkoB,GAAG,IAAIiF,EAAE,EAAEA,EAAE/rB,EAAEnN,OAAOk5B,IAAIn1B,EAAEwE,QAAQ8d,EAAElZ,EAAE+rB,KAAK,IAAIrT,EAAEQ,GAAG4N,EAAE5N,IAAI,OAAOR,CAAC,CAAjI,CAAmIoO,EAAE6F,GAAgNiF,EAAE7sB,EAAEmU,EAAEO,EAAExiB,UAAU,OAAO00B,EAAEiG,GAAgB,gBAAgB,OAAE9e,EAAE,CAAClC,GAAGghB,EAAEv6B,MAAM+Q,EAAEkqB,SAASvG,EAAEsG,SAASn/B,KAAK6hC,UAAUQ,aAAazO,IAAI/F,GAAGA,EAAE+F,GAAG,MAAMlwB,EAAEiM,EAAE+uB,GAAGne,UAAUvK,SAAStS,EAAEK,SAASL,EAAE8E,OAAM,EAAG+2B,QAAQ3L,IAAI,GAAG9mB,GAAGA,EAAE8mB,KAAK,IAAIA,EAAE6L,QAAQz/B,KAAKe,MAAMwmB,QAAQqM,EAAE4L,kBAAkB5L,EAAE8L,SAAS9L,EAAE+L,QAAQ/L,EAAEgM,SAAShM,EAAEiM,UAAU,CAACjM,EAAEkM,iBAAiB,IAAIp8B,EAAEw2B,EAAE,MAAMlU,EAAEjE,UAAU2c,KAAKnY,EAAExiB,SAAS,kBAAkBm2B,GAAGlU,IAAItiB,GAAE,GAAIpD,OAAOqgB,YAAY+d,EAAE,CAACv6B,MAAM+Q,EAAE1E,QAAQ9M,GAAG,CAAC,OAAM,CAAC,GAAI42B,IAAiB,gBAAgB,IAAI1a,EAAE,CAACnW,KAAKi1B,GAAGpE,GAAG,EAAEwD,EAAEh7B,UAAU8c,EAAE,CAAC,EAAED,EAAE,CAAC4f,QAAQ,OAAO7hB,GAAG,SAASza,WAAWuN,QAAQ,OAAOrM,MAAM,WAAW,MAAMw2B,EAAE,cAAa,CAAC/G,EAAE5N,IAAiB,gBAAgBoT,EAAExZ,EAAE,CAACuf,SAASnZ,GAAG4N,MAAKuG,EAAE,CAACvG,EAAElwB,KAAKpD,OAAOqgB,YAAY9O,EAAE+hB,EAAEtzB,OAAOqB,SAASoC,UAAUL,EAAC,sQCAh1I,SAAS8hB,IAAI,OAAOA,EAAEnnB,OAAO8R,OAAO9R,OAAO8R,OAAOzP,OAAO,SAASkzB,GAAG,IAAI,IAAIlwB,EAAE,EAAEA,EAAEhE,UAAUC,OAAO+D,IAAI,CAAC,IAAIsiB,EAAEtmB,UAAUgE,GAAG,IAAI,IAAIm1B,KAAK7S,EAAE3nB,OAAOI,UAAUC,eAAeC,KAAKqnB,EAAE6S,KAAKjF,EAAEiF,GAAG7S,EAAE6S,GAAG,CAAC,OAAOjF,CAAC,EAAEpO,EAAEzlB,MAAMC,KAAKN,UAAU,CAAC,MAAMiQ,EAAE,IAAI/G,IAAI6vB,EAAE,CAACv6B,IAAI01B,GAAGjkB,EAAEzR,IAAI01B,IAAI,GAAG,GAAA/0B,CAAI+0B,EAAElwB,GAAG,MAAMsiB,EAAErW,EAAEzR,IAAI01B,IAAI,GAAG5N,EAAEje,KAAKrE,GAAGiM,EAAE9Q,IAAI+0B,EAAE5N,EAAE,EAAE,OAAO4N,GAAGjkB,EAAEL,OAAOskB,EAAE,GAAG9mB,EAAE,oBAAoBw1B,MAAMA,KAAKltB,qBAAqBktB,KAAKltB,oBAAoB1U,KAAKJ,SAAS,SAASszB,GAAG,MAAMlwB,EAAEiP,KAAK8qB,MAAM,OAAOtvB,YAAW,WAAWylB,EAAE,CAAC2O,YAAW,EAAGC,cAAc,WAAW,OAAOtE,KAAKC,IAAI,EAAE,IAAIxrB,KAAK8qB,MAAM/5B,GAAG,GAAG,GAAE,EAAE,EAAE,IAAImqB,EAAY+F,KAAiF/F,IAAIA,EAAE,CAAC,IAAnF4U,YAAY,eAAe7O,EAAE8O,KAAK,OAAO9O,EAAE+O,cAAc,kBAA8B,MAAM/iB,EAAE,IAAI1Q,IAAI,CAAC,MAAM,WAAW,0BAA0B,WAAW,SAAS,YAAYorB,EAAE,IAAIprB,IAAI4e,EAAE,IAAIllB,IAAI,SAAS2d,EAAE7iB,GAAgB,OAAO,gBAAgB,WAAE,MAAK,IAAiB,gBAAgBwR,EAAExR,IAAG,CAAC,SAASwR,EAAE8Q,GAAG,MAAM4c,IAAIjzB,EAAEkzB,SAASjjB,EAAEiO,EAAE4U,aAAazc,GAAG,CAAC,GAAGjiB,SAASu2B,IAAG,mBAAI,IAAG,gBAAE,KAAK,IAAI1G,EAAE,OAAOhU,GAAG,KAAKiO,EAAE4U,YAAY7O,EAAE6F,EAAEzT,GAAG,MAAM,KAAK6H,EAAE6U,KAAK51B,GAAE,KAAK8mB,EAAE6F,EAAEzT,EAAC,IAAI,MAAM,KAAK6H,EAAE8U,cAAc,CAAC,MAAM/O,EAAEjU,EAAEqG,GAAGyS,EAAE55B,IAAIy7B,EAAE1G,EAAE,EAAE,MAAM,KAAK,MAAM5uB,OAAOtB,EAAEo/B,aAAa9c,EAAE+c,cAAclK,GAAGjF,GAAG,CAAC,EAAE5N,IAAI,MAAMtiB,GAAGA,EAAErB,oBAAoB,OAAO2jB,IAAI6S,IAAI,MAAMn1B,GAAGA,EAAErB,oBAAoB,QAAQw2B,IAAI,MAAMn1B,GAAGA,EAAE4B,QAAO,CAAC,GAAG,IAAIsa,IAAIiO,EAAE8U,cAAc,CAAC,MAAMj/B,EAAEmO,EAAEmU,GAAG6S,EAAElZ,EAAEqG,GAAG,MAAM,oBAAoB1lB,QAAQm4B,EAAE55B,IAAIy7B,EAAEzB,GAAgB,gBAAgB,SAASn1B,EAAE8hB,EAAE,CAAC3d,KAAK,iBAAiB,gBAAgB+X,EAAE9J,YAAY,aAAa+iB,EAAE,CAAC3F,wBAAwB,CAACC,OAAOthB,EAAEmU,MAAMR,EAAE,CAAC3d,KAAK,iBAAiB+6B,IAAI1I,EAAEvqB,GAAG,gBAAgBiQ,EAAE9J,YAAY,aAAa+iB,GAAG,CAAC,OAAO,IAAI,CAAC,SAASY,EAAE7F,GAAG,MAAM/a,GAAGnV,EAAEk/B,IAAI5c,EAAE6c,SAAShK,EAAEhL,EAAE4U,YAAYO,OAAOrzB,EAAEqwB,QAAQvH,GAAG7E,GAAG,CAAC,EAAE9mB,EAAEpJ,GAAGsiB,EAAEpG,EAAE,CAAC,OAAO,SAAS2G,EAAE,CAAC0c,KAAKtzB,EAAEmB,MAAM2nB,GAAG,GAAG3rB,EAAE,CAAC,IAAI,MAAM8mB,KAAKhU,EAAE,GAAG,MAAM2G,GAAGA,EAAEqN,GAAG,CAAC,IAAI1e,EAAE,MAAMxR,EAAEoqB,EAAE5vB,IAAI4O,IAAI,CAAC,GAAGo2B,UAAUld,EAAE,KAAK,MAAMtiB,OAAE,EAAOA,EAAEkwB,KAAK,CAAC,EAAE,IAAI6F,EAAES,EAAElU,EAAEje,KAAK,MAAMwe,OAAE,EAAOA,EAAEqN,IAAI,MAAMlwB,GAAG,OAAOwR,EAAExR,EAAEkwB,KAAK1e,EAAEkI,MAAM,MAAMmJ,GAAG,OAAOkT,EAAElT,EAAEqN,KAAK6F,EAAE96B,KAAK4nB,EAAE,MAAM7iB,GAAG,OAAOw2B,EAAEx2B,EAAEkwB,SAAI,EAAOsG,EAAE9c,OAAO0Q,EAAEjvB,IAAIiO,EAAE0Y,EAAE,CAAC,EAAE9hB,EAAE,CAAC,CAACkwB,GAAG,CAACsP,UAAUld,KAAK,CAAC,GAAGsU,EAAEr8B,IAAI6O,GAAG,OAAO,IAAI,CAAC,MAAMksB,EAAEnnB,EAAE+hB,GAAG4E,EAAE7Y,EAAEiU,GAAGwF,EAAEh4B,SAASqB,cAAc,UAAUiB,IAAI01B,EAAEvgB,GAAGnV,GAAG01B,EAAE1zB,QAAQm9B,SAAShK,EAAE,IAAI,MAAMjF,EAAElwB,KAAKrF,OAAO4b,QAAQue,GAAGY,EAAE3tB,aAAamoB,EAAElwB,GAAGs1B,IAAII,EAAEra,YAAYia,GAAGhT,IAAIoT,EAAEwJ,IAAI5c,GAAG,MAAM4T,EAAE,CAAC,EAAE,GAAG9sB,EAAE,CAAC,IAAI,MAAM8mB,KAAKhU,EAAE,CAAC,MAAMlc,EAAEA,GAAGy2B,EAAEz2B,EAAEoJ,EAAE8mB,GAAGwF,EAAEr3B,iBAAiB6xB,EAAElwB,GAAGk2B,EAAE,GAAGhG,aAAalwB,CAAC,CAAC42B,EAAE5kB,IAAI5I,EAAE,CAAC,OAAO1L,SAASiX,KAAKrS,YAAYozB,GAAG,CAACp0B,OAAOo0B,EAAE0J,aAAalJ,EAAEkJ,aAAaC,cAAcnJ,EAAEmJ,cAAc,CAAC,SAASlxB,EAAE+hB,GAAG,MAAMV,wBAAwBxvB,EAAEd,SAASojB,EAAE,IAAI4N,GAAG,CAAC,GAAGT,OAAO0F,EAAE,IAAIn1B,GAAG,CAAC,EAAE,OAAOm1B,GAAG7S,CAAC,CAAC,SAASrG,EAAEiU,GAAG,MAAMlwB,EAAE,CAAC,EAAE,IAAI,MAAMsiB,EAAE6S,KAAKx6B,OAAO4b,QAAQ2Z,GAAGhU,EAAE3hB,IAAI+nB,KAAKtiB,EAAEsiB,GAAG6S,GAAG,OAAOn1B,CAAC,CAAC,SAASw2B,EAAEtG,GAAG,GAAGA,EAAE,MAAM,4BAA4B1qB,mBAAmB0qB,IAAI,CAAC,SAASuG,EAAEvG,EAAElwB,EAAEsiB,GAAG,MAAM6S,EAAE/K,EAAE5vB,IAAIwF,IAAI,CAAC,EAAE,IAAI,MAAMA,KAAK,MAAMm1B,GAAG,OAAOrT,EAAEqT,EAAE7S,SAAI,EAAOR,EAAE0d,YAAY,GAAG,CAAC,IAAI1d,EAAE9hB,EAAEkwB,EAAE,CAAC9F,EAAEjvB,IAAI6E,EAAE,CAAC,CAACsiB,GAAG,CAAC5I,MAAMwW,IAAI","sources":["webpack://renewal-policy/./node_modules/gatsby-page-utils/dist/apply-trailing-slash-option.js","webpack://renewal-policy/./node_modules/gatsby-react-router-scroll/index.js","webpack://renewal-policy/./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack://renewal-policy/./node_modules/gatsby-react-router-scroll/session-storage.js","webpack://renewal-policy/./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack://renewal-policy/./node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js","webpack://renewal-policy/./node_modules/gatsby/dist/internal-plugins/partytown/utils/get-forwards.js","webpack://renewal-policy/./node_modules/gatsby/dist/internal-plugins/partytown/utils/inject-partytown-snippet.js","webpack://renewal-policy/./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack://renewal-policy/./.cache/api-runner-browser-plugins.js","webpack://renewal-policy/./.cache/api-runner-browser.js","webpack://renewal-policy/./.cache/emitter.js","webpack://renewal-policy/./node_modules/mitt/dist/mitt.es.js","webpack://renewal-policy/./.cache/normalize-page-path.js","webpack://renewal-policy/./.cache/find-path.js","webpack://renewal-policy/./.cache/gatsby-browser-entry.js","webpack://renewal-policy/./.cache/prefetch.js","webpack://renewal-policy/./.cache/loader.js","webpack://renewal-policy/./.cache/head/components/fire-callback-in-effect.js","webpack://renewal-policy/./.cache/head/constants.js","webpack://renewal-policy/./.cache/head/utils.js","webpack://renewal-policy/./.cache/head/head-export-handler-for-browser.js","webpack://renewal-policy/./.cache/page-renderer.js","webpack://renewal-policy/./.cache/route-announcer-props.js","webpack://renewal-policy/./.cache/navigation.js","webpack://renewal-policy/./node_modules/shallow-compare/es/index.js","webpack://renewal-policy/./.cache/ensure-resources.js","webpack://renewal-policy/./.cache/production-app.js","webpack://renewal-policy/./.cache/public-page-renderer-prod.js","webpack://renewal-policy/./.cache/public-page-renderer.js","webpack://renewal-policy/./.cache/react-dom-utils.js","webpack://renewal-policy/./.cache/redirect-utils.js","webpack://renewal-policy/./.cache/register-service-worker.js","webpack://renewal-policy/./.cache/slice/context.js","webpack://renewal-policy/./.cache/static-query.js","webpack://renewal-policy/./.cache/context-utils.js","webpack://renewal-policy/./.cache/strip-prefix.js","webpack://renewal-policy/./gatsby-browser.js","webpack://renewal-policy/./src/utils/browserHydrateFunction.js","webpack://renewal-policy/./node_modules/gatsby-plugin-next-seo/lib/gatsby-browser.js","webpack://renewal-policy/./node_modules/gatsby-plugin-next-seo/lib/meta/base-seo.js","webpack://renewal-policy/./node_modules/invariant/browser.js","webpack://renewal-policy/./node_modules/react-fast-compare/index.js","webpack://renewal-policy/./node_modules/react-helmet-async/lib/index.esm.js","webpack://renewal-policy/./node_modules/react-server-dom-webpack/cjs/react-server-dom-webpack.production.min.js","webpack://renewal-policy/./node_modules/react-server-dom-webpack/index.js","webpack://renewal-policy/./node_modules/shallowequal/index.js","webpack://renewal-policy/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://renewal-policy/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://renewal-policy/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://renewal-policy/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://renewal-policy/./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://renewal-policy/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://renewal-policy/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://renewal-policy/./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://renewal-policy/./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://renewal-policy/./node_modules/@babel/runtime/helpers/typeof.js","webpack://renewal-policy/./node_modules/@builder.io/partytown/integration/index.cjs","webpack://renewal-policy/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://renewal-policy/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://renewal-policy/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://renewal-policy/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://renewal-policy/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://renewal-policy/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://renewal-policy/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://renewal-policy/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://renewal-policy/./node_modules/@gatsbyjs/reach-router/dist/index.modern.mjs","webpack://renewal-policy/./node_modules/gatsby-link/dist/index.modern.mjs","webpack://renewal-policy/./node_modules/gatsby-script/dist/index.modern.mjs"],"sourcesContent":["\"use strict\";\n\nexports.__esModule = true;\nexports.applyTrailingSlashOption = void 0;\nconst endsWithSuffixes = (suffixes, input) => {\n for (const suffix of suffixes) {\n if (input.endsWith(suffix)) return true;\n }\n return false;\n};\nconst suffixes = [`.html`, `.json`, `.js`, `.map`, `.txt`, `.xml`, `.pdf`];\nconst applyTrailingSlashOption = (input, option = `always`) => {\n if (input === `/`) return input;\n const hasTrailingSlash = input.endsWith(`/`);\n if (endsWithSuffixes(suffixes, input)) {\n return input;\n }\n if (option === `always`) {\n return hasTrailingSlash ? input : `${input}/`;\n }\n if (option === `never`) {\n return hasTrailingSlash ? input.slice(0, -1) : input;\n }\n return input;\n};\nexports.applyTrailingSlashOption = applyTrailingSlashOption;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = exports.ScrollContext = void 0;\nvar _scrollHandler = require(\"./scroll-handler\");\nexports.ScrollContext = _scrollHandler.ScrollHandler;\nvar _useScrollRestoration = require(\"./use-scroll-restoration\");\nexports.useScrollRestoration = _useScrollRestoration.useScrollRestoration;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.ScrollHandler = exports.ScrollContext = void 0;\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _sessionStorage = require(\"./session-storage\");\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nvar ScrollContext = /*#__PURE__*/React.createContext(new _sessionStorage.SessionStorage());\nexports.ScrollContext = ScrollContext;\nScrollContext.displayName = \"GatsbyScrollContext\";\nvar ScrollHandler = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollHandler, _React$Component);\n function ScrollHandler() {\n var _this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this._stateStorage = new _sessionStorage.SessionStorage();\n _this._isTicking = false;\n _this._latestKnownScrollY = 0;\n _this.scrollListener = function () {\n _this._latestKnownScrollY = window.scrollY;\n if (!_this._isTicking) {\n _this._isTicking = true;\n requestAnimationFrame(_this._saveScroll.bind((0, _assertThisInitialized2.default)(_this)));\n }\n };\n _this.windowScroll = function (position, prevProps) {\n if (_this.shouldUpdateScroll(prevProps, _this.props)) {\n window.scrollTo(0, position);\n }\n };\n _this.scrollToHash = function (hash, prevProps) {\n var node = document.getElementById(hash.substring(1));\n if (node && _this.shouldUpdateScroll(prevProps, _this.props)) {\n node.scrollIntoView();\n }\n };\n _this.shouldUpdateScroll = function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n if (!shouldUpdateScroll) {\n return true;\n }\n\n // Hack to allow accessing this._stateStorage.\n return shouldUpdateScroll.call((0, _assertThisInitialized2.default)(_this), prevRouterProps, routerProps);\n };\n return _this;\n }\n var _proto = ScrollHandler.prototype;\n _proto._saveScroll = function _saveScroll() {\n var key = this.props.location.key || null;\n if (key) {\n this._stateStorage.save(this.props.location, key, this._latestKnownScrollY);\n }\n this._isTicking = false;\n };\n _proto.componentDidMount = function componentDidMount() {\n window.addEventListener(\"scroll\", this.scrollListener);\n var scrollPosition;\n var _this$props$location = this.props.location,\n key = _this$props$location.key,\n hash = _this$props$location.hash;\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n /** If a hash is present in the browser url as the component mounts (i.e. the user is navigating\n * from an external website) then scroll to the hash instead of any previously stored scroll\n * position. */\n if (hash) {\n this.scrollToHash(decodeURI(hash), undefined);\n } else if (scrollPosition) {\n this.windowScroll(scrollPosition, undefined);\n }\n };\n _proto.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener(\"scroll\", this.scrollListener);\n };\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this$props$location2 = this.props.location,\n hash = _this$props$location2.hash,\n key = _this$props$location2.key;\n var scrollPosition;\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n /** There are two pieces of state: the browser url and\n * history state which keeps track of scroll position\n * Native behaviour prescribes that we ought to restore scroll position\n * when a user navigates back in their browser (this is the `POP` action)\n * Currently, reach router has a bug that prevents this at https://github.com/reach/router/issues/228\n * So we _always_ stick to the url as a source of truth — if the url\n * contains a hash, we scroll to it\n */\n\n if (hash) {\n this.scrollToHash(decodeURI(hash), prevProps);\n } else {\n this.windowScroll(scrollPosition, prevProps);\n }\n };\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(ScrollContext.Provider, {\n value: this._stateStorage\n }, this.props.children);\n };\n return ScrollHandler;\n}(React.Component);\nexports.ScrollHandler = ScrollHandler;\nScrollHandler.propTypes = {\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired,\n location: _propTypes.default.object.isRequired\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.SessionStorage = void 0;\nvar STATE_KEY_PREFIX = \"@@scroll|\";\nvar GATSBY_ROUTER_SCROLL_STATE = \"___GATSBY_REACT_ROUTER_SCROLL\";\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {}\n var _proto = SessionStorage.prototype;\n _proto.read = function read(location, key) {\n var stateKey = this.getStateKey(location, key);\n try {\n var value = window.sessionStorage.getItem(stateKey);\n return value ? JSON.parse(value) : 0;\n } catch (e) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to access sessionStorage; sessionStorage is not available.\");\n }\n if (window && window[GATSBY_ROUTER_SCROLL_STATE] && window[GATSBY_ROUTER_SCROLL_STATE][stateKey]) {\n return window[GATSBY_ROUTER_SCROLL_STATE][stateKey];\n }\n return 0;\n }\n };\n _proto.save = function save(location, key, value) {\n var stateKey = this.getStateKey(location, key);\n var storedValue = JSON.stringify(value);\n try {\n window.sessionStorage.setItem(stateKey, storedValue);\n } catch (e) {\n if (window && window[GATSBY_ROUTER_SCROLL_STATE]) {\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n } else {\n window[GATSBY_ROUTER_SCROLL_STATE] = {};\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n }\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to save state in sessionStorage; sessionStorage is not available.\");\n }\n }\n };\n _proto.getStateKey = function getStateKey(location, key) {\n var stateKeyBase = \"\" + STATE_KEY_PREFIX + location.pathname;\n return key === null || typeof key === \"undefined\" ? stateKeyBase : stateKeyBase + \"|\" + key;\n };\n return SessionStorage;\n}();\nexports.SessionStorage = SessionStorage;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = useScrollRestoration;\nvar _scrollHandler = require(\"./scroll-handler\");\nvar _react = require(\"react\");\nvar _reachRouter = require(\"@gatsbyjs/reach-router\");\nfunction useScrollRestoration(identifier) {\n var location = (0, _reachRouter.useLocation)();\n var state = (0, _react.useContext)(_scrollHandler.ScrollContext);\n var ref = (0, _react.useRef)(null);\n (0, _react.useLayoutEffect)(function () {\n if (ref.current) {\n var position = state.read(location, identifier);\n ref.current.scrollTo(0, position || 0);\n }\n }, [location.key]);\n return {\n ref: ref,\n onScroll: function onScroll() {\n if (ref.current) {\n state.save(location, identifier, ref.current.scrollTop);\n }\n }\n };\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.onInitialClientRender = void 0;\nvar _gatsbyScript = require(\"gatsby-script\");\nvar _injectPartytownSnippet = require(\"./utils/inject-partytown-snippet\");\n// Makes sure off-main-thread scripts are loaded in `gatsby develop`\nconst onInitialClientRender = () => {\n if (process.env.NODE_ENV !== `development`) {\n return;\n }\n (0, _injectPartytownSnippet.injectPartytownSnippet)(_gatsbyScript.collectedScriptsByPage.get(window.location.pathname));\n\n // Clear scripts after we've used them to avoid leaky behavior\n _gatsbyScript.collectedScriptsByPage.delete(window.location.pathname);\n};\n\n// Client-side navigation (CSR, e.g. Gatsby Link navigations) are broken upstream in Partytown.\n// We need an official API from Partytown for handling re-configuration and on-demand script loading.\n// Until then, `off-main-thread` scripts load only on server-side navigation (SSR).\n// See https://github.com/BuilderIO/partytown/issues/74 for more details.\nexports.onInitialClientRender = onInitialClientRender;\n//# sourceMappingURL=gatsby-browser.js.map","\"use strict\";\n\nexports.__esModule = true;\nexports.getForwards = getForwards;\nfunction getForwards(collectedScripts) {\n return collectedScripts === null || collectedScripts === void 0 ? void 0 : collectedScripts.flatMap(script => (script === null || script === void 0 ? void 0 : script.forward) || []);\n}\n//# sourceMappingURL=get-forwards.js.map","\"use strict\";\n\nexports.__esModule = true;\nexports.injectPartytownSnippet = injectPartytownSnippet;\nvar _integration = require(\"@builder.io/partytown/integration\");\nvar _getForwards = require(\"./get-forwards\");\n// Adapted from https://github.com/BuilderIO/partytown/blob/main/src/react/snippet.tsx to only include CSR logic\nfunction injectPartytownSnippet(collectedScripts) {\n if (!collectedScripts.length) {\n return;\n }\n const existingSnippet = document.querySelector(`script[data-partytown]`);\n const existingSandbox = document.querySelector(`iframe[src*=\"~partytown/partytown-sandbox-sw\"]`);\n if (existingSnippet) {\n existingSnippet.remove();\n }\n if (existingSandbox) {\n existingSandbox.remove();\n }\n const forwards = (0, _getForwards.getForwards)(collectedScripts);\n const snippet = document.createElement(`script`);\n snippet.dataset.partytown = ``;\n snippet.innerHTML = (0, _integration.partytownSnippet)({\n forward: forwards\n });\n document.head.appendChild(snippet);\n}\n//# sourceMappingURL=inject-partytown-snippet.js.map","exports.components = {\n \"component---src-pages-404-js\": () => import(\"./../../../src/pages/404.js\" /* webpackChunkName: \"component---src-pages-404-js\" */),\n \"component---src-pages-index-js\": () => import(\"./../../../src/pages/index.js\" /* webpackChunkName: \"component---src-pages-index-js\" */),\n \"component---src-pages-js\": () => import(\"./../../../src/pages/[...].js\" /* webpackChunkName: \"component---src-pages-js\" */)\n}\n\n","module.exports = [{\n plugin: require('../node_modules/gatsby-plugin-next-seo/gatsby-browser.js'),\n options: {\"plugins\":[],\"openGraph\":{\"title\":\"Liva Insurance\",\"type\":\"website\",\"locale\":\"en_US\",\"description\":\"Cheap Car Insurance in UAE by Liva Insurance. Get the best Third Party Car Insurance in UAE\",\"images\":[{\"url\":\"https://optimusapp.lemonhq.io/images/livaLogo.png\",\"alt\":\"Liva\"}],\"site_name\":\"Liva\"}},\n },{\n plugin: require('../gatsby-browser.js'),\n options: {\"plugins\":[]},\n },{\n plugin: require('../node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js'),\n options: {\"plugins\":[]},\n }]\n","const plugins = require(`./api-runner-browser-plugins`)\nconst { getResourceURLsForPathname, loadPage, loadPageSync } =\n require(`./loader`).publicLoader\n\nexports.apiRunner = (api, args = {}, defaultReturn, argTransform) => {\n // Hooks for gatsby-cypress's API handler\n if (process.env.CYPRESS_SUPPORT) {\n if (window.___apiHandler) {\n window.___apiHandler(api)\n } else if (window.___resolvedAPIs) {\n window.___resolvedAPIs.push(api)\n } else {\n window.___resolvedAPIs = [api]\n }\n }\n\n let results = plugins.map(plugin => {\n if (!plugin.plugin[api]) {\n return undefined\n }\n\n args.getResourceURLsForPathname = getResourceURLsForPathname\n args.loadPage = loadPage\n args.loadPageSync = loadPageSync\n\n const result = plugin.plugin[api](args, plugin.options)\n if (result && argTransform) {\n args = argTransform({ args, result, plugin })\n }\n return result\n })\n\n // Filter out undefined results.\n results = results.filter(result => typeof result !== `undefined`)\n\n if (results.length > 0) {\n return results\n } else if (defaultReturn) {\n return [defaultReturn]\n } else {\n return []\n }\n}\n\nexports.apiRunnerAsync = (api, args, defaultReturn) =>\n plugins.reduce(\n (previous, next) =>\n next.plugin[api]\n ? previous.then(() => next.plugin[api](args, next.options))\n : previous,\n Promise.resolve()\n )\n","import mitt from \"mitt\"\n\nconst emitter = mitt()\nexport default emitter\n","// \n// An event handler can take an optional event argument\n// and should not return a value\n \n \n\n// An array of all currently registered event handlers for a type\n \n \n// A map of event types and their corresponding event handlers.\n \n \n \n \n\n/** Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nfunction mitt(all ) {\n\tall = all || Object.create(null);\n\n\treturn {\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to listen for, or `\"*\"` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton: function on(type , handler ) {\n\t\t\t(all[type] || (all[type] = [])).push(handler);\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to unregister `handler` from, or `\"*\"`\n\t\t * @param {Function} handler Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff: function off(type , handler ) {\n\t\t\tif (all[type]) {\n\t\t\t\tall[type].splice(all[type].indexOf(handler) >>> 0, 1);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `\"*\"` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * @param {String} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit: function emit(type , evt ) {\n\t\t\t(all[type] || []).slice().map(function (handler) { handler(evt); });\n\t\t\t(all['*'] || []).slice().map(function (handler) { handler(type, evt); });\n\t\t}\n\t};\n}\n\nexport default mitt;\n//# sourceMappingURL=mitt.es.js.map\n","export default pathAndSearch => {\n if (pathAndSearch === undefined) {\n return pathAndSearch\n }\n let [path, search = ``] = pathAndSearch.split(`?`)\n if (search) {\n search = `?` + search\n }\n\n if (path === `/`) {\n return `/` + search\n }\n if (path.charAt(path.length - 1) === `/`) {\n return path.slice(0, -1) + search\n }\n return path + search\n}\n","import { pick } from \"@gatsbyjs/reach-router\"\nimport stripPrefix from \"./strip-prefix\"\nimport normalizePagePath from \"./normalize-page-path\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\n\nconst pathCache = new Map()\nlet matchPaths = []\n\nconst trimPathname = rawPathname => {\n let newRawPathname = rawPathname\n const queryIndex = rawPathname.indexOf(`?`)\n\n if (queryIndex !== -1) {\n const [path, qs] = rawPathname.split(`?`)\n newRawPathname = `${path}?${encodeURIComponent(qs)}`\n }\n\n const pathname = decodeURIComponent(newRawPathname)\n\n // Remove the pathPrefix from the pathname.\n const trimmedPathname = stripPrefix(\n pathname,\n decodeURIComponent(__BASE_PATH__)\n )\n // Remove any hashfragment\n .split(`#`)[0]\n\n return trimmedPathname\n}\n\nfunction absolutify(path) {\n // If it's already absolute, return as-is\n if (\n path.startsWith(`/`) ||\n path.startsWith(`https://`) ||\n path.startsWith(`http://`)\n ) {\n return path\n }\n // Calculate path relative to current location, adding a trailing slash to\n // match behavior of @reach/router\n return new URL(\n path,\n window.location.href + (window.location.href.endsWith(`/`) ? `` : `/`)\n ).pathname\n}\n\n/**\n * Set list of matchPaths\n *\n * @param {Array<{path: string, matchPath: string}>} value collection of matchPaths\n */\nexport const setMatchPaths = value => {\n matchPaths = value\n}\n\n/**\n * Return a matchpath url\n * if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n * `/foo?bar=far` => `/page1`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string|null}\n */\nexport const findMatchPath = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return normalizePagePath(path.route.originalPath)\n }\n\n return null\n}\n\n/**\n * Return a matchpath params from reach/router rules\n * if `match-paths.json` contains `{ \":bar/*foo\" }`, and the path is /baz/zaz/zoo\n * then it returns\n * { bar: baz, foo: zaz/zoo }\n *\n * @param {string} rawPathname A raw pathname\n * @return {object}\n */\nexport const grabMatchParams = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return path.params\n }\n\n return {}\n}\n\n// Given a raw URL path, returns the cleaned version of it (trim off\n// `#` and query params), or if it matches an entry in\n// `match-paths.json`, its matched path is returned\n//\n// E.g. `/foo?bar=far` => `/foo`\n//\n// Or if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n// `/foo?bar=far` => `/page1`\nexport const findPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n if (pathCache.has(trimmedPathname)) {\n return pathCache.get(trimmedPathname)\n }\n\n const redirect = maybeGetBrowserRedirect(rawPathname)\n if (redirect) {\n return findPath(redirect.toPath)\n }\n\n let foundPath = findMatchPath(trimmedPathname)\n\n if (!foundPath) {\n foundPath = cleanPath(rawPathname)\n }\n\n pathCache.set(trimmedPathname, foundPath)\n\n return foundPath\n}\n\n/**\n * Clean a url and converts /index.html => /\n * E.g. `/foo?bar=far` => `/foo`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string}\n */\nexport const cleanPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n\n let foundPath = trimmedPathname\n if (foundPath === `/index.html`) {\n foundPath = `/`\n }\n\n foundPath = normalizePagePath(foundPath)\n\n return foundPath\n}\n","import loader from \"./loader\"\n\nconst prefetchPathname = loader.enqueue\n\nfunction graphql() {\n throw new Error(\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\n `are supposed to only be evaluated at compile time, and then compiled away. ` +\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n` +\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\n )\n}\n\nexport { default as PageRenderer } from \"./public-page-renderer\"\nexport { useScrollRestoration } from \"gatsby-react-router-scroll\"\nexport {\n Link,\n withPrefix,\n withAssetPrefix,\n navigate,\n parsePath,\n} from \"gatsby-link\"\n\nexport { graphql, prefetchPathname }\nexport { StaticQuery, StaticQueryContext, useStaticQuery } from \"./static-query\"\nexport { Slice } from \"./slice\"\nexport * from \"gatsby-script\"\n","const support = function (feature) {\n if (typeof document === `undefined`) {\n return false\n }\n const fakeLink = document.createElement(`link`)\n try {\n if (fakeLink.relList && typeof fakeLink.relList.supports === `function`) {\n return fakeLink.relList.supports(feature)\n }\n } catch (err) {\n return false\n }\n return false\n}\n\nconst linkPrefetchStrategy = function (url, options) {\n return new Promise((resolve, reject) => {\n if (typeof document === `undefined`) {\n reject()\n return\n }\n\n const link = document.createElement(`link`)\n link.setAttribute(`rel`, `prefetch`)\n link.setAttribute(`href`, url)\n\n Object.keys(options).forEach(key => {\n link.setAttribute(key, options[key])\n })\n\n link.onload = resolve\n link.onerror = reject\n\n const parentElement =\n document.getElementsByTagName(`head`)[0] ||\n document.getElementsByName(`script`)[0].parentNode\n parentElement.appendChild(link)\n })\n}\n\nconst xhrPrefetchStrategy = function (url) {\n return new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(`GET`, url, true)\n\n req.onload = () => {\n if (req.status === 200) {\n resolve()\n } else {\n reject()\n }\n }\n\n req.send(null)\n })\n}\n\nconst supportedPrefetchStrategy = support(`prefetch`)\n ? linkPrefetchStrategy\n : xhrPrefetchStrategy\n\nconst preFetched = {}\n\nconst prefetch = function (url, options) {\n return new Promise(resolve => {\n if (preFetched[url]) {\n resolve()\n return\n }\n\n supportedPrefetchStrategy(url, options)\n .then(() => {\n resolve()\n preFetched[url] = true\n })\n .catch(() => {}) // 404s are logged to the console anyway\n })\n}\n\nexport default prefetch\n","import { createFromReadableStream } from \"react-server-dom-webpack\"\nimport prefetchHelper from \"./prefetch\"\nimport emitter from \"./emitter\"\nimport { setMatchPaths, findPath, findMatchPath } from \"./find-path\"\n\n/**\n * Available resource loading statuses\n */\nexport const PageResourceStatus = {\n /**\n * At least one of critical resources failed to load\n */\n Error: `error`,\n /**\n * Resources loaded successfully\n */\n Success: `success`,\n}\n\nconst preferDefault = m => (m && m.default) || m\n\nconst stripSurroundingSlashes = s => {\n s = s[0] === `/` ? s.slice(1) : s\n s = s.endsWith(`/`) ? s.slice(0, -1) : s\n return s\n}\n\nconst createPageDataUrl = rawPath => {\n const [path, maybeSearch] = rawPath.split(`?`)\n const fixedPath = path === `/` ? `index` : stripSurroundingSlashes(path)\n return `${__PATH_PREFIX__}/page-data/${fixedPath}/page-data.json${\n maybeSearch ? `?${maybeSearch}` : ``\n }`\n}\n\n/**\n * Utility to check the path that goes into doFetch for e.g. potential malicious intentions.\n * It checks for \"//\" because with this you could do a fetch request to a different domain.\n */\nconst shouldAbortFetch = rawPath => rawPath.startsWith(`//`)\n\nfunction doFetch(url, method = `GET`) {\n return new Promise(resolve => {\n const req = new XMLHttpRequest()\n req.open(method, url, true)\n req.onreadystatechange = () => {\n if (req.readyState == 4) {\n resolve(req)\n }\n }\n req.send(null)\n })\n}\n\nconst doesConnectionSupportPrefetch = () => {\n if (\n `connection` in navigator &&\n typeof navigator.connection !== `undefined`\n ) {\n if ((navigator.connection.effectiveType || ``).includes(`2g`)) {\n return false\n }\n if (navigator.connection.saveData) {\n return false\n }\n }\n return true\n}\n\n// Regex that matches common search crawlers\nconst BOT_REGEX = /bot|crawler|spider|crawling/i\n\nconst toPageResources = (pageData, component = null, head) => {\n const page = {\n componentChunkName: pageData.componentChunkName,\n path: pageData.path,\n webpackCompilationHash: pageData.webpackCompilationHash,\n matchPath: pageData.matchPath,\n staticQueryHashes: pageData.staticQueryHashes,\n getServerDataError: pageData.getServerDataError,\n slicesMap: pageData.slicesMap ?? {},\n }\n\n return {\n component,\n head,\n json: pageData.result,\n page,\n }\n}\n\nfunction waitForResponse(response) {\n return new Promise(resolve => {\n try {\n const result = response.readRoot()\n resolve(result)\n } catch (err) {\n if (\n Object.hasOwnProperty.call(err, `_response`) &&\n Object.hasOwnProperty.call(err, `_status`)\n ) {\n setTimeout(() => {\n waitForResponse(response).then(resolve)\n }, 200)\n } else {\n throw err\n }\n }\n })\n}\n\nexport class BaseLoader {\n constructor(loadComponent, matchPaths) {\n // Map of pagePath -> Page. Where Page is an object with: {\n // status: PageResourceStatus.Success || PageResourceStatus.Error,\n // payload: PageResources, // undefined if PageResourceStatus.Error\n // }\n // PageResources is {\n // component,\n // json: pageData.result,\n // page: {\n // componentChunkName,\n // path,\n // webpackCompilationHash,\n // staticQueryHashes\n // },\n // staticQueryResults\n // }\n this.pageDb = new Map()\n this.inFlightDb = new Map()\n this.staticQueryDb = {}\n this.pageDataDb = new Map()\n this.partialHydrationDb = new Map()\n this.slicesDataDb = new Map()\n this.sliceInflightDb = new Map()\n this.slicesDb = new Map()\n this.isPrefetchQueueRunning = false\n this.prefetchQueued = []\n this.prefetchTriggered = new Set()\n this.prefetchCompleted = new Set()\n this.loadComponent = loadComponent\n setMatchPaths(matchPaths)\n }\n\n inFlightNetworkRequests = new Map()\n\n memoizedGet(url) {\n let inFlightPromise = this.inFlightNetworkRequests.get(url)\n\n if (!inFlightPromise) {\n inFlightPromise = doFetch(url, `GET`)\n this.inFlightNetworkRequests.set(url, inFlightPromise)\n }\n\n // Prefer duplication with then + catch over .finally to prevent problems in ie11 + firefox\n return inFlightPromise\n .then(response => {\n this.inFlightNetworkRequests.delete(url)\n return response\n })\n .catch(err => {\n this.inFlightNetworkRequests.delete(url)\n throw err\n })\n }\n\n setApiRunner(apiRunner) {\n this.apiRunner = apiRunner\n this.prefetchDisabled = apiRunner(`disableCorePrefetching`).some(a => a)\n }\n\n fetchPageDataJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.path === undefined) {\n throw new Error(`not a valid pageData response`)\n }\n\n const maybeSearch = pagePath.split(`?`)[1]\n if (maybeSearch && !jsonPayload.path.includes(maybeSearch)) {\n jsonPayload.path += `?${maybeSearch}`\n }\n\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: jsonPayload,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404/500 page and it doesn't exist, we're done\n if (pagePath === `/404.html` || pagePath === `/500.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPageDataJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, {\n pagePath: `/500.html`,\n internalServerError: true,\n })\n )\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n fetchPartialHydrationJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath).replace(`.json`, `-rsc.json`)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: responseText,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404/500 page and it doesn't exist, we're done\n if (pagePath === `/404.html` || pagePath === `/500.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, {\n pagePath: `/500.html`,\n internalServerError: true,\n })\n )\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n loadPageDataJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDataDb.has(pagePath)) {\n const pageData = this.pageDataDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPageDataJson({ pagePath }).then(pageData => {\n this.pageDataDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n loadPartialHydrationJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.partialHydrationDb.has(pagePath)) {\n const pageData = this.partialHydrationDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPartialHydrationJson({ pagePath }).then(pageData => {\n this.partialHydrationDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n loadSliceDataJson(sliceName) {\n if (this.slicesDataDb.has(sliceName)) {\n const jsonPayload = this.slicesDataDb.get(sliceName)\n return Promise.resolve({ sliceName, jsonPayload })\n }\n\n const url = `${__PATH_PREFIX__}/slice-data/${sliceName}.json`\n return doFetch(url, `GET`).then(res => {\n const jsonPayload = JSON.parse(res.responseText)\n\n this.slicesDataDb.set(sliceName, jsonPayload)\n return { sliceName, jsonPayload }\n })\n }\n\n findMatchPath(rawPath) {\n return findMatchPath(rawPath)\n }\n\n // TODO check all uses of this and whether they use undefined for page resources not exist\n loadPage(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const page = this.pageDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !page.payload.stale) {\n if (page.error) {\n return Promise.resolve({\n error: page.error,\n status: page.status,\n })\n }\n\n return Promise.resolve(page.payload)\n }\n }\n\n if (this.inFlightDb.has(pagePath)) {\n return this.inFlightDb.get(pagePath)\n }\n\n const loadDataPromises = [\n this.loadAppData(),\n this.loadPageDataJson(pagePath),\n ]\n\n if (global.hasPartialHydration) {\n loadDataPromises.push(this.loadPartialHydrationJson(pagePath))\n }\n\n const inFlightPromise = Promise.all(loadDataPromises).then(allData => {\n const [appDataResponse, pageDataResponse, rscDataResponse] = allData\n\n if (\n pageDataResponse.status === PageResourceStatus.Error ||\n rscDataResponse?.status === PageResourceStatus.Error\n ) {\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n let pageData = pageDataResponse.payload\n\n const {\n componentChunkName,\n staticQueryHashes: pageStaticQueryHashes = [],\n slicesMap = {},\n } = pageData\n\n const finalResult = {}\n\n const dedupedSliceNames = Array.from(new Set(Object.values(slicesMap)))\n\n const loadSlice = slice => {\n if (this.slicesDb.has(slice.name)) {\n return this.slicesDb.get(slice.name)\n } else if (this.sliceInflightDb.has(slice.name)) {\n return this.sliceInflightDb.get(slice.name)\n }\n\n const inFlight = this.loadComponent(slice.componentChunkName).then(\n component => {\n return {\n component: preferDefault(component),\n sliceContext: slice.result.sliceContext,\n data: slice.result.data,\n }\n }\n )\n\n this.sliceInflightDb.set(slice.name, inFlight)\n inFlight.then(results => {\n this.slicesDb.set(slice.name, results)\n this.sliceInflightDb.delete(slice.name)\n })\n\n return inFlight\n }\n\n return Promise.all(\n dedupedSliceNames.map(sliceName => this.loadSliceDataJson(sliceName))\n ).then(slicesData => {\n const slices = []\n const dedupedStaticQueryHashes = [...pageStaticQueryHashes]\n\n for (const { jsonPayload, sliceName } of Object.values(slicesData)) {\n slices.push({ name: sliceName, ...jsonPayload })\n for (const staticQueryHash of jsonPayload.staticQueryHashes) {\n if (!dedupedStaticQueryHashes.includes(staticQueryHash)) {\n dedupedStaticQueryHashes.push(staticQueryHash)\n }\n }\n }\n\n const loadChunkPromises = [\n Promise.all(slices.map(loadSlice)),\n this.loadComponent(componentChunkName, `head`),\n ]\n\n if (!global.hasPartialHydration) {\n loadChunkPromises.push(this.loadComponent(componentChunkName))\n }\n\n // In develop we have separate chunks for template and Head components\n // to enable HMR (fast refresh requires single exports).\n // In production we have shared chunk with both exports. Double loadComponent here\n // will be deduped by webpack runtime resulting in single request and single module\n // being loaded for both `component` and `head`.\n // get list of components to get\n const componentChunkPromises = Promise.all(loadChunkPromises).then(\n components => {\n const [sliceComponents, headComponent, pageComponent] = components\n\n finalResult.createdAt = new Date()\n\n for (const sliceComponent of sliceComponents) {\n if (!sliceComponent || sliceComponent instanceof Error) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = sliceComponent\n }\n }\n\n if (\n !global.hasPartialHydration &&\n (!pageComponent || pageComponent instanceof Error)\n ) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = pageComponent\n }\n\n let pageResources\n\n if (finalResult.status !== PageResourceStatus.Error) {\n finalResult.status = PageResourceStatus.Success\n if (\n pageDataResponse.notFound === true ||\n rscDataResponse?.notFound === true\n ) {\n finalResult.notFound = true\n }\n pageData = Object.assign(pageData, {\n webpackCompilationHash: appDataResponse\n ? appDataResponse.webpackCompilationHash\n : ``,\n })\n\n if (typeof rscDataResponse?.payload === `string`) {\n pageResources = toPageResources(pageData, null, headComponent)\n\n pageResources.partialHydration = rscDataResponse.payload\n\n const readableStream = new ReadableStream({\n start(controller) {\n const te = new TextEncoder()\n controller.enqueue(te.encode(rscDataResponse.payload))\n },\n pull(controller) {\n // close on next read when queue is empty\n controller.close()\n },\n cancel() {},\n })\n\n return waitForResponse(\n createFromReadableStream(readableStream)\n ).then(result => {\n pageResources.partialHydration = result\n\n return pageResources\n })\n } else {\n pageResources = toPageResources(\n pageData,\n pageComponent,\n headComponent\n )\n }\n }\n\n // undefined if final result is an error\n return pageResources\n }\n )\n\n // get list of static queries to get\n const staticQueryBatchPromise = Promise.all(\n dedupedStaticQueryHashes.map(staticQueryHash => {\n // Check for cache in case this static query result has already been loaded\n if (this.staticQueryDb[staticQueryHash]) {\n const jsonPayload = this.staticQueryDb[staticQueryHash]\n return { staticQueryHash, jsonPayload }\n }\n\n return this.memoizedGet(\n `${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json`\n )\n .then(req => {\n const jsonPayload = JSON.parse(req.responseText)\n return { staticQueryHash, jsonPayload }\n })\n .catch(() => {\n throw new Error(\n `We couldn't load \"${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json\"`\n )\n })\n })\n ).then(staticQueryResults => {\n const staticQueryResultsMap = {}\n\n staticQueryResults.forEach(({ staticQueryHash, jsonPayload }) => {\n staticQueryResultsMap[staticQueryHash] = jsonPayload\n this.staticQueryDb[staticQueryHash] = jsonPayload\n })\n\n return staticQueryResultsMap\n })\n\n return (\n Promise.all([componentChunkPromises, staticQueryBatchPromise])\n .then(([pageResources, staticQueryResults]) => {\n let payload\n if (pageResources) {\n payload = { ...pageResources, staticQueryResults }\n finalResult.payload = payload\n emitter.emit(`onPostLoadPageResources`, {\n page: payload,\n pageResources: payload,\n })\n }\n\n this.pageDb.set(pagePath, finalResult)\n\n if (finalResult.error) {\n return {\n error: finalResult.error,\n status: finalResult.status,\n }\n }\n\n return payload\n })\n // when static-query fail to load we throw a better error\n .catch(err => {\n return {\n error: err,\n status: PageResourceStatus.Error,\n }\n })\n )\n })\n })\n\n inFlightPromise\n .then(() => {\n this.inFlightDb.delete(pagePath)\n })\n .catch(error => {\n this.inFlightDb.delete(pagePath)\n throw error\n })\n\n this.inFlightDb.set(pagePath, inFlightPromise)\n\n return inFlightPromise\n }\n\n // returns undefined if the page does not exists in cache\n loadPageSync(rawPath, options = {}) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const pageData = this.pageDb.get(pagePath)\n\n if (pageData.payload) {\n return pageData.payload\n }\n\n if (options?.withErrorDetails) {\n return {\n error: pageData.error,\n status: pageData.status,\n }\n }\n }\n return undefined\n }\n\n shouldPrefetch(pagePath) {\n // Skip prefetching if we know user is on slow or constrained connection\n if (!doesConnectionSupportPrefetch()) {\n return false\n }\n\n // Don't prefetch if this is a crawler bot\n if (navigator.userAgent && BOT_REGEX.test(navigator.userAgent)) {\n return false\n }\n\n // Check if the page exists.\n if (this.pageDb.has(pagePath)) {\n return false\n }\n\n return true\n }\n\n prefetch(pagePath) {\n if (!this.shouldPrefetch(pagePath)) {\n return {\n then: resolve => resolve(false),\n abort: () => {},\n }\n }\n if (this.prefetchTriggered.has(pagePath)) {\n return {\n then: resolve => resolve(true),\n abort: () => {},\n }\n }\n\n const defer = {\n resolve: null,\n reject: null,\n promise: null,\n }\n defer.promise = new Promise((resolve, reject) => {\n defer.resolve = resolve\n defer.reject = reject\n })\n this.prefetchQueued.push([pagePath, defer])\n const abortC = new AbortController()\n abortC.signal.addEventListener(`abort`, () => {\n const index = this.prefetchQueued.findIndex(([p]) => p === pagePath)\n // remove from the queue\n if (index !== -1) {\n this.prefetchQueued.splice(index, 1)\n }\n })\n\n if (!this.isPrefetchQueueRunning) {\n this.isPrefetchQueueRunning = true\n setTimeout(() => {\n this._processNextPrefetchBatch()\n }, 3000)\n }\n\n return {\n then: (resolve, reject) => defer.promise.then(resolve, reject),\n abort: abortC.abort.bind(abortC),\n }\n }\n\n _processNextPrefetchBatch() {\n const idleCallback = window.requestIdleCallback || (cb => setTimeout(cb, 0))\n\n idleCallback(() => {\n const toPrefetch = this.prefetchQueued.splice(0, 4)\n const prefetches = Promise.all(\n toPrefetch.map(([pagePath, dPromise]) => {\n // Tell plugins with custom prefetching logic that they should start\n // prefetching this path.\n if (!this.prefetchTriggered.has(pagePath)) {\n this.apiRunner(`onPrefetchPathname`, { pathname: pagePath })\n this.prefetchTriggered.add(pagePath)\n }\n\n // If a plugin has disabled core prefetching, stop now.\n if (this.prefetchDisabled) {\n return dPromise.resolve(false)\n }\n\n return this.doPrefetch(findPath(pagePath)).then(() => {\n if (!this.prefetchCompleted.has(pagePath)) {\n this.apiRunner(`onPostPrefetchPathname`, { pathname: pagePath })\n this.prefetchCompleted.add(pagePath)\n }\n\n dPromise.resolve(true)\n })\n })\n )\n\n if (this.prefetchQueued.length) {\n prefetches.then(() => {\n setTimeout(() => {\n this._processNextPrefetchBatch()\n }, 3000)\n })\n } else {\n this.isPrefetchQueueRunning = false\n }\n })\n }\n\n doPrefetch(pagePath) {\n const pageDataUrl = createPageDataUrl(pagePath)\n\n if (global.hasPartialHydration) {\n return Promise.all([\n prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n ),\n prefetchHelper(pageDataUrl.replace(`.json`, `-rsc.json`), {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPartialHydrationJson(pagePath)\n ),\n ])\n } else {\n return prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n )\n }\n }\n\n hovering(rawPath) {\n this.loadPage(rawPath)\n }\n\n getResourceURLsForPathname(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDataDb.get(pagePath)\n if (page) {\n const pageResources = toPageResources(page.payload)\n\n return [\n ...createComponentUrls(pageResources.page.componentChunkName),\n createPageDataUrl(pagePath),\n ]\n } else {\n return null\n }\n }\n\n isPageNotFound(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDb.get(pagePath)\n return !page || page.notFound\n }\n\n loadAppData(retries = 0) {\n return this.memoizedGet(`${__PATH_PREFIX__}/page-data/app-data.json`).then(\n req => {\n const { status, responseText } = req\n\n let appData\n\n if (status !== 200 && retries < 3) {\n // Retry 3 times incase of non-200 responses\n return this.loadAppData(retries + 1)\n }\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.webpackCompilationHash === undefined) {\n throw new Error(`not a valid app-data response`)\n }\n\n appData = jsonPayload\n } catch (err) {\n // continue regardless of error\n }\n }\n\n return appData\n }\n )\n }\n}\n\nconst createComponentUrls = componentChunkName =>\n (window.___chunkMapping[componentChunkName] || []).map(\n chunk => __PATH_PREFIX__ + chunk\n )\n\nexport class ProdLoader extends BaseLoader {\n constructor(asyncRequires, matchPaths, pageData) {\n const loadComponent = (chunkName, exportType = `components`) => {\n if (!global.hasPartialHydration) {\n exportType = `components`\n }\n\n if (!asyncRequires[exportType][chunkName]) {\n throw new Error(\n `We couldn't find the correct component chunk with the name \"${chunkName}\"`\n )\n }\n\n return (\n asyncRequires[exportType][chunkName]()\n // loader will handle the case when component is error\n .catch(err => err)\n )\n }\n\n super(loadComponent, matchPaths)\n\n if (pageData) {\n this.pageDataDb.set(findPath(pageData.path), {\n pagePath: pageData.path,\n payload: pageData,\n status: `success`,\n })\n }\n }\n\n doPrefetch(pagePath) {\n return super.doPrefetch(pagePath).then(result => {\n if (result.status !== PageResourceStatus.Success) {\n return Promise.resolve()\n }\n const pageData = result.payload\n const chunkName = pageData.componentChunkName\n const componentUrls = createComponentUrls(chunkName)\n return Promise.all(componentUrls.map(prefetchHelper)).then(() => pageData)\n })\n }\n\n loadPageDataJson(rawPath) {\n return super.loadPageDataJson(rawPath).then(data => {\n if (data.notFound) {\n if (shouldAbortFetch(rawPath)) {\n return data\n }\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n\n loadPartialHydrationJson(rawPath) {\n return super.loadPartialHydrationJson(rawPath).then(data => {\n if (data.notFound) {\n if (shouldAbortFetch(rawPath)) {\n return data\n }\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n}\n\nlet instance\n\nexport const setLoader = _loader => {\n instance = _loader\n}\n\nexport const publicLoader = {\n enqueue: rawPath => instance.prefetch(rawPath),\n\n // Real methods\n getResourceURLsForPathname: rawPath =>\n instance.getResourceURLsForPathname(rawPath),\n loadPage: rawPath => instance.loadPage(rawPath),\n // TODO add deprecation to v4 so people use withErrorDetails and then we can remove in v5 and change default behaviour\n loadPageSync: (rawPath, options = {}) =>\n instance.loadPageSync(rawPath, options),\n prefetch: rawPath => instance.prefetch(rawPath),\n isPageNotFound: rawPath => instance.isPageNotFound(rawPath),\n hovering: rawPath => instance.hovering(rawPath),\n loadAppData: () => instance.loadAppData(),\n}\n\nexport default publicLoader\n\nexport function getStaticQueryResults() {\n if (instance) {\n return instance.staticQueryDb\n } else {\n return {}\n }\n}\n\nexport function getSliceResults() {\n if (instance) {\n return instance.slicesDb\n } else {\n return {}\n }\n}\n","import { useEffect } from \"react\"\n\n/*\n * Calls callback in an effect and renders children\n */\nexport function FireCallbackInEffect({ children, callback }) {\n useEffect(() => {\n callback()\n })\n\n return children\n}\n","export const VALID_NODE_NAMES = [\n `link`,\n `meta`,\n `style`,\n `title`,\n `base`,\n `noscript`,\n `script`,\n `html`,\n `body`,\n]\n","import { VALID_NODE_NAMES } from \"./constants\"\n\n/**\n * Filter the props coming from a page down to just the ones that are relevant for head.\n * This e.g. filters out properties that are undefined during SSR.\n */\nexport function filterHeadProps(input) {\n return {\n location: {\n pathname: input.location.pathname,\n },\n params: input.params,\n data: input.data || {},\n serverData: input.serverData,\n pageContext: input.pageContext,\n }\n}\n\n/**\n * Throw error if Head export is not a valid function\n */\nexport function headExportValidator(head) {\n if (typeof head !== `function`)\n throw new Error(\n `Expected \"Head\" export to be a function got \"${typeof head}\".`\n )\n}\n\n/**\n * Warn once for same messsage\n */\nlet warnOnce = _ => {}\nif (process.env.NODE_ENV !== `production`) {\n const warnings = new Set()\n warnOnce = msg => {\n if (!warnings.has(msg)) {\n console.warn(msg)\n }\n warnings.add(msg)\n }\n}\n\n/**\n * Warn for invalid tags in Head which may have been directly added or introduced by `wrapRootElement`\n * @param {string} tagName\n */\nexport function warnForInvalidTag(tagName) {\n if (process.env.NODE_ENV !== `production`) {\n const warning = createWarningForInvalidTag(tagName)\n warnOnce(warning)\n }\n}\n\nfunction createWarningForInvalidTag(tagName) {\n return `<${tagName}> is not a valid head element. Please use one of the following: ${VALID_NODE_NAMES.join(\n `, `\n )}.\\n\\nAlso make sure that wrapRootElement in gatsby-ssr/gatsby-browser doesn't contain UI elements: https://gatsby.dev/invalid-head-elements`\n}\n\n/**\n * When a `nonce` is present on an element, browsers such as Chrome and Firefox strip it out of the\n * actual HTML attributes for security reasons *when the element is added to the document*. Thus,\n * given two equivalent elements that have nonces, `Element,isEqualNode()` will return false if one\n * of those elements gets added to the document. Although the `element.nonce` property will be the\n * same for both elements, the one that was added to the document will return an empty string for\n * its nonce HTML attribute value.\n *\n * This custom `isEqualNode()` function therefore removes the nonce value from the `newTag` before\n * comparing it to `oldTag`, restoring it afterwards.\n *\n * For more information, see:\n * https://bugs.chromium.org/p/chromium/issues/detail?id=1211471#c12\n */\nexport function isEqualNode(oldTag, newTag) {\n if (oldTag instanceof HTMLElement && newTag instanceof HTMLElement) {\n const nonce = newTag.getAttribute(`nonce`)\n // Only strip the nonce if `oldTag` has had it stripped. An element's nonce attribute will not\n // be stripped if there is no content security policy response header that includes a nonce.\n if (nonce && !oldTag.getAttribute(`nonce`)) {\n const cloneTag = newTag.cloneNode(true)\n cloneTag.setAttribute(`nonce`, ``)\n cloneTag.nonce = nonce\n return nonce === oldTag.nonce && oldTag.isEqualNode(cloneTag)\n }\n }\n\n return oldTag.isEqualNode(newTag)\n}\n\nexport function diffNodes({ oldNodes, newNodes, onStale, onNew }) {\n for (const existingHeadElement of oldNodes) {\n const indexInNewNodes = newNodes.findIndex(e =>\n isEqualNode(e, existingHeadElement)\n )\n\n if (indexInNewNodes === -1) {\n onStale(existingHeadElement)\n } else {\n // this node is re-created as-is, so we keep old node, and remove it from list of new nodes (as we handled it already here)\n newNodes.splice(indexInNewNodes, 1)\n }\n }\n\n // remaing new nodes didn't have matching old node, so need to be added\n for (const newNode of newNodes) {\n onNew(newNode)\n }\n}\n\nexport function getValidHeadNodesAndAttributes(\n rootNode,\n htmlAndBodyAttributes = {\n html: {},\n body: {},\n }\n) {\n const seenIds = new Map()\n const validHeadNodes = []\n\n // Filter out non-element nodes before looping since we don't care about them\n for (const node of rootNode.childNodes) {\n const nodeName = node.nodeName.toLowerCase()\n const id = node.attributes?.id?.value\n\n if (!isElementType(node)) continue\n\n if (isValidNodeName(nodeName)) {\n // and tags are treated differently, in that we don't render them, we only extract the attributes and apply them separetely\n if (nodeName === `html` || nodeName === `body`) {\n for (const attribute of node.attributes) {\n const isStyleAttribute = attribute.name === `style`\n\n // Merge attributes for same nodeName from previous loop iteration\n htmlAndBodyAttributes[nodeName] = {\n ...htmlAndBodyAttributes[nodeName],\n }\n\n if (!isStyleAttribute) {\n htmlAndBodyAttributes[nodeName][attribute.name] = attribute.value\n }\n\n // If there is already a style attribute, we need to merge them as otherwise the last one will \"win\"\n if (isStyleAttribute) {\n htmlAndBodyAttributes[nodeName].style = `${\n htmlAndBodyAttributes[nodeName]?.style\n ? htmlAndBodyAttributes[nodeName].style\n : ``\n }${attribute.value} `\n }\n }\n } else {\n let clonedNode = node.cloneNode(true)\n clonedNode.setAttribute(`data-gatsby-head`, true)\n\n // // This is hack to make script tags work\n if (clonedNode.nodeName.toLowerCase() === `script`) {\n clonedNode = massageScript(clonedNode)\n }\n // Duplicate ids are not allowed in the head, so we need to dedupe them\n if (id) {\n if (!seenIds.has(id)) {\n validHeadNodes.push(clonedNode)\n seenIds.set(id, validHeadNodes.length - 1)\n } else {\n const indexOfPreviouslyInsertedNode = seenIds.get(id)\n validHeadNodes[\n indexOfPreviouslyInsertedNode\n ].parentNode?.removeChild(\n validHeadNodes[indexOfPreviouslyInsertedNode]\n )\n validHeadNodes[indexOfPreviouslyInsertedNode] = clonedNode\n }\n } else {\n validHeadNodes.push(clonedNode)\n }\n }\n } else {\n warnForInvalidTag(nodeName)\n }\n\n if (node.childNodes.length) {\n validHeadNodes.push(\n ...getValidHeadNodesAndAttributes(node, htmlAndBodyAttributes)\n .validHeadNodes\n )\n }\n }\n\n return { validHeadNodes, htmlAndBodyAttributes }\n}\n\nfunction massageScript(node) {\n const script = document.createElement(`script`)\n for (const attr of node.attributes) {\n script.setAttribute(attr.name, attr.value)\n }\n script.innerHTML = node.innerHTML\n\n return script\n}\n\nexport function isValidNodeName(nodeName) {\n return VALID_NODE_NAMES.includes(nodeName)\n}\n/*\n * For Head, we only care about element nodes(type = 1), so this util is used to skip over non-element nodes\n * For Node type, see https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\n */\nexport function isElementType(node) {\n return node.nodeType === 1\n}\n\n/**\n * Removes all the head elements that were added by `Head`\n */\nexport function removePrevHeadElements() {\n const prevHeadNodes = document.querySelectorAll(`[data-gatsby-head]`)\n for (const node of prevHeadNodes) {\n node.parentNode.removeChild(node)\n }\n}\n\nexport function applyHtmlAndBodyAttributes(htmlAndBodyAttributes) {\n if (!htmlAndBodyAttributes) return\n\n const { html, body } = htmlAndBodyAttributes\n\n const htmlElement = document.querySelector(`html`)\n if (htmlElement) {\n Object.entries(html).forEach(([attributeName, attributeValue]) => {\n htmlElement.setAttribute(attributeName, attributeValue)\n })\n }\n\n const bodyElement = document.querySelector(`body`)\n if (bodyElement) {\n Object.entries(body).forEach(([attributeName, attributeValue]) => {\n bodyElement.setAttribute(attributeName, attributeValue)\n })\n }\n}\n\nexport function removeHtmlAndBodyAttributes(htmlAndBodyattributeList) {\n if (!htmlAndBodyattributeList) return\n\n const { html, body } = htmlAndBodyattributeList\n\n if (html) {\n const htmlElement = document.querySelector(`html`)\n html.forEach(attributeName => {\n if (htmlElement) {\n htmlElement.removeAttribute(attributeName)\n }\n })\n }\n\n if (body) {\n const bodyElement = document.querySelector(`body`)\n body.forEach(attributeName => {\n if (bodyElement) {\n bodyElement.removeAttribute(attributeName)\n }\n })\n }\n}\n","import React from \"react\"\nimport { useEffect } from \"react\"\nimport { StaticQueryContext } from \"gatsby\"\nimport { LocationProvider } from \"@gatsbyjs/reach-router\"\nimport { reactDOMUtils } from \"../react-dom-utils\"\nimport { FireCallbackInEffect } from \"./components/fire-callback-in-effect\"\nimport {\n headExportValidator,\n filterHeadProps,\n diffNodes,\n getValidHeadNodesAndAttributes,\n removePrevHeadElements,\n applyHtmlAndBodyAttributes,\n removeHtmlAndBodyAttributes,\n} from \"./utils\"\nimport { apiRunner } from \"../api-runner-browser\"\n\nconst hiddenRoot = document.createElement(`div`)\nconst keysOfHtmlAndBodyAttributes = {\n html: [],\n body: [],\n}\n\nconst onHeadRendered = () => {\n const { validHeadNodes, htmlAndBodyAttributes } =\n getValidHeadNodesAndAttributes(hiddenRoot)\n\n keysOfHtmlAndBodyAttributes.html = Object.keys(htmlAndBodyAttributes.html)\n keysOfHtmlAndBodyAttributes.body = Object.keys(htmlAndBodyAttributes.body)\n\n applyHtmlAndBodyAttributes(htmlAndBodyAttributes)\n\n /**\n * The rest of the code block below is a diffing mechanism to ensure that\n * the head elements aren't duplicted on every re-render.\n */\n const existingHeadElements = document.querySelectorAll(`[data-gatsby-head]`)\n\n if (existingHeadElements.length === 0) {\n document.head.append(...validHeadNodes)\n return\n }\n\n const newHeadNodes = []\n diffNodes({\n oldNodes: existingHeadElements,\n newNodes: validHeadNodes,\n onStale: node => node.parentNode.removeChild(node),\n onNew: node => newHeadNodes.push(node),\n })\n\n document.head.append(...newHeadNodes)\n}\n\nif (process.env.BUILD_STAGE === `develop`) {\n // sigh ... and elements are not valid descedents of
(our hidden element)\n // react-dom in dev mode will warn about this. There doesn't seem to be a way to render arbitrary\n // user Head without hitting this issue (our hidden element could be just \"new Document()\", but\n // this can only have 1 child, and we don't control what is being rendered so that's not an option)\n // instead we continue to render to
, and just silence warnings for and elements\n // https://github.com/facebook/react/blob/e2424f33b3ad727321fc12e75c5e94838e84c2b5/packages/react-dom-bindings/src/client/validateDOMNesting.js#L498-L520\n const originalConsoleError = console.error.bind(console)\n console.error = (...args) => {\n if (\n Array.isArray(args) &&\n args.length >= 2 &&\n args[0]?.includes?.(`validateDOMNesting(...): %s cannot appear as`) &&\n (args[1] === `` || args[1] === ``)\n ) {\n return undefined\n }\n return originalConsoleError(...args)\n }\n\n /* We set up observer to be able to regenerate after react-refresh\n updates our hidden element.\n */\n const observer = new MutationObserver(onHeadRendered)\n observer.observe(hiddenRoot, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true,\n })\n}\n\nexport function headHandlerForBrowser({\n pageComponent,\n staticQueryResults,\n pageComponentProps,\n}) {\n useEffect(() => {\n if (pageComponent?.Head) {\n headExportValidator(pageComponent.Head)\n\n const { render } = reactDOMUtils()\n\n const HeadElement = (\n \n )\n\n const WrapHeadElement = apiRunner(\n `wrapRootElement`,\n { element: HeadElement },\n HeadElement,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n render(\n // just a hack to call the callback after react has done first render\n // Note: In dev, we call onHeadRendered twice( in FireCallbackInEffect and after mutualution observer dectects initail render into hiddenRoot) this is for hot reloading\n // In Prod we only call onHeadRendered in FireCallbackInEffect to render to head\n \n \n {WrapHeadElement}\n \n ,\n hiddenRoot\n )\n }\n\n return () => {\n removePrevHeadElements()\n removeHtmlAndBodyAttributes(keysOfHtmlAndBodyAttributes)\n }\n })\n}\n","import React, { Suspense, createElement } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport { grabMatchParams } from \"./find-path\"\nimport { headHandlerForBrowser } from \"./head/head-export-handler-for-browser\"\n\n// Renders page\nfunction PageRenderer(props) {\n const pageComponentProps = {\n ...props,\n params: {\n ...grabMatchParams(props.location.pathname),\n ...props.pageResources.json.pageContext.__params,\n },\n }\n\n const preferDefault = m => (m && m.default) || m\n\n let pageElement\n if (props.pageResources.partialHydration) {\n pageElement = props.pageResources.partialHydration\n } else {\n pageElement = createElement(preferDefault(props.pageResources.component), {\n ...pageComponentProps,\n key: props.path || props.pageResources.page.path,\n })\n }\n\n const pageComponent = props.pageResources.head\n\n headHandlerForBrowser({\n pageComponent,\n staticQueryResults: props.pageResources.staticQueryResults,\n pageComponentProps,\n })\n\n const wrappedPage = apiRunner(\n `wrapPageElement`,\n {\n element: pageElement,\n props: pageComponentProps,\n },\n pageElement,\n ({ result }) => {\n return { element: result, props: pageComponentProps }\n }\n ).pop()\n\n return wrappedPage\n}\n\nPageRenderer.propTypes = {\n location: PropTypes.object.isRequired,\n pageResources: PropTypes.object.isRequired,\n data: PropTypes.object,\n pageContext: PropTypes.object.isRequired,\n}\n\nexport default PageRenderer\n","// This is extracted to separate module because it's shared\n// between browser and SSR code\nexport const RouteAnnouncerProps = {\n id: `gatsby-announcer`,\n style: {\n position: `absolute`,\n top: 0,\n width: 1,\n height: 1,\n padding: 0,\n overflow: `hidden`,\n clip: `rect(0, 0, 0, 0)`,\n whiteSpace: `nowrap`,\n border: 0,\n },\n \"aria-live\": `assertive`,\n \"aria-atomic\": `true`,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport emitter from \"./emitter\"\nimport { RouteAnnouncerProps } from \"./route-announcer-props\"\nimport {\n navigate as reachNavigate,\n globalHistory,\n} from \"@gatsbyjs/reach-router\"\nimport { parsePath } from \"gatsby-link\"\n\nfunction maybeRedirect(pathname) {\n const redirect = maybeGetBrowserRedirect(pathname)\n const { hash, search } = window.location\n\n if (redirect != null) {\n window.___replace(redirect.toPath + search + hash)\n return true\n } else {\n return false\n }\n}\n\n// Catch unhandled chunk loading errors and force a restart of the app.\nlet nextRoute = ``\n\nwindow.addEventListener(`unhandledrejection`, event => {\n if (/loading chunk \\d* failed./i.test(event.reason)) {\n if (nextRoute) {\n window.location.pathname = nextRoute\n }\n }\n})\n\nconst onPreRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n nextRoute = location.pathname\n apiRunner(`onPreRouteUpdate`, { location, prevLocation })\n }\n}\n\nconst onRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onRouteUpdate`, { location, prevLocation })\n if (\n process.env.GATSBY_QUERY_ON_DEMAND &&\n process.env.GATSBY_QUERY_ON_DEMAND_LOADING_INDICATOR === `true`\n ) {\n emitter.emit(`onRouteUpdate`, { location, prevLocation })\n }\n }\n}\n\nconst navigate = (to, options = {}) => {\n // Support forward/backward navigation with numbers\n // navigate(-2) (jumps back 2 history steps)\n // navigate(2) (jumps forward 2 history steps)\n if (typeof to === `number`) {\n globalHistory.navigate(to)\n return\n }\n\n const { pathname, search, hash } = parsePath(to)\n const redirect = maybeGetBrowserRedirect(pathname)\n\n // If we're redirecting, just replace the passed in pathname\n // to the one we want to redirect to.\n if (redirect) {\n to = redirect.toPath + search + hash\n }\n\n // If we had a service worker update, no matter the path, reload window and\n // reset the pathname whitelist\n if (window.___swUpdated) {\n window.location = pathname + search + hash\n return\n }\n\n // Start a timer to wait for a second before transitioning and showing a\n // loader in case resources aren't around yet.\n const timeoutId = setTimeout(() => {\n emitter.emit(`onDelayedLoadPageResources`, { pathname })\n apiRunner(`onRouteUpdateDelayed`, {\n location: window.location,\n })\n }, 1000)\n\n loader.loadPage(pathname + search).then(pageResources => {\n // If no page resources, then refresh the page\n // Do this, rather than simply `window.location.reload()`, so that\n // pressing the back/forward buttons work - otherwise when pressing\n // back, the browser will just change the URL and expect JS to handle\n // the change, which won't always work since it might not be a Gatsby\n // page.\n if (!pageResources || pageResources.status === PageResourceStatus.Error) {\n window.history.replaceState({}, ``, location.href)\n window.location = pathname\n clearTimeout(timeoutId)\n return\n }\n\n // If the loaded page has a different compilation hash to the\n // window, then a rebuild has occurred on the server. Reload.\n if (process.env.NODE_ENV === `production` && pageResources) {\n if (\n pageResources.page.webpackCompilationHash !==\n window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n window.location = pathname + search + hash\n }\n }\n reachNavigate(to, options)\n clearTimeout(timeoutId)\n })\n}\n\nfunction shouldUpdateScroll(prevRouterProps, { location }) {\n const { pathname, hash } = location\n const results = apiRunner(`shouldUpdateScroll`, {\n prevRouterProps,\n // `pathname` for backwards compatibility\n pathname,\n routerProps: { location },\n getSavedScrollPosition: args => [\n 0,\n // FIXME this is actually a big code smell, we should fix this\n // eslint-disable-next-line @babel/no-invalid-this\n this._stateStorage.read(args, args.key),\n ],\n })\n if (results.length > 0) {\n // Use the latest registered shouldUpdateScroll result, this allows users to override plugin's configuration\n // @see https://github.com/gatsbyjs/gatsby/issues/12038\n return results[results.length - 1]\n }\n\n if (prevRouterProps) {\n const {\n location: { pathname: oldPathname },\n } = prevRouterProps\n if (oldPathname === pathname) {\n // Scroll to element if it exists, if it doesn't, or no hash is provided,\n // scroll to top.\n return hash ? decodeURI(hash.slice(1)) : [0, 0]\n }\n }\n return true\n}\n\nfunction init() {\n // The \"scroll-behavior\" package expects the \"action\" to be on the location\n // object so let's copy it over.\n globalHistory.listen(args => {\n args.location.action = args.action\n })\n\n window.___push = to => navigate(to, { replace: false })\n window.___replace = to => navigate(to, { replace: true })\n window.___navigate = (to, options) => navigate(to, options)\n}\n\nclass RouteAnnouncer extends React.Component {\n constructor(props) {\n super(props)\n this.announcementRef = React.createRef()\n }\n\n componentDidUpdate(prevProps, nextProps) {\n requestAnimationFrame(() => {\n let pageName = `new page at ${this.props.location.pathname}`\n if (document.title) {\n pageName = document.title\n }\n const pageHeadings = document.querySelectorAll(`#gatsby-focus-wrapper h1`)\n if (pageHeadings && pageHeadings.length) {\n pageName = pageHeadings[0].textContent\n }\n const newAnnouncement = `Navigated to ${pageName}`\n if (this.announcementRef.current) {\n const oldAnnouncement = this.announcementRef.current.innerText\n if (oldAnnouncement !== newAnnouncement) {\n this.announcementRef.current.innerText = newAnnouncement\n }\n }\n })\n }\n\n render() {\n return
\n }\n}\n\nconst compareLocationProps = (prevLocation, nextLocation) => {\n if (prevLocation.href !== nextLocation.href) {\n return true\n }\n\n if (prevLocation?.state?.key !== nextLocation?.state?.key) {\n return true\n }\n\n return false\n}\n\n// Fire on(Pre)RouteUpdate APIs\nclass RouteUpdates extends React.Component {\n constructor(props) {\n super(props)\n onPreRouteUpdate(props.location, null)\n }\n\n componentDidMount() {\n onRouteUpdate(this.props.location, null)\n }\n\n shouldComponentUpdate(nextProps) {\n if (compareLocationProps(this.props.location, nextProps.location)) {\n onPreRouteUpdate(nextProps.location, this.props.location)\n return true\n }\n return false\n }\n\n componentDidUpdate(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onRouteUpdate(this.props.location, prevProps.location)\n }\n }\n\n render() {\n return (\n \n {this.props.children}\n \n \n )\n }\n}\n\nRouteUpdates.propTypes = {\n location: PropTypes.object.isRequired,\n}\n\nexport { init, shouldUpdateScroll, RouteUpdates, maybeGetBrowserRedirect }\n","// Pulled from react-compat\n// https://github.com/developit/preact-compat/blob/7c5de00e7c85e2ffd011bf3af02899b63f699d3a/src/index.js#L349\nfunction shallowDiffers(a, b) {\n for (var i in a) {\n if (!(i in b)) return true;\n }for (var _i in b) {\n if (a[_i] !== b[_i]) return true;\n }return false;\n}\n\nexport default (function (instance, nextProps, nextState) {\n return shallowDiffers(instance.props, nextProps) || shallowDiffers(instance.state, nextState);\n});","import React from \"react\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport shallowCompare from \"shallow-compare\"\n\nclass EnsureResources extends React.Component {\n constructor(props) {\n super()\n const { location, pageResources } = props\n this.state = {\n location: { ...location },\n pageResources:\n pageResources ||\n loader.loadPageSync(location.pathname + location.search, {\n withErrorDetails: true,\n }),\n }\n }\n\n static getDerivedStateFromProps({ location }, prevState) {\n if (prevState.location.href !== location.href) {\n const pageResources = loader.loadPageSync(\n location.pathname + location.search,\n {\n withErrorDetails: true,\n }\n )\n\n return {\n pageResources,\n location: { ...location },\n }\n }\n\n return {\n location: { ...location },\n }\n }\n\n loadResources(rawPath) {\n loader.loadPage(rawPath).then(pageResources => {\n if (pageResources && pageResources.status !== PageResourceStatus.Error) {\n this.setState({\n location: { ...window.location },\n pageResources,\n })\n } else {\n window.history.replaceState({}, ``, location.href)\n window.location = rawPath\n }\n })\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n // Always return false if we're missing resources.\n if (!nextState.pageResources) {\n this.loadResources(\n nextProps.location.pathname + nextProps.location.search\n )\n return false\n }\n\n if (\n process.env.BUILD_STAGE === `develop` &&\n nextState.pageResources.stale\n ) {\n this.loadResources(\n nextProps.location.pathname + nextProps.location.search\n )\n return false\n }\n\n // Check if the component or json have changed.\n if (this.state.pageResources !== nextState.pageResources) {\n return true\n }\n if (\n this.state.pageResources.component !== nextState.pageResources.component\n ) {\n return true\n }\n\n if (this.state.pageResources.json !== nextState.pageResources.json) {\n return true\n }\n // Check if location has changed on a page using internal routing\n // via matchPath configuration.\n if (\n this.state.location.key !== nextState.location.key &&\n nextState.pageResources.page &&\n (nextState.pageResources.page.matchPath ||\n nextState.pageResources.page.path)\n ) {\n return true\n }\n return shallowCompare(this, nextProps, nextState)\n }\n\n render() {\n if (\n process.env.NODE_ENV !== `production` &&\n (!this.state.pageResources ||\n this.state.pageResources.status === PageResourceStatus.Error)\n ) {\n const message = `EnsureResources was not able to find resources for path: \"${this.props.location.pathname}\"\nThis typically means that an issue occurred building components for that path.\nRun \\`gatsby clean\\` to remove any cached elements.`\n if (this.state.pageResources?.error) {\n console.error(message)\n throw this.state.pageResources.error\n }\n\n throw new Error(message)\n }\n\n return this.props.children(this.state)\n }\n}\n\nexport default EnsureResources\n","import { apiRunner, apiRunnerAsync } from \"./api-runner-browser\"\nimport React from \"react\"\nimport { Router, navigate, Location, BaseContext } from \"@gatsbyjs/reach-router\"\nimport { ScrollContext } from \"gatsby-react-router-scroll\"\nimport { StaticQueryContext } from \"./static-query\"\nimport {\n SlicesMapContext,\n SlicesContext,\n SlicesResultsContext,\n} from \"./slice/context\"\nimport {\n shouldUpdateScroll,\n init as navigationInit,\n RouteUpdates,\n} from \"./navigation\"\nimport emitter from \"./emitter\"\nimport PageRenderer from \"./page-renderer\"\nimport asyncRequires from \"$virtual/async-requires\"\nimport {\n setLoader,\n ProdLoader,\n publicLoader,\n PageResourceStatus,\n getStaticQueryResults,\n getSliceResults,\n} from \"./loader\"\nimport EnsureResources from \"./ensure-resources\"\nimport stripPrefix from \"./strip-prefix\"\n\n// Generated during bootstrap\nimport matchPaths from \"$virtual/match-paths.json\"\nimport { reactDOMUtils } from \"./react-dom-utils\"\n\nconst loader = new ProdLoader(asyncRequires, matchPaths, window.pageData)\nsetLoader(loader)\nloader.setApiRunner(apiRunner)\n\nconst { render, hydrate } = reactDOMUtils()\n\nwindow.asyncRequires = asyncRequires\nwindow.___emitter = emitter\nwindow.___loader = publicLoader\n\nnavigationInit()\n\nconst reloadStorageKey = `gatsby-reload-compilation-hash-match`\n\napiRunnerAsync(`onClientEntry`).then(() => {\n // Let plugins register a service worker. The plugin just needs\n // to return true.\n if (apiRunner(`registerServiceWorker`).filter(Boolean).length > 0) {\n require(`./register-service-worker`)\n }\n\n // In gatsby v2 if Router is used in page using matchPaths\n // paths need to contain full path.\n // For example:\n // - page have `/app/*` matchPath\n // - inside template user needs to use `/app/xyz` as path\n // Resetting `basepath`/`baseuri` keeps current behaviour\n // to not introduce breaking change.\n // Remove this in v3\n const RouteHandler = props => (\n \n \n \n )\n\n const DataContext = React.createContext({})\n\n const slicesContext = {\n renderEnvironment: `browser`,\n }\n\n class GatsbyRoot extends React.Component {\n render() {\n const { children } = this.props\n return (\n \n {({ location }) => (\n \n {({ pageResources, location }) => {\n const staticQueryResults = getStaticQueryResults()\n const sliceResults = getSliceResults()\n\n return (\n \n \n \n \n \n {children}\n \n \n \n \n \n )\n }}\n \n )}\n \n )\n }\n }\n\n class LocationHandler extends React.Component {\n render() {\n return (\n \n {({ pageResources, location }) => (\n \n \n \n \n \n \n \n )}\n \n )\n }\n }\n\n const { pagePath, location: browserLoc } = window\n\n // Explicitly call navigate if the canonical path (window.pagePath)\n // is different to the browser path (window.location.pathname). SSR\n // page paths might include search params, while SSG and DSG won't.\n // If page path include search params we also compare query params.\n // But only if NONE of the following conditions hold:\n //\n // - The url matches a client side route (page.matchPath)\n // - it's a 404 page\n // - it's the offline plugin shell (/offline-plugin-app-shell-fallback/)\n if (\n pagePath &&\n __BASE_PATH__ + pagePath !==\n browserLoc.pathname + (pagePath.includes(`?`) ? browserLoc.search : ``) &&\n !(\n loader.findMatchPath(stripPrefix(browserLoc.pathname, __BASE_PATH__)) ||\n pagePath.match(/^\\/(404|500)(\\/?|.html)$/) ||\n pagePath.match(/^\\/offline-plugin-app-shell-fallback\\/?$/)\n )\n ) {\n navigate(\n __BASE_PATH__ +\n pagePath +\n (!pagePath.includes(`?`) ? browserLoc.search : ``) +\n browserLoc.hash,\n {\n replace: true,\n }\n )\n }\n\n // It's possible that sessionStorage can throw an exception if access is not granted, see https://github.com/gatsbyjs/gatsby/issues/34512\n const getSessionStorage = () => {\n try {\n return sessionStorage\n } catch {\n return null\n }\n }\n\n publicLoader.loadPage(browserLoc.pathname + browserLoc.search).then(page => {\n const sessionStorage = getSessionStorage()\n\n if (\n page?.page?.webpackCompilationHash &&\n page.page.webpackCompilationHash !== window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n // We have not matching html + js (inlined `window.___webpackCompilationHash`)\n // with our data (coming from `app-data.json` file). This can cause issues such as\n // errors trying to load static queries (as list of static queries is inside `page-data`\n // which might not match to currently loaded `.js` scripts).\n // We are making attempt to reload if hashes don't match, but we also have to handle case\n // when reload doesn't fix it (possibly broken deploy) so we don't end up in infinite reload loop\n if (sessionStorage) {\n const isReloaded = sessionStorage.getItem(reloadStorageKey) === `1`\n\n if (!isReloaded) {\n sessionStorage.setItem(reloadStorageKey, `1`)\n window.location.reload(true)\n return\n }\n }\n }\n\n if (sessionStorage) {\n sessionStorage.removeItem(reloadStorageKey)\n }\n\n if (!page || page.status === PageResourceStatus.Error) {\n const message = `page resources for ${browserLoc.pathname} not found. Not rendering React`\n\n // if the chunk throws an error we want to capture the real error\n // This should help with https://github.com/gatsbyjs/gatsby/issues/19618\n if (page && page.error) {\n console.error(message)\n throw page.error\n }\n\n throw new Error(message)\n }\n\n const SiteRoot = apiRunner(\n `wrapRootElement`,\n { element: },\n ,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n const App = function App() {\n const onClientEntryRanRef = React.useRef(false)\n\n React.useEffect(() => {\n if (!onClientEntryRanRef.current) {\n onClientEntryRanRef.current = true\n if (performance.mark) {\n performance.mark(`onInitialClientRender`)\n }\n\n apiRunner(`onInitialClientRender`)\n }\n }, [])\n\n return {SiteRoot}\n }\n\n const focusEl = document.getElementById(`gatsby-focus-wrapper`)\n\n // Client only pages have any empty body so we just do a normal\n // render to avoid React complaining about hydration mis-matches.\n let defaultRenderer = render\n if (focusEl && focusEl.children.length) {\n defaultRenderer = hydrate\n }\n\n const renderer = apiRunner(\n `replaceHydrateFunction`,\n undefined,\n defaultRenderer\n )[0]\n\n function runRender() {\n const rootElement =\n typeof window !== `undefined`\n ? document.getElementById(`___gatsby`)\n : null\n\n renderer(, rootElement)\n }\n\n // https://github.com/madrobby/zepto/blob/b5ed8d607f67724788ec9ff492be297f64d47dfc/src/zepto.js#L439-L450\n // TODO remove IE 10 support\n const doc = document\n if (\n doc.readyState === `complete` ||\n (doc.readyState !== `loading` && !doc.documentElement.doScroll)\n ) {\n setTimeout(function () {\n runRender()\n }, 0)\n } else {\n const handler = function () {\n doc.removeEventListener(`DOMContentLoaded`, handler, false)\n window.removeEventListener(`load`, handler, false)\n\n runRender()\n }\n\n doc.addEventListener(`DOMContentLoaded`, handler, false)\n window.addEventListener(`load`, handler, false)\n }\n\n return\n })\n})\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport loader from \"./loader\"\nimport InternalPageRenderer from \"./page-renderer\"\n\nconst ProdPageRenderer = ({ location }) => {\n const pageResources = loader.loadPageSync(location.pathname)\n if (!pageResources) {\n return null\n }\n return React.createElement(InternalPageRenderer, {\n location,\n pageResources,\n ...pageResources.json,\n })\n}\n\nProdPageRenderer.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default ProdPageRenderer\n","const preferDefault = m => (m && m.default) || m\n\nif (process.env.BUILD_STAGE === `develop`) {\n module.exports = preferDefault(require(`./public-page-renderer-dev`))\n} else if (process.env.BUILD_STAGE === `build-javascript`) {\n module.exports = preferDefault(require(`./public-page-renderer-prod`))\n} else {\n module.exports = () => null\n}\n","const map = new WeakMap()\n\nexport function reactDOMUtils() {\n const reactDomClient = require(`react-dom/client`)\n\n const render = (Component, el) => {\n let root = map.get(el)\n if (!root) {\n map.set(el, (root = reactDomClient.createRoot(el)))\n }\n root.render(Component)\n }\n\n const hydrate = (Component, el) => reactDomClient.hydrateRoot(el, Component)\n\n return { render, hydrate }\n}\n","import redirects from \"./redirects.json\"\n\n// Convert to a map for faster lookup in maybeRedirect()\n\nconst redirectMap = new Map()\nconst redirectIgnoreCaseMap = new Map()\n\nredirects.forEach(redirect => {\n if (redirect.ignoreCase) {\n redirectIgnoreCaseMap.set(redirect.fromPath, redirect)\n } else {\n redirectMap.set(redirect.fromPath, redirect)\n }\n})\n\nexport function maybeGetBrowserRedirect(pathname) {\n let redirect = redirectMap.get(pathname)\n if (!redirect) {\n redirect = redirectIgnoreCaseMap.get(pathname.toLowerCase())\n }\n return redirect\n}\n","import { apiRunner } from \"./api-runner-browser\"\n\nif (\n window.location.protocol !== `https:` &&\n window.location.hostname !== `localhost`\n) {\n console.error(\n `Service workers can only be used over HTTPS, or on localhost for development`\n )\n} else if (`serviceWorker` in navigator) {\n navigator.serviceWorker\n .register(`${__BASE_PATH__}/sw.js`)\n .then(function (reg) {\n reg.addEventListener(`updatefound`, () => {\n apiRunner(`onServiceWorkerUpdateFound`, { serviceWorker: reg })\n // The updatefound event implies that reg.installing is set; see\n // https://w3c.github.io/ServiceWorker/#service-worker-registration-updatefound-event\n const installingWorker = reg.installing\n console.log(`installingWorker`, installingWorker)\n installingWorker.addEventListener(`statechange`, () => {\n switch (installingWorker.state) {\n case `installed`:\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and the fresh content will\n // have been added to the cache.\n\n // We set a flag so Gatsby Link knows to refresh the page on next navigation attempt\n window.___swUpdated = true\n // We call the onServiceWorkerUpdateReady API so users can show update prompts.\n apiRunner(`onServiceWorkerUpdateReady`, { serviceWorker: reg })\n\n // If resources failed for the current page, reload.\n if (window.___failedResources) {\n console.log(`resources failed, SW updated - reloading`)\n window.location.reload()\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a \"Content is cached for offline use.\" message.\n console.log(`Content is now available offline!`)\n\n // Post to service worker that install is complete.\n // Delay to allow time for the event listener to be added --\n // otherwise fetch is called too soon and resources aren't cached.\n apiRunner(`onServiceWorkerInstalled`, { serviceWorker: reg })\n }\n break\n\n case `redundant`:\n console.error(`The installing service worker became redundant.`)\n apiRunner(`onServiceWorkerRedundant`, { serviceWorker: reg })\n break\n\n case `activated`:\n apiRunner(`onServiceWorkerActive`, { serviceWorker: reg })\n break\n }\n })\n })\n })\n .catch(function (e) {\n console.error(`Error during service worker registration:`, e)\n })\n}\n","import React from \"react\"\n\nconst SlicesResultsContext = React.createContext({})\nconst SlicesContext = React.createContext({})\nconst SlicesMapContext = React.createContext({})\nconst SlicesPropsContext = React.createContext({})\n\nexport {\n SlicesResultsContext,\n SlicesContext,\n SlicesMapContext,\n SlicesPropsContext,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { createServerOrClientContext } from \"./context-utils\"\n\nconst StaticQueryContext = createServerOrClientContext(`StaticQuery`, {})\n\nfunction StaticQueryDataRenderer({ staticQueryData, data, query, render }) {\n const finalData = data\n ? data.data\n : staticQueryData[query] && staticQueryData[query].data\n\n return (\n \n {finalData && render(finalData)}\n {!finalData &&
Loading (StaticQuery)
}\n
\n )\n}\n\nlet warnedAboutStaticQuery = false\n\n// TODO(v6): Remove completely\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n if (process.env.NODE_ENV === `development` && !warnedAboutStaticQuery) {\n console.warn(\n `The component is deprecated and will be removed in Gatsby v6. Use useStaticQuery instead. Refer to the migration guide for more information: https://gatsby.dev/migrating-4-to-5/#staticquery--is-deprecated`\n )\n warnedAboutStaticQuery = true\n }\n\n return (\n \n {staticQueryData => (\n \n )}\n \n )\n}\n\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\n\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\n // TODO(v5): Remove since we require React >= 18\n throw new Error(\n `You're likely using a version of React that doesn't support Hooks\\n` +\n `Please update React and ReactDOM to 16.8.0 or later to use the useStaticQuery hook.`\n )\n }\n\n const context = React.useContext(StaticQueryContext)\n\n // query is a stringified number like `3303882` when wrapped with graphql, If a user forgets\n // to wrap the query in a grqphql, then casting it to a Number results in `NaN` allowing us to\n // catch the misuse of the API and give proper direction\n if (isNaN(Number(query))) {\n throw new Error(`useStaticQuery was called with a string but expects to be called using \\`graphql\\`. Try this:\n\nimport { useStaticQuery, graphql } from 'gatsby';\n\nuseStaticQuery(graphql\\`${query}\\`);\n`)\n }\n\n if (context[query]?.data) {\n return context[query].data\n } else {\n throw new Error(\n `The result of this StaticQuery could not be fetched.\\n\\n` +\n `This is likely a bug in Gatsby and if refreshing the page does not fix it, ` +\n `please open an issue in https://github.com/gatsbyjs/gatsby/issues`\n )\n }\n}\n\nexport { StaticQuery, StaticQueryContext, useStaticQuery }\n","import React from \"react\"\n\n// Ensure serverContext is not created more than once as React will throw when creating it more than once\n// https://github.com/facebook/react/blob/dd2d6522754f52c70d02c51db25eb7cbd5d1c8eb/packages/react/src/ReactServerContext.js#L101\nconst createServerContext = (name, defaultValue = null) => {\n /* eslint-disable no-undef */\n if (!globalThis.__SERVER_CONTEXT) {\n globalThis.__SERVER_CONTEXT = {}\n }\n\n if (!globalThis.__SERVER_CONTEXT[name]) {\n globalThis.__SERVER_CONTEXT[name] = React.createServerContext(\n name,\n defaultValue\n )\n }\n\n return globalThis.__SERVER_CONTEXT[name]\n}\n\nfunction createServerOrClientContext(name, defaultValue) {\n if (React.createServerContext) {\n return createServerContext(name, defaultValue)\n }\n\n return React.createContext(defaultValue)\n}\n\nexport { createServerOrClientContext }\n","/**\n * Remove a prefix from a string. Return the input string if the given prefix\n * isn't found.\n */\n\nexport default function stripPrefix(str, prefix = ``) {\n if (!prefix) {\n return str\n }\n\n if (str === prefix) {\n return `/`\n }\n\n if (str.startsWith(`${prefix}/`)) {\n return str.slice(prefix.length)\n }\n\n return str\n}\n","import browserHydrateFunction from './src/utils/browserHydrateFunction';\nexport const replaceHydrateFunction = browserHydrateFunction;","import * as ReactDOM from 'react-dom/client';\n\nconst browserHydrateFunction = () => {\n return (element, container) => {\n const root = ReactDOM.createRoot(container);\n root.render(element);\n };\n};\n\nexport default browserHydrateFunction;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.wrapRootElement = exports.wrapPageElement = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactHelmetAsync = require(\"react-helmet-async\");\n\nvar _baseSeo = require(\"./meta/base-seo\");\n\nvar wrapPageElement = function wrapPageElement(_ref, options) {\n var element = _ref.element;\n return /*#__PURE__*/_react[\"default\"].createElement(_react[\"default\"].Fragment, null, /*#__PURE__*/_react[\"default\"].createElement(_baseSeo.BaseSeo, options), element);\n};\n\nexports.wrapPageElement = wrapPageElement;\n\nvar wrapRootElement = function wrapRootElement(_ref2) {\n var element = _ref2.element;\n return /*#__PURE__*/_react[\"default\"].createElement(_reactHelmetAsync.HelmetProvider, null, element);\n};\n\nexports.wrapRootElement = wrapRootElement;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BaseSeo = exports.__resetDefaults = void 0;\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactHelmetAsync = require(\"react-helmet-async\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar BASE_DEFAULTS = {\n noindex: false,\n nofollow: false,\n defaultOpenGraphImageWidth: 0,\n defaultOpenGraphImageHeight: 0,\n defaultOpenGraphVideoWidth: 0,\n defaultOpenGraphVideoHeight: 0\n};\n\nvar DEFAULTS = _objectSpread({}, BASE_DEFAULTS);\n/**\n * Reset all the defaults.\n *\n * @internal\n */\n\n\nvar __resetDefaults = function __resetDefaults() {\n DEFAULTS = _objectSpread({}, BASE_DEFAULTS);\n};\n/**\n * This is the BaseSeo component which also takes in the default seo props.\n *\n * @remarks\n *\n * It should be used for setting default props and is used internally as the\n * base for the `GatsbySeo` component.\n *\n * ```tsx\n * import { BaseSeo } from 'gatsby-plugin-next-seo';\n *\n * const Page = () => {\n * return (\n * <>\n * \n *

Look at me!

\n * \n * );\n * };\n * ```\n *\n * @public\n */\n\n\nexports.__resetDefaults = __resetDefaults;\n\nvar BaseSeo = function BaseSeo(_ref) {\n var _props$noindex, _props$nofollow;\n\n var _ref$defer = _ref.defer,\n defer = _ref$defer === void 0 ? false : _ref$defer,\n _ref$metaTags = _ref.metaTags,\n metaTags = _ref$metaTags === void 0 ? [] : _ref$metaTags,\n _ref$linkTags = _ref.linkTags,\n linkTags = _ref$linkTags === void 0 ? [] : _ref$linkTags,\n props = (0, _objectWithoutProperties2[\"default\"])(_ref, [\"defer\", \"metaTags\", \"linkTags\"]);\n var meta = [];\n var link = [];\n var noindex = ((_props$noindex = props.noindex) !== null && _props$noindex !== void 0 ? _props$noindex : DEFAULTS.noindex) || props.dangerouslySetAllPagesToNoIndex;\n var nofollow = ((_props$nofollow = props.nofollow) !== null && _props$nofollow !== void 0 ? _props$nofollow : DEFAULTS.nofollow) || props.dangerouslySetAllPagesToNoFollow;\n var indexTags = ['robots', 'googlebot'];\n\n if (noindex || nofollow) {\n if (props.dangerouslySetAllPagesToNoIndex) {\n DEFAULTS.noindex = true;\n }\n\n if (props.dangerouslySetAllPagesToNoFollow) {\n DEFAULTS.nofollow = true;\n }\n\n var _iterator = _createForOfIteratorHelper(indexTags),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var name = _step.value;\n meta.push({\n name: name,\n content: \"\".concat(noindex ? 'noindex' : 'index', \",\").concat(nofollow ? 'nofollow' : 'follow')\n });\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n } else {\n var _iterator2 = _createForOfIteratorHelper(indexTags),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _name = _step2.value;\n meta.push({\n name: _name,\n content: 'index,follow'\n });\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n\n if (props.description) {\n meta.push({\n name: 'description',\n content: props.description\n });\n }\n\n if (props.mobileAlternate) {\n link.push({\n rel: 'alternate',\n media: props.mobileAlternate.media,\n href: props.mobileAlternate.href\n });\n }\n\n if (props.languageAlternates && props.languageAlternates.length > 0) {\n props.languageAlternates.forEach(function (languageAlternate) {\n link.push({\n rel: 'alternate',\n key: \"languageAlternate-\".concat(languageAlternate.hrefLang),\n hrefLang: languageAlternate.hrefLang,\n href: languageAlternate.href\n });\n });\n }\n\n if (props.twitter) {\n if (props.twitter.cardType) {\n meta.push({\n name: 'twitter:card',\n content: props.twitter.cardType\n });\n }\n\n if (props.twitter.site) {\n meta.push({\n name: 'twitter:site',\n content: props.twitter.site\n });\n }\n\n if (props.twitter.handle) {\n meta.push({\n name: 'twitter:creator',\n content: props.twitter.handle\n });\n }\n }\n\n if (props.facebook) {\n if (props.facebook.appId) {\n meta.push({\n property: 'fb:app_id',\n content: props.facebook.appId\n });\n }\n }\n\n if (props.openGraph) {\n var _props$openGraph$imag, _props$openGraph$vide5;\n\n if (props.openGraph.url || props.canonical) {\n var _props$openGraph$url;\n\n meta.push({\n property: 'og:url',\n content: (_props$openGraph$url = props.openGraph.url) !== null && _props$openGraph$url !== void 0 ? _props$openGraph$url : props.canonical\n });\n }\n\n if (props.openGraph.type) {\n var type = props.openGraph.type.toLowerCase();\n meta.push({\n property: 'og:type',\n content: type\n });\n\n if (type === 'profile' && props.openGraph.profile) {\n if (props.openGraph.profile.firstName) {\n meta.push({\n property: 'profile:first_name',\n content: props.openGraph.profile.firstName\n });\n }\n\n if (props.openGraph.profile.lastName) {\n meta.push({\n property: 'profile:last_name',\n content: props.openGraph.profile.lastName\n });\n }\n\n if (props.openGraph.profile.username) {\n meta.push({\n property: 'profile:username',\n content: props.openGraph.profile.username\n });\n }\n\n if (props.openGraph.profile.gender) {\n meta.push({\n property: 'profile:gender',\n content: props.openGraph.profile.gender\n });\n }\n } else if (type === 'book' && props.openGraph.book) {\n var _props$openGraph$book, _props$openGraph$book2;\n\n if ((_props$openGraph$book = props.openGraph.book.authors) === null || _props$openGraph$book === void 0 ? void 0 : _props$openGraph$book.length) {\n props.openGraph.book.authors.forEach(function (author) {\n meta.push({\n property: 'book:author',\n content: author\n });\n });\n }\n\n if (props.openGraph.book.isbn) {\n meta.push({\n property: 'book:isbn',\n content: props.openGraph.book.isbn\n });\n }\n\n if (props.openGraph.book.releaseDate) {\n meta.push({\n property: 'book:release_date',\n content: props.openGraph.book.releaseDate\n });\n }\n\n if ((_props$openGraph$book2 = props.openGraph.book.tags) === null || _props$openGraph$book2 === void 0 ? void 0 : _props$openGraph$book2.length) {\n props.openGraph.book.tags.forEach(function (tag) {\n meta.push({\n property: 'book:tag',\n content: tag\n });\n });\n }\n } else if (type === 'article' && props.openGraph.article) {\n var _props$openGraph$arti, _props$openGraph$arti2;\n\n if (props.openGraph.article.publishedTime) {\n meta.push({\n property: 'article:published_time',\n content: props.openGraph.article.publishedTime\n });\n }\n\n if (props.openGraph.article.modifiedTime) {\n meta.push({\n property: 'article:modified_time',\n content: props.openGraph.article.modifiedTime\n });\n }\n\n if (props.openGraph.article.expirationTime) {\n meta.push({\n property: 'article:expiration_time',\n content: props.openGraph.article.expirationTime\n });\n }\n\n if ((_props$openGraph$arti = props.openGraph.article.authors) === null || _props$openGraph$arti === void 0 ? void 0 : _props$openGraph$arti.length) {\n props.openGraph.article.authors.forEach(function (author) {\n meta.push({\n property: 'article:author',\n content: author\n });\n });\n }\n\n if (props.openGraph.article.section) {\n meta.push({\n property: 'article:section',\n content: props.openGraph.article.section\n });\n }\n\n if ((_props$openGraph$arti2 = props.openGraph.article.tags) === null || _props$openGraph$arti2 === void 0 ? void 0 : _props$openGraph$arti2.length) {\n props.openGraph.article.tags.forEach(function (tag) {\n meta.push({\n property: 'article:tag',\n content: tag\n });\n });\n }\n } else if ((type === 'video.movie' || type === 'video.episode' || type === 'video.tv_show' || type === 'video.other') && props.openGraph.video) {\n var _props$openGraph$vide, _props$openGraph$vide2, _props$openGraph$vide3, _props$openGraph$vide4;\n\n if ((_props$openGraph$vide = props.openGraph.video.actors) === null || _props$openGraph$vide === void 0 ? void 0 : _props$openGraph$vide.length) {\n props.openGraph.video.actors.forEach(function (actor) {\n if (actor.profile) {\n meta.push({\n property: 'video:actor',\n content: actor.profile\n });\n }\n\n if (actor.role) {\n meta.push({\n property: 'video:actor:role',\n content: actor.role\n });\n }\n });\n }\n\n if ((_props$openGraph$vide2 = props.openGraph.video.directors) === null || _props$openGraph$vide2 === void 0 ? void 0 : _props$openGraph$vide2.length) {\n props.openGraph.video.directors.forEach(function (director) {\n meta.push({\n property: 'video:director',\n content: director\n });\n });\n }\n\n if ((_props$openGraph$vide3 = props.openGraph.video.writers) === null || _props$openGraph$vide3 === void 0 ? void 0 : _props$openGraph$vide3.length) {\n props.openGraph.video.writers.forEach(function (writer) {\n meta.push({\n property: 'video:writer',\n content: writer\n });\n });\n }\n\n if (props.openGraph.video.duration) {\n meta.push({\n property: 'video:duration',\n content: props.openGraph.video.duration.toString()\n });\n }\n\n if (props.openGraph.video.releaseDate) {\n meta.push({\n property: 'video:release_date',\n content: props.openGraph.video.releaseDate\n });\n }\n\n if ((_props$openGraph$vide4 = props.openGraph.video.tags) === null || _props$openGraph$vide4 === void 0 ? void 0 : _props$openGraph$vide4.length) {\n props.openGraph.video.tags.forEach(function (tag) {\n meta.push({\n property: 'video:tag',\n content: tag\n });\n });\n }\n\n if (props.openGraph.video.series) {\n meta.push({\n property: 'video:series',\n content: props.openGraph.video.series\n });\n }\n }\n }\n\n if (props.openGraph.title || props.title) {\n var _props$openGraph$titl, _props$titleTemplate, _props$title;\n\n meta.push({\n property: 'og:title',\n content: (_props$openGraph$titl = props.openGraph.title) !== null && _props$openGraph$titl !== void 0 ? _props$openGraph$titl : ((_props$titleTemplate = props.titleTemplate) !== null && _props$titleTemplate !== void 0 ? _props$titleTemplate : '').replace('%s', (_props$title = props.title) !== null && _props$title !== void 0 ? _props$title : '')\n });\n }\n\n if (props.openGraph.description || props.description) {\n var _props$openGraph$desc;\n\n meta.push({\n property: 'og:description',\n content: (_props$openGraph$desc = props.openGraph.description) !== null && _props$openGraph$desc !== void 0 ? _props$openGraph$desc : props.description\n });\n } // images\n\n\n if (props.defaultOpenGraphImageWidth) {\n DEFAULTS.defaultOpenGraphImageWidth = props.defaultOpenGraphImageWidth;\n }\n\n if (props.defaultOpenGraphImageHeight) {\n DEFAULTS.defaultOpenGraphImageHeight = props.defaultOpenGraphImageHeight;\n }\n\n if ((_props$openGraph$imag = props.openGraph.images) === null || _props$openGraph$imag === void 0 ? void 0 : _props$openGraph$imag.length) {\n props.openGraph.images.forEach(function (image) {\n meta.push({\n property: 'og:image',\n content: image.url\n });\n\n if (image.alt) {\n meta.push({\n property: 'og:image:alt',\n content: image.alt\n });\n }\n\n if (image.width) {\n meta.push({\n property: 'og:image:width',\n content: image.width.toString()\n });\n } else if (DEFAULTS.defaultOpenGraphImageWidth) {\n meta.push({\n property: 'og:image:width',\n content: DEFAULTS.defaultOpenGraphImageWidth.toString()\n });\n }\n\n if (image.height) {\n meta.push({\n property: 'og:image:height',\n content: image.height.toString()\n });\n } else if (DEFAULTS.defaultOpenGraphImageHeight) {\n meta.push({\n property: 'og:image:height',\n content: DEFAULTS.defaultOpenGraphImageHeight.toString()\n });\n }\n });\n } // videos\n\n\n if (props.defaultOpenGraphVideoWidth) {\n DEFAULTS.defaultOpenGraphVideoWidth = props.defaultOpenGraphVideoWidth;\n }\n\n if (props.defaultOpenGraphVideoHeight) {\n DEFAULTS.defaultOpenGraphVideoHeight = props.defaultOpenGraphVideoHeight;\n }\n\n if ((_props$openGraph$vide5 = props.openGraph.videos) === null || _props$openGraph$vide5 === void 0 ? void 0 : _props$openGraph$vide5.length) {\n props.openGraph.videos.forEach(function (video) {\n meta.push({\n property: 'og:video',\n content: video.url\n });\n\n if (video.alt) {\n meta.push({\n property: 'og:video:alt',\n content: video.alt\n });\n }\n\n if (video.width) {\n meta.push({\n property: 'og:video:width',\n content: video.width.toString()\n });\n } else if (DEFAULTS.defaultOpenGraphVideoWidth) {\n meta.push({\n property: 'og:video:width',\n content: DEFAULTS.defaultOpenGraphVideoWidth.toString()\n });\n }\n\n if (video.height) {\n meta.push({\n property: 'og:video:height',\n content: video.height.toString()\n });\n } else if (DEFAULTS.defaultOpenGraphVideoHeight) {\n meta.push({\n property: 'og:video:height',\n content: DEFAULTS.defaultOpenGraphVideoHeight.toString()\n });\n }\n });\n }\n\n if (props.openGraph.locale) {\n meta.push({\n property: 'og:locale',\n content: props.openGraph.locale\n });\n }\n\n if (props.openGraph.site_name) {\n meta.push({\n property: 'og:site_name',\n content: props.openGraph.site_name\n });\n }\n }\n\n if (props.canonical) {\n link.push({\n rel: 'canonical',\n href: props.canonical,\n key: 'canonical'\n });\n }\n\n metaTags.forEach(function (tag) {\n meta.push(tag);\n });\n linkTags.forEach(function (tag) {\n link.push(tag);\n });\n var htmlAttributes = props.language ? _objectSpread({\n lang: props.language\n }, props.htmlAttributes) : _objectSpread({}, props.htmlAttributes);\n var helmetProps = {\n meta: meta,\n link: link,\n defer: defer,\n htmlAttributes: htmlAttributes\n };\n\n if (props.title) {\n helmetProps['title'] = props.title;\n }\n\n if (props.titleTemplate) {\n helmetProps['titleTemplate'] = props.titleTemplate;\n }\n\n if (props.base) {\n helmetProps['base'] = props.base;\n }\n\n return /*#__PURE__*/_react[\"default\"].createElement(_react[\"default\"].Fragment, null, /*#__PURE__*/_react[\"default\"].createElement(_reactHelmetAsync.Helmet, helmetProps));\n};\n\nexports.BaseSeo = BaseSeo;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.3\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n // START: Modifications:\n // 1. Extra `has &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n // START: Modifications:\n // Apply guards for `Object.create(null)` handling. See:\n // - https://github.com/FormidableLabs/react-fast-compare/issues/64\n // - https://github.com/epoberezkin/fast-deep-equal/issues/49\n if (a.valueOf !== Object.prototype.valueOf && typeof a.valueOf === 'function' && typeof b.valueOf === 'function') return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString && typeof a.toString === 'function' && typeof b.toString === 'function') return a.toString() === b.toString();\n // END: Modifications\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","// src/index.tsx\nimport React3, { Component as Component3 } from \"react\";\nimport fastCompare from \"react-fast-compare\";\nimport invariant from \"invariant\";\n\n// src/Provider.tsx\nimport React2, { Component } from \"react\";\n\n// src/server.ts\nimport React from \"react\";\n\n// src/constants.ts\nvar TAG_NAMES = /* @__PURE__ */ ((TAG_NAMES2) => {\n TAG_NAMES2[\"BASE\"] = \"base\";\n TAG_NAMES2[\"BODY\"] = \"body\";\n TAG_NAMES2[\"HEAD\"] = \"head\";\n TAG_NAMES2[\"HTML\"] = \"html\";\n TAG_NAMES2[\"LINK\"] = \"link\";\n TAG_NAMES2[\"META\"] = \"meta\";\n TAG_NAMES2[\"NOSCRIPT\"] = \"noscript\";\n TAG_NAMES2[\"SCRIPT\"] = \"script\";\n TAG_NAMES2[\"STYLE\"] = \"style\";\n TAG_NAMES2[\"TITLE\"] = \"title\";\n TAG_NAMES2[\"FRAGMENT\"] = \"Symbol(react.fragment)\";\n return TAG_NAMES2;\n})(TAG_NAMES || {});\nvar SEO_PRIORITY_TAGS = {\n link: { rel: [\"amphtml\", \"canonical\", \"alternate\"] },\n script: { type: [\"application/ld+json\"] },\n meta: {\n charset: \"\",\n name: [\"generator\", \"robots\", \"description\"],\n property: [\n \"og:type\",\n \"og:title\",\n \"og:url\",\n \"og:image\",\n \"og:image:alt\",\n \"og:description\",\n \"twitter:url\",\n \"twitter:title\",\n \"twitter:description\",\n \"twitter:image\",\n \"twitter:image:alt\",\n \"twitter:card\",\n \"twitter:site\"\n ]\n }\n};\nvar VALID_TAG_NAMES = Object.values(TAG_NAMES);\nvar REACT_TAG_MAP = {\n accesskey: \"accessKey\",\n charset: \"charSet\",\n class: \"className\",\n contenteditable: \"contentEditable\",\n contextmenu: \"contextMenu\",\n \"http-equiv\": \"httpEquiv\",\n itemprop: \"itemProp\",\n tabindex: \"tabIndex\"\n};\nvar HTML_TAG_MAP = Object.entries(REACT_TAG_MAP).reduce(\n (carry, [key, value]) => {\n carry[value] = key;\n return carry;\n },\n {}\n);\nvar HELMET_ATTRIBUTE = \"data-rh\";\n\n// src/utils.ts\nvar HELMET_PROPS = {\n DEFAULT_TITLE: \"defaultTitle\",\n DEFER: \"defer\",\n ENCODE_SPECIAL_CHARACTERS: \"encodeSpecialCharacters\",\n ON_CHANGE_CLIENT_STATE: \"onChangeClientState\",\n TITLE_TEMPLATE: \"titleTemplate\",\n PRIORITIZE_SEO_TAGS: \"prioritizeSeoTags\"\n};\nvar getInnermostProperty = (propsList, property) => {\n for (let i = propsList.length - 1; i >= 0; i -= 1) {\n const props = propsList[i];\n if (Object.prototype.hasOwnProperty.call(props, property)) {\n return props[property];\n }\n }\n return null;\n};\nvar getTitleFromPropsList = (propsList) => {\n let innermostTitle = getInnermostProperty(propsList, \"title\" /* TITLE */);\n const innermostTemplate = getInnermostProperty(propsList, HELMET_PROPS.TITLE_TEMPLATE);\n if (Array.isArray(innermostTitle)) {\n innermostTitle = innermostTitle.join(\"\");\n }\n if (innermostTemplate && innermostTitle) {\n return innermostTemplate.replace(/%s/g, () => innermostTitle);\n }\n const innermostDefaultTitle = getInnermostProperty(propsList, HELMET_PROPS.DEFAULT_TITLE);\n return innermostTitle || innermostDefaultTitle || void 0;\n};\nvar getOnChangeClientState = (propsList) => getInnermostProperty(propsList, HELMET_PROPS.ON_CHANGE_CLIENT_STATE) || (() => {\n});\nvar getAttributesFromPropsList = (tagType, propsList) => propsList.filter((props) => typeof props[tagType] !== \"undefined\").map((props) => props[tagType]).reduce((tagAttrs, current) => ({ ...tagAttrs, ...current }), {});\nvar getBaseTagFromPropsList = (primaryAttributes, propsList) => propsList.filter((props) => typeof props[\"base\" /* BASE */] !== \"undefined\").map((props) => props[\"base\" /* BASE */]).reverse().reduce((innermostBaseTag, tag) => {\n if (!innermostBaseTag.length) {\n const keys = Object.keys(tag);\n for (let i = 0; i < keys.length; i += 1) {\n const attributeKey = keys[i];\n const lowerCaseAttributeKey = attributeKey.toLowerCase();\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && tag[lowerCaseAttributeKey]) {\n return innermostBaseTag.concat(tag);\n }\n }\n }\n return innermostBaseTag;\n}, []);\nvar warn = (msg) => console && typeof console.warn === \"function\" && console.warn(msg);\nvar getTagsFromPropsList = (tagName, primaryAttributes, propsList) => {\n const approvedSeenTags = {};\n return propsList.filter((props) => {\n if (Array.isArray(props[tagName])) {\n return true;\n }\n if (typeof props[tagName] !== \"undefined\") {\n warn(\n `Helmet: ${tagName} should be of type \"Array\". Instead found type \"${typeof props[tagName]}\"`\n );\n }\n return false;\n }).map((props) => props[tagName]).reverse().reduce((approvedTags, instanceTags) => {\n const instanceSeenTags = {};\n instanceTags.filter((tag) => {\n let primaryAttributeKey;\n const keys2 = Object.keys(tag);\n for (let i = 0; i < keys2.length; i += 1) {\n const attributeKey = keys2[i];\n const lowerCaseAttributeKey = attributeKey.toLowerCase();\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && !(primaryAttributeKey === \"rel\" /* REL */ && tag[primaryAttributeKey].toLowerCase() === \"canonical\") && !(lowerCaseAttributeKey === \"rel\" /* REL */ && tag[lowerCaseAttributeKey].toLowerCase() === \"stylesheet\")) {\n primaryAttributeKey = lowerCaseAttributeKey;\n }\n if (primaryAttributes.indexOf(attributeKey) !== -1 && (attributeKey === \"innerHTML\" /* INNER_HTML */ || attributeKey === \"cssText\" /* CSS_TEXT */ || attributeKey === \"itemprop\" /* ITEM_PROP */)) {\n primaryAttributeKey = attributeKey;\n }\n }\n if (!primaryAttributeKey || !tag[primaryAttributeKey]) {\n return false;\n }\n const value = tag[primaryAttributeKey].toLowerCase();\n if (!approvedSeenTags[primaryAttributeKey]) {\n approvedSeenTags[primaryAttributeKey] = {};\n }\n if (!instanceSeenTags[primaryAttributeKey]) {\n instanceSeenTags[primaryAttributeKey] = {};\n }\n if (!approvedSeenTags[primaryAttributeKey][value]) {\n instanceSeenTags[primaryAttributeKey][value] = true;\n return true;\n }\n return false;\n }).reverse().forEach((tag) => approvedTags.push(tag));\n const keys = Object.keys(instanceSeenTags);\n for (let i = 0; i < keys.length; i += 1) {\n const attributeKey = keys[i];\n const tagUnion = {\n ...approvedSeenTags[attributeKey],\n ...instanceSeenTags[attributeKey]\n };\n approvedSeenTags[attributeKey] = tagUnion;\n }\n return approvedTags;\n }, []).reverse();\n};\nvar getAnyTrueFromPropsList = (propsList, checkedTag) => {\n if (Array.isArray(propsList) && propsList.length) {\n for (let index = 0; index < propsList.length; index += 1) {\n const prop = propsList[index];\n if (prop[checkedTag]) {\n return true;\n }\n }\n }\n return false;\n};\nvar reducePropsToState = (propsList) => ({\n baseTag: getBaseTagFromPropsList([\"href\" /* HREF */], propsList),\n bodyAttributes: getAttributesFromPropsList(\"bodyAttributes\" /* BODY */, propsList),\n defer: getInnermostProperty(propsList, HELMET_PROPS.DEFER),\n encode: getInnermostProperty(propsList, HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),\n htmlAttributes: getAttributesFromPropsList(\"htmlAttributes\" /* HTML */, propsList),\n linkTags: getTagsFromPropsList(\n \"link\" /* LINK */,\n [\"rel\" /* REL */, \"href\" /* HREF */],\n propsList\n ),\n metaTags: getTagsFromPropsList(\n \"meta\" /* META */,\n [\n \"name\" /* NAME */,\n \"charset\" /* CHARSET */,\n \"http-equiv\" /* HTTPEQUIV */,\n \"property\" /* PROPERTY */,\n \"itemprop\" /* ITEM_PROP */\n ],\n propsList\n ),\n noscriptTags: getTagsFromPropsList(\"noscript\" /* NOSCRIPT */, [\"innerHTML\" /* INNER_HTML */], propsList),\n onChangeClientState: getOnChangeClientState(propsList),\n scriptTags: getTagsFromPropsList(\n \"script\" /* SCRIPT */,\n [\"src\" /* SRC */, \"innerHTML\" /* INNER_HTML */],\n propsList\n ),\n styleTags: getTagsFromPropsList(\"style\" /* STYLE */, [\"cssText\" /* CSS_TEXT */], propsList),\n title: getTitleFromPropsList(propsList),\n titleAttributes: getAttributesFromPropsList(\"titleAttributes\" /* TITLE */, propsList),\n prioritizeSeoTags: getAnyTrueFromPropsList(propsList, HELMET_PROPS.PRIORITIZE_SEO_TAGS)\n});\nvar flattenArray = (possibleArray) => Array.isArray(possibleArray) ? possibleArray.join(\"\") : possibleArray;\nvar checkIfPropsMatch = (props, toMatch) => {\n const keys = Object.keys(props);\n for (let i = 0; i < keys.length; i += 1) {\n if (toMatch[keys[i]] && toMatch[keys[i]].includes(props[keys[i]])) {\n return true;\n }\n }\n return false;\n};\nvar prioritizer = (elementsList, propsToMatch) => {\n if (Array.isArray(elementsList)) {\n return elementsList.reduce(\n (acc, elementAttrs) => {\n if (checkIfPropsMatch(elementAttrs, propsToMatch)) {\n acc.priority.push(elementAttrs);\n } else {\n acc.default.push(elementAttrs);\n }\n return acc;\n },\n { priority: [], default: [] }\n );\n }\n return { default: elementsList, priority: [] };\n};\nvar without = (obj, key) => {\n return {\n ...obj,\n [key]: void 0\n };\n};\n\n// src/server.ts\nvar SELF_CLOSING_TAGS = [\"noscript\" /* NOSCRIPT */, \"script\" /* SCRIPT */, \"style\" /* STYLE */];\nvar encodeSpecialCharacters = (str, encode = true) => {\n if (encode === false) {\n return String(str);\n }\n return String(str).replace(/&/g, \"&\").replace(//g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n};\nvar generateElementAttributesAsString = (attributes) => Object.keys(attributes).reduce((str, key) => {\n const attr = typeof attributes[key] !== \"undefined\" ? `${key}=\"${attributes[key]}\"` : `${key}`;\n return str ? `${str} ${attr}` : attr;\n}, \"\");\nvar generateTitleAsString = (type, title, attributes, encode) => {\n const attributeString = generateElementAttributesAsString(attributes);\n const flattenedTitle = flattenArray(title);\n return attributeString ? `<${type} ${HELMET_ATTRIBUTE}=\"true\" ${attributeString}>${encodeSpecialCharacters(\n flattenedTitle,\n encode\n )}` : `<${type} ${HELMET_ATTRIBUTE}=\"true\">${encodeSpecialCharacters(\n flattenedTitle,\n encode\n )}`;\n};\nvar generateTagsAsString = (type, tags, encode = true) => tags.reduce((str, t) => {\n const tag = t;\n const attributeHtml = Object.keys(tag).filter(\n (attribute) => !(attribute === \"innerHTML\" /* INNER_HTML */ || attribute === \"cssText\" /* CSS_TEXT */)\n ).reduce((string, attribute) => {\n const attr = typeof tag[attribute] === \"undefined\" ? attribute : `${attribute}=\"${encodeSpecialCharacters(tag[attribute], encode)}\"`;\n return string ? `${string} ${attr}` : attr;\n }, \"\");\n const tagContent = tag.innerHTML || tag.cssText || \"\";\n const isSelfClosing = SELF_CLOSING_TAGS.indexOf(type) === -1;\n return `${str}<${type} ${HELMET_ATTRIBUTE}=\"true\" ${attributeHtml}${isSelfClosing ? `/>` : `>${tagContent}`}`;\n}, \"\");\nvar convertElementAttributesToReactProps = (attributes, initProps = {}) => Object.keys(attributes).reduce((obj, key) => {\n const mapped = REACT_TAG_MAP[key];\n obj[mapped || key] = attributes[key];\n return obj;\n}, initProps);\nvar generateTitleAsReactComponent = (_type, title, attributes) => {\n const initProps = {\n key: title,\n [HELMET_ATTRIBUTE]: true\n };\n const props = convertElementAttributesToReactProps(attributes, initProps);\n return [React.createElement(\"title\" /* TITLE */, props, title)];\n};\nvar generateTagsAsReactComponent = (type, tags) => tags.map((tag, i) => {\n const mappedTag = {\n key: i,\n [HELMET_ATTRIBUTE]: true\n };\n Object.keys(tag).forEach((attribute) => {\n const mapped = REACT_TAG_MAP[attribute];\n const mappedAttribute = mapped || attribute;\n if (mappedAttribute === \"innerHTML\" /* INNER_HTML */ || mappedAttribute === \"cssText\" /* CSS_TEXT */) {\n const content = tag.innerHTML || tag.cssText;\n mappedTag.dangerouslySetInnerHTML = { __html: content };\n } else {\n mappedTag[mappedAttribute] = tag[attribute];\n }\n });\n return React.createElement(type, mappedTag);\n});\nvar getMethodsForTag = (type, tags, encode = true) => {\n switch (type) {\n case \"title\" /* TITLE */:\n return {\n toComponent: () => generateTitleAsReactComponent(type, tags.title, tags.titleAttributes),\n toString: () => generateTitleAsString(type, tags.title, tags.titleAttributes, encode)\n };\n case \"bodyAttributes\" /* BODY */:\n case \"htmlAttributes\" /* HTML */:\n return {\n toComponent: () => convertElementAttributesToReactProps(tags),\n toString: () => generateElementAttributesAsString(tags)\n };\n default:\n return {\n toComponent: () => generateTagsAsReactComponent(type, tags),\n toString: () => generateTagsAsString(type, tags, encode)\n };\n }\n};\nvar getPriorityMethods = ({ metaTags, linkTags, scriptTags, encode }) => {\n const meta = prioritizer(metaTags, SEO_PRIORITY_TAGS.meta);\n const link = prioritizer(linkTags, SEO_PRIORITY_TAGS.link);\n const script = prioritizer(scriptTags, SEO_PRIORITY_TAGS.script);\n const priorityMethods = {\n toComponent: () => [\n ...generateTagsAsReactComponent(\"meta\" /* META */, meta.priority),\n ...generateTagsAsReactComponent(\"link\" /* LINK */, link.priority),\n ...generateTagsAsReactComponent(\"script\" /* SCRIPT */, script.priority)\n ],\n toString: () => (\n // generate all the tags as strings and concatenate them\n `${getMethodsForTag(\"meta\" /* META */, meta.priority, encode)} ${getMethodsForTag(\n \"link\" /* LINK */,\n link.priority,\n encode\n )} ${getMethodsForTag(\"script\" /* SCRIPT */, script.priority, encode)}`\n )\n };\n return {\n priorityMethods,\n metaTags: meta.default,\n linkTags: link.default,\n scriptTags: script.default\n };\n};\nvar mapStateOnServer = (props) => {\n const {\n baseTag,\n bodyAttributes,\n encode = true,\n htmlAttributes,\n noscriptTags,\n styleTags,\n title = \"\",\n titleAttributes,\n prioritizeSeoTags\n } = props;\n let { linkTags, metaTags, scriptTags } = props;\n let priorityMethods = {\n toComponent: () => {\n },\n toString: () => \"\"\n };\n if (prioritizeSeoTags) {\n ({ priorityMethods, linkTags, metaTags, scriptTags } = getPriorityMethods(props));\n }\n return {\n priority: priorityMethods,\n base: getMethodsForTag(\"base\" /* BASE */, baseTag, encode),\n bodyAttributes: getMethodsForTag(\"bodyAttributes\" /* BODY */, bodyAttributes, encode),\n htmlAttributes: getMethodsForTag(\"htmlAttributes\" /* HTML */, htmlAttributes, encode),\n link: getMethodsForTag(\"link\" /* LINK */, linkTags, encode),\n meta: getMethodsForTag(\"meta\" /* META */, metaTags, encode),\n noscript: getMethodsForTag(\"noscript\" /* NOSCRIPT */, noscriptTags, encode),\n script: getMethodsForTag(\"script\" /* SCRIPT */, scriptTags, encode),\n style: getMethodsForTag(\"style\" /* STYLE */, styleTags, encode),\n title: getMethodsForTag(\"title\" /* TITLE */, { title, titleAttributes }, encode)\n };\n};\nvar server_default = mapStateOnServer;\n\n// src/HelmetData.ts\nvar instances = [];\nvar isDocument = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nvar HelmetData = class {\n instances = [];\n canUseDOM = isDocument;\n context;\n value = {\n setHelmet: (serverState) => {\n this.context.helmet = serverState;\n },\n helmetInstances: {\n get: () => this.canUseDOM ? instances : this.instances,\n add: (instance) => {\n (this.canUseDOM ? instances : this.instances).push(instance);\n },\n remove: (instance) => {\n const index = (this.canUseDOM ? instances : this.instances).indexOf(instance);\n (this.canUseDOM ? instances : this.instances).splice(index, 1);\n }\n }\n };\n constructor(context, canUseDOM) {\n this.context = context;\n this.canUseDOM = canUseDOM || false;\n if (!canUseDOM) {\n context.helmet = server_default({\n baseTag: [],\n bodyAttributes: {},\n encodeSpecialCharacters: true,\n htmlAttributes: {},\n linkTags: [],\n metaTags: [],\n noscriptTags: [],\n scriptTags: [],\n styleTags: [],\n title: \"\",\n titleAttributes: {}\n });\n }\n }\n};\n\n// src/Provider.tsx\nvar defaultValue = {};\nvar Context = React2.createContext(defaultValue);\nvar HelmetProvider = class _HelmetProvider extends Component {\n static canUseDOM = isDocument;\n helmetData;\n constructor(props) {\n super(props);\n this.helmetData = new HelmetData(this.props.context || {}, _HelmetProvider.canUseDOM);\n }\n render() {\n return /* @__PURE__ */ React2.createElement(Context.Provider, { value: this.helmetData.value }, this.props.children);\n }\n};\n\n// src/Dispatcher.tsx\nimport { Component as Component2 } from \"react\";\nimport shallowEqual from \"shallowequal\";\n\n// src/client.ts\nvar updateTags = (type, tags) => {\n const headElement = document.head || document.querySelector(\"head\" /* HEAD */);\n const tagNodes = headElement.querySelectorAll(`${type}[${HELMET_ATTRIBUTE}]`);\n const oldTags = [].slice.call(tagNodes);\n const newTags = [];\n let indexToDelete;\n if (tags && tags.length) {\n tags.forEach((tag) => {\n const newElement = document.createElement(type);\n for (const attribute in tag) {\n if (Object.prototype.hasOwnProperty.call(tag, attribute)) {\n if (attribute === \"innerHTML\" /* INNER_HTML */) {\n newElement.innerHTML = tag.innerHTML;\n } else if (attribute === \"cssText\" /* CSS_TEXT */) {\n if (newElement.styleSheet) {\n newElement.styleSheet.cssText = tag.cssText;\n } else {\n newElement.appendChild(document.createTextNode(tag.cssText));\n }\n } else {\n const attr = attribute;\n const value = typeof tag[attr] === \"undefined\" ? \"\" : tag[attr];\n newElement.setAttribute(attribute, value);\n }\n }\n }\n newElement.setAttribute(HELMET_ATTRIBUTE, \"true\");\n if (oldTags.some((existingTag, index) => {\n indexToDelete = index;\n return newElement.isEqualNode(existingTag);\n })) {\n oldTags.splice(indexToDelete, 1);\n } else {\n newTags.push(newElement);\n }\n });\n }\n oldTags.forEach((tag) => tag.parentNode?.removeChild(tag));\n newTags.forEach((tag) => headElement.appendChild(tag));\n return {\n oldTags,\n newTags\n };\n};\nvar updateAttributes = (tagName, attributes) => {\n const elementTag = document.getElementsByTagName(tagName)[0];\n if (!elementTag) {\n return;\n }\n const helmetAttributeString = elementTag.getAttribute(HELMET_ATTRIBUTE);\n const helmetAttributes = helmetAttributeString ? helmetAttributeString.split(\",\") : [];\n const attributesToRemove = [...helmetAttributes];\n const attributeKeys = Object.keys(attributes);\n for (const attribute of attributeKeys) {\n const value = attributes[attribute] || \"\";\n if (elementTag.getAttribute(attribute) !== value) {\n elementTag.setAttribute(attribute, value);\n }\n if (helmetAttributes.indexOf(attribute) === -1) {\n helmetAttributes.push(attribute);\n }\n const indexToSave = attributesToRemove.indexOf(attribute);\n if (indexToSave !== -1) {\n attributesToRemove.splice(indexToSave, 1);\n }\n }\n for (let i = attributesToRemove.length - 1; i >= 0; i -= 1) {\n elementTag.removeAttribute(attributesToRemove[i]);\n }\n if (helmetAttributes.length === attributesToRemove.length) {\n elementTag.removeAttribute(HELMET_ATTRIBUTE);\n } else if (elementTag.getAttribute(HELMET_ATTRIBUTE) !== attributeKeys.join(\",\")) {\n elementTag.setAttribute(HELMET_ATTRIBUTE, attributeKeys.join(\",\"));\n }\n};\nvar updateTitle = (title, attributes) => {\n if (typeof title !== \"undefined\" && document.title !== title) {\n document.title = flattenArray(title);\n }\n updateAttributes(\"title\" /* TITLE */, attributes);\n};\nvar commitTagChanges = (newState, cb) => {\n const {\n baseTag,\n bodyAttributes,\n htmlAttributes,\n linkTags,\n metaTags,\n noscriptTags,\n onChangeClientState,\n scriptTags,\n styleTags,\n title,\n titleAttributes\n } = newState;\n updateAttributes(\"body\" /* BODY */, bodyAttributes);\n updateAttributes(\"html\" /* HTML */, htmlAttributes);\n updateTitle(title, titleAttributes);\n const tagUpdates = {\n baseTag: updateTags(\"base\" /* BASE */, baseTag),\n linkTags: updateTags(\"link\" /* LINK */, linkTags),\n metaTags: updateTags(\"meta\" /* META */, metaTags),\n noscriptTags: updateTags(\"noscript\" /* NOSCRIPT */, noscriptTags),\n scriptTags: updateTags(\"script\" /* SCRIPT */, scriptTags),\n styleTags: updateTags(\"style\" /* STYLE */, styleTags)\n };\n const addedTags = {};\n const removedTags = {};\n Object.keys(tagUpdates).forEach((tagType) => {\n const { newTags, oldTags } = tagUpdates[tagType];\n if (newTags.length) {\n addedTags[tagType] = newTags;\n }\n if (oldTags.length) {\n removedTags[tagType] = tagUpdates[tagType].oldTags;\n }\n });\n if (cb) {\n cb();\n }\n onChangeClientState(newState, addedTags, removedTags);\n};\nvar _helmetCallback = null;\nvar handleStateChangeOnClient = (newState) => {\n if (_helmetCallback) {\n cancelAnimationFrame(_helmetCallback);\n }\n if (newState.defer) {\n _helmetCallback = requestAnimationFrame(() => {\n commitTagChanges(newState, () => {\n _helmetCallback = null;\n });\n });\n } else {\n commitTagChanges(newState);\n _helmetCallback = null;\n }\n};\nvar client_default = handleStateChangeOnClient;\n\n// src/Dispatcher.tsx\nvar HelmetDispatcher = class extends Component2 {\n rendered = false;\n shouldComponentUpdate(nextProps) {\n return !shallowEqual(nextProps, this.props);\n }\n componentDidUpdate() {\n this.emitChange();\n }\n componentWillUnmount() {\n const { helmetInstances } = this.props.context;\n helmetInstances.remove(this);\n this.emitChange();\n }\n emitChange() {\n const { helmetInstances, setHelmet } = this.props.context;\n let serverState = null;\n const state = reducePropsToState(\n helmetInstances.get().map((instance) => {\n const props = { ...instance.props };\n delete props.context;\n return props;\n })\n );\n if (HelmetProvider.canUseDOM) {\n client_default(state);\n } else if (server_default) {\n serverState = server_default(state);\n }\n setHelmet(serverState);\n }\n // componentWillMount will be deprecated\n // for SSR, initialize on first render\n // constructor is also unsafe in StrictMode\n init() {\n if (this.rendered) {\n return;\n }\n this.rendered = true;\n const { helmetInstances } = this.props.context;\n helmetInstances.add(this);\n this.emitChange();\n }\n render() {\n this.init();\n return null;\n }\n};\n\n// src/index.tsx\nvar Helmet = class extends Component3 {\n static defaultProps = {\n defer: true,\n encodeSpecialCharacters: true,\n prioritizeSeoTags: false\n };\n shouldComponentUpdate(nextProps) {\n return !fastCompare(without(this.props, \"helmetData\"), without(nextProps, \"helmetData\"));\n }\n mapNestedChildrenToProps(child, nestedChildren) {\n if (!nestedChildren) {\n return null;\n }\n switch (child.type) {\n case \"script\" /* SCRIPT */:\n case \"noscript\" /* NOSCRIPT */:\n return {\n innerHTML: nestedChildren\n };\n case \"style\" /* STYLE */:\n return {\n cssText: nestedChildren\n };\n default:\n throw new Error(\n `<${child.type} /> elements are self-closing and can not contain children. Refer to our API for more information.`\n );\n }\n }\n flattenArrayTypeChildren(child, arrayTypeChildren, newChildProps, nestedChildren) {\n return {\n ...arrayTypeChildren,\n [child.type]: [\n ...arrayTypeChildren[child.type] || [],\n {\n ...newChildProps,\n ...this.mapNestedChildrenToProps(child, nestedChildren)\n }\n ]\n };\n }\n mapObjectTypeChildren(child, newProps, newChildProps, nestedChildren) {\n switch (child.type) {\n case \"title\" /* TITLE */:\n return {\n ...newProps,\n [child.type]: nestedChildren,\n titleAttributes: { ...newChildProps }\n };\n case \"body\" /* BODY */:\n return {\n ...newProps,\n bodyAttributes: { ...newChildProps }\n };\n case \"html\" /* HTML */:\n return {\n ...newProps,\n htmlAttributes: { ...newChildProps }\n };\n default:\n return {\n ...newProps,\n [child.type]: { ...newChildProps }\n };\n }\n }\n mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n let newFlattenedProps = { ...newProps };\n Object.keys(arrayTypeChildren).forEach((arrayChildName) => {\n newFlattenedProps = {\n ...newFlattenedProps,\n [arrayChildName]: arrayTypeChildren[arrayChildName]\n };\n });\n return newFlattenedProps;\n }\n warnOnInvalidChildren(child, nestedChildren) {\n invariant(\n VALID_TAG_NAMES.some((name) => child.type === name),\n typeof child.type === \"function\" ? `You may be attempting to nest components within each other, which is not allowed. Refer to our API for more information.` : `Only elements types ${VALID_TAG_NAMES.join(\n \", \"\n )} are allowed. Helmet does not support rendering <${child.type}> elements. Refer to our API for more information.`\n );\n invariant(\n !nestedChildren || typeof nestedChildren === \"string\" || Array.isArray(nestedChildren) && !nestedChildren.some((nestedChild) => typeof nestedChild !== \"string\"),\n `Helmet expects a string as a child of <${child.type}>. Did you forget to wrap your children in braces? ( <${child.type}>{\\`\\`} ) Refer to our API for more information.`\n );\n return true;\n }\n mapChildrenToProps(children, newProps) {\n let arrayTypeChildren = {};\n React3.Children.forEach(children, (child) => {\n if (!child || !child.props) {\n return;\n }\n const { children: nestedChildren, ...childProps } = child.props;\n const newChildProps = Object.keys(childProps).reduce((obj, key) => {\n obj[HTML_TAG_MAP[key] || key] = childProps[key];\n return obj;\n }, {});\n let { type } = child;\n if (typeof type === \"symbol\") {\n type = type.toString();\n } else {\n this.warnOnInvalidChildren(child, nestedChildren);\n }\n switch (type) {\n case \"Symbol(react.fragment)\" /* FRAGMENT */:\n newProps = this.mapChildrenToProps(nestedChildren, newProps);\n break;\n case \"link\" /* LINK */:\n case \"meta\" /* META */:\n case \"noscript\" /* NOSCRIPT */:\n case \"script\" /* SCRIPT */:\n case \"style\" /* STYLE */:\n arrayTypeChildren = this.flattenArrayTypeChildren(\n child,\n arrayTypeChildren,\n newChildProps,\n nestedChildren\n );\n break;\n default:\n newProps = this.mapObjectTypeChildren(child, newProps, newChildProps, nestedChildren);\n break;\n }\n });\n return this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n }\n render() {\n const { children, ...props } = this.props;\n let newProps = { ...props };\n let { helmetData } = props;\n if (children) {\n newProps = this.mapChildrenToProps(children, newProps);\n }\n if (helmetData && !(helmetData instanceof HelmetData)) {\n const data = helmetData;\n helmetData = new HelmetData(data.context, true);\n delete newProps.helmetData;\n }\n return helmetData ? /* @__PURE__ */ React3.createElement(HelmetDispatcher, { ...newProps, context: helmetData.value }) : /* @__PURE__ */ React3.createElement(Context.Consumer, null, (context) => /* @__PURE__ */ React3.createElement(HelmetDispatcher, { ...newProps, context }));\n }\n};\nexport {\n Helmet,\n HelmetData,\n HelmetProvider\n};\n","/**\n * @license React\n * react-server-dom-webpack.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var k=require(\"react\"),l={stream:!0},n=new Map,p=Symbol.for(\"react.element\"),q=Symbol.for(\"react.lazy\"),r=Symbol.for(\"react.default_value\"),t=k.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ContextRegistry;function u(a){t[a]||(t[a]=k.createServerContext(a,r));return t[a]}function v(a,b,c){this._status=a;this._value=b;this._response=c}v.prototype.then=function(a){0===this._status?(null===this._value&&(this._value=[]),this._value.push(a)):a()};\nfunction w(a){switch(a._status){case 3:return a._value;case 1:var b=JSON.parse(a._value,a._response._fromJSON);a._status=3;return a._value=b;case 2:b=a._value;for(var c=b.chunks,d=0;d= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.indexOf(n) >= 0) continue;\n t[n] = r[n];\n }\n return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(t, e) {\n return (module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _setPrototypeOf(t, e);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst PartytownSnippet = \"/* Partytown 0.7.6 - MIT builder.io */\\n!function(t,e,n,i,r,o,a,d,s,c,p,l){function u(){l||(l=1,\\\"/\\\"==(a=(o.lib||\\\"/~partytown/\\\")+(o.debug?\\\"debug/\\\":\\\"\\\"))[0]&&(s=e.querySelectorAll('script[type=\\\"text/partytown\\\"]'),i!=t?i.dispatchEvent(new CustomEvent(\\\"pt1\\\",{detail:t})):(d=setTimeout(f,1e4),e.addEventListener(\\\"pt0\\\",w),r?h(1):n.serviceWorker?n.serviceWorker.register(a+(o.swPath||\\\"partytown-sw.js\\\"),{scope:a}).then((function(t){t.active?h():t.installing&&t.installing.addEventListener(\\\"statechange\\\",(function(t){\\\"activated\\\"==t.target.state&&h()}))}),console.error):f())))}function h(t){c=e.createElement(t?\\\"script\\\":\\\"iframe\\\"),t||(c.setAttribute(\\\"style\\\",\\\"display:block;width:0;height:0;border:0;visibility:hidden\\\"),c.setAttribute(\\\"aria-hidden\\\",!0)),c.src=a+\\\"partytown-\\\"+(t?\\\"atomics.js?v=0.7.6\\\":\\\"sandbox-sw.html?\\\"+Date.now()),e.body.appendChild(c)}function f(n,r){for(w(),i==t&&(o.forward||[]).map((function(e){delete t[e.split(\\\".\\\")[0]]})),n=0;n {\n const { forward = [], ...filteredConfig } = config || {};\n const configStr = JSON.stringify(filteredConfig, (k, v) => {\n if (typeof v === 'function') {\n v = String(v);\n if (v.startsWith(k + '(')) {\n v = 'function ' + v;\n }\n }\n return v;\n });\n return [\n `!(function(w,p,f,c){`,\n Object.keys(filteredConfig).length > 0\n ? `c=w[p]=Object.assign(w[p]||{},${configStr});`\n : `c=w[p]=w[p]||{};`,\n `c[f]=(c[f]||[])`,\n forward.length > 0 ? `.concat(${JSON.stringify(forward)})` : ``,\n `})(window,'partytown','forward');`,\n snippetCode,\n ].join('');\n};\n\n/**\n * The `type` attribute for Partytown scripts, which does two things:\n *\n * 1. Prevents the `