{"version":3,"file":"main.js","mappings":"kCAMAA,EAAOC,QAAU,SAAUC,GACzB,IAAIC,EAAO,GA6FX,OA3FAA,EAAKC,SAAW,WACd,OAAOC,KAAKC,KAAI,SAAUC,GACxB,IAAIC,EAAU,GACVC,OAA+B,IAAZF,EAAK,GA4B5B,OA1BIA,EAAK,KACPC,GAAW,cAAcE,OAAOH,EAAK,GAAI,QAGvCA,EAAK,KACPC,GAAW,UAAUE,OAAOH,EAAK,GAAI,OAGnCE,IACFD,GAAW,SAASE,OAAOH,EAAK,GAAGI,OAAS,EAAI,IAAID,OAAOH,EAAK,IAAM,GAAI,OAG5EC,GAAWN,EAAuBK,GAE9BE,IACFD,GAAW,KAGTD,EAAK,KACPC,GAAW,KAGTD,EAAK,KACPC,GAAW,KAGNA,KACNI,KAAK,KAIVT,EAAKU,EAAI,SAAWC,EAASC,EAAOC,EAAQC,EAAUC,GAC7B,iBAAZJ,IACTA,EAAU,CAAC,CAAC,KAAMA,OAASK,KAG7B,IAAIC,EAAyB,GAE7B,GAAIJ,EACF,IAAK,IAAIK,EAAI,EAAGA,EAAIhB,KAAKM,OAAQU,IAAK,CACpC,IAAIC,EAAKjB,KAAKgB,GAAG,GAEP,MAANC,IACFF,EAAuBE,IAAM,GAKnC,IAAK,IAAIC,EAAK,EAAGA,EAAKT,EAAQH,OAAQY,IAAM,CAC1C,IAAIhB,EAAO,GAAGG,OAAOI,EAAQS,IAEzBP,GAAUI,EAAuBb,EAAK,WAIrB,IAAVW,SACc,IAAZX,EAAK,KAGdA,EAAK,GAAK,SAASG,OAAOH,EAAK,GAAGI,OAAS,EAAI,IAAID,OAAOH,EAAK,IAAM,GAAI,MAAMG,OAAOH,EAAK,GAAI,MAF/FA,EAAK,GAAKW,GAOVH,IACGR,EAAK,IAGRA,EAAK,GAAK,UAAUG,OAAOH,EAAK,GAAI,MAAMG,OAAOH,EAAK,GAAI,KAC1DA,EAAK,GAAKQ,GAHVR,EAAK,GAAKQ,GAOVE,IACGV,EAAK,IAGRA,EAAK,GAAK,cAAcG,OAAOH,EAAK,GAAI,OAAOG,OAAOH,EAAK,GAAI,KAC/DA,EAAK,GAAKU,GAHVV,EAAK,GAAK,GAAGG,OAAOO,IAOxBd,EAAKqB,KAAKjB,MAIPJ,I,QClGTH,EAAOC,QAAU,SAAUM,GACzB,IAAIC,EAAUD,EAAK,GACfkB,EAAalB,EAAK,GAEtB,IAAKkB,EACH,OAAOjB,EAGT,GAAoB,mBAATkB,KAAqB,CAC9B,IAAIC,EAASD,KAAKE,SAASC,mBAAmBC,KAAKC,UAAUN,MACzDO,EAAO,+DAA+DtB,OAAOiB,GAC7EM,EAAgB,OAAOvB,OAAOsB,EAAM,OACpCE,EAAaT,EAAWU,QAAQ7B,KAAI,SAAU8B,GAChD,MAAO,iBAAiB1B,OAAOe,EAAWY,YAAc,IAAI3B,OAAO0B,EAAQ,UAE7E,MAAO,CAAC5B,GAASE,OAAOwB,GAAYxB,OAAO,CAACuB,IAAgBrB,KAAK,MAGnE,MAAO,CAACJ,GAASI,KAAK,Q,6DCjBpB0B,E,MAA0B,GAA4B,KAE1DA,EAAwBd,KAAK,CAACxB,EAAOsB,GAAI,8iGAAijG,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,mCAAmC,mCAAmC,MAAQ,GAAG,SAAW,+2DAA+2D,eAAiB,CAAC,miBAAmiB,47JAA47J,WAAa,MAE9jV,W,QCLA,IAAIiB,EAAc,GAElB,SAASC,EAAqBC,GAG5B,IAFA,IAAIC,GAAU,EAEL7B,EAAI,EAAGA,EAAI0B,EAAY5B,OAAQE,IACtC,GAAI0B,EAAY1B,GAAG4B,aAAeA,EAAY,CAC5CC,EAAS7B,EACT,MAIJ,OAAO6B,EAGT,SAASC,EAAaxC,EAAMyC,GAI1B,IAHA,IAAIC,EAAa,GACbC,EAAc,GAETjC,EAAI,EAAGA,EAAIV,EAAKQ,OAAQE,IAAK,CACpC,IAAIN,EAAOJ,EAAKU,GACZS,EAAKsB,EAAQG,KAAOxC,EAAK,GAAKqC,EAAQG,KAAOxC,EAAK,GAClDyC,EAAQH,EAAWvB,IAAO,EAC1BmB,EAAa,GAAG/B,OAAOY,EAAI,KAAKZ,OAAOsC,GAC3CH,EAAWvB,GAAM0B,EAAQ,EACzB,IAAIC,EAAoBT,EAAqBC,GACzCS,EAAM,CACRC,IAAK5C,EAAK,GACVQ,MAAOR,EAAK,GACZ6C,UAAW7C,EAAK,GAChBU,SAAUV,EAAK,GACfW,MAAOX,EAAK,IAGd,IAA2B,IAAvB0C,EACFV,EAAYU,GAAmBI,aAC/Bd,EAAYU,GAAmBK,QAAQJ,OAClC,CACL,IAAII,EAAUC,EAAgBL,EAAKN,GACnCA,EAAQY,QAAU3C,EAClB0B,EAAYkB,OAAO5C,EAAG,EAAG,CACvB4B,WAAYA,EACZa,QAASA,EACTD,WAAY,IAIhBP,EAAYtB,KAAKiB,GAGnB,OAAOK,EAGT,SAASS,EAAgBL,EAAKN,GAC5B,IAAIc,EAAMd,EAAQe,OAAOf,GAezB,OAdAc,EAAIE,OAAOV,GAEG,SAAiBW,GAC7B,GAAIA,EAAQ,CACV,GAAIA,EAAOV,MAAQD,EAAIC,KAAOU,EAAO9C,QAAUmC,EAAInC,OAAS8C,EAAOT,YAAcF,EAAIE,WAAaS,EAAO5C,WAAaiC,EAAIjC,UAAY4C,EAAO3C,QAAUgC,EAAIhC,MACzJ,OAGFwC,EAAIE,OAAOV,EAAMW,QAEjBH,EAAII,UAOV9D,EAAOC,QAAU,SAAUE,EAAMyC,GAG/B,IAAImB,EAAkBpB,EADtBxC,EAAOA,GAAQ,GADfyC,EAAUA,GAAW,IAGrB,OAAO,SAAgBoB,GACrBA,EAAUA,GAAW,GAErB,IAAK,IAAInD,EAAI,EAAGA,EAAIkD,EAAgBpD,OAAQE,IAAK,CAC/C,IACIoD,EAAQzB,EADKuB,EAAgBlD,IAEjC0B,EAAY0B,GAAOZ,aAKrB,IAFA,IAAIa,EAAqBvB,EAAaqB,EAASpB,GAEtCuB,EAAK,EAAGA,EAAKJ,EAAgBpD,OAAQwD,IAAM,CAClD,IAEIC,EAAS5B,EAFKuB,EAAgBI,IAIK,IAAnC5B,EAAY6B,GAAQf,aACtBd,EAAY6B,GAAQd,UAEpBf,EAAYkB,OAAOW,EAAQ,IAI/BL,EAAkBG,K,QCnGtB,IAAIG,EAAO,GAoCXrE,EAAOC,QAVP,SAA0BqE,EAAQC,GAChC,IAAIC,EAxBN,SAAmBA,GACjB,QAA4B,IAAjBH,EAAKG,GAAyB,CACvC,IAAIC,EAAcC,SAASC,cAAcH,GAEzC,GAAII,OAAOC,mBAAqBJ,aAAuBG,OAAOC,kBAC5D,IAGEJ,EAAcA,EAAYK,gBAAgBC,KAC1C,MAAOC,GAEPP,EAAc,KAIlBJ,EAAKG,GAAUC,EAGjB,OAAOJ,EAAKG,GAMCS,CAAUX,GAEvB,IAAKE,EACH,MAAM,IAAIU,MAAM,2GAGlBV,EAAOW,YAAYZ,K,QCzBrBvE,EAAOC,QAPP,SAA4B2C,GAC1B,IAAIwC,EAAUV,SAASW,cAAc,SAGrC,OAFAzC,EAAQ0C,cAAcF,EAASxC,EAAQ2C,YACvC3C,EAAQ0B,OAAOc,EAASxC,EAAQA,SACzBwC,I,cCITpF,EAAOC,QARP,SAAwCuF,GACtC,IAAIC,EAAmD,KAEnDA,GACFD,EAAaE,aAAa,QAASD,K,QC8DvCzF,EAAOC,QAZP,SAAgB2C,GACd,IAAI4C,EAAe5C,EAAQ+C,mBAAmB/C,GAC9C,MAAO,CACLgB,OAAQ,SAAgBV,IAzD5B,SAAesC,EAAc5C,EAASM,GACpC,IAAIC,EAAM,GAEND,EAAIjC,WACNkC,GAAO,cAAczC,OAAOwC,EAAIjC,SAAU,QAGxCiC,EAAInC,QACNoC,GAAO,UAAUzC,OAAOwC,EAAInC,MAAO,OAGrC,IAAIN,OAAiC,IAAdyC,EAAIhC,MAEvBT,IACF0C,GAAO,SAASzC,OAAOwC,EAAIhC,MAAMP,OAAS,EAAI,IAAID,OAAOwC,EAAIhC,OAAS,GAAI,OAG5EiC,GAAOD,EAAIC,IAEP1C,IACF0C,GAAO,KAGLD,EAAInC,QACNoC,GAAO,KAGLD,EAAIjC,WACNkC,GAAO,KAGT,IAAIC,EAAYF,EAAIE,UAEhBA,GAA6B,oBAAT1B,OACtByB,GAAO,uDAAuDzC,OAAOgB,KAAKE,SAASC,mBAAmBC,KAAKC,UAAUqB,MAAe,QAMtIR,EAAQgD,kBAAkBzC,EAAKqC,EAAc5C,EAAQA,SAkBjDiD,CAAML,EAAc5C,EAASM,IAE/BY,OAAQ,YAjBZ,SAA4B0B,GAE1B,GAAgC,OAA5BA,EAAaM,WACf,OAAO,EAGTN,EAAaM,WAAWC,YAAYP,GAYhCQ,CAAmBR,O,QCjDzBxF,EAAOC,QAZP,SAA2BkD,EAAKqC,GAC9B,GAAIA,EAAaS,WACfT,EAAaS,WAAWC,QAAU/C,MAC7B,CACL,KAAOqC,EAAaW,YAClBX,EAAaO,YAAYP,EAAaW,YAGxCX,EAAaL,YAAYT,SAAS0B,eAAejD,QCVjDkD,EAA2B,GAG/B,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBpF,IAAjBqF,EACH,OAAOA,EAAavG,QAGrB,IAAID,EAASqG,EAAyBE,GAAY,CACjDjF,GAAIiF,EAEJtG,QAAS,IAOV,OAHAwG,EAAoBF,GAAUvG,EAAQA,EAAOC,QAASqG,GAG/CtG,EAAOC,QCpBfqG,EAAoBI,EAAK1G,IACxB,IAAI2G,EAAS3G,GAAUA,EAAO4G,WAC7B,IAAO5G,EAAiB,QACxB,IAAM,EAEP,OADAsG,EAAoBO,EAAEF,EAAQ,CAAEG,EAAGH,IAC5BA,GCLRL,EAAoBO,EAAI,CAAC5G,EAAS8G,KACjC,IAAI,IAAIC,KAAOD,EACXT,EAAoBW,EAAEF,EAAYC,KAASV,EAAoBW,EAAEhH,EAAS+G,IAC5EE,OAAOC,eAAelH,EAAS+G,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,MCJ3EV,EAAoBW,EAAI,CAAC/D,EAAKoE,IAAUJ,OAAOK,UAAUC,eAAeC,KAAKvE,EAAKoE,G,MCCrEI,IC2BAC,ECjBP/E,ECRFgF,ECgLAC,EAWAC,EAEEC,EA0BAC,EJ9MOC,EAAgC,GAChCC,EAAY,GACZC,EACZ,oECbYC,EAAUC,MAAMD,QAStB,SAASE,EAAOpF,EAAKqF,GAE3B,IAAK,IAAI1H,KAAK0H,EAAOrF,EAAIrC,GAAK0H,EAAM1H,GACpC,OAA6BqC,EAC7B,SAQesF,EAAWC,GAC1B,IAAI3C,EAAa2C,EAAK3C,WAClBA,GAAYA,EAAWC,YAAY0C,GEXjC,SAASpD,EAAcqD,EAAMH,EAAOI,GAC1C,IACC3B,EACA4B,EACA/H,EAHGgI,EAAkB,GAItB,IAAKhI,KAAK0H,EACA,OAAL1H,EAAYmG,EAAMuB,EAAM1H,GACd,OAALA,EAAY+H,EAAML,EAAM1H,GAC5BgI,EAAgBhI,GAAK0H,EAAM1H,GAUjC,GAPIiI,UAAUnI,OAAS,IACtBkI,EAAgBF,SACfG,UAAUnI,OAAS,EAAIgH,EAAMF,KAAKqB,UAAW,GAAKH,GAKjC,mBAARD,GAA2C,MAArBA,EAAKK,aACrC,IAAKlI,KAAK6H,EAAKK,kBAAAA,IACVF,EAAgBhI,KACnBgI,EAAgBhI,GAAK6H,EAAKK,aAAalI,IAK1C,OAAOmI,EAAYN,EAAMG,EAAiB7B,EAAK4B,EAAK,MAerCI,SAAAA,EAAYN,EAAMH,EAAOvB,EAAK4B,EAAKK,GAIlD,IAAMC,EAAQ,CACbR,KAAAA,EACAH,MAAAA,EACAvB,IAAAA,EACA4B,IAAAA,EACAO,IAAW,KACXC,GAAS,KACTC,IAAQ,EACRC,IAAM,KAKNC,SAAAA,EACAC,IAAY,KACZC,iBAAAA,EACAC,IAAuB,MAAZT,IAAqBrB,EAAUqB,EAC1CU,KAAS,EACTC,IAAQ,GAMT,OAFgB,MAAZX,GAAqC,MAAjBrG,EAAQsG,OAAetG,EAAQsG,MAAMA,GAEtDA,EAOQW,SAAAA,EAAStB,GACxB,OAAOA,EAAMI,SC9EEmB,SAAAA,EAAcvB,EAAOwB,GACpC1J,KAAKkI,MAAQA,EACblI,KAAK0J,QAAUA,EACf,SA0EeC,EAAcd,EAAOe,GACpC,GAAkB,MAAdA,EAEH,OAAOf,EAAKE,GACTY,EAAcd,EAAeA,GAAAA,EAAAA,IAAe,GAC5C,KAIJ,IADA,IAAIgB,EACGD,EAAaf,EAAKC,IAAWxI,OAAQsJ,IAG3C,GAAe,OAFfC,EAAUhB,EAAKC,IAAWc,KAEa,MAAhBC,EAAOZ,IAI7B,OAAOY,EAAPZ,IASF,MAA4B,mBAAdJ,EAAMR,KAAqBsB,EAAcd,GAAS,KA6CjE,SAASiB,EAAwBjB,GAAjC,IAGWrI,EACJuJ,EAHN,GAA+B,OAA1BlB,EAAQA,EAAAA,KAA8C,MAApBA,EAAAA,IAA0B,CAEhE,IADAA,EAAAA,IAAaA,EAAAA,IAAiBnG,KAAO,KAC5BlC,EAAI,EAAGA,EAAIqI,EAAAA,IAAgBvI,OAAQE,IAE3C,GAAa,OADTuJ,EAAQlB,EAAKC,IAAWtI,KACO,MAAduJ,EAAKd,IAAe,CACxCJ,EAAAA,IAAaA,EAAAA,IAAiBnG,KAAOqH,EAAxBd,IACb,MAIF,OAAOa,EAAwBjB,IAEhC,SA4BemB,EAAcC,KAE1BA,EAADf,MACCe,EAAAA,KAAAA,IACDzC,EAAcrG,KAAK8I,KAClBC,EAAAA,OACFzC,IAAiBlF,EAAQ4H,sBAEzB1C,EAAelF,EAAQ4H,oBACNzC,GAAOwC,GAW1B,SAASA,IAAT,IACKD,EAMEG,EA1GkBC,EAQjBC,EAPHC,EACHC,EACAC,EACAC,EACAC,EAmGD,IAHAnD,EAAcoD,KAAKjD,GAGXsC,EAAIzC,EAAcqD,SACrBZ,EAAAA,MACCG,EAAoB5C,EAAclH,OAlGjCgK,OAAAA,EANNE,GADGD,GADoBF,EA2GNJ,GA1GNZ,KACLJ,IAENyB,EAAc,GACdC,EAAW,IAFXF,EAAYJ,EAFbS,QAOOR,EAAWrC,EAAO,GAAIsC,IAAAA,IACPA,EAAAA,IAAqB,EACtChI,EAAQsG,OAAOtG,EAAQsG,MAAMyB,GAEjCS,EACCN,EACAH,EACAC,EACAF,EAJGW,SAAAA,IAKHP,EAAUQ,gBJ1Ie,GI2IzBV,EAAQhB,IAAyB,CAACiB,GAAU,KAC5CE,EACU,MAAVF,EAAiBb,EAAcY,GAAYC,KJ7IlB,GI8ItBD,EAAAA,KACHI,GAGDL,EAAAA,IAAqBC,EACrBD,IAAAA,EAAAA,GAAAA,IAA2BA,EAAmBA,KAAAA,EAC9CY,EAAWR,EAAaJ,EAAUK,GAE9BL,EAAAA,KAAiBE,GACpBV,EAAwBQ,IA8EpB9C,EAAclH,OAAS8J,GAI1B5C,EAAcoD,KAAKjD,IAItBuC,EAAAA,IAAyB,EACzB,SCnNeiB,EACfV,EACAW,EACAC,EACAC,EACAC,EACAC,EACAC,EACAf,EACAF,EACAkB,EACAf,GAAAA,IAEInK,EAEH+J,EAEAoB,EAEAC,EAEAC,EAKGC,EAAeR,GAAkBA,EAAnBxC,KAAgDjB,EAE9DkE,EAAoBX,EAAa9K,OAMrC,IAJA+K,EAAAA,IAA0Bb,EAC1BwB,EAA0BX,EAAgBD,EAAcU,GACxDtB,EAASa,EAATnC,IAEK1I,EAAI,EAAGA,EAAIuL,EAAmBvL,IAGnB,OAFfmL,EAAaN,EAAAA,IAAyB7K,KAGhB,kBAAdmL,GACc,mBAAdA,IAQPpB,GAD0B,IAAvBoB,EAAAA,IACQ/D,EAEAkE,EAAYH,EAADrC,MAAuB1B,EAI9C+D,EAAUrC,IAAU9I,EAGpBuK,EACCN,EACAkB,EACApB,EACAgB,EACAC,EACAC,EACAf,EACAF,EACAkB,EACAf,GAIDiB,EAASD,EAAH1C,IACF0C,EAAWpD,KAAOgC,EAAShC,KAAOoD,EAAWpD,MAC5CgC,EAAShC,KACZ0D,EAAS1B,EAAShC,IAAK,KAAMoD,GAE9BhB,EAASxJ,KACRwK,EAAWpD,IACXoD,EAAAA,KAAyBC,EACzBD,IAImB,MAAjBE,GAAmC,MAAVD,IAC5BC,EAAgBD,GL1GS,MK8GzBD,EAAAA,KACApB,EAAAA,MAAuBoB,EAFxB7C,KAIM8C,GAAUrB,EAAAA,KAAiBC,IAC/BA,EAASb,EAAcY,IAExBC,EAASvG,EAAO0H,EAAYnB,EAAQC,IAEV,mBAAnBkB,EAAWtD,WAAAA,IAClBsD,EAAAA,IAKAnB,EAASmB,EAAAA,IACCC,IACVpB,EAASoB,EAAOM,aAQjBP,EAAAA,SAAAA,EAGAA,EAAAA,MAAqB,QAatBN,EAAcnC,IAAYsB,EAC1Ba,EAAcpC,IAAQ4C,EAQvB,SAASG,EAA0BX,EAAgBD,EAAcU,GAAjE,IAEKtL,EAEAmL,EAEApB,EA8DG4B,EAmCAC,EA/FDL,EAAoBX,EAAa9K,OACnC+L,EAAoBP,EAAYxL,OACnCgM,EAAuBD,EAEpBE,EAAO,EAGX,IADAlB,EAAcvC,IAAa,GACtBtI,EAAI,EAAGA,EAAIuL,EAAmBvL,IAqD5B2L,EAAc3L,EAAI+L,EAGN,OA9CjBZ,EAAaN,EAAcvC,IAAWtI,GAJxB,OAHfmL,EAAaP,EAAa5K,KAIJ,kBAAdmL,GACc,mBAAdA,EAEoC,KAMtB,iBAAdA,GACc,iBAAdA,GAEc,iBAAdA,GACPA,EAAWvC,aAAeoD,OAEiB7D,EAC1C,KACAgD,EACA,KACA,KACA,MAES5D,EAAQ4D,GACyBhD,EAC1Ca,EACA,CAAElB,SAAUqD,GACZ,KACA,KACA,eAESA,EAAWvC,aAA6BuC,EAAAA,IAAoB,EAK3BhD,EAC1CgD,EAAWtD,KACXsD,EAAWzD,MACXyD,EAAWhF,IACXgF,EAAWpD,IAAMoD,EAAWpD,IAAM,KAClCoD,EAAAA,KAG0CA,IAmC5CA,EAAAA,GAAqBN,EACrBM,EAAAA,IAAoBN,EAAAA,IAAwB,EAEtCe,EAAgBK,EACrBd,EACAG,EACAK,EACAG,GAMDX,EAAAA,IAAoBS,EAEpB7B,EAAW,MACY,IAAnB6B,IAEHE,KADA/B,EAAWuB,EAAYM,MAGtB7B,EAAAA,KLrRmB,SK4RU,MAAZA,GAA2C,OAAvBA,EAAAA,MAGhB,GAAlB6B,GACHG,IAI6B,mBAAnBZ,EAAWtD,OACrBsD,EAAAA,KLvSwB,QKySfS,IAAkBD,IACxBC,IAAkBD,EAAc,EACnCI,IACUH,EAAgBD,EACtBG,EAAuBP,EAAoBI,EAC9CI,GAAQH,EAAgBD,EAExBI,IAESH,EAAgBD,EACtBC,GAAiBD,EAAc,IAClCI,EAAOH,EAAgBD,GAGxBI,EAAO,EAKJH,IAAkB5L,EAAI+L,IACzBZ,EAAUpC,KL7Tc,UKuOzBgB,EAAWuB,EAAYK,KAGN,MAAhB5B,EAAS5D,KACT4D,EACAtB,KAAgC,IL1Ob,OK0OlBsB,EAAQhB,OAELgB,EAAAA,KAAiBc,EAAAA,MACpBA,EAAcnC,IAAYS,EAAcY,IAGzCmC,EAAQnC,EAAUA,GAAAA,GAWlBuB,EAAYK,GAAe,KAC3BG,KAwEH,GAAIA,EACH,IAAK9L,EAAI,EAAGA,EAAI6L,EAAmB7L,IAElB,OADhB+J,EAAWuB,EAAYtL,KACiC,ILvUpC,OKuUK+J,EAAQhB,OAC5BgB,EAAAA,KAAiBc,EAArBnC,MACCmC,EAAcnC,IAAYS,EAAcY,IAGzCmC,EAAQnC,EAAUA,IAYtB,SAAStG,EAAO0I,EAAanC,EAAQC,GAArC,IAIMnC,EACK9H,EAFV,GAA+B,mBAApBmM,EAAYtE,KAAoB,CAE1C,IADIC,EAAWqE,EAAH7D,IACHtI,EAAI,EAAG8H,GAAY9H,EAAI8H,EAAShI,OAAQE,IAC5C8H,EAAS9H,KAKZ8H,EAAS9H,GAAT8H,GAAsBqE,EACtBnC,EAASvG,EAAOqE,EAAS9H,GAAIgK,EAAQC,IAIvC,OAAOD,EACGmC,EAAAA,KAAoBnC,IAC9BC,EAAUmC,aAAaD,EAAvB1D,IAAyCuB,GAAU,MACnDA,EAASmC,EAAH1D,KAGP,GACCuB,EAASA,GAAUA,EAAO0B,kBACR,MAAV1B,GAAsC,IAApBA,EAAOqC,UAElC,OAAOrC,EASD,SAASsC,EAAaxE,EAAUyE,GAUtC,OATAA,EAAMA,GAAO,GACG,MAAZzE,GAAuC,kBAAZA,IACpBP,EAAQO,GAClBA,EAAS0E,MAAK,YACbF,EAAa/C,EAAOgD,MAGrBA,EAAI5L,KAAKmH,IAEHyE,EAUR,SAASN,EACRd,EACAG,EACAK,EACAG,GAJD,IAMO3F,EAAMgF,EAAWhF,IACjB0B,EAAOsD,EAAWtD,KACpB4E,EAAId,EAAc,EAClBe,EAAIf,EAAc,EAClB5B,EAAWuB,EAAYK,GAc3B,GACc,OAAb5B,GACCA,GACA5D,GAAO4D,EAAS5D,KAChB0B,IAASkC,EAASlC,MACc,IL5aZ,OK4anBkC,EAAAA,KAEF,OAAO4B,EACD,GAXNG,GACa,MAAZ/B,GAAoD,ILrahC,OKqaCA,EAAAA,KAAmC,EAAI,GAW7D,KAAO0C,GAAK,GAAKC,EAAIpB,EAAYxL,QAAQ,CACxC,GAAI2M,GAAK,EAAG,CAEX,IADA1C,EAAWuB,EAAYmB,KAGU,ILrbd,OKqbjB1C,EAAAA,MACD5D,GAAO4D,EAAS5D,KAChB0B,IAASkC,EAASlC,KAElB,OAAO4E,EAERA,IAGD,GAAIC,EAAIpB,EAAYxL,OAAQ,CAE3B,IADAiK,EAAWuB,EAAYoB,KAGU,ILlcd,OKkcjB3C,EAAQhB,MACT5C,GAAO4D,EAAS5D,KAChB0B,IAASkC,EAASlC,KAElB,OAAO6E,EAERA,KAKH,OAAQ,ECjdT,SAASC,EAASjJ,EAAOyC,EAAKyG,GACd,MAAXzG,EAAI,GACPzC,EAAMmJ,YAAY1G,EAAc,MAATyG,EAAgB,GAAKA,GAE5ClJ,EAAMyC,GADa,MAATyG,EACG,GACa,iBAATA,GAAqBtF,EAAmBwF,KAAK3G,GACjDyG,EAEAA,EAAQ,KAYhB,SAASC,EAAYE,EAAKC,EAAMJ,EAAOK,EAAUjC,GAAjD,IACFkC,EAEJ9G,EAAG,GAAa,UAAT4G,EACN,GAAoB,iBAATJ,EACVG,EAAIrJ,MAAM2B,QAAUuH,MACd,CAKN,GAJuB,iBAAZK,IACVF,EAAIrJ,MAAM2B,QAAU4H,EAAW,IAG5BA,EACH,IAAKD,KAAQC,EACNL,GAASI,KAAQJ,GACtBD,EAASI,EAAIrJ,MAAOsJ,EAAM,IAK7B,GAAIJ,EACH,IAAKI,KAAQJ,EACPK,GAAYL,EAAMI,KAAUC,EAASD,IACzCL,EAASI,EAAIrJ,MAAOsJ,EAAMJ,EAAMI,SAOhC,GAAgB,MAAZA,EAAK,IAA0B,MAAZA,EAAK,GAChCE,EACCF,KAAUA,EAAOA,EAAKG,QAAQ,8BAA+B,OAQ7DH,EAJAA,EAAKI,gBAAiBL,GACb,eAATC,GACS,cAATA,EAEOA,EAAKI,cAActG,MAAM,GACrBkG,EAAKlG,MAAM,GAElBiG,EAALM,IAAqBN,EAAGM,EAAc,IACtCN,EAAAA,EAAeC,EAAOE,GAAcN,EAEhCA,EACEK,EAKJL,EAAMU,EAAYL,EAASK,GAJ3BV,EAAMU,EAAYC,KAAKC,MAEvBT,EAAIU,iBAAiBT,EADLE,EAAaQ,EAAoBC,EACbT,IAMrCH,EAAIa,oBAAoBZ,EADRE,EAAaQ,EAAoBC,EACVT,OAElC,CACN,GAAIlC,EAIHgC,EAAOA,EAAKG,QAAQ,cAAe,KAAKA,QAAQ,SAAU,UAE1DH,GAAS,UAATA,GACS,WAATA,GACS,SAATA,GACS,SAATA,GACS,SAATA,GAGS,aAATA,GACS,aAATA,GACS,YAATA,GACS,YAATA,GACS,SAATA,GACAA,KAAQD,EAER,IACCA,EAAIC,GAAiB,MAATJ,EAAgB,GAAKA,EAEjC,MAAMxG,EACL,MAAOjC,IAUU,mBAATyI,IAES,MAATA,IAAAA,IAAkBA,GAA+B,MAAZI,EAAK,GAGpDD,EAAIc,gBAAgBb,GAFpBD,EAAIlI,aAAamI,EAAMJ,KAY1B,SAASe,EAAWxJ,GACnB,GAAI3E,KAAK,EAAY,CACpB,IAAMsO,EAAetO,KAAgB2E,EAAAA,EAAE0D,MAAAA,GAMvC,GAAK1D,EAAE4J,GAAAA,GAMI5J,EAAE4J,GAAeD,EAAaR,EACxC,YAJAnJ,EAAE4J,EAAcR,KAAKC,MAMtB,OAAOM,EAAa/L,EAAQiM,MAAQjM,EAAQiM,MAAM7J,GAAKA,IASzD,SAASuJ,EAAkBvJ,GAC1B,GAAI3E,KAAJ6N,EACC,OAAO7N,KAAK,EAAW2E,EAAE0D,MAAAA,GAAa9F,EAAQiM,MAAQjM,EAAQiM,MAAM7J,GAAKA,GC/HpE,SAASoG,EACfN,EACAH,EACAC,EACAgB,EACAC,EACAC,EACAf,EACAF,EACAkB,EACAf,GAVM,IAaF8D,EAkBExE,EAAGyE,EAAOC,EAAUC,EAAUC,EAAUC,EACxCC,EAKAC,EACAC,EAuGOzO,EA4BP0O,EACHvM,EASSnC,EA6BN4K,EAlML+D,EAAU7E,EAASjC,KAIpB,YAAIiC,EAASlB,YAA2B,OAAO,KP9ClB,IOiDzBmB,EAAAA,MACHmB,KPpD0B,GOoDTnB,EAAQhB,KAEzBkC,EAAoB,CADpBjB,EAASF,EAAAA,IAAgBC,EAAhBtB,OAILwF,EAAMlM,EAAXyG,MAA2ByF,EAAInE,GAE/B8E,EAAO,GAAsB,mBAAXD,EACjB,IAgEC,GA9DIJ,EAAWzE,EAASpC,MAKpB8G,GADJP,EAAMU,EAAQE,cACQ9D,EAAckD,EAApCtF,KACI8F,EAAmBR,EACpBO,EACCA,EAAS9G,MAAMkF,MACfqB,EAFO1F,GAGRwC,EAGChB,EAAJpB,IAEC2F,GADA7E,EAAIK,EAAAA,IAAsBC,EAAtBpB,KACwBJ,GAAwBkB,EACpDqF,KAEI,cAAeH,GAAWA,EAAQjI,UAAUqI,OAE/CjF,EAAAA,IAAsBL,EAAI,IAAIkF,EAAQJ,EAAUE,IAGhD3E,EAAQnB,IAAcc,EAAI,IAAIR,EAC7BsF,EACAE,GAEDhF,EAAEb,YAAc+F,EAChBlF,EAAEsF,OAASC,GAERR,GAAUA,EAASS,IAAIxF,GAE3BA,EAAE/B,MAAQ6G,EACL9E,EAAEyF,QAAOzF,EAAEyF,MAAQ,IACxBzF,EAAEP,QAAUuF,EACZhF,EAAAA,IAAmBsB,EACnBmD,EAAQzE,EAAAA,KAAAA,EACRA,EAAC0F,IAAoB,GACrB1F,EAAC2F,IAAmB,IAID,MAAhB3F,EAAAA,MACHA,EAAAA,IAAeA,EAAEyF,OAGsB,MAApCP,EAAQU,2BACP5F,EAAC6F,KAAe7F,EAAEyF,QACrBzF,EAAC6F,IAAc7H,EAAO,GAAIgC,EAAL6F,MAGtB7H,EACCgC,EACAkF,IAAAA,EAAQU,yBAAyBd,EAAU9E,EAAAA,OAI7C0E,EAAW1E,EAAE/B,MACb0G,EAAW3E,EAAEyF,MACbzF,EAAAA,IAAWK,EAGPoE,EAEkC,MAApCS,EAAQU,0BACgB,MAAxB5F,EAAE8F,oBAEF9F,EAAE8F,qBAGwB,MAAvB9F,EAAE+F,mBACL/F,EAAAA,IAAmB9I,KAAK8I,EAAE+F,uBAErB,CASN,GAPqC,MAApCb,EAAQU,0BACRd,IAAaJ,GACkB,MAA/B1E,EAAEgG,2BAEFhG,EAAEgG,0BAA0BlB,EAAUE,IAIrChF,EACCA,MAA2B,MAA3BA,EAAEiG,wBAAAA,IACHjG,EAAEiG,sBACDnB,EACA9E,EAFD6F,IAGCb,IAED3E,EAAQjB,MAAekB,EAPxBlB,KAQC,CAkBD,IAhBIiB,EAAQjB,MAAekB,EAA3BlB,MAKCY,EAAE/B,MAAQ6G,EACV9E,EAAEyF,MAAQzF,EAAV6F,IACA7F,EAACf,KAAAA,GAGFoB,EAAAA,IAAgBC,EAChBD,IAAAA,EAAAA,IAAqBC,EAArBzB,IACAwB,EAAAA,IAAmB6F,SAAQ,YACtBtH,IAAOA,EAAAA,GAAgByB,MAGnB9J,EAAI,EAAGA,EAAIyJ,EAAAA,IAAkB3J,OAAQE,IAC7CyJ,EAAAA,IAAmB9I,KAAK8I,EAAC2F,IAAiBpP,IAE3CyJ,EAAAA,IAAoB,GAEhBA,EAAC0F,IAAkBrP,QACtBoK,EAAYvJ,KAAK8I,GAGlB,MAAMmF,EAGsB,MAAzBnF,EAAEmG,qBACLnG,EAAEmG,oBAAoBrB,EAAU9E,EAAAA,IAAcgF,GAGnB,MAAxBhF,EAAEoG,oBACLpG,EAAAA,IAAmB9I,MAAK,WACvB8I,EAAEoG,mBAAmB1B,EAAUC,EAAUC,MAY5C,GAPA5E,EAAEP,QAAUuF,EACZhF,EAAE/B,MAAQ6G,EACV9E,EAAAA,IAAeQ,EACfR,EAAChB,KAAAA,EAEGiG,EAAa3M,EAAH+N,IACb3N,EAAQ,EACL,cAAewM,GAAWA,EAAQjI,UAAUqI,OAAQ,CAQvD,IAPAtF,EAAEyF,MAAQzF,EAAV6F,IACA7F,EAACf,KAAAA,EAEGgG,GAAYA,EAAW5E,GAE3BmE,EAAMxE,EAAEsF,OAAOtF,EAAE/B,MAAO+B,EAAEyF,MAAOzF,EAAEP,SAE1BlJ,EAAI,EAAGA,EAAIyJ,EAAAA,IAAkB3J,OAAQE,IAC7CyJ,EAAC0F,IAAkBxO,KAAK8I,EAAC2F,IAAiBpP,IAE3CyJ,EAAAA,IAAoB,QAEpB,GACCA,EAAAA,KAAAA,EACIiF,GAAYA,EAAW5E,GAE3BmE,EAAMxE,EAAEsF,OAAOtF,EAAE/B,MAAO+B,EAAEyF,MAAOzF,EAAEP,SAGnCO,EAAEyF,MAAQzF,EAAV6F,UACQ7F,EAACf,OAAavG,EAAQ,IAIhCsH,EAAEyF,MAAQzF,EAAV6F,IAEyB,MAArB7F,EAAEsG,kBACLhF,EAAgBtD,EAAOA,EAAO,GAAIsD,GAAgBtB,EAAEsG,oBAGhD7B,GAAsC,MAA7BzE,EAAEuG,0BACf3B,EAAW5E,EAAEuG,wBAAwB7B,EAAUC,IAOhDzD,EACCV,EACA1C,EAJGqD,EADI,MAAPqD,GAAeA,EAAIpG,OAASmB,GAAuB,MAAXiF,EAAI9H,IACL8H,EAAIvG,MAAMI,SAAWmG,GAIpCrD,EAAe,CAACA,GACxCd,EACAC,EACAgB,EACAC,EACAC,EACAf,EACAF,EACAkB,EACAf,GAGDV,EAAEvH,KAAO4H,EAATrB,IAGAqB,EAAQf,MPxPe,IO0PnBU,EAAC0F,IAAkBrP,QACtBoK,EAAYvJ,KAAK8I,GAGd6E,IACH7E,EAACqF,IAAiBrF,EAAAA,GAAyB,MAE3C,MAAOtF,GACR2F,EAAQjB,IAAa,KAEjBqC,GAAoC,MAArBD,GAClBnB,EAAQrB,IAAQuB,EAChBF,EAAAA,KAAmBoB,EAChBrE,IPhRqB,GOkRxBoE,EAAkBA,EAAkBgF,QAAQjG,IAAW,OAIvDF,EAAQrB,IAAQsB,EAAAA,IAChBD,EAAQxB,IAAayB,EACrBzB,KACDvG,EAAO0G,IAAatE,EAAG2F,EAAUC,QAGb,MAArBkB,GACAnB,EAAQjB,MAAekB,EAFjBlB,KAINiB,EAAAA,IAAqBC,EACrBD,IAAAA,EAAAA,IAAgBC,EAAhBtB,KAEAqB,EAAQrB,IAAQyH,EACfnG,EACAD,IAAAA,EACAC,EACAgB,EACAC,EACAC,EACAf,EACAgB,EACAf,IAIG8D,EAAMlM,EAAQoO,SAASlC,EAAInE,GAQ1B,SAASY,EAAWR,EAAakG,EAAMjG,GAC7CiG,EAAAA,SAAAA,EAEA,IAAK,IAAIpQ,EAAI,EAAGA,EAAImK,EAASrK,OAAQE,IACpCyL,EAAStB,EAASnK,GAAImK,IAAWnK,GAAImK,IAAWnK,IAG7C+B,EAAJ4G,KAAqB5G,EAAAA,IAAgBqO,EAAMlG,GAE3CA,EAAYsC,MAAK,YAChB,IAECtC,EAAcT,EAAd0F,IACA1F,EAAC0F,IAAoB,GACrBjF,EAAYsC,MAAK,YAEhB6D,EAAGzJ,KAAK6C,MAER,MAAOtF,GACRpC,EAAO0G,IAAatE,EAAGsF,EAAvBZ,SAoBH,SAASqH,EACRnD,EACAjD,EACAC,EACAgB,EACAC,EACAC,EACAf,EACAgB,EACAf,GATD,IAeKnK,EAEAsQ,EAEAC,EAEAC,EACA5D,EACA6D,EACAC,EAbAvC,EAAWpE,EAASrC,MACpB6G,EAAWzE,EAASpC,MACpB2E,EAAkCvC,EAASjC,KAgB/C,GAFiB,QAAbwE,IAAoBrB,GAAAA,GAEC,MAArBC,EACH,IAAKjL,EAAI,EAAGA,EAAIiL,EAAkBnL,OAAQE,IAMzC,IALA4M,EAAQ3B,EAAkBjL,KAOzB,iBAAkB4M,KAAYP,IAC7BA,EAAWO,EAAM+D,YAActE,EAA8B,IAAnBO,EAAMP,UAChD,CACDU,EAAMH,EACN3B,EAAkBjL,GAAK,KACvB,MAKH,GAAW,MAAP+M,EAAa,CAChB,GAAiB,OAAbV,EACH,OAAOxI,SAAS0B,eAAegJ,GAI/BxB,EADG/B,EACGnH,SAAS+M,gBAAgB,6BAA8BvE,GAEvDxI,SAASW,cAAc6H,EAAUkC,EAASsC,IAAMtC,GAIvDtD,EAAoB,KAGpBC,GAAAA,EAGD,GAAiB,OAAbmB,EAEC8B,IAAaI,GAAcrD,GAAe6B,EAAI5L,OAASoN,IAC1DxB,EAAI5L,KAAOoN,OAEN,CASN,GAPAtD,EAAoBA,GAAqBnE,EAAMF,KAAKmG,EAAI+D,YAExD3C,EAAWpE,EAASrC,OAASN,GAKxB8D,GAAoC,MAArBD,EAEnB,IADAkD,EAAW,GACNnO,EAAI,EAAGA,EAAI+M,EAAIrI,WAAW5E,OAAQE,IAEtCmO,GADAvB,EAAQG,EAAIrI,WAAW1E,IACRgN,MAAQJ,EAAMA,MAI/B,IAAK5M,KAAKmO,EACTvB,EAAQuB,EAASnO,GACR,YAALA,IACY,2BAALA,EACVuQ,EAAU3D,EACM,QAAN5M,GAAiBA,KAAKuO,GAChC1B,EAAYE,EAAK/M,EAAG,KAAM4M,EAAO5B,IAMnC,IAAKhL,KAAKuO,EACT3B,EAAQ2B,EAASvO,GACR,YAALA,EACHwQ,EAAc5D,EACC,2BAAL5M,EACVsQ,EAAU1D,EACK,SAAL5M,EACVyQ,EAAa7D,EACE,WAAL5M,EACV0Q,EAAU9D,EAEJ,QAAN5M,GACEkL,GAA+B,mBAAT0B,GACxBuB,EAASnO,KAAO4M,GAEhBC,EAAYE,EAAK/M,EAAG4M,EAAOuB,EAASnO,GAAIgL,GAK1C,GAAIsF,EAGDpF,GACCqF,IACAD,EAAAA,SAAmBC,EAAnBQ,QACAT,EAAOS,SAAYhE,EAAIiE,aAEzBjE,EAAIiE,UAAYV,EAAhBS,QAGDjH,EAAAA,IAAqB,QAqBrB,GAnBIyG,IAASxD,EAAIiE,UAAY,IAE7BrG,EACCoC,EACAxF,EAAQiJ,GAAeA,EAAc,CAACA,GACtC1G,EACAC,EACAgB,EACAC,GAAsB,kBAAbqB,EACTpB,EACAf,EACAe,EACGA,EAAkB,GAClBlB,EAAAA,KAAsBZ,EAAcY,EAAU,GACjDmB,EACAf,GAIwB,MAArBc,EACH,IAAKjL,EAAIiL,EAAkBnL,OAAQE,KACN,MAAxBiL,EAAkBjL,IAAY2H,EAAWsD,EAAkBjL,IAM7DkL,IACJlL,EAAI,iBAEHyQ,IAKCA,IAAe1D,EAAI/M,IACL,aAAbqM,IAA4BoE,GAIf,WAAbpE,GAAyBoE,IAAetC,EAASnO,KAEnD6M,EAAYE,EAAK/M,EAAGyQ,EAAYtC,EAASnO,IAAAA,GAG1CA,EAAI,mBACA0Q,GAAyBA,IAAY3D,EAAI/M,IAC5C6M,EAAYE,EAAK/M,EAAG0Q,EAASvC,EAASnO,IAAAA,IAKzC,OAAO+M,EASD,SAAStB,EAAS1D,EAAK6E,EAAOvE,GACpC,IACmB,mBAAPN,EAAmBA,EAAI6E,GAC7B7E,EAAIkJ,QAAUrE,EAClB,MAAOzI,GACRpC,EAAAA,IAAoBoC,EAAGkE,IAWT6D,SAAAA,EAAQ7D,EAAO8D,EAAa+E,GAA5BhF,IACXiF,EAuBMnR,EAdV,GARI+B,EAAQmK,SAASnK,EAAQmK,QAAQ7D,IAEhC8I,EAAI9I,EAAMN,OACToJ,EAAEF,SAAWE,EAAEF,UAAY5I,EAAdI,KACjBgD,EAAS0F,EAAG,KAAMhF,IAIU,OAAzBgF,EAAI9I,EAAHM,KAA8B,CACnC,GAAIwI,EAAEC,qBACL,IACCD,EAAEC,uBACD,MAAOjN,GACRpC,EAAAA,IAAoBoC,EAAGgI,GAIzBgF,EAAEjP,KAAOiP,EAAC7G,IAAc,KACxBjC,EAAKM,SAAAA,EAGN,GAAKwI,EAAI9I,EAAHC,IACL,IAAStI,EAAI,EAAGA,EAAImR,EAAErR,OAAQE,IACzBmR,EAAEnR,IACLkM,EACCiF,EAAEnR,GACFmM,EACA+E,GAAoC,mBAAf7I,EAAMR,MAM1BqJ,GAA4B,MAAd7I,EAAKI,KACvBd,EAAWU,EACXI,KAIDJ,EAAKE,GAAWF,EAAAA,IAAaA,EAAKK,SAAAA,EAInC,SAASsG,EAAStH,EAAOwH,EAAOhG,GAC/B,OAAO1J,KAAKoJ,YAAYlB,EAAOwB,GNnkBnBpC,EAAQO,EAAUP,MCjBzB/E,EAAU,CACf0G,IMHM,SAAqB4I,EAAOhJ,EAAO0B,EAAUuH,GAQnD,IANA,IAAIzH,EAEH0H,EAEAC,EAEOnJ,EAAQA,EAAhBE,IACC,IAAKsB,EAAYxB,EAAHM,OAAyBkB,EAADtB,GACrC,IAcC,IAbAgJ,EAAO1H,EAAUjB,cAE4B,MAAjC2I,EAAKE,2BAChB5H,EAAU6H,SAASH,EAAKE,yBAAyBJ,IACjDG,EAAU3H,EAAHnB,KAG2B,MAA/BmB,EAAU8H,oBACb9H,EAAU8H,kBAAkBN,EAAOC,GAAa,IAChDE,EAAU3H,EACVnB,KAGG8I,EACH,OAAQ3H,EAASiF,IAAiBjF,EAElC,MAAO1F,GACRkN,EAAQlN,EAKX,MAAMkN,ILvCHtK,EAAU,ECwBdkC,EAAcvC,UAAUgL,SAAW,SAAU3O,EAAQ6O,GAEpD,IAAIC,EAEHA,EADsB,MAAnBrS,KAAK,KAAsBA,KAAK,MAAeA,KAAK0P,MACnD1P,KAAH8P,IAEG9P,KAAK,IAAaiI,EAAO,GAAIjI,KAAK0P,OAGlB,mBAAVnM,IAGVA,EAASA,EAAO0E,EAAO,GAAIoK,GAAIrS,KAAKkI,QAGjC3E,GACH0E,EAAOoK,EAAG9O,GAIG,MAAVA,GAEAvD,KAAaqJ,MACZ+I,GACHpS,KAAqBmB,IAAAA,KAAKiR,GAE3BpI,EAAchK,QAUhByJ,EAAcvC,UAAUoL,YAAc,SAAUF,GAC3CpS,KAAJqJ,MAICrJ,KAAciJ,KAAAA,EACVmJ,GAAUpS,KAAsBmB,IAAAA,KAAKiR,GACzCpI,EAAchK,QAchByJ,EAAcvC,UAAUqI,OAAS/F,EA+F7BhC,EAAgB,GAadE,EACa,mBAAX6K,QACJA,QAAQrL,UAAUsL,KAAKC,KAAKF,QAAQG,WACpCC,WAuBEhL,EAAY,SAAClB,EAAGmM,GAAMnM,OAAAA,EAAAA,IAAAA,IAAkBmM,EAA5BvJ,IAAAL,KAuBlBkB,EAAOoG,IAAkB,E,wHKtOrB/N,EAAU,GAEdA,EAAQgD,kBAAoB,IAC5BhD,EAAQ0C,cAAgB,IAElB1C,EAAQ0B,OAAS,SAAc,KAAM,QAE3C1B,EAAQe,OAAS,IACjBf,EAAQ+C,mBAAqB,IAEhB,IAAI,IAAS/C,GAKJ,KAAW,YAAiB,WCvBlD,IAGIsQ,EAGAC,EAqBAC,EAfAC,GAAoB,GAEpBC,GAAQ,GAGN1Q,GAAuD2Q,EAEzDC,GAAgB5Q,GAApByG,IACIoK,GAAkB7Q,GAAH+N,IACf+C,GAAe9Q,GAAQoO,OACvB2C,GAAY/Q,GAAH4G,IACToK,GAAmBhR,GAAQmK,QAC3B8G,GAAUjR,GAAHwG,GAwaX,SAAS0K,KAER,IADA,IAAIpJ,EACIA,EAAY2I,GAAkBnI,SACrC,GAAKR,EAAwBS,KAACT,EAADqJ,IAC7B,IACCrJ,EAAAA,IAAAA,IAAkC8F,QAAQwD,IAC1CtJ,EAASqJ,IAAyBvD,IAAAA,QAAQyD,IAC1CvJ,EAAAA,IAAoCsF,IAAA,GACnC,MAAOhL,GACR0F,EAAAA,IAAAA,IAAoC,GACpC9H,GAAO0G,IAAatE,EAAG0F,EAAvBhB,MA5aH9G,GAAOyG,IAAS,YACf6J,EAAmB,KACfM,IAAeA,GAActK,IAGlCtG,GAAAA,GAAgB,SAACsG,EAAO4B,GACnB5B,GAAS4B,EAAJ3B,KAA2B2B,EAAAA,IAAAA,MACnC5B,EAAKgL,IAASpJ,EACd3B,IAAA+K,KAEGL,IAASA,GAAQ3K,EAAO4B,IAI7BlI,GAAO+N,IAAW,YACb8C,IAAiBA,GAAgBvK,GAKrC,IAAMiL,GAHNjB,EAAmBhK,EAAHM,KAGLuK,IACPI,IACChB,IAAsBD,GACzBiB,EAAKnE,IAAmB,GACxBkD,EAAAA,IAAoC,GACpCiB,EAAK/K,GAAOoH,SAAQ,YACf4D,EAAqBC,MACxBD,EAAQhL,GAAUgL,EAClBC,KACDD,EAAAA,IAAyBd,GACzBc,EAAQC,IAAcD,EAASE,OAAAA,OAGhCH,EAAKnE,IAAiBQ,QAAQwD,IAC9BG,EAAAA,IAAsB3D,QAAQyD,IAC9BE,EAAAA,IAAwB,KAI1BhB,EAAoBD,GAIrBtQ,GAAQoO,OAAS,YACZ0C,IAAcA,GAAaxK,GAE/B,IAAMoB,EAAIpB,EAAHM,IACHc,GAAKA,EAAJyJ,MACAzJ,EAACyJ,IAAyBpT,IAAAA,SAoaR,IApa2B0S,GAAkB7R,KAAK8I,IAoa7C8I,IAAYxQ,GAAQ2R,yBAC/CnB,EAAUxQ,GAAQ2R,wBACNC,IAAgBV,KAra5BxJ,EAACyJ,IAAevD,GAAAA,SAAQ,YACnB4D,EAASE,IACZF,EAAQL,IAASK,EAASE,GAEvBF,EAAQK,MAAmBnB,KAC9Bc,EAAAA,GAAkBA,EAAlBK,KAEDL,EAASE,OAAAA,EACTF,EAAAA,IAAyBd,OAG3BH,EAAoBD,EAAmB,MAKxCtQ,GAAO4G,IAAW,SAACN,EAAO6B,GACzBA,EAAYsC,MAAK,YAChB,IACC3C,EAAAA,IAA2B8F,QAAQwD,IACnCtJ,EAASsF,IAAoBtF,EAAAA,IAA2BgK,QAAO,YAAE,OAChExD,EAAAA,IAAY+C,GAAa/C,MAEzB,MAAOlM,GACR+F,EAAYsC,MAAK,YACZ/C,EAAJ0F,MAAwB1F,EAAC0F,IAAoB,OAE9CjF,EAAc,GACdnI,GAAO0G,IAAatE,EAAG0F,EAAvBhB,SAIEiK,IAAWA,GAAUzK,EAAO6B,IAIjCnI,GAAQmK,QAAU,YACb6G,IAAkBA,GAAiB1K,GAEvC,IAEKyL,EAFCrK,EAAIpB,EAAHM,IACHc,GAAKA,EAATyJ,MAECzJ,EAAAA,IAAAA,GAAgBkG,SAAQ,YACvB,IACCwD,GAActB,GACb,MAAO1N,GACR2P,EAAa3P,MAGfsF,EAAAA,SAAAA,EACIqK,GAAY/R,GAAAA,IAAoB+R,EAAYrK,EAChDZ,OA6UF,IAAIkL,GAA0C,mBAAzBL,sBAYrB,SAASC,GAAe/B,GACvB,IAOIoC,EAPEC,EAAO,WACZC,aAAaC,GACTJ,IAASK,qBAAqBJ,GAClC7B,WAAWP,IAENuC,EAAUhC,WAAW8B,EAvcR,KA0cfF,KACHC,EAAMN,sBAAsBO,IAuB9B,SAASd,GAAckB,GAGtB,IAAMC,EAAOjC,EACTkC,EAAUF,EAAH1L,IACW,mBAAX4L,IACVF,EAAI1L,SAAAA,EACJ4L,KAGDlC,EAAmBiC,EAQpB,SAASlB,GAAaiB,GAGrB,IAAMC,EAAOjC,EACbgC,EAAAA,IAAgBA,EAAI9L,KACpB8J,EAAmBiC,ETpgBJE,SAAAA,GAAevO,EAAGmM,GACjC,IAAK,IAAIpS,KAAKiG,EAAG,GAAU,aAANjG,KAAsBA,KAAKoS,GAAI,SACpD,IAAK,IAAIpS,KAAKoS,EAAG,GAAU,aAANpS,GAAoBiG,EAAEjG,KAAOoS,EAAEpS,GAAI,SACxD,SUfeyU,SAAAA,GAAcC,EAAGjL,GAChCjK,KAAKkI,MAAQgN,EACblV,KAAK0J,QAAUO,GAEhBgL,GAAc/N,UAAY,IAAIiO,GAENC,sBAAAA,EACxBH,GAAc/N,UAAUgJ,sBAAwB,SAAUhI,EAAOwH,GAChE,OAAOsF,GAAehV,KAAKkI,MAAOA,IAAU8M,GAAehV,KAAK0P,MAAOA,ICXxE,IAAI2F,GAAc9S,EAAAA,IAClBA,EAAAA,IAAgB,YACXsG,EAAMR,MAAQQ,EAAMR,KAApBiN,KAAuCzM,EAAMN,MAChDM,EAAMX,MAAMK,IAAMM,EAAMN,IACxBM,EAAMN,IAAM,MAET8M,IAAaA,GAAYxM,IAIX,oBAAV0M,QACPA,OAAOC,KACPD,OAAOC,IAAI,qBCbb,ICEMC,GAAgBlT,EAAAA,IACtBA,EAAAA,IAAsB,SAAUsP,EAAOvH,EAAUC,EAAUuH,GAC1D,GAAID,EAAMW,KAKT,IAHA,IAAInI,EACAxB,EAAQyB,EAEJzB,EAAQA,EAAHE,IACZ,IAAKsB,EAAYxB,EAAbM,MAAkCkB,EAAlClB,IAMH,OALqB,MAAjBmB,EAAQrB,MACXqB,EAAAA,IAAgBC,EAAhBtB,IACAqB,EAAAA,IAAqBC,EAArBzB,KAGMuB,EAASlB,IAAkB0I,EAAOvH,GAI5CmL,GAAc5D,EAAOvH,EAAUC,EAAUuH,IAG1C,IAAM4D,GAAanT,EAAAA,QAmBnB,SAASoT,GAAc9M,EAAO+M,EAAgBnL,GAyB7C,OAxBI5B,IACCA,EAAKM,KAAeN,EAAxBM,IAAAuK,MACC7K,EAAKM,IAA0BgH,IAAAA,GAAAA,SAAQ,YACR,mBAAnB0F,EAAAA,KAA+BA,EAAM1M,SAGjDN,EAAKM,IAAAA,IAAsB,MAIJ,OADxBN,Eb/CcZ,SAAOpF,EAAKqF,GAC3B,IAAK,IAAI1H,KAAK0H,EAAOrF,EAAIrC,GAAK0H,EAAM1H,GACpC,OAA6BqC,Ea6CpBoF,CAAO,GAAIY,IACVM,MACJN,EAAKM,IAA2BsB,MAAAA,IACnC5B,EAAAA,IAAAA,IAA8B+M,GAE/B/M,EAAAA,IAAmB,MAGpBA,EAAKC,IACJD,EAAKC,KACLD,EAAAA,IAAgB5I,KAAI,YAAK,OACxB0V,GAAc5L,EAAO6L,EAAgBnL,OAIjC5B,EAGR,SAASiN,GAAejN,EAAO+M,EAAgBG,GAoB9C,OAnBIlN,GAASkN,IACZlN,EAAAA,IAAkB,KAClBA,EAAAA,IACCA,EAAKC,KACLD,EAAKC,IAAW7I,KAAI,YACnB6V,OAAAA,GAAe/L,EAAO6L,EAAgBG,MAGpClN,EAAkBM,KACjBN,EAAAA,IAAgC+M,MAAAA,IAC/B/M,EAAAA,KACHkN,EAAejR,YAAY+D,EAAAA,KAE5BA,EAAAA,IAAAA,KAAAA,EACAA,EAAAA,IAAAA,IAA8BkN,IAK1BlN,EAIQmN,SAAAA,KAEfhW,KAA+BuJ,IAAA,EAC/BvJ,KAAKiW,EAAc,KACnBjW,KAA2BgJ,IAAA,KAsIrB,SAASkN,GAAUrN,GAEzB,IAAIwB,EAAYxB,EAAHE,GAAAI,IACb,OAAOkB,GAAaA,EAAJ8L,KAA4B9L,EAAAA,IAAqBxB,GCpOlDuN,SAAAA,KACfpW,KAAKqW,EAAQ,KACbrW,KAAKsW,EAAO,KDeb/T,EAAAA,QAAkB,SAAUsG,GAE3B,IAAMwB,EAAYxB,EAAlBM,IACIkB,GAAaA,EAAJkM,KACZlM,EAASkM,MAONlM,GEpCuB,GFoCVxB,EAAKU,MACrBV,EAAMR,KAAO,MAGVqN,IAAYA,GAAW7M,KAiE5BmN,GAAS9O,UAAY,IAAIiO,GAOahM,IAAA,SAAUqN,EAASC,GACxD,IAAMC,EAAsBD,EAA5BtN,IAGMc,EAAIjK,KAEW,MAAjBiK,EAAEgM,IACLhM,EAAEgM,EAAc,IAEjBhM,EAAEgM,EAAY9U,KAAKuV,GAEnB,IAAMhE,EAAUwD,GAAUjM,EAADZ,KAErBsN,GAAAA,EACEC,EAAa,WACdD,IAEJA,GAAAA,EACAD,EAAAA,IAAiC,KAE7BhE,EACHA,EAAQmE,GAERA,MAIFH,EAAmBH,IAAcK,EAEjC,IAAMC,EAAuB,WAC5B,MAAO5M,EAAFV,IAA6B,CAGjC,GAAIU,EAAEyF,MAANyG,IAAwB,CACvB,IAAMW,EAAiB7M,EAAEyF,MAALyG,IACpBlM,EAAAA,IAAmBnB,IAAA,GAAKgN,GACvBgB,EACAA,EAFqC3N,IAAA2B,IAGrCgM,EAHqC3N,IAAA4N,KASvC,IAAIb,EACJ,IAHAjM,EAAEiI,SAAS,CAAEiE,IAAalM,EAAAA,IAAwB,OAG1CiM,EAAYjM,EAAEgM,EAAYe,OACjCd,EAAU5D,gBAWXrI,EAAAA,OEzKyB,GF0KxBwM,EAAAA,KAEFxM,EAAEiI,SAAS,CAAEiE,IAAalM,EAAAA,IAAwBA,EAAAA,IAAmBnB,IAAA,KAEtE0N,EAAQhE,KAAKoE,EAAYA,IAG1BZ,GAAS9O,UAAU0K,qBAAuB,WACzC5R,KAAKiW,EAAc,IAQpBD,GAAS9O,UAAUqI,OAAS,SAAUrH,EAAOwH,GAC5C,GAAI1P,KAAK,IAAqB,CAI7B,GAAIA,KAAJqJ,IAAAP,IAA2B,CAC1B,IAAM8M,EAAiBvR,SAASW,cAAc,OACxCiS,EAAoBjX,KAAsBqJ,IAAAP,IAAA,GAAzBK,IACvBnJ,KAAAA,IAAAA,IAAsB,GAAK2V,GAC1B3V,KACA4V,IAAAA,EACCqB,EAAiBF,IAAsBE,EAHDnM,KAOzC9K,KAA2BgJ,IAAA,KAK5B,IAAMkO,EACLxH,EAAKyG,KAAenR,EAAcwE,EAAU,KAAMtB,EAAMgP,UAGzD,OAFIA,IAAUA,EAAQ3N,MAAW,IAE1B,CACNvE,EAAcwE,EAAU,KAAMkG,EAAKyG,IAAc,KAAOjO,EAAMI,UAC9D4O,ICnMF,IAAMxE,GAAU,SAAC5S,EAAMiK,EAAO3B,GAc7B,KAbMA,EAdgB,KAcSA,EAfR,IAqBtBtI,EAAKwW,EAAKa,OAAOpN,GAQhBjK,EAAKoI,MAAMkP,cACmB,MAA9BtX,EAAKoI,MAAMkP,YAAY,KAActX,EAAKwW,EAAKe,MASjD,IADAjP,EAAOtI,EAAKuW,EACLjO,GAAM,CACZ,KAAOA,EAAK9H,OAAS,GACpB8H,EAAK4O,KAAL5O,GAED,GAAIA,EA1CiB,GA0CMA,EA3CL,GA4CrB,MAEDtI,EAAKuW,EAAQjO,EAAOA,EA5CJ,MAmDlBgO,GAAalP,UAAY,IAAIiO,GAEOgB,IAAA,SAAUpM,GAC7C,IAAMjK,EAAOE,KACPsX,EAAYpB,GAAUpW,EAA5BuJ,KAEIjB,EAAOtI,EAAKwW,EAAKtP,IAAI+C,GAGzB,OAFA3B,EA5DuB,cA8DhBmP,GACN,IAAMC,EAAmB,WACnB1X,EAAKoI,MAAMkP,aAKfhP,EAAKjH,KAAKoW,GACV7E,GAAQ5S,EAAMiK,EAAO3B,IAHrBmP,KAMED,EACHA,EAAUE,GAEVA,MAKHpB,GAAalP,UAAUqI,OAAS,SAAUrH,GACzClI,KAAKqW,EAAQ,KACbrW,KAAKsW,EAAO,IAAImB,IAEhB,IAAMnP,EAAWwE,EAAa5E,EAAMI,UAChCJ,EAAMkP,aAAwC,MAAzBlP,EAAMkP,YAAY,IAI1C9O,EAASoP,UAIV,IAAK,IAAIlX,EAAI8H,EAAShI,OAAQE,KAY7BR,KAAKsW,EAAKqB,IAAIrP,EAAS9H,GAAKR,KAAKqW,EAAQ,CAAC,EAAG,EAAGrW,KAAKqW,IAEtD,OAAOnO,EAAMI,UAGd8N,GAAalP,UAAUmJ,mBACtB+F,GAAalP,UAAU8I,kBAAoB,WAAY,WAOtDhQ,KAAKsW,EAAKnG,SAAQ,SAAC/H,EAAM2B,GACxB2I,GAAQkF,EAAM7N,EAAO3B,OEpHjB,IAAMyP,GACM,oBAAVtC,QAAyBA,OAAOC,KAAOD,OAAOC,IAAI,kBAC1D,MAEKsC,GACL,8RACKC,GAAS,mCACTC,GAAgB,YAEhBC,GAA6B,oBAAb5T,SAKhB6T,GAAoB,YAAI,OACX,oBAAV3C,QAA4C,iBAAZA,SACrC,cACA,cACDjI,KAAKjF,IAGR8M,EAAAA,UAAAA,iBAAuC,GASvC,CACC,qBACA,4BACA,uBACChF,SAAQ,YACTtJ,OAAOC,eAAeqO,EAAAA,UAAqBxO,EAAK,CAC/CwR,cAAAA,EACAnR,IAAM,WACL,OAAOhH,KAAK,UAAY2G,IAEzBgR,IAAIS,SAAAA,GACHvR,OAAOC,eAAe9G,KAAM2G,EAAK,CAChCwR,cAAAA,EACAE,UAAAA,EACAjL,MAAOgL,UAiCX,IAAIE,GAAe/V,EAAAA,MAUnB,SAASgW,MAET,SAASC,KACR,OAAYC,KAAAA,aAGb,SAASC,KACR,OAAO1Y,KAAK2Y,iBAhBbpW,EAAAA,MAAgB,YAMf,OALI+V,KAAc3T,EAAI2T,GAAa3T,IAEnCA,EAAEiU,QAAUL,GACZ5T,EAAE6T,qBAAuBA,GACzB7T,EAAE+T,mBAAqBA,GACf/T,EAAEkU,YAAclU,GAazB,IAAMmU,GAAoC,CACzC/R,YAAAA,EACAoR,cAAAA,EACAnR,IAAM,WACL,OAAY+R,KAAAA,QAgHVC,GAAezW,EAAAA,MACnBA,EAAAA,MAAgB,YAEW,iBAAfsG,EAAMR,MA/GlB,SAAwBQ,GACvB,IAAIX,EAAQW,EAAMX,MACjBG,EAAOQ,EAAMR,KACbG,EAAkB,GAEnB,IAAK,IAAIhI,KAAK0H,EAAO,CACpB,IAAIkF,EAAQlF,EAAM1H,GAElB,KACQ,UAANA,GAAiB,iBAAkB0H,GAAkB,MAATkF,GAE5C6K,IAAgB,aAANzX,GAA6B,aAAT6H,GACzB,UAAN7H,GACM,cAANA,GALD,CAYA,IAAIyY,EAAazY,EAAEoN,cACT,iBAANpN,GAAwB,UAAW0H,GAAwB,MAAfA,EAAMkF,MAGrD5M,EAAI,QACY,aAANA,IAAAA,IAAoB4M,EAM9BA,EAAQ,GACiB,cAAf6L,GAAwC,OAAV7L,EACxCA,GAAAA,EACyB,kBAAf6L,EACVzY,EAAI,aAEW,aAAfyY,GACU,UAAT5Q,GAA6B,aAATA,GACpB6P,GAAkBhQ,EAAMG,MAGA,YAAf4Q,EACVzY,EAAI,YACqB,WAAfyY,EACVzY,EAAI,aACMuX,GAAOzK,KAAK9M,GACtBA,EAAIyY,GAC6B,IAAvB5Q,EAAKoI,QAAQ,MAAeqH,GAAYxK,KAAK9M,GACvDA,EAAIA,EAAEmN,QAAQqK,GAAe,OAAOpK,cAChB,OAAVR,IACVA,OAAAA,GAVA6L,EAAazY,EAAI,UAeC,YAAfyY,GAECzQ,EADJhI,EAAIyY,KAEHzY,EAAI,kBAINgI,EAAgBhI,GAAK4M,GAKb,UAAR/E,GACAG,EAAgB0Q,UAChBlR,MAAMD,QAAQS,EAAgB4E,SAG9B5E,EAAgB4E,MAAQN,EAAa5E,EAAMI,UAAU6H,SAAQ,YAC5DpG,EAAM7B,MAAMiR,UAC0C,GAArD3Q,EAAgB4E,MAAMqD,QAAQ1G,EAAM7B,MAAMkF,WAKjC,UAAR/E,GAAoD,MAAhCG,EAAgB4Q,eACvC5Q,EAAgB4E,MAAQN,EAAa5E,EAAMI,UAAU6H,SAAQ,YAE3DpG,EAAM7B,MAAMiR,SADT3Q,EAAgB0Q,UAE0C,GAA5D1Q,EAAgB4Q,aAAa3I,QAAQ1G,EAAM7B,MAAMkF,OAGjD5E,EAAgB4Q,cAAgBrP,EAAM7B,MAAMkF,UAK5ClF,EAAM6Q,QAAU7Q,EAAMmR,WACzB7Q,EAAgBuQ,MAAQ7Q,EAAM6Q,MAC9BlS,OAAOC,eACN0B,EACA,YACAsQ,MAES5Q,EAAMmR,YAAcnR,EAAM6Q,OAE1B7Q,EAAM6Q,OAAS7Q,EAAMmR,aAD/B7Q,EAAgBuQ,MAAQvQ,EAAgB6Q,UAAYnR,EAAMmR,WAK3DxQ,EAAMX,MAAQM,EAzGf,CAgHiBK,GAGhBA,EAAMyQ,SAAWzB,GAEbmB,IAAcA,GAAanQ,IAKhC,IAAMuK,GAAkB7Q,EAAAA,IACxBA,EAAAA,IAAkB,SAAUsG,GACvBuK,IACHA,GAAgBvK,GAEEA,EACnBM,KAED,IAAMoQ,GAAYhX,EAAAA,OAElBA,EAAAA,OAAiB,SAAUsG,GACtB0Q,IACHA,GAAU1Q,GAGX,IAAMX,EAAQW,EAAMX,MACdqF,EAAM1E,EAAHI,IAGD,MAAPsE,GACe,aAAf1E,EAAMR,MACN,UAAWH,GACXA,EAAMkF,QAAUG,EAAIH,QAEpBG,EAAIH,MAAuB,MAAflF,EAAMkF,MAAgB,GAAKlF,EAAMkF,QPV/C,I,kOO5OgBmC,SAAO1G,EAAO4B,EAAW+O,GAAzBjK,IAMX7D,EAOAnB,EAQAG,EACHC,EArBGpI,EAAeA,IAAAA,EAAAA,GAAcsG,EAAO4B,GAYpCF,GAPAmB,EAAoC,mBAAf8N,GAQtB,KACCA,GAAeA,EAAJ1Q,KAA8B2B,EAAAA,IAMzCC,EAAc,GACjBC,EAAW,GACZI,EACCN,EAPD5B,IAAW6C,GAAe8N,GAAgB/O,GACzCzF,IAAAA,EAAcwE,EAAU,KAAM,CAACX,IAU/B0B,GAAY3C,EACZA,OAAAA,IACA6C,EAAUQ,iBACTS,GAAe8N,EACb,CAACA,GACDjP,EACA,KACAE,EAAU3E,WACVwB,EAAMF,KAAKqD,EAAU6G,YACrB,KACH5G,GACCgB,GAAe8N,EACbA,EACAjP,EACAA,EACAE,IAAAA,EAAU3E,WACb4F,EACAf,GAIDO,EAAWR,EAAa7B,EAAO8B,GCwBhC4E,CA/EI,SACE,YAAQ8J,UAAU,UAChB,SAAKA,UAAU,SACb,SAAKA,UAAU,SAAf,iBACA,SAAKA,UAAU,YAAf,2CAGJ,SAAKA,UAAU,QACb,SAAKA,UAAU,WACb,aAASA,UAAU,gBACjB,SAAKA,UAAU,cACb,SAAKpY,GAAG,UAAUwY,MAAM,6BAA6BC,MAAM,SAASC,OAAO,SAASC,QAAQ,qBAC1F,cACA,oBAAgB3Y,GAAG,WAAW4Y,GAAG,KAAKC,GAAG,KAAKC,GAAG,OAAOC,GAAG,MACzD,UAAMC,OAAO,KAAK/V,MAAM,gDACxB,UAAM+V,OAAO,MAAM/V,MAAM,kDACzB,UAAM+V,OAAO,OAAO/V,MAAM,oDAG5B,YAAQgW,GAAG,SAASC,GAAG,SAASxI,EAAE,SAASyI,OAAO,iBAAiBC,KAAK,SACxE,YAAQH,GAAG,SAASC,GAAG,SAASxI,EAAE,SAASyI,OAAO,iBAAiBC,KAAK,SACxE,YAAQH,GAAG,SAASC,GAAG,SAASxI,EAAE,SAASyI,OAAO,iBAAiBC,KAAK,SACxE,YAAQH,GAAG,SAASC,GAAG,SAASxI,EAAE,SAASyI,OAAO,iBAAiBC,KAAK,SACxE,YAAQH,GAAG,QAAQC,GAAG,SAASxI,EAAE,SAASyI,OAAO,iBAAiBC,KAAK,SACvE,YAAQH,GAAG,QAAQC,GAAG,SAASxI,EAAE,SAASyI,OAAO,iBAAiBC,KAAK,SACvE,YAAQH,GAAG,QAAQC,GAAG,SAASxI,EAAE,SAASyI,OAAO,iBAAiBC,KAAK,SACvE,YAAQH,GAAG,QAAQC,GAAG,SAASxI,EAAE,SAASyI,OAAO,iBAAiBC,KAAK,SACvE,YAAQH,GAAG,SAASC,GAAG,QAAQxI,EAAE,SAASyI,OAAO,iBAAiBC,KAAK,SACvE,YAAQH,GAAG,QAAQC,GAAG,SAASxI,EAAE,SAASyI,OAAO,iBAAiBC,KAAK,SACvE,YAAQH,GAAG,QAAQC,GAAG,SAASxI,EAAE,SAASyI,OAAO,iBAAiBC,KAAK,SACvE,YAAQH,GAAG,QAAQC,GAAG,SAASxI,EAAE,SAASyI,OAAO,iBAAiBC,KAAK,SACvE,YAAQH,GAAG,QAAQC,GAAG,SAASxI,EAAE,SAASyI,OAAO,iBAAiBC,KAAK,WAE3E,SAAKhB,UAAU,QAAf,gYAIF,aAASA,UAAU,uBACjB,SAAKA,UAAU,SAAf,8BACA,SAAKA,UAAU,QAAf,mSAEF,aAASA,UAAU,oBACjB,SAAKA,UAAU,SAAf,yCACA,SAAKA,UAAU,QAAf,8OAEF,aAASA,UAAU,gBACjB,SAAKA,UAAU,SAAf,oBACA,SAAKA,UAAU,QAAf,yQAEF,aAASA,UAAU,kBACjB,SAAKA,UAAU,SAAf,sBACA,SAAKA,UAAU,QAAf,4RAEF,aAASA,UAAU,kBACjB,SAAKA,UAAU,SAAf,sCACA,SAAKA,UAAU,QAAf,4SAGJ,SAAKA,UAAU,wBACb,SAAKA,UAAU,QAAf,4HACE,mCAA2B,WAAG,OAAGiB,KAAK,6CAAR,2DAAH,KAC3B,OAAGjB,UAAU,OAAb,4BACA,OAAGiB,KAAK,8DAA8DnW,OAAO,SAASkV,UAAU,qBAC9F,SAAKA,UAAU,YACb,GCtEhB,SAAgB,YACdkB,OAEI,YAAKZ,OAAO,MAAMD,MAAM,MAAMD,MAAM,6BAA6BG,QAAQ,e,kXAH/D,QAGwF,UAAMpT,EAAE,65BAA65B,UAAMA,EAAE,0iBDmErgC,MACA,SAAK6S,UAAU,QAAf,kCAOV,YAAQA,UAAU,UAChB,SAAKA,UAAU,QAAf,0DAMMhV,SAASmW,O","sources":["webpack://frontend/./node_modules/css-loader/dist/runtime/api.js","webpack://frontend/./node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://frontend/./src/scss/index.scss","webpack://frontend/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://frontend/./node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://frontend/./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://frontend/./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://frontend/./node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://frontend/./node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://frontend/webpack/bootstrap","webpack://frontend/webpack/runtime/compat get default export","webpack://frontend/webpack/runtime/define property getters","webpack://frontend/webpack/runtime/hasOwnProperty shorthand","webpack://frontend/../src/constants.js","webpack://frontend/../src/util.js","webpack://frontend/../src/options.js","webpack://frontend/../src/create-element.js","webpack://frontend/../src/component.js","webpack://frontend/../src/diff/children.js","webpack://frontend/../src/diff/props.js","webpack://frontend/../src/diff/index.js","webpack://frontend/../src/diff/catch-error.js","webpack://frontend/./src/scss/index.scss?7c04","webpack://frontend/../src/index.js","webpack://frontend/../src/PureComponent.js","webpack://frontend/../src/forwardRef.js","webpack://frontend/../src/Children.js","webpack://frontend/../src/suspense.js","webpack://frontend/../src/suspense-list.js","webpack://frontend/../../src/constants.js","webpack://frontend/../src/render.js","webpack://frontend/./src/index.js","webpack://frontend/./assets/svg/whatsapp.svg"],"sourcesContent":["\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n\n content += cssWithMappingToString(item);\n\n if (needLayer) {\n content += \"}\";\n }\n\n if (item[2]) {\n content += \"}\";\n }\n\n if (item[4]) {\n content += \"}\";\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n\n\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"button{background:none;border:none;cursor:pointer}nav{margin:0;padding:0;list-style:none}nav ul{margin:0;padding:0;list-style:none}nav li{display:inline;margin-right:20px}h1,h2,h3,h4,h5,h6{margin:0;font-weight:400}a{text-decoration:none;color:inherit}*{box-sizing:border-box;position:relative}html,body{margin:0;padding:0;font-family:\\\"Outfit\\\", sans-serif;font-optical-sizing:auto;font-style:normal;background-color:#00041C;color:white;background:#3A5574;background:linear-gradient(311deg, #3a5574 0%, #3a5574 100%);box-sizing:border-box;width:100%}.Body{display:flex;flex-direction:column;width:100%;flex:1}.Content{width:100%}.Header{padding:20px}.Header .Title{font-size:2rem;margin:0}.Header .Subtitle{font-size:1.2rem;text-transform:uppercase;font-weight:200}.Section.CallToAction .Whatsapp{display:flex;justify-content:center;align-items:center;background-color:white;height:70px;border-radius:40px;gap:15px;padding:0 20px;margin-top:20px}.Section.CallToAction .Whatsapp a{text-decoration:none !important}.Section.CallToAction .Whatsapp__Wrapper{display:flex;justify-content:center;margin-top:20px}.Section.CallToAction .Whatsapp svg{width:40px;fill:#25d366}.Section.CallToAction .Whatsapp .Text{margin-top:0;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:1.0rem;font-weight:700;color:#25d366}@keyframes rotateClockwise{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes rotateCounterClockwise{from{transform:rotate(0deg)}to{transform:rotate(-360deg)}}.Background{position:absolute;left:-50vw;width:300vw}@media (min-width: 768px){.Background{left:initial;width:initial;transform:scale(1.5)}}.Background circle{stroke:white !important;opacity:0.03}header{position:fixed;width:100vw;top:0;background-color:#3A5574;height:130px;border-bottom:1px solid rgba(255,255,255,0.1);z-index:1000000}@media (min-width: 768px){header{height:100px}}.Section{padding:20px;font-size:25px;font-weight:100;padding-top:40px;padding-bottom:40px;background-color:white;color:#3A5574}.Section.Main{padding-top:180px;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#3A5574;color:white}.Section.Main .Text{margin-top:0;padding-top:0;font-size:26px}@media (min-width: 768px){.Section.Main{height:70vh}.Section.Main .Text{font-size:2.4rem}}.Section.CallToAction{background:#ccdcee;text-align:center;padding:40px;padding-top:60px;padding-bottom:100px}.Section.CallToAction p a{color:#3A5574;text-decoration:underline;font-weight:500}.Section.CallToAction .Bye{font-size:2.8rem;margin:0;font-weight:500}.Section.CallToAction .Title{font-size:2.5rem;margin:0;font-weight:500}.Section.CallToAction .Text{margin-top:20px;font-size:1.5rem;font-weight:400}@media (min-width: 768px){.Section{padding:30px;padding-top:50px;padding-bottom:50px}}.Section .Title{font-size:1.8rem;margin:0;font-weight:500}.Section .Text{margin-top:20px;font-size:1.5rem;font-weight:300}footer{background-color:#3A5574;color:white;padding:20px;text-align:center;font-size:1.2rem;font-weight:300;border-top:1px solid rgba(255,255,255,0.1)}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/scss/_reset.scss\",\"webpack://./src/scss/index.scss\"],\"names\":[],\"mappings\":\"AACA,OACE,eAAgB,CAChB,WAAY,CACZ,cAAe,CAChB,IAGC,QAAS,CACT,SAAU,CACV,eAAgB,CAHlB,OAMI,QAAS,CACT,SAAU,CACV,eAAgB,CARpB,OAYI,cAAe,CACf,iBAAkB,CACnB,kBAKD,QAAS,CACT,eAAgB,CACjB,EAGC,oBAAqB,CACrB,aAAc,CACf,EAIC,qBAAsB,CACtB,iBAAkB,CCnCpB,UACE,QAAS,CACT,SAAU,CACV,gCAAiC,CACjC,wBAAyB,CACzB,iBAAkB,CAClB,wBAAyB,CACzB,WAAY,CAEZ,kBAAmB,CACnB,4DAA6E,CAC7E,qBAAsB,CACtB,UAAW,CACZ,MAGC,YAAa,CACb,qBAAsB,CACtB,UAAW,CACX,MAAO,CACR,SAGC,UAAW,CACZ,QAGC,YAAa,CADf,eAII,cAAe,CACf,QAAS,CALb,kBASI,gBAAiB,CACjB,wBAAyB,CACzB,eAAgB,CACjB,gCAID,YAAa,CACb,sBAAuB,CACvB,kBAAmB,CACnB,sBAAuB,CACvB,WAAY,CACZ,kBAAmB,CACnB,QAAS,CACT,cAAe,CACf,eAAgB,CATlB,kCAYI,+BAAgC,CAZpC,yCAgBI,YAAa,CACb,sBAAuB,CACvB,eAAgB,CAlBpB,oCAsBI,UAAW,CACX,YAA2B,CAvB/B,sCA2BI,YAAa,CACb,YAAa,CACb,qBAAsB,CACtB,sBAAuB,CACvB,kBAAmB,CACnB,gBAAiB,CACjB,eAAgB,CAChB,aAA4B,CAC7B,2BAID,KACE,sBAAuB,CAEzB,GACE,wBAAyB,CAAA,CAI7B,kCACE,KACE,sBAAuB,CAEzB,GACE,yBAA0B,CAAA,CAyB9B,YACE,iBAAkB,CAClB,UAAW,CACX,WAAY,CAab,0BAhBD,YAOI,YAAa,CACb,aAAc,CACd,oBAAqB,CAOxB,CAhBD,mBAaI,uBAAwB,CACxB,YAAa,CACd,OAKD,cAAe,CACf,WAAY,CACZ,KAAM,CACN,wBAAyB,CACzB,YAAa,CACb,6CAAiD,CACjD,eAAgB,CAKjB,0BAbD,OAWI,YAAa,CAEhB,CAED,SACE,YAAa,CACb,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,mBAAoB,CACpB,sBAAuB,CACvB,aAAc,CAPhB,cAUI,iBAAkB,CAClB,YAAa,CACb,eAAgB,CAChB,YAAa,CACb,qBAAsB,CACtB,sBAAuB,CACvB,kBAAmB,CACnB,kBAAmB,CACnB,WAAY,CAlBhB,oBAqBM,YAAa,CACb,aAAc,CACd,cAAe,CAChB,0BAxBL,cA2BM,WAAY,CA3BlB,oBA8BQ,gBAAiB,CAClB,CA/BP,sBAoCI,kBAAmB,CACnB,iBAAkB,CAClB,YAAa,CACb,gBAAiB,CACjB,oBAAqB,CAxCzB,0BA4CQ,aAAc,CACd,yBAA0B,CAC1B,eAAgB,CA9CxB,2BAmDM,gBAAiB,CACjB,QAAS,CACT,eAAgB,CArDtB,6BA0DM,gBAAiB,CACjB,QAAS,CACT,eAAgB,CA5DtB,4BAgEM,eAAgB,CAChB,gBAAiB,CACjB,eAAgB,CAGjB,0BArEL,SAyEI,YAAa,CACb,gBAAiB,CACjB,mBAAoB,CAcvB,CAzFD,gBA+EI,gBAAiB,CACjB,QAAS,CACT,eAAgB,CAjFpB,eAqFI,eAAgB,CAChB,gBAAiB,CACjB,eAAgB,CACjB,OAID,wBAAyB,CACzB,WAAY,CACZ,YAAa,CACb,iBAAkB,CAClB,gBAAiB,CACjB,eAAgB,CAChB,0CAA8C\",\"sourcesContent\":[\"//reset\\r\\nbutton {\\r\\n background: none;\\r\\n border: none;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\nnav {\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n list-style: none;\\r\\n\\r\\n ul {\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n list-style: none;\\r\\n }\\r\\n\\r\\n li {\\r\\n display: inline;\\r\\n margin-right: 20px;\\r\\n }\\r\\n}\\r\\n\\r\\n\\r\\nh1, h2, h3, h4, h5, h6 {\\r\\n margin: 0;\\r\\n font-weight: 400;\\r\\n}\\r\\n\\r\\na {\\r\\n text-decoration: none;\\r\\n color: inherit;\\r\\n}\\r\\n\\r\\n\\r\\n* {\\r\\n box-sizing: border-box;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n\",\"@import 'mixins';\\r\\n@import 'reset';\\r\\n\\r\\nhtml, body {\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n font-family: \\\"Outfit\\\", sans-serif;\\r\\n font-optical-sizing: auto;\\r\\n font-style: normal;\\r\\n background-color: #00041C;\\r\\n color: white;\\r\\n\\r\\n background: #3A5574;\\r\\n background: linear-gradient(311deg, rgba(#3A5574,1) 0%, rgba(#3A5574,1) 100%);\\r\\n box-sizing: border-box;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.Body {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n width: 100%;\\r\\n flex: 1;\\r\\n}\\r\\n\\r\\n.Content {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.Header {\\r\\n padding: 20px;\\r\\n\\r\\n .Title {\\r\\n font-size: 2rem;\\r\\n margin: 0;\\r\\n }\\r\\n\\r\\n .Subtitle {\\r\\n font-size: 1.2rem;\\r\\n text-transform: uppercase;\\r\\n font-weight: 200;\\r\\n }\\r\\n}\\r\\n\\r\\n.Section.CallToAction .Whatsapp {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n background-color: white;\\r\\n height: 70px;\\r\\n border-radius: 40px;\\r\\n gap: 15px;\\r\\n padding: 0 20px;\\r\\n margin-top: 20px;\\r\\n \\r\\n a {\\r\\n text-decoration: none !important;\\r\\n }\\r\\n\\r\\n &__Wrapper {\\r\\n display: flex;\\r\\n justify-content: center; \\r\\n margin-top: 20px; \\r\\n }\\r\\n\\r\\n svg {\\r\\n width: 40px;\\r\\n fill: rgba(37,211,102, 1.0);\\r\\n }\\r\\n\\r\\n .Text {\\r\\n margin-top: 0;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n font-size: 1.0rem;\\r\\n font-weight: 700;\\r\\n color: rgba(37,211,102, 1.0)\\r\\n }\\r\\n}\\r\\n\\r\\n@keyframes rotateClockwise {\\r\\n from {\\r\\n transform: rotate(0deg);\\r\\n }\\r\\n to {\\r\\n transform: rotate(360deg);\\r\\n }\\r\\n}\\r\\n\\r\\n@keyframes rotateCounterClockwise {\\r\\n from {\\r\\n transform: rotate(0deg);\\r\\n }\\r\\n to {\\r\\n transform: rotate(-360deg);\\r\\n }\\r\\n}\\r\\n\\r\\n@mixin randomRotate {\\r\\n $animations: rotateClockwise, rotateCounterClockwise;\\r\\n $duration: 5s, 10s, 15s, 20s; // Different durations\\r\\n $delay: 0s, 2s, 4s, 6s, 8s; // Different start delays\\r\\n $iteration: infinite;\\r\\n\\r\\n // Randomly pick an animation\\r\\n $animation-name: nth($animations, random(length($animations)));\\r\\n // Randomly pick a duration\\r\\n $animation-duration: nth($duration, random(length($duration)));\\r\\n // Randomly pick a delay\\r\\n $animation-delay: nth($delay, random(length($delay)));\\r\\n\\r\\n animation-name: $animation-name;\\r\\n animation-duration: $animation-duration;\\r\\n animation-timing-function: linear;\\r\\n animation-delay: $animation-delay;\\r\\n animation-iteration-count: $iteration;\\r\\n transform-origin: center;\\r\\n}\\r\\n\\r\\n.Background {\\r\\n position: absolute;\\r\\n left: -50vw;\\r\\n width: 300vw;\\r\\n\\r\\n\\r\\n @include breakpoint(md) {\\r\\n left: initial;\\r\\n width: initial;\\r\\n transform: scale(1.5);\\r\\n }\\r\\n\\r\\n circle {\\r\\n stroke: white !important;\\r\\n opacity: 0.03;\\r\\n }\\r\\n}\\r\\n\\r\\nheader {\\r\\n //make header sticky\\r\\n position: fixed;\\r\\n width: 100vw;\\r\\n top: 0;\\r\\n background-color: #3A5574;\\r\\n height: 130px;\\r\\n border-bottom: 1px solid rgba(255, 255, 255, 0.1);\\r\\n z-index: 1000000;\\r\\n\\r\\n @include breakpoint(md) {\\r\\n height: 100px;\\r\\n }\\r\\n}\\r\\n\\r\\n.Section {\\r\\n padding: 20px;\\r\\n font-size: 25px;\\r\\n font-weight: 100;\\r\\n padding-top: 40px;\\r\\n padding-bottom: 40px;\\r\\n background-color: white;\\r\\n color: #3A5574;\\r\\n\\r\\n &.Main {\\r\\n padding-top: 180px;\\r\\n height: 100vh;\\r\\n overflow: hidden;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n background: #3A5574;\\r\\n color: white;\\r\\n\\r\\n .Text {\\r\\n margin-top: 0;\\r\\n padding-top: 0;\\r\\n font-size: 26px;\\r\\n }\\r\\n\\r\\n @include breakpoint(md) {\\r\\n height: 70vh;\\r\\n\\r\\n .Text {\\r\\n font-size: 2.4rem;\\r\\n }\\r\\n }\\r\\n }\\r\\n\\r\\n &.CallToAction {\\r\\n background: #ccdcee;\\r\\n text-align: center;\\r\\n padding: 40px;\\r\\n padding-top: 60px;\\r\\n padding-bottom: 100px;\\r\\n\\r\\n p {\\r\\n a {\\r\\n color: #3A5574;\\r\\n text-decoration: underline;\\r\\n font-weight: 500;\\r\\n }\\r\\n }\\r\\n\\r\\n .Bye {\\r\\n font-size: 2.8rem;\\r\\n margin: 0;\\r\\n font-weight: 500;\\r\\n }\\r\\n \\r\\n\\r\\n .Title {\\r\\n font-size: 2.5rem;\\r\\n margin: 0;\\r\\n font-weight: 500;\\r\\n }\\r\\n\\r\\n .Text {\\r\\n margin-top: 20px;\\r\\n font-size: 1.5rem;\\r\\n font-weight: 400;\\r\\n\\r\\n \\r\\n }\\r\\n }\\r\\n\\r\\n @include breakpoint(md) {\\r\\n padding: 30px;\\r\\n padding-top: 50px;\\r\\n padding-bottom: 50px;\\r\\n }\\r\\n\\r\\n .Title {\\r\\n font-size: 1.8rem;\\r\\n margin: 0;\\r\\n font-weight: 500;\\r\\n }\\r\\n\\r\\n .Text {\\r\\n margin-top: 20px;\\r\\n font-size: 1.5rem;\\r\\n font-weight: 300;\\r\\n }\\r\\n}\\r\\n\\r\\nfooter {\\r\\n background-color: #3A5574;\\r\\n color: white;\\r\\n padding: 20px;\\r\\n text-align: center;\\r\\n font-size: 1.2rem;\\r\\n font-weight: 300;\\r\\n border-top: 1px solid rgba(255, 255, 255, 0.1);\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\nvar stylesInDOM = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n\n return updater;\n}\n\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n\n stylesInDOM.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n/* istanbul ignore next */\n\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n}\n/* istanbul ignore next */\n\n\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n}\n\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\n\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\n\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n\n var needLayer = typeof obj.layer !== \"undefined\";\n\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n\n css += obj.css;\n\n if (needLayer) {\n css += \"}\";\n }\n\n if (obj.media) {\n css += \"}\";\n }\n\n if (obj.supports) {\n css += \"}\";\n }\n\n var sourceMap = obj.sourceMap;\n\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n options.styleTagTransform(css, styleElement, options.options);\n}\n\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n\n styleElement.parentNode.removeChild(styleElement);\n}\n/* istanbul ignore next */\n\n\nfunction domAPI(options) {\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\n\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n\n styleElement.appendChild(document.createTextNode(css));\n }\n}\n\nmodule.exports = styleTagTransform;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","/** Normal hydration that attaches to a DOM tree but does not diff it. */\nexport const MODE_HYDRATE = 1 << 5;\n/** Signifies this VNode suspended on the previous render */\nexport const MODE_SUSPENDED = 1 << 7;\n/** Indicates that this node needs to be inserted while patching children */\nexport const INSERT_VNODE = 1 << 16;\n/** Indicates a VNode has been matched with another VNode in the diff */\nexport const MATCHED = 1 << 17;\n\n/** Reset all mode flags */\nexport const RESET_MODE = ~(MODE_HYDRATE | MODE_SUSPENDED);\n\nexport const EMPTY_OBJ = /** @type {any} */ ({});\nexport const EMPTY_ARR = [];\nexport const IS_NON_DIMENSIONAL =\n\t/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;\n","import { EMPTY_ARR } from './constants';\n\nexport const isArray = Array.isArray;\n\n/**\n * Assign properties from `props` to `obj`\n * @template O, P The obj and props types\n * @param {O} obj The object to copy properties to\n * @param {P} props The object to copy properties from\n * @returns {O & P}\n */\nexport function assign(obj, props) {\n\t// @ts-expect-error We change the type of `obj` to be `O & P`\n\tfor (let i in props) obj[i] = props[i];\n\treturn /** @type {O & P} */ (obj);\n}\n\n/**\n * Remove a child node from its parent if attached. This is a workaround for\n * IE11 which doesn't support `Element.prototype.remove()`. Using this function\n * is smaller than including a dedicated polyfill.\n * @param {preact.ContainerNode} node The node to remove\n */\nexport function removeNode(node) {\n\tlet parentNode = node.parentNode;\n\tif (parentNode) parentNode.removeChild(node);\n}\n\nexport const slice = EMPTY_ARR.slice;\n","import { _catchError } from './diff/catch-error';\n\n/**\n * The `option` object can potentially contain callback functions\n * that are called during various stages of our renderer. This is the\n * foundation on which all our addons like `preact/debug`, `preact/compat`,\n * and `preact/hooks` are based on. See the `Options` type in `internal.d.ts`\n * for a full list of available option hooks (most editors/IDEs allow you to\n * ctrl+click or cmd+click on mac the type definition below).\n * @type {Options}\n */\nconst options = {\n\t_catchError\n};\n\nexport default options;\n","import { slice } from './util';\nimport options from './options';\n\nlet vnodeId = 0;\n\n/**\n * Create an virtual node (used for JSX)\n * @param {VNode[\"type\"]} type The node name or Component constructor for this\n * virtual node\n * @param {object | null | undefined} [props] The properties of the virtual node\n * @param {Array} [children] The children of the\n * virtual node\n * @returns {VNode}\n */\nexport function createElement(type, props, children) {\n\tlet normalizedProps = {},\n\t\tkey,\n\t\tref,\n\t\ti;\n\tfor (i in props) {\n\t\tif (i == 'key') key = props[i];\n\t\telse if (i == 'ref') ref = props[i];\n\t\telse normalizedProps[i] = props[i];\n\t}\n\n\tif (arguments.length > 2) {\n\t\tnormalizedProps.children =\n\t\t\targuments.length > 3 ? slice.call(arguments, 2) : children;\n\t}\n\n\t// If a Component VNode, check for and apply defaultProps\n\t// Note: type may be undefined in development, must never error here.\n\tif (typeof type == 'function' && type.defaultProps != null) {\n\t\tfor (i in type.defaultProps) {\n\t\t\tif (normalizedProps[i] === undefined) {\n\t\t\t\tnormalizedProps[i] = type.defaultProps[i];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn createVNode(type, normalizedProps, key, ref, null);\n}\n\n/**\n * Create a VNode (used internally by Preact)\n * @param {VNode[\"type\"]} type The node name or Component\n * Constructor for this virtual node\n * @param {object | string | number | null} props The properties of this virtual node.\n * If this virtual node represents a text node, this is the text of the node (string or number).\n * @param {string | number | null} key The key for this virtual node, used when\n * diffing it against its children\n * @param {VNode[\"ref\"]} ref The ref property that will\n * receive a reference to its created child\n * @returns {VNode}\n */\nexport function createVNode(type, props, key, ref, original) {\n\t// V8 seems to be better at detecting type shapes if the object is allocated from the same call site\n\t// Do not inline into createElement and coerceToVNode!\n\t/** @type {VNode} */\n\tconst vnode = {\n\t\ttype,\n\t\tprops,\n\t\tkey,\n\t\tref,\n\t\t_children: null,\n\t\t_parent: null,\n\t\t_depth: 0,\n\t\t_dom: null,\n\t\t// _nextDom must be initialized to undefined b/c it will eventually\n\t\t// be set to dom.nextSibling which can return `null` and it is important\n\t\t// to be able to distinguish between an uninitialized _nextDom and\n\t\t// a _nextDom that has been set to `null`\n\t\t_nextDom: undefined,\n\t\t_component: null,\n\t\tconstructor: undefined,\n\t\t_original: original == null ? ++vnodeId : original,\n\t\t_index: -1,\n\t\t_flags: 0\n\t};\n\n\t// Only invoke the vnode hook if this was *not* a direct copy:\n\tif (original == null && options.vnode != null) options.vnode(vnode);\n\n\treturn vnode;\n}\n\nexport function createRef() {\n\treturn { current: null };\n}\n\nexport function Fragment(props) {\n\treturn props.children;\n}\n\n/**\n * Check if a the argument is a valid Preact VNode.\n * @param {*} vnode\n * @returns {vnode is VNode}\n */\nexport const isValidElement = vnode =>\n\tvnode != null && vnode.constructor == undefined;\n","import { assign } from './util';\nimport { diff, commitRoot } from './diff/index';\nimport options from './options';\nimport { Fragment } from './create-element';\nimport { MODE_HYDRATE } from './constants';\n\n/**\n * Base Component class. Provides `setState()` and `forceUpdate()`, which\n * trigger rendering\n * @param {object} props The initial component props\n * @param {object} context The initial context from parent components'\n * getChildContext\n */\nexport function BaseComponent(props, context) {\n\tthis.props = props;\n\tthis.context = context;\n}\n\n/**\n * Update component state and schedule a re-render.\n * @this {Component}\n * @param {object | ((s: object, p: object) => object)} update A hash of state\n * properties to update with new values or a function that given the current\n * state and props returns a new partial state\n * @param {() => void} [callback] A function to be called once component state is\n * updated\n */\nBaseComponent.prototype.setState = function (update, callback) {\n\t// only clone state when copying to nextState the first time.\n\tlet s;\n\tif (this._nextState != null && this._nextState !== this.state) {\n\t\ts = this._nextState;\n\t} else {\n\t\ts = this._nextState = assign({}, this.state);\n\t}\n\n\tif (typeof update == 'function') {\n\t\t// Some libraries like `immer` mark the current state as readonly,\n\t\t// preventing us from mutating it, so we need to clone it. See #2716\n\t\tupdate = update(assign({}, s), this.props);\n\t}\n\n\tif (update) {\n\t\tassign(s, update);\n\t}\n\n\t// Skip update if updater function returned null\n\tif (update == null) return;\n\n\tif (this._vnode) {\n\t\tif (callback) {\n\t\t\tthis._stateCallbacks.push(callback);\n\t\t}\n\t\tenqueueRender(this);\n\t}\n};\n\n/**\n * Immediately perform a synchronous re-render of the component\n * @this {Component}\n * @param {() => void} [callback] A function to be called after component is\n * re-rendered\n */\nBaseComponent.prototype.forceUpdate = function (callback) {\n\tif (this._vnode) {\n\t\t// Set render mode so that we can differentiate where the render request\n\t\t// is coming from. We need this because forceUpdate should never call\n\t\t// shouldComponentUpdate\n\t\tthis._force = true;\n\t\tif (callback) this._renderCallbacks.push(callback);\n\t\tenqueueRender(this);\n\t}\n};\n\n/**\n * Accepts `props` and `state`, and returns a new Virtual DOM tree to build.\n * Virtual DOM is generally constructed via [JSX](http://jasonformat.com/wtf-is-jsx).\n * @param {object} props Props (eg: JSX attributes) received from parent\n * element/component\n * @param {object} state The component's current state\n * @param {object} context Context object, as returned by the nearest\n * ancestor's `getChildContext()`\n * @returns {ComponentChildren | void}\n */\nBaseComponent.prototype.render = Fragment;\n\n/**\n * @param {VNode} vnode\n * @param {number | null} [childIndex]\n */\nexport function getDomSibling(vnode, childIndex) {\n\tif (childIndex == null) {\n\t\t// Use childIndex==null as a signal to resume the search from the vnode's sibling\n\t\treturn vnode._parent\n\t\t\t? getDomSibling(vnode._parent, vnode._index + 1)\n\t\t\t: null;\n\t}\n\n\tlet sibling;\n\tfor (; childIndex < vnode._children.length; childIndex++) {\n\t\tsibling = vnode._children[childIndex];\n\n\t\tif (sibling != null && sibling._dom != null) {\n\t\t\t// Since updateParentDomPointers keeps _dom pointer correct,\n\t\t\t// we can rely on _dom to tell us if this subtree contains a\n\t\t\t// rendered DOM node, and what the first rendered DOM node is\n\t\t\treturn sibling._dom;\n\t\t}\n\t}\n\n\t// If we get here, we have not found a DOM node in this vnode's children.\n\t// We must resume from this vnode's sibling (in it's parent _children array)\n\t// Only climb up and search the parent if we aren't searching through a DOM\n\t// VNode (meaning we reached the DOM parent of the original vnode that began\n\t// the search)\n\treturn typeof vnode.type == 'function' ? getDomSibling(vnode) : null;\n}\n\n/**\n * Trigger in-place re-rendering of a component.\n * @param {Component} component The component to rerender\n */\nfunction renderComponent(component) {\n\tlet oldVNode = component._vnode,\n\t\toldDom = oldVNode._dom,\n\t\tparentDom = component._parentDom,\n\t\tcommitQueue = [],\n\t\trefQueue = [];\n\n\tif (parentDom) {\n\t\tconst newVNode = assign({}, oldVNode);\n\t\tnewVNode._original = oldVNode._original + 1;\n\t\tif (options.vnode) options.vnode(newVNode);\n\n\t\tdiff(\n\t\t\tparentDom,\n\t\t\tnewVNode,\n\t\t\toldVNode,\n\t\t\tcomponent._globalContext,\n\t\t\tparentDom.ownerSVGElement !== undefined,\n\t\t\toldVNode._flags & MODE_HYDRATE ? [oldDom] : null,\n\t\t\tcommitQueue,\n\t\t\toldDom == null ? getDomSibling(oldVNode) : oldDom,\n\t\t\t!!(oldVNode._flags & MODE_HYDRATE),\n\t\t\trefQueue\n\t\t);\n\n\t\tnewVNode._original = oldVNode._original;\n\t\tnewVNode._parent._children[newVNode._index] = newVNode;\n\t\tcommitRoot(commitQueue, newVNode, refQueue);\n\n\t\tif (newVNode._dom != oldDom) {\n\t\t\tupdateParentDomPointers(newVNode);\n\t\t}\n\t}\n}\n\n/**\n * @param {VNode} vnode\n */\nfunction updateParentDomPointers(vnode) {\n\tif ((vnode = vnode._parent) != null && vnode._component != null) {\n\t\tvnode._dom = vnode._component.base = null;\n\t\tfor (let i = 0; i < vnode._children.length; i++) {\n\t\t\tlet child = vnode._children[i];\n\t\t\tif (child != null && child._dom != null) {\n\t\t\t\tvnode._dom = vnode._component.base = child._dom;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn updateParentDomPointers(vnode);\n\t}\n}\n\n/**\n * The render queue\n * @type {Array}\n */\nlet rerenderQueue = [];\n\n/*\n * The value of `Component.debounce` must asynchronously invoke the passed in callback. It is\n * important that contributors to Preact can consistently reason about what calls to `setState`, etc.\n * do, and when their effects will be applied. See the links below for some further reading on designing\n * asynchronous APIs.\n * * [Designing APIs for Asynchrony](https://blog.izs.me/2013/08/designing-apis-for-asynchrony)\n * * [Callbacks synchronous and asynchronous](https://blog.ometer.com/2011/07/24/callbacks-synchronous-and-asynchronous/)\n */\n\nlet prevDebounce;\n\nconst defer =\n\ttypeof Promise == 'function'\n\t\t? Promise.prototype.then.bind(Promise.resolve())\n\t\t: setTimeout;\n\n/**\n * Enqueue a rerender of a component\n * @param {Component} c The component to rerender\n */\nexport function enqueueRender(c) {\n\tif (\n\t\t(!c._dirty &&\n\t\t\t(c._dirty = true) &&\n\t\t\trerenderQueue.push(c) &&\n\t\t\t!process._rerenderCount++) ||\n\t\tprevDebounce !== options.debounceRendering\n\t) {\n\t\tprevDebounce = options.debounceRendering;\n\t\t(prevDebounce || defer)(process);\n\t}\n}\n\n/**\n * @param {Component} a\n * @param {Component} b\n */\nconst depthSort = (a, b) => a._vnode._depth - b._vnode._depth;\n\n/** Flush the render queue by rerendering all queued components */\nfunction process() {\n\tlet c;\n\trerenderQueue.sort(depthSort);\n\t// Don't update `renderCount` yet. Keep its value non-zero to prevent unnecessary\n\t// process() calls from getting scheduled while `queue` is still being consumed.\n\twhile ((c = rerenderQueue.shift())) {\n\t\tif (c._dirty) {\n\t\t\tlet renderQueueLength = rerenderQueue.length;\n\t\t\trenderComponent(c);\n\t\t\tif (rerenderQueue.length > renderQueueLength) {\n\t\t\t\t// When i.e. rerendering a provider additional new items can be injected, we want to\n\t\t\t\t// keep the order from top to bottom with those new items so we can handle them in a\n\t\t\t\t// single pass\n\t\t\t\trerenderQueue.sort(depthSort);\n\t\t\t}\n\t\t}\n\t}\n\tprocess._rerenderCount = 0;\n}\n\nprocess._rerenderCount = 0;\n","import { diff, unmount, applyRef } from './index';\nimport { createVNode, Fragment } from '../create-element';\nimport { EMPTY_OBJ, EMPTY_ARR, INSERT_VNODE, MATCHED } from '../constants';\nimport { isArray } from '../util';\nimport { getDomSibling } from '../component';\n\n/**\n * Diff the children of a virtual node\n * @param {PreactElement} parentDom The DOM element whose children are being\n * diffed\n * @param {ComponentChildren[]} renderResult\n * @param {VNode} newParentVNode The new virtual node whose children should be\n * diff'ed against oldParentVNode\n * @param {VNode} oldParentVNode The old virtual node whose children should be\n * diff'ed against newParentVNode\n * @param {object} globalContext The current context object - modified by\n * getChildContext\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node\n * @param {Array} excessDomChildren\n * @param {Array} commitQueue List of components which have callbacks\n * to invoke in commitRoot\n * @param {PreactElement} oldDom The current attached DOM element any new dom\n * elements should be placed around. Likely `null` on first render (except when\n * hydrating). Can be a sibling DOM element when diffing Fragments that have\n * siblings. In most cases, it starts out as `oldChildren[0]._dom`.\n * @param {boolean} isHydrating Whether or not we are in hydration\n * @param {any[]} refQueue an array of elements needed to invoke refs\n */\nexport function diffChildren(\n\tparentDom,\n\trenderResult,\n\tnewParentVNode,\n\toldParentVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\toldDom,\n\tisHydrating,\n\trefQueue\n) {\n\tlet i,\n\t\t/** @type {VNode} */\n\t\toldVNode,\n\t\t/** @type {VNode} */\n\t\tchildVNode,\n\t\t/** @type {PreactElement} */\n\t\tnewDom,\n\t\t/** @type {PreactElement} */\n\t\tfirstChildDom;\n\n\t// This is a compression of oldParentVNode!=null && oldParentVNode != EMPTY_OBJ && oldParentVNode._children || EMPTY_ARR\n\t// as EMPTY_OBJ._children should be `undefined`.\n\t/** @type {VNode[]} */\n\tlet oldChildren = (oldParentVNode && oldParentVNode._children) || EMPTY_ARR;\n\n\tlet newChildrenLength = renderResult.length;\n\n\tnewParentVNode._nextDom = oldDom;\n\tconstructNewChildrenArray(newParentVNode, renderResult, oldChildren);\n\toldDom = newParentVNode._nextDom;\n\n\tfor (i = 0; i < newChildrenLength; i++) {\n\t\tchildVNode = newParentVNode._children[i];\n\t\tif (\n\t\t\tchildVNode == null ||\n\t\t\ttypeof childVNode == 'boolean' ||\n\t\t\ttypeof childVNode == 'function'\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// At this point, constructNewChildrenArray has assigned _index to be the\n\t\t// matchingIndex for this VNode's oldVNode (or -1 if there is no oldVNode).\n\t\tif (childVNode._index === -1) {\n\t\t\toldVNode = EMPTY_OBJ;\n\t\t} else {\n\t\t\toldVNode = oldChildren[childVNode._index] || EMPTY_OBJ;\n\t\t}\n\n\t\t// Update childVNode._index to its final index\n\t\tchildVNode._index = i;\n\n\t\t// Morph the old element into the new one, but don't append it to the dom yet\n\t\tdiff(\n\t\t\tparentDom,\n\t\t\tchildVNode,\n\t\t\toldVNode,\n\t\t\tglobalContext,\n\t\t\tisSvg,\n\t\t\texcessDomChildren,\n\t\t\tcommitQueue,\n\t\t\toldDom,\n\t\t\tisHydrating,\n\t\t\trefQueue\n\t\t);\n\n\t\t// Adjust DOM nodes\n\t\tnewDom = childVNode._dom;\n\t\tif (childVNode.ref && oldVNode.ref != childVNode.ref) {\n\t\t\tif (oldVNode.ref) {\n\t\t\t\tapplyRef(oldVNode.ref, null, childVNode);\n\t\t\t}\n\t\t\trefQueue.push(\n\t\t\t\tchildVNode.ref,\n\t\t\t\tchildVNode._component || newDom,\n\t\t\t\tchildVNode\n\t\t\t);\n\t\t}\n\n\t\tif (firstChildDom == null && newDom != null) {\n\t\t\tfirstChildDom = newDom;\n\t\t}\n\n\t\tif (\n\t\t\tchildVNode._flags & INSERT_VNODE ||\n\t\t\toldVNode._children === childVNode._children\n\t\t) {\n\t\t\tif (!newDom && oldVNode._dom == oldDom) {\n\t\t\t\toldDom = getDomSibling(oldVNode);\n\t\t\t}\n\t\t\toldDom = insert(childVNode, oldDom, parentDom);\n\t\t} else if (\n\t\t\ttypeof childVNode.type == 'function' &&\n\t\t\tchildVNode._nextDom !== undefined\n\t\t) {\n\t\t\t// Since Fragments or components that return Fragment like VNodes can\n\t\t\t// contain multiple DOM nodes as the same level, continue the diff from\n\t\t\t// the sibling of last DOM child of this child VNode\n\t\t\toldDom = childVNode._nextDom;\n\t\t} else if (newDom) {\n\t\t\toldDom = newDom.nextSibling;\n\t\t}\n\n\t\t// Eagerly cleanup _nextDom. We don't need to persist the value because it\n\t\t// is only used by `diffChildren` to determine where to resume the diff\n\t\t// after diffing Components and Fragments. Once we store it the nextDOM\n\t\t// local var, we can clean up the property. Also prevents us hanging on to\n\t\t// DOM nodes that may have been unmounted.\n\t\tchildVNode._nextDom = undefined;\n\n\t\t// Unset diffing flags\n\t\tchildVNode._flags &= ~(INSERT_VNODE | MATCHED);\n\t}\n\n\t// TODO: With new child diffing algo, consider alt ways to diff Fragments.\n\t// Such as dropping oldDom and moving fragments in place\n\t//\n\t// Because the newParentVNode is Fragment-like, we need to set it's\n\t// _nextDom property to the nextSibling of its last child DOM node.\n\t//\n\t// `oldDom` contains the correct value here because if the last child\n\t// is a Fragment-like, then oldDom has already been set to that child's _nextDom.\n\t// If the last child is a DOM VNode, then oldDom will be set to that DOM\n\t// node's nextSibling.\n\tnewParentVNode._nextDom = oldDom;\n\tnewParentVNode._dom = firstChildDom;\n}\n\n/**\n * @param {VNode} newParentVNode\n * @param {ComponentChildren[]} renderResult\n * @param {VNode[]} oldChildren\n */\nfunction constructNewChildrenArray(newParentVNode, renderResult, oldChildren) {\n\t/** @type {number} */\n\tlet i;\n\t/** @type {VNode} */\n\tlet childVNode;\n\t/** @type {VNode} */\n\tlet oldVNode;\n\n\tconst newChildrenLength = renderResult.length;\n\tlet oldChildrenLength = oldChildren.length,\n\t\tremainingOldChildren = oldChildrenLength;\n\n\tlet skew = 0;\n\n\tnewParentVNode._children = [];\n\tfor (i = 0; i < newChildrenLength; i++) {\n\t\t// @ts-expect-error We are reusing the childVNode variable to hold both the\n\t\t// pre and post normalized childVNode\n\t\tchildVNode = renderResult[i];\n\n\t\tif (\n\t\t\tchildVNode == null ||\n\t\t\ttypeof childVNode == 'boolean' ||\n\t\t\ttypeof childVNode == 'function'\n\t\t) {\n\t\t\tchildVNode = newParentVNode._children[i] = null;\n\t\t}\n\t\t// If this newVNode is being reused (e.g.
{reuse}{reuse}
) in the same diff,\n\t\t// or we are rendering a component (e.g. setState) copy the oldVNodes so it can have\n\t\t// it's own DOM & etc. pointers\n\t\telse if (\n\t\t\ttypeof childVNode == 'string' ||\n\t\t\ttypeof childVNode == 'number' ||\n\t\t\t// eslint-disable-next-line valid-typeof\n\t\t\ttypeof childVNode == 'bigint' ||\n\t\t\tchildVNode.constructor == String\n\t\t) {\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tnull,\n\t\t\t\tchildVNode,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull\n\t\t\t);\n\t\t} else if (isArray(childVNode)) {\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tFragment,\n\t\t\t\t{ children: childVNode },\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull\n\t\t\t);\n\t\t} else if (childVNode.constructor === undefined && childVNode._depth > 0) {\n\t\t\t// VNode is already in use, clone it. This can happen in the following\n\t\t\t// scenario:\n\t\t\t// const reuse =
\n\t\t\t//
{reuse}{reuse}
\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tchildVNode.type,\n\t\t\t\tchildVNode.props,\n\t\t\t\tchildVNode.key,\n\t\t\t\tchildVNode.ref ? childVNode.ref : null,\n\t\t\t\tchildVNode._original\n\t\t\t);\n\t\t} else {\n\t\t\tchildVNode = newParentVNode._children[i] = childVNode;\n\t\t}\n\n\t\tconst skewedIndex = i + skew;\n\n\t\t// Handle unmounting null placeholders, i.e. VNode => null in unkeyed children\n\t\tif (childVNode == null) {\n\t\t\toldVNode = oldChildren[skewedIndex];\n\t\t\tif (\n\t\t\t\toldVNode &&\n\t\t\t\toldVNode.key == null &&\n\t\t\t\toldVNode._dom &&\n\t\t\t\t(oldVNode._flags & MATCHED) === 0\n\t\t\t) {\n\t\t\t\tif (oldVNode._dom == newParentVNode._nextDom) {\n\t\t\t\t\tnewParentVNode._nextDom = getDomSibling(oldVNode);\n\t\t\t\t}\n\n\t\t\t\tunmount(oldVNode, oldVNode, false);\n\n\t\t\t\t// Explicitly nullify this position in oldChildren instead of just\n\t\t\t\t// setting `_match=true` to prevent other routines (e.g.\n\t\t\t\t// `findMatchingIndex` or `getDomSibling`) from thinking VNodes or DOM\n\t\t\t\t// nodes in this position are still available to be used in diffing when\n\t\t\t\t// they have actually already been unmounted. For example, by only\n\t\t\t\t// setting `_match=true` here, the unmounting loop later would attempt\n\t\t\t\t// to unmount this VNode again seeing `_match==true`. Further,\n\t\t\t\t// getDomSibling doesn't know about _match and so would incorrectly\n\t\t\t\t// assume DOM nodes in this subtree are mounted and usable.\n\t\t\t\toldChildren[skewedIndex] = null;\n\t\t\t\tremainingOldChildren--;\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tchildVNode._parent = newParentVNode;\n\t\tchildVNode._depth = newParentVNode._depth + 1;\n\n\t\tconst matchingIndex = findMatchingIndex(\n\t\t\tchildVNode,\n\t\t\toldChildren,\n\t\t\tskewedIndex,\n\t\t\tremainingOldChildren\n\t\t);\n\n\t\t// Temporarily store the matchingIndex on the _index property so we can pull\n\t\t// out the oldVNode in diffChildren. We'll override this to the VNode's\n\t\t// final index after using this property to get the oldVNode\n\t\tchildVNode._index = matchingIndex;\n\n\t\toldVNode = null;\n\t\tif (matchingIndex !== -1) {\n\t\t\toldVNode = oldChildren[matchingIndex];\n\t\t\tremainingOldChildren--;\n\t\t\tif (oldVNode) {\n\t\t\t\toldVNode._flags |= MATCHED;\n\t\t\t}\n\t\t}\n\n\t\t// Here, we define isMounting for the purposes of the skew diffing\n\t\t// algorithm. Nodes that are unsuspending are considered mounting and we detect\n\t\t// this by checking if oldVNode._original === null\n\t\tconst isMounting = oldVNode == null || oldVNode._original === null;\n\n\t\tif (isMounting) {\n\t\t\tif (matchingIndex == -1) {\n\t\t\t\tskew--;\n\t\t\t}\n\n\t\t\t// If we are mounting a DOM VNode, mark it for insertion\n\t\t\tif (typeof childVNode.type != 'function') {\n\t\t\t\tchildVNode._flags |= INSERT_VNODE;\n\t\t\t}\n\t\t} else if (matchingIndex !== skewedIndex) {\n\t\t\tif (matchingIndex === skewedIndex + 1) {\n\t\t\t\tskew++;\n\t\t\t} else if (matchingIndex > skewedIndex) {\n\t\t\t\tif (remainingOldChildren > newChildrenLength - skewedIndex) {\n\t\t\t\t\tskew += matchingIndex - skewedIndex;\n\t\t\t\t} else {\n\t\t\t\t\tskew--;\n\t\t\t\t}\n\t\t\t} else if (matchingIndex < skewedIndex) {\n\t\t\t\tif (matchingIndex == skewedIndex - 1) {\n\t\t\t\t\tskew = matchingIndex - skewedIndex;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tskew = 0;\n\t\t\t}\n\n\t\t\t// Move this VNode's DOM if the original index (matchingIndex) doesn't\n\t\t\t// match the new skew index (i + new skew)\n\t\t\tif (matchingIndex !== i + skew) {\n\t\t\t\tchildVNode._flags |= INSERT_VNODE;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Remove remaining oldChildren if there are any. Loop forwards so that as we\n\t// unmount DOM from the beginning of the oldChildren, we can adjust oldDom to\n\t// point to the next child, which needs to be the first DOM node that won't be\n\t// unmounted.\n\tif (remainingOldChildren) {\n\t\tfor (i = 0; i < oldChildrenLength; i++) {\n\t\t\toldVNode = oldChildren[i];\n\t\t\tif (oldVNode != null && (oldVNode._flags & MATCHED) === 0) {\n\t\t\t\tif (oldVNode._dom == newParentVNode._nextDom) {\n\t\t\t\t\tnewParentVNode._nextDom = getDomSibling(oldVNode);\n\t\t\t\t}\n\n\t\t\t\tunmount(oldVNode, oldVNode);\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * @param {VNode} parentVNode\n * @param {PreactElement} oldDom\n * @param {PreactElement} parentDom\n * @returns {PreactElement}\n */\nfunction insert(parentVNode, oldDom, parentDom) {\n\t// Note: VNodes in nested suspended trees may be missing _children.\n\n\tif (typeof parentVNode.type == 'function') {\n\t\tlet children = parentVNode._children;\n\t\tfor (let i = 0; children && i < children.length; i++) {\n\t\t\tif (children[i]) {\n\t\t\t\t// If we enter this code path on sCU bailout, where we copy\n\t\t\t\t// oldVNode._children to newVNode._children, we need to update the old\n\t\t\t\t// children's _parent pointer to point to the newVNode (parentVNode\n\t\t\t\t// here).\n\t\t\t\tchildren[i]._parent = parentVNode;\n\t\t\t\toldDom = insert(children[i], oldDom, parentDom);\n\t\t\t}\n\t\t}\n\n\t\treturn oldDom;\n\t} else if (parentVNode._dom != oldDom) {\n\t\tparentDom.insertBefore(parentVNode._dom, oldDom || null);\n\t\toldDom = parentVNode._dom;\n\t}\n\n\tdo {\n\t\toldDom = oldDom && oldDom.nextSibling;\n\t} while (oldDom != null && oldDom.nodeType === 8);\n\n\treturn oldDom;\n}\n\n/**\n * Flatten and loop through the children of a virtual node\n * @param {ComponentChildren} children The unflattened children of a virtual\n * node\n * @returns {VNode[]}\n */\nexport function toChildArray(children, out) {\n\tout = out || [];\n\tif (children == null || typeof children == 'boolean') {\n\t} else if (isArray(children)) {\n\t\tchildren.some(child => {\n\t\t\ttoChildArray(child, out);\n\t\t});\n\t} else {\n\t\tout.push(children);\n\t}\n\treturn out;\n}\n\n/**\n * @param {VNode} childVNode\n * @param {VNode[]} oldChildren\n * @param {number} skewedIndex\n * @param {number} remainingOldChildren\n * @returns {number}\n */\nfunction findMatchingIndex(\n\tchildVNode,\n\toldChildren,\n\tskewedIndex,\n\tremainingOldChildren\n) {\n\tconst key = childVNode.key;\n\tconst type = childVNode.type;\n\tlet x = skewedIndex - 1;\n\tlet y = skewedIndex + 1;\n\tlet oldVNode = oldChildren[skewedIndex];\n\n\t// We only need to perform a search if there are more children\n\t// (remainingOldChildren) to search. However, if the oldVNode we just looked\n\t// at skewedIndex was not already used in this diff, then there must be at\n\t// least 1 other (so greater than 1) remainingOldChildren to attempt to match\n\t// against. So the following condition checks that ensuring\n\t// remainingOldChildren > 1 if the oldVNode is not already used/matched. Else\n\t// if the oldVNode was null or matched, then there could needs to be at least\n\t// 1 (aka `remainingOldChildren > 0`) children to find and compare against.\n\tlet shouldSearch =\n\t\tremainingOldChildren >\n\t\t(oldVNode != null && (oldVNode._flags & MATCHED) === 0 ? 1 : 0);\n\n\tif (\n\t\toldVNode === null ||\n\t\t(oldVNode &&\n\t\t\tkey == oldVNode.key &&\n\t\t\ttype === oldVNode.type &&\n\t\t\t(oldVNode._flags & MATCHED) === 0)\n\t) {\n\t\treturn skewedIndex;\n\t} else if (shouldSearch) {\n\t\twhile (x >= 0 || y < oldChildren.length) {\n\t\t\tif (x >= 0) {\n\t\t\t\toldVNode = oldChildren[x];\n\t\t\t\tif (\n\t\t\t\t\toldVNode &&\n\t\t\t\t\t(oldVNode._flags & MATCHED) === 0 &&\n\t\t\t\t\tkey == oldVNode.key &&\n\t\t\t\t\ttype === oldVNode.type\n\t\t\t\t) {\n\t\t\t\t\treturn x;\n\t\t\t\t}\n\t\t\t\tx--;\n\t\t\t}\n\n\t\t\tif (y < oldChildren.length) {\n\t\t\t\toldVNode = oldChildren[y];\n\t\t\t\tif (\n\t\t\t\t\toldVNode &&\n\t\t\t\t\t(oldVNode._flags & MATCHED) === 0 &&\n\t\t\t\t\tkey == oldVNode.key &&\n\t\t\t\t\ttype === oldVNode.type\n\t\t\t\t) {\n\t\t\t\t\treturn y;\n\t\t\t\t}\n\t\t\t\ty++;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn -1;\n}\n","import { IS_NON_DIMENSIONAL } from '../constants';\nimport options from '../options';\n\nfunction setStyle(style, key, value) {\n\tif (key[0] === '-') {\n\t\tstyle.setProperty(key, value == null ? '' : value);\n\t} else if (value == null) {\n\t\tstyle[key] = '';\n\t} else if (typeof value != 'number' || IS_NON_DIMENSIONAL.test(key)) {\n\t\tstyle[key] = value;\n\t} else {\n\t\tstyle[key] = value + 'px';\n\t}\n}\n\n/**\n * Set a property value on a DOM node\n * @param {PreactElement} dom The DOM node to modify\n * @param {string} name The name of the property to set\n * @param {*} value The value to set the property to\n * @param {*} oldValue The old value the property had\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node or not\n */\nexport function setProperty(dom, name, value, oldValue, isSvg) {\n\tlet useCapture;\n\n\to: if (name === 'style') {\n\t\tif (typeof value == 'string') {\n\t\t\tdom.style.cssText = value;\n\t\t} else {\n\t\t\tif (typeof oldValue == 'string') {\n\t\t\t\tdom.style.cssText = oldValue = '';\n\t\t\t}\n\n\t\t\tif (oldValue) {\n\t\t\t\tfor (name in oldValue) {\n\t\t\t\t\tif (!(value && name in value)) {\n\t\t\t\t\t\tsetStyle(dom.style, name, '');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (value) {\n\t\t\t\tfor (name in value) {\n\t\t\t\t\tif (!oldValue || value[name] !== oldValue[name]) {\n\t\t\t\t\t\tsetStyle(dom.style, name, value[name]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Benchmark for comparison: https://esbench.com/bench/574c954bdb965b9a00965ac6\n\telse if (name[0] === 'o' && name[1] === 'n') {\n\t\tuseCapture =\n\t\t\tname !== (name = name.replace(/(PointerCapture)$|Capture$/i, '$1'));\n\n\t\t// Infer correct casing for DOM built-in events:\n\t\tif (\n\t\t\tname.toLowerCase() in dom ||\n\t\t\tname === 'onFocusOut' ||\n\t\t\tname === 'onFocusIn'\n\t\t)\n\t\t\tname = name.toLowerCase().slice(2);\n\t\telse name = name.slice(2);\n\n\t\tif (!dom._listeners) dom._listeners = {};\n\t\tdom._listeners[name + useCapture] = value;\n\n\t\tif (value) {\n\t\t\tif (!oldValue) {\n\t\t\t\tvalue._attached = Date.now();\n\t\t\t\tconst handler = useCapture ? eventProxyCapture : eventProxy;\n\t\t\t\tdom.addEventListener(name, handler, useCapture);\n\t\t\t} else {\n\t\t\t\tvalue._attached = oldValue._attached;\n\t\t\t}\n\t\t} else {\n\t\t\tconst handler = useCapture ? eventProxyCapture : eventProxy;\n\t\t\tdom.removeEventListener(name, handler, useCapture);\n\t\t}\n\t} else {\n\t\tif (isSvg) {\n\t\t\t// Normalize incorrect prop usage for SVG:\n\t\t\t// - xlink:href / xlinkHref --> href (xlink:href was removed from SVG and isn't needed)\n\t\t\t// - className --> class\n\t\t\tname = name.replace(/xlink(H|:h)/, 'h').replace(/sName$/, 's');\n\t\t} else if (\n\t\t\tname !== 'width' &&\n\t\t\tname !== 'height' &&\n\t\t\tname !== 'href' &&\n\t\t\tname !== 'list' &&\n\t\t\tname !== 'form' &&\n\t\t\t// Default value in browsers is `-1` and an empty string is\n\t\t\t// cast to `0` instead\n\t\t\tname !== 'tabIndex' &&\n\t\t\tname !== 'download' &&\n\t\t\tname !== 'rowSpan' &&\n\t\t\tname !== 'colSpan' &&\n\t\t\tname !== 'role' &&\n\t\t\tname in dom\n\t\t) {\n\t\t\ttry {\n\t\t\t\tdom[name] = value == null ? '' : value;\n\t\t\t\t// labelled break is 1b smaller here than a return statement (sorry)\n\t\t\t\tbreak o;\n\t\t\t} catch (e) {}\n\t\t}\n\n\t\t// aria- and data- attributes have no boolean representation.\n\t\t// A `false` value is different from the attribute not being\n\t\t// present, so we can't remove it. For non-boolean aria\n\t\t// attributes we could treat false as a removal, but the\n\t\t// amount of exceptions would cost too many bytes. On top of\n\t\t// that other frameworks generally stringify `false`.\n\n\t\tif (typeof value == 'function') {\n\t\t\t// never serialize functions as attribute values\n\t\t} else if (value != null && (value !== false || name[4] === '-')) {\n\t\t\tdom.setAttribute(name, value);\n\t\t} else {\n\t\t\tdom.removeAttribute(name);\n\t\t}\n\t}\n}\n\n/**\n * Proxy an event to hooked event handlers\n * @param {PreactEvent} e The event object from the browser\n * @private\n */\nfunction eventProxy(e) {\n\tif (this._listeners) {\n\t\tconst eventHandler = this._listeners[e.type + false];\n\t\t/**\n\t\t * This trick is inspired by Vue https://github.com/vuejs/core/blob/main/packages/runtime-dom/src/modules/events.ts#L90-L101\n\t\t * when the dom performs an event it leaves micro-ticks in between bubbling up which means that an event can trigger on a newly\n\t\t * created DOM-node while the event bubbles up, this can cause quirky behavior as seen in https://github.com/preactjs/preact/issues/3927\n\t\t */\n\t\tif (!e._dispatched) {\n\t\t\t// When an event has no _dispatched we know this is the first event-target in the chain\n\t\t\t// so we set the initial dispatched time.\n\t\t\te._dispatched = Date.now();\n\t\t\t// When the _dispatched is smaller than the time when the targetted event handler was attached\n\t\t\t// we know we have bubbled up to an element that was added during patching the dom.\n\t\t} else if (e._dispatched <= eventHandler._attached) {\n\t\t\treturn;\n\t\t}\n\t\treturn eventHandler(options.event ? options.event(e) : e);\n\t}\n}\n\n/**\n * Proxy an event to hooked event handlers\n * @param {PreactEvent} e The event object from the browser\n * @private\n */\nfunction eventProxyCapture(e) {\n\tif (this._listeners) {\n\t\treturn this._listeners[e.type + true](options.event ? options.event(e) : e);\n\t}\n}\n","import {\n\tEMPTY_OBJ,\n\tMODE_HYDRATE,\n\tMODE_SUSPENDED,\n\tRESET_MODE\n} from '../constants';\nimport { BaseComponent, getDomSibling } from '../component';\nimport { Fragment } from '../create-element';\nimport { diffChildren } from './children';\nimport { setProperty } from './props';\nimport { assign, isArray, removeNode, slice } from '../util';\nimport options from '../options';\n\n/**\n * Diff two virtual nodes and apply proper changes to the DOM\n * @param {PreactElement} parentDom The parent of the DOM element\n * @param {VNode} newVNode The new virtual node\n * @param {VNode} oldVNode The old virtual node\n * @param {object} globalContext The current context object. Modified by\n * getChildContext\n * @param {boolean} isSvg Whether or not this element is an SVG node\n * @param {Array} excessDomChildren\n * @param {Array} commitQueue List of components which have callbacks\n * to invoke in commitRoot\n * @param {PreactElement} oldDom The current attached DOM element any new dom\n * elements should be placed around. Likely `null` on first render (except when\n * hydrating). Can be a sibling DOM element when diffing Fragments that have\n * siblings. In most cases, it starts out as `oldChildren[0]._dom`.\n * @param {boolean} isHydrating Whether or not we are in hydration\n * @param {any[]} refQueue an array of elements needed to invoke refs\n */\nexport function diff(\n\tparentDom,\n\tnewVNode,\n\toldVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\toldDom,\n\tisHydrating,\n\trefQueue\n) {\n\t/** @type {any} */\n\tlet tmp,\n\t\tnewType = newVNode.type;\n\n\t// When passing through createElement it assigns the object\n\t// constructor as undefined. This to prevent JSON-injection.\n\tif (newVNode.constructor !== undefined) return null;\n\n\t// If the previous diff bailed out, resume creating/hydrating.\n\tif (oldVNode._flags & MODE_SUSPENDED) {\n\t\tisHydrating = !!(oldVNode._flags & MODE_HYDRATE);\n\t\toldDom = newVNode._dom = oldVNode._dom;\n\t\texcessDomChildren = [oldDom];\n\t}\n\n\tif ((tmp = options._diff)) tmp(newVNode);\n\n\touter: if (typeof newType == 'function') {\n\t\ttry {\n\t\t\tlet c, isNew, oldProps, oldState, snapshot, clearProcessingException;\n\t\t\tlet newProps = newVNode.props;\n\n\t\t\t// Necessary for createContext api. Setting this property will pass\n\t\t\t// the context value as `this.context` just for this component.\n\t\t\ttmp = newType.contextType;\n\t\t\tlet provider = tmp && globalContext[tmp._id];\n\t\t\tlet componentContext = tmp\n\t\t\t\t? provider\n\t\t\t\t\t? provider.props.value\n\t\t\t\t\t: tmp._defaultValue\n\t\t\t\t: globalContext;\n\n\t\t\t// Get component and set it to `c`\n\t\t\tif (oldVNode._component) {\n\t\t\t\tc = newVNode._component = oldVNode._component;\n\t\t\t\tclearProcessingException = c._processingException = c._pendingError;\n\t\t\t} else {\n\t\t\t\t// Instantiate the new component\n\t\t\t\tif ('prototype' in newType && newType.prototype.render) {\n\t\t\t\t\t// @ts-expect-error The check above verifies that newType is suppose to be constructed\n\t\t\t\t\tnewVNode._component = c = new newType(newProps, componentContext); // eslint-disable-line new-cap\n\t\t\t\t} else {\n\t\t\t\t\t// @ts-expect-error Trust me, Component implements the interface we want\n\t\t\t\t\tnewVNode._component = c = new BaseComponent(\n\t\t\t\t\t\tnewProps,\n\t\t\t\t\t\tcomponentContext\n\t\t\t\t\t);\n\t\t\t\t\tc.constructor = newType;\n\t\t\t\t\tc.render = doRender;\n\t\t\t\t}\n\t\t\t\tif (provider) provider.sub(c);\n\n\t\t\t\tc.props = newProps;\n\t\t\t\tif (!c.state) c.state = {};\n\t\t\t\tc.context = componentContext;\n\t\t\t\tc._globalContext = globalContext;\n\t\t\t\tisNew = c._dirty = true;\n\t\t\t\tc._renderCallbacks = [];\n\t\t\t\tc._stateCallbacks = [];\n\t\t\t}\n\n\t\t\t// Invoke getDerivedStateFromProps\n\t\t\tif (c._nextState == null) {\n\t\t\t\tc._nextState = c.state;\n\t\t\t}\n\n\t\t\tif (newType.getDerivedStateFromProps != null) {\n\t\t\t\tif (c._nextState == c.state) {\n\t\t\t\t\tc._nextState = assign({}, c._nextState);\n\t\t\t\t}\n\n\t\t\t\tassign(\n\t\t\t\t\tc._nextState,\n\t\t\t\t\tnewType.getDerivedStateFromProps(newProps, c._nextState)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\toldProps = c.props;\n\t\t\toldState = c.state;\n\t\t\tc._vnode = newVNode;\n\n\t\t\t// Invoke pre-render lifecycle methods\n\t\t\tif (isNew) {\n\t\t\t\tif (\n\t\t\t\t\tnewType.getDerivedStateFromProps == null &&\n\t\t\t\t\tc.componentWillMount != null\n\t\t\t\t) {\n\t\t\t\t\tc.componentWillMount();\n\t\t\t\t}\n\n\t\t\t\tif (c.componentDidMount != null) {\n\t\t\t\t\tc._renderCallbacks.push(c.componentDidMount);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tnewType.getDerivedStateFromProps == null &&\n\t\t\t\t\tnewProps !== oldProps &&\n\t\t\t\t\tc.componentWillReceiveProps != null\n\t\t\t\t) {\n\t\t\t\t\tc.componentWillReceiveProps(newProps, componentContext);\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t!c._force &&\n\t\t\t\t\t((c.shouldComponentUpdate != null &&\n\t\t\t\t\t\tc.shouldComponentUpdate(\n\t\t\t\t\t\t\tnewProps,\n\t\t\t\t\t\t\tc._nextState,\n\t\t\t\t\t\t\tcomponentContext\n\t\t\t\t\t\t) === false) ||\n\t\t\t\t\t\tnewVNode._original === oldVNode._original)\n\t\t\t\t) {\n\t\t\t\t\t// More info about this here: https://gist.github.com/JoviDeCroock/bec5f2ce93544d2e6070ef8e0036e4e8\n\t\t\t\t\tif (newVNode._original !== oldVNode._original) {\n\t\t\t\t\t\t// When we are dealing with a bail because of sCU we have to update\n\t\t\t\t\t\t// the props, state and dirty-state.\n\t\t\t\t\t\t// when we are dealing with strict-equality we don't as the child could still\n\t\t\t\t\t\t// be dirtied see #3883\n\t\t\t\t\t\tc.props = newProps;\n\t\t\t\t\t\tc.state = c._nextState;\n\t\t\t\t\t\tc._dirty = false;\n\t\t\t\t\t}\n\n\t\t\t\t\tnewVNode._dom = oldVNode._dom;\n\t\t\t\t\tnewVNode._children = oldVNode._children;\n\t\t\t\t\tnewVNode._children.forEach(vnode => {\n\t\t\t\t\t\tif (vnode) vnode._parent = newVNode;\n\t\t\t\t\t});\n\n\t\t\t\t\tfor (let i = 0; i < c._stateCallbacks.length; i++) {\n\t\t\t\t\t\tc._renderCallbacks.push(c._stateCallbacks[i]);\n\t\t\t\t\t}\n\t\t\t\t\tc._stateCallbacks = [];\n\n\t\t\t\t\tif (c._renderCallbacks.length) {\n\t\t\t\t\t\tcommitQueue.push(c);\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\n\t\t\t\tif (c.componentWillUpdate != null) {\n\t\t\t\t\tc.componentWillUpdate(newProps, c._nextState, componentContext);\n\t\t\t\t}\n\n\t\t\t\tif (c.componentDidUpdate != null) {\n\t\t\t\t\tc._renderCallbacks.push(() => {\n\t\t\t\t\t\tc.componentDidUpdate(oldProps, oldState, snapshot);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tc.context = componentContext;\n\t\t\tc.props = newProps;\n\t\t\tc._parentDom = parentDom;\n\t\t\tc._force = false;\n\n\t\t\tlet renderHook = options._render,\n\t\t\t\tcount = 0;\n\t\t\tif ('prototype' in newType && newType.prototype.render) {\n\t\t\t\tc.state = c._nextState;\n\t\t\t\tc._dirty = false;\n\n\t\t\t\tif (renderHook) renderHook(newVNode);\n\n\t\t\t\ttmp = c.render(c.props, c.state, c.context);\n\n\t\t\t\tfor (let i = 0; i < c._stateCallbacks.length; i++) {\n\t\t\t\t\tc._renderCallbacks.push(c._stateCallbacks[i]);\n\t\t\t\t}\n\t\t\t\tc._stateCallbacks = [];\n\t\t\t} else {\n\t\t\t\tdo {\n\t\t\t\t\tc._dirty = false;\n\t\t\t\t\tif (renderHook) renderHook(newVNode);\n\n\t\t\t\t\ttmp = c.render(c.props, c.state, c.context);\n\n\t\t\t\t\t// Handle setState called in render, see #2553\n\t\t\t\t\tc.state = c._nextState;\n\t\t\t\t} while (c._dirty && ++count < 25);\n\t\t\t}\n\n\t\t\t// Handle setState called in render, see #2553\n\t\t\tc.state = c._nextState;\n\n\t\t\tif (c.getChildContext != null) {\n\t\t\t\tglobalContext = assign(assign({}, globalContext), c.getChildContext());\n\t\t\t}\n\n\t\t\tif (!isNew && c.getSnapshotBeforeUpdate != null) {\n\t\t\t\tsnapshot = c.getSnapshotBeforeUpdate(oldProps, oldState);\n\t\t\t}\n\n\t\t\tlet isTopLevelFragment =\n\t\t\t\ttmp != null && tmp.type === Fragment && tmp.key == null;\n\t\t\tlet renderResult = isTopLevelFragment ? tmp.props.children : tmp;\n\n\t\t\tdiffChildren(\n\t\t\t\tparentDom,\n\t\t\t\tisArray(renderResult) ? renderResult : [renderResult],\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tisSvg,\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\toldDom,\n\t\t\t\tisHydrating,\n\t\t\t\trefQueue\n\t\t\t);\n\n\t\t\tc.base = newVNode._dom;\n\n\t\t\t// We successfully rendered this VNode, unset any stored hydration/bailout state:\n\t\t\tnewVNode._flags &= RESET_MODE;\n\n\t\t\tif (c._renderCallbacks.length) {\n\t\t\t\tcommitQueue.push(c);\n\t\t\t}\n\n\t\t\tif (clearProcessingException) {\n\t\t\t\tc._pendingError = c._processingException = null;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tnewVNode._original = null;\n\t\t\t// if hydrating or creating initial tree, bailout preserves DOM:\n\t\t\tif (isHydrating || excessDomChildren != null) {\n\t\t\t\tnewVNode._dom = oldDom;\n\t\t\t\tnewVNode._flags |= isHydrating\n\t\t\t\t\t? MODE_HYDRATE | MODE_SUSPENDED\n\t\t\t\t\t: MODE_HYDRATE;\n\t\t\t\texcessDomChildren[excessDomChildren.indexOf(oldDom)] = null;\n\t\t\t\t// ^ could possibly be simplified to:\n\t\t\t\t// excessDomChildren.length = 0;\n\t\t\t} else {\n\t\t\t\tnewVNode._dom = oldVNode._dom;\n\t\t\t\tnewVNode._children = oldVNode._children;\n\t\t\t}\n\t\t\toptions._catchError(e, newVNode, oldVNode);\n\t\t}\n\t} else if (\n\t\texcessDomChildren == null &&\n\t\tnewVNode._original === oldVNode._original\n\t) {\n\t\tnewVNode._children = oldVNode._children;\n\t\tnewVNode._dom = oldVNode._dom;\n\t} else {\n\t\tnewVNode._dom = diffElementNodes(\n\t\t\toldVNode._dom,\n\t\t\tnewVNode,\n\t\t\toldVNode,\n\t\t\tglobalContext,\n\t\t\tisSvg,\n\t\t\texcessDomChildren,\n\t\t\tcommitQueue,\n\t\t\tisHydrating,\n\t\t\trefQueue\n\t\t);\n\t}\n\n\tif ((tmp = options.diffed)) tmp(newVNode);\n}\n\n/**\n * @param {Array} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {VNode} root\n */\nexport function commitRoot(commitQueue, root, refQueue) {\n\troot._nextDom = undefined;\n\n\tfor (let i = 0; i < refQueue.length; i++) {\n\t\tapplyRef(refQueue[i], refQueue[++i], refQueue[++i]);\n\t}\n\n\tif (options._commit) options._commit(root, commitQueue);\n\n\tcommitQueue.some(c => {\n\t\ttry {\n\t\t\t// @ts-expect-error Reuse the commitQueue variable here so the type changes\n\t\t\tcommitQueue = c._renderCallbacks;\n\t\t\tc._renderCallbacks = [];\n\t\t\tcommitQueue.some(cb => {\n\t\t\t\t// @ts-expect-error See above comment on commitQueue\n\t\t\t\tcb.call(c);\n\t\t\t});\n\t\t} catch (e) {\n\t\t\toptions._catchError(e, c._vnode);\n\t\t}\n\t});\n}\n\n/**\n * Diff two virtual nodes representing DOM element\n * @param {PreactElement} dom The DOM element representing the virtual nodes\n * being diffed\n * @param {VNode} newVNode The new virtual node\n * @param {VNode} oldVNode The old virtual node\n * @param {object} globalContext The current context object\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node\n * @param {Array} excessDomChildren\n * @param {Array} commitQueue List of components which have callbacks\n * to invoke in commitRoot\n * @param {boolean} isHydrating Whether or not we are in hydration\n * @param {any[]} refQueue an array of elements needed to invoke refs\n * @returns {PreactElement}\n */\nfunction diffElementNodes(\n\tdom,\n\tnewVNode,\n\toldVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\tisHydrating,\n\trefQueue\n) {\n\tlet oldProps = oldVNode.props;\n\tlet newProps = newVNode.props;\n\tlet nodeType = /** @type {string} */ (newVNode.type);\n\t/** @type {any} */\n\tlet i;\n\t/** @type {{ __html?: string }} */\n\tlet newHtml;\n\t/** @type {{ __html?: string }} */\n\tlet oldHtml;\n\t/** @type {ComponentChildren} */\n\tlet newChildren;\n\tlet value;\n\tlet inputValue;\n\tlet checked;\n\n\t// Tracks entering and exiting SVG namespace when descending through the tree.\n\tif (nodeType === 'svg') isSvg = true;\n\n\tif (excessDomChildren != null) {\n\t\tfor (i = 0; i < excessDomChildren.length; i++) {\n\t\t\tvalue = excessDomChildren[i];\n\n\t\t\t// if newVNode matches an element in excessDomChildren or the `dom`\n\t\t\t// argument matches an element in excessDomChildren, remove it from\n\t\t\t// excessDomChildren so it isn't later removed in diffChildren\n\t\t\tif (\n\t\t\t\tvalue &&\n\t\t\t\t'setAttribute' in value === !!nodeType &&\n\t\t\t\t(nodeType ? value.localName === nodeType : value.nodeType === 3)\n\t\t\t) {\n\t\t\t\tdom = value;\n\t\t\t\texcessDomChildren[i] = null;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tif (dom == null) {\n\t\tif (nodeType === null) {\n\t\t\treturn document.createTextNode(newProps);\n\t\t}\n\n\t\tif (isSvg) {\n\t\t\tdom = document.createElementNS('http://www.w3.org/2000/svg', nodeType);\n\t\t} else {\n\t\t\tdom = document.createElement(nodeType, newProps.is && newProps);\n\t\t}\n\n\t\t// we created a new parent, so none of the previously attached children can be reused:\n\t\texcessDomChildren = null;\n\t\t// we are creating a new node, so we can assume this is a new subtree (in\n\t\t// case we are hydrating), this deopts the hydrate\n\t\tisHydrating = false;\n\t}\n\n\tif (nodeType === null) {\n\t\t// During hydration, we still have to split merged text from SSR'd HTML.\n\t\tif (oldProps !== newProps && (!isHydrating || dom.data !== newProps)) {\n\t\t\tdom.data = newProps;\n\t\t}\n\t} else {\n\t\t// If excessDomChildren was not null, repopulate it with the current element's children:\n\t\texcessDomChildren = excessDomChildren && slice.call(dom.childNodes);\n\n\t\toldProps = oldVNode.props || EMPTY_OBJ;\n\n\t\t// If we are in a situation where we are not hydrating but are using\n\t\t// existing DOM (e.g. replaceNode) we should read the existing DOM\n\t\t// attributes to diff them\n\t\tif (!isHydrating && excessDomChildren != null) {\n\t\t\toldProps = {};\n\t\t\tfor (i = 0; i < dom.attributes.length; i++) {\n\t\t\t\tvalue = dom.attributes[i];\n\t\t\t\toldProps[value.name] = value.value;\n\t\t\t}\n\t\t}\n\n\t\tfor (i in oldProps) {\n\t\t\tvalue = oldProps[i];\n\t\t\tif (i == 'children') {\n\t\t\t} else if (i == 'dangerouslySetInnerHTML') {\n\t\t\t\toldHtml = value;\n\t\t\t} else if (i !== 'key' && !(i in newProps)) {\n\t\t\t\tsetProperty(dom, i, null, value, isSvg);\n\t\t\t}\n\t\t}\n\n\t\t// During hydration, props are not diffed at all (including dangerouslySetInnerHTML)\n\t\t// @TODO we should warn in debug mode when props don't match here.\n\t\tfor (i in newProps) {\n\t\t\tvalue = newProps[i];\n\t\t\tif (i == 'children') {\n\t\t\t\tnewChildren = value;\n\t\t\t} else if (i == 'dangerouslySetInnerHTML') {\n\t\t\t\tnewHtml = value;\n\t\t\t} else if (i == 'value') {\n\t\t\t\tinputValue = value;\n\t\t\t} else if (i == 'checked') {\n\t\t\t\tchecked = value;\n\t\t\t} else if (\n\t\t\t\ti !== 'key' &&\n\t\t\t\t(!isHydrating || typeof value == 'function') &&\n\t\t\t\toldProps[i] !== value\n\t\t\t) {\n\t\t\t\tsetProperty(dom, i, value, oldProps[i], isSvg);\n\t\t\t}\n\t\t}\n\n\t\t// If the new vnode didn't have dangerouslySetInnerHTML, diff its children\n\t\tif (newHtml) {\n\t\t\t// Avoid re-applying the same '__html' if it did not changed between re-render\n\t\t\tif (\n\t\t\t\t!isHydrating &&\n\t\t\t\t(!oldHtml ||\n\t\t\t\t\t(newHtml.__html !== oldHtml.__html &&\n\t\t\t\t\t\tnewHtml.__html !== dom.innerHTML))\n\t\t\t) {\n\t\t\t\tdom.innerHTML = newHtml.__html;\n\t\t\t}\n\n\t\t\tnewVNode._children = [];\n\t\t} else {\n\t\t\tif (oldHtml) dom.innerHTML = '';\n\n\t\t\tdiffChildren(\n\t\t\t\tdom,\n\t\t\t\tisArray(newChildren) ? newChildren : [newChildren],\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tisSvg && nodeType !== 'foreignObject',\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\texcessDomChildren\n\t\t\t\t\t? excessDomChildren[0]\n\t\t\t\t\t: oldVNode._children && getDomSibling(oldVNode, 0),\n\t\t\t\tisHydrating,\n\t\t\t\trefQueue\n\t\t\t);\n\n\t\t\t// Remove children that are not part of any vnode.\n\t\t\tif (excessDomChildren != null) {\n\t\t\t\tfor (i = excessDomChildren.length; i--; ) {\n\t\t\t\t\tif (excessDomChildren[i] != null) removeNode(excessDomChildren[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// As above, don't diff props during hydration\n\t\tif (!isHydrating) {\n\t\t\ti = 'value';\n\t\t\tif (\n\t\t\t\tinputValue !== undefined &&\n\t\t\t\t// #2756 For the -element the initial value is 0,\n\t\t\t\t// despite the attribute not being present. When the attribute\n\t\t\t\t// is missing the progress bar is treated as indeterminate.\n\t\t\t\t// To fix that we'll always update it when it is 0 for progress elements\n\t\t\t\t(inputValue !== dom[i] ||\n\t\t\t\t\t(nodeType === 'progress' && !inputValue) ||\n\t\t\t\t\t// This is only for IE 11 to fix