{"version":3,"file":"js/2594-1500b2ef2a9ea31276fd.js","mappings":";uGAAO,SAASA,EAASC,EAAIC,GAC3B,IAAIC,OAAUC,EACd,OAAO,WACL,IAAK,IAAIC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAErBP,GACFQ,aAAaR,GAEfA,EAAUS,YAAW,WACnB,OAAOX,EAAGY,WAAM,EAAQL,EAC1B,GAAGN,EACL,CACF,CCbO,SAASY,EAAUC,GACxB,MAAO,CACLC,QAASD,EAEb,CCJA,SAASE,EAAYC,GACnB,OAAOA,IAAQC,OAAOD,EACxB,CACO,SAASE,EAAQC,EAAOC,GAC7B,GAAID,IAAUC,EACZ,OAAO,EAET,GAAIL,EAAYI,IAAUJ,EAAYK,IAA4B,oBAAVD,GAA0C,oBAAXC,EACrF,OAAOD,IAAUC,EAEnB,GAAIH,OAAOI,KAAKF,GAAOd,SAAWY,OAAOI,KAAKD,GAAQf,OACpD,OAAO,EAET,IAAK,IAAIiB,EAAK,EAAGC,EAAeN,OAAOI,KAAKF,GAAQG,EAAKC,EAAalB,OAAQiB,IAAM,CAClF,IAAIE,EAAMD,EAAaD,GACvB,KAAME,KAAOJ,GACX,OAAO,EAET,IAAKF,EAAQC,EAAMK,GAAMJ,EAAOI,IAC9B,OAAO,CAEX,CACA,OAAO,CACT,mBCvBO,IAAIC,EAAO,WAAiB,ECA5B,SAASC,EAAmBC,GACjC,IAAIC,EAAOD,EAAKC,KACdC,EAAaF,EAAKG,MAClBA,OAAuB,IAAfD,EAAwB,GAAKA,EACvC,MAAO,CACLE,MAAOH,EAAKI,yBACZF,MAAO,CAACF,GACRK,UAAW,CAAC,EAAIH,EAAMI,WAAU,SAAUC,GACxC,OAAOA,EAAEC,WAAaR,EAAKQ,QAC7B,KACAC,QAAST,EAAKU,uBACdC,cAAe,CAAC,gBAEpB,CCbA,SAASC,EAAeC,EAAKC,GAAK,OAKlC,SAAyBD,GAAO,GAAIlC,MAAMoC,QAAQF,GAAM,OAAOA,CAAK,CAL3BG,CAAgBH,IAIzD,SAA+BA,EAAKC,GAAK,IAAIpB,EAAK,MAAQmB,EAAM,KAAO,oBAAsBI,QAAUJ,EAAII,OAAOC,WAAaL,EAAI,cAAe,GAAI,MAAQnB,EAAI,CAAE,IAAIyB,EAAIC,EAAIC,EAAIC,EAAIC,EAAO,GAAIC,GAAK,EAAIC,GAAK,EAAI,IAAM,GAAIJ,GAAM3B,EAAKA,EAAGgC,KAAKb,IAAMc,KAAM,IAAMb,EAAG,CAAE,GAAIzB,OAAOK,KAAQA,EAAI,OAAQ8B,GAAK,CAAI,MAAO,OAASA,GAAML,EAAKE,EAAGK,KAAKhC,IAAKkC,QAAUL,EAAKM,KAAKV,EAAGW,OAAQP,EAAK9C,SAAWqC,GAAIU,GAAK,GAAK,CAAE,MAAOO,GAAON,GAAK,EAAIL,EAAKW,CAAK,CAAE,QAAU,IAAM,IAAKP,GAAM,MAAQ9B,EAAGsC,SAAWV,EAAK5B,EAAGsC,SAAU3C,OAAOiC,KAAQA,GAAK,MAAQ,CAAE,QAAU,GAAIG,EAAI,MAAML,CAAI,CAAE,CAAE,OAAOG,CAAM,CAAE,CAJ1gBU,CAAsBpB,EAAKC,IAE5F,SAAqCoB,EAAGC,GAAU,IAAKD,EAAG,OAAQ,GAAiB,kBAANA,EAAgB,OAAOE,EAAkBF,EAAGC,GAAS,IAAIE,EAAIhD,OAAOiD,UAAUC,SAASb,KAAKQ,GAAGM,MAAM,GAAI,GAAc,WAANH,GAAkBH,EAAEO,cAAaJ,EAAIH,EAAEO,YAAYC,MAAM,GAAU,QAANL,GAAqB,QAANA,EAAa,OAAO1D,MAAMgE,KAAKT,GAAI,GAAU,cAANG,GAAqB,2CAA2CO,KAAKP,GAAI,OAAOD,EAAkBF,EAAGC,EAAS,CAF7TU,CAA4BhC,EAAKC,IACnI,WAA8B,MAAM,IAAIgC,UAAU,4IAA8I,CADvDC,EAAoB,CAG7J,SAASX,EAAkBvB,EAAKmC,IAAkB,MAAPA,GAAeA,EAAMnC,EAAIpC,UAAQuE,EAAMnC,EAAIpC,QAAQ,IAAK,IAAIqC,EAAI,EAAGmC,EAAO,IAAItE,MAAMqE,GAAMlC,EAAIkC,EAAKlC,IAAKmC,EAAKnC,GAAKD,EAAIC,GAAI,OAAOmC,CAAM,CCHlL,IAAIC,EAAY,CAAC,SACfC,EAAa,CAAC,SAChB,SAASC,EAAQhE,GAAkC,OAAOgE,EAAU,mBAAqBnC,QAAU,iBAAmBA,OAAOC,SAAW,SAAU9B,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqB6B,QAAU7B,EAAIqD,cAAgBxB,QAAU7B,IAAQ6B,OAAOqB,UAAY,gBAAkBlD,CAAK,EAAGgE,EAAQhE,EAAM,CAC/U,SAASiE,EAAmBxC,GAAO,OAInC,SAA4BA,GAAO,GAAIlC,MAAMoC,QAAQF,GAAM,OAAO,EAAkBA,EAAM,CAJhDyC,CAAmBzC,IAG7D,SAA0B0C,GAAQ,GAAsB,qBAAXtC,QAAmD,MAAzBsC,EAAKtC,OAAOC,WAA2C,MAAtBqC,EAAK,cAAuB,OAAO5E,MAAMgE,KAAKY,EAAO,CAHxFC,CAAiB3C,IAEtF,SAAqCqB,EAAGC,GAAU,IAAKD,EAAG,OAAQ,GAAiB,kBAANA,EAAgB,OAAO,EAAkBA,EAAGC,GAAS,IAAIE,EAAIhD,OAAOiD,UAAUC,SAASb,KAAKQ,GAAGM,MAAM,GAAI,GAAc,WAANH,GAAkBH,EAAEO,cAAaJ,EAAIH,EAAEO,YAAYC,MAAM,GAAU,QAANL,GAAqB,QAANA,EAAa,OAAO1D,MAAMgE,KAAKT,GAAI,GAAU,cAANG,GAAqB,2CAA2CO,KAAKP,GAAI,OAAO,EAAkBH,EAAGC,EAAS,CAFjU,CAA4BtB,IAC1H,WAAgC,MAAM,IAAIiC,UAAU,uIAAyI,CAD3DW,EAAsB,CAKxJ,SAAS,EAAkB5C,EAAKmC,IAAkB,MAAPA,GAAeA,EAAMnC,EAAIpC,UAAQuE,EAAMnC,EAAIpC,QAAQ,IAAK,IAAIqC,EAAI,EAAGmC,EAAO,IAAItE,MAAMqE,GAAMlC,EAAIkC,EAAKlC,IAAKmC,EAAKnC,GAAKD,EAAIC,GAAI,OAAOmC,CAAM,CAClL,SAASS,EAAyBC,EAAQC,GAAY,GAAc,MAAVD,EAAgB,MAAO,CAAC,EAAG,IAAkE/D,EAAKkB,EAAnE+C,EACzF,SAAuCF,EAAQC,GAAY,GAAc,MAAVD,EAAgB,MAAO,CAAC,EAAG,IAA2D/D,EAAKkB,EAA5D+C,EAAS,CAAC,EAAOC,EAAazE,OAAOI,KAAKkE,GAAqB,IAAK7C,EAAI,EAAGA,EAAIgD,EAAWrF,OAAQqC,IAAOlB,EAAMkE,EAAWhD,GAAQ8C,EAASG,QAAQnE,IAAQ,IAAaiE,EAAOjE,GAAO+D,EAAO/D,IAAQ,OAAOiE,CAAQ,CADhNG,CAA8BL,EAAQC,GAAuB,GAAIvE,OAAO4E,sBAAuB,CAAE,IAAIC,EAAmB7E,OAAO4E,sBAAsBN,GAAS,IAAK7C,EAAI,EAAGA,EAAIoD,EAAiBzF,OAAQqC,IAAOlB,EAAMsE,EAAiBpD,GAAQ8C,EAASG,QAAQnE,IAAQ,GAAkBP,OAAOiD,UAAU6B,qBAAqBzC,KAAKiC,EAAQ/D,KAAgBiE,EAAOjE,GAAO+D,EAAO/D,GAAQ,CAAE,OAAOiE,CAAQ,CAE3e,SAASO,EAAQC,EAAQC,GAAkB,IAAI7E,EAAOJ,OAAOI,KAAK4E,GAAS,GAAIhF,OAAO4E,sBAAuB,CAAE,IAAIM,EAAUlF,OAAO4E,sBAAsBI,GAASC,IAAmBC,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOpF,OAAOqF,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKlF,EAAKoC,KAAK9C,MAAMU,EAAM8E,EAAU,CAAE,OAAO9E,CAAM,CACpV,SAASmF,EAAcf,GAAU,IAAK,IAAI/C,EAAI,EAAGA,EAAItC,UAAUC,OAAQqC,IAAK,CAAE,IAAI6C,EAAS,MAAQnF,UAAUsC,GAAKtC,UAAUsC,GAAK,CAAC,EAAGA,EAAI,EAAIsD,EAAQ/E,OAAOsE,IAAS,GAAIkB,SAAQ,SAAUjF,GAAOkF,EAAgBjB,EAAQjE,EAAK+D,EAAO/D,GAAO,IAAKP,OAAO0F,0BAA4B1F,OAAO2F,iBAAiBnB,EAAQxE,OAAO0F,0BAA0BpB,IAAWS,EAAQ/E,OAAOsE,IAASkB,SAAQ,SAAUjF,GAAOP,OAAO4F,eAAepB,EAAQjE,EAAKP,OAAOqF,yBAAyBf,EAAQ/D,GAAO,GAAI,CAAE,OAAOiE,CAAQ,CACzf,SAASiB,EAAgB1F,EAAKQ,EAAKkC,GAA4L,OAAnLlC,EAC5C,SAAwBsF,GAAO,IAAItF,EACnC,SAAsBuF,EAAOC,GAAQ,GAAuB,WAAnBhC,EAAQ+B,IAAiC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAMlE,OAAOqE,aAAc,QAAahH,IAAT+G,EAAoB,CAAE,IAAIE,EAAMF,EAAK3D,KAAKyD,EAAOC,GAAQ,WAAY,GAAqB,WAAjBhC,EAAQmC,GAAmB,OAAOA,EAAK,MAAM,IAAIzC,UAAU,+CAAiD,CAAE,OAAiB,WAATsC,EAAoBI,OAASC,QAAQN,EAAQ,CADnVO,CAAaR,EAAK,UAAW,MAAwB,WAAjB9B,EAAQxD,GAAoBA,EAAM4F,OAAO5F,EAAM,CAD1E+F,CAAe/F,MAAiBR,EAAOC,OAAO4F,eAAe7F,EAAKQ,EAAK,CAAEkC,MAAOA,EAAO6C,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBzG,EAAIQ,GAAOkC,EAAgB1C,CAAK,CAc3O,SAAS0G,EAAuBC,GAC9B,OAAOA,EAAOC,KAAI,SAAUjG,GAC1B,IAAIG,EAAQH,EAAKG,MACf+F,EAAQvC,EAAyB3D,EAAMmD,GACzC,OAAO0B,EAAcA,EAAc,CAAC,EAAGqB,GAAQ,CAAC,EAAG,CACjDC,WAAsB,OAAVhG,QAA4B,IAAVA,OAAmB,EAASA,EAAM8F,KAAI,SAAUG,GAE5E,OADeA,EAAM3F,QAEvB,MAAOyF,EAAMC,WAEjB,GACF,CACO,SAASE,EAAwBC,GACtC,ID5BEC,EACAC,EACAC,EC0BEC,GD5BFH,EAAc1F,GC4B4ByF,ED7BnBK,SAAW,IAAIC,MAAM,KAAKX,IAAIP,QACZ,GACzCc,EAAQD,EAAY,GACpBE,EAAQF,EAAY,GAGbC,GAAS,GACG,IAAVA,GAAeC,GAAS,GACb,IAAVD,GAAeC,GAAS,ICsBpC,SAASI,EAAeC,EAAQC,EAAU5G,GACxC,GAAIuG,GAAmC,qBAAVvG,EAAuB,CAClD,IAAI6G,EAAwB7G,EAAM,GAAG8G,kCAGjCC,EAAU,CACZ,2BAHQF,EAAsBG,MAI9B,oBAHSH,EAAsBI,QAKjCd,EAAetH,WAAM,EAAQ,CAAC8H,GAAQO,OAAO/D,EAAmByD,GAAW,CAAC,CAC1EG,QAASA,KAEb,MACEZ,EAAetH,WAAM,EAAQ,CAAC8H,GAAQO,OAAO/D,EAAmByD,IAEpE,CACA,MAAO,CAILO,KAAM,SAAcH,EAAOC,GACzBd,EAAe,OAAQ,CACrBa,MAAOA,EACPC,OAAQA,GAEZ,EAOAG,0BAA2B,SAAmCC,GAC5DlB,EAAe,4BAA6BkB,EAC9C,EAIAC,aAAc,SAAsBC,GAClCpB,EAAe,eAAgBoB,EACjC,EAMAC,4BAA6B,WAC3B,IAAK,IAAInJ,EAAOC,UAAUC,OAAQsH,EAAS,IAAIpH,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IACjFmH,EAAOnH,GAAQJ,UAAUI,GAEvBmH,EAAOtH,OAAS,GAClBmI,EAAe,8BAA+Bd,EAAuBC,GAASA,EAAO,GAAG7F,MAE5F,EAMAyH,iBAAkB,WAChB,IAAK,IAAIC,EAAQpJ,UAAUC,OAAQsH,EAAS,IAAIpH,MAAMiJ,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACtF9B,EAAO8B,GAASrJ,UAAUqJ,GAExB9B,EAAOtH,OAAS,GAClBmI,EAAe,mBAAoBd,EAAuBC,GAASA,EAAO,GAAG7F,MAEjF,EAMA4H,eAAgB,WACd,IAAK,IAAIC,EAAQvJ,UAAUC,OAAQsH,EAAS,IAAIpH,MAAMoJ,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACtFjC,EAAOiC,GAASxJ,UAAUwJ,GAExBjC,EAAOtH,OAAS,GAClB4H,EAAetH,WAAM,EAAQ,CAAC,kBAAkBqI,OAAOrB,GAE3D,EAMAkC,8BAA+B,WAC7B,IAAK,IAAIC,EAAQ1J,UAAUC,OAAQsH,EAAS,IAAIpH,MAAMuJ,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACtFpC,EAAOoC,GAAS3J,UAAU2J,GAExBpC,EAAOtH,OAAS,GAClBmI,EAAe,gCAAiCd,EAAuBC,GAASA,EAAO,GAAG7F,MAE9F,EAMAkI,mBAAoB,WAClB,IAAK,IAAIC,EAAQ7J,UAAUC,OAAQsH,EAAS,IAAIpH,MAAM0J,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACtFvC,EAAOuC,GAAS9J,UAAU8J,GAExBvC,EAAOtH,OAAS,GAClBmI,EAAe,qBAAsBd,EAAuBC,GAASA,EAAO,GAAG7F,MAEnF,EAMAqI,iBAAkB,WAChB,IAAK,IAAIC,EAAQhK,UAAUC,OAAQsH,EAAS,IAAIpH,MAAM6J,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACtF1C,EAAO0C,GAASjK,UAAUiK,GAExB1C,EAAOtH,OAAS,GAClB4H,EAAetH,WAAM,EAAQ,CAAC,oBAAoBqI,OAAOrB,GAE7D,EAMA2C,gBAAiB,WACf,IAAK,IAAIC,EAAQnK,UAAUC,OAAQsH,EAAS,IAAIpH,MAAMgK,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACtF7C,EAAO6C,GAASpK,UAAUoK,GAExB7C,EAAOtH,OAAS,GAClBsH,EAAO8C,QAAO,SAAUC,EAAKC,GAC3B,IAAI7I,EAAQ6I,EAAM7I,MAChB+F,EAAQvC,EAAyBqF,EAAO5F,GAC1C,MAAO,GAAGiE,OAAO/D,EAAmByF,GAAMzF,EA5JpD,SAAerD,GAGb,IAFA,IAAIgJ,EAAYxK,UAAUC,OAAS,QAAsBH,IAAjBE,UAAU,GAAmBA,UAAU,GAAK,GAChFyK,EAAS,GACJnI,EAAI,EAAGA,EAAId,EAAKkG,UAAUzH,OAAQqC,GAAKkI,EAC9CC,EAAOpH,KAAK+C,EAAcA,EAAc,CAAC,EAAG5E,GAAO,CAAC,EAAG,CACrDkG,UAAWlG,EAAKkG,UAAU1D,MAAM1B,EAAGA,EAAIkI,MAG3C,OAAOC,CACT,CAmJuEC,CAAMtE,EAAcA,EAAc,CAAC,EAAGqB,GAAQ,CAAC,EAAG,CAC7GC,WAAsB,OAAVhG,QAA4B,IAAVA,OAAmB,EAASA,EAAM8F,KAAI,SAAUmD,GAE5E,OADeA,EAAM3I,QAEvB,MAAOyF,EAAMC,aACXF,KAAI,SAAUoD,GAChB,MAAO,CACLlJ,MAAOA,EACPkJ,QAASA,EAEb,KACF,GAAG,IAAIvE,SAAQ,SAAUwE,GACvB,IAAInJ,EAAQmJ,EAAMnJ,MAElB,OAAO0G,EAAe,kBAAmB,CAD7ByC,EAAMD,SACkClJ,EACtD,GAEJ,EAMAoJ,cAAe,WACb,IAAK,IAAIC,EAAQ/K,UAAUC,OAAQsH,EAAS,IAAIpH,MAAM4K,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACtFzD,EAAOyD,GAAShL,UAAUgL,GAExBzD,EAAOtH,OAAS,GAClB4H,EAAetH,WAAM,EAAQ,CAAC,iBAAiBqI,OAAOrB,GAE1D,EAEJ,CC7MO,SAAS0D,EAAmB1J,GACjC,IACI2J,EADQ3J,EAAKG,MACY2I,QAAO,SAAUC,EAAK5J,GACjD,IAAIyK,EAEJ,OADAb,EAAI5J,EAAQkB,2BAAiG,QAAnEuJ,EAAwBb,EAAI5J,EAAQkB,iCAAiE,IAA1BuJ,EAAmCA,EAAwB,IAAIvC,OAAOlI,GACpL4J,CACT,GAAG,CAAC,GACJ,OAAOzJ,OAAOI,KAAKiK,GAAkB1D,KAAI,SAAU4D,GAEjD,MAAO,CACLzJ,MAAOyJ,EACP1J,MAHUwJ,EAAiBE,GAI3BjJ,cAAe,CAAC,gBAEpB,GACF,CCfO,SAASkJ,EAAqBC,GACnC,OAAOA,EAAItJ,UAAYsJ,EAAI1J,0BAA4B0J,EAAIpJ,sBAC7D,CCFA,SAAS,EAAQtB,GAAkC,OAAO,EAAU,mBAAqB6B,QAAU,iBAAmBA,OAAOC,SAAW,SAAU9B,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqB6B,QAAU7B,EAAIqD,cAAgBxB,QAAU7B,IAAQ6B,OAAOqB,UAAY,gBAAkBlD,CAAK,EAAG,EAAQA,EAAM,CAC/U,SAAS,EAAmByB,GAAO,OAInC,SAA4BA,GAAO,GAAIlC,MAAMoC,QAAQF,GAAM,OAAO,EAAkBA,EAAM,CAJhD,CAAmBA,IAG7D,SAA0B0C,GAAQ,GAAsB,qBAAXtC,QAAmD,MAAzBsC,EAAKtC,OAAOC,WAA2C,MAAtBqC,EAAK,cAAuB,OAAO5E,MAAMgE,KAAKY,EAAO,CAHxF,CAAiB1C,IAEtF,SAAqCqB,EAAGC,GAAU,IAAKD,EAAG,OAAQ,GAAiB,kBAANA,EAAgB,OAAO,EAAkBA,EAAGC,GAAS,IAAIE,EAAIhD,OAAOiD,UAAUC,SAASb,KAAKQ,GAAGM,MAAM,GAAI,GAAc,WAANH,GAAkBH,EAAEO,cAAaJ,EAAIH,EAAEO,YAAYC,MAAM,GAAU,QAANL,GAAqB,QAANA,EAAa,OAAO1D,MAAMgE,KAAKT,GAAI,GAAU,cAANG,GAAqB,2CAA2CO,KAAKP,GAAI,OAAO,EAAkBH,EAAGC,EAAS,CAFjU,CAA4BtB,IAC1H,WAAgC,MAAM,IAAIiC,UAAU,uIAAyI,CAD3D,EAAsB,CAKxJ,SAAS,EAAkBjC,EAAKmC,IAAkB,MAAPA,GAAeA,EAAMnC,EAAIpC,UAAQuE,EAAMnC,EAAIpC,QAAQ,IAAK,IAAIqC,EAAI,EAAGmC,EAAO,IAAItE,MAAMqE,GAAMlC,EAAIkC,EAAKlC,IAAKmC,EAAKnC,GAAKD,EAAIC,GAAI,OAAOmC,CAAM,CAClL,SAAS,EAAQoB,EAAQC,GAAkB,IAAI7E,EAAOJ,OAAOI,KAAK4E,GAAS,GAAIhF,OAAO4E,sBAAuB,CAAE,IAAIM,EAAUlF,OAAO4E,sBAAsBI,GAASC,IAAmBC,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOpF,OAAOqF,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKlF,EAAKoC,KAAK9C,MAAMU,EAAM8E,EAAU,CAAE,OAAO9E,CAAM,CACpV,SAAS,EAAcoE,GAAU,IAAK,IAAI/C,EAAI,EAAGA,EAAItC,UAAUC,OAAQqC,IAAK,CAAE,IAAI6C,EAAS,MAAQnF,UAAUsC,GAAKtC,UAAUsC,GAAK,CAAC,EAAGA,EAAI,EAAI,EAAQzB,OAAOsE,IAAS,GAAIkB,SAAQ,SAAUjF,GAAO,EAAgBiE,EAAQjE,EAAK+D,EAAO/D,GAAO,IAAKP,OAAO0F,0BAA4B1F,OAAO2F,iBAAiBnB,EAAQxE,OAAO0F,0BAA0BpB,IAAW,EAAQtE,OAAOsE,IAASkB,SAAQ,SAAUjF,GAAOP,OAAO4F,eAAepB,EAAQjE,EAAKP,OAAOqF,yBAAyBf,EAAQ/D,GAAO,GAAI,CAAE,OAAOiE,CAAQ,CACzf,SAAS,EAAgBzE,EAAKQ,EAAKkC,GAA4L,OAAnLlC,EAC5C,SAAwBsF,GAAO,IAAItF,EACnC,SAAsBuF,EAAOC,GAAQ,GAAuB,WAAnB,EAAQD,IAAiC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAMlE,OAAOqE,aAAc,QAAahH,IAAT+G,EAAoB,CAAE,IAAIE,EAAMF,EAAK3D,KAAKyD,EAAOC,GAAQ,WAAY,GAAqB,WAAjB,EAAQG,GAAmB,OAAOA,EAAK,MAAM,IAAIzC,UAAU,+CAAiD,CAAE,OAAiB,WAATsC,EAAoBI,OAASC,QAAQN,EAAQ,CADnV,CAAaD,EAAK,UAAW,MAAwB,WAAjB,EAAQtF,GAAoBA,EAAM4F,OAAO5F,EAAM,CAD1E,CAAeA,MAAiBR,EAAOC,OAAO4F,eAAe7F,EAAKQ,EAAK,CAAEkC,MAAOA,EAAO6C,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBzG,EAAIQ,GAAOkC,EAAgB1C,CAAK,CAQ3O,IACI2K,EAA2B,SAC3BC,EAAuB,gDAAgD5C,OAAO2C,EAA0B,gCACxGE,EAAsB/L,GAAS,SAAU6B,GAC3C,IAAImK,EAAgBnK,EAAKmK,cACvBhK,EAAQH,EAAKG,MACbiK,EAAWpK,EAAKoK,SAChBC,EAAQrK,EAAKqK,MACfF,EAAc,CACZC,SAAUA,EACVE,eAAgBZ,EAAmB,CACjCvJ,MAAOA,IACN8F,KAAI,SAAUsE,GACf,OAAO,EAAc,CACnBC,UAAW,gBACVD,EACL,IACAF,MAAOA,GAEX,GAnBuB,KAoBhB,SAASI,EAA4BC,GAC1C,IAAIC,EA6JN,SAAoBD,GAClB,OAAO,EAAc,CACnBP,cAAe,SAAuBS,GACpC,IAAIR,EAAWQ,EAAMR,SACnBE,EAAiBM,EAAMN,eACvBD,EAAQO,EAAMP,MAChBD,EAASzB,gBAAgB3J,MAAMoL,EAAU,EAAmBE,EAAerE,KAAI,SAAUsE,GACvF,OAAO,EAAc,EAAc,CAAC,EAAGA,GAAQ,CAAC,EAAG,CACjD3J,cAAeiK,EAAkBN,EAAM3J,cAAeyJ,EAAMS,UAEhE,KACF,EACAC,SAAU,SAAkBC,GAC1B,IAAIZ,EAAWY,EAAMZ,SACnBE,EAAiBU,EAAMV,eACvBD,EAAQW,EAAMX,MAChBD,EAASzC,4BAA4B3I,MAAMoL,EAAU,EAAmBE,EAAerE,KAAI,SAAUsE,GACnG,OAAO,EAAc,EAAc,CAAC,EAAGA,GAAQ,CAAC,EAAG,CACjD3J,cAAeiK,EAAkBN,EAAM3J,cAAeyJ,EAAMS,UAEhE,KACF,EACAG,SAAUnL,EACVoL,+BAA+B,GAC9BR,EACL,CAtLoBS,CAAWT,GAC3BU,EAAyBT,EAAYU,eACrCC,EAAqBX,EAAYW,mBACjCnB,EAAgBQ,EAAYR,cAC5BoB,EAAgBZ,EAAYI,SAC5BS,EAAgBb,EAAYM,SAC5BC,EAAgCP,EAAYO,8BAC1CG,EAAiBD,EA8BrB,GA7BKA,GC3CA,SAA4BK,GACjC,GAAsB,qBAAXC,OACFD,EAAS,CACdC,OAAQA,QAId,CDqCIC,EAAmB,SAAUvF,GAC3B,IAAIsF,EAAStF,EAAMsF,OACfE,EAAUF,EAAOG,wBAA0B,KACxB,kBAAZD,IACTP,EAAiBK,EAAOE,IAErBP,IACHK,EAAOG,uBAAyBD,EAC3BF,EAAOE,KACVF,EAAOE,GAAW,WACXF,EAAOE,GAASE,QACnBJ,EAAOE,GAASE,MAAQ,IAE1B,IAAK,IAAItN,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAEzB6M,EAAOE,GAASE,MAAMhK,KAAKnD,EAC7B,GAEF+M,EAAOE,GAASjF,QAAUqD,EAC1BqB,EAAiBK,EAAOE,GA0JhC,SAAsBG,GACpB,IAAIC,EAAe,4HACnB,IACE,IAAIC,EAASF,EAAYG,SAASC,cAAc,UAChDF,EAAOG,OAAQ,EACfH,EAAOI,IAAMpC,EACbgC,EAAOK,QAAU,WAEfC,QAAQC,MAAMR,EAChB,EACAE,SAASO,KAAKC,YAAYT,EAC5B,CAAE,MAAOU,GAEPJ,QAAQC,MAAMR,EAChB,CACF,CAxKQY,CAAalB,GAEjB,KAKGL,EACH,MAAO,CAAC,EAENC,GACFD,EAAe,OAAQ,EAAc,CACnCwB,SAAS,GACRvB,IAEL,IAAIlB,EAAW/D,EAAwBgF,GACnCyB,EAAgB7N,EAAU,IAC1B8N,EAAyB5O,GAAS,SAAU6K,GAC9C,IAAIqB,EAAQrB,EAAMqB,MAClB,GAAKA,EAAM2C,OAAX,CAGA,IAAI7M,EAAQkK,EAAM4C,YAAYnE,QAAO,SAAUC,EAAK5J,GAClD,MAAO,GAAGkI,OAAO,EAAmB0B,GAAM,EAAmB5J,EAAQgB,OACvE,GAAG,IAAIsE,OAAOqF,GACTvK,EAAQuN,EAAc3N,QAAQ8G,KAAI,SAAUzF,GAC/C,OAAOA,EAAEC,QACX,IAAIN,EAAM8F,KAAI,SAAUzF,GACtB,OAAOA,EAAEC,QACX,OACEqM,EAAc3N,QAAUgB,EACpBA,EAAMzB,OAAS,GACjBwL,EAAoB,CAClBC,cAAeA,EACfhK,MAAOA,EACPiK,SAAUA,EACVC,MAAOA,IAfb,CAmBF,GAAG,GACH,MAAO,CACL1H,KAAM,2BACNuK,UAAW,SAAmB9D,GAC5B,IAAI+D,EAAa/D,EAAM+D,WACrBpC,EAAW3B,EAAM2B,SACjBE,EAAW7B,EAAM6B,SACnB,SAASmC,EAAmB1F,GAC1ByF,EAAW,CACTE,sBAAuB,CACrBC,0BAA2B,EAAc,EAAc,CAAC,EAAGpC,EAAgC,CACzFqC,gBAAgB,GACd,CAAC,GAAI7F,EAAY,CACnBA,UAAW8F,EAAmB9F,IAC5B,CAAC,GACL0C,SAAUA,IAGhB,CACAiB,EAAe,kBAAmB,mBAClC+B,IAGA/B,EAAe,qBAAqB,SAAU3D,GAC5C0F,EAAmB1F,EACrB,IACA2D,EAAe,eAAgB,MAAM,SAAUoC,EAAQ/F,GACrD0F,EAAmB1F,EACrB,IACAqD,GAAS,SAAUzB,GACjB,IAAIrJ,EAAOqJ,EAAMrJ,KACfoK,EAAQf,EAAMe,MACdE,EAAQjB,EAAMiB,MACd3G,EAAS0F,EAAM1F,OACZkG,EAAqB7J,IAG1BsL,EAAc,CACZlB,MAAOA,EACPE,MAAOA,EACPH,SAAUA,EACVnK,KAAMA,EACNqK,eAAgB,CAAC,EAAc,CAC7BE,UAAW,iBACVzK,EAAmB,CACpBE,KAAMA,EACNE,MAAOyD,EAAO8J,WAAWjJ,OAAOqF,QAGtC,IACAmB,GAAS,SAAU0C,GACjB,IAAI1N,EAAO0N,EAAM1N,KACf2D,EAAS+J,EAAM/J,OACfyG,EAAQsD,EAAMtD,MACdE,EAAQoD,EAAMpD,MACXT,EAAqB7J,IAG1BuL,EAAc,CACZnB,MAAOA,EACPE,MAAOA,EACPH,SAAUA,EACVnK,KAAMA,EACNqK,eAAgB,CAAC,EAAc,CAC7BE,UAAW,eACVzK,EAAmB,CACpBE,KAAMA,EACNE,MAAOyD,EAAO8J,WAAWjJ,OAAOqF,QAGtC,GACF,EACA8D,cAAe,SAAuBC,GACpC,IAAIxD,EAAQwD,EAAMxD,MAClB0C,EAAuB,CACrB1C,MAAOA,GAEX,EACAyD,6BAA8BpD,EAElC,CACA,SAASG,IACP,IAAIkD,EAEAjD,EAAUrM,UAAUC,OAAS,EAAID,UAAU,QAAKF,EACpD,MAAO,GAAG8I,OAAO,EAFO5I,UAAUC,OAAS,QAAsBH,IAAjBE,UAAU,GAAmBA,UAAU,GAAK,IAEpC,CAAC,yBAA0B,EAA+E,QAA3DsP,EAAwBjD,EAAQuC,6BAA6D,IAA1BU,GAAoCA,EAAsBC,oBAAsB,CAAC,0BAA4B,IACzR,CAgDA,SAASR,EAAmB9F,GAC1B,MAA4B,kBAAdA,EAAyBA,EAAUlF,WAAakF,CAChE,CEpPA,SAAS,EAAQrI,GAAkC,OAAO,EAAU,mBAAqB6B,QAAU,iBAAmBA,OAAOC,SAAW,SAAU9B,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqB6B,QAAU7B,EAAIqD,cAAgBxB,QAAU7B,IAAQ6B,OAAOqB,UAAY,gBAAkBlD,CAAK,EAAG,EAAQA,EAAM,CAC/U,SAAS,EAAQiF,EAAQC,GAAkB,IAAI7E,EAAOJ,OAAOI,KAAK4E,GAAS,GAAIhF,OAAO4E,sBAAuB,CAAE,IAAIM,EAAUlF,OAAO4E,sBAAsBI,GAASC,IAAmBC,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOpF,OAAOqF,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKlF,EAAKoC,KAAK9C,MAAMU,EAAM8E,EAAU,CAAE,OAAO9E,CAAM,CAEpV,SAAS,EAAgBL,EAAKQ,EAAKkC,GAA4L,OAAnLlC,EAC5C,SAAwBsF,GAAO,IAAItF,EACnC,SAAsBuF,EAAOC,GAAQ,GAAuB,WAAnB,EAAQD,IAAiC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAMlE,OAAOqE,aAAc,QAAahH,IAAT+G,EAAoB,CAAE,IAAIE,EAAMF,EAAK3D,KAAKyD,EAAOC,GAAQ,WAAY,GAAqB,WAAjB,EAAQG,GAAmB,OAAOA,EAAK,MAAM,IAAIzC,UAAU,+CAAiD,CAAE,OAAiB,WAATsC,EAAoBI,OAASC,QAAQN,EAAQ,CADnV,CAAaD,EAAK,UAAW,MAAwB,WAAjB,EAAQtF,GAAoBA,EAAM4F,OAAO5F,EAAM,CAD1E,CAAeA,MAAiBR,EAAOC,OAAO4F,eAAe7F,EAAKQ,EAAK,CAAEkC,MAAOA,EAAO6C,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBzG,EAAIQ,GAAOkC,EAAgB1C,CAAK,CAIpO,SAAS4O,EAAYC,EAASC,EAAOC,GAC1C,ICPIC,EDOAhE,EAAQ8D,EAAMG,aAClB,MAAO,CACLC,SAAU,WACR,OAAOlE,CACT,EACAmE,SAAU,SAAkBC,EAAQpF,GAClC,IAAIqF,EAZV,SAAuB5K,GAAU,IAAK,IAAI/C,EAAI,EAAGA,EAAItC,UAAUC,OAAQqC,IAAK,CAAE,IAAI6C,EAAS,MAAQnF,UAAUsC,GAAKtC,UAAUsC,GAAK,CAAC,EAAGA,EAAI,EAAI,EAAQzB,OAAOsE,IAAS,GAAIkB,SAAQ,SAAUjF,GAAO,EAAgBiE,EAAQjE,EAAK+D,EAAO/D,GAAO,IAAKP,OAAO0F,0BAA4B1F,OAAO2F,iBAAiBnB,EAAQxE,OAAO0F,0BAA0BpB,IAAW,EAAQtE,OAAOsE,IAASkB,SAAQ,SAAUjF,GAAOP,OAAO4F,eAAepB,EAAQjE,EAAKP,OAAOqF,yBAAyBf,EAAQ/D,GAAO,GAAI,CAAE,OAAOiE,CAAQ,CAYne,CAAc,CAAC,EAAGuG,GAClCA,EAAQ6D,EAAQ7D,EAAO,CACrBsE,KAAMF,EACNN,MAAOA,EACP9E,QAASA,IAEX+E,EAAmB,CACjB/D,MAAOA,EACPqE,UAAWA,GAEf,EACAE,iBCxBEP,EAAO,GACJ,CACLQ,IAAK,SAAaC,GAEhB,OADAT,EAAKvM,KAAKgN,GACHA,EAAkBC,SAAQ,WAC/BV,EAAOA,EAAK5J,QAAO,SAAUxE,GAC3B,OAAOA,IAAS6O,CAClB,GACF,GACF,EACAE,UAAW,WACTX,EAAKvJ,SAAQ,SAAUmK,GACrB,OAAOA,EAAQC,QACjB,GACF,EACAC,QAAS,WACP,OAAuB,IAAhBd,EAAK3P,MACd,IDSJ,CE3BO,SAAS0Q,EAAQC,GACtB,OAAOA,EAAOvG,QAAO,SAAUwG,EAAGC,GAChC,OAAOD,EAAEjI,OAAOkI,EAClB,GAAG,GACL,CCJA,SAAS,EAAQlQ,GAAkC,OAAO,EAAU,mBAAqB6B,QAAU,iBAAmBA,OAAOC,SAAW,SAAU9B,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqB6B,QAAU7B,EAAIqD,cAAgBxB,QAAU7B,IAAQ6B,OAAOqB,UAAY,gBAAkBlD,CAAK,EAAG,EAAQA,EAAM,CAC/U,SAAS,EAAQiF,EAAQC,GAAkB,IAAI7E,EAAOJ,OAAOI,KAAK4E,GAAS,GAAIhF,OAAO4E,sBAAuB,CAAE,IAAIM,EAAUlF,OAAO4E,sBAAsBI,GAASC,IAAmBC,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOpF,OAAOqF,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKlF,EAAKoC,KAAK9C,MAAMU,EAAM8E,EAAU,CAAE,OAAO9E,CAAM,CACpV,SAAS,EAAcoE,GAAU,IAAK,IAAI/C,EAAI,EAAGA,EAAItC,UAAUC,OAAQqC,IAAK,CAAE,IAAI6C,EAAS,MAAQnF,UAAUsC,GAAKtC,UAAUsC,GAAK,CAAC,EAAGA,EAAI,EAAI,EAAQzB,OAAOsE,IAAS,GAAIkB,SAAQ,SAAUjF,GAAO,EAAgBiE,EAAQjE,EAAK+D,EAAO/D,GAAO,IAAKP,OAAO0F,0BAA4B1F,OAAO2F,iBAAiBnB,EAAQxE,OAAO0F,0BAA0BpB,IAAW,EAAQtE,OAAOsE,IAASkB,SAAQ,SAAUjF,GAAOP,OAAO4F,eAAepB,EAAQjE,EAAKP,OAAOqF,yBAAyBf,EAAQ/D,GAAO,GAAI,CAAE,OAAOiE,CAAQ,CACzf,SAAS,EAAgBzE,EAAKQ,EAAKkC,GAA4L,OAAnLlC,EAC5C,SAAwBsF,GAAO,IAAItF,EACnC,SAAsBuF,EAAOC,GAAQ,GAAuB,WAAnB,EAAQD,IAAiC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAMlE,OAAOqE,aAAc,QAAahH,IAAT+G,EAAoB,CAAE,IAAIE,EAAMF,EAAK3D,KAAKyD,EAAOC,GAAQ,WAAY,GAAqB,WAAjB,EAAQG,GAAmB,OAAOA,EAAK,MAAM,IAAIzC,UAAU,+CAAiD,CAAE,OAAiB,WAATsC,EAAoBI,OAASC,QAAQN,EAAQ,CADnV,CAAaD,EAAK,UAAW,MAAwB,WAAjB,EAAQtF,GAAoBA,EAAM4F,OAAO5F,EAAM,CAD1E,CAAeA,MAAiBR,EAAOC,OAAO4F,eAAe7F,EAAKQ,EAAK,CAAEkC,MAAOA,EAAO6C,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBzG,EAAIQ,GAAOkC,EAAgB1C,CAAK,CCHpO,SAASmQ,EAAcnF,GAC5B,OAAiC,IAA7BA,EAAM4C,YAAYvO,OACb,EAEF2L,EAAM4C,YAAYnE,QAAO,SAAU2G,EAAKC,GAC7C,OAAOD,EAAMC,EAAWvP,MAAMzB,MAChC,GAAG,EACL,CCPA,IAAIiR,EAAiB,EACd,SAASC,IACd,MAAO,gBAAgBvI,OAAOsI,IAChC,CCHA,SAAS,EAAQrL,EAAQC,GAAkB,IAAI7E,EAAOJ,OAAOI,KAAK4E,GAAS,GAAIhF,OAAO4E,sBAAuB,CAAE,IAAIM,EAAUlF,OAAO4E,sBAAsBI,GAASC,IAAmBC,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOpF,OAAOqF,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKlF,EAAKoC,KAAK9C,MAAMU,EAAM8E,EAAU,CAAE,OAAO9E,CAAM,CACpV,SAAS,EAAcoE,GAAU,IAAK,IAAI/C,EAAI,EAAGA,EAAItC,UAAUC,OAAQqC,IAAK,CAAE,IAAI6C,EAAS,MAAQnF,UAAUsC,GAAKtC,UAAUsC,GAAK,CAAC,EAAGA,EAAI,EAAI,EAAQzB,OAAOsE,IAAS,GAAIkB,SAAQ,SAAUjF,GAAO,EAAgBiE,EAAQjE,EAAK+D,EAAO/D,GAAO,IAAKP,OAAO0F,0BAA4B1F,OAAO2F,iBAAiBnB,EAAQxE,OAAO0F,0BAA0BpB,IAAW,EAAQtE,OAAOsE,IAASkB,SAAQ,SAAUjF,GAAOP,OAAO4F,eAAepB,EAAQjE,EAAKP,OAAOqF,yBAAyBf,EAAQ/D,GAAO,GAAI,CAAE,OAAOiE,CAAQ,CACzf,SAAS,EAAgBzE,EAAKQ,EAAKkC,GAA4L,OAAnLlC,EAC5C,SAAwBsF,GAAO,IAAItF,EACnC,SAAsBuF,EAAOC,GAAQ,GAAuB,WAAnB,EAAQD,IAAiC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAMlE,OAAOqE,aAAc,QAAahH,IAAT+G,EAAoB,CAAE,IAAIE,EAAMF,EAAK3D,KAAKyD,EAAOC,GAAQ,WAAY,GAAqB,WAAjB,EAAQG,GAAmB,OAAOA,EAAK,MAAM,IAAIzC,UAAU,+CAAiD,CAAE,OAAiB,WAATsC,EAAoBI,OAASC,QAAQN,EAAQ,CADnV,CAAaD,EAAK,UAAW,MAAwB,WAAjB,EAAQtF,GAAoBA,EAAM4F,OAAO5F,EAAM,CAD1E,CAAeA,MAAiBR,EAAOC,OAAO4F,eAAe7F,EAAKQ,EAAK,CAAEkC,MAAOA,EAAO6C,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBzG,EAAIQ,GAAOkC,EAAgB1C,CAAK,CAG3O,SAAS,EAAQA,GAAkC,OAAO,EAAU,mBAAqB6B,QAAU,iBAAmBA,OAAOC,SAAW,SAAU9B,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqB6B,QAAU7B,EAAIqD,cAAgBxB,QAAU7B,IAAQ6B,OAAOqB,UAAY,gBAAkBlD,CAAK,EAAG,EAAQA,EAAM,CCL/U,SAAS,EAAQA,GAAkC,OAAO,EAAU,mBAAqB6B,QAAU,iBAAmBA,OAAOC,SAAW,SAAU9B,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqB6B,QAAU7B,EAAIqD,cAAgBxB,QAAU7B,IAAQ6B,OAAOqB,UAAY,gBAAkBlD,CAAK,EAAG,EAAQA,EAAM,CAC/U,SAAS,EAAmByB,GAAO,OAInC,SAA4BA,GAAO,GAAIlC,MAAMoC,QAAQF,GAAM,OAAO,GAAkBA,EAAM,CAJhD,CAAmBA,IAG7D,SAA0B0C,GAAQ,GAAsB,qBAAXtC,QAAmD,MAAzBsC,EAAKtC,OAAOC,WAA2C,MAAtBqC,EAAK,cAAuB,OAAO5E,MAAMgE,KAAKY,EAAO,CAHxF,CAAiB1C,IAEtF,SAAqCqB,EAAGC,GAAU,IAAKD,EAAG,OAAQ,GAAiB,kBAANA,EAAgB,OAAO,GAAkBA,EAAGC,GAAS,IAAIE,EAAIhD,OAAOiD,UAAUC,SAASb,KAAKQ,GAAGM,MAAM,GAAI,GAAc,WAANH,GAAkBH,EAAEO,cAAaJ,EAAIH,EAAEO,YAAYC,MAAM,GAAU,QAANL,GAAqB,QAANA,EAAa,OAAO1D,MAAMgE,KAAKT,GAAI,GAAU,cAANG,GAAqB,2CAA2CO,KAAKP,GAAI,OAAO,GAAkBH,EAAGC,EAAS,CAFjU,CAA4BtB,IAC1H,WAAgC,MAAM,IAAIiC,UAAU,uIAAyI,CAD3D,EAAsB,CAKxJ,SAAS,GAAkBjC,EAAKmC,IAAkB,MAAPA,GAAeA,EAAMnC,EAAIpC,UAAQuE,EAAMnC,EAAIpC,QAAQ,IAAK,IAAIqC,EAAI,EAAGmC,EAAO,IAAItE,MAAMqE,GAAMlC,EAAIkC,EAAKlC,IAAKmC,EAAKnC,GAAKD,EAAIC,GAAI,OAAOmC,CAAM,CAClL,SAAS,GAAQoB,EAAQC,GAAkB,IAAI7E,EAAOJ,OAAOI,KAAK4E,GAAS,GAAIhF,OAAO4E,sBAAuB,CAAE,IAAIM,EAAUlF,OAAO4E,sBAAsBI,GAASC,IAAmBC,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOpF,OAAOqF,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKlF,EAAKoC,KAAK9C,MAAMU,EAAM8E,EAAU,CAAE,OAAO9E,CAAM,CACpV,SAAS,GAAcoE,GAAU,IAAK,IAAI/C,EAAI,EAAGA,EAAItC,UAAUC,OAAQqC,IAAK,CAAE,IAAI6C,EAAS,MAAQnF,UAAUsC,GAAKtC,UAAUsC,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQzB,OAAOsE,IAAS,GAAIkB,SAAQ,SAAUjF,GAAO,GAAgBiE,EAAQjE,EAAK+D,EAAO/D,GAAO,IAAKP,OAAO0F,0BAA4B1F,OAAO2F,iBAAiBnB,EAAQxE,OAAO0F,0BAA0BpB,IAAW,GAAQtE,OAAOsE,IAASkB,SAAQ,SAAUjF,GAAOP,OAAO4F,eAAepB,EAAQjE,EAAKP,OAAOqF,yBAAyBf,EAAQ/D,GAAO,GAAI,CAAE,OAAOiE,CAAQ,CACzf,SAAS,GAAgBzE,EAAKQ,EAAKkC,GAA4L,OAAnLlC,EAC5C,SAAwBsF,GAAO,IAAItF,EACnC,SAAsBuF,EAAOC,GAAQ,GAAuB,WAAnB,EAAQD,IAAiC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAMlE,OAAOqE,aAAc,QAAahH,IAAT+G,EAAoB,CAAE,IAAIE,EAAMF,EAAK3D,KAAKyD,EAAOC,GAAQ,WAAY,GAAqB,WAAjB,EAAQG,GAAmB,OAAOA,EAAK,MAAM,IAAIzC,UAAU,+CAAiD,CAAE,OAAiB,WAATsC,EAAoBI,OAASC,QAAQN,EAAQ,CADnV,CAAaD,EAAK,UAAW,MAAwB,WAAjB,EAAQtF,GAAoBA,EAAM4F,OAAO5F,EAAM,CAD1E,CAAeA,MAAiBR,EAAOC,OAAO4F,eAAe7F,EAAKQ,EAAK,CAAEkC,MAAOA,EAAO6C,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBzG,EAAIQ,GAAOkC,EAAgB1C,CAAK,CAKpO,SAASwQ,GAAgB1B,EAAO2B,GACrC,IAAIC,EAEAhE,EAAgC,qBAAXL,OAAyBA,OAAS,CAAC,EAExDsE,EAAU7B,EAAM6B,SAAW,GAC/B,OAAO,GAAc,GAAc,CACjCC,OAAO,EACPC,aAAa,EACbC,kBAAc5R,EACd6R,yBAAyB,EACzBC,YAAa,GACbC,WAAW,EACXC,oBAAqB,KACrBC,eAAgB,IAChBpG,cAAU7L,EACVwN,YAAaA,EACb0E,gBAAiB,SAAyBzQ,GAExC,OAAOwP,EADKxP,EAAKqK,OACa,CAChC,EACAqG,QAAS,SAAiBtK,GAExB,OADcA,EAAMuK,OAEtB,GACCxC,GAAQ,CAAC,EAAG,CAGbyC,GAA+B,QAA1Bb,EAAY5B,EAAMyC,UAA8B,IAAdb,EAAuBA,EAAYH,IAC1EI,QAASA,EAET1B,aAAc,GAAc,CAC1BuC,aAAc,KACdC,MAAO,GACPC,WAAY,KACZ9D,YAAa,GACbD,QAAQ,EACRgE,OAAQ,OACRlG,QAAS,CAAC,GACTqD,EAAMG,cACTV,cAAe,SAAuB5H,GACpC,IAAIiL,EAC6C,QAAhDA,EAAuB9C,EAAMP,qBAAoD,IAAzBqD,GAA2CA,EAAqBtP,KAAKwM,EAAOnI,GACrIgK,EAAQlL,SAAQ,SAAUtE,GACxB,IAAI0Q,EACJ,OAAgD,QAAxCA,EAAmB1Q,EAAEoN,qBAAgD,IAArBsD,OAA8B,EAASA,EAAiBvP,KAAKnB,EAAGwF,EAC1H,GACF,EACAmL,SAAU,SAAkBnL,GAC1B,IAAIoL,EACmC,QAAtCA,EAAkBjD,EAAMgD,gBAA0C,IAApBC,GAAsCA,EAAgBzP,KAAKwM,EAAOnI,GACjHgK,EAAQlL,SAAQ,SAAUtE,GACxB,IAAI6Q,EACJ,OAAsC,QAA9BA,EAAc7Q,EAAE2Q,gBAAsC,IAAhBE,OAAyB,EAASA,EAAY1P,KAAKnB,EAAGwF,EACtG,GACF,EACAsL,QAAS,SAAiBtL,GACxB,IAAIuL,EACiC,QAApCA,EAAiBpD,EAAMmD,eAAwC,IAAnBC,GAAqCA,EAAe5P,KAAKwM,EAAOnI,GAC7GgK,EAAQlL,SAAQ,SAAUtE,GACxB,IAAIgR,EACJ,OAAoC,QAA5BA,EAAahR,EAAE8Q,eAAoC,IAAfE,OAAwB,EAASA,EAAW7P,KAAKnB,EAAGwF,EAClG,GACF,EACAyL,WAAY,SAAoBzL,GAC9B,OAAO0L,QAAQC,IAAI,GAAGtK,OAAO,EAAmB2I,EAAQ/J,KAAI,SAAU2L,GACpE,OAAOA,EAAOH,UAChB,KAAK,CAACtD,EAAMsD,aAAahN,OAAOoN,SAAS5L,KAAI,SAAUwL,GACrD,OD3ED,SAA8BA,EAAYzL,GAC/C,IAAI8L,EAAgB,GACpB,OAAOJ,QAAQK,QAAQN,EAAWzL,IAASgM,MAAK,SAAUrB,GAIxD,OAHU/R,MAAMoC,QAAQ2P,GAGjBe,QAAQC,IAAIhB,EAIlBlM,QAAO,SAAUwN,GAChB,OAAOJ,QAAQI,EACjB,IAAGhM,KAAI,SAAUrC,GAEf,GADiBA,EAAOsO,SACpBJ,EAAcK,SAASvO,EAAOsO,UAChC,MAAM,IAAIE,MAAM,iCAAiC/K,OAAOgL,KAAKC,UAAU1O,EAAOsO,UAAW,oBAE3FJ,EAAchQ,KAAK8B,EAAOsO,UAC1B,IAAIK,EAAgB,CAClBC,kBAAmB,SAA2BxS,GAE5C,OADYA,EAAKqK,MACJyG,KACf,EACA2B,WAAY,WAEZ,EACA1H,SAAU,SAAkB3E,IAE1BsM,EADgBtM,EAAMsM,YACZ,EACZ,EACAzH,SAAUnL,EACV6S,UAAW7S,GAEbR,OAAOI,KAAK6S,GAAezN,SAAQ,SAAUjF,GAC3C0S,EAAc1S,GAAK+S,WAAY,CACjC,IACA,IAAIC,EAAmB,EAAc,EAAc,CAAC,EAAGN,GAAgB3O,GACvE,OAAO8N,QAAQK,QAAQc,EACzB,IACF,GACF,CCmCeC,CAAqBrB,EAAYzL,EAC1C,KAAIgM,MAAK,SAAUe,GACjB,OAAO3D,EAAQ2D,EACjB,IAAGf,MAAK,SAAUrB,GAChB,OAAOA,EAAQ1K,KAAI,SAAUrC,GAC3B,OAAO,GAAc,GAAc,CAAC,EAAGA,GAAS,CAAC,EAAG,CAClDmH,SAAU,SAAkB/E,GAC1BpC,EAAOmH,SAAS/E,GAChB8J,EAAkBhL,SAAQ,SAAUtE,GAClC,IAAIwS,EACJ,OAAsC,QAA9BA,EAAcxS,EAAEuK,gBAAsC,IAAhBiI,OAAyB,EAASA,EAAYrR,KAAKnB,EAAGwF,EACtG,GACF,EACAiF,SAAU,SAAkBjF,GAC1BpC,EAAOqH,SAASjF,GAChB8J,EAAkBhL,SAAQ,SAAUtE,GAClC,IAAIyS,EACJ,OAAsC,QAA9BA,EAAczS,EAAEyK,gBAAsC,IAAhBgI,OAAyB,EAASA,EAAYtR,KAAKnB,EAAGwF,EACtG,GACF,EACA2M,UAAW,SAAmB3M,GAC5BpC,EAAO+O,UAAU3M,GACjB8J,EAAkBhL,SAAQ,SAAUtE,GAClC,IAAI0S,EACJ,OAAwC,QAAhCA,EAAe1S,EAAEmS,iBAAwC,IAAjBO,OAA0B,EAASA,EAAavR,KAAKnB,EAAGwF,EAC1G,GACF,GAEJ,GACF,GACF,EACAmN,UAAW,GAAc,CACvBC,SAAU,SAAkBpK,GAC1B,IAAIqK,EAAUrK,EAAMqK,QACpBtH,EAAYuH,SAASC,OAAOF,EAC9B,EACAG,eAAgB,SAAwBpK,GACtC,IAAIiK,EAAUjK,EAAMiK,QAChBI,EAAkB1H,EAAY2H,KAAKL,EAAS,SAAU,YACtC,OAApBI,QAAgD,IAApBA,GAAsCA,EAAgBE,OACpF,EACAC,kBAAmB,SAA2BtK,GAC5C,IAAI+J,EAAU/J,EAAM+J,QACpBtH,EAAY2H,KAAKL,EAAS,SAAU,WACtC,GACClF,EAAMgF,YAEb,CCjIA,SAAS,GAAQ9T,GAAkC,OAAO,GAAU,mBAAqB6B,QAAU,iBAAmBA,OAAOC,SAAW,SAAU9B,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqB6B,QAAU7B,EAAIqD,cAAgBxB,QAAU7B,IAAQ6B,OAAOqB,UAAY,gBAAkBlD,CAAK,EAAG,GAAQA,EAAM,CAC/U,SAAS,GAAQiF,EAAQC,GAAkB,IAAI7E,EAAOJ,OAAOI,KAAK4E,GAAS,GAAIhF,OAAO4E,sBAAuB,CAAE,IAAIM,EAAUlF,OAAO4E,sBAAsBI,GAASC,IAAmBC,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOpF,OAAOqF,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKlF,EAAKoC,KAAK9C,MAAMU,EAAM8E,EAAU,CAAE,OAAO9E,CAAM,CACpV,SAAS,GAAcoE,GAAU,IAAK,IAAI/C,EAAI,EAAGA,EAAItC,UAAUC,OAAQqC,IAAK,CAAE,IAAI6C,EAAS,MAAQnF,UAAUsC,GAAKtC,UAAUsC,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQzB,OAAOsE,IAAS,GAAIkB,SAAQ,SAAUjF,GAAO,GAAgBiE,EAAQjE,EAAK+D,EAAO/D,GAAO,IAAKP,OAAO0F,0BAA4B1F,OAAO2F,iBAAiBnB,EAAQxE,OAAO0F,0BAA0BpB,IAAW,GAAQtE,OAAOsE,IAASkB,SAAQ,SAAUjF,GAAOP,OAAO4F,eAAepB,EAAQjE,EAAKP,OAAOqF,yBAAyBf,EAAQ/D,GAAO,GAAI,CAAE,OAAOiE,CAAQ,CACzf,SAAS,GAAgBzE,EAAKQ,EAAKkC,GAA4L,OAAnLlC,EAC5C,SAAwBsF,GAAO,IAAItF,EACnC,SAAsBuF,EAAOC,GAAQ,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAMlE,OAAOqE,aAAc,QAAahH,IAAT+G,EAAoB,CAAE,IAAIE,EAAMF,EAAK3D,KAAKyD,EAAOC,GAAQ,WAAY,GAAqB,WAAjB,GAAQG,GAAmB,OAAOA,EAAK,MAAM,IAAIzC,UAAU,+CAAiD,CAAE,OAAiB,WAATsC,EAAoBI,OAASC,QAAQN,EAAQ,CADnV,CAAaD,EAAK,UAAW,MAAwB,WAAjB,GAAQtF,GAAoBA,EAAM4F,OAAO5F,EAAM,CAD1E,CAAeA,MAAiBR,EAAOC,OAAO4F,eAAe7F,EAAKQ,EAAK,CAAEkC,MAAOA,EAAO6C,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBzG,EAAIQ,GAAOkC,EAAgB1C,CAAK,CCH3O,SAAS,GAAQA,GAAkC,OAAO,GAAU,mBAAqB6B,QAAU,iBAAmBA,OAAOC,SAAW,SAAU9B,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqB6B,QAAU7B,EAAIqD,cAAgBxB,QAAU7B,IAAQ6B,OAAOqB,UAAY,gBAAkBlD,CAAK,EAAG,GAAQA,EAAM,CAC/U,SAAS,GAAQiF,EAAQC,GAAkB,IAAI7E,EAAOJ,OAAOI,KAAK4E,GAAS,GAAIhF,OAAO4E,sBAAuB,CAAE,IAAIM,EAAUlF,OAAO4E,sBAAsBI,GAASC,IAAmBC,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOpF,OAAOqF,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKlF,EAAKoC,KAAK9C,MAAMU,EAAM8E,EAAU,CAAE,OAAO9E,CAAM,CACpV,SAAS,GAAcoE,GAAU,IAAK,IAAI/C,EAAI,EAAGA,EAAItC,UAAUC,OAAQqC,IAAK,CAAE,IAAI6C,EAAS,MAAQnF,UAAUsC,GAAKtC,UAAUsC,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQzB,OAAOsE,IAAS,GAAIkB,SAAQ,SAAUjF,GAAO,GAAgBiE,EAAQjE,EAAK+D,EAAO/D,GAAO,IAAKP,OAAO0F,0BAA4B1F,OAAO2F,iBAAiBnB,EAAQxE,OAAO0F,0BAA0BpB,IAAW,GAAQtE,OAAOsE,IAASkB,SAAQ,SAAUjF,GAAOP,OAAO4F,eAAepB,EAAQjE,EAAKP,OAAOqF,yBAAyBf,EAAQ/D,GAAO,GAAI,CAAE,OAAOiE,CAAQ,CACzf,SAAS,GAAgBzE,EAAKQ,EAAKkC,GAA4L,OAAnLlC,EAC5C,SAAwBsF,GAAO,IAAItF,EACnC,SAAsBuF,EAAOC,GAAQ,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAMlE,OAAOqE,aAAc,QAAahH,IAAT+G,EAAoB,CAAE,IAAIE,EAAMF,EAAK3D,KAAKyD,EAAOC,GAAQ,WAAY,GAAqB,WAAjB,GAAQG,GAAmB,OAAOA,EAAK,MAAM,IAAIzC,UAAU,+CAAiD,CAAE,OAAiB,WAATsC,EAAoBI,OAASC,QAAQN,EAAQ,CADnV,CAAaD,EAAK,UAAW,MAAwB,WAAjB,GAAQtF,GAAoBA,EAAM4F,OAAO5F,EAAM,CAD1E,CAAeA,MAAiBR,EAAOC,OAAO4F,eAAe7F,EAAKQ,EAAK,CAAEkC,MAAOA,EAAO6C,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBzG,EAAIQ,GAAOkC,EAAgB1C,CAAK,CAG3O,SAAS,GAAmByB,GAAO,OAInC,SAA4BA,GAAO,GAAIlC,MAAMoC,QAAQF,GAAM,OAAO,GAAkBA,EAAM,CAJhD,CAAmBA,IAG7D,SAA0B0C,GAAQ,GAAsB,qBAAXtC,QAAmD,MAAzBsC,EAAKtC,OAAOC,WAA2C,MAAtBqC,EAAK,cAAuB,OAAO5E,MAAMgE,KAAKY,EAAO,CAHxF,CAAiB1C,IAEtF,SAAqCqB,EAAGC,GAAU,IAAKD,EAAG,OAAQ,GAAiB,kBAANA,EAAgB,OAAO,GAAkBA,EAAGC,GAAS,IAAIE,EAAIhD,OAAOiD,UAAUC,SAASb,KAAKQ,GAAGM,MAAM,GAAI,GAAc,WAANH,GAAkBH,EAAEO,cAAaJ,EAAIH,EAAEO,YAAYC,MAAM,GAAU,QAANL,GAAqB,QAANA,EAAa,OAAO1D,MAAMgE,KAAKT,GAAI,GAAU,cAANG,GAAqB,2CAA2CO,KAAKP,GAAI,OAAO,GAAkBH,EAAGC,EAAS,CAFjU,CAA4BtB,IAC1H,WAAgC,MAAM,IAAIiC,UAAU,uIAAyI,CAD3D,EAAsB,CAKxJ,SAAS,GAAkBjC,EAAKmC,IAAkB,MAAPA,GAAeA,EAAMnC,EAAIpC,UAAQuE,EAAMnC,EAAIpC,QAAQ,IAAK,IAAIqC,EAAI,EAAGmC,EAAO,IAAItE,MAAMqE,GAAMlC,EAAIkC,EAAKlC,IAAKmC,EAAKnC,GAAKD,EAAIC,GAAI,OAAOmC,CAAM,CAGlL,SAAS2Q,GAAc5T,GACrB,OAAO4R,QAAQ5R,EAAK6T,QACtB,CAIO,SAASC,GAAWC,EAAoB9B,EAAU7H,GACvD,GAJ8B4J,EAIHD,EAHpBnC,QAAwB,OAAhBoC,QAAwC,IAAhBA,OAAyB,EAASA,EAAYH,SAGrC,CAC9C,IAAII,EAAuD,YAAnCF,EAAmBG,YAA4B7U,OAAOiU,OAAOvU,MAAMM,OAAQ,CAAC,CAAC,GAAG+H,OAAO,GAAmB/H,OAAOI,KAAK2K,EAAMS,SAAS7E,KAAI,SAAUpG,GACzK,IAAIuU,EACJ,OAAqD,QAA7CA,EAAqB/J,EAAMS,QAAQjL,UAAyC,IAAvBuU,OAAgC,EAASA,EAAmB9G,yBAC3H,OAAQ,CAAC,EACT,OAAO,GAAc,GAAc,CAAC,EAAG0G,GAAqB,CAAC,EAAG,CAC9DK,SAAUL,EAAmBM,QAAQrO,KAAI,SAAU6K,GACjD,MAAO,CACLA,MAA0C,YAAnCkD,EAAmBG,YAA4B,GAAc,GAAc,CAAC,EAAGrD,GAAQ,CAAC,EAAG,CAChG9K,OAAQ,GAAc,GAAc,CAAC,EAAGkO,GAAoBpD,EAAM9K,UAC/D8K,EACLoB,SAAUA,EACVqC,kBAAmBP,EAAmBO,kBAE1C,KAEJ,CApBF,IAAgCN,EAqB9B,MAAO,CACL9T,MAAO6T,EACP9B,SAAUA,EAEd,CACO,SAASH,GAAQ5R,GACtB,IA0BIkP,EA1BSlP,EAAM2I,QAAO,SAAUC,EAAK5J,GACvC,IAAK0U,GAAc1U,GAEjB,OADA4J,EAAIjH,KAAK3C,GACF4J,EAET,IAAIyL,EAAerV,EAAQqV,aACzBV,EAAU3U,EAAQ2U,QAClBK,EAAchV,EAAQgV,YACtBE,EAAWlV,EAAQkV,SACjBI,EAAY1L,EAAI2L,MAAK,SAAUzU,GACjC,OAAO4T,GAAc1U,IAAY0U,GAAc5T,IAASA,EAAKuU,eAAiBA,GAAgB3C,QAAQsC,IAAgBlU,EAAKkU,cAAgBA,CAC7I,IACA,GAAIM,EAAW,CACb,IAAIE,GACHA,EAAmBF,EAAUtU,OAAO2B,KAAK9C,MAAM2V,EAAkB,GAAmBN,GACvF,KAAO,CACL,IAAIO,EAAU,CACZd,QAASA,EACTK,YAAaA,EACbhU,MAAOkU,EACPG,aAAcA,GAEhBzL,EAAIjH,KAAK8S,EACX,CACA,OAAO7L,CACT,GAAG,IACiB9C,KAAI,SAAU4O,GAChC,IAAKhB,GAAcgB,GACjB,OAAOnD,QAAQK,QAAQ8C,GAEzB,IAAI7U,EAAO6U,EACTf,EAAU9T,EAAK8T,QACf3T,EAAQH,EAAKG,MAEf,OAAO2T,EAAQ,CACbU,aAFexU,EAAKwU,aAGpBH,SAAUlU,GAEd,IACA,OAAOuR,QAAQC,IAAItC,GAAQ2C,MAAK,SAAU8C,GACxC,OAAO1F,EAAQ0F,EACjB,GACF,CACO,SAASC,GAAYD,EAAWnE,EAASqE,GAC9C,OAAOrE,EAAQ1K,KAAI,SAAUrC,GAC3B,ICzFiCqR,EDyF7BC,EAAUJ,EAAUrQ,QAAO,SAAU0Q,GACvC,OAAOA,EAASjD,WAAatO,EAAOsO,QACtC,IACIkD,EAAUF,EAAQjP,KAAI,SAAUG,GAElC,OADYA,EAAMjG,KAEpB,IACIkV,EAAYH,EAAQ,GAAGX,kBACvBpU,EAAQkV,EAAYA,EChGnB,CACLD,QAFiCH,EDiGsBG,EC9FvDE,KAAML,EAAWhP,KAAI,SAAUsP,GAC7B,OAAOA,EAAOD,IAChB,IAAG7Q,OAAOoN,SACV2D,UAAWP,EAAWhP,KAAI,SAAUsP,GAClC,IAAIE,EACJ,OAA2C,QAAnCA,EAAaF,EAAOC,iBAAsC,IAAfC,OAAwB,EAASA,EAAWxP,KAAI,SAAUyP,GAE3G,MAAO,CACLC,MAAOD,EAAS3T,MAChB6T,MAAOF,EAASE,MAChBC,iBAAkB,CAChBF,MAAO,CACL5T,MAAO2T,EAASI,cAIxB,GACF,IAAGrR,OAAOoN,WD6EyDuD,EAWnE,OAVAxR,EAAO+O,UAAU,CACf/O,OAAQA,EACRwR,QAASA,EACTjV,MAAOA,EACPkK,MAAO2K,EAAMzG,aAEL3P,MAAMoC,QAAQb,GAGdA,EAAM4V,MAAMlE,SAAU,wCAAyCxK,OAAOzD,EAAOsO,SAAU,iDAAkD7K,OAAOgL,KAAKC,eAAU/T,GAAY,4IAC9K,CACLqF,OAAQA,EACRzD,MAAOA,EAEX,GACF,CEjHA,SAAS6V,GAAgC/G,EAASX,GAChD,IAAIjE,EAAQiE,EACZ,MAAO,CACL0D,KAAM,SAAciE,EAAaC,GAC/B,OAAOF,GAAgC/G,EAAQ+C,KAAKmE,GAAeF,EAAa5L,EAAO4E,GAAUkH,GAAeD,EAAY7L,EAAO4E,IAAW5E,EAChJ,EACA+L,MAAO,SAAgBF,GACrB,OAAOF,GAAgC/G,EAAQmH,MAAMD,GAAeD,EAAY7L,EAAO4E,IAAW5E,EACpG,EACA0E,QAAS,SAAkBsH,GAIzB,OAHIA,GACFhM,EAAMiM,aAAaxU,KAAKuU,GAEnBL,GAAgC/G,EAAQF,QAAQoH,GAAeE,GAAa,WAEjF,OADAhM,EAAMiM,aAAe,GACdD,GACT,EAAGhM,EAAO4E,IAAW5E,EACvB,EACA6E,OAAQ,WACN7E,EAAMkM,YAAa,EACnB,IAAIC,EAAYnM,EAAMiM,aACtBjM,EAAMiM,aAAe,GACrBE,EAAU1R,SAAQ,SAAU2G,GAC1BA,GACF,GACF,EACA8K,WAAY,WACV,OAA4B,IAArBlM,EAAMkM,UACf,EAEJ,CACO,SAASE,GAAwBC,GACtC,OAAOV,GAAgC,IAAItE,SAAQ,SAAUK,EAAS4E,GACpE,OAAOD,EAAS3E,EAAS4E,EAC3B,IAAI,CACFJ,YAAY,EACZD,aAAc,IAElB,CAOO,SAASM,GAAW3H,GACzB,OAAO+G,GAAgC/G,EAAS,CAC9CsH,YAAY,EACZD,aAAc,IAElB,CACA,SAASH,GAAeU,EAAUxM,EAAOyM,GACvC,OAAKD,EAGE,SAAkB1R,GACvB,OAAIkF,EAAMkM,WACDpR,EAEF0R,EAAS1R,EAClB,EAPS2R,CAQX,CCTO,SAASC,GAAc1M,GAC5B,IAAIqF,EAlDN,SAAuCrF,GAIrC,IAUI2M,EAV8B3M,EAAM4C,YAAYhH,KAAI,SAAUgH,GAChE,OAAOA,EAAY9M,MAAMzB,MAC3B,IAAGoK,QAAO,SAAUC,EAAKkO,EAAkB7W,GACzC,IACI8W,GADgBnO,EAAI3I,EAAQ,IAAM,GACN6W,EAEhC,OADAlO,EAAIjH,KAAKoV,GACFnO,CACT,GAAG,IAG+CD,QAAO,SAAUC,EAAK5J,GACtE,OAAIA,GAAWkL,EAAMwG,aACZ9H,EAAM,EAERA,CACT,GAAG,GACH,OAAOsB,EAAM4C,YAAY+J,EAC3B,CA6BmBG,CAA8B9M,GAC/C,IAAKqF,EACH,OAAO,KAET,IAAIzP,EAAOyP,EAAWvP,MAtBxB,SAAiCH,GAM/B,IALA,IAAIqK,EAAQrK,EAAKqK,MACfqF,EAAa1P,EAAK0P,WAChB0H,GAAgB,EAChBC,EAAU,EACVC,EAAsB,GACD,IAAlBF,GAAyB,CAC9B,IAAIG,EAAoBlN,EAAM4C,YAAYoK,GAC1C,GAAIE,IAAsB7H,EAAY,CACpC0H,GAAgB,EAChB,KACF,CACAE,GAAuBC,EAAkBpX,MAAMzB,OAC/C2Y,GACF,CACA,OAAOhN,EAAMwG,aAAeyG,CAC9B,CAM8BE,CAAwB,CAClDnN,MAAOA,EACPqF,WAAYA,KAEV9L,EAAS8L,EAAW9L,OASxB,MAAO,CACL3D,KAAMA,EACNwX,eAVmB7T,EAAO4O,kBAAkB,CAC5CvS,KAAMA,EACNoK,MAAOA,IASPgJ,QAPYzP,EAAO6O,WAAW,CAC9BxS,KAAMA,EACNoK,MAAOA,IAMPzG,OAAQA,EAEZ,CC5EA,SAAS,GAAQvE,GAAkC,OAAO,GAAU,mBAAqB6B,QAAU,iBAAmBA,OAAOC,SAAW,SAAU9B,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqB6B,QAAU7B,EAAIqD,cAAgBxB,QAAU7B,IAAQ6B,OAAOqB,UAAY,gBAAkBlD,CAAK,EAAG,GAAQA,EAAM,CFuC/UoX,GAAwB1E,QAAU,SAAUhQ,GAC1C,OAAO6U,GAAWlF,QAAQK,QAAQhQ,GACpC,EACA0U,GAAwBE,OAAS,SAAUe,GACzC,OAAOd,GAAWlF,QAAQiF,OAAOe,GACnC,EE3CA,IAAI,GAAY,CAAC,QAAS,YAAa,QAAS,QAAS,UAAW,SACpE,SAAS,GAAQpT,EAAQC,GAAkB,IAAI7E,EAAOJ,OAAOI,KAAK4E,GAAS,GAAIhF,OAAO4E,sBAAuB,CAAE,IAAIM,EAAUlF,OAAO4E,sBAAsBI,GAASC,IAAmBC,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOpF,OAAOqF,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKlF,EAAKoC,KAAK9C,MAAMU,EAAM8E,EAAU,CAAE,OAAO9E,CAAM,CACpV,SAAS,GAAcoE,GAAU,IAAK,IAAI/C,EAAI,EAAGA,EAAItC,UAAUC,OAAQqC,IAAK,CAAE,IAAI6C,EAAS,MAAQnF,UAAUsC,GAAKtC,UAAUsC,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQzB,OAAOsE,IAAS,GAAIkB,SAAQ,SAAUjF,GAAO,GAAgBiE,EAAQjE,EAAK+D,EAAO/D,GAAO,IAAKP,OAAO0F,0BAA4B1F,OAAO2F,iBAAiBnB,EAAQxE,OAAO0F,0BAA0BpB,IAAW,GAAQtE,OAAOsE,IAASkB,SAAQ,SAAUjF,GAAOP,OAAO4F,eAAepB,EAAQjE,EAAKP,OAAOqF,yBAAyBf,EAAQ/D,GAAO,GAAI,CAAE,OAAOiE,CAAQ,CACzf,SAAS,GAAgBzE,EAAKQ,EAAKkC,GAA4L,OAAnLlC,EAC5C,SAAwBsF,GAAO,IAAItF,EACnC,SAAsBuF,EAAOC,GAAQ,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAMlE,OAAOqE,aAAc,QAAahH,IAAT+G,EAAoB,CAAE,IAAIE,EAAMF,EAAK3D,KAAKyD,EAAOC,GAAQ,WAAY,GAAqB,WAAjB,GAAQG,GAAmB,OAAOA,EAAK,MAAM,IAAIzC,UAAU,+CAAiD,CAAE,OAAiB,WAATsC,EAAoBI,OAASC,QAAQN,EAAQ,CADnV,CAAaD,EAAK,UAAW,MAAwB,WAAjB,GAAQtF,GAAoBA,EAAM4F,OAAO5F,EAAM,CAD1E,CAAeA,MAAiBR,EAAOC,OAAO4F,eAAe7F,EAAKQ,EAAK,CAAEkC,MAAOA,EAAO6C,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBzG,EAAIQ,GAAOkC,EAAgB1C,CAAK,CAG3O,SAAS,GAAyBuE,EAAQC,GAAY,GAAc,MAAVD,EAAgB,MAAO,CAAC,EAAG,IAAkE/D,EAAKkB,EAAnE+C,EACzF,SAAuCF,EAAQC,GAAY,GAAc,MAAVD,EAAgB,MAAO,CAAC,EAAG,IAA2D/D,EAAKkB,EAA5D+C,EAAS,CAAC,EAAOC,EAAazE,OAAOI,KAAKkE,GAAqB,IAAK7C,EAAI,EAAGA,EAAIgD,EAAWrF,OAAQqC,IAAOlB,EAAMkE,EAAWhD,GAAQ8C,EAASG,QAAQnE,IAAQ,IAAaiE,EAAOjE,GAAO+D,EAAO/D,IAAQ,OAAOiE,CAAQ,CADhN,CAA8BF,EAAQC,GAAuB,GAAIvE,OAAO4E,sBAAuB,CAAE,IAAIC,EAAmB7E,OAAO4E,sBAAsBN,GAAS,IAAK7C,EAAI,EAAGA,EAAIoD,EAAiBzF,OAAQqC,IAAOlB,EAAMsE,EAAiBpD,GAAQ8C,EAASG,QAAQnE,IAAQ,GAAkBP,OAAOiD,UAAU6B,qBAAqBzC,KAAKiC,EAAQ/D,KAAgBiE,EAAOjE,GAAO+D,EAAO/D,GAAQ,CAAE,OAAOiE,CAAQ,CAK3e,ICLM6T,GACAC,GACAC,GDGFC,GAAgB,KAChBC,ICNEJ,IAAiB,EACjBC,IAAoB,EACpBC,QAAsBtZ,EACnB,SAAkC0Q,GAEvC,IAAI+I,IADJL,GAEA,OAAOjG,QAAQK,QAAQ9C,GAAS+C,MAAK,SAAUxR,GAc7C,OAAIqX,IAAuBG,EAAmBJ,GACrCC,IAETD,GAAmBI,EACnBH,GAAsBrX,EACfA,EACT,GACF,GDpBK,SAASyX,GAAQjY,GACtB,IAAIuK,EAAQvK,EAAKuK,MACf2N,EAAiBlY,EAAKmY,UACtBA,OAA+B,IAAnBD,EAA4B,CAAC,EAAIA,EAC7C/J,EAAQnO,EAAKmO,MACb2C,EAAQ9Q,EAAK8Q,MACbsH,EAAUpY,EAAKoY,QACfpD,EAAQhV,EAAKgV,MACbqD,EAAU,GAAyBrY,EAAM,IACvC8X,IACF3J,EAAMpC,YAAYjN,aAAagZ,IAEjC,IAAIQ,EAAiBD,EAAQC,eAC3B5F,EAAY2F,EAAQ3F,UACpB6F,EAAWF,EAAQE,SACnBC,EAAkBH,EAAQG,gBAC1BC,EAAYJ,EAAQI,UACpBtL,EAAakL,EAAQlL,WAGvB,GAFAoL,EAASzH,GACT0H,EAAgBrK,EAAMoC,sBACjBO,IAA+B,IAAtB3C,EAAM+B,YAAuB,CACzC,IAAIwI,EACAzL,EAAc+H,EAAMzG,WAAWtB,YAAYhH,KAAI,SAAUyJ,GAC3D,OAAO,GAAc,GAAc,CAAC,EAAGA,GAAa,CAAC,EAAG,CACtDvP,MAAO,IAEX,IACAsY,EAAU,QACVH,EAAerL,GACfyF,EAAqD,QAA1CgG,EAAoBP,EAAUnL,cAA0C,IAAtB0L,EAA+BA,EAAoBvK,EAAMsC,gBAAgB,CACpIpG,MAAO2K,EAAMzG,cAOf,IAAIoK,EAAW/B,GAAWmB,GAAyB9K,GAAa+E,MAAK,WACnE,OAAON,QAAQK,SACjB,KACA,OAAOiD,EAAMpG,gBAAgBC,IAAI8J,EACnC,CACAF,EAAU,WACVX,GAAgB3J,EAAMpC,YAAYhN,YAAW,WAC3C0Z,EAAU,UACZ,GAAGtK,EAAMqC,gBAQT,IAAIoE,EAAUgC,GAAWmB,GAAyB5J,EAAMsD,WAAW,GAAc,CAC/EX,MAAOA,EACPsH,QAASA,EACT/N,MAAO2K,EAAMzG,YACZ8J,IAAUrG,MAAK,SAAUrB,GAC1B,OAAOe,QAAQC,IAAIhB,EAAQ1K,KAAI,SAAUrC,GACvC,OAAO8N,QAAQK,QAAQnO,EAAO8J,SAAS,GAAc,CACnDoD,MAAOA,EACPsH,QAASA,EACT/N,MAAO2K,EAAMzG,YACZ8J,KAAWrG,MAAK,SAAUgC,GAC3B,OAAOD,GAAWC,EAAoBpQ,EAAOsO,SAAU8C,EAAMzG,WAC/D,GACF,KAAIyD,KAAKD,IAASC,MAAK,SAAU8C,GAC/B,IAOM8D,EAPF5K,EAAsB8G,EAAU+D,MAAK,SAAUzS,GAEjD,OAyDR,SAAmDjG,GACjD,OAAQvB,MAAMoC,QAAQb,IAAU0R,QAAkB,OAAV1R,QAA4B,IAAVA,OAAmB,EAASA,EAAM2Y,mBAC9F,CA3DeC,CADK3S,EAAMjG,MAEpB,IAGI6N,GAEFb,EAAW,CACTE,sBAAuB,GAAc,GAAc,CAAC,GAA2D,QAAtDuL,EAAwB5D,EAAMzG,WAAWzD,eAA+C,IAA1B8N,OAAmC,EAASA,EAAsBvL,wBAA0B,CAAC,GAAI,CAAC,EAAG,CAC1NW,oBAAqBA,MAI3B,OAAO+G,GAAYD,EAAWnE,EAASqE,EACzC,IAAGhD,MAAK,SAAU/E,GAChB,OL1FC,SAAiBjN,GACtB,IAAIiN,EAAcjN,EAAKiN,YACrBkB,EAAQnO,EAAKmO,MACb9D,EAAQrK,EAAKqK,MAGX2O,EAA4B/L,EAAYnE,QAAO,SAAUC,EAAK2G,GAChE,OAAO,GAAc,GAAc,CAAC,EAAG3G,GAAM,CAAC,EAAG,GAAgB,CAAC,EAAG2G,EAAW9L,OAAOsO,SAAU,GAAc,GAAc,CAAC,EAAGxC,EAAW9L,QAAS,CAAC,EAAG,CACvJ8J,SAAU,WAER,OAAO0B,EAAQM,EAAWvP,MAC5B,KAEJ,GAAG,CAAC,GAUF8Y,EAT0B9K,EAAM6B,QAAQlH,QAAO,SAAUC,EAAK6I,GAC5D,OAAIA,EAAOlB,QACFkB,EAAOlB,QAAQ3H,GAEjBA,CACT,GAAG,CACDkQ,kBAAmBD,EACnB3O,MAAOA,IAEiC4O,kBAQ5C,OAAO7J,EAPcjB,EAAMuC,QAAQ,CACjCuI,kBAAmBA,EACnBtI,QAASrR,OAAO+P,OAAO4J,GACvB5O,MAAOA,KAIsB5F,OAAOoN,SAAS5L,KAAI,SAAUrC,GAC3D,MAAO,CACLA,OAAQA,EACRzD,MAAOyD,EAAO8J,WAElB,GACF,CKqDagD,CAAQ,CACbzD,YAAaA,EACbkB,MAAOA,EACP9D,MAAO2K,EAAMzG,YAEjB,GACF,MAAKyD,MAAK,SAAU/E,GAClB,IAAIiM,EAMJT,EAAU,QACVH,EAAerL,GACf,IAAIkM,EAAchL,EAAMsC,gBAAgB,CACtCpG,MAAO2K,EAAMzG,aAEfmE,EAAsD,QAA3CwG,EAAqBf,EAAUnL,cAA2C,IAAvBkM,EAAgCA,EAAqB/K,EAAM+B,cAAgBY,GAASqI,GAAeA,GACjK,IAAIC,EAAkBrC,GAAc/B,EAAMzG,YAC1C,GAAsC,OAAlCyG,EAAMzG,WAAWsC,cAAyBuI,EAAiB,CAC7D,IAAInZ,EAAOmZ,EAAgBnZ,KACzBwX,EAAiB2B,EAAgB3B,eACjCpE,EAAU+F,EAAgB/F,QAC1BzP,EAASwV,EAAgBxV,OAC3BA,EAAOqH,SAAS,GAAc,CAC5BV,MAAOA,EACPtK,KAAMA,EACNwX,eAAgBA,EAChBpE,QAASA,EACT+E,QAASA,EACTxU,OAAQA,EACRyG,MAAO2K,EAAMzG,YACZ8J,GACL,CACF,IAAGtJ,SAAQ,WACT0J,EAAU,QACNX,IACF3J,EAAMpC,YAAYjN,aAAagZ,GAEnC,IACA,OAAO9C,EAAMpG,gBAAgBC,IAAI+F,EACnC,CEpIO,SAASyE,GAAyBC,EAAwBC,EAAW3V,GAC1E,MAAO,CAAC0V,EAAmC,OAAX1V,QAA8B,IAAXA,OAAoB,EAASA,EAAOsO,SAAUqH,GAAW9U,OAAOoN,SAAS2H,KAAK,KAAKC,QAAQ,MAAO,GACvJ,CCTA,SAAS,GAAQpa,GAAkC,OAAO,GAAU,mBAAqB6B,QAAU,iBAAmBA,OAAOC,SAAW,SAAU9B,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqB6B,QAAU7B,EAAIqD,cAAgBxB,QAAU7B,IAAQ6B,OAAOqB,UAAY,gBAAkBlD,CAAK,EAAG,GAAQA,EAAM,CAC/U,IAAI,GAAY,CAAC,QAAS,QAAS,UAAW,SAC9C,SAAS,GAAQiF,EAAQC,GAAkB,IAAI7E,EAAOJ,OAAOI,KAAK4E,GAAS,GAAIhF,OAAO4E,sBAAuB,CAAE,IAAIM,EAAUlF,OAAO4E,sBAAsBI,GAASC,IAAmBC,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOpF,OAAOqF,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKlF,EAAKoC,KAAK9C,MAAMU,EAAM8E,EAAU,CAAE,OAAO9E,CAAM,CACpV,SAAS,GAAcoE,GAAU,IAAK,IAAI/C,EAAI,EAAGA,EAAItC,UAAUC,OAAQqC,IAAK,CAAE,IAAI6C,EAAS,MAAQnF,UAAUsC,GAAKtC,UAAUsC,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQzB,OAAOsE,IAAS,GAAIkB,SAAQ,SAAUjF,GAAO,GAAgBiE,EAAQjE,EAAK+D,EAAO/D,GAAO,IAAKP,OAAO0F,0BAA4B1F,OAAO2F,iBAAiBnB,EAAQxE,OAAO0F,0BAA0BpB,IAAW,GAAQtE,OAAOsE,IAASkB,SAAQ,SAAUjF,GAAOP,OAAO4F,eAAepB,EAAQjE,EAAKP,OAAOqF,yBAAyBf,EAAQ/D,GAAO,GAAI,CAAE,OAAOiE,CAAQ,CACzf,SAAS,GAAgBzE,EAAKQ,EAAKkC,GAA4L,OAAnLlC,EAC5C,SAAwBsF,GAAO,IAAItF,EACnC,SAAsBuF,EAAOC,GAAQ,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAMlE,OAAOqE,aAAc,QAAahH,IAAT+G,EAAoB,CAAE,IAAIE,EAAMF,EAAK3D,KAAKyD,EAAOC,GAAQ,WAAY,GAAqB,WAAjB,GAAQG,GAAmB,OAAOA,EAAK,MAAM,IAAIzC,UAAU,+CAAiD,CAAE,OAAiB,WAATsC,EAAoBI,OAASC,QAAQN,EAAQ,CADnV,CAAaD,EAAK,UAAW,MAAwB,WAAjB,GAAQtF,GAAoBA,EAAM4F,OAAO5F,EAAM,CAD1E,CAAeA,MAAiBR,EAAOC,OAAO4F,eAAe7F,EAAKQ,EAAK,CAAEkC,MAAOA,EAAO6C,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBzG,EAAIQ,GAAOkC,EAAgB1C,CAAK,CAG3O,SAAS,GAAyBuE,EAAQC,GAAY,GAAc,MAAVD,EAAgB,MAAO,CAAC,EAAG,IAAkE/D,EAAKkB,EAAnE+C,EACzF,SAAuCF,EAAQC,GAAY,GAAc,MAAVD,EAAgB,MAAO,CAAC,EAAG,IAA2D/D,EAAKkB,EAA5D+C,EAAS,CAAC,EAAOC,EAAazE,OAAOI,KAAKkE,GAAqB,IAAK7C,EAAI,EAAGA,EAAIgD,EAAWrF,OAAQqC,IAAOlB,EAAMkE,EAAWhD,GAAQ8C,EAASG,QAAQnE,IAAQ,IAAaiE,EAAOjE,GAAO+D,EAAO/D,IAAQ,OAAOiE,CAAQ,CADhN,CAA8BF,EAAQC,GAAuB,GAAIvE,OAAO4E,sBAAuB,CAAE,IAAIC,EAAmB7E,OAAO4E,sBAAsBN,GAAS,IAAK7C,EAAI,EAAGA,EAAIoD,EAAiBzF,OAAQqC,IAAOlB,EAAMsE,EAAiBpD,GAAQ8C,EAASG,QAAQnE,IAAQ,GAAkBP,OAAOiD,UAAU6B,qBAAqBzC,KAAKiC,EAAQ/D,KAAgBiE,EAAOjE,GAAO+D,EAAO/D,GAAQ,CAAE,OAAOiE,CAAQ,CCP3e,IAAI4V,GAAQ,sDCAL,SAASC,GAAepP,GAC7B,OAAOA,EAAMqP,aAAerP,CAC9B,CCFA,SAAS,GAAQlL,GAAkC,OAAO,GAAU,mBAAqB6B,QAAU,iBAAmBA,OAAOC,SAAW,SAAU9B,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqB6B,QAAU7B,EAAIqD,cAAgBxB,QAAU7B,IAAQ6B,OAAOqB,UAAY,gBAAkBlD,CAAK,EAAG,GAAQA,EAAM,CAC/U,IAAI,GAAY,CAAC,QAAS,UAAW,SACnC,GAAa,CAAC,eAAgB,cAAe,gBAC7Cwa,GAAa,CAAC,gBACdC,GAAa,CAAC,eAAgB,aAC9BC,GAAa,CAAC,UACdC,GAAa,CAAC,OAAQ,UACxB,SAAS,GAAQ1V,EAAQC,GAAkB,IAAI7E,EAAOJ,OAAOI,KAAK4E,GAAS,GAAIhF,OAAO4E,sBAAuB,CAAE,IAAIM,EAAUlF,OAAO4E,sBAAsBI,GAASC,IAAmBC,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOpF,OAAOqF,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKlF,EAAKoC,KAAK9C,MAAMU,EAAM8E,EAAU,CAAE,OAAO9E,CAAM,CACpV,SAAS,GAAcoE,GAAU,IAAK,IAAI/C,EAAI,EAAGA,EAAItC,UAAUC,OAAQqC,IAAK,CAAE,IAAI6C,EAAS,MAAQnF,UAAUsC,GAAKtC,UAAUsC,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQzB,OAAOsE,IAAS,GAAIkB,SAAQ,SAAUjF,GAAO,GAAgBiE,EAAQjE,EAAK+D,EAAO/D,GAAO,IAAKP,OAAO0F,0BAA4B1F,OAAO2F,iBAAiBnB,EAAQxE,OAAO0F,0BAA0BpB,IAAW,GAAQtE,OAAOsE,IAASkB,SAAQ,SAAUjF,GAAOP,OAAO4F,eAAepB,EAAQjE,EAAKP,OAAOqF,yBAAyBf,EAAQ/D,GAAO,GAAI,CAAE,OAAOiE,CAAQ,CACzf,SAAS,GAAgBzE,EAAKQ,EAAKkC,GAA4L,OAAnLlC,EAC5C,SAAwBsF,GAAO,IAAItF,EACnC,SAAsBuF,EAAOC,GAAQ,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAMlE,OAAOqE,aAAc,QAAahH,IAAT+G,EAAoB,CAAE,IAAIE,EAAMF,EAAK3D,KAAKyD,EAAOC,GAAQ,WAAY,GAAqB,WAAjB,GAAQG,GAAmB,OAAOA,EAAK,MAAM,IAAIzC,UAAU,+CAAiD,CAAE,OAAiB,WAATsC,EAAoBI,OAASC,QAAQN,EAAQ,CADnV,CAAaD,EAAK,UAAW,MAAwB,WAAjB,GAAQtF,GAAoBA,EAAM4F,OAAO5F,EAAM,CAD1E,CAAeA,MAAiBR,EAAOC,OAAO4F,eAAe7F,EAAKQ,EAAK,CAAEkC,MAAOA,EAAO6C,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBzG,EAAIQ,GAAOkC,EAAgB1C,CAAK,CAG3O,SAAS,GAAyBuE,EAAQC,GAAY,GAAc,MAAVD,EAAgB,MAAO,CAAC,EAAG,IAAkE/D,EAAKkB,EAAnE+C,EACzF,SAAuCF,EAAQC,GAAY,GAAc,MAAVD,EAAgB,MAAO,CAAC,EAAG,IAA2D/D,EAAKkB,EAA5D+C,EAAS,CAAC,EAAOC,EAAazE,OAAOI,KAAKkE,GAAqB,IAAK7C,EAAI,EAAGA,EAAIgD,EAAWrF,OAAQqC,IAAOlB,EAAMkE,EAAWhD,GAAQ8C,EAASG,QAAQnE,IAAQ,IAAaiE,EAAOjE,GAAO+D,EAAO/D,IAAQ,OAAOiE,CAAQ,CADhN,CAA8BF,EAAQC,GAAuB,GAAIvE,OAAO4E,sBAAuB,CAAE,IAAIC,EAAmB7E,OAAO4E,sBAAsBN,GAAS,IAAK7C,EAAI,EAAGA,EAAIoD,EAAiBzF,OAAQqC,IAAOlB,EAAMsE,EAAiBpD,GAAQ8C,EAASG,QAAQnE,IAAQ,GAAkBP,OAAOiD,UAAU6B,qBAAqBzC,KAAKiC,EAAQ/D,KAAgBiE,EAAOjE,GAAO+D,EAAO/D,GAAQ,CAAE,OAAOiE,CAAQ,CAMpe,SAASmW,GAAeja,GAC7B,IAAImO,EAAQnO,EAAKmO,MACfiK,EAAUpY,EAAKoY,QACfpD,EAAQhV,EAAKgV,MACbqD,EAAU,GAAyBrY,EAAM,IA8S3C,MAAO,CACLka,oBA9SwB,SAA6BC,GACrD,IAAIC,EAAeD,EAAcC,aAC/BC,EAAcF,EAAcE,YAC5BC,EAAeH,EAAcG,aAE/B,SAASC,EAAwBhQ,IAOCyK,EAAMzG,WAAWvB,QAAWgI,EAAMpG,gBAAgBO,WAChD5E,EAAMzG,SAAWsW,IAShB,IAHF,CAACC,EAAaC,GAAczB,MAAK,SAAU2B,GAC1E,OC3CyBC,ED2CDD,EC3CSE,ED2CInQ,EAAMzG,OC1C1C2W,IAAWC,GAASD,EAAOE,SAASD,GADtC,IAA0BD,EAAQC,CD4CnC,MAEE1F,EAAMxG,SAAS,OAAQ,MAMlBL,EAAM8B,OACT+E,EAAMpG,gBAAgBI,YAG5B,CACA,OAAO,GAAc,CAUnB4L,aAAcL,EACdM,YAAaN,EAKbO,YAAa,SAAqBvQ,IACA,IAA5ByK,EAAMzG,WAAWvB,QAAoBoN,IAAiBjM,EAAMpC,YAAYG,SAAS6O,eAAiBxQ,EAAMzG,SAAWsW,GAGvHA,EAAaY,MACf,GAnDO,GAAyBb,EAAe,IAqDnD,EAsPEc,aArPiB,SAAsBC,GACvC,OAAO,GAAc,CACnBC,KAAM,WACN,gBAAiBnG,EAAMzG,WAAWvB,OAClC,gBAAiB,UACjB,gBAAiBgI,EAAMzG,WAAWvB,OAASgI,EAAMzG,WAAWtB,YAAYhH,KAAI,SAAUG,GACpF,IAAIxC,EAASwC,EAAMxC,OACnB,OAAOyV,GAAyBlL,EAAMyC,GAAI,OAAQhN,EACpD,IAAG4V,KAAK,UAAOjb,EACf,kBAAmB8a,GAAyBlL,EAAMyC,GAAI,UACrDsK,EACL,EA2OEE,aA1OiB,SAAsBjB,GACpBA,EAAcC,aAEjC,OAAO,GAAc,CACnB3L,OAAQ,GACR4M,YAAY,EACZF,KAAM,SACNhK,SAAU,SAAkB5G,GAC1B,IAAI+Q,EACJ/Q,EAAMgR,iBACNpN,EAAMgD,SAAS,GAAc,CAC3B5G,MAAOA,EACP6N,QAASA,EACT/N,MAAO2K,EAAMzG,YACZ8J,IACHrD,EAAMxG,SAAS,SAAU,MACgC,QAAxD8M,EAAwBnB,EAAcC,oBAAoD,IAA1BkB,GAA4CA,EAAsBN,MACrI,EACA1J,QAAS,SAAiB/G,GACxB,IAAIiR,EACJjR,EAAMgR,iBACNpN,EAAMmD,QAAQ,GAAc,CAC1B/G,MAAOA,EACP6N,QAASA,EACT/N,MAAO2K,EAAMzG,YACZ8J,IACHrD,EAAMxG,SAAS,QAAS,MACkC,QAAzDgN,EAAyBrB,EAAcC,oBAAqD,IAA3BoB,GAA6CA,EAAuB7H,OACxI,GA1BO,GAAyBwG,EAAeN,IA4BnD,EA6ME4B,cA3GkB,SAAuBP,GACzC,OAAO,GAAc,CACnBQ,QAASrC,GAAyBlL,EAAMyC,GAAI,SAC5CA,GAAIyI,GAAyBlL,EAAMyC,GAAI,UACtCsK,EACL,EAuGES,cA7MkB,SAAuBxB,GACzC,IAAIyB,EACJ,SAASC,EAAQtR,IAGX4D,EAAM+B,aAAe2B,QAAQmD,EAAMzG,WAAWuC,SAChDmH,GAAQ,GAAc,CACpB1N,MAAOA,EACP4D,MAAOA,EACP2C,MAAOkE,EAAMzG,WAAWwC,YAAciE,EAAMzG,WAAWuC,MACvDsH,QAASA,EACTpD,MAAOA,GACNqD,IAELrD,EAAMxG,SAAS,QAAS,KAC1B,CACA,IAAIxF,EAAQmR,GAAiB,CAAC,EAE5B2B,GADe9S,EAAMoR,aACHpR,EAAM+S,WACxBA,OAAgC,IAApBD,EAA6B,IAAMA,EAC/CZ,EAAO,GAAyBlS,EAAO8Q,IACrCkC,EAAajF,GAAc/B,EAAMzG,YAEjC0N,EFlJD,SAAmBC,GACxB,OAAOrK,QAAQqK,GAAaA,EAAUC,MAAMzC,IAC9C,CEgJgC0C,EAD+C,QAAzDR,EAAwBzN,EAAMpC,YAAYoH,iBAAiD,IAA1ByI,OAAmC,EAASA,EAAsBM,YAAc,IAE/J/L,EAAehC,EAAMgC,eAAgC,OAAf6L,QAAsC,IAAfA,GAAyBA,EAAW3I,UAAY4I,EAAwB,KAAO,UAChJ,OAAO,GAAc,CACnB,oBAAqB,OACrB,wBAAyBjH,EAAMzG,WAAWvB,QAA4C,OAAlCgI,EAAMzG,WAAWsC,aAAwBwI,GAAyBlL,EAAMyC,GAAI,QAAQvJ,OAAO2N,EAAMzG,WAAWsC,cAA8B,OAAfmL,QAAsC,IAAfA,OAAwB,EAASA,EAAWpY,aAAUrF,EAC5P,gBAAiByW,EAAMzG,WAAWvB,OAASgI,EAAMzG,WAAWtB,YAAYhH,KAAI,SAAUmD,GACpF,IAAIxF,EAASwF,EAAMxF,OACnB,OAAOyV,GAAyBlL,EAAMyC,GAAI,OAAQhN,EACpD,IAAG4V,KAAK,UAAOjb,EACf,kBAAmB8a,GAAyBlL,EAAMyC,GAAI,SACtD7O,MAAOiT,EAAMzG,WAAWwC,YAAciE,EAAMzG,WAAWuC,MACvDF,GAAIyI,GAAyBlL,EAAMyC,GAAI,SACvCyL,aAAc,MACdC,YAAa,MACbC,eAAgB,MAChBpM,aAAcA,EACdqM,WAAY,QACZlM,UAAWnC,EAAMmC,UACjBD,YAAalC,EAAMkC,YACnB0L,UAAWA,EACXpN,KAAM,SACN8N,SAAU,SAAkBlS,GAC1B,IAAIxI,EAAQwI,EAAMmS,cAAc3a,MAC5BoM,EAAMiC,yBAA2BuJ,GAAepP,GAAOoS,YACzDtE,EAAQE,SAASxW,GAGnBkW,GAAQ,GAAc,CACpB1N,MAAOA,EACP4D,MAAOA,EACP2C,MAAO/O,EAAMU,MAAM,EAAGsZ,GACtB3D,QAASA,EACTpD,MAAOA,GACNqD,GACL,EACAuE,iBAAkB,SAA0BrS,GAC1C0N,GAAQ,GAAc,CACpB1N,MAAOA,EACP4D,MAAOA,EACP2C,MAAOvG,EAAMmS,cAAc3a,MAAMU,MAAM,EAAGsZ,GAC1C3D,QAASA,EACTpD,MAAOA,GACNqD,GACL,EACAwE,UAAW,SAAmBtS,GACxBoP,GAAepP,GAAOoS,aHrL3B,SAAmB3c,GACxB,IAAIuK,EAAQvK,EAAKuK,MACf4D,EAAQnO,EAAKmO,MACbiK,EAAUpY,EAAKoY,QACfpD,EAAQhV,EAAKgV,MACbqD,EAAU,GAAyBrY,EAAM,IAC3C,GAAkB,YAAduK,EAAM1K,KAAmC,cAAd0K,EAAM1K,IAAqB,CAExD,IAAIid,EAAwB,WAC1B,IAAI1D,EAAkBrC,GAAc/B,EAAMzG,YACtCwO,EAAW5O,EAAMpC,YAAYG,SAAS8Q,eAAe3D,GAAyBlL,EAAMyC,GAAI,QAAQvJ,OAAO2N,EAAMzG,WAAWsC,cAAmC,OAApBuI,QAAgD,IAApBA,OAA6B,EAASA,EAAgBxV,SACzNmZ,IACEA,EAASE,uBACXF,EAASE,wBAAuB,GAEhCF,EAASG,gBAAe,GAG9B,EACIC,EAAkB,WACpB,IAAI/D,EAAkBrC,GAAc/B,EAAMzG,YAC1C,GAAsC,OAAlCyG,EAAMzG,WAAWsC,cAAyBuI,EAAiB,CAC7D,IAAInZ,EAAOmZ,EAAgBnZ,KACzBwX,EAAiB2B,EAAgB3B,eACjCpE,EAAU+F,EAAgB/F,QAC1BzP,EAASwV,EAAgBxV,OAC3BA,EAAOqH,SAAS,GAAc,CAC5BV,MAAOA,EACPtK,KAAMA,EACNwX,eAAgBA,EAChBpE,QAASA,EACT+E,QAASA,EACTxU,OAAQA,EACRyG,MAAO2K,EAAMzG,YACZ8J,GACL,CACF,EAEA9N,EAAMgR,kBAI0B,IAA5BvG,EAAMzG,WAAWvB,SAAqBmB,EAAM+B,aAAe2B,QAAQmD,EAAMzG,WAAWuC,QACtFmH,GAAQ,GAAc,CACpB1N,MAAOA,EACP4D,MAAOA,EACP2C,MAAOkE,EAAMzG,WAAWuC,MACxBsH,QAASA,EACTpD,MAAOA,GACNqD,IAAUrG,MAAK,WAChBgD,EAAMxG,SAASjE,EAAM1K,IAAK,CACxBud,iBAAkBjP,EAAMoC,sBAE1B4M,IAIApe,WAAW+d,EAAuB,EACpC,KAEA9H,EAAMxG,SAASjE,EAAM1K,IAAK,CAAC,GAC3Bsd,IACAL,IAEJ,MAAO,GAAkB,WAAdvS,EAAM1K,IAIf0K,EAAMgR,iBACNvG,EAAMxG,SAASjE,EAAM1K,IAAK,MAM1BmV,EAAMpG,gBAAgBI,iBACjB,GAAkB,QAAdzE,EAAM1K,IACfmV,EAAMxG,SAAS,OAAQ,MAMvBwG,EAAMpG,gBAAgBI,iBACjB,GAAkB,UAAdzE,EAAM1K,IAAiB,CAGhC,GAAsC,OAAlCmV,EAAMzG,WAAWsC,cAAyBmE,EAAMzG,WAAWtB,YAAY8I,OAAM,SAAUrG,GACzF,OAAmC,IAA5BA,EAAWvP,MAAMzB,MAC1B,IAQE,YAHKyP,EAAM8B,OACT+E,EAAMpG,gBAAgBI,aAO1BzE,EAAMgR,iBACN,IAAInV,EAAQ2Q,GAAc/B,EAAMzG,YAC9BtO,EAAOmG,EAAMnG,KACbwX,EAAiBrR,EAAMqR,eACvBpE,EAAUjN,EAAMiN,QAChBzP,EAASwC,EAAMxC,OACjB,GAAI2G,EAAM8S,SAAW9S,EAAM+S,aACT/e,IAAZ8U,IACFzP,EAAOmH,SAAS,GAAc,CAC5BR,MAAOA,EACPtK,KAAMA,EACNwX,eAAgBA,EAChBpE,QAASA,EACT+E,QAASA,EACTxU,OAAQA,EACRyG,MAAO2K,EAAMzG,YACZ8J,IACHlK,EAAMgF,UAAUK,eAAe,CAC7BH,QAASA,EACTpT,KAAMA,EACNoK,MAAO2K,EAAMzG,mBAGZ,GAAIhE,EAAMgT,cACChf,IAAZ8U,IACFzP,EAAOmH,SAAS,GAAc,CAC5BR,MAAOA,EACPtK,KAAMA,EACNwX,eAAgBA,EAChBpE,QAASA,EACT+E,QAASA,EACTxU,OAAQA,EACRyG,MAAO2K,EAAMzG,YACZ8J,IACHlK,EAAMgF,UAAUS,kBAAkB,CAChCP,QAASA,EACTpT,KAAMA,EACNoK,MAAO2K,EAAMzG,mBAGZ,GAAIhE,EAAMiT,YAEV,CACL,QAAgBjf,IAAZ8U,EAeF,OAdAzP,EAAOmH,SAAS,GAAc,CAC5BR,MAAOA,EACPtK,KAAMA,EACNwX,eAAgBA,EAChBpE,QAASA,EACT+E,QAASA,EACTxU,OAAQA,EACRyG,MAAO2K,EAAMzG,YACZ8J,SACHlK,EAAMgF,UAAUC,SAAS,CACvBC,QAASA,EACTpT,KAAMA,EACNoK,MAAO2K,EAAMzG,aAIjB0J,GAAQ,GAAc,CACpB1N,MAAOA,EACP4N,UAAW,CACTnL,QAAQ,GAEVmB,MAAOA,EACP2C,MAAO2G,EACPW,QAASA,EACTpD,MAAOA,GACNqD,IAAUrG,MAAK,WAChBpO,EAAOmH,SAAS,GAAc,CAC5BR,MAAOA,EACPtK,KAAMA,EACNwX,eAAgBA,EAChBpE,QAASA,EACT+E,QAASA,EACTxU,OAAQA,EACRyG,MAAO2K,EAAMzG,YACZ8J,GACL,GACF,CACF,CACF,CGAQ,CAAW,GAAc,CACvB9N,MAAOA,EACP4D,MAAOA,EACPiK,QAASA,EACTpD,MAAOA,GACNqD,GACL,EACAwD,QAASA,EAIT4B,OAAQ3d,EACR4d,QAAS,SAAiBnT,GAQpB4P,EAAcC,eAAiBjM,EAAMpC,YAAYG,SAAS6O,eAAkB/F,EAAMzG,WAAWvB,QAC/F6O,EAAQtR,EAEZ,GACC2Q,EACL,EA8GEyC,cA7FkB,SAAuBzC,GACzC,OAAO,GAAc,CACnBL,YAAa,SAAqBtQ,GAIhCA,EAAMgR,gBACR,EACAqC,aAAc,WACZ5I,EAAMxG,SAAS,aAAc,KAC/B,GACC0M,EACL,EAkFE2C,aAxGiB,SAAsB1D,GACvC,IAAI7Q,EAAQ6Q,GAAiB,CAAC,EAC5BvW,EAAS0F,EAAM1F,OACfsX,EAAO,GAAyB5R,EAAOyQ,IACzC,OAAO,GAAc,CACnBoB,KAAM,UACN,kBAAmB9B,GAAyBlL,EAAMyC,GAAI,SACtDA,GAAIyI,GAAyBlL,EAAMyC,GAAI,OAAQhN,IAC9CsX,EACL,EAgGE4C,aAlFiB,SAAsB3D,GACvC,IAAIla,EAAOka,EAAcla,KACvB2D,EAASuW,EAAcvW,OACvBsX,EAAO,GAAyBf,EAAeH,IACjD,OAAO,GAAc,CACnBpJ,GAAIyI,GAAyBlL,EAAMyC,GAAI,QAAQvJ,OAAOpH,EAAK8d,mBAAoBna,GAC/EuX,KAAM,SACN,gBAAiBnG,EAAMzG,WAAWsC,eAAiB5Q,EAAK8d,kBACxDC,YAAa,SAAqBzT,GAChC,GAAItK,EAAK8d,oBAAsB/I,EAAMzG,WAAWsC,aAAhD,CAGAmE,EAAMxG,SAAS,YAAavO,EAAK8d,mBACjC,IAAI/B,EAAajF,GAAc/B,EAAMzG,YACrC,GAAsC,OAAlCyG,EAAMzG,WAAWsC,cAAyBmL,EAAY,CACxD,IAAIiC,EAAQjC,EAAW/b,KACrBwX,EAAiBuE,EAAWvE,eAC5BpE,EAAU2I,EAAW3I,QACrB6K,EAAUlC,EAAWpY,OACvBsa,EAAQjT,SAAS,GAAc,CAC7BV,MAAOA,EACPtK,KAAMge,EACNxG,eAAgBA,EAChBpE,QAASA,EACT+E,QAASA,EACTxU,OAAQsa,EACR7T,MAAO2K,EAAMzG,YACZ8J,GACL,CAjBA,CAkBF,EACAwC,YAAa,SAAqBtQ,GAGhCA,EAAMgR,gBACR,EACAmC,QAAS,SAAiBnT,GACxB,IAAIkN,EAAiB7T,EAAO4O,kBAAkB,CAC5CvS,KAAMA,EACNoK,MAAO2K,EAAMzG,aAEX8E,EAAUzP,EAAO6O,WAAW,CAC9BxS,KAAMA,EACNoK,MAAO2K,EAAMzG,cAQK8E,EAAU3B,QAAQK,UAAYkG,GAAQ,GAAc,CACtE1N,MAAOA,EACP4N,UAAW,CACTnL,QAAQ,GAEVmB,MAAOA,EACP2C,MAAO2G,EACPW,QAASA,EACTpD,MAAOA,GACNqD,KACWrG,MAAK,WACjBpO,EAAOmH,SAAS,GAAc,CAC5BR,MAAOA,EACPtK,KAAMA,EACNwX,eAAgBA,EAChBpE,QAASA,EACT+E,QAASA,EACTxU,OAAQA,EACRyG,MAAO2K,EAAMzG,YACZ8J,GACL,GACF,GACC6C,EACL,EAWF,CE9UO,IAAIvU,GAAU,SCCVwX,GAAa,CAAC,CACvBC,QAAS,oBACTzX,QAASA,KCHX,SAAS,GAAQtH,GAAkC,OAAO,GAAU,mBAAqB6B,QAAU,iBAAmBA,OAAOC,SAAW,SAAU9B,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqB6B,QAAU7B,EAAIqD,cAAgBxB,QAAU7B,IAAQ6B,OAAOqB,UAAY,gBAAkBlD,CAAK,EAAG,GAAQA,EAAM,CAC/U,SAAS,GAAQiF,EAAQC,GAAkB,IAAI7E,EAAOJ,OAAOI,KAAK4E,GAAS,GAAIhF,OAAO4E,sBAAuB,CAAE,IAAIM,EAAUlF,OAAO4E,sBAAsBI,GAASC,IAAmBC,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOpF,OAAOqF,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKlF,EAAKoC,KAAK9C,MAAMU,EAAM8E,EAAU,CAAE,OAAO9E,CAAM,CACpV,SAAS,GAAcoE,GAAU,IAAK,IAAI/C,EAAI,EAAGA,EAAItC,UAAUC,OAAQqC,IAAK,CAAE,IAAI6C,EAAS,MAAQnF,UAAUsC,GAAKtC,UAAUsC,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQzB,OAAOsE,IAAS,GAAIkB,SAAQ,SAAUjF,GAAO,GAAgBiE,EAAQjE,EAAK+D,EAAO/D,GAAO,IAAKP,OAAO0F,0BAA4B1F,OAAO2F,iBAAiBnB,EAAQxE,OAAO0F,0BAA0BpB,IAAW,GAAQtE,OAAOsE,IAASkB,SAAQ,SAAUjF,GAAOP,OAAO4F,eAAepB,EAAQjE,EAAKP,OAAOqF,yBAAyBf,EAAQ/D,GAAO,GAAI,CAAE,OAAOiE,CAAQ,CACzf,SAAS,GAAgBzE,EAAKQ,EAAKkC,GAA4L,OAAnLlC,EAC5C,SAAwBsF,GAAO,IAAItF,EACnC,SAAsBuF,EAAOC,GAAQ,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAMlE,OAAOqE,aAAc,QAAahH,IAAT+G,EAAoB,CAAE,IAAIE,EAAMF,EAAK3D,KAAKyD,EAAOC,GAAQ,WAAY,GAAqB,WAAjB,GAAQG,GAAmB,OAAOA,EAAK,MAAM,IAAIzC,UAAU,+CAAiD,CAAE,OAAiB,WAATsC,EAAoBI,OAASC,QAAQN,EAAQ,CADnV,CAAaD,EAAK,UAAW,MAAwB,WAAjB,GAAQtF,GAAoBA,EAAM4F,OAAO5F,EAAM,CAD1E,CAAeA,MAAiBR,EAAOC,OAAO4F,eAAe7F,EAAKQ,EAAK,CAAEkC,MAAOA,EAAO6C,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBzG,EAAIQ,GAAOkC,EAAgB1C,CAAK,CAIpO,SAASgf,GAAYre,GAC1B,IAAIse,EAAGC,EAAuBC,EAAwBC,EAClDzO,EAAUhQ,EAAKgQ,QACjBtF,EAAU1K,EAAK0K,QACbgU,EAAuL,QAAzKJ,IAAoE,QAA7DC,EAAwB7T,EAAQiU,+BAA+D,IAA1BJ,OAAmC,EAASA,EAAsBJ,aAAe,IAAI,UAAsB,IAANG,OAAe,EAASA,EAAEF,QACzNQ,EAAeF,EAAa,GAAgB,CAAC,EAAGA,EAAYpf,OAAOI,MAAqE,QAA9D8e,EAAyB9T,EAAQiU,+BAAgE,IAA3BH,OAAoC,EAASA,EAAuB9T,UAAY,CAAC,IAAM,CAAC,EAC5O,MAAO,CACLsF,QAASA,EAAQ/J,KAAI,SAAU2L,GAC7B,MAAO,CACLjP,KAAMiP,EAAOjP,KACb+H,QAASpL,OAAOI,KAAKkS,EAAO9D,8BAAgC,IAEhE,IACApD,QAAS,GAAc,CACrB,oBAAqBpL,OAAOI,KAAKgL,IAChCkU,GACHC,GAAIV,GAAW9W,QAAuE,QAA9DoX,EAAyB/T,EAAQiU,+BAAgE,IAA3BF,OAAoC,EAASA,EAAuBN,aAAe,IAErL,CCxBO,SAASW,GAAc9e,GAC5B,IAAI+e,EACA1U,EAAQrK,EAAKqK,MACjB,OAAqB,IAAjBA,EAAM2C,QAA2C,OAAvB3C,EAAMwG,aAC3B,MAE2C,QAA3CkO,EAAiBhI,GAAc1M,UAAuC,IAAnB0U,OAA4B,EAASA,EAAetH,iBAAmB,IACrI,CCQO,SAASuH,GAAoBC,EAAYC,EAAWC,EAAW5O,GACpE,IAAK4O,EACH,OAAO,KAET,GAAIF,EAAa,IAAoB,OAAdC,GAA8C,OAAxB3O,GAA8C,IAAd2O,GAC3E,OAAOC,EAAYF,EAErB,IAAIG,GAA8B,OAAdF,GAAsB,EAAIA,GAAaD,EAC3D,OAAIG,IAAiB,GAAKA,GAAgBD,EACT,OAAxB5O,EAA+B,KAAO,EAExC6O,CACT,CC5BA,SAAS,GAAQ/f,GAAkC,OAAO,GAAU,mBAAqB6B,QAAU,iBAAmBA,OAAOC,SAAW,SAAU9B,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqB6B,QAAU7B,EAAIqD,cAAgBxB,QAAU7B,IAAQ6B,OAAOqB,UAAY,gBAAkBlD,CAAK,EAAG,GAAQA,EAAM,CAC/U,SAAS,GAAQiF,EAAQC,GAAkB,IAAI7E,EAAOJ,OAAOI,KAAK4E,GAAS,GAAIhF,OAAO4E,sBAAuB,CAAE,IAAIM,EAAUlF,OAAO4E,sBAAsBI,GAASC,IAAmBC,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOpF,OAAOqF,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKlF,EAAKoC,KAAK9C,MAAMU,EAAM8E,EAAU,CAAE,OAAO9E,CAAM,CACpV,SAAS,GAAcoE,GAAU,IAAK,IAAI/C,EAAI,EAAGA,EAAItC,UAAUC,OAAQqC,IAAK,CAAE,IAAI6C,EAAS,MAAQnF,UAAUsC,GAAKtC,UAAUsC,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQzB,OAAOsE,IAAS,GAAIkB,SAAQ,SAAUjF,GAAO,GAAgBiE,EAAQjE,EAAK+D,EAAO/D,GAAO,IAAKP,OAAO0F,0BAA4B1F,OAAO2F,iBAAiBnB,EAAQxE,OAAO0F,0BAA0BpB,IAAW,GAAQtE,OAAOsE,IAASkB,SAAQ,SAAUjF,GAAOP,OAAO4F,eAAepB,EAAQjE,EAAKP,OAAOqF,yBAAyBf,EAAQ/D,GAAO,GAAI,CAAE,OAAOiE,CAAQ,CACzf,SAAS,GAAgBzE,EAAKQ,EAAKkC,GAA4L,OAAnLlC,EAC5C,SAAwBsF,GAAO,IAAItF,EACnC,SAAsBuF,EAAOC,GAAQ,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAMlE,OAAOqE,aAAc,QAAahH,IAAT+G,EAAoB,CAAE,IAAIE,EAAMF,EAAK3D,KAAKyD,EAAOC,GAAQ,WAAY,GAAqB,WAAjB,GAAQG,GAAmB,OAAOA,EAAK,MAAM,IAAIzC,UAAU,+CAAiD,CAAE,OAAiB,WAATsC,EAAoBI,OAASC,QAAQN,EAAQ,CADnV,CAAaD,EAAK,UAAW,MAAwB,WAAjB,GAAQtF,GAAoBA,EAAM4F,OAAO5F,EAAM,CAD1E,CAAeA,MAAiBR,EAAOC,OAAO4F,eAAe7F,EAAKQ,EAAK,CAAEkC,MAAOA,EAAO6C,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBzG,EAAIQ,GAAOkC,EAAgB1C,CAAK,CAMpO,IAAIggB,GAAe,SAAsBhV,EAAOoE,GACrD,OAAQA,EAAOE,MACb,IAAK,kBAqHL,IAAK,YAED,OAAO,GAAc,GAAc,CAAC,EAAGtE,GAAQ,CAAC,EAAG,CACjDwG,aAAcpC,EAAOpF,UAlH3B,IAAK,WAED,OAAO,GAAc,GAAc,CAAC,EAAGgB,GAAQ,CAAC,EAAG,CACjDyG,MAAOrC,EAAOpF,QACd0H,WAAY,OAGlB,IAAK,iBAED,OAAO,GAAc,GAAc,CAAC,EAAG1G,GAAQ,CAAC,EAAG,CACjD4C,YAAawB,EAAOpF,UAG1B,IAAK,YAED,OAAO,GAAc,GAAc,CAAC,EAAGgB,GAAQ,CAAC,EAAG,CACjD2C,OAAQyB,EAAOpF,UAGrB,IAAK,YAED,OAAO,GAAc,GAAc,CAAC,EAAGgB,GAAQ,CAAC,EAAG,CACjD2G,OAAQvC,EAAOpF,UAGrB,IAAK,aAED,OAAO,GAAc,GAAc,CAAC,EAAGgB,GAAQ,CAAC,EAAG,CACjDS,QAAS,GAAc,GAAc,CAAC,EAAGT,EAAMS,SAAU2D,EAAOpF,WAGtE,IAAK,YAED,IAAI8O,EAAY,GAAc,GAAc,CAAC,EAAG9N,GAAQ,CAAC,EAAG,CAC1DwG,aAAcpC,EAAOpF,QAAQiW,eAAe,oBAAsB7Q,EAAOpF,QAAQ+T,iBAAmB4B,GAAoB,EAAG3U,EAAMwG,aAAcrB,EAAcnF,GAAQoE,EAAON,MAAMoC,uBAEpL,OAAO,GAAc,GAAc,CAAC,EAAG4H,GAAY,CAAC,EAAG,CACrDpH,WAAY+N,GAAc,CACxBzU,MAAO8N,MAIf,IAAK,UAED,IAAIoH,EAAa,GAAc,GAAc,CAAC,EAAGlV,GAAQ,CAAC,EAAG,CAC3DwG,aAAcmO,IAAqB,EAAG3U,EAAMwG,aAAcrB,EAAcnF,GAAQoE,EAAON,MAAMoC,uBAE/F,OAAO,GAAc,GAAc,CAAC,EAAGgP,GAAa,CAAC,EAAG,CACtDxO,WAAY+N,GAAc,CACxBzU,MAAOkV,MAIf,IAAK,SAED,OAAIlV,EAAM2C,OACD,GAAc,GAAc,CAAC,EAAG3C,GAAQ,CAAC,EAAG,CACjDwG,aAAc,KACd7D,QAAQ,EACR+D,WAAY,OAGT,GAAc,GAAc,CAAC,EAAG1G,GAAQ,CAAC,EAAG,CACjDwG,aAAc,KACdC,MAAO,GACPE,OAAQ,OACR/D,YAAa,KAGnB,IAAK,SAED,OAAO,GAAc,GAAc,CAAC,EAAG5C,GAAQ,CAAC,EAAG,CACjDwG,aAAc,KACd7D,QAAQ,EACRgE,OAAQ,SAGd,IAAK,QAED,OAAO,GAAc,GAAc,CAAC,EAAG3G,GAAQ,CAAC,EAAG,CACjDwG,cAM6B,IAA7BpC,EAAON,MAAM+B,YAAuBzB,EAAON,MAAMoC,oBAAsB,KACvES,OAAQ,OACRD,WAAY,KACZD,MAAO,KAGb,IAAK,QAED,OAAO,GAAc,GAAc,CAAC,EAAGzG,GAAQ,CAAC,EAAG,CACjDwG,aAAcpC,EAAON,MAAMoC,oBAC3BvD,QAASyB,EAAON,MAAM+B,aAAe2B,QAAQxH,EAAMyG,SAAWrC,EAAON,MAAMsC,gBAAgB,CACzFpG,MAAOA,MAIf,IAAK,OAED,OAAIoE,EAAON,MAAM8B,MACR5F,EAEF,GAAc,GAAc,CAAC,EAAGA,GAAQ,CAAC,EAAG,CACjD2C,QAAQ,EACR6D,aAAc,OASpB,IAAK,aAED,OAAO,GAAc,GAAc,CAAC,EAAGxG,GAAQ,CAAC,EAAG,CACjDwG,aAAcpC,EAAON,MAAMoC,sBAGjC,QAEE,MADiB,sBAAsBlJ,OAAOgL,KAAKC,UAAU7D,EAAOE,MAAO,sBACpEtE,EAEb,EChJA,SAAS,GAAQhL,GAAkC,OAAO,GAAU,mBAAqB6B,QAAU,iBAAmBA,OAAOC,SAAW,SAAU9B,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqB6B,QAAU7B,EAAIqD,cAAgBxB,QAAU7B,IAAQ6B,OAAOqB,UAAY,gBAAkBlD,CAAK,EAAG,GAAQA,EAAM,CAC/U,SAAS,GAAQiF,EAAQC,GAAkB,IAAI7E,EAAOJ,OAAOI,KAAK4E,GAAS,GAAIhF,OAAO4E,sBAAuB,CAAE,IAAIM,EAAUlF,OAAO4E,sBAAsBI,GAASC,IAAmBC,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOpF,OAAOqF,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKlF,EAAKoC,KAAK9C,MAAMU,EAAM8E,EAAU,CAAE,OAAO9E,CAAM,CACpV,SAAS,GAAcoE,GAAU,IAAK,IAAI/C,EAAI,EAAGA,EAAItC,UAAUC,OAAQqC,IAAK,CAAE,IAAI6C,EAAS,MAAQnF,UAAUsC,GAAKtC,UAAUsC,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQzB,OAAOsE,IAAS,GAAIkB,SAAQ,SAAUjF,GAAO,GAAgBiE,EAAQjE,EAAK+D,EAAO/D,GAAO,IAAKP,OAAO0F,0BAA4B1F,OAAO2F,iBAAiBnB,EAAQxE,OAAO0F,0BAA0BpB,IAAW,GAAQtE,OAAOsE,IAASkB,SAAQ,SAAUjF,GAAOP,OAAO4F,eAAepB,EAAQjE,EAAKP,OAAOqF,yBAAyBf,EAAQ/D,GAAO,GAAI,CAAE,OAAOiE,CAAQ,CACzf,SAAS,GAAgBzE,EAAKQ,EAAKkC,GAA4L,OAAnLlC,EAC5C,SAAwBsF,GAAO,IAAItF,EACnC,SAAsBuF,EAAOC,GAAQ,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAMlE,OAAOqE,aAAc,QAAahH,IAAT+G,EAAoB,CAAE,IAAIE,EAAMF,EAAK3D,KAAKyD,EAAOC,GAAQ,WAAY,GAAqB,WAAjB,GAAQG,GAAmB,OAAOA,EAAK,MAAM,IAAIzC,UAAU,+CAAiD,CAAE,OAAiB,WAATsC,EAAoBI,OAASC,QAAQN,EAAQ,CADnV,CAAaD,EAAK,UAAW,MAAwB,WAAjB,GAAQtF,GAAoBA,EAAM4F,OAAO5F,EAAM,CAD1E,CAAeA,MAAiBR,EAAOC,OAAO4F,eAAe7F,EAAKQ,EAAK,CAAEkC,MAAOA,EAAO6C,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBzG,EAAIQ,GAAOkC,EAAgB1C,CAAK,CAYpO,SAASmgB,GAAmB9U,GAEjC,IAAI+U,EAAc,GACdtR,EAAQ0B,GAAgBnF,EAAS+U,GACjCzK,EAAQ/G,EAAYoR,GAAclR,GAUtC,SAA4BnO,GAC1B,IAAI0f,EAAgBC,EAChBjR,EAAY1O,EAAK0O,UACnBrE,EAAQrK,EAAKqK,MAOf,GANA8D,EAAMP,cAAc,GAAc,CAChCc,UAAWA,EACXrE,MAAOA,EACP+N,QAASA,EACTjF,UAAWhF,EAAMgF,WAChBkF,KACEuH,KAAyE,QAApCF,EAAiBrV,EAAMS,eAAwC,IAAnB4U,GAAgG,QAAlEC,EAAwBD,EAAerS,6BAA6D,IAA1BsS,GAAoCA,EAAsB3R,sBAA0C,IAAnBG,EAAM/D,SAAoB,CACvS,IAAIwH,EAASnH,EAA4B,CACvCS,+BAA+B,IAEjCiD,EAAM6B,QAAQlO,KAAK8P,GACnBiO,EAAiB,CAACjO,GACpB,CACF,IA1BIyG,ExBbC,SAAgCrY,GACrC,IAAIgV,EAAQhV,EAAKgV,MA+BjB,MAAO,CACLwD,gBA/BoB,SAAyBzW,GAC7CiT,EAAMxG,SAAS,kBAAmBzM,EACpC,EA8BEwW,SA7Ba,SAAkBxW,GAC/BiT,EAAMxG,SAAS,WAAYzM,EAC7B,EA4BEuW,eA3BmB,SAAwBwH,GAC3C,IAAIC,EAAa,EACbhe,EAAQ+d,EAAS7Z,KAAI,SAAUyJ,GACjC,OAAO,EAAc,EAAc,CAAC,EAAGA,GAAa,CAAC,EAAG,CAGtDvP,MAAOiP,EAAQM,EAAWvP,OAAO8F,KAAI,SAAUhG,GAC7C,OAAO,EAAc,EAAc,CAAC,EAAGA,GAAO,CAAC,EAAG,CAChD8d,kBAAmBgC,KAEvB,KAEJ,IACA/K,EAAMxG,SAAS,iBAAkBzM,EACnC,EAcE2Q,UAbc,SAAmB3Q,GACjCiT,EAAMxG,SAAS,YAAazM,EAC9B,EAYE0W,UAXc,SAAmB1W,GACjCiT,EAAMxG,SAAS,YAAazM,EAC9B,EAUEoL,WATe,SAAoBpL,GACnCiT,EAAMxG,SAAS,aAAczM,EAC/B,EASF,CwB3BgBie,CAAuB,CACnChL,MAAOA,IAELiL,EAAchG,GAAe,GAAc,CAC7C9L,MAAOA,EACPiK,QAASA,EACTpD,MAAOA,EACP7B,UAAWhF,EAAMgF,WAChBkF,IAmBH,SAASD,IACP,OAAOH,GAAQ,GAAc,CAC3B1N,MAAO,IAAI2V,MAAM,SACjB/H,UAAW,CACTnL,OAAQgI,EAAMzG,WAAWvB,QAE3BmB,MAAOA,EACPgF,UAAWhF,EAAMgF,UACjBrC,MAAOkE,EAAMzG,WAAWuC,MACxBsH,QAASA,EACTpD,MAAOA,GACNqD,GACL,CACA,SAASwH,EAAiB7P,GACxBA,EAAQlL,SAAQ,SAAU8M,GACxB,IAAIuO,EACJ,OAAkD,QAA1CA,EAAoBvO,EAAO1E,iBAA6C,IAAtBiT,OAA+B,EAASA,EAAkBxe,KAAKiQ,EAAQ,GAAc,GAAc,CAAC,EAAGyG,GAAU,CAAC,EAAG,CAC7KlF,UAAWhF,EAAMgF,UACjBiF,QAASA,EACTrN,SAAU,SAAkB3M,GAC1BqhB,EAAY3d,KAAK,CACfiJ,SAAU3M,GAEd,EACA6M,SAAU,SAAkB7M,GAC1BqhB,EAAY3d,KAAK,CACfmJ,SAAU7M,GAEd,EACAuU,UAAW,SAAmBvU,GAC5BqhB,EAAY3d,KAAK,CACf6Q,UAAWvU,GAEf,IAEJ,GACF,CACA,SAASwhB,IACP,OAAOzR,EAAM6B,QAAQ6I,MAAK,SAAUjH,GAClC,MAAuB,6BAAhBA,EAAOjP,IAChB,GACF,CACA,GAAIwL,EAAM/D,WAAawV,IAAkC,CACvD,IAAIQ,EAA2C,mBAAnBjS,EAAM/D,SAAyB,CAAC,EAAI+D,EAAM/D,SACtE+D,EAAM6B,QAAQlO,KAAK2I,EAA4B2V,GACjD,CASA,OARAP,EAAiB1R,EAAM6B,SJnElB,SAAwBhH,GAC7B,IAAIqX,EAAuBC,EACvBC,EAAWvX,EAAMuX,SACnBxU,EAAc/C,EAAM+C,YAEtB,GAD4E,QAAnDsU,EAAwBtU,EAAYoH,iBAAiD,IAA1BkN,GAA2G,QAA9DC,EAAyBD,EAAsBnE,iBAAkD,IAA3BoE,OAAhF,EAA6HA,EAAuBnO,SAAS,mBAC7P,CACrB,IAAIqO,EAAoBzU,EAAYG,SAASC,cAAc,QACvDsU,EAAU1U,EAAYG,SAASwU,cAAc,QACjDF,EAAkB7d,KAAO,mBACzB5D,YAAW,WACTyhB,EAAkBG,QAAUtO,KAAKC,UAAUiO,GAC3CE,EAAQ/T,YAAY8T,EACtB,GAAG,EACL,CACF,CIsDEI,CAAe,CACbL,SAAUlC,GAAY,CACpBrO,QAAS7B,EAAM6B,QACftF,QAASA,IAEXqB,YAAaoC,EAAMpC,cAEd,GAAc,GAAc,CACjCqM,QAASA,EACTjF,UAAWhF,EAAMgF,WAChB8M,GAAc5H,EACnB,CCzGA,IAAI/V,GAAE,SAASue,EAAEC,EAAEC,EAAEC,GAAG,IAAIC,EAAEH,EAAE,GAAG,EAAE,IAAI,IAAII,EAAE,EAAEA,EAAEJ,EAAEpiB,OAAOwiB,IAAI,CAAC,IAAIC,EAAEL,EAAEI,KAAK5R,EAAEwR,EAAEI,IAAIJ,EAAE,IAAIK,EAAE,EAAE,EAAEJ,EAAED,EAAEI,OAAOJ,IAAII,GAAG,IAAIC,EAAEH,EAAE,GAAG1R,EAAE,IAAI6R,EAAEH,EAAE,GAAG1hB,OAAOiU,OAAOyN,EAAE,IAAI,CAAC,EAAE1R,GAAG,IAAI6R,GAAGH,EAAE,GAAGA,EAAE,IAAI,CAAC,GAAGF,IAAII,IAAI5R,EAAE,IAAI6R,EAAEH,EAAE,GAAGF,IAAII,KAAK5R,EAAE,GAAG6R,GAAGF,EAAEJ,EAAE7hB,MAAMsQ,EAAEhN,GAAEue,EAAEvR,EAAEyR,EAAE,CAAC,GAAG,QAAQC,EAAElf,KAAKmf,GAAG3R,EAAE,GAAGwR,EAAE,IAAI,GAAGA,EAAEI,EAAE,GAAG,EAAEJ,EAAEI,GAAGD,IAAID,EAAElf,KAAKwN,EAAE,CAAC,OAAO0R,CAAC,EAAEH,GAAE,IAAIO,IAAmB,YAASN,GAAG,IAAIC,EAAEF,GAAEQ,IAAIC,MAAM,OAAOP,IAAIA,EAAE,IAAIK,IAAIP,GAAEU,IAAID,KAAKP,KAAKA,EAAEze,GAAEgf,KAAKP,EAAEM,IAAIP,KAAKC,EAAEQ,IAAIT,EAAEC,EAAE,SAASze,GAAG,IAAI,IAAIue,EAAEC,EAAEC,EAAE,EAAEC,EAAE,GAAGC,EAAE,GAAGC,EAAE,CAAC,GAAGC,EAAE,SAAS7e,GAAG,IAAIye,IAAIze,IAAI0e,EAAEA,EAAEvH,QAAQ,uBAAuB,MAAMyH,EAAEpf,KAAK,EAAEQ,EAAE0e,GAAG,IAAID,IAAIze,GAAG0e,IAAIE,EAAEpf,KAAK,EAAEQ,EAAE0e,GAAGD,EAAE,GAAG,IAAIA,GAAG,QAAQC,GAAG1e,EAAE4e,EAAEpf,KAAK,EAAEQ,EAAE,GAAG,IAAIye,GAAGC,IAAI1e,EAAE4e,EAAEpf,KAAK,EAAE,GAAE,EAAGkf,GAAGD,GAAG,KAAKC,IAAI1e,GAAG,IAAIye,KAAKG,EAAEpf,KAAKif,EAAE,EAAEC,EAAEF,GAAGC,EAAE,GAAGze,IAAI4e,EAAEpf,KAAKif,EAAEze,EAAE,EAAEwe,GAAGC,EAAE,IAAIC,EAAE,EAAE,EAAE1R,EAAE,EAAEA,EAAEhN,EAAE5D,OAAO4Q,IAAI,CAACA,IAAI,IAAIyR,GAAGI,IAAIA,EAAE7R,IAAI,IAAI,IAAIkS,EAAE,EAAEA,EAAElf,EAAEgN,GAAG5Q,OAAO8iB,IAAIX,EAAEve,EAAEgN,GAAGkS,GAAG,IAAIT,EAAE,MAAMF,GAAGM,IAAID,EAAE,CAACA,GAAGH,EAAE,GAAGC,GAAGH,EAAE,IAAIE,EAAE,OAAOC,GAAG,MAAMH,GAAGE,EAAE,EAAEC,EAAE,IAAIA,EAAEH,EAAEG,EAAE,GAAGC,EAAEJ,IAAII,EAAEA,EAAE,GAAGD,GAAGH,EAAE,MAAMA,GAAG,MAAMA,EAAEI,EAAEJ,EAAE,MAAMA,GAAGM,IAAIJ,EAAE,GAAGA,IAAI,MAAMF,GAAGE,EAAE,EAAED,EAAEE,EAAEA,EAAE,IAAI,MAAMH,IAAIE,EAAE,GAAG,MAAMze,EAAEgN,GAAGkS,EAAE,KAAKL,IAAI,IAAIJ,IAAIG,EAAEA,EAAE,IAAIH,EAAEG,GAAGA,EAAEA,EAAE,IAAIpf,KAAK,EAAE,EAAEif,GAAGA,EAAE,GAAG,MAAMF,GAAG,OAAOA,GAAG,OAAOA,GAAG,OAAOA,GAAGM,IAAIJ,EAAE,GAAGC,GAAGH,GAAG,IAAIE,GAAG,QAAQC,IAAID,EAAE,EAAEG,EAAEA,EAAE,GAAG,CAAC,OAAOC,IAAID,CAAC,CAAptB,CAAstBJ,IAAIC,GAAGtiB,UAAU,KAAKC,OAAO,EAAEqiB,EAAEA,EAAE,EAAE,CCA9qC,IAAIU,GAAa,SAAoBzhB,GAC1C,IAAI+L,EAAc/L,EAAK+L,YACnB2V,EAAU3V,EAAYG,SAASyV,gBAAgB,6BAA8B,OACjFD,EAAQE,aAAa,QAAS,iBAC9BF,EAAQE,aAAa,UAAW,aAChCF,EAAQE,aAAa,QAAS,MAC9BF,EAAQE,aAAa,SAAU,MAC/BF,EAAQE,aAAa,OAAQ,gBAC7B,IAAIC,EAAO9V,EAAYG,SAASyV,gBAAgB,6BAA8B,QAG9E,OAFAE,EAAKD,aAAa,IAAK,imBACvBF,EAAQhV,YAAYmV,GACbH,CACT,ECZWI,GAAY,SAAmB9hB,GACxC,IAAI+L,EAAc/L,EAAK+L,YACnB2V,EAAU3V,EAAYG,SAASyV,gBAAgB,6BAA8B,OACjFD,EAAQE,aAAa,QAAS,gBAC9BF,EAAQE,aAAa,UAAW,aAChCF,EAAQE,aAAa,QAAS,MAC9BF,EAAQE,aAAa,SAAU,MAC/BF,EAAQE,aAAa,OAAQ,gBAC7B,IAAIC,EAAO9V,EAAYG,SAASyV,gBAAgB,6BAA8B,QAG9E,OAFAE,EAAKD,aAAa,IAAK,uUACvBF,EAAQhV,YAAYmV,GACbH,CACT,ECZWK,GAAc,SAAqB/hB,GAC5C,IACI0hB,EADc1hB,EAAK+L,YACGG,SAASyV,gBAAgB,6BAA8B,OAMjF,OALAD,EAAQE,aAAa,QAAS,kBAC9BF,EAAQE,aAAa,UAAW,eAChCF,EAAQE,aAAa,QAAS,MAC9BF,EAAQE,aAAa,SAAU,MAC/BF,EAAQM,UAAY,yXACbN,CACT,ECFIO,GAAuB,CAAC,eAAgB,aAAc,cAAe,iBAQzE,SAASC,GAASC,EAAOtiB,EAAKkC,GAE1BogB,EAAMtiB,GADM,OAAVkC,EACW,GACa,kBAAVA,EACHA,EAEAA,EAAQ,IAEzB,CAKA,SAASqgB,GAAW7X,GAClB+W,KAAKe,WAAW9X,EAAMoE,MAAMpE,EAC9B,CAKO,SAAS+X,GAAYC,EAAK5f,EAAMZ,GACrC,IAAIygB,EACAC,EACAC,EAAWH,EAAI5f,GACnB,GAAa,UAATA,EACF,GAAoB,iBAATZ,EACTwgB,EAAIJ,MAAQpgB,OAEZ,GAAc,OAAVA,EACFwgB,EAAIJ,MAAQ,QAEZ,IAAKxf,KAAQZ,EACN2gB,GAAY3gB,EAAMY,KAAU+f,EAAS/f,IACxCuf,GAASK,EAAIJ,MAAOxf,EAAMZ,EAAMY,QAOrB,MAAZA,EAAK,IAA0B,MAAZA,EAAK,IAC/B6f,EAAa7f,KAAUA,EAAOA,EAAK8W,QAAQ,WAAY,OACvDgJ,EAAY9f,EAAKggB,iBACAJ,GAAON,GAAqB9P,SAASsQ,MAAY9f,EAAO8f,GACzE9f,EAAOA,EAAKF,MAAM,GACb8f,EAAIF,aAAYE,EAAIF,WAAa,CAAC,GACvCE,EAAIF,WAAW1f,GAAQZ,EACnBA,EACG2gB,GAAUH,EAAIK,iBAAiBjgB,EAAMyf,GAAYI,GAEtDD,EAAIM,oBAAoBlgB,EAAMyf,GAAYI,IAE1B,SAAT7f,GAA4B,YAATA,GAGrB,SAATA,GAA4B,SAATA,GAA4B,SAATA,GAA4B,aAATA,GAAgC,SAATA,GAAmBA,KAAQ4f,EACzGA,EAAI5f,GAAiB,MAATZ,EAAgB,GAAKA,EACR,mBAATA,GAAgC,4BAATY,IAC1B,MAATZ,IAA2B,IAAVA,IAOpB,MAAMc,KAAKF,GACV4f,EAAIO,gBAAgBngB,GAEpB4f,EAAIX,aAAajf,EAAMZ,GAG7B,CACA,SAASghB,GAAkBpgB,GACzB,OAAQA,GACN,IAAK,WACH,MAAO,UAET,IAAK,mBACH,MAAO,mBACT,QACE,OAAOA,EAEb,CACO,SAASqgB,GAAcT,EAAKpU,GACjC,IAAK,IAAIxL,KAAQwL,EACfmU,GAAYC,EAAKQ,GAAkBpgB,GAAOwL,EAAMxL,GAEpD,CACO,SAASsgB,GAA2BV,EAAKpU,GAC9C,IAAK,IAAIxL,KAAQwL,EACG,MAAZxL,EAAK,IAA0B,MAAZA,EAAK,IAC5B2f,GAAYC,EAAKQ,GAAkBpgB,GAAOwL,EAAMxL,GAGtD,CC7GA,IAAI,GAAY,CAAC,YACjB,SAAS,GAAmB7B,GAAO,OAInC,SAA4BA,GAAO,GAAIlC,MAAMoC,QAAQF,GAAM,OAAO,GAAkBA,EAAM,CAJhD,CAAmBA,IAG7D,SAA0B0C,GAAQ,GAAsB,qBAAXtC,QAAmD,MAAzBsC,EAAKtC,OAAOC,WAA2C,MAAtBqC,EAAK,cAAuB,OAAO5E,MAAMgE,KAAKY,EAAO,CAHxF,CAAiB1C,IAEtF,SAAqCqB,EAAGC,GAAU,IAAKD,EAAG,OAAQ,GAAiB,kBAANA,EAAgB,OAAO,GAAkBA,EAAGC,GAAS,IAAIE,EAAIhD,OAAOiD,UAAUC,SAASb,KAAKQ,GAAGM,MAAM,GAAI,GAAc,WAANH,GAAkBH,EAAEO,cAAaJ,EAAIH,EAAEO,YAAYC,MAAM,GAAU,QAANL,GAAqB,QAANA,EAAa,OAAO1D,MAAMgE,KAAKT,GAAI,GAAU,cAANG,GAAqB,2CAA2CO,KAAKP,GAAI,OAAO,GAAkBH,EAAGC,EAAS,CAFjU,CAA4BtB,IAC1H,WAAgC,MAAM,IAAIiC,UAAU,uIAAyI,CAD3D,EAAsB,CAKxJ,SAAS,GAAkBjC,EAAKmC,IAAkB,MAAPA,GAAeA,EAAMnC,EAAIpC,UAAQuE,EAAMnC,EAAIpC,QAAQ,IAAK,IAAIqC,EAAI,EAAGmC,EAAO,IAAItE,MAAMqE,GAAMlC,EAAIkC,EAAKlC,IAAKmC,EAAKnC,GAAKD,EAAIC,GAAI,OAAOmC,CAAM,CAClL,SAAS,GAAyBU,EAAQC,GAAY,GAAc,MAAVD,EAAgB,MAAO,CAAC,EAAG,IAAkE/D,EAAKkB,EAAnE+C,EACzF,SAAuCF,EAAQC,GAAY,GAAc,MAAVD,EAAgB,MAAO,CAAC,EAAG,IAA2D/D,EAAKkB,EAA5D+C,EAAS,CAAC,EAAOC,EAAazE,OAAOI,KAAKkE,GAAqB,IAAK7C,EAAI,EAAGA,EAAIgD,EAAWrF,OAAQqC,IAAOlB,EAAMkE,EAAWhD,GAAQ8C,EAASG,QAAQnE,IAAQ,IAAaiE,EAAOjE,GAAO+D,EAAO/D,IAAQ,OAAOiE,CAAQ,CADhN,CAA8BF,EAAQC,GAAuB,GAAIvE,OAAO4E,sBAAuB,CAAE,IAAIC,EAAmB7E,OAAO4E,sBAAsBN,GAAS,IAAK7C,EAAI,EAAGA,EAAIoD,EAAiBzF,OAAQqC,IAAOlB,EAAMsE,EAAiBpD,GAAQ8C,EAASG,QAAQnE,IAAQ,GAAkBP,OAAOiD,UAAU6B,qBAAqBzC,KAAKiC,EAAQ/D,KAAgBiE,EAAOjE,GAAO+D,EAAO/D,GAAQ,CAAE,OAAOiE,CAAQ,CAGpe,SAASof,GAAoBnX,GAClC,OAAO,SAA0BoX,EAASnjB,GACxC,IAAIojB,EAAgBpjB,EAAKqjB,SACvBA,OAA6B,IAAlBD,EAA2B,GAAKA,EAC3CjV,EAAQ,GAAyBnO,EAAM,IACrC0hB,EAAU3V,EAAYG,SAASC,cAAcgX,GAGjD,OAFAH,GAActB,EAASvT,GACvBuT,EAAQ4B,OAAOtkB,MAAM0iB,EAAS,GAAmB2B,IAC1C3B,CACT,CACF,CCpBA,SAAS,GAAQriB,GAAkC,OAAO,GAAU,mBAAqB6B,QAAU,iBAAmBA,OAAOC,SAAW,SAAU9B,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqB6B,QAAU7B,EAAIqD,cAAgBxB,QAAU7B,IAAQ6B,OAAOqB,UAAY,gBAAkBlD,CAAK,EAAG,GAAQA,EAAM,CAC/U,IAAI,GAAY,CAAC,uBAAwB,cAAe,aAAc,gBAAiB,oBAAqB,aAAc,SAC1H,SAAS,GAAQiF,EAAQC,GAAkB,IAAI7E,EAAOJ,OAAOI,KAAK4E,GAAS,GAAIhF,OAAO4E,sBAAuB,CAAE,IAAIM,EAAUlF,OAAO4E,sBAAsBI,GAASC,IAAmBC,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOpF,OAAOqF,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKlF,EAAKoC,KAAK9C,MAAMU,EAAM8E,EAAU,CAAE,OAAO9E,CAAM,CACpV,SAAS,GAAcoE,GAAU,IAAK,IAAI/C,EAAI,EAAGA,EAAItC,UAAUC,OAAQqC,IAAK,CAAE,IAAI6C,EAAS,MAAQnF,UAAUsC,GAAKtC,UAAUsC,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQzB,OAAOsE,IAAS,GAAIkB,SAAQ,SAAUjF,GAAO,GAAgBiE,EAAQjE,EAAK+D,EAAO/D,GAAO,IAAKP,OAAO0F,0BAA4B1F,OAAO2F,iBAAiBnB,EAAQxE,OAAO0F,0BAA0BpB,IAAW,GAAQtE,OAAOsE,IAASkB,SAAQ,SAAUjF,GAAOP,OAAO4F,eAAepB,EAAQjE,EAAKP,OAAOqF,yBAAyBf,EAAQ/D,GAAO,GAAI,CAAE,OAAOiE,CAAQ,CACzf,SAAS,GAAgBzE,EAAKQ,EAAKkC,GAA4L,OAAnLlC,EAC5C,SAAwBsF,GAAO,IAAItF,EACnC,SAAsBuF,EAAOC,GAAQ,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAMlE,OAAOqE,aAAc,QAAahH,IAAT+G,EAAoB,CAAE,IAAIE,EAAMF,EAAK3D,KAAKyD,EAAOC,GAAQ,WAAY,GAAqB,WAAjB,GAAQG,GAAmB,OAAOA,EAAK,MAAM,IAAIzC,UAAU,+CAAiD,CAAE,OAAiB,WAATsC,EAAoBI,OAASC,QAAQN,EAAQ,CADnV,CAAaD,EAAK,UAAW,MAAwB,WAAjB,GAAQtF,GAAoBA,EAAM4F,OAAO5F,EAAM,CAD1E,CAAeA,MAAiBR,EAAOC,OAAO4F,eAAe7F,EAAKQ,EAAK,CAAEkC,MAAOA,EAAO6C,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBzG,EAAIQ,GAAOkC,EAAgB1C,CAAK,CAG3O,SAAS,GAAyBuE,EAAQC,GAAY,GAAc,MAAVD,EAAgB,MAAO,CAAC,EAAG,IAAkE/D,EAAKkB,EAAnE+C,EACzF,SAAuCF,EAAQC,GAAY,GAAc,MAAVD,EAAgB,MAAO,CAAC,EAAG,IAA2D/D,EAAKkB,EAA5D+C,EAAS,CAAC,EAAOC,EAAazE,OAAOI,KAAKkE,GAAqB,IAAK7C,EAAI,EAAGA,EAAIgD,EAAWrF,OAAQqC,IAAOlB,EAAMkE,EAAWhD,GAAQ8C,EAASG,QAAQnE,IAAQ,IAAaiE,EAAOjE,GAAO+D,EAAO/D,IAAQ,OAAOiE,CAAQ,CADhN,CAA8BF,EAAQC,GAAuB,GAAIvE,OAAO4E,sBAAuB,CAAE,IAAIC,EAAmB7E,OAAO4E,sBAAsBN,GAAS,IAAK7C,EAAI,EAAGA,EAAIoD,EAAiBzF,OAAQqC,IAAOlB,EAAMsE,EAAiBpD,GAAQ8C,EAASG,QAAQnE,IAAQ,GAAkBP,OAAOiD,UAAU6B,qBAAqBzC,KAAKiC,EAAQ/D,KAAgBiE,EAAOjE,GAAO+D,EAAO/D,GAAQ,CAAE,OAAOiE,CAAQ,CAIpe,IAAIyf,GAAQ,SAAevjB,GAChC,IAAIwjB,EAAuBxjB,EAAKwjB,qBAC9BzX,EAAc/L,EAAK+L,YAEnB4P,GADa3b,EAAKyjB,WACFzjB,EAAK2b,eACrB+H,EAAoB1jB,EAAK0jB,kBACzBC,EAAa3jB,EAAK2jB,WAClBtZ,EAAQrK,EAAKqK,MACb8D,EAAQ,GAAyBnO,EAAM,IAErC0hB,EADmBwB,GAAoBnX,EAC7B6X,CAAiB,QAASzV,GACpC0V,EAAalI,EAAc,GAAc,CAC3CtR,MAAOA,EACP8D,MAAOuV,EAAkB,CACvBtJ,aAAcsH,IAEhBtH,aAAcsH,GACb8B,IAUH,OATAR,GAActB,EAAS,GAAc,GAAc,CAAC,EAAGmC,GAAa,CAAC,EAAG,CACtEhH,UAAW,SAAmBtS,GAExBoZ,GAA4B,QAAdpZ,EAAM1K,KAGxBgkB,EAAWhH,UAAUtS,EACvB,KAEKmX,CACT,ECvCA,SAAS,GAAQriB,GAAkC,OAAO,GAAU,mBAAqB6B,QAAU,iBAAmBA,OAAOC,SAAW,SAAU9B,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqB6B,QAAU7B,EAAIqD,cAAgBxB,QAAU7B,IAAQ6B,OAAOqB,UAAY,gBAAkBlD,CAAK,EAAG,GAAQA,EAAM,CAC/U,SAAS,GAAQiF,EAAQC,GAAkB,IAAI7E,EAAOJ,OAAOI,KAAK4E,GAAS,GAAIhF,OAAO4E,sBAAuB,CAAE,IAAIM,EAAUlF,OAAO4E,sBAAsBI,GAASC,IAAmBC,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOpF,OAAOqF,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKlF,EAAKoC,KAAK9C,MAAMU,EAAM8E,EAAU,CAAE,OAAO9E,CAAM,CACpV,SAAS,GAAcoE,GAAU,IAAK,IAAI/C,EAAI,EAAGA,EAAItC,UAAUC,OAAQqC,IAAK,CAAE,IAAI6C,EAAS,MAAQnF,UAAUsC,GAAKtC,UAAUsC,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQzB,OAAOsE,IAAS,GAAIkB,SAAQ,SAAUjF,GAAO,GAAgBiE,EAAQjE,EAAK+D,EAAO/D,GAAO,IAAKP,OAAO0F,0BAA4B1F,OAAO2F,iBAAiBnB,EAAQxE,OAAO0F,0BAA0BpB,IAAW,GAAQtE,OAAOsE,IAASkB,SAAQ,SAAUjF,GAAOP,OAAO4F,eAAepB,EAAQjE,EAAKP,OAAOqF,yBAAyBf,EAAQ/D,GAAO,GAAI,CAAE,OAAOiE,CAAQ,CACzf,SAAS,GAAgBzE,EAAKQ,EAAKkC,GAA4L,OAAnLlC,EAC5C,SAAwBsF,GAAO,IAAItF,EACnC,SAAsBuF,EAAOC,GAAQ,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAMlE,OAAOqE,aAAc,QAAahH,IAAT+G,EAAoB,CAAE,IAAIE,EAAMF,EAAK3D,KAAKyD,EAAOC,GAAQ,WAAY,GAAqB,WAAjB,GAAQG,GAAmB,OAAOA,EAAK,MAAM,IAAIzC,UAAU,+CAAiD,CAAE,OAAiB,WAATsC,EAAoBI,OAASC,QAAQN,EAAQ,CADnV,CAAaD,EAAK,UAAW,MAAwB,WAAjB,GAAQtF,GAAoBA,EAAM4F,OAAO5F,EAAM,CAD1E,CAAeA,MAAiBR,EAAOC,OAAO4F,eAAe7F,EAAKQ,EAAK,CAAEkC,MAAOA,EAAO6C,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBzG,EAAIQ,GAAOkC,EAAgB1C,CAAK,CCH3O,IAAI,GAAEmiB,GAAEP,GAAIlgB,GAAEoB,GAAE4e,GAAE+C,GAAIC,GAAE,CAAC,EAAEjD,GAAE,GAAGxR,GAAE,oEAAoE4R,GAAEtiB,MAAMoC,QAAQ,SAASgjB,GAAE1hB,EAAEkf,GAAG,IAAI,IAAIP,KAAKO,EAAElf,EAAE2e,GAAGO,EAAEP,GAAG,OAAO3e,CAAC,CAAC,SAAS6e,GAAE7e,GAAG,IAAIkf,EAAElf,EAAE2hB,WAAWzC,GAAGA,EAAE0C,YAAY5hB,EAAE,CAAC,SAAS6hB,GAAE3C,EAAEP,EAAEJ,GAAG,IAAI9f,EAAEoB,EAAE4e,EAAE+C,EAAE,CAAC,EAAE,IAAI/C,KAAKE,EAAE,OAAOF,EAAEhgB,EAAEkgB,EAAEF,GAAG,OAAOA,EAAE5e,EAAE8e,EAAEF,GAAG+C,EAAE/C,GAAGE,EAAEF,GAAG,GAAGtiB,UAAUC,OAAO,IAAIolB,EAAET,SAAS5kB,UAAUC,OAAO,EAAE,GAAEiD,KAAKlD,UAAU,GAAGoiB,GAAG,mBAAmBW,GAAG,MAAMA,EAAE4C,aAAa,IAAIrD,KAAKS,EAAE4C,kBAAa,IAASN,EAAE/C,KAAK+C,EAAE/C,GAAGS,EAAE4C,aAAarD,IAAI,OAAOsD,GAAE7C,EAAEsC,EAAE/iB,EAAEoB,EAAE,KAAK,CAAC,SAASkiB,GAAE/hB,EAAEue,EAAE9f,EAAEoB,EAAE4e,GAAG,IAAI+C,EAAE,CAACnV,KAAKrM,EAAE6L,MAAM0S,EAAEhhB,IAAIkB,EAAEujB,IAAIniB,EAAEoiB,IAAI,KAAKC,GAAG,KAAKC,IAAI,EAAEC,IAAI,KAAKC,SAAI,EAAOC,IAAI,KAAKliB,iBAAY,EAAOmiB,IAAI,MAAM9D,IAAIE,GAAEF,EAAE+D,KAAK,EAAEC,IAAI,GAAG,OAAO,MAAMhE,GAAG,MAAMS,GAAEwD,OAAOxD,GAAEwD,MAAMlB,GAAGA,CAAC,CAAmC,SAASmB,GAAE3iB,GAAG,OAAOA,EAAE+gB,QAAQ,CAAC,SAAS9T,GAAEjN,EAAEkf,GAAGF,KAAKnT,MAAM7L,EAAEgf,KAAKxW,QAAQ0W,CAAC,CAAC,SAAS0D,GAAE5iB,EAAEkf,GAAG,GAAG,MAAMA,EAAE,OAAOlf,EAAEkiB,GAAGU,GAAE5iB,EAAEkiB,GAAGliB,EAAEwiB,IAAI,GAAG,KAAK,IAAI,IAAI7D,EAAEO,EAAElf,EAAEiiB,IAAI7lB,OAAO8iB,IAAI,GAAG,OAAOP,EAAE3e,EAAEiiB,IAAI/C,KAAK,MAAMP,EAAEyD,IAAI,OAAOzD,EAAEyD,IAAI,MAAM,mBAAmBpiB,EAAEqM,KAAKuW,GAAE5iB,GAAG,IAAI,CAAC,SAAS6iB,GAAE7iB,EAAE2e,EAAEJ,GAAG,IAAI9f,EAAEoB,EAAEG,EAAEuiB,IAAI9D,EAAE5e,EAAEuiB,IAAIZ,EAAExhB,EAAE8iB,IAAI,GAAGtB,EAAE,OAAO/iB,EAAEijB,GAAE,CAAC,EAAE7hB,IAAI0iB,IAAI1iB,EAAE0iB,IAAI,EAAErD,GAAEwD,OAAOxD,GAAEwD,MAAMjkB,GAAGskB,GAAEvB,EAAE/iB,EAAEoB,EAAEG,EAAEgjB,SAAI,IAASxB,EAAEyB,gBAAgB,GAAGpjB,EAAE4iB,IAAI,CAAChE,GAAG,KAAKE,EAAE,MAAMF,EAAEmE,GAAE/iB,GAAG4e,KAAK,GAAG5e,EAAE4iB,KAAKlE,GAAG9f,EAAEyjB,GAAGD,IAAIxjB,EAAE+jB,KAAK/jB,EAAEA,EAAE4jB,SAAI,EAAO5jB,EAAE2jB,KAAK3D,GAAGyE,GAAEzkB,GAAGA,CAAC,CAAC,SAASykB,GAAEljB,GAAG,IAAIkf,EAAEP,EAAE,GAAG,OAAO3e,EAAEA,EAAEkiB,KAAK,MAAMliB,EAAEsiB,IAAI,CAAC,IAAItiB,EAAEoiB,IAAIpiB,EAAEsiB,IAAIa,KAAK,KAAKjE,EAAE,EAAEA,EAAElf,EAAEiiB,IAAI7lB,OAAO8iB,IAAI,GAAG,OAAOP,EAAE3e,EAAEiiB,IAAI/C,KAAK,MAAMP,EAAEyD,IAAI,CAACpiB,EAAEoiB,IAAIpiB,EAAEsiB,IAAIa,KAAKxE,EAAEyD,IAAI,KAAK,CAAC,OAAOc,GAAEljB,EAAE,CAAC,CAAC,SAAS9B,GAAE8B,KAAKA,EAAEqiB,MAAMriB,EAAEqiB,KAAI,IAAK5jB,GAAEe,KAAKQ,KAAKojB,GAAEC,OAAOxjB,KAAIqf,GAAEoE,sBAAsBzjB,GAAEqf,GAAEoE,oBAAoB7E,IAAG2E,GAAE,CAAC,SAASA,KAAI,IAAIpjB,EAAE2e,EAAEJ,EAAE1e,EAAE,GAAG4e,EAAE,GAAG,IAAIhgB,GAAE8kB,KAAK/B,IAAGxhB,EAAEvB,GAAE+kB,SAASxjB,EAAEqiB,MAAM9D,EAAE9f,GAAErC,OAAOuiB,EAAEkE,GAAE7iB,EAAEH,EAAE4e,IAAIE,EAAE,IAAIJ,GAAG9f,GAAErC,OAAOmiB,GAAGkF,GAAE5jB,EAAE8e,EAAEF,GAAGA,EAAEriB,OAAOyD,EAAEzD,OAAO,EAAEuiB,OAAE,EAAOlgB,GAAE8kB,KAAK/B,KAAI7C,GAAGO,GAAEoD,KAAKpD,GAAEoD,IAAI3D,EAAEH,KAAIG,GAAG8E,GAAE5jB,EAAE8e,EAAEF,GAAG2E,GAAEC,IAAI,CAAC,CAAC,SAASK,GAAE1jB,EAAEkf,EAAEP,EAAEJ,EAAE9f,EAAEoB,EAAE4e,EAAE+C,EAAE9C,EAAE1R,EAAE4R,GAAG,IAAI8C,EAAE7C,EAAEgD,EAAEE,EAAE/F,EAAE2G,EAAEpE,GAAGA,EAAE0D,KAAKzD,GAAEvR,EAAEiS,EAAE9iB,OAAO,IAAIuiB,EAAE0D,IAAI3D,EAAEiF,GAAEhF,EAAEO,EAAEyD,GAAGjE,EAAEC,EAAE0D,IAAIX,EAAE,EAAEA,EAAEzU,EAAEyU,IAAI,OAAOG,EAAElD,EAAEsD,IAAIP,KAAK,kBAAkBG,GAAG,mBAAmBA,IAAIhD,GAAG,IAAIgD,EAAEW,IAAIf,GAAEkB,EAAEd,EAAEW,MAAMf,GAAEI,EAAEW,IAAId,EAAEqB,GAAE/iB,EAAE6hB,EAAEhD,EAAEpgB,EAAEoB,EAAE4e,EAAE+C,EAAE9C,EAAE1R,EAAE4R,GAAGmD,EAAEF,EAAEO,IAAIP,EAAEG,KAAKnD,EAAEmD,KAAKH,EAAEG,MAAMnD,EAAEmD,KAAK4B,GAAE/E,EAAEmD,IAAI,KAAKH,GAAGjD,EAAEpf,KAAKqiB,EAAEG,IAAIH,EAAES,KAAKP,EAAEF,IAAI,MAAM7F,GAAG,MAAM+F,IAAI/F,EAAE+F,GAAG,MAAMF,EAAEY,KAAK5D,EAAEoD,MAAMJ,EAAEI,IAAIvD,EAAEmF,GAAEhC,EAAEnD,EAAE1e,GAAG,mBAAmB6hB,EAAExV,WAAM,IAASwV,EAAEQ,IAAI3D,EAAEmD,EAAEQ,IAAIN,IAAIrD,EAAEqD,EAAE+B,aAAajC,EAAEQ,SAAI,EAAOR,EAAEY,MAAM,QAAQ9D,EAAE0D,IAAI3D,EAAEC,EAAEyD,IAAIpG,CAAC,CAAC,SAAS2H,GAAE3jB,EAAEkf,EAAEP,GAAG,IAAIJ,EAAE9f,EAAEoB,EAAE4e,EAAE+C,EAAE9C,EAAEQ,EAAE9iB,OAAOqlB,EAAE9C,EAAEviB,OAAOoiB,EAAEiD,EAAEzU,EAAE,EAAE,IAAIhN,EAAEiiB,IAAI,GAAG1D,EAAE,EAAEA,EAAEG,EAAEH,IAAI,OAAO9f,EAAEuB,EAAEiiB,IAAI1D,GAAG,OAAO9f,EAAEygB,EAAEX,KAAK,kBAAkB9f,GAAG,mBAAmBA,EAAE,KAAK,iBAAiBA,GAAG,iBAAiBA,GAAG,iBAAiBA,GAAGA,EAAE2B,aAAa+C,OAAO4e,GAAE,KAAKtjB,EAAE,KAAK,KAAKA,GAAGmgB,GAAEngB,GAAGsjB,GAAEY,GAAE,CAAC5B,SAAStiB,GAAG,KAAK,KAAK,WAAM,IAASA,EAAE2B,aAAa3B,EAAE0jB,IAAI,EAAEJ,GAAEtjB,EAAE4N,KAAK5N,EAAEoN,MAAMpN,EAAElB,IAAIkB,EAAEujB,IAAIvjB,EAAEujB,IAAI,KAAKvjB,EAAE8jB,KAAK9jB,IAAIA,EAAEyjB,GAAGliB,EAAEvB,EAAE0jB,IAAIniB,EAAEmiB,IAAI,EAAEX,EAAEuC,GAAEtlB,EAAEkgB,EAAEF,EAAEF,EAAEvR,EAAEwR,GAAG/f,EAAE+jB,IAAIhB,EAAE3hB,EAAE,MAAM,IAAI2hB,IAAIhD,KAAK3e,EAAE8e,EAAE6C,MAAM3hB,EAAE4iB,KAAK,SAAS,MAAM5iB,GAAG,OAAOA,EAAE0iB,MAAM,GAAGf,GAAGxU,IAAI,mBAAmBvO,EAAE4N,OAAO5N,EAAEgkB,KAAK,QAAQjB,IAAI/C,IAAI+C,IAAI/C,EAAE,EAAEzR,IAAIwU,EAAE/C,EAAED,EAAEE,EAAED,EAAEzR,GAAGwU,EAAE/C,EAAEzR,IAAIA,EAAEwU,EAAE/C,GAAG+C,GAAG/C,EAAE,EAAE+C,EAAE/C,EAAE,EAAE+C,IAAIjD,EAAEvR,IAAIvO,EAAEgkB,KAAK,UAAU5iB,EAAE8e,EAAEJ,KAAK,MAAM1e,EAAEtC,KAAKsC,EAAEuiB,MAAMviB,EAAEuiB,KAAKpiB,EAAEqiB,MAAMriB,EAAEqiB,IAAIO,GAAE/iB,IAAImkB,GAAEnkB,EAAEA,GAAE,GAAI8e,EAAEJ,GAAG,KAAKC,KAAK,GAAGA,EAAE,IAAID,EAAE,EAAEA,EAAEkD,EAAElD,IAAI,OAAO1e,EAAE8e,EAAEJ,KAAK,IAAI,OAAO1e,EAAE4iB,OAAO5iB,EAAEuiB,KAAKpiB,EAAEqiB,MAAMriB,EAAEqiB,IAAIO,GAAE/iB,IAAImkB,GAAEnkB,EAAEA,GAAG,CAAC,SAASgkB,GAAE7jB,EAAEkf,EAAEP,GAAG,IAAIJ,EAAE9f,EAAE,GAAG,mBAAmBuB,EAAEqM,KAAK,CAAC,IAAIkS,EAAEve,EAAEiiB,IAAIxjB,EAAE,EAAE8f,GAAG9f,EAAE8f,EAAEniB,OAAOqC,IAAI8f,EAAE9f,KAAK8f,EAAE9f,GAAGyjB,GAAGliB,EAAEkf,EAAE2E,GAAEtF,EAAE9f,GAAGygB,EAAEP,IAAI,OAAOO,CAAC,CAAClf,EAAEoiB,KAAKlD,IAAIP,EAAEsF,aAAajkB,EAAEoiB,IAAIlD,GAAG,MAAMA,EAAElf,EAAEoiB,KAAK,GAAGlD,EAAEA,GAAGA,EAAE4E,kBAAkB,MAAM5E,GAAG,IAAIA,EAAEgF,UAAU,OAAOhF,CAAC,CAA6G,SAAS6E,GAAE/jB,EAAEkf,EAAEP,EAAEJ,GAAG,IAAI9f,EAAEuB,EAAEzC,IAAIsC,EAAEG,EAAEqM,KAAKoS,EAAEE,EAAE,EAAE6C,EAAE7C,EAAE,EAAED,EAAEQ,EAAEP,GAAG,GAAG,OAAOD,GAAGA,GAAGjgB,GAAGigB,EAAEnhB,KAAKsC,IAAI6e,EAAErS,KAAK,OAAOsS,EAAE,GAAGJ,GAAG,MAAMG,GAAG,IAAI,OAAOA,EAAE+D,KAAK,EAAE,GAAG,KAAKhE,GAAG,GAAG+C,EAAEtC,EAAE9iB,QAAQ,CAAC,GAAGqiB,GAAG,EAAE,CAAC,IAAIC,EAAEQ,EAAET,KAAK,IAAI,OAAOC,EAAE+D,MAAMhkB,GAAGigB,EAAEnhB,KAAKsC,IAAI6e,EAAErS,KAAK,OAAOoS,EAAEA,GAAG,CAAC,GAAG+C,EAAEtC,EAAE9iB,OAAO,CAAC,IAAIsiB,EAAEQ,EAAEsC,KAAK,IAAI,OAAO9C,EAAE+D,MAAMhkB,GAAGigB,EAAEnhB,KAAKsC,IAAI6e,EAAErS,KAAK,OAAOmV,EAAEA,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS2C,GAAEnkB,EAAEkf,EAAEP,GAAG,MAAMO,EAAE,GAAGlf,EAAEggB,YAAYd,EAAE,MAAMP,EAAE,GAAGA,GAAG3e,EAAEkf,GAAG,MAAMP,EAAE,GAAG,iBAAiBA,GAAG3R,GAAEzM,KAAK2e,GAAGP,EAAEA,EAAE,IAAI,CAAC,SAASyF,GAAEpkB,EAAEkf,EAAEP,EAAEJ,EAAE9f,GAAG,IAAIoB,EAAEG,EAAE,GAAG,UAAUkf,EAAE,GAAG,iBAAiBP,EAAE3e,EAAE6f,MAAMwE,QAAQ1F,MAAM,CAAC,GAAG,iBAAiBJ,IAAIve,EAAE6f,MAAMwE,QAAQ9F,EAAE,IAAIA,EAAE,IAAIW,KAAKX,EAAEI,GAAGO,KAAKP,GAAGwF,GAAEnkB,EAAE6f,MAAMX,EAAE,IAAI,GAAGP,EAAE,IAAIO,KAAKP,EAAEJ,GAAGI,EAAEO,KAAKX,EAAEW,IAAIiF,GAAEnkB,EAAE6f,MAAMX,EAAEP,EAAEO,GAAG,MAAM,GAAG,MAAMA,EAAE,IAAI,MAAMA,EAAE,GAAGrf,EAAEqf,KAAKA,EAAEA,EAAE/H,QAAQ,8BAA8B,OAAO+H,EAAEA,EAAEmB,gBAAgBrgB,EAAEkf,EAAEmB,cAAclgB,MAAM,GAAG+e,EAAE/e,MAAM,GAAGH,EAAEkf,IAAIlf,EAAEkf,EAAE,CAAC,GAAGlf,EAAEkf,EAAEA,EAAErf,GAAG8e,EAAEA,EAAEJ,EAAEI,EAAEA,EAAEJ,EAAEI,GAAGA,EAAEA,EAAE2F,KAAKC,MAAMvkB,EAAEsgB,iBAAiBpB,EAAErf,EAAE2kB,GAAEC,GAAE5kB,IAAIG,EAAEugB,oBAAoBrB,EAAErf,EAAE2kB,GAAEC,GAAE5kB,OAAO,CAAC,GAAGpB,EAAEygB,EAAEA,EAAE/H,QAAQ,cAAc,KAAKA,QAAQ,SAAS,UAAU,GAAG,UAAU+H,GAAG,WAAWA,GAAG,SAASA,GAAG,SAASA,GAAG,SAASA,GAAG,aAAaA,GAAG,aAAaA,GAAG,YAAYA,GAAG,YAAYA,GAAG,SAASA,GAAGA,KAAKlf,EAAE,IAAIA,EAAEkf,GAAG,MAAMP,EAAE,GAAGA,EAAE,MAAM3e,CAAC,CAAC,MAAMA,GAAG,CAAC,mBAAmB2e,IAAI,MAAMA,IAAG,IAAKA,GAAG,MAAMO,EAAE,GAAGlf,EAAEwgB,gBAAgBtB,GAAGlf,EAAEsf,aAAaJ,EAAEP,GAAG,CAAC,CAAC,SAAS8F,GAAEzkB,GAAG,GAAGgf,KAAKE,EAAE,CAAC,IAAIP,EAAEK,KAAKE,EAAElf,EAAEqM,MAAK,GAAI,GAAGrM,EAAEue,GAAG,GAAGve,EAAEue,GAAGI,EAAEA,EAAE,YAAY3e,EAAEue,EAAE+F,KAAKC,MAAM,OAAO5F,EAAEO,GAAEjX,MAAMiX,GAAEjX,MAAMjI,GAAGA,EAAE,CAAC,CAAC,SAASwkB,GAAExkB,GAAG,GAAGgf,KAAKE,EAAE,OAAOF,KAAKE,EAAElf,EAAEqM,MAAK,GAAI6S,GAAEjX,MAAMiX,GAAEjX,MAAMjI,GAAGA,EAAE,CAAC,SAAS+iB,GAAE/iB,EAAE2e,EAAEJ,EAAE9f,EAAEoB,EAAE4e,EAAE+C,EAAE9C,EAAE+C,EAAEjD,GAAG,IAAIxR,EAAE6R,EAAEgD,EAAEE,EAAE/F,EAAE4G,EAAEC,EAAEK,EAAEhlB,EAAEklB,EAAEO,EAAEE,EAAEa,EAAEX,EAAEI,EAAEC,EAAEzF,EAAEtS,KAAK,QAAG,IAASsS,EAAEve,YAAY,OAAO,KAAK,IAAIme,EAAEkE,MAAMhB,KAAK,GAAGlD,EAAEkE,KAAKhE,EAAE,CAACC,EAAEC,EAAEyD,IAAI7D,EAAE6D,OAAOpV,EAAEkS,GAAEiD,MAAMnV,EAAE2R,GAAG3e,EAAE,GAAG,mBAAmBokB,EAAE,IAAI,GAAGlB,EAAEvE,EAAE9S,MAAM3N,GAAG8O,EAAEoX,EAAEO,cAAclmB,EAAEuO,EAAEsV,KAAKc,EAAEpW,EAAE9O,EAAEA,EAAE2N,MAAMpM,MAAMuN,EAAEkV,GAAGzjB,EAAE8f,EAAE+D,IAAIO,GAAGhE,EAAEF,EAAE2D,IAAI/D,EAAE+D,KAAKJ,GAAGrD,EAAE+F,KAAK,cAAcR,GAAGA,EAAEnkB,UAAU4kB,OAAOlG,EAAE2D,IAAIzD,EAAE,IAAIuF,EAAElB,EAAEE,IAAIzE,EAAE2D,IAAIzD,EAAE,IAAI5R,GAAEiW,EAAEE,GAAGvE,EAAEze,YAAYgkB,EAAEvF,EAAEgG,OAAOC,IAAG5mB,GAAGA,EAAE6mB,IAAIlG,GAAGA,EAAEhT,MAAMqX,EAAErE,EAAE9W,QAAQ8W,EAAE9W,MAAM,CAAC,GAAG8W,EAAErW,QAAQ4a,EAAEvE,EAAEmE,IAAIvkB,EAAEojB,EAAEhD,EAAEwD,KAAI,EAAGxD,EAAEmG,IAAI,GAAGnG,EAAEoG,IAAI,IAAI,MAAMpG,EAAEqG,MAAMrG,EAAEqG,IAAIrG,EAAE9W,OAAO,MAAMqc,EAAEe,2BAA2BtG,EAAEqG,KAAKrG,EAAE9W,QAAQ8W,EAAEqG,IAAIxD,GAAE,CAAC,EAAE7C,EAAEqG,MAAMxD,GAAE7C,EAAEqG,IAAId,EAAEe,yBAAyBjC,EAAErE,EAAEqG,OAAOnD,EAAElD,EAAEhT,MAAMmQ,EAAE6C,EAAE9W,MAAM8W,EAAE0D,IAAI5D,EAAEkD,EAAE,MAAMuC,EAAEe,0BAA0B,MAAMtG,EAAEuG,oBAAoBvG,EAAEuG,qBAAqB,MAAMvG,EAAEwG,mBAAmBxG,EAAEmG,IAAIxlB,KAAKqf,EAAEwG,uBAAuB,CAAC,GAAG,MAAMjB,EAAEe,0BAA0BjC,IAAInB,GAAG,MAAMlD,EAAEyG,2BAA2BzG,EAAEyG,0BAA0BpC,EAAEE,IAAIvE,EAAEuD,MAAM,MAAMvD,EAAE0G,wBAAuB,IAAK1G,EAAE0G,sBAAsBrC,EAAErE,EAAEqG,IAAI9B,IAAIzE,EAAE4D,MAAMhE,EAAEgE,KAAK,CAAC,IAAI5D,EAAE4D,MAAMhE,EAAEgE,MAAM1D,EAAEhT,MAAMqX,EAAErE,EAAE9W,MAAM8W,EAAEqG,IAAIrG,EAAEwD,KAAI,GAAI1D,EAAEyD,IAAI7D,EAAE6D,IAAIzD,EAAEsD,IAAI1D,EAAE0D,IAAItD,EAAEsD,IAAIzf,SAAQ,SAASxC,GAAGA,IAAIA,EAAEkiB,GAAGvD,EAAE,IAAGgF,EAAE,EAAEA,EAAE9E,EAAEoG,IAAI7oB,OAAOunB,IAAI9E,EAAEmG,IAAIxlB,KAAKqf,EAAEoG,IAAItB,IAAI9E,EAAEoG,IAAI,GAAGpG,EAAEmG,IAAI5oB,QAAQolB,EAAEhiB,KAAKqf,GAAG,MAAM7e,CAAC,CAAC,MAAM6e,EAAE2G,qBAAqB3G,EAAE2G,oBAAoBtC,EAAErE,EAAEqG,IAAI9B,GAAG,MAAMvE,EAAE4G,oBAAoB5G,EAAEmG,IAAIxlB,MAAK,WAAWqf,EAAE4G,mBAAmB1D,EAAE/F,EAAE4G,EAAE,GAAE,CAAC,GAAG/D,EAAErW,QAAQ4a,EAAEvE,EAAEhT,MAAMqX,EAAErE,EAAEiE,IAAI9iB,EAAE6e,EAAEuD,KAAI,EAAGyB,EAAE3E,GAAEmE,IAAIqB,EAAE,EAAE,cAAcN,GAAGA,EAAEnkB,UAAU4kB,OAAO,CAAC,IAAIhG,EAAE9W,MAAM8W,EAAEqG,IAAIrG,EAAEwD,KAAI,EAAGwB,GAAGA,EAAElF,GAAG3R,EAAE6R,EAAEgG,OAAOhG,EAAEhT,MAAMgT,EAAE9W,MAAM8W,EAAErW,SAASub,EAAE,EAAEA,EAAElF,EAAEoG,IAAI7oB,OAAO2nB,IAAIlF,EAAEmG,IAAIxlB,KAAKqf,EAAEoG,IAAIlB,IAAIlF,EAAEoG,IAAI,EAAE,MAAM,GAAGpG,EAAEwD,KAAI,EAAGwB,GAAGA,EAAElF,GAAG3R,EAAE6R,EAAEgG,OAAOhG,EAAEhT,MAAMgT,EAAE9W,MAAM8W,EAAErW,SAASqW,EAAE9W,MAAM8W,EAAEqG,UAAUrG,EAAEwD,OAAOqC,EAAE,IAAI7F,EAAE9W,MAAM8W,EAAEqG,IAAI,MAAMrG,EAAE6G,kBAAkBjnB,EAAEijB,GAAEA,GAAE,CAAC,EAAEjjB,GAAGogB,EAAE6G,oBAAoB7D,GAAG,MAAMhD,EAAE8G,0BAA0B/C,EAAE/D,EAAE8G,wBAAwB5D,EAAE/F,IAAI0H,GAAE1jB,EAAE4e,GAAEuF,EAAE,MAAMnX,GAAGA,EAAEX,OAAOsW,IAAG,MAAM3V,EAAEzP,IAAIyP,EAAEnB,MAAMkV,SAAS/T,GAAGmX,EAAE,CAACA,GAAGxF,EAAEJ,EAAE9f,EAAEoB,EAAE4e,EAAE+C,EAAE9C,EAAE+C,EAAEjD,GAAGK,EAAEsE,KAAKxE,EAAEyD,IAAIzD,EAAE8D,MAAM,IAAI5D,EAAEmG,IAAI5oB,QAAQolB,EAAEhiB,KAAKqf,GAAGgE,IAAIhE,EAAE+F,IAAI/F,EAAEqD,GAAG,KAAK,CAAC,MAAMliB,GAAG2e,EAAE4D,IAAI,KAAKd,GAAG,MAAMhD,GAAGE,EAAEyD,IAAI1D,EAAEC,EAAE8D,KAAKhB,EAAE,IAAI,GAAGhD,EAAEA,EAAE/c,QAAQgd,IAAI,OAAOC,EAAEyD,IAAI7D,EAAE6D,IAAIzD,EAAEsD,IAAI1D,EAAE0D,KAAK/C,GAAEkD,IAAIpiB,EAAE2e,EAAEJ,EAAE,MAAM,MAAME,GAAGE,EAAE4D,MAAMhE,EAAEgE,KAAK5D,EAAEsD,IAAI1D,EAAE0D,IAAItD,EAAEyD,IAAI7D,EAAE6D,KAAKzD,EAAEyD,IAAIwD,GAAErH,EAAE6D,IAAIzD,EAAEJ,EAAE9f,EAAEoB,EAAE4e,EAAE+C,EAAEC,EAAEjD,IAAIxR,EAAEkS,GAAE2G,SAAS7Y,EAAE2R,EAAE,CAAC,SAAS8E,GAAEzjB,EAAE2e,EAAEJ,GAAG,IAAI,IAAI9f,EAAE,EAAEA,EAAE8f,EAAEniB,OAAOqC,IAAImlB,GAAErF,EAAE9f,GAAG8f,IAAI9f,GAAG8f,IAAI9f,IAAIygB,GAAEoD,KAAKpD,GAAEoD,IAAI3D,EAAE3e,GAAGA,EAAEuW,MAAK,SAASoI,GAAG,IAAI3e,EAAE2e,EAAEqG,IAAIrG,EAAEqG,IAAI,GAAGhlB,EAAEuW,MAAK,SAASvW,GAAGA,EAAEX,KAAKsf,EAAE,GAAE,CAAC,MAAM3e,GAAGkf,GAAEkD,IAAIpiB,EAAE2e,EAAE4D,IAAI,CAAC,GAAE,CAAC,SAASqD,GAAE1G,EAAEP,EAAEJ,EAAE9f,EAAEoB,EAAE4e,EAAE+C,EAAE9C,EAAEF,GAAG,IAAIxR,EAAE0U,EAAEG,EAAEE,EAAE/F,EAAE2G,EAAE1V,EAAE4V,EAAEtE,EAAE1S,MAAMqX,EAAEvE,EAAE9S,MAAM3N,EAAEygB,EAAEtS,KAAK,GAAG,QAAQnO,IAAI2B,GAAE,GAAI,MAAM4e,EAAE,IAAIzR,EAAE,EAAEA,EAAEyR,EAAEriB,OAAO4Q,IAAI,IAAIgP,EAAEyC,EAAEzR,KAAK,iBAAiBgP,KAAK9d,IAAIA,EAAE8d,EAAE8J,YAAY5nB,EAAE,IAAI8d,EAAEkI,UAAU,CAAChF,EAAElD,EAAEyC,EAAEzR,GAAG,KAAK,KAAK,CAAC,GAAG,MAAMkS,EAAE,CAAC,GAAG,OAAOhhB,EAAE,OAAO0L,SAASmc,eAAe7C,GAAGhE,EAAErf,EAAE+J,SAASyV,gBAAgB,6BAA6BnhB,GAAG0L,SAASC,cAAc3L,EAAEglB,EAAE8C,IAAI9C,GAAGzE,EAAE,KAAKC,GAAE,CAAE,CAAC,GAAG,OAAOxgB,EAAE2kB,IAAIK,GAAGxE,GAAGQ,EAAE+G,OAAO/C,IAAIhE,EAAE+G,KAAK/C,OAAO,CAAC,GAAGzE,EAAEA,GAAG,GAAEpf,KAAK6f,EAAEgH,YAAYrD,EAAEtE,EAAE1S,OAAO4V,IAAG/C,GAAG,MAAMD,EAAE,IAAIoE,EAAE,CAAC,EAAE7V,EAAE,EAAEA,EAAEkS,EAAEiH,WAAW/pB,OAAO4Q,IAAI6V,GAAG7G,EAAEkD,EAAEiH,WAAWnZ,IAAI3M,MAAM2b,EAAEvc,MAAM,IAAIuN,KAAK6V,EAAE7G,EAAE6G,EAAE7V,GAAG,YAAYA,IAAI,2BAA2BA,EAAE6U,EAAE7F,EAAE,QAAQhP,GAAGA,KAAKkW,GAAGkB,GAAElF,EAAElS,EAAE,KAAKgP,EAAEnc,IAAI,IAAImN,KAAKkW,EAAElH,EAAEkH,EAAElW,GAAG,YAAYA,EAAE+U,EAAE/F,EAAE,2BAA2BhP,EAAE0U,EAAE1F,EAAE,SAAShP,EAAE2V,EAAE3G,EAAE,WAAWhP,EAAEC,EAAE+O,EAAE,QAAQhP,GAAG0R,GAAG,mBAAmB1C,GAAG6G,EAAE7V,KAAKgP,GAAGoI,GAAElF,EAAElS,EAAEgP,EAAE6G,EAAE7V,GAAGnN,GAAG,GAAG6hB,EAAEhD,GAAGmD,IAAIH,EAAE0E,SAASvE,EAAEuE,QAAQ1E,EAAE0E,SAASlH,EAAEQ,aAAaR,EAAEQ,UAAUgC,EAAE0E,QAAQzH,EAAEsD,IAAI,QAAQ,GAAGJ,IAAI3C,EAAEQ,UAAU,IAAIgE,GAAExE,EAAEN,GAAEmD,GAAGA,EAAE,CAACA,GAAGpD,EAAEJ,EAAE9f,EAAEoB,GAAG,kBAAkB3B,EAAEugB,EAAE+C,EAAE/C,EAAEA,EAAE,GAAGF,EAAE0D,KAAKW,GAAErE,EAAE,GAAGG,EAAEF,GAAG,MAAMC,EAAE,IAAIzR,EAAEyR,EAAEriB,OAAO4Q,KAAK,MAAMyR,EAAEzR,IAAI6R,GAAEJ,EAAEzR,IAAI0R,IAAI1R,EAAE,aAAQ,IAAS2V,IAAIA,IAAIzD,EAAElS,IAAI,aAAa9O,IAAIykB,GAAG,WAAWzkB,GAAGykB,IAAIE,EAAE7V,KAAKoX,GAAElF,EAAElS,EAAE2V,EAAEE,EAAE7V,IAAG,GAAIA,EAAE,eAAU,IAASC,GAAGA,IAAIiS,EAAElS,IAAIoX,GAAElF,EAAElS,EAAEC,EAAE4V,EAAE7V,IAAG,GAAI,CAAC,OAAOkS,CAAC,CAAC,SAAS0E,GAAE5jB,EAAE2e,EAAEJ,GAAG,IAAI,mBAAmBve,EAAEA,EAAE2e,GAAG3e,EAAEnD,QAAQ8hB,CAAC,CAAC,MAAM3e,GAAGkf,GAAEkD,IAAIpiB,EAAEue,EAAE,CAAC,CAAC,SAASyF,GAAEhkB,EAAE2e,EAAEJ,GAAG,IAAI9f,EAAEoB,EAAE,GAAGqf,GAAEmH,SAASnH,GAAEmH,QAAQrmB,IAAIvB,EAAEuB,EAAEgiB,OAAOvjB,EAAE5B,SAAS4B,EAAE5B,UAAUmD,EAAEoiB,KAAKwB,GAAEnlB,EAAE,KAAKkgB,IAAI,OAAOlgB,EAAEuB,EAAEsiB,KAAK,CAAC,GAAG7jB,EAAE6nB,qBAAqB,IAAI7nB,EAAE6nB,sBAAsB,CAAC,MAAMtmB,GAAGkf,GAAEkD,IAAIpiB,EAAE2e,EAAE,CAAClgB,EAAE0kB,KAAK1kB,EAAEqkB,IAAI,KAAK9iB,EAAEsiB,SAAI,CAAM,CAAC,GAAG7jB,EAAEuB,EAAEiiB,IAAI,IAAIpiB,EAAE,EAAEA,EAAEpB,EAAErC,OAAOyD,IAAIpB,EAAEoB,IAAImkB,GAAEvlB,EAAEoB,GAAG8e,EAAEJ,GAAG,mBAAmBve,EAAEqM,MAAMkS,GAAG,MAAMve,EAAEoiB,KAAKvD,GAAE7e,EAAEoiB,KAAKpiB,EAAEkiB,GAAGliB,EAAEoiB,IAAIpiB,EAAEqiB,SAAI,CAAM,CAAC,SAASyC,GAAE9kB,EAAEkf,EAAEP,GAAG,OAAOK,KAAK5e,YAAYJ,EAAE2e,EAAE,CAAC,SAAS4H,GAAE5H,EAAEJ,EAAE9f,GAAG,IAAIoB,EAAE4e,EAAE+C,EAAE9C,EAAEQ,GAAEgD,IAAIhD,GAAEgD,GAAGvD,EAAEJ,GAAGE,GAAG5e,EAAE,mBAAmBpB,GAAG,KAAKA,GAAGA,EAAEwjB,KAAK1D,EAAE0D,IAAIT,EAAE,GAAG9C,EAAE,GAAGqE,GAAExE,EAAEI,IAAI9e,GAAGpB,GAAG8f,GAAG0D,IAAIJ,GAAEc,GAAE,KAAK,CAAChE,IAAIF,GAAGgD,GAAEA,QAAE,IAASlD,EAAE0E,iBAAiBpjB,GAAGpB,EAAE,CAACA,GAAGggB,EAAE,KAAKF,EAAEiI,WAAW,GAAEnnB,KAAKkf,EAAE2H,YAAY,KAAK1E,GAAG3hB,GAAGpB,EAAEA,EAAEggB,EAAEA,EAAE2D,IAAI7D,EAAEiI,WAAW3mB,EAAE6e,GAAGC,EAAE0D,SAAI,EAAOoB,GAAEjC,EAAE7C,EAAED,EAAE,CCAxlS,SAAS+H,GAAwBC,EAAQnH,GAC9C,OAAOA,EAAK/Y,QAAO,SAAU3J,EAASU,GACpC,OAAOV,GAAWA,EAAQU,EAC5B,GAAGmpB,EACL,CDJg6T,GAAElI,GAAEre,MAAM+e,GAAE,CAACkD,IAAI,SAASpiB,EAAEkf,EAAEP,EAAEJ,GAAG,IAAI,IAAI9f,EAAEoB,EAAE4e,EAAES,EAAEA,EAAEgD,IAAI,IAAIzjB,EAAEygB,EAAEoD,OAAO7jB,EAAEyjB,GAAG,IAAI,IAAIriB,EAAEpB,EAAE2B,cAAc,MAAMP,EAAE8mB,2BAA2BloB,EAAEmoB,SAAS/mB,EAAE8mB,yBAAyB3mB,IAAIye,EAAEhgB,EAAE4jB,KAAK,MAAM5jB,EAAEooB,oBAAoBpoB,EAAEooB,kBAAkB7mB,EAAEue,GAAG,CAAC,GAAGE,EAAEhgB,EAAE4jB,KAAK5D,EAAE,OAAOhgB,EAAEmmB,IAAInmB,CAAC,CAAC,MAAMygB,GAAGlf,EAAEkf,CAAC,CAAC,MAAMlf,CAAC,GAAG2e,GAAE,EAAqD1R,GAAEhN,UAAU2mB,SAAS,SAAS5mB,EAAEkf,GAAG,IAAIP,EAAEA,EAAE,MAAMK,KAAKkG,KAAKlG,KAAKkG,MAAMlG,KAAKjX,MAAMiX,KAAKkG,IAAIlG,KAAKkG,IAAIxD,GAAE,CAAC,EAAE1C,KAAKjX,OAAO,mBAAmB/H,IAAIA,EAAEA,EAAE0hB,GAAE,CAAC,EAAE/C,GAAGK,KAAKnT,QAAQ7L,GAAG0hB,GAAE/C,EAAE3e,GAAG,MAAMA,GAAGgf,KAAKuD,MAAMrD,GAAGF,KAAKiG,IAAIzlB,KAAK0f,GAAGhhB,GAAE8gB,MAAM,EAAE/R,GAAEhN,UAAU6mB,YAAY,SAAS9mB,GAAGgf,KAAKuD,MAAMvD,KAAKoD,KAAI,EAAGpiB,GAAGgf,KAAKgG,IAAIxlB,KAAKQ,GAAG9B,GAAE8gB,MAAM,EAAE/R,GAAEhN,UAAU4kB,OAAOlC,GAAElkB,GAAE,GAAGggB,GAAE,mBAAmBrP,QAAQA,QAAQnP,UAAUyP,KAAKqX,KAAK3X,QAAQK,WAAWhT,WAAW+kB,GAAE,SAASxhB,EAAEkf,GAAG,OAAOlf,EAAEuiB,IAAIJ,IAAIjD,EAAEqD,IAAIJ,GAAG,EAAEiB,GAAEC,IAAI,EEAntV,IAAI2D,GAAoB,mBACpBC,GAAqB,oBCwBzB,SAASC,GAAexpB,GAC7B,IACIypB,EADmBzpB,EAAK0pB,iBACO9iB,MAAM0iB,IACrCK,EAAaF,EAAY3D,QACzB8D,EAxBN,WACE,IACI7nB,EADetD,UAAUC,OAAS,QAAsBH,IAAjBE,UAAU,GAAmBA,UAAU,GAAK,GAEvF,MAAO,CACL4iB,IAAK,WACH,OAAOtf,CACT,EACA8M,IAAK,SAAagb,GAChB,IAAIC,EAAW/nB,EAAMA,EAAMrD,OAAS,IAClB,OAAborB,QAAkC,IAAbA,OAAsB,EAASA,EAASC,iBAAmBF,EAAKE,cACxFhoB,EAAMA,EAAMrD,OAAS,GAAK,CACxBqD,MAAO+nB,EAAS/nB,MAAQ8nB,EAAK9nB,MAC7BgoB,cAAeD,EAASC,eAG1BhoB,EAAMD,KAAK+nB,EAEf,EAEJ,CAKcG,CAAmBL,EAAa,CAAC,CAC3C5nB,MAAO4nB,EACPI,eAAe,IACZ,IAcL,OAbAN,EAAY3kB,SAAQ,SAAU+kB,GAC5B,IAAII,EAAeJ,EAAKjjB,MAAM2iB,IAC9BK,EAAM/a,IAAI,CACR9M,MAAOkoB,EAAa,GACpBF,eAAe,IAEO,KAApBE,EAAa,IACfL,EAAM/a,IAAI,CACR9M,MAAOkoB,EAAa,GACpBF,eAAe,GAGrB,IACOH,EAAMvI,KACf,CC/CA,SAAS,GAAmBvgB,GAAO,OAInC,SAA4BA,GAAO,GAAIlC,MAAMoC,QAAQF,GAAM,OAAO,GAAkBA,EAAM,CAJhD,CAAmBA,IAG7D,SAA0B0C,GAAQ,GAAsB,qBAAXtC,QAAmD,MAAzBsC,EAAKtC,OAAOC,WAA2C,MAAtBqC,EAAK,cAAuB,OAAO5E,MAAMgE,KAAKY,EAAO,CAHxF,CAAiB1C,IAEtF,SAAqCqB,EAAGC,GAAU,IAAKD,EAAG,OAAQ,GAAiB,kBAANA,EAAgB,OAAO,GAAkBA,EAAGC,GAAS,IAAIE,EAAIhD,OAAOiD,UAAUC,SAASb,KAAKQ,GAAGM,MAAM,GAAI,GAAc,WAANH,GAAkBH,EAAEO,cAAaJ,EAAIH,EAAEO,YAAYC,MAAM,GAAU,QAANL,GAAqB,QAANA,EAAa,OAAO1D,MAAMgE,KAAKT,GAAI,GAAU,cAANG,GAAqB,2CAA2CO,KAAKP,GAAI,OAAO,GAAkBH,EAAGC,EAAS,CAFjU,CAA4BtB,IAC1H,WAAgC,MAAM,IAAIiC,UAAU,uIAAyI,CAD3D,EAAsB,CAKxJ,SAAS,GAAkBjC,EAAKmC,IAAkB,MAAPA,GAAeA,EAAMnC,EAAIpC,UAAQuE,EAAMnC,EAAIpC,QAAQ,IAAK,IAAIqC,EAAI,EAAGmC,EAAO,IAAItE,MAAMqE,GAAMlC,EAAIkC,EAAKlC,IAAKmC,EAAKnC,GAAKD,EAAIC,GAAI,OAAOmC,CAAM,CAG3K,SAASgnB,GAAyBlqB,GACvC,IAAI+J,EAAM/J,EAAK+J,IACbogB,EAAYnqB,EAAKmqB,UACftI,EAAOjjB,MAAMoC,QAAQmpB,GAAaA,EAAY,CAACA,GAC/CT,EAAmBX,GAAwBhf,EAAK,CAAC,oBAAoB1C,OAAO,GAAmBwa,GAAO,CAAC,WAK3G,MAJgC,kBAArB6H,IAETA,EAAmBX,GAAwBhf,EAAK8X,IAAS,IAEpD2H,GAAe,CACpBE,iBAAkBA,GAEtB,CCnBO,SAASU,GAAyBpqB,GACvC,IAAImM,EAAgBnM,EAAKmM,cACvBke,EAAWrqB,EAAKqqB,SAClB,SAASC,EAAUlkB,GACjB,IAAI2D,EAAM3D,EAAM2D,IACdogB,EAAY/jB,EAAM+jB,UAClBI,EAAgBnkB,EAAM+c,QACtBA,OAA4B,IAAlBoH,EAA2B,OAASA,EAChD,OAAOpe,EAAcke,EAAU,CAAC,EAAGH,GAAyB,CAC1DngB,IAAKA,EACLogB,UAAWA,IACVlkB,KAAI,SAAUzF,EAAGJ,GAClB,OAAOI,EAAEupB,cAAgB5d,EAAcgX,EAAS,CAC9CtjB,IAAKO,GACJI,EAAEuB,OAASvB,EAAEuB,KAClB,IACF,CAEA,OADAuoB,EAAUE,6BAA+B,YAClCF,CACT,CCpBA,IAAIG,GAAc,CAChB,QAAS,IACT,OAAQ,IACR,OAAQ,IACR,SAAU,IACV,QAAS,KAEPC,GAAkB,IAAIC,OAAO,OAC7BC,GAAmB,0BACnBC,GAAsBF,OAAOC,GAAiBhnB,QAM3C,SAASknB,GAAkBlB,EAAO7oB,GACvC,IAAIgqB,EAAQC,EANIjpB,EAOZ5C,EAAUyqB,EAAM7oB,GAChBkqB,GAAiD,QAA3BF,EAASnB,EAAM7oB,EAAI,UAA2B,IAAXgqB,OAAoB,EAASA,EAAOhB,iBAAkB,EAC/GmB,GAAsD,QAA5BF,EAAUpB,EAAM7oB,EAAI,UAA4B,IAAZiqB,OAAqB,EAASA,EAAQjB,iBAAkB,EAC1H,OAAKW,GAAgB7nB,MAVLd,EAUmB5C,EAAQ4C,QAT3B8oB,GAAoBhoB,KAAKd,GAASA,EAAM0X,QAAQmR,IAAkB,SAAUO,GAC1F,OAAOV,GAAYU,EACrB,IAAKppB,IAOiDmpB,IAA0BD,EAGzE9rB,EAAQ4qB,cAFNmB,CAGX,CCxBA,SAAS,GAAQ7rB,GAAkC,OAAO,GAAU,mBAAqB6B,QAAU,iBAAmBA,OAAOC,SAAW,SAAU9B,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqB6B,QAAU7B,EAAIqD,cAAgBxB,QAAU7B,IAAQ6B,OAAOqB,UAAY,gBAAkBlD,CAAK,EAAG,GAAQA,EAAM,CAC/U,SAAS,GAAQiF,EAAQC,GAAkB,IAAI7E,EAAOJ,OAAOI,KAAK4E,GAAS,GAAIhF,OAAO4E,sBAAuB,CAAE,IAAIM,EAAUlF,OAAO4E,sBAAsBI,GAASC,IAAmBC,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOpF,OAAOqF,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKlF,EAAKoC,KAAK9C,MAAMU,EAAM8E,EAAU,CAAE,OAAO9E,CAAM,CACpV,SAAS,GAAcoE,GAAU,IAAK,IAAI/C,EAAI,EAAGA,EAAItC,UAAUC,OAAQqC,IAAK,CAAE,IAAI6C,EAAS,MAAQnF,UAAUsC,GAAKtC,UAAUsC,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQzB,OAAOsE,IAAS,GAAIkB,SAAQ,SAAUjF,GAAO,GAAgBiE,EAAQjE,EAAK+D,EAAO/D,GAAO,IAAKP,OAAO0F,0BAA4B1F,OAAO2F,iBAAiBnB,EAAQxE,OAAO0F,0BAA0BpB,IAAW,GAAQtE,OAAOsE,IAASkB,SAAQ,SAAUjF,GAAOP,OAAO4F,eAAepB,EAAQjE,EAAKP,OAAOqF,yBAAyBf,EAAQ/D,GAAO,GAAI,CAAE,OAAOiE,CAAQ,CACzf,SAAS,GAAgBzE,EAAKQ,EAAKkC,GAA4L,OAAnLlC,EAC5C,SAAwBsF,GAAO,IAAItF,EACnC,SAAsBuF,EAAOC,GAAQ,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAMlE,OAAOqE,aAAc,QAAahH,IAAT+G,EAAoB,CAAE,IAAIE,EAAMF,EAAK3D,KAAKyD,EAAOC,GAAQ,WAAY,GAAqB,WAAjB,GAAQG,GAAmB,OAAOA,EAAK,MAAM,IAAIzC,UAAU,+CAAiD,CAAE,OAAiB,WAATsC,EAAoBI,OAASC,QAAQN,EAAQ,CADnV,CAAaD,EAAK,UAAW,MAAwB,WAAjB,GAAQtF,GAAoBA,EAAM4F,OAAO5F,EAAM,CAD1E,CAAeA,MAAiBR,EAAOC,OAAO4F,eAAe7F,EAAKQ,EAAK,CAAEkC,MAAOA,EAAO6C,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBzG,EAAIQ,GAAOkC,EAAgB1C,CAAK,CAIpO,SAAS+rB,GAAwBxB,GAEtC,OAAKA,EAAM/Q,MAAK,SAAUgR,GACxB,OAAOA,EAAKE,aACd,IAOOH,EAAM3jB,KAAI,SAAU4jB,EAAM9oB,GAC/B,OAAO,GAAc,GAAc,CAAC,EAAG8oB,GAAO,CAAC,EAAG,CAChDE,eAAgBe,GAAkBlB,EAAO7oB,IAE7C,IAVS6oB,EAAM3jB,KAAI,SAAU4jB,GACzB,OAAO,GAAc,GAAc,CAAC,EAAGA,GAAO,CAAC,EAAG,CAChDE,eAAe,GAEnB,GAOJ,CCtBO,SAASsB,GAAgCrrB,GAC9C,IAAImM,EAAgBnM,EAAKmM,cACvBke,EAAWrqB,EAAKqqB,SAClB,SAASiB,EAAiBllB,GACxB,ICH4C+H,EDGxCpE,EAAM3D,EAAM2D,IACdogB,EAAY/jB,EAAM+jB,UAClBI,EAAgBnkB,EAAM+c,QACtBA,OAA4B,IAAlBoH,EAA2B,OAASA,EAChD,OAAOpe,EAAcke,EAAU,CAAC,GCPYlc,EDOuB,CACjEpE,IAAKA,EACLogB,UAAWA,GCRRiB,GAAwBlB,GAAyB/b,KDSnDlI,KAAI,SAAUzF,EAAGJ,GAClB,OAAOI,EAAEupB,cAAgB5d,EAAcgX,EAAS,CAC9CtjB,IAAKO,GACJI,EAAEuB,OAASvB,EAAEuB,KAClB,IACF,CAEA,OADAupB,EAAiBd,6BAA+B,mBACzCc,CACT,CEpBA,SAAS,GAAmBxqB,GAAO,OAInC,SAA4BA,GAAO,GAAIlC,MAAMoC,QAAQF,GAAM,OAAO,GAAkBA,EAAM,CAJhD,CAAmBA,IAG7D,SAA0B0C,GAAQ,GAAsB,qBAAXtC,QAAmD,MAAzBsC,EAAKtC,OAAOC,WAA2C,MAAtBqC,EAAK,cAAuB,OAAO5E,MAAMgE,KAAKY,EAAO,CAHxF,CAAiB1C,IAEtF,SAAqCqB,EAAGC,GAAU,IAAKD,EAAG,OAAQ,GAAiB,kBAANA,EAAgB,OAAO,GAAkBA,EAAGC,GAAS,IAAIE,EAAIhD,OAAOiD,UAAUC,SAASb,KAAKQ,GAAGM,MAAM,GAAI,GAAc,WAANH,GAAkBH,EAAEO,cAAaJ,EAAIH,EAAEO,YAAYC,MAAM,GAAU,QAANL,GAAqB,QAANA,EAAa,OAAO1D,MAAMgE,KAAKT,GAAI,GAAU,cAANG,GAAqB,2CAA2CO,KAAKP,GAAI,OAAO,GAAkBH,EAAGC,EAAS,CAFjU,CAA4BtB,IAC1H,WAAgC,MAAM,IAAIiC,UAAU,uIAAyI,CAD3D,EAAsB,CAKxJ,SAAS,GAAkBjC,EAAKmC,IAAkB,MAAPA,GAAeA,EAAMnC,EAAIpC,UAAQuE,EAAMnC,EAAIpC,QAAQ,IAAK,IAAIqC,EAAI,EAAGmC,EAAO,IAAItE,MAAMqE,GAAMlC,EAAIkC,EAAKlC,IAAKmC,EAAKnC,GAAKD,EAAIC,GAAI,OAAOmC,CAAM,CAG3K,SAASqoB,GAAuBvrB,GACrC,IAAI+J,EAAM/J,EAAK+J,IACbogB,EAAYnqB,EAAKmqB,UACftI,EAAOjjB,MAAMoC,QAAQmpB,GAAaA,EAAY,CAACA,GAC/CT,EAAmBX,GAAwBhf,EAAK,CAAC,kBAAkB1C,OAAO,GAAmBwa,GAAO,CAAC,WAKzG,MAJgC,kBAArB6H,IAETA,EAAmBX,GAAwBhf,EAAK8X,IAAS,IAEpD2H,GAAe,CACpBE,iBAAkBA,GAEtB,CCnBO,SAAS8B,GAA8BxrB,GAC5C,IAAImM,EAAgBnM,EAAKmM,cACvBke,EAAWrqB,EAAKqqB,SAClB,SAASoB,EAAerlB,GACtB,ICH0C+H,EDGtCpE,EAAM3D,EAAM2D,IACdogB,EAAY/jB,EAAM+jB,UAClBI,EAAgBnkB,EAAM+c,QACtBA,OAA4B,IAAlBoH,EAA2B,OAASA,EAChD,OAAOpe,EAAcke,EAAU,CAAC,GCPUlc,EDOuB,CAC/DpE,IAAKA,EACLogB,UAAWA,GCRRiB,GAAwBG,GAAuBpd,KDSjDlI,KAAI,SAAUzF,EAAGJ,GAClB,OAAOI,EAAEupB,cAAgB5d,EAAcgX,EAAS,CAC9CtjB,IAAKO,GACJI,EAAEuB,OAASvB,EAAEuB,KAClB,IACF,CAEA,OADA0pB,EAAejB,6BAA+B,iBACvCiB,CACT,CEnBO,SAASC,GAAuB1rB,GACrC,IAAImM,EAAgBnM,EAAKmM,cACvBke,EAAWrqB,EAAKqqB,SAClB,SAASsB,EAAQvlB,GACf,IAAI2D,EAAM3D,EAAM2D,IACdogB,EAAY/jB,EAAM+jB,UAClBI,EAAgBnkB,EAAM+c,QACtBA,OAA4B,IAAlBoH,EAA2B,OAASA,EAChD,OAAOpe,EAAcke,EAAU,CAAC,EAAGkB,GAAuB,CACxDxhB,IAAKA,EACLogB,UAAWA,IACVlkB,KAAI,SAAUzF,EAAGJ,GAClB,OAAOI,EAAEupB,cAAgB5d,EAAcgX,EAAS,CAC9CtjB,IAAKO,GACJI,EAAEuB,OAASvB,EAAEuB,KAClB,IACF,CAEA,OADA4pB,EAAQnB,6BAA+B,UAChCmB,CACT,CCnBO,SAASC,GAAe7f,EAAahK,GAC1C,GAAqB,kBAAVA,EAAoB,CAC7B,IAAI2f,EAAU3V,EAAYG,SAASwU,cAAc3e,GAEjD,MAD4B,eAAesF,OAAOgL,KAAKC,UAAUvQ,GAAQ,4BAClE2f,CACT,CACA,OAAO3f,CACT,CCRO,SAAS8pB,KACd,IAAK,IAAIrtB,EAAOC,UAAUC,OAAQ2Q,EAAS,IAAIzQ,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IACjFwQ,EAAOxQ,GAAQJ,UAAUI,GAE3B,OAAOwQ,EAAOvG,QAAO,SAAUC,EAAK5J,GAQlC,OAPAG,OAAOI,KAAKP,GAAS2F,SAAQ,SAAUjF,GACrC,IAAIisB,EAAW/iB,EAAIlJ,GACfksB,EAAe5sB,EAAQU,GACvBisB,IAAaC,IACfhjB,EAAIlJ,GAAO,CAACisB,EAAUC,GAActnB,OAAOoN,SAAS2H,KAAK,KAE7D,IACOzQ,CACT,GAAG,CAAC,EACN,CCdA,SAAS,GAAQ1J,GAAkC,OAAO,GAAU,mBAAqB6B,QAAU,iBAAmBA,OAAOC,SAAW,SAAU9B,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqB6B,QAAU7B,EAAIqD,cAAgBxB,QAAU7B,IAAQ6B,OAAOqB,UAAY,gBAAkBlD,CAAK,EAAG,GAAQA,EAAM,CAC/U,IAAI,GAAY,CAAC,aAAc,YAAa,sBAAuB,eAAgB,gBAAiB,eAAgB,gBAAiB,eAAgB,gBAAiB,eAAgB,iBAAkB,iBAAkB,SAAU,kBAAmB,WAAY,qBAAsB,aAAc,gBACvS,SAAS,GAAQiF,EAAQC,GAAkB,IAAI7E,EAAOJ,OAAOI,KAAK4E,GAAS,GAAIhF,OAAO4E,sBAAuB,CAAE,IAAIM,EAAUlF,OAAO4E,sBAAsBI,GAASC,IAAmBC,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOpF,OAAOqF,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKlF,EAAKoC,KAAK9C,MAAMU,EAAM8E,EAAU,CAAE,OAAO9E,CAAM,CACpV,SAAS,GAAcoE,GAAU,IAAK,IAAI/C,EAAI,EAAGA,EAAItC,UAAUC,OAAQqC,IAAK,CAAE,IAAI6C,EAAS,MAAQnF,UAAUsC,GAAKtC,UAAUsC,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQzB,OAAOsE,IAAS,GAAIkB,SAAQ,SAAUjF,GAAO,GAAgBiE,EAAQjE,EAAK+D,EAAO/D,GAAO,IAAKP,OAAO0F,0BAA4B1F,OAAO2F,iBAAiBnB,EAAQxE,OAAO0F,0BAA0BpB,IAAW,GAAQtE,OAAOsE,IAASkB,SAAQ,SAAUjF,GAAOP,OAAO4F,eAAepB,EAAQjE,EAAKP,OAAOqF,yBAAyBf,EAAQ/D,GAAO,GAAI,CAAE,OAAOiE,CAAQ,CACzf,SAAS,GAAgBzE,EAAKQ,EAAKkC,GAA4L,OAAnLlC,EAC5C,SAAwBsF,GAAO,IAAItF,EACnC,SAAsBuF,EAAOC,GAAQ,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAMlE,OAAOqE,aAAc,QAAahH,IAAT+G,EAAoB,CAAE,IAAIE,EAAMF,EAAK3D,KAAKyD,EAAOC,GAAQ,WAAY,GAAqB,WAAjB,GAAQG,GAAmB,OAAOA,EAAK,MAAM,IAAIzC,UAAU,+CAAiD,CAAE,OAAiB,WAATsC,EAAoBI,OAASC,QAAQN,EAAQ,CADnV,CAAaD,EAAK,UAAW,MAAwB,WAAjB,GAAQtF,GAAoBA,EAAM4F,OAAO5F,EAAM,CAD1E,CAAeA,MAAiBR,EAAOC,OAAO4F,eAAe7F,EAAKQ,EAAK,CAAEkC,MAAOA,EAAO6C,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBzG,EAAIQ,GAAOkC,EAAgB1C,CAAK,CAG3O,SAAS,GAAyBuE,EAAQC,GAAY,GAAc,MAAVD,EAAgB,MAAO,CAAC,EAAG,IAAkE/D,EAAKkB,EAAnE+C,EACzF,SAAuCF,EAAQC,GAAY,GAAc,MAAVD,EAAgB,MAAO,CAAC,EAAG,IAA2D/D,EAAKkB,EAA5D+C,EAAS,CAAC,EAAOC,EAAazE,OAAOI,KAAKkE,GAAqB,IAAK7C,EAAI,EAAGA,EAAIgD,EAAWrF,OAAQqC,IAAOlB,EAAMkE,EAAWhD,GAAQ8C,EAASG,QAAQnE,IAAQ,IAAaiE,EAAOjE,GAAO+D,EAAO/D,IAAQ,OAAOiE,CAAQ,CADhN,CAA8BF,EAAQC,GAAuB,GAAIvE,OAAO4E,sBAAuB,CAAE,IAAIC,EAAmB7E,OAAO4E,sBAAsBN,GAAS,IAAK7C,EAAI,EAAGA,EAAIoD,EAAiBzF,OAAQqC,IAAOlB,EAAMsE,EAAiBpD,GAAQ8C,EAASG,QAAQnE,IAAQ,GAAkBP,OAAOiD,UAAU6B,qBAAqBzC,KAAKiC,EAAQ/D,KAAgBiE,EAAOjE,GAAO+D,EAAO/D,GAAQ,CAAE,OAAOiE,CAAQ,CAM3e,IAAIkoB,GAAoB,CACtBC,YAAa,iBACbC,qBAAsB,0BACtBC,kBAAmB,uBACnBC,sBAAuB,2BACvBC,gBAAiB,qBACjBC,qBAAsB,0BACtBC,yBAA0B,8BAC1BC,gCAAiC,qCACjCC,0BAA2B,+BAC3BC,KAAM,UACNtnB,MAAO,WACPunB,aAAc,kBACdC,mBAAoB,wBACpBC,mBAAoB,wBACpB5sB,KAAM,UACN0V,MAAO,WACPtH,KAAM,UACNye,iBAAkB,sBAClBC,MAAO,WACPC,YAAa,sCACbC,KAAM,kBACNrpB,OAAQ,YACRspB,aAAc,kBACdC,aAAc,kBACdC,gBAAiB,qBACjBC,aAAc,mBAEZC,GAAgB,SAAuBttB,EAAMitB,GAC/C,IAAI5J,EAAWrjB,EAAKqjB,UAEpB8D,EADWnnB,EAAKmnB,QACT9D,EAAU4J,EACnB,EACIM,GAAkB,CACpBphB,cAAe,GACfke,SAAU,GACVlD,OAAQ,ICjDH,SAASqG,GAAuBxtB,GACrC,IAAIytB,EAAiBztB,EAAKytB,eACxBhZ,EAAYzU,EAAKyU,UACjBiY,EAAO1sB,EAAK0sB,KACZ3gB,EAAc/L,EAAK+L,YACjB2hB,EAAgBjZ,EAAUkZ,wBAI1BC,GADY7hB,EAAY8hB,aAAe9hB,EAAYG,SAAS4hB,gBAAgBC,WAAahiB,EAAYG,SAASO,KAAKshB,WAAa,GAC9GL,EAAcE,IAAMF,EAAcM,OACxD,OAAQP,GACN,IAAK,QAED,MAAO,CACLG,IAAKA,EACLK,KAAMP,EAAcO,MAG1B,IAAK,MAED,MAAO,CACLL,IAAKA,EACLM,MAAOniB,EAAYG,SAAS4hB,gBAAgBK,aAAeT,EAAcO,KAAOP,EAAcU,QAGpG,IAAK,aAED,MAAO,CACLR,IAAKA,EACLK,KAAM,EACNC,MAAO,EACPE,MAAO,QACPC,SAAU,SAGhB,IAAK,sBAED,IAAIC,EAAW5B,EAAKiB,wBACpB,MAAO,CACLC,IAAKA,EACLK,KAAMK,EAASL,KACfC,MAAOniB,EAAYG,SAAS4hB,gBAAgBK,aAAeG,EAASL,KAAOK,EAASF,OACpFA,MAAO,QACPC,SAAU,SAGhB,QAEI,MAAM,IAAIjc,MAAM,6CAA6C/K,OAAOgL,KAAKC,UAAUmb,GAAiB,mBAG5G,CCnDA,SAAS,GAAQpuB,GAAkC,OAAO,GAAU,mBAAqB6B,QAAU,iBAAmBA,OAAOC,SAAW,SAAU9B,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqB6B,QAAU7B,EAAIqD,cAAgBxB,QAAU7B,IAAQ6B,OAAOqB,UAAY,gBAAkBlD,CAAK,EAAG,GAAQA,EAAM,CAC/U,SAASkvB,KAAiS,OAApRA,GAAWjvB,OAAOiU,OAASjU,OAAOiU,OAAO8V,OAAS,SAAUvlB,GAAU,IAAK,IAAI/C,EAAI,EAAGA,EAAItC,UAAUC,OAAQqC,IAAK,CAAE,IAAI6C,EAASnF,UAAUsC,GAAI,IAAK,IAAIlB,KAAO+D,EAActE,OAAOiD,UAAU+c,eAAe3d,KAAKiC,EAAQ/D,KAAQiE,EAAOjE,GAAO+D,EAAO/D,GAAU,CAAE,OAAOiE,CAAQ,EAAUyqB,GAASvvB,MAAMsiB,KAAM7iB,UAAY,CAClV,SAAS,GAAQ6F,EAAQC,GAAkB,IAAI7E,EAAOJ,OAAOI,KAAK4E,GAAS,GAAIhF,OAAO4E,sBAAuB,CAAE,IAAIM,EAAUlF,OAAO4E,sBAAsBI,GAASC,IAAmBC,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOpF,OAAOqF,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKlF,EAAKoC,KAAK9C,MAAMU,EAAM8E,EAAU,CAAE,OAAO9E,CAAM,CACpV,SAAS,GAAcoE,GAAU,IAAK,IAAI/C,EAAI,EAAGA,EAAItC,UAAUC,OAAQqC,IAAK,CAAE,IAAI6C,EAAS,MAAQnF,UAAUsC,GAAKtC,UAAUsC,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQzB,OAAOsE,IAAS,GAAIkB,SAAQ,SAAUjF,GAAO,GAAgBiE,EAAQjE,EAAK+D,EAAO/D,GAAO,IAAKP,OAAO0F,0BAA4B1F,OAAO2F,iBAAiBnB,EAAQxE,OAAO0F,0BAA0BpB,IAAW,GAAQtE,OAAOsE,IAASkB,SAAQ,SAAUjF,GAAOP,OAAO4F,eAAepB,EAAQjE,EAAKP,OAAOqF,yBAAyBf,EAAQ/D,GAAO,GAAI,CAAE,OAAOiE,CAAQ,CACzf,SAAS,GAAgBzE,EAAKQ,EAAKkC,GAA4L,OAAnLlC,EAC5C,SAAwBsF,GAAO,IAAItF,EACnC,SAAsBuF,EAAOC,GAAQ,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAMlE,OAAOqE,aAAc,QAAahH,IAAT+G,EAAoB,CAAE,IAAIE,EAAMF,EAAK3D,KAAKyD,EAAOC,GAAQ,WAAY,GAAqB,WAAjB,GAAQG,GAAmB,OAAOA,EAAK,MAAM,IAAIzC,UAAU,+CAAiD,CAAE,OAAiB,WAATsC,EAAoBI,OAASC,QAAQN,EAAQ,CADnV,CAAaD,EAAK,UAAW,MAAwB,WAAjB,GAAQtF,GAAoBA,EAAM4F,OAAO5F,EAAM,CAD1E,CAAeA,MAAiBR,EAAOC,OAAO4F,eAAe7F,EAAKQ,EAAK,CAAEkC,MAAOA,EAAO6C,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBzG,EAAIQ,GAAOkC,EAAgB1C,CAAK,CCHpO,IAAI,GAAa,CAAC,CACvB+e,QAAS,kBACTzX,QAASA,KCHX,SAAS,GAAmB7F,GAAO,OAInC,SAA4BA,GAAO,GAAIlC,MAAMoC,QAAQF,GAAM,OAAO,GAAkBA,EAAM,CAJhD,CAAmBA,IAG7D,SAA0B0C,GAAQ,GAAsB,qBAAXtC,QAAmD,MAAzBsC,EAAKtC,OAAOC,WAA2C,MAAtBqC,EAAK,cAAuB,OAAO5E,MAAMgE,KAAKY,EAAO,CAHxF,CAAiB1C,IAEtF,SAAqCqB,EAAGC,GAAU,IAAKD,EAAG,OAAQ,GAAiB,kBAANA,EAAgB,OAAO,GAAkBA,EAAGC,GAAS,IAAIE,EAAIhD,OAAOiD,UAAUC,SAASb,KAAKQ,GAAGM,MAAM,GAAI,GAAc,WAANH,GAAkBH,EAAEO,cAAaJ,EAAIH,EAAEO,YAAYC,MAAM,GAAU,QAANL,GAAqB,QAANA,EAAa,OAAO1D,MAAMgE,KAAKT,GAAI,GAAU,cAANG,GAAqB,2CAA2CO,KAAKP,GAAI,OAAO,GAAkBH,EAAGC,EAAS,CAFjU,CAA4BtB,IAC1H,WAAgC,MAAM,IAAIiC,UAAU,uIAAyI,CAD3D,EAAsB,CAKxJ,SAAS,GAAkBjC,EAAKmC,IAAkB,MAAPA,GAAeA,EAAMnC,EAAIpC,UAAQuE,EAAMnC,EAAIpC,QAAQ,IAAK,IAAIqC,EAAI,EAAGmC,EAAO,IAAItE,MAAMqE,GAAMlC,EAAIkC,EAAKlC,IAAKmC,EAAKnC,GAAKD,EAAIC,GAAI,OAAOmC,CAAM,CAClL,SAAS,GAAQ7D,GAAkC,OAAO,GAAU,mBAAqB6B,QAAU,iBAAmBA,OAAOC,SAAW,SAAU9B,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqB6B,QAAU7B,EAAIqD,cAAgBxB,QAAU7B,IAAQ6B,OAAOqB,UAAY,gBAAkBlD,CAAK,EAAG,GAAQA,EAAM,CAC/U,IAAImvB,GAAgB,SAAuBzsB,GACzC,OAAOA,GAA4B,WAAnB,GAAQA,IAAiE,oBAA1CzC,OAAOiD,UAAUC,SAASb,KAAKI,EAChF,EACO,SAAS0sB,KACd,IAAK,IAAIjwB,EAAOC,UAAUC,OAAQ2Q,EAAS,IAAIzQ,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IACjFwQ,EAAOxQ,GAAQJ,UAAUI,GAE3B,OAAOwQ,EAAOvG,QAAO,SAAUC,EAAK5J,GAYlC,OAXAG,OAAOI,KAAKP,GAAS2F,SAAQ,SAAUjF,GACrC,IAAIisB,EAAW/iB,EAAIlJ,GACfksB,EAAe5sB,EAAQU,GACvBjB,MAAMoC,QAAQ8qB,IAAaltB,MAAMoC,QAAQ+qB,GAC3ChjB,EAAIlJ,GAAOisB,EAASzkB,OAAOrI,MAAM8sB,EAAU,GAAmBC,IACrDyC,GAAc1C,IAAa0C,GAAczC,GAClDhjB,EAAIlJ,GAAO4uB,GAAU3C,EAAUC,GAE/BhjB,EAAIlJ,GAAOksB,CAEf,IACOhjB,CACT,GAAG,CAAC,EACN,CC5BA,SAAS,GAAQ1J,GAAkC,OAAO,GAAU,mBAAqB6B,QAAU,iBAAmBA,OAAOC,SAAW,SAAU9B,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqB6B,QAAU7B,EAAIqD,cAAgBxB,QAAU7B,IAAQ6B,OAAOqB,UAAY,gBAAkBlD,CAAK,EAAG,GAAQA,EAAM,CAC/U,SAAS,GAAQiF,EAAQC,GAAkB,IAAI7E,EAAOJ,OAAOI,KAAK4E,GAAS,GAAIhF,OAAO4E,sBAAuB,CAAE,IAAIM,EAAUlF,OAAO4E,sBAAsBI,GAASC,IAAmBC,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOpF,OAAOqF,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKlF,EAAKoC,KAAK9C,MAAMU,EAAM8E,EAAU,CAAE,OAAO9E,CAAM,CACpV,SAAS,GAAcoE,GAAU,IAAK,IAAI/C,EAAI,EAAGA,EAAItC,UAAUC,OAAQqC,IAAK,CAAE,IAAI6C,EAAS,MAAQnF,UAAUsC,GAAKtC,UAAUsC,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQzB,OAAOsE,IAAS,GAAIkB,SAAQ,SAAUjF,GAAO,GAAgBiE,EAAQjE,EAAK+D,EAAO/D,GAAO,IAAKP,OAAO0F,0BAA4B1F,OAAO2F,iBAAiBnB,EAAQxE,OAAO0F,0BAA0BpB,IAAW,GAAQtE,OAAOsE,IAASkB,SAAQ,SAAUjF,GAAOP,OAAO4F,eAAepB,EAAQjE,EAAKP,OAAOqF,yBAAyBf,EAAQ/D,GAAO,GAAI,CAAE,OAAOiE,CAAQ,CACzf,SAAS,GAAgBzE,EAAKQ,EAAKkC,GAA4L,OAAnLlC,EAC5C,SAAwBsF,GAAO,IAAItF,EACnC,SAAsBuF,EAAOC,GAAQ,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAMlE,OAAOqE,aAAc,QAAahH,IAAT+G,EAAoB,CAAE,IAAIE,EAAMF,EAAK3D,KAAKyD,EAAOC,GAAQ,WAAY,GAAqB,WAAjB,GAAQG,GAAmB,OAAOA,EAAK,MAAM,IAAIzC,UAAU,+CAAiD,CAAE,OAAiB,WAATsC,EAAoBI,OAASC,QAAQN,EAAQ,CADnV,CAAaD,EAAK,UAAW,MAAwB,WAAjB,GAAQtF,GAAoBA,EAAM4F,OAAO5F,EAAM,CAD1E,CAAeA,MAAiBR,EAAOC,OAAO4F,eAAe7F,EAAKQ,EAAK,CAAEkC,MAAOA,EAAO6C,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBzG,EAAIQ,GAAOkC,EAAgB1C,CAAK,CAG3O,SAAS,GAAeyB,EAAKC,GAAK,OAKlC,SAAyBD,GAAO,GAAIlC,MAAMoC,QAAQF,GAAM,OAAOA,CAAK,CAL3B,CAAgBA,IAIzD,SAA+BA,EAAKC,GAAK,IAAIpB,EAAK,MAAQmB,EAAM,KAAO,oBAAsBI,QAAUJ,EAAII,OAAOC,WAAaL,EAAI,cAAe,GAAI,MAAQnB,EAAI,CAAE,IAAIyB,EAAIC,EAAIC,EAAIC,EAAIC,EAAO,GAAIC,GAAK,EAAIC,GAAK,EAAI,IAAM,GAAIJ,GAAM3B,EAAKA,EAAGgC,KAAKb,IAAMc,KAAM,IAAMb,EAAG,CAAE,GAAIzB,OAAOK,KAAQA,EAAI,OAAQ8B,GAAK,CAAI,MAAO,OAASA,GAAML,EAAKE,EAAGK,KAAKhC,IAAKkC,QAAUL,EAAKM,KAAKV,EAAGW,OAAQP,EAAK9C,SAAWqC,GAAIU,GAAK,GAAK,CAAE,MAAOO,GAAON,GAAK,EAAIL,EAAKW,CAAK,CAAE,QAAU,IAAM,IAAKP,GAAM,MAAQ9B,EAAGsC,SAAWV,EAAK5B,EAAGsC,SAAU3C,OAAOiC,KAAQA,GAAK,MAAQ,CAAE,QAAU,GAAIG,EAAI,MAAML,CAAI,CAAE,CAAE,OAAOG,CAAM,CAAE,CAJ1gB,CAAsBV,EAAKC,IAE5F,SAAqCoB,EAAGC,GAAU,IAAKD,EAAG,OAAQ,GAAiB,kBAANA,EAAgB,OAAO,GAAkBA,EAAGC,GAAS,IAAIE,EAAIhD,OAAOiD,UAAUC,SAASb,KAAKQ,GAAGM,MAAM,GAAI,GAAc,WAANH,GAAkBH,EAAEO,cAAaJ,EAAIH,EAAEO,YAAYC,MAAM,GAAU,QAANL,GAAqB,QAANA,EAAa,OAAO1D,MAAMgE,KAAKT,GAAI,GAAU,cAANG,GAAqB,2CAA2CO,KAAKP,GAAI,OAAO,GAAkBH,EAAGC,EAAS,CAF7T,CAA4BtB,EAAKC,IACnI,WAA8B,MAAM,IAAIgC,UAAU,4IAA8I,CADvD,EAAoB,CAG7J,SAAS,GAAkBjC,EAAKmC,IAAkB,MAAPA,GAAeA,EAAMnC,EAAIpC,UAAQuE,EAAMnC,EAAIpC,QAAQ,IAAK,IAAIqC,EAAI,EAAGmC,EAAO,IAAItE,MAAMqE,GAAMlC,EAAIkC,EAAKlC,IAAKmC,EAAKnC,GAAKD,EAAIC,GAAI,OAAOmC,CAAM,CCTlL,IAAI,GAAY,CAAC,cACjB,SAAS,GAAQ7D,GAAkC,OAAO,GAAU,mBAAqB6B,QAAU,iBAAmBA,OAAOC,SAAW,SAAU9B,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqB6B,QAAU7B,EAAIqD,cAAgBxB,QAAU7B,IAAQ6B,OAAOqB,UAAY,gBAAkBlD,CAAK,EAAG,GAAQA,EAAM,CAC/U,SAAS,GAAyBuE,EAAQC,GAAY,GAAc,MAAVD,EAAgB,MAAO,CAAC,EAAG,IAAkE/D,EAAKkB,EAAnE+C,EACzF,SAAuCF,EAAQC,GAAY,GAAc,MAAVD,EAAgB,MAAO,CAAC,EAAG,IAA2D/D,EAAKkB,EAA5D+C,EAAS,CAAC,EAAOC,EAAazE,OAAOI,KAAKkE,GAAqB,IAAK7C,EAAI,EAAGA,EAAIgD,EAAWrF,OAAQqC,IAAOlB,EAAMkE,EAAWhD,GAAQ8C,EAASG,QAAQnE,IAAQ,IAAaiE,EAAOjE,GAAO+D,EAAO/D,IAAQ,OAAOiE,CAAQ,CADhN,CAA8BF,EAAQC,GAAuB,GAAIvE,OAAO4E,sBAAuB,CAAE,IAAIC,EAAmB7E,OAAO4E,sBAAsBN,GAAS,IAAK7C,EAAI,EAAGA,EAAIoD,EAAiBzF,OAAQqC,IAAOlB,EAAMsE,EAAiBpD,GAAQ8C,EAASG,QAAQnE,IAAQ,GAAkBP,OAAOiD,UAAU6B,qBAAqBzC,KAAKiC,EAAQ/D,KAAgBiE,EAAOjE,GAAO+D,EAAO/D,GAAQ,CAAE,OAAOiE,CAAQ,CAE3e,SAAS,GAAQQ,EAAQC,GAAkB,IAAI7E,EAAOJ,OAAOI,KAAK4E,GAAS,GAAIhF,OAAO4E,sBAAuB,CAAE,IAAIM,EAAUlF,OAAO4E,sBAAsBI,GAASC,IAAmBC,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOpF,OAAOqF,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKlF,EAAKoC,KAAK9C,MAAMU,EAAM8E,EAAU,CAAE,OAAO9E,CAAM,CACpV,SAAS,GAAcoE,GAAU,IAAK,IAAI/C,EAAI,EAAGA,EAAItC,UAAUC,OAAQqC,IAAK,CAAE,IAAI6C,EAAS,MAAQnF,UAAUsC,GAAKtC,UAAUsC,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQzB,OAAOsE,IAAS,GAAIkB,SAAQ,SAAUjF,GAAO,GAAgBiE,EAAQjE,EAAK+D,EAAO/D,GAAO,IAAKP,OAAO0F,0BAA4B1F,OAAO2F,iBAAiBnB,EAAQxE,OAAO0F,0BAA0BpB,IAAW,GAAQtE,OAAOsE,IAASkB,SAAQ,SAAUjF,GAAOP,OAAO4F,eAAepB,EAAQjE,EAAKP,OAAOqF,yBAAyBf,EAAQ/D,GAAO,GAAI,CAAE,OAAOiE,CAAQ,CACzf,SAAS,GAAgBzE,EAAKQ,EAAKkC,GAA4L,OAAnLlC,EAC5C,SAAwBsF,GAAO,IAAItF,EACnC,SAAsBuF,EAAOC,GAAQ,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAMlE,OAAOqE,aAAc,QAAahH,IAAT+G,EAAoB,CAAE,IAAIE,EAAMF,EAAK3D,KAAKyD,EAAOC,GAAQ,WAAY,GAAqB,WAAjB,GAAQG,GAAmB,OAAOA,EAAK,MAAM,IAAIzC,UAAU,+CAAiD,CAAE,OAAiB,WAATsC,EAAoBI,OAASC,QAAQN,EAAQ,CADnV,CAAaD,EAAK,UAAW,MAAwB,WAAjB,GAAQtF,GAAoBA,EAAM4F,OAAO5F,EAAM,CAD1E,CAAeA,MAAiBR,EAAOC,OAAO4F,eAAe7F,EAAKQ,EAAK,CAAEkC,MAAOA,EAAO6C,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBzG,EAAIQ,GAAOkC,EAAgB1C,CAAK,CAepO,SAASqvB,GAAahkB,GAC3B,ICrBIikB,EDqBAC,EEtBC,WACL,IAAIC,EAAU,GACVC,EAAW,GACf,SAASC,EAAU3wB,GACjBywB,EAAQ/sB,KAAK1D,GACb,IAAI4wB,EAAgB5wB,IACpB0wB,EAAShtB,KAAKktB,EAChB,CACA,MAAO,CACLD,UAAWA,EACXE,eAAgB,WACd,IAAIC,EAAkBJ,EACtBA,EAAW,GACXI,EAAgBpqB,SAAQ,SAAUqqB,GAChCA,GACF,GACF,EACAC,WAAY,WACV,IAAIC,EAAiBR,EACrBA,EAAU,GACVQ,EAAevqB,SAAQ,SAAUwqB,GAC/BP,EAAUO,EACZ,GACF,EAEJ,CFH6BC,GACzBR,EAAYH,EAAqBG,UACjCE,EAAiBL,EAAqBK,eACtCG,EAAaR,EAAqBQ,WAChCI,GCzBAb,EAAY,GACT,CACLc,SAAU,SAAkB1tB,GAC1B,IAAI5C,EAAU4C,IACV0tB,EAAW,CACbC,IAAK3tB,EACL/B,KAAM,CACJb,QAASA,GAEX,SAAI4C,GACF,OAAOuf,KAAKthB,KAAKb,OACnB,EACA,SAAI4C,CAAMA,GACRuf,KAAKthB,KAAKb,QAAU4C,CACtB,GAGF,OADA4sB,EAAU7sB,KAAK2tB,GACRA,CACT,EACAE,aAAc,WACZhB,EAAU7pB,SAAQ,SAAU/C,GAC1BA,EAAM/B,KAAKb,QAAU4C,EAAM2tB,KAC7B,GACF,IDGAD,EAAWD,EAAsBC,SACjCE,EAAeH,EAAsBG,aACnCC,EAAgC3wB,GAAU,GAC1C4wB,EAAa5wB,EAAUyL,GACvBolB,EAAmB7wB,OAAUV,GAC7B4P,EAAQshB,GAAS,WACnB,ONkBG,SAA2B/kB,GAChC,IAAIqlB,EACAtM,EAAa/Y,EAAQ+Y,WACvBhP,EAAY/J,EAAQ+J,UACpByF,EAAsBxP,EAAQwP,oBAC9BkB,EAAe1Q,EAAQ0Q,aACvBO,EAAgBjR,EAAQiR,cACxBmC,EAAepT,EAAQoT,aACvBrC,EAAgB/Q,EAAQ+Q,cACxBoC,EAAenT,EAAQmT,aACvBF,EAAgBjT,EAAQiT,cACxB1C,EAAevQ,EAAQuQ,aACvB+U,EAAiBtlB,EAAQslB,eACzBvC,EAAiB/iB,EAAQ+iB,eACzBtG,EAASzc,EAAQyc,OACjB8I,EAAkBvlB,EAAQulB,gBAC1BC,EAAWxlB,EAAQwlB,SACnBC,EAAqBzlB,EAAQylB,mBAC7BC,EAAa1lB,EAAQ0lB,WACrBC,EAAe3lB,EAAQ2lB,aACvBC,EAAO,GAAyB5lB,EAAS,IAGvCqB,EAAgC,qBAAXL,OAAyBA,OAAS,CAAC,EAExD6kB,EAAmB3E,GAAe7f,EAAa0I,GACzC8b,EAAiBpN,QAG3B,IAAIqN,EAAoB,GAAc,GAAc,CAAC,EAAGjD,IAAkB2C,GACtEO,EAAoB,CACtBnG,UAAWF,GAAyBoG,GACpClF,iBAAkBD,GAAgCmF,GAClD/E,eAAgBD,GAA8BgF,GAC9C7E,QAASD,GAAuB8E,IAQlC,MAAO,CACLN,SAAU,CACRzM,WAAYoI,GAAgBG,GAAkC,OAAfvI,QAAsC,IAAfA,EAAwBA,EAAa,CAAC,GAC5GhP,UAAW8b,EACXrW,oBAA6C,OAAxBA,QAAwD,IAAxBA,EAAiCA,EAAsB,SAAU9T,GAEpH,OADYA,EAAM+H,KAEpB,EACAiN,aAA+B,OAAjBA,QAA0C,IAAjBA,EAA0BA,EAAe,SAAUpS,GAExF,OADYA,EAAMmF,KAEpB,EACAwN,cAAiC,OAAlBA,QAA4C,IAAlBA,EAA2BA,EAAgB,SAAUvS,GAE5F,OADYA,EAAM+E,KAEpB,EACA2P,aAA+B,OAAjBA,QAA0C,IAAjBA,EAA0BA,EAAe,SAAUxU,GAExF,OADYA,EAAM6E,KAEpB,EACAsN,cAAiC,OAAlBA,QAA4C,IAAlBA,EAA2BA,EAAgB,SAAU9N,GAE5F,OADYA,EAAMQ,KAEpB,EACA0P,aAA+B,OAAjBA,QAA0C,IAAjBA,EAA0BA,EAAe,SAAUhQ,GAExF,OADYA,EAAMM,KAEpB,EACAwP,cAAiC,OAAlBA,QAA4C,IAAlBA,EAA2BA,EAAgB,SAAU/S,GAE5F,OADYA,EAAMuD,KAEpB,EACA8M,aAA+B,OAAjBA,QAA0C,IAAjBA,EAA0BA,EAAe,SAAUjQ,GAExF,OADYA,EAAMmD,KAEpB,EACA6hB,eAAgBA,EAAiBpE,GAAe7f,EAAaikB,GAAkBjkB,EAAYG,SAASO,KACpGghB,eAAmC,OAAnBA,QAA8C,IAAnBA,EAA4BA,EAAiB,sBACxFtG,OAAmB,OAAXA,QAA8B,IAAXA,EAAoBA,EAASmG,GACxD2C,gBAAiBA,EACjBC,SAAUM,EACVL,mBAA2C,OAAvBA,QAAsD,IAAvBA,EAAgCA,EAAqBO,iBAAiB3kB,EAAYG,SAAS4hB,iBAAiB6C,iBAAiB,6BAChLP,WAAY,GAAc,GAAc,CAAC,EAAGK,GAAoBL,GAChEC,aAAc,GAAc,GAAc,CAAC,EAjDrB,CACxBO,iBAAkB,QAClBC,yBAA0B,SAC1BC,0BAA2B,SAC3BC,kBAAmB,WA6CmDV,IAEtEC,KAAM,GAAc,GAAc,CAAC,EAAGA,GAAO,CAAC,EAAG,CAC/C1f,GAA6B,QAAxBmf,EAAWO,EAAK1f,UAA6B,IAAbmf,EAAsBA,EAAWngB,IACtE7D,YAAaA,IAGnB,CM9GWilB,CAAkBnB,EAAW1wB,QACtC,IACIwkB,EAAa8L,GAAS,WACxB,OAAOthB,EAAMpM,MAAMuuB,KAAKvkB,YAAYklB,WAAW9iB,EAAMpM,MAAMmuB,SAASC,oBAAoBjb,OAC1F,IACIwZ,EAAee,GAAS,WAC1B,OAAOjQ,GAAmB,GAAc,GAAc,CAAC,EAAGrR,EAAMpM,MAAMuuB,MAAO,CAAC,EAAG,CAC/E1iB,cAAe,SAAuB5H,GACpC,IAAIkrB,EAAuBC,EAAuBC,EAClDxB,EAA8BzwB,QAAU6G,EAAOqE,MAAM4C,YAAY4L,MAAK,SAAUnJ,GAC9E,OAAOA,EAAW9L,OAAOytB,UAAUC,SACrC,IACuD,QAAtDJ,EAAwBpB,EAAiB3wB,eAA+C,IAA1B+xB,GAA4CA,EAAsBvvB,KAAKmuB,EAAkB9pB,GACrE,QAAlFmrB,GAAyBC,EAAoBjjB,EAAMpM,MAAMuuB,MAAM1iB,qBAAqD,IAA1BujB,GAA4CA,EAAsBxvB,KAAKyvB,EAAmBprB,EACvL,EACAyK,gBAAiBof,EAAW1wB,QAAQsR,iBAAmB,SAAUzQ,GAC/D,IAAIqK,EAAQrK,EAAKqK,MACjB,GAAIsZ,EAAW5hB,MACb,OAAO,EAET,IAAIwvB,EAAW/hB,EAAcnF,GAAS,EACtC,IAAK8D,EAAMpM,MAAMuuB,KAAKpgB,cAAgB7F,EAAMyG,MAC1C,OAAOygB,EAET,IAAIC,EAAuB3f,QAAQ+d,EAA8BzwB,SAAWgP,EAAMpM,MAAMmuB,SAASD,iBACjG,OAAQsB,GAAYC,GAAwBD,CAC9C,EACA5S,wBAAyB,CACvBR,WAAY,GACZzT,QAASA,KAGf,IACI+mB,EAAexyB,EAAU,GAAc,CACzCgO,YAAa,GACb8D,WAAY,KACZjG,QAAS,CAAC,EACVkC,QAAQ,EACR8D,MAAO,GACPD,aAAc,KACdG,OAAQ,QACP7C,EAAMpM,MAAMuuB,KAAKhiB,eAChB2R,EAAc,CAChB/F,oBAAqB/L,EAAMpM,MAAMmuB,SAAShW,oBAC1CkB,aAAcjN,EAAMpM,MAAMmuB,SAAS9U,aACnCO,cAAexN,EAAMpM,MAAMmuB,SAASvU,cACpCmC,aAAc3P,EAAMpM,MAAMmuB,SAASpS,aACnCrC,cAAetN,EAAMpM,MAAMmuB,SAASzU,cACpCoC,aAAc1P,EAAMpM,MAAMmuB,SAASrS,aACnCF,cAAexP,EAAMpM,MAAMmuB,SAASvS,cACpC1C,aAAc9M,EAAMpM,MAAMmuB,SAASjV,cAEjCuI,EAAuB,CACzBhL,gBAAiBkW,EAAa3sB,MAAMyW,gBACpCD,SAAUmW,EAAa3sB,MAAMwW,SAC7BD,eAAgBoW,EAAa3sB,MAAMuW,eACnC5F,UAAWgc,EAAa3sB,MAAM2Q,UAC9B+F,UAAWiW,EAAa3sB,MAAM0W,UAC9BtL,WAAYuhB,EAAa3sB,MAAMoL,WAC/BiL,QAASsW,EAAa3sB,MAAMqW,QAC5BjF,UAAWub,EAAa3sB,MAAMoR,WAE5Bue,EAAOjC,GAAS,WAClB,OAAO,GAAIpG,KAAKlb,EAAMpM,MAAMmuB,SAASA,SAAS/jB,cAChD,IACIoW,EAAMkN,GAAS,WACjB,OvB1FG,SAA+BzvB,GACpC,IAAI0uB,EAAe1uB,EAAK0uB,aACtBlL,EAAuBxjB,EAAKwjB,qBAC5BC,EAAazjB,EAAKyjB,WAClB1X,EAAc/L,EAAK+L,YACnB4X,EAAa3jB,EAAK2jB,WAClBgO,EAAmB3xB,EAAKqQ,YACxBA,OAAmC,IAArBshB,EAA8B,SAAWA,EACvD1R,EAAcjgB,EAAKigB,YACnB2R,EAAiB5xB,EAAK4xB,eACtBvnB,EAAQrK,EAAKqK,MACbgmB,EAAerwB,EAAKqwB,aAClBzM,EAAmBV,GAAoBnX,GACvC8lB,EAAY5R,EAAYhF,aAAa,GAAc,CACrD5Q,MAAOA,EACP8D,MAAOugB,EAAazT,aAAa,CAAC,IACjCuI,IACCyJ,EAAOrJ,EAAiB,MAAO,GAAc,CAC/CkO,MAAOrO,EAAWwJ,MACjB4E,IACC1F,EAAoBvI,EAAiB,MAAO,CAC9CkO,MAAOrO,EAAW0I,kBAClBtR,YAAa,SAAqBtQ,GAChCA,EAAMwnB,iBACR,IAEE1F,EAAkBzI,EAAiB,MAAO,CAC5CkO,MAAOrO,EAAW4I,gBAClBhJ,SAAU,CAAC8I,GACXtR,YAAa,WACX+W,GAAe,GACflD,EAAahc,WAAU,EACzB,IAEEsf,EAAa/R,EAAYxE,cAAc,GAAc,CACvDpR,MAAOA,EACP8D,MAAOugB,EAAajT,cAAc,CAAC,IAClC+H,IACC6J,EAAezJ,EAAiB,SAAU,CAC5CkO,MAAOrO,EAAW4J,aAClB1e,KAAM,SACNsjB,MAAO5B,EAAaU,kBACpB1N,SAAU,CAAC5B,GAAW,CACpB1V,YAAaA,OAMb4J,EAAQiO,EAAiB,QAAS,GAAc,CAClDkO,MAAOrO,EAAW9N,MAClB0N,SAAU,CAACgK,GACX6E,UAAW7B,EAAaU,mBACvBiB,IACC/F,EAAcrI,EAAiB,SAAU,CAC3CkO,MAAOrO,EAAWwI,YAClBtd,KAAM,QACNsjB,MAAO5B,EAAaO,iBACpBvN,SAAU,CAACvB,GAAU,CACnB/V,YAAaA,OAGb+gB,EAAmBlJ,EAAiB,MAAO,CAC7CkO,MAAOrO,EAAWqJ,iBAClBzJ,SAAU,CAACtB,GAAY,CACrBhW,YAAaA,OAGb3G,EAAQme,GAAM,CAChBuO,MAAOrO,EAAWre,MAClB2G,YAAaA,EACb1B,MAAOA,EACPsR,cAAesE,EAAYtE,cAC3B+H,kBAAmBgL,EAAa/S,cAChC6H,qBAAsBA,EACtBG,WAAYA,IAEViJ,EAAqBhJ,EAAiB,MAAO,CAC/CkO,MAAOrO,EAAWmJ,mBAClBvJ,SAAU,CAAC1N,EAAOmX,KAEhBD,EAAqBjJ,EAAiB,MAAO,CAC/CkO,MAAOrO,EAAWoJ,mBAClBxJ,SAAU,CAAC4I,KAETU,EAAe/I,EAAiB,MAAO,CACzCkO,MAAOrO,EAAWkJ,aAClBtJ,SAAU,CAACje,KAET+sB,EAAYlS,EAAY7E,aAAa,GAAc,CACrD/Q,MAAOA,EACP8D,MAAOugB,EAAatT,aAAa,CAC/BhB,aAAchV,KAEfoe,IACCkJ,EAAO9I,EAAiB,OAAQ,GAAc,CAChDkO,MAAOrO,EAAWiJ,KAClBrJ,SAAU,CAACuJ,EAAoBD,EAAcE,IAC5CsF,IACCC,EAAanS,EAAYtC,cAAc,GAAc,CACvDtT,MAAOA,EACP8D,MAAOugB,EAAa/Q,cAAc,CAAC,IAClC6F,IACCuJ,EAAQnJ,EAAiB,MAAO,GAAc,CAChDkO,MAAOrO,EAAWsJ,OACjBqF,IACC3F,EAA4B7I,EAAiB,MAAO,CACtDkO,MAAOrO,EAAWgJ,0BAClB4F,YAAahoB,EAAMyG,QAEjB0b,EAAkC5I,EAAiB,MAAO,CAC5DkO,MAAOrO,EAAW+I,gCAClB8F,OAAQzgB,QAAQxH,EAAMyG,OACtBuhB,YAAahiB,IAOf,GAAIsT,EAAY,CACd,IAAI4I,EAA2B3I,EAAiB,MAAO,CACrDkO,MAAOrO,EAAW8I,yBAClBlJ,SAAU,CAAC5B,GAAW,CACpB1V,YAAaA,OAGbugB,EAAuB1I,EAAiB,SAAU,CACpDjV,KAAM,SACNmjB,MAAOrO,EAAW6I,qBAClB2F,MAAO5B,EAAaS,0BACpBlgB,GAAIohB,EAAWphB,GACf8M,QAAS,WACPkU,GAAe,EACjB,EACAvO,SAAU,CAACkJ,EAA0BC,EAAiCC,KAEpEP,EAAuBtI,EAAiB,SAAU,CACpDjV,KAAM,SACNmjB,MAAOrO,EAAWyI,qBAClBmG,YAAahC,EAAaQ,yBAG1BjW,aAAc,SAAsBrQ,GAClCA,EAAMwnB,iBACR,EACArU,QAAS,WACPgR,EAAahc,WAAU,GACvBkf,GAAe,EACjB,IAEExF,EAAwBxI,EAAiB,MAAO,CAClDkO,MAAOrO,EAAW2I,sBAClB/I,SAAU,CAACqJ,EAAMR,KAEnBC,EAAkBzf,YAAY0f,GAC9Ba,EAAKvgB,YAAY4f,EACnB,MACEW,EAAKvgB,YAAYggB,GAEnB,MAAO,CACLP,kBAAmBA,EACnBE,gBAAiBA,EACjBI,0BAA2BA,EAC3BD,gCAAiCA,EACjCG,aAAcA,EACdvnB,MAAOA,EACP6nB,KAAMA,EACNP,KAAMA,EACN/W,MAAOA,EACP0X,aAAcA,EACdpB,YAAaA,EACba,iBAAkBA,EAClBC,MAAOA,EAEX,CuBrFWwF,CAAsB,CAC3B7D,aAAcA,EAAa3sB,MAC3ByhB,qBAAsBA,EACtBC,WAAYtV,EAAMpM,MAAMmuB,SAASzM,WACjC1X,YAAaoC,EAAMpM,MAAMuuB,KAAKvkB,YAC9B4X,WAAYA,EAAW5hB,MACvBsO,YAAalC,EAAMpM,MAAMuuB,KAAKjgB,YAC9B4P,YAAaA,EACb2R,eAAgBA,EAChBvnB,MAAOonB,EAAatyB,QACpBkxB,aAAcliB,EAAMpM,MAAMmuB,SAASG,cAEvC,IACA,SAASmC,IACPxP,GAAcT,EAAIxgB,MAAMgrB,MAAO,CAC7B5K,MAAOwB,EAAW5hB,MAAQ,CAAC,EAAIyrB,GAAuB,CACpDC,eAAgBtf,EAAMpM,MAAMmuB,SAASzC,eACrChZ,UAAW8N,EAAIxgB,MAAMkrB,KACrBP,KAAMnK,EAAIxgB,MAAM2qB,KAChB3gB,YAAaoC,EAAMpM,MAAMuuB,KAAKvkB,eAGpC,CACA,SAAS0mB,EAAepoB,GACtBonB,EAAatyB,QAAUkL,EACvB,IAAIqoB,EAAc,CAChBhE,aAAcA,EAAa3sB,MAC3ByhB,qBAAsBA,EACtBC,WAAYtV,EAAMpM,MAAMmuB,SAASzM,WACjC2M,WAAYjiB,EAAMpM,MAAMmuB,SAASE,WACjC3b,UAAWtG,EAAMpM,MAAMmuB,SAASzb,UAChCid,KAAMA,EAAK3vB,MACXwgB,IAAKA,EAAIxgB,MACTiuB,eAAgBrM,EAAW5hB,MAAQwgB,EAAIxgB,MAAMoqB,kBAAoBhe,EAAMpM,MAAMmuB,SAASF,eACtF/P,YAAaA,EACb5V,MAAOonB,EAAatyB,QACpB+wB,SAAU/hB,EAAMpM,MAAMmuB,SAASA,UAE7B/I,GAAU3X,EAAcnF,KAAWulB,EAA8BzwB,SAAWgP,EAAMpM,MAAMmuB,SAASD,iBAAmB9hB,EAAMpM,MAAMmuB,SAAS/I,QJ9H1I,SAAyBnnB,GAC9B,IAAI0uB,EAAe1uB,EAAK0uB,aACtBlL,EAAuBxjB,EAAKwjB,qBAC5BjB,EAAMviB,EAAKuiB,IACXtC,EAAcjgB,EAAKigB,YACnB5V,EAAQrK,EAAKqK,MACf4Y,GAA2BV,EAAI0K,KAAMhN,EAAYhF,aAAa,GAAc,CAC1E5Q,MAAOA,EACP8D,MAAOugB,EAAazT,aAAa,CAAC,IACjCuI,KACHP,GAA2BV,EAAInd,MAAO6a,EAAYtE,cAAc,GAAc,CAC5EtR,MAAOA,EACP8D,MAAOugB,EAAa/S,cAAc,CAChCvB,aAAcmI,EAAInd,QAEpBgV,aAAcmI,EAAInd,OACjBoe,KACHR,GAAcT,EAAI5M,MAAO,CACvB2c,OAAyB,YAAjBjoB,EAAM2G,SAEhBgS,GAAcT,EAAIuK,iBAAkB,CAClCwF,OAAyB,YAAjBjoB,EAAM2G,SAEhBgS,GAAcT,EAAI0J,YAAa,CAC7BqG,QAASjoB,EAAMyG,QAEjBkS,GAAcT,EAAIkK,0BAA2B,CAC3C4F,YAAahoB,EAAMyG,QAErBkS,GAAcT,EAAIiK,gCAAiC,CACjD8F,OAAQzgB,QAAQxH,EAAMyG,QAE1B,CI+FI6hB,CAAgBD,GJ9Fb,SAAqBvL,EAAQ/gB,GAClC,IAAIsoB,EAAetoB,EAAMsoB,aACvBlL,EAAuBpd,EAAMod,qBAC7BC,EAAard,EAAMqd,WACnBiO,EAAOtrB,EAAMsrB,KACbnP,EAAMnc,EAAMmc,IACZyN,EAAiB5pB,EAAM4pB,eACvB/P,EAAc7Z,EAAM6Z,YACpB5V,EAAQjE,EAAMiE,MACd+lB,EAAahqB,EAAMgqB,WACnBF,EAAW9pB,EAAM8pB,SACnB,GAAK7lB,EAAM2C,OAAX,CASKgjB,EAAerV,SAAS4H,EAAIwK,QAA2B,YAAjB1iB,EAAM2G,QAC/Cgf,EAAetjB,YAAY6V,EAAIwK,OAEjCxK,EAAIwK,MAAM6F,UAAUC,OAAO,oBAAsC,YAAjBxoB,EAAM2G,QACtD,IAAI8hB,EAAWzoB,EAAM4C,YAAYxI,QAAO,SAAUuE,GAChD,IAAIpF,EAASoF,EAAMpF,OACjBzD,EAAQ6I,EAAM7I,MAChB,OAAOyD,EAAOytB,UAAUC,WAAanxB,EAAMzB,OAAS,CACtD,IAAGuH,KAAI,SAAUmD,EAAO2pB,GACtB,IAAInvB,EAASwF,EAAMxF,OACjBzD,EAAQiJ,EAAMjJ,MAChB,OAAO+vB,EAAS/jB,cAAc,UAAW,CACvCtM,IAAKkzB,EACLC,UAAWvP,EAAW7f,OACtB,8BAA+BA,EAAOsO,UACrCtO,EAAOytB,UAAU4B,QAAU/C,EAAS/jB,cAAc,MAAO,CAC1D6mB,UAAWvP,EAAW0J,cACrBvpB,EAAOytB,UAAU4B,OAAO,CACzB7C,WAAYA,EACZjkB,cAAe+jB,EAAS/jB,cACxBke,SAAU6F,EAAS7F,SACnBlqB,MAAOA,EACPyD,OAAQA,EACRyG,MAAOA,EACPqnB,KAAMA,KACH9tB,EAAOytB,UAAUC,WAA8B,IAAjBnxB,EAAMzB,OAAewxB,EAAS/jB,cAAc,MAAO,CACpF6mB,UAAWvP,EAAW2J,iBACrBxpB,EAAOytB,UAAUC,UAAU,CAC5BlB,WAAYA,EACZjkB,cAAe+jB,EAAS/jB,cACxBke,SAAU6F,EAAS7F,SACnBzmB,OAAQA,EACRyG,MAAOA,EACPqnB,KAAMA,KACFxB,EAAS/jB,cAAc,KAAMoiB,GAAS,CAC1CyE,UAAWvP,EAAWpV,MACrB4R,EAAYpC,aAAa,GAAc,CACxCxT,MAAOA,EACP8D,MAAOugB,EAAa7Q,aAAa,CAC/Bja,OAAQA,KAET4f,KAAyBrjB,EAAM8F,KAAI,SAAUhG,GAC9C,IAAIizB,EAAYxE,EAAa5Q,aAAa,CACxC7d,KAAMA,EACN2D,OAAQA,IAEV,OAAOssB,EAAS/jB,cAAc,KAAMoiB,GAAS,CAC3C1uB,IAAKqzB,EAAUtiB,GACfoiB,UAAWvP,EAAWxjB,MACrBggB,EAAYnC,aAAa,GAAc,CACxCzT,MAAOA,EACP8D,MAAO+kB,GACN1P,KAAyB5f,EAAOytB,UAAUpxB,KAAK,CAChDmwB,WAAYA,EACZjkB,cAAe+jB,EAAS/jB,cACxBke,SAAU6F,EAAS7F,SACnBpqB,KAAMA,EACNoK,MAAOA,EACPqnB,KAAMA,IAEV,KAAK9tB,EAAOytB,UAAU8B,QAAUjD,EAAS/jB,cAAc,MAAO,CAC5D6mB,UAAWvP,EAAWyJ,cACrBtpB,EAAOytB,UAAU8B,OAAO,CACzB/C,WAAYA,EACZjkB,cAAe+jB,EAAS/jB,cACxBke,SAAU6F,EAAS7F,SACnBlqB,MAAOA,EACPyD,OAAQA,EACRyG,MAAOA,EACPqnB,KAAMA,KAEV,IACIrO,EAAW6M,EAAS/jB,cAAc+jB,EAAS7F,SAAU,KAAM6F,EAAS/jB,cAAc,MAAO,CAC3F6mB,UAAWvP,EAAWuJ,aACrB8F,GAAW5C,EAAS/jB,cAAc,MAAO,CAC1C6mB,UAAW,uBAETI,EAAWN,EAAShqB,QAAO,SAAUC,EAAK5J,GAE5C,OADA4J,EAAI5J,EAAQgP,MAAM,gCAAkChP,EAC7C4J,CACT,GAAG,CAAC,GACJoe,EAAO,GAAc,GAAc,CACjC9D,SAAUA,EACVhZ,MAAOA,EACPyoB,SAAUA,EACVM,SAAUA,GACTlD,GAAW,CAAC,EAAG,CAChBE,WAAYA,EACZsB,KAAMA,GACLlO,GAAuBjB,EAAIwK,MA7F9B,MAJMiD,EAAerV,SAAS4H,EAAIwK,QAC9BiD,EAAe9L,YAAY3B,EAAIwK,MAiGrC,CIfIsG,CAAYlM,EAAQuL,EACtB,CAsHA,SAASY,IACP,IAAIC,EAAiB90B,UAAUC,OAAS,QAAsBH,IAAjBE,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC1FwwB,IACA,IDzPmB5vB,EAAKm0B,ECyPpBC,EAAwBtlB,EAAMpM,MAAMmuB,SACtCE,EAAaqD,EAAsBrD,WACnCsD,EAAgB,GAAyBD,EAAuB,IAClE5D,EAAW1wB,QAAUsvB,GAAUiF,EAAevlB,EAAMpM,MAAMuuB,KAAM,CAM9DF,YDlQiB/wB,ECkQE+wB,EDlQGoD,ECkQS,SAAUpqB,GAEvC,OADYA,EAAMrH,MACJud,eAAe,+BAC/B,EDpQGhgB,OAAOq0B,QAAQt0B,GAAKyJ,QAAO,SAAUC,EAAK/I,GAC/C,IAAIoG,EAAQ,GAAepG,EAAM,GAC/BH,EAAMuG,EAAM,GACZrE,EAAQqE,EAAM,GAChB,OAAIotB,EAAU,CACZ3zB,IAAKA,EACLkC,MAAOA,IAEA,GAAc,GAAc,CAAC,EAAGgH,GAAM,CAAC,EAAG,GAAgB,CAAC,EAAGlJ,EAAKkC,IAErEgH,CACT,GAAG,CAAC,IC0PAuF,aAAcmjB,EAAatyB,SAC1Bo0B,GACH5D,IACAP,IACAV,EAAa3sB,MAAMqW,UAAUpG,MAAK,WAChCygB,EAAehB,EAAatyB,QAC9B,GACF,CACA,SAASyyB,EAAe7vB,GAElBA,IADYoM,EAAMpM,MAAMuuB,KAAKvkB,YAAYG,SAASO,KAAKkO,SAAS4H,EAAIxgB,MAAMsqB,mBAI1EtqB,GACFoM,EAAMpM,MAAMuuB,KAAKvkB,YAAYG,SAASO,KAAKC,YAAY6V,EAAIxgB,MAAMsqB,iBACjEle,EAAMpM,MAAMuuB,KAAKvkB,YAAYG,SAASO,KAAKmmB,UAAU/jB,IAAI,eACzD0T,EAAIxgB,MAAMqD,MAAMuO,UAEhBxF,EAAMpM,MAAMuuB,KAAKvkB,YAAYG,SAASO,KAAKyX,YAAY3B,EAAIxgB,MAAMsqB,iBACjEle,EAAMpM,MAAMuuB,KAAKvkB,YAAYG,SAASO,KAAKmmB,UAAUgB,OAAO,gBAEhE,CAGA,OA7JA7E,GAAU,WACR,IAAI8E,EAAmBnF,EAAa3sB,MAAMmY,oBAAoB,CAC5DG,YAAakI,EAAIxgB,MAAM2qB,KACvBpS,aAAciI,EAAIxgB,MAAMgrB,MACxB3S,aAAcmI,EAAIxgB,MAAMqD,QAG1B,OADA4d,GAAc7U,EAAMpM,MAAMuuB,KAAKvkB,YAAa8nB,GACrC,WACL7Q,GAAc7U,EAAMpM,MAAMuuB,KAAKvkB,YAAazM,OAAOI,KAAKm0B,GAAkB/qB,QAAO,SAAUC,EAAKlJ,GAC9F,OAAO,GAAc,GAAc,CAAC,EAAGkJ,GAAM,CAAC,EAAG,GAAgB,CAAC,EAAGlJ,OAAKtB,GAC5E,GAAG,CAAC,GACN,CACF,IACAwwB,GAAU,WACR,IAAI+E,EAAwBnQ,EAAW5hB,MAAQoM,EAAMpM,MAAMuuB,KAAKvkB,YAAYG,SAASO,KAAO0B,EAAMpM,MAAMmuB,SAASF,eAC7G1V,EAAeqJ,EAAW5hB,MAAQwgB,EAAIxgB,MAAMsqB,gBAAkB9J,EAAIxgB,MAAMgrB,MAK5E,OAJIpJ,EAAW5hB,OAAS0vB,EAAatyB,QAAQ6N,QAC3C4kB,GAAe,GAEjBa,EAAehB,EAAatyB,SACrB,WACD20B,EAAsBnZ,SAASL,KACjCwZ,EAAsB5P,YAAY5J,GAClCwZ,EAAsBlB,UAAUgB,OAAO,eAE3C,CACF,IACA7E,GAAU,WACR,IAAIwB,EAAmBpiB,EAAMpM,MAAMmuB,SAASzb,UAE5C,OADA8b,EAAiB7jB,YAAY6V,EAAIxgB,MAAMkrB,MAChC,WACLsD,EAAiBrM,YAAY3B,EAAIxgB,MAAMkrB,KACzC,CACF,IACA8B,GAAU,WACR,IAAIgF,EAAkB51B,GAAS,SAAUiI,GAEvCqsB,EADYrsB,EAAMiE,MAEpB,GAAG,GA8BH,OA7BAylB,EAAiB3wB,QAAU,SAAU6J,GACnC,IAAIqB,EAAQrB,EAAMqB,MAChBqE,EAAY1F,EAAM0F,WAChBiV,EAAW5hB,OAAS2M,EAAU1B,SAAW3C,EAAM2C,QACjD4kB,EAAevnB,EAAM2C,QAOlB2W,EAAW5hB,QAASsI,EAAM2C,QAAW0B,EAAU1B,QAClDwlB,IAKEnoB,EAAMyG,QAAUpC,EAAUoC,QACL3C,EAAMpM,MAAMuuB,KAAKvkB,YAAYG,SAAS8nB,iBAAiB,yBAC7DlvB,SAAQ,SAAUmvB,GACC,IAA9BA,EAAgBlG,YAClBkG,EAAgBlG,UAAY,EAEhC,IAEFgG,EAAgB,CACd1pB,MAAOA,GAEX,EACO,WACLylB,EAAiB3wB,aAAUZ,CAC7B,CACF,IACAwwB,GAAU,WACR,IAAImF,EAAW/1B,GAAS,WACtB,IAAIg2B,EAAqBxQ,EAAW5hB,MACpC4hB,EAAW5hB,MAAQoM,EAAMpM,MAAMuuB,KAAKvkB,YAAYklB,WAAW9iB,EAAMpM,MAAMmuB,SAASC,oBAAoBjb,QAChGif,IAAuBxQ,EAAW5hB,MACpCuxB,EAAO,CAAC,GAERc,sBAAsB5B,EAE1B,GAAG,IAEH,OADArkB,EAAMpM,MAAMuuB,KAAKvkB,YAAY6W,iBAAiB,SAAUsR,GACjD,WACL/lB,EAAMpM,MAAMuuB,KAAKvkB,YAAY8W,oBAAoB,SAAUqR,EAC7D,CACF,IACAnF,GAAU,WACR,IAAKpL,EAAW5hB,MACd,OAAO,WAAa,EAEtB,SAASsyB,EAAqBC,GAC5B/R,EAAIxgB,MAAMoqB,kBAAkByG,UAAUC,OAAO,8BAA+ByB,EAC9E,CACA,SAAS7X,EAASlS,GAChB8pB,EAAqB9pB,EAAM2K,QAC7B,CACA,IAAIqf,EAAqBpmB,EAAMpM,MAAMuuB,KAAKvkB,YAAYklB,WAAWP,iBAAiBviB,EAAMpM,MAAMuuB,KAAKvkB,YAAYG,SAAS4hB,iBAAiB6C,iBAAiB,oCAC1J0D,EAAqBE,EAAmBrf,SAKxC,IAAIsf,EAAyB3iB,QAAQ0iB,EAAmB3R,kBAExD,OADA4R,EAAyBD,EAAmB3R,iBAAiB,SAAUnG,GAAY8X,EAAmBE,YAAYhY,GAC3G,WACL+X,EAAyBD,EAAmB1R,oBAAoB,SAAUpG,GAAY8X,EAAmBG,eAAejY,EAC1H,CACF,IACAsS,GAAU,WAER,OADAqF,sBAAsB5B,GACf,WAAa,CACtB,IA6CO,GAAc,GAAc,CAAC,EAAGhP,GAAuB,CAAC,EAAG,CAChE8P,OAAQA,EACRqB,QA9CF,WAEE1F,GACF,GA6CF,cG9SA,IAAU9I,EAEJyO,EAEAC,EAIAC,EAIAC,EAZI5O,EA+IP6O,OA7IGJ,EAAyB,EAEzBC,EAAgB,WAClB,OAAQ,IAAIjO,MAAOqO,UAAYL,GACjC,EAEIE,EAAoB,SAASlkB,GAC/B,MAAO,IAAMA,EAAK,KACpB,EAEImkB,EAAwB,SAASnkB,GACnC,MAAO,IAAMA,EAAK,KACpB,EAyBAuV,EAAEja,UAAUgpB,GAAG,QAAS,eAAe,SAASlU,GAC9CA,EAAEzF,iBACFyF,EAAE+Q,kBAEF,IAAIoD,EAAwBhP,EAAE7E,MAC1B8T,EAAwBD,EAAM5M,KAAK,eACnC8M,EAAwBF,EAAM5M,KAAK,gBACnC5H,EAAwBwU,EAAM5M,KAAK,kCACnC+M,EAAwBH,EAAM5M,KAAK,iCAAmC4M,EAAM5M,KAAK,mCAAqC,SACtHgN,EAAwBJ,EAAM5M,KAAK,8BACnCiN,EAAwBL,EAAM5M,KAAK,mCACnC3S,EAAwB6f,SAASN,EAAM5M,KAAK,SAAU,IACtDmN,EAAwB,IAAI/K,OAAO,UAAYyK,EAAQ,cAAe,KACtEO,EAAwB,IAAIhL,OAAO,QAAUyK,EAAQ,UAAW,KAChEQ,EAAwBf,IACxBgB,EAAwBlV,EAAQlH,QAAQic,EAAeZ,EAAkBc,IACzEE,EAAwB,GACxBC,EAAwB/U,EAe5B,IAZI6U,GAAelV,IACjB+U,EAAoB,IAAI/K,OAAO,UAAY0K,EAAS,cAAe,KACnEM,EAAoB,IAAIhL,OAAO,QAAU0K,EAAS,UAAW,KAC7DQ,EAAoBlV,EAAQlH,QAAQic,EAAeZ,EAAkBc,KAIvEE,EAAe,CADfD,EAAcA,EAAYpc,QAAQkc,EAAmBZ,EAAsBa,KAG3EhgB,EAASogB,MAAMpgB,GAAS,EAAIqgB,KAAKC,IAAItgB,EAAO,GAC5CA,GAAS,EAEFA,GACLggB,EAAcf,IAEdgB,GADAA,EAAclV,EAAQlH,QAAQic,EAAeZ,EAAkBc,KACrCnc,QAAQkc,EAAmBZ,EAAsBa,IAC3EE,EAAah0B,KAAK+zB,GAElBjgB,GAAS,EAGX,IAAIugB,EAhEqB,SAASZ,EAAeC,EAAoBL,GAErE,OAAKI,EAIuB,mBAAjBA,GACNC,GACDjpB,QAAQ6pB,KAAK,0GAERb,EAAcJ,IAGI,iBAAjBI,EACJC,EACKL,EAAMK,GAAoBD,GAET,QAAjBA,EAA0BJ,EAAQhP,EAAEoP,QAJ/C,EAVSJ,EAAM1a,QAkBjB,CA2C0B4b,CAAqBd,EAAeC,EAAoBL,GAE3EgB,GAAkD,GAA5BA,EAAkBz3B,QAC3C6N,QAAQ6pB,KAAK,4IAGfjQ,EAAEmQ,KAAKR,GAAc,SAAS/0B,EAAGw1B,GAC/B,IAAIC,EAAcrQ,EAAEoQ,GAEhBE,EAAgBzB,OAAO9U,MAAM,wBACjCiW,EAAkBO,QAAQD,EAAe,CAACD,EAAaT,IAElDU,EAAcE,uBAIER,EAAkBb,GAAiBkB,GAEtDL,EAAkBO,QAAQ,sBAAuB,CAACF,EAChDT,IAEN,GACF,IAEA5P,EAAEja,UAAUgpB,GAAG,QAAS,mDAAmD,SAASlU,GAClF,IAAImU,EAAQhP,EAAE7E,MACVsV,EAAgBzB,EAAM5M,KAAK,kBAAoB,gBAC/CsO,EAAiB1B,EAAM2B,QAAQ,IAAMF,GACrCG,EAAeF,EAAepc,SAC9Bsb,EAAgB/U,EAEpBA,EAAEzF,iBACFyF,EAAE+Q,kBAEF,IAAIiF,EAAgBhC,OAAO9U,MAAM,wBAGjC,GAFA6W,EAAaL,QAAQM,EAAe,CAACH,EAAgBd,KAEhDiB,EAAcL,qBAAsB,CACvC,IAAIM,EAAUF,EAAaxO,KAAK,mBAAqB,EAErDxpB,YAAW,WACLo2B,EAAM+B,SAAS,WACfL,EAAeM,UAEfhC,EAAMiC,KAAK,sBAAsBC,IAAI,KACrCR,EAAeS,QAEnBP,EAAaL,QAAQ,sBAAuB,CAACG,EAC3Cd,GACJ,GAAGkB,EACL,CACF,IAGA9Q,EAAEja,UAAUgpB,GAAG,mCAAmC,WAChD/O,EAAE,qCAAqCmQ,MAAK,SAASv1B,EAAG1B,GACtD,IAAI81B,EAAQhP,EAAE7E,MACVsV,EAAgBzB,EAAM5M,KAAK,kBAAoB,gBAEnD4M,EAAM2B,QAAQ,IAAMF,GAAeU,MACrC,GACF,iDC3IK,MAAMC,EACX,WAAA70B,CAAY80B,EAAY9V,GACtBJ,KAAKkW,WAAaA,EAClBlW,KAAKI,QAAUA,EACfJ,KAAKmW,aAAe,IAAI,EAAAC,aAAaF,EAAWG,KAAMrW,KAAKsW,gBAAiBtW,KAC9E,CAEA,KAAAuW,GACEvW,KAAKmW,aAAaK,OAAOxW,KAAKyW,wBAAwB1O,KAAK/H,MAC7D,CAEA,gCAAA0W,CAAiCC,GAC/BA,EAAIC,OAAOtV,iBAAiB,YAAYrY,IACtC,MAAM4tB,EAAW5tB,EAAM6tB,OAAS7tB,EAAM8tB,MAAQ,IAC9C/W,KAAKkW,WAAWc,kBAAkBH,EAAQ,GAE9C,CAEA,uBAAAJ,CAAwBvrB,EAAOic,GAC7B,GAAIjc,EACF,MAAM,IAAI4F,MAAM,yBAAyB5F,KAG3C8U,KAAKkW,WAAWe,cAAc,CAC5BC,KAAM/P,EAAWgQ,gBACjBC,IAAKpX,KAAKqX,cAAclQ,EAAWmQ,UAAWnQ,EAAWoQ,WAE7D,CAEA,aAAAF,CAAcG,EAAUD,GACtB,OAAOvX,KAAKyX,gBACTtf,QAAQ,aAAcqf,GACtBrf,QAAQ,YAAauf,mBAAmBH,GAC7C,CAEA,mBAAIjB,GACF,OAAOtW,KAAKI,QAAQuX,QAAQrB,eAC9B,CAEA,mBAAImB,GACF,OAAOzX,KAAKI,QAAQuX,QAAQF,eAC9B,ECzCFnW,iBAAiB,uBAAuBrY,IACtC,MAAM,WAAEitB,EAAU,OAAE1zB,GAAWyG,EAE/B,GAAIitB,EAAWG,KAAM,CACJ,IAAIJ,EAAiBC,EAAY1zB,GACzC+zB,OACT,6BCPFqB,EAAOC,QAAU,SAAuBC,GACpC,GAAmB,kBAARA,GAAoB1zB,OAAOswB,MAAMoD,GACxC,MAAM,IAAIr2B,UAAU,iCAAiCq2B,GAEzD,MAAMC,EAAMD,EAAM,EACZE,EAAQ,CAAC,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAI9D,GAHID,IACAD,GAAOA,GAEPA,EAAM,EACN,OAAWC,EAAM,IAAM,IAAMD,EAAtB,KAEX,MAAMG,EAAWtD,KAAKuD,IAAIvD,KAAKwD,MAAMxD,KAAKyD,IAAIN,GAAOnD,KAAKyD,IAAI,OAAQJ,EAAM56B,OAAS,GACrF06B,EAAM1zB,OAAO0zB,EAAM,MAAQG,GAC3B,MAAMI,EAAOL,EAAMC,GACnB,OAAIH,GAAO,IAAMA,EAAM,IAAM,EAClB,IAAIC,EAAM,IAAM,IAAMD,EAAIQ,QAAQ,MAAMD,IAE5C,IAAIN,EAAM,IAAM,IAAMD,EAAIQ,QAAQ,MAAMD,GACnD,oBCpBC,WAAW,SAASnY,EAAEA,EAAElf,GAAG,IAAkF0e,EAA9EH,EAAEW,EAAE5a,MAAM,KAAKqa,EAAEwF,EAAE5F,EAAE,KAAKI,IAAIA,EAAE4Y,YAAY5Y,EAAE4Y,WAAW,OAAOhZ,EAAE,IAAI,KAAUA,EAAEniB,SAASsiB,EAAEH,EAAEiF,UAAUjF,EAAEniB,aAAQ,IAAS4D,EAAE2e,EAAEA,EAAED,GAAGC,EAAED,GAAGC,EAAED,GAAG,CAAC,EAAEC,EAAED,GAAG1e,CAAC,CAAC,SAASA,EAAEkf,EAAElf,GAAG,SAASue,IAAI,CAACA,EAAEte,UAAUD,EAAEC,UAAUif,EAAE6D,EAAE/iB,EAAEC,UAAUif,EAAEjf,UAAU,IAAIse,EAAEW,EAAEjf,UAAUG,YAAY8e,EAAEA,EAAE0E,EAAE,SAAS1E,EAAEX,EAAEI,GAAG,IAAI,IAAID,EAAEpiB,MAAMH,UAAUC,OAAO,GAAGqiB,EAAE,EAAEA,EAAEtiB,UAAUC,OAAOqiB,IAAIC,EAAED,EAAE,GAAGtiB,UAAUsiB,GAAG,OAAOze,EAAEC,UAAUse,GAAG7hB,MAAMwiB,EAAER,EAAE,CAAC,CAAC,SAASH,EAAEW,EAAElf,GAAG,MAAMkf,GAAGF,KAAKhS,EAAEtQ,MAAMsiB,KAAK7iB,UAAU,CAAC,SAASwiB,EAAEO,GAAGA,EAAEjS,EAAE,EAAE,CAA8B,SAASwR,EAAES,EAAElf,GAAG,OAAOkf,EAAElf,EAAE,EAAEkf,EAAElf,GAAG,EAAE,CAAC,CAA8D,SAASgN,EAAEkS,EAAElf,GAAGgf,KAAK/R,EAAEiS,EAAEF,KAAKhS,EAAE,CAAC,EAAE,IAAI,IAAIuR,EAAE,EAAEA,EAAEve,EAAE5D,OAAOmiB,IAAI,CAAC,IAAII,EAAE3e,EAAEue,GAAGS,KAAKhS,EAAE2R,EAAE1R,GAAG0R,CAAC,CAAC,CAAC,SAAS9e,EAAEqf,GAAG,OAAOA,EAA3K,SAAWA,GAAG,IAAIlf,EAAEue,EAAE,GAAGI,EAAE,EAAE,IAAI3e,KAAKkf,EAAEX,EAAEI,KAAKO,EAAElf,GAAG,OAAOue,CAAC,CAAiH9f,CAAEygB,EAAElS,GAApP,SAAWkS,EAAElf,GAAGkf,EAAEqE,KAAKvjB,GAAGye,EAAE,CAA2NC,CAAEQ,GAAE,SAASA,EAAElf,GAAG,OAAOkf,EAAEjS,EAAEjN,EAAEiN,CAAC,IAAGiS,CAAC,CAAC,SAASV,EAAEU,EAAElf,GAAG,OAAOgf,KAAK/R,EAAEiS,EAAEF,KAAK2D,IAAI3iB,EAAE0hB,EAAE1C,KAAKhS,EAAEhN,EAAEyhB,EAAEzC,KAAKvgB,EAAEuB,EAAEqM,KAAK2S,KAAKJ,GAAE,EAAGI,KAAKhS,GAAG,KAAKkW,EAAE,KAAKsU,EAAE,KAAKC,EAAE,KAAKjT,EAAE,KAAKR,EAAE,KAAK0T,EAAE,KAAKC,EAAE3Y,KAAKJ,GAAE,EAAGI,KAAKwC,EAAExhB,EAAE43B,YAAY,CAAC,SAASpW,IAAIxC,KAAKhS,EAAE,CAAC,EAAEgS,KAAKwC,EAAExC,KAAKyE,IAAIzW,EAAEgS,KAAK/R,EAAE+R,KAAK2D,EAAE,IAAI,CAAC,SAAS9D,EAAEK,EAAElf,GAAG,IAAI,IAAIue,EAAE1e,EAAEqf,EAAEuE,KAAK9E,EAAE,EAAEA,EAAEJ,EAAEniB,OAAOuiB,IAAI,CAAC,IAAWF,GAAPC,EAAEH,EAAEI,IAAO1R,EAAE,GAAG,MAAMjN,EAAEgN,EAAEyR,GAAG,CAACS,EAAEjS,UAAUiS,EAAEjS,EAAEyR,EAAEzR,GAAG,IAAIxO,EAAE,IAAIigB,EAAE1R,GAAG,IAAI0R,EAAE1R,EAAE,GAAG0R,EAAEiE,EAAE,IAAI,IAAIjE,EAAE+C,EAAEzhB,EAAEye,IAAI,GAAGzR,EAAE,EAAEA,EAAE0R,EAAEtiB,OAAO4Q,IAAI,CAAC,IAAIwR,EAAEU,EAAEsC,EAAE/C,EAAEG,EAAEngB,EAAEigB,EAAE1R,GAAG6qB,QAAQnZ,EAAE1R,GAAGwR,EAAExR,EAAEwU,KAAKhD,EAAExR,EAAEwU,GAAG,IAAIhD,EAAExR,EAAEwU,GAAGhiB,KAAKof,GAAGJ,EAAEvR,UAAUuR,EAAEvR,EAAEuU,EAAE,MAAM9C,EAAE+C,EAAEzhB,EAAEye,GAAGhgB,GAAGA,EAAEgjB,EAAEvC,EAAET,IAAII,EAAEpgB,EAAEigB,GAAGkE,EAAE1D,EAAET,EAAEC,EAAEmZ,SAASjV,EAAE1D,EAAET,EAAEC,EAAE,CAAC,CAAC,CAAC,SAAS+C,EAAEvC,EAAElf,GAAG,IAAIue,EAAEW,EAAElS,EAAEhN,GAAG,GAAG,MAAMue,EAAE,OAAO,KAAK,GAAGW,EAAEyD,EAAE,CAAC,KAAK3iB,KAAKkf,EAAEjS,GAAG,CAAC,IAAI0R,EAAEO,EAAEyD,EAAEjE,EAAEQ,EAAEsC,EAAExhB,GAAG,GAAG,MAAMue,EAAE,GAAGG,EAAEiE,EAAE,CAAC,IAAI,IAAIlE,EAAE,GAAGhgB,EAAE,EAAEA,EAAE8f,EAAEniB,OAAOqC,IAAIggB,EAAEhgB,GAAGkgB,EAAE1R,EAAEyR,EAAEH,EAAE9f,IAAI8f,EAAEE,CAAC,MAAMF,EAAEI,EAAE1R,EAAEyR,EAAEH,GAAG,OAAOW,EAAEjS,EAAEjN,GAAGue,CAAC,CAAC,OAAOW,EAAEjS,EAAEjN,EAAE,CAAC,OAAOue,CAAC,CAAC,SAASK,EAAEM,EAAElf,EAAEue,GAAG,IAAII,EAAE8C,EAAEvC,EAAElf,GAAG,OAAOkf,EAAEsC,EAAExhB,GAAG2iB,EAAEhE,EAAEJ,GAAG,GAAGI,CAAC,CAAC,SAASgE,EAAEzD,EAAElf,GAAG,IAAIue,EAAE,GAAG,MAAMW,EAAElS,EAAEhN,GAAGue,EAAEK,EAAEM,EAAElf,OAAE,QAAakf,EAAE,CAAC,QAAY,KAATX,EAAEW,EAAEsC,EAAExhB,IAAcwhB,EAAE,CAAC,IAAI7C,EAAEJ,EAAE9f,EAAE,GAAGkgB,IAAIpP,QAAQgP,EAAEiD,GAAE,OAAQ,GAAG7C,IAAIvb,OAAOmb,EAAEiD,EAAE,MAAM,CAAC,GAAG7C,IAAIxb,OAAO,CAACob,EAAE,IAAII,EAAE,MAAMO,CAAC,CAACX,EAAEiD,EAAEjD,EAAEK,EAAE,IAAI,EAAE,CAAC,CAACL,EAAEA,EAAEiD,CAAC,CAAC,OAAOjD,CAAC,CAAC,SAASwD,EAAE7C,EAAElf,GAAG,OAAOkf,EAAEsC,EAAExhB,GAAG2iB,EAAE,MAAMzD,EAAElS,EAAEhN,GAAGkf,EAAElS,EAAEhN,GAAG5D,OAAO,EAAE,MAAM8iB,EAAElS,EAAEhN,GAAG,EAAE,CAAC,CAAC,SAAS4iB,EAAE1D,EAAElf,EAAEue,GAAGW,EAAElS,EAAEhN,GAAGue,EAAEW,EAAEjS,IAAIiS,EAAEjS,EAAEjN,GAAGue,EAAE,CAAC,SAAStR,EAAEiS,EAAElf,GAAG,IAAIue,EAAEI,EAAE,GAAG,IAAIJ,KAAKve,EAAE,GAAGue,GAAGI,EAAEnf,KAAK,IAAIgf,EAAED,EAAEve,EAAEue,KAAK,OAAO,IAAIvR,EAAEkS,EAAEP,EAAE,CAkBlgE,SAASkD,IAAIL,EAAEniB,KAAK2f,KAAK,CAAC,SAAS0C,IAAIF,EAAEniB,KAAK2f,KAAK,CAAC,SAAShD,IAAIwF,EAAEniB,KAAK2f,KAAK,CAAC,SAAS6E,IAAI,CAAC,SAASF,IAAI,CAAC,SAASd,IAAI,CAgBvH,SAAS3kB,IAAI8gB,KAAKhS,EAAE,CAAC,CAAC,CAAC,SAASoX,EAAElF,GAAG,OAAO,GAAGA,EAAE9iB,QAAQ07B,GAAGv3B,KAAK2e,EAAE,CAAC,SAASkE,EAAElE,EAAElf,GAAG,GAAG,MAAMA,EAAE,OAAO,KAAKA,EAAEA,EAAE+3B,cAAc,IAAIxZ,EAAEW,EAAElS,EAAEhN,GAAG,GAAG,MAAMue,EAAE,CAAC,GAAW,OAARA,EAAEyZ,EAAGh4B,IAAW,OAAO,KAAKue,GAAE,IAAKsE,GAAG7V,EAAEgP,EAAEyH,IAAIlF,GAAGW,EAAElS,EAAEhN,GAAGue,CAAC,CAAC,OAAOA,CAAC,CAAC,SAASqF,EAAE1E,GAAG,OAAe,OAARA,EAAE+Y,EAAG/Y,IAAW,KAAKA,EAAE,EAAE,CAAC,SAASuE,EAAEvE,GAAGF,KAAK0F,EAAE2D,OAAO,UAAKrJ,KAAKoE,EAAE,GAAGpE,KAAK4D,EAAE,IAAIrE,EAAES,KAAK6D,EAAE,GAAG7D,KAAKvgB,EAAE,IAAI8f,EAAES,KAAKL,EAAE,IAAIJ,EAAES,KAAKE,GAAE,EAAGF,KAAKoF,EAAEpF,KAAKnf,EAAEmf,KAAKkZ,GAAE,EAAGlZ,KAAKmZ,EAAEj6B,EAAE+O,IAAI+R,KAAKR,EAAE,EAAEQ,KAAK/R,EAAE,IAAIsR,EAAES,KAAKuH,GAAE,EAAGvH,KAAKJ,EAAE,GAAGI,KAAKhS,EAAE,IAAIuR,EAAES,KAAKwC,EAAE,GAAGxC,KAAKyF,EAAEvF,EAAEF,KAAKwY,EAAExY,KAAK2D,EAAEyV,EAAEpZ,KAAKA,KAAKyF,EAAE,CAAC,SAAS2T,EAAElZ,EAAElf,GAAG,IAAIue,EAAE,GAAG,MAAMve,GAAG0zB,MAAM1zB,IAAIA,EAAE+3B,gBAAgBC,EAAG,CAAC,GAAc,OAAXzZ,EAAE6E,EAAElE,EAAEiZ,EAAEn4B,IAAW,MAAM8P,MAAM,wBAAwB9P,GAAGue,EAAEoE,EAAEpE,EAAE,GAAG,MAAMA,EAAE,EAAE,OAAqB,OAAdA,EAAE6E,EAAElE,EAAEiZ,EAAEvU,EAAErF,KAAYA,EAAE8Z,EAAE,CAAC,SAAS9R,EAAErH,GAAG,IAAI,IAAIlf,EAAEkf,EAAEsC,EAAEplB,OAAOmiB,EAAE,EAAEA,EAAEve,IAAIue,EAAE,CAAC,IAA6C9f,EAAzCigB,EAAEQ,EAAEsC,EAAEjD,GAAGE,EAAEkE,EAAEjE,EAAE,GAAG,GAAGQ,EAAE2D,GAAGpE,EAAE,OAAM,EAAShgB,EAAEygB,EAAE,IAAQrf,EAAE8iB,EAAN3V,EAAE0R,EAAQ,GAAG,IAAI,GAAG7e,EAAE6B,QAAQ,KAAKjD,GAAE,MAAO,CAAoD,IAAI+f,EAAjC3e,GAAtBA,EAAEA,EAAEsX,QAAQmhB,GAAG,QAAWnhB,QAAQohB,GAAG,OAAO5Z,EAAElgB,EAAEmkB,GAASpE,EAAE/f,EAAE,IAAIuO,EAAE2V,EAAE3V,EAAE,GAAGwU,EAAE,kBAAkB3H,MAAMha,GAAG,GAAG2hB,EAAEplB,OAAOoiB,EAAExR,EAAEC,EAAE7Q,OAAOoiB,EAAE,GAAqCA,GAAjCA,EAAEgD,EAAErK,QAAQ,IAAIkR,OAAOxoB,EAAE,KAAKmN,IAAOmK,QAAQkR,OAAO,IAAI,KAAK,UAAM,EAAE7J,EAAEpiB,QAAQqC,EAAEmkB,EAAE5V,EAAEwR,GAAG/f,GAAE,GAAIA,GAAE,CAAE,CAAC,GAAGA,EAAE,OAAOygB,EAAE2D,EAAEpE,EAAES,EAAEqH,EAAEiS,GAAGj4B,KAAKqe,EAAEF,EAAE,IAAIQ,EAAEV,EAAE,GAAE,CAAE,CAAC,OAAOU,EAAEA,GAAE,CAAE,CAAC,SAASuZ,EAAEvZ,EAAElf,GAAG,IAAI,IAAIue,EAAE,GAAGI,EAAE3e,EAAE5D,OAAO,EAAEsiB,EAAEQ,EAAEsC,EAAEplB,OAAOqiB,EAAE,EAAEA,EAAEC,IAAID,EAAE,CAAC,IAAIhgB,EAAEygB,EAAEsC,EAAE/C,GAAG,GAAGsD,EAAEtjB,EAAE,GAAG8f,EAAE/e,KAAK0f,EAAEsC,EAAE/C,KAAKhgB,EAAEmgB,EAAEngB,EAAE,EAAEk1B,KAAKuD,IAAIvY,EAAEoD,EAAEtjB,EAAE,GAAG,IAAI,GAAGuB,EAAE04B,OAAOj6B,IAAI8f,EAAE/e,KAAK0f,EAAEsC,EAAE/C,IAAI,CAACS,EAAEsC,EAAEjD,CAAC,CAAyqB,SAASwF,EAAE7E,GAAG,OAAOA,EAAEA,GAAE,EAAGA,EAAEkF,GAAE,EAAGlF,EAAEsC,EAAE,GAAGtC,EAAEV,EAAE,EAAEG,EAAEO,EAAE0D,GAAG1D,EAAE2D,EAAE,GAAGE,EAAE7D,EAAE,CAAC,SAASuF,EAAEvF,GAAG,IAAI,IAAIlf,EAAEkf,EAAElS,EAAE9M,WAAWqe,EAAEW,EAAEsC,EAAEplB,OAAOuiB,EAAE,EAAEA,EAAEJ,IAAII,EAAE,CAAC,IAAID,EAAEQ,EAAEsC,EAAE7C,GAAGF,EAAEkE,EAAEjE,EAAE,GAAG,GAAG,IAAI2J,OAAO,OAAO5J,EAAE,MAAMle,KAAKP,GAAG,OAAOkf,EAAEqH,EAAEiS,GAAGj4B,KAAKqe,EAAEF,EAAE,IAA0Cia,EAAEzZ,EAAxClf,EAAEA,EAAEmX,QAAQ,IAAIkR,OAAO5J,EAAE,KAAKG,EAAEF,EAAE,IAAU,CAAC,MAAM,EAAE,CAAC,SAASia,EAAEzZ,EAAElf,GAAG,IAAIue,EAAEW,EAAEjS,EAAEA,EAAE7Q,OAAO,OAAO8iB,EAAEqH,GAAG,EAAEhI,GAAG,KAAKW,EAAEjS,EAAE/M,WAAW04B,OAAOra,EAAE,GAAGW,EAAEjS,EAAE,IAAIjN,EAAEkf,EAAEjS,EAAEjN,CAAC,CAAC,SAAS+iB,EAAE7D,GAAG,IAAIlf,EAAEkf,EAAElS,EAAE9M,WAAW,GAAG,GAAGF,EAAE5D,OAAO,CAAC,IAAI,IAAImiB,EAAEW,EAAErf,GAAG,GAAGqf,EAAEN,EAAExiB,QAAQ,EAAE2lB,EAAE7C,EAAEyD,EAAE,IAAIlB,EAAEvC,EAAEyD,EAAE,KAAK,GAAGlB,EAAEvC,EAAEyD,EAAE,KAAK,GAAGhE,EAAEJ,EAAEniB,OAAOsiB,EAAE,EAAEA,EAAEC,IAAID,EAAE,CAAC,IAAID,EAAEF,EAAEG,GAAG,EAAEQ,EAAEN,EAAExiB,QAAQgoB,EAAEzB,EAAElE,EAAE,MAAMG,EAAEH,EAAE,IAAI,MAAMA,EAAEzR,EAAE,KAAK,GAAGkS,EAAEN,EAAExiB,QAAQ8iB,EAAErf,GAAGukB,EAAEzB,EAAElE,EAAE,KAAKG,EAAEH,EAAE,KAAKoa,GAAGt4B,KAAKoiB,EAAElE,EAAE,KAAKS,EAAEsC,EAAEhiB,KAAKif,EAAE,CAAC,OAAOga,EAAEvZ,EAAElf,GAAU,GAAPA,EAAEykB,EAAEvF,IAAO9iB,OAAO4D,EAAEumB,EAAErH,GAAG4Z,EAAE5Z,GAAGA,EAAEzgB,EAAEyB,UAAU,CAAC,OAAOy4B,EAAEzZ,EAAElf,EAAE,CAAC,SAAS84B,EAAE5Z,GAAG,IAAIlf,EAAEkf,EAAElS,EAAE9M,WAAWqe,EAAEve,EAAE5D,OAAO,GAAG,EAAEmiB,EAAE,CAAC,IAAI,IAAII,EAAE,GAAGD,EAAE,EAAEA,EAAEH,EAAEG,IAAIC,EAAEmG,EAAE5F,EAAElf,EAAE44B,OAAOla,IAAI,OAAOQ,EAAEA,EAAEyZ,EAAEzZ,EAAEP,GAAGO,EAAEzgB,EAAEyB,UAAU,CAAC,OAAOgf,EAAEjS,EAAE/M,UAAU,CAAC,SAASi4B,EAAEjZ,GAAG,IAAIlf,EAAEue,EAAEW,EAAElS,EAAE9M,WAAWwe,EAAE,EAAE,OAAO,GAAGE,EAAEM,EAAEyD,EAAE,IAAI3iB,GAAE,EAAqBA,EAAE,MAAnBA,EAAEkf,EAAElS,EAAE9M,YAAoB04B,OAAO,IAAI,KAAK54B,EAAE44B,OAAO,IAAI,KAAK54B,EAAE44B,OAAO,GAAI54B,GAAG0e,EAAE,EAAEQ,EAAEjS,EAAED,EAAE,KAAKA,EAAE,KAAKkS,EAAErf,GAAE,GAAI,MAAMqf,EAAEyD,EAAE3V,EAAE,MAAMhN,EAAE,IAAIqoB,OAAO,OAAOzJ,EAAEM,EAAEyD,EAAE,IAAI,KAAkB,OAAb3iB,EAAEue,EAAE1E,MAAM7Z,KAAY,MAAMA,EAAE,IAAI,EAAEA,EAAE,GAAG5D,SAAS8iB,EAAErf,GAAE,EAAG6e,EAAE1e,EAAE,GAAG5D,OAAO8iB,EAAEjS,EAAED,EAAEuR,EAAEwa,UAAU,EAAEra,MAAMC,EAAEO,EAAElS,GAAGkS,EAAElS,EAAEA,EAAEuR,EAAEwa,UAAUra,IAAIH,EAAEwa,UAAU,EAAEra,EAAE,CAAC,SAASgG,EAAExF,GAAG,IAAIlf,EAAEkf,EAAEP,EAAEze,WAAWqe,EAAE,IAAI8J,OAAO,WAAWzJ,EAAEM,EAAEyD,EAAE,IAAI,KAAkB,OAAO,OAApBpE,EAAEve,EAAE6Z,MAAM0E,KAAmB,MAAMA,EAAE,IAAI,EAAEA,EAAE,GAAGniB,SAAS8iB,EAAErf,GAAE,EAAG0e,EAAEA,EAAE,GAAGniB,OAAOuiB,EAAEO,EAAElS,GAAGkS,EAAElS,EAAEA,EAAEhN,EAAE+4B,UAAUxa,IAAII,EAAEO,EAAEjS,GAAGiS,EAAEjS,EAAED,EAAEhN,EAAE+4B,UAAU,EAAExa,IAAI,KAAKve,EAAE44B,OAAO,IAAI1Z,EAAEjS,EAAED,EAAE,MAAK,EAAG,CAAC,SAAS0W,EAAExE,GAAG,GAAG,GAAGA,EAAElS,EAAEC,EAAE7Q,OAAO,OAAM,EAAG,IAAI4D,EAAE0e,EAAE,IAAIH,EAAEW,EAAE,CAAC,GAAoB,IAAjBlf,EAAEkf,EAAElS,EAAE9M,YAAgB9D,QAAQ,KAAK4D,EAAE44B,OAAO,GAAG,IAAI,IAAIna,EAAEhgB,EAAEuB,EAAE5D,OAAO4Q,EAAE,EAAE,GAAGA,GAAGA,GAAGvO,IAAIuO,EAAE,IAAGyR,EAAE0U,SAASnzB,EAAE+4B,UAAU,EAAE/rB,GAAG,OAASirB,EAAG,CAACvZ,EAAE1R,EAAEhN,EAAE+4B,UAAU/rB,IAAIhN,EAAEye,EAAE,MAAMS,CAAC,CAAClf,EAAE,CAAC,CAAC,OAAO,GAAGA,IAAI2e,EAAEO,EAAElS,GAAGkS,EAAElS,EAAEA,EAAE0R,EAAExe,YAAmB,QAAPwe,EAAEkF,EAAE5jB,IAAYkf,EAAEyD,EAAES,EAAElE,EAAEiZ,EAAE,GAAGn4B,GAAG0e,GAAGQ,EAAEuF,IAAIvF,EAAEyD,EAAEyV,EAAElZ,EAAER,IAAIQ,EAAEjS,EAAED,EAAE,GAAGhN,GAAGgN,EAAE,KAAKkS,EAAEN,EAAE,IAAG,EAAG,CAAC,SAASkG,EAAE5F,EAAElf,GAAwB,GAAG,IAApBue,EAAEW,EAAE0D,EAAE1iB,YAAmB64B,UAAU7Z,EAAEV,GAAGka,OAAOxZ,EAAEwF,GAAG,CAAC,IAAIhG,EAAEH,EAAEma,OAAOxZ,EAAEwF,GAAGnG,EAAEA,EAAEpH,QAAQ+H,EAAEwF,EAAE1kB,GAAG,OAAO2e,EAAEO,EAAE0D,GAAG1D,EAAE0D,EAAE5V,EAAEuR,GAAGW,EAAEV,EAAEE,EAAEH,EAAEwa,UAAU,EAAE7Z,EAAEV,EAAE,EAAE,CAAC,OAAO,GAAGU,EAAEsC,EAAEplB,SAAS8iB,EAAEA,GAAE,GAAIA,EAAE2D,EAAE,GAAG3D,EAAEzgB,EAAEyB,UAAU,CAAC,IAAIikB,EAAEnF,KAAKT,EAAEte,UAAUgN,EAAE,GAAGsR,EAAEte,UAAUgf,IAAI,SAASC,GAAGF,KAAK/R,EAAE,GAAGiS,CAAC,EAAEX,EAAEte,UAAU+M,EAAE,SAASkS,EAAElf,EAAEue,GAAG,GAAGS,KAAK/R,GAAG9J,OAAO+b,GAAG,MAAMlf,EAAE,IAAI,IAAI2e,EAAE,EAAEA,EAAExiB,UAAUC,OAAOuiB,IAAIK,KAAK/R,GAAG9Q,UAAUwiB,GAAG,OAAOK,IAAI,EAAET,EAAEte,UAAUC,SAAS,WAAW,OAAO8e,KAAK/R,CAAC,EAAE,IAAI0qB,EAAE,EAAED,EAAE,EAAExU,EAAE,EAAEsU,EAAE,EAAEC,EAAE,EAAEjT,EAAE,GAAGR,EAAE,GAAGxC,EAAEvhB,UAAUgf,IAAI,SAASC,EAAElf,GAAG4iB,EAAE5D,KAAKE,EAAEjS,EAAEjN,EAAE,EAAEwhB,EAAEvhB,UAAU43B,MAAM,WAAW,IAAI3Y,EAAE,IAAIF,KAAK5e,YAAY,OAAO8e,GAAGF,OAAOE,EAAElS,EAAE,CAAC,EAAEkS,EAAEjS,IAAIiS,EAAEjS,EAAE,CAAC,GAAG4R,EAAEK,EAAEF,OAAOE,CAAC,EAAElf,EAAE6hB,EAAEL,GAAG,IAAIwX,EAAE,KAAKh5B,EAAE0hB,EAAEF,GAAG,IAAIoE,EAAE,KAAK5lB,EAAEgc,EAAEwF,GAAG,IAAIyX,EAAE,KAAKpX,EAAE5hB,UAAUwjB,EAAE,WAAW,IAAIvE,EAAE8Z,EAAE,OAAO9Z,IAAI8Z,EAAE9Z,EAAEjS,EAAE4U,EAAE,CAAC,EAAE,CAACxhB,KAAK,eAAe0jB,EAAE,kCAAkC,EAAE,CAAC1jB,KAAK,UAAU64B,UAAS,EAAGzX,EAAE,EAAEpV,KAAKlJ,QAAQ,EAAE,CAAC9C,KAAK,SAAS64B,UAAS,EAAGzX,EAAE,EAAEpV,KAAKlJ,QAAQ,EAAE,CAAC9C,KAAK,yBAAyBqhB,GAAE,EAAGD,EAAE,EAAEpV,KAAKlJ,QAAQ,EAAE,CAAC9C,KAAK,kCAAkCohB,EAAE,EAAEpV,KAAKlJ,QAAQ,EAAE,CAAC9C,KAAK,2CAA2CohB,EAAE,EAAEmW,cAAa,EAAGvrB,KAAKkD,SAAS,EAAE,CAAClP,KAAK,wCAAwCohB,EAAE,EAAEpV,KAAKlJ,WAAW+b,CAAC,EAAE2C,EAAE4B,EAAE5B,EAAE5hB,UAAUwjB,EAAE/B,EAAEzhB,UAAUwjB,EAAE,WAAW,IAAIvE,EAAE0G,EAAE,OAAO1G,IAAI0G,EAAE1G,EAAEjS,EAAEyU,EAAE,CAAC,EAAE,CAACrhB,KAAK,kBAAkB0jB,EAAE,qCAAqC,EAAE,CAAC1jB,KAAK,0BAA0BohB,EAAE,EAAEpV,KAAKlJ,QAAQ,EAAE,CAAC9C,KAAK,kBAAkBqhB,GAAE,EAAGD,EAAE,EAAEpV,KAAKjJ,QAAQ,GAAG,CAAC/C,KAAK,6BAA6BqhB,GAAE,EAAGD,EAAE,EAAEpV,KAAKjJ,QAAQ,EAAE,CAAC/C,KAAK,iBAAiBohB,EAAE,EAAEpV,KAAKlJ,WAAW+b,CAAC,EAAEwC,EAAE+B,EAAE/B,EAAEzhB,UAAUwjB,EAAEzH,EAAE/b,UAAUwjB,EAAE,WAAW,IAAIvE,EAAE+Z,EAAE,OAAO/Z,IAAI+Z,EAAE/Z,EAAEjS,EAAE+O,EAAE,CAAC,EAAE,CAAC3b,KAAK,gBAAgB0jB,EAAE,mCAAmC,EAAE,CAAC1jB,KAAK,eAAeohB,EAAE,GAAGpV,KAAKqV,GAAG,EAAE,CAACrhB,KAAK,aAAaohB,EAAE,GAAGpV,KAAKqV,GAAG,EAAE,CAACrhB,KAAK,SAASohB,EAAE,GAAGpV,KAAKqV,GAAG,EAAE,CAACrhB,KAAK,YAAYohB,EAAE,GAAGpV,KAAKqV,GAAG,EAAE,CAACrhB,KAAK,eAAeohB,EAAE,GAAGpV,KAAKqV,GAAG,EAAE,CAACrhB,KAAK,cAAcohB,EAAE,GAAGpV,KAAKqV,GAAG,EAAE,CAACrhB,KAAK,kBAAkBohB,EAAE,GAAGpV,KAAKqV,GAAG,EAAE,CAACrhB,KAAK,OAAOohB,EAAE,GAAGpV,KAAKqV,GAAG,GAAG,CAACrhB,KAAK,QAAQohB,EAAE,GAAGpV,KAAKqV,GAAG,GAAG,CAACrhB,KAAK,MAAMohB,EAAE,GAAGpV,KAAKqV,GAAG,GAAG,CAACrhB,KAAK,YAAYohB,EAAE,GAAGpV,KAAKqV,GAAG,GAAG,CAACrhB,KAAK,YAAYohB,EAAE,GAAGpV,KAAKqV,GAAG,GAAG,CAACrhB,KAAK,aAAaohB,EAAE,GAAGpV,KAAKqV,GAAG,GAAG,CAACrhB,KAAK,gBAAgBohB,EAAE,GAAGpV,KAAKqV,GAAG,GAAG,CAACrhB,KAAK,mBAAmBohB,EAAE,GAAGpV,KAAKqV,GAAG,GAAG,CAACrhB,KAAK,eAAeohB,EAAE,GAAGpV,KAAKqV,GAAG,GAAG,CAACrhB,KAAK,4BAA4BohB,EAAE,GAAGpV,KAAKqV,GAAG,EAAE,CAACrhB,KAAK,KAAK64B,UAAS,EAAGzX,EAAE,EAAEpV,KAAKlJ,QAAQ,GAAG,CAAC9C,KAAK,eAAeohB,EAAE,EAAEpV,KAAKjJ,QAAQ,GAAG,CAAC/C,KAAK,uBAAuBohB,EAAE,EAAEpV,KAAKlJ,QAAQ,GAAG,CAAC9C,KAAK,iCAAiCohB,EAAE,EAAEpV,KAAKlJ,QAAQ,GAAG,CAAC9C,KAAK,kBAAkBohB,EAAE,EAAEpV,KAAKlJ,QAAQ,GAAG,CAAC9C,KAAK,wBAAwBohB,EAAE,EAAEpV,KAAKlJ,QAAQ,GAAG,CAAC9C,KAAK,8BAA8BohB,EAAE,EAAEpV,KAAKlJ,QAAQ,GAAG,CAAC9C,KAAK,iCAAiCohB,EAAE,EAAEpV,KAAKlJ,QAAQ,GAAG,CAAC9C,KAAK,qCAAqCohB,EAAE,EAAEmW,cAAa,EAAGvrB,KAAKkD,SAAS,GAAG,CAAClP,KAAK,gBAAgBqhB,GAAE,EAAGD,EAAE,GAAGpV,KAAKwV,GAAG,GAAG,CAACxhB,KAAK,qBAAqBqhB,GAAE,EAAGD,EAAE,GAAGpV,KAAKwV,GAAG,GAAG,CAACxhB,KAAK,wBAAwBohB,EAAE,EAAEmW,cAAa,EAAGvrB,KAAKkD,SAAS,GAAG,CAAClP,KAAK,iBAAiBohB,EAAE,EAAEpV,KAAKlJ,QAAQ,GAAG,CAAC9C,KAAK,wBAAwBohB,EAAE,EAAEmW,cAAa,EAAGvrB,KAAKkD,YAAY2P,CAAC,EAAElD,EAAEyH,EAAEzH,EAAE/b,UAAUwjB,EAAEI,EAAE5jB,UAAU+M,EAAE,SAASkS,GAAG,MAAM,IAAIA,EAAEjS,EAAE6C,MAAM,gBAAgB,EAAE+T,EAAE5jB,UAAUgN,EAAE,SAASiS,EAAElf,GAAG,GAAG,IAAIkf,EAAElS,GAAG,IAAIkS,EAAElS,EAAE,OAAOhN,aAAawhB,EAAExhB,EAAEgf,KAAKhS,EAAEkS,EAAEzgB,EAAEwB,UAAUwjB,IAAIzjB,GAAG,GAAG,IAAIkf,EAAElS,EAAE,CAAC,GAAG,iBAAiBhN,GAAGm5B,EAAE54B,KAAKP,GAAG,CAAC,IAAIue,EAAEnb,OAAOpD,GAAG,GAAG,EAAEue,EAAE,OAAOA,CAAC,CAAC,OAAOve,CAAC,CAAC,IAAIkf,EAAEN,EAAE,OAAO5e,EAAE,IAAGue,EAAEW,EAAEzgB,KAAM0E,QAAQ,GAAG,iBAAiBnD,EAAE,OAAOmD,OAAOnD,QAAQ,GAAGue,IAAInb,QAAQ,iBAAiBpD,IAAI,aAAaA,GAAG,cAAcA,GAAG,QAAQA,GAAGm5B,EAAE54B,KAAKP,IAAI,OAAOoD,OAAOpD,GAAG,OAAOA,CAAC,EAAE,IAAIm5B,EAAE,aAAan5B,EAAE2jB,EAAEE,GAAGF,EAAE1jB,UAAU+M,EAAE,SAASkS,EAAElf,GAAG,IAAIue,EAAE,IAAIW,EAAEjS,EAAE,OAAOsR,EAAEoE,EAAE3D,KAAKT,EAAEvR,EAAEhN,EAAEue,EAAEtR,EAAE,CAAC,EAAEsR,CAAC,EAAEve,EAAE6iB,EAAEc,GAAGd,EAAE5iB,UAAUgN,EAAE,SAASiS,EAAElf,GAAG,OAAO,GAAGkf,EAAElS,IAAIhN,EAAE6jB,EAAE5jB,UAAUgN,EAAEvQ,MAAMsiB,KAAK7iB,UAAU,EAAE0mB,EAAE5iB,UAAU+M,EAAE,SAASkS,EAAElf,GAAG,OAAO6iB,EAAEE,EAAE/V,EAAE3N,KAAK2f,KAAKE,EAAElf,EAAE,EAgBr3O,IAAIi4B,EAAG,CAAC,GAAG,CAAC,KAAK,KAAK,OAAOD,EAAG,CAACoB,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,wCAAwC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,KAAK,gLAAgL,KAAK,KAAK,KAAK,YAAY,KAAK,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,6EAA6E,KAAK,KAAK,KAAK,YAAY,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,yBAAyB,KAAK,KAAK,KAAK,aAAa,KAAK,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,KAAK,kBAAkB,KAAK,KAAK,KAAK,aAAa,KAAK,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,wCAAwC,KAAK,KAAK,KAAK,aAAa,KAAK,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,iCAAiC,KAAK,KAAK,KAAK,YAAY,KAAK,KAAK,CAAC,IAAI,KAAK,GAAG,sDAAsD,IAAI,KAAK,KAAK,IAAI,KAAK,OAAO,KAAK,CAAC,CAAC,KAAK,mBAAmB,QAAQ,CAAC,OAAO,CAAC,KAAK,qBAAqB,QAAQ,CAAC,OAAO,CAAC,KAAK,qBAAqB,QAAQ,CAAC,MAAM,OAAO,CAAC,KAAK,2BAA2B,WAAW,CAAC,OAAO,CAAC,KAAK,mBAAmB,QAAQ,CAAC,MAAM,SAAS,CAAC,KAAK,6BAA6B,WAAW,CAAC,MAAM,OAAO,CAAC,KAAK,wBAAwB,WAAW,CAAC,UAAU,SAAS,CAAC,KAAK,2BAA2B,WAAW,CAAC,WAAW,OAAO,CAAC,KAAK,2BAA2B,WAAW,CAAC,kBAAkB,CAAC,CAAC,KAAK,qBAAqB,QAAQ,CAAC,MAAM,OAAO,CAAC,KAAK,6BAA6B,WAAW,CAAC,MAAM,OAAO,CAAC,KAAK,wBAAwB,WAAW,CAAC,UAAU,SAAS,CAAC,KAAK,2BAA2B,WAAW,CAAC,WAAW,OAAO,CAAC,KAAK,2BAA2B,WAAW,CAAC,kBAAkB,CAAC,KAAK,KAAK,aAAa,KAAK,KAAK,KAAK,UAAU,KAAK,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,KAAK,iDAAiD,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAKC,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,qCAAqC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,KAAK,4HAA4H,KAAK,KAAK,KAAK,YAAY,KAAK,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,6EAA6E,KAAK,KAAK,KAAK,YAAY,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,yBAAyB,KAAK,KAAK,KAAK,aAAa,KAAK,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,KAAK,kBAAkB,KAAK,KAAK,KAAK,aAAa,KAAK,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,wCAAwC,KAAK,KAAK,KAAK,aAAa,KAAK,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,iCAAiC,KAAK,KAAK,KAAK,YAAY,KAAK,KAAK,CAAC,IAAI,KAAK,GAAG,sDAAsD,IAAI,KAAK,KAAK,kBAAkB,MAAM,OAAO,KAAK,KAAK,KAAK,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAKC,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,qCAAqC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,KAAK,oIAAoI,KAAK,KAAK,KAAK,YAAY,KAAK,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,6EAA6E,KAAK,KAAK,KAAK,YAAY,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,yBAAyB,KAAK,KAAK,KAAK,aAAa,KAAK,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,KAAK,kBAAkB,KAAK,KAAK,KAAK,aAAa,KAAK,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,wCAAwC,KAAK,KAAK,KAAK,aAAa,KAAK,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,iCAAiC,KAAK,KAAK,KAAK,YAAY,KAAK,KAAK,CAAC,IAAI,KAAK,GAAG,sDAAsD,IAAI,KAAK,KAAK,kBAAkB,MAAM,OAAO,KAAK,KAAK,KAAK,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,MAAMp7B,EAAE+O,EAAE,WAAW,OAAO/O,EAAE8O,EAAE9O,EAAE8O,EAAE9O,EAAE8O,EAAE,IAAI9O,CAAC,EAAE,IAAIq7B,EAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,SAAI,IAAI,SAAI,IAAI,SAAI,IAAI,SAAI,IAAI,SAAI,IAAI,SAAI,IAAI,SAAI,IAAI,SAAI,IAAI,SAAI,IAAI,SAAI,IAAI,SAAI,IAAI,SAAI,IAAI,SAAI,IAAI,SAAI,IAAI,SAAI,IAAI,SAAI,IAAI,SAAI,IAAI,SAAI,IAAI,SAAI,IAAI,SAAI,IAAI,SAAI,IAAI,SAAI,IAAI,SAAI,IAAI,SAAI,IAAI,SAAI,IAAI,SAAI,IAAI,SAAI,IAAI,SAAI,IAAI,SAAI,IAAI,SAAI,KAAKC,GAAGnR,OAAO,cAASoR,GAAGpR,OAAO,kDAAoByP,GAAG,cAAcO,GAAG,IAAIrc,EAAE4G,EAAEyV,GAAG,GAAG,MAAM,IAAIC,GAAG,kBAAkBC,GAAG,oBAAoBM,GAAGxQ,OAAO,qQAAyFmQ,GAAG,OAAO/U,EAAExjB,UAAUw3B,EAAE,WAAWzY,KAAKoE,EAAE,GAAGzE,EAAEK,KAAKvgB,GAAGkgB,EAAEK,KAAKL,GAAGA,EAAEK,KAAK4D,GAAG5D,KAAKR,EAAE,EAAEQ,KAAK6D,EAAE,GAAGlE,EAAEK,KAAK/R,GAAG+R,KAAKJ,EAAE,GAAGD,EAAEK,KAAKhS,GAAGgS,KAAKE,GAAE,EAAGF,KAAKoF,EAAEpF,KAAKnf,EAAEmf,KAAKkZ,GAAE,EAAGlZ,KAAKwC,EAAE,GAAGxC,KAAKuH,GAAE,EAAGvH,KAAK2D,GAAG3D,KAAKwY,IAAIxY,KAAK2D,EAAEyV,EAAEpZ,KAAKA,KAAKyF,GAAG,EAAEhB,EAAExjB,UAAUukB,EAAE,SAAStF,GAAG,OAAOF,KAAKoE,EAhBl1H,SAAWlE,EAAElf,GAAGkf,EAAEzgB,EAAEuO,EAAEhN,GAAG,IAAwD0e,EAApDH,EAAEve,EAAiI,GAA5Hy5B,GAAGl5B,KAAKge,IAAI,GAAGW,EAAEzgB,EAAEwO,EAAE7Q,QAAQo9B,GAAGj5B,KAAKge,IAAc,MAAJA,EAAEve,IAAU0e,EAAEH,EAAEW,EAAEP,EAAE3R,EAAEuR,KAAKG,EAAE6a,EAAGhb,GAAGW,EAAEP,EAAE3R,EAAE0R,GAAGQ,EAAElS,EAAEA,EAAE0R,IAAI1e,EAAE0e,IAAOQ,EAAEA,GAAE,EAAGA,EAAEgZ,GAAE,IAAOhZ,EAAEA,EAAE,CAAC,IAAIA,EAAEgZ,EAAE,GAAGxT,EAAExF,IAAI,GAAGwE,EAAExE,GAAG,OAAO6E,EAAE7E,QAAQ,GAAG,EAAEA,EAAEN,EAAExiB,SAASmiB,EAAEW,EAAElS,EAAE9M,WAAWye,EAAEO,EAAElS,GAAGkS,EAAElS,EAAEA,EAAEkS,EAAEN,GAAGM,EAAElS,EAAEA,EAAEuR,GAAoBG,GAAjBH,EAAEW,EAAEjS,EAAE/M,YAAew5B,YAAYxa,EAAEN,GAAGD,EAAEO,EAAEjS,GAAGiS,EAAEjS,EAAED,EAAEuR,EAAEwa,UAAU,EAAEra,KAAKQ,EAAEN,GAAGuZ,EAAEjZ,GAAG,OAAOA,EAAEjS,EAAED,EAAE,KAAK+W,EAAE7E,GAAG,OAAOA,EAAEzgB,EAAEyB,UAAU,CAAC,OAAOgf,EAAEP,EAAE1R,EAAE7Q,QAAQ,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO8iB,EAAEzgB,EAAEyB,WAAW,KAAK,EAAE,IAAIwkB,EAAExF,GAAG,OAAOA,EAAEN,EAAEuZ,EAAEjZ,GAAG6D,EAAE7D,GAAGA,EAAEkF,GAAE,EAAG,QAAQ,OAAOlF,EAAEkF,GAAGV,EAAExE,KAAKA,EAAEkF,GAAE,GAAIlF,EAAEjS,EAAE/M,WAAWgf,EAAElS,EAAE9M,YAAY,EAAEgf,EAAEsC,EAAEplB,QAAQmiB,EAAEuG,EAAE5F,EAAElf,GAAU,GAAP0e,EAAE+F,EAAEvF,IAAO9iB,OAAOsiB,GAAG+Z,EAAEvZ,EAAEA,EAAElS,EAAE9M,YAAYqmB,EAAErH,GAAG4Z,EAAE5Z,GAAGA,EAAEA,EAAEyZ,EAAEzZ,EAAEX,GAAGW,EAAEzgB,EAAEyB,aAAa6iB,EAAE7D,GAAG,CAgB6qGgZ,CAAElZ,KAAKE,EAAE,EAAEA,EAAE,4BAA4BuE,GAAGvE,EAAE,iDAAiDuE,EAAExjB,UAAUukB,GAAGtF,EAAE,4CAA4CuE,EAAExjB,UAAUw3B,EAAE,GAAEp4B,KAAK,iBAAiB,EAAAsjB,GAAQ,EAAAA,EAAO,EAAAA,EAAOvZ,uDClDt0K,IAAIuwB,EAAmC,qBAAXvwB,OAAyBA,OAA2B,qBAAX,EAAAuZ,EAAyB,EAAAA,EAAyB,qBAATiX,KAAuBA,KAAO,CAAC,EAEzIC,EAAmB,SAAUC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAC7B,IAAIC,EAAQxb,KAEZwb,EAAMV,mBAAqBA,GAAsB,IACjDU,EAAMT,oBAAsBA,EAAsB,EAAIA,EAAsB,EAC5ES,EAAMR,oBAAsBA,GAAuB,EAAIA,EAAsB,EAC7EQ,EAAMP,2BAA6BA,GAA8BJ,EAAiBY,WAAWC,SAC7FF,EAAMN,sBAAwBA,EAC9BM,EAAML,oBAA4C,IAAvBA,EAC3BK,EAAMJ,OAAUA,GAAqB,KAAXA,EAAiBA,EAAS,GACpDI,EAAMH,mBAAqBA,EAC3BG,EAAMF,aAAeA,EACrBE,EAAMD,UAAaA,GAA2B,KAAdA,EAAoBA,EAAY,IAChEC,EAAMG,YAAcJ,EAAY,IAAIlS,OAAO,KAAOkS,EAAW,KAAO,EACxE,EAEAV,EAAiBY,WAAa,CAC1BC,SAAU,WACVE,KAAU,OACVC,IAAU,MACVC,KAAU,QAGdjB,EAAiB55B,UAAY,CACzB86B,YAAa,SAAUt7B,GACnB,OAAOA,EAAM0X,QAAQ6H,KAAK2b,YAAa,IAAIxjB,QAAQ6H,KAAK8a,mBAAoB,IAChF,EAEAkB,OAAQ,SAAUv7B,GACd,IAAkB6nB,EAAO2T,EAAUC,EAAmBC,EAAlDX,EAAQxb,KAAuDoc,EAAc,GAuDjF,OApDA37B,EAAQA,EAAM0X,QAAQ,YAAa,IAE9BA,QAAQqjB,EAAMV,mBAAoB,KAIlC3iB,QAAQ,WAAY,IAGpBA,QAAQ,MAAO,KAGfA,QAAQ,MAAO,IAGfA,QAAQ,IAAKqjB,EAAMN,oBAAsB,GAAK,KAG9C/iB,QAAQ,IAAKqjB,EAAMV,oBAGpBU,EAAML,qBACN16B,EAAQA,EAAM0X,QAAQ,gBAAiB,OAG3C8jB,EAAiC,MAAtBx7B,EAAMU,MAAM,EAAG,GAAa,IAAM,GAGrC+6B,EAFmB,oBAAhBV,EAAMJ,OACTI,EAAMH,iBACcY,EAAWT,EAAMJ,OAEjBI,EAAMJ,OAASa,EAGnBA,EAGxBE,EAAc17B,EAEVA,EAAMiC,QAAQ84B,EAAMV,qBAAuB,IAE3CqB,GADA7T,EAAQ7nB,EAAM6E,MAAMk2B,EAAMV,qBACN,GACpBsB,EAAcZ,EAAMV,mBAAqBxS,EAAM,GAAGnnB,MAAM,EAAGq6B,EAAMR,sBAGrD,MAAbiB,IACCE,EAAcA,EAAYh7B,MAAM,IAGhCq6B,EAAMT,oBAAsB,IAC9BoB,EAAcA,EAAYh7B,MAAM,EAAGq6B,EAAMT,sBAGnCS,EAAMP,4BACd,KAAKJ,EAAiBY,WAAWG,KAC7BO,EAAcA,EAAYhkB,QAAQ,sBAAuB,KAAOqjB,EAAMD,WAEtE,MAEJ,KAAKV,EAAiBY,WAAWI,IAC7BM,EAAcA,EAAYhkB,QAAQ,qBAAsB,KAAOqjB,EAAMD,WAErE,MAEJ,KAAKV,EAAiBY,WAAWC,SAC7BS,EAAcA,EAAYhkB,QAAQ,qBAAsB,KAAOqjB,EAAMD,WAKzE,OAAIC,EAAMF,WACCW,EAAWE,EAAYj7B,YAAcs6B,EAAMR,oBAAsB,EAAIoB,EAAYl7B,WAAa,IAAMs6B,EAAMJ,OAG9Gc,EAAoBC,EAAYj7B,YAAcs6B,EAAMR,oBAAsB,EAAIoB,EAAYl7B,WAAa,GAClH,GAGJ,IAAIm7B,EAAqBxB,EAErByB,EAAgB,SAAUC,EAAaC,EAASC,GAChD,IAAIjB,EAAQxb,KAEZwb,EAAMkB,KAAO,GACblB,EAAMmB,OAAS,GACfnB,EAAMe,YAAcA,EACpBf,EAAMgB,QAAUA,EACbl3B,MAAM,KACNs3B,UACAj4B,KAAI,SAASzF,GACZ,OAAOi1B,SAASj1B,EAAG,GACrB,IAC2B,IAAzBs8B,EAAMgB,QAAQp/B,QAAco+B,EAAMgB,QAAQK,QAAQ,GAEtDrB,EAAMiB,QAAUA,EACbn3B,MAAM,KACNs3B,UACAj4B,KAAI,SAASzF,GACZ,OAAOi1B,SAASj1B,EAAG,GACrB,IAC2B,IAAzBs8B,EAAMiB,QAAQr/B,QAAco+B,EAAMiB,QAAQI,QAAQ,GAEtDrB,EAAMsB,YACV,EAEAR,EAAcr7B,UAAY,CACtB67B,WAAY,WACR,IAAItB,EAAQxb,KACZwb,EAAMe,YAAY/4B,SAAQ,SAAU/C,GAClB,MAAVA,EACA+6B,EAAMmB,OAAOn8B,KAAK,GAElBg7B,EAAMmB,OAAOn8B,KAAK,EAE1B,GACJ,EAEAu8B,iBAAkB,WACd,IAAIvB,EAAQxb,KACR0c,EAAOlB,EAAMkB,KAEjB,OAAOA,EAAK,GACRA,EAAK,GAAK,IAAMlB,EAAMwB,eAAeN,EAAK,IAAM,IAAMlB,EAAMwB,eAAeN,EAAK,IAChF,EACR,EAEAO,UAAW,WACP,OAAOjd,KAAK2c,MAChB,EAEAO,iBAAkB,SAAUz8B,GACxB,IAAI+6B,EAAQxb,KAAM/L,EAAS,GAyC3B,OAvCAxT,EAAQA,EAAM0X,QAAQ,SAAU,IAEhCqjB,EAAMmB,OAAOn5B,SAAQ,SAAUpG,EAAQ0B,GACnC,GAAI2B,EAAMrD,OAAS,EAAG,CAClB,IAAI2oB,EAAMtlB,EAAMU,MAAM,EAAG/D,GACrB+/B,EAAOpX,EAAI5kB,MAAM,EAAG,GACpByY,EAAOnZ,EAAMU,MAAM/D,GAEvB,OAAQo+B,EAAMe,YAAYz9B,IAC1B,IAAK,IACW,OAARinB,EACAA,EAAM,KACCoO,SAASgJ,EAAM,IAAM,EAC5BpX,EAAM,IAAMoX,EACLhJ,SAASpO,EAAK,IAAM,KAC3BA,EAAM,MAGV,MAEJ,IAAK,IACW,OAARA,EACAA,EAAM,KACCoO,SAASgJ,EAAM,IAAM,EAC5BpX,EAAM,IAAMoX,EACLhJ,SAASpO,EAAK,IAAM,KAC3BA,EAAM,MAMd9R,GAAU8R,EAGVtlB,EAAQmZ,CACZ,CACJ,IAEOoG,KAAKod,mBAAmBnpB,EACnC,EAEAmpB,mBAAoB,SAAU38B,GAC1B,IAGI48B,EAAKC,EAAOC,EAHZ/B,EAAQxb,KAAMuc,EAAcf,EAAMe,YAAaG,EAAO,GACtDc,EAAW,EAAGC,EAAa,EAAGC,EAAY,EAC1CC,EAAgB,EAAGC,EAAkB,EAAGC,EAAiB,EACvCC,GAAe,EAiFrC,OA9EqB,IAAjBr9B,EAAMrD,QAAiD,MAAjCm/B,EAAY,GAAGlb,eAA0D,MAAjCkb,EAAY,GAAGlb,gBAE7Euc,EAAkB,GADlBD,EAAmC,MAAnBpB,EAAY,GAAa,EAAI,GAE7Cc,EAAMlJ,SAAS1zB,EAAMU,MAAMw8B,EAAeA,EAAgB,GAAI,IAC9DL,EAAQnJ,SAAS1zB,EAAMU,MAAMy8B,EAAiBA,EAAkB,GAAI,IAEpElB,EAAO1c,KAAK+d,aAAaV,EAAKC,EAAO,IAIpB,IAAjB78B,EAAMrD,SACNm/B,EAAY/4B,SAAQ,SAAU6J,EAAMvO,GAChC,OAAQuO,GACR,IAAK,IACDmwB,EAAW1+B,EACX,MACJ,IAAK,IACD2+B,EAAa3+B,EACb,MACJ,QACI4+B,EAAY5+B,EAGpB,IAEA++B,EAA6B,EAAZH,EACjBC,EAAiBH,GAAYE,EAAwB,EAAXF,EAA2B,EAAXA,EAAe,EACzEI,EAAmBH,GAAcC,EAA0B,EAAbD,EAA+B,EAAbA,EAAiB,EAEjFJ,EAAMlJ,SAAS1zB,EAAMU,MAAMw8B,EAAeA,EAAgB,GAAI,IAC9DL,EAAQnJ,SAAS1zB,EAAMU,MAAMy8B,EAAiBA,EAAkB,GAAI,IACpEL,EAAOpJ,SAAS1zB,EAAMU,MAAM08B,EAAgBA,EAAiB,GAAI,IAEjEC,EAA0E,IAA3Dr9B,EAAMU,MAAM08B,EAAgBA,EAAiB,GAAGzgC,OAE/Ds/B,EAAO1c,KAAK+d,aAAaV,EAAKC,EAAOC,IAIpB,IAAjB98B,EAAMrD,QAAoC,MAAnBm/B,EAAY,IAAiC,MAAnBA,EAAY,KAE7DsB,EAAiB,GADjBD,EAAqC,MAAnBrB,EAAY,GAAa,EAAI,GAE/Ce,EAAQnJ,SAAS1zB,EAAMU,MAAMy8B,EAAiBA,EAAkB,GAAI,IACpEL,EAAOpJ,SAAS1zB,EAAMU,MAAM08B,EAAgBA,EAAiB,GAAI,IAEjEC,EAA0E,IAA3Dr9B,EAAMU,MAAM08B,EAAgBA,EAAiB,GAAGzgC,OAE/Ds/B,EAAO,CAAC,EAAGY,EAAOC,IAID,IAAjB98B,EAAMrD,QAAoC,MAAnBm/B,EAAY,IAAiC,MAAnBA,EAAY,KAE7DsB,EAAiB,EAAI,IADrBD,EAAqC,MAAnBrB,EAAY,GAAa,EAAI,GAE/Ce,EAAQnJ,SAAS1zB,EAAMU,MAAMy8B,EAAiBA,EAAkB,GAAI,IACpEL,EAAOpJ,SAAS1zB,EAAMU,MAAM08B,EAAgBA,EAAiB,GAAI,IAEjEC,EAA0E,IAA3Dr9B,EAAMU,MAAM08B,EAAgBA,EAAiB,GAAGzgC,OAE/Ds/B,EAAO,CAAC,EAAGY,EAAOC,IAGtBb,EAAOlB,EAAMwC,kBAAkBtB,GAC/BlB,EAAMkB,KAAOA,EAEgB,IAAhBA,EAAKt/B,OAAeqD,EAAQ87B,EAAY/0B,QAAO,SAAUy2B,EAAUpgC,GAC5E,OAAQA,GACR,IAAK,IACD,OAAOogC,GAAwB,IAAZvB,EAAK,GAAW,GAAKlB,EAAMwB,eAAeN,EAAK,KACtE,IAAK,IACD,OAAOuB,GAAwB,IAAZvB,EAAK,GAAW,GAAKlB,EAAMwB,eAAeN,EAAK,KACtE,IAAK,IACD,OAAOuB,GAAYH,EAAetC,EAAM0C,sBAAsBxB,EAAK,IAAI,GAAS,IACpF,IAAK,IACD,OAAOuB,GAAYH,EAAetC,EAAM0C,sBAAsBxB,EAAK,IAAI,GAAQ,IAEvF,GAAG,GAGP,EAEAsB,kBAAmB,SAAUtB,GACzB,IAAIlB,EAAQxb,KACRuc,EAAcf,EAAMe,YACpBC,EAAUhB,EAAMgB,SAAW,GAC3BC,EAAUjB,EAAMiB,SAAW,GAE/B,OAAKC,EAAKt/B,QAAWo/B,EAAQp/B,OAAS,GAAKq/B,EAAQr/B,OAAS,GAG1Dm/B,EAAYnpB,MAAK,SAASlU,GACxB,MAA2B,MAApBA,EAAEmiB,aACX,KACY,IAAZqb,EAAK,GANgEA,EASnED,EAAQr/B,SAAWq/B,EAAQ,GAAKC,EAAK,IACvCD,EAAQ,KAAOC,EAAK,KAAOD,EAAQ,GAAKC,EAAK,IAC3CD,EAAQ,KAAOC,EAAK,IAAMD,EAAQ,GAAKC,EAAK,KAErCD,EAEPD,EAAQp/B,SAAWo/B,EAAQ,GAAKE,EAAK,IACvCF,EAAQ,KAAOE,EAAK,KAAOF,EAAQ,GAAKE,EAAK,IAC3CF,EAAQ,KAAOE,EAAK,IAAMF,EAAQ,GAAKE,EAAK,KAErCF,EAEJE,CACX,EAEAqB,aAAc,SAAUV,EAAKC,EAAOC,GAShC,OARAF,EAAM1I,KAAKuD,IAAImF,EAAK,IACpBC,EAAQ3I,KAAKuD,IAAIoF,EAAO,IACxBC,EAAOpJ,SAAUoJ,GAAQ,EAAI,KAExBD,EAAQ,GAAKA,EAAQ,IAAM,GAAOA,EAAQ,GAAKA,EAAQ,IAAM,KAC9DD,EAAM1I,KAAKuD,IAAImF,EAAe,IAAVC,EAAetd,KAAKme,WAAWZ,GAAQ,GAAK,GAAM,KAGnE,CAACF,EAAKC,EAAOC,EACxB,EAEAY,WAAY,SAAUZ,GAClB,OAASA,EAAO,IAAM,GAAOA,EAAO,MAAQ,GAAQA,EAAO,MAAQ,CACvE,EAEAP,eAAgB,SAAUoB,GACtB,OAAQA,EAAS,GAAK,IAAM,IAAMA,CACtC,EAEAF,sBAAuB,SAAUE,EAAQC,GACrC,OAAIA,GACQD,EAAS,GAAK,MAASA,EAAS,IAAM,KAAQA,EAAS,IAAO,IAAM,IAAQA,GAGhFA,EAAS,GAAK,IAAM,IAAMA,CACtC,GAGJ,IAAIE,EAAkBhC,EAElBiC,EAAgB,SAAUC,EAAaC,GACvC,IAAIjD,EAAQxb,KAEZwb,EAAMz+B,KAAO,GACby+B,EAAMmB,OAAS,GACfnB,EAAMgD,YAAcA,EACpBhD,EAAMiD,WAAaA,EACnBjD,EAAMsB,YACV,EAEAyB,EAAct9B,UAAY,CACtB67B,WAAY,WACR,IAAItB,EAAQxb,KACZwb,EAAMgD,YAAYh7B,SAAQ,WACtBg4B,EAAMmB,OAAOn8B,KAAK,EACtB,GACJ,EAEAk+B,iBAAkB,WACd,IAAIlD,EAAQxb,KACRjjB,EAAOy+B,EAAMz+B,KAEjB,OAAOA,EAAK,GACRy+B,EAAMwB,eAAejgC,EAAK,IAAM,IAAMy+B,EAAMwB,eAAejgC,EAAK,IAAM,IAAMy+B,EAAMwB,eAAejgC,EAAK,IACtG,EACR,EAEAkgC,UAAW,WACP,OAAOjd,KAAK2c,MAChB,EAEAgC,qBAAsB,WAElB,MAAiC,OAA7Bx6B,OADQ6b,KACKye,YACN,CACHG,kBAAmB,EACnBC,SAAU,GACVC,qBAAsB,EACtBC,WAAY,IAIb,CACHH,kBAAmB,EACnBC,SAAU,GACVC,qBAAsB,EACtBC,WAAY,GAEpB,EAEAC,iBAAkB,SAAUv+B,GACxB,IAAI+6B,EAAQxb,KAAM/L,EAAS,GAE3BxT,EAAQA,EAAM0X,QAAQ,SAAU,IAEhC,IAAI8mB,EAAoBzD,EAAMmD,uBAoC9B,OAlCAnD,EAAMmB,OAAOn5B,SAAQ,SAAUpG,EAAQ0B,GACnC,GAAI2B,EAAMrD,OAAS,EAAG,CAClB,IAAI2oB,EAAMtlB,EAAMU,MAAM,EAAG/D,GACrB+/B,EAAOpX,EAAI5kB,MAAM,EAAG,GACpByY,EAAOnZ,EAAMU,MAAM/D,GAEvB,OAAQo+B,EAAMgD,YAAY1/B,IAE1B,IAAK,IACGq1B,SAASgJ,EAAM,IAAM8B,EAAkBL,kBACvC7Y,EAAM,IAAMoX,EACLhJ,SAASpO,EAAK,IAAMkZ,EAAkBJ,WAC7C9Y,EAAMkZ,EAAkBJ,SAAW,IAGvC,MAEJ,IAAK,IACL,IAAK,IACG1K,SAASgJ,EAAM,IAAM8B,EAAkBH,qBACvC/Y,EAAM,IAAMoX,EACLhJ,SAASpO,EAAK,IAAMkZ,EAAkBF,aAC7ChZ,EAAMkZ,EAAkBF,WAAa,IAK7C9qB,GAAU8R,EAGVtlB,EAAQmZ,CACZ,CACJ,IAEOoG,KAAKkf,mBAAmBjrB,EACnC,EAEAirB,mBAAoB,SAAUz+B,GAC1B,IAGItC,EAAQghC,EAAQC,EAHhB5D,EAAQxb,KAAMwe,EAAchD,EAAMgD,YAAazhC,EAAO,GACtDsiC,EAAc,EAAGC,EAAc,EAAGC,EAAY,EAC9CC,EAAmB,EAAGC,EAAmB,EAAGC,EAAiB,EAqDjE,OAlDqB,IAAjBj/B,EAAMrD,SACNohC,EAAYh7B,SAAQ,SAAU6J,EAAMvO,GAChC,OAAQuO,GACR,IAAK,IACDgyB,EAAsB,EAARvgC,EACd,MACJ,IAAK,IACDwgC,EAAsB,EAARxgC,EACd,MACJ,IAAK,IACDygC,EAAoB,EAARzgC,EAGpB,IAEA4gC,EAAiBH,EACjBE,EAAmBH,EACnBE,EAAmBH,EAEnBlhC,EAASg2B,SAAS1zB,EAAMU,MAAMq+B,EAAkBA,EAAmB,GAAI,IACvEL,EAAShL,SAAS1zB,EAAMU,MAAMs+B,EAAkBA,EAAmB,GAAI,IACvEL,EAAOjL,SAAS1zB,EAAMU,MAAMu+B,EAAgBA,EAAiB,GAAI,IAEjE3iC,EAAOijB,KAAK2f,aAAaP,EAAMD,EAAQhhC,IAGtB,IAAjBsC,EAAMrD,QAAgBo+B,EAAMgD,YAAY97B,QAAQ,KAAO,IACvD87B,EAAYh7B,SAAQ,SAAU6J,EAAMvO,GAChC,OAAQuO,GACR,IAAK,IACDiyB,EAAsB,EAARxgC,EACd,MACJ,IAAK,IACDygC,EAAoB,EAARzgC,EAGpB,IAEA4gC,EAAiBH,EACjBE,EAAmBH,EAEnBnhC,EAAS,EACTghC,EAAShL,SAAS1zB,EAAMU,MAAMs+B,EAAkBA,EAAmB,GAAI,IACvEL,EAAOjL,SAAS1zB,EAAMU,MAAMu+B,EAAgBA,EAAiB,GAAI,IAEjE3iC,EAAOijB,KAAK2f,aAAaP,EAAMD,EAAQhhC,IAG3Cq9B,EAAMz+B,KAAOA,EAEU,IAAhBA,EAAKK,OAAeqD,EAAQ+9B,EAAYh3B,QAAO,SAAUy2B,EAAUpgC,GACtE,OAAQA,GACR,IAAK,IACD,OAAOogC,EAAWzC,EAAMwB,eAAejgC,EAAK,IAChD,IAAK,IACD,OAAOkhC,EAAWzC,EAAMwB,eAAejgC,EAAK,IAChD,IAAK,IACD,OAAOkhC,EAAWzC,EAAMwB,eAAejgC,EAAK,IAEpD,GAAG,GACP,EAEA4iC,aAAc,SAAUP,EAAMD,EAAQhhC,GAKlC,OAJAA,EAASw2B,KAAKuD,IAAI/D,SAASh2B,GAAU,EAAG,IAAK,IAC7CghC,EAASxK,KAAKuD,IAAIiH,EAAQ,IAGnB,CAFPC,EAAOzK,KAAKuD,IAAIkH,EAAM,IAERD,EAAQhhC,EAC1B,EAEA6+B,eAAgB,SAAUoB,GACtB,OAAQA,EAAS,GAAK,IAAM,IAAMA,CACtC,GAGJ,IAAIwB,EAAkBrB,EAElBsB,EAAiB,SAAUC,EAAWvE,GACtC,IAAIC,EAAQxb,KAEZwb,EAAMD,UAAaA,GAA2B,KAAdA,EAAoBA,EAAY,IAChEC,EAAMG,YAAcJ,EAAY,IAAIlS,OAAO,KAAOkS,EAAW,KAAO,GAEpEC,EAAMsE,UAAYA,CACtB,EAEAD,EAAe5+B,UAAY,CACvB8+B,aAAc,SAAUD,GACpB9f,KAAK8f,UAAYA,CACrB,EAEA9D,OAAQ,SAAUgE,GACd,IAAIxE,EAAQxb,KAEZwb,EAAMsE,UAAUG,QAahB,IAFA,IAAiBpiC,EAAboW,EAAS,GAAaisB,GAAY,EAE7BzgC,EAAI,EAAG0gC,GAJhBH,GAHAA,GAHAA,EAAcA,EAAY7nB,QAAQ,UAAW,KAGnBA,QAAQ,MAAO,KAAKA,QAAQ,MAAO,IAAIA,QAAQ,IAAK,MAGpDA,QAAQqjB,EAAMG,YAAa,KAIlBv+B,OAAQqC,EAAI0gC,EAAM1gC,IACjD5B,EAAU29B,EAAMsE,UAAUM,WAAWJ,EAAYpG,OAAOn6B,IAGpD,WAAW8B,KAAK1D,IAChBoW,EAASpW,EAETqiC,GAAY,GAEPA,IACDjsB,EAASpW,GAarB,OAFAoW,GAFAA,EAASA,EAAOkE,QAAQ,QAAS,KAEjBA,QAAQ,SAAUqjB,EAAMD,UAG5C,GAGJ,IAAI8E,EAAmBR,EAEnBS,EAAqB,CACrB3D,OAAQ,CACJ4D,KAAe,CAAC,EAAG,EAAG,GACtBC,KAAe,CAAC,EAAG,EAAG,GACtBC,OAAe,CAAC,EAAG,EAAG,GACtBC,SAAe,CAAC,EAAG,EAAG,EAAG,GACzBC,WAAe,CAAC,EAAG,EAAG,EAAG,GACzBC,QAAe,CAAC,EAAG,EAAG,EAAG,GACzBC,aAAe,CAAC,EAAG,EAAG,EAAG,GACzBC,MAAe,CAAC,EAAG,EAAG,GACtBC,IAAe,CAAC,EAAG,EAAG,EAAG,GACzBC,QAAe,CAAC,EAAG,EAAG,EAAG,GACzBC,KAAe,CAAC,EAAG,EAAG,EAAG,GACzBC,IAAe,CAAC,EAAG,EAAG,EAAG,GACzBC,SAAe,CAAC,EAAG,EAAG,EAAG,GACzBC,QAAe,CAAC,EAAG,EAAG,EAAG,IAG7BC,GAAI,CAEAd,KAAM,qBAGNC,KAAM,iBAGNE,SAAU,yCAGVD,OAAQ,oCAGRE,WAAY,wDAGZC,QAAS,4BAGTC,aAAc,mBAGdC,MAAO,yBAGPC,IAAK,yBAGLC,QAAS,6CAGTE,IAAK,oBAGLD,KAAM,aAGNE,SAAU,oBAGdG,gBAAiB,SAAUC,GACzB,IAAIxK,EAAQwK,EAAM/5B,QAAO,SAAUsuB,EAAMj4B,GACvC,OAAOi4B,EAAOj4B,CAChB,GAAG,GAEH,OAAO0jC,EAAMx7B,OAAO,GAAKgxB,EAC3B,EAEAyK,QAAS,SAAU/gC,EAAOghC,GACtB,IAAI9E,EAAS2D,EAAmB3D,OAC5B0E,EAAKf,EAAmBe,GAQ5B,IAAK,IAAI9iC,KAFTkjC,IAAeA,EAECJ,EACZ,GAAIA,EAAG9iC,GAAKgD,KAAKd,GAAQ,CACrB,IAAIihC,EAAgB/E,EAAOp+B,GAC3B,MAAO,CACH8O,KAAM9O,EACNo+B,OAAQ8E,EAAazhB,KAAKshB,gBAAgBI,GAAiBA,EAEnE,CAGJ,MAAO,CACHr0B,KAAM,UACNsvB,OAAQ8E,EAAazhB,KAAKshB,gBAAgB3E,EAAOyE,SAAWzE,EAAOyE,QAE3E,GAGAO,EAAuBrB,EA2QvBsB,EAzQO,CACPpjC,KAAM,WACN,EAEAqjC,MAAO,SAAUphC,EAAO4gC,GACpB,OAAO5gC,EAAM0X,QAAQkpB,EAAI,GAC7B,EAEAS,iBAAkB,SAAUrhC,EAAO86B,EAAWwG,GAE1C,GAA0B,IAAtBA,EAAW3kC,OACX,OAAOqD,EAAMU,OAAOo6B,EAAUn+B,UAAYm+B,EAAYA,EAAY,GAItE,IAAIyG,EAAmB,GAOvB,OANAD,EAAWv+B,SAAQ,SAAU3F,GACrB4C,EAAMU,OAAOtD,EAAQT,UAAYS,IACjCmkC,EAAmBnkC,EAE3B,IAEOmkC,CACX,EAEAC,0BAA2B,SAAU1G,GACjC,OAAO,IAAIlS,OAAOkS,EAAUpjB,QAAQ,yBAA0B,QAAS,IAC3E,EAEA+pB,sBAAuB,SAAUC,EAAS/gB,EAAUghB,EAAU7G,EAAWwG,GAGvE,OAAI3gB,EAAShkB,SAAW+kC,EACbC,EAAShlC,OAGb+kC,EAAUniB,KAAKqiB,kBAAkBF,EAAS/gB,EAAUghB,EAAU7G,EAAWwG,EAClF,EAEAM,kBAAmB,SAAUF,EAAS/gB,EAAUghB,EAAU7G,EAAWwG,GACjE,IAAIO,EAAaC,EAAaC,EAM9B,OAJAF,EAActiB,KAAKyiB,gBAAgBrhB,EAASjgB,MAAM,EAAGghC,GAAU5G,EAAWwG,GAC1EQ,EAAcviB,KAAKyiB,gBAAgBL,EAASjhC,MAAM,EAAGghC,GAAU5G,EAAWwG,GAGjD,KAFzBS,EAAeF,EAAYllC,OAASmlC,EAAYnlC,QAEjBolC,EAAe7N,KAAK+N,IAAIF,GAAiB,CAC5E,EAEAC,gBAAiB,SAAUhiC,EAAO86B,EAAWwG,GACzC,IAAIvG,EAAQxb,KAGZ,GAA0B,IAAtB+hB,EAAW3kC,OAAc,CACzB,IAAIu+B,EAAcJ,EAAYC,EAAMyG,0BAA0B1G,GAAa,GAE3E,OAAO96B,EAAM0X,QAAQwjB,EAAa,GACtC,CASA,OANAoG,EAAWv+B,SAAQ,SAAU3F,GACzBA,EAAQyH,MAAM,IAAI9B,SAAQ,SAAUm/B,GAChCliC,EAAQA,EAAM0X,QAAQqjB,EAAMyG,0BAA0BU,GAAS,GACnE,GACJ,IAEOliC,CACX,EAEAmiC,QAAS,SAAUC,EAAKzlC,GACpB,OAAOylC,EAAI1hC,MAAM,EAAG/D,EACxB,EAEA0lC,aAAc,SAAUnG,GACpB,OAAOA,EAAOn1B,QAAO,SAAUy2B,EAAUpgC,GACrC,OAAOogC,EAAWpgC,CACtB,GAAG,EACP,EAQAklC,uBAAwB,SAAUtiC,EAAO26B,EAAQ4H,EAAcC,EAAY1H,EAAWwG,EAAYmB,EAAmB5H,EAAYD,GAE7H,GAAqB,IAAjB2H,EACF,OAAOviC,EAIT,GAAIA,IAAU26B,GAAoB,KAAV36B,EACtB,MAAO,GAGT,GAAI46B,GAA0C,KAArB56B,EAAMU,MAAM,EAAG,GAAY,CAChD,IAAI20B,EAAkC,KAA1BmN,EAAW9hC,MAAM,EAAG,GAAa8hC,EAAW9hC,MAAM,GAAK8hC,EACnE,MAAO,IAAMjjB,KAAK+iB,uBAAuBtiC,EAAMU,MAAM,GAAIi6B,EAAQ4H,EAAclN,EAAMyF,EAAWwG,EAAYmB,EAAmB5H,EAAYD,EAC/I,CAGA,GAAI4H,EAAW9hC,MAAM,EAAG6hC,KAAkB5H,IAAWE,EAEjD,OAAI4H,IAAsBD,GAAcxiC,EAAcA,EAC/C,GACJ,GAAIwiC,EAAW9hC,OAAO6hC,KAAkB5H,GAAUE,EAErD,OAAI4H,IAAsBD,GAAcxiC,EAAcA,EAC/C,GAGX,IAAI0iC,EAAYnjB,KAAKyiB,gBAAgBQ,EAAY1H,EAAWwG,GAI5D,OAAIthC,EAAMU,MAAM,EAAG6hC,KAAkB5H,GAAWE,EAErC76B,EAAMU,OAAO6hC,KAAkB5H,GAAUE,EACzC6H,EAAUhiC,MAAM,GAAI6hC,EAAe,GAIvC1H,EAAa76B,EAAMU,MAAM,GAAI6hC,GAAgBviC,EAAMU,MAAM6hC,GANrDG,EAAUhiC,MAAM6hC,EAO/B,EAEAI,kBAAmB,SAAUtN,EAAMj4B,GAG/B,IAFA,IAAIiB,EAAQ,EAELg3B,EAAK8D,OAAO96B,KAAWjB,EAAQ+7B,OAAO96B,IACzC,GAA6B,KAAzBg3B,EAAK8D,OAAO96B,KACZ,OAAQ,EAIhB,OAAOA,CACX,EAEAukC,kBAAmB,SAAU5iC,EAAOk8B,EAAQ2G,EAAc/H,EAAWwG,EAAYwB,GAC7E,IAAItvB,EAAS,GACTuvB,EAAqBzB,EAAW3kC,OAAS,EACzCqmC,EAAmB,GAGvB,OAAqB,IAAjBH,EACO7iC,GAGXk8B,EAAOn5B,SAAQ,SAAUpG,EAAQ0B,GAC7B,GAAI2B,EAAMrD,OAAS,EAAG,CAClB,IAAI2oB,EAAMtlB,EAAMU,MAAM,EAAG/D,GACrBwc,EAAOnZ,EAAMU,MAAM/D,GAGnBqmC,EADAD,EACmBzB,EAAWwB,EAAqBzkC,EAAQ,EAAKA,IAAU2kC,EAEvDlI,EAGnBgI,GACIzkC,EAAQ,IACRmV,GAAUwvB,GAGdxvB,GAAU8R,IAEV9R,GAAU8R,EAENA,EAAI3oB,SAAWA,GAAU0B,EAAQwkC,EAAe,IAChDrvB,GAAUwvB,IAKlBhjC,EAAQmZ,CACZ,CACJ,IAEO3F,EACX,EAIAyvB,gBAAiB,SAAUjJ,EAAIW,EAAQG,EAAWwG,GAC9C,GAAKtH,EAAL,CAIA,IAAI1E,EAAM0E,EAAGh6B,MACTkjC,EAAWpI,GAAcwG,EAAW,IAAM,IAE9C,GAAKtH,EAAGmJ,mBAAsBxI,KAAWA,EAAOh+B,OAASumC,EAASvmC,QAAW24B,EAAI34B,QAAjF,CAIA,IAAIuE,EAAmB,EAAbo0B,EAAI34B,OAGdK,YAAW,WACPg9B,EAAGmJ,kBAAkBjiC,EAAKA,EAC9B,GAAG,EAPH,CAPA,CAeJ,EAGAkiC,mBAAoB,SAASpjC,GAC3B,IAEE,OADgB2J,OAAO05B,gBAAkBl5B,SAASk5B,gBAAkB,CAAC,GACpD5iC,WAAW9D,SAAWqD,EAAMrD,MAC/C,CAAE,MAAO2mC,GAET,CAEA,OAAO,CACT,EAEAC,aAAc,SAAU5jB,EAAS6jB,EAAUC,GACvC,GAAI9jB,IAAYJ,KAAKmkB,iBAAiBD,MAKlC9jB,GAAWA,EAAQ3f,MAAMrD,QAAU6mC,GAIvC,GAAI7jB,EAAQgkB,gBAAiB,CACzB,IAAIC,EAAQjkB,EAAQgkB,kBAEpBC,EAAMC,KAAK,YAAaL,GACxBI,EAAME,QACV,MACI,IACInkB,EAAQwjB,kBAAkBK,EAAUA,EACxC,CAAE,MAAOvkB,GAELzU,QAAQ6pB,KAAK,oDACjB,CAER,EAEAqP,iBAAkB,SAAShrB,GACvB,IAAIM,EAAgBN,EAAOM,cAC3B,OAAIA,GAAiBA,EAAc+qB,WACxBxkB,KAAKmkB,iBAAiB1qB,EAAc+qB,YAExC/qB,CACX,EAEAgrB,UAAW,WACP,OAAO5yB,WAAa,WAAWtQ,KAAKsQ,UAAU+I,UAClD,EAMA8pB,0BAA2B,SAAUC,EAAgBC,GACjD,SAAK5kB,KAAKykB,aAAgBE,GAAmBC,IAItCA,IAAsBD,EAAexjC,MAAM,GAAI,EAC1D,GAgGA0jC,EAtFoB,CAGpB5yB,OAAQ,SAAUzP,EAAQsiC,GA+EtB,OA7EAA,EAAOA,GAAQ,CAAC,GADhBtiC,EAASA,GAAU,CAAC,GAIbuiC,aAAeD,EAAKC,WAC3BviC,EAAOwiC,uBAAyBF,EAAKE,qBACrCxiC,EAAOyiC,eAAiB,GACxBziC,EAAO0iC,wBAA0BJ,EAAKI,yBAA2B,WAAe,EAGhF1iC,EAAO2iC,QAAUL,EAAKK,MACtB3iC,EAAO4iC,gBAAkBN,EAAKM,iBAAmB,KACjD5iC,EAAO6iC,eAAiB,CAAC,EAGzB7iC,EAAOzF,OAAS+nC,EAAK/nC,KACrByF,EAAOg8B,YAAcsG,EAAKtG,aAAe,CAAC,IAAK,IAAK,KACpDh8B,EAAOi8B,WAAaqG,EAAKrG,YAAc,KACvCj8B,EAAO8iC,cAAgB,CAAC,EAGxB9iC,EAAOk6B,OAASoI,EAAKpI,KACrBl6B,EAAO+5B,YAAcuI,EAAKvI,aAAe,CAAC,IAAK,IAAK,KACpD/5B,EAAOg6B,QAAUsI,EAAKtI,SAAW,GACjCh6B,EAAOi6B,QAAUqI,EAAKrI,SAAW,GACjCj6B,EAAO+iC,cAAgB,CAAC,EAGxB/iC,EAAOgjC,UAAYV,EAAKU,QACxBhjC,EAAOu4B,oBAAsB+J,EAAK/J,oBAAsB,EAAI+J,EAAK/J,oBAAsB,EACvFv4B,EAAOw4B,oBAAsB8J,EAAK9J,qBAAuB,EAAI8J,EAAK9J,oBAAsB,EACxFx4B,EAAOs4B,mBAAqBgK,EAAKhK,oBAAsB,IACvDt4B,EAAOy4B,2BAA6B6J,EAAK7J,4BAA8B,WACvEz4B,EAAO04B,sBAAwB4J,EAAK5J,oBACpC14B,EAAO24B,oBAAiD,IAA5B2J,EAAK3J,mBACjC34B,EAAO64B,mBAAqByJ,EAAKzJ,iBACjC74B,EAAO84B,aAAewJ,EAAKxJ,WAG3B94B,EAAOijC,kBAAoBX,EAAKW,gBAEhCjjC,EAAOkjC,YAAcljC,EAAOuiC,YAAcviC,EAAOk6B,QAAUoI,EAAKY,YAEhEljC,EAAOmjC,YAAcb,EAAKa,UAC1BnjC,EAAOojC,YAAcd,EAAKc,UAE1BpjC,EAAO44B,OAAU54B,EAAOuiC,YAAcviC,EAAOk6B,KAAQ,GAAMoI,EAAK1J,QAAU,GAC1E54B,EAAO0gC,oBAAsB4B,EAAK5B,kBAClC1gC,EAAOwgC,aAAexgC,EAAO44B,OAAOh+B,OACpCoF,EAAOqjC,qBAAuBf,EAAKe,mBACnCrjC,EAAOsjC,gBAAkBhB,EAAKgB,cAE9BtjC,EAAOujC,eAAgC9oC,IAAnB6nC,EAAKiB,WAA8C,OAAnBjB,EAAKiB,UAAsBjB,EAAKiB,UAAU7kC,WAAa,GAE3GsB,EAAO+4B,UACFuJ,EAAKvJ,WAAgC,KAAnBuJ,EAAKvJ,UAAoBuJ,EAAKvJ,UAC5CuJ,EAAKpI,KAAO,IACRoI,EAAK/nC,KAAO,IACR+nC,EAAKU,QAAU,KACXV,EAAKK,MAAQ,KAElC3iC,EAAOwjC,gBAAkBxjC,EAAO+4B,UAAUn+B,OAC1CoF,EAAO+gC,oBAAsBuB,EAAKvB,kBAClC/gC,EAAOu/B,WAAa+C,EAAK/C,YAAc,GAEvCv/B,EAAOm6B,OAASmI,EAAKnI,QAAU,GAC/Bn6B,EAAO8gC,aAAe9gC,EAAOm6B,OAAOv/B,OAEpCoF,EAAOmpB,KAAkC,kBAAnBgP,GAA+BA,EAAkBA,EAAiBvwB,OACxF5H,EAAOoI,SAAWk6B,EAAKl6B,UAAYpI,EAAOmpB,KAAK/gB,SAE/CpI,EAAOiY,UAAY,EAEnBjY,EAAOyjC,WAAY,EACnBzjC,EAAOyR,OAAS,GAEhBzR,EAAO0jC,eAAiBpB,EAAKoB,gBAAkB,WAAe,EAEvD1jC,CACX,GAWA2jC,EAAS,SAAU/lB,EAAS0kB,GAC5B,IAAItJ,EAAQxb,KACRomB,GAAsB,EAc1B,GAZuB,kBAAZhmB,GACPob,EAAMpb,QAAUxV,SAASwU,cAAcgB,GACvCgmB,EAAsBx7B,SAAS8nB,iBAAiBtS,GAAShjB,OAAS,GAEtC,qBAAnBgjB,EAAQhjB,QAA0BgjB,EAAQhjB,OAAS,GAC5Do+B,EAAMpb,QAAUA,EAAQ,GACxBgmB,EAAsBhmB,EAAQhjB,OAAS,GAEvCo+B,EAAMpb,QAAUA,GAIfob,EAAMpb,QACP,MAAM,IAAItP,MAAM,wCAGpB,GAAIs1B,EACF,IAEEn7B,QAAQ6pB,KAAK,qFACf,CAAE,MAAOpV,GAET,CAGFolB,EAAKiB,UAAYvK,EAAMpb,QAAQ3f,MAE/B+6B,EAAM6K,WAAaF,EAAOG,kBAAkBr0B,OAAO,CAAC,EAAG6yB,GAEvDtJ,EAAMx1B,MACV,EAEAmgC,EAAOllC,UAAY,CACf+E,KAAM,WACF,IAAIw1B,EAAQxb,KAAMumB,EAAM/K,EAAM6K,WAGzBE,EAAIf,SAAYe,EAAIpB,OAAUoB,EAAIxB,YAAewB,EAAIxpC,MAASwpC,EAAI7J,MAA8B,IAArB6J,EAAIjD,cAAuBiD,EAAInL,QAM/GmL,EAAI9rB,UAAY0rB,EAAOK,KAAK1D,aAAayD,EAAI5J,QAE7CnB,EAAMiJ,UAAY0B,EAAOK,KAAK/B,YAC9BjJ,EAAMmJ,eAAiB,GACvBnJ,EAAMiL,WAAa,GAEnBjL,EAAMkL,iBAAmBlL,EAAMrgB,SAAS4M,KAAKyT,GAC7CA,EAAMmL,kBAAoBnL,EAAMjgB,UAAUwM,KAAKyT,GAC/CA,EAAMoL,gBAAkBpL,EAAMjhB,QAAQwN,KAAKyT,GAC3CA,EAAMqL,cAAgBrL,EAAMsL,MAAM/e,KAAKyT,GACvCA,EAAMuL,eAAiBvL,EAAMwL,OAAOjf,KAAKyT,GAEzCA,EAAMyL,sBAENzL,EAAMpb,QAAQkB,iBAAiB,QAASka,EAAMkL,kBAC9ClL,EAAMpb,QAAQkB,iBAAiB,UAAWka,EAAMmL,mBAChDnL,EAAMpb,QAAQkB,iBAAiB,QAASka,EAAMoL,iBAC9CpL,EAAMpb,QAAQkB,iBAAiB,MAAOka,EAAMqL,eAC5CrL,EAAMpb,QAAQkB,iBAAiB,OAAQka,EAAMuL,gBAG7CvL,EAAM0L,qBACN1L,EAAM2L,oBACN3L,EAAM4L,oBACN5L,EAAM6L,wBAIFd,EAAIR,WAAcQ,EAAInL,SAAWmL,EAAIrD,oBACrC1H,EAAM7kB,QAAQ4vB,EAAIR,YAlClBvK,EAAM7kB,QAAQ4vB,EAAIR,UAoC1B,EAEAkB,oBAAqB,WACjB,IAAIzL,EAAQxb,KACZ,GADwBwb,EAAM6K,WACrBZ,gBAAT,CAEA,IAAI6B,EAAiB9L,EAAMpb,QAAQmnB,WAAU,GAC7C/L,EAAMpb,QAAQuC,WAAWsC,aAAaqiB,EAAgB9L,EAAMpb,SAE5Dob,EAAMgM,kBAAoBhM,EAAMpb,QAChCob,EAAMgM,kBAAkBn6B,KAAO,SAE/BmuB,EAAMpb,QAAUknB,EAChB9L,EAAMpb,QAAQ9Q,GAAK,EATa,CAUpC,EAEA+3B,qBAAsB,WAClB,IAAkBd,EAANvmB,KAAkBqmB,WAEzBE,EAAIf,UAITe,EAAIkB,iBAAmB,IAAItB,EAAOtL,iBAC9B0L,EAAIzL,mBACJyL,EAAIxL,oBACJwL,EAAIvL,oBACJuL,EAAItL,2BACJsL,EAAIrL,oBACJqL,EAAIpL,mBACJoL,EAAInL,OACJmL,EAAIlL,iBACJkL,EAAIjL,WACJiL,EAAIhL,WAEZ,EAEA6L,kBAAmB,WACf,IAAkBb,EAANvmB,KAAkBqmB,WAEzBE,EAAIxpC,OAITwpC,EAAIjB,cAAgB,IAAIa,EAAO5H,cAAcgI,EAAI/H,YAAa+H,EAAI9H,YAClE8H,EAAI5J,OAAS4J,EAAIjB,cAAcrI,YAC/BsJ,EAAIjD,aAAeiD,EAAI5J,OAAOv/B,OAC9BmpC,EAAI9rB,UAAY0rB,EAAOK,KAAK1D,aAAayD,EAAI5J,QACjD,EAEAwK,kBAAmB,WACf,IAAkBZ,EAANvmB,KAAkBqmB,WAEzBE,EAAI7J,OAIT6J,EAAIhB,cAAgB,IAAIY,EAAO7J,cAAciK,EAAIhK,YAAagK,EAAI/J,QAAS+J,EAAI9J,SAC/E8J,EAAI5J,OAAS4J,EAAIhB,cAActI,YAC/BsJ,EAAIjD,aAAeiD,EAAI5J,OAAOv/B,OAC9BmpC,EAAI9rB,UAAY0rB,EAAOK,KAAK1D,aAAayD,EAAI5J,QACjD,EAEAuK,mBAAoB,WAChB,IAAkBX,EAANvmB,KAAkBqmB,WAE9B,GAAKE,EAAIpB,MAMT,IACIoB,EAAIlB,eAAiB,IAAIc,EAAOtG,eAC5B,IAAI0G,EAAI5a,KAAKwa,OAAOuB,mBAAmBnB,EAAInB,iBAC3CmB,EAAIhL,UAEZ,CAAE,MAAOwI,GACL,MAAM,IAAIjzB,MAAM,mEACpB,CACJ,EAEAyK,UAAW,SAAUtS,GACjB,IAAIuyB,EAAQxb,KACR2nB,EAAW1+B,EAAM2+B,OAAS3+B,EAAM4+B,QAEpCrM,EAAMmJ,eAAiBnJ,EAAMpb,QAAQ3f,MACrC+6B,EAAMiL,WAA0B,IAAbkB,CACvB,EAEAxsB,SAAU,SAAUlS,GAChB,IAAIuyB,EAAQxb,KAAMumB,EAAM/K,EAAM6K,WAC1BG,EAAOL,EAAOK,KAElBhL,EAAMiL,WAAajL,EAAMiL,YAAkC,0BAApBx9B,EAAM6+B,UAE7C,IAAIC,EAAgBvB,EAAK1E,iBAAiBtG,EAAMmJ,eAAgB4B,EAAIhL,UAAWgL,EAAIxE,YAE/EvG,EAAMiL,YAAcsB,EACpBxB,EAAIyB,uBAAyBD,EAE7BxB,EAAIyB,wBAAyB,EAGjChoB,KAAKrJ,QAAQqJ,KAAKI,QAAQ3f,MAC9B,EAEA8Z,QAAS,WACL,IAAIihB,EAAQxb,KACRumB,EAAM/K,EAAM6K,WAChB7K,EAAMmJ,eAAiBnJ,EAAMpb,QAAQ3f,MAEjC8lC,EAAInL,QAAUmL,EAAIrD,oBAAsB1H,EAAMpb,QAAQ3f,OACtDuf,KAAKrJ,QAAQ4vB,EAAInL,QAGrB+K,EAAOK,KAAK9C,gBAAgBlI,EAAMpb,QAASmmB,EAAInL,OAAQmL,EAAIhL,UAAWgL,EAAIxE,WAC9E,EAEA+E,MAAO,SAAUpnB,GACRymB,EAAOK,KAAK3C,mBAAmB7jB,KAAKI,QAAQ3f,SACjDuf,KAAKioB,kBAAkBvoB,GACvBM,KAAKrJ,QAAQ,IACjB,EAEAqwB,OAAQ,SAAUtnB,GACTymB,EAAOK,KAAK3C,mBAAmB7jB,KAAKI,QAAQ3f,QACjDuf,KAAKioB,kBAAkBvoB,EAC3B,EAEAuoB,kBAAmB,SAAUvoB,GACzB,IACI6mB,EADQvmB,KACIqmB,WACZG,EAAOL,EAAOK,KACd0B,EAHQloB,KAGWI,QAAQ3f,MAC3B0nC,EAAa,GAKbA,EAHC5B,EAAIT,cAGQoC,EAFA1B,EAAK/D,gBAAgByF,EAAY3B,EAAIhL,UAAWgL,EAAIxE,YAKrE,IACQriB,EAAE0oB,cACF1oB,EAAE0oB,cAAcC,QAAQ,OAAQF,GAEhC/9B,OAAOg+B,cAAcC,QAAQ,OAAQF,GAGzCzoB,EAAEzF,gBACN,CAAE,MAAO8pB,GAET,CACJ,EAEAptB,QAAS,SAAUlW,GACf,IAAI+6B,EAAQxb,KAAMumB,EAAM/K,EAAM6K,WAC1BG,EAAOL,EAAOK,KAOd8B,EAAqB9B,EAAK1E,iBAAiBrhC,EAAO8lC,EAAIhL,UAAWgL,EAAIxE,YAMzE,OALKwE,EAAIf,UAAWe,EAAIyB,wBAA2BM,IAC/C7nC,EAAQ+lC,EAAK5D,QAAQniC,EAAOA,EAAMrD,OAASmpC,EAAIyB,uBAAuB5qC,SAItEmpC,EAAIpB,QACAoB,EAAInL,QAAYmL,EAAIrD,oBAAqBziC,EAAMrD,OAG/CmpC,EAAItyB,OAASsyB,EAAIlB,eAAerJ,OAAOv7B,GAFvC8lC,EAAItyB,OAASsyB,EAAInL,OAASmL,EAAIlB,eAAerJ,OAAOv7B,GAAOU,MAAMolC,EAAInL,OAAOh+B,aAIhFo+B,EAAM+M,oBAMNhC,EAAIf,SAGAe,EAAInL,QAAUmL,EAAIrD,mBAAsC,IAAjBziC,EAAMrD,OAC7CmpC,EAAItyB,OAAS,GAEbsyB,EAAItyB,OAASsyB,EAAIkB,iBAAiBzL,OAAOv7B,QAE7C+6B,EAAM+M,qBAMNhC,EAAI7J,OACJj8B,EAAQ8lC,EAAIhB,cAAcrI,iBAAiBz8B,IAI3C8lC,EAAIxpC,OACJ0D,EAAQ8lC,EAAIjB,cAActG,iBAAiBv+B,IAI/CA,EAAQ+lC,EAAK/D,gBAAgBhiC,EAAO8lC,EAAIhL,UAAWgL,EAAIxE,YAGvDthC,EAAQ+lC,EAAKzD,uBAAuBtiC,EAAO8lC,EAAInL,OAAQmL,EAAIvD,aAAcuD,EAAItyB,OAAQsyB,EAAIhL,UAAWgL,EAAIxE,WAAYwE,EAAIrD,kBAAmBqD,EAAIjL,WAAYiL,EAAIlL,kBAG/J56B,EAAQ8lC,EAAIb,YAAcc,EAAK3E,MAAMphC,EAAO,UAAYA,EAGxDA,EAAQ8lC,EAAIZ,UAAYllC,EAAMs4B,cAAgBt4B,EAC9CA,EAAQ8lC,EAAIX,UAAYnlC,EAAM4gB,cAAgB5gB,EAG1C8lC,EAAInL,SACAmL,EAAIjL,WACJ76B,GAAgB8lC,EAAInL,OAEpB36B,EAAQ8lC,EAAInL,OAAS36B,EAKA,IAArB8lC,EAAIjD,eACJiD,EAAItyB,OAASxT,OACb+6B,EAAM+M,qBAOVhC,EAAIxB,YACJvJ,EAAMgN,6BAA6B/nC,GAIvCA,EAAQ+lC,EAAK5D,QAAQniC,EAAO8lC,EAAI9rB,WAGhC8rB,EAAItyB,OAASuyB,EAAKnD,kBACd5iC,EACA8lC,EAAI5J,OAAQ4J,EAAIjD,aAChBiD,EAAIhL,UAAWgL,EAAIxE,WAAYwE,EAAIhD,wBAGvC/H,EAAM+M,oBACV,EAEAC,6BAA8B,SAAU/nC,GACpC,IAEIgoC,EAFclC,EAANvmB,KAAkBqmB,WAC1BG,EAAOL,EAAOK,KAIdA,EAAK5D,QAAQ2D,EAAItyB,OAAQ,KAAOuyB,EAAK5D,QAAQniC,EAAO,KAIxDgoC,EAAiBtC,EAAO7F,mBAAmBkB,QAAQ/gC,EAAO8lC,EAAIvB,sBAE9DuB,EAAI5J,OAAS8L,EAAe9L,OAC5B4J,EAAIjD,aAAeiD,EAAI5J,OAAOv/B,OAC9BmpC,EAAI9rB,UAAY+rB,EAAK1D,aAAayD,EAAI5J,QAGlC4J,EAAItB,iBAAmBwD,EAAep7B,OACtCk5B,EAAItB,eAAiBwD,EAAep7B,KAEpCk5B,EAAIrB,wBAAwB7kC,KAnBpB2f,KAmBgCumB,EAAItB,iBAEpD,EAEAsD,iBAAkB,WACd,IAAI/M,EAAQxb,KACRwmB,EAAOL,EAAOK,KACdD,EAAM/K,EAAM6K,WAEhB,GAAK7K,EAAMpb,QAAX,CAIA,IAAIsoB,EAASlN,EAAMpb,QAAQuoB,aACvBvnB,EAAWoa,EAAMpb,QAAQ3f,MACzB2hC,EAAWmE,EAAItyB,OAEnBy0B,EAASlC,EAAKtE,sBAAsBwG,EAAQtnB,EAAUghB,EAAUmE,EAAIhL,UAAWgL,EAAIxE,YAI/EvG,EAAMiJ,UACNr6B,OAAO3M,YAAW,WACd+9B,EAAMpb,QAAQ3f,MAAQ2hC,EACtBoE,EAAKxC,aAAaxI,EAAMpb,QAASsoB,EAAQnC,EAAI37B,UAAU,GACvD4wB,EAAMoN,oBACV,GAAG,IAKPpN,EAAMpb,QAAQ3f,MAAQ2hC,EAClBmE,EAAId,kBAAiBjK,EAAMgM,kBAAkB/mC,MAAQ+6B,EAAMO,eAE/DyK,EAAKxC,aAAaxI,EAAMpb,QAASsoB,EAAQnC,EAAI37B,UAAU,GACvD4wB,EAAMoN,qBAxBN,CAyBJ,EAEAA,mBAAoB,WAChB,IAAIpN,EAAQxb,KACRumB,EAAM/K,EAAM6K,WAEhBE,EAAIL,eAAe7lC,KAAKm7B,EAAO,CAC3Bh5B,OAAQ,CACJnB,KAAMm6B,EAAMpb,QAAQ/e,KACpBZ,MAAO8lC,EAAItyB,OACXuK,SAAUgd,EAAMO,gBAG5B,EAEA8M,mBAAoB,SAAUzD,GAC1B,IAAI5J,EAAQxb,KAAYwb,EAAM6K,WAE1BjB,gBAAkBA,EACtB5J,EAAM0L,qBACN1L,EAAMrgB,UACV,EAEA2tB,YAAa,SAAUroC,GACnB,IAAI+6B,EAAQxb,KAAMumB,EAAM/K,EAAM6K,WAE9B5lC,OAAkBxD,IAAVwD,GAAiC,OAAVA,EAAiBA,EAAMS,WAAa,GAE/DqlC,EAAIf,UACJ/kC,EAAQA,EAAM0X,QAAQ,IAAKouB,EAAIzL,qBAGnCyL,EAAIyB,wBAAyB,EAE7BxM,EAAMpb,QAAQ3f,MAAQA,EACtB+6B,EAAM7kB,QAAQlW,EAClB,EAEAs7B,YAAa,WACT,IACIwK,EADQvmB,KACIqmB,WACZG,EAAOL,EAAOK,KACdhoB,EAHQwB,KAGSI,QAAQ3f,MAY7B,OAVI8lC,EAAIV,qBACJrnB,EAAWgoB,EAAKzD,uBAAuBvkB,EAAU+nB,EAAInL,OAAQmL,EAAIvD,aAAcuD,EAAItyB,OAAQsyB,EAAIhL,UAAWgL,EAAIxE,WAAYwE,EAAIrD,kBAAmBqD,EAAIjL,WAAYiL,EAAIlL,mBAIrK7c,EADA+nB,EAAIf,QACOe,EAAIkB,iBAAiB1L,YAAYvd,GAEjCgoB,EAAK/D,gBAAgBjkB,EAAU+nB,EAAIhL,UAAWgL,EAAIxE,WAIrE,EAEAhF,iBAAkB,WACd,IACIwJ,EADQvmB,KACIqmB,WAEhB,OAAOE,EAAI7J,KAAO6J,EAAIhB,cAAcxI,mBAAqB,EAC7D,EAEA2B,iBAAkB,WACd,IACI6H,EADQvmB,KACIqmB,WAEhB,OAAOE,EAAIxpC,KAAOwpC,EAAIjB,cAAc5G,mBAAqB,EAC7D,EAEA2E,kBAAmB,WACf,OAAOrjB,KAAKI,QAAQ3f,KACxB,EAEA4yB,QAAS,WACL,IAAImI,EAAQxb,KAEZwb,EAAMpb,QAAQmB,oBAAoB,QAASia,EAAMkL,kBACjDlL,EAAMpb,QAAQmB,oBAAoB,UAAWia,EAAMmL,mBACnDnL,EAAMpb,QAAQmB,oBAAoB,QAASia,EAAMoL,iBACjDpL,EAAMpb,QAAQmB,oBAAoB,MAAOia,EAAMqL,eAC/CrL,EAAMpb,QAAQmB,oBAAoB,OAAQia,EAAMuL,eACpD,EAEA7lC,SAAU,WACN,MAAO,iBACX,GAGJilC,EAAOtL,iBAAmBwB,EAC1B8J,EAAO7J,cAAgBgC,EACvB6H,EAAO5H,cAAgBqB,EACvBuG,EAAOtG,eAAiBQ,EACxB8F,EAAO7F,mBAAqBqB,EAC5BwE,EAAOK,KAAO5E,EACduE,EAAOG,kBAAoBzB,GAGC,kBAAnBlK,GAA+BA,EAAkBA,EAAiBvwB,QAAgB,OAAI+7B,EAK/F,QAFeA,qBCxgDkDvO,EAAOC,QAG/D,WAAe,aAEtB,SAAS90B,EAAQC,EAAQC,GACvB,IAAI7E,EAAOJ,OAAOI,KAAK4E,GACvB,GAAIhF,OAAO4E,sBAAuB,CAChC,IAAIM,EAAUlF,OAAO4E,sBAAsBI,GAC3CC,IAAmBC,EAAUA,EAAQC,QAAO,SAAUC,GACpD,OAAOpF,OAAOqF,yBAAyBL,EAAQI,GAAKE,UACtD,KAAKlF,EAAKoC,KAAK9C,MAAMU,EAAM8E,EAC7B,CACA,OAAO9E,CACT,CACA,SAAS2qC,EAAevmC,GACtB,IAAK,IAAI/C,EAAI,EAAGA,EAAItC,UAAUC,OAAQqC,IAAK,CACzC,IAAI6C,EAAS,MAAQnF,UAAUsC,GAAKtC,UAAUsC,GAAK,CAAC,EACpDA,EAAI,EAAIsD,EAAQ/E,OAAOsE,IAAS,GAAIkB,SAAQ,SAAUjF,GACpDkF,EAAgBjB,EAAQjE,EAAK+D,EAAO/D,GACtC,IAAKP,OAAO0F,0BAA4B1F,OAAO2F,iBAAiBnB,EAAQxE,OAAO0F,0BAA0BpB,IAAWS,EAAQ/E,OAAOsE,IAASkB,SAAQ,SAAUjF,GAC5JP,OAAO4F,eAAepB,EAAQjE,EAAKP,OAAOqF,yBAAyBf,EAAQ/D,GAC7E,GACF,CACA,OAAOiE,CACT,CACA,SAASwmC,EAAgBC,EAAUC,GACjC,KAAMD,aAAoBC,GACxB,MAAM,IAAIznC,UAAU,oCAExB,CACA,SAAS0nC,EAAkB3mC,EAAQqK,GACjC,IAAK,IAAIpN,EAAI,EAAGA,EAAIoN,EAAMzP,OAAQqC,IAAK,CACrC,IAAI2pC,EAAav8B,EAAMpN,GACvB2pC,EAAW9lC,WAAa8lC,EAAW9lC,aAAc,EACjD8lC,EAAW7kC,cAAe,EACtB,UAAW6kC,IAAYA,EAAW5kC,UAAW,GACjDxG,OAAO4F,eAAepB,EAAQ8B,EAAe8kC,EAAW7qC,KAAM6qC,EAChE,CACF,CACA,SAASC,EAAaH,EAAaI,EAAYC,GAM7C,OALID,GAAYH,EAAkBD,EAAYjoC,UAAWqoC,GACrDC,GAAaJ,EAAkBD,EAAaK,GAChDvrC,OAAO4F,eAAeslC,EAAa,YAAa,CAC9C1kC,UAAU,IAEL0kC,CACT,CACA,SAASzlC,EAAgB1F,EAAKQ,EAAKkC,GAYjC,OAXAlC,EAAM+F,EAAe/F,MACVR,EACTC,OAAO4F,eAAe7F,EAAKQ,EAAK,CAC9BkC,MAAOA,EACP6C,YAAY,EACZiB,cAAc,EACdC,UAAU,IAGZzG,EAAIQ,GAAOkC,EAEN1C,CACT,CACA,SAASkvB,IAYP,OAXAA,EAAWjvB,OAAOiU,OAASjU,OAAOiU,OAAO8V,OAAS,SAAUvlB,GAC1D,IAAK,IAAI/C,EAAI,EAAGA,EAAItC,UAAUC,OAAQqC,IAAK,CACzC,IAAI6C,EAASnF,UAAUsC,GACvB,IAAK,IAAIlB,KAAO+D,EACVtE,OAAOiD,UAAU+c,eAAe3d,KAAKiC,EAAQ/D,KAC/CiE,EAAOjE,GAAO+D,EAAO/D,GAG3B,CACA,OAAOiE,CACT,EACOyqB,EAASvvB,MAAMsiB,KAAM7iB,UAC9B,CACA,SAASkH,EAAaP,EAAOC,GAC3B,GAAqB,kBAAVD,GAAgC,OAAVA,EAAgB,OAAOA,EACxD,IAAIE,EAAOF,EAAMlE,OAAOqE,aACxB,QAAahH,IAAT+G,EAAoB,CACtB,IAAIE,EAAMF,EAAK3D,KAAKyD,EAAOC,GAAQ,WACnC,GAAmB,kBAARG,EAAkB,OAAOA,EACpC,MAAM,IAAIzC,UAAU,+CACtB,CACA,OAAiB,WAATsC,EAAoBI,OAASC,QAAQN,EAC/C,CACA,SAASQ,EAAeT,GACtB,IAAItF,EAAM8F,EAAaR,EAAK,UAC5B,MAAsB,kBAARtF,EAAmBA,EAAM4F,OAAO5F,EAChD,CAEA,IAAIirC,EAAe,CAAC3R,QAAS,CAAC,IAe9B,SAAWD,GACW,qBAAXxtB,QAGT,SAAWA,GAET,IAAIq/B,EAAkBr/B,EAAOs/B,mBAAqBt/B,EAAOs/B,kBAAkBzoC,UACvE0oC,EAAqBv/B,EAAOw/B,MAAQ,WACtC,IACE,OAAOr5B,QAAQ,IAAIq5B,KACrB,CAAE,MAAOlqB,GACP,OAAO,CACT,CACF,CANwC,GAOpCmqB,EAA4BF,GAAsBv/B,EAAO0/B,YAAc,WACzE,IACE,OAAgD,MAAzC,IAAIF,KAAK,CAAC,IAAIE,WAAW,OAAOC,IACzC,CAAE,MAAOrqB,GACP,OAAO,CACT,CACF,CAN2E,GAOvEsqB,EAAc5/B,EAAO4/B,aAAe5/B,EAAO6/B,mBAAqB7/B,EAAO8/B,gBAAkB9/B,EAAO+/B,cAChGC,EAAiB,0CACjBC,GAAiBV,GAAsBK,IAAgB5/B,EAAOkgC,MAAQlgC,EAAOmgC,aAAengC,EAAO0/B,YAAc,SAAUU,GAC7H,IAAI52B,EAAS62B,EAAWC,EAAUC,EAAYC,EAAYC,EAAaC,EAAUrrC,EAAGsrC,EAGpF,KADAn3B,EAAU42B,EAAQ3vB,MAAMuvB,IAEtB,MAAM,IAAIt5B,MAAM,oBAgBlB,IAbA25B,EAAY72B,EAAQ,GAAKA,EAAQ,GAAK,cAAgBA,EAAQ,IAAM,qBACpE82B,IAAa92B,EAAQ,GACrB+2B,EAAaH,EAAQrpC,MAAMyS,EAAQ,GAAGxW,QAGpCwtC,EAFEF,EAEWJ,KAAKK,GAGLK,mBAAmBL,GAGlCE,EAAc,IAAIN,YAAYK,EAAWxtC,QACzC0tC,EAAW,IAAIhB,WAAWe,GACrBprC,EAAI,EAAGA,EAAImrC,EAAWxtC,OAAQqC,GAAK,EACtCqrC,EAASrrC,GAAKmrC,EAAWK,WAAWxrC,GAGtC,OAAIkqC,EACK,IAAIC,KAAK,CAACC,EAA4BiB,EAAWD,GAAc,CACpEx9B,KAAMo9B,MAGVM,EAAK,IAAIf,GACNhoB,OAAO6oB,GACHE,EAAGG,QAAQT,GACpB,EACIrgC,EAAOs/B,oBAAsBD,EAAgB0B,SAC3C1B,EAAgB2B,aAClB3B,EAAgB0B,OAAS,SAAUhhC,EAAUkD,EAAMg+B,GACjD,IAAIzQ,EAAO5a,KACXviB,YAAW,WACL4tC,GAAW5B,EAAgB6B,WAAajB,EAC1ClgC,EAASkgC,EAAczP,EAAK0Q,UAAUj+B,EAAMg+B,KAE5ClhC,EAASywB,EAAKwQ,aAAa,OAAQ/9B,GAEvC,GACF,EACSo8B,EAAgB6B,WAAajB,IAClCZ,EAAgB8B,SAClB9B,EAAgB0B,OAAS,SAAUhhC,EAAUkD,EAAMg+B,GACjD,IAAIzQ,EAAO5a,KACXviB,YAAW,YACJ4P,GAAiB,cAATA,GAAwBg+B,IAAY5B,EAAgB6B,WAAajB,EAC5ElgC,EAASkgC,EAAczP,EAAK0Q,UAAUj+B,EAAMg+B,KAE5ClhC,EAASywB,EAAK2Q,SAASl+B,GAE3B,GACF,EAEAo8B,EAAgB0B,OAAS,SAAUhhC,EAAUkD,EAAMg+B,GACjD,IAAIzQ,EAAO5a,KACXviB,YAAW,WACT0M,EAASkgC,EAAczP,EAAK0Q,UAAUj+B,EAAMg+B,IAC9C,GACF,IAIFzT,EAAOC,QACTD,EAAOC,QAAUwS,EAEjBjgC,EAAOigC,cAAgBA,CAE1B,CA5FD,CA4FGjgC,OACJ,CAjGD,CAiGGo/B,GACH,IAAI2B,EAAS3B,EAAa3R,QAEtB2T,EAAS,SAAgB/qC,GAC3B,MAAoB,qBAATmpC,OAGJnpC,aAAiBmpC,MAAkD,kBAA1C5rC,OAAOiD,UAAUC,SAASb,KAAKI,GACjE,EAEIgrC,EAAW,CAMbC,QAAQ,EAMRC,kBAAkB,EAKlBC,YAAY,EAKZ7e,SAAU8e,IAKVC,UAAWD,IAKXE,SAAU,EAKVC,UAAW,EAMXlf,WAAO7vB,EAMPyvB,YAAQzvB,EAMRgvC,OAAQ,OAQRZ,QAAS,GAMTa,SAAU,OAMVC,aAAc,CAAC,aAMfC,YAAa,IAWbC,WAAY,KAWZC,KAAM,KAUNC,QAAS,KAUTrhC,MAAO,MAILshC,EAD+B,qBAAXpiC,QAAqD,qBAApBA,OAAOQ,SACtCR,OAAS,CAAC,EAOhCqiC,EAAmB,SAA0BhsC,GAC/C,OAAOA,EAAQ,GAAKA,EAAQorC,GAC9B,EACI1qC,EAAQ7D,MAAM2D,UAAUE,MAO5B,SAASurC,EAAQjsC,GACf,OAAOnD,MAAMgE,KAAOhE,MAAMgE,KAAKb,GAASU,EAAMd,KAAKI,EACrD,CACA,IAAIksC,EAAoB,cAOxB,SAASC,EAAYnsC,GACnB,OAAOksC,EAAkBprC,KAAKd,EAChC,CAOA,SAASosC,EAAqBpsC,GAC5B,IAAIqsC,EAAYF,EAAYnsC,GAASA,EAAMssC,OAAO,GAAK,GAIvD,MAHkB,SAAdD,IACFA,EAAY,OAEP,IAAI/mC,OAAO+mC,EACpB,CACA,IAAIE,EAAe7oC,OAAO6oC,aAS1B,SAASC,EAAsBC,EAAU3W,EAAOn5B,GAC9C,IACIqC,EADAojC,EAAM,GAGV,IADAzlC,GAAUm5B,EACL92B,EAAI82B,EAAO92B,EAAIrC,EAAQqC,GAAK,EAC/BojC,GAAOmK,EAAaE,EAASC,SAAS1tC,IAExC,OAAOojC,CACT,CACA,IAAIuK,EAAOZ,EAAOY,KAQlB,SAASC,EAAqBxC,EAAaqB,GAIzC,IAHA,IAAItkC,EAAS,GACTD,EAAY,KACZ2lC,EAAQ,IAAIxD,WAAWe,GACpByC,EAAMlwC,OAAS,GAGpBwK,EAAOpH,KAAKwsC,EAAatvC,MAAM,KAAMgvC,EAAQY,EAAMC,SAAS,EAAG5lC,MAC/D2lC,EAAQA,EAAMC,SAAS5lC,GAEzB,MAAO,QAAQ5B,OAAOmmC,EAAU,YAAYnmC,OAAOqnC,EAAKxlC,EAAOsQ,KAAK,KACtE,CAOA,SAASs1B,EAAuB3C,GAC9B,IACI4C,EADAP,EAAW,IAAIQ,SAAS7C,GAI5B,IACE,IAAI8C,EACAC,EACAC,EAGJ,GAA6B,MAAzBX,EAASC,SAAS,IAAwC,MAAzBD,EAASC,SAAS,GAGrD,IAFA,IAAI/vC,EAAS8vC,EAASY,WAClBC,EAAS,EACNA,EAAS,EAAI3wC,GAAQ,CAC1B,GAAkC,MAA9B8vC,EAASC,SAASY,IAAsD,MAAlCb,EAASC,SAASY,EAAS,GAAa,CAChFH,EAAYG,EACZ,KACF,CACAA,GAAU,CACZ,CAEF,GAAIH,EAAW,CACb,IACII,EAAaJ,EAAY,GAC7B,GAAuD,SAAnDX,EAAsBC,EAFTU,EAAY,EAEmB,GAAe,CAC7D,IAAIK,EAAaf,EAASgB,UAAUF,GAEpC,KADAL,EAA8B,QAAfM,IACoB,QAAfA,IACuC,KAArDf,EAASgB,UAAUF,EAAa,EAAGL,GAA0B,CAC/D,IAAIQ,EAAiBjB,EAASkB,UAAUJ,EAAa,EAAGL,GACpDQ,GAAkB,IACpBN,EAAWG,EAAaG,EAE5B,CAEJ,CACF,CACA,GAAIN,EAAU,CACZ,IACIQ,EACA5uC,EAFA6uC,EAAUpB,EAASgB,UAAUL,EAAUF,GAG3C,IAAKluC,EAAI,EAAGA,EAAI6uC,EAAS7uC,GAAK,EAE5B,GADA4uC,EAAUR,EAAe,GAAJpuC,EAAS,EACoB,MAA9CytC,EAASgB,UAAUG,EAASV,GAA4C,CAE1EU,GAAW,EAGXZ,EAAcP,EAASgB,UAAUG,EAASV,GAG1CT,EAASqB,UAAUF,EAAS,EAAGV,GAC/B,KACF,CAEJ,CACF,CAAE,MAAOjuB,GACP+tB,EAAc,CAChB,CACA,OAAOA,CACT,CAOA,SAASe,EAAiBf,GACxB,IAAIgB,EAAS,EACTC,EAAS,EACTC,EAAS,EACb,OAAQlB,GAEN,KAAK,EACHiB,GAAU,EACV,MAGF,KAAK,EACHD,GAAU,IACV,MAGF,KAAK,EACHE,GAAU,EACV,MAGF,KAAK,EACHF,EAAS,GACTE,GAAU,EACV,MAGF,KAAK,EACHF,EAAS,GACT,MAGF,KAAK,EACHA,EAAS,GACTC,GAAU,EACV,MAGF,KAAK,EACHD,GAAU,GAGd,MAAO,CACLA,OAAQA,EACRC,OAAQA,EACRC,OAAQA,EAEZ,CACA,IAAIC,EAAkB,uBAStB,SAASC,EAAuBpuC,GAC9B,IAAIquC,EAAQ3xC,UAAUC,OAAS,QAAsBH,IAAjBE,UAAU,GAAmBA,UAAU,GAAK,KAChF,OAAOyxC,EAAgBrtC,KAAKd,GAASk0B,KAAKoa,MAAMtuC,EAAQquC,GAASA,EAAQruC,CAC3E,CAQA,SAASuuC,EAAiBtwC,GACxB,IAAIuwC,EAAcvwC,EAAKuwC,YACrBviB,EAAShuB,EAAKguB,OACdI,EAAQpuB,EAAKouB,MACXzf,EAAOlQ,UAAUC,OAAS,QAAsBH,IAAjBE,UAAU,GAAmBA,UAAU,GAAK,OAC3E+xC,EAAezC,EAAiB3f,GAChCqiB,EAAgB1C,EAAiB/f,GACrC,GAAIwiB,GAAgBC,EAAe,CACjC,IAAIC,EAAgB1iB,EAASuiB,GACf,YAAT5hC,GAA+B,SAATA,IAAoB+hC,EAAgBtiB,GAAkB,UAATzf,GAAoB+hC,EAAgBtiB,EAC1GJ,EAASI,EAAQmiB,EAEjBniB,EAAQJ,EAASuiB,CAErB,MAAWC,EACTxiB,EAASI,EAAQmiB,EACRE,IACTriB,EAAQJ,EAASuiB,GAEnB,MAAO,CACLniB,MAAOA,EACPJ,OAAQA,EAEZ,CAOA,SAAS2iB,EAAQxE,GAKf,IAJA,IAAIyE,EAAQ5C,EAAQ,IAAI5C,WAAWe,IAC/BztC,EAASkyC,EAAMlyC,OACfmyC,EAAW,GACXhZ,EAAQ,EACLA,EAAQ,EAAIn5B,GAAQ,CACzB,IAAIqD,EAAQ6uC,EAAM/Y,GACdj2B,EAAOgvC,EAAM/Y,EAAQ,GAGzB,GAAc,MAAV91B,GAA2B,MAATH,EACpB,MAIF,GAAc,MAAVG,GAA2B,MAATH,EACpBi2B,GAAS,MACJ,CACL,IACIiZ,EAAMjZ,GADsB,IAAnB+Y,EAAM/Y,EAAQ,GAAW+Y,EAAM/Y,EAAQ,IACzB,EACvBzZ,EAAUwyB,EAAMnuC,MAAMo1B,EAAOiZ,GACjCD,EAAS/uC,KAAKsc,GACdyZ,EAAQiZ,CACV,CACF,CACA,OAAOD,EAAS/nC,QAAO,SAAUioC,EAAW5xC,GAC1C,OAAmB,MAAfA,EAAQ,IAA8B,MAAfA,EAAQ,GAC1B4xC,EAAU1pC,OAAOlI,GAEnB4xC,CACT,GAAG,GACL,CAQA,SAASC,EAAW7E,EAAa4E,GAC/B,IAAIH,EAAQ5C,EAAQ,IAAI5C,WAAWe,IACnC,GAAiB,MAAbyE,EAAM,IAA4B,MAAbA,EAAM,GAC7B,OAAOzE,EAET,IAAI8E,EAAwB,IAAXL,EAAM,GAAWA,EAAM,GACpCM,EAAiB,CAAC,IAAM,KAAM7pC,OAAO0pC,EAAWH,EAAMnuC,MAAM,EAAIwuC,IACpE,OAAO,IAAI7F,WAAW8F,EACxB,CAEA,IAAIC,EAAgBrD,EAAOjC,YACzBuF,EAAatD,EAAOsD,WAClBC,EAAMvD,EAAOuD,KAAOvD,EAAOwD,UAC3BC,EAAmB,SACnBC,EAAoB1D,EAAO2D,WAmZ/B,OA7Y8B,WAM5B,SAASA,EAAW9Z,EAAMjtB,GACxB4/B,EAAgBhpB,KAAMmwB,GACtBnwB,KAAKqW,KAAOA,EACZrW,KAAKowB,KAAO,GACZpwB,KAAKqwB,MAAQ,IAAIC,MACjBtwB,KAAK5W,QAAU2/B,EAAeA,EAAe,CAAC,EAAG0C,GAAWriC,GAC5D4W,KAAKuwB,SAAU,EACfvwB,KAAK/L,OAAS,KACd+L,KAAKha,MACP,CA2XA,OA1XAqjC,EAAa8G,EAAY,CAAC,CACxB5xC,IAAK,OACLkC,MAAO,WACL,IAAI+vC,EAAQxwB,KACRqW,EAAOrW,KAAKqW,KACdjtB,EAAU4W,KAAK5W,QACjB,GAAKoiC,EAAOnV,GAAZ,CAIA,IAAI6V,EAAW7V,EAAKhpB,KACpB,GAAKu/B,EAAYV,GAIjB,GAAK6D,GAAQD,EAAb,CAIKD,IACHzmC,EAAQuiC,kBAAmB,EAC3BviC,EAAQwiC,YAAa,GAEvB,IAAI6E,EAA2B,eAAbvE,EACdP,EAAmB8E,GAAernC,EAAQuiC,iBAC1CC,EAAa6E,GAAernC,EAAQwiC,WACxC,IAAImE,GAAQpE,GAAqBC,EAI1B,CACL,IAAI8E,EAAS,IAAIZ,EACjB9vB,KAAK0wB,OAASA,EACdA,EAAOC,OAAS,SAAUjyC,GACxB,IACIuV,EADSvV,EAAK8D,OACEyR,OAChBgT,EAAO,CAAC,EACRwmB,EAAc,EACd9B,IAGF8B,EAAcD,EAAuBv5B,IACnB,GAChBgZ,EAAShG,EAAMunB,EAAiBf,IAGhC7B,IACF4E,EAAMJ,KAAOf,EAAQp7B,IAOnBgT,EAAKmQ,IALLuU,GAAoBC,GACjBmE,GAGFtC,EAAc,EACJJ,EAAqBp5B,EAAQi4B,GAE7B6D,EAAIa,gBAAgBva,GAGtBpiB,EAEbu8B,EAAMK,KAAK5pB,EACb,EACAypB,EAAOI,QAAU,WACfN,EAAMO,KAAK,IAAIjgC,MAAM,8CACvB,EACA4/B,EAAO1lC,QAAU,WACfwlC,EAAMO,KAAK,IAAIjgC,MAAM,6CACvB,EACA4/B,EAAOM,UAAY,WACjBR,EAAME,OAAS,IACjB,EACI/E,GAAoBC,EACtB8E,EAAOO,kBAAkB5a,GAEzBqa,EAAOQ,cAAc7a,EAEzB,MAlDErW,KAAK6wB,KAAK,CACRzZ,IAAK2Y,EAAIa,gBAAgBva,IAV7B,MAFErW,KAAK+wB,KAAK,IAAIjgC,MAAM,iEAJpBkP,KAAK+wB,KAAK,IAAIjgC,MAAM,4DAHtB,MAFEkP,KAAK+wB,KAAK,IAAIjgC,MAAM,qDAuExB,GACC,CACDvS,IAAK,OACLkC,MAAO,SAAcwmB,GACnB,IAAIkqB,EAASnxB,KACTqW,EAAOrW,KAAKqW,KACdga,EAAQrwB,KAAKqwB,MACfA,EAAMM,OAAS,WACbQ,EAAOC,KAAKrI,EAAeA,EAAe,CAAC,EAAG9hB,GAAO,CAAC,EAAG,CACvDoqB,aAAchB,EAAMgB,aACpBC,cAAejB,EAAMiB,gBAEzB,EACAjB,EAAMS,QAAU,WACdK,EAAOJ,KAAK,IAAIjgC,MAAM,8BACxB,EACAu/B,EAAMrlC,QAAU,WACdmmC,EAAOJ,KAAK,IAAIjgC,MAAM,6BACxB,EAII07B,EAAO36B,WAAa,sCAAsCtQ,KAAKirC,EAAO36B,UAAU+I,aAElFy1B,EAAMkB,YAAc,aAEtBlB,EAAMmB,IAAMnb,EAAKh1B,KACjBgvC,EAAMtlC,IAAMkc,EAAKmQ,GACnB,GACC,CACD74B,IAAK,OACLkC,MAAO,SAAcqE,GACnB,IAAI2sC,EAASzxB,KACTqxB,EAAevsC,EAAMusC,aACvBC,EAAgBxsC,EAAMwsC,cACtBI,EAAe5sC,EAAM2pC,OACrBA,OAA0B,IAAjBiD,EAA0B,EAAIA,EACvCC,EAAe7sC,EAAM4pC,OACrBA,OAA0B,IAAjBiD,EAA0B,EAAIA,EACvCC,EAAe9sC,EAAM6pC,OACrBA,OAA0B,IAAjBiD,EAA0B,EAAIA,EACrCvb,EAAOrW,KAAKqW,KACdga,EAAQrwB,KAAKqwB,MACbjnC,EAAU4W,KAAK5W,QACbyoC,EAASjnC,SAASC,cAAc,UAChCrB,EAAUqoC,EAAOC,WAAW,MAC5BC,EAAqBpd,KAAK+N,IAAI+L,GAAU,MAAQ,GAChDuD,GAAgC,YAAnB5oC,EAAQ6iC,QAA2C,UAAnB7iC,EAAQ6iC,SAAuBQ,EAAiBrjC,EAAQ0jB,QAAU2f,EAAiBrjC,EAAQsjB,QACxIK,EAAW4H,KAAKC,IAAIxrB,EAAQ2jB,SAAU,IAAM8e,IAC5CC,EAAYnX,KAAKC,IAAIxrB,EAAQ0iC,UAAW,IAAMD,IAC9CE,EAAWpX,KAAKC,IAAIxrB,EAAQ2iC,SAAU,IAAM,EAC5CC,EAAYrX,KAAKC,IAAIxrB,EAAQ4iC,UAAW,IAAM,EAC9CiD,EAAcoC,EAAeC,EAC7BxkB,EAAQ1jB,EAAQ0jB,MAClBJ,EAAStjB,EAAQsjB,OACnB,GAAIqlB,EAAoB,CACtB,IAAIrqC,EAAQ,CAACokC,EAAW/e,GACxBA,EAAWrlB,EAAM,GACjBokC,EAAYpkC,EAAM,GAClB,IAAII,EAAQ,CAACkkC,EAAWD,GACxBA,EAAWjkC,EAAM,GACjBkkC,EAAYlkC,EAAM,GAClB,IAAIE,EAAQ,CAAC0kB,EAAQI,GACrBA,EAAQ9kB,EAAM,GACd0kB,EAAS1kB,EAAM,EACjB,CACIgqC,IACF/C,EAAcniB,EAAQJ,GAExB,IAAIulB,EAAoBjD,EAAiB,CACvCC,YAAaA,EACbniB,MAAOC,EACPL,OAAQof,GACP,WACH/e,EAAWklB,EAAkBnlB,MAC7Bgf,EAAYmG,EAAkBvlB,OAC9B,IAAIwlB,EAAqBlD,EAAiB,CACxCC,YAAaA,EACbniB,MAAOif,EACPrf,OAAQsf,GACP,SAGH,GAFAD,EAAWmG,EAAmBplB,MAC9Bkf,EAAYkG,EAAmBxlB,OAC3BslB,EAAW,CACb,IAAIG,EAAqBnD,EAAiB,CACxCC,YAAaA,EACbniB,MAAOA,EACPJ,OAAQA,GACPtjB,EAAQ6iC,QACXnf,EAAQqlB,EAAmBrlB,MAC3BJ,EAASylB,EAAmBzlB,MAC9B,KAAO,CACL,IAAI0lB,EAAqBpD,EAAiB,CACxCC,YAAaA,EACbniB,MAAOA,EACPJ,OAAQA,IAEN2lB,EAAwBD,EAAmBtlB,MAC/CA,OAAkC,IAA1BulB,EAAmChB,EAAegB,EAC1D,IAAIC,EAAwBF,EAAmB1lB,OAC/CA,OAAmC,IAA1B4lB,EAAmChB,EAAgBgB,CAC9D,CAGA,IAAIC,IAFJzlB,EAAQ6H,KAAKwD,MAAM0W,EAAuBla,KAAKuD,IAAIvD,KAAKC,IAAI9H,EAAOif,GAAWhf,MAEzD,EACjBylB,IAFJ9lB,EAASiI,KAAKwD,MAAM0W,EAAuBla,KAAKuD,IAAIvD,KAAKC,IAAIlI,EAAQsf,GAAYF,MAE3D,EAClB2G,EAAY3lB,EACZ4lB,EAAahmB,EACbhoB,EAAS,GACb,GAAIstC,EAAW,CACb,IAAIW,EAAO,EACPC,EAAO,EACPC,EAAWxB,EACXyB,EAAYxB,EACZyB,EAAqB/D,EAAiB,CACxCC,YAAaA,EACbniB,MAAOukB,EACP3kB,OAAQ4kB,GACP,CACD0B,QAAS,QACTC,MAAO,WACP7pC,EAAQ6iC,SACV4G,EAAWE,EAAmBjmB,MAC9BgmB,EAAYC,EAAmBrmB,OAC/BimB,GAAQtB,EAAewB,GAAY,EACnCD,GAAQtB,EAAgBwB,GAAa,EACrCpuC,EAAOlE,KAAKmyC,EAAMC,EAAMC,EAAUC,EACpC,CAEA,GADApuC,EAAOlE,KAAK+xC,EAAOC,EAAOC,EAAWC,GACjCX,EAAoB,CACtB,IAAI1lC,EAAQ,CAACqgB,EAAQI,GACrBA,EAAQzgB,EAAM,GACdqgB,EAASrgB,EAAM,EACjB,CACAwlC,EAAO/kB,MAAQA,EACf+kB,EAAOnlB,OAASA,EACXkgB,EAAYxjC,EAAQ8iC,YACvB9iC,EAAQ8iC,SAAW7V,EAAKhpB,MAE1B,IAAI6lC,EAAY,cAGZ7c,EAAK0T,KAAO3gC,EAAQgjC,aAAehjC,EAAQ+iC,aAAazpC,QAAQ0G,EAAQ8iC,WAAa,IACvF9iC,EAAQ8iC,SAAW,cAErB,IAAIuE,EAAmC,eAArBrnC,EAAQ8iC,SAW1B,GAVIuE,IACFyC,EAAY,QAId1pC,EAAQ0pC,UAAYA,EACpB1pC,EAAQ2pC,SAAS,EAAG,EAAGrmB,EAAOJ,GAC1BtjB,EAAQijC,YACVjjC,EAAQijC,WAAWhsC,KAAK2f,KAAMxW,EAASqoC,IAErC7xB,KAAKuwB,UAGT/mC,EAAQ4pC,OACR5pC,EAAQ6pC,UAAUvmB,EAAQ,EAAGJ,EAAS,GACtCljB,EAAQilC,OAAOA,EAAS9Z,KAAK2e,GAAK,KAClC9pC,EAAQ+pC,MAAM7E,EAAQC,GACtBnlC,EAAQgqC,UAAU91C,MAAM8L,EAAS,CAAC6mC,GAAOtqC,OAAOrB,IAChD8E,EAAQiqC,UACJrqC,EAAQkjC,MACVljC,EAAQkjC,KAAKjsC,KAAK2f,KAAMxW,EAASqoC,IAE/B7xB,KAAKuwB,SAAT,CAGA,IAAIpmC,GAAW,SAAkBupC,GAC/B,IAAKjC,EAAOlB,QAAS,CACnB,IAAIhwC,EAAO,SAAc0T,GACvB,OAAOw9B,EAAOlxC,KAAK,CACjB8wC,aAAcA,EACdC,cAAeA,EACfr9B,OAAQA,GAEZ,EACA,GAAIy/B,GAAQjD,GAAernC,EAAQwiC,YAAc6F,EAAOrB,MAAQqB,EAAOrB,KAAKhzC,OAAS,EAAG,CACtF,IAAIkD,EAAO,SAAcuqC,GACvB,OAAOtqC,EAAK4qC,EAAOkC,EAAqBqC,EAAW7E,EAAa4G,EAAOrB,MAAOhnC,EAAQ8iC,WACxF,EACA,GAAIwH,EAAK7I,YACP6I,EAAK7I,cAAcn6B,KAAKpQ,GAAMwU,OAAM,WAClC28B,EAAOV,KAAK,IAAIjgC,MAAM,gEACxB,QACK,CACL,IAAI4/B,EAAS,IAAIZ,EACjB2B,EAAOf,OAASA,EAChBA,EAAOC,OAAS,SAAUpkC,GACxB,IAAI/J,EAAS+J,EAAM/J,OACnBlC,EAAKkC,EAAOyR,OACd,EACAy8B,EAAOI,QAAU,WACfW,EAAOV,KAAK,IAAIjgC,MAAM,yDACxB,EACA4/B,EAAO1lC,QAAU,WACfymC,EAAOV,KAAK,IAAIjgC,MAAM,wDACxB,EACA4/B,EAAOM,UAAY,WACjBS,EAAOf,OAAS,IAClB,EACAA,EAAOO,kBAAkByC,EAC3B,CACF,MACEnzC,EAAKmzC,EAET,CACF,EACI7B,EAAO1G,OACT0G,EAAO1G,OAAOhhC,GAAUf,EAAQ8iC,SAAU9iC,EAAQiiC,SAElDlhC,GAASghC,EAAO0G,EAAOvG,UAAUliC,EAAQ8iC,SAAU9iC,EAAQiiC,UA5C7D,CA8CF,GACC,CACD9sC,IAAK,OACLkC,MAAO,SAAc6I,GACnB,IAAI+nC,EAAe/nC,EAAM+nC,aACvBC,EAAgBhoC,EAAMgoC,cACtBr9B,EAAS3K,EAAM2K,OACboiB,EAAOrW,KAAKqW,KACdga,EAAQrwB,KAAKqwB,MACbjnC,EAAU4W,KAAK5W,QAIjB,GAHI2mC,GAAsC,IAA/BM,EAAMtlC,IAAIrI,QAAQ,UAC3BqtC,EAAI4D,gBAAgBtD,EAAMtlC,KAExBkJ,EAEF,GAAI7K,EAAQsiC,SAAWtiC,EAAQwiC,YAAc33B,EAAO81B,KAAO1T,EAAK0T,MAAQ3gC,EAAQ8iC,WAAa7V,EAAKhpB,QAAUjE,EAAQ0jB,MAAQukB,GAAgBjoC,EAAQsjB,OAAS4kB,GAAiBloC,EAAQ2iC,SAAWsF,GAAgBjoC,EAAQ4iC,UAAYsF,GAAiBloC,EAAQ2jB,SAAWskB,GAAgBjoC,EAAQ0iC,UAAYwF,GAC3Sr9B,EAASoiB,MACJ,CACL,IAAIqG,EAAO,IAAIpX,KACfrR,EAAO2/B,aAAelX,EAAK/I,UAC3B1f,EAAO4/B,iBAAmBnX,EAC1BzoB,EAAO5S,KAAOg1B,EAAKh1B,KAGf4S,EAAO5S,MAAQ4S,EAAO5G,OAASgpB,EAAKhpB,OACtC4G,EAAO5S,KAAO4S,EAAO5S,KAAK8W,QAAQ83B,EAAkBpD,EAAqB54B,EAAO5G,OAEpF,MAGA4G,EAASoiB,EAEXrW,KAAK/L,OAASA,EACV7K,EAAQmjC,SACVnjC,EAAQmjC,QAAQlsC,KAAK2f,KAAM/L,EAE/B,GACC,CACD1V,IAAK,OACLkC,MAAO,SAAcC,GACnB,IAAI0I,EAAU4W,KAAK5W,QACnB,IAAIA,EAAQ8B,MAGV,MAAMxK,EAFN0I,EAAQ8B,MAAM7K,KAAK2f,KAAMtf,EAI7B,GACC,CACDnC,IAAK,QACLkC,MAAO,WACAuf,KAAKuwB,UACRvwB,KAAKuwB,SAAU,EACXvwB,KAAK0wB,OACP1wB,KAAK0wB,OAAOoD,QACF9zB,KAAKqwB,MAAM0D,SAIrB/zB,KAAK+wB,KAAK,IAAIjgC,MAAM,+CAHpBkP,KAAKqwB,MAAMM,OAAS,KACpB3wB,KAAKqwB,MAAMS,WAKjB,IAME,CAAC,CACHvyC,IAAK,aACLkC,MAAO,WAEL,OADA2J,OAAO+lC,WAAaD,EACbC,CACT,GAMC,CACD5xC,IAAK,cACLkC,MAAO,SAAqB2I,GAC1B6jB,EAASwe,EAAUriC,EACrB,KAEK+mC,CACT,CA3Y8B,EA+Y/B,CA3hCiF6D,qBCVfpc,EAAOC,QAGlE,WAAe,aAiBnB,IAAIoc,EAAW,WAQX,OAPAA,EAAWj2C,OAAOiU,QAAU,SAAkBsN,GAC1C,IAAK,IAAIC,EAAG/f,EAAI,EAAGuB,EAAI7D,UAAUC,OAAQqC,EAAIuB,EAAGvB,IAE5C,IAAK,IAAIogB,KADTL,EAAIriB,UAAUsC,GACOzB,OAAOiD,UAAU+c,eAAe3d,KAAKmf,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,IAE9E,OAAON,CACX,EACO00B,EAASv2C,MAAMsiB,KAAM7iB,UAChC,EAEI+2C,EAAa,SAAUC,EAAaC,EAAWC,GAAU,OAAOA,EAAOC,OAAOF,EAAY,YAAc,YAAYD,EAAc,EAEtI,SAASI,EAAUtf,GACf,KAAOA,EAAKzN,YACRyN,EAAKrS,YAAYqS,EAAKzN,WAC9B,CACA,SAASgtB,EAAevrC,GACpB,IACI,MAAkC,oBAAvBA,EAAMwrC,aACFxrC,EAAMwrC,eACL,GAETxrC,EAAMzG,MACjB,CACA,MAAO0I,GACH,OAAOjC,EAAMzG,MACjB,CACJ,CAEA,IAAIkyC,EAAgB,CAChBN,WAAW,EACXO,WAAY,MACZC,UAAW,MACXC,MAAO,SAEX,SAASC,EAAkBC,GACvB,IAAIC,EAASf,EAASA,EAAS,CAAC,EAAGS,GAAgBK,GACnD,OAAO,SAAUE,GACbA,EAAGD,OAAOL,WAAaK,EAAOL,WAC9BM,EAAGD,OAAOJ,UAAYI,EAAOJ,UAC7B,IAAIha,EAAO,CAAEsa,gBAAiB,MAC9B,SAASC,IACL,GAAKF,EAAGG,WAAR,CAEAb,EAAUU,EAAGG,YACb,IAAK,IAAIt2C,EAAQ,EAAGA,EAAQm2C,EAAGI,cAAcj4C,OAAQ0B,IAAS,CAC1D,IAAIshB,EAAU60B,EAAGI,cAAcv2C,GAC1BshB,EAAQuC,YAEbvC,EAAQuC,WAAWC,YAAYxC,EACnC,CAPU,CAQd,CACA,SAASk1B,IACAL,EAAGG,aAERxa,EAAKsa,gBAAkBD,EAAGM,eAAe,MAAO,gCAChD3a,EAAKsa,gBAAgBM,UAAY,EACjCC,IACAR,EAAGG,WAAWhqC,YAAYwvB,EAAKsa,iBAC/BD,EAAGS,kBAAkBpkB,UAAU/jB,IAAI,+BAAiCynC,EAAOH,OAC/E,CACA,SAASY,IACL,GAAK7a,EAAKsa,gBAAV,CAEAX,EAAU3Z,EAAKsa,iBAEf,IADA,IAAIS,EAAO/qC,SAASgrC,yBACXn2C,EAAI,EAAGA,EAAI,GAAIA,IAAK,CACzB,IAAI69B,EAAQ2X,EAAGY,UAAU,8BAA+B,IAAIvwB,KAAK2vB,EAAGa,YAAar2C,GAAI,EAAGA,GACpF69B,EAAMyY,QAAQC,cAAe,IAAI1wB,MAAO0wB,YACxC1Y,EAAMyY,QAAQE,iBAAkB,IAAI3wB,MAAO2wB,eAC3C3Y,EAAMhM,UAAU/jB,IAAI,SACxB+vB,EAAMvM,YAAcmjB,EAAWz0C,EAAGu1C,EAAOZ,UAAWa,EAAGiB,MACvD5Y,EAAMhc,iBAAiB,QAAS60B,GAChCR,EAAKvqC,YAAYkyB,EACrB,CACA1C,EAAKsa,gBAAgB9pC,YAAYuqC,GAC7BV,EAAGD,OAAOoB,SACVnB,EAAGa,cAAgBb,EAAGD,OAAOoB,QAAQH,cACrChB,EAAGoB,aAAa/kB,UAAU/jB,IAAI,sBAE9B0nC,EAAGoB,aAAa/kB,UAAUgB,OAAO,sBACjC2iB,EAAGD,OAAOsB,SACVrB,EAAGa,cAAgBb,EAAGD,OAAOsB,QAAQL,cACrChB,EAAGsB,aAAajlB,UAAU/jB,IAAI,sBAE9B0nC,EAAGsB,aAAajlB,UAAUgB,OAAO,qBAtB3B,CAuBd,CACA,SAASkkB,IACLvB,EAAGwB,MAAMxB,EAAGoB,aAAc,SAAS,SAAU32B,GACzCA,EAAEzF,iBACFyF,EAAE+Q,kBACFwkB,EAAGyB,WAAWzB,EAAGa,YAAc,GAC/Ba,IACAlB,GACJ,IACAR,EAAGwB,MAAMxB,EAAGsB,aAAc,SAAS,SAAU72B,GACzCA,EAAEzF,iBACFyF,EAAE+Q,kBACFwkB,EAAGyB,WAAWzB,EAAGa,YAAc,GAC/Ba,IACAlB,GACJ,IACAR,EAAGwB,MAAM7b,EAAKsa,gBAAiB,aAAa,SAAUx1B,GAC3B,UAAnBu1B,EAAGD,OAAO4B,MACV3B,EAAG4B,YAAYrC,EAAe90B,GAAI,8BAC1C,GACJ,CACA,SAASo3B,IACL,GAAK7B,EAAGG,YAEHH,EAAG8B,cAAc35C,OAAtB,CAGA,IADA,IAAI45C,EAAoB/B,EAAGG,WAAW1iB,iBAAiB,yCAC9C5zB,EAAQ,EAAGA,EAAQk4C,EAAkB55C,OAAQ0B,IAClDk4C,EAAkBl4C,GAAOwyB,UAAUgB,OAAO,YAE9C,IAAI2kB,EAAchC,EAAG8B,cAAc,GAAGf,WAClC1Y,EAAQ2X,EAAGG,WAAWh2B,cAAc,2CAA6C63B,EAAc,GAAK,KACpG3Z,GACAA,EAAMhM,UAAU/jB,IAAI,WARd,CAUd,CACA,SAASopC,IACL,IAAIO,EAAejC,EAAG8B,cAAc,GAChCG,KACAA,EAAe,IAAI5xB,KAAK4xB,IACXC,YAAYlC,EAAGa,aACxBb,EAAGD,OAAOoB,SAAWc,EAAejC,EAAGD,OAAOoB,UAC9Cc,EAAejC,EAAGD,OAAOoB,SAEzBnB,EAAGD,OAAOsB,SAAWY,EAAejC,EAAGD,OAAOsB,UAC9CY,EAAejC,EAAGD,OAAOsB,SAE7BrB,EAAGa,YAAcoB,EAAajB,eAElChB,EAAGmC,mBAAmB32C,MAAQ0D,OAAO8wC,EAAGa,aACpCb,EAAGG,YACUH,EAAGG,WAAW1iB,iBAAiB,gCACrClvB,SAAQ,SAAU85B,GACrBA,EAAMyY,QAAQoB,YAAYlC,EAAGa,aACxBb,EAAGD,OAAOoB,SAAW9Y,EAAMyY,QAAUd,EAAGD,OAAOoB,SAC/CnB,EAAGD,OAAOsB,SAAWhZ,EAAMyY,QAAUd,EAAGD,OAAOsB,QAChDhZ,EAAMhM,UAAU/jB,IAAI,sBAGpB+vB,EAAMhM,UAAUgB,OAAO,qBAE/B,IAEJwkB,GACJ,CACA,SAASX,EAAYz2B,GACjBA,EAAEzF,iBACFyF,EAAE+Q,kBACF,IAAI4mB,EAAc7C,EAAe90B,GACjC,GAAM23B,aAAuBC,UAEzBD,EAAY/lB,UAAUjY,SAAS,wBAE/Bg+B,EAAY/lB,UAAUjY,SAAS,gBAEnCk+B,EAASF,EAAYtB,SACjBd,EAAGD,OAAOwC,eAAe,CACzB,IAAIC,EAA4B,WAAnBxC,EAAGD,OAAO4B,KACnBvS,EAA2B,UAAnB4Q,EAAGD,OAAO4B,MAAgD,IAA5B3B,EAAG8B,cAAc35C,QACvDq6C,GAAUpT,IACV4Q,EAAGyC,OACX,CACJ,CACA,SAASH,EAAS7a,GACd,IAAIwa,EAAe,IAAI5xB,KAAK2vB,EAAGa,YAAapZ,EAAKsZ,WAAYtZ,EAAKib,WAC9DZ,EAAgB,GACpB,OAAQ9B,EAAGD,OAAO4B,MACd,IAAK,SACDG,EAAgB,CAACG,GACjB,MACJ,IAAK,WACDH,EAAcv2C,KAAK02C,GACnB,MACJ,IAAK,QAC+B,IAA5BjC,EAAG8B,cAAc35C,OACjB25C,EAAgB,CAACG,IAGjBH,EAAgB9B,EAAG8B,cAAchxC,OAAO,CAACmxC,KAC3B3yB,MAAK,SAAUvW,EAAGC,GAAK,OAAOD,EAAE2lB,UAAY1lB,EAAE0lB,SAAW,IAInFshB,EAAG2C,QAAQb,GAAe,GAC1BD,GACJ,CACA,IAAIe,EAAS,CACT,IAAK,EACL,GAAI,EACJ,GAAI,EACJ,IAAK,GAET,SAASt8B,EAAUyB,EAAGkG,EAAI40B,EAAKp4B,GAC3B,IAAIq4B,OAAmC96C,IAAtB46C,EAAOn4B,EAAEmoB,SAC1B,IAAKkQ,GAA4B,KAAdr4B,EAAEmoB,UAGhBoN,EAAGG,YAAexa,EAAKsa,gBAA5B,CAEA,IAAI8B,EAAoB/B,EAAGG,WAAWh2B,cAAc,yCAChDtgB,EAAQxB,MAAM2D,UAAUyB,QAAQrC,KAAKu6B,EAAKsa,gBAAgBnzB,SAAUnX,SAAS6O,eACjF,IAAe,IAAX3a,EAAc,CACd,IAAI0D,EAASw0C,GAAqBpc,EAAKsa,gBAAgB8C,kBACvDx1C,EAAO6P,QACPvT,EAAQ0D,EAAOy1C,EACnB,CACIF,EACAnd,EAAKsa,gBAAgBnzB,UAAU,GAAKjjB,EAAQ+4C,EAAOn4B,EAAEmoB,UAAY,IAAIx1B,QAElD,KAAdqN,EAAEmoB,SACPjN,EAAKsa,gBAAgB77B,SAASzO,SAAS6O,gBACvC89B,EAAS3sC,SAAS6O,cAAcs8B,QAb1B,CAed,CACA,SAASmC,IACL,IAAIC,EACoE,WAA9C,QAApBA,EAAKlD,EAAGD,cAA2B,IAAPmD,OAAgB,EAASA,EAAGvB,OAAiD,IAA5B3B,EAAG8B,cAAc35C,QAChG63C,EAAGhV,OAAM,GACRgV,EAAG8B,cAAc35C,QAClBq4C,GACR,CAEA,SAAS2C,IACLpD,EAAOqD,qBAAuBpD,EAAGqD,aAAatC,WAC9Cf,EAAGqD,aAAaf,SAASvC,EAAOqD,sBAChCpD,EAAGsD,aAAevD,EAAOqD,oBAC7B,CACA,SAASG,IACAxD,EAAOqD,uBAEZpD,EAAGqD,aAAaf,SAASvC,EAAOqD,sBAChCpD,EAAGsD,aAAevD,EAAOqD,4BAClBrD,EAAOqD,qBAClB,CACA,SAASI,IACL,GAA6B,OAAzB7d,EAAKsa,gBAEL,IADA,IAAIZ,EAAS1Z,EAAKsa,gBAAgBxiB,iBAAiB,gCAC1C5zB,EAAQ,EAAGA,EAAQw1C,EAAOl3C,OAAQ0B,IACvCw1C,EAAOx1C,GAAOyiB,oBAAoB,QAAS40B,EAGvD,CACA,MAAO,CACHuC,cAAe,WACXzD,EAAGD,OAAO2D,YAAa,CAC3B,EACAC,cAAe9B,EACfv7B,UAAWA,EACXs9B,QAAS,CACLT,EACAjD,EACAG,EACAkB,EACAM,EACA,WACI7B,EAAGD,OAAO8D,QAAQt4C,KAAK03C,GACvBjD,EAAG8D,cAAcv4C,KAAK,cAC1B,GAEJw4C,UAAW,CACPR,EACAC,EACA,WACIxD,EAAGD,OAAO8D,QAAU7D,EAAGD,OAAO8D,QAAQ31C,QAAO,SAAU81C,GAAQ,OAAOA,IAASf,CAAW,GAC9F,GAGZ,CACJ,CAEA,OAAOpD,CAEV,CA3SmFd,oBCDpF,IAAIkF,EAAW,EAAQ,OACnBC,EAAkB,WAatBvhB,EAAOC,QAAU,SAASr1B,EAAQ42C,GAChC,SAAS73C,EAAK63C,GACZ,IAAInlC,EAASilC,EAASE,EAAS52C,EAAQ22C,GAGvC,OAAOllC,GAAUA,EAAO7W,QAAU,CACpC,CAEA,OAAOg8C,EAAU73C,EAAK63C,EAAQ9zC,MAAM,KAAK,IAAM/D,CACjD,0BCOA,SAAS83C,EAAgBC,EAAMC,GAC7Bv5B,KAAKs5B,KAAOA,EAAOA,GAAQ,GAC3Bt5B,KAAKw5B,SAAWF,EAAK52C,QAAQ,KAC7Bsd,KAAKu5B,UAAYA,EACjBv5B,KAAKsI,MAAQgxB,EAAKh0C,MAAMi0C,EAC1B,CAEAF,EAAgBp4C,UAAU4Z,MAAQ,SAAS/W,GACzC,IAEI21C,EAEAC,EAJA9lC,GAAU,EACV0U,EAAQtI,KAAKsI,MAEbqxB,EAAarxB,EAAMlrB,OAGvB,GAAoB,iBAAT0G,GAAqBA,aAAiBK,OAC/C,GAAK6b,KAAKw5B,SAAWx5B,KAAKs5B,MAAQx1C,EAE3B,CAEL,IADA41C,GAAa51C,GAAS,IAAIwB,MAAM0a,KAAKu5B,WAChCE,EAAK,EAAG7lC,GAAW6lC,EAAKE,EAAYF,IACrB,MAAdnxB,EAAMmxB,KAGR7lC,EADS6lC,EAAKC,EAAUt8C,QACdkrB,EAAMmxB,KAAQC,EAAUD,IAOtC7lC,EAAUA,GAAW8lC,CACvB,MAfE9lC,GAAU,OAiBT,GAA2B,mBAAhB9P,EAAM81C,OAGpB,IAFAhmC,EAAU,GAEL6lC,EAAK31C,EAAM1G,OAAQq8C,KAClBz5B,KAAKnF,MAAM/W,EAAM21C,MACnB7lC,EAAQA,EAAQxW,QAAU0G,EAAM21C,SAIjC,GAAoB,iBAAT31C,EAGd,IAAK,IAAIvF,KAFTqV,EAAU,CAAC,EAEK9P,EACVkc,KAAKnF,MAAMtc,KACbqV,EAAQrV,GAAOuF,EAAMvF,IAK3B,OAAOqV,CACT,EAEAgkB,EAAOC,QAAU,SAASyhB,EAAM/3C,EAAMg4C,GACpC,IAAIM,EAAU,IAAIR,EAAgBC,EAAMC,GAAa,UACrD,MAAmB,oBAARh4C,EACFs4C,EAAQh/B,MAAMtZ,GAGhBs4C,CACT,aC9EAjiB,EAAOC,QAAU,WACf,IAAIiiB,EAAU,CAAC,EACXC,EAAOD,EAAQC,KAAO,CAAC,EAsH3B,OA1GAD,EAAQE,KAAO,SAAe/wC,EAAOgxC,EAAMC,EAAMC,EAAMC,EAAMC,EAAMC,GACjE,IAAIC,EAsEN,SAAuB76B,GACrB,IAAI86B,EAAMT,EAAKr6B,GAAKq6B,EAAKr6B,GAAK,GAC1B+6B,EAAM/6B,EAAEhd,QAAQ,KAChBrF,GAAiB,IAATo9C,EAAc,CAAC/6B,GAAK,CAACA,EAAEqa,UAAU,EAAG0gB,GAAM/6B,EAAEqa,UAAU0gB,EAAM,IAEpEr8C,EAAOJ,OAAOI,KAAK27C,GACnBt6C,EAAI,EACJygB,EAAI9hB,EAAKhB,OAEb,KAAQqC,EAAIygB,EAAGzgB,IAAK,CAClB,IAAIlB,EAAMH,EAAKqB,GAKf,GAJY,MAARlB,IACFi8C,EAAMA,EAAIz0C,OAAOg0C,EAAKx7C,KAGJ,IAAhBlB,EAAKD,QAAgBC,EAAK,KAAOkB,EAAK,CACxCi8C,EAAMA,EAAIz0C,OAAOg0C,EAAKx7C,IACtB,KACF,CACF,CAEA,OAAOi8C,CACT,CA5FeE,CAAazxC,GAEtBsxC,EAAOn9C,QA4Fb,SAAkBsiB,EAAGi7B,EAAKt9C,GACxB,IAAIoC,EAAI,EACJygB,EAAIy6B,EAAIv9C,OAEZ,KAAQqC,EAAIygB,GACLy6B,EAAIl7C,GADIA,IAEbk7C,EAAIl7C,GAAGwJ,MAAQyW,EACfi7B,EAAIl7C,GAAG/B,MAAMi9C,EAAIl7C,GAAIpC,EAEzB,CApGIu9C,CAAQ3xC,EAAOsxC,EAAQ,CAACN,EAAMC,EAAMC,EAAMC,EAAMC,EAAMC,GAE1D,EAWAR,EAAQlmB,GAAK,SAAa3qB,EAAOnM,GAC1Bi9C,EAAK9wC,KACR8wC,EAAK9wC,GAAS,IAGhB8wC,EAAK9wC,GAAOzI,KAAK1D,EACnB,EAWAg9C,EAAQe,KAAO,SAAe5xC,EAAOnM,GAKnCkjB,KAAK4T,GAAG3qB,GAJR,SAAS6xC,IACPh+C,EAAGY,MAAMsiB,KAAM7iB,WACf28C,EAAQiB,IAAI9xC,EAAO6xC,EACrB,GAEF,EAaAhB,EAAQiB,IAAM,SAAc9xC,EAAOnM,GACjC,IAAIk+C,EAAO,GAEX,GAAI/xC,GAASnM,EAKX,IAJA,IAAI69C,EAAM36B,KAAK+5B,KAAK9wC,GAChBxJ,EAAI,EACJygB,EAAIy6B,EAAMA,EAAIv9C,OAAS,EAEnBqC,EAAIygB,EAAGzgB,IACTk7C,EAAIl7C,KAAO3C,GACbk+C,EAAKx6C,KAAKm6C,EAAIl7C,IAKpBu7C,EAAK59C,OAAS4iB,KAAK+5B,KAAK9wC,GAAS+xC,SAAch7B,KAAK+5B,KAAK9wC,EAC3D,EAqCO6wC,CACT,2ECnIA,SAAS7sB,IAYP,OAXAA,EAAWjvB,OAAOiU,OAASjU,OAAOiU,OAAO8V,OAAS,SAAUvlB,GAC1D,IAAK,IAAI/C,EAAI,EAAGA,EAAItC,UAAUC,OAAQqC,IAAK,CACzC,IAAI6C,EAASnF,UAAUsC,GACvB,IAAK,IAAIlB,KAAO+D,EACVtE,OAAOiD,UAAU+c,eAAe3d,KAAKiC,EAAQ/D,KAC/CiE,EAAOjE,GAAO+D,EAAO/D,GAG3B,CACA,OAAOiE,CACT,EACOyqB,EAASvvB,MAAMsiB,KAAM7iB,UAC9B,CAEA,IAAI89C,EAA8B,OAAwB,cAAiB,SAAUC,EAASl4B,GAC5F,IAAIm4B,EAAM,IAASC,OAAOF,GAC1B,OAAoB,gBAAoB,MAAOjuB,EAAS,CACtDjK,IAAKA,EACL8J,MAAO,KACPJ,OAAQ,KACR2uB,QAAS,YACTC,KAAM,OACNC,MAAO,8BACNJ,GAAmB,gBAAoB,OAAQ,CAChDp4B,EAAG,mnBACHu4B,KAAM,iBAEV,KACAL,EAAeO,YAAc,0FC7B7B,SAASvuB,IAYP,OAXAA,EAAWjvB,OAAOiU,OAASjU,OAAOiU,OAAO8V,OAAS,SAAUvlB,GAC1D,IAAK,IAAI/C,EAAI,EAAGA,EAAItC,UAAUC,OAAQqC,IAAK,CACzC,IAAI6C,EAASnF,UAAUsC,GACvB,IAAK,IAAIlB,KAAO+D,EACVtE,OAAOiD,UAAU+c,eAAe3d,KAAKiC,EAAQ/D,KAC/CiE,EAAOjE,GAAO+D,EAAO/D,GAG3B,CACA,OAAOiE,CACT,EACOyqB,EAASvvB,MAAMsiB,KAAM7iB,UAC9B,CAEA,IAAIs+C,EAAuC,OAAwB,cAAiB,SAAUP,EAASl4B,GACrG,IAAIm4B,EAAM,IAASC,OAAOF,GAC1B,OAAoB,gBAAoB,MAAOjuB,EAAS,CACtDjK,IAAKA,EACL8J,MAAO,KACPJ,OAAQ,KACR2uB,QAAS,YACTC,KAAM,OACNC,MAAO,8BACNJ,GAAmB,gBAAoB,OAAQ,CAChDp4B,EAAG,+oBACHu4B,KAAM,iBACS,gBAAoB,OAAQ,CAC3Cv4B,EAAG,iaACHu4B,KAAM,iBACS,gBAAoB,OAAQ,CAC3Cv4B,EAAG,maACHu4B,KAAM,iBAEV,KACAG,EAAwBD,YAAc,mGCnCtC,SAASvuB,IAYP,OAXAA,EAAWjvB,OAAOiU,OAASjU,OAAOiU,OAAO8V,OAAS,SAAUvlB,GAC1D,IAAK,IAAI/C,EAAI,EAAGA,EAAItC,UAAUC,OAAQqC,IAAK,CACzC,IAAI6C,EAASnF,UAAUsC,GACvB,IAAK,IAAIlB,KAAO+D,EACVtE,OAAOiD,UAAU+c,eAAe3d,KAAKiC,EAAQ/D,KAC/CiE,EAAOjE,GAAO+D,EAAO/D,GAG3B,CACA,OAAOiE,CACT,EACOyqB,EAASvvB,MAAMsiB,KAAM7iB,UAC9B,CAEA,IAAIu+C,EAA8B,OAAwB,cAAiB,SAAUR,EAASl4B,GAC5F,IAAIm4B,EAAM,IAASC,OAAOF,GAC1B,OAAoB,gBAAoB,MAAOjuB,EAAS,CACtDjK,IAAKA,EACL8J,MAAO,KACPJ,OAAQ,KACR2uB,QAAS,YACTC,KAAM,OACNC,MAAO,8BACNJ,GAAmB,gBAAoB,OAAQ,CAChDQ,SAAU,UACVC,SAAU,UACV74B,EAAG,uuDACHu4B,KAAM,iBAEV,KACAI,EAAeF,YAAc,0FC/B7B,SAASvuB,IAYP,OAXAA,EAAWjvB,OAAOiU,OAASjU,OAAOiU,OAAO8V,OAAS,SAAUvlB,GAC1D,IAAK,IAAI/C,EAAI,EAAGA,EAAItC,UAAUC,OAAQqC,IAAK,CACzC,IAAI6C,EAASnF,UAAUsC,GACvB,IAAK,IAAIlB,KAAO+D,EACVtE,OAAOiD,UAAU+c,eAAe3d,KAAKiC,EAAQ/D,KAC/CiE,EAAOjE,GAAO+D,EAAO/D,GAG3B,CACA,OAAOiE,CACT,EACOyqB,EAASvvB,MAAMsiB,KAAM7iB,UAC9B,CAEA,IAAIgjB,EAA0B,OAAwB,cAAiB,SAAU+6B,EAASl4B,GACxF,IAAIm4B,EAAM,IAASC,OAAOF,GAC1B,OAAoB,gBAAoB,MAAOjuB,EAAS,CACtDjK,IAAKA,EACL8J,MAAO,KACPJ,OAAQ,KACR2uB,QAAS,YACTC,KAAM,OACNC,MAAO,8BACNJ,GAAmB,gBAAoB,OAAQ,CAChDQ,SAAU,UACVC,SAAU,UACV74B,EAAG,o4CACHu4B,KAAM,iBAEV,KACAn7B,EAAWq7B,YAAc,sFC/BzB,SAASvuB,IAYP,OAXAA,EAAWjvB,OAAOiU,OAASjU,OAAOiU,OAAO8V,OAAS,SAAUvlB,GAC1D,IAAK,IAAI/C,EAAI,EAAGA,EAAItC,UAAUC,OAAQqC,IAAK,CACzC,IAAI6C,EAASnF,UAAUsC,GACvB,IAAK,IAAIlB,KAAO+D,EACVtE,OAAOiD,UAAU+c,eAAe3d,KAAKiC,EAAQ/D,KAC/CiE,EAAOjE,GAAO+D,EAAO/D,GAG3B,CACA,OAAOiE,CACT,EACOyqB,EAASvvB,MAAMsiB,KAAM7iB,UAC9B,CAEA,IAAI0+C,EAA+B,OAAwB,cAAiB,SAAUX,EAASl4B,GAC7F,IAAIm4B,EAAM,IAASC,OAAOF,GAC1B,OAAoB,gBAAoB,MAAOjuB,EAAS,CACtDjK,IAAKA,EACL8J,MAAO,KACPJ,OAAQ,KACR2uB,QAAS,YACTC,KAAM,OACNC,MAAO,8BACNJ,GAAmB,gBAAoB,OAAQ,CAChDQ,SAAU,UACVC,SAAU,UACV74B,EAAG,w9DACHu4B,KAAM,iBAEV,KACAO,EAAgBL,YAAc,mCCnC9B5jB,EAAOC,QAAU,EAAjB,wBCAA,IAAIikB,EAAiB,EAAQ,OAE7BjkB,EAAQkkB,UAAY,SAAS3yC,GAC3B,IAAI4yC,EAAWnkB,EAAQmkB,SAAS5yC,GAChC,OAAO,IAAI0yC,EAAeE,EAAU,CAChCC,QAAS7yC,IAAYA,EAAQ6yC,SAAW7yC,EAAQ8yC,UAAYrQ,KAC5DsQ,MAAO/yC,GAAWA,EAAQ+yC,MAC1BC,aAAchzC,GAAWA,EAAQgzC,cAEvC,EAEAvkB,EAAQmkB,SAAW,SAAS5yC,GAC1B,GAAIA,aAAmB9L,MACrB,MAAO,GAAGyI,OAAOqD,GAGnB,IAAI07B,EAAO,CACToX,QAAS,GACTG,OAAQ,EACRC,WAAY,IACZC,WAAY1Q,IACZ2Q,WAAW,GAEb,IAAK,IAAIj+C,KAAO6K,EACd07B,EAAKvmC,GAAO6K,EAAQ7K,GAGtB,GAAIumC,EAAKwX,WAAaxX,EAAKyX,WACzB,MAAM,IAAIzrC,MAAM,yCAIlB,IADA,IAAIkrC,EAAW,GACNv8C,EAAI,EAAGA,EAAIqlC,EAAKoX,QAASz8C,IAChCu8C,EAASx7C,KAAKwf,KAAKy8B,cAAch9C,EAAGqlC,IAYtC,OATI17B,GAAWA,EAAQ6yC,UAAYD,EAAS5+C,QAC1C4+C,EAASx7C,KAAKwf,KAAKy8B,cAAch9C,EAAGqlC,IAItCkX,EAASz3B,MAAK,SAASvW,EAAEC,GACvB,OAAOD,EAAIC,CACb,IAEO+tC,CACT,EAEAnkB,EAAQ4kB,cAAgB,SAASC,EAAS5X,GACxC,IAAI6X,EAAU7X,EAAc,UACvBnQ,KAAKgoB,SAAW,EACjB,EAEAhnB,EAAUhB,KAAKoa,MAAM4N,EAAShoB,KAAKC,IAAIkQ,EAAKwX,WAAY,GAAK3nB,KAAKioB,IAAI9X,EAAKuX,OAAQK,IAGvF,OAFA/mB,EAAUhB,KAAKuD,IAAIvC,EAASmP,EAAKyX,WAGnC,EAEA1kB,EAAQglB,KAAO,SAAS9+C,EAAKqL,EAAS0zC,GAMpC,GALI1zC,aAAmB9L,QACrBw/C,EAAU1zC,EACVA,EAAU,OAGP0zC,EAEH,IAAK,IAAIv+C,KADTu+C,EAAU,GACM/+C,EACU,oBAAbA,EAAIQ,IACbu+C,EAAQt8C,KAAKjC,GAKnB,IAAK,IAAIkB,EAAI,EAAGA,EAAIq9C,EAAQ1/C,OAAQqC,IAAK,CACvC,IAAI+F,EAAWs3C,EAAQr9C,GACnBs9C,EAAWh/C,EAAIyH,GAEnBzH,EAAIyH,GAAU,SAAsBu3C,GAClC,IAAIC,EAAWnlB,EAAQkkB,UAAU3yC,GAC7B/L,EAAWC,MAAM2D,UAAUE,MAAMd,KAAKlD,UAAW,GACjDgN,EAAW9M,EAAK4/C,MAEpB5/C,EAAKmD,MAAK,SAASE,GACbs8C,EAAGE,MAAMx8C,KAGTA,IACFvD,UAAU,GAAK6/C,EAAGG,aAEpBhzC,EAASzM,MAAMsiB,KAAM7iB,WACvB,IAEA6/C,EAAGN,SAAQ,WACTK,EAASr/C,MAAMK,EAAKV,EACtB,GACF,EAAE0qB,KAAKhqB,EAAKg/C,GACZh/C,EAAIyH,GAAQ4D,QAAUA,CACxB,CACF,aCnGA,SAAS0yC,EAAeE,EAAU5yC,GAET,mBAAZA,IACTA,EAAU,CAAE6yC,QAAS7yC,IAGvB4W,KAAKo9B,kBAAoBrsC,KAAKssC,MAAMtsC,KAAKC,UAAUgrC,IACnDh8B,KAAKs9B,UAAYtB,EACjBh8B,KAAKu9B,SAAWn0C,GAAW,CAAC,EAC5B4W,KAAKw9B,cAAgBp0C,GAAWA,EAAQgzC,cAAgBvQ,IACxD7rB,KAAKoO,IAAM,KACXpO,KAAKy9B,QAAU,GACfz9B,KAAK09B,UAAY,EACjB19B,KAAK29B,kBAAoB,KACzB39B,KAAK49B,oBAAsB,KAC3B59B,KAAK69B,SAAW,KAChB79B,KAAK89B,gBAAkB,KACvB99B,KAAK+9B,OAAS,KAEV/9B,KAAKu9B,SAAStB,UAChBj8B,KAAKg+B,gBAAkBh+B,KAAKs9B,UAAUn8C,MAAM,GAEhD,CACAy2B,EAAOC,QAAUikB,EAEjBA,EAAe76C,UAAUg9C,MAAQ,WAC/Bj+B,KAAK09B,UAAY,EACjB19B,KAAKs9B,UAAYt9B,KAAKo9B,kBAAkBj8C,MAAM,EAChD,EAEA26C,EAAe76C,UAAUi9C,KAAO,WAC1Bl+B,KAAK69B,UACPrgD,aAAawiB,KAAK69B,UAEhB79B,KAAK+9B,QACPvgD,aAAawiB,KAAK+9B,QAGpB/9B,KAAKs9B,UAAkB,GACvBt9B,KAAKg+B,gBAAkB,IACzB,EAEAlC,EAAe76C,UAAUi8C,MAAQ,SAASx8C,GAKxC,GAJIsf,KAAK69B,UACPrgD,aAAawiB,KAAK69B,WAGfn9C,EACH,OAAO,EAET,IAAIy9C,GAAc,IAAI74B,MAAOqO,UAC7B,GAAIjzB,GAAOy9C,EAAcn+B,KAAK89B,iBAAmB99B,KAAKw9B,cAGpD,OAFAx9B,KAAKy9B,QAAQj9C,KAAKE,GAClBsf,KAAKy9B,QAAQ5gB,QAAQ,IAAI/rB,MAAM,qCACxB,EAGTkP,KAAKy9B,QAAQj9C,KAAKE,GAElB,IAAIi1B,EAAU3V,KAAKs9B,UAAU94B,QAC7B,QAAgBvnB,IAAZ04B,EAAuB,CACzB,IAAI3V,KAAKg+B,gBAKP,OAAO,EAHPh+B,KAAKy9B,QAAQ7D,OAAO,EAAG55B,KAAKy9B,QAAQrgD,OAAS,GAC7Cu4B,EAAU3V,KAAKg+B,gBAAgB78C,OAAO,EAI1C,CAEA,IAAIy5B,EAAO5a,KAqBX,OApBAA,KAAK+9B,OAAStgD,YAAW,WACvBm9B,EAAK8iB,YAED9iB,EAAKgjB,sBACPhjB,EAAKijB,SAAWpgD,YAAW,WACzBm9B,EAAKgjB,oBAAoBhjB,EAAK8iB,UAChC,GAAG9iB,EAAK+iB,mBAEJ/iB,EAAK2iB,SAASpB,OACdvhB,EAAKijB,SAAS1B,SAIpBvhB,EAAKxM,IAAIwM,EAAK8iB,UAChB,GAAG/nB,GAEC3V,KAAKu9B,SAASpB,OACdn8B,KAAK+9B,OAAO5B,SAGT,CACT,EAEAL,EAAe76C,UAAUy7C,QAAU,SAAS5/C,EAAIshD,GAC9Cp+B,KAAKoO,IAAMtxB,EAEPshD,IACEA,EAAWzoB,UACb3V,KAAK29B,kBAAoBS,EAAWzoB,SAElCyoB,EAAWC,KACbr+B,KAAK49B,oBAAsBQ,EAAWC,KAI1C,IAAIzjB,EAAO5a,KACPA,KAAK49B,sBACP59B,KAAK69B,SAAWpgD,YAAW,WACzBm9B,EAAKgjB,qBACP,GAAGhjB,EAAK+iB,oBAGV39B,KAAK89B,iBAAkB,IAAIx4B,MAAOqO,UAElC3T,KAAKoO,IAAIpO,KAAK09B,UAChB,EAEA5B,EAAe76C,UAAUq9C,IAAM,SAASxhD,GACtCmO,QAAQmtB,IAAI,4CACZpY,KAAK08B,QAAQ5/C,EACf,EAEAg/C,EAAe76C,UAAUs1B,MAAQ,SAASz5B,GACxCmO,QAAQmtB,IAAI,8CACZpY,KAAK08B,QAAQ5/C,EACf,EAEAg/C,EAAe76C,UAAUs1B,MAAQulB,EAAe76C,UAAUq9C,IAE1DxC,EAAe76C,UAAUs9C,OAAS,WAChC,OAAOv+B,KAAKy9B,OACd,EAEA3B,EAAe76C,UAAUu9C,SAAW,WAClC,OAAOx+B,KAAK09B,SACd,EAEA5B,EAAe76C,UAAUk8C,UAAY,WACnC,GAA4B,IAAxBn9B,KAAKy9B,QAAQrgD,OACf,OAAO,KAOT,IAJA,IAAIqhD,EAAS,CAAC,EACVtB,EAAY,KACZuB,EAAiB,EAEZj/C,EAAI,EAAGA,EAAIugB,KAAKy9B,QAAQrgD,OAAQqC,IAAK,CAC5C,IAAIyL,EAAQ8U,KAAKy9B,QAAQh+C,GACrBk/C,EAAUzzC,EAAMyzC,QAChBrqC,GAASmqC,EAAOE,IAAY,GAAK,EAErCF,EAAOE,GAAWrqC,EAEdA,GAASoqC,IACXvB,EAAYjyC,EACZwzC,EAAiBpqC,EAErB,CAEA,OAAO6oC,CACT,iDC7Je,MAAMz9B,EAAE,yBAAyBjgB,EAAE,CAACm/C,QAAQ,CAACC,aAAa,UAAUC,QAAQ,CAACz9C,MAAK,EAAG0oC,MAAK,IAAK1T,KAAK,CAACyoB,QAAQ,CAAC/U,MAAK,KAAM/oC,EAAE,CAAC+9C,QAAQ,CAACl9B,QAAQ,MAAMw7B,OAAM,GAAI2B,MAAM,CAACn9B,QAAQ,aAAao9B,UAAS,GAAIC,SAAS,CAACr9B,QAAQ,KAAKs9B,UAAS,EAAGC,eAAc,EAAGC,OAAM,GAAIC,KAAK,CAACz9B,QAAQ,MAAMs9B,UAAS,EAAGI,eAAe,CAAC,YAAYjG,KAAK,CAACkG,WAAU,IAAKC,WAAW,CAAC59B,QAAQ,KAAKw7B,OAAM,GAAIqC,OAAO,CAAC79B,QAAQ,KAAK89B,cAAc,aAAaN,OAAM,EAAGJ,UAAS,EAAG,IAAA19C,CAAKge,GAAG,OAAOE,EAAEF,EAAEoD,cAAc3hB,EAAEgf,KAAK2/B,eAAe99B,OAAO,GAAG+9B,WAAW,CAAC/9B,QAAQ,KAAKw7B,OAAM,GAAIjf,OAAO,CAACvc,QAAQ,KAAK89B,cAAc,aAAaN,OAAM,EAAGJ,UAAS,EAAG,IAAA19C,CAAKge,GAAG,OAAOE,EAAEF,EAAEoD,cAAc3hB,EAAEgf,KAAK2/B,eAAe99B,OAAO,GAAGg+B,kBAAkB,CAACh+B,QAAQ,MAAMi+B,WAAU,EAAGX,UAAS,EAAG9B,OAAM,EAAGgC,OAAM,IAAK5/B,EAAEF,IAAI,IAAIG,EAAE,OAAO,MAAMH,GAAG,QAAQG,EAAEH,EAAEsC,eAAU,IAASnC,OAAE,EAAOA,EAAE2B,aAAY,EAAGxgB,EAAEgR,UAAU+I,UAAUC,MAAM,8BAA8B2E,EAAE3e,GAAGszB,SAAStzB,EAAE,IAAI,IAAImN,EAAE,CAAC+xC,qBAAqB,kBAAkBx+C,KAAKsQ,UAAU+I,WAAWolC,cAAcxgC,GAAGA,EAAE,GAAGygC,eAAezgC,GAAG3N,UAAU+I,UAAUC,MAAM,gBAAgBqlC,qBAAqB,iBAAiB3+C,KAAKsQ,UAAU+I,WAAWulC,oBAAoB,oBAAoBC,YAAY,CAAC,OAAO,kBAAkB,aAAa3rC,OAAO8K,GAAGA,KAAK6gC,WAAWn/C,aAAaif,EAAE,CAACmgC,SAAS,CAAC,YAAYC,cAAa,EAAGC,YAAW,GAAI99B,EAAE,CAAC+9B,YAAY,eAAeC,KAAK,OAAOC,QAAQ,UAAUC,KAAK,OAAOC,MAAM,QAAQC,mBAAmB,sBAAiBvB,KAAK,OAAOJ,SAAS,UAAU4B,OAAO,iBAAiBC,OAAO,SAASC,KAAK,OAAOC,QAAQ,UAAUC,QAAQ,iBAAiBlC,MAAM,QAAQmC,KAAK,OAAO7uB,OAAO,SAAS8uB,OAAO,gBAAgBC,KAAK,OAAOC,OAAO,SAASlqB,IAAI,MAAMmqB,eAAe,oBAAeC,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAKC,GAAG,MAAM,MAAMjiC,EAAE,CAAC8C,EAAEm+B,MAAMn+B,EAAEg/B,GAAGh/B,EAAEi/B,GAAGj/B,EAAE++B,GAAG/+B,EAAEm/B,GAAGn/B,EAAEk/B,IAAI,IAAI/hC,EAAE,CAACwb,OAAO,MAAMymB,UAAU,EAAE,SAAA/hB,CAAUvgB,GAAG,OAAOA,GAAG,KAAK,EAAE,MAAM,KAAKxZ,OAAO0c,EAAEm+B,OAAO,KAAK,EAAE,MAAM,KAAK76C,OAAO0c,EAAEk+B,MAAM,QAAQ,IAAIjhC,EAAE,OAAOM,KAAKob,OAAO1b,EAAE,IAAI,QAAQM,KAAKob,SAAS1b,EAAE,MAAM,MAAMjgB,EAAEk1B,KAAKwD,MAAMxD,KAAKyD,IAAI7Y,GAAGoV,KAAKyD,IAAI1Y,IAAI1e,GAAGue,EAAEoV,KAAKioB,IAAIl9B,EAAEjgB,IAAI64B,QAAQtY,KAAK6hC,WAAW1pC,QAAQ,MAAM,IAAIA,QAAQ,MAAM,IAAI,MAAM,GAAGpS,OAAO/E,EAAE,KAAK+E,OAAO4Z,EAAElgB,IAAI,GAAG,MAAMsjB,EAAE,SAASY,EAAE,OAAIC,EAAE,SAASrE,GAAG,IAAI,MAAMG,KAAKH,EAAE,CAAC,MAAM9f,EAAE8f,EAAEG,GAAGM,KAAKN,GAAGjgB,CAAC,CAAC,OAAOugB,IAAI,EAAEH,EAAEjV,SAAS4hB,gBAAgBhK,EAAE3C,EAAEjM,QAAQ3F,EAAE,SAASsR,GAAG,IAAIuiC,UAAUpiC,EAAEqiC,iBAAiBtiD,EAAEuiD,aAAahhD,EAAEihD,QAAQxiC,EAAExF,eAAepZ,EAAEiuC,MAAMtvB,GAAGriB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAE,MAAM6Q,EAAE0R,GAAGG,EAAEK,EAAEzgB,EAAEgjB,EAAE,cAAchD,EAAEE,EAAE,SAASJ,GAAG,MAAMC,GAAG,KAAKA,GAAGG,EAAE0T,UAAU,MAAM3T,EAAEmD,EAAEtD,EAAE/c,OAAO,CAACu/C,iBAAiB7hC,IAAI,MAAMR,IAAI,MAAM1e,GAAGA,EAAEX,KAAKqf,EAAEH,EAAEG,GAAG7e,GAAG0e,EAAEtF,iBAAiB,EAAE,OAAO0F,EAAE0T,QAAQ,IAAIrlB,EAAEuT,oBAAoBhC,EAAEI,EAAE8C,GAAGzU,EAAEsT,iBAAiB/B,EAAEI,EAAE8C,GAAG9C,CAAC,EAAE+C,EAAE,SAASnD,GAAG,IAAIuiC,UAAUpiC,EAAEwiC,QAAQziD,EAAE6V,WAAWtU,EAAEmmB,WAAW1H,GAAGtiB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAE,MAAM0D,EAAE,MAAM6e,EAAEA,EAAEG,EAAEpgB,GAAE,IAAKA,EAAEuB,GAAE,IAAKA,EAAE,MAAMwe,EAAE5U,SAASu3C,YAAY,UAAU,OAAO3iC,EAAE4iC,UAAU7iC,EAAE9f,EAAEuB,GAAG,MAAMye,GAAGmE,EAAEvjB,KAAKmf,EAAEC,GAAG5e,EAAEwhD,cAAc7iC,EAAE,EAAE4F,EAAE,SAAS7F,EAAEG,GAAG,GAAG,KAAK,MAAMH,OAAE,EAAOA,EAAE2F,UAAU,OAAO1C,EAAEniB,KAAKkf,EAAEG,EAAE,EAAEmD,EAAE,SAAStD,GAAG,IAAIwiC,iBAAiBriC,EAAE4iC,UAAU7iD,GAAGtC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAE,KAAKoiB,GAAGA,EAAE2F,WAAWq9B,KAAKC,cAAcjjC,EAAEA,EAAEoD,WAAW,GAAG,MAAMpD,EAAE,CAAC,GAAG,MAAMG,EAAE,OAAOH,EAAE,GAAGA,EAAEiW,SAAS,MAAM/1B,EAAE,OAAO8f,EAAEiW,QAAQ9V,GAAG,KAAKH,GAAGA,IAAI9f,GAAG,CAAC,GAAG2lB,EAAE7F,EAAEG,GAAG,OAAOH,EAAEA,EAAEA,EAAEoD,UAAU,CAAC,CAAC,EAAEzjB,EAAEqgB,GAAG3U,SAAS6O,gBAAgB8F,GAAG6E,EAAE7E,EAAE3U,SAAS6O,eAAe2K,EAAE,SAAS7E,EAAEG,GAAG,GAAGH,GAAGG,EAAE,KAAKA,GAAG,CAAC,GAAGA,IAAIH,EAAE,OAAM,EAAGG,EAAEA,EAAEiD,UAAU,CAAC,EAAEyW,EAAE,SAAS7Z,GAAG,IAAIG,EAAE,GAAG,QAAQA,EAAEH,SAAI,IAASG,IAAIA,EAAEiD,WAAW,OAAO,IAAIljB,EAAE,EAAE,IAAI8f,EAAEA,EAAEkjC,gBAAgBljC,GAAG9f,IAAI8f,EAAEA,EAAEkjC,gBAAgB,OAAOhjD,CAAC,EAAEklB,EAAEpF,IAAI,IAAIG,EAAE,OAAO,MAAMH,GAAG,QAAQG,EAAEH,EAAEoD,kBAAa,IAASjD,OAAE,EAAOA,EAAEkD,YAAYrD,EAAC,EAAGka,EAAE,SAASla,GAAG,IAAImjC,gBAAgBhjC,EAAEijC,YAAYljD,EAAEmjD,uBAAuB5hD,GAAG7D,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAE,MAAMsiB,EAAE,MAAM,OAAOC,GAAG,IAAI,UAAU,OAAOmjC,WAAWC,aAAa,IAAI,OAAO,OAAOD,WAAWE,UAAU,IAAI,UAAU,OAAOF,WAAWG,aAAa,QAAQ,OAAOH,WAAWI,SAAU,EAArL,GAAyL,OAAOr4C,SAASs4C,iBAAiB3jC,EAAEE,EAAE,MAAMhgB,EAAEA,EAAE,MAAK,IAAKuB,EAAE,EAAEkjB,EAAE3E,IAAI,IAAIG,EAAE,OAAO,MAAMH,GAAG,QAAQG,EAAEH,EAAEsC,eAAU,IAASnC,OAAE,EAAOA,EAAE2B,aAAY,EAAG8D,EAAE,SAAS5F,GAAG,IAAIG,EAAEjgB,EAAEuB,EAAE7D,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAE,iBAAiBoiB,GAAGve,EAAEue,EAAEA,EAAEve,EAAE6gB,SAAS7gB,EAAE,CAACmmB,WAAWnmB,GAAG,MAAMye,EAAE7U,SAASC,cAAc0U,GAAG,GAAG,MAAMve,EAAEmiD,WAAW,MAAMniD,EAAEmmB,aAAanmB,EAAEmmB,WAAW,CAAC,GAAGnmB,EAAEmmB,WAAWi8B,gBAAgBpiD,EAAEmiD,UAAUniD,EAAEmmB,WAAW,IAAIzH,KAAK1e,EAAEmmB,WAAW1nB,EAAEuB,EAAEmmB,WAAWzH,GAAGD,EAAEa,aAAaZ,EAAEjgB,GAAG,GAAGuB,EAAE6f,MAAM,IAAInB,KAAK1e,EAAE6f,MAAMphB,EAAEuB,EAAE6f,MAAMnB,GAAGD,EAAEoB,MAAMnB,GAAGjgB,EAAE,GAAGuB,EAAEimB,KAAK,IAAIvH,KAAK1e,EAAEimB,KAAKxnB,EAAEuB,EAAEimB,KAAKvH,GAAGD,EAAEkY,QAAQjY,GAAGjgB,EAAE,OAAOuB,EAAE0wB,WAAW1wB,EAAE0wB,UAAUpsB,MAAM,KAAK9B,SAAS+b,IAAIE,EAAE6R,UAAU/jB,IAAIgS,EAAG,IAAGve,EAAE+vB,cAActR,EAAEsR,YAAY/vB,EAAE+vB,aAAa/vB,EAAEkmB,YAAY,GAAGnhB,OAAO/E,EAAEkmB,YAAY1jB,SAAS+b,IAAIE,EAAErU,YAAYmU,EAAG,IAAGE,CAAC,EAAE,IAAIoE,EAAE,MAAM2B,EAAE,WAAW,GAAG,MAAM3B,EAAE,OAAOA,EAAEA,EAAE,GAAG,IAAI,MAAMtE,KAAKve,EAAE,CAAC,MAAM0e,EAAE1e,EAAEue,GAAGG,EAAEmC,SAASgC,EAAErjB,KAAKkf,EAAEmC,QAAQ,CAAC,OAAOgC,CAAC,EAAE4B,EAAElG,GAAGwF,EAAE,MAAMxF,OAAE,EAAOA,EAAEiI,YAAY5C,EAAE,SAASrF,GAAG,IAAImsB,OAAOhsB,GAAGviB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAACuuC,QAAO,GAAI,OAAOhsB,EAAEqF,EAAExF,GAAGwF,EAAExF,KAAKwF,EAAExF,EAAEiI,aAAa,SAASjI,GAAG,OAAOiG,IAAI3U,SAASqT,EAAE3E,MAAMiG,IAAI3U,SAASqT,EAAE3E,EAAEiI,YAAY,CAArE,CAAuEjI,EAAE,EAAEwF,EAAExF,GAAGyF,EAAEzF,IAAI,WAAW,MAAMA,OAAE,EAAOA,EAAE0H,MAAMjC,EAAEzF,IAAI,MAAMA,OAAE,EAAOA,EAAE2F,YAAYq9B,KAAKc,aAAanqB,EAAE,SAAS3Z,GAAG,IAAIle,KAAKqe,GAAGviB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAE,GAAGoiB,EAAE,OAAOgI,EAAEhI,GAAGA,EAAE0H,OAAOlE,GAAGrD,GAAGH,EAAEoD,WAAWgV,QAAQ2rB,mBAAmB5jC,OAAE,EAAOwZ,EAAE3Z,EAAEiI,WAAW,EAAE9C,EAAEnF,GAAG6F,EAAE7F,EAAEG,GAAGqE,EAAExE,GAAGgI,EAAEhI,IAAI,MAAM,MAAMA,OAAE,EAAOA,EAAE0H,MAAMM,EAAEhI,IAAI,MAAMA,OAAE,EAAOA,EAAE2F,YAAYq9B,KAAKgB,UAAUvmC,EAAE,CAACwmC,eAAc,EAAG,QAAAC,GAAW,OAAOzjC,KAAKwjC,eAAex1C,EAAEmyC,oBAAoB,EAAE,CAAC,EAAE,SAAAuD,CAAUnkC,GAAG,MAAMG,EAAEyF,EAAE,QAAQ,CAAC9X,KAAK,OAAOs2C,UAAS,EAAG3yB,QAAO,EAAG1hB,GAAG0Q,KAAK4jC,cAAclkC,EAAE4B,iBAAiB,UAAS,KAAM/B,EAAEG,EAAEmkC,OAAOl/B,EAAEjF,EAAG,IAAGiF,EAAE/Z,SAAS8Q,eAAesE,KAAK4jC,cAAch5C,SAASO,KAAKC,YAAYsU,GAAGA,EAAEokC,OAAO,GAAG,IAAIr/B,EAAE,CAACs/B,uBAAsB,EAAGC,mBAAmB,MAAMC,kBAAkB,MAAM9pB,EAAE,CAACsmB,KAAK,CAAC5+B,QAAQ,SAASqiC,aAAY,EAAG,MAAAC,CAAO5kC,GAAG,MAAMG,EAAEtV,OAAOglB,iBAAiB7P,GAAG,MAAM,SAASG,EAAE0kC,YAAY1kC,EAAE0kC,YAAY,GAAG,GAAGrD,OAAO,CAACl/B,QAAQ,KAAKqiC,aAAY,EAAGC,OAAO5kC,GAAG,WAAWnV,OAAOglB,iBAAiB7P,GAAG8kC,WAAWC,KAAK,CAACC,aAAa,IAAI,MAAAJ,CAAO5kC,GAAG,MAAM9f,EAAE,SAASsG,OAAO2Z,EAAE,KAAK1e,EAAEue,EAAEiW,QAAQ/1B,GAAG,GAAGuB,EAAE,OAAOA,EAAEwjD,aAAa,OAAO,GAAGpD,OAAO,CAACv/B,QAAQ,MAAMqiC,aAAY,GAAIO,OAAO,CAAC5jC,MAAM,CAAC6jC,gBAAgB,eAAe/qB,EAAE,CAACgrB,eAAe,IAAI,2RAA2R5+C,OAAO0c,EAAEg+B,KAAK,oBAAoB16C,OAAO0c,EAAEg+B,KAAK,kKAAkK16C,OAAO0c,EAAEs+B,OAAO,oBAAoBh7C,OAAO0c,EAAEs+B,OAAO,gJAAgJh7C,OAAO0c,EAAE2+B,OAAO,oBAAoBr7C,OAAO0c,EAAE2+B,OAAO,sLAAsLr7C,OAAO0c,EAAEu+B,KAAK,oBAAoBj7C,OAAO0c,EAAEu+B,KAAK,kRAAkRj7C,OAAO0c,EAAEy8B,SAAS,oBAAoBn5C,OAAO0c,EAAEy8B,SAAS,8IAA8In5C,OAAO0c,EAAEu8B,MAAM,oBAAoBj5C,OAAO0c,EAAEu8B,MAAM,4IAA4Ij5C,OAAO0c,EAAE68B,KAAK,oBAAoBv5C,OAAO0c,EAAE68B,KAAK,qJAAqJv5C,OAAO0c,EAAEi+B,QAAQ,oBAAoB36C,OAAO0c,EAAEi+B,QAAQ,qJAAqJ36C,OAAO0c,EAAEw+B,QAAQ,oBAAoBl7C,OAAO0c,EAAEw+B,QAAQ,2KAA2Kl7C,OAAO0c,EAAEy+B,QAAQ,oBAAoBn7C,OAAO0c,EAAEy+B,QAAQ,2KAA2Kn7C,OAAO0c,EAAEq+B,OAAO,oBAAoB/6C,OAAO0c,EAAEq+B,OAAO,6QAA6Q/6C,OAAO0c,EAAE+9B,YAAY,oBAAoBz6C,OAAO0c,EAAE+9B,YAAY,oVAAoVz6C,OAAO0c,EAAE4+B,KAAK,oBAAoBt7C,OAAO0c,EAAE4+B,KAAK,iKAAiKt7C,OAAO0c,EAAE0+B,KAAK,oBAAoBp7C,OAAO0c,EAAE0+B,KAAK,sVAAsVp7C,OAAO0c,EAAE8+B,eAAe,kBAAkBx7C,OAAO0c,EAAE2U,IAAI,oLAAoLrxB,OAAO0c,EAAEu+B,KAAK,wHAAwHj7C,OAAO0c,EAAE6+B,OAAO,sGAAsG,MAAMxnB,EAAE,CAAC8qB,SAAS,KAAK,IAAIh+B,EAAE5oB,OAAO6mD,OAAO,CAACC,UAAU,KAAKC,YAAYtlD,EAAEulD,gBAAgBhkD,EAAEikD,QAAQj3C,EAAEk3C,IAAI,CAAChvB,WAAW,aAAaivB,kBAAkB,sBAAsBC,wBAAwB,6BAA6BC,mBAAmB,uBAAuBC,4BAA4B,iCAAiCC,eAAe,mBAAmBC,mBAAmB,uBAAuBC,eAAe,mBAAmBC,kBAAkB,sBAAsB7F,kBAAkB,sBAAsB8F,UAAUzlC,EAAE0lC,SAAShmC,EAAE9b,MAAMkZ,EAAE6oC,SAAS,CAAC,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,KAAKC,KAAKrjC,EAAE0hC,OAAO1/B,EAAEshC,eAAe5rB,EAAE6rB,QAAQrsB,EAAE0nB,KAAKvnB,IAAI,MAAMhU,EAAE,kBAAOmgC,CAAY1mC,GAAG,MAAMle,KAAKqe,EAAEwmC,SAASzmD,EAAE0mD,WAAWnlD,EAAEolD,SAAS3mC,GAAGiG,EAAEnG,GAAGS,KAAK/e,UAAUye,GAAG,WAAW,IAAIH,EAAE1e,EAAE,IAAI2e,EAAExR,EAAoF,OAAlFvO,EAAEoB,EAAE4e,EAAE,QAAQD,EAAEQ,KAAKvgB,UAAK,IAAS+f,OAAE,EAAOA,EAAEnf,KAAK2f,MAAMA,KAAKvgB,KAAKuB,IAAIH,EAAEmf,KAAKhf,IAAWye,GAAGF,EAAE,QAAQvR,EAAEnN,SAAI,IAASmN,OAAE,EAAOA,EAAE0R,GAAGH,EAAEiZ,EAAEn4B,KAAKkf,EAAE1e,EAAE1D,gBAAW,IAASoiB,EAAE1e,EAAE6e,GAAG8Y,EAAEn4B,KAAKkf,EAAE1e,EAAE1D,WAAW,CAAC,EAAE,MAAMuoB,EAAE,SAASnG,GAAG,MAAMG,EAAEH,EAAE1E,MAAM4d,GAAG,IAAI/Y,EAAE,MAAM,IAAI5O,MAAM,wCAAwC/K,OAAOwZ,IAAI,MAAM9f,EAAE,CAAC4B,KAAKqe,EAAE,IAAI,OAAO,MAAMA,EAAE,GAAGjgB,EAAEymD,SAASxmC,EAAE,GAAGjgB,EAAE0mD,WAAWzmC,EAAE,GAAG,MAAMA,EAAE,KAAKjgB,EAAE2mD,UAAS,GAAI3mD,CAAC,GAAG/B,MAAM86B,GAAG6tB,SAASplD,UAAUw3B,EAAE,IAAIpP,OAAO,kCAAkC,IAAI8P,EAAET,EAAE7T,EAAE,MAAM8T,UAAU7S,EAAE,UAAOwgC,GAAM,IAAI/mC,EAAEpiB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,OAAOoiB,aAAaS,KAAKT,EAAES,KAAKumC,eAAe,MAAMhnC,OAAE,EAAOA,EAAEre,WAAW,CAAC,qBAAOqlD,CAAehnC,GAAG,OAAO,IAAIS,KAAKT,EAAEinC,GAAGjnC,GAAG,CAAC,qBAAOknC,CAAelnC,GAAG,OAAO,IAAIS,KAAK0mC,GAAGnnC,GAAGA,EAAE,CAAC,WAAAne,CAAYme,EAAEG,GAAGinC,SAASxpD,WAAW6iB,KAAK4mC,WAAWrnC,EAAES,KAAK6mC,WAAWnnC,EAAEM,KAAK5iB,OAAO4iB,KAAK6mC,WAAWzpD,OAAO4iB,KAAK8mC,WAAW9mC,KAAK4mC,WAAWxpD,MAAM,CAAC,kBAAA2pD,CAAmBxnC,GAAG,OAAOmnC,GAAG1mC,KAAK6mC,WAAW1lD,MAAM,EAAEwzB,KAAKC,IAAI,EAAErV,KAAKniB,MAAM,CAAC,oBAAA4pD,CAAqBznC,GAAG,OAAOinC,GAAGxmC,KAAK4mC,WAAWzlD,MAAM,EAAEwzB,KAAKC,IAAI,EAAErV,KAAKniB,MAAM,CAAC,KAAA+D,GAAQ,OAAO6e,KAAK5e,YAAYqlD,eAAezmC,KAAK6mC,WAAW1lD,SAAShE,WAAW,CAAC,MAAAy8B,CAAOra,GAAG,OAAOS,KAAK7e,MAAMoe,EAAEA,EAAE,EAAE,CAAC,SAAA0nC,CAAU1nC,GAAG,OAAOS,KAAK5e,YAAYklD,IAAI/mC,GAAGqnC,aAAa5mC,KAAK4mC,UAAU,CAAC,MAAAM,GAAS,OAAOlnC,KAAK4mC,UAAU,CAAC,WAAAO,GAAc,OAAOnnC,KAAK4mC,UAAU,CAAC,QAAA1lD,GAAW,OAAO8e,KAAK4mC,UAAU,EAAE,MAAM5sB,GAAE,KAAK,QAAQb,EAAE77B,MAAMgE,YAAO,IAAS63B,OAAE,EAAOA,EAAE94B,KAAK/C,MAAM,gBAAMF,QAAQ68B,GAAE,OAAO,QAAQvB,EAAE,IAAI0uB,mBAAc,IAAS1uB,OAAE,EAAOA,EAAEr4B,KAAK,IAAI,IAAIgnD,GAAG,mBAAS,QAAQxiC,EAAE1gB,OAAOmjD,qBAAgB,IAASziC,OAAE,EAAOA,EAAExkB,KAAK8D,OAAO,GAAG,SAAS,IAAIqiD,GAAGE,GAAGF,GAAGxsB,IAAGC,GAAE1a,GAAGjiB,MAAMgE,KAAKie,GAAG5a,KAAK4a,GAAGA,EAAE6nC,YAAY,KAAK,SAAS7nC,GAAG,MAAMG,EAAE,GAAG,IAAIjgB,EAAE,EAAE,MAAMrC,OAAO4D,GAAGue,EAAE,KAAK9f,EAAEuB,GAAG,CAAC,IAAIye,EAAEF,EAAE0rB,WAAWxrC,KAAK,GAAG,OAAOggB,GAAGA,GAAG,OAAOhgB,EAAEuB,EAAE,CAAC,MAAM0e,EAAEH,EAAE0rB,WAAWxrC,KAAK,QAAQ,MAAMigB,GAAGD,IAAI,KAAKA,IAAI,KAAK,KAAKC,GAAG,MAAMjgB,GAAG,CAACigB,EAAElf,KAAKif,EAAE,CAAC,OAAOC,CAAC,EAAEgnC,GAAGW,GAAG9nC,GAAGpb,OAAOmjD,iBAAiBhqD,MAAMgE,KAAKie,GAAG,KAAK,SAASA,GAAG,MAAM,MAAM,MAAMG,EAAE,GAAG,OAAOpiB,MAAMgE,KAAKie,GAAG/b,SAAS+b,IAAI,IAAI9f,EAAE,GAAG8f,EAAE,QAAQA,GAAG,MAAM9f,GAAG0E,OAAO6oC,aAAaztB,IAAI,GAAG,KAAK,OAAOA,EAAE,MAAM,KAAKA,GAAGG,EAAElf,KAAKf,EAAE0E,OAAO6oC,aAAaztB,GAAI,IAAGG,CAAE,EAA/K,GAAmLxH,KAAK,GAAG,EAAE,IAAIqvC,GAAG,EAAE,MAAMC,WAAW1hC,EAAE,qBAAO2hC,CAAeloC,GAAG,OAAOS,KAAK0nC,SAAS32C,KAAKssC,MAAM99B,GAAG,CAAC,WAAAne,GAAculD,SAASxpD,WAAW6iB,KAAK1Q,KAAKi4C,EAAE,CAAC,oBAAAI,CAAqBpoC,GAAG,OAAOS,KAAK5e,eAAe,MAAMme,OAAE,EAAOA,EAAEne,YAAY,CAAC,SAAA6lD,CAAU1nC,GAAG,OAAOS,OAAOT,CAAC,CAAC,OAAAqoC,GAAU,MAAMroC,EAAE,GAAGG,EAAEM,KAAK6nC,yBAAyB,CAAC,EAAE,IAAI,MAAMpoD,KAAKigB,EAAE,CAAC,MAAM1e,EAAE0e,EAAEjgB,GAAG8f,EAAE/e,KAAK,GAAGuF,OAAOtG,EAAE,KAAKsG,OAAO/E,GAAG,CAAC,MAAM,KAAK+E,OAAOia,KAAK5e,YAAYC,KAAK,KAAK0E,OAAOia,KAAK1Q,IAAIvJ,OAAOwZ,EAAEniB,OAAO,IAAI2I,OAAOwZ,EAAErH,KAAK,OAAO,GAAG,IAAI,CAAC,qBAAA2vC,GAAwB,CAAC,YAAAC,GAAe,OAAO/2C,KAAKC,UAAUgP,KAAK,CAAC,aAAA+nC,GAAgB,OAAOpvB,EAAE2tB,IAAItmC,KAAK,CAAC,WAAAmnC,GAAc,OAAOnnC,KAAK1Q,GAAGpO,UAAU,EAAE,MAAM8mD,GAAG,WAAW,IAAIzoC,EAAEpiB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAGuiB,EAAEviB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,GAAGoiB,EAAEniB,SAASsiB,EAAEtiB,OAAO,OAAM,EAAG,IAAI,IAAIqC,EAAE,EAAEA,EAAE8f,EAAEniB,OAAOqC,IAAK,GAAG8f,EAAE9f,KAAKigB,EAAEjgB,GAAG,OAAM,EAAG,OAAM,CAAE,EAAEwoD,GAAG,SAAS1oC,GAAG,MAAMG,EAAEH,EAAEpe,MAAM,GAAG,IAAI,IAAI1B,EAAEtC,UAAUC,OAAO4D,EAAE,IAAI1D,MAAMmC,EAAE,EAAEA,EAAE,EAAE,GAAGggB,EAAE,EAAEA,EAAEhgB,EAAEggB,IAAIze,EAAEye,EAAE,GAAGtiB,UAAUsiB,GAAG,OAAOC,EAAEk6B,UAAU54C,GAAG0e,CAAC,EAAEwoC,GAAG,qVAAqVC,GAAG,WAAW,MAAM5oC,EAAE4F,EAAE,QAAQ,CAACijC,IAAI,OAAO/mD,KAAK,IAAIgnD,QAAQ,UAAU3oC,EAAEyF,EAAE,WAAW,CAACijC,IAAI,OAAO/mD,KAAK,IAAIgnD,QAAQ,UAAU5oD,EAAE0lB,EAAE,QAAQ1lB,EAAE2L,YAAYmU,GAAG9f,EAAE2L,YAAYsU,GAAG,MAAM1e,EAAE,WAAW,IAAI,OAAO,IAAIsnD,SAAS7oD,GAAG8oD,IAAI7oC,EAAE2oC,QAAQ,CAAC,MAAM9oC,GAAG,OAAM,CAAE,CAAC,CAAvE,GAA2EE,EAAE,WAAW,IAAI,OAAOF,EAAE3L,QAAQ,sBAAsB,CAAC,MAAM2L,GAAG,OAAM,CAAE,CAAC,CAAzE,GAA6E,OAAOve,EAAE,SAASue,GAAG,OAAOG,EAAEjf,MAAM8e,EAAE,IAAI+oC,SAAS7oD,GAAGsgB,IAAIL,EAAE2oC,QAAQ,EAAE5oC,EAAE,SAASC,GAAG,OAAOH,EAAE9e,MAAMif,EAAEH,EAAE3L,QAAQ,aAAa,MAAM,KAAK,EAAE,SAAS2L,GAAG,MAAMG,EAAEH,EAAEipC,OAAO5uB,OAAO,GAAG,OAAOsuB,GAAG3mD,KAAKme,GAAG,MAAM,KAAK,CAAC,CAAxhB,GAA4hB,IAAI+oC,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAK,MAAMC,GAAG,KAAKJ,KAAKA,GAAGK,KAAK/iD,OAAOgjD,OAAON,IAAIO,GAAGzpC,GAAGve,EAAEue,GAAGwpC,GAAG,KAAKL,KAAKA,GAAG1qD,OAAOI,KAAK4C,IAAI0nD,IAAIO,GAAG1pC,GAAG4a,EAAE5a,GAAGupC,GAAG,KAAKH,KAAKA,GAAG3qD,OAAOI,KAAK+7B,IAAIwuB,IAAIO,GAAG,SAAS3pC,EAAEG,GAAGypC,GAAG5pC,GAAGwR,YAAYrR,EAAEvH,QAAQ,MAAMoH,EAAE,EAAE4pC,GAAG,SAAS5pC,GAAG,MAAMG,EAAE9U,SAASC,cAAc,SAAS6U,EAAEY,aAAa,OAAO,YAAYZ,EAAEY,aAAa,gBAAgBf,EAAE8B,eAAe,MAAM5hB,EAAE2pD,KAAK,OAAO3pD,GAAGigB,EAAEY,aAAa,QAAQ7gB,GAAGmL,SAASy+C,KAAKpkC,aAAavF,EAAE9U,SAASy+C,KAAK7hC,YAAY9H,CAAC,EAAE0pC,GAAG,WAAW,MAAM7pC,EAAE+pC,GAAG,mBAAmBA,GAAG,aAAa,GAAG/pC,EAAE,CAAC,MAAMgqC,MAAM7pC,EAAEL,QAAQ5f,GAAG8f,EAAE,MAAM,IAAIG,EAAEjgB,EAAEigB,CAAC,CAAC,EAAE4pC,GAAG/pC,GAAG3U,SAASy+C,KAAKjqC,cAAc,aAAarZ,OAAOwZ,EAAE,MAAMiqC,GAAG,CAAC,uCAAuC,QAAQC,GAAG,SAASlqC,GAAG,MAAMG,EAAEH,EAAEmqC,QAAQ,cAAcjqD,EAAE8f,EAAEmqC,QAAQ,aAAa,IAAIhqC,IAAIjgB,EAAE,OAAO,MAAMigB,OAAE,EAAOA,EAAEtiB,OAAO,CAAC,MAAM+N,KAAKoU,IAAG,IAAKoqC,WAAWC,gBAAgBnqD,EAAE,aAAa,GAAG8f,EAAEwR,cAAcrR,EAAE,OAAOH,EAAEH,cAAc,IAAI,CAAC,EAAEyqC,GAAG,UAAUtoD,KAAKsQ,UAAUi4C,UAAUvqC,GAAGA,EAAExD,QAAQwD,GAAGA,EAAEvD,QAAc+tC,GAAGxqC,GAAG9hB,WAAW8hB,EAAE,GAAGyqC,GAAG,WAAW,IAAIzqC,EAAEpiB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAE,MAAMuiB,EAAE,CAAC,EAAE,IAAI,MAAMjgB,KAAK8f,EAAE,CAAC,MAAMve,EAAEue,EAAE9f,GAAGigB,EAAEjgB,GAAGuB,CAAC,CAAC,OAAO0e,CAAC,EAAEuqC,GAAG,WAAW,IAAI1qC,EAAEpiB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAEuiB,EAAEviB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAE,GAAGa,OAAOI,KAAKmhB,GAAGniB,SAASY,OAAOI,KAAKshB,GAAGtiB,OAAO,OAAM,EAAG,IAAI,MAAMqC,KAAK8f,EAAG,GAAGA,EAAE9f,KAAKigB,EAAEjgB,GAAG,OAAM,EAAG,OAAM,CAAE,EAAEyqD,GAAG,SAAS3qC,GAAG,GAAG,MAAMA,EAAE,OAAOjiB,MAAMoC,QAAQ6f,KAAKA,EAAE,CAACA,EAAEA,IAAI,CAAC4qC,GAAG5qC,EAAE,IAAI4qC,GAAG,MAAM5qC,EAAE,GAAGA,EAAE,GAAGA,EAAE,IAAI,EAAE6qC,GAAG,SAAS7qC,GAAG,GAAG,MAAMA,EAAE,OAAO,MAAMG,EAAEjgB,GAAGyqD,GAAG3qC,GAAG,OAAO8qC,GAAG3qC,EAAEjgB,EAAE,EAAE6qD,GAAG,SAAS/qC,EAAEG,GAAG,GAAG,MAAMH,GAAG,MAAMG,EAAE,OAAO,MAAMjgB,EAAEuB,GAAGkpD,GAAG3qC,IAAIE,EAAE5e,GAAGqpD,GAAGxqC,GAAG,OAAO2qC,GAAG5qD,EAAEggB,IAAI4qC,GAAGrpD,EAAEH,EAAE,EAAEspD,GAAG,SAAS5qC,GAAG,MAAM,iBAAiBA,EAAEA,EAAEyqC,GAAGzqC,EAAE,EAAE8qC,GAAG,SAAS9qC,EAAEG,GAAG,MAAM,iBAAiBH,EAAEA,IAAIG,EAAEuqC,GAAG1qC,EAAEG,EAAE,EAAE,MAAM6qC,WAAWzkC,EAAE,WAAA1kB,GAAculD,SAASxpD,WAAW6iB,KAAKgS,OAAOhS,KAAKgS,OAAOjK,KAAK/H,MAAMA,KAAKwqC,kBAAkB,EAAE,CAAC,KAAAj0B,GAAQvW,KAAKyqC,UAAUzqC,KAAKyqC,SAAQ,EAAG7/C,SAAS0W,iBAAiB,kBAAkBtB,KAAKgS,QAAO,GAAI,CAAC,IAAAksB,GAAO,GAAGl+B,KAAKyqC,QAAQ,OAAOzqC,KAAKyqC,SAAQ,EAAG7/C,SAAS2W,oBAAoB,kBAAkBvB,KAAKgS,QAAO,EAAG,CAAC,wBAAA04B,CAAyBnrC,GAAG,IAAIS,KAAKwqC,kBAAkB35C,SAAS0O,GAAG,OAAOS,KAAKwqC,kBAAkBhqD,KAAK+e,GAAGS,KAAKuW,OAAO,CAAC,0BAAAo0B,CAA2BprC,GAAG,GAAGS,KAAKwqC,kBAAkBxqC,KAAKwqC,kBAAkBrnD,QAAQuc,GAAGA,IAAIH,IAAI,IAAIS,KAAKwqC,kBAAkBptD,OAAO,OAAO4iB,KAAKk+B,MAAM,CAAC,wCAAA0M,GAA2C,OAAO5qC,KAAKwqC,kBAAkB7lD,KAAK4a,GAAGA,EAAEsrC,sBAAsB,CAAC,MAAA74B,GAAShS,KAAK4qC,0CAA0C,CAAC,KAAA3M,GAAQj+B,KAAKgS,QAAQ,EAAE,MAAM84B,GAAG,IAAIP,GAAGQ,GAAG,WAAW,MAAMxrC,EAAEnV,OAAO05B,eAAe,GAAGvkB,EAAEyrC,WAAW,EAAE,OAAOzrC,CAAC,EAAE0rC,GAAG,WAAW,IAAI1rC,EAAE,MAAMG,EAAE,QAAQH,EAAEwrC,YAAO,IAASxrC,OAAE,EAAOA,EAAE2rC,WAAW,GAAG,GAAGxrC,IAAIyrC,GAAGzrC,GAAG,OAAOA,CAAC,EAAE0rC,GAAG,SAAS7rC,GAAG,MAAMG,EAAEtV,OAAO05B,eAAe,OAAOpkB,EAAE2rC,kBAAkB3rC,EAAE4rC,SAAS/rC,GAAGurC,GAAG94B,QAAQ,EAAEm5B,GAAG5rC,GAAGgsC,GAAGhsC,EAAEisC,iBAAiBD,GAAGhsC,EAAEksC,cAAcF,GAAGhsC,IAAIvhB,OAAO0tD,eAAensC,GAAGosC,GAAGpsC,GAAGA,EAAEpH,QAAQ,IAAIkR,OAAO,GAAGtjB,OAAOgd,GAAG,KAAK,IAAI5K,QAAQ,IAAIkR,OAAO,GAAGtjB,OAAO4d,GAAG,KAAK,KAAKioC,GAAG,IAAIviC,OAAO,QAAQtjB,OAAO4d,EAAE,MAAMkoC,GAAGtsC,GAAGA,EAAEpH,QAAQ,IAAIkR,OAAO,GAAGtjB,OAAO6lD,GAAGtpD,QAAQ,KAAK,KAAK6V,QAAQ,UAAU,KAAK2zC,GAAG,SAASvsC,EAAEG,GAAG,GAAGH,EAAE0nC,UAAUvnC,GAAG,MAAM,CAAC,GAAG,IAAI,MAAMjgB,EAAEssD,GAAGxsC,EAAEG,IAAItiB,OAAO4D,GAAGvB,EAAEusD,YAAY,IAAIvsC,EAAE,GAAGze,EAAE,CAAC,MAAM+sC,OAAOltC,GAAGpB,EAAE+f,EAAED,EAAEsnC,WAAW1lD,MAAM,EAAEN,GAAGkF,OAAOwZ,EAAEsnC,WAAW1lD,MAAMN,EAAEG,IAAIye,EAAEssC,GAAGrsC,EAAEiZ,EAAE8tB,eAAejnC,GAAG,MAAMC,EAAEssC,GAAGrsC,EAAEH,GAAG,MAAM,CAAC9f,EAAEusD,YAAY9qD,WAAWue,EAAEusC,YAAY9qD,WAAW,EAAE6qD,GAAG,SAASxsC,EAAEG,GAAG,IAAIjgB,EAAE,EAAEuB,EAAEue,EAAEniB,OAAOqiB,EAAEC,EAAEtiB,OAAO,KAAKqC,EAAEuB,GAAGue,EAAEqa,OAAOn6B,GAAGwnD,UAAUvnC,EAAEka,OAAOn6B,KAAKA,IAAI,KAAKuB,EAAEvB,EAAE,GAAG8f,EAAEqa,OAAO54B,EAAE,GAAGimD,UAAUvnC,EAAEka,OAAOna,EAAE,KAAKze,IAAIye,IAAI,MAAM,CAACusC,YAAYzsC,EAAEpe,MAAM1B,EAAEuB,GAAG+sC,OAAOtuC,EAAE,EAAE,MAAMwsD,WAAWzE,GAAG,oCAAO0E,GAAgC,IAAI3sC,EAAEpiB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,IAAIoiB,EAAEniB,OAAO,OAAO,IAAI4iB,KAAK,IAAIN,EAAEysC,GAAG5sC,EAAE,IAAI9f,EAAEigB,EAAE0sC,UAAU,OAAO7sC,EAAEpe,MAAM,GAAGqC,SAAS+b,IAAI9f,EAAEigB,EAAE2sC,oBAAoBF,GAAG5sC,IAAIG,EAAEA,EAAEve,MAAM1B,EAAG,IAAGigB,CAAC,CAAC,UAAO4mC,CAAI/mC,GAAG,OAAO4sC,GAAG5sC,EAAE,CAAC,WAAAne,GAAc,IAAIme,EAAEpiB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAEwpD,SAASxpD,WAAW6iB,KAAKjS,OAAOu+C,GAAG/sC,EAAE,CAAC,GAAAhS,CAAIgS,EAAEG,GAAG,OAAOM,KAAKusC,MAAMC,GAAGjtC,EAAEG,GAAG,CAAC,MAAA4S,CAAO/S,GAAG,OAAO,IAAI0sC,GAAGK,GAAGtsC,KAAKjS,OAAOwR,GAAG,CAAC,GAAAQ,CAAIR,GAAG,OAAOS,KAAKjS,OAAOwR,EAAE,CAAC,GAAAgpC,CAAIhpC,GAAG,OAAOA,KAAKS,KAAKjS,MAAM,CAAC,KAAAw+C,CAAMhtC,GAAG,OAAO,IAAI0sC,GAAGQ,GAAGzsC,KAAKjS,OAAO2+C,GAAGntC,IAAI,CAAC,KAAApe,CAAMoe,GAAG,MAAMG,EAAE,CAAC,EAAE,OAAOpiB,MAAMgE,KAAKie,GAAG/b,SAAS+b,IAAIS,KAAKuoC,IAAIhpC,KAAKG,EAAEH,GAAGS,KAAKjS,OAAOwR,GAAI,IAAG,IAAI0sC,GAAGvsC,EAAE,CAAC,OAAA0sC,GAAU,OAAOpuD,OAAOI,KAAK4hB,KAAKjS,OAAO,CAAC,mBAAAs+C,CAAoB9sC,GAAG,OAAOA,EAAE4sC,GAAG5sC,GAAGS,KAAKosC,UAAUjpD,QAAQuc,GAAGM,KAAKjS,OAAO2R,KAAKH,EAAExR,OAAO2R,IAAI,CAAC,SAAAunC,CAAU1nC,GAAG,OAAOyoC,GAAGhoC,KAAK0sB,UAAUyf,GAAG5sC,GAAGmtB,UAAU,CAAC,OAAA7+B,GAAU,OAAO,IAAImS,KAAKosC,UAAUhvD,MAAM,CAAC,OAAAsvC,GAAU,IAAI1sB,KAAKsvB,MAAM,CAAC,MAAM/vB,EAAE,GAAG,IAAI,MAAMG,KAAKM,KAAKjS,OAAO,CAAC,MAAMtO,EAAEugB,KAAKjS,OAAO2R,GAAGH,EAAE/e,KAAK+e,EAAE/e,KAAKkf,EAAEjgB,GAAG,CAACugB,KAAKsvB,MAAM/vB,EAAEpe,MAAM,EAAE,CAAC,OAAO6e,KAAKsvB,KAAK,CAAC,QAAAqd,GAAW,OAAOL,GAAGtsC,KAAKjS,OAAO,CAAC,MAAAm5C,GAAS,OAAOlnC,KAAK2sC,UAAU,CAAC,qBAAA9E,GAAwB,MAAM,CAAC95C,OAAOgD,KAAKC,UAAUgP,KAAKjS,QAAQ,EAAE,MAAMy+C,GAAG,SAASjtC,EAAEG,GAAG,MAAMjgB,EAAE,CAAC,EAAE,OAAOA,EAAE8f,GAAGG,EAAEjgB,CAAC,EAAEgtD,GAAG,SAASltC,EAAEG,GAAG,MAAMjgB,EAAE6sD,GAAG/sC,GAAG,IAAI,MAAMA,KAAKG,EAAE,CAAC,MAAM1e,EAAE0e,EAAEH,GAAG9f,EAAE8f,GAAGve,CAAC,CAAC,OAAOvB,CAAC,EAAE6sD,GAAG,SAAS/sC,EAAEG,GAAG,MAAMjgB,EAAE,CAAC,EAAE,OAAOzB,OAAOI,KAAKmhB,GAAGgF,OAAO/gB,SAASxC,IAAIA,IAAI0e,IAAIjgB,EAAEuB,GAAGue,EAAEve,GAAI,IAAGvB,CAAC,EAAE0sD,GAAG,SAAS5sC,GAAG,OAAOA,aAAa0sC,GAAG1sC,EAAE,IAAI0sC,GAAG1sC,EAAE,EAAEmtC,GAAG,SAASntC,GAAG,OAAOA,aAAa0sC,GAAG1sC,EAAExR,OAAOwR,CAAC,EAAE,MAAMqtC,GAAG,mBAAOC,GAAe,IAAIttC,EAAEG,EAAEviB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,IAAI2vD,MAAMrtD,EAAEstD,OAAO/rD,GAAG7D,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAE6D,GAAG,MAAMvB,IAAIA,EAAE,GAAG,MAAMggB,EAAE,GAAG,OAAOniB,MAAMgE,KAAKoe,GAAGlc,SAASkc,IAAI,IAAI7e,EAAE,GAAG0e,EAAE,CAAC,IAAIC,EAAExR,EAAEkS,EAAE,GAAG,QAAQV,EAAEE,EAAEstC,oBAAe,IAASxtC,GAAGA,EAAEnf,KAAKqf,EAAEjgB,IAAI,QAAQuO,GAAGkS,EAAEX,EAAEA,EAAEniB,OAAO,IAAI6vD,wBAAmB,IAASj/C,GAAGA,EAAE3N,KAAK6f,EAAER,EAAEjgB,GAAG,YAAY8f,EAAE/e,KAAKkf,GAAGD,EAAEjf,KAAK,IAAIwf,KAAKT,EAAE,CAACutC,MAAMrtD,EAAEstD,OAAO/rD,KAAKue,EAAE,IAAI,CAAC,QAAQ1e,EAAE6e,EAAEstC,oBAAe,IAASnsD,GAAGA,EAAER,KAAKqf,EAAEjgB,GAAG8f,EAAE,CAACG,GAAGD,EAAEjf,KAAKkf,EAAG,IAAGH,GAAGE,EAAEjf,KAAK,IAAIwf,KAAKT,EAAE,CAACutC,MAAMrtD,EAAEstD,OAAO/rD,KAAKye,CAAC,CAAC,WAAAre,GAAc,IAAIme,EAAEpiB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,IAAI2vD,MAAMptC,EAAEqtC,OAAOttD,GAAGtC,UAAUC,OAAO,EAAED,UAAU,QAAG,EAAO6iB,KAAKktC,QAAQ3tC,EAAE9f,IAAIugB,KAAK8sC,MAAMptC,EAAEM,KAAKktC,QAAQltC,KAAK5e,YAAYyrD,aAAa7sC,KAAKktC,QAAQ,CAACH,OAAOttD,EAAEqtD,MAAM9sC,KAAK8sC,MAAM,IAAI,CAAC,UAAAK,GAAa,OAAOntC,KAAKktC,OAAO,CAAC,QAAAE,GAAW,OAAOptC,KAAK8sC,KAAK,CAAC,WAAA3F,GAAc,MAAM5nC,EAAE,CAAC,eAAe,OAAOjiB,MAAMgE,KAAK0e,KAAKmtC,cAAc3pD,SAASkc,IAAIH,EAAE/e,KAAKkf,EAAEynC,cAAe,IAAG5nC,EAAErH,KAAK,IAAI,EAAE,MAAMm1C,WAAWvnC,EAAE,WAAA1kB,GAAc,IAAIme,EAAEpiB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAGwpD,SAASxpD,WAAW6iB,KAAKktC,QAAQ,CAAC,EAAE5vD,MAAMgE,KAAKie,GAAG/b,SAAS+b,IAAI,MAAMG,EAAE3O,KAAKC,UAAUuO,GAAG,MAAMS,KAAKktC,QAAQxtC,KAAKM,KAAKktC,QAAQxtC,GAAGH,EAAG,GAAE,CAAC,IAAAnM,CAAKmM,GAAG,MAAMG,EAAE3O,KAAKC,UAAUuO,GAAG,OAAOS,KAAKktC,QAAQxtC,EAAE,EAAE,MAAM4tC,GAAG,WAAAlsD,CAAYme,GAAGS,KAAKi+B,MAAM1+B,EAAE,CAAC,GAAAhS,CAAIgS,GAAG,MAAMG,EAAE6tC,GAAGhuC,GAAGS,KAAK8R,SAASpS,GAAGH,CAAC,CAAC,MAAA+S,CAAO/S,GAAG,MAAMG,EAAE6tC,GAAGhuC,GAAG9f,EAAEugB,KAAK8R,SAASpS,GAAG,GAAGjgB,EAAE,cAAcugB,KAAK8R,SAASpS,GAAGjgB,CAAC,CAAC,KAAAw+C,GAAQ,IAAI1+B,EAAEpiB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,OAAO6iB,KAAK8R,SAAS,CAAC,EAAEx0B,MAAMgE,KAAKie,GAAG/b,SAAS+b,IAAIS,KAAKzS,IAAIgS,EAAG,IAAGA,CAAC,EAAE,MAAMguC,GAAGhuC,GAAGA,EAAEoY,QAAQ61B,aAAa,MAAMC,WAAW3nC,EAAE,YAAA4nC,GAAe,OAAM,IAAK1tC,KAAK2tC,UAAU,CAAC,YAAAC,GAAe,OAAM,IAAK5tC,KAAK6tC,SAAS,CAAC,YAAAC,GAAe,OAAO9tC,KAAK6tC,WAAW7tC,KAAK+tC,SAAS,CAAC,SAAAC,GAAY,OAAOhuC,KAAK6tC,YAAY7tC,KAAK+tC,SAAS,CAAC,UAAAE,GAAa,OAAOjuC,KAAKrS,UAAUqS,KAAKrS,QAAQ,IAAIyC,SAAQ,CAAEmP,EAAEG,KAAKM,KAAK2tC,YAAW,EAAG3tC,KAAKkuC,SAAQ,CAAEzuD,EAAEuB,KAAKgf,KAAK+tC,UAAUtuD,EAAEugB,KAAK2tC,YAAW,EAAG3tC,KAAK6tC,WAAU,EAAG7tC,KAAK+tC,UAAUxuC,EAAEve,GAAG0e,EAAE1e,EAAG,QAAOgf,KAAKrS,OAAO,CAAC,OAAAugD,CAAQ3uC,GAAG,OAAOA,GAAE,EAAG,CAAC,OAAA4uC,GAAU,IAAI5uC,EAAEG,EAAE,QAAQH,EAAES,KAAKrS,eAAU,IAAS4R,GAAG,QAAQG,EAAEH,EAAE3R,cAAS,IAAS8R,GAAGA,EAAErf,KAAKkf,GAAGS,KAAKrS,QAAQ,KAAKqS,KAAK2tC,WAAW,KAAK3tC,KAAK6tC,UAAU,KAAK7tC,KAAK+tC,UAAU,IAAI,EAAEN,GAAGxH,YAAY,qBAAqBwH,GAAGxH,YAAY,sBAAsB,MAAMmI,WAAWtoC,EAAE,WAAA1kB,CAAYme,GAAG,IAAIG,EAAEviB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAEwpD,SAASxpD,WAAW6iB,KAAKhd,OAAOuc,EAAES,KAAK5W,QAAQsW,EAAEM,KAAKquC,WAAW,GAAGruC,KAAKsuC,SAAStuC,IAAI,CAAC,QAAAuuC,GAAW,OAAOvuC,KAAKwuC,QAAQxuC,KAAKwuC,MAAMxuC,KAAKyuC,eAAezuC,KAAKwuC,MAAM7pD,KAAK4a,GAAGA,EAAEgoB,WAAU,IAAK,CAAC,UAAAmnB,GAAa,IAAInvC,EAAE,OAAOS,KAAKwuC,MAAM,KAAKxuC,KAAKquC,WAAW,GAAG,QAAQ9uC,EAAES,KAAK2uC,kBAAa,IAASpvC,OAAE,EAAOA,EAAEmvC,YAAY,CAAC,uBAAAE,CAAwBrvC,GAAG,IAAIG,EAAE,OAAO,QAAQA,EAAEM,KAAK6uC,kBAAkBtvC,UAAK,IAASG,OAAE,EAAOA,EAAEgvC,YAAY,CAAC,2BAAAI,CAA4BvvC,EAAEG,EAAEjgB,GAAG,IAAIuB,EAAEgf,KAAK+uC,uBAAuBrvC,GAAG,OAAO1e,EAAEgf,KAAKgvC,gBAAgBhuD,IAAIA,EAAEgf,KAAKivC,mBAAmB9xD,WAAW6iB,KAAKkvC,mBAAmBluD,EAAE0e,IAAI1e,CAAC,CAAC,eAAAiuD,CAAgB1vC,EAAEG,GAAG,IAAIjgB,EAAEtC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAEuiB,aAAaktC,KAAKntD,EAAE0vD,UAAU5vC,EAAEA,EAAE6vC,IAAI,MAAMpuD,EAAE,IAAIue,EAAEG,EAAEjgB,GAAG,OAAOugB,KAAKgvC,gBAAgBhuD,EAAE,CAAC,eAAAguD,CAAgBzvC,GAAG,OAAOA,EAAEovC,WAAW3uC,KAAKT,EAAE+uC,SAAStuC,KAAKsuC,SAAStuC,KAAKquC,WAAW7tD,KAAK+e,GAAGA,CAAC,CAAC,gBAAA8vC,GAAmB,IAAI9vC,EAAE,GAAG,OAAOS,KAAKquC,WAAW7qD,SAASkc,IAAIH,EAAE/e,KAAKkf,GAAGH,EAAEA,EAAExZ,OAAO2Z,EAAE2vC,mBAAoB,IAAG9vC,CAAC,CAAC,WAAA+vC,GAAc,OAAOtvC,KAAKuvC,qBAAqBvvC,KAAKhd,OAAO,CAAC,oBAAAusD,CAAqBhwC,GAAG,MAAMG,EAAE,MAAMH,OAAE,EAAOA,EAAEjQ,GAAG,GAAGoQ,EAAE,OAAOM,KAAKsuC,SAASluC,QAAQhB,cAAc,kBAAkBrZ,OAAO2Z,EAAE,MAAM,CAAC,iBAAAmvC,CAAkBtvC,GAAG,IAAI,MAAMG,KAAKM,KAAKqvC,mBAAmB,GAAG3vC,EAAE1c,SAASuc,EAAE,OAAOG,CAAC,CAAC,YAAA8vC,GAAe,OAAOxvC,KAAKsuC,WAAWtuC,KAAKA,KAAKsuC,SAASkB,eAAexvC,KAAKyvC,wBAAwBzvC,KAAK0vC,YAAY1vC,KAAK0vC,UAAU,CAAC,GAAG1vC,KAAK0vC,gBAAW,CAAM,CAAC,oBAAAD,GAAuB,OAAM,IAAKzvC,KAAK2vC,gBAAgB,CAAC,iBAAAC,GAAoB5vC,KAAK2vC,kBAAiB,CAAE,CAAC,kBAAAE,GAAqB7vC,KAAK2vC,kBAAiB,CAAE,CAAC,sBAAAZ,CAAuBxvC,GAAG,IAAIG,EAAE,OAAO,QAAQA,EAAEM,KAAKwvC,sBAAiB,IAAS9vC,OAAE,EAAOA,EAAEH,EAAE4nC,cAAc,CAAC,kBAAA+H,CAAmB3vC,EAAEG,GAAG,MAAMjgB,EAAEugB,KAAKwvC,eAAe/vD,IAAIA,EAAEigB,EAAEynC,eAAe5nC,EAAE,CAAC,yBAAAuwC,GAA4B,MAAMvwC,EAAES,KAAKwvC,eAAe,GAAGjwC,EAAE,CAAC,MAAMG,EAAEM,KAAKqvC,mBAAmBtpD,OAAOia,MAAMrb,KAAK4a,GAAGA,EAAEvc,OAAOmkD,gBAAgB,IAAI,MAAM1nD,KAAK8f,EAAEG,EAAE7O,SAASpR,WAAW8f,EAAE9f,EAAE,CAAC,EAAE,MAAM2vD,WAAWhB,GAAG,WAAAhtD,GAAculD,SAASxpD,WAAW6iB,KAAK+vC,YAAY/vC,KAAKhd,OAAOgd,KAAKmvC,UAAUnvC,KAAK5W,QAAQ+lD,iBAAiBnvC,KAAK5W,QAAQ+lD,SAAS,CAAC,aAAAa,GAAgB,OAAOhwC,KAAKquC,WAAWjxD,QAAQE,MAAMgE,KAAK0e,KAAK+vC,YAAY5C,cAAc3pD,SAAS+b,IAAIS,KAAK8uC,4BAA4B9uC,KAAKmvC,UAAU5vC,EAAES,KAAK5W,QAAS,IAAG4W,KAAKquC,UAAU,CAAC,WAAAI,GAAc,MAAMlvC,EAAES,KAAKiwC,yBAAyB,OAAOjwC,KAAKgwC,gBAAgBxsD,SAASkc,IAAIpiB,MAAMgE,KAAKoe,EAAE6uC,YAAY/qD,SAASkc,IAAIH,EAAEnU,YAAYsU,EAAG,GAAG,IAAG,CAACH,EAAE,CAAC,sBAAA0wC,GAAyB,IAAI1wC,EAAEpiB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG6iB,KAAK+vC,YAAY3C,WAAW,OAAOptC,KAAKgwC,gBAAgB,GAAGC,uBAAuB1wC,EAAE,EACj8xB,MAAM8S,QAAQgP,GAAG6uB,eAAeC,GAAGC,SAASC,GAAG3E,eAAe4E,GAAGjtD,yBAAyBktD,IAAIvyD,OAAO,IAAI6mD,OAAO2L,GAAGC,KAAKC,GAAGl6B,OAAOm6B,IAAI3yD,QAAQN,MAAMkzD,GAAGC,UAAUC,IAAI,oBAAoBC,SAASA,QAAQP,KAAKA,GAAG,SAASjxC,GAAG,OAAOA,CAAC,GAAGmxC,KAAKA,GAAG,SAASnxC,GAAG,OAAOA,CAAC,GAAGqxC,KAAKA,GAAG,SAASrxC,EAAEG,EAAEjgB,GAAG,OAAO8f,EAAE7hB,MAAMgiB,EAAEjgB,EAAE,GAAGqxD,KAAKA,GAAG,SAASvxC,EAAEG,GAAG,OAAO,IAAIH,KAAKG,EAAE,GAAG,MAAMsxC,GAAGC,GAAG3zD,MAAM2D,UAAUuC,SAAS0tD,GAAGD,GAAG3zD,MAAM2D,UAAUg8C,KAAKkU,GAAGF,GAAG3zD,MAAM2D,UAAUT,MAAM4wD,GAAGH,GAAG9sD,OAAOlD,UAAUogB,aAAagwC,GAAGJ,GAAG9sD,OAAOlD,UAAUC,UAAUowD,GAAGL,GAAG9sD,OAAOlD,UAAU4Z,OAAO02C,GAAGN,GAAG9sD,OAAOlD,UAAUkX,SAASq5C,GAAGP,GAAG9sD,OAAOlD,UAAUyB,SAAS+uD,GAAGR,GAAG9sD,OAAOlD,UAAUunD,MAAMkJ,GAAGT,GAAGjzD,OAAOiD,UAAU+c,gBAAgB2zC,GAAGV,GAAG5nC,OAAOpoB,UAAUM,MAAMqwD,IAAIC,GAAGpwD,UAAU,WAAW,IAAI,IAAI8d,EAAEpiB,UAAUC,OAAOsiB,EAAE,IAAIpiB,MAAMiiB,GAAG9f,EAAE,EAAEA,EAAE8f,EAAE9f,IAAIigB,EAAEjgB,GAAGtC,UAAUsC,GAAG,OAAOqxD,GAAGe,GAAGnyC,EAAE,GAAG,IAAImyC,GAAG,SAASZ,GAAG1xC,GAAG,OAAO,SAASG,GAAG,IAAI,IAAIjgB,EAAEtC,UAAUC,OAAO4D,EAAE,IAAI1D,MAAMmC,EAAE,EAAEA,EAAE,EAAE,GAAGggB,EAAE,EAAEA,EAAEhgB,EAAEggB,IAAIze,EAAEye,EAAE,GAAGtiB,UAAUsiB,GAAG,OAAOmxC,GAAGrxC,EAAEG,EAAE1e,EAAE,CAAC,CAAC,SAAS8wD,GAAGvyC,EAAEG,GAAG,IAAIjgB,EAAEtC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAGi0D,GAAGjB,IAAIA,GAAG5wC,EAAE,MAAM,IAAIve,EAAE0e,EAAEtiB,OAAO,KAAK4D,KAAK,CAAC,IAAIye,EAAEC,EAAE1e,GAAG,GAAG,iBAAiBye,EAAE,CAAC,MAAMF,EAAE9f,EAAEggB,GAAGF,IAAIE,IAAI4wC,GAAG3wC,KAAKA,EAAE1e,GAAGue,GAAGE,EAAEF,EAAE,CAACA,EAAEE,IAAG,CAAE,CAAC,OAAOF,CAAC,CAAC,SAASwyC,GAAGxyC,GAAG,IAAI,IAAIG,EAAE,EAAEA,EAAEH,EAAEniB,OAAOsiB,IAAKgyC,GAAGnyC,EAAEG,KAAKH,EAAEG,GAAG,MAAM,OAAOH,CAAC,CAAC,SAASyyC,GAAGzyC,GAAG,MAAMG,EAAEixC,GAAG,MAAM,IAAI,MAAMlxD,EAAEuB,KAAKqgC,GAAG9hB,GAAImyC,GAAGnyC,EAAE9f,KAAKnC,MAAMoC,QAAQsB,GAAG0e,EAAEjgB,GAAGsyD,GAAG/wD,GAAGA,GAAG,iBAAiBA,GAAGA,EAAEI,cAAcpD,OAAO0hB,EAAEjgB,GAAGuyD,GAAGhxD,GAAG0e,EAAEjgB,GAAGuB,GAAG,OAAO0e,CAAC,CAAC,SAASuyC,GAAG1yC,EAAEG,GAAG,KAAK,OAAOH,GAAG,CAAC,MAAM9f,EAAE8wD,GAAGhxC,EAAEG,GAAG,GAAGjgB,EAAE,CAAC,GAAGA,EAAEsgB,IAAI,OAAOkxC,GAAGxxD,EAAEsgB,KAAK,GAAG,mBAAmBtgB,EAAEgB,MAAM,OAAOwwD,GAAGxxD,EAAEgB,MAAM,CAAC8e,EAAE+wC,GAAG/wC,EAAE,CAAC,OAAO,WAAW,OAAO,IAAI,CAAC,CAAC,MAAM2yC,GAAG1B,GAAG,CAAC,IAAI,OAAO,UAAU,UAAU,OAAO,UAAU,QAAQ,QAAQ,IAAI,MAAM,MAAM,MAAM,QAAQ,aAAa,OAAO,KAAK,SAAS,SAAS,UAAU,SAAS,OAAO,OAAO,MAAM,WAAW,UAAU,OAAO,WAAW,KAAK,YAAY,MAAM,UAAU,MAAM,SAAS,MAAM,MAAM,KAAK,KAAK,UAAU,KAAK,WAAW,aAAa,SAAS,OAAO,SAAS,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,OAAO,SAAS,SAAS,KAAK,OAAO,IAAI,MAAM,QAAQ,MAAM,MAAM,QAAQ,SAAS,KAAK,OAAO,MAAM,OAAO,UAAU,OAAO,WAAW,QAAQ,MAAM,OAAO,KAAK,WAAW,SAAS,SAAS,IAAI,UAAU,MAAM,WAAW,IAAI,KAAK,KAAK,OAAO,IAAI,OAAO,UAAU,SAAS,SAAS,QAAQ,SAAS,SAAS,OAAO,SAAS,SAAS,QAAQ,MAAM,UAAU,MAAM,QAAQ,QAAQ,KAAK,WAAW,WAAW,QAAQ,KAAK,QAAQ,OAAO,KAAK,QAAQ,KAAK,IAAI,KAAK,MAAM,QAAQ,QAAQ2B,GAAG3B,GAAG,CAAC,MAAM,IAAI,WAAW,cAAc,eAAe,eAAe,gBAAgB,mBAAmB,SAAS,WAAW,OAAO,OAAO,UAAU,SAAS,OAAO,IAAI,QAAQ,WAAW,QAAQ,QAAQ,OAAO,iBAAiB,SAAS,OAAO,WAAW,QAAQ,OAAO,UAAU,UAAU,WAAW,iBAAiB,OAAO,OAAO,QAAQ,SAAS,SAAS,OAAO,WAAW,QAAQ,OAAO,QAAQ,OAAO,UAAU4B,GAAG5B,GAAG,CAAC,UAAU,gBAAgB,sBAAsB,cAAc,mBAAmB,oBAAoB,oBAAoB,iBAAiB,eAAe,UAAU,UAAU,UAAU,UAAU,UAAU,iBAAiB,UAAU,UAAU,cAAc,eAAe,WAAW,eAAe,qBAAqB,cAAc,SAAS,iBAAiB6B,GAAG7B,GAAG,CAAC,UAAU,gBAAgB,SAAS,UAAU,YAAY,mBAAmB,iBAAiB,gBAAgB,gBAAgB,gBAAgB,QAAQ,YAAY,OAAO,eAAe,YAAY,UAAU,gBAAgB,SAAS,MAAM,aAAa,UAAU,QAAQ8B,GAAG9B,GAAG,CAAC,OAAO,WAAW,SAAS,UAAU,QAAQ,SAAS,KAAK,aAAa,gBAAgB,KAAK,KAAK,QAAQ,UAAU,WAAW,QAAQ,OAAO,KAAK,SAAS,QAAQ,SAAS,OAAO,OAAO,UAAU,SAAS,MAAM,QAAQ,MAAM,SAAS,aAAa,gBAAgB+B,GAAG/B,GAAG,CAAC,UAAU,cAAc,aAAa,WAAW,YAAY,UAAU,UAAU,SAAS,SAAS,QAAQ,YAAY,aAAa,iBAAiB,cAAc,SAASzwD,GAAGywD,GAAG,CAAC,UAAUgC,GAAGhC,GAAG,CAAC,SAAS,SAAS,QAAQ,MAAM,iBAAiB,eAAe,uBAAuB,WAAW,aAAa,UAAU,SAAS,UAAU,cAAc,cAAc,UAAU,OAAO,QAAQ,QAAQ,QAAQ,OAAO,UAAU,WAAW,eAAe,SAAS,cAAc,WAAW,WAAW,UAAU,MAAM,WAAW,0BAA0B,wBAAwB,WAAW,YAAY,UAAU,eAAe,OAAO,MAAM,UAAU,SAAS,SAAS,OAAO,OAAO,WAAW,KAAK,YAAY,YAAY,QAAQ,OAAO,QAAQ,OAAO,OAAO,UAAU,OAAO,MAAM,MAAM,YAAY,QAAQ,SAAS,MAAM,YAAY,WAAW,QAAQ,OAAO,QAAQ,UAAU,aAAa,SAAS,OAAO,UAAU,UAAU,cAAc,cAAc,UAAU,gBAAgB,sBAAsB,SAAS,UAAU,UAAU,aAAa,WAAW,MAAM,WAAW,MAAM,WAAW,OAAO,OAAO,UAAU,aAAa,QAAQ,WAAW,QAAQ,OAAO,QAAQ,OAAO,UAAU,QAAQ,MAAM,SAAS,OAAO,QAAQ,UAAU,WAAW,QAAQ,YAAY,OAAO,SAAS,SAAS,QAAQ,QAAQ,OAAO,QAAQ,SAASiC,GAAGjC,GAAG,CAAC,gBAAgB,aAAa,WAAW,qBAAqB,YAAY,SAAS,gBAAgB,gBAAgB,UAAU,gBAAgB,iBAAiB,QAAQ,OAAO,KAAK,QAAQ,OAAO,gBAAgB,YAAY,YAAY,QAAQ,sBAAsB,8BAA8B,gBAAgB,kBAAkB,KAAK,KAAK,IAAI,KAAK,KAAK,kBAAkB,YAAY,UAAU,UAAU,MAAM,WAAW,YAAY,MAAM,WAAW,OAAO,eAAe,YAAY,SAAS,cAAc,cAAc,gBAAgB,cAAc,YAAY,mBAAmB,eAAe,aAAa,eAAe,cAAc,KAAK,KAAK,KAAK,KAAK,aAAa,WAAW,gBAAgB,oBAAoB,SAAS,OAAO,KAAK,kBAAkB,KAAK,MAAM,YAAY,IAAI,KAAK,KAAK,KAAK,KAAK,UAAU,YAAY,aAAa,WAAW,OAAO,eAAe,iBAAiB,eAAe,mBAAmB,iBAAiB,QAAQ,aAAa,aAAa,eAAe,eAAe,cAAc,cAAc,mBAAmB,YAAY,MAAM,OAAO,QAAQ,SAAS,OAAO,MAAM,OAAO,aAAa,SAAS,WAAW,UAAU,QAAQ,SAAS,cAAc,SAAS,WAAW,cAAc,OAAO,aAAa,sBAAsB,mBAAmB,eAAe,SAAS,gBAAgB,sBAAsB,iBAAiB,IAAI,KAAK,KAAK,SAAS,OAAO,OAAO,cAAc,YAAY,UAAU,SAAS,SAAS,QAAQ,OAAO,kBAAkB,QAAQ,mBAAmB,mBAAmB,eAAe,cAAc,eAAe,cAAc,aAAa,eAAe,mBAAmB,oBAAoB,iBAAiB,kBAAkB,oBAAoB,iBAAiB,SAAS,eAAe,QAAQ,eAAe,iBAAiB,WAAW,cAAc,UAAU,UAAU,YAAY,mBAAmB,cAAc,kBAAkB,iBAAiB,aAAa,OAAO,KAAK,KAAK,UAAU,SAAS,UAAU,aAAa,UAAU,aAAa,gBAAgB,gBAAgB,QAAQ,eAAe,OAAO,eAAe,mBAAmB,mBAAmB,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,eAAekC,GAAGlC,GAAG,CAAC,SAAS,cAAc,QAAQ,WAAW,QAAQ,eAAe,cAAc,aAAa,aAAa,QAAQ,MAAM,UAAU,eAAe,WAAW,QAAQ,QAAQ,SAAS,OAAO,KAAK,UAAU,SAAS,gBAAgB,SAAS,SAAS,iBAAiB,YAAY,WAAW,cAAc,UAAU,UAAU,gBAAgB,WAAW,WAAW,OAAO,WAAW,WAAW,aAAa,UAAU,SAAS,SAAS,cAAc,gBAAgB,uBAAuB,YAAY,YAAY,aAAa,WAAW,iBAAiB,iBAAiB,YAAY,UAAU,QAAQ,UAAUmC,GAAGnC,GAAG,CAAC,aAAa,SAAS,cAAc,YAAY,gBAAgBoC,GAAGlC,GAAG,6BAA6BmC,GAAGnC,GAAG,yBAAyBoC,GAAGpC,GAAG,kBAAkBqC,GAAGrC,GAAG,gCAAgCsC,GAAGtC,GAAG,kBAAkBuC,GAAGvC,GAAG,6FAA6FwC,GAAGxC,GAAG,yBAAyByC,GAAGzC,GAAG,+DAA+D0C,GAAG1C,GAAG,WAAW2C,GAAG3C,GAAG,4BAA4B,IAAI4C,GAAGt1D,OAAO6mD,OAAO,CAACC,UAAU,KAAKyO,UAAUP,GAAGQ,gBAAgBL,GAAGM,eAAeJ,GAAGK,UAAUX,GAAGY,aAAaP,GAAGQ,SAASf,GAAGgB,eAAeZ,GAAGa,kBAAkBZ,GAAGa,cAAcnB,GAAGoB,YAAYlB,KAAgG,IAAImB,GAAG,SAAS10C,IAAI,IAAIG,EAAEviB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAtH,oBAAoBiN,OAAO,KAAKA,OAA8F,MAAM3K,EAAEigB,GAAGH,EAAEG,GAAG,GAAGjgB,EAAE4F,QAAQ,QAAQ5F,EAAEy0D,QAAQ,IAAIx0C,IAAIA,EAAE9U,UAA7M,IAAuN8U,EAAE9U,SAASsa,SAAc,OAAOzlB,EAAE00D,aAAY,EAAG10D,EAAE,IAAImL,SAAS5J,GAAG0e,EAAE,MAAMD,EAAEze,EAAEH,EAAE4e,EAAE20C,eAAeC,iBAAiB70C,EAAE80C,oBAAoBtmD,EAAEu0C,KAAKriC,EAAEo3B,QAAQ70B,EAAEogC,WAAWljC,EAAE40C,aAAa30C,EAAEF,EAAE60C,cAAc70C,EAAE80C,gBAAgBC,gBAAgB1xC,EAAE4mC,UAAUhmC,EAAE+wC,aAAa9wC,GAAGlE,EAAEG,EAAE4C,EAAExhB,UAAUuhB,EAAEyvC,GAAGpyC,EAAE,aAAa5R,EAAEgkD,GAAGpyC,EAAE,UAAU6C,EAAEuvC,GAAGpyC,EAAE,eAAeuF,EAAE6sC,GAAGpyC,EAAE,cAAcgD,EAAEovC,GAAGpyC,EAAE,cAAc,GAAG,mBAAmB7R,EAAE,CAAC,MAAMuR,EAAEve,EAAE6J,cAAc,YAAY0U,EAAEF,SAASE,EAAEF,QAAQs1C,gBAAgB3zD,EAAEue,EAAEF,QAAQs1C,cAAc,CAAC,IAAIz1D,EAAEklB,EAAE,GAAG,MAAMwwC,eAAex7B,EAAEy7B,mBAAmBlwC,EAAEixB,uBAAuBnc,EAAEq7B,qBAAqB5wC,GAAGljB,GAAG+zD,WAAW5vC,GAAG1F,EAAE,IAAIoE,EAAE,CAACmxC,wBAAwB,GAAGC,sBAAsB,GAAGC,uBAAuB,GAAGC,yBAAyB,GAAGC,uBAAuB,GAAGC,wBAAwB,GAAGC,sBAAsB,GAAGC,oBAAoB,GAAGC,uBAAuB,IAAI/1D,EAAE00D,YAAY,mBAAmB9yB,IAAI,mBAAmBxe,GAAGuW,QAAG,IAASA,EAAEq8B,mBAAmB,MAAM1B,cAAcvuC,EAAEouC,SAASnuC,EAAEuuC,YAAYpvC,EAAE8uC,UAAU3uC,EAAEwuC,UAAUvuC,EAAE8uC,kBAAkB56B,EAAEs6B,gBAAgB9uC,EAAE+uC,eAAe1vC,GAAGuvC,GAAG,IAAIO,eAAetsC,GAAG+rC,GAAGt2C,EAAE,KAAK,MAAMyH,EAAEqtC,GAAG,CAAC,EAAE,IAAII,MAAMC,MAAMC,MAAME,MAAMvyD,KAAK,IAAIo6B,EAAE,KAAK,MAAMR,EAAEm4B,GAAG,CAAC,EAAE,IAAIU,MAAMC,MAAMC,MAAMC,KAAK,IAAI74B,EAAE97B,OAAOyyD,KAAKE,GAAG,KAAK,CAAC+E,aAAa,CAAClxD,UAAS,EAAGD,cAAa,EAAGjB,YAAW,EAAG7C,MAAM,MAAMk1D,mBAAmB,CAACnxD,UAAS,EAAGD,cAAa,EAAGjB,YAAW,EAAG7C,MAAM,MAAMm1D,+BAA+B,CAACpxD,UAAS,EAAGD,cAAa,EAAGjB,YAAW,EAAG7C,OAAM,MAAOmmB,EAAE,KAAKd,EAAE,KAAKJ,GAAE,EAAG8S,GAAE,EAAGC,GAAE,EAAGU,GAAE,EAAGT,GAAE,EAAG7T,GAAE,EAAG8T,GAAE,EAAGqB,GAAE,EAAGC,GAAE,EAAGotB,IAAG,EAAGb,IAAG,EAAGE,IAAG,EAAGa,IAAG,EAAGC,IAAG,EAAGQ,IAAG,EAAGC,IAAG,EAAGC,GAAG,CAAC,EAAEC,GAAG,KAAK,MAAMM,GAAGqJ,GAAG,CAAC,EAAE,CAAC,iBAAiB,QAAQ,WAAW,OAAO,gBAAgB,OAAO,SAAS,OAAO,KAAK,KAAK,KAAK,KAAK,QAAQ,UAAU,WAAW,WAAW,YAAY,SAAS,QAAQ,MAAM,WAAW,QAAQ,QAAQ,QAAQ,QAAQ,IAAIpJ,GAAG,KAAK,MAAMC,GAAGmJ,GAAG,CAAC,EAAE,CAAC,QAAQ,QAAQ,MAAM,SAAS,QAAQ,UAAU,IAAIlJ,GAAG,KAAK,MAAMC,GAAGiJ,GAAG,CAAC,EAAE,CAAC,MAAM,QAAQ,MAAM,KAAK,QAAQ,OAAO,UAAU,cAAc,OAAO,UAAU,QAAQ,QAAQ,QAAQ,UAAU9I,GAAG,qCAAqCD,GAAG,6BAA6BE,GAAG,+BAA+B,IAAIH,GAAGG,GAAGC,IAAG,EAAGC,GAAG,KAAK,MAAMC,GAAG0I,GAAG,CAAC,EAAE,CAAC9I,GAAGD,GAAGE,IAAIoI,IAAI,IAAI/H,GAAGwI,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,UAAUtI,GAAGsI,GAAG,CAAC,EAAE,CAAC,mBAAmB,MAAMrI,GAAGqI,GAAG,CAAC,EAAE,CAAC,QAAQ,QAAQ,OAAO,IAAI,WAAW,IAAIjI,GAAG,KAAK,MAAME,GAAG,CAAC,wBAAwB,aAAa,IAAIC,GAAG,KAAKC,GAAG,KAAK,MAAMC,GAAGlpD,EAAE6J,cAAc,QAAQu/C,GAAG,SAAS7qC,GAAG,OAAOA,aAAa8J,QAAQ9J,aAAa8mC,QAAQ,EAAEiE,GAAG,WAAW,IAAI/qC,EAAEpiB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAE,IAAI8sD,IAAIA,KAAK1qC,EAAE,CAAC,GAAGA,GAAG,iBAAiBA,IAAIA,EAAE,CAAC,GAAGA,EAAEyyC,GAAGzyC,GAAGsqC,IAAI,IAAIE,GAAGrnD,QAAQ6c,EAAEs2C,mBAAmB,YAAYt2C,EAAEs2C,kBAAkB7L,GAAG,0BAA0BH,GAAGwH,GAAGD,GAAGp0C,EAAE00C,GAAGnyC,EAAE,gBAAgBuyC,GAAG,CAAC,EAAEvyC,EAAEu2C,aAAa9L,IAAIvlC,EAAE0V,EAAEu3B,GAAGnyC,EAAE,gBAAgBuyC,GAAG,CAAC,EAAEvyC,EAAEw2C,aAAa/L,IAAIrwB,EAAEwvB,GAAGuI,GAAGnyC,EAAE,sBAAsBuyC,GAAG,CAAC,EAAEvyC,EAAEy2C,mBAAmB3E,IAAIjI,GAAGR,GAAG8I,GAAGnyC,EAAE,qBAAqBuyC,GAAGE,GAAGnJ,IAAItpC,EAAE02C,kBAAkBjM,IAAInB,GAAGH,GAAGgJ,GAAGnyC,EAAE,qBAAqBuyC,GAAGE,GAAGrJ,IAAIppC,EAAE22C,kBAAkBlM,IAAIrB,GAAGR,GAAGuJ,GAAGnyC,EAAE,mBAAmBuyC,GAAG,CAAC,EAAEvyC,EAAE42C,gBAAgBnM,IAAIvB,GAAG7hC,EAAE8qC,GAAGnyC,EAAE,eAAeuyC,GAAG,CAAC,EAAEvyC,EAAE62C,YAAYpM,IAAI,CAAC,EAAElkC,EAAE4rC,GAAGnyC,EAAE,eAAeuyC,GAAG,CAAC,EAAEvyC,EAAE82C,YAAYrM,IAAI,CAAC,EAAE9B,KAAKwJ,GAAGnyC,EAAE,iBAAiBA,EAAE+2C,aAAa5wC,GAAE,IAAKnG,EAAEg3C,gBAAgB/9B,GAAE,IAAKjZ,EAAEi3C,gBAAgB/9B,EAAElZ,EAAEk3C,0BAAyB,EAAGt9B,GAAE,IAAK5Z,EAAEm3C,yBAAyBh+B,EAAEnZ,EAAEo3C,qBAAoB,EAAG9xC,GAAE,IAAKtF,EAAE+gC,aAAa3nB,EAAEpZ,EAAEq3C,iBAAgB,EAAGvP,GAAG9nC,EAAEghC,aAAY,EAAGiG,GAAGjnC,EAAEs3C,sBAAqB,EAAGnQ,GAAGnnC,EAAEu3C,sBAAqB,EAAG78B,EAAE1a,EAAEw3C,aAAY,EAAGxP,IAAG,IAAKhoC,EAAEy3C,aAAaxP,GAAGjoC,EAAE03C,uBAAsB,EAAGjP,IAAG,IAAKzoC,EAAE23C,aAAajP,GAAG1oC,EAAE43C,WAAU,EAAG5vC,EAAEhI,EAAE63C,oBAAoBnE,GAAGnK,GAAGvpC,EAAE83C,WAAWpO,GAAGK,GAAG/pC,EAAE+3C,gCAAgChO,GAAGE,GAAGjqC,EAAEg4C,yBAAyB/N,GAAG1vB,EAAEva,EAAEi4C,yBAAyB,CAAC,EAAEj4C,EAAEi4C,yBAAyBpN,GAAG7qC,EAAEi4C,wBAAwB9B,gBAAgB57B,EAAE47B,aAAan2C,EAAEi4C,wBAAwB9B,cAAcn2C,EAAEi4C,yBAAyBpN,GAAG7qC,EAAEi4C,wBAAwB7B,sBAAsB77B,EAAE67B,mBAAmBp2C,EAAEi4C,wBAAwB7B,oBAAoBp2C,EAAEi4C,yBAAyB,kBAAkBj4C,EAAEi4C,wBAAwB5B,iCAAiC97B,EAAE87B,+BAA+Br2C,EAAEi4C,wBAAwB5B,gCAAgCl9B,IAAIF,GAAE,GAAIguB,KAAKa,IAAG,GAAIa,KAAKlrC,EAAE80C,GAAG,CAAC,EAAE/xD,IAAIo6B,EAAE,IAAG,IAAK+tB,GAAG93B,OAAO0hC,GAAG90C,EAAEk1C,IAAIJ,GAAG33B,EAAEq4B,MAAK,IAAKtK,GAAGuP,MAAM3F,GAAG90C,EAAEm1C,IAAIL,GAAG33B,EAAEs4B,IAAIX,GAAG33B,EAAEw4B,MAAK,IAAKzK,GAAGwP,aAAa5F,GAAG90C,EAAEo1C,IAAIN,GAAG33B,EAAEs4B,IAAIX,GAAG33B,EAAEw4B,MAAK,IAAKzK,GAAGyP,SAAS7F,GAAG90C,EAAEs1C,IAAIR,GAAG33B,EAAEu4B,IAAIZ,GAAG33B,EAAEw4B,MAAMpzC,EAAEq4C,WAAW56C,IAAIyH,IAAIzH,EAAEg1C,GAAGh1C,IAAI80C,GAAG90C,EAAEuC,EAAEq4C,SAAS5N,KAAKzqC,EAAE8gC,WAAWlmB,IAAIR,IAAIQ,EAAE63B,GAAG73B,IAAI23B,GAAG33B,EAAE5a,EAAE8gC,SAAS2J,KAAKzqC,EAAE02C,mBAAmBnE,GAAGlJ,GAAGrpC,EAAE02C,kBAAkBjM,IAAIzqC,EAAE42C,kBAAkBhO,KAAKM,KAAKN,GAAG6J,GAAG7J,KAAK2J,GAAG3J,GAAG5oC,EAAE42C,gBAAgBnM,KAAKhC,KAAKhrC,EAAE,UAAS,GAAI2b,GAAGm5B,GAAG90C,EAAE,CAAC,OAAO,OAAO,SAASA,EAAE66C,QAAQ/F,GAAG90C,EAAE,CAAC,iBAAiB4J,EAAEkxC,OAAOv4C,EAAEw4C,qBAAqB,CAAC,GAAG,mBAAmBx4C,EAAEw4C,qBAAqBC,WAAW,MAAMpG,GAAG,+EAA+E,GAAG,mBAAmBryC,EAAEw4C,qBAAqBE,gBAAgB,MAAMrG,GAAG,oFAAoF1yD,EAAEqgB,EAAEw4C,qBAAqB3zC,EAAEllB,EAAE84D,WAAW,GAAG,WAAM,IAAS94D,IAAIA,EAAE,SAASqgB,EAAEG,GAAG,GAAG,iBAAiBH,GAAG,mBAAmBA,EAAE24C,aAAa,OAAO,KAAK,IAAIz4D,EAAE,KAAK,MAAMuB,EAAE,wBAAwB0e,GAAGA,EAAEy4C,aAAan3D,KAAKvB,EAAEigB,EAAE8kC,aAAaxjD,IAAI,MAAMye,EAAE,aAAahgB,EAAE,IAAIA,EAAE,IAAI,IAAI,OAAO8f,EAAE24C,aAAaz4C,EAAE,CAACu4C,WAAWz4C,GAAGA,EAAE04C,gBAAgB14C,GAAGA,GAAG,CAAC,MAAMA,GAAG,OAAOtU,QAAQ6pB,KAAK,uBAAuBrV,EAAE,0BAA0B,IAAI,CAAC,CAApW,CAAsWmE,EAAE/iB,IAAI,OAAO3B,GAAG,iBAAiBklB,IAAIA,EAAEllB,EAAE84D,WAAW,KAAKxH,IAAIA,GAAGjxC,GAAG0qC,GAAG1qC,CAAC,CAAC,EAAE4qC,GAAG2H,GAAG,CAAC,EAAE,IAAIK,MAAMC,MAAMC,KAAKhI,GAAGyH,GAAG,CAAC,EAAE,IAAIQ,MAAMC,KAAKhI,GAAG,SAAShrC,GAAG4xC,GAAG1xD,EAAEy0D,QAAQ,CAAC9zC,QAAQb,IAAI,IAAIsD,EAAEtD,GAAGqD,YAAYrD,EAAE,CAAC,MAAMG,GAAGzR,EAAEsR,EAAE,CAAC,EAAEurC,GAAG,SAASvrC,EAAEG,GAAG,IAAIyxC,GAAG1xD,EAAEy0D,QAAQ,CAACrrC,UAAUnJ,EAAE04C,iBAAiB74C,GAAGje,KAAKoe,GAAG,CAAC,MAAMH,GAAG4xC,GAAG1xD,EAAEy0D,QAAQ,CAACrrC,UAAU,KAAKvnB,KAAKoe,GAAG,CAAC,GAAGA,EAAE8B,gBAAgBjC,GAAG,OAAOA,EAAE,GAAG8nC,IAAIb,GAAG,IAAI+D,GAAG7qC,EAAE,CAAC,MAAMH,GAAG,MAAM,IAAIG,EAAEY,aAAaf,EAAE,GAAG,CAAC,MAAMA,GAAG,CAAC,EAAEwrC,GAAG,SAASxrC,GAAG,IAAIG,EAAE,KAAKjgB,EAAE,KAAK,GAAGw6B,EAAE1a,EAAE,oBAAoBA,MAAM,CAAC,MAAMG,EAAE4xC,GAAG/xC,EAAE,eAAe9f,EAAEigB,GAAGA,EAAE,EAAE,CAAC,0BAA0BmqC,IAAIf,KAAKG,KAAK1pC,EAAE,iEAAiEA,EAAE,kBAAkB,MAAME,EAAEvgB,EAAEA,EAAE84D,WAAWz4C,GAAGA,EAAE,GAAGupC,KAAKG,GAAG,IAAIvpC,GAAE,IAAKiE,GAAGimC,gBAAgBnqC,EAAEoqC,GAAG,CAAC,MAAMtqC,GAAG,CAAC,IAAIG,IAAIA,EAAE8M,gBAAgB,CAAC9M,EAAE0Z,EAAEi/B,eAAevP,GAAG,WAAW,MAAM,IAAIppC,EAAE8M,gBAAgB9L,UAAUwoC,GAAG9kC,EAAE3E,CAAC,CAAC,MAAMF,GAAG,CAAC,CAAC,MAAM1e,EAAE6e,EAAEvU,MAAMuU,EAAE8M,gBAAgB,OAAOjN,GAAG9f,GAAGoB,EAAEokB,aAAajkB,EAAE+lB,eAAetnB,GAAGoB,EAAEqmB,WAAW,IAAI,MAAM4hC,KAAKG,GAAG/kC,EAAE7jB,KAAKqf,EAAEiZ,EAAE,OAAO,QAAQ,GAAGA,EAAEjZ,EAAE8M,gBAAgB3rB,CAAC,EAAEoqD,GAAG,SAAS1rC,GAAG,OAAOoF,EAAEtkB,KAAKkf,EAAEo1C,eAAep1C,EAAEA,EAAEI,EAAEmjC,aAAanjC,EAAEqjC,aAAarjC,EAAEojC,UAAUpjC,EAAE24C,4BAA4B34C,EAAE44C,mBAAmB,KAAK,EAAEnN,GAAG,SAAS7rC,GAAG,OAAOA,aAAawD,IAAI,iBAAiBxD,EAAEi5C,UAAU,iBAAiBj5C,EAAEwR,aAAa,mBAAmBxR,EAAEqD,eAAerD,EAAE4H,sBAAsBvH,IAAI,mBAAmBL,EAAEiC,iBAAiB,mBAAmBjC,EAAEe,cAAc,iBAAiBf,EAAEk5C,cAAc,mBAAmBl5C,EAAE0F,cAAc,mBAAmB1F,EAAEm5C,cAAc,EAAEvN,GAAG,SAAS5rC,GAAG,MAAM,mBAAmBW,GAAGX,aAAaW,CAAC,EAAE,SAASqrC,GAAGhsC,EAAEG,EAAE1e,GAAGgwD,GAAGzxC,GAAGA,IAAIA,EAAElf,KAAKZ,EAAEigB,EAAE1e,EAAEipD,GAAI,GAAE,CAAC,MAAM0B,GAAG,SAASpsC,GAAG,IAAIG,EAAE,KAAK,GAAG6rC,GAAG1nC,EAAEuxC,uBAAuB71C,EAAE,MAAM6rC,GAAG7rC,GAAG,OAAOgrC,GAAGhrC,IAAG,EAAG,MAAMve,EAAEgpD,GAAGzqC,EAAEi5C,UAAU,GAAGjN,GAAG1nC,EAAE0xC,oBAAoBh2C,EAAE,CAACsC,QAAQ7gB,EAAE23D,YAAY37C,IAAIuC,EAAEm5C,kBAAkBvN,GAAG5rC,EAAEy4B,oBAAoB2Z,GAAG,UAAUpyC,EAAEmB,YAAYixC,GAAG,UAAUpyC,EAAEwR,aAAa,OAAOw5B,GAAGhrC,IAAG,EAAG,GAA5/O,IAA+/OA,EAAE2F,SAAc,OAAOqlC,GAAGhrC,IAAG,EAAG,GAAGsF,GAA7hP,IAAgiPtF,EAAE2F,UAAeysC,GAAG,UAAUpyC,EAAE0H,MAAM,OAAOsjC,GAAGhrC,IAAG,EAAG,IAAIvC,EAAEhc,IAAI4lB,EAAE5lB,GAAG,CAAC,IAAI4lB,EAAE5lB,IAAI6qD,GAAG7qD,GAAG,CAAC,GAAG84B,EAAE47B,wBAAwBrsC,QAAQsoC,GAAG73B,EAAE47B,aAAa10D,GAAG,OAAM,EAAG,GAAG84B,EAAE47B,wBAAwBrP,UAAUvsB,EAAE47B,aAAa10D,GAAG,OAAM,CAAE,CAAC,GAAGgnD,KAAKG,GAAGnnD,GAAG,CAAC,MAAM0e,EAAEmD,EAAEtD,IAAIA,EAAEoD,WAAWljB,EAAE2lB,EAAE7F,IAAIA,EAAE2H,WAAW,GAAGznB,GAAGigB,EAAG,IAAI,IAAI1e,EAAEvB,EAAErC,OAAO,EAAE4D,GAAG,IAAIA,EAAE,CAAC,MAAMye,EAAE+C,EAAE/iB,EAAEuB,IAAG,GAAIye,EAAEm5C,gBAAgBr5C,EAAEq5C,gBAAgB,GAAG,EAAEl5C,EAAEuF,aAAaxF,EAAEiD,EAAEnD,GAAG,CAAE,CAAC,OAAOgrC,GAAGhrC,IAAG,CAAE,CAAC,OAAOA,aAAakD,IAAI,SAASlD,GAAG,IAAIG,EAAEmD,EAAEtD,GAAGG,GAAGA,EAAEmC,UAAUnC,EAAE,CAAC+4C,aAAa3P,GAAGjnC,QAAQ,aAAa,MAAMpiB,EAAE2xD,GAAG7xC,EAAEsC,SAAS7gB,EAAEowD,GAAG1xC,EAAEmC,SAAS,QAAQsnC,GAAG5pC,EAAEk5C,gBAAgBl5C,EAAEk5C,eAAe1P,GAAGrpC,EAAE+4C,eAAexP,GAAG,QAAQxpD,EAAEigB,EAAE+4C,eAAezP,GAAG,QAAQvpD,IAAI,mBAAmBuB,GAAGsoD,GAAGtoD,IAAIuP,QAAQ45C,GAAG1qD,IAAI8f,EAAEk5C,eAAezP,GAAGtpC,EAAE+4C,eAAexP,GAAG,SAASxpD,EAAEigB,EAAE+4C,eAAe1P,GAAG,SAAStpD,GAAG+pD,GAAGxoD,GAAGuP,QAAQ85C,GAAG5qD,IAAI8f,EAAEk5C,eAAexP,KAAKvpC,EAAE+4C,eAAe1P,KAAKS,GAAGxoD,OAAO0e,EAAE+4C,eAAezP,KAAKM,GAAGtoD,MAAMqpD,GAAG5qD,KAAKgqD,GAAGhqD,KAAK0qD,GAAG1qD,MAAM,0BAA0BoqD,KAAKV,GAAG5pC,EAAEk5C,eAAe,CAAxhB,CAA0hBl5C,IAAIgrC,GAAGhrC,IAAG,GAAI,aAAave,GAAG,YAAYA,GAAG,aAAaA,IAAI2wD,GAAG,8BAA8BpyC,EAAEmB,YAAYgY,GAAjnR,IAAonRnZ,EAAE2F,WAAgBxF,EAAEH,EAAEwR,YAAYigC,GAAG,CAACxrC,EAAEC,EAAEb,IAAIrF,IAAIG,EAAE6xC,GAAG7xC,EAAEH,EAAE,IAAK,IAAGA,EAAEwR,cAAcrR,IAAIyxC,GAAG1xD,EAAEy0D,QAAQ,CAAC9zC,QAAQb,EAAEgoB,cAAchoB,EAAEwR,YAAYrR,IAAI6rC,GAAG1nC,EAAEoxC,sBAAsB11C,EAAE,OAAM,IAAKgrC,GAAGhrC,IAAG,EAAG,EAAEqsC,GAAG,SAASrsC,EAAEG,EAAEjgB,GAAG,GAAG8nD,KAAK,OAAO7nC,GAAG,SAASA,KAAKjgB,KAAKuB,GAAGvB,KAAKyqD,IAAI,OAAM,EAAG,GAAG1xB,IAAI1S,EAAEpG,IAAIiyC,GAAG5sC,EAAErF,SAAS,GAAGgG,GAAGisC,GAAG3sC,EAAEtF,SAAS,IAAIya,EAAEza,IAAIoG,EAAEpG,IAAI,KAAKmsC,GAAGtsC,KAAKua,EAAE47B,wBAAwBrsC,QAAQsoC,GAAG73B,EAAE47B,aAAan2C,IAAIua,EAAE47B,wBAAwBrP,UAAUvsB,EAAE47B,aAAan2C,MAAMua,EAAE67B,8BAA8BtsC,QAAQsoC,GAAG73B,EAAE67B,mBAAmBj2C,IAAIoa,EAAE67B,8BAA8BtP,UAAUvsB,EAAE67B,mBAAmBj2C,KAAK,OAAOA,GAAGoa,EAAE87B,iCAAiC97B,EAAE47B,wBAAwBrsC,QAAQsoC,GAAG73B,EAAE47B,aAAaj2D,IAAIq6B,EAAE47B,wBAAwBrP,UAAUvsB,EAAE47B,aAAaj2D,KAAK,OAAM,OAAQ,GAAGmpD,GAAGlpC,SAAS,GAAGiyC,GAAGpqC,EAAEgqC,GAAG9xD,EAAEilB,EAAE,WAAW,GAAG,QAAQhF,GAAG,eAAeA,GAAG,SAASA,GAAG,WAAWH,GAAG,IAAIiyC,GAAG/xD,EAAE,WAAWipD,GAAGnpC,GAAI,GAAGkZ,IAAIk5B,GAAGz4B,EAAEq4B,GAAG9xD,EAAEilB,EAAE,WAAW,GAAGjlB,EAAE,OAAM,EAAQ,OAAM,CAAE,EAAEosD,GAAG,SAAStsC,GAAG,MAAM,mBAAmBA,GAAG+xC,GAAG/xC,EAAEwE,EAAE,EAAE+nC,GAAG,SAASvsC,GAAGgsC,GAAG1nC,EAAEsxC,yBAAyB51C,EAAE,MAAM,MAAM4H,WAAWzH,GAAGH,EAAE,IAAIG,GAAG0rC,GAAG7rC,GAAG,OAAO,MAAMve,EAAE,CAAC63D,SAAS,GAAGC,UAAU,GAAGC,UAAS,EAAGC,kBAAkB7+B,EAAE8+B,mBAAc,GAAQ,IAAIx5C,EAAEC,EAAEtiB,OAAO,KAAKqiB,KAAK,CAAC,MAAM5e,EAAE6e,EAAED,IAAIpe,KAAKme,EAAEi5C,aAAazqD,EAAEvN,MAAMyf,GAAGrf,EAAE4hB,EAAEunC,GAAGxqC,GAAG,IAAIG,EAAE,UAAUH,EAAEU,EAAEuxC,GAAGvxC,GAAG,GAAGlf,EAAE63D,SAASp2C,EAAEzhB,EAAE83D,UAAUn5C,EAAE3e,EAAE+3D,UAAS,EAAG/3D,EAAEi4D,mBAAc,EAAO1N,GAAG1nC,EAAEyxC,sBAAsB/1C,EAAEve,GAAG2e,EAAE3e,EAAE83D,WAAWtR,IAAI,OAAO/kC,GAAG,SAASA,IAAIqoC,GAAGtrC,EAAED,GAAGI,EAAE,gBAAgBA,GAAGkF,GAAG8sC,GAAG,gCAAgChyC,GAAG,CAACmrC,GAAGtrC,EAAED,GAAG,QAAQ,CAAC,GAAGve,EAAEi4D,cAAc,SAAS,GAAGnO,GAAGtrC,EAAED,IAAIve,EAAE+3D,SAAS,SAAS,IAAI5/B,GAAGw4B,GAAG,OAAOhyC,GAAG,CAACmrC,GAAGtrC,EAAED,GAAG,QAAQ,CAACmZ,GAAGs4B,GAAG,CAACxrC,EAAEC,EAAEb,IAAIrF,IAAII,EAAE4xC,GAAG5xC,EAAEJ,EAAE,IAAK,IAAG,MAAMK,EAAEoqC,GAAGzqC,EAAEi5C,UAAU,GAAG5M,GAAGhsC,EAAE6C,EAAE9C,GAAG,CAAC,GAAGzgB,GAAG,iBAAiB0kB,GAAG,mBAAmBA,EAAEs1C,iBAAiB,GAAGlrD,QAAQ,OAAO4V,EAAEs1C,iBAAiBt5C,EAAE6C,IAAI,IAAI,cAAc9C,EAAEzgB,EAAE84D,WAAWr4C,GAAG,MAAM,IAAI,mBAAmBA,EAAEzgB,EAAE+4D,gBAAgBt4C,GAAG,IAAI3R,EAAEuR,EAAE45C,eAAenrD,EAAEwR,EAAEG,GAAGJ,EAAEe,aAAad,EAAEG,GAAGyrC,GAAG7rC,GAAGgrC,GAAGhrC,GAAG2xC,GAAGzxD,EAAEy0D,QAAQ,CAAC,MAAM30C,GAAG,CAAC,CAAC,CAACgsC,GAAG1nC,EAAEmxC,wBAAwBz1C,EAAE,KAAK,EAAEwsC,GAAG,SAASxsC,EAAEG,GAAG,IAAIjgB,EAAE,KAAK,MAAMuB,EAAEiqD,GAAGvrC,GAAG,IAAI6rC,GAAG1nC,EAAEwxC,wBAAwB31C,EAAE,MAAMjgB,EAAEuB,EAAEo4D,YAAY7N,GAAG1nC,EAAE2xC,uBAAuB/1D,EAAE,MAAMksD,GAAGlsD,GAAGqsD,GAAGrsD,GAAGA,EAAE4f,mBAAmBG,GAAGD,EAAE9f,EAAE4f,SAASksC,GAAG1nC,EAAEqxC,uBAAuBx1C,EAAE,KAAK,EAAE,OAAOjgB,EAAE45D,SAAS,SAAS95C,GAAG,IAAIG,EAAEviB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAE6D,EAAE,KAAKH,EAAE,KAAKmN,EAAE,KAAKyU,EAAE,KAAK,GAAGymC,IAAI3pC,EAAE2pC,KAAK3pC,EAAE,eAAe,iBAAiBA,IAAI4rC,GAAG5rC,GAAG,CAAC,GAAG,mBAAmBA,EAAEre,SAAS,MAAM0wD,GAAG,8BAA8B,GAAG,iBAAiBryC,EAAEA,EAAEre,YAAY,MAAM0wD,GAAG,kCAAkC,CAAC,IAAInyD,EAAE00D,YAAY,OAAO50C,EAAE,GAAGya,GAAGswB,GAAG5qC,GAAGjgB,EAAEy0D,QAAQ,GAAG,iBAAiB30C,IAAI0oC,IAAG,GAAIA,IAAI,GAAG1oC,EAAEi5C,SAAS,CAAC,MAAM94C,EAAEsqC,GAAGzqC,EAAEi5C,UAAU,IAAIx7C,EAAE0C,IAAIkH,EAAElH,GAAG,MAAMkyC,GAAG,0DAA0D,OAAO,GAAGryC,aAAaW,EAAElf,EAAE+pD,GAAG,iBAAiBlqD,EAAEG,EAAE2zD,cAAcI,WAAWx1C,GAAE,GAA55W,IAAg6W1e,EAAEqkB,UAAe,SAASrkB,EAAE23D,UAAU,SAAS33D,EAAE23D,SAASx3D,EAAEH,EAAEG,EAAEoK,YAAYvK,OAAO,CAAC,IAAIwmD,KAAK3uB,IAAIC,IAAI,IAAIpZ,EAAE7c,QAAQ,KAAK,OAAOxD,GAAGwnD,GAAGxnD,EAAE84D,WAAWz4C,GAAGA,EAAE,GAAGve,EAAE+pD,GAAGxrC,IAAIve,EAAE,OAAOqmD,GAAG,KAAKX,GAAGtiC,EAAE,EAAE,CAACpjB,GAAGi5B,GAAGswB,GAAGvpD,EAAEwmB,YAAY,MAAM7H,EAAEsrC,GAAGhD,GAAG1oC,EAAEve,GAAG,KAAKgN,EAAE2R,EAAEy5C,YAAYzN,GAAG39C,GAAG89C,GAAG99C,GAAGA,EAAEqR,mBAAmBG,GAAGusC,GAAG/9C,EAAEqR,SAAS,GAAG4oC,GAAG,OAAO1oC,EAAE,GAAG8nC,GAAG,CAAC,GAAGb,GAAG,IAAI/jC,EAAEgX,EAAEp5B,KAAKW,EAAE2zD,eAAe3zD,EAAEwmB,YAAY/E,EAAErX,YAAYpK,EAAEwmB,iBAAiB/E,EAAEzhB,EAAE,OAAOm5B,EAAEm/B,YAAYn/B,EAAEo/B,kBAAkB92C,EAAE0C,EAAE9kB,KAAKof,EAAEgD,GAAE,IAAKA,CAAC,CAAC,IAAI7C,EAAE+Y,EAAE33B,EAAEw4D,UAAUx4D,EAAE0f,UAAU,OAAOiY,GAAG3b,EAAE,aAAahc,EAAE2zD,eAAe3zD,EAAE2zD,cAAc8E,SAASz4D,EAAE2zD,cAAc8E,QAAQp4D,MAAMswD,GAAGyB,GAAGpyD,EAAE2zD,cAAc8E,QAAQp4D,QAAQue,EAAE,aAAa5e,EAAE2zD,cAAc8E,QAAQp4D,KAAK,MAAMue,GAAG8Y,GAAGs4B,GAAG,CAACxrC,EAAEC,EAAEb,IAAIrF,IAAIK,EAAE2xC,GAAG3xC,EAAEL,EAAE,IAAK,IAAGrgB,GAAGwnD,GAAGxnD,EAAE84D,WAAWp4C,GAAGA,CAAC,EAAEngB,EAAEi6D,UAAU,WAAWpP,GAAGntD,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,GAAG68B,GAAE,CAAE,EAAEv6B,EAAEk6D,YAAY,WAAW1P,GAAG,KAAKjwB,GAAE,CAAE,EAAEv6B,EAAEm6D,iBAAiB,SAASr6C,EAAEG,EAAEjgB,GAAGwqD,IAAIK,GAAG,CAAC,GAAG,MAAMtpD,EAAEgpD,GAAGzqC,GAAGE,EAAEuqC,GAAGtqC,GAAG,OAAOksC,GAAG5qD,EAAEye,EAAEhgB,EAAE,EAAEA,EAAEo6D,QAAQ,SAASt6C,EAAEG,GAAG,mBAAmBA,GAAGyxC,GAAGttC,EAAEtE,GAAGG,EAAE,EAAEjgB,EAAEq6D,WAAW,SAASv6C,GAAG,OAAO2xC,GAAGrtC,EAAEtE,GAAG,EAAE9f,EAAEs6D,YAAY,SAASx6C,GAAGsE,EAAEtE,GAAG,EAAE,EAAE9f,EAAEu6D,eAAe,WAAWn2C,EAAE,CAACmxC,wBAAwB,GAAGC,sBAAsB,GAAGC,uBAAuB,GAAGC,yBAAyB,GAAGC,uBAAuB,GAAGC,wBAAwB,GAAGC,sBAAsB,GAAGC,oBAAoB,GAAGC,uBAAuB,GAAG,EAAE/1D,CAAC,CAAjqZ,GAAqqZw0D,GAAG4F,QAAQ,yBAAwB,SAAUt6C,EAAEG,GAAG,cAAcne,KAAKme,EAAEm5C,YAAYn5C,EAAEu5C,eAAc,EAAI,IAAG,MAAMgB,GAAG,6CAA6C30D,MAAM,KAAK40D,GAAG,cAAc50D,MAAM,KAAK60D,GAAG,8BAA8B70D,MAAM,KAAK,MAAM80D,WAAWt0C,EAAE,cAAOu0C,CAAQ96C,EAAEG,GAAG,MAAMjgB,EAAE,IAAIugB,KAAKN,GAAG25C,WAAWr4D,EAAEvB,EAAE66D,QAAQ76D,EAAE66D,UAAU76D,EAAE+5D,UAAUj6C,EAAEmB,UAAU1f,CAAC,CAAC,eAAOq4D,CAAS95C,EAAEG,GAAG,MAAMjgB,EAAE,IAAIugB,KAAKT,EAAEG,GAAG,OAAOjgB,EAAE45D,WAAW55D,CAAC,CAAC,WAAA2B,CAAYme,GAAG,IAAIy5C,kBAAkBt5C,EAAE66C,mBAAmB96D,EAAE+6D,kBAAkBx5D,GAAG7D,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAEwpD,SAASxpD,WAAW6iB,KAAKg5C,kBAAkBt5C,GAAGu6C,GAAGj6C,KAAKu6C,mBAAmB96D,GAAGy6D,GAAGl6C,KAAKw6C,kBAAkBx5D,GAAGm5D,GAAGn6C,KAAK7U,KAAKsvD,GAAGl7C,EAAE,CAAC,QAAA85C,GAAW,OAAOr5C,KAAK06C,mBAAmB16C,KAAK26C,8BAA8B1G,GAAGyF,UAAUx5C,GAAGF,KAAK7U,KAAK8oD,GAAGoF,SAASr5C,KAAK7U,MAAM6U,KAAK7U,IAAI,CAAC,OAAAmvD,GAAU,OAAOt6C,KAAK7U,KAAKuV,SAAS,CAAC,OAAAk6C,GAAU,OAAO56C,KAAK7U,IAAI,CAAC,gBAAAuvD,GAAmB,MAAMn7C,EAAEka,EAAEzZ,KAAK7U,MAAMuU,EAAE,GAAG,KAAKH,EAAE65C,YAAY,CAAC,MAAM35D,EAAE8f,EAAEs7C,YAAY,OAAOp7D,EAAEylB,UAAU,KAAKq9B,KAAKC,aAAaxiC,KAAK86C,mBAAmBr7D,GAAGigB,EAAElf,KAAKf,GAAGugB,KAAK+6C,gBAAgBt7D,GAAG,MAAM,KAAK8iD,KAAKc,aAAa3jC,EAAElf,KAAKf,GAAG,CAAC,OAAOigB,EAAElc,SAAS+b,GAAGoF,EAAEpF,KAAKS,KAAK7U,IAAI,CAAC,eAAA4vD,CAAgBx7C,GAAG,OAAOA,EAAE44C,aAAa,SAASn4C,KAAKu6C,mBAAmB1pD,SAAS0O,EAAEy7C,WAAWz7C,EAAEiC,gBAAgB,QAAQlkB,MAAMgE,KAAKie,EAAE4H,YAAY3jB,SAASkc,IAAI,IAAIre,KAAK5B,GAAGigB,EAAEM,KAAKg5C,kBAAkBnoD,SAASpR,IAAI,IAAIA,EAAEiD,QAAQ,cAAc6c,EAAEiC,gBAAgB/hB,EAAG,IAAG8f,CAAC,CAAC,2BAAAo7C,GAA8B,OAAOr9D,MAAMgE,KAAK0e,KAAK7U,KAAKunB,iBAAiB,UAAUlvB,SAAS+b,IAAI,MAAMG,EAAEH,EAAE07C,uBAAuBv7C,GAAG,OAAOwE,EAAExE,IAAIA,EAAEtU,YAAYmU,EAAG,IAAGS,KAAK7U,IAAI,CAAC,kBAAA2vD,CAAmBv7C,GAAG,IAAI,MAAMA,OAAE,EAAOA,EAAE2F,YAAYq9B,KAAKC,aAAa,OAAOxiC,KAAKk7C,mBAAmB37C,IAAIS,KAAKm7C,wBAAwB57C,EAAE,CAAC,kBAAA27C,CAAmB37C,GAAG,OAAOS,KAAKw6C,kBAAkB3pD,SAASqT,EAAE3E,GAAG,CAAC,uBAAA47C,CAAwB57C,GAAG,MAAM,UAAUA,EAAEilC,aAAa,yBAAyB9/B,EAAEnF,EAAE,EAAE,MAAMk7C,GAAG,WAAW,IAAIl7C,EAAEpiB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAGoiB,EAAEA,EAAEpH,QAAQ,sBAAsB,WAAW,MAAMuH,EAAE9U,SAASgqD,eAAea,mBAAmB,IAAI,OAAO/1C,EAAE8M,gBAAgB9L,UAAUnB,EAAEjiB,MAAMgE,KAAKoe,EAAE2pC,KAAK32B,iBAAiB,UAAUlvB,SAAS+b,IAAIG,EAAEvU,KAAKC,YAAYmU,EAAG,IAAGG,EAAEvU,IAAI,GAAG+5C,IAAIkW,IAAIx0C,EAAE,MAAMy0C,WAAWjN,GAAG,WAAAhtD,GAAculD,SAASxpD,WAAW6iB,KAAKkW,WAAWlW,KAAKhd,OAAOgd,KAAKkW,WAAWolC,uBAAuBt7C,KAAKA,KAAKu7C,gBAAgBv7C,KAAK5W,QAAQoyD,KAAK,CAAC,kBAAAC,GAAqB,MAAM,EAAE,CAAC,WAAAhN,GAAc,IAAIlvC,EAAE,MAAMG,EAAEH,EAAE4F,EAAE,CAACtD,QAAQ,SAAS6P,UAAU1R,KAAK07C,eAAez0C,KAAKjH,KAAK0pC,UAAUvG,UAAS,IAAK1jD,EAAEugB,KAAK27C,UAAU,OAAOl8D,IAAI8f,EAAE4F,EAAE,CAACtD,QAAQ,IAAIshC,UAAS,EAAGh8B,WAAW,CAACm9B,KAAK7kD,EAAEm8D,UAAU,KAAKl8C,EAAEtU,YAAYmU,IAAIS,KAAKkW,WAAW2lC,aAAazB,GAAGC,QAAQ96C,EAAES,KAAKkW,WAAW4lC,cAAc97C,KAAKy7C,qBAAqBj4D,SAASkc,IAAIH,EAAEnU,YAAYsU,EAAG,IAAGH,EAAEnU,YAAY4U,KAAK+7C,wBAAwB/7C,KAAKkW,WAAW8lC,cAAch8C,KAAKi8C,gBAAgB92C,EAAE,CAACtD,QAAQ,WAAWsF,WAAW,CAACqJ,MAAM4qC,GAAG5V,mBAAmB/kD,MAAMuf,KAAKkW,WAAWgmC,oBAAoBtnC,IAAI,KAAK3N,KAAK,CAACk1C,aAAY,EAAG3O,aAAa,CAAC,kBAAkBxtC,KAAKkW,WAAW5mB,IAAI4I,KAAK,QAAQwH,EAAEtU,YAAY4U,KAAKi8C,kBAAkB,CAACG,GAAG,QAAQ18C,EAAE08C,GAAG,SAAS,CAAC,oBAAAL,GAAuB,MAAMx8C,EAAE4F,EAAE,CAACtD,QAAQ,aAAa6P,UAAU0pC,GAAGjW,oBAAoBzlC,EAAEM,KAAKu7C,gBAAgBc,aAAa,GAAG38C,EAAEH,EAAE+R,UAAU/jB,IAAI,GAAGxH,OAAOq1D,GAAGjW,kBAAkB,aAAa5lC,EAAEwR,YAAYrR,MAAM,CAAC,IAAIA,EAAEjgB,EAAE,MAAMuB,EAAEgf,KAAKs8C,mBAAmB,GAAGt7D,EAAEK,OAAOqe,EAAEM,KAAKkW,WAAWqmC,eAAev7D,EAAE+oC,OAAOtqC,EAAEugB,KAAKkW,WAAWsmC,wBAAwB98C,EAAE,CAAC,MAAMjgB,EAAE0lB,EAAE,CAACtD,QAAQ,OAAO6P,UAAU0pC,GAAG7V,eAAex0B,YAAYrR,IAAIH,EAAEnU,YAAY3L,EAAE,CAAC,GAAGA,EAAE,CAACigB,GAAGH,EAAEnU,YAAYR,SAASmc,eAAe,MAAM,MAAM/lB,EAAEmkB,EAAE,CAACtD,QAAQ,OAAO6P,UAAU0pC,GAAG3V,eAAe10B,YAAYtxB,IAAI8f,EAAEnU,YAAYpK,EAAE,CAAC,CAAC,OAAOue,CAAC,CAAC,YAAAm8C,GAAe,MAAMn8C,EAAE,CAAC67C,GAAGllC,WAAW,GAAGnwB,OAAOq1D,GAAGllC,WAAW,MAAMnwB,OAAOia,KAAKkW,WAAWumC,YAAY/8C,EAAEM,KAAKkW,WAAWwmC,eAAe,OAAOh9C,GAAGH,EAAE/e,KAAK,GAAGuF,OAAOq1D,GAAGllC,WAAW,MAAMnwB,OAAO2Z,IAAIH,EAAErH,KAAK,IAAI,CAAC,OAAAwxC,GAAU,MAAMnqC,EAAE,CAACo9C,eAAe5rD,KAAKC,UAAUgP,KAAKkW,YAAY0mC,gBAAgB58C,KAAKkW,WAAW2mC,iBAAiBC,OAAO98C,KAAKkW,WAAW5mB,KAAK6X,WAAWzH,GAAGM,KAAKu7C,gBAAgB,OAAO77C,EAAE7R,YAAY0R,EAAEw9C,eAAehsD,KAAKC,UAAU0O,IAAIM,KAAKkW,WAAW8lC,cAAcz8C,EAAEy9C,eAAc,GAAIz9C,CAAC,CAAC,OAAAo8C,GAAU,IAAIsB,GAAGj9C,KAAKkW,WAAW4lC,aAAa,KAAK,OAAO97C,KAAKkW,WAAWylC,SAAS,CAAC,gBAAAW,GAAmB,IAAI/8C,EAAE,MAAMG,EAAEM,KAAKkW,WAAWumC,UAAUz7D,EAAEgpD,GAAG,QAAQzqC,EAAE9f,EAAEigB,UAAK,IAASH,OAAE,EAAOA,EAAEu/B,SAAS,MAAM,SAASp/B,IAAI1e,EAAEK,MAAK,GAAIL,CAAC,CAAC,mBAAAk8D,GAAsB,IAAI39C,EAAE,OAAO,QAAQA,EAAES,KAAKsvC,qBAAgB,IAAS/vC,OAAE,EAAOA,EAAEH,cAAc,WAAW,CAAC,iCAAA+9C,GAAoC,MAAM59C,EAAES,KAAKkW,WAAWgmC,oBAAoBx8C,EAAEM,KAAKk9C,sBAAsBx9C,IAAIA,EAAEjf,MAAM8e,EAAE,EAAE,MAAM68C,GAAG78C,GAAG4F,EAAE,CAACtD,QAAQ,OAAOkP,YAAYhO,EAAEkE,KAAK,CAACq8B,iBAAiB/jC,EAAEy9C,eAAc,KAAMC,GAAG,SAAS19C,EAAEG,GAAG,MAAMjgB,EAAE0lB,EAAE,OAAO,OAAOi1C,GAAGC,QAAQ56D,EAAE8f,GAAG,IAAI9f,EAAE2f,cAAcM,EAAE,EAAE,MAAM09C,WAAW/B,GAAG,WAAAj6D,GAAculD,SAASxpD,WAAW6iB,KAAKkW,WAAWmnC,gBAAgBr9C,IAAI,CAAC,kBAAAy7C,GAAqB,OAAOz7C,KAAKqwB,MAAMlrB,EAAE,CAACtD,QAAQ,MAAMsF,WAAW,CAACpc,IAAI,IAAIkc,KAAK,CAACk1C,aAAY,KAAMn8C,KAAKlJ,QAAQkJ,KAAKqwB,OAAO,CAACrwB,KAAKqwB,MAAM,CAAC,oBAAA0rB,GAAuB,MAAMx8C,EAAEonC,MAAMoV,wBAAwB5+D,WAAW,OAAOoiB,EAAEwR,aAAaxR,EAAEe,aAAa,wBAAwBmC,EAAEo+B,oBAAoBthC,CAAC,CAAC,OAAAzI,CAAQyI,GAAG,IAAIG,EAAiF,GAA/EH,IAAIA,EAAE,QAAQG,EAAEM,KAAKsvC,qBAAgB,IAAS5vC,OAAE,EAAOA,EAAEN,cAAc,QAAWG,EAAE,OAAOS,KAAKs9C,yBAAyB/9C,EAAE,CAAC,wBAAA+9C,CAAyB/9C,GAAG,MAAMG,EAAEM,KAAKkW,WAAWqnC,SAAS99D,EAAEugB,KAAKkW,WAAWsnC,gBAAgB,GAAGj+C,EAAExU,IAAItL,GAAGigB,EAAEjgB,IAAIigB,EAAEH,EAAEiC,gBAAgB,uCAAuC,CAAC,MAAM/hB,EAAEsR,KAAKC,UAAU,CAACjG,IAAI2U,IAAIH,EAAEe,aAAa,kCAAkC7gB,EAAE,CAAC,MAAMuB,EAAEgf,KAAKkW,WAAWunC,WAAWh+C,EAAEO,KAAKkW,WAAWwnC,YAAY,MAAM18D,IAAIue,EAAEuN,MAAM9rB,GAAG,MAAMye,IAAIF,EAAEmN,OAAOjN,GAAG,MAAM5e,EAAE,CAAC,eAAemf,KAAKkW,WAAW5mB,GAAGiQ,EAAExU,IAAIwU,EAAEuN,MAAMvN,EAAEmN,QAAQxU,KAAK,KAAKqH,EAAEoY,QAAQ61B,aAAa3sD,CAAC,CAAC,6BAAA88D,GAAgC,OAAO39C,KAAKlJ,QAAQkJ,KAAKqwB,OAAOrwB,KAAKlJ,SAAS,EAAE,MAAM8mD,WAAWxP,GAAG,WAAAhtD,GAAculD,SAASxpD,WAAW6iB,KAAKw7C,MAAMx7C,KAAKhd,OAAOgd,KAAKmH,WAAWnH,KAAKw7C,MAAMqC,gBAAgB79C,KAAK89C,WAAW99C,KAAK5W,QAAQ00D,WAAW99C,KAAKxW,QAAQwW,KAAK5W,QAAQI,QAAQwW,KAAKw7C,MAAMtlC,WAAWlW,KAAKkW,WAAWlW,KAAKw7C,MAAMtlC,WAAWlW,KAAK+9C,OAAO/9C,KAAKw7C,MAAMt6D,UAAU,CAAC,WAAAutD,GAAc,IAAIlvC,EAAES,KAAKkW,WAAWlW,KAAKg+C,wBAAwBh+C,KAAKi+C,oBAAoB,MAAMv+C,EAAEM,KAAKnV,gBAAgB,GAAG6U,EAAE,CAAC,MAAMjgB,EAAE,SAAS8f,GAAG,KAAK,QAAQG,EAAEH,SAAI,IAASG,GAAGA,EAAEs4B,mBAAmB,CAAC,IAAIt4B,EAAEH,EAAEA,EAAEy4B,iBAAiB,CAAC,OAAOz4B,CAAC,CAArG,CAAuGG,GAAGpiB,MAAMgE,KAAKie,GAAG/b,SAAS+b,IAAI9f,EAAE2L,YAAYmU,EAAG,IAAGA,EAAE,CAACG,EAAE,CAAC,OAAOH,CAAC,CAAC,qBAAAy+C,GAAwB,MAAMz+C,EAAES,KAAKkW,WAAWgoC,gBAAgBd,GAAG/B,GAAG,OAAOr7C,KAAKivC,gBAAgB1vC,EAAES,KAAKw7C,MAAMtlC,WAAW,CAACslC,MAAMx7C,KAAKw7C,QAAQjN,UAAU,CAAC,iBAAA0P,GAAoB,IAAI1+C,EAAE,GAAG,QAAQA,EAAES,KAAK89C,kBAAa,IAASv+C,GAAGA,EAAEigC,UAAU,MAAM,CAAC50C,SAASmc,eAAe/G,KAAK+9C,SAAS,CAAC,MAAMx+C,EAAE,GAAGG,EAAEM,KAAK+9C,OAAOz4D,MAAM,MAAM,IAAI,IAAI7F,EAAE,EAAEA,EAAEigB,EAAEtiB,OAAOqC,IAAI,CAAC,MAAMuB,EAAE0e,EAAEjgB,GAAG,GAAGA,EAAE,EAAE,CAAC,MAAMigB,EAAEyF,EAAE,MAAM5F,EAAE/e,KAAKkf,EAAE,CAAC,GAAG1e,EAAE5D,OAAO,CAAC,MAAMsiB,EAAE9U,SAASmc,eAAe/G,KAAKm+C,eAAen9D,IAAIue,EAAE/e,KAAKkf,EAAE,CAAC,CAAC,OAAOH,CAAC,CAAC,CAAC,aAAA1U,GAAgB,IAAI0U,EAAEG,EAAEjgB,EAAE,MAAMuB,EAAE,CAAC,EAAE,IAAI0e,KAAKM,KAAKmH,WAAW,CAAC1nB,EAAEugB,KAAKmH,WAAWzH,GAAG,MAAM7e,EAAEooD,GAAGvpC,GAAG,GAAG7e,EAAE,CAAC,GAAGA,EAAEghB,QAAQ,CAAC,IAAIpC,EAAE,MAAMC,EAAEyF,EAAEtkB,EAAEghB,SAASpC,GAAGA,EAAErU,YAAYsU,GAAGD,EAAEC,GAAGH,EAAEE,EAAEC,CAAC,CAAC,GAAG7e,EAAEu9D,gBAAgBp9D,EAAEH,EAAEu9D,eAAe3+D,GAAGoB,EAAEggB,MAAM,IAAInB,KAAK7e,EAAEggB,MAAMphB,EAAEoB,EAAEggB,MAAMnB,GAAG1e,EAAE0e,GAAGjgB,CAAC,CAAC,CAAC,GAAGzB,OAAOI,KAAK4C,GAAG5D,OAAO,IAAIsiB,KAAKH,IAAIA,EAAE4F,EAAE,SAASnkB,EAAEvB,EAAEuB,EAAE0e,GAAGH,EAAEsB,MAAMnB,GAAGjgB,EAAE,OAAO8f,CAAC,CAAC,sBAAA0wC,GAAyB,IAAI,MAAM1wC,KAAKS,KAAKmH,WAAW,CAAC,MAAMzH,EAAEM,KAAKmH,WAAW5H,GAAG9f,EAAEwpD,GAAG1pC,GAAG,GAAG9f,GAAGA,EAAE8kD,aAAa,CAAC,MAAMvjD,EAAE,CAAC,EAAE,OAAOA,EAAEue,GAAGG,EAAEyF,EAAE1lB,EAAE8kD,aAAavjD,EAAE,CAAC,CAAC,CAAC,cAAAm9D,CAAe5+C,GAAG,OAAOS,KAAKxW,QAAQ60D,SAAS9+C,EAAEA,EAAEpH,QAAQ,MAAMwL,IAAIpE,EAAEA,EAAEpH,QAAQ,iBAAiB,MAAMpS,OAAO4d,EAAE,QAAQxL,QAAQ,SAAS,GAAGpS,OAAO4d,EAAE,MAAMxL,QAAQ,SAAS,IAAIpS,OAAO4d,KAAK3D,KAAKxW,QAAQ80D,SAASt+C,KAAKxW,QAAQ+0D,qBAAqBh/C,EAAEA,EAAEpH,QAAQ,MAAMwL,IAAIpE,CAAC,EAAE,MAAMi/C,WAAWpQ,GAAG,WAAAhtD,GAAculD,SAASxpD,WAAW6iB,KAAKs5B,KAAKt5B,KAAKhd,OAAOgd,KAAK89C,WAAW99C,KAAK5W,QAAQ00D,UAAU,CAAC,WAAArP,GAAc,MAAMlvC,EAAE,GAAGG,EAAEktC,GAAGC,aAAa7sC,KAAKy+C,aAAah/D,EAAEigB,EAAEtiB,OAAO,EAAE,IAAI,IAAIqiB,EAAE,EAAEA,EAAEC,EAAEtiB,OAAOqiB,IAAI,CAAC,MAAM5e,EAAE6e,EAAED,GAAGD,EAAE,CAAC,EAAE,IAAIC,IAAID,EAAE8+C,SAAQ,GAAI7+C,IAAIhgB,IAAI+f,EAAE6+C,QAAO,GAAIK,GAAG19D,KAAKwe,EAAE++C,mBAAkB,GAAI,MAAMvwD,EAAEgS,KAAK8uC,4BAA4B8O,GAAG/8D,EAAE,CAACi9D,WAAW99C,KAAK89C,WAAWt0D,QAAQgW,IAAID,EAAE/e,QAAQlD,MAAMgE,KAAK0M,EAAEugD,YAAY,KAAK,IAAIvtD,EAAEH,CAAC,CAAC,OAAO0e,CAAC,CAAC,SAAAk/C,GAAY,OAAOnhE,MAAMgE,KAAK0e,KAAKs5B,KAAKmlB,aAAat7D,QAAQoc,IAAIA,EAAE44C,aAAa,eAAe,EAAE,MAAMuG,GAAGn/C,GAAG,MAAMhe,KAAK,MAAMge,OAAE,EAAOA,EAAEre,aAAagkD,IAAIyZ,IAAI/3C,EAAE,MAAMg4C,WAAWxQ,GAAG,WAAAhtD,GAAculD,SAASxpD,WAAW6iB,KAAKuhB,MAAMvhB,KAAKhd,OAAOgd,KAAKmH,WAAWnH,KAAKuhB,MAAMs8B,eAAe,CAAC,WAAApP,GAAc,MAAMlvC,EAAE,CAAC3U,SAASi0D,cAAc,UAAU,GAAG7+C,KAAKuhB,MAAM1zB,UAAU0R,EAAE/e,KAAK2kB,EAAE,WAAW,CAAC,IAAIzF,EAAE,MAAMjgB,EAAE,QAAQigB,EAAEspC,GAAGhpC,KAAKuhB,MAAMu9B,2BAAsB,IAASp/C,OAAE,EAAOA,EAAE45B,KAAKt4C,EAAEgf,KAAK8uC,4BAA4B0P,GAAGx+C,KAAKuhB,MAAM+X,KAAK,CAACwkB,WAAWr+D,IAAI8f,EAAE/e,QAAQlD,MAAMgE,KAAKN,EAAEutD,YAAY,KAAKvuC,KAAK++C,gCAAgCx/C,EAAE/e,KAAK2kB,EAAE,MAAM,CAAC,GAAGnF,KAAKmH,WAAW/pB,OAAO,OAAOmiB,EAAE,CAAC,IAAIG,EAAE,MAAMmC,QAAQpiB,GAAGuB,EAAE+9C,QAAQ/+B,KAAKuhB,MAAMy9B,UAAUt/C,EAAE,CAAC0oC,IAAI,QAAQ,MAAM3oC,EAAE0F,EAAE,CAACtD,QAAQpiB,EAAE0nB,WAAWzH,IAAI,OAAOH,EAAE/b,SAAS+b,GAAGE,EAAErU,YAAYmU,KAAK,CAACE,EAAE,CAAC,CAAC,sBAAAwwC,CAAuB1wC,GAAG,MAAMG,EAAE,CAAC,EAAE,IAAIjgB,EAAE,MAAMuB,EAAEgf,KAAKmH,WAAW5H,IAAIsC,QAAQpC,EAAE8/B,eAAe1+C,EAAE,IAAImoD,GAAGhoD,GAAG,GAAG,IAAIue,GAAGS,KAAKuhB,MAAMy9B,SAAShhE,OAAOiU,OAAOyN,EAAE,CAAC0oC,IAAI,QAAQ,sBAAsBpnD,EAAE,CAAC,MAAMue,EAAES,KAAKuhB,MAAM09B,wBAAwBx/D,EAAE,GAAGsG,OAAO44D,GAAG9e,kBAAkB,KAAK95C,OAAO44D,GAAG9e,kBAAkB,MAAM95C,OAAOwZ,EAAE,CAAC,OAAOvhB,OAAOq0B,QAAQrS,KAAKuhB,MAAMge,gBAAgB/7C,SAAS+b,IAAI,IAAI9f,EAAEuB,GAAGue,EAAE1e,EAAEgQ,SAASpR,KAAKigB,EAAEjgB,GAAGuB,EAAG,IAAGmkB,EAAE,CAACtD,QAAQpC,EAAEiS,UAAUjyB,EAAE0nB,WAAWzH,GAAG,CAAC,4BAAAq/C,GAA+B,MAAM,QAAQx9D,KAAKye,KAAKuhB,MAAMrgC,WAAW,EAAE,MAAMg+D,WAAW9Q,GAAG,aAAOvoC,CAAOtG,GAAG,MAAMG,EAAEyF,EAAE,OAAO1lB,EAAE,IAAIugB,KAAKT,EAAE,CAACa,QAAQV,IAAI,OAAOjgB,EAAEomB,SAASpmB,EAAE0/D,OAAOz/C,CAAC,CAAC,WAAAte,GAAculD,SAASxpD,WAAW6iB,KAAKI,QAAQJ,KAAK5W,QAAQgX,QAAQJ,KAAKo/C,aAAa,IAAI9R,GAAGttC,KAAKq/C,YAAYr/C,KAAKhd,OAAO,CAAC,WAAAq8D,CAAY9/C,GAAGA,EAAE0nC,UAAUjnC,KAAKpV,YAAYoV,KAAKpV,SAASoV,KAAKhd,OAAOuc,EAAE,CAAC,MAAAsG,GAAS,GAAG7F,KAAKquC,WAAW,GAAGruC,KAAKs/C,cAAcn6C,EAAE,QAAQnF,KAAKpV,SAASiD,UAAU,CAAC,MAAM0R,EAAEqtC,GAAGC,aAAa7sC,KAAKpV,SAASqyB,YAAY,CAAC8vB,QAAO,IAAKzvD,MAAMgE,KAAKie,GAAG/b,SAAS+b,IAAI,MAAMG,EAAEM,KAAK8uC,4BAA4B8P,GAAGr/C,GAAGjiB,MAAMgE,KAAKoe,EAAE6uC,YAAY5pD,KAAK4a,GAAGS,KAAKs/C,cAAcl0D,YAAYmU,IAAK,GAAE,CAAC,CAAC,QAAAggD,GAAW,OAAOC,GAAGx/C,KAAKs/C,cAAct/C,KAAKI,QAAQ,CAAC,IAAA++C,GAAO,MAAM5/C,EAAES,KAAKy/C,gCAAgC,KAAKz/C,KAAKI,QAAQs/C,WAAW1/C,KAAKI,QAAQwC,YAAY5C,KAAKI,QAAQs/C,WAAW,OAAO1/C,KAAKI,QAAQhV,YAAYmU,GAAGS,KAAK2/C,SAAS,CAAC,OAAAA,GAAU,OAAO3/C,KAAKo/C,aAAanhB,MAAM2hB,GAAG5/C,KAAKI,UAAU2pC,IAAG,IAAK/pC,KAAK8vC,6BAA6B,CAAC,6BAAA2P,GAAgC,MAAMlgD,EAAE3U,SAASgrC,yBAAyB,OAAOt4C,MAAMgE,KAAK0e,KAAKs/C,cAAcp4C,YAAY1jB,SAASkc,IAAIH,EAAEnU,YAAYsU,EAAE6nB,WAAU,GAAK,IAAGjqC,MAAMgE,KAAKs+D,GAAGrgD,IAAI/b,SAAS+b,IAAI,MAAMG,EAAEM,KAAKo/C,aAAa9sC,OAAO/S,GAAGG,GAAGH,EAAEoD,WAAWk9C,aAAangD,EAAEH,EAAG,IAAGA,CAAC,EAAE,MAAMqgD,GAAGrgD,GAAGA,EAAEmT,iBAAiB,yBAAyB8sC,GAAG,CAACjgD,EAAEG,IAAIogD,GAAGvgD,EAAEmB,aAAao/C,GAAGpgD,EAAEgB,WAAWo/C,GAAGvgD,GAAGA,EAAEpH,QAAQ,UAAU,KAAK,SAAS4nD,GAAGxgD,GAAG,IAAIG,EAAEjgB,EAAE,SAASuB,EAAE0e,EAAEjgB,GAAG,IAAI,IAAIoB,EAAE0e,EAAEG,GAAGjgB,GAAG+f,EAAE3e,EAAEJ,MAAMuN,EAAEwR,aAAawgD,GAAG5vD,QAAQK,QAAQzC,EAAEwR,EAAEkD,EAAElD,GAAG9O,MAAK,SAAUjR,GAAG,GAAGuO,EAAE,CAAC,IAAIkS,EAAE,WAAWR,EAAE,SAAS,OAAO,IAAIF,EAAE0E,GAAGzkB,EAAEc,KAAK,OAAOS,EAAEkf,EAAEzgB,GAAGA,EAAE8f,EAAEW,GAAGzgB,GAAGgB,KAAK,CAACgf,EAAE5e,EAAEN,KAAK,SAAS,SAASd,EAAG,IAAE,SAAU8f,GAAGve,EAAE,QAAQue,EAAG,GAAE,CAAC,MAAMA,GAAGE,EAAE,QAAQF,EAAE,CAAC,CAAC,SAASE,EAAEF,EAAEE,GAAG,OAAOF,GAAG,IAAI,SAASG,EAAEjP,QAAQ,CAAChQ,MAAMgf,EAAElf,MAAK,IAAK,MAAM,IAAI,QAAQmf,EAAErK,OAAOoK,GAAG,MAAM,QAAQC,EAAEjP,QAAQ,CAAChQ,MAAMgf,EAAElf,MAAK,KAAMmf,EAAEA,EAAEpf,MAAMU,EAAE0e,EAAEnhB,IAAImhB,EAAE7b,KAAKpE,EAAE,IAAI,CAACugB,KAAKigD,QAAQ,SAAS1gD,EAAEE,GAAG,OAAO,IAAIrP,SAAQ,SAAUvP,EAAE2e,GAAG,IAAIxR,EAAE,CAACzP,IAAIghB,EAAE1b,IAAI4b,EAAEhP,QAAQ5P,EAAEwU,OAAOmK,EAAElf,KAAK,MAAMb,EAAEA,EAAEA,EAAEa,KAAK0N,GAAG0R,EAAEjgB,EAAEuO,EAAEhN,EAAEue,EAAEE,GAAI,GAAE,EAAE,mBAAmBF,EAAE5e,SAASqf,KAAKrf,YAAO,EAAO,CAAC,SAASq/D,GAAGzgD,EAAEG,GAAGM,KAAK0C,EAAEnD,EAAES,KAAKkE,EAAExE,CAAC,CAAC,SAASwgD,GAAG3gD,EAAEG,EAAEjgB,GAAG,OAAOigB,EAAqG,SAAYH,GAAG,IAAIG,EAAE,SAASH,EAAEG,GAAG,GAAG,iBAAiBH,GAAG,OAAOA,EAAE,OAAOA,EAAE,IAAI9f,EAAE8f,EAAE3f,OAAOqE,aAAa,QAAG,IAASxE,EAAE,CAAC,IAAIuB,EAAEvB,EAAEY,KAAKkf,EAAEG,GAAG,WAAW,GAAG,iBAAiB1e,EAAE,OAAOA,EAAE,MAAM,IAAIS,UAAU,+CAA+C,CAAC,OAAO,WAAWie,EAAEvb,OAAOC,QAAQmb,EAAE,CAAvQ,CAAyQA,EAAE,UAAU,MAAM,iBAAiBG,EAAEA,EAAEvb,OAAOub,EAAE,CAAjbygD,CAAGzgD,MAAMH,EAAEvhB,OAAO4F,eAAe2b,EAAEG,EAAE,CAACjf,MAAMhB,EAAE6D,YAAW,EAAGiB,cAAa,EAAGC,UAAS,IAAK+a,EAAEG,GAAGjgB,EAAE8f,CAAC,CAAsnB,SAAS6gD,GAAG7gD,EAAEG,GAAG,OAAqM,SAAYH,EAAEG,GAAG,OAAOA,EAAEK,IAAIL,EAAEK,IAAI1f,KAAKkf,GAAGG,EAAEjf,KAAK,CAAjP4/D,CAAG9gD,EAAE+gD,GAAG/gD,EAAEG,EAAE,OAAO,CAAC,SAAS6gD,GAAGhhD,EAAEG,EAAEjgB,GAAG,OAA2M,SAAY8f,EAAEG,EAAEjgB,GAAG,GAAGigB,EAAEO,IAAIP,EAAEO,IAAI5f,KAAKkf,EAAE9f,OAAO,CAAC,IAAIigB,EAAElb,SAAS,MAAM,IAAI/C,UAAU,4CAA4Cie,EAAEjf,MAAMhB,CAAC,CAAC,CAA9U+gE,CAAGjhD,EAAE+gD,GAAG/gD,EAAEG,EAAE,OAAOjgB,GAAGA,CAAC,CAAC,SAAS6gE,GAAG/gD,EAAEG,EAAEjgB,GAAG,IAAIigB,EAAE6oC,IAAIhpC,GAAG,MAAM,IAAI9d,UAAU,gBAAgBhC,EAAE,kCAAkC,OAAOigB,EAAEK,IAAIR,EAAE,CAAgM,SAASkhD,GAAGlhD,EAAEG,EAAEjgB,GAAG,IAAIigB,EAAE6oC,IAAIhpC,GAAG,MAAM,IAAI9d,UAAU,kDAAkD,OAAOhC,CAAC,CAAC,SAASihE,GAAGnhD,EAAEG,GAAG,GAAGA,EAAE6oC,IAAIhpC,GAAG,MAAM,IAAI9d,UAAU,iEAAiE,CAAC,SAASk/D,GAAGphD,EAAEG,EAAEjgB,GAAGihE,GAAGnhD,EAAEG,GAAGA,EAAEO,IAAIV,EAAE9f,EAAE,CAAl8BsgE,GAAG9+D,UAAU,mBAAmBrB,QAAQA,OAAOghE,eAAe,mBAAmB,WAAW,OAAO5gD,IAAI,EAAE+/C,GAAG9+D,UAAUX,KAAK,SAASif,GAAG,OAAOS,KAAKigD,QAAQ,OAAO1gD,EAAE,EAAEwgD,GAAG9+D,UAAU4/D,MAAM,SAASthD,GAAG,OAAOS,KAAKigD,QAAQ,QAAQ1gD,EAAE,EAAEwgD,GAAG9+D,UAAUN,OAAO,SAAS4e,GAAG,OAAOS,KAAKigD,QAAQ,SAAS1gD,EAAE,EAA+pB,MAAMlhB,WAAWmpD,GAAG,mBAAOsZ,CAAavhD,EAAEG,GAAGA,EAAErS,KAAKkS,EAAES,KAAK+gD,MAAMxhD,GAAGG,CAAC,CAAC,eAAOgoC,CAASnoC,GAAG,MAAMG,EAAEM,KAAK+gD,MAAMxhD,EAAElS,MAAM,GAAGqS,EAAE,OAAOA,EAAEgoC,SAASnoC,EAAE,CAAC,WAAAne,CAAYme,GAAG,IAAIG,EAAEviB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAEwpD,SAASxpD,WAAW6iB,KAAKmH,WAAW8kC,GAAG3F,IAAI5mC,EAAE,CAAC,kBAAAshD,CAAmBzhD,GAAG,OAAO,IAAIS,KAAK5e,YAAY4e,KAAKihD,WAAW1hD,EAAE,CAAC,4BAAA2hD,CAA6B3hD,GAAG,OAAOS,KAAKghD,mBAAmBhhD,KAAKmH,WAAWolC,MAAMhtC,GAAG,CAAC,oBAAA4hD,CAAqB5hD,GAAG,OAAOS,KAAKghD,mBAAmBhhD,KAAKmH,WAAWmL,OAAO/S,GAAG,CAAC,IAAA6hD,GAAO,OAAOphD,KAAKghD,mBAAmBhhD,KAAKmH,WAAW,CAAC,YAAAq9B,CAAajlC,GAAG,OAAOS,KAAKmH,WAAWpH,IAAIR,EAAE,CAAC,iBAAA8hD,GAAoB,OAAOrhD,KAAKmH,UAAU,CAAC,aAAA02C,GAAgB,OAAO79C,KAAKmH,WAAWwlC,UAAU,CAAC,YAAAwL,CAAa54C,GAAG,OAAOS,KAAKmH,WAAWohC,IAAIhpC,EAAE,CAAC,yBAAA+hD,CAA0B/hD,GAAG,OAAOA,GAAGS,KAAK9e,aAAaqe,EAAEre,UAAU,CAAC,wBAAAqgE,CAAyBhiD,GAAG,OAAOA,IAAIS,KAAKmH,aAAa5H,EAAE4H,YAAYnH,KAAKmH,WAAW8/B,UAAU1nC,EAAE4H,YAAY,CAAC,YAAAq6C,GAAe,OAAM,CAAE,CAAC,SAAAva,CAAU1nC,GAAG,OAAOonC,MAAMM,aAAa9pD,YAAY6iB,KAAK2nC,qBAAqBpoC,IAAIS,KAAKshD,0BAA0B/hD,IAAIS,KAAKuhD,yBAAyBhiD,EAAE,CAAC,OAAA1R,GAAU,OAAO,IAAImS,KAAK5iB,MAAM,CAAC,cAAAqkE,GAAiB,OAAM,CAAE,CAAC,MAAAva,GAAS,MAAM,CAAC75C,KAAK2S,KAAK5e,YAAYiM,KAAK8Z,WAAWnH,KAAK69C,gBAAgB,CAAC,qBAAAhW,GAAwB,MAAM,CAACx6C,KAAK2S,KAAK5e,YAAYiM,KAAK8Z,WAAWnH,KAAKmH,WAAWygC,UAAU,CAAC,YAAAoF,GAAe,OAAOhtC,KAAKm4C,aAAa,OAAO,CAAC,gBAAAlL,CAAiB1tC,GAAG,OAAOS,KAAKwkC,aAAa,UAAUjlC,EAAEilC,aAAa,OAAO,CAAC,SAAAkd,GAAY,OAAO1hD,KAAK5iB,MAAM,CAAC,qBAAAukE,CAAsBpiD,GAAG,OAAM,CAAE,EAAE2gD,GAAG7hE,GAAG,QAAQ,CAAC,GAAG,MAAMujE,WAAWnU,GAAG,WAAArsD,CAAYme,GAAGonC,SAASxpD,WAAW6iB,KAAKoX,IAAI7X,CAAC,CAAC,OAAA2uC,CAAQ3uC,GAAG,MAAMG,EAAE,IAAI4wB,MAAM5wB,EAAEixB,OAAO,KAAKjxB,EAAEoN,MAAM9M,KAAK8M,MAAMpN,EAAE2xB,aAAa3xB,EAAEgN,OAAO1M,KAAK0M,OAAOhN,EAAE4xB,cAAc/xB,GAAE,EAAGG,IAAIA,EAAE1U,QAAQ,IAAIuU,GAAE,GAAIG,EAAE3U,IAAIiV,KAAKoX,GAAG,EAAE,MAAMyqC,WAAWra,GAAG,wBAAOsa,CAAkBviD,GAAG,MAAMG,EAAE,IAAIM,KAAKA,KAAK+hD,kBAAkBxiD,IAAI,OAAOG,EAAEsiD,QAAQziD,GAAGG,CAAC,CAAC,wBAAOqiD,CAAkBxiD,GAAG,OAAO,IAAI0sC,GAAG,CAAC10B,SAAShY,EAAEle,KAAK4gE,SAAS1iD,EAAEwqB,KAAKm4B,YAAY3iD,EAAElS,MAAM,CAAC,eAAOq6C,CAASnoC,GAAG,OAAO,IAAIS,KAAKT,EAAE,CAAC,WAAAne,GAAc,IAAIme,EAAEpiB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAEwpD,MAAMpnC,GAAGS,KAAKmiD,YAAYniD,KAAKmiD,YAAYp6C,KAAK/H,MAAMA,KAAKmH,WAAW8kC,GAAG3F,IAAI/mC,GAAGS,KAAKoiD,qBAAqB,CAAC,YAAA5d,CAAajlC,GAAG,OAAOS,KAAKmH,WAAWpH,IAAIR,EAAE,CAAC,YAAA44C,CAAa54C,GAAG,OAAOS,KAAKmH,WAAWohC,IAAIhpC,EAAE,CAAC,aAAAs+C,GAAgB,OAAO79C,KAAKmH,WAAWwlC,UAAU,CAAC,aAAA11B,GAAgB,IAAI1X,EAAEpiB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAE,MAAMuiB,EAAEM,KAAKmH,WAAWolC,MAAMhtC,GAAG,IAAI9f,EAAEuB,EAAEye,EAAE5e,EAAE,IAAImf,KAAKmH,WAAW8/B,UAAUvnC,GAAG,OAAOM,KAAKmH,WAAWzH,EAAEM,KAAKoiD,sBAAsB,QAAQ3iE,EAAEugB,KAAKq9C,uBAAkB,IAAS59D,GAAG,QAAQuB,EAAEvB,EAAEk+D,qCAAgC,IAAS38D,GAAGA,EAAEX,KAAKZ,EAAEugB,MAAM,QAAQP,EAAEO,KAAKqiD,gBAAW,IAAS5iD,GAAG,QAAQ5e,EAAE4e,EAAEk+C,qCAAgC,IAAS98D,OAAE,EAAOA,EAAER,KAAKof,EAAEO,KAAK,CAAC,mBAAAoiD,GAAsB,GAAGpiD,KAAKk+C,gBAAgB,OAAOl+C,KAAKsiD,YAAY,CAAC,SAAAtG,GAAY,OAAO,MAAMh8C,KAAKqW,QAAQrW,KAAKu9C,UAAUv9C,KAAK27C,UAAU,CAAC,aAAAuC,GAAgB,OAAOl+C,KAAKmH,WAAWohC,IAAI,eAAevoC,KAAKmH,WAAWpH,IAAI,eAAe8hD,GAAGU,mBAAmBhhE,KAAKye,KAAK68C,iBAAiB,CAAC,OAAAJ,GAAU,OAAOz8C,KAAK67C,aAAa,UAAU77C,KAAKk+C,gBAAgB,UAAU,MAAM,CAAC,MAAAX,GAAS,OAAOv9C,KAAKmH,WAAWpH,IAAI,MAAM,CAAC,OAAA47C,GAAU,OAAO37C,KAAKmH,WAAWpH,IAAI,OAAO,CAAC,WAAAw8C,GAAc,OAAOv8C,KAAKmH,WAAWpH,IAAI,aAAa,EAAE,CAAC,WAAAyiD,GAAc,OAAOxiD,KAAKmH,WAAWpH,IAAI,WAAW,CAAC,oBAAAy8C,GAAuB,MAAMj9C,EAAES,KAAKmH,WAAWpH,IAAI,YAAY,MAAM,iBAAiBR,EAAEK,EAAEkgB,UAAUvgB,GAAG,EAAE,CAAC,YAAAm9C,GAAe,IAAIn9C,EAAE,OAAO,QAAQA,EAAES,KAAKu8C,cAAc1hD,MAAM,mBAAc,IAAS0E,OAAE,EAAOA,EAAE,GAAG8B,aAAa,CAAC,cAAAw7C,GAAiB,OAAO78C,KAAKmH,WAAWpH,IAAI,cAAc,CAAC,UAAA87C,GAAa,OAAO77C,KAAKmH,WAAWohC,IAAI,UAAU,CAAC,UAAAuT,GAAa,OAAO97C,KAAKmH,WAAWpH,IAAI,UAAU,CAAC,QAAA09C,GAAW,OAAOz9C,KAAKmH,WAAWpH,IAAI,QAAQ,CAAC,SAAA29C,GAAY,OAAO19C,KAAKmH,WAAWpH,IAAI,SAAS,CAAC,OAAA0iD,GAAU,OAAOziD,KAAKqW,IAAI,CAAC,OAAA2rC,CAAQziD,GAAG,GAAGS,KAAKqW,KAAK9W,EAAES,KAAKk+C,gBAAgB,OAAOl+C,KAAK0iD,aAAa,CAAC,WAAAP,GAAcniD,KAAK2iD,uBAAuB3iD,KAAKqW,KAAK,IAAI,CAAC,iBAAA6lC,GAAoB,OAAO,MAAMl8C,KAAK4iD,eAAe5iD,KAAK4iD,eAAe,CAAC,CAAC,iBAAA5rC,CAAkBzX,GAAG,IAAIG,EAAEjgB,EAAE,GAAGugB,KAAK4iD,iBAAiBrjD,EAAE,OAAOS,KAAK4iD,eAAerjD,EAAE,QAAQG,EAAEM,KAAKs7C,8BAAyB,IAAS57C,GAAG,QAAQjgB,EAAEigB,EAAEy9C,yCAAoC,IAAS19D,OAAE,EAAOA,EAAEY,KAAKqf,EAAEM,KAAK,CAAC,MAAAknC,GAAS,OAAOlnC,KAAK69C,eAAe,CAAC,WAAA1W,GAAc,MAAM,CAACR,MAAMQ,eAAehqD,WAAW6iB,KAAKmH,WAAWggC,cAAcnnC,KAAKw9C,iBAAiBtlD,KAAK,IAAI,CAAC,aAAAslD,GAAgB,OAAOx9C,KAAK6iD,YAAY7iD,KAAK8iD,aAAa,CAAC,aAAAC,CAAcxjD,GAAG,IAAIG,EAAEjgB,EAAEuB,EAAEye,EAAE,GAAGF,IAAIS,KAAKw9C,gBAAgB,OAAOx9C,KAAK6iD,WAAWtjD,EAAE,QAAQG,EAAEM,KAAKq9C,uBAAkB,IAAS39C,GAAG,QAAQjgB,EAAEigB,EAAEi+C,qCAAgC,IAASl+D,GAAGA,EAAEY,KAAKqf,EAAEM,MAAM,QAAQhf,EAAEgf,KAAKqiD,gBAAW,IAASrhE,GAAG,QAAQye,EAAEze,EAAEgiE,qCAAgC,IAASvjD,OAAE,EAAOA,EAAEpf,KAAKW,EAAEgf,KAAK,CAAC,UAAAsiD,GAAa,OAAOtiD,KAAKijD,QAAQjjD,KAAKu9C,SAASv9C,KAAKmiD,YAAY,CAAC,WAAAO,GAAc,GAAG1iD,KAAKqW,KAAK,OAAOrW,KAAKkjD,cAAcnzB,IAAIa,gBAAgB5wB,KAAKqW,MAAMrW,KAAKijD,QAAQjjD,KAAKkjD,cAAc,CAAC,oBAAAP,GAAuB3iD,KAAKkjD,gBAAgBnzB,IAAI4D,gBAAgB3zB,KAAKkjD,eAAeljD,KAAKkjD,cAAc,KAAK,CAAC,OAAAD,CAAQ1jD,EAAEG,GAAG,GAAGH,GAAGA,IAAIS,KAAKw9C,gBAAsC,OAArBx9C,KAAK8iD,cAAcvjD,EAAS,IAAIqiD,GAAGriD,GAAG7O,MAAMjR,IAAI,IAAIqtB,MAAM9rB,EAAE0rB,OAAOjN,GAAGhgB,EAAE,OAAOugB,KAAKy9C,YAAYz9C,KAAK09C,aAAa19C,KAAKiX,cAAc,CAACnK,MAAM9rB,EAAE0rB,OAAOjN,IAAIO,KAAK8iD,cAAc,KAAK9iD,KAAK+iD,cAAcxjD,GAAG,MAAMG,OAAE,EAAOA,GAAI,IAAG5K,OAAM,KAAMkL,KAAK8iD,cAAc,KAAK,MAAMpjD,OAAE,EAAOA,MAAO,EAAEwgD,GAAG2B,GAAG,qBAAqB,oCAAoC,MAAMsB,WAAW9kE,GAAG,eAAOqpD,CAASnoC,GAAG,OAAO,IAAIS,KAAK6hD,GAAGna,SAASnoC,EAAE2W,YAAY3W,EAAE4H,WAAW,CAAC,WAAA/lB,CAAYme,GAAGonC,SAASxpD,WAAW6iB,KAAKkW,WAAW3W,EAAES,KAAK5iB,OAAO,EAAE4iB,KAAKojD,wCAAwC,QAAQpjD,KAAKkW,WAAW2lC,cAAc77C,KAAKqjD,4BAA4B,CAAC,uCAAAD,CAAwC7jD,GAAGS,KAAKm4C,aAAa54C,KAAKS,KAAKkW,WAAWiiC,aAAa54C,IAAIS,KAAKkW,WAAWe,cAAcjX,KAAKmH,WAAWhmB,MAAM,CAACoe,KAAKS,KAAKmH,WAAWnH,KAAKmH,WAAWmL,OAAO/S,GAAG,CAAC,0BAAA8jD,GAA6B,MAAM9jD,EAAES,KAAKmH,WAAWhmB,MAAMgiE,GAAGG,qBAAqB/jD,EAAE0nC,UAAUjnC,KAAKmH,cAAcnH,KAAKmH,WAAW5H,EAAE,CAAC,QAAA0hD,GAAW,OAAOjhD,KAAKkW,UAAU,CAAC,cAAAurC,GAAiB,OAAOzhD,KAAKkW,WAAW8lC,WAAW,CAAC,UAAAK,GAAa,OAAOr8C,KAAKmH,WAAWpH,IAAI,YAAY,EAAE,CAAC,SAAAknC,CAAU1nC,GAAG,IAAIG,EAAE,OAAOinC,MAAMM,UAAU1nC,IAAIS,KAAKkW,WAAW5mB,MAAM,MAAMiQ,GAAG,QAAQG,EAAEH,EAAE2W,kBAAa,IAASxW,OAAE,EAAOA,EAAEpQ,GAAG,CAAC,QAAApO,GAAW,MAAM,QAAG,CAAC,MAAAgmD,GAAS,MAAM3nC,EAAEonC,MAAMO,UAAU/pD,WAAW,OAAOoiB,EAAE2W,WAAWlW,KAAKkW,WAAW3W,CAAC,CAAC,WAAA4nC,GAAc,MAAM,CAACR,MAAMQ,eAAehqD,WAAW6iB,KAAKkW,WAAWixB,eAAejvC,KAAK,IAAI,CAAC,SAAAqrD,GAAY,OAAOxyD,KAAKC,UAAUgP,KAAK9e,WAAW,EAAEg/D,GAAGiD,GAAG,sBAAsB,CAAC,UAAU,iBAAiB9kE,GAAGyiE,aAAa,aAAaqC,IAAI,MAAMK,WAAWnlE,GAAG,eAAOqpD,CAASnoC,GAAG,OAAO,IAAIS,KAAKT,EAAEw+C,OAAOx+C,EAAE4H,WAAW,CAAC,WAAA/lB,CAAYme,GAAGonC,SAASxpD,WAAW6iB,KAAK+9C,OAAO,CAACx+C,GAAGA,EAAEpH,QAAQ,SAAS,MAAvB,CAA8BoH,GAAGS,KAAK5iB,OAAO4iB,KAAK+9C,OAAO3gE,MAAM,CAAC,QAAA6jE,GAAW,OAAOjhD,KAAK+9C,MAAM,CAAC,QAAA78D,GAAW,OAAO8e,KAAK+9C,OAAO78D,UAAU,CAAC,YAAAsgE,GAAe,MAAM,OAAOxhD,KAAK9e,aAAY,IAAK8e,KAAKwkC,aAAa,aAAa,CAAC,MAAA0C,GAAS,MAAM3nC,EAAEonC,MAAMO,UAAU/pD,WAAW,OAAOoiB,EAAEw+C,OAAO/9C,KAAK+9C,OAAOx+C,CAAC,CAAC,qBAAAoiD,CAAsBpiD,GAAG,OAAOA,GAAGS,KAAK2nC,qBAAqBpoC,IAAIS,KAAKuhD,yBAAyBhiD,EAAE,CAAC,eAAAkkD,CAAgBlkD,GAAG,OAAO,IAAIS,KAAK5e,YAAY4e,KAAK9e,WAAWqe,EAAEre,WAAW8e,KAAKmH,WAAW,CAAC,aAAAu8C,CAAcnkD,GAAG,IAAIG,EAAEjgB,EAAE,OAAO,IAAI8f,GAAGG,EAAE,KAAKjgB,EAAEugB,MAAMT,IAAIS,KAAK5iB,QAAQsiB,EAAEM,KAAKvgB,EAAE,OAAOigB,EAAE,IAAIM,KAAK5e,YAAY4e,KAAK+9C,OAAO58D,MAAM,EAAEoe,GAAGS,KAAKmH,YAAY1nB,EAAE,IAAIugB,KAAK5e,YAAY4e,KAAK+9C,OAAO58D,MAAMoe,GAAGS,KAAKmH,aAAa,CAACzH,EAAEjgB,EAAE,CAAC,SAAA8jE,GAAY,IAAIxF,OAAOx+C,GAAGS,KAAK,OAAOT,EAAEniB,OAAO,KAAKmiB,EAAEA,EAAEpe,MAAM,EAAE,IAAI,UAAK4P,KAAKC,UAAUuO,EAAEre,WAAW,EAAE7C,GAAGyiE,aAAa,SAAS0C,IAAI,MAAMG,WAAWnc,GAAG,UAAOlB,CAAI/mC,GAAG,OAAOA,aAAaS,KAAKT,EAAE,IAAIS,KAAKT,EAAE,CAAC,WAAAne,GAAc,IAAIme,EAAEpiB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAGwpD,SAASxpD,WAAW6iB,KAAKktC,QAAQ3tC,EAAEpe,MAAM,GAAG6e,KAAK5iB,OAAO4iB,KAAKktC,QAAQ9vD,MAAM,CAAC,OAAAsF,CAAQ6c,GAAG,OAAOS,KAAKktC,QAAQxqD,QAAQ6c,EAAE,CAAC,MAAAq6B,GAAS,IAAI,IAAIr6B,EAAEpiB,UAAUC,OAAOsiB,EAAE,IAAIpiB,MAAMiiB,GAAG9f,EAAE,EAAEA,EAAE8f,EAAE9f,IAAIigB,EAAEjgB,GAAGtC,UAAUsC,GAAG,OAAO,IAAIugB,KAAK5e,YAAY6mD,GAAGjoC,KAAKktC,WAAWxtC,GAAG,CAAC,UAAAkkD,CAAWrkD,GAAG,OAAOS,KAAKktC,QAAQvoD,KAAI,CAAE+a,EAAEjgB,IAAI8f,EAAEG,EAAEjgB,IAAI,CAAC,mBAAAokE,CAAoBtkD,EAAEG,GAAG,OAAOM,KAAK45B,OAAOl6B,EAAE,EAAEH,EAAE,CAAC,2BAAAukD,CAA4BvkD,EAAEG,GAAG,OAAOM,KAAK45B,OAAOl6B,EAAE,KAAKH,EAAE2tC,QAAQ,CAAC,8BAAA6W,CAA+BxkD,EAAEG,GAAG,MAAMjgB,EAAEuB,GAAGgf,KAAKgkD,sBAAsBtkD,GAAG,OAAO,IAAIM,KAAK5e,YAAY3B,GAAGqkE,4BAA4BvkD,EAAEve,EAAE,CAAC,iBAAAijE,CAAkB1kD,EAAEG,GAAG,OAAOM,KAAKkkD,qBAAqBxkD,EAAEM,KAAKktC,QAAQ3tC,IAAIA,EAAE,CAAC,oBAAA2kD,CAAqB3kD,EAAEG,GAAG,OAAOM,KAAK45B,OAAOl6B,EAAE,EAAEH,EAAE,CAAC,mBAAA4kD,CAAoB5kD,GAAG,OAAOS,KAAK45B,OAAOr6B,EAAE,EAAE,CAAC,gBAAA6kD,CAAiB7kD,GAAG,OAAOS,KAAKktC,QAAQ3tC,EAAE,CAAC,wBAAA8kD,CAAyB9kD,GAAG,MAAMG,EAAEjgB,EAAEuB,GAAGgf,KAAKskD,oBAAoB/kD,GAAG,OAAO,IAAIS,KAAK5e,YAAYse,EAAEve,MAAM1B,EAAEuB,EAAE,GAAG,CAAC,oBAAAujE,CAAqBhlD,GAAG,MAAMG,EAAEM,KAAKktC,QAAQ/pD,QAAQuc,GAAGH,EAAEG,KAAK,OAAO,IAAIM,KAAK5e,YAAYse,EAAE,CAAC,oBAAA8kD,CAAqBjlD,GAAG,MAAMG,EAAEjgB,EAAEuB,GAAGgf,KAAKskD,oBAAoB/kD,GAAG,OAAO,IAAIS,KAAK5e,YAAYse,GAAGk6B,OAAOn6C,EAAEuB,EAAEvB,EAAE,EAAE,CAAC,uBAAAglE,CAAwBllD,EAAEG,GAAG,MAAMjgB,EAAEuB,EAAEye,GAAGO,KAAKskD,oBAAoB/kD,GAAG1e,EAAEpB,EAAEkF,KAAI,CAAE4a,EAAE9f,IAAIuB,GAAGvB,GAAGA,GAAGggB,EAAEC,EAAEH,GAAGA,IAAI,OAAO,IAAIS,KAAK5e,YAAYP,EAAE,CAAC,mBAAAyjE,CAAoB/kD,GAAG,IAAIG,GAAGjgB,EAAEuB,EAAEye,GAAGO,KAAKgkD,sBAAsBU,GAAGnlD,IAAI,OAAO9f,EAAEigB,GAAG,IAAIM,KAAK5e,YAAY3B,GAAGukE,sBAAsBW,GAAGplD,GAAGE,GAAG,CAAChgB,EAAEuB,EAAE0e,EAAE,EAAE,CAAC,mBAAAklD,CAAoBrlD,GAAG,MAAMzgB,MAAM4gB,GAAGM,KAAK6kD,6BAA6BtlD,GAAG,OAAOS,KAAKktC,QAAQxtC,EAAE,CAAC,qBAAAskD,CAAsBzkD,GAAG,IAAIG,EAAEjgB,EAAE,MAAMX,MAAMkC,EAAE+sC,OAAOtuB,GAAGO,KAAK6kD,6BAA6BtlD,GAAG1e,EAAEmf,KAAKktC,QAAQ/rD,MAAM,GAAG,GAAG,MAAMH,EAAE,GAAG,IAAIye,EAAEC,EAAE1e,EAAEvB,EAAE,MAAM,CAAC,MAAM8f,EAAES,KAAKokD,iBAAiBpjE,IAAIwe,EAAExR,GAAGuR,EAAEmkD,cAAcjkD,GAAG5e,EAAE+4C,OAAO54C,EAAE,EAAEwe,EAAExR,GAAG0R,EAAE1e,EAAE,EAAEvB,EAAE+f,EAAEkiD,YAAYjiD,CAAC,MAAMC,EAAE7e,EAAEzD,OAAOqC,EAAE,EAAE,MAAM,CAACoB,EAAE6e,EAAEjgB,EAAE,CAAC,WAAAqlE,GAAc,MAAMvlD,EAAE,GAAG,IAAIG,EAAEM,KAAKktC,QAAQ,GAAG,OAAOltC,KAAKktC,QAAQ/rD,MAAM,GAAGqC,SAAS/D,IAAI,IAAIuB,EAAEye,EAAE,QAAQze,GAAGye,EAAEC,GAAGiiD,6BAAwB,IAAS3gE,GAAGA,EAAEX,KAAKof,EAAEhgB,GAAGigB,EAAEA,EAAE+jD,gBAAgBhkE,IAAI8f,EAAE/e,KAAKkf,GAAGA,EAAEjgB,EAAG,IAAGigB,GAAGH,EAAE/e,KAAKkf,GAAG,IAAIM,KAAK5e,YAAYme,EAAE,CAAC,2BAAAwlD,CAA4BxlD,EAAEG,GAAG,MAAMjgB,EAAEugB,KAAKktC,QAAQ/rD,MAAM,GAAGA,MAAMoe,EAAEG,EAAE,GAAG1e,EAAE,IAAIgf,KAAK5e,YAAY3B,GAAGqlE,cAAcp4B,UAAU,OAAO1sB,KAAK45B,OAAOr6B,EAAE9f,EAAErC,UAAU4D,EAAE,CAAC,4BAAA6jE,CAA6BtlD,GAAG,IAAIG,EAAEjgB,EAAE,EAAE,IAAIigB,EAAE,EAAEA,EAAEM,KAAKktC,QAAQ9vD,OAAOsiB,IAAI,CAAC,MAAM1e,EAAEvB,EAAEugB,KAAKktC,QAAQxtC,GAAGgiD,YAAY,GAAGjiE,GAAG8f,GAAGA,EAAEve,EAAE,MAAM,CAAClC,MAAM4gB,EAAEquB,OAAOxuB,EAAE9f,GAAGA,EAAEuB,CAAC,CAAC,MAAM,CAAClC,MAAM,KAAKivC,OAAO,KAAK,CAAC,4BAAAi3B,CAA6BzlD,EAAEG,GAAG,IAAIjgB,EAAE,EAAE,IAAI,IAAIuB,EAAE,EAAEA,EAAEgf,KAAKktC,QAAQ9vD,OAAO4D,IAAI,CAAC,MAAMye,EAAEO,KAAKktC,QAAQlsD,GAAG,GAAGA,EAAEue,EAAE9f,GAAGggB,EAAEiiD,iBAAiB,GAAG1gE,IAAIue,EAAE,CAAC9f,GAAGigB,EAAE,KAAK,CAAC,CAAC,OAAOjgB,CAAC,CAAC,cAAAwlE,GAAiB,OAAO,MAAMjlD,KAAKklD,cAAcllD,KAAKklD,YAAY,EAAEllD,KAAKktC,QAAQ1pD,SAAS+b,GAAGS,KAAKklD,aAAa3lD,EAAEmiD,eAAe1hD,KAAKklD,WAAW,CAAC,QAAAhkE,GAAW,OAAO8e,KAAKktC,QAAQh1C,KAAK,GAAG,CAAC,OAAAw0B,GAAU,OAAO1sB,KAAKktC,QAAQ/rD,MAAM,EAAE,CAAC,MAAA+lD,GAAS,OAAOlnC,KAAK0sB,SAAS,CAAC,SAAAua,CAAU1nC,GAAG,OAAOonC,MAAMM,aAAa9pD,YAAYgoE,GAAGnlD,KAAKktC,QAAQ,MAAM3tC,OAAE,EAAOA,EAAE2tC,QAAQ,CAAC,qBAAArF,GAAwB,MAAM,CAACqF,QAAQ,IAAInnD,OAAOia,KAAKktC,QAAQvoD,KAAK4a,GAAGA,EAAEqoC,YAAY1vC,KAAK,MAAM,KAAK,EAAE,MAAMitD,GAAG,SAAS5lD,GAAG,IAAIG,EAAEviB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,GAAGoiB,EAAEniB,SAASsiB,EAAEtiB,OAAO,OAAM,EAAG,IAAIqC,GAAE,EAAG,IAAI,IAAIuB,EAAE,EAAEA,EAAEue,EAAEniB,OAAO4D,IAAI,CAAC,MAAMye,EAAEF,EAAEve,GAAGvB,IAAIggB,EAAEwnC,UAAUvnC,EAAE1e,MAAMvB,GAAE,EAAG,CAAC,OAAOA,CAAC,EAAEilE,GAAGnlD,GAAGA,EAAE,GAAGolD,GAAGplD,GAAGA,EAAE,GAAG,MAAM6lD,WAAW5d,GAAG,sCAAO6d,CAAgC9lD,EAAEG,GAAG,OAAO,IAAIM,KAAK,CAAC,IAAImjD,GAAG5jD,EAAEG,IAAI,CAAC,kCAAO4lD,CAA4B/lD,EAAEG,GAAG,OAAO,IAAIM,KAAK,CAAC,IAAIwjD,GAAGjkD,EAAEG,IAAI,CAAC,eAAOgoC,CAASnoC,GAAG,OAAO,IAAIS,KAAK1iB,MAAMgE,KAAKie,GAAG5a,KAAK4a,GAAGlhB,GAAGqpD,SAASnoC,KAAK,CAAC,WAAAne,GAAc,IAAIme,EAAEpiB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAGwpD,SAASxpD,WAAW,MAAMuiB,EAAEH,EAAEpc,QAAQoc,IAAIA,EAAE1R,YAAYmS,KAAKulD,UAAU,IAAI5B,GAAGjkD,EAAE,CAAC,IAAA0hD,GAAO,OAAOphD,KAAKwlD,kBAAkBxlD,KAAKulD,UAAU,CAAC,iBAAAC,CAAkBjmD,GAAG,OAAO,IAAIS,KAAK5e,YAAYme,EAAEulD,cAAcp4B,UAAU,CAAC,kBAAA+4B,CAAmBlmD,GAAG,MAAMG,EAAEM,KAAKy+C,YAAY95D,KAAK+a,GAAGH,EAAEnM,KAAKsM,IAAIA,IAAI,OAAO,IAAIM,KAAK5e,YAAYse,EAAE,CAAC,UAAAgmD,CAAWnmD,GAAG,OAAOS,KAAK2lD,qBAAqBpmD,EAAES,KAAK0hD,YAAY,CAAC,oBAAAiE,CAAqBpmD,EAAEG,GAAG,OAAOM,KAAKwlD,kBAAkBxlD,KAAKulD,UAAUxB,+BAA+BxkD,EAAEgmD,UAAU7lD,GAAG,CAAC,iBAAAkmD,CAAkBrmD,GAAG,OAAOS,KAAKwlD,kBAAkBxlD,KAAKulD,UAAUf,qBAAqBjlD,GAAG,CAAC,kBAAAsmD,CAAmBtmD,EAAEG,GAAG,OAAOM,KAAK4lD,kBAAkBlmD,GAAGimD,qBAAqBpmD,EAAEG,EAAE,GAAG,CAAC,2BAAAomD,CAA4BvmD,EAAEG,GAAG,GAAGH,EAAE,IAAIG,GAAGA,GAAGH,EAAE,GAAG,OAAO,MAAM9f,EAAEugB,KAAK+lD,eAAexmD,GAAGve,EAAEvB,EAAEiiE,YAAY,OAAOniD,EAAE,GAAGG,IAAIA,GAAG1e,GAAGgf,KAAK4lD,kBAAkBrmD,GAAGomD,qBAAqBlmE,EAAEigB,EAAE,CAAC,mBAAAsmD,CAAoBzmD,EAAEG,EAAEjgB,GAAG,MAAMuB,EAAE,CAAC,EAAE,OAAOA,EAAEue,GAAGG,EAAEM,KAAKimD,qBAAqBjlE,EAAEvB,EAAE,CAAC,oBAAAwmE,CAAqB1mD,EAAEG,GAAG,OAAOM,KAAKwlD,kBAAkBxlD,KAAKulD,UAAUd,wBAAwB/kD,GAAGA,GAAGA,EAAEwhD,6BAA6B3hD,KAAK,CAAC,sBAAA2mD,CAAuB3mD,EAAEG,GAAG,OAAOM,KAAKwlD,kBAAkBxlD,KAAKulD,UAAUd,wBAAwB/kD,GAAGA,GAAGA,EAAEyhD,qBAAqB5hD,KAAK,CAAC,oBAAA4mD,CAAqB5mD,EAAEG,GAAG,OAAOM,KAAKwlD,kBAAkBxlD,KAAKulD,UAAUd,wBAAwB/kD,GAAGA,GAAGA,EAAEshD,mBAAmBzhD,KAAK,CAAC,uBAAA6mD,CAAwB7mD,GAAG,IAAIG,EAAE,OAAO,QAAQA,EAAEM,KAAKulD,UAAUX,oBAAoBrlD,UAAK,IAASG,OAAE,EAAOA,EAAEm+C,kBAAkB,CAAC,CAAC,CAAC,mBAAAwI,GAAsB,MAAM9mD,EAAEjiB,MAAMgE,KAAK0e,KAAKulD,UAAU74B,WAAW/nC,KAAK4a,GAAGA,EAAEs+C,kBAAkB,OAAO5R,GAAGC,8BAA8B3sC,GAAGotC,UAAU,CAAC,0BAAA2Z,CAA2B/mD,GAAG,OAAOS,KAAK+lD,eAAexmD,GAAG8mD,uBAAuB,CAAC,CAAC,CAAC,oCAAAE,CAAqChnD,EAAEG,GAAG,IAAIjgB,EAAEuB,EAAEvB,EAAEigB,EAAE,MAAMD,EAAEO,KAAK0hD,YAAY,KAAK1gE,EAAE,GAAGgf,KAAKsmD,2BAA2B,CAACtlE,EAAE,EAAEvB,IAAI8f,IAAIve,IAAI,KAAKvB,EAAEggB,GAAGO,KAAKsmD,2BAA2B,CAAC5mD,EAAEjgB,EAAE,IAAI8f,IAAI9f,IAAI,MAAM,CAACuB,EAAEvB,EAAE,CAAC,cAAAsmE,CAAexmD,GAAG,OAAOS,KAAKwlD,kBAAkBxlD,KAAKulD,UAAUlB,yBAAyB9kD,GAAG,CAAC,gBAAAinD,CAAiBjnD,GAAG,OAAOS,KAAKulD,UAAUlB,yBAAyB9kD,GAAGre,UAAU,CAAC,mBAAAulE,CAAoBlnD,GAAG,OAAOS,KAAKwmD,iBAAiB,CAACjnD,EAAEA,EAAE,GAAG,CAAC,gBAAAmnD,CAAiBnnD,GAAG,OAAOS,KAAKwmD,iBAAiB,CAAC,EAAEjnD,EAAEniB,WAAWmiB,CAAC,CAAC,cAAAonD,CAAepnD,GAAG,MAAMG,EAAEM,KAAK0hD,YAAY,OAAO1hD,KAAKwmD,iBAAiB,CAAC9mD,EAAEH,EAAEniB,OAAOsiB,MAAMH,CAAC,CAAC,mBAAAqnD,GAAsB,OAAO5mD,KAAKulD,UAAU74B,UAAUvpC,QAAQoc,KAAKA,EAAE2W,YAAY,CAAC,cAAA2wC,GAAiB,OAAO7mD,KAAK4mD,sBAAsBjiE,KAAK4a,GAAGA,EAAE2W,YAAY,CAAC,4BAAA4wC,CAA6BvnD,GAAG,IAAIG,EAAE,EAAE,IAAI,MAAM1e,KAAKgf,KAAKulD,UAAU74B,UAAU,CAAC,IAAIjtC,EAAE,IAAI,QAAQA,EAAEuB,EAAEk1B,kBAAa,IAASz2B,OAAE,EAAOA,EAAE6P,MAAMiQ,EAAE,MAAM,CAAC2W,WAAWl1B,EAAEk1B,WAAW+N,SAASvkB,GAAGA,GAAG1e,EAAE5D,MAAM,CAAC,MAAM,CAAC84B,WAAW,KAAK+N,SAAS,KAAK,CAAC,iBAAA8iC,CAAkBxnD,GAAG,MAAM2W,WAAWxW,GAAGM,KAAK8mD,6BAA6BvnD,GAAG,OAAOG,CAAC,CAAC,oBAAAsnD,CAAqBznD,GAAG,MAAMG,EAAEM,KAAK8mD,6BAA6BvnD,EAAEjQ,IAAI7P,EAAEigB,EAAEukB,SAAS,GAAG1kB,EAAEG,EAAEwW,WAAW,MAAM,CAACz2B,EAAEA,EAAE,EAAE,CAAC,6BAAAwnE,CAA8B1nD,EAAEG,GAAG,MAAMjgB,EAAEugB,KAAKgnD,qBAAqBtnD,GAAG,OAAOjgB,EAAEugB,KAAKimD,qBAAqB1mD,EAAE9f,GAAGugB,IAAI,CAAC,SAAA0hD,GAAY,OAAO1hD,KAAKulD,UAAUN,gBAAgB,CAAC,OAAAp3D,GAAU,OAAO,IAAImS,KAAK0hD,WAAW,CAAC,SAAAza,CAAU1nC,GAAG,IAAIG,EAAE,OAAOinC,MAAMM,UAAU1nC,KAAK,MAAMA,GAAG,QAAQG,EAAEH,EAAEgmD,iBAAY,IAAS7lD,OAAE,EAAOA,EAAEunC,UAAUjnC,KAAKulD,WAAW,CAAC,YAAA/D,GAAe,OAAO,IAAIxhD,KAAK0hD,aAAa1hD,KAAKulD,UAAUnB,iBAAiB,GAAG5C,cAAc,CAAC,SAAA0F,CAAU3nD,GAAG,OAAOS,KAAKulD,UAAU3B,WAAWrkD,EAAE,CAAC,SAAAk/C,GAAY,OAAOz+C,KAAKulD,UAAU74B,SAAS,CAAC,kBAAAy6B,CAAmB5nD,GAAG,OAAOS,KAAKulD,UAAUX,oBAAoBrlD,EAAE,CAAC,qBAAAsoC,GAAwB,MAAM,CAAC0d,UAAUvlD,KAAKulD,UAAU3d,UAAU,CAAC,kBAAAwf,GAAqB,MAAM7nD,EAAES,KAAKulD,UAAUhB,sBAAsBhlD,GAAGA,EAAEkiD,mBAAmB,OAAOzhD,KAAKwlD,kBAAkBjmD,EAAE,CAAC,QAAAre,GAAW,OAAO8e,KAAKulD,UAAUrkE,UAAU,CAAC,MAAAgmD,GAAS,OAAOlnC,KAAKulD,UAAUre,QAAQ,CAAC,SAAAqc,GAAY,OAAOxyD,KAAKC,UAAUgP,KAAKulD,UAAU74B,UAAU/nC,KAAK4a,GAAGxO,KAAKssC,MAAM99B,EAAEgkD,eAAe,CAAC,YAAA8D,GAAe,OAAOlf,GAAGnoC,KAAK9e,WAAW,CAAC,KAAA89D,GAAQ,MAAM,QAAQh/C,KAAKqnD,cAAc,EAAE,MAAMC,WAAW9f,GAAG,eAAOE,CAASnoC,GAAG,OAAO,IAAIS,KAAKolD,GAAG1d,SAASnoC,EAAE+5B,MAAM/5B,EAAE4H,WAAW5H,EAAEggC,eAAe,CAAC,WAAAn+C,CAAYme,EAAEG,EAAEjgB,GAAGknD,SAASxpD,WAAW6iB,KAAKs5B,KAAKiuB,GAAGhoD,GAAG,IAAI6lD,IAAIplD,KAAKmH,WAAWzH,GAAG,GAAGM,KAAKu/B,eAAe9/C,GAAG,CAAC,CAAC,CAAC,OAAAoO,GAAU,OAAOmS,KAAKs5B,KAAKkoB,cAAc,CAAC,SAAAva,CAAU1nC,GAAG,QAAQonC,MAAMM,UAAU1nC,IAAIS,KAAKs5B,KAAK2N,UAAU,MAAM1nC,OAAE,EAAOA,EAAE+5B,OAAO0O,GAAGhoC,KAAKmH,WAAW,MAAM5H,OAAE,EAAOA,EAAE4H,aAAa8iC,GAAGjqC,KAAKu/B,eAAe,MAAMhgC,OAAE,EAAOA,EAAEggC,eAAe,CAAC,YAAAioB,CAAajoD,GAAG,OAAO,IAAI+nD,GAAG/nD,EAAES,KAAKmH,WAAWnH,KAAKu/B,eAAe,CAAC,eAAAkoB,GAAkB,OAAOznD,KAAKwnD,aAAa,KAAK,CAAC,kBAAAxG,CAAmBzhD,GAAG,OAAO,IAAI+nD,GAAGtnD,KAAKs5B,KAAK/5B,EAAES,KAAKu/B,eAAe,CAAC,qBAAAmoB,GAAwB,OAAO1nD,KAAKghD,mBAAmB,KAAK,CAAC,kBAAAyE,CAAmBlmD,GAAG,MAAMG,EAAEH,EAAEnM,KAAK4M,KAAKs5B,MAAM,OAAO55B,EAAEM,KAAKwnD,aAAa9nD,GAAGM,KAAKwnD,aAAaxnD,KAAKs5B,KAAKmsB,mBAAmBlmD,GAAG,CAAC,YAAAooD,CAAapoD,GAAG,MAAMG,EAAEM,KAAKmH,WAAWphB,OAAO6hE,GAAGroD,IAAI,OAAOS,KAAKghD,mBAAmBthD,EAAE,CAAC,gBAAAmoD,CAAiBtoD,EAAEG,GAAG,MAAMjgB,EAAEzB,OAAOiU,OAAO,CAAC,EAAE+N,KAAKu/B,eAAe,CAAC,CAAChgC,GAAGG,IAAI,OAAO,IAAI4nD,GAAGtnD,KAAKs5B,KAAKt5B,KAAKmH,WAAW1nB,EAAE,CAAC,eAAA+hB,CAAgBjC,GAAG,MAAMogC,cAAcjgC,GAAGspC,GAAGzpC,GAAG9f,EAAEqoE,GAAGA,GAAG9nD,KAAKmH,WAAW5H,GAAGG,GAAG,OAAOM,KAAKghD,mBAAmBvhE,EAAE,CAAC,mBAAAsoE,GAAsB,OAAO/nD,KAAKwB,gBAAgBxB,KAAK8+C,mBAAmB,CAAC,gBAAAA,GAAmB,OAAOkJ,GAAGhoD,KAAKmH,WAAW,CAAC,aAAA02C,GAAgB,OAAO79C,KAAKmH,WAAWhmB,MAAM,EAAE,CAAC,iBAAA8mE,GAAoB,OAAOjoD,KAAKmH,WAAW/pB,MAAM,CAAC,mBAAA8qE,CAAoB3oD,GAAG,OAAOS,KAAKmH,WAAW5H,EAAE,EAAE,CAAC,YAAA44C,CAAa54C,GAAG,OAAOS,KAAKmH,WAAWtW,SAAS0O,EAAE,CAAC,aAAA4oD,GAAgB,OAAOnoD,KAAKioD,oBAAoB,CAAC,CAAC,wBAAAG,GAA2B,OAAOJ,GAAGhoD,KAAKqoD,wBAAwB,CAAC,qBAAAA,GAAwB,OAAOroD,KAAKmH,WAAWhkB,QAAQoc,GAAGypC,GAAGzpC,GAAG0/B,UAAU,CAAC,eAAAqpB,GAAkB,OAAOtoD,KAAKqoD,wBAAwBjrE,MAAM,CAAC,oBAAAmrE,GAAuB,MAAMhpD,EAAES,KAAKooD,2BAA2B,OAAO7oD,EAAES,KAAKwB,gBAAgBjC,GAAGS,IAAI,CAAC,oBAAAwoD,GAAuB,MAAMjpD,EAAES,KAAKooD,2BAA2B,GAAG7oD,EAAE,CAAC,MAAMG,EAAEM,KAAKmH,WAAWuT,YAAYnb,GAAG9f,EAAEwoD,GAAGjoC,KAAKmH,WAAWzH,EAAE,EAAE,KAAKkoD,GAAGroD,IAAI,OAAOS,KAAKghD,mBAAmBvhE,EAAE,CAAC,OAAOugB,IAAI,CAAC,qBAAAyoD,GAAwB,OAAOzoD,KAAKmH,WAAWhkB,QAAQoc,GAAGypC,GAAGzpC,GAAGogC,eAAe,CAAC,UAAA+oB,GAAa,IAAInpD,EAAE,OAAO,QAAQA,EAAEypC,GAAGhpC,KAAK8+C,2BAAsB,IAASv/C,OAAE,EAAOA,EAAEogC,aAAa,CAAC,eAAAgpB,GAAkB,IAAIppD,EAAE,OAAO,QAAQA,EAAEypC,GAAGhpC,KAAK8+C,2BAAsB,IAASv/C,OAAE,EAAOA,EAAE4/B,QAAQ,CAAC,cAAAypB,GAAiB,IAAIrpD,EAAE,OAAO,QAAQA,EAAEypC,GAAGhpC,KAAK8+C,2BAAsB,IAASv/C,OAAE,EAAOA,EAAE6/B,aAAa,CAAC,oCAAAypB,CAAqCtpD,EAAEG,GAAG,MAAMjgB,EAAEugB,KAAK9e,WAAW,IAAIF,EAAE,OAAOue,GAAG,IAAI,UAAUve,EAAEvB,EAAEiD,QAAQ,KAAKgd,GAAG,MAAM,IAAI,WAAW1e,EAAEvB,EAAE0B,MAAM,EAAEue,GAAGgb,YAAY,MAAM,IAAI,IAAI15B,EAAE,OAAOA,CAAC,CAAC,qBAAA6mD,GAAwB,MAAM,CAACvO,KAAKt5B,KAAKs5B,KAAKsO,UAAUzgC,WAAWnH,KAAKmH,WAAW,CAAC,QAAAjmB,GAAW,OAAO8e,KAAKs5B,KAAKp4C,UAAU,CAAC,MAAAgmD,GAAS,MAAM,CAAC5N,KAAKt5B,KAAKs5B,KAAKnyB,WAAWnH,KAAKmH,WAAWo4B,eAAev/B,KAAKu/B,eAAe,CAAC,YAAA8nB,GAAe,OAAOrnD,KAAKs5B,KAAK+tB,cAAc,CAAC,KAAArI,GAAQ,OAAOh/C,KAAKs5B,KAAK0lB,OAAO,CAAC,SAAA0C,GAAY,OAAO1hD,KAAKs5B,KAAKooB,WAAW,CAAC,qBAAAC,CAAsBpiD,GAAG,OAAOS,KAAKmoD,kBAAkB5oD,EAAE4oD,iBAAiBnoD,KAAKqnD,iBAAiB9nD,EAAE8nD,cAAc,CAAC,eAAA5D,CAAgBlkD,GAAG,MAAMG,EAAE0lD,GAAGE,4BAA4B,MAAM7lE,EAAEugB,KAAK8oD,2BAA2BpD,WAAWhmD,GAAG,OAAOM,KAAKwnD,aAAa/nE,EAAEimE,WAAWnmD,EAAE+5B,MAAM,CAAC,aAAAoqB,CAAcnkD,GAAG,IAAIG,EAAEjgB,EAAE,OAAO,IAAI8f,GAAGG,EAAE,KAAKjgB,EAAEugB,MAAMT,IAAIS,KAAK0hD,aAAahiD,EAAEM,KAAKvgB,EAAE,OAAOigB,EAAEM,KAAKwnD,aAAaxnD,KAAKs5B,KAAKysB,eAAe,CAAC,EAAExmD,KAAK9f,EAAEugB,KAAKwnD,aAAaxnD,KAAKs5B,KAAKysB,eAAe,CAACxmD,EAAES,KAAK0hD,gBAAgB,CAAChiD,EAAEjgB,EAAE,CAAC,qBAAAw/D,GAAwB,OAAOj/C,KAAKs5B,KAAKooB,YAAY,CAAC,CAAC,wBAAAoH,GAA2B,OAAOC,GAAG/oD,KAAKs5B,MAAMt5B,KAAKs5B,KAAKysB,eAAe,CAAC,EAAE/lD,KAAKi/C,0BAA0Bj/C,KAAKs5B,KAAK8nB,MAAM,CAAC,YAAApU,CAAaztC,GAAG,OAAOS,KAAKmH,WAAW5H,EAAE,CAAC,gBAAA0tC,CAAiB1tC,EAAEG,GAAG,MAAMjgB,EAAE8f,EAAEs+C,gBAAgBp+C,EAAEhgB,EAAEigB,GAAG7e,EAAEmf,KAAKmH,WAAWzH,GAAG,OAAO7e,IAAI4e,MAAK,IAAKupC,GAAGnoD,GAAGw+C,QAAQ,MAAM,IAAIuJ,GAAG,CAACA,GAAG,GAAG,IAAI,MAAMrpC,KAAKve,EAAE,CAAC,MAAM2+C,cAAcjgC,GAAG1e,EAAEue,GAAG,MAAMG,GAAGkpC,GAAGpoD,KAAKkf,EAAE,CAAC,CAAC,OAAOkpC,EAAG,EAAjG,GAAqG/3C,SAASpR,EAAEigB,EAAE,OAAOM,KAAKqnD,iBAAiB9nD,EAAE8nD,gBAAgB9nD,EAAE1R,UAAU,EAAE,MAAM05D,GAAG,SAAShoD,GAAG,OAAOA,EAAE04B,GAAG14B,GAAKypD,GAAGzpD,EAAE,EAAE04B,GAAG,SAAS14B,GAAG,IAAIG,GAAE,EAAG,MAAMjgB,EAAE8f,EAAEk/C,YAAY,IAAIz9D,EAAEvB,EAAE0B,MAAM,EAAE1B,EAAErC,OAAO,GAAG,MAAMqiB,EAAEhgB,EAAEA,EAAErC,OAAO,GAAG,OAAOqiB,GAAGze,EAAEA,EAAE2D,KAAK4a,GAAGA,EAAEiiD,gBAAgB9hD,GAAE,EAAGupD,GAAG1pD,IAAIA,IAAIG,EAAE,IAAI0lD,GAAG,IAAIpkE,EAAEye,IAAIF,GAAGA,CAAC,EAAE2pD,GAAG9D,GAAGE,4BAA4B,KAAK,CAAC6D,YAAW,IAAKH,GAAG,SAASzpD,GAAG,OAAOwpD,GAAGxpD,GAAGA,EAAEA,EAAEmmD,WAAWwD,GAAG,EAAEH,GAAG,SAASxpD,GAAG,MAAMG,EAAEH,EAAEmiD,YAAY,OAAG,IAAIhiD,GAAkBH,EAAEwmD,eAAe,CAACrmD,EAAE,EAAEA,IAAI8hD,cAAc,EAAEyH,GAAG1pD,GAAGA,EAAE4hD,qBAAqB,cAAcyG,GAAG,SAASroD,GAAG,MAAMogC,cAAcjgC,GAAGspC,GAAGzpC,GAAG,OAAOG,EAAE,CAACA,EAAEH,GAAG,CAACA,EAAE,EAAEyoD,GAAGzoD,GAAGA,EAAEpe,OAAO,GAAG,GAAG2mE,GAAG,SAASvoD,EAAEG,GAAG,MAAMjgB,EAAE8f,EAAEmb,YAAYhb,GAAG,OAAO,IAAIjgB,EAAE8f,EAAE0oC,GAAG1oC,EAAE9f,EAAE,EAAE,EAAE,MAAMm0B,WAAW4zB,GAAG,eAAOE,CAASnoC,GAAG,OAAO,IAAIS,KAAK1iB,MAAMgE,KAAKie,GAAG5a,KAAK4a,GAAG+nD,GAAG5f,SAASnoC,KAAK,CAAC,iBAAO6pD,CAAW7pD,EAAEG,GAAG,MAAMjgB,EAAE2lE,GAAGE,4BAA4B/lD,EAAEG,GAAG,OAAO,IAAIM,KAAK,CAAC,IAAIsnD,GAAG7nE,IAAI,CAAC,WAAA2B,GAAc,IAAIme,EAAEpiB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAGwpD,SAASxpD,WAAW,IAAIoiB,EAAEniB,SAASmiB,EAAE,CAAC,IAAI+nD,KAAKtnD,KAAKqpD,UAAU1F,GAAGrd,IAAI/mC,EAAE,CAAC,OAAA1R,GAAU,MAAM0R,EAAES,KAAKspD,gBAAgB,GAAG,OAAO,IAAItpD,KAAKqpD,UAAUjsE,QAAQmiB,EAAE1R,YAAY0R,EAAE4oD,eAAe,CAAC,IAAA/G,GAAO,MAAM7hD,GAAGpiB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,GAAGosE,kBAAkBvpD,KAAKqpD,UAAUvE,cAAcp4B,UAAU1sB,KAAKqpD,UAAU38B,UAAU,OAAO,IAAI1sB,KAAK5e,YAAYme,EAAE,CAAC,4BAAAiqD,CAA6BjqD,GAAG,MAAMG,EAAE,IAAI2tC,GAAG9tC,EAAE4tC,cAAc,OAAOntC,KAAKylD,mBAAmB/lD,EAAE,CAAC,kBAAA+lD,CAAmBlmD,GAAG,MAAMG,EAAEM,KAAKid,YAAYt4B,KAAK+a,GAAGH,EAAEnM,KAAKsM,IAAIA,EAAE+lD,mBAAmBlmD,KAAK,OAAO,IAAIS,KAAK5e,YAAYse,EAAE,CAAC,2BAAA+pD,GAA8B,IAAIlqD,EAAEpiB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,MAAMuiB,EAAEM,KAAKid,YAAYt4B,KAAK+a,IAAI,MAAMjgB,EAAE8f,EAAExZ,OAAO2Z,EAAEm+C,iBAAiB,OAAOn+C,EAAEshD,mBAAmBvhE,EAAG,IAAG,OAAO,IAAIugB,KAAK5e,YAAYse,EAAE,CAAC,YAAAgqD,CAAanqD,EAAEG,GAAG,MAAMjgB,EAAEugB,KAAKqpD,UAAU3mE,QAAQ6c,GAAG,OAAO,IAAI9f,EAAEugB,KAAK,IAAIA,KAAK5e,YAAY4e,KAAKqpD,UAAUnF,qBAAqBxkD,EAAEjgB,GAAG,CAAC,qBAAAkqE,CAAsBpqD,EAAEG,GAAG,MAAM2pD,UAAU5pE,GAAG8f,EAAEG,EAAEwqC,GAAGxqC,GAAG,IAAI1e,GAAG0e,EAAE,MAAM5gB,MAAM2gB,EAAEsuB,OAAOltC,GAAGmf,KAAK4pD,qBAAqB5oE,GAAG,IAAIwe,EAAEQ,KAAK,MAAMhS,EAAEgS,KAAK6pD,mBAAmB7oE,GAAG,OAAOopD,GAAG1qC,IAAI1R,EAAEH,YAAYG,EAAEm6D,gBAAgB3oD,EAAE,IAAIQ,KAAK5e,YAAYoe,EAAE6pD,UAAUlF,oBAAoB1kD,IAAIzR,EAAEixD,0BAA0Bp+D,GAAGG,IAAIwe,EAAEA,EAAEomD,kBAAkBlmD,GAAG,IAAIM,KAAK5e,YAAYoe,EAAE6pD,UAAUtF,+BAA+BtkE,EAAEuB,GAAG,CAAC,oBAAA8oE,CAAqBvqD,EAAEG,GAAG,IAAIjgB,EAAEuB,EAAE0e,EAAEwqC,GAAGxqC,GAAG,MAAMD,GAAGC,EAAE7e,EAAEmf,KAAK4pD,qBAAqBnqD,GAAGD,EAAEQ,KAAKspD,gBAAgBzoE,EAAE/B,OAAO++D,gBAAgB7vD,EAAEuR,EAAEwqD,yBAAyB7pD,EAAEV,EAAEre,OAAO6M,EAAE5Q,QAAQ,GAAG4qD,GAAGh6C,EAAEkS,GAAG,CAAC,MAAMR,EAAEF,EAAEre,MAAM,GAAG6M,EAAE5Q,QAAQqC,EAAE8f,EAAEkqD,4BAA4B/pD,EAAE,MAAMjgB,EAAE8f,EAAE6hD,KAAK,CAACmI,mBAAkB,IAAKE,4BAA4BjqD,GAAG,MAAMiD,EAAEhjB,EAAEuqE,gBAAgBrqD,EAAElgB,EAAE6pE,gBAAgB,GAAG,GAAGthB,GAAGxoC,EAAEG,EAAEk+C,iBAAiB,CAAC,MAAMt+C,EAAEI,EAAEmpD,2BAA2B,GAAG9nE,EAAEgf,KAAKiqD,kBAAkB1qD,EAAEG,GAAG+C,EAAE,EAAE,CAAChjB,EAAE,IAAIugB,KAAK5e,YAAY3B,EAAEw9B,YAAY97B,MAAM,IAAI,MAAMue,EAAED,EAAEF,EAAEmiD,YAAY1gE,EAAEA,EAAE2oE,sBAAsBlqE,EAAEigB,EAAE,CAAC,MAAM1e,EAAEgf,KAAK2pD,sBAAsBlqE,EAAEigB,GAAG,OAAO1e,CAAC,CAAC,iBAAAipE,CAAkB1qD,EAAEG,GAAGA,EAAEwqC,GAAGxqC,GAAG,MAAMjgB,GAAGigB,GAAG5gB,MAAMkC,EAAE+sC,OAAOtuB,GAAGO,KAAK4pD,qBAAqBnqE,GAAGoB,EAAEmf,KAAK4lD,kBAAkBlmD,GAAG,OAAO,IAAIM,KAAK5e,YAAYP,EAAEwoE,UAAUpF,kBAAkBjjE,GAAG0e,GAAGA,EAAE8nD,aAAa9nD,EAAE45B,KAAKqsB,qBAAqBpmD,EAAEE,MAAM,CAAC,iBAAAmmD,CAAkBrmD,GAAG,IAAIG,EAAEH,EAAE2qC,GAAG3qC,GAAG,MAAM9f,EAAEuB,GAAGue,EAAE,GAAG6qC,GAAG7qC,GAAG,OAAOS,KAAK,MAAMP,EAAE5e,GAAGvD,MAAMgE,KAAK0e,KAAKkqD,uBAAuB3qD,IAAIC,EAAEC,EAAE3gB,MAAMkP,EAAEyR,EAAEsuB,OAAO7tB,EAAEF,KAAKspD,gBAAgB9pD,GAAGiD,EAAE5hB,EAAE/B,MAAM6gB,EAAE9e,EAAEktC,OAAOnuB,EAAEI,KAAKspD,gBAAgB7mD,GAAG,GAAGzhB,EAAEvB,GAAG,GAAGygB,EAAE++C,0BAA0BjxD,GAAG4R,EAAEq/C,0BAA0Bt/C,GAAG,OAAOC,EAAE05B,KAAKmtB,oBAAoB9mD,GAAGD,EAAEM,KAAKqpD,UAAUpF,kBAAkBxhD,GAAGlD,GAAGA,EAAEioD,aAAajoD,EAAE+5B,KAAKssB,kBAAkB,CAACjmD,EAAEA,EAAE,WAAW,CAAC,IAAIJ,EAAE,MAAM9f,EAAEygB,EAAEo5B,KAAKysB,eAAe,CAAC,EAAE/3D,IAAIhN,EAAE4e,EAAE05B,KAAKysB,eAAe,CAACpmD,EAAEC,EAAE8hD,cAAcjiD,EAAEhgB,EAAEimE,WAAW1kE,GAAGue,EAAEC,IAAIiD,GAAG,IAAIzU,GAAGkS,EAAE+nD,qBAAqBroD,EAAEqoD,oBAAoBroD,EAAE4nD,aAAa/nD,GAAGS,EAAEsnD,aAAa/nD,GAAG,MAAM5e,EAAE4hB,EAAE,EAAEjD,EAAEE,EAAEM,KAAKqpD,UAAUzvB,OAAOp6B,EAAE3e,EAAE0e,EAAE,CAAC,OAAO,IAAIS,KAAK5e,YAAYse,EAAE,CAAC,2BAAAomD,CAA4BvmD,EAAEG,GAAG,IAAIjgB,EAAE8f,EAAE2qC,GAAG3qC,GAAG,MAAMve,EAAEye,GAAGF,EAAE,GAAGve,GAAG0e,GAAGA,GAAGD,EAAE,OAAOO,KAAK,IAAInf,EAAEmf,KAAKmqD,mBAAmB5qD,GAAGC,EAAEQ,KAAK4lD,kBAAkBrmD,GAAG,MAAMvR,EAAEhN,EAAE0e,EAAE1R,IAAI0R,GAAG7e,EAAE6gE,aAAa,MAAMxhD,KAAKuC,GAAG5hB,EAAEo8B,YAAY,OAAO,IAAIxa,EAAErlB,QAAQqC,EAAEygB,EAAE4oD,2BAA2B96D,IAAI0R,GAAG,IAAIjgB,EAAEygB,EAAEo5B,KAAK95B,EAAEA,EAAEyqD,kBAAkBxqE,EAAEigB,GAAG,IAAI+C,EAAErlB,OAAOoiB,GAAG3e,EAAE,IAAImf,KAAK5e,YAAYqhB,GAAG/C,GAAGjgB,EAAEiiE,YAAYliD,EAAEmqD,sBAAsB9oE,EAAE6e,GAAG,CAAC,mBAAAsmD,CAAoBzmD,EAAEG,EAAEjgB,GAAG,IAAI4pE,UAAUroE,GAAGgf,KAAK,OAAOA,KAAKoqD,iBAAiB3qE,GAAE,CAAEA,EAAEggB,EAAE5e,IAAIG,EAAEA,EAAEijE,kBAAkBpjE,GAAE,WAAY,OAAOmoD,GAAGzpC,GAAG9f,EAAEkoE,aAAapoD,EAAEG,GAAGD,EAAE,KAAKA,EAAE,GAAGhgB,EAAEA,EAAE+nE,aAAa/nE,EAAE65C,KAAK0sB,oBAAoBzmD,EAAEG,EAAED,GAAI,MAAK,IAAIO,KAAK5e,YAAYJ,EAAE,CAAC,YAAA2mE,CAAapoD,EAAEG,GAAG,IAAI2pD,UAAU5pE,GAAGugB,KAAK,OAAOA,KAAKqqD,WAAU,CAAErpE,EAAEye,IAAIhgB,EAAEA,EAAEwkE,kBAAkBxkD,GAAE,IAAKze,EAAE2mE,aAAapoD,EAAEG,OAAO,IAAIM,KAAK5e,YAAY3B,EAAE,CAAC,sBAAAymE,CAAuB3mD,EAAEG,GAAG,IAAI2pD,UAAU5pE,GAAGugB,KAAK,OAAOA,KAAKoqD,iBAAiB1qD,GAAE,SAAUA,EAAE1e,EAAEye,GAAGupC,GAAGzpC,GAAG9f,EAAEA,EAAEwkE,kBAAkBxkD,GAAE,IAAKC,EAAE8B,gBAAgBjC,KAAKve,EAAE,KAAKA,EAAE,KAAKvB,EAAEA,EAAEwkE,kBAAkBxkD,GAAE,IAAKC,EAAE8nD,aAAa9nD,EAAE45B,KAAK4sB,uBAAuB3mD,EAAEve,MAAO,IAAG,IAAIgf,KAAK5e,YAAY3B,EAAE,CAAC,6BAAAwnE,CAA8B1nD,EAAEG,GAAG,MAAMjgB,EAAEugB,KAAKgnD,qBAAqBtnD,IAAI1e,GAAG1D,MAAMgE,KAAK7B,IAAIX,MAAM2gB,GAAGO,KAAK4pD,qBAAqB5oE,GAAGH,EAAEmf,KAAKsqD,eAAe7qD,GAAG,OAAO,IAAIO,KAAK5e,YAAY4e,KAAKqpD,UAAUpF,kBAAkBxkD,GAAGhgB,GAAGA,EAAE+nE,aAAa3mE,EAAEomE,8BAA8B1nD,EAAEG,MAAM,CAAC,4BAAA6qD,CAA6BhrD,EAAEG,GAAG,MAAMjgB,EAAEugB,KAAKgnD,qBAAqBtnD,GAAG,OAAOM,KAAKkmD,uBAAuB3mD,EAAE9f,EAAE,CAAC,0BAAA+qE,CAA2BjrD,EAAEG,EAAEjgB,GAAG,MAAMuB,EAAEgf,KAAK6pD,mBAAmBtqD,GAAGE,EAAEze,EAAE6mE,iBAAiBnoD,EAAEjgB,GAAG,OAAOugB,KAAK0pD,aAAa1oE,EAAEye,EAAE,CAAC,uBAAAgrD,CAAwBlrD,GAAG,IAAIG,EAAEH,EAAE2qC,GAAG3qC,GAAG,MAAM9f,GAAG8f,GAAGwuB,OAAO/sC,GAAGgf,KAAK4pD,qBAAqBnqE,GAAGggB,EAAEO,KAAK4lD,kBAAkBrmD,GAAG,OAAO,IAAIve,IAAI0e,EAAE,CAAC,IAAI4nD,KAAK,IAAItnD,KAAK5e,YAAYqe,EAAE4pD,UAAUtF,+BAA+B,IAAIJ,GAAGjkD,GAAGjgB,GAAG,CAAC,0BAAAirE,CAA2BnrD,EAAEG,EAAEjgB,GAAG,MAAMuB,EAAEgf,KAAK2qD,sCAAsClrE,GAAG,IAAIggB,EAAEze,EAAE4J,SAASnL,EAAEuB,EAAEqjC,MAAM,MAAMxjC,EAAEmoD,GAAGzpC,GAAG,GAAG1e,EAAE8+C,cAAc,CAAClgC,EAAEA,EAAEmrD,+BAA+BnrE,EAAE,CAACorE,oBAAoBtrD,IAAI,MAAMG,EAAED,EAAEqrD,sCAAsCrrE,GAAGggB,EAAEC,EAAE9U,SAASnL,EAAEigB,EAAE2kB,KAAK,MAAM5kB,EAAE5e,EAAEi/C,UAAUrgC,EAAEsrD,6BAA6BtrE,GAAGoB,EAAEs+C,SAAS1/B,EAAEurD,mCAAmCvrE,GAAGggB,EAAEwrD,yBAAyBxrE,GAAG,OAAOggB,EAAEumD,oBAAoBzmD,EAAEG,EAAEjgB,EAAE,CAAC,8BAAAmrE,CAA+BrrD,GAAG,IAAIG,EAAEviB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,GAAGksE,UAAU5pE,GAAGugB,KAAK,OAAOA,KAAKoqD,iBAAiB7qD,GAAE,SAAUA,EAAEve,EAAEye,GAAG,MAAM5e,EAAE0e,EAAEu/C,mBAAmBj+D,GAAGmoD,GAAGnoD,GAAG8+C,eAAe9+C,IAAI6e,EAAEmrD,sBAAsBprE,EAAEA,EAAEwkE,kBAAkBxkD,GAAE,IAAKF,EAAEiC,gBAAgB3gB,KAAM,IAAG,IAAImf,KAAK5e,YAAY3B,EAAE,CAAC,kCAAAurE,CAAmCzrD,GAAG,IAAI8pD,UAAU3pD,GAAGM,KAAK,OAAOA,KAAKoqD,iBAAiB7qD,GAAE,SAAUA,EAAE9f,EAAEuB,GAAG,MAAMye,EAAEF,EAAEu/C,mBAAmBr/C,GAAGupC,GAAGvpC,GAAG0/B,WAAWz/B,EAAEA,EAAEukD,kBAAkBjjE,GAAE,IAAKue,EAAEiC,gBAAgB/B,KAAM,IAAG,IAAIO,KAAK5e,YAAYse,EAAE,CAAC,4BAAAqrD,CAA6BxrD,GAAG,IAAI8pD,UAAU3pD,GAAGM,KAAK,OAAOA,KAAKoqD,iBAAiB7qD,GAAE,SAAUA,EAAE9f,EAAEuB,GAAGue,EAAE4oD,kBAAkBzoD,EAAEA,EAAEukD,kBAAkBjjE,GAAE,IAAKue,EAAEmoD,0BAA2B,IAAG,IAAI1nD,KAAK5e,YAAYse,EAAE,CAAC,qCAAAirD,CAAsCprD,GAAG,IAAIG,EAAEH,EAAE2qC,GAAG3qC,GAAG,IAAI9f,EAAEuB,GAAGue,EAAE,MAAME,EAAEO,KAAK4pD,qBAAqBnqE,GAAGoB,EAAEmf,KAAK4pD,qBAAqB5oE,GAAG,IAAIwe,EAAEQ,KAAK,MAAMhS,EAAEwR,EAAE8pD,gBAAgB7pD,EAAE3gB,OAAO,GAAG2gB,EAAEsuB,OAAO//B,EAAE66D,qCAAqC,WAAWppD,EAAEsuB,QAAQ,MAAMtuB,EAAEsuB,SAASruB,EAAEF,EAAE0rD,qBAAqBzrD,GAAGD,EAAEA,EAAEirD,wBAAwB,CAAC/qD,EAAEA,EAAE,IAAI7e,EAAE/B,OAAO,EAAE+B,EAAEktC,QAAQvuB,EAAE8pD,gBAAgB7pD,EAAE3gB,OAAO4iE,YAAYjiD,EAAE3gB,OAAO,GAAG2gB,EAAEsuB,OAAO,EAAE,IAAIltC,EAAEktC,QAAQltC,EAAE/B,MAAM2gB,EAAE3gB,MAAM+B,EAAE/B,OAAO,EAAE+B,EAAEktC,OAAOvuB,EAAE8pD,gBAAgBzoE,EAAE/B,OAAOmgE,4BAA4B,CAAC,MAAM1/C,EAAEC,EAAE8pD,gBAAgBzoE,EAAE/B,OAAO,OAAOygB,EAAE+5B,KAAKktB,iBAAiB,CAAC3lE,EAAEktC,OAAO,EAAEltC,EAAEktC,SAASltC,EAAEktC,QAAQ,EAAEltC,EAAEktC,OAAOxuB,EAAEspD,qCAAqC,UAAUhoE,EAAEktC,QAAQltC,EAAEktC,SAASxuB,EAAE0/C,0BAA0Bv/C,EAAEF,EAAE0rD,qBAAqBrqE,GAAG2e,EAAEA,EAAEirD,wBAAwB,CAAC/qD,EAAEA,EAAE,IAAI,CAAC,OAAOjgB,EAAE+f,EAAE0rD,qBAAqBzrD,GAAGze,EAAEwe,EAAE0rD,qBAAqBrqE,GAAG,CAAC+J,SAAS4U,EAAE6kB,MAAM9kB,EAAE2qC,GAAG,CAACzqD,EAAEuB,IAAI,CAAC,qCAAA8pE,CAAsCvrD,GAAGA,EAAE2qC,GAAG3qC,GAAG,IAAIG,GAAGH,EAAE,MAAM9f,EAAEugB,KAAKwmD,iBAAiBjnD,GAAGpe,MAAM,GAAG,GAAG,IAAIH,EAAEgf,KAAK,OAAOvgB,EAAE0Y,QAAQ,UAAS,SAAUoH,GAAGG,GAAGH,EAAEniB,OAAO4D,EAAEA,EAAEypE,wBAAwB,CAAC/qD,EAAE,EAAEA,GAAI,IAAG,CAAC9U,SAAS5J,EAAEqjC,MAAM9kB,EAAE,CAAC,wBAAA0rD,CAAyB1rD,GAAGA,EAAE2qC,GAAG3qC,GAAG,MAAMG,EAAEjgB,GAAG8f,EAAEve,EAAEgf,KAAK4pD,qBAAqBlqD,GAAG5gB,MAAM2gB,EAAEO,KAAK4pD,qBAAqBnqE,GAAGX,MAAM,OAAO,IAAIkhB,KAAK5e,YAAY4e,KAAKqpD,UAAUtE,4BAA4B/jE,EAAEye,GAAG,CAAC,kBAAA0qD,CAAmB5qD,GAAGA,EAAE2qC,GAAG3qC,GAAG,MAAMG,EAAEM,KAAKqpD,UAAUhF,yBAAyB9kD,GAAGmtB,UAAU,OAAO,IAAI1sB,KAAK5e,YAAYse,EAAE,CAAC,gBAAA8mD,CAAiBjnD,GAAG,IAAIG,EAAE,MAAMjgB,EAAE8f,EAAE2qC,GAAG3qC,GAAG,OAAO9f,EAAEA,EAAErC,OAAO,KAAK4iB,KAAK0hD,cAAchiD,GAAG,GAAGM,KAAKmqD,mBAAmB5qD,GAAGre,WAAWC,MAAM,EAAEue,EAAE,CAAC,eAAA4pD,CAAgB/pD,GAAG,OAAOS,KAAKqpD,UAAUjF,iBAAiB7kD,EAAE,CAAC,kBAAAsqD,CAAmBtqD,GAAG,MAAMzgB,MAAM4gB,GAAGM,KAAK4pD,qBAAqBrqD,GAAG,OAAOS,KAAKspD,gBAAgB5pD,EAAE,CAAC,cAAA4qD,CAAe/qD,GAAG,IAAIG,EAAE,OAAO,QAAQA,EAAEM,KAAKspD,gBAAgB/pD,UAAK,IAASG,OAAE,EAAOA,EAAE45B,IAAI,CAAC,iBAAA6xB,CAAkB5rD,GAAG,MAAMzgB,MAAM4gB,GAAGM,KAAK4pD,qBAAqBrqD,GAAG,OAAOS,KAAKsqD,eAAe5qD,EAAE,CAAC,kBAAAynD,CAAmB5nD,GAAG,MAAMzgB,MAAM4gB,EAAEquB,OAAOtuC,GAAGugB,KAAK4pD,qBAAqBrqD,GAAG,OAAOS,KAAKsqD,eAAe5qD,GAAGynD,mBAAmB1nE,EAAE,CAAC,sBAAA2rE,CAAuB7rD,GAAG,MAAMzgB,MAAM4gB,EAAEquB,OAAOtuC,GAAGugB,KAAK4pD,qBAAqBrqD,GAAG,OAAOS,KAAKsqD,eAAe5qD,GAAG8mD,iBAAiB,CAAC/mE,EAAEA,EAAE,GAAG,CAAC,SAAAiiE,GAAY,OAAO1hD,KAAKqpD,UAAUpE,gBAAgB,CAAC,SAAAhoC,GAAY,OAAOjd,KAAKqpD,UAAU38B,SAAS,CAAC,aAAAs9B,GAAgB,OAAOhqD,KAAKqpD,UAAUjsE,MAAM,CAAC,YAAAiuE,GAAe,OAAOrrD,KAAKsrD,SAAS,CAAC,SAAAjB,CAAU9qD,GAAG,OAAOS,KAAKqpD,UAAUzF,WAAWrkD,EAAE,CAAC,gBAAA6qD,CAAiB7qD,EAAEG,GAAG,IAAIjgB,EAAEuB,EAAEue,EAAE2qC,GAAG3qC,GAAG,MAAME,EAAE5e,GAAG0e,EAAEC,EAAEQ,KAAK4pD,qBAAqBnqD,GAAGzR,EAAEgS,KAAK4pD,qBAAqB/oE,GAAG,GAAG2e,EAAE1gB,QAAQkP,EAAElP,MAAM,OAAOW,EAAEugB,KAAKspD,gBAAgB9pD,EAAE1gB,OAAOkC,EAAE,CAACwe,EAAEuuB,OAAO//B,EAAE+/B,QAAQruB,EAAEjgB,EAAEuB,EAAEwe,EAAE1gB,OAAO,IAAI,IAAIygB,EAAEC,EAAE1gB,MAAMygB,GAAGvR,EAAElP,MAAMygB,IAAI,GAAG9f,EAAEugB,KAAKspD,gBAAgB/pD,GAAG9f,EAAE,CAAC,OAAO8f,GAAG,KAAKC,EAAE1gB,MAAMkC,EAAE,CAACwe,EAAEuuB,OAAOtuC,EAAE65C,KAAKooB,aAAa,MAAM,KAAK1zD,EAAElP,MAAMkC,EAAE,CAAC,EAAEgN,EAAE+/B,QAAQ,MAAM,QAAQ/sC,EAAE,CAAC,EAAEvB,EAAE65C,KAAKooB,aAAahiD,EAAEjgB,EAAEuB,EAAEue,EAAE,CAAC,CAAC,0BAAA+mD,CAA2B/mD,GAAGA,EAAE2qC,GAAG3qC,GAAG,MAAMG,GAAGH,EAAE,GAAG6qC,GAAG7qC,GAAG,OAAOS,KAAKurD,8BAA8B7rD,GAAG,CAAC,MAAMA,EAAE,GAAGjgB,EAAE,GAAG,OAAOugB,KAAKoqD,iBAAiB7qD,GAAE,SAAUA,EAAEve,GAAG,GAAGA,EAAE,KAAKA,EAAE,GAAG,OAAO0e,EAAElf,KAAK+e,EAAE+5B,KAAKgtB,2BAA2BtlE,IAAIvB,EAAEe,KAAKgrE,GAAGjsD,GAAI,IAAG0sC,GAAGC,8BAA8BxsC,GAAG6sC,MAAMN,GAAGC,8BAA8BzsD,IAAIktD,UAAU,CAAC,CAAC,6BAAA4e,CAA8BhsD,GAAG,IAAIG,EAAEjgB,EAAE,MAAMX,MAAMkC,EAAE+sC,OAAOtuB,GAAGO,KAAK4pD,qBAAqBrqD,GAAG1e,EAAEmf,KAAKspD,gBAAgBtoE,GAAG,IAAIH,EAAE,MAAM,CAAC,EAAE,MAAM2e,EAAEgsD,GAAG3qE,GAAGmN,EAAEnN,EAAEy4C,KAAK8sB,wBAAwB3mD,GAAGS,EAAErf,EAAEy4C,KAAK8sB,wBAAwB3mD,EAAE,GAAGgD,EAAEzkB,OAAOI,KAAK+7B,GAAGh3B,QAAQoc,GAAG4a,EAAE5a,GAAG2kC,cAAc,IAAIxkC,KAAKQ,EAAEzgB,EAAEygB,EAAER,IAAIjgB,IAAIuO,EAAE0R,IAAI+C,EAAE5R,SAAS6O,MAAMF,EAAEE,GAAGjgB,GAAG,OAAO+f,CAAC,CAAC,mCAAAisD,CAAoClsD,EAAEG,GAAG,MAAM5gB,MAAMW,EAAEsuC,OAAO/sC,GAAGgf,KAAK4pD,qBAAqBlqD,GAAGD,EAAEO,KAAKsqD,eAAe7qE,IAAIoB,EAAE2e,GAAGliB,MAAMgE,KAAKme,EAAE8mD,qCAAqChnD,EAAEve,IAAIgN,EAAEgS,KAAKkrD,qBAAqB,CAACpsE,MAAMW,EAAEsuC,OAAOltC,IAAIqf,EAAEF,KAAKkrD,qBAAqB,CAACpsE,MAAMW,EAAEsuC,OAAOvuB,IAAI,OAAO0qC,GAAG,CAACl8C,EAAEkS,GAAG,CAAC,sBAAA6pD,GAAyB,IAAIxqD,EAAES,KAAKspD,gBAAgB,GAAGzL,gBAAgB,IAAI,IAAIn+C,EAAE,EAAEA,EAAEM,KAAKgqD,gBAAgBtqD,IAAI,CAAC,MAAMjgB,EAAEugB,KAAKspD,gBAAgB5pD,GAAGm+C,gBAAgB78D,EAAE2zB,KAAKuD,IAAI3Y,EAAEniB,OAAOqC,EAAErC,QAAQmiB,EAAE,MAAM,MAAMG,EAAE,GAAG,IAAI,IAAID,EAAE,EAAEA,EAAEze,GAAGvB,EAAEggB,KAAKF,EAAEE,GAAGA,IAAIC,EAAElf,KAAKf,EAAEggB,IAAI,OAAOC,CAAE,EAAxE,EAA2E,CAAC,OAAOH,CAAC,CAAC,iBAAAwnD,CAAkBxnD,GAAG,IAAI,MAAMG,KAAKM,KAAK6mD,iBAAiB,GAAGnnD,EAAEpQ,KAAKiQ,EAAE,OAAOG,CAAC,CAAC,mBAAAknD,GAAsB,IAAIrnD,EAAE,GAAG,OAAOS,KAAKqpD,UAAUzF,YAAYlkD,IAAI,IAAI45B,KAAK75C,GAAGigB,EAAE,OAAOH,EAAEA,EAAExZ,OAAOtG,EAAEmnE,sBAAuB,IAAGrnD,CAAC,CAAC,cAAAsnD,GAAiB,OAAO7mD,KAAK4mD,sBAAsBjiE,KAAK4a,GAAGA,EAAE2W,YAAY,CAAC,oBAAA8wC,CAAqBznD,GAAG,IAAIG,EAAE,EAAE,MAAMjgB,EAAEugB,KAAKqpD,UAAU38B,UAAU,IAAI,IAAI1rC,EAAE,EAAEA,EAAEvB,EAAErC,OAAO4D,IAAI,CAAC,MAAMs4C,KAAK75B,GAAGhgB,EAAEuB,GAAGH,EAAE4e,EAAEunD,qBAAqBznD,GAAG,GAAG1e,EAAE,OAAOqpD,GAAG,CAACxqC,EAAE7e,EAAE,GAAG6e,EAAE7e,EAAE,KAAK6e,GAAGD,EAAEiiD,WAAW,CAAC,CAAC,4BAAAgK,CAA6BnsD,GAAG,MAAMG,EAAEM,KAAKgnD,qBAAqBznD,GAAG,OAAOS,KAAKkqD,uBAAuBxqD,EAAE,CAAC,+BAAAisD,CAAgCpsD,GAAG,IAAI,MAAMG,KAAKM,KAAK4mD,sBAAsB,GAAGlnD,EAAEwW,aAAa3W,EAAE,OAAOG,CAAC,CAAC,2BAAAksD,CAA4BrsD,GAAG,IAAIG,EAAE,EAAE,MAAMjgB,EAAE,GAAG,OAAOugB,KAAKid,YAAYz5B,SAASxC,IAAI,MAAMye,EAAEze,EAAE0gE,YAAY1gE,EAAEm3D,aAAa54C,IAAI9f,EAAEe,KAAK,CAACkf,EAAEA,EAAED,IAAIC,GAAGD,CAAE,IAAGhgB,CAAC,CAAC,0BAAAosE,CAA2BtsD,GAAG,IAAIusD,UAAUpsD,GAAGviB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAEsC,EAAE,EAAEuB,EAAE,GAAG,MAAMye,EAAE,GAAG,OAAOO,KAAKy+C,YAAYj7D,SAAS3C,IAAI,MAAM2e,EAAE3e,EAAE6gE,aAAY,SAAUjiE,GAAG,OAAOigB,EAAEjgB,EAAE+kD,aAAajlC,KAAKG,EAAEjgB,EAAE04D,aAAa54C,EAAG,EAA9D,CAAgE1e,KAAKG,EAAE,KAAKvB,EAAEuB,EAAE,GAAGvB,EAAE+f,EAAEC,EAAEjf,KAAKQ,EAAE,CAACvB,EAAEA,EAAE+f,KAAK/f,GAAG+f,CAAE,IAAGC,CAAC,CAAC,oBAAAmqD,CAAqBrqD,GAAG,MAAMG,EAAEM,KAAKqpD,UAAUxE,6BAA6BlwC,KAAKC,IAAI,EAAErV,IAAI,GAAG,MAAMG,EAAE5gB,MAAM,OAAO4gB,EAAE,CAAC,MAAMH,EAAES,KAAKid,YAAY,MAAM,CAACn+B,MAAMygB,EAAEniB,OAAO,EAAE2wC,OAAOxuB,EAAEA,EAAEniB,OAAO,GAAGskE,YAAY,CAAC,CAAC,oBAAAwJ,CAAqB3rD,GAAG,OAAOS,KAAKqpD,UAAUrE,6BAA6BzlD,EAAEzgB,MAAMygB,EAAEwuB,OAAO,CAAC,yBAAAg+B,CAA0BxsD,GAAG,OAAO2qC,GAAGlqC,KAAK4pD,qBAAqBrqD,GAAG,CAAC,sBAAA2qD,CAAuB3qD,GAAG,KAAKA,EAAE2qC,GAAG3qC,IAAI,OAAO,MAAMG,EAAEjgB,GAAGnC,MAAMgE,KAAKie,GAAGve,EAAEgf,KAAK4pD,qBAAqBlqD,GAAGD,EAAEO,KAAK4pD,qBAAqBnqE,GAAG,OAAOyqD,GAAG,CAAClpD,EAAEye,GAAG,CAAC,sBAAAusD,CAAuBzsD,GAAG,IAAIG,EAAEH,EAAE2qC,GAAG3qC,GAAG,MAAM9f,EAAEugB,KAAKkrD,qBAAqB3rD,EAAE,IAAI,OAAO6qC,GAAG7qC,KAAKG,EAAEM,KAAKkrD,qBAAqB3rD,EAAE,KAAK2qC,GAAG,CAACzqD,EAAEigB,GAAG,CAAC,SAAAunC,CAAU1nC,GAAG,OAAOS,KAAKqpD,UAAUpiB,UAAU,MAAM1nC,OAAE,EAAOA,EAAE8pD,UAAU,CAAC,QAAA4C,GAAW,OAAOjsD,KAAKid,YAAYt4B,KAAK4a,GAAGA,EAAE+5B,MAAM,CAAC,SAAAmlB,GAAY,MAAMl/C,EAAE,GAAG,OAAOjiB,MAAMgE,KAAK0e,KAAKisD,YAAYzoE,SAASkc,IAAIH,EAAE/e,QAAQlD,MAAMgE,KAAKoe,EAAE++C,aAAa,IAAK,IAAGl/C,CAAC,CAAC,UAAA4tC,GAAa,OAAOntC,KAAKid,YAAYl3B,OAAOia,KAAKisD,YAAYlmE,OAAOia,KAAKy+C,YAAY,CAAC,sBAAAyN,GAAyB,MAAM3sD,EAAE,GAAG,OAAOS,KAAKqpD,UAAUzF,YAAYlkD,GAAGH,EAAE/e,KAAKkf,EAAE8nD,aAAa9nD,EAAE45B,KAAK8tB,yBAAyB,IAAIpnD,KAAK5e,YAAYme,EAAE,CAAC,QAAAre,GAAW,OAAO8e,KAAKqpD,UAAUnoE,UAAU,CAAC,MAAAgmD,GAAS,OAAOlnC,KAAKqpD,UAAUniB,QAAQ,CAAC,SAAAqc,GAAY,OAAOxyD,KAAKC,UAAUgP,KAAKqpD,UAAU38B,UAAU/nC,KAAK4a,GAAGxO,KAAKssC,MAAM99B,EAAE+5B,KAAKiqB,eAAe,EAAE,MAAMiI,GAAG,SAASjsD,GAAG,MAAMG,EAAE,CAAC,EAAEjgB,EAAE8f,EAAEu/C,mBAAmB,OAAOr/D,IAAIigB,EAAEjgB,IAAG,GAAIigB,CAAC,EAAEysD,GAAG,SAAS5sD,GAAG,IAAIG,EAAEviB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAE,MAAM,CAAC4gE,OAAOx+C,EAAEosC,GAAGpsC,GAAG4H,WAAWzH,EAAErS,KAAK,SAAS,EAAE++D,GAAG,CAAC7sD,EAAEG,KAAK,IAAI,OAAO3O,KAAKssC,MAAM99B,EAAEilC,aAAa,aAAaz+C,OAAO2Z,IAAI,CAAC,MAAMH,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM8sD,WAAWvmD,EAAE,YAAOu3B,CAAM99B,EAAEG,GAAG,MAAMjgB,EAAE,IAAIugB,KAAKT,EAAEG,GAAG,OAAOjgB,EAAE49C,QAAQ59C,CAAC,CAAC,WAAA2B,CAAYme,GAAG,IAAI+sD,iBAAiB5sD,GAAGviB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAEwpD,SAASxpD,WAAW6iB,KAAKoQ,KAAK7Q,EAAES,KAAKssD,iBAAiB5sD,EAAEM,KAAK2c,OAAO,GAAG3c,KAAKusD,cAAc,GAAGvsD,KAAKwsD,kBAAkB,EAAE,CAAC,WAAAC,GAAc,OAAO74C,GAAG8zB,SAAS1nC,KAAK2c,OAAO,CAAC,KAAA0gB,GAAQ,IAAIr9B,KAAK0sD,wBAAwBtS,GAAGC,QAAQr6C,KAAKiP,iBAAiBjP,KAAKoQ,MAAM,MAAM7Q,EAAEka,EAAEzZ,KAAKiP,iBAAiB,CAAC0zB,YAAYgqB,KAAK,KAAKptD,EAAE65C,YAAYp5C,KAAK4sD,YAAYrtD,EAAEs7C,aAAa,OAAO76C,KAAK6sD,wCAAwC,CAAC,QAAQ7sD,KAAK8sD,uBAAuB,CAAC,CAAC,qBAAAJ,GAAwB,OAAO1sD,KAAKssD,kBAAkBtsD,KAAKiP,iBAAiBjP,KAAKssD,iBAAiB/kC,WAAU,GAAIvnB,KAAKiP,iBAAiBzN,gBAAgB,MAAMxB,KAAKiP,iBAAiB3O,aAAa,qBAAqB,IAAIN,KAAKiP,iBAAiBpO,MAAMksD,QAAQ,OAAO/sD,KAAKssD,iBAAiB3pD,WAAWsC,aAAajF,KAAKiP,iBAAiBjP,KAAKssD,iBAAiBxnD,eAAe9E,KAAKiP,iBAAiB9J,EAAE,CAACtD,QAAQ,MAAMhB,MAAM,CAACksD,QAAQ,UAAUniE,SAASO,KAAKC,YAAY4U,KAAKiP,kBAAkB,CAAC,qBAAA69C,GAAwB,OAAOnoD,EAAE3E,KAAKiP,iBAAiB,CAAC,WAAA29C,CAAYrtD,GAAG,OAAOA,EAAE2F,UAAU,KAAKq9B,KAAKgB,UAAU,IAAIvjC,KAAKgtD,wBAAwBztD,GAAG,OAAOS,KAAKitD,uBAAuB1tD,GAAGS,KAAKktD,gBAAgB3tD,GAAG,MAAM,KAAKgjC,KAAKC,aAAa,OAAOxiC,KAAKmtD,sBAAsB5tD,GAAGS,KAAKotD,eAAe7tD,GAAG,CAAC,sBAAA0tD,CAAuB1tD,GAAG,MAAMG,EAAEH,EAAEoD,WAAW,GAAGjD,IAAIM,KAAKqtD,qBAAqBrtD,KAAKstD,eAAe/tD,EAAEkjC,iBAAiB,OAAOziC,KAAKutD,2BAA2B,MAAM,GAAG7tD,IAAIM,KAAKiP,kBAAkBjP,KAAKstD,eAAe5tD,GAAG,CAAC,IAAIjgB,EAAE,MAAM8f,EAAES,KAAKwtD,mBAAmB9tD,GAAG1e,EAAEgf,KAAKytD,uBAAuB/tD,GAAGsoC,GAAGzoC,EAAE,QAAQ9f,EAAEugB,KAAK0tD,oBAAe,IAASjuE,OAAE,EAAOA,EAAE0nB,cAAcnH,KAAK0tD,aAAa1tD,KAAK2tD,oCAAoCpuD,EAAEG,EAAE1e,GAAGgf,KAAKqtD,oBAAoB3tD,EAAE,CAAC,CAAC,qBAAAytD,CAAsB5tD,GAAG,MAAMG,EAAEM,KAAKstD,eAAe/tD,GAAG9f,EAAE2kB,EAAEpE,KAAKqtD,oBAAoB9tD,GAAG,GAAGG,IAAIM,KAAKstD,eAAe/tD,EAAEiI,aAAa,IAAIxH,KAAKgtD,wBAAwBztD,EAAEiI,cAAcxH,KAAKstD,eAAe/tD,EAAEy4B,mBAAmB,CAAC,MAAMt4B,EAAEM,KAAKwtD,mBAAmBjuD,GAAGve,EAAEgf,KAAKytD,uBAAuBluD,GAAG,GAAGA,EAAEiI,WAAW,CAAC,GAAG/nB,GAAGuoD,GAAGtoC,EAAEM,KAAK0tD,aAAavmD,YAAY,OAAOnH,KAAKutD,2BAA2B,MAAMvtD,KAAK0tD,aAAa1tD,KAAK2tD,oCAAoCjuD,EAAEH,EAAEve,GAAGgf,KAAKqtD,oBAAoB9tD,CAAC,CAAC,OAAO,GAAGS,KAAKqtD,sBAAsB5tE,IAAIigB,EAAE,CAAC,MAAMA,EAAEM,KAAK4tD,uBAAuBruD,GAAG,GAAGG,EAAE,OAAOM,KAAKmtD,sBAAsBztD,GAAGM,KAAK0tD,aAAa1tD,KAAK6tD,mBAAmB7tD,KAAKqtD,oBAAoB,IAAI,CAAC,CAAC,sBAAAO,CAAuBruD,GAAG,IAAIuuD,cAAcpuD,GAAGH,EAAE,KAAKG,GAAGA,IAAIM,KAAKiP,kBAAkB,CAAC,GAAGjP,KAAKstD,eAAe5tD,IAAIM,KAAKusD,cAAc17D,SAAS6O,GAAG,OAAOA,EAAEA,EAAEA,EAAEouD,aAAa,CAAC,OAAO,IAAI,CAAC,eAAAZ,CAAgB3tD,GAAG,IAAIG,EAAEH,EAAE0H,KAAK,IAAIxnB,EAA2G,OAAzGsuE,GAAGxuD,EAAEoD,cAAcjD,EAAEmsC,GAAGnsC,GAAG5iB,GAAG,QAAQ2C,EAAE8f,EAAEkjC,uBAAkB,IAAShjD,OAAE,EAAOA,EAAEsxB,eAAerR,EAAEsuD,GAAGtuD,KAAYM,KAAKutD,2BAA2B7tD,EAAEM,KAAKiuD,kBAAkB1uD,EAAEoD,YAAY,CAAC,cAAAyqD,CAAe7tD,GAAG,IAAIG,EAAE,GAAGgF,EAAEnF,GAAG,CAAC,GAAGG,EAAE0sD,GAAG7sD,EAAE,cAAcvhB,OAAOI,KAAKshB,GAAGtiB,OAAO,CAAC,MAAMqC,EAAEugB,KAAKiuD,kBAAkB1uD,GAAGS,KAAKkuD,+BAA+BxuD,EAAEjgB,GAAG8f,EAAEmB,UAAU,EAAE,CAAC,OAAOV,KAAKwsD,kBAAkBhsE,KAAK+e,EAAE,CAAC,OAAO2E,EAAE3E,IAAI,IAAI,KAAK,OAAOS,KAAKmuD,UAAU5uD,IAAIS,KAAKstD,eAAe/tD,EAAEuF,cAAc9E,KAAKutD,2BAA2B,KAAKvtD,KAAKiuD,kBAAkB1uD,IAAIS,KAAKwsD,kBAAkBhsE,KAAK+e,GAAG,IAAI,MAAMG,EAAE,CAAC0X,IAAI7X,EAAEilC,aAAa,OAAO0d,YAAY,SAAS,MAAMziE,EAAE,CAAC8f,IAAI,MAAMG,EAAEH,EAAEilC,aAAa,SAAS/kD,EAAE8f,EAAEilC,aAAa,UAAUxjD,EAAE,CAAC,EAAE,OAAO0e,IAAI1e,EAAE8rB,MAAMqH,SAASzU,EAAE,KAAKjgB,IAAIuB,EAAE0rB,OAAOyH,SAAS10B,EAAE,KAAKuB,CAAE,EAAvI,CAAyIue,GAAG,IAAI,MAAMA,KAAK9f,EAAE,CAAC,MAAMuB,EAAEvB,EAAE8f,GAAGG,EAAEH,GAAGve,CAAC,CAAC,OAAOgf,KAAKkuD,+BAA+BxuD,EAAEM,KAAKiuD,kBAAkB1uD,IAAIS,KAAKwsD,kBAAkBhsE,KAAK+e,GAAG,IAAI,KAAK,GAAGS,KAAKouD,oBAAoB7uD,GAAG,OAAOS,KAAKutD,2BAA2B9oD,EAAEw/B,mBAAmB,MAAM,IAAI,KAAK,GAAGjkC,KAAKouD,oBAAoB7uD,GAAG,OAAOS,KAAKutD,2BAA2B9oD,EAAEu/B,oBAAoB,CAAC,mCAAA2pB,CAAoCpuD,EAAEG,GAAG,IAAIjgB,EAAEtC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAE6iB,KAAKusD,cAAc/rE,KAAKkf,GAAG,MAAM1e,EAAE,WAAW,MAAM,CAACs4C,KAAK,GAAGnyB,WAAWhqB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAEoiD,eAAepiD,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAE,CAAxK,CAA0KoiB,EAAE9f,GAAG,OAAOugB,KAAK2c,OAAOn8B,KAAKQ,GAAGA,CAAC,CAAC,gBAAA6sE,GAAmB,OAAO7tD,KAAK2tD,oCAAoC,GAAG,KAAK,CAAC,0BAAAJ,CAA2BhuD,EAAEG,GAAG,OAAOM,KAAKquD,YAAYlC,GAAG5sD,EAAEG,GAAG,CAAC,8BAAAwuD,CAA+B3uD,EAAEG,GAAG,OAAOM,KAAKquD,YAAY,SAAS9uD,GAAG,MAAM,CAAC2W,WAAW3W,EAAE4H,WAAWhqB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAEkQ,KAAK,aAAa,CAAvH,CAAyHkS,EAAEG,GAAG,CAAC,WAAA2uD,CAAY9uD,GAAG,OAAO,IAAIS,KAAK2c,OAAOv/B,QAAQ4iB,KAAK6tD,mBAAmB7tD,KAAK2c,OAAO3c,KAAK2c,OAAOv/B,OAAO,GAAGk8C,KAAK94C,KAAK+e,EAAE,CAAC,yBAAA+uD,CAA0B/uD,EAAEG,GAAG,MAAM45B,KAAK75C,GAAGugB,KAAK2c,OAAOjd,GAAG1e,EAAEvB,EAAEA,EAAErC,OAAO,GAAG,GAAG,YAAY,MAAM4D,OAAE,EAAOA,EAAEqM,MAAM,OAAO5N,EAAEe,KAAK2rE,GAAG5sD,IAAIve,EAAE+8D,QAAQx+C,CAAC,CAAC,0BAAAgvD,CAA2BhvD,EAAEG,GAAG,MAAM45B,KAAK75C,GAAGugB,KAAK2c,OAAOjd,GAAG1e,EAAEvB,EAAE,GAAG,GAAG,YAAY,MAAMuB,OAAE,EAAOA,EAAEqM,MAAM,OAAO5N,EAAEo9B,QAAQsvC,GAAG5sD,IAAIve,EAAE+8D,OAAOx+C,EAAEve,EAAE+8D,MAAM,CAAC,iBAAAkQ,CAAkB1uD,GAAG,IAAIG,EAAE,MAAMjgB,EAAE,CAAC,EAAE,IAAI,MAAMuB,KAAKm5B,EAAE,CAAC,MAAM1a,EAAE0a,EAAEn5B,GAAG,GAAGye,EAAEoC,SAASgB,EAAEtD,EAAE,CAACwiC,iBAAiBtiC,EAAEoC,QAAQygC,UAAUtiC,KAAKiP,mBAAmBxvB,EAAEuB,IAAG,OAAQ,GAAGye,EAAE0kC,QAAQ,GAAGzkC,EAAED,EAAE0kC,OAAO5kC,GAAGG,EAAE,CAAC,IAAI7e,GAAE,EAAG,IAAI,MAAMpB,KAAKugB,KAAKwuD,0BAA0BjvD,GAAG,GAAGE,EAAE0kC,OAAO1kD,KAAKigB,EAAE,CAAC7e,GAAE,EAAG,KAAK,CAACA,IAAIpB,EAAEuB,GAAG0e,EAAE,OAAOD,EAAE2+C,gBAAgB1+C,EAAEH,EAAEsB,MAAMpB,EAAE2+C,eAAe1+C,IAAIjgB,EAAEuB,GAAG0e,GAAG,CAAC,GAAGgF,EAAEnF,GAAG,CAAC,MAAMve,EAAEorE,GAAG7sD,EAAE,cAAc,IAAI,MAAMA,KAAKve,EAAE0e,EAAE1e,EAAEue,GAAG9f,EAAE8f,GAAGG,CAAC,CAAC,OAAOjgB,CAAC,CAAC,kBAAA+tE,CAAmBjuD,GAAG,MAAMG,EAAE,GAAG,KAAKH,GAAGA,IAAIS,KAAKiP,kBAAkB,CAAC,IAAI,MAAMxP,KAAKze,EAAE,CAAC,MAAMH,EAAEG,EAAEye,GAAG,IAAIhgB,GAAK,IAAKoB,EAAEw8C,OAASn5B,EAAE3E,KAAK1e,EAAEghB,UAAS,QAAQpiB,EAAEoB,EAAEU,YAAO,IAAS9B,GAAGA,EAAEY,KAAKQ,EAAE0e,KAAK1e,EAAEU,QAAQme,EAAElf,KAAKif,GAAG5e,EAAE8+C,eAAejgC,EAAElf,KAAKK,EAAE8+C,eAAe,CAACpgC,EAAEA,EAAEoD,UAAU,CAAC,OAAOjD,EAAEkd,SAAS,CAAC,sBAAA6wC,CAAuBluD,GAAG,MAAMG,EAAE,CAAC,EAAEjgB,EAAEzB,OAAO+P,OAAO/M,GAAGoS,MAAMsM,GAAGA,EAAEmC,UAAUqC,EAAE3E,KAAK,QAAQ,MAAM9f,OAAE,EAAOA,EAAE8/C,iBAAiB,IAAI/7C,SAAS/D,IAAI8f,EAAE44C,aAAa14D,KAAKigB,EAAEjgB,GAAG8f,EAAEilC,aAAa/kD,GAAI,IAAGigB,CAAC,CAAC,yBAAA8uD,CAA0BjvD,GAAG,MAAMG,EAAE,GAAG,KAAKH,GAAGA,IAAIS,KAAKiP,kBAAkB,CAAC,MAAMxvB,EAAEykB,EAAE3E,GAAGiG,IAAI3U,SAASpR,IAAIigB,EAAElf,KAAK+e,GAAGA,EAAEA,EAAEoD,UAAU,CAAC,OAAOjD,CAAC,CAAC,cAAA4tD,CAAe/tD,GAAG,IAAI,MAAMA,OAAE,EAAOA,EAAE2F,YAAYq9B,KAAKC,eAAe99B,EAAEnF,KAAKsD,EAAEtD,EAAE,CAACwiC,iBAAiB,KAAKO,UAAUtiC,KAAKiP,mBAAmB,OAAOzJ,IAAI3U,SAASqT,EAAE3E,KAAK,UAAUnV,OAAOglB,iBAAiB7P,GAAGwtD,OAAO,CAAC,uBAAAC,CAAwBztD,GAAG,IAAI,MAAMA,OAAE,EAAOA,EAAE2F,YAAYq9B,KAAKgB,UAAU,OAAO,IAAIkrB,GAAGlvD,EAAE0H,MAAM,OAAO,MAAMtE,WAAWjD,EAAE+iC,gBAAgBhjD,EAAEqlB,YAAY9jB,GAAGue,EAAE,OAAOmvD,GAAGhvD,EAAE+iC,mBAAmBziC,KAAKstD,eAAe5tD,EAAE+iC,kBAAkBsrB,GAAGruD,QAAG,GAAQjgB,GAAGugB,KAAKstD,eAAe7tE,KAAKuB,GAAGgf,KAAKstD,eAAetsE,EAAE,CAAC,SAAAmtE,CAAU5uD,GAAG,MAAM,OAAO2E,EAAE3E,IAAIS,KAAKstD,eAAe/tD,EAAEoD,aAAapD,EAAEoD,WAAW+8C,YAAYngD,CAAC,CAAC,mBAAA6uD,CAAoB7uD,GAAG,GAAGkF,EAAEs/B,sBAAsB,CAAC,IAAIrkC,EAAE,MAAMjgB,EAAE,QAAQigB,EAAEH,EAAEkjC,uBAAkB,IAAS/iC,OAAE,EAAOA,EAAEqR,YAAY,OAAOtxB,GAAG,KAAK8B,KAAK9B,EAAE,CAAC,OAAO8f,EAAEkjC,eAAe,CAAC,sCAAAoqB,GAAyC,MAAMttD,EAAES,KAAK2uD,iCAAiC,IAAI,IAAIjvD,EAAE,EAAEA,EAAEM,KAAK2c,OAAOv/B,OAAOsiB,IAAI,CAAC,MAAMjgB,EAAEugB,KAAK4uD,+BAA+BlvD,GAAGjgB,IAAIA,EAAE6sB,IAAI,EAAE/M,EAAE+M,KAAKtM,KAAKuuD,2BAA2B,KAAK7uD,GAAGjgB,EAAEovE,OAAO,EAAEtvD,EAAEsvD,QAAQ7uD,KAAKsuD,0BAA0B,KAAK5uD,GAAG,CAAC,CAAC,8BAAAkvD,CAA+BrvD,GAAG,MAAMG,EAAEM,KAAKusD,cAAchtD,GAAG,GAAGG,GAAGA,EAAEqR,cAAcvL,IAAI3U,SAASqT,EAAExE,MAAMM,KAAKwsD,kBAAkB37D,SAAS6O,GAAG,OAAOovD,GAAGpvD,EAAE,CAAC,8BAAAivD,GAAiC,MAAMpvD,EAAE4F,EAAEnkB,EAAE+9C,QAAQl9B,SAAS,OAAO7B,KAAKiP,iBAAiB7jB,YAAYmU,GAAGuvD,GAAGvvD,EAAE,EAAE,MAAMwuD,GAAG,SAASxuD,GAAG,MAAMwvD,WAAWrvD,GAAGtV,OAAOglB,iBAAiB7P,GAAG,MAAM,CAAC,MAAM,WAAW,YAAY1O,SAAS6O,EAAE,EAAEgvD,GAAGnvD,GAAGA,IAAIziB,GAAGyiB,EAAEwR,aAAa+9C,GAAG,SAASvvD,GAAG,MAAMG,EAAEtV,OAAOglB,iBAAiB7P,GAAG,GAAG,UAAUG,EAAEqtD,QAAQ,MAAM,CAACzgD,IAAI6H,SAASzU,EAAEsvD,WAAWH,OAAO16C,SAASzU,EAAEuvD,cAAc,EAAEtC,GAAG,SAASptD,GAAG,MAAM,UAAU2E,EAAE3E,GAAGsjC,WAAWqsB,cAAcrsB,WAAWssB,aAAa,EAAEnB,GAAGzuD,GAAGA,EAAEpH,QAAQ,IAAIkR,OAAO,IAAItjB,OAAO6lD,GAAGtpD,OAAO,MAAM,IAAImsE,GAAGlvD,GAAG,IAAI8J,OAAO,IAAItjB,OAAO6lD,GAAGtpD,OAAO,OAAOf,KAAKge,GAAGziB,GAAGyiB,GAAG,MAAMhe,KAAKge,GAAG6vD,GAAG,CAAC,kBAAkB,eAAe,sBAAsB,oBAAoB,wBAAwB,YAAYC,GAAG,kCAAkCC,GAAG,IAAIvpE,OAAOspE,GAAG,KAAKE,GAAG,IAAIlmD,OAAO,qBAAqB,KAAKmmD,GAAG,CAAC,mBAAmB,SAASjwD,GAAG,IAAIG,EAAE,GAAGH,aAAaqU,GAAGlU,EAAEH,MAAM,CAAC,KAAKA,aAAakwD,aAAa,MAAM,IAAI3+D,MAAM,yBAAyB4O,EAAE2sD,GAAGhvB,MAAM99B,EAAEmB,WAAW+rD,aAAa,CAAC,OAAO/sD,EAAEwsD,yBAAyBpkB,cAAc,EAAE,YAAY,SAASvoC,GAAG,IAAIG,EAAE,GAAGH,aAAaqU,GAAGlU,EAAEw/C,GAAGr5C,OAAOtG,OAAO,CAAC,KAAKA,aAAakwD,aAAa,MAAM,IAAI3+D,MAAM,yBAAyB4O,EAAEH,EAAEgoB,WAAU,EAAG,CAAC,OAAOjqC,MAAMgE,KAAKoe,EAAEgT,iBAAiB,gCAAgClvB,SAAS+b,IAAIoF,EAAEpF,EAAG,IAAG6vD,GAAG5rE,SAAS+b,IAAIjiB,MAAMgE,KAAKoe,EAAEgT,iBAAiB,IAAI3sB,OAAOwZ,EAAE,OAAO/b,SAASkc,IAAIA,EAAE8B,gBAAgBjC,EAAG,GAAG,IAAGjiB,MAAMgE,KAAKoe,EAAEgT,iBAAiB48C,KAAK9rE,SAAS+b,IAAI,IAAI,MAAMG,EAAE3O,KAAKssC,MAAM99B,EAAEilC,aAAa6qB,KAAK9vD,EAAEiC,gBAAgB6tD,IAAI,IAAI,MAAM5vE,KAAKigB,EAAE,CAAC,MAAM1e,EAAE0e,EAAEjgB,GAAG8f,EAAEe,aAAa7gB,EAAEuB,EAAE,CAAC,CAAC,MAAMue,GAAG,CAAE,IAAGG,EAAEgB,UAAUvI,QAAQo3D,GAAG,GAAG,GAAG,IAAIG,GAAG1xE,OAAO6mD,OAAO,CAACC,UAAU,OAAO,MAAM6qB,WAAW7pD,EAAE,WAAA1kB,CAAYme,EAAEG,GAAGinC,SAASxpD,WAAW6iB,KAAK4vD,kBAAkBrwD,EAAES,KAAKkW,WAAWxW,EAAEM,KAAK1Q,GAAG0Q,KAAKkW,WAAW5mB,GAAG0Q,KAAKqW,KAAKrW,KAAKkW,WAAWG,IAAI,CAAC,MAAA/D,GAAS,OAAOtS,KAAK4vD,kBAAkBC,2BAA2B7vD,KAAKkW,WAAW,EAAEy5C,GAAG1pB,YAAY,2BAA2B0pB,GAAG1pB,YAAY,2BAA2B0pB,GAAG1pB,YAAY,2BAA2B0pB,GAAG1pB,YAAY,4BAA4B0pB,GAAG1pB,YAAY,4BAA4B0pB,GAAG1pB,YAAY,wBAAwB0pB,GAAG1pB,YAAY,4BAA4B0pB,GAAG1pB,YAAY,qBAAqB0pB,GAAG1pB,YAAY,sBAAsB0pB,GAAG1pB,YAAY,0BAA0B0pB,GAAG1pB,YAAY,0BAA0B0pB,GAAG1pB,YAAY,mCAAmC0pB,GAAG1pB,YAAY,2BAA2B0pB,GAAG1pB,YAAY,6BAA6B0pB,GAAG1pB,YAAY,sBAAsB0pB,GAAG1pB,YAAY,sBAAsB0pB,GAAG1pB,YAAY,0BAA0B0pB,GAAG1pB,YAAY,gCAAgC0pB,GAAG1pB,YAAY,gCAAgC,MAAM6pB,WAAWhqD,EAAE,WAAA1kB,GAAc,IAAIme,EAAEpiB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAGwpD,SAASxpD,WAAW6iB,KAAK+vD,mBAAmB,CAAC,EAAEzyE,MAAMgE,KAAKie,GAAG/b,SAAS+b,IAAIS,KAAKgwD,iBAAiBzwD,EAAG,GAAE,CAAC,cAAAsnD,GAAiB,MAAMtnD,EAAE,GAAG,IAAI,MAAMG,KAAKM,KAAK+vD,mBAAmB,CAAC,MAAMtwE,EAAEugB,KAAK+vD,mBAAmBrwD,GAAGH,EAAE/e,KAAKf,EAAE,CAAC,OAAO8f,CAAC,CAAC,gBAAAywD,CAAiBzwD,GAAG,OAAOS,KAAK+vD,mBAAmBxwD,EAAEjQ,MAAM0Q,KAAK+vD,mBAAmBxwD,EAAEjQ,IAAI,IAAIqgE,GAAG3vD,KAAKT,IAAIS,KAAK+vD,mBAAmBxwD,EAAEjQ,GAAG,CAAC,mBAAA2gE,CAAoB1wD,GAAG,OAAOA,EAAEjQ,MAAM0Q,KAAK+vD,kBAAkB,CAAC,0BAAAF,CAA2BtwD,GAAG,IAAIG,EAAEjgB,EAAE,GAAGugB,KAAKiwD,oBAAoB1wD,GAAG,OAAO,QAAQG,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAG,QAAQjgB,EAAEigB,EAAEwwD,sDAAiD,IAASzwE,OAAE,EAAOA,EAAEY,KAAKqf,EAAEH,EAAE,CAAC,kBAAA4wD,CAAmB5wD,GAAG,MAAMG,EAAEM,KAAK+vD,mBAAmBxwD,EAAEjQ,IAAI,cAAc0Q,KAAK+vD,mBAAmBxwD,EAAEjQ,IAAIoQ,CAAC,EAAE,MAAM0wD,GAAG,WAAAhvE,CAAYme,GAAGS,KAAKqwD,YAAY9wD,EAAES,KAAKpV,SAASoV,KAAKqwD,YAAYzlE,SAAS,MAAM8U,EAAEM,KAAKqwD,YAAYC,mBAAmBtwD,KAAKuwD,cAAc7wD,EAAE,GAAGM,KAAKklD,YAAYxlD,EAAE,GAAGM,KAAKwwD,cAAcxwD,KAAKpV,SAASg/D,qBAAqB5pD,KAAKuwD,eAAevwD,KAAKywD,YAAYzwD,KAAKpV,SAASg/D,qBAAqB5pD,KAAKklD,aAAallD,KAAKuhB,MAAMvhB,KAAKpV,SAAS0+D,gBAAgBtpD,KAAKywD,YAAY3xE,OAAOkhB,KAAK4oD,eAAe5oD,KAAKuhB,MAAMqnC,iBAAiB5oD,KAAK0wD,kBAAkB1wD,KAAKuhB,MAAM+X,KAAKmtB,oBAAoBzmD,KAAKywD,YAAY1iC,OAAO,GAAG/tB,KAAK2wD,cAAc3wD,KAAKuhB,MAAM+X,KAAKmtB,oBAAoBzmD,KAAKywD,YAAY1iC,OAAO,CAAC,sBAAA6iC,GAAyB,OAAO5wD,KAAKuhB,MAAM4mC,iBAAiBnoD,KAAKuhB,MAAMmnC,eAAe1oD,KAAKuhB,MAAM1zB,UAAU,IAAImS,KAAKwwD,cAAcziC,OAAO/tB,KAAK4oD,gBAAgB,OAAO5oD,KAAK2wD,aAAa,CAAC,yBAAAE,GAA4B,OAAO7wD,KAAKuhB,MAAM4mC,kBAAkBnoD,KAAKuhB,MAAMmnC,eAAe1oD,KAAK4oD,gBAAgB,OAAO5oD,KAAK2wD,eAAe,OAAO3wD,KAAK0wD,kBAAkB,CAAC,uBAAAI,GAA0B,OAAO9wD,KAAKuhB,MAAM4mC,iBAAiBnoD,KAAKuhB,MAAMmnC,cAAc1oD,KAAKuhB,MAAM1zB,SAAS,CAAC,qBAAAkjE,GAAwB,OAAO/wD,KAAKuhB,MAAMmnC,cAAc,IAAI1oD,KAAKwwD,cAAcziC,SAAS/tB,KAAKuhB,MAAM1zB,SAAS,CAAC,8BAAAmjE,GAAiC,OAAOhxD,KAAKuhB,MAAM4mC,kBAAkBnoD,KAAKuhB,MAAMmnC,cAAc1oD,KAAKuhB,MAAM1zB,SAAS,EAAE,MAAMojE,WAAWnrD,EAAE,WAAA1kB,GAAculD,SAASxpD,WAAW6iB,KAAKpV,SAAS,IAAIgpB,GAAG5T,KAAK+kC,YAAY,GAAG/kC,KAAKkxD,kBAAkB,CAAC,EAAElxD,KAAKmxD,SAAS,CAAC,CAAC,WAAA9R,CAAY9/C,GAAG,IAAIG,EAAEjgB,EAAE,IAAI8f,EAAE0nC,UAAUjnC,KAAKpV,UAAU,OAAOoV,KAAKpV,SAAS2U,EAAES,KAAKoxD,qBAAqBpxD,KAAKmxD,WAAW,QAAQzxD,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAG,QAAQjgB,EAAEigB,EAAE2xD,oCAA+B,IAAS5xE,OAAE,EAAOA,EAAEY,KAAKqf,EAAEH,EAAE,CAAC,WAAA+xD,GAAc,MAAM,CAAC1mE,SAASoV,KAAKpV,SAAS2mE,cAAcvxD,KAAKswD,mBAAmB,CAAC,YAAAkB,CAAajyD,GAAG,IAAIG,EAAEjgB,EAAEuB,EAAEye,EAAE,IAAI7U,SAAS/J,EAAE0wE,cAAc/xD,GAAGD,EAAE,OAAO,QAAQG,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAG,QAAQjgB,EAAEigB,EAAE+xD,mCAA8B,IAAShyE,GAAGA,EAAEY,KAAKqf,GAAGM,KAAKq/C,YAAY,MAAMx+D,EAAEA,EAAE,IAAI+yB,IAAI5T,KAAKgkB,aAAa,MAAMxkB,EAAEA,EAAE,CAAC,EAAE,IAAI,QAAQxe,EAAEgf,KAAKqiD,gBAAW,IAASrhE,GAAG,QAAQye,EAAEze,EAAE0wE,kCAA6B,IAASjyD,OAAE,EAAOA,EAAEpf,KAAKW,EAAE,CAAC,UAAA2wE,CAAWpyD,GAAG,IAAIqyD,eAAelyD,GAAGviB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAACy0E,gBAAe,GAAI,MAAMnyE,EAAEugB,KAAKswD,mBAAmBtwD,KAAKq/C,YAAYr/C,KAAKpV,SAASq/D,kBAAkB1qD,EAAE9f,IAAI,MAAMuB,EAAEvB,EAAE,GAAGggB,EAAEze,EAAEue,EAAEmiD,YAAY,OAAOhiD,GAAGM,KAAKgkB,aAAavkB,GAAGO,KAAK6xD,iCAAiC,CAAC7wE,EAAEye,GAAG,CAAC,WAAAqyD,GAAc,IAAIvyD,EAAEpiB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,IAAImqE,GAAG,MAAM5nD,EAAE,IAAIkU,GAAG,CAACrU,IAAI,OAAOS,KAAK+xD,eAAeryD,EAAE,CAAC,cAAAqyD,GAAiB,IAAIxyD,EAAEpiB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,IAAIy2B,GAAG,MAAMlU,EAAEM,KAAKswD,mBAAmBtwD,KAAKq/C,YAAYr/C,KAAKpV,SAAS++D,sBAAsBpqD,EAAEG,IAAI,MAAMjgB,EAAEigB,EAAE,GAAG1e,EAAEvB,EAAE8f,EAAEmiD,YAAY,OAAO1hD,KAAKgkB,aAAahjC,GAAGgf,KAAK6xD,iCAAiC,CAACpyE,EAAEuB,GAAG,CAAC,YAAAgxE,CAAazyD,EAAEG,GAAG,MAAMjgB,EAAEugB,KAAKiyD,2BAA2BjxE,EAAEokE,GAAGE,4BAA4B/lD,EAAE9f,GAAG,OAAOugB,KAAK2xD,WAAW3wE,EAAE0e,EAAE,CAAC,gBAAAwyD,GAAmB,MAAM3yD,EAAES,KAAKswD,mBAAmBtwD,KAAKq/C,YAAYr/C,KAAKpV,SAAS6/D,wBAAwBlrD,IAAI,MAAMG,EAAEH,EAAE,GAAG9f,EAAEigB,EAAE,EAAE,OAAOM,KAAKgkB,aAAavkC,GAAGugB,KAAK6xD,iCAAiC,CAACnyD,EAAEjgB,GAAG,CAAC,eAAA0yE,GAAkB,MAAM5yD,EAAE,IAAI6wD,GAAGpwD,MAAM,GAAGT,EAAEuxD,0BAA0B,OAAO9wD,KAAKoyD,oBAAoBpyD,KAAKgkB,aAAazkB,EAAEgxD,eAAe,GAAGhxD,EAAEwxD,wBAAwB,CAAC,MAAMrxD,EAAE,IAAIkU,GAAG,CAACrU,EAAEgiB,MAAMkmC,oBAAoB,OAAOznD,KAAK+xD,eAAeryD,EAAE,CAAC,OAAOH,EAAEqxD,yBAAyB5wD,KAAKkyD,mBAAmB3yD,EAAEyxD,iCAAiChxD,KAAKqyD,2BAA2B9yD,EAAEsxD,4BAA4B7wD,KAAKsyD,oBAAoB/yD,GAAGS,KAAKgyD,aAAa,KAAK,CAAC,UAAAO,CAAWhzD,GAAG,MAAMG,EAAE2sD,GAAGhvB,MAAM99B,GAAGktD,cAAchtE,EAAEugB,KAAKswD,mBAAmBtwD,KAAKq/C,YAAYr/C,KAAKpV,SAASk/D,qBAAqBpqD,EAAEjgB,IAAI,MAAMuB,EAAEvB,EAAE,GAAGggB,EAAEze,EAAE0e,EAAEgiD,YAAY,EAAE,OAAO1hD,KAAKgkB,aAAavkB,GAAGO,KAAK6xD,iCAAiC,CAAC7wE,EAAEye,GAAG,CAAC,WAAA+yD,CAAYjzD,GAAG,MAAMG,EAAE2sD,GAAGhvB,MAAM99B,GAAGktD,cAAcjD,6BAA6BxpD,KAAKpV,UAAUnL,EAAEugB,KAAKyyD,iBAAiB,CAAC/mC,QAAO,IAAK1qC,EAAEgf,KAAKpV,SAASohE,uBAAuBvsE,GAAG,OAAOugB,KAAKq/C,YAAY3/C,GAAGM,KAAKgkB,aAAahjC,EAAE,CAAC,UAAA0xE,CAAWnzD,GAAG,OAAOS,KAAK2yD,YAAY,CAACpzD,GAAG,CAAC,WAAAozD,CAAYpzD,GAAG,MAAMG,EAAE,GAAG,OAAOpiB,MAAMgE,KAAKie,GAAG/b,SAAS+b,IAAI,IAAI9f,EAAE,GAAG,QAAQA,EAAEugB,KAAKqiD,gBAAW,IAAS5iE,GAAGA,EAAEmzE,4BAA4BrzD,GAAG,CAAC,MAAM9f,EAAEoiE,GAAGC,kBAAkBviD,GAAGG,EAAElf,KAAKf,EAAE,CAAE,IAAGugB,KAAK6yD,kBAAkBnzD,EAAE,CAAC,gBAAAozD,CAAiBvzD,GAAG,OAAOS,KAAK6yD,kBAAkB,CAACtzD,GAAG,CAAC,iBAAAszD,CAAkBtzD,GAAG,IAAIG,EAAE,IAAI0lD,GAAG,OAAO9nE,MAAMgE,KAAKie,GAAG/b,SAAS+b,IAAI,IAAIve,EAAE,MAAMye,EAAEF,EAAEk9C,UAAU57D,EAAE,QAAQG,EAAEvB,EAAEggB,UAAK,IAASze,OAAE,EAAOA,EAAE69C,aAAar/B,EAAEQ,KAAKiyD,2BAA2BpxE,IAAI2e,EAAEq/B,aAAah+C,GAAG,MAAMmN,EAAEo3D,GAAGC,gCAAgC9lD,EAAEC,GAAGE,EAAEA,EAAEgmD,WAAW13D,EAAG,IAAGgS,KAAK2xD,WAAWjyD,EAAE,CAAC,+BAAAqzD,CAAgCxzD,GAAG,MAAMG,EAAEM,KAAKyyD,mBAAmB,GAAGroB,GAAG1qC,GAAG,CAAC,GAAG,aAAaH,GAAG,IAAIG,EAAE,GAAGquB,OAAO,OAAM,EAAG,GAAG/tB,KAAKgzD,oCAAoCzzD,GAAG,OAAM,CAAE,MAAM,GAAGG,EAAE,GAAG5gB,QAAQ4gB,EAAE,GAAG5gB,MAAM,OAAM,EAAG,OAAM,CAAE,CAAC,iBAAAm0E,CAAkB1zD,GAAG,IAAIG,EAAEjgB,EAAEuB,GAAG5D,OAAOqiB,GAAGtiB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAE,MAAM0D,EAAEmf,KAAKyyD,mBAAmB,IAAIjzD,EAAEQ,KAAKswD,mBAAmB,MAAMtiE,EAAEo8C,GAAG5qC,GAAG,GAAGxR,EAAEvO,EAAE,aAAa8f,GAAG,IAAI1e,EAAE,GAAGktC,OAAO/sC,EAAEH,EAAE,GAAG/B,QAAQ+B,EAAE,GAAG/B,MAAMW,GAAGugB,KAAKkzD,iCAAiC,CAAC,MAAM3zD,EAAES,KAAKmzD,WAAW,GAAG5zD,EAAEmpD,aAAa1oD,KAAKoyD,oBAAoBpyD,KAAKozD,8BAA8BpzD,KAAKgkB,aAAaxkB,EAAE,IAAID,EAAE1R,UAAU,OAAM,CAAE,CAAC,OAAOG,IAAIwR,EAAEQ,KAAKqzD,4BAA4B9zD,EAAE,CAACniB,OAAOqiB,IAAI,aAAaF,IAAIG,EAAEM,KAAKszD,qBAAqB9zD,KAAKE,GAAGM,KAAKuzD,eAAe7zD,IAAG,IAAKM,KAAKq/C,YAAYr/C,KAAKpV,SAASg7D,kBAAkBpmD,IAAIQ,KAAKgkB,aAAaxkB,EAAE,KAAK/f,IAAIuB,QAAG,EAAO,CAAC,iBAAAwyE,CAAkBj0D,GAAG,MAAMG,GAAGpiB,MAAMgE,KAAK0e,KAAKswD,oBAAoB,OAAOtwD,KAAKq/C,YAAYr/C,KAAKpV,SAASk7D,4BAA4BvmD,EAAEG,IAAIM,KAAKgkB,aAAatkB,EAAE,CAAC,gBAAA+zD,CAAiBl0D,GAAG,MAAMG,EAAEM,KAAKpV,SAASo8D,qBAAqBznD,GAAG,GAAGG,EAAE,OAAOM,KAAK0zD,wBAAwB1zD,KAAKq/C,YAAYr/C,KAAKpV,SAASg7D,kBAAkBlmD,IAAIM,KAAKgkB,aAAatkB,EAAE,GAAG,CAAC,wBAAA2yD,GAA2B,MAAM9yD,EAAEG,GAAGpiB,MAAMgE,KAAK0e,KAAKswD,oBAAoB7wE,EAAEugB,KAAKpV,SAASi/D,mBAAmBnqD,GAAG,OAAOM,KAAK2zD,uBAAuBl0E,EAAEq/D,oBAAoB9+C,KAAKgkB,aAAazkB,EAAE,CAAC,iBAAAq0D,GAAoB,OAAO5zD,KAAK6zD,oBAAoB7zD,KAAK8zD,cAAc9zD,KAAKgyD,aAAa,IAAI,CAAC,iBAAA+B,GAAoB,GAAG,MAAM/zD,KAAK6zD,oBAAoB,OAAO7zD,KAAKg0D,iBAAiB,CAACh0D,KAAK6zD,oBAAoB7zD,KAAK6zD,oBAAoB,IAAI7zD,KAAKswD,kBAAkB,CAAC,iBAAA2D,GAAoBj0D,KAAK6zD,oBAAoB,IAAI,CAAC,mBAAAK,CAAoB30D,GAAG,MAAMG,EAAEM,KAAKkxD,kBAAkB3xD,GAAG,OAAO,MAAMG,IAAG,IAAKA,CAAC,CAAC,sBAAAy0D,CAAuB50D,GAAG,MAAMG,GAAGM,KAAKkxD,kBAAkB3xD,GAAG,OAAOG,EAAEM,KAAKo0D,oBAAoB70D,EAAEG,GAAGM,KAAK2zD,uBAAuBp0D,EAAE,CAAC,sBAAA80D,CAAuB90D,GAAG,OAAOypC,GAAGzpC,GAAGS,KAAKs0D,4BAA4B/0D,GAAGS,KAAKu0D,2BAA2Bh1D,EAAE,CAAC,0BAAAg1D,CAA2Bh1D,GAAG,MAAMG,EAAEM,KAAKw0D,sBAAsB,GAAG90D,EAAE,CAAC,IAAI,MAAMH,KAAKjiB,MAAMgE,KAAKoe,EAAEmnD,kBAAkB,IAAItnD,EAAEs8C,aAAa,OAAM,EAAG,OAAM,CAAE,CAAC,CAAC,2BAAAyY,CAA4B/0D,GAAG,MAAMG,EAAEM,KAAKmzD,WAAW,GAAGzzD,EAAE,OAAOA,EAAEipD,iBAAiB,CAAC,mBAAAyL,CAAoB70D,EAAEG,GAAG,OAAOspC,GAAGzpC,GAAGS,KAAKy0D,kBAAkBl1D,EAAEG,IAAIM,KAAK00D,iBAAiBn1D,EAAEG,GAAGM,KAAKkxD,kBAAkB3xD,GAAGG,EAAEM,KAAK20D,0CAA0C,CAAC,yBAAAC,CAA0Br1D,EAAEG,EAAEjgB,GAAG,IAAIuB,EAAE,MAAMye,EAAEO,KAAKpV,SAASi/D,mBAAmBtqD,GAAG1e,EAAE,QAAQG,EAAEgoD,GAAGvpC,EAAEq/C,2BAAsB,IAAS99D,OAAE,EAAOA,EAAEu+C,eAAe,GAAG9/B,GAAG,MAAM5e,GAAGA,EAAEgQ,SAAS6O,GAAG,CAAC,MAAM1e,EAAEgf,KAAKpV,SAAS4/D,2BAA2BjrD,EAAEG,EAAEjgB,GAAGugB,KAAKq/C,YAAYr+D,EAAE,CAAC,CAAC,gBAAA0zE,CAAiBn1D,EAAEG,GAAG,MAAMjgB,EAAEugB,KAAKswD,mBAAmB,IAAI7wE,EAAE,OAAO,MAAMuB,EAAEye,GAAGniB,MAAMgE,KAAK7B,GAAG,GAAGuB,IAAIye,EAAE,OAAOO,KAAKq/C,YAAYr/C,KAAKpV,SAASo7D,oBAAoBzmD,EAAEG,EAAEjgB,IAAI,GAAG,SAAS8f,EAAE,CAAC,MAAMA,EAAE6lD,GAAGE,4BAA4B5lD,EAAE,CAAC4kC,KAAK5kC,IAAI,OAAOM,KAAK2xD,WAAWpyD,EAAE,CAAC,CAAC,iBAAAk1D,CAAkBl1D,EAAEG,GAAG,MAAMjgB,EAAEugB,KAAKswD,mBAAmB,GAAGtwD,KAAKq0D,uBAAuB90D,GAAG,OAAOS,KAAKq/C,YAAYr/C,KAAKpV,SAAS8/D,2BAA2BnrD,EAAEG,EAAEjgB,IAAIugB,KAAKgkB,aAAavkC,EAAE,CAAC,sBAAAk0E,CAAuBp0D,GAAG,OAAOypC,GAAGzpC,IAAIS,KAAK60D,qBAAqBt1D,GAAGS,KAAK80D,4BAA4B90D,KAAK+0D,oBAAoBx1D,UAAUS,KAAKkxD,kBAAkB3xD,GAAGS,KAAK20D,0CAA0C,CAAC,mBAAAI,CAAoBx1D,GAAG,MAAMG,EAAEM,KAAKswD,mBAAmB,GAAG5wD,EAAE,OAAOM,KAAKq/C,YAAYr/C,KAAKpV,SAASs7D,uBAAuB3mD,EAAEG,GAAG,CAAC,oBAAAm1D,CAAqBt1D,GAAG,MAAMG,EAAEM,KAAKswD,mBAAmB,GAAG5wD,EAAE,OAAOM,KAAKq/C,YAAYr/C,KAAKpV,SAASs7D,uBAAuB3mD,EAAEG,GAAG,CAAC,uBAAAs1D,GAA0B,IAAIz1D,EAAE,OAAO,QAAQA,EAAES,KAAKmzD,kBAAa,IAAS5zD,OAAE,EAAOA,EAAE+oD,mBAAmB,CAAC,CAAC,uBAAA2M,GAA0B,IAAI11D,EAAE,MAAMG,EAAEM,KAAKmzD,WAAW,GAAGzzD,EAAE,CAAC,GAAG,QAAQH,EAAEypC,GAAGtpC,EAAE0oD,mCAA8B,IAAS7oD,IAAIA,EAAEogC,cAAc,OAAOjgC,EAAE4oD,kBAAkB,EAAE,CAAC,MAAM/oD,EAAES,KAAKk1D,mBAAmB,GAAG31D,EAAE,OAAO,WAAW,IAAIA,EAAEpiB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,OAAO6qD,IAAI7qD,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,IAAIgE,MAAM,EAAEoe,EAAEniB,QAAQmiB,EAAE,CAArK,CAAuKA,EAAEkpD,wBAAwB/oD,EAAE+oD,wBAAwB,CAAC,CAAC,CAAC,oBAAAF,GAAuB,MAAMhpD,EAAES,KAAKmzD,WAAW,GAAG5zD,EAAE,OAAOS,KAAKq/C,YAAYr/C,KAAKpV,SAAS8+D,aAAanqD,EAAEA,EAAEgpD,wBAAwB,CAAC,oBAAAC,GAAuB,MAAMjpD,EAAES,KAAKmzD,WAAW,GAAG5zD,EAAE,OAAOS,KAAKq/C,YAAYr/C,KAAKpV,SAAS8+D,aAAanqD,EAAEA,EAAEipD,wBAAwB,CAAC,8BAAA0K,GAAiC,IAAI3zD,EAAE,OAAO,QAAQA,EAAES,KAAKmzD,kBAAa,IAAS5zD,OAAE,EAAOA,EAAE0oD,qBAAqB,CAAC,CAAC,2BAAAmL,GAA8B,IAAI7zD,EAAE,MAAMG,EAAE,QAAQH,EAAES,KAAKmzD,kBAAa,IAAS5zD,OAAE,EAAOA,EAAEu/C,mBAAmB,GAAGp/C,EAAE,OAAOM,KAAK2zD,uBAAuBj0D,EAAE,CAAC,iBAAA0yD,GAAoB,IAAI7yD,GAAGjiB,MAAMgE,KAAK0e,KAAKswD,oBAAoB,MAAMxxE,MAAM4gB,GAAGM,KAAKpV,SAASg/D,qBAAqBrqD,GAAG,IAAI9f,EAAEigB,EAAE,MAAM1e,EAAEgf,KAAKmzD,WAAWlL,oBAAoB,IAAIxoD,EAAEO,KAAKpV,SAAS0+D,gBAAgB7pE,EAAE,GAAG,KAAKggB,GAAGA,EAAEipD,gBAAgBjpD,EAAEwoD,qBAAqBjnE,IAAIvB,IAAIggB,EAAEO,KAAKpV,SAAS0+D,gBAAgB7pE,EAAE,GAAG8f,EAAES,KAAKpV,SAASsgE,qBAAqB,CAACpsE,MAAM4gB,EAAEquB,OAAO,IAAI,MAAMltC,EAAEmf,KAAKpV,SAASsgE,qBAAqB,CAACpsE,MAAMW,EAAEsuC,OAAO,IAAI,OAAO/tB,KAAKq/C,YAAYr/C,KAAKpV,SAASggE,+BAA+B,CAACrrD,EAAE1e,IAAI,CAAC,uBAAAi0E,GAA0B,MAAMv1D,EAAES,KAAKswD,iBAAiB,CAAC6E,YAAW,IAAK,GAAG51D,EAAE,CAAC,MAAMG,EAAEM,KAAKpV,SAAS07D,2BAA2B/mD,GAAG,GAAGjiB,MAAMgE,KAAKunD,MAAMrlD,SAAS+b,IAAIG,EAAEH,IAAIS,KAAKq0D,uBAAuB90D,KAAKG,EAAEH,IAAG,EAAI,KAAI0qC,GAAGvqC,EAAEM,KAAKkxD,mBAAmB,OAAOlxD,KAAKkxD,kBAAkBxxD,EAAEM,KAAK20D,yCAAyC,CAAC,CAAC,oBAAAS,GAAuB,OAAOxxD,EAAEvjB,KAAK,CAAC,EAAE2f,KAAKkxD,kBAAkB,CAAC,wBAAAe,GAA2B,MAAM1yD,EAAE,CAAC,EAAE,IAAI,MAAMG,KAAKM,KAAKkxD,kBAAkB,CAAC,MAAMzxE,EAAEugB,KAAKkxD,kBAAkBxxD,IAAG,IAAKjgB,GAAGwpD,GAAGvpC,KAAKH,EAAEG,GAAGjgB,EAAE,CAAC,OAAO8f,CAAC,CAAC,eAAA81D,GAAkB,OAAOr1D,KAAKo0D,oBAAoB,UAAS,EAAG,CAAC,aAAAkB,GAAgB,OAAOt1D,KAAK2zD,uBAAuB,SAAS,CAAC,kBAAA4B,GAAqB,OAAOv1D,KAAKk0D,oBAAoB,SAAS,CAAC,YAAAlwC,CAAazkB,GAAG,IAAIG,EAAE,MAAMjgB,EAAEugB,KAAKpV,SAASs/D,uBAAuB3qD,GAAG,OAAO,QAAQG,EAAEM,KAAKqiD,gBAAW,IAAS3iD,OAAE,EAAOA,EAAE81D,sDAAsD/1E,EAAE,CAAC,gBAAA6wE,GAAmB,MAAM/wD,EAAES,KAAKyyD,mBAAmB,GAAGlzD,EAAE,OAAOS,KAAKpV,SAASohE,uBAAuBzsD,EAAE,CAAC,gBAAAy0D,CAAiBz0D,GAAG,MAAMG,EAAEM,KAAKpV,SAASs/D,uBAAuB3qD,GAAG,OAAOS,KAAKy1D,sBAAsBC,iBAAiBh2D,EAAE,CAAC,WAAAo0D,GAAc,MAAMv0D,EAAES,KAAKyyD,mBAAmB,GAAGlzD,EAAE,OAAOS,KAAKpV,SAASsgE,qBAAqB3rD,EAAE,GAAG,CAAC,gBAAAkzD,CAAiBlzD,GAAG,OAAOS,KAAK21D,oBAAoB31D,KAAK21D,oBAAoB31D,KAAKy1D,sBAAsBhD,iBAAiBlzD,IAAI2qC,GAAG,CAACprD,MAAM,EAAEivC,OAAO,GAAG,CAAC,uBAAA6nC,CAAwBr2D,EAAEG,GAAG,IAAIjgB,EAAEugB,KAAK21D,oBAAoBp2D,EAAE,IAAI9f,EAAEigB,GAAG,CAAC,QAAQM,KAAK21D,oBAAoB,IAAI,CAAC,OAAOl2E,CAAC,CAAC,eAAAo2E,CAAgBt2D,EAAEG,GAAG,MAAMjgB,EAAEugB,KAAKpV,SAASs/D,uBAAuB3qD,GAAG,OAAOS,KAAK41D,wBAAwBn2E,EAAEigB,EAAE,CAAC,kBAAAo2D,CAAmBv2D,EAAEG,GAAG,MAAMjgB,EAAEugB,KAAK+1D,gCAAgCx2D,EAAE,CAACmsB,QAAO,IAAK,OAAO1rB,KAAK41D,wBAAwBn2E,EAAEigB,EAAE,CAAC,2BAAA2zD,CAA4B9zD,GAAG,IAAIniB,OAAOsiB,GAAGviB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,GAAGsC,EAAEuB,GAAG1D,MAAMgE,KAAK0e,KAAKswD,oBAAoB,MAAM,aAAa/wD,EAAEG,EAAEjgB,GAAGigB,EAAEjgB,EAAEugB,KAAKg2D,iCAAiCv2E,GAAG,GAAGigB,EAAE1e,GAAG0e,EAAE1e,EAAEgf,KAAKg2D,iCAAiCh1E,EAAE,GAAGkpD,GAAG,CAACzqD,EAAEuB,GAAG,CAAC,mCAAAgyE,CAAoCzzD,GAAG,GAAGS,KAAKi2D,kBAAkB,OAAM,EAAG,MAAMv2D,EAAEM,KAAKqzD,4BAA4B9zD,GAAG,OAAO,MAAMS,KAAKszD,qBAAqB5zD,EAAE,CAAC,qBAAAw2D,CAAsB32D,GAAG,IAAIG,EAAEjgB,EAAE,GAAGugB,KAAKi2D,kBAAkBx2E,EAAEugB,KAAKpV,SAASo8D,qBAAqBhnD,KAAKi2D,uBAAuB,CAAC,MAAMj1E,EAAEgf,KAAKswD,mBAAmB7wE,EAAEugB,KAAKqzD,4BAA4B9zD,GAAGG,GAAG4qC,GAAGtpD,EAAEvB,EAAE,CAAC,GAAG,aAAa8f,EAAES,KAAKg0D,iBAAiBv0E,EAAE,IAAIugB,KAAKg0D,iBAAiBv0E,EAAE,IAAIigB,EAAE,CAAC,MAAMH,EAAES,KAAKszD,qBAAqB7zE,GAAG,GAAG8f,EAAE,OAAOS,KAAKuzD,eAAeh0D,EAAE,CAAC,CAAC,0BAAA42D,CAA2B52D,GAAG,IAAIniB,OAAOsiB,GAAGviB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAE,MAAMsC,EAAEugB,KAAKqzD,4BAA4B9zD,EAAE,CAACniB,OAAOsiB,IAAI,OAAOM,KAAKg0D,iBAAiBv0E,EAAE,CAAC,yBAAA22E,GAA4B,GAAGp2D,KAAKk0D,oBAAoB,QAAQ,OAAOl0D,KAAKq2D,qCAAqC,OAAO,CAAC,oCAAAA,CAAqC92D,GAAG,MAAMG,EAAEM,KAAK8zD,cAAcr0E,EAAEugB,KAAKpV,SAAS6gE,oCAAoClsD,EAAEG,GAAG,OAAOM,KAAKg0D,iBAAiBv0E,EAAE,CAAC,4BAAA62E,GAA+B,IAAI/2D,EAAE,OAAO,QAAQA,EAAES,KAAKu2D,gCAA2B,IAASh3D,OAAE,EAAOA,EAAEniB,QAAQ,CAAC,CAAC,yBAAAo5E,GAA4B,OAAOx2D,KAAKi2D,mBAAmBj2D,KAAKy2D,uBAAuBz2D,KAAK8zD,cAAc,CAAC,sBAAA2C,CAAuBl3D,GAAG,MAAMG,EAAEM,KAAKpV,SAASg/D,qBAAqBrqD,GAAG,GAAGG,EAAE,OAAOM,KAAK02D,uBAAuBh3D,EAAE,CAAC,oBAAAi3D,CAAqBp3D,GAAG,IAAIG,EAAE,OAAO,QAAQA,EAAEM,KAAKpV,SAASu8D,mBAAmB5nD,UAAK,IAASG,OAAE,EAAOA,EAAE8hD,cAAc,CAAC,mBAAAgT,GAAsB,MAAMj1D,EAAES,KAAKswD,mBAAmB,GAAG/wD,EAAE,OAAOS,KAAKpV,SAASu/D,mBAAmB5qD,EAAE,CAAC,sBAAAg3D,GAAyB,IAAIh3D,EAAE,OAAO,QAAQA,EAAES,KAAKw0D,6BAAwB,IAASj1D,OAAE,EAAOA,EAAEsnD,gBAAgB,CAAC,cAAAA,GAAiB,OAAO7mD,KAAK+kC,YAAY5jD,MAAM,EAAE,CAAC,kBAAAiwE,GAAqB,MAAM7xD,EAAES,KAAKpV,SAASi8D,kBAAkB+P,MAAMl3D,EAAEw0C,QAAQz0D,GAAG,WAAW,IAAI8f,EAAEpiB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAGuiB,EAAEviB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,MAAMsC,EAAE,GAAGuB,EAAE,GAAGye,EAAE,IAAIo3D,IAAIt3D,EAAE/b,SAAS+b,IAAIE,EAAElS,IAAIgS,EAAG,IAAG,MAAM1e,EAAE,IAAIg2E,IAAI,OAAOn3D,EAAElc,SAAS+b,IAAI1e,EAAE0M,IAAIgS,GAAGE,EAAE8oC,IAAIhpC,IAAI9f,EAAEe,KAAK+e,EAAG,IAAGA,EAAE/b,SAAS+b,IAAI1e,EAAE0nD,IAAIhpC,IAAIve,EAAER,KAAK+e,EAAG,IAAG,CAACq3D,MAAMn3E,EAAEy0D,QAAQlzD,EAAE,CAA3T,CAA6Tgf,KAAK+kC,YAAYxlC,GAAG,OAAOS,KAAK+kC,YAAYxlC,EAAEjiB,MAAMgE,KAAK7B,GAAG+D,SAAS+b,IAAI,IAAIG,EAAEjgB,EAAE8f,EAAE8iD,SAAS,KAAK,QAAQ3iD,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAG,QAAQjgB,EAAEigB,EAAEo3D,sCAAiC,IAASr3E,GAAGA,EAAEY,KAAKqf,EAAEH,EAAG,IAAG,MAAM,MAAMA,EAAE,GAAG,OAAOjiB,MAAMgE,KAAKoe,GAAGlc,SAASkc,IAAI,IAAIjgB,EAAEuB,EAAE0e,EAAE2iD,SAASriD,KAAKT,EAAE/e,KAAK,QAAQf,EAAEugB,KAAKqiD,gBAAW,IAAS5iE,GAAG,QAAQuB,EAAEvB,EAAEs3E,mCAA8B,IAAS/1E,OAAE,EAAOA,EAAEX,KAAKZ,EAAEigB,GAAI,IAAGH,CAAE,EAAtM,EAAyM,CAAC,6BAAAo+C,CAA8Bp+C,GAAG,IAAIG,EAAEjgB,EAAE,OAAOugB,KAAKmxD,WAAW,QAAQzxD,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAG,QAAQjgB,EAAEigB,EAAEs3D,oCAA+B,IAASv3E,OAAE,EAAOA,EAAEY,KAAKqf,EAAEH,EAAE,CAAC,6BAAAyjD,CAA8BzjD,GAAG,IAAIG,EAAEjgB,EAAE,OAAOugB,KAAKmxD,WAAW,QAAQzxD,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAG,QAAQjgB,EAAEigB,EAAEu3D,gDAA2C,IAASx3E,OAAE,EAAOA,EAAEY,KAAKqf,EAAEH,EAAE,CAAC,cAAAg0D,CAAeh0D,EAAEG,GAAG,IAAIjgB,EAAEuB,EAAE,GAAGue,IAAIS,KAAKi2D,kBAAkB,OAAOj2D,KAAK0zD,wBAAwB1zD,KAAKi2D,kBAAkB12D,EAAE,QAAQ9f,EAAEugB,KAAKqiD,gBAAW,IAAS5iE,GAAG,QAAQuB,EAAEvB,EAAEy3E,4CAAuC,IAASl2E,OAAE,EAAOA,EAAEX,KAAKZ,EAAEugB,KAAKi2D,kBAAkBv2D,EAAE,CAAC,qBAAAg0D,GAAwB,IAAIn0D,EAAEG,EAAEM,KAAKi2D,oBAAoB,QAAQ12D,EAAES,KAAKqiD,gBAAW,IAAS9iD,GAAG,QAAQG,EAAEH,EAAE43D,2CAAsC,IAASz3D,GAAGA,EAAErf,KAAKkf,EAAES,KAAKi2D,mBAAmBj2D,KAAKi2D,kBAAkB,KAAK,CAAC,6BAAAhP,CAA8B1nD,EAAEG,GAAG,OAAOM,KAAKq/C,YAAYr/C,KAAKpV,SAASq8D,8BAA8B1nD,EAAEG,GAAG,CAAC,4BAAA6qD,CAA6BhrD,EAAEG,GAAG,OAAOM,KAAKq/C,YAAYr/C,KAAKpV,SAAS2/D,6BAA6BhrD,EAAEG,GAAG,CAAC,mBAAA4yD,CAAoB/yD,GAAG,IAAI3U,SAAS8U,GAAGH,EAAE,MAAMgiB,MAAM9hC,GAAG8f,EAAE,IAAIve,EAAEue,EAAEgxD,cAAc9wD,EAAE,CAACze,EAAE,EAAEA,GAAGvB,EAAEw/D,0BAA0B1/C,EAAEixD,cAAcziC,QAAQtuC,EAAEmpE,kBAAkB,OAAOrpD,EAAEoxD,cAAc3vE,GAAG,EAAE0e,EAAEA,EAAEkmD,kBAAkBnmD,GAAGA,EAAE,CAACze,EAAEA,IAAI,OAAOue,EAAEoxD,cAAc,OAAOpxD,EAAEmxD,kBAAkBjxD,EAAE,CAACze,EAAE,EAAEA,EAAE,IAAIye,EAAE,CAACze,EAAEA,EAAE,GAAGA,GAAG,GAAGue,EAAEixD,cAAcziC,OAAO,GAAG,IAAI/sC,GAAG,GAAG,MAAMH,EAAE,IAAI+yB,GAAG,CAACn0B,EAAEsoE,sBAAsBN,oBAAoB,OAAOznD,KAAKq/C,YAAY3/C,EAAEiqD,sBAAsB9oE,EAAE4e,IAAIO,KAAKgkB,aAAahjC,EAAE,CAAC,gBAAAk0E,GAAmB,MAAM31D,EAAES,KAAKyyD,mBAAmB,GAAGlzD,EAAE,CAAC,MAAMzgB,MAAM4gB,GAAGH,EAAE,GAAG,GAAGG,EAAE,EAAE,OAAOM,KAAKpV,SAAS0+D,gBAAgB5pD,EAAE,EAAE,CAAC,CAAC,QAAAyzD,GAAW,MAAM5zD,EAAES,KAAKyyD,mBAAmB,GAAGlzD,EAAE,OAAOS,KAAKpV,SAAS0+D,gBAAgB/pD,EAAE,GAAGzgB,MAAM,CAAC,oBAAAw0E,CAAqB/zD,GAAG,MAAMG,EAAEM,KAAKpV,SAASu/D,mBAAmB5qD,GAAG,GAAGG,EAAExe,aAAa,GAAG6E,OAAO,SAAI,MAAM,OAAO2Z,EAAEmnD,iBAAiB,EAAE,CAAC,uCAAA8N,GAA0C,IAAIp1D,EAAEG,EAAE,OAAO,QAAQH,EAAES,KAAKqiD,gBAAW,IAAS9iD,GAAG,QAAQG,EAAEH,EAAE63D,6CAAwC,IAAS13D,OAAE,EAAOA,EAAErf,KAAKkf,EAAES,KAAKkxD,kBAAkB,CAAC,gCAAAW,CAAiCtyD,GAAG,IAAIG,EAAEjgB,EAAE,OAAO,QAAQigB,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAG,QAAQjgB,EAAEigB,EAAE23D,6CAAwC,IAAS53E,OAAE,EAAOA,EAAEY,KAAKqf,EAAEH,EAAE,CAAC,gCAAAy2D,CAAiCz2D,EAAEG,GAAG,MAAMjgB,EAAEugB,KAAKpV,SAASm9C,gBAAgB/mD,EAAEvB,EAAEunD,qBAAqBznC,GAAG,OAAO9f,EAAEsnD,mBAAmB/lD,EAAE0e,EAAE,EAAEuxD,GAAGhrB,YAAY,uCAAuCgrB,GAAGhrB,YAAY,wDAAwDgrB,GAAGhrB,YAAY,yDAAyDgrB,GAAGhrB,YAAY,gDAAgDgrB,GAAGhrB,YAAY,6CAA6CgrB,GAAGhrB,YAAY,iCAAiC,MAAMqxB,WAAWxxD,EAAE,WAAA1kB,CAAYme,GAAGonC,SAASxpD,WAAW6iB,KAAKqwD,YAAY9wD,EAAES,KAAKu3D,YAAY,GAAGv3D,KAAKw3D,YAAY,EAAE,CAAC,eAAAC,CAAgBl4D,GAAG,IAAI/V,QAAQkW,EAAEg4D,eAAej4E,GAAGtC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAE,MAAM6D,EAAEgf,KAAKu3D,YAAYp2E,OAAO,GAAG,GAAG,IAAI1B,IAAIk4E,GAAG32E,EAAEue,EAAEG,GAAG,CAAC,MAAMjgB,EAAEugB,KAAK43D,YAAY,CAACjlE,YAAY4M,EAAE/V,QAAQkW,IAAIM,KAAKu3D,YAAY/2E,KAAKf,GAAGugB,KAAKw3D,YAAY,EAAE,CAAC,CAAC,IAAAn2B,GAAO,MAAM9hC,EAAES,KAAKu3D,YAAYt6B,MAAM,GAAG19B,EAAE,CAAC,MAAMG,EAAEM,KAAK43D,YAAYr4D,GAAG,OAAOS,KAAKw3D,YAAYh3E,KAAKkf,GAAGM,KAAKqwD,YAAYmB,aAAajyD,EAAEs4D,SAAS,CAAC,CAAC,IAAA12B,GAAO,MAAM5hC,EAAES,KAAKw3D,YAAYv6B,MAAM,GAAG19B,EAAE,CAAC,MAAMG,EAAEM,KAAK43D,YAAYr4D,GAAG,OAAOS,KAAKu3D,YAAY/2E,KAAKkf,GAAGM,KAAKqwD,YAAYmB,aAAajyD,EAAEs4D,SAAS,CAAC,CAAC,OAAAC,GAAU,OAAO93D,KAAKu3D,YAAYn6E,OAAO,CAAC,CAAC,OAAA26E,GAAU,OAAO/3D,KAAKw3D,YAAYp6E,OAAO,CAAC,CAAC,WAAAw6E,GAAc,IAAIjlE,YAAY4M,EAAE/V,QAAQkW,GAAGviB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAE,MAAM,CAACwV,YAAY,MAAM4M,OAAE,EAAOA,EAAEre,WAAWsI,QAAQuH,KAAKC,UAAU0O,GAAGm4D,SAAS73D,KAAKqwD,YAAYiB,cAAc,EAAE,MAAMqG,GAAG,CAACp4D,EAAEG,EAAEjgB,KAAK,MAAM8f,OAAE,EAAOA,EAAE5M,gBAAgB,MAAM+M,OAAE,EAAOA,EAAExe,cAAc,MAAMqe,OAAE,EAAOA,EAAE/V,WAAWuH,KAAKC,UAAUvR,GAAGu4E,GAAG,oBAAoB,MAAMC,GAAG,WAAA72E,CAAYme,GAAGS,KAAKpV,SAAS2U,EAAE3U,SAASoV,KAAKuxD,cAAchyD,EAAEgyD,aAAa,CAAC,OAAArjB,GAAU,OAAOluC,KAAK60D,uBAAuB70D,KAAKk4D,qBAAqB,CAAC,WAAA5G,GAAc,MAAM,CAAC1mE,SAASoV,KAAKpV,SAAS2mE,cAAcvxD,KAAKuxD,cAAc,CAAC,oBAAAsD,GAAuB,OAAO70D,KAAKm4D,qBAAqBxzE,KAAK4a,GAAGS,KAAKpV,SAASoV,KAAKpV,SAASs7D,uBAAuB8R,GAAGz4D,IAAI,CAAC,mBAAA24D,GAAsB,IAAI34D,EAAE,EAAES,KAAKo4D,qBAAqB50E,SAASkc,IAAIA,EAAE,GAAGA,EAAE,GAAG,IAAIA,EAAE,IAAIH,EAAEG,EAAE,IAAIH,EAAE,OAAOS,KAAKpV,SAASwgE,uBAAuB1rD,EAAE,MAAMM,KAAKpV,SAASoV,KAAKpV,SAAS6/D,wBAAwB/qD,EAAE,IAAIA,EAAE,GAAGM,KAAKuxD,cAAc,IAAIvxD,KAAKq4D,2BAA2B34D,EAAE,KAAKH,KAAK,IAAIG,EAAE,IAAI,OAAOM,KAAKpV,SAASwgE,uBAAuB1rD,EAAE,GAAG,KAAKM,KAAKpV,SAASoV,KAAKpV,SAAS6/D,wBAAwB/qD,EAAE,IAAIA,EAAE,GAAGM,KAAKuxD,cAAc,IAAIvxD,KAAKq4D,2BAA2B34D,EAAE,KAAKH,KAAKS,KAAKpV,SAASoV,KAAKpV,SAAS8/D,2BAA2BsN,IAAG,EAAGt4D,GAAI,GAAE,CAAC,kBAAAy4D,GAAqB,OAAOn4D,KAAKpV,SAASghE,4BAA4BoM,GAAG,CAAC,kBAAAI,GAAqB,OAAOp4D,KAAKpV,SAASihE,2BAA2B,eAAe,CAACC,UAAU,WAAW,CAAC,wBAAAuM,GAA2Br4D,KAAKuxD,cAAc,IAAI,EAAEvxD,KAAKuxD,cAAc,IAAI,CAAC,EAAE,MAAM+G,GAAG,SAAS/4D,GAAG,MAAMG,EAAE,IAAIu4D,GAAG14D,GAAG,OAAOG,EAAEwuC,UAAUxuC,EAAE4xD,aAAa,EAAEiH,GAAG,CAACD,IAAI,MAAME,GAAG,WAAAp3E,CAAYme,EAAEG,EAAEjgB,GAAGugB,KAAK2yD,YAAY3yD,KAAK2yD,YAAY5qD,KAAK/H,MAAMA,KAAKqwD,YAAY9wD,EAAES,KAAKy4D,iBAAiB/4D,EAAEM,KAAKI,QAAQ3gB,EAAEugB,KAAK04D,YAAY,IAAIpB,GAAGt3D,KAAKqwD,aAAarwD,KAAK24D,QAAQJ,GAAGp3E,MAAM,EAAE,CAAC,YAAAy3E,CAAar5D,GAAG,OAAOS,KAAKwxD,aAAa,CAAC5mE,SAAS2U,EAAEgyD,cAAc,CAAC,EAAE,IAAI,CAAC,QAAAsH,GAAW,IAAIt5D,EAAEpiB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,MAAMuiB,EAAE2sD,GAAGhvB,MAAM99B,EAAE,CAAC+sD,iBAAiBtsD,KAAKI,UAAUqsD,cAAc,OAAOzsD,KAAK44D,aAAal5D,EAAE,CAAC,QAAAo5D,CAASv5D,GAAG,IAAI3U,SAAS8U,EAAE6xD,cAAc9xE,GAAG8f,EAAE,OAAOG,EAAEkU,GAAG8zB,SAAShoC,GAAGM,KAAKwxD,aAAa,CAAC5mE,SAAS8U,EAAE6xD,cAAc9xE,GAAG,CAAC,YAAA+xE,CAAajyD,GAAG,OAAOS,KAAK04D,YAAY,IAAIpB,GAAGt3D,KAAKqwD,aAAarwD,KAAKqwD,YAAYmB,aAAajyD,EAAE,CAAC,WAAAktD,GAAc,OAAOzsD,KAAKqwD,YAAYzlE,QAAQ,CAAC,mBAAA4pE,GAAsB,OAAOx0D,KAAKqwD,YAAYmE,qBAAqB,CAAC,WAAAlD,GAAc,OAAOtxD,KAAKqwD,YAAYiB,aAAa,CAAC,MAAApqB,GAAS,OAAOlnC,KAAKsxD,aAAa,CAAC,iBAAA2B,CAAkB1zD,GAAG,OAAOS,KAAKqwD,YAAY4C,kBAAkB1zD,EAAE,CAAC,gBAAAuzD,CAAiBvzD,GAAG,OAAOS,KAAKqwD,YAAYyC,iBAAiBvzD,EAAE,CAAC,iBAAAszD,CAAkBtzD,GAAG,OAAOS,KAAKqwD,YAAYwC,kBAAkBtzD,EAAE,CAAC,cAAAwyD,CAAexyD,GAAG,OAAOS,KAAKqwD,YAAY0B,eAAexyD,EAAE,CAAC,UAAAmzD,CAAWnzD,GAAG,OAAOS,KAAKqwD,YAAYqC,WAAWnzD,EAAE,CAAC,WAAAozD,CAAYpzD,GAAG,OAAOS,KAAKqwD,YAAYsC,YAAYpzD,EAAE,CAAC,UAAAgzD,CAAWhzD,GAAG,OAAOS,KAAKqwD,YAAYkC,WAAWhzD,EAAE,CAAC,YAAAyyD,CAAazyD,GAAG,OAAOS,KAAKqwD,YAAY2B,aAAazyD,EAAE,CAAC,UAAAoyD,CAAWpyD,GAAG,OAAOS,KAAKqwD,YAAYsB,WAAWpyD,EAAE,CAAC,eAAA4yD,GAAkB,OAAOnyD,KAAKqwD,YAAY8B,iBAAiB,CAAC,gBAAA7B,GAAmB,OAAOtwD,KAAKqwD,YAAYC,kBAAkB,CAAC,WAAAwD,GAAc,OAAO9zD,KAAKqwD,YAAYyD,aAAa,CAAC,uBAAAiF,CAAwBx5D,GAAG,MAAMG,EAAEM,KAAKysD,cAAcvC,uBAAuB,CAAC3qD,EAAEA,EAAE,IAAI,OAAOS,KAAKy4D,iBAAiBO,6BAA6Bt5D,EAAE,CAAC,0BAAAy2D,CAA2B52D,GAAG,OAAOS,KAAKqwD,YAAY8F,2BAA2B52D,EAAE,CAAC,qBAAA22D,CAAsB32D,GAAG,OAAOS,KAAKqwD,YAAY6F,sBAAsB32D,EAAE,CAAC,gBAAAy0D,CAAiBz0D,GAAG,OAAOS,KAAKqwD,YAAY2D,iBAAiBz0D,EAAE,CAAC,iBAAA05D,CAAkB15D,GAAG,IAAIG,IAAIviB,UAAUC,OAAO,QAAG,IAASD,UAAU,KAAKA,UAAU,GAAG,OAAO6iB,KAAKqwD,YAAY+D,oBAAoB70D,EAAEG,EAAE,CAAC,iBAAAw5D,CAAkB35D,GAAG,OAAOS,KAAKqwD,YAAY6D,oBAAoB30D,EAAE,CAAC,oBAAA45D,CAAqB55D,GAAG,OAAOS,KAAKqwD,YAAYgE,uBAAuB90D,EAAE,CAAC,mBAAA65D,CAAoB75D,GAAG,OAAOS,KAAKqwD,YAAYsD,uBAAuBp0D,EAAE,CAAC,yBAAAq1D,CAA0Br1D,EAAEG,EAAEjgB,GAAGugB,KAAKqwD,YAAYuE,0BAA0Br1D,EAAEG,EAAEjgB,EAAE,CAAC,uBAAAu1E,GAA0B,OAAOh1D,KAAKqwD,YAAY2E,yBAAyB,CAAC,uBAAAC,GAA0B,OAAOj1D,KAAKqwD,YAAY4E,yBAAyB,CAAC,oBAAA1M,GAAuB,GAAGvoD,KAAKg1D,0BAA0B,OAAOh1D,KAAKqwD,YAAY9H,sBAAsB,CAAC,oBAAAC,GAAuB,GAAGxoD,KAAKi1D,0BAA0B,OAAOj1D,KAAKqwD,YAAY7H,sBAAsB,CAAC,OAAAuP,GAAU,OAAO/3D,KAAK04D,YAAYX,SAAS,CAAC,OAAAD,GAAU,OAAO93D,KAAK04D,YAAYZ,SAAS,CAAC,eAAAL,CAAgBl4D,GAAG,IAAI/V,QAAQkW,EAAEg4D,eAAej4E,GAAGtC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAE,OAAO6iB,KAAK04D,YAAYjB,gBAAgBl4D,EAAE,CAAC/V,QAAQkW,EAAEg4D,eAAej4E,GAAG,CAAC,IAAA0hD,GAAO,GAAGnhC,KAAK+3D,UAAU,OAAO/3D,KAAK04D,YAAYv3B,MAAM,CAAC,IAAAE,GAAO,GAAGrhC,KAAK83D,UAAU,OAAO93D,KAAK04D,YAAYr3B,MAAM,EAAE,MAAMg4B,GAAG,WAAAj4E,CAAYme,GAAGS,KAAKI,QAAQb,CAAC,CAAC,kCAAA+5D,CAAmC/5D,EAAEG,GAAG,IAAIgsB,OAAOjsC,GAAGtC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAACuuC,QAAO,GAAI1qC,EAAE,EAAEye,GAAE,EAAG,MAAM5e,EAAE,CAAC/B,MAAM,EAAEivC,OAAO,GAAGvuB,EAAEQ,KAAKu5D,mCAAmCh6D,GAAGC,IAAID,EAAEC,EAAEmD,WAAWjD,EAAE0Z,EAAE5Z,IAAI,MAAMxR,EAAEyrB,EAAEzZ,KAAKI,QAAQ,CAACuiC,YAAYxiD,KAAK,KAAK6N,EAAEorD,YAAY,CAAC,MAAM55C,EAAExR,EAAE6sD,YAAY,GAAGr7C,IAAID,GAAGgI,EAAEhI,GAAG,CAAC2Z,EAAE1Z,KAAK3e,EAAEktC,QAAQruB,GAAG,KAAK,CAAC,GAAGF,EAAEmD,aAAapD,GAAG,GAAGve,MAAM0e,EAAE,WAAW,IAAI0E,EAAE7E,EAAEC,IAAIxe,EAAE,EAAE,MAAM4jB,EAAEpF,EAAE,CAACksB,OAAOjsC,KAAKggB,GAAG5e,EAAE/B,QAAQ+B,EAAEktC,OAAO,EAAEtuB,GAAE,GAAI5e,EAAEktC,QAAQyrC,GAAGh6D,EAAE,CAAC,OAAO3e,CAAC,CAAC,kCAAA44E,CAAmCl6D,GAAG,IAAIG,EAAEjgB,EAAE,GAAG,IAAI8f,EAAEzgB,OAAO,IAAIygB,EAAEwuB,OAAO,CAAC,IAAIruB,EAAEM,KAAKI,QAAQ3gB,EAAE,EAAEigB,EAAE8H,YAAY,GAAG9H,EAAEA,EAAE8H,WAAW/B,EAAE/F,GAAG,CAACjgB,EAAE,EAAE,KAAK,CAAC,MAAM,CAACigB,EAAEjgB,EAAE,CAAC,IAAIuB,EAAEye,GAAGO,KAAK05D,8BAA8Bn6D,GAAG,GAAGve,EAAE,CAAC,GAAGumB,EAAEvmB,GAAG,IAAIw4E,GAAGx4E,IAAI0e,EAAE1e,EAAE2hB,WAAWA,WAAWljB,EAAE25B,EAAEp4B,EAAE2hB,YAAYuW,EAAEl4B,EAAE,CAACK,KAAK,WAAW5B,MAAMigB,EAAE1e,EAAEvB,EAAE8f,EAAEwuB,OAAOtuB,OAAO,CAAC,GAAGC,EAAE1e,EAAE2hB,YAAYiC,EAAE5jB,EAAEyhD,mBAAmBh9B,EAAE/F,GAAG,KAAK1e,IAAI0e,EAAEggD,YAAY1+D,EAAE0e,EAAEA,EAAEA,EAAEiD,YAAY8C,EAAE/F,MAAMjgB,EAAE25B,EAAEp4B,GAAG,IAAIue,EAAEwuB,QAAQtuC,GAAG,CAAC,MAAM,CAACigB,EAAEjgB,EAAE,CAAC,CAAC,6BAAAi6E,CAA8Bn6D,GAAG,IAAIG,EAAEjgB,EAAEuB,EAAE,EAAE,IAAI,MAAMye,KAAKO,KAAK25D,4BAA4Bp6D,EAAEzgB,OAAO,CAAC,MAAM+B,EAAE24E,GAAG/5D,GAAG,GAAGF,EAAEwuB,QAAQ/sC,EAAEH,EAAE,GAAG0mB,EAAE9H,IAAI,GAAGC,EAAED,EAAEhgB,EAAEuB,EAAEue,EAAEwuB,SAAStuC,GAAGy5B,EAAExZ,GAAG,WAAWA,IAAIA,EAAED,EAAEhgB,EAAEuB,GAAG,GAAGA,GAAGH,EAAEG,EAAEue,EAAEwuB,OAAO,KAAK,CAAC,MAAM,CAACruB,EAAEjgB,EAAE,CAAC,kCAAA85E,CAAmCh6D,GAAG,KAAKA,GAAGA,IAAIS,KAAKI,SAAS,CAAC,GAAGsE,EAAEnF,GAAG,OAAOA,EAAEA,EAAEA,EAAEoD,UAAU,CAAC,CAAC,2BAAAg3D,CAA4Bp6D,GAAG,MAAMG,EAAE,GAAGjgB,EAAEg6B,EAAEzZ,KAAKI,QAAQ,CAACuiC,YAAYi3B,KAAK,IAAI54E,GAAE,EAAG,KAAKvB,EAAE25D,YAAY,CAAC,MAAMv4D,EAAEpB,EAAEo7D,YAAY,IAAIp7C,EAAE,GAAGsF,EAAElkB,IAAI,GAAG,MAAM4e,EAAEA,IAAIA,EAAE,EAAEA,IAAIF,EAAEve,GAAE,OAAQ,GAAGA,EAAE,WAAWA,GAAG0e,EAAElf,KAAKK,EAAE,CAAC,OAAO6e,CAAC,EAAE,MAAM85D,GAAG,SAASj6D,GAAG,OAAGA,EAAE2F,WAAWq9B,KAAKgB,UAAcrqB,EAAE3Z,GAAU,EAASA,EAAEwR,YAAY3zB,OAAa,OAAO8mB,EAAE3E,IAAImF,EAAEnF,GAAG,EAAE,CAAC,EAAEq6D,GAAG,SAASr6D,GAAG,OAAOs6D,GAAGt6D,KAAKsjC,WAAWssB,cAAchvE,GAAGof,GAAGsjC,WAAWqsB,aAAa,EAAE2K,GAAG,SAASt6D,GAAG,OAAOwE,EAAExE,GAAGsjC,WAAWqsB,cAAcrsB,WAAWssB,aAAa,EAAEhvE,GAAG,SAASof,GAAG,OAAOmF,EAAEnF,EAAEoD,YAAYkgC,WAAWqsB,cAAcrsB,WAAWssB,aAAa,EAAE,MAAM2K,GAAG,uBAAAC,CAAwBx6D,GAAG,IAAIG,GAAGxgB,EAAEO,EAAEojB,EAAE7hB,GAAGue,EAAE,GAAG3U,SAASovE,uBAAuB,CAAC,MAAMC,WAAW16D,EAAEwuB,OAAOtuB,GAAG7U,SAASovE,uBAAuBv6E,EAAEuB,GAAG,OAAO0e,EAAE9U,SAASsvE,cAAcx6D,EAAEy6D,SAAS56D,EAAEE,GAAGC,CAAC,CAAC,GAAG9U,SAASwvE,oBAAoB,OAAOxvE,SAASwvE,oBAAoB36E,EAAEuB,GAAG,GAAG4J,SAASO,KAAKi5B,gBAAgB,CAAC,MAAM7kB,EAAE0rC,KAAK,IAAI,MAAM1rC,EAAE3U,SAASO,KAAKi5B,kBAAkB7kB,EAAE86D,YAAY56E,EAAEuB,GAAGue,EAAEglB,QAAQ,CAAC,MAAMhlB,GAAG,CAAC,OAAOG,EAAEurC,KAAKG,GAAG7rC,GAAGG,CAAC,CAAC,CAAC,yBAAA46D,CAA0B/6D,GAAG,MAAMG,EAAEpiB,MAAMgE,KAAKie,EAAEg7D,kBAAkB,MAAM,CAAC76D,EAAE,GAAGA,EAAEA,EAAEtiB,OAAO,GAAG,EAAE,MAAMo9E,WAAW10D,EAAE,WAAA1kB,CAAYme,GAAGonC,SAASxpD,WAAW6iB,KAAKy6D,aAAaz6D,KAAKy6D,aAAa1yD,KAAK/H,MAAMA,KAAK6qC,mBAAmB7qC,KAAK6qC,mBAAmB9iC,KAAK/H,MAAMA,KAAKI,QAAQb,EAAES,KAAK06D,eAAe,IAAIrB,GAAGr5D,KAAKI,SAASJ,KAAK26D,YAAY,IAAIb,GAAG95D,KAAK46D,UAAU,EAAE3sE,EAAE,YAAY,CAAC6zC,UAAU9hC,KAAKI,QAAQ4hC,aAAahiC,KAAKy6D,cAAc,CAAC,gBAAAhI,GAAmB,IAAIlzD,EAAEpiB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAE,OAAM,IAAKoiB,EAAEmsB,OAAO1rB,KAAK+1D,gCAAgC9qB,MAAM1rC,EAAE41D,WAAWn1D,KAAK66D,qBAAqB76D,KAAK86D,oBAAoB96D,KAAK86D,oBAAoB96D,KAAK66D,oBAAoB,CAAC,gBAAAnF,CAAiBn2D,GAAG,GAAGS,KAAK86D,oBAAoB,OAAOv7D,EAAE2qC,GAAG3qC,GAAG,MAAMG,EAAEM,KAAK+6D,gCAAgCx7D,GAAGG,IAAI0rC,GAAG1rC,GAAGM,KAAKg7D,2BAA2Bz7D,GAAG,CAAC,8BAAA07D,CAA+B17D,GAAGA,EAAE2qC,GAAG3qC,GAAG,MAAMG,EAAEM,KAAKk7D,mBAAmB37D,EAAE,IAAI9f,EAAEugB,KAAKk7D,mBAAmB37D,EAAE,IAAIS,KAAK01D,iBAAiB,CAACh2D,EAAEjgB,GAAG,CAAC,4BAAAu5E,CAA6Bz5D,GAAG,MAAMG,EAAEM,KAAK+6D,gCAAgCx7D,GAAG,GAAGG,EAAE,OAAOM,KAAKs6D,0BAA0B56D,GAAG,EAAE,CAAC,sBAAAg3D,CAAuBn3D,GAAG,MAAMG,EAAEpiB,MAAMgE,KAAK0e,KAAK05D,8BAA8Bn6D,IAAI,GAAG,OAAO2Z,EAAExZ,EAAE,CAAC,IAAAy7D,GAAO,GAAGn7D,KAAK46D,cAAc56D,KAAKg7D,6BAA6Bh7D,KAAK86D,oBAAoB96D,KAAKyyD,mBAAmB,CAAC,MAAA2I,GAAS,GAAG,KAAKp7D,KAAK46D,UAAU,CAAC,MAAME,oBAAoBv7D,GAAGS,KAAK,GAAGA,KAAK86D,oBAAoB,KAAK,MAAMv7D,EAAE,OAAOS,KAAK01D,iBAAiBn2D,EAAE,CAAC,CAAC,cAAA87D,GAAiB,IAAI97D,EAAE,OAAO,QAAQA,EAAEwrC,YAAO,IAASxrC,OAAE,EAAOA,EAAE8rC,iBAAiB,CAAC,oBAAAiwB,GAAuB,IAAI/7D,EAAE,OAAM,KAAM,QAAQA,EAAE0rC,YAAO,IAAS1rC,OAAE,EAAOA,EAAEg8D,UAAU,CAAC,mBAAAC,GAAsB,OAAOx7D,KAAKs7D,sBAAsB,CAAC,+BAAAvF,CAAgCx2D,EAAEG,GAAG,GAAG,MAAMH,IAAIS,KAAKy7D,sBAAsBl8D,GAAG,OAAO,MAAM9f,EAAEugB,KAAKs5D,mCAAmC/5D,EAAEisC,eAAejsC,EAAEm8D,YAAYh8D,GAAG,IAAIjgB,EAAE,OAAO,MAAMuB,EAAEue,EAAEg8D,eAAU,EAAOv7D,KAAKs5D,mCAAmC/5D,EAAEksC,aAAalsC,EAAEo8D,UAAUj8D,GAAG,OAAOwqC,GAAG,CAACzqD,EAAEuB,GAAG,CAAC,YAAAy5E,GAAe,OAAOz6D,KAAK47D,kBAAkB,CAAC,gBAAAA,GAAmB,IAAIr8D,EAAES,KAAK67D,QAAO,EAAG,MAAMn8D,EAAE,KAAK,GAAGM,KAAK67D,QAAO,EAAGr+E,aAAaiC,GAAGnC,MAAMgE,KAAKie,GAAG/b,SAAS+b,IAAIA,EAAE8T,SAAU,IAAGjP,EAAExZ,SAASoV,KAAKI,SAAS,OAAOJ,KAAK6qC,oBAAmB,EAAGprD,EAAEhC,WAAWiiB,EAAE,KAAKH,EAAE,CAAC,YAAY,WAAW5a,KAAK4a,GAAGtR,EAAEsR,EAAE,CAACuiC,UAAUl3C,SAASo3C,aAAatiC,KAAK,CAAC,kBAAAmrC,GAAqB,IAAI7qC,KAAK67D,SAAS38E,EAAE8gB,KAAKI,SAAS,OAAOJ,KAAKg7D,4BAA4B,CAAC,0BAAAA,CAA2Bz7D,GAAG,IAAIG,EAAEjgB,EAAE,IAAI,MAAM8f,EAAEA,EAAEA,EAAES,KAAK+1D,gCAAgC9qB,SAASX,GAAG/qC,EAAES,KAAK66D,sBAAsB,OAAO76D,KAAK66D,qBAAqBt7D,EAAE,QAAQG,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAG,QAAQjgB,EAAEigB,EAAEo8D,8BAAyB,IAASr8E,OAAE,EAAOA,EAAEY,KAAKqf,EAAEM,KAAK66D,qBAAqB15E,MAAM,GAAG,CAAC,+BAAA45E,CAAgCx7D,GAAG,MAAMG,EAAEM,KAAKy5D,mCAAmCl6D,EAAE,IAAI9f,EAAE2qD,GAAG7qC,GAAGG,EAAEM,KAAKy5D,mCAAmCl6D,EAAE,KAAKG,EAAE,GAAG,MAAMA,GAAG,MAAMjgB,EAAE,CAAC,MAAM8f,EAAE3U,SAASsvE,cAAc,OAAO36D,EAAE46D,YAAY78E,MAAMgE,KAAKoe,GAAG,KAAKH,EAAEw8D,UAAUz+E,MAAMgE,KAAK7B,GAAG,KAAK8f,CAAC,CAAC,CAAC,kBAAA27D,CAAmB37D,GAAG,MAAMG,EAAEM,KAAK+5D,wBAAwBx6D,GAAG,IAAI9f,EAAE,GAAGigB,EAAE,OAAO,QAAQjgB,EAAEugB,KAAK+1D,gCAAgCr2D,UAAK,IAASjgB,OAAE,EAAOA,EAAE,EAAE,CAAC,qBAAAg8E,CAAsBl8D,GAAG,OAAOA,EAAEg8D,UAAUn3D,EAAEpE,KAAKI,QAAQb,EAAEisC,gBAAgBpnC,EAAEpE,KAAKI,QAAQb,EAAEisC,iBAAiBpnC,EAAEpE,KAAKI,QAAQb,EAAEksC,aAAa,EAAE+uB,GAAGv0B,YAAY,qDAAqDu0B,GAAGv0B,YAAY,qDAAqDu0B,GAAGv0B,YAAY,gDAAgDu0B,GAAGv0B,YAAY,uCAAuCu0B,GAAGv0B,YAAY,yCAAyC,IAAI+1B,GAAGh+E,OAAO6mD,OAAO,CAACC,UAAU,KAAKm3B,WAAWpa,GAAGqa,kBAAkBpM,GAAGqM,gBAAgBhZ,GAAGiZ,MAAM9U,GAAG+U,YAAYpL,GAAGqL,SAAS1oD,GAAG2oD,OAAO/D,GAAGgE,WAAWnQ,GAAGoQ,cAAcriB,GAAGsiB,mBAAmBtM,GAAGuM,eAAetD,GAAGuD,kBAAkBjN,GAAGkN,MAAMx+E,GAAGy+E,YAAYhD,GAAGiD,iBAAiBvC,GAAGwC,eAAerZ,GAAGsZ,YAAYzZ,GAAG0Z,KAAK9X,GAAG+X,YAAY7F,KAAK8F,GAAGp/E,OAAO6mD,OAAO,CAACC,UAAU,KAAKu4B,WAAWjvB,GAAGkvB,eAAejiB,GAAGkiB,UAAU3e,GAAG4e,aAAate,GAAGue,UAAU7f,GAAG8f,0BAA0BtgB,GAAGugB,SAASnf,KAAK,MAAM1Y,KAAK83B,GAAG14B,IAAI24B,GAAGh4B,SAASi4B,IAAIl3D,EAAEm3D,GAAG,SAASx+D,GAAG,OAAO,WAAW,MAAMG,EAAEH,EAAE7hB,MAAMsiB,KAAK7iB,WAAWuiB,EAAEs+D,KAAKh+D,KAAKi+D,QAAQj+D,KAAKi+D,MAAM,IAAIj+D,KAAKi+D,MAAMz9E,KAAKkf,EAAE2hC,KAAK,CAAC,EAAE,MAAM68B,WAAWp4D,EAAE,WAAA1kB,CAAYme,EAAEG,EAAEjgB,GAAG,IAAIuB,EAAE7D,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAEwpD,SAASxpD,WAAW+iE,GAAGlgD,KAAK,qBAAqB+9D,IAAG,KAAK,CAAEC,GAAG,KAAKh+D,KAAKI,QAAQuX,QAAQwkC,aAAY,CAAC,EAAG9a,KAAK,WAAWrhC,KAAKI,QAAQuX,QAAQwkC,iBAAiB+D,GAAGlgD,KAAK,aAAa+9D,IAAG,KAAM,MAAMx+D,EAAE4F,EAAE,CAACtD,QAAQ,MAAM6P,UAAUmsD,GAAGn4B,kBAAkBz+B,KAAK,CAACk1C,aAAY,GAAIj1C,WAAW/B,EAAE,CAACtD,QAAQ,MAAM6P,UAAU,kBAAkBxK,WAAW/B,EAAE,CAACtD,QAAQ,OAAO6P,UAAU,+CAA+CxK,WAAW/B,EAAE,CAACtD,QAAQ,SAAS6P,UAAU,kCAAkCX,YAAY6sD,GAAGtrD,OAAOnL,WAAW,CAACwJ,MAAMitD,GAAGtrD,QAAQrL,KAAK,CAACk3D,WAAW,kBAAkB,OAAOn+D,KAAKkW,WAAWgoC,iBAAiB3+C,EAAEnU,YAAY+Z,EAAE,CAACtD,QAAQ,MAAM6P,UAAUmsD,GAAGv4B,4BAA4Bp+B,WAAW/B,EAAE,CAACtD,QAAQ,OAAO6P,UAAUmsD,GAAGx4B,mBAAmBn+B,WAAW,CAAC/B,EAAE,CAACtD,QAAQ,OAAO6P,UAAUmsD,GAAGt4B,eAAex0B,YAAY/Q,KAAKkW,WAAWqmC,cAAcp1C,WAAW,CAACwJ,MAAM3Q,KAAKkW,WAAWqmC,iBAAiBp3C,EAAE,CAACtD,QAAQ,OAAO6P,UAAUmsD,GAAGp4B,eAAe10B,YAAY/Q,KAAKkW,WAAWsmC,+BAA+BvuD,EAAE,QAAQ,CAAC6zC,UAAUviC,EAAEyiC,aAAahiC,KAAKo+D,kBAAkBnwE,EAAE,QAAQ,CAAC6zC,UAAUviC,EAAEwiC,iBAAiB,qBAAqBC,aAAahiC,KAAKq+D,uBAAuB37D,EAAE,iCAAiC,CAACo/B,UAAU9hC,KAAKI,QAAQ+G,WAAW,CAAC6+B,QAAQzmC,EAAE2W,WAAWlW,KAAKkW,cAAc,CAAC8nD,GAAG,IAAIh+D,KAAKI,QAAQhV,YAAYmU,GAAG8hC,KAAK,IAAI18B,EAAEpF,GAAI,KAAI2gD,GAAGlgD,KAAK,uBAAuB+9D,IAAG,KAAM,MAAMx+D,EAAE4F,EAAE,CAACtD,QAAQ,WAAW6P,UAAUmsD,GAAGz4B,wBAAwBj+B,WAAW,CAACpY,YAAY6uE,GAAG/8B,oBAAoB55B,KAAK,CAACk1C,aAAY,KAAM58C,EAAE9e,MAAMuf,KAAKu7C,gBAAgBc,aAAa,MAAM38C,EAAEH,EAAEgoB,YAAY7nB,EAAE4R,UAAU/jB,IAAI,yBAAyBmS,EAAE81B,UAAU,EAAE,MAAM/1C,EAAE,WAAWigB,EAAEjf,MAAM8e,EAAE9e,MAAM8e,EAAEsB,MAAM6L,OAAOhN,EAAE4+D,aAAa,IAAI,EAAErwE,EAAE,QAAQ,CAAC6zC,UAAUviC,EAAEyiC,aAAaviD,IAAIwO,EAAE,QAAQ,CAAC6zC,UAAUviC,EAAEyiC,aAAahiC,KAAKu+D,kBAAkBtwE,EAAE,UAAU,CAAC6zC,UAAUviC,EAAEyiC,aAAahiC,KAAKw+D,oBAAoBvwE,EAAE,SAAS,CAAC6zC,UAAUviC,EAAEyiC,aAAahiC,KAAKy+D,mBAAmBxwE,EAAE,OAAO,CAAC6zC,UAAUviC,EAAEyiC,aAAahiC,KAAK0+D,iBAAiB,MAAM19E,EAAEgf,KAAKI,QAAQhB,cAAc,cAAcK,EAAEze,EAAEumC,YAAY,MAAM,CAACy2C,GAAG,KAAK,GAAGh9E,EAAE6f,MAAMksD,QAAQ,OAAOttD,EAAErU,YAAYmU,GAAGE,EAAErU,YAAYsU,GAAGD,EAAE6R,UAAU/jB,IAAI,GAAGxH,OAAO83E,GAAG14B,kBAAkB,cAAcnkD,EAAE8sE,cAAc7oD,aAAaxF,EAAEze,GAAGvB,IAAIugB,KAAK5W,QAAQu1E,YAAY,OAAO50B,IAAG,IAAKxqC,EAAElN,SAAQ,EAAG,IAAAgvC,GAAO18B,EAAElF,GAAGze,EAAE6f,MAAMksD,QAAQ,IAAI,EAAG,KAAI/sD,KAAKo+D,gBAAgBp+D,KAAKo+D,gBAAgBr2D,KAAK/H,MAAMA,KAAKq+D,qBAAqBr+D,KAAKq+D,qBAAqBt2D,KAAK/H,MAAMA,KAAKw+D,kBAAkBx+D,KAAKw+D,kBAAkBz2D,KAAK/H,MAAMA,KAAKu+D,gBAAgBv+D,KAAKu+D,gBAAgBx2D,KAAK/H,MAAMA,KAAKy+D,iBAAiBz+D,KAAKy+D,iBAAiB12D,KAAK/H,MAAMA,KAAK0+D,eAAe1+D,KAAK0+D,eAAe32D,KAAK/H,MAAMA,KAAKu7C,gBAAgBh8C,EAAES,KAAKI,QAAQV,EAAEM,KAAK7M,UAAU1T,EAAEugB,KAAK5W,QAAQpI,EAAEgf,KAAKkW,WAAWlW,KAAKu7C,gBAAgBrlC,WAAW,MAAMhS,EAAElE,KAAKI,WAAWJ,KAAKI,QAAQJ,KAAKI,QAAQoH,YAAYxH,KAAK4+D,SAAS,CAAC,OAAAA,GAAU5+D,KAAK6+D,qBAAqB7+D,KAAK8+D,aAAa9+D,KAAKkW,WAAWgoC,iBAAiBl+C,KAAK++D,sBAAsB,CAAC,SAAAC,GAAY,IAAIz/D,EAAE,IAAIG,EAAEM,KAAKi+D,MAAMhhC,MAAM,IAAIj9B,KAAKi/D,qBAAqBv/D,GAAGA,IAAIA,EAAEM,KAAKi+D,MAAMhhC,MAAM,QAAQ19B,EAAES,KAAKqiD,gBAAW,IAAS9iD,GAAGA,EAAE2/D,6BAA6Bl/D,KAAK,CAAC,kBAAAi/D,GAAqB,GAAG,MAAMj/D,KAAKm/D,eAAe,CAAC,MAAM1/D,EAAEO,KAAKm/D,eAAe,IAAI5/D,EAAEG,EAAEjgB,EAAEuB,EAAKgf,KAAKm/D,eAAe,KAAK1/D,EAAE,QAAQF,EAAES,KAAKqiD,gBAAW,IAAS9iD,GAAG,QAAQG,EAAEH,EAAE6/D,iEAA4D,IAAS1/D,GAAGA,EAAErf,KAAKkf,EAAE,CAACu/B,QAAQr/B,GAAGO,KAAKkW,YAAiB,QAAQz2B,EAAEugB,KAAKqiD,gBAAW,IAAS5iE,GAAG,QAAQuB,EAAEvB,EAAE4/E,gEAA2D,IAASr+E,GAAGA,EAAEX,KAAKZ,EAAE,UAAUugB,KAAKkW,WAAW,CAAC,CAAC,eAAAkoD,CAAgB7+D,GAAG,OAAOA,EAAEtF,iBAAiBsF,EAAEkR,iBAAiB,CAAC,oBAAA4tD,CAAqB9+D,GAAG,IAAIG,EAAE,GAAG,WAAWH,EAAE/c,OAAOgiD,aAAa,oBAAoB,OAAO,QAAQ9kC,EAAEM,KAAKqiD,gBAAW,IAAS3iD,OAAE,EAAOA,EAAE4/D,8CAA8Ct/D,KAAKkW,WAAW,CAAC,iBAAAsoD,CAAkBj/D,GAAG,IAAIG,EAAEjgB,EAAE,GAAG,WAAWq+E,GAAGv+D,EAAEsoB,SAAS,OAAOtoB,EAAEtF,iBAAiB+F,KAAKi/D,qBAAqB,QAAQv/D,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAG,QAAQjgB,EAAEigB,EAAE6/D,uDAAkD,IAAS9/E,OAAE,EAAOA,EAAEY,KAAKqf,EAAEM,KAAKkW,WAAW,CAAC,eAAAqoD,CAAgBh/D,GAAGS,KAAKm/D,eAAe5/D,EAAE/c,OAAO/B,MAAM0X,QAAQ,MAAM,KAAKqwC,MAAM,CAAC,gBAAAi2B,CAAiBl/D,GAAG,OAAOS,KAAKi/D,oBAAoB,CAAC,cAAAP,CAAen/D,GAAG,OAAOS,KAAKi/D,oBAAoB,EAAE,MAAMO,WAAW15D,EAAE,WAAA1kB,CAAYme,EAAE9f,GAAGknD,SAASxpD,WAAW6iB,KAAKy/D,SAASz/D,KAAKy/D,SAAS13D,KAAK/H,MAAMA,KAAK0/D,QAAQ1/D,KAAK0/D,QAAQ33D,KAAK/H,MAAMA,KAAK2/D,mBAAmB3/D,KAAK2/D,mBAAmB53D,KAAK/H,MAAMA,KAAKI,QAAQb,EAAES,KAAKqwD,YAAY5wE,EAAEugB,KAAK4/D,aAAa,IAAI1gB,GAAGl/C,KAAKqwD,YAAYzlE,SAAS,CAACwV,QAAQJ,KAAKI,UAAUnS,EAAE,QAAQ,CAAC6zC,UAAU9hC,KAAKI,QAAQ4hC,aAAahiC,KAAKy/D,WAAWxxE,EAAE,OAAO,CAAC6zC,UAAU9hC,KAAKI,QAAQ4hC,aAAahiC,KAAK0/D,UAAUzxE,EAAE,QAAQ,CAAC6zC,UAAU9hC,KAAKI,QAAQ2hC,iBAAiB,2BAA2B9nC,gBAAe,IAAKhM,EAAE,YAAY,CAAC6zC,UAAU9hC,KAAKI,QAAQ2hC,iBAAiBriC,EAAEsiC,aAAahiC,KAAK2/D,qBAAqB1xE,EAAE,QAAQ,CAAC6zC,UAAU9hC,KAAKI,QAAQ2hC,iBAAiB,IAAIh8C,OAAO2Z,GAAGzF,gBAAe,GAAI,CAAC,QAAAwlE,CAASlgE,GAAG,IAAIG,EAAE,MAAMjgB,EAAE,KAAK,IAAI8f,EAAEG,EAAE,IAAIM,KAAK6/D,QAAQ,OAAO7/D,KAAK6/D,SAAQ,EAAG,QAAQtgE,EAAES,KAAKqiD,gBAAW,IAAS9iD,GAAG,QAAQG,EAAEH,EAAEugE,qCAAgC,IAASpgE,OAAE,EAAOA,EAAErf,KAAKkf,EAAC,EAAG,OAAO,QAAQG,EAAEM,KAAK+/D,mBAAc,IAASrgE,OAAE,EAAOA,EAAEhP,KAAKjR,KAAKA,GAAG,CAAC,OAAAigF,CAAQngE,GAAGS,KAAK+/D,YAAY,IAAI3vE,SAASmP,GAAGwqC,IAAG,KAAM,IAAIrqC,EAAEjgB,EAA8I,OAA5IP,EAAE8gB,KAAKI,WAAWJ,KAAK6/D,QAAQ,KAAK,QAAQngE,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAG,QAAQjgB,EAAEigB,EAAEsgE,oCAA+B,IAASvgF,GAAGA,EAAEY,KAAKqf,IAAWM,KAAK+/D,YAAY,KAAKxgE,GAAI,KAAI,CAAC,kBAAAogE,CAAmBpgE,EAAEG,GAAG,IAAIjgB,EAAEuB,EAAE,MAAMye,EAAEO,KAAKigE,yBAAyBvgE,GAAG7e,IAAIgiB,EAAEtD,EAAE/c,OAAO,CAACu/C,iBAAiB,eAAe,OAAO,QAAQtiD,EAAEugB,KAAKqiD,gBAAW,IAAS5iE,GAAG,QAAQuB,EAAEvB,EAAEygF,gDAA2C,IAASl/E,OAAE,EAAOA,EAAEX,KAAKZ,EAAEggB,EAAE,CAACk/D,YAAY99E,GAAG,CAAC,sBAAAs/E,GAAyB,OAAOngE,KAAKogE,sBAAsBpgE,KAAK4/D,aAAatgB,cAAct/C,KAAKI,OAAO,CAAC,MAAAyF,GAAS,IAAItG,EAAEG,EAAEjgB,EAAEuB,EAAEye,EAAE5e,EAA0e,OAAvemf,KAAKmxD,WAAWnxD,KAAKqwD,YAAYc,WAAWnxD,KAAK4/D,aAAavgB,YAAYr/C,KAAKqwD,YAAYzlE,UAAUoV,KAAK4/D,aAAa/5D,SAAS7F,KAAKmxD,SAASnxD,KAAKqwD,YAAYc,UAAUnxD,KAAKqgE,wBAAwBrgE,KAAK4/D,aAAargB,aAAc,QAAQ9/D,EAAEugB,KAAKqiD,gBAAW,IAAS5iE,GAAG,QAAQuB,EAAEvB,EAAE6gF,iDAA4C,IAASt/E,GAAGA,EAAEX,KAAKZ,GAAGugB,KAAK4/D,aAAazgB,OAAO,QAAQ1/C,EAAEO,KAAKqiD,gBAAW,IAAS5iD,GAAG,QAAQ5e,EAAE4e,EAAE8gE,gDAA2C,IAAS1/E,GAAGA,EAAER,KAAKof,IAAW,QAAQF,EAAES,KAAKqiD,gBAAW,IAAS9iD,GAAG,QAAQG,EAAEH,EAAEihE,sCAAiC,IAAS9gE,OAAE,EAAOA,EAAErf,KAAKkf,EAAE,CAAC,qBAAAkhE,CAAsBlhE,GAAG,OAAOS,KAAK4uC,wBAAwBrvC,GAAGS,KAAK6F,QAAQ,CAAC,uBAAA+oC,CAAwBrvC,GAAG,OAAOS,KAAK4/D,aAAahxB,wBAAwBrvC,EAAE,CAAC,oBAAAkwC,GAAuB,OAAOzvC,KAAK4/D,aAAanwB,sBAAsB,CAAC,iBAAAG,GAAoB,OAAO5vC,KAAK4/D,aAAahwB,mBAAmB,CAAC,kBAAAC,GAAqB,OAAO7vC,KAAK4/D,aAAa/vB,oBAAoB,CAAC,gBAAA6wB,GAAmB,OAAO1gE,KAAK4/D,aAAa9vB,2BAA2B,CAAC,mBAAAswB,GAAsB,QAAQpgE,KAAK2gE,gBAAgB,CAAC,oCAAAC,CAAqCrhE,EAAEG,GAAG,IAAIjgB,EAAE,IAAI,QAAQA,EAAEugB,KAAK2gE,wBAAmB,IAASlhF,OAAE,EAAOA,EAAEy2B,cAAc3W,EAAE,OAAO,MAAMve,EAAEgf,KAAK4/D,aAAarwB,qBAAqBhwC,GAAG,IAAIve,EAAE,OAAOgf,KAAK6gE,4BAA4B,MAAMphE,EAAEO,KAAKqwD,YAAYzlE,SAAS+gE,gCAAgCpsD,GAAGS,KAAK2gE,iBAAiB,IAAIzC,GAAGz+D,EAAEze,EAAEgf,KAAKI,QAAQV,GAAGM,KAAK2gE,iBAAiBte,SAASriD,IAAI,CAAC,yBAAA6gE,GAA4B,IAAIthE,EAAE,OAAO,QAAQA,EAAES,KAAK2gE,wBAAmB,IAASphE,OAAE,EAAOA,EAAEy/D,WAAW,CAAC,4BAAAE,GAA+B,OAAOl/D,KAAK2gE,iBAAiB,KAAK3gE,KAAK6F,QAAQ,CAAC,yDAAAu5D,CAA0D7/D,EAAEG,GAAG,IAAIjgB,EAAEuB,EAAE,OAAO,QAAQvB,EAAEugB,KAAKqiD,gBAAW,IAAS5iE,GAAG,QAAQuB,EAAEvB,EAAEqhF,iDAA4C,IAAS9/E,GAAGA,EAAEX,KAAKZ,EAAEigB,GAAGM,KAAKqwD,YAAYpJ,8BAA8B1nD,EAAEG,EAAE,CAAC,wDAAA2/D,CAAyD9/D,EAAEG,GAAG,IAAIjgB,EAAEuB,EAAE,OAAO,QAAQvB,EAAEugB,KAAKqiD,gBAAW,IAAS5iE,GAAG,QAAQuB,EAAEvB,EAAEqhF,iDAA4C,IAAS9/E,GAAGA,EAAEX,KAAKZ,EAAEigB,GAAGM,KAAKqwD,YAAY9F,6BAA6BhrD,EAAEG,EAAE,CAAC,6CAAA4/D,CAA8C//D,GAAG,IAAIG,EAAEjgB,EAAE,OAAO,QAAQigB,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAG,QAAQjgB,EAAEigB,EAAEqhE,0DAAqD,IAASthF,OAAE,EAAOA,EAAEY,KAAKqf,EAAEH,EAAE,CAAC,+CAAAggE,CAAgDhgE,GAAG,IAAIG,EAAEjgB,EAAE,OAAO,QAAQigB,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAG,QAAQjgB,EAAEigB,EAAEshE,4DAAuD,IAASvhF,OAAE,EAAOA,EAAEY,KAAKqf,EAAEH,EAAE,CAAC,mBAAA8gE,GAAsB,OAAOrgE,KAAKogE,qBAAqB,CAAC,wBAAAH,CAAyB1gE,GAAG,OAAOS,KAAKqwD,YAAYzlE,SAASm8D,kBAAkB5yC,SAAS5U,EAAEoY,QAAQmlC,OAAO,IAAI,EAAE,MAAMmkB,WAAWn7D,GAAG,MAAMo7D,GAAG,oBAAoBC,GAAG,IAAIp7E,OAAOm7E,GAAG,KAAKE,GAAG,CAACj6D,YAAW,EAAGk6D,WAAU,EAAGC,eAAc,EAAGC,uBAAsB,EAAGC,SAAQ,GAAI,MAAMC,WAAW37D,EAAE,WAAA1kB,CAAYme,GAAGonC,MAAMpnC,GAAGS,KAAK0hE,UAAU1hE,KAAK0hE,UAAU35D,KAAK/H,MAAMA,KAAKI,QAAQb,EAAES,KAAK2hE,SAAS,IAAIv3E,OAAOw3E,iBAAiB5hE,KAAK0hE,WAAW1hE,KAAKuW,OAAO,CAAC,KAAAA,GAAQ,OAAOvW,KAAKi+B,QAAQj+B,KAAK2hE,SAASE,QAAQ7hE,KAAKI,QAAQghE,GAAG,CAAC,IAAAljC,GAAO,OAAOl+B,KAAK2hE,SAASG,YAAY,CAAC,SAAAJ,CAAUniE,GAAG,IAAIG,EAAEjgB,EAAE,GAAGugB,KAAK+hE,UAAUvhF,QAAQlD,MAAMgE,KAAK0e,KAAKgiE,yBAAyBziE,IAAI,KAAKS,KAAK+hE,UAAU3kF,OAAO,OAAO,QAAQsiB,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAG,QAAQjgB,EAAEigB,EAAEuiE,wBAAmB,IAASxiF,GAAGA,EAAEY,KAAKqf,EAAEM,KAAKkiE,sBAAsBliE,KAAKi+B,OAAO,CAAC,KAAAA,GAAQj+B,KAAK+hE,UAAU,EAAE,CAAC,wBAAAC,CAAyBziE,GAAG,OAAOA,EAAEpc,QAAQoc,GAAGS,KAAKmiE,sBAAsB5iE,IAAI,CAAC,qBAAA4iE,CAAsB5iE,GAAG,GAAGS,KAAKoiE,cAAc7iE,EAAE/c,QAAQ,OAAM,EAAG,IAAI,MAAMkd,KAAKpiB,MAAMgE,KAAK0e,KAAKqiE,wBAAwB9iE,IAAI,GAAGS,KAAKsiE,kBAAkB5iE,GAAG,OAAM,EAAG,OAAM,CAAE,CAAC,iBAAA4iE,CAAkB/iE,GAAG,OAAOA,IAAIS,KAAKI,UAAUJ,KAAKoiE,cAAc7iE,KAAKwE,EAAExE,EAAE,CAAC,aAAA6iE,CAAc7iE,GAAG,OAAOsD,EAAEtD,EAAE,CAACwiC,iBAAiBo/B,IAAI,CAAC,uBAAAkB,CAAwB9iE,GAAG,MAAMG,EAAE,GAAG,OAAOH,EAAElS,MAAM,IAAI,aAAakS,EAAEgjE,gBAAgBrB,IAAIxhE,EAAElf,KAAK+e,EAAE/c,QAAQ,MAAM,IAAI,gBAAgBkd,EAAElf,KAAK+e,EAAE/c,OAAOmgB,YAAYjD,EAAElf,KAAK+e,EAAE/c,QAAQ,MAAM,IAAI,YAAYkd,EAAElf,QAAQlD,MAAMgE,KAAKie,EAAEijE,YAAY,KAAK9iE,EAAElf,QAAQlD,MAAMgE,KAAKie,EAAEkjE,cAAc,KAAK,OAAO/iE,CAAC,CAAC,kBAAAwiE,GAAqB,OAAOliE,KAAK0iE,wBAAwB,CAAC,sBAAAA,GAAyB,MAAMC,UAAUpjE,EAAEqjE,UAAUljE,GAAGM,KAAK6iE,kCAAkCpjF,EAAEugB,KAAK8iE,8BAA8BxlF,MAAMgE,KAAK7B,EAAEkjF,WAAWn/E,SAASkc,IAAIpiB,MAAMgE,KAAKie,GAAG1O,SAAS6O,IAAIH,EAAE/e,KAAKkf,EAAG,IAAGA,EAAElf,QAAQlD,MAAMgE,KAAK7B,EAAEmjF,WAAW,KAAK,MAAM5hF,EAAE,CAAC,EAAEye,EAAEF,EAAErH,KAAK,IAAIuH,IAAIze,EAAE+hF,UAAUtjE,GAAG,MAAM5e,EAAE6e,EAAExH,KAAK,IAAI,OAAOrX,IAAIG,EAAEgiF,YAAYniF,GAAGG,CAAC,CAAC,kBAAAiiF,CAAmB1jE,GAAG,OAAOjiB,MAAMgE,KAAK0e,KAAK+hE,WAAW5+E,QAAQuc,GAAGA,EAAErS,OAAOkS,GAAG,CAAC,2BAAAujE,GAA8B,IAAIvjE,EAAEG,EAAE,MAAMjgB,EAAE,GAAGuB,EAAE,GAAG1D,MAAMgE,KAAK0e,KAAKijE,mBAAmB,cAAcz/E,SAAS+b,IAAI9f,EAAEe,QAAQlD,MAAMgE,KAAKie,EAAEijE,YAAY,KAAKxhF,EAAER,QAAQlD,MAAMgE,KAAKie,EAAEkjE,cAAc,IAAK,IAAG,IAAIhjF,EAAErC,QAAQ,IAAI4D,EAAE5D,QAAQ2nB,EAAE/jB,EAAE,KAAKue,EAAE,GAAGG,EAAE,CAAC,QAAQH,EAAE2jE,GAAGzjF,GAAGigB,EAAEwjE,GAAGliF,IAAI,MAAMye,EAAEF,EAAEpc,QAAO,CAAEoc,EAAE9f,IAAI8f,IAAIG,EAAEjgB,KAAKkF,IAAIgnD,IAAI9qD,EAAE6e,EAAEvc,QAAO,CAAEuc,EAAEjgB,IAAIigB,IAAIH,EAAE9f,KAAKkF,IAAIgnD,IAAI,MAAM,CAACg3B,UAAUljE,EAAEmjE,UAAU/hF,EAAE,CAAC,+BAAAgiF,GAAkC,IAAItjE,EAAEG,EAAE,MAAMjgB,EAAEugB,KAAKijE,mBAAmB,iBAAiB,GAAGxjF,EAAErC,OAAO,CAAC,MAAM4D,EAAEvB,EAAE,GAAGggB,EAAEhgB,EAAEA,EAAErC,OAAO,GAAGyD,EAAE,SAAS0e,EAAEG,GAAG,IAAIjgB,EAAEuB,EAAE,OAAOue,EAAEoZ,EAAE2tB,IAAI/mC,IAAIG,EAAEiZ,EAAE2tB,IAAI5mC,IAAItiB,OAAOmiB,EAAEniB,QAAQ4D,EAAEvB,GAAGqsD,GAAGvsC,EAAEG,IAAIjgB,EAAEuB,GAAG8qD,GAAGpsC,EAAEH,GAAG,CAACq3D,MAAMn3E,EAAEy0D,QAAQlzD,EAAE,CAApH,CAAsH2qD,GAAG3qD,EAAEogB,UAAUuqC,GAAGlsC,EAAEjd,OAAOykB,OAAO1H,EAAE1e,EAAE+1E,MAAMl3D,EAAE7e,EAAEqzD,OAAO,CAAC,MAAM,CAACyuB,UAAUpjE,EAAE,CAACA,GAAG,GAAGqjE,UAAUljE,EAAE,CAACA,GAAG,GAAG,EAAE,MAAMwjE,GAAG,WAAW,IAAI3jE,EAAEpiB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,MAAMuiB,EAAE,GAAG,IAAI,MAAMjgB,KAAKnC,MAAMgE,KAAKie,GAAG,OAAO9f,EAAEylB,UAAU,KAAKq9B,KAAKgB,UAAU7jC,EAAElf,KAAKf,EAAEwnB,MAAM,MAAM,KAAKs7B,KAAKC,aAAa,OAAOt+B,EAAEzkB,GAAGigB,EAAElf,KAAK,MAAMkf,EAAElf,QAAQlD,MAAMgE,KAAK4hF,GAAGzjF,EAAEynB,aAAa,KAAK,OAAOxH,CAAC,EAAE,MAAMyjE,WAAW11B,GAAG,WAAArsD,CAAYme,GAAGonC,SAASxpD,WAAW6iB,KAAKqW,KAAK9W,CAAC,CAAC,OAAA2uC,CAAQ3uC,GAAG,MAAMG,EAAE,IAAIowB,WAAW,OAAOpwB,EAAE1U,QAAQ,IAAIuU,GAAE,GAAIG,EAAEixB,OAAO,KAAKjxB,EAAE1U,QAAQ,KAAK,IAAI0U,EAAEo0B,OAAO,CAAC,MAAMv0B,GAAG,CAAC,OAAOA,GAAE,EAAGS,KAAKqW,KAAI,EAAG3W,EAAEuxB,kBAAkBjxB,KAAKqW,KAAK,EAAE,MAAM+sD,GAAG,WAAAhiF,CAAYme,GAAGS,KAAKI,QAAQb,CAAC,CAAC,YAAA8jE,CAAa9jE,GAAG,QAAQvR,EAAEiyC,iBAAiBjgC,KAAKsjE,cAActjE,KAAK/W,MAAM+W,KAAK/W,MAAMsW,EAAES,KAAKujE,qCAAqCvjE,KAAKwjE,mCAAmCxjE,KAAKyjE,UAAU,CAAC,kCAAAF,GAAqCvjE,KAAK0jE,0CAA0CC,GAAG3jE,KAAKI,QAAQwjE,UAAU5jE,KAAK/W,MAAMge,QAAQjH,KAAKyjE,WAAU,EAAGzjE,KAAK/W,MAAMgR,iBAAiB,CAAC,gCAAAupE,GAAmCxjE,KAAKyjE,WAAW,eAAezjE,KAAK/W,MAAM6+B,YAAY9nB,KAAKyjE,WAAU,EAAG,CAAC,sCAAAC,GAAyC,IAAInkE,EAAE,OAAOS,KAAK6jE,2BAA2B7jE,KAAK8jE,wCAAwC,QAAQvkE,EAAES,KAAK/W,MAAMge,YAAO,IAAS1H,OAAE,EAAOA,EAAEniB,QAAQ,EAAE,CAAC,uBAAAymF,GAA0B,MAAM,gBAAgB7jE,KAAK/W,MAAMoE,MAAM,eAAe2S,KAAK/W,MAAM6+B,SAAS,CAAC,mCAAAg8C,GAAsC,IAAIvkE,EAAEG,EAAE,MAAM,aAAa,QAAQH,EAAES,KAAKsjE,qBAAgB,IAAS/jE,OAAE,EAAOA,EAAElS,OAAO,kBAAkB,QAAQqS,EAAEM,KAAKsjE,qBAAgB,IAAS5jE,OAAE,EAAOA,EAAEnhB,IAAI,EAAE,MAAMolF,GAAG,CAACpkE,EAAEG,IAAIqkE,GAAGxkE,KAAKwkE,GAAGrkE,GAAGskE,GAAG,IAAI36D,OAAO,IAAItjB,OAAO,SAAI,KAAKA,OAAOgd,EAAE,KAAKhd,OAAO4d,EAAE,UAAU,KAAKogE,GAAGxkE,GAAGA,EAAEpH,QAAQ6rE,GAAG,KAAKx7B,OAAO,MAAMy7B,WAAWn+D,EAAE,WAAA1kB,CAAYme,GAAGonC,SAASxpD,WAAW6iB,KAAKI,QAAQb,EAAES,KAAKkkE,iBAAiB,IAAIzC,GAAGzhE,KAAKI,SAASJ,KAAKkkE,iBAAiB7hB,SAASriD,KAAKA,KAAKmkE,sBAAsB,IAAIf,GAAGpjE,KAAKI,SAAS,IAAI,MAAMb,KAAKS,KAAK5e,YAAYgjF,OAAOn2E,EAAEsR,EAAE,CAACuiC,UAAU9hC,KAAKI,QAAQ4hC,aAAahiC,KAAKqkE,WAAW9kE,IAAI,CAAC,gBAAA0iE,CAAiB1iE,GAAG,CAAC,0BAAA+kE,GAA6B,OAAOtkE,KAAKkkE,iBAAiBhmC,MAAM,CAAC,yBAAAqmC,GAA4B,OAAOvkE,KAAKkkE,iBAAiB3tD,OAAO,CAAC,aAAAiuD,GAAgB,IAAIjlE,EAAEG,EAAE,OAAO,QAAQH,EAAES,KAAKqiD,gBAAW,IAAS9iD,GAAG,QAAQG,EAAEH,EAAEklE,uCAAkC,IAAS/kE,OAAE,EAAOA,EAAErf,KAAKkf,EAAE,CAAC,cAAAmlE,GAAiB,IAAInlE,EAAEG,EAAE,OAAO,QAAQH,EAAES,KAAKqiD,gBAAW,IAAS9iD,GAAG,QAAQG,EAAEH,EAAEolE,wCAAmC,IAASjlE,GAAGA,EAAErf,KAAKkf,GAAGS,KAAKwkE,eAAe,CAAC,WAAAhkC,CAAYjhC,GAAG,MAAMG,EAAEpiB,MAAMgE,KAAKie,GAAG5a,KAAK4a,GAAG,IAAI4jE,GAAG5jE,KAAK,OAAOnP,QAAQC,IAAIqP,GAAGhP,MAAM6O,IAAIS,KAAK4kE,aAAY,WAAY,IAAIllE,EAAEjgB,EAAE,OAAO,QAAQigB,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAGA,EAAEmlE,iCAAiC,QAAQplF,EAAEugB,KAAK8kE,iBAAY,IAASrlF,GAAGA,EAAEkzE,YAAYpzD,GAAGS,KAAKwkE,eAAgB,GAAG,GAAE,CAAC,UAAAH,CAAW9kE,GAAG,OAAOG,IAAIA,EAAEqlE,kBAAkB/kE,KAAK4kE,aAAY,KAAM,IAAI1lF,EAAE8gB,KAAKI,SAAS,CAAC,GAAGJ,KAAKmkE,sBAAsBd,aAAa3jE,GAAG,OAAOM,KAAK9W,UAAUqW,EAAES,KAAK5e,YAAYgjF,OAAO7kE,GAAGlf,KAAK2f,KAAKN,EAAE,CAAE,GAAC,CAAE,CAAC,WAAAklE,CAAYrlE,GAAG,IAAI,IAAIG,EAAE,QAAQA,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAGA,EAAEslE,iCAAiCzlE,EAAElf,KAAK2f,KAAK,CAAC,QAAQ,IAAIvgB,EAAE,QAAQA,EAAEugB,KAAKqiD,gBAAW,IAAS5iE,GAAGA,EAAEwlF,+BAA+B,CAAC,CAAC,cAAAC,CAAe3lE,EAAEG,GAAG,MAAMjgB,EAAEmL,SAASC,cAAc,KAAK,OAAOpL,EAAE6kD,KAAK/kC,EAAE9f,EAAEsxB,YAAYrR,GAAGH,EAAE9f,EAAE+5D,SAAS,EAAE,IAAI2rB,GAAGjlB,GAAG+jB,GAAG,SAAS,CAAC,GAAG,MAAMh/B,QAAQmgC,GAAGv/B,SAASw/B,IAAIz+D,EAAE,IAAI0+D,GAAG,EAAE,MAAMC,WAAWtB,GAAG,WAAA7iF,GAAculD,SAASxpD,WAAW6iB,KAAKwlE,mBAAmB,CAAC,eAAAC,GAAkB,IAAIlmE,EAAEpiB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAE6iB,KAAK0lE,aAAax8E,UAAU8W,KAAK9W,UAAU,IAAI,MAAMwW,KAAKH,EAAE,CAAC,MAAM9f,EAAE8f,EAAEG,GAAGM,KAAK0lE,aAAahmE,GAAGjgB,CAAC,CAAC,OAAOugB,KAAK0lE,YAAY,CAAC,iBAAAF,GAAoBxlE,KAAK0lE,aAAa,CAAC,CAAC,CAAC,KAAAznC,GAAQ,OAAOj+B,KAAKwlE,oBAAoB16B,GAAG7M,OAAO,CAAC,gBAAAgkC,CAAiB1iE,GAAG,IAAIG,EAAEjgB,EAAE,OAAOugB,KAAK3E,cAAc,QAAQqE,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAG,QAAQjgB,EAAEigB,EAAEimE,6CAAwC,IAASlmF,OAAE,EAAOA,EAAEY,KAAKqf,GAAGM,KAAK4kE,aAAY,WAAY,OAAO5kE,KAAKmiE,sBAAsB5iE,KAAKS,KAAK4lE,mBAAmBrmE,GAAGS,KAAKwkE,gBAAgBxkE,KAAK0kE,kBAAkB1kE,KAAKi+B,OAAQ,GAAE,CAAC,kBAAA2nC,CAAmBrmE,GAAG,IAAIwjE,UAAUrjE,EAAEsjE,YAAYvjF,GAAG8f,EAAE,GAAGS,KAAK0lE,aAAaG,eAAe,OAAM,EAAG,MAAM7kF,EAAE,MAAM0e,EAAEA,IAAIM,KAAK0lE,aAAa3C,WAAW/iE,KAAK0lE,aAAa3C,UAAUtjE,EAAE,MAAMhgB,EAAEugB,KAAK0lE,aAAaI,WAAW9lE,KAAK0lE,aAAaI,UAAUjlF,EAAE,CAAC,KAAK,OAAOgQ,SAAS6O,KAAK1e,EAAEwe,EAAE,OAAO/f,IAAIggB,EAAE,GAAG5e,IAAI2e,GAAGA,IAAI3e,EAAE,CAAC,MAAM0e,EAAES,KAAKswD,mBAAmB,GAAG/wD,EAAE,CAAC,IAAIvR,EAAE,MAAMvO,EAAEoB,EAAE6e,EAAEvH,QAAQ,MAAM,IAAI/a,SAAS,GAAG,MAAMsiB,OAAE,EAAOA,EAAEtiB,SAAS,EAAE,GAAG,QAAQ4Q,EAAEgS,KAAK8kE,iBAAY,IAAS92E,GAAGA,EAAE2oE,qBAAqBp3D,EAAE,GAAG9f,GAAG,OAAM,CAAE,CAAC,CAAC,OAAOuB,GAAGye,CAAC,CAAC,qBAAA0iE,CAAsB5iE,GAAG,IAAIG,EAAE,MAAMjgB,EAAEzB,OAAOI,KAAKmhB,GAAGniB,OAAO,EAAE4D,EAAE,MAAM,QAAQ0e,EAAEM,KAAK+lE,wBAAmB,IAASrmE,OAAE,EAAOA,EAAEsmE,cAAc,OAAOvmF,IAAIuB,CAAC,CAAC,mBAAAilF,GAAsB,GAAGjmE,KAAK3E,cAAc,OAAO2E,KAAK+lE,iBAAiB/lE,KAAK+lE,iBAAiB,IAAIG,GAAGlmE,KAAK,CAAC,WAAA3E,GAAc,OAAO2E,KAAK+lE,mBAAmB/lE,KAAK+lE,iBAAiBI,SAAS,CAAC,iBAAAlT,CAAkB1zD,EAAEG,GAAG,IAAIjgB,EAAE,OAAM,KAAM,QAAQA,EAAEugB,KAAK8kE,iBAAY,IAASrlF,OAAE,EAAOA,EAAEwzE,kBAAkB1zD,IAAIS,KAAKylE,gBAAgB,CAACK,WAAU,IAAKpmE,GAAGA,EAAEzF,iBAAiB+F,KAAKwkE,sBAAiB,CAAM,CAAC,gCAAA4B,CAAiC7mE,GAAG,IAAIG,EAAE,IAAI,SAASH,GAAG,GAAG,MAAMA,IAAIA,EAAE8oB,QAAQ,OAAM,EAAG,IAAI,MAAM3oB,KAAK8pC,GAAG,CAAC,MAAM/pD,EAAE+pD,GAAG9pC,GAAG,IAAI,GAAGH,EAAE8oB,QAAQ3oB,EAAEjgB,IAAI8f,EAAEmqC,QAAQhqC,KAAKjgB,EAAE,OAAM,CAAE,CAAC,MAAM8f,GAAG,OAAM,CAAE,CAAC,CAAC,OAAM,CAAE,CAAzJ,CAA2JA,GAAG,OAAO,MAAM9f,EAAE,QAAQigB,EAAEM,KAAK8kE,iBAAY,IAASplE,OAAE,EAAOA,EAAE80D,sBAAsBtI,yBAAyB,OAAO3sD,EAAE8oB,QAAQ,8BAA8Bt3B,KAAKC,UAAUvR,IAAI8f,EAAE8oB,QAAQ,YAAY62B,GAAGr5C,OAAOpmB,GAAGihB,WAAWnB,EAAE8oB,QAAQ,aAAa5oC,EAAEyB,WAAWiX,QAAQ,MAAM,MAAK,CAAE,CAAC,qBAAAkuE,CAAsB9mE,GAAG,MAAMG,EAAE,CAAC,EAAE,OAAOpiB,MAAMgE,MAAM,MAAMie,OAAE,EAAOA,EAAEwhD,QAAQ,IAAIv9D,SAAS+b,IAAIG,EAAEH,IAAG,CAAG,IAAGG,EAAE4mE,OAAO5mE,EAAE,gCAAgCA,EAAE,cAAcA,EAAE,aAAa,CAAC,+BAAA6mE,CAAgChnE,GAAG,MAAMG,EAAEM,KAAKswD,mBAAmB7wE,EAAE,CAACwkC,SAAS,WAAWtX,KAAK,GAAG5mB,OAAOqE,OAAOo8E,YAAY,MAAMl6D,IAAI,GAAGvmB,OAAOqE,OAAOmiB,YAAY,MAAMk6D,QAAQ,GAAGzlF,EAAEmkB,EAAE,CAACtE,MAAMphB,EAAEoiB,QAAQ,MAAMshC,UAAS,IAAK,OAAOv4C,SAASO,KAAKC,YAAYpK,GAAGA,EAAEqR,QAAQygB,uBAAsB,KAAM,MAAMrzB,EAAEuB,EAAE0f,UAAU,OAAOiE,EAAE3jB,GAAGgf,KAAKg0D,iBAAiBt0D,GAAGH,EAAE9f,EAAG,GAAE,EAAEygE,GAAGqlB,GAAG,SAAS,CAAC,OAAAmB,CAAQnnE,GAAGS,KAAK3E,eAAe2E,KAAKwlE,oBAAoBxlE,KAAK0lE,aAAaiB,UAAS,EAAG,MAAMjnE,EAAE2lE,GAAG9lE,EAAEsoB,SAAS,GAAGnoB,EAAE,CAAC,IAAIjgB,EAAE,IAAIuB,EAAEgf,KAAK5hB,KAAK,CAAC,OAAO,MAAM,QAAQ,QAAQoF,SAASkc,IAAI,IAAIjgB,EAAE8f,EAAE,GAAGxZ,OAAO2Z,EAAE,UAAU,SAASA,IAAIA,EAAE,WAAW1e,EAAE,QAAQvB,EAAEuB,SAAI,IAASvB,OAAE,EAAOA,EAAEigB,GAAI,IAAG,OAAO,QAAQjgB,EAAEuB,SAAI,IAASvB,OAAE,EAAOA,EAAEigB,MAAMM,KAAKylE,gBAAgB,CAACmB,QAAQlnE,IAAIorC,GAAG7M,QAAQj9C,EAAE0e,GAAGrf,KAAK2f,KAAKT,GAAG,CAAC,GAAGsqC,GAAGtqC,GAAG,CAAC,MAAMG,EAAEvb,OAAO6oC,aAAaztB,EAAEsoB,SAASxmB,cAAc,GAAG3B,EAAE,CAAC,IAAI1e,EAAE,MAAMvB,EAAE,CAAC,MAAM,SAASkF,KAAK+a,IAAI,GAAGH,EAAE,GAAGxZ,OAAO2Z,EAAE,QAAQ,OAAOA,CAAE,IAAGvc,QAAQoc,GAAGA,IAAI9f,EAAEe,KAAKkf,GAAG,QAAQ1e,EAAEgf,KAAKqiD,gBAAW,IAASrhE,GAAGA,EAAE6lF,yCAAyCpnF,IAAI8f,EAAEtF,gBAAgB,CAAC,CAAC,EAAE,QAAA6sE,CAASvnE,GAAG,GAAG,MAAMS,KAAK0lE,aAAax8E,UAAU,OAAO,GAAGqW,EAAExD,QAAQ,OAAO,GAAGwD,EAAEvD,UAAUuD,EAAErD,OAAO,OAAO,MAAMwD,EAAEqnE,GAAGxnE,GAAG,IAAI9f,EAAEuB,EAAE,OAAO0e,GAAG,QAAQjgB,EAAEugB,KAAKqiD,gBAAW,IAAS5iE,GAAGA,EAAEunF,mCAAmC,QAAQhmF,EAAEgf,KAAK8kE,iBAAY,IAAS9jF,GAAGA,EAAEgxE,aAAatyD,GAAGM,KAAKylE,gBAAgB,CAAC1C,UAAUrjE,EAAEomE,UAAU9lE,KAAKw7D,8BAAyB,CAAM,EAAE,SAAAyL,CAAU1nE,GAAG,MAAM0H,KAAKvH,GAAGH,GAAGwjE,UAAUtjF,GAAGugB,KAAK0lE,aAAa,GAAGjmF,GAAGA,IAAIigB,GAAGjgB,EAAEs5B,gBAAgBrZ,EAAE,CAAC,IAAI1e,EAAE,MAAMue,EAAES,KAAKswD,mBAAmB,OAAOtwD,KAAKg0D,iBAAiB,CAACz0D,EAAE,GAAGA,EAAE,GAAG9f,EAAErC,SAAS,QAAQ4D,EAAEgf,KAAK8kE,iBAAY,IAAS9jF,GAAGA,EAAEgxE,aAAatyD,GAAGM,KAAKylE,gBAAgB,CAAC1C,UAAUrjE,IAAIM,KAAKg0D,iBAAiBz0D,EAAE,CAAC,EAAE,SAAA2nE,CAAU3nE,GAAGA,EAAEtF,gBAAgB,EAAE,SAAAktE,CAAU5nE,GAAG,IAAIG,EAAEjgB,EAAE,OAAOugB,KAAKomE,iCAAiC7mE,EAAE6nE,cAAcpnE,KAAKqnE,aAAarnE,KAAKswD,mBAAmB,QAAQ5wD,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAG,QAAQjgB,EAAEigB,EAAE4nE,mCAA8B,IAAS7nF,OAAE,EAAOA,EAAEY,KAAKqf,EAAE,EAAE,QAAA6nE,CAAShoE,GAAG,GAAGS,KAAKqnE,cAAcrnE,KAAKqmE,sBAAsB9mE,EAAE6nE,cAAc,CAAC7nE,EAAEtF,iBAAiB,MAAMjZ,EAAE,CAAC9B,EAAEqgB,EAAEioE,QAAQ3kE,EAAEtD,EAAEkoE,SAAS,IAAI/nE,EAAEjgB,EAAE,IAAIwqD,GAAGjpD,EAAEgf,KAAK0nE,eAAe,OAAO1nE,KAAK0nE,cAAc1mF,EAAE,QAAQ0e,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAG,QAAQjgB,EAAEigB,EAAEioE,8CAAyC,IAASloF,OAAE,EAAOA,EAAEY,KAAKqf,EAAEM,KAAK0nE,cAAc,CAAC,EAAE,OAAAE,CAAQroE,GAAG,IAAIG,EAAEjgB,EAAE,QAAQigB,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAG,QAAQjgB,EAAEigB,EAAEmoE,oCAA+B,IAASpoF,GAAGA,EAAEY,KAAKqf,GAAGM,KAAKqnE,aAAa,KAAKrnE,KAAK0nE,cAAc,IAAI,EAAE,IAAAI,CAAKvoE,GAAG,IAAIG,EAAEjgB,EAAE8f,EAAEtF,iBAAiB,MAAMjZ,EAAE,QAAQ0e,EAAEH,EAAE6nE,oBAAe,IAAS1nE,OAAE,EAAOA,EAAEmkC,MAAMpkC,EAAEF,EAAE6nE,aAAa19B,QAAQ,+BAA+B7oD,EAAE,CAAC3B,EAAEqgB,EAAEioE,QAAQ3kE,EAAEtD,EAAEkoE,SAAS,GAAG,QAAQhoF,EAAEugB,KAAK8kE,iBAAY,IAASrlF,GAAGA,EAAEw7E,+BAA+Bp6E,GAAG,MAAMG,GAAGA,EAAE5D,OAAO4iB,KAAKwgC,YAAYx/C,QAAQ,GAAGgf,KAAKqnE,aAAa,CAAC,IAAI7nE,EAAExR,EAAE,QAAQwR,EAAEQ,KAAKqiD,gBAAW,IAAS7iD,GAAGA,EAAEuoE,8BAA8B,QAAQ/5E,EAAEgS,KAAK8kE,iBAAY,IAAS92E,GAAGA,EAAEwlE,kBAAkBxzD,KAAKqnE,cAAcrnE,KAAKqnE,aAAa,KAAKrnE,KAAKwkE,eAAe,MAAM,GAAG/kE,EAAE,CAAC,IAAIS,EAAE,MAAMX,EAAEqU,GAAG6zB,eAAehoC,GAAG,QAAQS,EAAEF,KAAK8kE,iBAAY,IAAS5kE,GAAGA,EAAE6xD,eAAexyD,GAAGS,KAAKwkE,eAAe,CAACxkE,KAAKqnE,aAAa,KAAKrnE,KAAK0nE,cAAc,IAAI,EAAE,GAAAM,CAAIzoE,GAAG,IAAIG,EAAEjgB,EAAE,GAAG,QAAQigB,EAAEM,KAAK8kE,iBAAY,IAASplE,GAAGA,EAAE87D,wBAAwBx7D,KAAKomE,iCAAiC7mE,EAAE6oB,gBAAgB7oB,EAAEtF,iBAAiB,QAAQxa,EAAEugB,KAAKqiD,gBAAW,IAAS5iE,GAAGA,EAAEwoF,6BAA6BjoE,KAAKizD,kBAAkB,YAAY1zD,EAAEwlE,kBAAkB,OAAO/kE,KAAKwkE,eAAe,EAAE,IAAApjB,CAAK7hD,GAAG,IAAIG,EAAE,QAAQA,EAAEM,KAAK8kE,iBAAY,IAASplE,GAAGA,EAAE87D,uBAAuBx7D,KAAKomE,iCAAiC7mE,EAAE6oB,gBAAgB7oB,EAAEtF,gBAAgB,EAAE,KAAAiuE,CAAM3oE,GAAG,MAAMG,EAAEH,EAAE6oB,eAAe7oB,EAAE4oE,kBAAkB1oF,EAAE,CAAC2oF,UAAU1oE,GAAG,IAAIA,GAAG2oE,GAAG9oE,GAAG,YAAYS,KAAKumE,iCAAiChnE,IAAI,IAAIG,EAAE1e,EAAEye,EAAE,OAAOhgB,EAAE4N,KAAK,YAAY5N,EAAE2wB,KAAK7Q,EAAE,QAAQG,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAGA,EAAE4oE,yBAAyB7oF,GAAG,QAAQuB,EAAEgf,KAAK8kE,iBAAY,IAAS9jF,GAAGA,EAAEuxE,WAAW9yE,EAAE2wB,MAAMpQ,KAAKwkE,gBAAgB,QAAQ/kE,EAAEO,KAAKqiD,gBAAW,IAAS5iD,OAAE,EAAOA,EAAE8oE,wBAAwB9oF,EAAG,IAAG,MAAMuB,EAAE0e,EAAEgqC,QAAQ,OAAOjqC,EAAEC,EAAEgqC,QAAQ,aAAa7oD,EAAE6e,EAAEgqC,QAAQ,mBAAmB,GAAG1oD,EAAE,CAAC,IAAIwe,EAAExR,EAAEkS,EAAE,IAAIX,EAAE9f,EAAE4N,KAAK,YAAYkS,EAAE1e,EAAEgrD,GAAGhrD,GAAG2nD,OAAOxnD,EAAEvB,EAAE2wB,KAAKpQ,KAAKklE,eAAelkF,EAAEue,GAAG,QAAQC,EAAEQ,KAAKqiD,gBAAW,IAAS7iD,GAAGA,EAAE8oE,yBAAyB7oF,GAAGugB,KAAKylE,gBAAgB,CAAC1C,UAAUxjE,EAAEumE,UAAU9lE,KAAKw7D,wBAAwB,QAAQxtE,EAAEgS,KAAK8kE,iBAAY,IAAS92E,GAAGA,EAAEukE,WAAW9yE,EAAE2wB,MAAMpQ,KAAKwkE,gBAAgB,QAAQtkE,EAAEF,KAAKqiD,gBAAW,IAASniD,GAAGA,EAAEqoE,wBAAwB9oF,EAAE,MAAM,GAAGgqD,GAAG/pC,GAAG,CAAC,IAAI+C,EAAE9C,EAAEC,EAAEngB,EAAE4N,KAAK,aAAa5N,EAAEs+D,OAAOr+C,EAAEgqC,QAAQ,cAAc,QAAQjnC,EAAEzC,KAAKqiD,gBAAW,IAAS5/C,GAAGA,EAAE6lE,yBAAyB7oF,GAAGugB,KAAKylE,gBAAgB,CAAC1C,UAAUtjF,EAAEs+D,OAAO+nB,UAAU9lE,KAAKw7D,wBAAwB,QAAQ77D,EAAEK,KAAK8kE,iBAAY,IAASnlE,GAAGA,EAAEqyD,aAAavyE,EAAEs+D,QAAQ/9C,KAAKwkE,gBAAgB,QAAQ5kE,EAAEI,KAAKqiD,gBAAW,IAASziD,GAAGA,EAAE2oE,wBAAwB9oF,EAAE,MAAM,GAAGggB,EAAE,CAAC,IAAIsD,EAAEY,EAAEC,EAAEnkB,EAAE4N,KAAK,YAAY5N,EAAE2wB,KAAK3Q,EAAE,QAAQsD,EAAE/C,KAAKqiD,gBAAW,IAASt/C,GAAGA,EAAEulE,yBAAyB7oF,GAAG,QAAQkkB,EAAE3D,KAAK8kE,iBAAY,IAASnhE,GAAGA,EAAE4uD,WAAW9yE,EAAE2wB,MAAMpQ,KAAKwkE,gBAAgB,QAAQ5gE,EAAE5D,KAAKqiD,gBAAW,IAASz+C,GAAGA,EAAE2kE,wBAAwB9oF,EAAE,MAAM,GAAGnC,MAAMgE,KAAKoe,EAAEqhD,OAAOlwD,SAAS,SAAS,CAAC,IAAIgP,EAAE2C,EAAE,MAAMjD,EAAE,QAAQM,EAAEH,EAAE7gB,aAAQ,IAASghB,GAAG,QAAQA,EAAEA,EAAE,UAAK,IAASA,GAAG,QAAQ2C,EAAE3C,EAAE2oE,iBAAY,IAAShmE,OAAE,EAAOA,EAAEniB,KAAKwf,GAAG,GAAGN,EAAE,CAAC,IAAItR,EAAEyU,EAAE0C,EAAE,MAAM1F,EAAE+oE,GAAGlpE,IAAIA,EAAEle,MAAMqe,IAAIH,EAAEle,KAAK,eAAe0E,SAASu/E,GAAG,KAAKv/E,OAAO2Z,IAAIjgB,EAAE4N,KAAK,OAAO5N,EAAE42B,KAAK9W,EAAE,QAAQtR,EAAE+R,KAAKqiD,gBAAW,IAASp0D,GAAGA,EAAE42E,iCAAiC,QAAQniE,EAAE1C,KAAK8kE,iBAAY,IAASpiE,GAAGA,EAAEgwD,WAAWjzE,EAAE42B,MAAMrW,KAAKwkE,gBAAgB,QAAQp/D,EAAEpF,KAAKqiD,gBAAW,IAASj9C,GAAGA,EAAEmjE,wBAAwB9oF,EAAE,CAAC,CAAC8f,EAAEtF,gBAAgB,EAAE,gBAAAyuE,CAAiBnpE,GAAG,OAAOS,KAAKimE,sBAAsB1vD,MAAMhX,EAAE0H,KAAK,EAAE,iBAAA0hE,CAAkBppE,GAAG,OAAOS,KAAKimE,sBAAsBj0D,OAAOzS,EAAE0H,KAAK,EAAE,cAAA2hE,CAAerpE,GAAG,OAAOS,KAAKimE,sBAAsBz2C,IAAIjwB,EAAE0H,KAAK,EAAE,WAAA4hE,CAAYtpE,GAAGS,KAAK0lE,aAAaiB,UAAS,CAAE,EAAE,KAAA7iF,CAAMyb,GAAG,OAAOS,KAAK0lE,aAAaiB,UAAS,EAAGpnE,EAAEkR,iBAAiB,IAAIyvC,GAAGqlB,GAAG,OAAO,CAAC,SAAAt/C,CAAU1mB,GAAG,IAAIG,EAAE,OAAO,QAAQA,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAGA,EAAEsnE,mCAAmChnE,KAAKizD,kBAAkB,WAAW1zD,EAAE,EAAE,OAAOA,GAAG,IAAIG,EAAE,OAAO,QAAQA,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAGA,EAAEsnE,mCAAmChnE,KAAKizD,kBAAkB,UAAU1zD,EAAE,EAAE,OAAOA,GAAG,IAAIG,EAAEjgB,EAAE,OAAOugB,KAAKylE,gBAAgB,CAACI,gBAAe,IAAK,QAAQnmE,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAGA,EAAEsnE,mCAAmC,QAAQvnF,EAAEugB,KAAK8kE,iBAAY,IAASrlF,OAAE,EAAOA,EAAE0yE,iBAAiB,EAAE,GAAA2W,CAAIvpE,GAAG,IAAIG,EAAEjgB,EAAE,QAAQigB,EAAEM,KAAK8kE,iBAAY,IAASplE,GAAGA,EAAEu1D,4BAA4B,QAAQx1E,EAAEugB,KAAK8kE,iBAAY,IAASrlF,GAAGA,EAAE+oE,uBAAuBxoD,KAAKwkE,gBAAgBjlE,EAAEtF,iBAAiB,EAAE,IAAA0S,CAAKpN,GAAG,IAAIG,EAAE,GAAGM,KAAKw2D,4BAA4B,OAAOj3D,EAAEtF,iBAAiB,QAAQyF,EAAEM,KAAK8kE,iBAAY,IAASplE,OAAE,EAAOA,EAAEw2D,sBAAsB,WAAW,EAAE,KAAAtpD,CAAMrN,GAAG,IAAIG,EAAE,GAAGM,KAAKw2D,4BAA4B,OAAOj3D,EAAEtF,iBAAiB,QAAQyF,EAAEM,KAAK8kE,iBAAY,IAASplE,OAAE,EAAOA,EAAEw2D,sBAAsB,UAAU,EAAE6S,QAAQ,CAAC,CAAAhmE,CAAExD,GAAG,IAAIG,EAAE,OAAO,QAAQA,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAGA,EAAEsnE,mCAAmChnE,KAAKizD,kBAAkB,UAAU1zD,EAAE,EAAE,CAAAK,CAAEL,GAAG,IAAIG,EAAE,OAAO,QAAQA,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAGA,EAAEsnE,mCAAmChnE,KAAKizD,kBAAkB,WAAW1zD,EAAE,EAAE,CAAA1e,CAAE0e,GAAG,IAAIG,EAAEjgB,EAAE,OAAO8f,EAAEtF,iBAAiB,QAAQyF,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAGA,EAAEsnE,mCAAmC,QAAQvnF,EAAEugB,KAAK8kE,iBAAY,IAASrlF,GAAGA,EAAEuyE,aAAa,KAAK,CAACJ,gBAAe,IAAK5xD,KAAKwkE,eAAe,GAAGhgE,MAAM,CAAC,OAAOjF,GAAG,IAAIG,EAAEjgB,EAAE,QAAQigB,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAGA,EAAEsnE,mCAAmC,QAAQvnF,EAAEugB,KAAK8kE,iBAAY,IAASrlF,GAAGA,EAAEuyE,aAAa,MAAMhyD,KAAKwkE,gBAAgBjlE,EAAEtF,gBAAgB,EAAE,GAAA6uE,CAAIvpE,GAAG,IAAIG,EAAEjgB,EAAE,QAAQigB,EAAEM,KAAK8kE,iBAAY,IAASplE,GAAGA,EAAEs1D,4BAA4B,QAAQv1E,EAAEugB,KAAK8kE,iBAAY,IAASrlF,GAAGA,EAAE8oE,uBAAuBvoD,KAAKwkE,gBAAgBjlE,EAAEtF,iBAAiB,EAAE,IAAA0S,CAAKpN,GAAG,GAAGS,KAAKw2D,4BAA4B,OAAOj3D,EAAEtF,iBAAiB+F,KAAKm2D,2BAA2B,WAAW,EAAE,KAAAvpD,CAAMrN,GAAG,GAAGS,KAAKw2D,4BAA4B,OAAOj3D,EAAEtF,iBAAiB+F,KAAKm2D,2BAA2B,UAAU,GAAG3kC,IAAI,CAAC,SAAAvL,CAAU1mB,GAAG,IAAIG,EAAE,OAAOM,KAAKylE,gBAAgB,CAACI,gBAAe,IAAK,QAAQnmE,EAAEM,KAAKqiD,gBAAW,IAAS3iD,OAAE,EAAOA,EAAEsnE,kCAAkC,GAAGgC,KAAK,CAAC,SAAA/iD,CAAU1mB,GAAG,IAAIG,EAAE,OAAOM,KAAKylE,gBAAgB,CAACI,gBAAe,IAAK,QAAQnmE,EAAEM,KAAKqiD,gBAAW,IAAS3iD,OAAE,EAAOA,EAAEsnE,kCAAkC,KAAKzB,GAAGt/B,YAAY,+BAA+Bs/B,GAAGt/B,YAAY,+BAA+Bs/B,GAAGt/B,YAAY,yCAAyCs/B,GAAGt/B,YAAY,wCAAwCs/B,GAAGt/B,YAAY,kCAAkC,MAAMwiC,GAAGlpE,IAAI,IAAIG,EAAE,OAAO,QAAQA,EAAEH,EAAElS,YAAO,IAASqS,GAAG,QAAQA,EAAEA,EAAE7E,MAAM,mBAAc,IAAS6E,OAAE,EAAOA,EAAE,EAAC,EAAGupE,KAAK,QAAQ9D,GAAG,IAAI/9B,mBAAc,IAAS+9B,KAAKA,GAAG9kF,KAAK,IAAI,IAAI0mF,GAAG,SAASxnE,GAAG,GAAGA,EAAEhhB,KAAK0qF,IAAI1pE,EAAEhhB,IAAI6oD,YAAY,KAAK7nC,EAAEsoB,QAAQ,OAAOtoB,EAAEhhB,IAAI,CAAC,IAAImhB,EAAE,GAAG,OAAOH,EAAEqoB,MAAMloB,EAAEH,EAAEsoB,QAAQ,IAAItoB,EAAEqoB,OAAO,IAAIroB,EAAEooB,WAAWjoB,EAAEH,EAAEooB,UAAU,MAAMjoB,GAAG,WAAW2lE,GAAG3lE,GAAG,OAAOiZ,EAAE8tB,eAAe,CAAC/mC,IAAIxe,UAAU,CAAC,EAAEmnF,GAAG,SAAS9oE,GAAG,MAAMG,EAAEH,EAAE6oB,cAAc,GAAG1oB,EAAE,CAAC,GAAGA,EAAEqhD,MAAMlwD,SAAS,aAAa,CAAC,IAAI,MAAM0O,KAAKG,EAAEqhD,MAAM,CAAC,MAAMthE,EAAE,4BAA4B8B,KAAKge,GAAGve,EAAE,SAASO,KAAKge,IAAIG,EAAEgqC,QAAQnqC,GAAG,GAAG9f,GAAGuB,EAAE,OAAM,CAAE,CAAC,OAAM,CAAE,CAAC,CAAC,MAAMue,EAAEG,EAAEqhD,MAAMlwD,SAAS,wBAAwBpR,EAAEigB,EAAEqhD,MAAMlwD,SAAS,uBAAuB,OAAO0O,GAAG9f,CAAC,CAAC,CAAC,EAAE,MAAMymF,WAAWpgE,EAAE,WAAA1kB,CAAYme,GAAGonC,SAASxpD,WAAW6iB,KAAKkpE,gBAAgB3pE,EAAES,KAAK8kE,UAAU9kE,KAAKkpE,gBAAgBpE,UAAU9kE,KAAKqiD,SAASriD,KAAKkpE,gBAAgB7mB,SAASriD,KAAK0lE,aAAa1lE,KAAKkpE,gBAAgBxD,aAAa1lE,KAAKiH,KAAK,CAAC,CAAC,CAAC,KAAAsP,CAAMhX,GAA8C,IAAIG,EAAEjgB,GAA9CugB,KAAKiH,KAAKsP,MAAMhX,EAAES,KAAKmpE,mBAA4B,aAAanpE,KAAK0lE,aAAax8E,WAAW8W,KAAK0lE,aAAa3C,YAAU,QAAQtjF,EAAEugB,KAAK8kE,iBAAY,IAASrlF,GAAGA,EAAEwzE,kBAAkB,SAAQjzD,KAAKw7D,wBAAwBx7D,KAAK4zD,oBAAoB5zD,KAAKwkE,iBAAiBxkE,KAAKqkB,MAAM,QAAQ3kB,EAAEM,KAAK8kE,iBAAY,IAASplE,OAAE,EAAOA,EAAE4wD,mBAAmB,CAAC,MAAAt+C,CAAOzS,GAAG,GAAGS,KAAKiH,KAAK+K,OAAOzS,EAAES,KAAKmpE,gBAAgB,CAAC,MAAM5pE,EAAES,KAAK+zD,oBAAoBx0D,IAAIS,KAAKi0D,oBAAoBj0D,KAAKqkB,MAAM9kB,EAAE,CAAC,CAAC,GAAAiwB,CAAIjwB,GAAG,OAAOS,KAAKiH,KAAKuoB,IAAIjwB,EAAES,KAAKmpE,iBAAiBnpE,KAAKi0D,oBAAoBj0D,KAAKopE,sBAAsBppE,KAAKylE,gBAAgB,CAACI,gBAAe,EAAGc,UAAS,IAAK,QAAQjnE,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAGA,EAAEsnE,mCAAmC,QAAQvnF,EAAEugB,KAAK8kE,iBAAY,IAASrlF,GAAGA,EAAEu0E,iBAAiBh0D,KAAKqkB,OAAO,QAAQrjC,EAAEgf,KAAK8kE,iBAAY,IAAS9jF,GAAGA,EAAEgxE,aAAahyD,KAAKiH,KAAKuoB,KAAK,QAAQ/vB,EAAEO,KAAK8kE,iBAAY,IAASrlE,OAAE,EAAOA,EAAEu0D,iBAAiBh0D,KAAKqkB,MAAM,GAAGrkB,KAAKiH,KAAKuoB,IAAIpyC,SAAS,MAAM4iB,KAAKiH,KAAKsP,OAAO,MAAMvW,KAAKiH,KAAK+K,QAAQhS,KAAK0kE,iBAAiB1kE,KAAKkpE,gBAAgBjrC,cAAS,GAAQj+B,KAAKkpE,gBAAgBjrC,QAAQ,IAAIv+B,EAAEjgB,EAAEuB,EAAEye,CAAC,CAAC,UAAAumE,GAAa,OAAOhmE,KAAKiH,KAAKuoB,GAAG,CAAC,OAAA22C,GAAU,OAAO,MAAMnmE,KAAKgmE,YAAY,CAAC,aAAAmD,GAAgB,OAAO/D,GAAGrlC,sBAAsB//B,KAAK0lE,aAAaiB,QAAQ,CAAC,kBAAAyC,GAAqB,IAAI7pE,EAAEG,EAAE,OAAO,KAAK,QAAQH,EAAES,KAAKiH,KAAKsP,aAAQ,IAAShX,OAAE,EAAOA,EAAEniB,UAAU,QAAQsiB,EAAEM,KAAKiH,KAAKuoB,WAAM,IAAS9vB,OAAE,EAAOA,EAAEtiB,QAAQ,GAAG4iB,KAAKqkB,KAAK,EAAE6hD,GAAGjgC,YAAY,mCAAmCigC,GAAGjgC,YAAY,iCAAiCigC,GAAGjgC,YAAY,kCAAkCigC,GAAGjgC,YAAY,kCAAkCigC,GAAGjgC,YAAY,gCAAgCigC,GAAGjgC,YAAY,gCAAgCigC,GAAGjgC,YAAY,gCAAgC,MAAMojC,WAAWpF,GAAG,WAAA7iF,GAAculD,SAASxpD,WAAW6iB,KAAK6F,OAAO7F,KAAK6F,OAAOkC,KAAK/H,KAAK,CAAC,gBAAAiiE,GAAmB,OAAOjiE,KAAKspE,gBAAgBtpE,KAAKupE,UAAU,QAAQhqE,EAAES,KAAKqiD,gBAAW,IAAS9iD,GAAG,QAAQG,EAAEH,EAAEomE,6CAAwC,IAASjmE,OAAE,EAAOA,EAAErf,KAAKkf,QAAG,EAAOS,KAAKwpE,UAAU,IAAIjqE,EAAEG,CAAC,CAAC,cAAAyR,GAAiB,OAAOnR,KAAKspE,gBAAgBtpE,KAAKspE,gBAAgBtpE,KAAKspE,gBAAgBx2D,sBAAsB9S,KAAK6F,OAAO,CAAC,MAAAA,GAAS,IAAItG,EAAEG,EAAG+pE,qBAAqBzpE,KAAKspE,iBAAiBtpE,KAAKspE,gBAAgB,KAAKtpE,KAAKupE,WAAa,QAAQ7pE,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAGA,EAAEmG,SAAU,QAAQtG,EAAES,KAAK0pE,mBAAc,IAASnqE,GAAGA,EAAElf,KAAK2f,MAAMA,KAAK0pE,YAAY,IAAI,CAAC,OAAAF,GAAU,IAAIjqE,EAAE,OAAO,QAAQA,EAAES,KAAKqiD,gBAAW,IAAS9iD,OAAE,EAAOA,EAAEiqE,SAAS,CAAC,YAAAxX,GAAe,IAAIzyD,EAAE,IAAIG,EAAEviB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAGsC,EAAEtC,UAAUC,OAAO,EAAED,UAAU,QAAG,EAAO,OAAO,QAAQoiB,EAAES,KAAKqiD,gBAAW,IAAS9iD,GAAGA,EAAEynE,mCAAmChnE,KAAK81D,oBAAmB,WAAY,IAAIv2D,EAAE,OAAO,QAAQA,EAAES,KAAK8kE,iBAAY,IAASvlE,OAAE,EAAOA,EAAEyyD,aAAatyD,EAAEjgB,EAAG,GAAE,CAAC,0BAAAkqF,CAA2BpqE,GAAG,IAAIG,EAAE,GAAGmpC,KAAKh4C,SAAS0O,GAAG,OAAO,QAAQG,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAGA,EAAEkqE,qCAAqCrqE,GAAGS,KAAK81D,oBAAmB,WAAY,IAAIp2D,EAAE,OAAO,QAAQA,EAAEM,KAAK8kE,iBAAY,IAASplE,OAAE,EAAOA,EAAEy0D,uBAAuB50D,EAAG,GAAE,CAAC,4BAAAsqE,CAA6BtqE,EAAEG,GAAG,IAAIjgB,EAAE,GAAGopD,KAAKh4C,SAAS0O,GAAG,OAAO,QAAQ9f,EAAEugB,KAAKqiD,gBAAW,IAAS5iE,GAAGA,EAAEmqF,qCAAqCrqE,GAAGS,KAAK81D,oBAAmB,WAAY,IAAIr2E,EAAE,OAAO,QAAQA,EAAEugB,KAAK8kE,iBAAY,IAASrlF,OAAE,EAAOA,EAAE20E,oBAAoB70D,EAAEG,EAAG,GAAE,CAAC,iBAAAuzD,CAAkB1zD,GAAG,IAAIk4D,gBAAgB/3D,GAAGviB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAACs6E,iBAAgB,GAAI,IAAIh4E,EAAEigB,IAAI,QAAQjgB,EAAEugB,KAAKqiD,gBAAW,IAAS5iE,GAAGA,EAAEunF,oCAAoC,MAAMhmF,EAAE,KAAK,IAAI0e,EAAE,OAAO,QAAQA,EAAEM,KAAK8kE,iBAAY,IAASplE,OAAE,EAAOA,EAAEuzD,kBAAkB1zD,EAAC,EAAGE,EAAEO,KAAK8pE,kBAAkB,CAACC,UAAU/pE,KAAKupE,UAAU,EAAE,IAAI,OAAO9pE,EAAEO,KAAK81D,mBAAmBr2D,EAAEze,GAAGA,GAAG,CAAC,kBAAA80E,CAAmBv2D,EAAEG,GAAG,IAAIjgB,EAAE,MAAM,mBAAmB8f,IAAIG,EAAEH,EAAEA,EAAES,KAAK8pE,qBAAqBvqE,EAAE,QAAQ9f,EAAEugB,KAAK8kE,iBAAY,IAASrlF,OAAE,EAAOA,EAAEq2E,mBAAmBv2D,EAAEG,EAAEqI,KAAK/H,QAAQ8qC,GAAG7M,QAAQv+B,EAAErf,KAAK2f,MAAM,CAAC,iBAAA8pE,GAAoB,IAAIvqE,EAAEG,EAAE,IAAIqqE,UAAUtqF,GAAGtC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC4sF,UAAU,GAAG,MAAM/oF,EAAE,QAAQue,GAAGG,EAAEM,KAAK/W,OAAO+gF,uBAAkB,IAASzqE,OAAE,EAAOA,EAAElf,KAAKqf,GAAG,GAAG1e,GAAGA,EAAE5D,OAAO,CAAC,MAAMmiB,EAAE0qE,GAAGjpF,EAAE,IAAI,GAAG,IAAIvB,GAAG8f,EAAEre,WAAW9D,QAAQqC,EAAE,OAAO8f,CAAC,CAAC,CAAC,SAAA2qE,CAAU3qE,EAAEG,GAAG,IAAIjgB,EAAEugB,KAAK/W,MAAMsW,EAAE,IAAI9f,EAAEigB,EAAErf,KAAK2f,KAAK,CAAC,QAAQA,KAAK/W,MAAM,IAAI,CAAC,OAAOxJ,CAAC,EAAEygE,GAAGmpB,GAAG,SAAS,CAAC,OAAA3C,CAAQnnE,GAAG,GAAGsqC,GAAGtqC,GAAG,CAAC,IAAIG,EAAE,MAAMjgB,EAAE0qF,GAAG5qE,GAAG,QAAQG,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAGA,EAAEmnE,yCAAyCpnF,IAAI8f,EAAEtF,gBAAgB,KAAK,CAAC,IAAIyF,EAAEH,EAAEhhB,IAAIghB,EAAErD,SAASwD,GAAG,QAAQH,EAAEtD,WAAWyD,GAAG,UAAU,MAAMjgB,EAAEugB,KAAK5e,YAAYhD,KAAKshB,GAAG,GAAGjgB,EAAE,OAAOugB,KAAKkqE,UAAU3qE,EAAE9f,EAAE,CAAC,EAAE,KAAAyoF,CAAM3oE,GAAG,IAAIG,EAAE,IAAIjgB,EAAE,MAAMuB,EAAE,QAAQ0e,EAAEH,EAAE6oB,qBAAgB,IAAS1oB,OAAE,EAAOA,EAAEgqC,QAAQ,OAAO,OAAO0gC,GAAG7qE,IAAIA,EAAEtF,iBAAiB+F,KAAKwgC,YAAYjhC,EAAE6oB,cAAcyb,QAAQwmC,GAAG9qE,IAAIA,EAAEtF,iBAAiBxa,EAAE,CAAC4N,KAAK,aAAa0wD,OAAOx+C,EAAE6oB,cAAcshB,QAAQ,eAAe,QAAQjqC,EAAEO,KAAKqiD,gBAAW,IAAS5iD,GAAGA,EAAE6oE,yBAAyB7oF,GAAG,QAAQoB,EAAEmf,KAAK8kE,iBAAY,IAASjkF,GAAGA,EAAEmxE,aAAavyE,EAAEs+D,QAAQ/9C,KAAK6F,SAAS,QAAQrG,EAAEQ,KAAKqiD,gBAAW,IAAS7iD,OAAE,EAAOA,EAAE+oE,wBAAwB9oF,IAAIuB,GAAGue,EAAEtF,iBAAiBxa,EAAE,CAAC4N,KAAK,YAAY+iB,KAAKpQ,KAAKklE,eAAelkF,IAAI,QAAQgN,EAAEgS,KAAKqiD,gBAAW,IAASr0D,GAAGA,EAAEs6E,yBAAyB7oF,GAAG,QAAQygB,EAAEF,KAAK8kE,iBAAY,IAAS5kE,GAAGA,EAAEqyD,WAAW9yE,EAAE2wB,MAAMpQ,KAAK6F,SAAS,QAAQpD,EAAEzC,KAAKqiD,gBAAW,IAAS5/C,OAAE,EAAOA,EAAE8lE,wBAAwB9oF,SAAI,EAAO,IAAIggB,EAAE5e,EAAE2e,EAAExR,EAAEkS,EAAEuC,CAAC,EAAE,WAAAomE,CAAYtpE,GAAG,MAAMG,EAAEM,KAAK5e,YAAYkpF,WAAW/qE,EAAEuoB,WAAWroC,GAAGuB,EAAEue,KAAK,cAAche,KAAKsQ,UAAU+I,YAAY5Z,EAAE8mC,WAAW,oBAAoB9mC,EAAE8mC,YAAY,IAAI9mC,EAAE0e,IAAIM,KAAKkqE,UAAU3qE,EAAEG,GAAGjgB,GAAGugB,KAAKmR,kBAAkB1xB,GAAGugB,KAAK6F,QAAQ,EAAE,KAAA/hB,CAAMyb,GAAGurC,GAAG7M,OAAO,EAAE,SAAAkpC,CAAU5nE,GAAG,IAAIG,EAAEjgB,EAAE,QAAQigB,EAAEM,KAAK8kE,iBAAY,IAASplE,GAAGA,EAAE42D,iCAAiC/2D,EAAE6nE,aAAa/+C,QAAQ,+BAA8B,GAAIroB,KAAKuqE,SAAS,CAAClmD,MAAM,QAAQ5kC,EAAEugB,KAAK8kE,iBAAY,IAASrlF,OAAE,EAAOA,EAAE6wE,mBAAmBka,MAAMC,GAAGlrE,IAAI,EAAE,SAAA2nE,CAAU3nE,GAAGmrE,GAAGnrE,IAAIA,EAAEtF,gBAAgB,EAAE,QAAAstE,CAAShoE,GAAG,GAAGS,KAAKuqE,SAAS,CAAChrE,EAAEtF,iBAAiB,MAAMxa,EAAEgrF,GAAGlrE,GAAG,IAAIG,EAAE,IAAIuqC,GAAGxqD,EAAEugB,KAAKuqE,SAASC,OAAO,OAAOxqE,KAAKuqE,SAASC,MAAM/qF,EAAE,QAAQigB,EAAEM,KAAK8kE,iBAAY,IAASplE,OAAE,EAAOA,EAAEu7D,+BAA+Bx7E,EAAE,MAAMirF,GAAGnrE,IAAIA,EAAEtF,gBAAgB,EAAE,IAAA6tE,CAAKvoE,GAAG,IAAIG,EAAEjgB,EAAE,GAAGugB,KAAKuqE,SAAS,OAAOhrE,EAAEtF,iBAAiB,QAAQyF,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAGA,EAAEqoE,8BAA8B,QAAQtoF,EAAEugB,KAAK8kE,iBAAY,IAASrlF,GAAGA,EAAE+zE,kBAAkBxzD,KAAKuqE,SAASlmD,OAAOrkB,KAAKuqE,SAAS,KAAKvqE,KAAKmR,iBAAiB,GAAGu5D,GAAGnrE,GAAG,CAAC,IAAIve,EAAEue,EAAEtF,iBAAiB,MAAMyF,EAAE+qE,GAAGlrE,GAAG,OAAO,QAAQve,EAAEgf,KAAK8kE,iBAAY,IAAS9jF,GAAGA,EAAEi6E,+BAA+Bv7D,GAAGM,KAAKwgC,YAAYjhC,EAAE6nE,aAAavjC,MAAM,CAAC,EAAE,OAAA+jC,GAAU,IAAIroE,EAAES,KAAKuqE,WAAW,QAAQhrE,EAAES,KAAK8kE,iBAAY,IAASvlE,GAAGA,EAAEy0D,iBAAiBh0D,KAAKuqE,SAASlmD,OAAOrkB,KAAKuqE,SAAS,KAAK,EAAE,cAAA3B,CAAerpE,GAAGS,KAAKupE,YAAYvpE,KAAKupE,WAAU,EAAGv7E,EAAEgyC,eAAehgC,KAAKmR,iBAAiB,IAAI+uC,GAAGmpB,GAAG,OAAO,CAAC,SAAAsB,GAAY,IAAIprE,EAAEG,EAAE,GAAG,QAAQH,EAAES,KAAK8kE,iBAAY,IAASvlE,GAAGA,EAAEyzD,oCAAoC,YAAY,OAAOhzD,KAAK/W,MAAMgR,iBAAiB,QAAQyF,EAAEM,KAAK8kE,iBAAY,IAASplE,OAAE,EAAOA,EAAEw2D,sBAAsB,WAAW,EAAE,UAAA0U,GAAa,IAAIrrE,EAAEG,EAAE,GAAG,QAAQH,EAAES,KAAK8kE,iBAAY,IAASvlE,GAAGA,EAAEyzD,oCAAoC,WAAW,OAAOhzD,KAAK/W,MAAMgR,iBAAiB,QAAQyF,EAAEM,KAAK8kE,iBAAY,IAASplE,OAAE,EAAOA,EAAEw2D,sBAAsB,UAAU,EAAE,SAAA2U,GAAY,IAAItrE,EAAEG,EAAEjgB,EAAE,GAAG,QAAQ8f,EAAES,KAAK8kE,iBAAY,IAASvlE,GAAGA,EAAEwzD,gCAAgC,YAAY,OAAO/yD,KAAK/W,MAAMgR,iBAAiB,QAAQyF,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAGA,EAAEsnE,mCAAmC,QAAQvnF,EAAEugB,KAAK8kE,iBAAY,IAASrlF,GAAGA,EAAEwzE,kBAAkB,YAAYjzD,KAAK6F,QAAQ,EAAE,GAAAilE,GAAM,IAAIvrE,EAAEG,EAAE,GAAG,QAAQH,EAAES,KAAK8kE,iBAAY,IAASvlE,GAAGA,EAAE01D,0BAA0B,OAAOj1D,KAAK/W,MAAMgR,iBAAiB,QAAQyF,EAAEM,KAAK8kE,iBAAY,IAASplE,GAAGA,EAAE8oD,uBAAuBxoD,KAAK6F,QAAQ,EAAE,cAAc,IAAItG,EAAEG,EAAE,GAAG,QAAQH,EAAES,KAAK8kE,iBAAY,IAASvlE,GAAGA,EAAEy1D,0BAA0B,OAAOh1D,KAAK/W,MAAMgR,iBAAiB,QAAQyF,EAAEM,KAAK8kE,iBAAY,IAASplE,GAAGA,EAAE6oD,uBAAuBvoD,KAAK6F,QAAQ,IAAIq6C,GAAGmpB,GAAG,aAAa,CAAC,mBAAA0B,GAAsB,OAAO/qE,KAAKizD,kBAAkB,WAAW,CAACwE,iBAAgB,GAAI,EAAE,WAAAuT,GAAc,OAAOhrE,KAAKizD,kBAAkB,WAAW,EAAE,YAAAgY,GAAe,OAAOjrE,KAAK/W,MAAMgR,iBAAiB+F,KAAK81D,oBAAmB,WAAY,IAAIv2D,EAAES,KAAKkrE,kBAAkB,QAAQ3rE,EAAES,KAAK8kE,iBAAY,IAASvlE,OAAE,EAAOA,EAAE+wD,kBAAmB,GAAE,EAAE,qBAAA6a,GAAwB,OAAOnrE,KAAKizD,kBAAkB,WAAW,CAACwE,iBAAgB,GAAI,EAAE,aAAA2T,GAAgB,OAAOprE,KAAKizD,kBAAkB,WAAW,EAAE,qBAAAoY,GAAwB,OAAOrrE,KAAKizD,kBAAkB,WAAW,EAAE,oBAAAqY,GAAuB,OAAOtrE,KAAKizD,kBAAkB,UAAU,EAAE,oBAAAsY,GAAuB,OAAOvrE,KAAKizD,kBAAkB,UAAU,EAAE,sBAAAuY,GAAyB,OAAOxrE,KAAKizD,kBAAkB,WAAW,EAAE,qBAAAwY,GAAwB,OAAOzrE,KAAKizD,kBAAkB,UAAU,EAAE,sBAAAyY,GAAyB,OAAO1rE,KAAKizD,kBAAkB,WAAW,EAAE,qBAAA0Y,GAAwB,OAAO3rE,KAAKizD,kBAAkB,UAAU,EAAE,kBAAA2Y,GAAqB,OAAO5rE,KAAKizD,kBAAkB,WAAW,EAAE,iBAAA4Y,GAAoB,OAAO7rE,KAAKizD,kBAAkB,UAAU,EAAE,eAAA6Y,GAAkB,OAAO9rE,KAAK6pE,6BAA6B,kBAAkB7pE,KAAK/W,MAAMge,KAAK,EAAE,UAAA8kE,GAAa,OAAO/rE,KAAK2pE,2BAA2B,OAAO,EAAE,eAAAqC,GAAkB,OAAOhsE,KAAK6pE,6BAA6B,QAAQ7pE,KAAK/W,MAAMge,KAAK,EAAE,cAAAglE,GAAiB,OAAOjsE,KAAK6pE,6BAA6B,OAAO7pE,KAAK/W,MAAMge,KAAK,EAAE,YAAAilE,GAAe,IAAI3sE,EAAE,GAAG,QAAQA,EAAES,KAAK8kE,iBAAY,IAASvlE,GAAGA,EAAE01D,0BAA0B,OAAOj1D,KAAK81D,oBAAmB,WAAY,IAAIv2D,EAAE,OAAO,QAAQA,EAAES,KAAK8kE,iBAAY,IAASvlE,OAAE,EAAOA,EAAEipD,sBAAuB,GAAE,EAAE,YAAA2jB,GAAe,OAAOnsE,KAAK2pE,2BAA2B,SAAS,EAAE,mBAAAyC,GAAsB,OAAOpsE,KAAK2pE,2BAA2B,gBAAgB,EAAE,iBAAA0C,GAAoB,OAAOrsE,KAAK2pE,2BAA2B,cAAc,EAAE,iBAAA2C,GAAoB,OAAOtsE,KAAK2pE,2BAA2B,cAAc,EAAE,kBAAA4C,GAAqB,OAAOvsE,KAAK2pE,2BAA2B,eAAe,EAAE,aAAA6C,GAAgB,IAAIjtE,EAAE,GAAG,QAAQA,EAAES,KAAK8kE,iBAAY,IAASvlE,GAAGA,EAAEy1D,0BAA0B,OAAOh1D,KAAK81D,oBAAmB,WAAY,IAAIv2D,EAAE,OAAO,QAAQA,EAAES,KAAK8kE,iBAAY,IAASvlE,OAAE,EAAOA,EAAEgpD,sBAAuB,GAAE,EAAE,YAAAkkB,GAAezsE,KAAK81D,oBAAmB,WAAY,IAAI,MAAMr2E,KAAK,QAAQ8f,EAAES,KAAK8kE,iBAAY,IAASvlE,OAAE,EAAOA,EAAE61D,uBAAuB,CAAC,IAAI71D,EAAEG,EAAE,QAAQA,EAAEM,KAAK8kE,iBAAY,IAASplE,GAAGA,EAAEi0D,uBAAuBl0E,EAAE,CAAE,GAAE,EAAE,2BAAAitF,GAA8B,OAAO1sE,KAAK6pE,6BAA6B,WAAW7pE,KAAK/W,MAAMge,KAAK,EAAE,4BAAA0lE,GAA+B,OAAO3sE,KAAK6pE,6BAA6B,UAAU7pE,KAAK/W,MAAMge,KAAK,EAAE,mBAAA2lE,GAAsB,OAAO5sE,KAAK2pE,2BAA2B,SAAS,EAAE,eAAAkD,GAAkB,OAAO7sE,KAAK2pE,2BAA2B,MAAM,EAAE,iBAAAmD,GAAoB,OAAO9sE,KAAK2pE,2BAA2B,MAAM,EAAE,eAAAoD,GAAkB,OAAO/sE,KAAK2pE,2BAA2B,YAAY,EAAE,WAAAqD,GAAc,IAAIztE,EAAE,OAAO,QAAQA,EAAES,KAAKqiD,gBAAW,IAAS9iD,OAAE,EAAOA,EAAE0tE,gCAAgC,EAAE,WAAAC,GAAc,IAAI3tE,EAAE,OAAO,QAAQA,EAAES,KAAKqiD,gBAAW,IAAS9iD,OAAE,EAAOA,EAAE4tE,gCAAgC,EAAE,qBAAAC,GAAwB,OAAOptE,KAAKupE,WAAU,EAAGvpE,KAAKgyD,aAAahyD,KAAK/W,MAAMge,KAAK,EAAE,qBAAAomE,GAAwB,OAAOrtE,KAAKupE,WAAU,EAAGvpE,KAAKgyD,aAAahyD,KAAK/W,MAAMge,KAAK,EAAE,cAAAqmE,GAAiB,MAAM/tE,EAAES,KAAKkrE,kBAAkB,IAAIxrE,EAAE,GAAGH,EAAE,OAAOS,KAAKkrE,kBAAkB,KAAK,QAAQxrE,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAGA,EAAEqoE,8BAA8B/nE,KAAK81D,oBAAmB,WAAY,IAAIp2D,EAAE,OAAO,QAAQA,EAAEM,KAAK8kE,iBAAY,IAASplE,OAAE,EAAOA,EAAE8zD,kBAAkBj0D,EAAG,GAAE,EAAE,eAAAguE,GAAkB,MAAMnG,aAAa7nE,GAAGS,KAAK/W,MAAMyW,EAAE,CAAC0nE,aAAa7nE,GAAG9f,EAAE8f,EAAEmqC,QAAQ,OAAO1oD,EAAEue,EAAEmqC,QAAQ,aAAa,GAAGjqD,EAAE,CAAC,IAAIggB,EAAE,IAAIze,EAAEgf,KAAK/W,MAAMgR,iBAAiByF,EAAErS,KAAK,YAAY,MAAMxM,EAAE0e,EAAEmqC,QAAQ,mBAAmB1oD,EAAEH,EAAEgrD,GAAGhrD,GAAG2nD,OAAO/oD,EAAEigB,EAAE0Q,KAAKpQ,KAAKklE,eAAezlF,EAAEuB,GAAG,QAAQye,EAAEO,KAAKqiD,gBAAW,IAAS5iD,GAAGA,EAAE6oE,yBAAyB5oE,GAAGM,KAAK81D,oBAAmB,WAAY,IAAIv2D,EAAE,OAAO,QAAQA,EAAES,KAAK8kE,iBAAY,IAASvlE,OAAE,EAAOA,EAAEgzD,WAAW7yD,EAAE0Q,KAAM,IAAGpQ,KAAK0pE,YAAY,KAAK,IAAInqE,EAAE,OAAO,QAAQA,EAAES,KAAKqiD,gBAAW,IAAS9iD,OAAE,EAAOA,EAAEgpE,wBAAwB7oE,EAAC,CAAE,MAAM,GAAG+pC,GAAGlqC,GAAG,CAAC,IAAI1e,EAAE6e,EAAErS,KAAK,aAAaqS,EAAEq+C,OAAOx+C,EAAEmqC,QAAQ,cAAc,QAAQ7oD,EAAEmf,KAAKqiD,gBAAW,IAASxhE,GAAGA,EAAEynF,yBAAyB5oE,GAAGM,KAAK81D,oBAAmB,WAAY,IAAIv2D,EAAE,OAAO,QAAQA,EAAES,KAAK8kE,iBAAY,IAASvlE,OAAE,EAAOA,EAAEyyD,aAAatyD,EAAEq+C,OAAQ,IAAG/9C,KAAK0pE,YAAY,KAAK,IAAInqE,EAAE,OAAO,QAAQA,EAAES,KAAKqiD,gBAAW,IAAS9iD,OAAE,EAAOA,EAAEgpE,wBAAwB7oE,EAAC,CAAE,MAAM,GAAG8tE,GAAGxtE,KAAK/W,OAAO,CAAC,IAAIuW,EAAEE,EAAErS,KAAK,OAAOqS,EAAE2W,KAAK9W,EAAEskC,MAAM,GAAG,QAAQrkC,EAAEQ,KAAKqiD,gBAAW,IAAS7iD,GAAGA,EAAE8oE,yBAAyB5oE,GAAGM,KAAK81D,oBAAmB,WAAY,IAAIv2D,EAAE,OAAO,QAAQA,EAAES,KAAK8kE,iBAAY,IAASvlE,OAAE,EAAOA,EAAEmzD,WAAWhzD,EAAE2W,KAAM,IAAGrW,KAAK0pE,YAAY,KAAK,IAAInqE,EAAE,OAAO,QAAQA,EAAES,KAAKqiD,gBAAW,IAAS9iD,OAAE,EAAOA,EAAEgpE,wBAAwB7oE,EAAC,CAAE,MAAM,GAAG1e,EAAE,CAAC,IAAIgN,EAAEgS,KAAK/W,MAAMgR,iBAAiByF,EAAErS,KAAK,YAAYqS,EAAE0Q,KAAKpvB,EAAE,QAAQgN,EAAEgS,KAAKqiD,gBAAW,IAASr0D,GAAGA,EAAEs6E,yBAAyB5oE,GAAGM,KAAK81D,oBAAmB,WAAY,IAAIv2D,EAAE,OAAO,QAAQA,EAAES,KAAK8kE,iBAAY,IAASvlE,OAAE,EAAOA,EAAEgzD,WAAW7yD,EAAE0Q,KAAM,IAAGpQ,KAAK0pE,YAAY,KAAK,IAAInqE,EAAE,OAAO,QAAQA,EAAES,KAAKqiD,gBAAW,IAAS9iD,OAAE,EAAOA,EAAEgpE,wBAAwB7oE,EAAC,CAAE,CAAC,EAAE,cAAA+tE,GAAiB,OAAOztE,KAAKgyD,aAAahyD,KAAK/W,MAAMge,KAAK,EAAE,eAAAkrD,GAAkB,OAAOnyD,KAAKgyD,aAAa,KAAK,EAAE,UAAA0b,GAAa,OAAO1tE,KAAK6pE,6BAA6B,OAAO7pE,KAAK/W,MAAMge,KAAK,EAAE,iBAAA0mE,GAAoB,OAAO3tE,KAAK2pE,2BAA2B,SAAS,EAAE,eAAAiE,GAAkB,IAAIruE,EAAE,OAAO,QAAQA,EAAES,KAAKqiD,gBAAW,IAAS9iD,GAAGA,EAAEynE,mCAAmChnE,KAAK81D,oBAAmB,WAAY,IAAIv2D,EAAE,OAAO,QAAQA,EAAES,KAAK8kE,iBAAY,IAASvlE,OAAE,EAAOA,EAAE4yD,iBAAkB,GAAE,EAAE,qBAAA0b,GAAwB,MAAMtuE,EAAES,KAAK/W,MAAMm+E,aAAa19B,QAAQ,cAAchqC,EAAEM,KAAK/W,MAAM+gF,kBAAkB,GAAGhqE,KAAK81D,mBAAmBp2D,GAAE,KAAMM,KAAKgyD,aAAazyD,EAAE,CAACqyD,gBAAe,GAAK,GAAE,EAAE,UAAAD,GAAa,IAAIpyD,EAAE,OAAOS,KAAKgyD,aAAahyD,KAAK/W,MAAMge,OAAO,QAAQ1H,EAAES,KAAK/W,MAAMm+E,oBAAe,IAAS7nE,OAAE,EAAOA,EAAEmqC,QAAQ,eAAe,EAAE,eAAAokC,GAAkB,OAAO9tE,KAAKgyD,aAAahyD,KAAK/W,MAAMge,KAAK,EAAE,mBAAA8mE,GAAsB,OAAO/tE,KAAK2pE,2BAA2B,SAAS,IAAI,MAAMM,GAAG,SAAS1qE,GAAG,MAAMG,EAAE9U,SAASsvE,cAAc,OAAOx6D,EAAEy6D,SAAS56D,EAAEisC,eAAejsC,EAAEm8D,aAAah8D,EAAEq8D,OAAOx8D,EAAEksC,aAAalsC,EAAEo8D,WAAWj8D,CAAC,EAAEgrE,GAAGnrE,IAAI,IAAIG,EAAE,OAAOpiB,MAAMgE,MAAM,QAAQoe,EAAEH,EAAE6nE,oBAAe,IAAS1nE,OAAE,EAAOA,EAAEqhD,QAAQ,IAAIlwD,SAAS,QAAO,EAAG28E,GAAGjuE,IAAI,IAAIG,EAAE,OAAO,QAAQA,EAAEH,EAAE6nE,aAAavjC,aAAQ,IAASnkC,OAAE,EAAOA,EAAE,MAAM0qE,GAAG7qE,KAAK,CAACA,IAAI,IAAI6nE,aAAa1nE,GAAGH,EAAE,OAAOG,EAAEqhD,MAAMlwD,SAAS,UAAU6O,EAAEqhD,MAAMlwD,SAAS,cAAc6O,EAAEgqC,QAAQ,aAAa74C,SAAS,0CAA2C,EAAvK,CAAyK0O,EAAC,EAAG6qE,GAAG,SAAS7qE,GAAG,MAAMG,EAAEH,EAAE6oB,cAAc,GAAG1oB,EAAG,OAAOpiB,MAAMgE,KAAKoe,EAAEqhD,OAAO59D,QAAQoc,GAAGA,EAAE1E,MAAM,WAAWzd,SAASsiB,EAAEqhD,MAAM3jE,QAAQsiB,EAAEmkC,MAAMzmD,QAAQ,CAAE,EAAEitF,GAAG,SAAS9qE,GAAG,MAAMG,EAAEH,EAAE6oB,cAAc,GAAG1oB,EAAE,OAAOA,EAAEqhD,MAAMlwD,SAAS,eAAe,IAAI6O,EAAEqhD,MAAM3jE,MAAM,EAAE+sF,GAAG,SAAS5qE,GAAG,MAAMG,EAAE,GAAG,OAAOH,EAAErD,QAAQwD,EAAElf,KAAK,OAAO+e,EAAEtD,UAAUyD,EAAElf,KAAK,SAASkf,EAAElf,KAAK+e,EAAEhhB,KAAKmhB,CAAC,EAAE+qE,GAAGlrE,IAAG,CAAErgB,EAAEqgB,EAAEioE,QAAQ3kE,EAAEtD,EAAEkoE,UAAUuG,GAAG,wBAAwBC,GAAG,qBAAqBC,GAAG,GAAGnoF,OAAOioF,GAAG,MAAMjoF,OAAOkoF,IAAIE,GAAG,qBAAqBC,GAAG,GAAGroF,OAAOooF,GAAG,sBAAsBE,GAAG,GAAGtoF,OAAOooF,GAAG,uBAAuBG,GAAG,GAAGvoF,OAAOooF,GAAG,sBAAsBI,GAAG,CAAChvE,EAAEG,KAAKA,IAAIA,EAAE8uE,GAAGjvE,IAAIA,EAAEH,cAAc,2BAA2BrZ,OAAO2Z,EAAE,QAAQ+uE,GAAGlvE,GAAGA,EAAEilC,aAAa,oBAAoBgqC,GAAGjvE,GAAGA,EAAEilC,aAAa,wBAAwBjlC,EAAEilC,aAAa,8BAA8B,MAAMkqC,WAAW5oE,EAAE,WAAA1kB,CAAYme,GAAGonC,MAAMpnC,GAAGS,KAAKq+D,qBAAqBr+D,KAAKq+D,qBAAqBt2D,KAAK/H,MAAMA,KAAK2uE,wBAAwB3uE,KAAK2uE,wBAAwB5mE,KAAK/H,MAAMA,KAAK4uE,qBAAqB5uE,KAAK4uE,qBAAqB7mE,KAAK/H,MAAMA,KAAK6uE,sBAAsB7uE,KAAK6uE,sBAAsB9mE,KAAK/H,MAAMA,KAAKI,QAAQb,EAAES,KAAKmH,WAAW,CAAC,EAAEnH,KAAK8uE,QAAQ,CAAC,EAAE9uE,KAAK+uE,oBAAoB9gF,EAAE,YAAY,CAAC6zC,UAAU9hC,KAAKI,QAAQ2hC,iBAAiBksC,GAAGjsC,aAAahiC,KAAKq+D,uBAAuBpwE,EAAE,YAAY,CAAC6zC,UAAU9hC,KAAKI,QAAQ2hC,iBAAiBisC,GAAGhsC,aAAahiC,KAAK2uE,0BAA0B1gF,EAAE,QAAQ,CAAC6zC,UAAU9hC,KAAKI,QAAQ2hC,iBAAiBmsC,GAAGj0E,gBAAe,IAAKhM,EAAE,QAAQ,CAAC6zC,UAAU9hC,KAAKI,QAAQ2hC,iBAAiBssC,GAAGrsC,aAAahiC,KAAK4uE,uBAAuB3gF,EAAE,UAAU,CAAC6zC,UAAU9hC,KAAKI,QAAQ2hC,iBAAiBusC,GAAGtsC,aAAahiC,KAAK6uE,uBAAuB,CAAC,oBAAAxQ,CAAqB9+D,EAAEG,GAAG,IAAIjgB,EAAE,QAAQA,EAAEugB,KAAKqiD,gBAAW,IAAS5iE,GAAGA,EAAEuvF,wBAAwBzvE,EAAEtF,iBAAiB,MAAMjZ,EAAEytF,GAAG/uE,GAAG,OAAOM,KAAKivE,UAAUjuF,GAAGgf,KAAKkvE,aAAaluF,GAAG,QAAQye,EAAEO,KAAKqiD,gBAAW,IAAS5iD,OAAE,EAAOA,EAAE0vE,uBAAuBnuF,EAAE0e,GAAG,IAAID,CAAC,CAAC,uBAAAkvE,CAAwBpvE,EAAEG,GAAG,IAAIjgB,EAAE,QAAQA,EAAEugB,KAAKqiD,gBAAW,IAAS5iE,GAAGA,EAAEuvF,wBAAwBzvE,EAAEtF,iBAAiB,MAAMjZ,EAAEwtF,GAAG9uE,GAAG,IAAID,EAA8G,OAA5GO,KAAKivE,UAAUjuF,GAAGgf,KAAKkvE,aAAaluF,GAAG,QAAQye,EAAEO,KAAKqiD,gBAAW,IAAS5iD,GAAGA,EAAE2vE,0BAA0BpuF,GAAUgf,KAAKqvE,yBAAyB,CAAC,oBAAAT,CAAqBrvE,EAAEG,GAAG,MAAMjgB,EAAEojB,EAAEnD,EAAE,CAACqiC,iBAAiBosC,KAAK,OAAOnuE,KAAKN,EAAE8kC,aAAa,qBAAqBnkD,KAAK2f,KAAKvgB,EAAE,CAAC,qBAAAovF,CAAsBtvE,EAAEG,GAAG,GAAG,KAAKH,EAAEsoB,QAAQ,CAACtoB,EAAEtF,iBAAiB,MAAMxa,EAAEigB,EAAE8kC,aAAa,QAAQxjD,EAAEgf,KAAKivE,UAAUxvF,GAAGugB,KAAKM,aAAatf,EAAE,CAAC,GAAG,KAAKue,EAAEsoB,QAAQ,OAAOtoB,EAAEtF,iBAAiB+F,KAAKsvE,YAAY,CAAC,aAAAC,CAAchwE,GAAG,OAAOS,KAAK8uE,QAAQvvE,EAAES,KAAKwvE,sBAAsB,CAAC,oBAAAA,GAAuB,OAAOxvE,KAAKyvE,kBAAiB,CAAElwE,EAAEG,KAAKH,EAAEmwE,UAAS,IAAK1vE,KAAK8uE,QAAQpvE,EAAG,GAAE,CAAC,gBAAA+vE,CAAiBlwE,GAAG,OAAOjiB,MAAMgE,KAAK0e,KAAKI,QAAQsS,iBAAiBu7D,KAAKtpF,KAAK+a,GAAGH,EAAEG,EAAE+uE,GAAG/uE,KAAK,CAAC,gBAAAiwE,CAAiBpwE,GAAG,OAAOS,KAAKmH,WAAW5H,EAAES,KAAKqvE,yBAAyB,CAAC,uBAAAA,GAA0B,OAAOrvE,KAAK4vE,qBAAoB,CAAErwE,EAAEG,KAAKH,EAAEmwE,UAAS,IAAK1vE,KAAKmH,WAAWzH,GAAGM,KAAKmH,WAAWzH,IAAIM,KAAK6vE,gBAAgBnwE,IAAIH,EAAEe,aAAa,mBAAmB,IAAIf,EAAE+R,UAAU/jB,IAAI,iBAAiBgS,EAAEiC,gBAAgB,oBAAoBjC,EAAE+R,UAAUgB,OAAO,kBAAkB,CAAC,mBAAAs9D,CAAoBrwE,GAAG,OAAOjiB,MAAMgE,KAAK0e,KAAKI,QAAQsS,iBAAiBs7D,KAAKrpF,KAAK+a,GAAGH,EAAEG,EAAE8uE,GAAG9uE,KAAK,CAAC,oBAAAowE,CAAqBvwE,GAAG,MAAMG,EAAE3O,KAAKC,UAAUuO,EAAEgF,QAAQ,IAAI,MAAMhF,KAAKjiB,MAAMgE,KAAK0e,KAAKI,QAAQsS,iBAAiB,oBAAoB,CAAC,MAAMjzB,EAAE8f,EAAEilC,aAAa,iBAAiBl/C,MAAM,KAAK,GAAGyL,KAAKC,UAAUvR,EAAE8kB,UAAU7E,EAAE,OAAOgD,EAAE,YAAY,CAACo/B,UAAUviC,KAAI,CAAE,CAAC,OAAM,CAAE,CAAC,eAAAswE,CAAgBtwE,GAAG,MAAMG,EAAEM,KAAKivE,UAAU1vE,GAAG,GAAGG,EAAE,OAAOA,EAAEy4C,aAAa,mBAAmB,CAAC,YAAA+2B,CAAa3vE,GAAG,OAAOS,KAAK6vE,gBAAgBtwE,GAAGS,KAAKsvE,aAAatvE,KAAK+vE,WAAWxwE,EAAE,CAAC,UAAAwwE,CAAWxwE,GAAG,IAAIG,EAAEjgB,EAAEugB,KAAKsvE,aAAa,QAAQ5vE,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAGA,EAAEswE,wBAAwB,MAAMhvF,EAAEgf,KAAKivE,UAAU1vE,GAAGve,EAAEsf,aAAa,mBAAmB,IAAItf,EAAEswB,UAAU/jB,IAAI,eAAejQ,MAAMgE,KAAKN,EAAE0xB,iBAAiB,oBAAoBlvB,SAAS+b,IAAIA,EAAEiC,gBAAgB,WAAY,IAAG,MAAM/B,EAAE+uE,GAAGxtF,GAAG,GAAGye,EAAE,CAAC,MAAMC,EAAE6uE,GAAGvtF,EAAEue,GAAGG,IAAIA,EAAEjf,MAAMuf,KAAKmH,WAAW1H,IAAI,GAAGC,EAAE6kB,SAAS,CAAC,OAAO,QAAQ9kC,EAAEugB,KAAKqiD,gBAAW,IAAS5iE,OAAE,EAAOA,EAAEwwF,qBAAqB1wE,EAAE,CAAC,YAAAe,CAAaf,GAAG,IAAIG,EAAE,MAAMjgB,EAAE+uF,GAAGjvE,GAAGve,EAAEutF,GAAGhvE,EAAE9f,GAAG,OAAOuB,EAAEkvF,eAAelvF,EAAEmvF,kBAAkB,IAAInvF,EAAEovF,iBAAiBpwE,KAAKqwE,gBAAgBrvF,KAAK,QAAQ0e,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAGA,EAAE4wE,0BAA0B7wF,EAAEuB,EAAEP,OAAOuf,KAAKsvE,eAAetuF,EAAEmvF,kBAAkB,iBAAiBnvF,EAAEsf,aAAa,qBAAqB,IAAItf,EAAEswB,UAAU/jB,IAAI,iBAAiBvM,EAAEqR,QAAQ,CAAC,eAAAg+E,CAAgB9wE,GAAG,OAAOA,EAAE44C,aAAa,4BAA4BlE,GAAG2F,iBAAiB,IAAI,OAAOr6C,EAAE9e,MAAM,CAAC,eAAA+gB,CAAgBjC,GAAG,IAAIG,EAAE,MAAMjgB,EAAE+uF,GAAGjvE,GAAG,OAAO,QAAQG,EAAEM,KAAKqiD,gBAAW,IAAS3iD,GAAGA,EAAE6wE,0BAA0B9wF,GAAGugB,KAAKsvE,YAAY,CAAC,UAAAA,GAAa,MAAM/vE,EAAES,KAAKI,QAAQhB,cAAcgvE,IAAI,IAAI1uE,EAAE,GAAGH,EAAE,OAAOA,EAAEiC,gBAAgB,oBAAoBjC,EAAE+R,UAAUgB,OAAO,eAAetS,KAAK+uE,oBAAoB,QAAQrvE,EAAEM,KAAKqiD,gBAAW,IAAS3iD,OAAE,EAAOA,EAAE8wE,qBAAqB,CAACjxE,GAAGA,EAAEilC,aAAa,oBAAnB,CAAwCjlC,GAAG,CAAC,iBAAAwvE,GAAoBzxF,MAAMgE,KAAK0e,KAAKI,QAAQsS,iBAAiB47D,KAAK9qF,SAAS+b,IAAIA,EAAEe,aAAa,WAAW,YAAYf,EAAEiC,gBAAgB,sBAAsBjC,EAAE+R,UAAUgB,OAAO,gBAAiB,GAAE,CAAC,SAAA28D,CAAU1vE,GAAG,OAAOS,KAAKI,QAAQhB,cAAc,qBAAqBrZ,OAAOwZ,EAAE,KAAK,EAAE,MAAMkxE,WAAWxP,GAAG,WAAA7/E,CAAYme,GAAG,IAAImxE,cAAchxE,EAAE9U,SAASnL,EAAE2wB,KAAKpvB,GAAGue,EAAEonC,SAASxpD,WAAW6iB,KAAK0wE,cAAchxE,EAAEM,KAAKy4D,iBAAiB,IAAI+B,GAAGx6D,KAAK0wE,eAAe1wE,KAAKy4D,iBAAiBpW,SAASriD,KAAKA,KAAKqwD,YAAY,IAAIY,GAAGjxD,KAAKqwD,YAAYhO,SAASriD,KAAKA,KAAK4vD,kBAAkB,IAAIE,GAAG9vD,KAAKqwD,YAAYxJ,kBAAkB7mD,KAAK4vD,kBAAkBvN,SAASriD,KAAKA,KAAKkpE,gBAAgB,IAAIlsE,EAAEymC,WAAW,IAAI4lC,GAAGrpE,KAAK0wE,eAAe,IAAInL,GAAGvlE,KAAK0wE,eAAe1wE,KAAKkpE,gBAAgB7mB,SAASriD,KAAKA,KAAKkpE,gBAAgBpE,UAAU9kE,KAAKqwD,YAAYrwD,KAAK2wE,sBAAsB,IAAInR,GAAGx/D,KAAK0wE,cAAc1wE,KAAKqwD,aAAarwD,KAAK2wE,sBAAsBtuB,SAASriD,KAAKA,KAAK4wE,kBAAkB,IAAIlC,GAAG1uE,KAAK0wE,cAAcG,gBAAgB7wE,KAAK4wE,kBAAkBvuB,SAASriD,KAAKA,KAAK8wE,OAAO,IAAItY,GAAGx4D,KAAKqwD,YAAYrwD,KAAKy4D,iBAAiBz4D,KAAK0wE,eAAejxF,EAAEugB,KAAK8wE,OAAOlY,aAAan5E,GAAGugB,KAAK8wE,OAAOjY,SAAS73E,EAAE,CAAC,wBAAA0pD,GAA2B,OAAOI,GAAGJ,yBAAyB1qC,KAAKy4D,iBAAiB,CAAC,0BAAA9tB,GAA6B,OAAOG,GAAGH,2BAA2B3qC,KAAKy4D,iBAAiB,CAAC,MAAA5yD,GAAS,OAAO7F,KAAK2wE,sBAAsB9qE,QAAQ,CAAC,OAAA2jE,GAAU,OAAOxpE,KAAKqwD,YAAYmC,YAAYxyD,KAAK0wE,cAAchwE,UAAU,CAAC,4BAAA2wD,CAA6B9xD,GAAG,GAAGS,KAAK+wE,oBAAoB,oBAAoB/wE,KAAKgxE,cAAc,OAAOhxE,KAAK6F,QAAQ,CAAC,qCAAAuxD,CAAsC73D,GAAG,OAAOS,KAAKkxD,kBAAkB3xD,EAAES,KAAK4wE,kBAAkBjB,iBAAiB3vE,KAAKkxD,mBAAmBlxD,KAAKixE,uBAAuBjxE,KAAK+wE,oBAAoB,oBAAoB,CAAC5pE,WAAWnH,KAAKkxD,mBAAmB,CAAC,qCAAAmG,CAAsC93D,GAAGS,KAAKkxE,UAAUlxE,KAAKmxE,YAAY5xE,EAAE,CAAC,2BAAAqzD,CAA4BrzD,GAAG,OAAOS,KAAK+wE,oBAAoB,cAAc,CAAC16D,KAAK9W,GAAG,CAAC,2BAAAw3D,CAA4Bx3D,GAAG,MAAMG,EAAEM,KAAK4vD,kBAAkBI,iBAAiBzwD,GAAG,OAAOS,KAAK+wE,oBAAoB,iBAAiB,CAAC76D,WAAWxW,GAAG,CAAC,4BAAAs3D,CAA6Bz3D,GAAGS,KAAK2wE,sBAAsBlQ,sBAAsBlhE,GAAG,MAAMG,EAAEM,KAAK4vD,kBAAkBI,iBAAiBzwD,GAAG,OAAOS,KAAK+wE,oBAAoB,kBAAkB,CAAC76D,WAAWxW,IAAIM,KAAK+wE,oBAAoB,SAAS,CAAC,wCAAA9Z,CAAyC13D,GAAG,OAAOS,KAAK2wE,sBAAsB/hC,wBAAwBrvC,GAAGS,KAAK+wE,oBAAoB,SAAS,CAAC,8BAAAja,CAA+Bv3D,GAAG,MAAMG,EAAEM,KAAK4vD,kBAAkBO,mBAAmB5wD,GAAG,OAAOS,KAAK+wE,oBAAoB,oBAAoB,CAAC76D,WAAWxW,GAAG,CAAC,oCAAAw3D,CAAqC33D,EAAEG,GAAG,OAAOM,KAAKoxE,wBAAwBpxE,KAAKqwD,YAAYzlE,SAAS8gE,6BAA6BnsD,GAAGS,KAAK2wE,sBAAsB/P,qCAAqCrhE,EAAEG,GAAGM,KAAKy4D,iBAAiB/C,iBAAiB11D,KAAKoxE,wBAAwB,CAAC,mCAAAja,CAAoC53D,GAAGS,KAAK2wE,sBAAsB9P,4BAA4B7gE,KAAKoxE,wBAAwB,IAAI,CAAC,qDAAA5b,CAAsDj2D,GAAG,IAAIS,KAAKqxE,iBAAiBrxE,KAAKsxE,YAAY,OAAOtxE,KAAKuxE,uBAAuBhyE,EAAES,KAAKwxE,8CAA8CxxE,KAAKqwD,YAAYc,SAASnxD,KAAKgxE,mBAAc,EAAOhxE,KAAK6F,QAAQ,CAAC,2BAAA4rD,GAA8BzxD,KAAKqxE,iBAAgB,CAAE,CAAC,0BAAA3f,GAA6B1xD,KAAK2wE,sBAAsBjQ,mBAAmB1gE,KAAK6F,SAAS7F,KAAKqxE,iBAAgB,CAAE,CAAC,mBAAA5b,GAAsB,OAAOz1D,KAAKy4D,gBAAgB,CAAC,8CAAAvI,CAA+C3wD,GAAG,OAAOS,KAAKyzD,iBAAiBl0D,EAAE,CAAC,yCAAA+gE,GAA4C,OAAOtgE,KAAKkpE,gBAAgB5E,6BAA6BtkE,KAAKy4D,iBAAiB0C,OAAOn7D,KAAKy4D,iBAAiB4C,gBAAgB,CAAC,wCAAAkF,GAA2C,OAAOvgE,KAAKkpE,gBAAgB3E,4BAA4BvkE,KAAKy4D,iBAAiB2C,SAASp7D,KAAKixE,uBAAuBjxE,KAAK+wE,oBAAoB,OAAO,CAAC,8BAAAvQ,GAAiCxgE,KAAKuxE,yBAAyBvxE,KAAKwxE,gDAAgDxxE,KAAKqwD,YAAYc,UAAUnxD,KAAKy4D,iBAAiB/C,iBAAiB11D,KAAKuxE,wBAAwBvxE,KAAKuxE,uBAAuB,KAAKvxE,KAAKwxE,8CAA8C,MAAMxxE,KAAKyxE,8BAA8BzxE,KAAKqwD,YAAYc,WAAWnxD,KAAK0xE,mBAAmB1xE,KAAKqwD,YAAYyE,0BAA0B90D,KAAK+wE,oBAAoB,WAAW/wE,KAAKyxE,4BAA4BzxE,KAAKqwD,YAAYc,QAAQ,CAAC,6BAAA2O,GAAgC,OAAO9/D,KAAK2xE,sBAAsB3xE,KAAK01D,iBAAiB,CAAC52E,MAAM,EAAEivC,OAAO,IAAI/tB,KAAK4wE,kBAAkBtB,aAAatvE,KAAK+wE,oBAAoB,QAAQ,CAAC,4BAAA/Q,GAA+B,OAAOhgE,KAAK+wE,oBAAoB,OAAO,CAAC,wCAAA7Q,CAAyC3gE,EAAEG,GAAG,OAAOM,KAAK4wE,kBAAkBtB,aAAatvE,KAAKqwD,YAAYkD,eAAeh0D,EAAEG,EAAE,CAAC,oDAAAshE,CAAqDzhE,GAAG,MAAMG,EAAEM,KAAKoxE,yBAAyBpxE,KAAKqwD,YAAYzlE,SAAS8gE,6BAA6BnsD,GAAG,OAAOS,KAAKy4D,iBAAiB/C,iBAAiBh2D,EAAE,GAAG,CAAC,yCAAAohE,CAA0CvhE,GAAG,OAAOS,KAAK8wE,OAAOrZ,gBAAgB,kBAAkB,CAACjuE,QAAQ+V,EAAEjQ,GAAGooE,gBAAe,GAAI,CAAC,kDAAAqJ,CAAmDxhE,GAAG,OAAOS,KAAKyzD,iBAAiBl0D,EAAE,CAAC,8BAAAylE,GAAiChlE,KAAKgxE,eAAc,EAAGhxE,KAAK4xE,iBAAgB,CAAE,CAAC,+BAAAnN,GAAkCzkE,KAAK4xE,iBAAgB,CAAE,CAAC,6BAAA3M,GAAgC,GAAGjlE,KAAKgxE,eAAc,EAAGhxE,KAAK4xE,gBAAgB,OAAO5xE,KAAK4xE,iBAAgB,EAAG5xE,KAAK6F,QAAQ,CAAC,qCAAA8/D,GAAwC,OAAO3lE,KAAK+wE,oBAAoB,SAAS,CAAC,gCAAApM,GAAmC,OAAO3kE,KAAKwpE,SAAS,CAAC,gCAAAxC,GAAmC,OAAOhnE,KAAK6xE,uBAAuB,CAAC,oCAAAjI,CAAqCrqE,GAAG,OAAOS,KAAK8xE,0BAA0BvyE,EAAE,CAAC,0BAAA0oE,GAA6B,OAAOjoE,KAAK8wE,OAAOrZ,gBAAgB,MAAM,CAAC,wBAAA6Q,CAAyB/oE,GAAG,OAAOS,KAAK8wE,OAAOrZ,gBAAgB,SAASz3D,KAAKkxE,SAAQ,EAAGlxE,KAAK+wE,oBAAoB,eAAe,CAAC7I,MAAM3oE,GAAG,CAAC,uBAAAgpE,CAAwBhpE,GAAG,OAAOA,EAAE8kB,MAAMrkB,KAAKmxE,YAAYnxE,KAAKmxE,YAAY,KAAKnxE,KAAKkxE,QAAQ,KAAKlxE,KAAK+wE,oBAAoB,QAAQ,CAAC7I,MAAM3oE,GAAG,CAAC,2BAAAwoE,GAA8B,OAAO/nE,KAAK8wE,OAAOrZ,gBAAgB,OAAO,CAAC,8BAAAoN,GAAiC,OAAO7kE,KAAK8wE,OAAOrZ,gBAAgB,aAAa,CAAC,8BAAA0V,GAAiC,OAAOntE,KAAK8wE,OAAOzvC,MAAM,CAAC,8BAAA4rC,GAAiC,OAAOjtE,KAAK8wE,OAAO3vC,MAAM,CAAC,wCAAA0lC,CAAyCtnE,GAAG,OAAOS,KAAK4wE,kBAAkBd,qBAAqBvwE,EAAE,CAAC,2BAAA+nE,GAA8BtnE,KAAK+xE,wBAAwB/xE,KAAKy4D,iBAAiBhG,kBAAkB,CAAC,sCAAAkV,CAAuCpoE,GAAG,OAAOS,KAAKy4D,iBAAiBwC,+BAA+B17D,EAAE,CAAC,4BAAAsoE,GAA+B7nE,KAAKy4D,iBAAiB/C,iBAAiB11D,KAAK+xE,yBAAyB/xE,KAAK+xE,wBAAwB,IAAI,CAAC,sBAAAjW,CAAuBv8D,GAAG,OAAOS,KAAKqwD,YAAYyE,0BAA0B90D,KAAKixE,uBAAuBjxE,KAAKoxE,0BAA0B9mC,GAAGtqC,KAAKoxE,wBAAwB7xE,IAAIS,KAAKqwD,YAAYqD,wBAAwB1zD,KAAK+wE,oBAAoB,mBAAmB,CAAC,qBAAA/B,GAAwB,IAAIhvE,KAAKyyD,mBAAmB,OAAOzyD,KAAK01D,iBAAiB,CAAC52E,MAAM,EAAEivC,OAAO,GAAG,CAAC,sBAAAohD,CAAuB5vE,EAAEG,GAAG,OAAOM,KAAKgyE,aAAazyE,EAAEG,EAAE,CAAC,yBAAA0vE,CAA0B7vE,GAAG,GAAGS,KAAK8xE,0BAA0BvyE,GAAGS,KAAKqwD,YAAY8D,uBAAuB50D,GAAGS,KAAK6F,UAAU7F,KAAKiyE,gBAAgB,OAAOjyE,KAAK0wE,cAAcr+E,OAAO,CAAC,yBAAAi+E,CAA0B/wE,EAAEG,GAAG,GAAGM,KAAK8xE,0BAA0BvyE,GAAGS,KAAKqwD,YAAY+D,oBAAoB70D,EAAEG,GAAGM,KAAK6F,UAAU7F,KAAKiyE,gBAAgB,OAAOjyE,KAAK0wE,cAAcr+E,OAAO,CAAC,yBAAAk+E,CAA0BhxE,GAAG,GAAGS,KAAK8xE,0BAA0BvyE,GAAGS,KAAKqwD,YAAYsD,uBAAuBp0D,GAAGS,KAAK6F,UAAU7F,KAAKiyE,gBAAgB,OAAOjyE,KAAK0wE,cAAcr+E,OAAO,CAAC,qBAAA29E,CAAsBzwE,GAAG,OAAOS,KAAKqwD,YAAY+F,4BAA4Bp2D,KAAKq1D,iBAAiB,CAAC,oBAAA4a,CAAqB1wE,GAAG,OAAOS,KAAK+wE,oBAAoB,sBAAsB,CAACmB,WAAW3yE,GAAG,CAAC,oBAAAixE,CAAqBjxE,GAAG,OAAOS,KAAKs1D,gBAAgBt1D,KAAK0wE,cAAcr+E,QAAQ2N,KAAK+wE,oBAAoB,sBAAsB,CAACmB,WAAW3yE,GAAG,CAAC,eAAA81D,GAAkB,IAAIr1D,KAAKiyE,gBAAgB,OAAOjyE,KAAKy4D,iBAAiB0C,OAAOn7D,KAAKqwD,YAAYgF,kBAAkBr1D,KAAKiyE,iBAAgB,EAAGjyE,KAAK6F,QAAQ,CAAC,aAAAyvD,GAAgB,GAAGt1D,KAAKiyE,gBAAgB,OAAOjyE,KAAKqwD,YAAYiF,gBAAgBt1D,KAAKy4D,iBAAiB2C,SAASp7D,KAAKiyE,iBAAgB,EAAGjyE,KAAK6F,QAAQ,CAAC,eAAAssE,CAAgB5yE,GAAG,QAAQS,KAAKoyE,iBAAiB7yE,MAAM,QAAQG,EAAEM,KAAK8uE,QAAQvvE,UAAK,IAASG,GAAG,QAAQA,EAAEA,EAAEne,YAAO,IAASme,IAAIA,EAAErf,KAAK2f,OAAO,IAAIN,CAAC,CAAC,YAAAsyE,CAAazyE,EAAEG,GAAG,OAAOM,KAAKoyE,iBAAiB7yE,GAAGS,KAAK+wE,oBAAoB,gBAAgB,CAACsB,WAAW9yE,EAAE+yE,gBAAgB5yE,IAAI,QAAQjgB,EAAEugB,KAAK8uE,QAAQvvE,UAAK,IAAS9f,GAAG,QAAQA,EAAEA,EAAEyuD,eAAU,IAASzuD,OAAE,EAAOA,EAAEY,KAAK2f,MAAM,IAAIvgB,CAAC,CAAC,gBAAA2yF,CAAiB7yE,GAAG,MAAM,OAAOhe,KAAKge,EAAE,CAAC,iBAAAgzE,GAAoB,MAAMhzE,EAAE,CAAC,EAAE,IAAI,MAAMG,KAAKM,KAAK8uE,QAAQvvE,EAAEG,GAAGM,KAAKmyE,gBAAgBzyE,GAAG,OAAOH,CAAC,CAAC,oBAAA0xE,GAAuB,MAAM1xE,EAAES,KAAKuyE,oBAAoB,IAAItoC,GAAG1qC,EAAES,KAAKwyE,gBAAgB,OAAOxyE,KAAKwyE,eAAejzE,EAAES,KAAK4wE,kBAAkBrB,cAAcvvE,KAAKwyE,gBAAgBxyE,KAAK+wE,oBAAoB,iBAAiB,CAACjC,QAAQ9uE,KAAKwyE,gBAAgB,CAAC,gBAAAd,GAAmB,IAAInyE,EAAES,KAAKqwD,YAAYiB,cAAc,GAAGh0E,MAAMgE,KAAK0e,KAAK8wE,OAAOnY,SAASn1E,SAASkc,IAAI,MAAM9U,SAASnL,EAAE8xE,cAAcvwE,GAAGue,EAAEA,EAAEG,EAAErf,KAAK2f,KAAK8wE,OAAOvxE,IAAI,CAAC,EAAEA,EAAE3U,WAAW2U,EAAE3U,SAASnL,GAAG8f,EAAEgyD,gBAAgBhyD,EAAEgyD,cAAcvwE,EAAG,IAAG0e,EAAEH,EAAE9f,EAAEugB,KAAKqwD,YAAYiB,eAAehnB,GAAG5qC,EAAE6xD,cAAc9xE,EAAE8xE,iBAAiB7xD,EAAE9U,SAASq8C,UAAUxnD,EAAEmL,UAAU,OAAOoV,KAAKqwD,YAAYmB,aAAajyD,GAAG,IAAIG,EAAEjgB,CAAC,CAAC,kBAAAgzF,GAAqB,MAAMlzE,EAAE,SAASA,EAAEG,GAAG,MAAMjgB,EAAE+vE,GAAG9vD,GAAG,GAAGjgB,EAAE,OAAOA,EAAE8f,GAAG,MAAM,IAAIzO,MAAM,yBAAyB/K,OAAO2Z,GAAG,CAAhG,CAAkGM,KAAK2wE,sBAAsBxQ,yBAAyB,aAAa,OAAOngE,KAAK0wE,cAAcgC,aAAanzE,EAAE,CAAC,mBAAAwxE,CAAoBxxE,EAAEG,GAAG,OAAOH,GAAG,IAAI,kBAAkBS,KAAK2yE,gCAA+B,EAAG,MAAM,IAAI,SAAS3yE,KAAK2yE,iCAAiC3yE,KAAK2yE,gCAA+B,EAAG3yE,KAAK+wE,oBAAoB,WAAW,MAAM,IAAI,SAAS,IAAI,iBAAiB,IAAI,kBAAkB,IAAI,oBAAoB/wE,KAAKyyE,qBAAqB,OAAOzyE,KAAK0wE,cAAckC,OAAOrzE,EAAEG,EAAE,CAAC,gBAAA+zD,CAAiBl0D,GAAG,OAAOS,KAAK8wE,OAAOrZ,gBAAgB,qBAAqBz3D,KAAKqwD,YAAYoD,iBAAiBl0D,GAAGS,KAAK6F,QAAQ,CAAC,yBAAAisE,CAA0BvyE,GAAG,MAAMG,EAAEspC,GAAGzpC,GAAG9f,EAAEugB,KAAKy4D,iBAAiBhG,mBAAmB,GAAG/yD,IAAI0qC,GAAG3qD,GAAG,OAAOugB,KAAK8wE,OAAOrZ,gBAAgB,aAAa,CAACjuE,QAAQwW,KAAK6yE,iBAAiBnb,gBAAe,GAAI,CAAC,qBAAAma,GAAwB,OAAO7xE,KAAK8wE,OAAOrZ,gBAAgB,SAAS,CAACjuE,QAAQwW,KAAK6yE,eAAe7yE,KAAKkxD,mBAAmBwG,gBAAe,GAAI,CAAC,cAAAmb,GAAiB,IAAI,IAAItzE,EAAEpiB,UAAUC,OAAOsiB,EAAE,IAAIpiB,MAAMiiB,GAAG9f,EAAE,EAAEA,EAAE8f,EAAE9f,IAAIigB,EAAEjgB,GAAGtC,UAAUsC,GAAG,MAAM,CAACugB,KAAK8yE,qBAAqB9yE,KAAK+yE,oBAAoBz1F,MAAMgE,KAAKoe,GAAG,CAAC,kBAAAozE,GAAqB,MAAMvzE,EAAES,KAAKy4D,iBAAiBhG,mBAAmB,OAAOroB,GAAG7qC,GAAGA,EAAE,GAAGzgB,MAAMygB,CAAC,CAAC,cAAAwzE,GAAiB,OAAOj5D,EAAE8qB,SAAS,EAAEjwB,KAAKwD,OAAM,IAAK7S,MAAMqO,UAAUmG,EAAE8qB,UAAU,CAAC,CAAC,SAAA0sC,GAAY,IAAI/xE,EAAE,OAAOS,KAAK0wE,iBAAiB,QAAQnxE,EAAES,KAAK0wE,cAAc/7B,qBAAgB,IAASp1C,OAAE,EAAOA,EAAE9F,cAAc,CAAC,kBAAAk4E,GAAqB,OAAO3xE,KAAKsxE,cAActxE,KAAKyyD,kBAAkB,CAAC,WAAIqc,GAAU,OAAO9uE,KAAK5e,YAAY0tF,OAAO,EAAE5uB,GAAGuwB,GAAG,UAAU,CAACpvC,KAAK,CAAC,IAAA9/C,GAAO,OAAOye,KAAK8wE,OAAOhZ,SAAS,EAAE,OAAA5pB,GAAU,OAAOluC,KAAK8wE,OAAOzvC,MAAM,GAAGF,KAAK,CAAC,IAAA5/C,GAAO,OAAOye,KAAK8wE,OAAO/Y,SAAS,EAAE,OAAA7pB,GAAU,OAAOluC,KAAK8wE,OAAO3vC,MAAM,GAAGH,KAAK,CAAC,IAAAz/C,GAAO,OAAOye,KAAK8wE,OAAO3X,qBAAqB,OAAO,GAAG3Q,qBAAqB,CAAC,IAAAjnE,GAAO,OAAOye,KAAK8wE,OAAO7b,yBAAyB,EAAE,OAAA/mB,GAAU,OAAOluC,KAAK8wE,OAAOtoB,wBAAwBxoD,KAAK6F,QAAQ,GAAG0iD,qBAAqB,CAAC,IAAAhnE,GAAO,OAAOye,KAAK8wE,OAAO9b,yBAAyB,EAAE,OAAA9mB,GAAU,OAAOluC,KAAK8wE,OAAOvoB,wBAAwBvoD,KAAK6F,QAAQ,GAAG26B,YAAY,CAACj/C,KAAK,KAAI,EAAG,OAAA2sD,GAAU,OAAOlxC,EAAE0mC,UAAU1jC,KAAK8wE,OAAOne,YAAY,KAAK8d,GAAGxqC,YAAY,0CAA0CwqC,GAAGxqC,YAAY,0CAA0C,IAAI+sC,GAAGh1F,OAAO6mD,OAAO,CAACC,UAAU,KAAKmuC,2BAA2B/U,GAAGgV,sBAAsB1T,GAAG2T,WAAWlS,GAAGmS,iBAAiB3C,GAAG4C,gBAAgBpP,GAAGqP,sBAAsB/N,GAAGgO,sBAAsBlK,GAAGmK,kBAAkB9E,KAAKzuF,GAAGjC,OAAO6mD,OAAO,CAACC,UAAU,KAAK88B,iBAAiBH,GAAGgS,wBAAwBlpC,KAAKmpC,GAAG11F,OAAO6mD,OAAO,CAACC,UAAU,KAAK6uC,0BAA0BxQ,GAAGyQ,sBAAsBhyB,KAAK1Y,GAAG,eAAe,6QAA6Q,MAAM2qC,WAAWpkB,YAAY,iBAAAqkB,GAAoB,KAAK9zE,KAAKU,YAAYV,KAAKU,UAAUiZ,EAAEgrB,iBAAiB,EAAE,IAAIovC,GAAG,EAAE,MAA2PC,GAAG,SAASz0E,GAAG,OAAO00E,GAAG10E,GAAG20E,GAAG30E,EAAE,EAAE00E,GAAG,SAAS10E,GAAG,IAAIG,EAAEjgB,EAAE,GAAG,QAAQigB,GAAGjgB,EAAEmL,UAAUupF,6BAAwB,IAASz0E,GAAGA,EAAErf,KAAKZ,EAAE,wBAAwB,OAAOmL,SAASwpF,YAAY,wBAAuB,GAAG,GAAInmF,EAAE,kBAAkB,CAAC6zC,UAAUviC,EAAEtF,gBAAe,GAAI,EAAEi6E,GAAG,SAAS30E,GAAG,IAAIG,EAAEjgB,EAAE,GAAG,QAAQigB,GAAGjgB,EAAEmL,UAAUupF,6BAAwB,IAASz0E,GAAGA,EAAErf,KAAKZ,EAAE,6BAA6B,CAAC,MAAMoiB,QAAQtC,GAAGve,EAAE+9C,QAAQ,GAAG,CAAC,MAAM,KAAKluC,SAAS0O,GAAG,OAAO3U,SAASwpF,YAAY,6BAA4B,EAAG70E,EAAE,CAAC,EAAE80E,GAAGrmF,EAAEkyC,qBAAqB,CAAC6sB,QAAQ,SAASjgD,MAAM,QAAQ,CAACigD,QAAQ,eAAejgD,MAAM,OAAOo8B,GAAG,cAAc,+SAA+SnjD,OAAO2Z,EAAE,uDAAuD3Z,OAAO2Z,EAAE,6HAA6H3Z,OAAO2Z,EAAE,2KAA2K3Z,OAAOsuF,GAAGtnB,QAAQ,6BAA6BhnE,OAAOsuF,GAAGvnE,MAAM,kVAAkV,IAAIwnE,GAAG,IAAIC,QAAQC,GAAG,IAAIC,QAAQ,MAAMC,GAAG,WAAAtzF,CAAYme,GAAG,IAAM9f,EAAEihE,GAAK1gD,KAAKvgB,EAAE+0F,IAAI/0F,EAAE8N,IAAbyS,MAAoB2gD,GAAG3gD,KAAKs0E,GAAG,CAAC9vF,UAAS,EAAG/D,WAAM,IAASuf,KAAKI,QAAQb,EAAEghD,GAAGvgD,KAAKs0E,GAAG/0E,EAAEo1E,kBAAkB,CAAC,iBAAAb,GAAoBrzB,GAAGzgD,KAAKw0E,GAAGI,IAAIv0F,KAAK2f,KAAK,CAAC,oBAAA60E,GAAuB,CAAC,UAAIC,GAAS,OAAO10B,GAAGpgD,KAAKs0E,IAAIQ,MAAM,CAAC,YAAIpF,GAAW,IAAInwE,EAAE,OAAO,QAAQA,EAAES,KAAKI,QAAQtH,oBAAe,IAASyG,OAAE,EAAOA,EAAEmwE,QAAQ,CAAC,YAAIA,CAASnwE,GAAGS,KAAKI,QAAQ20E,gBAAgB,WAAWx1E,EAAE,CAAC,YAAI2a,GAAW,OAAOla,KAAKI,QAAQ+3C,aAAa,WAAW,CAAC,YAAIj+B,CAAS3a,GAAGS,KAAKI,QAAQ20E,gBAAgB,WAAWx1E,GAAGkhD,GAAGzgD,KAAKw0E,GAAGI,IAAIv0F,KAAK2f,KAAK,CAAC,YAAIg1E,GAAW,OAAO50B,GAAGpgD,KAAKs0E,IAAIU,QAAQ,CAAC,qBAAIC,GAAoB,OAAO70B,GAAGpgD,KAAKs0E,IAAIW,iBAAiB,CAAC,gBAAI/E,GAAe,OAAO9vB,GAAGpgD,KAAKs0E,IAAIpE,YAAY,CAAC,YAAAwC,CAAanzE,GAAGkhD,GAAGzgD,KAAKw0E,GAAGI,IAAIv0F,KAAK2f,KAAK,CAAC,aAAAowE,GAAgB,OAAOhwB,GAAGpgD,KAAKs0E,IAAIlE,eAAe,CAAC,cAAA8E,GAAiB,OAAO90B,GAAGpgD,KAAKs0E,IAAIY,gBAAgB,CAAC,iBAAA/E,CAAkB5wE,GAAGkhD,GAAGzgD,KAAKw0E,GAAGI,IAAIv0F,KAAK2f,KAAKT,EAAE,EAAE,SAASq1E,KAAK,IAAIr1E,EAAEpiB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,MAAM+8B,SAASxa,EAAEjf,MAAMhB,GAAGugB,KAAKI,QAAQpf,EAAE0e,IAAIjgB,EAAEggB,IAAIF,EAAE1e,EAAEskB,EAAE,QAAQ,CAAC+U,SAASxa,IAAIF,EAAED,GAAG1e,EAAEo0F,kBAAkB70B,GAAGpgD,KAAKs0E,IAAIa,YAAY,CAACC,aAAap0F,EAAEq0F,YAAY51E,GAAGD,EAAE,CAAC,IAAI81E,GAAG,IAAIf,QAAQgB,GAAG,IAAIhB,QAAQiB,GAAG,IAAIjB,QAAQ,MAAMkB,GAAG,WAAAr0F,CAAYme,GAAGohD,GAAG3gD,KAAKs1E,GAAG,CAAC9wF,UAAS,EAAG/D,WAAM,IAASkgE,GAAG3gD,KAAKu1E,GAAG,CAAC/wF,UAAS,EAAG/D,MAAM8e,IAAIA,EAAEwlE,kBAAkBxlE,EAAE/c,SAASwd,KAAKI,QAAQgL,MAAMpL,KAAKI,QAAQ69B,OAAM,IAAK0iB,GAAG3gD,KAAKw1E,GAAG,CAAChxF,UAAS,EAAG/D,MAAM8e,IAAI,GAAGA,EAAEwlE,iBAAiB,OAAO,GAAG/kE,KAAKI,QAAQ/G,SAASkG,EAAE/c,QAAQ,OAAO,MAAMkd,EAAEmD,EAAEtD,EAAE/c,OAAO,CAACu/C,iBAAiB,UAAUriC,GAAGpiB,MAAMgE,KAAK0e,KAAK80E,QAAQjkF,SAAS6O,IAAIM,KAAKI,QAAQ/N,OAAM,IAAK2N,KAAKI,QAAQb,CAAC,CAAC,iBAAAu0E,GAAoBvzB,GAAGvgD,KAAKs1E,GAAG,SAAS/1E,GAAG,GAAGA,EAAE44C,aAAa,eAAe54C,EAAE44C,aAAa,mBAAmB,OAAO,MAAMz4C,EAAE,WAAW,MAA+FjgB,EAAvFnC,MAAMgE,KAAKie,EAAEu1E,QAAQnwF,KAAK+a,IAAI,IAAIA,EAAErG,SAASkG,GAAG,OAAOG,EAAEqR,WAAY,IAAG5tB,QAAQoc,GAAGA,IAAQrH,KAAK,KAAK,OAAOzY,EAAE8f,EAAEe,aAAa,aAAa7gB,GAAG8f,EAAEiC,gBAAgB,aAAa,EAAE,OAAO9B,IAAIzR,EAAE,QAAQ,CAAC6zC,UAAUviC,EAAEyiC,aAAatiC,GAAG,CAAjV,CAAmVM,KAAKI,UAAUhW,OAAOkX,iBAAiB,QAAQ8+C,GAAGpgD,KAAKu1E,KAAI,GAAInrF,OAAOkX,iBAAiB,QAAQ8+C,GAAGpgD,KAAKw1E,KAAI,EAAG,CAAC,oBAAAX,GAAuB,IAAIt1E,EAAE,QAAQA,EAAE6gD,GAAGpgD,KAAKs1E,WAAM,IAAS/1E,GAAGA,EAAE8T,UAAUjpB,OAAOmX,oBAAoB,QAAQ6+C,GAAGpgD,KAAKu1E,KAAI,GAAInrF,OAAOmX,oBAAoB,QAAQ6+C,GAAGpgD,KAAKw1E,KAAI,EAAG,CAAC,UAAIV,GAAS,MAAMv1E,EAAE,GAAGS,KAAKI,QAAQ9Q,IAAI0Q,KAAKI,QAAQu0C,eAAep1C,EAAE/e,QAAQlD,MAAMgE,KAAK0e,KAAKI,QAAQu0C,cAAcjiC,iBAAiB,cAAc3sB,OAAOia,KAAKI,QAAQ9Q,GAAG,QAAQ,KAAK,MAAMoQ,EAAEmD,EAAE7C,KAAKI,QAAQ,CAAC2hC,iBAAiB,UAAU,OAAOriC,GAAG,CAACM,KAAKI,QAAQ,MAAMvP,SAAS6O,EAAEqpE,UAAUxpE,EAAE/e,KAAKkf,GAAGH,CAAC,CAAC,YAAImwE,GAAW,OAAOzkF,QAAQ6pB,KAAK,qFAAoF,CAAE,CAAC,YAAI46D,CAASnwE,GAAGtU,QAAQ6pB,KAAK,mFAAmF,CAAC,YAAIoF,GAAW,OAAOjvB,QAAQ6pB,KAAK,qFAAoF,CAAE,CAAC,YAAIoF,CAAS3a,GAAGtU,QAAQ6pB,KAAK,mFAAmF,CAAC,YAAIkgE,GAAW,OAAO/pF,QAAQ6pB,KAAK,iFAAiF,IAAI,CAAC,qBAAImgE,GAAoB,OAAOhqF,QAAQ6pB,KAAK,0FAA0F,EAAE,CAAC,gBAAIo7D,GAAe,OAAOjlF,QAAQ6pB,KAAK,sFAAqF,CAAE,CAAC,YAAA49D,CAAanzE,GAAG,CAAC,aAAA6wE,GAAgB,OAAOnlF,QAAQ6pB,KAAK,4EAA2E,CAAE,CAAC,cAAAogE,GAAiB,OAAOjqF,QAAQ6pB,KAAK,6EAA4E,CAAE,CAAC,iBAAAq7D,CAAkB5wE,GAAGtU,QAAQ6pB,KAAK,+FAA+F,EAAE,IAAI4gE,GAAG,IAAInB,QAAQ,MAAMoB,WAAWlmB,YAAY,WAAAruE,GAAculD,QAAQga,GAAG3gD,KAAK01E,GAAG,CAAClxF,UAAS,EAAG/D,WAAM,IAAS8/D,GAAGvgD,KAAK01E,GAAG11E,KAAK5e,YAAYw0F,eAAe,IAAIlB,GAAG10E,MAAM,IAAIy1E,GAAGz1E,MAAM,CAAC,UAAI88C,GAAS,OAAO98C,KAAKm4C,aAAa,WAAWn4C,KAAKwkC,aAAa,YAAYxkC,KAAKM,aAAa,YAAYyzE,IAAI/zE,KAAK88C,OAAO,CAAC,UAAIg4B,GAAS,OAAO10B,GAAGpgD,KAAK01E,IAAIZ,MAAM,CAAC,YAAIpF,GAAW,OAAOtvB,GAAGpgD,KAAK01E,IAAIhG,QAAQ,CAAC,YAAIA,CAASnwE,GAAG6gD,GAAGpgD,KAAK01E,IAAIhG,SAASnwE,CAAC,CAAC,YAAI2a,GAAW,OAAOkmC,GAAGpgD,KAAK01E,IAAIx7D,QAAQ,CAAC,YAAIA,CAAS3a,GAAG6gD,GAAGpgD,KAAK01E,IAAIx7D,SAAS3a,CAAC,CAAC,YAAIy1E,GAAW,OAAO50B,GAAGpgD,KAAK01E,IAAIV,QAAQ,CAAC,qBAAIC,GAAoB,OAAO70B,GAAGpgD,KAAK01E,IAAIT,iBAAiB,CAAC,gBAAI/E,GAAe,OAAO9vB,GAAGpgD,KAAK01E,IAAIxF,YAAY,CAAC,QAAI7iF,GAAO,OAAO2S,KAAK8G,SAAS,CAAC,kBAAI+pE,GAAiB,IAAItxE,EAAE,GAAGS,KAAKm4C,aAAa,WAAW,OAAO,QAAQ54C,EAAES,KAAK20C,qBAAgB,IAASp1C,OAAE,EAAOA,EAAE7D,eAAesE,KAAKwkC,aAAa,YAAY,GAAGxkC,KAAK2C,WAAW,CAAC,MAAMpD,EAAE,gBAAgBxZ,OAAOia,KAAK88C,QAAQ98C,KAAKM,aAAa,UAAUf,GAAG,MAAMG,EAAEyF,EAAE,eAAe,CAAC7V,GAAGiQ,IAAI,OAAOS,KAAK2C,WAAWsC,aAAavF,EAAEM,MAAMN,CAAC,CAAC,CAAC,QAAI0L,GAAO,IAAI7L,EAAE,OAAO,QAAQA,EAAES,KAAKlH,oBAAe,IAASyG,OAAE,EAAOA,EAAE6L,IAAI,CAAC,gBAAItS,GAAe,IAAIyG,EAAE,GAAGS,KAAKm4C,aAAa,SAAS,OAAO,QAAQ54C,EAAES,KAAK20C,qBAAgB,IAASp1C,OAAE,EAAOA,EAAE7D,eAAesE,KAAKwkC,aAAa,UAAU,GAAGxkC,KAAK2C,WAAW,CAAC,MAAMpD,EAAE,cAAcxZ,OAAOia,KAAK88C,QAAQ98C,KAAKM,aAAa,QAAQf,GAAG,MAAMG,EAAEyF,EAAE,QAAQ,CAAC9X,KAAK,SAASiC,GAAGiQ,IAAI,OAAOS,KAAK2C,WAAWsC,aAAavF,EAAEM,KAAK61E,oBAAoBn2E,CAAC,CAAC,CAAC,UAAIoxE,GAAS,IAAIvxE,EAAE,OAAO,QAAQA,EAAES,KAAK81E,wBAAmB,IAASv2E,OAAE,EAAOA,EAAEuxE,MAAM,CAAC,QAAIzvF,GAAO,IAAIke,EAAE,OAAO,QAAQA,EAAES,KAAKlH,oBAAe,IAASyG,OAAE,EAAOA,EAAEle,IAAI,CAAC,SAAIZ,GAAQ,IAAI8e,EAAE,OAAO,QAAQA,EAAES,KAAKlH,oBAAe,IAASyG,OAAE,EAAOA,EAAE9e,KAAK,CAAC,SAAIA,CAAM8e,GAAG,IAAIG,EAAEM,KAAK4Y,aAAarZ,EAAE,QAAQG,EAAEM,KAAK8wE,cAAS,IAASpxE,GAAGA,EAAEm5D,SAAS74D,KAAK4Y,aAAa,CAAC,MAAAg6D,CAAOrzE,EAAEG,GAAG,GAAGM,KAAK81E,iBAAiB,OAAOpzE,EAAE,QAAQ3c,OAAOwZ,GAAG,CAACuiC,UAAU9hC,KAAKmH,WAAWzH,GAAG,CAAC,YAAAgzE,CAAanzE,GAAGS,KAAKlH,eAAekH,KAAKlH,aAAarY,MAAM8e,EAAE6gD,GAAGpgD,KAAK01E,IAAIhD,aAAanzE,GAAG,CAAC,iBAAAu0E,GAAoB9zE,KAAKm4C,aAAa,wBAA1nP,SAAS54C,GAAG,IAAIA,EAAE44C,aAAa,mBAA0B54C,EAAEe,aAAa,kBAAkB,IAAI,SAASf,GAAG,IAAIG,EAAEviB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAASuiB,EAAEovB,MAAM,EAAE7gC,EAAEsR,EAAEG,EAAE,CAAnG,CAAqG,QAAQ,CAACoiC,UAAUviC,EAAEyiC,aAAa,IAAIgyC,GAAGz0E,IAAI,CAAk6Ow2E,CAAG/1E,MAAM,SAAST,GAAOA,EAAE44C,aAAa,SAAQ54C,EAAEe,aAAa,OAAO,UAAU,CAAvE,CAAyEN,MAAMA,KAAK81E,mBAAmBpzE,EAAE,yBAAyB,CAACo/B,UAAU9hC,OAAOA,KAAK81E,iBAAiB,IAAIrF,GAAG,CAACC,cAAc1wE,KAAKoQ,KAAKpQ,KAAK4Y,aAAa5Y,KAAKvf,QAAQqyB,uBAAsB,IAAKpQ,EAAE,kBAAkB,CAACo/B,UAAU9hC,UAAUA,KAAK81E,iBAAiBprC,2BAA2B0V,GAAGpgD,KAAK01E,IAAI5B,oBAAoB,SAASv0E,IAAO3U,SAASwU,cAAc,WAAWG,EAAE44C,aAAa,cAAcvtD,SAASwU,cAAc,iBAAiBG,GAAEA,EAAElN,OAAO,CAAlI,CAAoI2N,MAAM,CAAC,oBAAA60E,GAAuB,IAAIt1E,EAAE,QAAQA,EAAES,KAAK81E,wBAAmB,IAASv2E,GAAGA,EAAEorC,6BAA6ByV,GAAGpgD,KAAK01E,IAAIb,sBAAsB,CAAC,aAAAzE,GAAgB,OAAOhwB,GAAGpgD,KAAK01E,IAAItF,eAAe,CAAC,cAAA8E,GAAiB,OAAO90B,GAAGpgD,KAAK01E,IAAIR,gBAAgB,CAAC,iBAAA/E,CAAkB5wE,GAAG6gD,GAAGpgD,KAAK01E,IAAIvF,kBAAkB5wE,EAAE,CAAC,oBAAAy2E,CAAqBz2E,GAAGS,KAAKlH,eAAekH,KAAKlH,aAAa42E,SAASnwE,GAAGS,KAAK+0E,gBAAgB,mBAAmBx1E,EAAE,CAAC,iBAAA02E,GAAoBj2E,KAAKi+B,OAAO,CAAC,KAAAA,GAAQj+B,KAAKvf,MAAMuf,KAAK4Y,YAAY,EAAEsnC,GAAGy1B,GAAG,iBAAiB,qBAAqBvrF,QAAQ,MAAM8rF,GAAG,CAACC,QAD7s3K,SACut3KnhD,OAAOpuB,EAAEoI,KAAK0gD,GAAG0mB,OAAOpa,GAAGqa,MAAMjZ,GAAGkZ,YAAYtD,GAAGuD,UAAUt2F,GAAGu2F,WAAW9C,GAAG5hE,SAAS9zB,OAAO6mD,OAAO,CAACC,UAAU,KAAK2xC,kBAAkBd,GAAGe,mBAAmB7C,KAAKlb,QAAQ36E,OAAO6mD,OAAO,CAACC,UAAU,KAAK6xC,OAAO1e,GAAG2e,wBAAwBte,MAAMt6E,OAAOiU,OAAOikF,GAAGla,IAAI5xE,OAAOysF,KAAKX,GAAGz4F,YAAW,WAAYq5F,eAAe/2E,IAAI,iBAAiB+2E,eAAeC,OAAO,eAAelD,IAAIiD,eAAe/2E,IAAI,gBAAgB+2E,eAAeC,OAAO,cAAcpB,GAAI,GAAE,kECLlq4K,MAAMqB,UAA2BlmF,MAC/B,WAAA1P,GACEulD,SAASxpD,WACT6iB,KAAK3e,KAAO,oBACd,EAEF,yBCNA,MAAM41F,EAAiBj5F,OAAOiD,UAAUC,SAElCg2F,EAAUz2F,GAAwC,mBAA/Bw2F,EAAe52F,KAAKI,GAEvC02F,EAAgB,IAAItgB,IAAI,CAC7B,gBACA,kBACA,kDACA,iDACA,cACA,yBACA,eACA,eCTM,MAAMugB,UAAmBtmF,MAC/B,WAAA1P,CAAYu9C,GACXgI,QAEIhI,aAAmB7tC,OACtBkP,KAAKq3E,cAAgB14C,IACnBA,WAAWA,KAEb3+B,KAAKq3E,cAAgB,IAAIvmF,MAAM6tC,GAC/B3+B,KAAKq3E,cAAcC,MAAQt3E,KAAKs3E,OAGjCt3E,KAAK3e,KAAO,aACZ2e,KAAK2+B,QAAUA,CAChB,EAGD,MAAM44C,EAA0B,CAACrsF,EAAOssF,EAAepuF,KAEtD,MAAMquF,EAAcruF,EAAQ8yC,SAAWs7C,EAAgB,GAIvD,OAFAtsF,EAAMssF,cAAgBA,EACtBtsF,EAAMusF,YAAcA,EACbvsF,CAAK,EAGEJ,eAAe4sF,EAAO5zF,EAAOsF,GAC3C,OAAO,IAAIgH,SAAQ,CAACK,EAAS4E,KAC5BjM,EAAU,CACT,eAAAuuF,GAAmB,EACnBz7C,QAAS,GACT07C,YAAa,KAAM,KAChBxuF,GAGJ,MAAM2yC,EAAYmB,EAAMnB,UAAU3yC,GAE5ByuF,EAAe,KACpB97C,EAAUmC,OACV7oC,EAAOjM,EAAQ0uF,QAAQ1hF,OAAO,EAG3BhN,EAAQ0uF,SAAW1uF,EAAQ0uF,OAAOvnD,SACrCnnC,EAAQ0uF,OAAOx2E,iBAAiB,QAASu2E,EAAc,CAACh9C,MAAM,IAG/D,MAAMk9C,EAAU,KACf3uF,EAAQ0uF,QAAQv2E,oBAAoB,QAASs2E,GAC7C97C,EAAUmC,MAAM,EAGjBnC,EAAUW,SAAQ5xC,UACjB,IACC,MAAMmJ,QAAenQ,EAAM0zF,GAC3BO,IACAtnF,EAAQwD,EACT,CAAE,MAAO/I,GACR,IACC,KAAMA,aAAiB4F,OACtB,MAAM,IAAIrP,UAAU,0BAA0ByJ,qCAG/C,GAAIA,aAAiBksF,EACpB,MAAMlsF,EAAMmsF,cAGb,GAAInsF,aAAiBzJ,YDtDX,SAAwByJ,GAMtC,SALgBA,IACZgsF,EAAQhsF,IACO,cAAfA,EAAM7J,MACmB,kBAAlB6J,EAAMyzC,WAQK,gBAAlBzzC,EAAMyzC,aACc1hD,IAAhBiO,EAAMosF,MAGPH,EAAc5uC,IAAIr9C,EAAMyzC,SAChC,CCqCwCq5C,CAAe9sF,GACjD,MAAMA,EAYP,GATAqsF,EAAwBrsF,EAAOssF,EAAepuF,SAElCA,EAAQwuF,YAAY1sF,KAC/B6wC,EAAUmC,OACV7oC,EAAOnK,UAGF9B,EAAQuuF,gBAAgBzsF,IAEzB6wC,EAAUmB,MAAMhyC,GACpB,MAAM6wC,EAAUoB,WAElB,CAAE,MAAO86C,GACRV,EAAwBU,EAAYT,EAAepuF,GACnD2uF,IACA1iF,EAAO4iF,EACR,CACD,IACC,GAEJ,CC7FA,MAAMC,UAAqBpnF,MACzB,WAAA1P,CAAY8J,EAAOyrB,QACL,IAARA,IACFA,EAAM,MAERgwB,MAAM,yGACN3mC,KAAK3U,MAAQH,EACb8U,KAAKg4E,gBAAiB,EACtBh4E,KAAK1M,QAAUqjB,CACjB,EAEF,UCXe,SAAS4xB,EAAIvlD,EAAQzE,GAClC,OAAOP,OAAOiD,UAAU+c,eAAe3d,KAAK2C,EAAQzE,EACtD,CCDA,MAAM45F,UAAuBrnF,MAC3B,WAAA1P,CAAYu9C,EAASv1C,GACnBu9C,MAAMhI,GACN3+B,KAAK3U,MAAmB,MAAXjC,OAAkB,EAASA,EAAQiC,MAC5C2U,KAAK3U,OAASk9C,EAAYvoC,KAAK3U,MAAO,kBACxC2U,KAAKg4E,eAAiBh4E,KAAK3U,MAAM2sF,eAEjCh4E,KAAKg4E,gBAAiB,CAE1B,EAEF,UCKA,iBAhBA,SAA4BI,EAAUC,EAAchiE,GAClD,MAAM,SACJQ,EAAQ,cACRyhE,EAAa,WACbC,GACEF,EACAxhE,IACFuhE,EAASI,KAAKpgE,IAAI,oBAAoBvB,KACtCuhE,EAASI,KAAKx+C,KAAK,kBAAmB3jB,EAAM,CAE1C+hE,WACAE,gBACAC,eAGN,GAC4C,IAAK,CAC/CE,SAAS,EACTC,UAAU,ICjBZ,MAAMC,UAAkB7nF,MACtB,WAAA1P,GACEulD,MAAM,0BACN3mC,KAAK3e,KAAO,YAIZ2e,KAAK44E,aAAc,CACrB,EAEF,UCZA,IAAIC,EACJ,SAASC,EAA4BC,EAAUC,GAAc,IAAKh7F,OAAOiD,UAAU+c,eAAe3d,KAAK04F,EAAUC,GAAe,MAAM,IAAIv3F,UAAU,kDAAqD,OAAOs3F,CAAU,CAC1N,IAAIzpF,EAAK,EACT,SAAS2pF,EAA2B53F,GAAQ,MAAO,aAAeiO,IAAO,IAAMjO,CAAM,CAsBrF,MAAM63F,UAAkBpoF,MACtB,WAAA1P,CAAY1C,GACV,IAAI,WACFy6F,EAAU,QACVx6C,GACEjgD,EACJioD,MAAMhI,GACN3+B,KAAK3e,KAAO,YACZ2e,KAAKm5E,WAAaA,CACpB,EA6BF,IAAIC,EAAiCH,EAA2B,oBAC5DI,EAAuBJ,EAA2B,UAClDK,EAAmCL,EAA2B,sBAC9DM,EAAsCN,EAA2B,yBACrEJ,EAAcj5F,OAAO45F,IAAI,kCACV,MAAMC,EACnB,WAAAr4F,CAAYo3F,EAAM1zD,GAMhB9mC,OAAO4F,eAAeoc,KAAMu5E,EAAwB,CAClD94F,MAAOi5F,IAET17F,OAAO4F,eAAeoc,KAAMq5E,EAAS,CACnC54F,MAAOk5F,IAET37F,OAAO4F,eAAeoc,KAAMo5E,EAAmB,CAC7C50F,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAMs5E,EAAqB,CAC/C90F,UAAU,EACV/D,MAAOqK,UACL,IAAI8uF,EACJ,IAAI,KACFvjE,EAAI,SACJwjE,EAAQ,OACR/B,GACEhzF,EACJ,GAA0E,OAArC,OAA/B80F,EAAevjE,EAAKyjE,aAAkB,EAASF,EAAaxiE,KAChE,MAAM,IAAItmB,MAAM,sCAQlB,aANkBkP,KAAK+5E,KAAK1jE,EAAKyjE,OAAO1iE,IAAK,IACxCf,EAAKyjE,OAAO3uF,QACZ0uF,GACF,CACD/B,YAESkC,KAAK,IAGpBh6E,KAAKw4E,KAAOA,EACZx4E,KAAK8kB,KAAOA,EACZ9kB,KAAKi6E,kBAAoBj6E,KAAKi6E,kBAAkBlyE,KAAK/H,MAErD84E,EAA4B94E,KAAMo5E,GAAmBA,GAA6B,MAARt0D,OAAe,EAASA,EAAKo1D,gBACzG,CACA,mBAAAC,CAAoBv0F,GAClBkzF,EAA4B94E,KAAMo5E,GAAmBA,GAAqBxzF,CAC5E,CACA,CAACizF,KACC,OAAOC,EAA4B94E,KAAMo5E,GAAmBA,EAC9D,CACA,YAAIgB,GACF,MAAM,UACJC,GACEr6E,KAAKw4E,KAAKvrF,WACRqtF,EAAOt6E,KAAK8kB,KAAKy1D,aACvB,OAAkBF,GAAaA,EAAUC,GAAQD,EAAUC,GAAQA,GAxG1DniF,QAAQ,MAAO,GAyG1B,CACA,aAAMvS,CAAQ40F,QACM,IAAdA,IACFA,GAAY,GASd,MAAO,IAPgB,CACrBC,OAAQ,sBACJD,OAAYv9F,EAAY,CAE1B,eAAgB,wBAKf67F,EAA4B94E,KAAMo5E,GAAmBA,GAE5D,CACA,iBAAAa,CAAkB/1F,GAChB,MAAM,QACJ0B,GACE1B,EAEEm2F,EADQr6E,KAAKw4E,KAAKvrF,WACAotF,WAAa,CAAC,EAChCC,EAAOt6E,KAAK8kB,KAAKy1D,aAGnB30F,EAAQ2iD,IAAI,SAAW3iD,EAAQma,IAAI,UAAYs6E,EAAUC,IAC3Dt6E,KAAKw4E,KAAK5wE,SAAS,CACjByyE,UAAW,IACNA,EACH,CAACC,GAAO10F,EAAQma,IAAI,UAI5B,CACA,aAAMzM,CAAQ5L,GACZ,IAAI,KACF6Y,EAAI,OACJ/a,EAAS,MAAK,KACdyhB,EAAI,iBACJyzE,EAAgB,OAChB5C,GACEpwF,EACJ,IACE,MAAM9B,QAAgBoa,KAAKpa,SAASqhB,GAC9BpT,QCpKG,WACb,OAAO8mF,SAASx9F,WAAW2X,OAAMpU,IAC/B,KAAiB,eAAbA,EAAIW,KACAX,EAEA,IAAI,EAAaA,EACzB,GAEJ,CD4J6Bk6F,CAAsB9B,EAA4B94E,KAAMq5E,GAASA,GAAS94E,GAAO,CACtG/a,SACAsyF,SACAlyF,UACAi1F,YAAa76E,KAAK8kB,KAAKg2D,sBAAwB,cAC/C3vF,KAAM8b,EAAOlW,KAAKC,UAAUiW,GAAQ,OAGtC,OADKyzE,GAAkB16E,KAAKi6E,kBAAkBpmF,SA5IpD/I,eAAkC5G,GAChC,GAbiC,MAa7BA,EAAIwL,OACN,MAAM,IAAI,EAEZ,GAAIxL,EAAI62F,GACN,OAAO72F,EAAI82F,OAEb,IACIC,EADAC,EAAS,+BAA+Bh3F,EAAIwL,WAAWxL,EAAIi3F,aAE/D,IACEF,QAAgB/2F,EAAI82F,OAChBC,EAAQt8C,UAASu8C,EAAS,GAAGA,cAAmBD,EAAQt8C,WACxDs8C,EAAQG,YAAWF,EAAS,GAAGA,iBAAsBD,EAAQG,YACnE,CAAE,MAAO/vF,GAEP,MAAM,IAAIyF,MAAMoqF,EAAQ,CACtB7vF,SAEJ,CACA,GAAInH,EAAIwL,QAAU,KAAOxL,EAAIwL,QAAU,KAAOurF,EAAQt8C,QACpD,MAAM,IAAI,EAAmBs8C,EAAQt8C,SAEvC,MAAM,IAAIu6C,EAAU,CAClBC,WAAYj1F,EAAIwL,OAChBivC,QAASu8C,GAEb,CAmHmBG,CAAmBxnF,EAClC,CAAE,MAAOnT,GAEP,GAAIA,EAAIk4F,aAA4B,uBAAbl4F,EAAIW,MAA8C,eAAbX,EAAIW,KAAuB,MAAMX,EAC7F,MAAM,IAAI,EAAe,aAAa8E,KAAUszF,EAA4B94E,KAAMq5E,GAASA,GAAS94E,KAAS,CAC3GlV,MAAO3K,GAEX,CACF,CACA,SAAMqf,CAAIQ,EAAMnX,GAMd,MAHuB,mBAAZA,IAAuBA,EAAU,CAC1CsxF,iBAAkBtxF,IAEb4W,KAAK1M,QAAQ,IACflK,EACHmX,QAEJ,CACA,UAAMw5E,CAAKx5E,EAAM0G,EAAM7d,GAMrB,MAHuB,mBAAZA,IAAuBA,EAAU,CAC1CsxF,iBAAkBtxF,IAEb4W,KAAK1M,QAAQ,IACflK,EACHmX,OACA/a,OAAQ,OACRyhB,QAEJ,CACA,YAAM,CAAO1G,EAAM0G,EAAM7d,GAMvB,MAHuB,mBAAZA,IAAuBA,EAAU,CAC1CsxF,iBAAkBtxF,IAEb4W,KAAK1M,QAAQ,IACflK,EACHmX,OACA/a,OAAQ,SACRyhB,QAEJ,CAUA,sBAAMq0E,CAAiBjlE,EAAMklE,EAASnyF,GACpC,IAAIonC,EAAQxwB,KACZ,IACE,MAAM,OACJ83E,EAAM,SACN0D,GACEpyF,GAAW,CAAC,EAChB,aAAasuF,GAAO5sF,UAClB,IAAI2wF,EAEJ,MAAMC,EAA2E,OAApDD,EAAqBz7E,KAAKw4E,KAAK/1B,QAAQpsC,EAAK/mB,UAAe,EAASmsF,EAAmBE,YACpH,GAA2B,MAAvBD,EAEF,OADA17E,KAAKw4E,KAAKpgE,IAAI,mCAAmCsjE,KAC1C5C,EAA4B94E,KAAMu5E,GAAwBA,GAAwB,CACvFljE,OACA7rB,MAAOgxF,IACP1D,WAGJ,MAAM8D,EAA0BJ,IAAWK,qBAAoB/wF,iBAC7D,IACE,aAAaguF,EAA4BtoD,EAAO8oD,GAAqBA,MAAwBn8F,UAC/F,CAAE,MAAO2+F,GAEP,GAAIA,EAASlD,YAAa,MAAM,IAAIxB,EAAW0E,GAC/C,GAAsB,MAAlBA,EAASzwF,MAAe,MAAMywF,EAClC,MAAMp7F,EAAMo7F,EAASzwF,MACf0wF,EAAuB,IAAM,CAAC,IAAK,IAAK,IAAK,IAAK,KAAKlrF,SAASnQ,EAAIy4F,aAAez4F,EAAIy4F,YAAc,KAAOz4F,EAAIy4F,YAAc,MAAQ,CAAC,IAAK,KAAKtoF,SAASnQ,EAAIy4F,YACpK,GAAiB,cAAbz4F,EAAIW,OAAyB06F,IAAwB,MAAM,IAAI3E,EAAW12F,GAI9E,MAAMA,CACR,CACF,GAAG,CACDs7F,UAAW,IAEPL,QAAoBC,EAAwB,CAChDvlE,OACAwjE,SAAU0B,EACVzD,WACCmE,QAAQnE,GACX,OAAK93E,KAAKw4E,KAAK/1B,QAAQpsC,EAAK/mB,KAE5B0Q,KAAKw4E,KAAK0D,aAAa7lE,EAAK/mB,GAAI,CAC9BqsF,gBAEK7C,EAA4B94E,KAAMu5E,GAAwBA,GAAwB,CACvFljE,KAAMrW,KAAKw4E,KAAK/1B,QAAQpsC,EAAK/mB,IAE7B9E,MAAOgxF,IACP1D,iBATF,CAUE,GACD,CACD57C,QAzQW,GA0QX47C,SACAH,gBAAiBj3F,GAAOsf,KAAKw4E,KAAKpgE,IAAI,2BAA2B13B,EAAIi+C,UAAW,YAEpF,CAAE,MAAOj+C,GAGP,GAAiB,eAAbA,EAAIW,KAEN,OAGF,MADA2e,KAAKw4E,KAAKx+C,KAAK,eAAgB3jB,EAAM31B,GAC/BA,CACR,CACF,EAEF,SAASi5F,EAASviE,GAChB,MAAI,kBAAkB71B,KAAK61B,GAClBA,EAEF,GAAGpX,KAAKo6E,YAAYhjE,GAC7B,CACAtsB,eAAe4uF,EAAwB5xF,GACrC,IAKIq0F,GALA,KACF9lE,EAAI,MACJ7rB,EAAK,OACLstF,GACEhwF,EAEJ,MAAM,aACJs0F,GACEp8E,KAAKw4E,KAAKvrF,WACd,IACE,aAAa,IAAImD,SAAQ,CAACK,EAAS4E,KACjC,MAAM2kF,EAAQ3jE,EAAKslE,YACbrB,EEjUG,SAAuBljE,GACpC,IAAIilE,EAEJ,MACM/B,EAA0C,OAAlC+B,EADA,yDACoBC,KAAKllE,SAAgB,EAASilE,EAAY,GAE5E,MAAO,GADgB,cAAc96F,KAAK61B,GAAO,KAAO,WAC1BkjE,GAChC,CF0TmBiC,CAAclmE,EAAKyjE,OAAOS,cACvC,IAAIiC,EACAC,EACAC,GACA,SACFC,GACEtmE,EACJ,MAAMumE,EAAa,CAACzvF,EAAQpF,KAExB,IAAI80F,EADQ,MAAVL,GAAkBA,EAAOM,aAAeN,EAAOO,KAKnDP,EAAOQ,KAAKjsF,KAAKC,UAAU,CACzB7D,SACApF,QAAoB,MAAXA,EAAkBA,EAAU,CAAC,KALtCiY,KAAKw4E,KAAKpgE,IAAI,gBAAgBjrB,gBAAqBkpB,EAAK/mB,mCAAmCnL,OAA6B,OAArB04F,EAAUL,QAAkB,EAASK,EAAQC,cAAe,UAM9J,EAEL,SAASG,IACFb,EAAac,kBACJN,EAAVD,EAAqB,QAAyB,SACpD,CACA,MAAMQ,EAAkBryF,UAClB2xF,GAAuBA,EAAsB3oD,QACjD2oD,EAAwB,IAAIW,gBAC5B,MAAMC,EAAe38F,IACnB,IAAI48F,EAEJt9E,KAAKw4E,KAAK0D,aAAa7lE,EAAK/mB,GAAI,CAC9BqsF,YAAa,OAEoC,OAAlD2B,EAAwBb,IAAiE,MAA/Ba,EAAsBxpD,OAAiBwpD,EAAsBxpD,QACxHz+B,EAAO3U,EAAI,EAIb,SAAS68F,IACP//F,aAAak/F,GACTC,IACJD,EAAkBj/F,YAAW,IAAM4/F,EAAa,IAAIvsF,MAAM,uDAlVpC,KAmVxB,CACA,UACQtG,EAAMqxF,qBAAoB/wF,gBA4ExB4sF,GA3EqB5sF,SAE3B,IAAIsF,SAAQ,CAAC4M,EAAGwgF,KACdhB,EAAS,IAAIiB,UAAU,GAAGnD,SAAYN,KACtCuD,IACAf,EAAOl7E,iBAAiB,SAAS,KAC/Bk7E,OAASv/F,EACTugG,EAAa,IAAI1sF,MAAM,8BAA8B,IAEvD0rF,EAAOl7E,iBAAiB,SAASpW,IAC/B,IAAIwyF,EACJ19E,KAAKw4E,KAAKpgE,IAAI,0BAA0BrnB,KAAKC,UAAU9F,qBAA0B,WAC1D,OAAtBwyF,EAAWlB,IAAmBkB,EAAShmD,OAAO,IAEjD8kD,EAAOl7E,iBAAiB,QAAQ,KAC9B27E,GAAW,IAEbT,EAAOl7E,iBAAiB,WAAW5B,IACjC69E,IACA,IACE,MAAM,OACJpwF,EAAM,QACNpF,GACEgJ,KAAKssC,MAAM39B,EAAEuH,MACjB,OAAQ9Z,GACN,IAAK,WAED,EAAmB6S,KAAMjY,EAASiY,KAAKw4E,KAAK/1B,QAAQpsC,EAAK/mB,KACzD,MAEJ,IAAK,UACH,CACE,IAAIquF,EAAmBC,EAAuBC,EAAoBC,EAOlE,MAAMxkD,EAAiD,OAAzCqkD,EAAoB51F,EAAQ8L,eAAoB,EAAS8pF,EAAkBI,aACzF/9E,KAAKw4E,KAAKx+C,KAAK,iBAAkBh6B,KAAKw4E,KAAK/1B,QAAQpsC,EAAK/mB,IAAK,CAC3D0uF,UAAWj2F,EAAQqvB,IACnB1nB,OAA0H,OAAjHkuF,EAAmE,OAA1CC,EAAqB91F,EAAQ8L,eAAoB,EAASgqF,EAAmBnuF,QAAkBkuF,EAAwB,IACzJzyF,KAAMmuC,EAAOvoC,KAAKssC,MAAM/D,QAAQr8C,IAEkB,OAAnD6gG,EAAyBrB,IAAkE,MAAhCqB,EAAuBhqD,OAAiBgqD,EAAuBhqD,QAC3HrjC,IACA,KACF,CACF,IAAK,QACH,CACE,MAAM,QACJkuC,GACE52C,EAAQmD,MACZ,MAAMlN,OAAOiU,OAAO,IAAInB,MAAM6tC,GAAU,CACtCtzC,MAAOtD,EAAQmD,OAEnB,CACF,QACE8U,KAAKw4E,KAAKpgE,IAAI,mCAAmCjrB,IAAU,WAEjE,CAAE,MAAOzM,GACP28F,EAAa38F,EACf,KAEF,MAAMu9F,EAAc,KAClBj+E,KAAKw4E,KAAKpgE,IAAI,kBAAkB/B,EAAK/mB,KAAM,QAC3C9R,aAAak/F,GACTF,GAAQA,EAAO9kD,QACnB8kD,OAASv/F,CAAS,EAEpBw/F,EAAsB3E,OAAOx2E,iBAAiB,SAAS,KACrD28E,GAAa,GACb,KAE6B,CAC/B/hD,QAnaK,GAoaL47C,OAAQ2E,EAAsB3E,OAC9BH,gBAAiB,KACX8E,EAAsB3E,OAAOvnD,SACjCvwB,KAAKw4E,KAAKpgE,IAAI,sBAAsB/B,EAAK/mB,KAAM,OAAO,GAExD,GAnFE9E,GAoFDyxF,QAAQQ,EAAsB3E,OACrC,CAAE,MAAOp3F,GACP,GAAI+7F,EAAsB3E,OAAOvnD,QAAS,OAC1C8sD,EAAa38F,EACf,GAEIw9F,EAAQC,IAKV,IAAIC,EAJDhC,EAAac,mBAClBP,EAAWwB,EACP3B,GAAQS,IACRkB,EAGkD,OAAnDC,EAAyB3B,IAAkE,MAAhC2B,EAAuBtqD,OAAiBsqD,EAAuBtqD,QAI3HqpD,IACF,EAEIkB,EAAeC,IACnB,IAAIC,EACCnC,EAAaoC,wBACdF,EAAWhvF,KAAO+mB,EAAK/mB,KAC3BstF,EAAW,UACyC,OAAnD2B,EAAyB9B,IAAkE,MAAhC8B,EAAuBzqD,OAAiByqD,EAAuBzqD,QAC3H9zB,KAAKw4E,KAAKpgE,IAAI,UAAU/B,EAAK/mB,iBAAkB,QAC/CmB,IAAS,EAELguF,EAAcz2F,IAClB,IAAI02F,EACJ,IAAI,OACFtoF,GACEpO,EACW,SAAXoO,GACFwmF,EAAW,UAEuC,OAAnD8B,EAAyBjC,IAAkE,MAAhCiC,EAAuB5qD,OAAiB4qD,EAAuB5qD,QAC3H9zB,KAAKw4E,KAAKpgE,IAAI,UAAU/B,EAAK/mB,kBAAmB,QAChDmB,GAAS,EAELkuF,EAAqB,CAACC,EAAcT,KACpCS,IAAiBvoE,EAAK/mB,IAC1B4uF,EAAMC,EAAe,EAEjBU,EAAa,IAAMX,GAAM,GACzBY,EAAc,IAAMZ,GAAM,GAChCl+E,KAAKw4E,KAAK5kE,GAAG,eAAgByqE,GAC7Br+E,KAAKw4E,KAAK5kE,GAAG,aAAc6qE,GAC3Bz+E,KAAKw4E,KAAK5kE,GAAG,eAAgB+qE,GAC7B3+E,KAAKw4E,KAAK5kE,GAAG,YAAairE,GAC1B7+E,KAAKw4E,KAAK5kE,GAAG,aAAckrE,GAC3B3C,EAAsB,KACpBn8E,KAAKw4E,KAAKz9C,IAAI,eAAgBsjD,GAC9Br+E,KAAKw4E,KAAKz9C,IAAI,aAAc0jD,GAC5Bz+E,KAAKw4E,KAAKz9C,IAAI,eAAgB4jD,GAC9B3+E,KAAKw4E,KAAKz9C,IAAI,YAAa8jD,GAC3B7+E,KAAKw4E,KAAKz9C,IAAI,aAAc+jD,EAAY,EAE1ChH,EAAOx2E,iBAAiB,SAAS,KAC/B,IAAIy9E,EACgD,OAAnDA,EAAyBtC,IAAkCsC,EAAuBjrD,OAAO,IAE5FqpD,GAAiB,GAErB,CAAE,QAEuB,MAAvBhB,GAA+BA,GACjC,CACF,CACA1C,EAActD,QAtfD,iBGfb,IAAI,EAAa6I,EAYjB,EAAcp/F,OAAO45F,IAAI,wBACzBwF,EAAep/F,OAAO45F,IAAI,wBCb1B,SAAS,EAA4BT,EAAUC,GAAc,IAAKh7F,OAAOiD,UAAU+c,eAAe3d,KAAK04F,EAAUC,GAAe,MAAM,IAAIv3F,UAAU,kDAAqD,OAAOs3F,CAAU,CAC1N,IAAI,EAAK,EACT,SAAS,EAA2B13F,GAAQ,MAAO,aAAe,IAAO,IAAMA,CAAM,CACrF,IAAI49F,EAAqB,EAA2B,QAChDC,EAAuB,EAA2B,UAKvC,MAAMC,EACnB,WAAA/9F,CAAYo3F,GACVx6F,OAAO4F,eAAeoc,KAAMi/E,EAAO,CACjCz6F,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAMk/E,EAAS,CACnC16F,UAAU,EACV/D,MAAO,KAET,EAA4Buf,KAAMi/E,GAAOA,GAASzG,CACpD,CAIA,EAAA5kE,CAAG3qB,EAAOnM,GAER,OADA,EAA4BkjB,KAAMk/E,GAASA,GAAS1+F,KAAK,CAACyI,EAAOnM,IAC1D,EAA4BkjB,KAAMi/E,GAAOA,GAAOrrE,GAAG3qB,EAAOnM,EACnE,CACA,MAAAw1B,GACE,IAAK,MAAOrpB,EAAOnM,KAAO,EAA4BkjB,KAAMk/E,GAASA,GAAStlD,OAAO,GACnF,EAA4B55B,KAAMi/E,GAAOA,GAAOlkD,IAAI9xC,EAAOnM,EAE/D,CACA,WAAAsiG,CAAYC,EAAQhhD,GAClBr+B,KAAK4T,GAAG,gBAAgB,CAAC0rE,EAAc3C,KACjC0C,IAAWC,GACbjhD,EAAGs+C,EACL,GAEJ,CACA,YAAA0B,CAAagB,EAAQhhD,GACnBr+B,KAAK4T,GAAG,gBAAgByC,IAClBgpE,IAAWhpE,EAAK/mB,IAAI+uC,EAAGhoB,EAAK/mB,GAAG,GAEvC,CACA,OAAAiwF,CAAQF,EAAQhhD,GACdr+B,KAAK4T,GAAG,gBAAgB,CAAC0rE,EAAc3C,KACjC0C,IAAWC,GAEbjhD,EAAGs+C,EACL,GAEJ,CACA,OAAA6C,CAAQH,EAAQhhD,GACdr+B,KAAK4T,GAAG,gBAAgB0rE,IAClBD,IAAWC,GACbjhD,GACF,GAEJ,CACA,UAAAohD,CAAWJ,EAAQhhD,GACjBr+B,KAAK4T,GAAG,aAAa,KACd,EAA4B5T,KAAMi/E,GAAOA,GAAOx8B,QAAQ48B,IAC7DhhD,GAAI,GAER,CACA,UAAAwgD,CAAWQ,EAAQhhD,GACjBr+B,KAAK4T,GAAG,aAAa,KACd,EAA4B5T,KAAMi/E,GAAOA,GAAOx8B,QAAQ48B,IAC7DhhD,GAAI,GAER,CACA,WAAAogD,CAAYY,EAAQK,GAClB,IAAIlvD,EAAQxwB,KACZA,KAAK4T,GAAG,cAAc,WACf,EAA4B4c,EAAOyuD,GAAOA,GAAOx8B,QAAQ48B,IAC9DK,KAAgBviG,UAClB,GACF,CACA,WAAA2hG,CAAYO,EAAQhhD,GAClBr+B,KAAK4T,GAAG,cAAc,KACf,EAA4B5T,KAAMi/E,GAAOA,GAAOx8B,QAAQ48B,IAC7DhhD,GAAI,GAER,iBCpFK,SAASshD,EAAqB97C,GAEnC,OAAOA,EAAM1gD,QAAOkzB,IADHA,IAAQ,UAAWA,KAAUA,EAAKnrB,MACtB00F,CAASvpE,IACxC,CAGO,SAASwpE,EAA+Bh8C,GAC7C,OAAOA,EAAM1gD,QAAOkzB,IAClB,IAAIypE,EACJ,QAA6C,OAAnCA,EAAiBzpE,EAAKQ,WAAqBipE,EAAeC,iBAAmB1pE,EAAK2pE,UAAU,GAE1G,CCPO,MACL5C,gBAAe,GACb6C,YACS,YACXC,GACED,WACSE,EAAmB,SAAUxhD,EAASv1C,QACjC,IAAZu1C,IACFA,EAAU,WAEZ,MAAMj+C,EAAM,IAAI0/F,aAAazhD,EAAS,cAUtC,OATe,MAAXv1C,GAAmBm/C,EAAen/C,EAAS,UAC7CpL,OAAO4F,eAAelD,EAAK,QAAS,CAElCokD,UAAW,KACXvgD,cAAc,EACdC,UAAU,EACV/D,MAAO2I,EAAQiC,QAGZ3K,CACT,ECzBA,SAAS,EAA4Bq4F,EAAUC,GAAc,IAAKh7F,OAAOiD,UAAU+c,eAAe3d,KAAK04F,EAAUC,GAAe,MAAM,IAAIv3F,UAAU,kDAAqD,OAAOs3F,CAAU,CAC1N,IAAI,EAAK,EACT,SAAS,EAA2B13F,GAAQ,MAAO,aAAe,IAAO,IAAMA,CAAM,CAErF,MACMg/F,EAAiB,CACrBC,aAAajqE,GACJ1B,KAAK4rE,KAAKlqE,EAAK0T,KAAO,KAE/B,UAAAy2D,GAAc,EACd,cAAAC,GAAkB,EAClB,SAAAC,GAAa,EACb,OAAAC,CAAQjgG,GACN,MAAMA,CACR,GAaK,MAAMkgG,EAAsBhhG,OAAO,uCAQ1C,IAAIihG,EAAgC,EAA2B,mBAC3DC,EAAuB,EAA2B,UAClDC,GAA2B,EAA2B,cACtDC,GAAqB,EAA2B,QAChDC,GAAqB,EAA2B,QAChDC,GAAiC,EAA2B,oBAC5DC,GAAwB,EAA2B,WACnDC,GAA0B,EAA2B,aACrDC,GAAmC,EAA2B,sBAC9DC,GAA4B,EAA2B,eACvDC,GAAyB,EAA2B,YACpDC,GAAkC,EAA2B,qBAC7DC,GAA4B,EAA2B,eACvDC,GAA2B,EAA2B,cACtDC,GAA6B,EAA2B,gBACxDC,GAA6B,EAA2B,gBACxDC,GAA+B,EAA2B,kBAC1DC,GAA+B,EAA2B,kBAC1DC,GAA4B,EAA2B,eAkJ3D,SAASC,KACP,MAAMp8C,EAAW,EAA4B5lC,KAAMghF,IAAOA,IAAOj3D,KAC3Dk4D,EAA4G,oBAAhF,EAA4BjiF,KAAMqhF,IAAqBA,IAAsC,EAA4BrhF,KAAMqhF,IAAqBA,IAAqB,EAA4BrhF,KAAMihF,IAAOA,KAAU1wF,QAAQ,EAA4ByP,KAAMqhF,IAAqBA,KAC7T,GAAIY,GAAsBr8C,EAAW,EAA4B5lC,KAAMyhF,IAAcA,IAAe,CAElG,IAAI95F,EAAYgtB,KAAKC,IAAI5U,KAAK5W,QAAQk3F,aAAa,EAA4BtgF,KAAMghF,IAAOA,KAAS,EAA4BhhF,KAAMyhF,IAAcA,KACjJS,EAAYvtE,KAAKwD,MAAMytB,EAAWj+C,GAGlCu6F,EAAY,EAA4BliF,KAAMwhF,IAAoBA,MACpEU,EAAY,EAA4BliF,KAAMwhF,IAAoBA,IAClE75F,EAAYi+C,EAAW,EAA4B5lC,KAAMwhF,IAAoBA,KAE/E,EAA4BxhF,KAAM8gF,GAASA,GAAWxjG,MAAM4kG,GAC5D,IAAK,IAAIn0D,EAAS,EAAGtpB,EAAI,EAAGspB,EAAS6X,EAAU7X,GAAUpmC,EAAW8c,IAAK,CACvE,MAAM+qB,EAAM7a,KAAKuD,IAAI0tB,EAAU7X,EAASpmC,GAGlC+hD,EAAU,KACd,MAAMy4C,EAAKp0D,EACX,OAAO,EAA4B/tB,KAAMghF,IAAOA,IAAO7/F,MAAMghG,EAAI3yD,EAAI,EAQvE,GANA,EAA4BxvB,KAAM8gF,GAASA,GAASr8E,GAAK,CACvDilC,UACA82C,WAAY,EAA4BxgF,KAAM6hF,IAAiBA,IAAiBp9E,GAChF29E,WAAY,EAA4BpiF,KAAM8hF,IAAiBA,IAAiBr9E,GAChFw9E,sBAEE,EAA4BjiF,KAAMshF,IAAcA,IAAe,CACjE,MAAMv3D,EAAOgE,EAASpmC,EAAYi+C,EAAWA,EAAW7X,EAASpmC,EAGjE,EAA4BqY,KAAM8gF,GAASA,GAASr8E,GAAG49E,cAAgB,KACrE,EAA4BriF,KAAM8gF,GAASA,GAASr8E,GAAK,KACzD,EAA4BzE,KAAM+gF,IAAaA,IAAat8E,GAAG69E,SAAWv4D,CAAI,CAElF,CACF,CACF,MACE,EAA4B/pB,KAAM8gF,GAASA,GAAW,CAAC,CACrDp3C,QAAS,IAAM,EAA4B1pC,KAAMghF,IAAOA,IACxDR,WAAY,EAA4BxgF,KAAM6hF,IAAiBA,IAAiB,GAChFO,WAAY,EAA4BpiF,KAAM8hF,IAAiBA,IAAiB,GAChFG,uBAGJ,EAA4BjiF,KAAM+gF,IAAaA,IAAe,EAA4B/gF,KAAM8gF,GAASA,GAASn8F,KAAI,KAAM,CAC1H29F,SAAU,KAEd,CACA,SAASC,KACPviF,KAAK5W,QAAQo5F,cAAcC,WAAW,EAA4BziF,KAAMihF,IAAOA,IAAQ,EAA4BjhF,KAAM8gF,GAASA,GAAU,EAA4B9gF,KAAM6gF,GAAkBA,GAAkB/I,QAAQpnF,KAAK,EAA4BsP,KAAMohF,IAAYA,IAAa,EAA4BphF,KAAMuhF,IAAWA,KACvU,EAA4BvhF,KAAMkhF,IAAmBA,KAAqB,CAC5E,CACA,SAASwB,KACP1iF,KAAK5W,QAAQo5F,cAAcG,iBAAiB,EAA4B3iF,KAAMihF,IAAOA,IAAQ,EAA4BjhF,KAAM8gF,GAASA,GAAU,EAA4B9gF,KAAM6gF,GAAkBA,GAAkB/I,QAAQpnF,KAAK,EAA4BsP,KAAMohF,IAAYA,IAAa,EAA4BphF,KAAMuhF,IAAWA,IAC/U,CACA,SAASqB,KACP,EAA4B5iF,KAAM6gF,GAAkBA,GAAkB/sD,QACtE9zB,KAAK5W,QAAQo5F,cAAcK,gBAAgB,EAA4B7iF,KAAMihF,IAAOA,KAAQnsF,OAAMpU,GAAOsf,KAAK5W,QAAQgvB,IAAI13B,IAC5H,CACA,SA9MA,MACE,WAAAU,CAAY6lB,EAAM7d,GAChB,IAAI05F,EACJ9kG,OAAO4F,eAAeoc,KAAM+hF,GAAc,CACxCthG,MAAOmiG,KAET5kG,OAAO4F,eAAeoc,KAAM4hF,GAAe,CACzCnhG,MAAOiiG,KAET1kG,OAAO4F,eAAeoc,KAAM2hF,GAAe,CACzClhG,MAAO8hG,KAMTvkG,OAAO4F,eAAeoc,KAAM0hF,GAAa,CACvCjhG,MAAOuhG,KAEThkG,OAAO4F,eAAeoc,KAAM6gF,EAAkB,CAC5Cr8F,UAAU,EACV/D,MAAO,IAAI,IAEbzC,OAAO4F,eAAeoc,KAAM8gF,EAAS,CACnCt8F,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAM+gF,GAAa,CACvCv8F,UAAU,EACV/D,WAAO,IAKTzC,OAAO4F,eAAeoc,KAAMghF,GAAO,CACjCx8F,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAMihF,GAAO,CACjCz8F,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAMkhF,GAAmB,CAC7C18F,UAAU,EACV/D,OAAO,IAETzC,OAAO4F,eAAeoc,KAAMmhF,GAAU,CACpC38F,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAMohF,GAAY,CACtC58F,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAMqhF,GAAqB,CAC/C78F,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAMshF,GAAc,CACxC98F,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAMuhF,GAAW,CACrC/8F,UAAU,EACV/D,MAAOC,IAAe,MAAPA,OAAc,EAASA,EAAI2K,SAAWu1F,EAAsB,KAAO,EAA4B5gF,KAAMmhF,IAAUA,IAAUzgG,KAE1I1C,OAAO4F,eAAeoc,KAAMwhF,GAAoB,CAC9Ch9F,UAAU,EACV/D,MAAO,MAETzC,OAAO4F,eAAeoc,KAAMyhF,GAAc,CACxCj9F,UAAU,EACV/D,MAAO,UAETzC,OAAO4F,eAAeoc,KAAM6hF,GAAiB,CAC3Cr9F,UAAU,EACV/D,MAAO3B,GAASikG,IACd,IAAKA,EAAGC,iBAAkB,OAC1B,EAA4BhjF,KAAM+gF,IAAaA,IAAajiG,GAAOwjG,SApH3E,SAAmB7hG,GACjB,GAAqB,kBAAVA,EAET,OAAO0zB,SAAS1zB,EAAO,IAEzB,GAAqB,kBAAVA,EAET,OAAOA,EAET,MAAM,IAAIgB,UAAU,oBACtB,CA0GsFwhG,CAAUF,EAAGjsE,QAC3F,MAAMosE,EAAgB,EAA4BljF,KAAM+gF,IAAaA,IAAav5F,QAAO,CAACxG,EAAGyhB,IAAMzhB,EAAIyhB,EAAE6/E,UAAU,GACnHtiF,KAAK5W,QAAQo3F,WAAW0C,EAAe,EAA4BljF,KAAMghF,IAAOA,IAAOj3D,KAAK,IAGhG/rC,OAAO4F,eAAeoc,KAAM8hF,GAAiB,CAC3Ct9F,UAAU,EACV/D,MAAO3B,GAASqkG,IAEd,EAA4BnjF,KAAM8gF,GAASA,GAAShiG,GAAS,KAC7D,EAA4BkhB,KAAM+gF,IAAaA,IAAajiG,GAAOqkG,KAAOA,EAC1E,EAA4BnjF,KAAM+gF,IAAaA,IAAajiG,GAAOyB,MAAO,EAC1E,MAAMgoB,EAAO,CACX66E,WAAYtkG,EAAQ,EACpBukG,KAAMF,GAERnjF,KAAK5W,QAAQq3F,eAAel4E,EAAK,IAGrCvI,KAAK5W,QAAU,IACVi3F,KACAj3F,GAGoE,OAA/C05F,EAAgB9iF,KAAK5W,SAASk3F,eAAgDwC,EAAcxC,aAAeD,EAAeC,cACpJ,EAA4BtgF,KAAMghF,IAAOA,IAAS/5E,EAClD,EAA4BjH,KAAMihF,IAAOA,IAAS73F,EAAQitB,KAC1D,EAA4BrW,KAAMohF,IAAYA,IAAcphF,KAAK5W,QAAQs3F,UACzE,EAA4B1gF,KAAMmhF,IAAUA,IAAYnhF,KAAK5W,QAAQu3F,QACrE,EAA4B3gF,KAAMqhF,IAAqBA,IAAuBrhF,KAAK5W,QAAQ64F,mBAK3F,EAA4BjiF,KAAMshF,IAAcA,IAAgBl4F,EAAQk6F,UAAYl6F,EAAQ7K,IAC5F,EAA4ByhB,KAAM0hF,IAAaA,KACjD,CACA,KAAAnrE,GACM,EAA4BvW,KAAMkhF,IAAmBA,KAClD,EAA4BlhF,KAAM6gF,GAAkBA,GAAkB/I,OAAOvnD,SAAS,EAA4BvwB,KAAM6gF,GAAkBA,GAAkB/sD,MAAM8sD,GACvK,EAA4B5gF,KAAM6gF,GAAkBA,GAAoB,IAAI,EAC5E,EAA4B7gF,KAAM4hF,IAAeA,OACxC,EAA4B5hF,KAAMshF,IAAcA,KACzDthF,KAAK5W,QAAQo5F,cAAce,kBAAkB,EAA4BvjF,KAAMihF,IAAOA,IAAQ,CAC5FqC,SAAUtjF,KAAK5W,QAAQk6F,SACvB/kG,IAAKyhB,KAAK5W,QAAQ7K,MAEpB,EAA4ByhB,KAAM4hF,IAAeA,OAEjD,EAA4B5hF,KAAM2hF,IAAeA,KAErD,CACA,KAAAzD,GACE,EAA4Bl+E,KAAM6gF,GAAkBA,GAAkB/sD,MAAM8sD,GAE5E,EAA4B5gF,KAAM6gF,GAAkBA,GAAoB,IAAI,CAC9E,CACA,KAAA/sD,CAAMhP,GACQ,MAARA,GAAgBA,EAAK0+D,OAAQ,EAA4BxjF,KAAM+hF,IAAcA,MAAqB/hF,KAAKk+E,OAC7G,CAIA,cAAIuF,GACF,OAAO,EAA4BzjF,KAAM+gF,IAAaA,GACxD,GCpMK,SAAS2C,GAAe5L,GAC7B,GAAc,MAAVA,GAAkBA,EAAOvnD,QAC3B,MAAM4vD,EAAiB,4BAA6B,CAClD90F,MAAOysF,EAAO1hF,QAGpB,CCmCA,MAAMutF,GAAK,IAAIC,YACTC,GAAY,CAChBxiG,KAAM,OACNyiG,KAAM,WAcR,SAASC,GAAuBl5D,GAC9B,MAAMm5D,EAAY,IAAIl6D,WAAWe,GACjC,IAAIo5D,EAAY,GAChB,IAAK,IAAIxkG,EAAI,EAAGA,EAAIukG,EAAU5mG,OAAQqC,IACpCwkG,GAAaD,EAAUvkG,GAAGyB,SAAS,IAAIgjG,SAAS,EAAG,KAErD,OAAOD,CACT,CACAn5F,eAAeg5F,GAAKvlG,EAAK0oB,GACvB,MAAM,OACJk9E,GACElE,WAAWmE,OACf,OAAOD,EAAOE,KAAKR,SAlBrB/4F,eAA+Bw5F,GAC7B,MAAM,OACJH,GACElE,WAAWmE,OACf,OAAOD,EAAOI,UAAU,MAAyB,kBAAXD,EAAsBX,GAAGa,OAAOF,GAAUA,EAAQT,IAAW,EAAO,CAAC,QAC7G,CAasCY,CAAgBlmG,GAAMolG,GAAGa,OAAOv9E,GACtE,CAKenc,eAAe45F,GAAgB5/F,GAC5C,IAAI,WACF6/F,EAAU,cACVC,EAAa,aACbC,EAAY,WACZC,EAAU,IACVC,EAAG,OACHC,EAAM,QACNC,EAAO,SACP3B,EAAQ,WACR4B,GACEpgG,EACJ,MAAMqgG,EAAU,KACV7K,EAAO,GAAGwK,KAAcK,KAAWH,kBAOnCI,EAAe,IAAIC,UAAUN,GAAK5sF,QAAQ,sBAAsBsK,GAAK,IAAIA,EAAEwoB,WAAW,GAAG/pC,SAAS,IAAI63B,oBACtGhxB,EAAU,mBACVu9F,GAAkB,IAAIhgF,MAAOigF,cAAcptF,QAAQ,cAAe,IAClEukB,EAAO4oE,EAAgBnkG,MAAM,EAAG,GAChCqkG,EAAQ,GAAG9oE,KAAQsoE,KAAUG,iBAC7B/tE,EAAM,IAAI2Y,IAAI,WAAWuqD,IAAO8K,KAEtChuE,EAAIquE,aAAaxlF,IAAI,kBAAmB,oBACxCmX,EAAIquE,aAAaxlF,IAAI,uBAAwBlY,GAC7CqvB,EAAIquE,aAAaxlF,IAAI,mBAAoB,GAAG0kF,KAAca,KAC1DpuE,EAAIquE,aAAaxlF,IAAI,aAAcqlF,GACnCluE,EAAIquE,aAAaxlF,IAAI,gBAAiBglF,GAEtC7tE,EAAIquE,aAAaxlF,IAAI,uBAAwB4kF,GAC7CztE,EAAIquE,aAAaxlF,IAAI,sBAAuB,QAExCilF,GAAY9tE,EAAIquE,aAAaxlF,IAAI,aAAcilF,GAC/C5B,GAAUlsE,EAAIquE,aAAaxlF,IAAI,WAAYqjF,GAC/ClsE,EAAIquE,aAAaxlF,IAAI,OAAQilF,GAAc5B,EAAW,aAAe,aAGrE,MAAMoC,EAvFR,SAAgChnG,GAC9B,IAAI,OACF8G,EAAS,MAAK,aACd4/F,EAAe,IAAG,qBAClBO,EAAuB,GAAE,cACzBC,EAAa,cACbC,GACEnnG,EACJ,MAAMonG,EAAa9nG,OAAOI,KAAKwnG,GAAejhG,KAAIuf,GAAKA,EAAE7C,gBAAekD,OACxE,MAAO,CAAC/e,EAAQ4/F,EAAcO,KAAyBG,EAAWnhG,KAAIuf,GAAK,GAAGA,KAAK0hF,EAAc1hF,OAAO,GAAI4hF,EAAW5tF,KAAK,KAAM2tF,GAAe3tF,KAAK,KACxJ,CA6EoB6tF,CAAuB,CACvCX,eACAO,qBAAsBvuE,EAAIsC,OAAOv4B,MAAM,GACvCykG,cAAe,CACbtL,QAEFuL,cAAe99F,IAOXi+F,EAAe,CAAC,mBAEtBV,EAEAE,EAPwBzB,SAjF1Bj5F,eAAsBmc,GACpB,MAAM,OACJk9E,GACElE,WAAWmE,OACf,OAAOD,EAAO8B,OAAOpC,GAAUC,KAAMH,GAAGa,OAAOv9E,GACjD,CA4EuDg/E,CAAOP,KAU1DxtF,KAAK,MAGDguF,QAAcpC,GAAK,OAAOc,IAAiBloE,GAC3CypE,QAAgBrC,GAAKoC,EAAOlB,GAC5BoB,QAAiBtC,GAAKqC,EAAShB,GAC/BkB,QAAiBvC,GAAKsC,EAAU,gBAChCE,EAAYvC,SAA6BD,GAAKuC,EAAUL,IAI9D,OADA5uE,EAAIquE,aAAaxlF,IAAI,kBAAmBqmF,GACjClvE,CACT,CCtJA,SAAS,GAA4B2hE,EAAUC,GAAc,IAAKh7F,OAAOiD,UAAU+c,eAAe3d,KAAK04F,EAAUC,GAAe,MAAM,IAAIv3F,UAAU,kDAAqD,OAAOs3F,CAAU,CAC1N,IAAI,GAAK,EACT,SAAS,GAA2B13F,GAAQ,MAAO,aAAe,KAAO,IAAMA,CAAM,CAGrF,SAASklG,GAAsBC,GAC7B,MAAMC,EAAY,IAAI12D,IAAIy2D,GAG1B,OAFAC,EAAU/sE,OAAS,GACnB+sE,EAAU3C,KAAO,GACV2C,EAAUniD,IACnB,CACA,IAAIoiD,GAAqC,GAA2B,wBAChEC,GAAsB,GAA2B,SACjDC,GAAsC,GAA2B,yBACjEC,GAA+B,GAA2B,kBAC1DC,GAAoC,GAA2B,uBAC/DC,GAA0B,GAA2B,aACrDC,GAAmC,GAA2B,sBAC9DC,GAAyB,GAA2B,YACpDC,GAA4B,GAA2B,eACvDC,GAAsC,GAA2B,yBACjEC,GAAoC,GAA2B,uBAC/DC,GAAgC,GAA2B,mBAC3DC,GAAwB,GAA2B,WACnDC,GAA4B,GAA2B,eACvDC,GAAmC,GAA2B,sBAC3D,MAAMC,GACX,WAAArmG,CAAYsmG,EAAYt+F,EAASu+F,EAAqBllC,GACpDzkE,OAAO4F,eAAeoc,KAAMwnF,GAAqB,CAC/C/mG,MAAOmnG,KAET5pG,OAAO4F,eAAeoc,KAAMunF,GAAc,CACxC9mG,MAAOonG,KAET7pG,OAAO4F,eAAeoc,KAAM0mF,GAAuB,CACjDliG,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAM2mF,GAAQ,CAClCniG,UAAU,EACV/D,MAAO,IAAI8zF,UAEbv2F,OAAO4F,eAAeoc,KAAM4mF,GAAwB,CAClDpiG,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAM6mF,GAAiB,CAC3CriG,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAM8mF,GAAsB,CAChDtiG,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAM+mF,GAAY,CACtCviG,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAMgnF,GAAqB,CAC/CxiG,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAMinF,GAAW,CACrCziG,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAMknF,GAAc,CACxC1iG,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAMmnF,GAAwB,CAClD3iG,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAMonF,GAAsB,CAChD5iG,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAMqnF,GAAkB,CAC5C7iG,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAMsnF,GAAU,CACpC9iG,UAAU,EACV/D,WAAO,IAET,GAA4Buf,KAAMinF,IAAWA,IAAaS,EAC1D,GAA4B1nF,KAAMonF,IAAsBA,IAAwBO,EAChF,GAA4B3nF,KAAMsnF,IAAUA,IAAY7kC,EACxDziD,KAAK8nF,WAAW1+F,EAClB,CACA,UAAA0+F,CAAW1+F,GACT,MAAM2J,EAAW,GAA4BiN,KAAMinF,IAAWA,IAuB5D,IAAIc,GAtBF,yBAA0B3+F,IAC5B,GAA4B4W,KAAM0mF,IAAuBA,IAAyB3zF,EAAS8oF,oBAAoBzyF,EAAQ4+F,qBAAsB,CAC3IhM,SAAU,KAGV,0BAA2B5yF,IAC7B,GAA4B4W,KAAM4mF,IAAwBA,IAA0B7zF,EAAS8oF,oBAAoBzyF,EAAQ6+F,sBAAuB,CAC9IjM,UAAW,KAGX,aAAc5yF,IAChB,GAA4B4W,KAAM6mF,IAAiBA,IAAmB9zF,EAAS8oF,oBAAoBzyF,EAAQ8+F,WAEzG,cAAe9+F,IACjB,GAA4B4W,KAAM+mF,IAAYA,IAAch0F,EAAS8oF,oBAAoBzyF,EAAQ++F,YAE/F,4BAA6B/+F,IAC/B,GAA4B4W,KAAMmnF,IAAwBA,IAA0Bp0F,EAAS8oF,oBAAoBzyF,EAAQg/F,wBAAyB,CAChJpM,SAAU,KAGV,gBAAiB5yF,KAEnB,GAA4B4W,KAAMknF,IAAcA,IAAgE,OAA/Ca,EAAuB3+F,EAAQi/F,aAAuBN,EAAuB,IAE5I,oBAAqB3+F,IACvB,GAA4B4W,KAAMqnF,IAAkBA,IAAoBt0F,EAAS8oF,oBAAoBzyF,EAAQk/F,gBAAiB,CAC5HtM,SAAUnwD,OAGV,wBAAyBziC,IAC3B,GAA4B4W,KAAM8mF,IAAsBA,IAAwB/zF,EAAS8oF,oBAAoBzyF,EAAQm/F,qBAEzH,CACA,iBAAMC,CAAYnyE,EAAMyhE,GACtB,IAAI2Q,EAKJ,KAA4F,OAApFA,EAAe,GAA4BzoF,KAAM2mF,IAAQA,IAAQ5mF,IAAIsW,EAAKpP,QAChF,IACE,aAAawhF,CACf,CAAE,MAGF,CAEF,MAAM96F,EAAU,GAA4BqS,KAAM4mF,IAAwBA,IAAwB,GAA4B5mF,KAAMsnF,IAAUA,IAAUjxE,GAAOyhE,GACzJ4Q,EAAe,KACnB/6F,EAAQmmC,MAAMgkD,EAAO1hF,QACrB,GAA4B4J,KAAM2mF,IAAQA,IAAQgC,OAAOtyE,EAAKpP,KAAK,EAcrE,OAZA6wE,EAAOx2E,iBAAiB,QAASonF,EAAc,CAC7C7tD,MAAM,IAER,GAA4B76B,KAAM2mF,IAAQA,IAAQ1mF,IAAIoW,EAAKpP,KAAMtZ,GACjEA,EAAQ+C,MAAK5F,UACXgtF,EAAOv2E,oBAAoB,QAASmnF,GACpC,GAA4B1oF,KAAMonF,IAAsBA,IAAsB/wE,EAAMpiB,GACpF,GAA4B+L,KAAM2mF,IAAQA,IAAQ1mF,IAAIoW,EAAKpP,KAAMhT,EAAO,IACvE,KACD6jF,EAAOv2E,oBAAoB,QAASmnF,GACpC,GAA4B1oF,KAAM2mF,IAAQA,IAAQgC,OAAOtyE,EAAKpP,KAAK,IAE9DtZ,CACT,CACA,qBAAMk1F,CAAgBxsE,GACpB,MAAMpiB,EAAS,GAA4B+L,KAAM2mF,IAAQA,IAAQ5mF,IAAIsW,EAAKpP,MAC1E,GAAc,MAAVhT,EAGF,OAMF,IAAI20F,EAFJ,GAA4B5oF,KAAM2mF,IAAQA,IAAQgC,OAAOtyE,EAAKpP,MAC9D,GAA4BjH,KAAMonF,IAAsBA,IAAsB/wE,EAAMr4B,OAAOw4B,OAAO,OAElG,IACEoyE,QAAsB30F,CACxB,CAAE,MAEA,MACF,OACM,GAA4B+L,KAAM0mF,IAAuBA,IAAuB,GAA4B1mF,KAAMsnF,IAAUA,IAAUjxE,GAAOuyE,EACrJ,CACA,gBAAMnG,CAAWpsE,EAAMzuB,EAAQkwF,GAE7B,GADA4L,GAAe5L,GACO,IAAlBlwF,EAAOxK,SAAiBwK,EAAO,GAAGq6F,mBACpC,OAAO,GAA4BjiF,KAAMwnF,IAAqBA,IAAqBnxE,EAAMzuB,EAAO,GAAIkwF,GAEtG,MAAM,SACJwL,EAAQ,IACR/kG,SACQyhB,KAAKwoF,YAAYnyE,EAAMyhE,GACjC4L,GAAe5L,GACf,IACE,MAAMxvE,QAAclY,QAAQC,IAAIzI,EAAOjD,KAAI,CAACkD,EAAOpI,IAAMugB,KAAK6oF,YAAYxyE,EAAM52B,EAAI,EAAGoI,EAAOiwF,MAE9F,OADA4L,GAAe5L,SACF,GAA4B93E,KAAMmnF,IAAwBA,IAAwB,GAA4BnnF,KAAMsnF,IAAUA,IAAUjxE,GAAO,CAC1J93B,MACA+kG,WACAh7E,QACAwvE,UACCA,GAAQmE,QAAQnE,EACrB,CAAE,MAAOp3F,GAOP,MANY,MAAPA,OAAc,EAASA,EAAI2K,SAAWu1F,GAA6D,gBAA9B,MAAPlgG,OAAc,EAASA,EAAIW,OAI5F2e,KAAK6iF,gBAAgBxsE,GAEjB31B,CACR,CACF,CACA,iBAAA6iG,CAAkBltE,EAAMyyE,GACtB,GAA4B9oF,KAAM2mF,IAAQA,IAAQ1mF,IAAIoW,EAAKpP,KAAM6hF,EACnE,CACA,sBAAMnG,CAAiBtsE,EAAMzuB,EAAQkwF,GAEnC,GADA4L,GAAe5L,GACO,IAAlBlwF,EAAOxK,QAA6B,MAAbwK,EAAO,KAAeA,EAAO,GAAGq6F,mBACzD,OAAO,GAA4BjiF,KAAMwnF,IAAqBA,IAAqBnxE,EAAMzuB,EAAO,GAAIkwF,GAEtG,MAAM,SACJwL,EAAQ,IACR/kG,SACQyhB,KAAKwoF,YAAYnyE,EAAMyhE,GACjC4L,GAAe5L,GACf,MAAMiR,QAA6B,GAA4B/oF,KAAM+mF,IAAYA,IAAY,GAA4B/mF,KAAMsnF,IAAUA,IAAUjxE,GAAO,CACxJitE,WACA/kG,MACAu5F,UACCA,GAAQmE,QAAQnE,GACnB4L,GAAe5L,GACf,MAAMxvE,QAAclY,QAAQC,IAAIzI,EAAOjD,KAAI,CAACkD,EAAOpI,KACjD,MAAMylG,EAAazlG,EAAI,EACjBupG,EAAsBD,EAAqB31F,MAAK1U,IACpD,IAAI,WACF0kG,GACE1kG,EACJ,OAAO0kG,IAAe8B,CAAU,IAElC,OAA2B,MAAvB8D,EACKhpF,KAAK6oF,YAAYxyE,EAAM6uE,EAAYr9F,EAAOiwF,IAG1C,MAATjwF,GAAwC,MAAvBA,EAAMw6F,eAAyBx6F,EAAMw6F,gBAC/C,CACLe,WAAY8B,EACZ7B,KAAM2F,EAAoB3F,MAC3B,KAGH,OADAK,GAAe5L,GACR,GAA4B93E,KAAMmnF,IAAwBA,IAAwB,GAA4BnnF,KAAMsnF,IAAUA,IAAUjxE,GAAO,CACpJ93B,MACA+kG,WACAh7E,QACAwvE,UACCA,GAAQmE,QAAQnE,EACrB,CACA,iBAAM+Q,CAAYxyE,EAAM6uE,EAAYr9F,EAAOiwF,GACzC4L,GAAe5L,GACf,MAAM,SACJwL,EAAQ,IACR/kG,SACQyhB,KAAKwoF,YAAYnyE,EAAMyhE,GAC3BmR,EAAyB,GAA4BjpF,KAAMknF,IAAcA,IAAcn5F,SACvFm7F,EAAqB,GAA4BlpF,KAAMknF,IAAcA,IAAcn5F,SACnFo7F,EAAuB,KAC3B,MAAM7oG,EAAO2oG,EAAuB3oG,OACpC,OAAY,MAARA,GAAgBA,EAAKC,KAChB,KAEFD,EAAKG,KAAK,EAEnB,OAAS,CACPijG,GAAe5L,GACf,MAAMsR,EAAYvhG,EAAM6hD,WAClB,WACJ82C,EAAU,WACV4B,GACEv6F,EACJ,IAAIy+F,EACJ,IACEA,QAAkB,GAA4BtmF,KAAM6mF,IAAiBA,IAAiB,GAA4B7mF,KAAMsnF,IAAUA,IAAUjxE,GAAO,CACjJitE,WACA/kG,MACA2mG,aACA/5F,KAAMi+F,EACNtR,WACCmE,QAAQnE,EACb,CAAE,MAAOp3F,GACP,MAAMi1B,EAAUwzE,IAChB,GAAe,MAAXxzE,GAAmBmiE,EAAOvnD,QAC5B,MAAM7vC,QAEF,IAAI0P,SAAQK,GAAWhT,WAAWgT,EAASklB,KAEjD,QACF,CACA+tE,GAAe5L,GACf,IACE,MAAO,CACLsL,WAAY8B,WACF,GAA4BllF,KAAMqnF,IAAkBA,IAAkB,CAC9Ef,YACAn7F,KAAMi+F,EACNr/D,KAAMq/D,EAAUr/D,KAChBy2D,aACA4B,aACAtK,WACCmE,QAAQnE,GAEf,CAAE,MAAOp3F,GACP,UAAY,GAA4Bsf,KAAMunF,IAAcA,IAAc7mG,EAAKwoG,GAAsB,MAAMxoG,CAC7G,CACF,CACF,EAEFoK,eAAe+8F,GAAcnnG,EAAK2oG,GAChC,IAAIC,EACJ,MAAMv2F,EAAW,GAA4BiN,KAAMinF,IAAWA,IACxDv3F,EAAgB,MAAPhP,GAA6C,OAA7B4oG,EAAc5oG,EAAI4B,aAAkB,EAASgnG,EAAY55F,OAIxF,GAAc,MAAVA,EACF,OAAO,EAET,GAAe,MAAXA,GAAkC,wBAAhBhP,EAAIi+C,SACxB,IAAK5rC,EAAS4pF,SAAU,CAItB,GAAuB,IAAnB5pF,EAASw2F,OAA8F,MAA/E,GAA4BvpF,KAAMgnF,IAAqBA,IAA8B,CAC/G,MAAM1mG,EAAO+oG,EAAmB/oG,OAChC,GAAY,MAARA,GAAgBA,EAAKC,KACvB,OAAO,EAQT,GAA4Byf,KAAMgnF,IAAqBA,IAAuB1mG,EAAKG,KACrF,CAEAsS,EAASy2F,UAAU,SACb,IAAIp5F,SAAQK,GAAWhT,WAAWgT,EAAS,GAA4BuP,KAAMgnF,IAAqBA,MAC1G,OACK,GAAe,MAAXt3F,GAET,IAAKqD,EAAS4pF,SAAU,CACtB,MAAMr8F,EAAO+oG,EAAmB/oG,OAChC,GAAY,MAARA,GAAgBA,EAAKC,KACvB,OAAO,EAETwS,EAASy2F,UAAUlpG,EAAKG,MAC1B,MACK,IAAIiP,EAAS,KAAOA,EAAS,KAAkB,MAAXA,EAEzC,OAAO,EACF,GAAyB,qBAAdmC,YAAkD,IAArBA,UAAU43F,OAElD12F,EAAS4pF,WACZ5pF,EAASmrF,QACT9zF,OAAOkX,iBAAiB,UAAU,KAChCvO,EAAS22F,QAAQ,GAChB,CACD7uD,MAAM,SAGL,CAEL,MAAMv6C,EAAO+oG,EAAmB/oG,OAChC,GAAY,MAARA,GAAgBA,EAAKC,KACvB,OAAO,QAEH,IAAI6P,SAAQK,GAAWhT,WAAWgT,EAASnQ,EAAKG,QACxD,EACA,OAAO,CACT,CACAqK,eAAe88F,GAAqBvxE,EAAMxuB,EAAOiwF,GAC/C,MAAM,OACJtyF,EAAS,OAAM,IACf4xB,EAAG,OACHuyE,EAAM,QACN/jG,SACQ,GAA4Boa,KAAM8mF,IAAsBA,IAAsB,GAA4B9mF,KAAMsnF,IAAUA,IAAUjxE,GAAO,CACnJyhE,WACCmE,QAAQnE,GACX,IAAI3sF,EACJ,MAAM8b,EAAOpf,EAAM6hD,UACnB,GAA6B,SAAzBlkD,EAAOuzB,cAA0B,CACnC,MAAM6wE,EAAW,IAAIthD,SACrBtqD,OAAOq0B,QAAQs3E,GAAQnmG,SAAQsB,IAC7B,IAAKvG,EAAKkC,GAASqE,EACnB,OAAO8kG,EAAS3pF,IAAI1hB,EAAKkC,EAAM,IAEjCmpG,EAAS3pF,IAAI,OAAQgH,GACrB9b,EAAOy+F,CACT,MACEz+F,EAAO8b,EAET,MAAM,WACJu5E,EAAU,WACV4B,GACEv6F,EACEoM,QAAe,GAA4B+L,KAAMqnF,IAAkBA,IAAkB,CACzFf,UAAW,CACTlvE,MACAxxB,UACAJ,UAEF2F,OACA4+B,KAAM9iB,EAAK8iB,KACXy2D,aACA4B,aACAtK,WACCmE,QAAQnE,GACX,MAAO,aAAc7jF,EAASA,EAAS,CACrCjC,SAAUu0F,GAAsBnvE,MAC7BnjB,EAEP,CCnaA,IAAI,GACJ,SAAS,GAA4B8kF,EAAUC,GAAc,IAAKh7F,OAAOiD,UAAU+c,eAAe3d,KAAK04F,EAAUC,GAAe,MAAM,IAAIv3F,UAAU,kDAAqD,OAAOs3F,CAAU,CAC1N,IAAI,GAAK,EACT,SAAS,GAA2B13F,GAAQ,MAAO,aAAe,KAAO,IAAMA,CAAM,CAgBrF,SAASwoG,GAAkB3lG,GACzB,GAAW,MAAPA,GAAeA,EAAIgH,MAAO,CAC5B,MAAMA,EAAQ,IAAI4F,MAAM5M,EAAIy6C,SAE5B,MADA3gD,OAAOiU,OAAO/G,EAAOhH,EAAIgH,OACnBA,CACR,CACA,OAAOhH,CACT,CAQA,SAAS4lG,GAAUjP,GACjB,MAAMkP,EAAiBlP,EAAYmP,WACnC,GAAID,EAAgB,CAClB,MAAME,EAAkBt1E,KAAKwD,OAAO,IAAI7S,KAAKykF,GAAkBzkF,KAAKC,OAAS,KAC7E,GAAI0kF,EAAkB,EACpB,OAAOA,CAEX,CAEF,CACA,SAASC,GAAmBxrG,GAC1B,IAAI,KACFsqF,EAAI,kBACJmhB,EAAiB,QACjBC,GAAU,GACR1rG,EACJ,MAAM2rG,EAAkC,MAArBF,EAA4BA,EAAoBnsG,OAAOI,KAAK4qF,GAC/E,OAAKA,EACEhrF,OAAOssG,YAAYD,EAAWlnG,QAAO5E,GAAoB,MAAbyqF,EAAKzqF,KAAcoG,KAAIpG,GAGjE,CAFS6rG,EAAU,YAAY7rG,KAASA,EACjC4F,OAAO6kF,EAAKzqF,QAHV,CAAC,CAMrB,CAIA,MAAM,GAAiB,CAGrB4rG,kBAAmB,KACnBZ,MAAO,EACPgB,iCAAiC,EACjCtI,mBAAoB5rE,GAAsB,IAAdA,EAAK0T,KAIjCs+D,YAAa,CAAC,EAAG,IAAM,IAAM,KAC7BnO,iBAAkB,CAAC,GAErB,IAAIsQ,GAA4C,GAA2B,+BACvEC,GAAuB,GAA2B,UAClDC,GAA2C,GAA2B,8BACtEC,GAAgD,GAA2B,mCAC3E,GAAoC,GAA2B,uBAC/D,GAAwB,GAA2B,WACnDC,GAAgC,GAA2B,mBAC3DC,GAAuC,GAA2B,0BAClEC,GAAuB,GAA2B,UAClDC,GAAoC,GAA2B,uBAC/DC,GAA8C,GAA2B,iCACzEC,GAAyC,GAA2B,4BACxE,GAAcrrG,OAAO45F,IAAI,wBACV,MAAM0R,WAAuBC,EAAA,EAC1C,WAAA/pG,CAAYo3F,EAAM1zD,GAChB,IAAIsmE,EACJzkD,MAAM6xC,EAAM,IACP,GACH8P,gBAAiB4C,GAAe5C,gBAChCL,sBAAuB,KACvBE,UAAW,KACXH,qBAAsB,KACtBI,wBAAyB,KACzBF,SAAU,KACVK,oBAAqB,QAClBzjE,IAIL9mC,OAAO4F,eAAeoc,KAAM6qF,GAAyB,CACnDpqG,MAAO4qG,KAETrtG,OAAO4F,eAAeoc,KAAM4qF,GAAkB,CAC5CnqG,MAAO6qG,KAETttG,OAAO4F,eAAeoc,KAAM2qF,GAAkC,CAC5DlqG,MAAO8qG,KAETvtG,OAAO4F,eAAeoc,KAAMwqF,GAA8B,CACxDhmG,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAMyqF,GAAS,CACnCjmG,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAM0qF,GAA6B,CACvDlmG,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAM,GAAsB,CAChDxb,UAAU,EACV/D,MAAO,CAAC41B,EAAMvxB,KACZ,IAAI,IACFvG,EAAG,SACH+kG,GACEx+F,EACJ,MAAM0mG,EAAQxrF,KAAKw4E,KAAK/1B,QAAQpsC,EAAK/mB,IACxB,MAATk8F,GAIJxrF,KAAKw4E,KAAK0D,aAAa7lE,EAAK/mB,GAAI,CAC9Bm8F,YAAa,IACRD,EAAMC,YACTltG,MACA+kG,aAEF,IAGNtlG,OAAO4F,eAAeoc,KAAM,GAAU,CACpCxb,UAAU,EACV/D,MAAO41B,GACErW,KAAKw4E,KAAK/1B,QAAQpsC,EAAK/mB,KAAO+mB,IAGzCr4B,OAAO4F,eAAeoc,KAAM8qF,GAAS,CACnCtmG,UAAU,EACV/D,MAAOqK,UACL,GAAuB,IAAnB4gG,EAAQtuG,OAAc,OAC1B,MACMuuG,EAAgBhM,EADR3/E,KAAKw4E,KAAKoT,cAAcF,IAEhCG,EAAchM,EAA+B8L,GACnD3rF,KAAKw4E,KAAKx+C,KAAK,eAAgB6xD,GAC/B,MAAMC,EAAWH,EAAchnG,KAAI0xB,IACjC,GAAIA,EAAK01E,SAAU,CACjB,MAAMvQ,EAAW,IAAMx7E,KAAKjN,SAC5B,GAA4BiN,KAAMgrF,IAAgCA,KAAgC,GAClG,MAAMgB,EAAa,IAAI5O,gBACjB6O,EAAiBC,IACjBA,EAAY58F,KAAO+mB,EAAK/mB,IAAI08F,EAAWl4D,OAAO,EAEpD9zB,KAAKw4E,KAAK5kE,GAAG,eAAgBq4E,GAC7B,MAAME,EAAgBnsF,KAAKw4E,KAAK4T,wBAAwB/1E,GAAMilE,iBAAiBjlE,EAAM,GAA4BrW,KAAM6qF,IAAyBA,IAAyBx0E,GAAO,CAC9KyhE,OAAQkU,EAAWlU,OACnB0D,aAOF,OALAx7E,KAAKjN,SAASs5F,kBAAiB,KAC7BrsF,KAAKw4E,KAAKz9C,IAAI,eAAgBkxD,EAAe,GAC5C,CACDjQ,UAAW,GAHbh8E,GAKOmsF,CACT,CACA,OAAO,GAA4BnsF,KAAM4qF,IAAkBA,IAAkBv0E,EAAK,IAE9EO,QAAexmB,QAAQC,IAAIy7F,GAIjC,OADA,GAA4B9rF,KAAMgrF,IAAgCA,KAAgC,GAC3Fp0E,CAAM,IAGjB54B,OAAO4F,eAAeoc,KAAM+qF,GAAsB,CAChDvmG,UAAU,EACV/D,MAAO,KACL,GAA4Buf,KAAMyqF,IAASA,IAAStQ,oBAAoBn6E,KAAK8kB,KAAKo1D,iBAAiB,IAGvGl8F,OAAO4F,eAAeoc,KAAMgrF,GAAgC,CAC1DxmG,UAAU,EACV/D,MAAO6rG,IACL,MAAM,aACJlQ,GACEp8E,KAAKw4E,KAAKvrF,WACd+S,KAAKw4E,KAAK5wE,SAAS,CACjBw0E,aAAc,IACTA,EACHc,iBAAkBoP,IAEpB,IAGNtuG,OAAO4F,eAAeoc,KAAMirF,GAA2B,CACrDzmG,UAAU,EACV/D,MAAO,KACL,GAA4Buf,KAAMgrF,IAAgCA,KAAgC,EAAK,IAG3GhrF,KAAK3S,KAAO,WACZ2S,KAAK1Q,GAAK0Q,KAAK8kB,KAAKx1B,IAAM,iBAE1B0Q,KAAK2Q,MAAQ,mBAEb,GAA4B3Q,KAAMyqF,IAASA,IAAW,IAAIhR,EAAcjB,EAAM1zD,GAC9E,MAAMynE,EAAwB,CAC5BtE,sBAAuBjoF,KAAKioF,sBAC5BE,UAAWnoF,KAAKmoF,UAChBH,qBAAsBhoF,KAAKgoF,qBAC3BI,wBAAyBpoF,KAAKooF,wBAC9BF,SAAkB,MAARpjE,GAAgBA,EAAKylE,gCAAkCvqF,KAAK0kF,gBAAkB1kF,KAAKkoF,SAC7FK,oBAA6B,MAARzjE,GAAgBA,EAAKylE,gCAAkCvqF,KAAK0kF,gBAAkB1kF,KAAKuoF,qBAE1G,IAAK,MAAMhqG,KAAOP,OAAOI,KAAKmuG,GACN,MAAlBvsF,KAAK8kB,KAAKvmC,KACZyhB,KAAK8kB,KAAKvmC,GAAOguG,EAAsBhuG,GAAKwpB,KAAK/H,OAGI,OAA5C,MAAR8kB,OAAe,EAASA,EAAK0nE,qBAAgD,MAAjB1nE,EAAKojE,WACpEloF,KAAK8kB,KAAKojE,SAAWp9F,MAAOurB,EAAM3uB,KAChC,IAAI,SACF47F,EAAQ,IACR/kG,EAAG,WACH2mG,EAAU,KACV/5F,EAAI,OACJ2sF,GACEpwF,EACJ,MAAM,cACJ+kG,EAAa,QACb7mG,SACQk/B,EAAK0nE,mBAAmBn2E,EAAM,CACtCitE,WACA/kG,MACA+pB,MAAO,CAAC,CACN8V,OAAQ8mE,EACRr9F,MAAOsD,IAET2sF,WAEF,MAAO,CACL1gE,IAAsB,MAAjBq1E,OAAwB,EAASA,EAAcvH,GACpDt/F,QAAoB,MAAXA,OAAkB,EAASA,EAAQs/F,GAC7C,GASLllF,KAAKjN,SAA+D,OAAnDq4F,EAAoBprF,KAAK8kB,KAAK4nE,kBAA4BtB,EAAoB,IAAIuB,EAAA,EAAiB3sF,KAAK8kB,KAAKykE,OAC9H,GAA4BvpF,KAAMwqF,IAA8BA,IAAgC,IAAI/C,GAAuBznF,KAAKjN,SAAUiN,KAAK8kB,KAAM,GAA4B9kB,KAAM,IAAsB,IAAuB,GAA4BA,KAAM,IAAU,KAChRA,KAAK4sF,UAAY5uG,OAAOw4B,OAAO,MAC/BxW,KAAK6sF,eAAiB7uG,OAAOw4B,OAAO,MACpCxW,KAAK8sF,gBAAkB9uG,OAAOw4B,OAAO,KACvC,CACA,CAAC,MACC,OAAO,GAA4BxW,KAAMyqF,IAASA,GACpD,CACA,UAAA3C,CAAWiF,GACT,GAA4B/sF,KAAMwqF,IAA8BA,IAA8B1C,WAAWiF,GACzGpmD,MAAMmhD,WAAWiF,GACjB,GAA4B/sF,KAAM+qF,IAAsBA,KAC1D,CASA,uBAAAiC,CAAwB3N,EAAQv6D,GAC1B9kB,KAAK4sF,UAAUvN,KACjBr/E,KAAK4sF,UAAUvN,GAAQvrD,MAAM,CAC3B0vD,QAAiB,MAAR1+D,OAAe,EAASA,EAAKgP,SAAU,IAElD9zB,KAAK4sF,UAAUvN,GAAU,MAEvBr/E,KAAK6sF,eAAexN,KACtBr/E,KAAK6sF,eAAexN,GAAQ/sE,SAC5BtS,KAAK6sF,eAAexN,GAAU,MAE5Br/E,KAAK8sF,gBAAgBzN,KAEvBr/E,KAAK8sF,gBAAgBzN,GAAQ3nD,QAE7B13B,KAAK8sF,gBAAgBzN,GAAU,KAEnC,CAGA,UAAA4N,CAAWznG,GACT,IAAKwa,KAAK8kB,KAAKy1D,aACb,MAAM,IAAIzpF,MAAM,oHAAoHtL,sBAExI,CACA,qBAAAyiG,CAAsB5xE,EAAMyhE,GAC1B93E,KAAKitF,WAAW,yBAChBvJ,GAAe5L,GACf,MAAM74E,EAAWirF,GAAmB,CAClClhB,KAAM3yD,EAAK2yD,KACXmhB,kBAAmBnqF,KAAK8kB,KAAKqlE,oBAE/B,OAAO,GAA4BnqF,KAAMyqF,IAASA,IAAS1Q,KAAK,eAAgB,CAC9ExiE,SAAUlB,EAAKh1B,KACfgM,KAAMgpB,EAAKhpB,KACX4R,YACC,CACD64E,WACCpnF,KAAKm5F,GACV,CACA,SAAA1B,CAAU9xE,EAAMvuB,EAAOolG,GAErB,IAAI,IACF3uG,EAAG,SACH+kG,EAAQ,OACRxL,GACEhwF,EACkB,MAAXgwF,IAA4BA,EAASoV,GAChDltF,KAAKitF,WAAW,aAChBvJ,GAAe5L,GACf,MAAMvgE,EAAWG,mBAAmBn5B,GACpC,OAAO,GAA4ByhB,KAAMyqF,IAASA,IAAS1qF,IAAI,gBAAgBujF,SAAgB/rE,IAAY,CACzGugE,WACCpnF,KAAKm5F,GACV,CACA,uBAAAzB,CAAwB/xE,EAAMruB,EAAOklG,GAEnC,IAAI,IACF3uG,EAAG,SACH+kG,EAAQ,MACRh7E,EAAK,OACLwvE,GACE9vF,EACmB,MAAX8vF,IAA6BA,EAASoV,GAClDltF,KAAKitF,WAAW,2BAChBvJ,GAAe5L,GACf,MAAMvgE,EAAWG,mBAAmBn5B,GAC9B4uG,EAAcz1E,mBAAmB4rE,GACvC,OAAO,GAA4BtjF,KAAMyqF,IAASA,IAAS1Q,KAAK,gBAAgBoT,kBAA4B51E,IAAY,CACtHjP,SACC,CACDwvE,WACCpnF,KAAKm5F,GACV,CACA,qBAAMnF,CAAgBruE,EAAMjtB,GAC1B,MAAM6d,QAAa,GAA4BjH,KAAM2qF,IAAkCA,IAAkCvhG,GACnH67F,EAAU6E,GAAU7iF,EAAK4zE,cAAgB,QAEzC,SACJyI,EAAQ,IACR/kG,EAAG,WACH2mG,GACE97F,EAGJ,MAAO,CACL5D,OAAQ,MACRy/F,UACA0E,OAAQ,CAAC,EACTvyE,IAAK,SAASstE,GAAgB,CAC5BC,WAAY19E,EAAK4zE,YAAYuS,YAC7BxI,cAAe39E,EAAK4zE,YAAYwS,gBAChCxI,aAAc59E,EAAK4zE,YAAYyS,aAC/BrI,UACAH,WAAY79E,EAAKsmF,OACjBvI,OAAQ/9E,EAAKumF,OACbzI,IAAY,MAAPxmG,EAAcA,EAAM,GAAG6lG,OAAOqJ,gBAAgBp3E,EAAKh1B,OACxDiiG,WACA4B,iBAGFt/F,QAAS,CACP,eAAgBywB,EAAKhpB,MAG3B,CACA,QAAA66F,CAAS7xE,EAAMhqB,GACb,IAAI,SACFi3F,EAAQ,IACR/kG,EAAG,WACH2mG,EAAU,OACVpN,GACEzrF,EAGJ,GAFA2T,KAAKitF,WAAW,YAChBvJ,GAAe5L,GACC,MAAZwL,GAA2B,MAAP/kG,GAA6B,MAAd2mG,EACrC,MAAM,IAAIp0F,MAAM,4DAElB,MAAMymB,EAAWG,mBAAmBn5B,GACpC,OAAO,GAA4ByhB,KAAMyqF,IAASA,IAAS1qF,IAAI,gBAAgBujF,KAAY4B,SAAkB3tE,IAAY,CACvHugE,WACCpnF,KAAKm5F,GACV,CACA,oBAAA7B,CAAqB3xE,EAAM9pB,EAE3B2gG,GAGE,IAAI,IACF3uG,EAAG,SACH+kG,EAAQ,OACRxL,GACEvrF,EACmB,MAAXurF,IAA6BA,EAASoV,GAClDltF,KAAKitF,WAAW,wBAChB,MAAM11E,EAAWG,mBAAmBn5B,GAC9B4uG,EAAcz1E,mBAAmB4rE,GACvC,OAAO,GAA4BtjF,KAAMyqF,IAASA,IAAS9B,OAAO,gBAAgBwE,SAAmB51E,SAAYt6B,EAAW,CAC1H66F,WACCpnF,KAAKm5F,GACV,CACA,mBAAAtB,CAAoBlyE,EAAMjtB,GACxB,MAAM,KACJ4/E,GACE3yD,GACE,KACJhpB,EACAhM,KAAMk2B,GACJyxD,EACE/pE,EAAWirF,GAAmB,CAClClhB,OACAmhB,kBAAmBnqF,KAAK8kB,KAAKqlE,kBAC7BC,SAAS,IAEL56F,EAAQ,IAAIk+F,gBAAgB,CAChCn2E,WACAlqB,UACG4R,IAEL,OAAO,GAA4Be,KAAMyqF,IAASA,IAAS1qF,IAAI,aAAavQ,IAASpG,EACvF,CACA,4BAAak/F,CAAgBh/F,GAC3B,IACEg9F,WAAW,IACTlvE,EAAG,QACH6tE,EAAO,QACPr/F,EAAO,OACPJ,EAAS,OACV,KACD2F,EAAI,KACJ4+B,EAAO5+B,EAAK4+B,KAAI,WAChBy2D,EAAU,WACV4B,EAAU,OACVtK,GACExuF,EAEJ,GADAo6F,GAAe5L,GACJ,MAAP1gE,EACF,MAAM,IAAItmB,MAAM,qCAElB,OAAO,IAAIV,SAAQ,CAACK,EAAS4E,KAC3B,MAAMshB,EAAM,IAAIg3E,eAWhB,SAAS78D,IACPna,EAAImd,OACN,CACA,SAASjmB,IACG,MAAViqE,GAAkBA,EAAOv2E,oBAAoB,QAASuvB,EACxD,CAfAna,EAAIvkB,KAAK5M,EAAQ4xB,GAAK,GAClBxxB,GACF5H,OAAOI,KAAKwH,GAASpC,SAAQjF,IAC3Bo4B,EAAIi3E,iBAAiBrvG,EAAKqH,EAAQrH,GAAK,IAG3Co4B,EAAIk3E,aAAe,OACI,kBAAZ5I,IACTtuE,EAAIhB,QAAoB,IAAVsvE,GAQN,MAAVnN,GAAkBA,EAAOx2E,iBAAiB,QAASwvB,GACnDna,EAAIC,OAAOtV,iBAAiB,YAAYyhF,IACtCvC,EAAWuC,EAAG,IAEhBpsE,EAAIrV,iBAAiB,SAAS,KAC5BuM,IACAxY,EAAO8qF,IAAmB,IAE5BxpE,EAAIrV,iBAAiB,WAAW,KAC9BuM,IACA,MAAM3iB,EAAQ,IAAI4F,MAAM,uBACxB5F,EAAM5I,OAAS,CACboN,OAAQ,KAEV2F,EAAOnK,EAAM,IAEfyrB,EAAIrV,iBAAiB,QAAQ,KAE3B,GADAuM,IACmB,MAAf8I,EAAIjnB,QAAkBinB,EAAIonE,aAAaltF,SAAS,0CAA2C,CAC7F,MAAM3F,EAAQ,IAAI4F,MAAM,uBAGxB,OAFA5F,EAAM5I,OAASq0B,OACfthB,EAAOnK,EAET,CACA,GAAIyrB,EAAIjnB,OAAS,KAAOinB,EAAIjnB,QAAU,IAAK,CACzC,MAAMxE,EAAQ,IAAI4F,MAAM,WAGxB,OAFA5F,EAAM5I,OAASq0B,OACfthB,EAAOnK,EAET,CAGc,MAAds1F,GAAsBA,EAAW,CAC/B1pE,OAAQiT,EACRi5D,kBAAkB,IAIpB,MAAMxjG,EAAMm3B,EAAIm3E,wBAAwBtlD,OAAOljD,MAAM,WAE/CyoG,EAAa,CACjBjpD,UAAW,MAEb,IAAK,MAAMkpD,KAAQxuG,EAAK,CACtB,MAAM8oB,EAAQ0lF,EAAK1oG,MAAM,MACnBqsB,EAASrJ,EAAM9D,QACf/jB,EAAQ6nB,EAAMpQ,KAAK,MACzB61F,EAAWp8E,GAAUlxB,CACvB,CACA,MAAM,KACJ0iG,EAAI,SACJnxF,GACE+7F,EACyB,SAAzBvoG,EAAOuzB,eAAyC,OAAb/mB,GAGrC/G,QAAQ6pB,KAAK,iNAEF,OAATquE,GAIU,MAAdf,GAAsBA,EAAWe,GACjC1yF,EAAQ,IACHs9F,EACH1K,KAAMF,KANN9tF,EAAO,IAAIvE,MAAM,6MAOjB,IAEJ6lB,EAAIrV,iBAAiB,SAASyhF,IAC5Bl1E,IACA,MAAM3iB,EAAQ,IAAI4F,MAAM,iBACxB5F,EAAM5I,OAASygG,EAAGvgG,OAClB6S,EAAOnK,EAAM,IAEfyrB,EAAIqmE,KAAK7xF,EAAK,GAElB,CACA,OAAAyzE,GACE,GAA4B5+D,KAAMgrF,IAAgCA,KAAgC,GAClGhrF,KAAKw4E,KAAKyV,gBAAgB,GAA4BjuF,KAAM+qF,IAAsBA,KAClF/qF,KAAKw4E,KAAK0V,YAAY,GAA4BluF,KAAM8qF,IAASA,KACjE9qF,KAAKw4E,KAAK5kE,GAAG,aAAc,GAA4B5T,KAAMirF,IAA2BA,IAC1F,CACA,SAAAjsB,GACEh/D,KAAKw4E,KAAK2V,mBAAmB,GAA4BnuF,KAAM+qF,IAAsBA,KACrF/qF,KAAKw4E,KAAK4V,eAAe,GAA4BpuF,KAAM8qF,IAASA,KACpE9qF,KAAKw4E,KAAKz9C,IAAI,aAAc,GAA4B/6B,KAAMirF,IAA2BA,IAC3F,EAEFngG,eAAeygG,GAAkCniG,GAsB/C,OArBAs6F,GAA0B,MAAXt6F,OAAkB,EAASA,EAAQ0uF,QACiD,MAA/F,GAA4B93E,KAAM0qF,IAA6BA,OAEf,IAA9C1qF,KAAK8kB,KAAKylE,iCACZvqF,KAAKitF,WAAW,mCAChB,GAA4BjtF,KAAM0qF,IAA6BA,IAA+B,GAA4B1qF,KAAMyqF,IAASA,IAAS1qF,IAAI,SAAU3W,GAASsH,KAAKm5F,KAE9K,GAA4B7pF,KAAM0qF,IAA6BA,IAA+B1qF,KAAK8kB,KAAKylE,gCAAgCnhG,GAE1I,GAA4B4W,KAAM0qF,IAA6BA,UAAqC,GAA4B1qF,KAAM0qF,IAA6BA,IACnKjtG,YAAW,KAQT,GAA4BuiB,KAAM0qF,IAA6BA,IAA+B,IAAI,GAC2B,KAA3HZ,GAAU,GAA4B9pF,KAAM0qF,IAA6BA,IAA6B7P,cAAgB,KAErH,GAA4B76E,KAAM0qF,IAA6BA,GACxE,CACA,SAASY,GAAkBj1E,GACzB,IAAIma,EAAQxwB,KACZ,OAAO,IAAI5P,SAAQ,CAACK,EAAS4E,KAC3B,MA6BMuhB,EAAS,IAAI,GAAkBP,EAAKpP,KAAM,CAE9Cu7E,cAAe,GAA4BxiF,KAAMwqF,IAA8BA,IAC/EpyE,IAAK,WACH,OAAOoY,EAAMgoD,KAAKpgE,OAAOj7B,UAC3B,EACAmjG,aAActgF,KAAK8kB,KAAKw7D,aAAetgF,KAAK8kB,KAAKw7D,aAAav4E,KAAK/H,MAAQ,KAC3EwgF,WApCiB,CAAClI,EAAeC,KACjCv4E,KAAKw4E,KAAKx+C,KAAK,kBAAmBh6B,KAAKw4E,KAAK/1B,QAAQpsC,EAAK/mB,IAAK,CAE5D8oF,SAAUp4E,KACVs4E,gBACAC,cACA,EA+BFoI,QA7BcjgG,IACdsf,KAAKw4E,KAAKpgE,IAAI13B,GACdsf,KAAKw4E,KAAKx+C,KAAK,eAAgB3jB,EAAM31B,GACrCsf,KAAKgtF,wBAAwB32E,EAAK/mB,IAClC+F,EAAO3U,EAAI,EA0BXggG,UAxBgBzsF,IAChB,MAAMo6F,EAAa,CACjBljG,KAAM,IACD8I,GAELvE,OAAQ,IACRsuF,UAAW/pF,EAAOjC,UAEpBgO,KAAKgtF,wBAAwB32E,EAAK/mB,IAClC0Q,KAAKw4E,KAAKx+C,KAAK,iBAAkB,GAA4Bh6B,KAAM,IAAU,IAAUqW,GAAOg4E,GAC1Fp6F,EAAOjC,UACTgO,KAAKw4E,KAAKpgE,IAAI,YAAY/B,EAAKh1B,aAAa4S,EAAOjC,YAErDvB,GAAS,EAYTgwF,eAAgBl4E,IACdvI,KAAKw4E,KAAKx+C,KAAK,6BAA8B,GAA4Bh6B,KAAM,IAAU,IAAUqW,GAAO9N,EAAK,EAEjH8N,OACA4rE,mBAAoBjiF,KAAK8kB,KAAKm9D,sBAC3B5rE,EAAKo1E,cAEVzrF,KAAK4sF,UAAUv2E,EAAK/mB,IAAMsnB,EAC1B,MAAM03E,EAAe,IAAInP,EAAan/E,KAAKw4E,MAC3Cx4E,KAAK6sF,eAAex2E,EAAK/mB,IAAMg/F,EAC/BA,EAAajQ,aAAahoE,EAAK/mB,IAAI4kD,IACjCt9B,EAAOkd,QACP9zB,KAAKgtF,wBAAwB32E,EAAK/mB,GAAI,CACpCwkC,OAAO,IAETrjC,EAAQ,UAAUyjD,gBAAsB,IAE1Co6C,EAAa7P,YAAYpoE,EAAK/mB,IAAIlG,IACoB,UAApC,MAAXA,OAAkB,EAASA,EAAQgN,UACtCwgB,EAAOkd,QACP9zB,KAAKgtF,wBAAwB32E,EAAK/mB,GAAI,CACpCwkC,OAAO,KAGXrjC,EAAQ,UAAU4lB,EAAK/mB,kBAAkB,IAE3Cg/F,EAAalP,YAAY/oE,EAAK/mB,IAAIqtF,IAC5BA,EACF/lE,EAAOsnE,QAEPtnE,EAAOL,OACT,IAEF+3E,EAAazP,WAAWxoE,EAAK/mB,IAAI,KAC/BsnB,EAAOsnE,OAAO,IAEhBoQ,EAAaxP,YAAYzoE,EAAK/mB,IAAI,KAChCsnB,EAAOL,OAAO,IAEhBK,EAAOL,OAAO,GAElB,CACA,SAAS80E,GAAyBh1E,GAChC,IAAIujE,EACJ,MAAO,IAC+B,OAA/BA,EAAevjE,EAAKyjE,aAAkB,EAASF,EAAazuF,KACjE6vD,SAAU,eACVjxB,KAAM1T,EAAKpP,KAAK8iB,KAChB9qB,SAAUoX,EAAK2yD,KAEnB,CACAkiB,GAAe/U,QAlqBF,SCjBb,SAAS,GAA4B4C,EAAUC,GAAc,IAAKh7F,OAAOiD,UAAU+c,eAAe3d,KAAK04F,EAAUC,GAAe,MAAM,IAAIv3F,UAAU,kDAAqD,OAAOs3F,CAAU,CAC1N,IAAI,GAAK,EACT,SAAS,GAA2B13F,GAAQ,MAAO,aAAe,KAAO,IAAMA,CAAM,CACrF,IAAI,GAAqB,GAA2B,QAChD,GAAuB,GAA2B,UAKvC,MAAM,GACnB,WAAAD,CAAYo3F,GACVx6F,OAAO4F,eAAeoc,KAAM,GAAO,CACjCxb,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAM,GAAS,CACnCxb,UAAU,EACV/D,MAAO,KAET,GAA4Buf,KAAM,IAAO,IAASw4E,CACpD,CACA,EAAA5kE,CAAG3qB,EAAOnM,GAER,OADA,GAA4BkjB,KAAM,IAAS,IAASxf,KAAK,CAACyI,EAAOnM,IAC1D,GAA4BkjB,KAAM,IAAO,IAAO4T,GAAG3qB,EAAOnM,EACnE,CACA,MAAAw1B,GACE,IAAK,MAAOrpB,EAAOnM,KAAO,GAA4BkjB,KAAM,IAAS,IAAS45B,OAAO,GACnF,GAA4B55B,KAAM,IAAO,IAAO+6B,IAAI9xC,EAAOnM,EAE/D,CACA,WAAAsiG,CAAYC,EAAQhhD,GAClBr+B,KAAK4T,GAAG,gBAAgB,CAAC0rE,EAAc3C,KACjC0C,IAAWC,GACbjhD,EAAGs+C,EACL,GAEJ,CACA,YAAA0B,CAAagB,EAAQhhD,GACnBr+B,KAAK4T,GAAG,gBAAgByC,IAClBgpE,IAAWhpE,EAAK/mB,IAAI+uC,EAAGhoB,EAAK/mB,GAAG,GAEvC,CACA,OAAAiwF,CAAQF,EAAQhhD,GACdr+B,KAAK4T,GAAG,gBAAgB,CAAC0rE,EAAc3C,KACjC0C,IAAWC,GAEbjhD,EAAGs+C,EACL,GAEJ,CACA,OAAA6C,CAAQH,EAAQhhD,GACdr+B,KAAK4T,GAAG,gBAAgB0rE,IAClBD,IAAWC,GACbjhD,GACF,GAEJ,CACA,UAAAohD,CAAWJ,EAAQhhD,GACjBr+B,KAAK4T,GAAG,aAAa,KACd,GAA4B5T,KAAM,IAAO,IAAOyiD,QAAQ48B,IAC7DhhD,GAAI,GAER,CACA,UAAAwgD,CAAWQ,EAAQhhD,GACjBr+B,KAAK4T,GAAG,aAAa,KACd,GAA4B5T,KAAM,IAAO,IAAOyiD,QAAQ48B,IAC7DhhD,GAAI,GAER,CACA,WAAAogD,CAAYY,EAAQK,GAClB,IAAIlvD,EAAQxwB,KACZA,KAAK4T,GAAG,cAAc,WACf,GAA4B4c,EAAO,IAAO,IAAOiyB,QAAQ48B,IAC9DK,KAAgBviG,UAClB,GACF,CACA,WAAA2hG,CAAYO,EAAQhhD,GAClBr+B,KAAK4T,GAAG,cAAc,KACf,GAA4B5T,KAAM,IAAO,IAAOyiD,QAAQ48B,IAC7DhhD,GAAI,GAER,ECjFF,SAAS,GAA4B06C,EAAUC,GAAc,IAAKh7F,OAAOiD,UAAU+c,eAAe3d,KAAK04F,EAAUC,GAAe,MAAM,IAAIv3F,UAAU,kDAAqD,OAAOs3F,CAAU,CAC1N,IAAI,GAAK,EACT,SAAS,GAA2B13F,GAAQ,MAAO,aAAe,KAAO,IAAMA,CAAM,CACrF,IAAIktG,GAA2B,GAA2B,cACtDC,GAAuB,GAA2B,UAClDC,GAA2B,GAA2B,cACtD5wD,GAAwB,GAA2B,WAgDvD,SAzCA,MACE,WAAAz8C,CAAYu0B,EAEZ+4E,GACE1wG,OAAO4F,eAAeoc,KAAMuuF,GAAa,CACvC/pG,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAMwuF,GAAS,CACnChqG,UAAU,EACV/D,OAAO,IAETzC,OAAO4F,eAAeoc,KAAMyuF,GAAa,CACvCjqG,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAM69B,GAAU,CACpCr5C,UAAU,EACV/D,WAAO,IAET,GAA4Buf,KAAM69B,IAAUA,IAAYloB,EACxD,GAA4B3V,KAAMyuF,IAAaA,IAAe,IAAMC,EAAe/4E,EACrF,CACA,QAAAkB,GAIM,GAA4B7W,KAAMwuF,IAASA,KAC3C,GAA4BxuF,KAAM69B,IAAUA,IAAY,IAC1DrgD,aAAa,GAA4BwiB,KAAMuuF,IAAaA,KAC5D,GAA4BvuF,KAAMuuF,IAAaA,IAAe9wG,WAAW,GAA4BuiB,KAAMyuF,IAAaA,IAAc,GAA4BzuF,KAAM69B,IAAUA,KAEtL,CACA,IAAAt9C,GACO,GAA4Byf,KAAMwuF,IAASA,MAC9ChxG,aAAa,GAA4BwiB,KAAMuuF,IAAaA,KAC5D,GAA4BvuF,KAAMuuF,IAAaA,SAAetxG,EAC9D,GAA4B+iB,KAAMwuF,IAASA,KAAW,EAE1D,GC9CF,SANA,SAAwB73E,GACtB,QAAKA,IAGqB,IAAnBA,EAAImmE,YAAuC,IAAnBnmE,EAAImmE,YAAmC,IAAfnmE,EAAIjnB,OAC7D,ECLA,SAAS,GAA4BqpF,EAAUC,GAAc,IAAKh7F,OAAOiD,UAAU+c,eAAe3d,KAAK04F,EAAUC,GAAe,MAAM,IAAIv3F,UAAU,kDAAqD,OAAOs3F,CAAU,CAC1N,IAAI,GAAK,EACT,SAAS,GAA2B13F,GAAQ,MAAO,aAAe,KAAO,IAAMA,CAAM,CAUrF,SAASstG,GAAmBh4E,EAAKzrB,GAC/B,GAAI,GAAeyrB,GAAM,OAAO,IAAI,EAAazrB,EAAOyrB,GACxD,MAAMj2B,EAAM,IAAI,EAAe,eAAgB,CAC7C2K,MAAOH,IAGT,OADAxK,EAAI4S,QAAUqjB,EACPj2B,CACT,CAeA,SAASkuG,GAAqBv4E,EAAMyO,GAClC,MAAM+pE,EAAW,IAAIvmD,UATvB,SAAqBshD,EAAU5gB,EAAMlkD,IACTxnC,MAAMoC,QAAQolC,EAAKqlE,mBAAqBrlE,EAAKqlE,kBAErEnsG,OAAOI,KAAK4qF,IACIxlF,SAAQ7E,IACxBirG,EAAS5nF,OAAOrjB,EAAMqqF,EAAKrqF,GAAM,GAErC,CAGEmwG,CAAYD,EAAUx4E,EAAK2yD,KAAMlkD,GACjC,MAAMiqE,EAfR,SAAuB14E,GAErB,OAD4BA,EAAKpP,KAAK9lB,MAAM,EAAGk1B,EAAKpP,KAAK8iB,KAAM1T,EAAK2yD,KAAK37E,KAE3E,CAY8B2hG,CAAc34E,GAM1C,OALIA,EAAKh1B,KACPwtG,EAAS7sF,OAAO8iB,EAAKmqE,UAAWF,EAAqB14E,EAAK2yD,KAAK3nF,MAE/DwtG,EAAS7sF,OAAO8iB,EAAKmqE,UAAWF,GAE3BF,CACT,CAEA,IAAIK,GAAuC,GAA2B,0BAClEC,GAAiD,GAA2B,oCACjE,MAAMC,GACnB,WAAAhuG,CAAYo3F,EAAM1zD,GAChB9mC,OAAO4F,eAAeoc,KAAMmvF,GAAmC,CAC7D1uG,MAAO4uG,KAETrxG,OAAO4F,eAAeoc,KAAMkvF,GAAyB,CACnDzuG,MAAO6uG,KAETtvF,KAAKw4E,KAAOA,EACZx4E,KAAK8kB,KAAO,CACVyqE,eAAe7/F,GACNA,GAAU,KAAOA,EAAS,OAEhCo1B,GAEL9kB,KAAKjN,SAAW+xB,EAAK,KACrB9kB,KAAK6sF,eAAiB7uG,OAAOw4B,OAAO,MACpCxW,KAAKwvF,KAAO1qE,EAAK0qE,IACnB,CACA,UAAA3lG,CAAWwsB,GACT,IAAIo5E,EACJ,MAAM,KACJjX,GACEx4E,KACE0vF,EAAYlX,EAAKvrF,WAAW0iG,UAWlC,MAVa,IACR3vF,KAAK8kB,QACJ4qE,GAAa,CAAC,KACdr5E,EAAKs5E,WAAa,CAAC,EACvB/pG,QAAS,IACJoa,KAAK8kB,KAAKl/B,WACI,MAAb8pG,OAAoB,EAASA,EAAU9pG,WACD,OAArC6pG,EAAkBp5E,EAAKs5E,gBAAqB,EAASF,EAAgB7pG,SAIhF,CACA,eAAAgqG,CAAgBv5E,GACd,MAAMyO,EAAO9kB,KAAKnW,WAAWwsB,GAC7B,OAAO,IAAIjmB,SAAQ,CAACK,EAAS4E,KAI3B,MAAM4R,EAAO6d,EAAK8kE,SAAWgF,GAAqBv4E,EAAMyO,GA9CrCzO,IAAQA,EAAKpP,KA8CgC4oF,CAAiBx5E,GAC3EM,EAAM,IAAIg3E,eAChB3tF,KAAK6sF,eAAex2E,EAAK/mB,IAAM,IAAI,GAAa0Q,KAAKw4E,MACrD,MAAMsX,EAAQ,IAAI,GAAgBhrE,EAAKnP,SAAS,KAC9CgB,EAAImd,QAEJi8D,EAAcxvG,OACd,MAAM2K,EAAQ,IAAI4F,MAAMkP,KAAKwvF,KAAK,WAAY,CAC5CQ,QAASr7E,KAAK4rE,KAAKz7D,EAAKnP,QAAU,QAEpC3V,KAAKw4E,KAAKx+C,KAAK,eAAgB3jB,EAAMnrB,GACrCmK,EAAOnK,EAAM,IAEToE,EC5FQ,EAACy6B,EAAO,MAC1B,IAAIz6B,EAAK,GACL7P,EAAIsqC,EACR,KAAOtqC,KACL6P,GAfF,mEAeqC,GAAhBqlB,KAAKgoB,SAAiB,GAE3C,OAAOrtC,GDsFQ2gG,GACXt5E,EAAIC,OAAOtV,iBAAiB,aAAa,KACvCtB,KAAKw4E,KAAKpgE,IAAI,qBAAqB9oB,YAAa,IAElDqnB,EAAIC,OAAOtV,iBAAiB,YAAYyhF,IACtC/iF,KAAKw4E,KAAKpgE,IAAI,qBAAqB9oB,eAAgByzF,EAAGjsE,YAAYisE,EAAGhsE,SAGrE+4E,EAAMj5E,WACFksE,EAAGC,kBACLhjF,KAAKw4E,KAAKx+C,KAAK,kBAAmBh6B,KAAKw4E,KAAK/1B,QAAQpsC,EAAK/mB,IAAK,CAC5D8oF,SAAUp4E,KACVs4E,cAAeyK,EAAGjsE,OAClByhE,WAAYwK,EAAGhsE,OAEnB,IAEFJ,EAAIrV,iBAAiB,QAAQyhF,IAS3B,GARA/iF,KAAKw4E,KAAKpgE,IAAI,qBAAqB9oB,cACnCwgG,EAAMvvG,OAENwvG,EAAcxvG,OACVyf,KAAK6sF,eAAex2E,EAAK/mB,MAC3B0Q,KAAK6sF,eAAex2E,EAAK/mB,IAAIgjB,SAC7BtS,KAAK6sF,eAAex2E,EAAK/mB,IAAM,MAE7Bw1B,EAAKyqE,eAAexM,EAAGvgG,OAAOkN,OAAQinB,EAAIonE,aAAcpnE,GAAM,CAChE,MAAMxrB,EAAO25B,EAAKorE,gBAAgBv5E,EAAIonE,aAAcpnE,GAC9CqnE,EAAY7yF,EAAK25B,EAAKqrE,sBACtB9B,EAAa,CACjB3+F,OAAQqzF,EAAGvgG,OAAOkN,OAClBvE,OACA6yF,aAMF,OAJAh+E,KAAKw4E,KAAKx+C,KAAK,iBAAkBh6B,KAAKw4E,KAAK/1B,QAAQpsC,EAAK/mB,IAAK++F,GACzDrQ,GACFh+E,KAAKw4E,KAAKpgE,IAAI,YAAY/B,EAAKh1B,aAAa28F,KAEvCvtF,EAAQ4lB,EACjB,CACA,MAAMlrB,EAAO25B,EAAKorE,gBAAgBv5E,EAAIonE,aAAcpnE,GAC9CzrB,EAAQyjG,GAAmBh4E,EAAKmO,EAAKsrE,iBAAiBz5E,EAAIonE,aAAcpnE,IACxE9iB,EAAW,CACfnE,OAAQqzF,EAAGvgG,OAAOkN,OAClBvE,QAGF,OADA6U,KAAKw4E,KAAKx+C,KAAK,eAAgB3jB,EAAMnrB,EAAO2I,GACrCwB,EAAOnK,EAAM,IAEtByrB,EAAIrV,iBAAiB,SAAS,KAC5BtB,KAAKw4E,KAAKpgE,IAAI,qBAAqB9oB,aACnCwgG,EAAMvvG,OAENwvG,EAAcxvG,OACVyf,KAAK6sF,eAAex2E,EAAK/mB,MAC3B0Q,KAAK6sF,eAAex2E,EAAK/mB,IAAIgjB,SAC7BtS,KAAK6sF,eAAex2E,EAAK/mB,IAAM,MAEjC,MAAMpE,EAAQyjG,GAAmBh4E,EAAKmO,EAAKsrE,iBAAiBz5E,EAAIonE,aAAcpnE,IAE9E,OADA3W,KAAKw4E,KAAKx+C,KAAK,eAAgB3jB,EAAMnrB,GAC9BmK,EAAOnK,EAAM,IAEtByrB,EAAIvkB,KAAK0yB,EAAKt/B,OAAOuzB,cAAe+L,EAAKurE,UAAU,GAInD15E,EAAI25E,gBAAkB//F,QAAQu0B,EAAKwrE,iBACT,KAAtBxrE,EAAK+oE,eACPl3E,EAAIk3E,aAAe/oE,EAAK+oE,cAE1B7vG,OAAOI,KAAK0mC,EAAKl/B,SAASpC,SAAQmuB,IAChCgF,EAAIi3E,iBAAiBj8E,EAAQmT,EAAKl/B,QAAQ+rB,GAAQ,IAEpD,MAAMo+E,EAAgB/vF,KAAKjN,SAASw9F,KAAI,KACtC55E,EAAIqmE,KAAK/1E,GACF,KAEL6oF,EAAMvvG,OACNo2B,EAAImd,OAAO,IAEZ,CACDkoD,SAAU,IAEZ,GAA4Bh8E,KAAMkvF,IAAyBA,IAAyB,eAAgB74E,EAAK/mB,IAAI,KAC3GygG,EAAcj8D,QACdz+B,EAAO,IAAIvE,MAAM,gBAAgB,IAEnC,GAA4BkP,KAAMmvF,IAAmCA,IAAmC,aAAc94E,EAAK/mB,IAAI,SAAUkhG,GACvI,IAAI,OACFp6F,QACY,IAAVo6F,EAAmB,CAAC,EAAIA,EACb,SAAXp6F,GACF25F,EAAcj8D,QAEhBz+B,EAAO,IAAIvE,MAAM,oBACnB,GAAE,GAEN,EAEF,SAASw+F,GAAyBpmG,EAAWm2F,EAAQK,GACnD1/E,KAAK6sF,eAAexN,GAAQzrE,GAAG1qB,GAAWunG,IACxC,IAAIC,EAIJ,MAAMphG,EAAiE,OAA3DohG,EAA2B,MAAZD,OAAmB,EAASA,EAASnhG,IAAcohG,EAAeD,EACzFpR,IAAW/vF,GAAIowF,GAAc,GAErC,CACA,SAAS2P,GAAmCnmG,EAAWm2F,EAAQK,GAC7D,IAAIlvD,EAAQxwB,KACZA,KAAK6sF,eAAexN,GAAQzrE,GAAG1qB,GAAW,WACpCsnC,EAAMgoD,KAAK/1B,QAAQ48B,IAASK,KAAgBviG,UAClD,GACF,CE1LA,SAfA,SAAekiB,EAASsX,GACtB,MAAMg6E,EAAiBh6E,EAAI/wB,QAAU+wB,EAAI/wB,QAAQ,gBAAkB+wB,EAAIi6E,kBAAkB,gBACzF,GAA8B,kBAAnBD,EAA6B,CACtC,MAAMzuC,GAdoBh2B,EAceykE,EAbpCzkE,EAAS/zB,QAAQ,OAAQ,KAa2BkJ,cACzD,GAAoB,oBAAhB6gD,GAAqD,aAAhBA,EACvC,OAAO,EAIT,GAAoB,cAAhBA,GAA+B,WAAW3gE,KAAK8d,GACjD,OAAO,CAEX,CAvBF,IAA8B6sB,EAwB5B,OAAO,CACT,EC/BA,IACE2kE,QAAS,CACPC,SAAU,qDCFd,IAAI,GACJ,SAAS,GAA4B/X,EAAUC,GAAc,IAAKh7F,OAAOiD,UAAU+c,eAAe3d,KAAK04F,EAAUC,GAAe,MAAM,IAAIv3F,UAAU,kDAAqD,OAAOs3F,CAAU,CAC1N,IAAI,GAAK,EACT,SAAS,GAA2B13F,GAAQ,MAAO,aAAe,KAAO,IAAMA,CAAM,CAuDrF,SAAS0vG,GAAYzuG,EAAQuf,GAC3B,MAAM0U,EAAQj0B,EAAOI,QAAQ,IAAImf,MAC3B2tB,EAAMltC,EAAOI,QAAQ,KAAKmf,KAAY0U,GAC5C,OAAkB,IAAXA,IAAyB,IAATiZ,EAAaltC,EAAOnB,MAAMo1B,EAAQ1U,EAAQzkB,OAAS,EAAGoyC,GAAO,EACtF,CACA,SAAS,GAAkBtrC,GACzB,GAAIA,GAAOA,EAAIgH,MAAO,CACpB,MAAMA,EAAQ,IAAI4F,MAAM5M,EAAIy6C,SAE5B,MADA3gD,OAAOiU,OAAO/G,EAAOhH,EAAIgH,OACnBA,CACR,CACA,OAAOhH,CACT,CAiBA,SAAS8sG,GAAwB3xF,EAASsX,GAExC,IAAK,GAAMtX,EAASsX,GAClB,OAEF,MAAMzrB,EAAQ6lG,GAAY1xF,EAAS,WACnC,OAAO,IAAIvO,MAAM5F,EACnB,CAGA,IAAI+lG,IAA4B,EAGhC,IAAI,GAAuB,GAA2B,UAClD,GAAyB,GAA2B,YACpDC,GAAyB,GAA2B,YACpDC,GAA6B,GAA2B,gBACxD,GAAoC,GAA2B,uBAC/D,GAAuC,GAA2B,0BACtE,GAAcvxG,OAAO45F,IAAI,wBACV,MAAM4X,WAAcjG,EAAA,EACjC,WAAA/pG,CAAYo3F,EAAM6Y,GAEhB,GAA2D,OAA7C,MAATA,OAAgB,EAASA,EAAMpP,oBAClC,OAAO,IAAIiJ,GAAe1S,EAAM6Y,GAElC1qD,MAAM6xC,EAAM6Y,GACZrzG,OAAO4F,eAAeoc,KAAM,GAAS,CACnCxb,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAM,GAAW,CACrCxb,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAMkxF,GAAW,CACrC1sG,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAMmxF,GAAe,CACzC3sG,UAAU,EACV/D,MAAOqK,UAOL,MAAMwmG,EAAiBtzG,OAAOw4B,OAAO,MACrC,SAAS+6E,EAASl7E,GAChB,IAAIm7E,EACJ,MAAM,GACJliG,GACE+mB,EACyC,OAA5Cm7E,EAAqBF,EAAehiG,KAAgBkiG,EAAmB19D,OAC1E,CACA9zB,KAAKw4E,KAAK5kE,GAAG,eAAgB29E,GAC7B,MAEM1F,EAAchM,EADEF,EADR3/E,KAAKw4E,KAAKoT,cAAcF,KAGtC1rF,KAAKw4E,KAAKx+C,KAAK,eAAgB6xD,GAC/B,MAAMtD,EAAsB,GAA4BvoF,KAAM,IAAW,IAAW67E,qBAAoBxlE,GAC/FrW,KAAK8kB,KAAKyjE,oBAAoBlyE,KAEjCo7E,EAAgB/F,EAAQtuG,OAC9B,OAAOgT,QAAQshG,WAAWhG,EAAQ/mG,KAAI,CAAC2K,EAAIxQ,KACzCwyG,EAAehiG,GAAMi5F,EAAoBvoF,KAAKw4E,KAAK/1B,QAAQnzD,IACpDgiG,EAAehiG,GAAIoB,MAAKhM,WACtB4sG,EAAehiG,GACtB,MAAM+mB,EAAOrW,KAAKw4E,KAAK/1B,QAAQnzD,IArF3C,SAA4B+mB,EAAM3xB,GAEhC,GADwB,MAAVA,GAAwC,kBAAfA,EAAO0yB,KAA8C,kBAAlB1yB,EAAOilG,QAAwC,MAAjBjlG,EAAOilG,OAG7G,MADY,IAAIloG,UAAU,sEAAsE40B,EAAKh1B,yEAAyE0P,KAAKC,UAAUtM,4GAI/L,GADuC,MAAjBA,EAAOc,SAAkB,cAAcjE,KAAKmD,EAAOc,QAGvE,MADY,IAAI/D,UAAU,sEAAsE40B,EAAKh1B,6CAA6CqD,EAAOc,+GAG7J,CA2EYmsG,CAAmBt7E,EAAM3xB,GACzB,MAAM,OACJc,EAAS,OAAM,IACf4xB,EAAG,OACHuyE,EAAM,QACN/jG,GACElB,EACEktG,EAAU,CACdpsG,SACAokG,SAAmC,SAAzBpkG,EAAOuzB,cACjBs3E,SAAUj5E,EACV+yE,kBAAmBR,EAAS3rG,OAAOI,KAAKurG,GAAU,IAYpD,OAVI/jG,IACFgsG,EAAQhsG,QAAUA,GAEpBoa,KAAKw4E,KAAK0D,aAAa7lE,EAAK/mB,GAAI,CAC9B05E,KAAM,IACD3yD,EAAK2yD,QACL2gB,GAELgG,UAAWiC,IAEN5xF,KAAKyiF,WAAWpsE,EAAK/mB,GAAIxQ,EAAO2yG,EAAc,IACpD38F,OAAM5J,WACAomG,EAAehiG,GACtB,MAAM+mB,EAAOrW,KAAKw4E,KAAK/1B,QAAQnzD,GAE/B,OADA0Q,KAAKw4E,KAAKx+C,KAAK,eAAgB3jB,EAAMnrB,GAC9BkF,QAAQiF,OAAOnK,EAAM,QAE5BuC,SAAQ,KAEVuS,KAAKw4E,KAAKz9C,IAAI,eAAgBw2D,EAAS,GACvC,IAGNvzG,OAAO4F,eAAeoc,KAAM,GAAsB,CAChDxb,UAAU,EACV/D,MAAO,KACL,GAA4Buf,KAAM,IAAS,IAASm6E,oBAAoBn6E,KAAK8kB,KAAKo1D,kBAC3E9pF,QAAQK,aAGnBzS,OAAO4F,eAAeoc,KAAM,GAAyB,CACnDxb,UAAU,EACV/D,MAAO41B,IACL,MAAMyO,EAAO,GAA4B9kB,KAAMkxF,IAAWA,IAAWrnG,WAAWwsB,GAC1E8zE,EAAoB7sG,MAAMoC,QAAQolC,EAAKqlE,mBAAqBrlE,EAAKqlE,kBAErEnsG,OAAOI,KAAKi4B,EAAK2yD,MACnB,MAAO,IACF3yD,EAAKyjE,OAAO3uF,KACf6vD,SAAU,YACVq1C,SAAUvrE,EAAKurE,SACftmE,KAAM1T,EAAKpP,KAAK8iB,KAChB8nE,UAAW/sE,EAAKmqE,UAChBhwF,SAAUjhB,OAAOssG,YAAYH,EAAkBxlG,KAAItD,GAAQ,CAACA,EAAMg1B,EAAK2yD,KAAK3nF,OAC5EywG,WAAYhtE,EAAKt/B,OACjBusG,YAAajtE,EAAK8kE,SAClBhkG,QAAiC,oBAAjBk/B,EAAKl/B,QAAyBk/B,EAAKl/B,QAAQywB,GAAQyO,EAAKl/B,QACzE,IAGLoa,KAAK3S,KAAO,WACZ2S,KAAK1Q,GAAK0Q,KAAK8kB,KAAKx1B,IAAM,QAC1B0Q,KAAK2Q,MAAQ,SACb3Q,KAAKgyF,cAAgB39D,GACrB,MAAMgsD,EAAiB,CACrB1qE,QAAS,IACT4zE,MAAO,EACPY,kBAAmB,GAEnB5B,oBAAqBvoF,KAAKuoF,oBAAoBxgF,KAAK/H,MACnDiiF,oBAAoB,EACpB/H,iBAAkB,CAAC,GAMrB,GAJAl6E,KAAK8kB,KAAO,IACPu7D,KACAgR,QAEsDp0G,KAA7C,MAATo0G,OAAgB,EAASA,EAAMlH,oBAAoC,eAAgBnqF,KAAK8kB,KAC3F,MAAM,IAAIh0B,MAAM,oEAIlBkP,KAAKiyF,WACL,GAA4BjyF,KAAM,IAAS,IAAW,IAAIy5E,EAAcjB,EAAM6Y,GAC9E,GAA4BrxF,KAAM,IAAW,IAAa,IAAI2sF,EAAA,EAAiB3sF,KAAK8kB,KAAKykE,MAC3F,CACA,CAAC,MACC,OAAO,GAA4BvpF,KAAM,IAAS,GACpD,CAGA,UAAIkyF,GACF,OAAO,GAA4BlyF,KAAM,IAAS,GACpD,CACA,UAAIkyF,CAAOA,GACT,GAA4BlyF,KAAM,IAAS,IAAWkyF,CACxD,CACA,mBAAA3J,CAAoBlyE,GAClB,IAAKrW,KAAK8kB,KAAKy1D,aACb,MAAM,IAAIzpF,MAAM,oEAElB,MAAMymB,EAAWlB,EAAK2yD,KAAK3nF,MACrB,KACJgM,GACEgpB,EAAK2yD,KACH/pE,EAAWjhB,OAAOssG,YAAYtqF,KAAK8kB,KAAKqlE,kBAAkBhnG,QAAO5E,GAAyB,MAAlB83B,EAAK2yD,KAAKzqF,KAAcoG,KAAIpG,GAAO,CAAC,YAAYA,KAAQ83B,EAAK2yD,KAAKzqF,GAAK2C,eAC/IsO,EAAQ,IAAIk+F,gBAAgB,CAChCn2E,WACAlqB,UACG4R,IAEL,OAAO,GAA4Be,KAAM,IAAS,IAASD,IAAI,aAAavQ,KAASkB,KAAK,GAC5F,CACA,UAAA+xF,CAAWnzF,EAAIzR,EAASk5B,GACtB,MAAMV,EAAOrW,KAAKw4E,KAAK/1B,QAAQnzD,GAE/B,GADA0Q,KAAKw4E,KAAKpgE,IAAI,aAAav6B,QAAck5B,KACrCV,EAAKnrB,MAAO,MAAM,IAAI4F,MAAMulB,EAAKnrB,OACrC,GAAImrB,EAAK01E,SAAU,CACjB,MAAMvQ,EAAW,IAAM,GAA4Bx7E,KAAM,IAAW,IAC9DgsF,EAAa,IAAI5O,gBACjB6O,EAAiBC,IACjBA,EAAY58F,KAAO+mB,EAAK/mB,IAAI08F,EAAWl4D,OAAO,EAEpD9zB,KAAKw4E,KAAK5kE,GAAG,eAAgBq4E,GAC7B,MAAME,EAAgBnsF,KAAKw4E,KAAK4T,wBAAwB/1E,GAAMilE,iBAAiBjlE,EAAM,GAA4BrW,KAAM,IAAyB,IAAyBqW,GAAO,CAC9KyhE,OAAQkU,EAAWlU,OACnB0D,aAOF,OALA,GAA4Bx7E,KAAM,IAAW,IAAWqsF,kBAAiB,KACvErsF,KAAKw4E,KAAKz9C,IAAI,eAAgBkxD,EAAe,GAC5C,CACDjQ,UAAW,GAHb,GAKOmQ,CACT,CACA,OAAO,GAA4BnsF,KAAMkxF,IAAWA,IAAWtB,gBAAgBv5E,EAAMx4B,EAASk5B,EAChG,CACA,OAAA6nD,GACE,MAAM,KACJ4Z,GACEx4E,KACJw4E,EAAKyV,gBAAgB,GAA4BjuF,KAAM,IAAsB,KAC7Ew4E,EAAK0V,YAAY,GAA4BluF,KAAMmxF,IAAeA,KA6ClE,MAAMgB,EAAa,CACjBlD,UAAW,OACXkB,qBAAsB,WACtBx6E,QAAS3V,KAAK8kB,KAAKnP,QAEnB,CAAC,KAA2B,GAA4B3V,KAAM,IAAW,IACzE6tF,aAAc,OACdqC,gBAAiBlwF,KAAK8kB,KAAKorE,iBA/C7B,SAAgC7wF,EAASsX,GACvC,MAAMmO,EAAO9kB,KAIb,OAAK,GAAMX,EAASsX,GA0Bb,CAGL3kB,UA3SYogG,EA2SSz7E,EAAI07E,YA3SLrxD,EA2SkB+vD,GAAY1xF,EAAS,YAxS5D+yF,GAAWpxD,EAAKsxD,WAAW,aAAgBtxD,EAAKsxD,WAAW,aAC9DtxD,EAAO,WAAWA,KAEb,IAAIjR,IAAIiR,EAAMoxD,QAAUn1G,GAAWiE,YAsSpCqsG,OAAQwD,GAAY1xF,EAAS,UAC7B9gB,IAAKwyG,GAAY1xF,EAAS,OAC1B8jF,KAAM4N,GAAY1xF,EAAS,SA/BO,SAA9BylB,EAAKt/B,OAAOuzB,eACTk4E,KACHzY,EAAKpgE,IAAI,kJAAmJ,WAC5J64E,IAA4B,GAGvB,CACLj/F,SAAU,OAKT2kB,EAAI07E,YASF,CACLrgG,SAAU2kB,EAAI07E,YAAYl6F,QAAQ,QAAS,KATpC,CACLnG,SAAU,MA7RtB,IAAoBogG,EAAQpxD,CAgTxB,EASEovD,iBAAkBY,IAIpBmB,EAAW3C,KAAOxvF,KAAKwvF,KAIvB,GAA4BxvF,KAAMkxF,IAAWA,IAAa,IAAI9B,GAAc5W,EAAM2Z,EACpF,CACA,SAAAnzB,GACEh/D,KAAKw4E,KAAK2V,mBAAmB,GAA4BnuF,KAAM,IAAsB,KACrFA,KAAKw4E,KAAK4V,eAAe,GAA4BpuF,KAAMmxF,IAAeA,IAC5E,EAEFC,GAAMjb,QA7UO,kHCrCb,SACE0a,QAAS,CAEP0B,kBAAmB,wBACnBC,YAAa,wCCJjB,SAAS1Z,EAA4BC,EAAUC,GAAc,IAAKh7F,OAAOiD,UAAU+c,eAAe3d,KAAK04F,EAAUC,GAAe,MAAM,IAAIv3F,UAAU,kDAAqD,OAAOs3F,CAAU,CAC1N,IAAIzpF,EAAK,EACT,SAAS2pF,EAA2B53F,GAAQ,MAAO,aAAeiO,IAAO,IAAMjO,CAAM,CASrF,IAAIoxG,EAAiCxZ,EAA2B,oBACjD,MAAM9oD,UAAmBg7D,EAAA,EACtC,WAAA/pG,CAAYo3F,EAAM1zD,GAChB6hB,MAAM6xC,EAAM1zD,GACZ9mC,OAAO4F,eAAeoc,KAAMyyF,EAAmB,CAC7CjuG,UAAU,EACV/D,WAAO,IAETuf,KAAK1Q,GAAK0Q,KAAK8kB,KAAKx1B,IAAM,aAC1B0Q,KAAK3S,KAAO,WACZ2S,KAAKgyF,cAAgB39D,EAKrBr0B,KAAK8kB,KAAO,CAHVuG,QAAS,GACTk+D,MAAO,MAIJzkE,GAELg0D,EAA4B94E,KAAMyyF,GAAmBA,GAAqB,IAAI9F,EAAA,EAAiB3sF,KAAK8kB,KAAKykE,OACzGvpF,KAAKiyF,WACLjyF,KAAK0yF,cAAgB1yF,KAAK0yF,cAAc3qF,KAAK/H,MAC7CA,KAAK2yF,SAAW3yF,KAAK2yF,SAAS5qF,KAAK/H,KACrC,CACA,QAAA2yF,CAASj/D,GACP,OAAO,IAAItjC,SAAQ,CAACK,EAAS4E,KAE3B,IAAI,EAAaq+B,EAAM,IAClB1zB,KAAK8kB,KACRyH,QAAS97B,EACTvF,MAAOmK,GACP,GAEN,CACA,mBAAMq9F,CAAchH,GAClB,IAAIkH,EAAsB,EAC1B,MAAMC,EAAkB,GAClBC,EAAyBha,EAA4B94E,KAAMyyF,GAAmBA,GAAmB5W,qBAAoB/wF,UACzH,IACE,MAAMioG,QAAuB/yF,KAAK2yF,SAASt8E,EAAKpP,MAC1C+rF,EAAwB38E,EAAKpP,KAAK8iB,KAAOgpE,EAAehpE,KAC9D/pB,KAAKw4E,KAAKpgE,IAAI,4BAA4B/B,EAAK/mB,oBAAoB2jG,EAAcD,MACjFJ,GAAuBI,EACvB,MAAM,KACJ3xG,EAAI,KACJgM,EAAI,KACJ08B,GACEgpE,EACEG,GAAqB,EAAAC,EAAA,GAAwB9xG,GAI7C+xG,EAAc,IAHC,EAAAD,EAAA,GAAwB98E,EAAK2yD,KAAK3nF,MAGnBA,QAAQ6xG,EAAmBpmE,YAC/D9sB,KAAKw4E,KAAK0D,aAAa7lE,EAAK/mB,GAAI,IAC1BjO,GAAQ,CACVA,WAEE6xG,EAAmBpmE,WAAa,CAClCA,UAAWomE,EAAmBpmE,cAE5Bz/B,GAAQ,CACVA,WAEE08B,GAAQ,CACVA,QAEF9iB,KAAM8rF,EACN/pB,KAAM,IACD3yD,EAAK2yD,KACR37E,OACAhM,KAAM+xG,KAGVP,EAAgBryG,KAAK61B,EACvB,CAAE,MAAO31B,GACPsf,KAAKw4E,KAAKpgE,IAAI,yCAAyC/B,EAAK/mB,MAAO,WACnE0Q,KAAKw4E,KAAKpgE,IAAI13B,EAAK,UACrB,KAEIorG,EAAWJ,EAAQ/mG,KAAI06F,IAC3B,IAAIgU,EACJ,MAAMh9E,EAAOrW,KAAKw4E,KAAK/1B,QAAQ48B,GAK/B,OAJAr/E,KAAKw4E,KAAKx+C,KAAK,sBAAuB3jB,EAAM,CAC1CugB,KAAM,gBACN+H,QAAS3+B,KAAKwvF,KAAK,uBAEjBn5E,EAAK01E,SACA37F,QAAQK,WAMZ4lB,EAAKpP,KAAK5Z,OACbgpB,EAAKpP,KAAOoP,EAAKpP,KAAK9lB,MAAM,EAAGk1B,EAAKpP,KAAK8iB,KAAM1T,EAAKhpB,OAEpB,OAA3BgmG,EAAah9E,EAAKhpB,OAAiBgmG,EAAWf,WAAW,UAGzDQ,EAAuBz8E,GAFrBjmB,QAAQK,UAEkB,UAO/BL,QAAQC,IAAIy7F,GAClB9rF,KAAKw4E,KAAKx+C,KAAK,sBAAuB64D,GAGlCD,EAAsB,MACxB5yF,KAAKw4E,KAAK8a,KAAKtzF,KAAKwvF,KAAK,cAAe,CACtCzlE,KAAMkpE,EAAcL,KAClB,QAEN,IAAK,MAAMvT,KAAUqM,EAAS,CAC5B,MAAMr1E,EAAOrW,KAAKw4E,KAAK/1B,QAAQ48B,GAC/Br/E,KAAKw4E,KAAKx+C,KAAK,sBAAuB3jB,EACxC,CACF,CACA,OAAAuoD,GACE5+D,KAAKw4E,KAAKyV,gBAAgBjuF,KAAK0yF,cACjC,CACA,SAAA1zB,GACEh/D,KAAKw4E,KAAK2V,mBAAmBnuF,KAAK0yF,cACpC,iECvHa,MAAMvH,EACnB,WAAA/pG,CAAYo3F,EAAM1zD,GAChB9kB,KAAKw4E,KAAOA,EACZx4E,KAAK8kB,KAAe,MAARA,EAAeA,EAAO,CAAC,CACrC,CACA,cAAAyuE,GACE,MAAM,QACJ7kG,GACEsR,KAAKw4E,KAAKvrF,WACd,OAAmB,MAAXyB,OAAkB,EAASA,EAAQsR,KAAK1Q,MAAQ,CAAC,CAC3D,CACA,cAAAkkG,CAAexhF,GACb,MAAM,QACJtjB,GACEsR,KAAKw4E,KAAKvrF,WACd+S,KAAKw4E,KAAK5wE,SAAS,CACjBlZ,QAAS,IACJA,EACH,CAACsR,KAAK1Q,IAAK,IACNZ,EAAQsR,KAAK1Q,OACb0iB,KAIX,CACA,UAAA81E,CAAW2L,GACTzzF,KAAK8kB,KAAO,IACP9kB,KAAK8kB,QACL2uE,GAELzzF,KAAKwzF,oBAAev2G,GACpB+iB,KAAKiyF,UACP,CACA,QAAAA,GACE,MAAMyB,EAAa,IAAI,IAAW,CAAC1zF,KAAKgyF,cAAehyF,KAAKw4E,KAAKnkD,OAAQr0B,KAAK8kB,KAAKuP,SACnFr0B,KAAKwvF,KAAOkE,EAAWrgE,UAAUtrB,KAAK2rF,GACtC1zF,KAAK2zF,UAAYD,EAAWE,eAAe7rF,KAAK2rF,GAChD1zF,KAAKwzF,oBAAev2G,EACtB,CAUA,SAAA42G,CAAUvjG,GACR,MAAM,IAAIQ,MAAM,4EAClB,CACA,OAAA8tE,GAAW,CACX,SAAAI,GAAa,CAGb,MAAAhtD,CAAOjpB,GAAQ,CAGf,WAAA+qG,GAAe,2FC3EjB,SAAShb,EAA4BC,EAAUC,GAAc,IAAKh7F,OAAOiD,UAAU+c,eAAe3d,KAAK04F,EAAUC,GAAe,MAAM,IAAIv3F,UAAU,kDAAqD,OAAOs3F,CAAU,CAC1N,IAAIzpF,EAAK,EACT,SAAS2pF,EAA2B53F,GAAQ,MAAO,aAAeiO,IAAO,IAAMjO,CAAM,CAMrF,IAAI0yG,EAA0B9a,EAA2B,aACrD+a,EAAwB/a,EAA2B,WAIvD,MAAMgb,EACJ,WAAA7yG,GACEpD,OAAO4F,eAAeoc,KAAMg0F,EAAU,CACpCvzG,MAAOyzG,IAETl0F,KAAKjX,MAAQ,CAAC,EACd/K,OAAO4F,eAAeoc,KAAM+zF,EAAY,CACtCvvG,UAAU,EACV/D,MAAO,IAAIo2E,KAEf,CACA,QAAA5pE,GACE,OAAO+S,KAAKjX,KACd,CACA,QAAA6e,CAASusF,GACP,MAAM/mG,EAAY,IACb4S,KAAKjX,OAEJ8N,EAAY,IACbmJ,KAAKjX,SACLorG,GAELn0F,KAAKjX,MAAQ8N,EACbiiF,EAA4B94E,KAAMg0F,GAAUA,GAAU5mG,EAAWyJ,EAAWs9F,EAC9E,CACA,SAAAvoG,CAAUwoG,GAER,OADAtb,EAA4B94E,KAAM+zF,GAAYA,GAAYxmG,IAAI6mG,GACvD,KACLtb,EAA4B94E,KAAM+zF,GAAYA,GAAYpL,OAAOyL,EAAS,CAE9E,EAEF,SAASF,IACP,IAAK,IAAIh3G,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAEzBu7F,EAA4B94E,KAAM+zF,GAAYA,GAAYvwG,SAAQ4wG,IAChEA,KAAY/2G,EAAK,GAErB,CACA42G,EAAa9d,QA/CA,QAgDb,yBCjDA,SACErxC,UAAW,KACXuvD,GAAI,gBACJC,SAAU,gBACVC,IAAK,YACLC,IAAK,YACL/8C,IAAK,gBACLg9C,IAAK,aACLC,IAAK,YACLC,KAAM,aACNC,IAAK,YACLC,KAAM,aACNC,KAAM,aACNC,KAAM,YACNC,IAAK,YACLC,IAAK,WACLC,IAAK,4BACLpsB,IAAK,4BACLqsB,IAAK,kBACLC,IAAK,mBACLC,IAAK,mBACLC,IAAK,kBACLC,MAAO,oBACPrxE,IAAK,qBACLsxE,KAAM,mDACNC,KAAM,0EACNC,IAAK,qBACLC,KAAM,mDACNC,KAAM,0EACNC,IAAK,2BACLC,KAAM,iDACNC,IAAK,2BACLC,IAAK,0BACLC,IAAK,2BACLC,IAAK,2BACLC,KAAM,wDACNC,KAAM,iDACNC,KAAM,oEACNC,IAAK,2BACLC,KAAM,oDACNC,KAAM,uEACNC,IAAK,2BACLC,IAAK,aACLp9D,KAAM,aACNq9D,KAAM,aACNv+E,IAAK,aACLw+E,IAAK,kBACLC,IAAK,kBACL,KAAM,8BACNC,IAAK,+BACLC,IAAK,oBACLC,GAAI,mBACJC,IAAK,iCCvDQ,SAASC,EAAY7gF,GAClC,IAAI8gF,EACJ,GAAI9gF,EAAKhpB,KAAM,OAAOgpB,EAAKhpB,KAC3B,MAAM+pG,EAAgB/gF,EAAKh1B,KAAiF,OAAzE81G,GAAwB,EAAAhE,EAAA,GAAwB98E,EAAKh1B,MAAMyrC,gBAAqB,EAASqqE,EAAsB91F,cAAgB,KAClK,OAAI+1F,GAAiBA,KAAiB,EAE7B,EAAUA,GAGZ,0BACT,CCRA,SAASC,EAAeh2G,GACtB,IAAIi2G,EAAS,GACb,OAAOj2G,EAAK8W,QAAQ,eAAe0R,IACjCytF,GAAU,IANd,SAAyBztF,GACvB,OAAOA,EAAUohB,WAAW,GAAG/pC,SAAS,GAC1C,CAIkBq2G,CAAgB1tF,KACvB,OACJytF,CACP,CAqCO,SAASE,EAAcnhF,EAAMohF,GAClC,GAPF,SAAyBphF,GACvB,SAAKA,EAAK01E,WAAa11E,EAAKyjE,SAEF,IAAIjjB,IAAI,CAAC,MAAO,UAAW,QAAS,WAAY,aACjDtuB,IAAIlyB,EAAKyjE,OAAO4d,SAC3C,CAEMC,CAAgBthF,GAAO,OAAOA,EAAK/mB,GACvC,MAAMsoG,EAAWV,EAAY7gF,GAC7B,OAlCa,SAAwBA,EAAMohF,GAI3C,IAAInoG,EAAKmoG,GAAc,OAgBvB,MAfyB,kBAAdphF,EAAKh1B,OACdiO,GAAM,IAAI+nG,EAAehhF,EAAKh1B,KAAKggB,uBAEnBpkB,IAAdo5B,EAAKhpB,OACPiC,GAAM,IAAI+mB,EAAKhpB,QAEbgpB,EAAK2yD,MAA0C,kBAA3B3yD,EAAK2yD,KAAK6uB,eAChCvoG,GAAM,IAAI+nG,EAAehhF,EAAK2yD,KAAK6uB,aAAax2F,uBAE3BpkB,IAAnBo5B,EAAKpP,KAAK8iB,OACZz6B,GAAM,IAAI+mB,EAAKpP,KAAK8iB,aAES9sC,IAA3Bo5B,EAAKpP,KAAK2sB,eACZtkC,GAAM,IAAI+mB,EAAKpP,KAAK2sB,gBAEftkC,CACT,CAaSwoG,CAAe,IACjBzhF,EACHhpB,KAAMuqG,GACLH,EACL,CCnDe,SAASM,EAAuBn9F,GAO7C,GALiB,MAAbA,GAA0C,qBAAd/I,YAE9B+I,EAAY/I,UAAU+I,YAGnBA,EAAW,OAAO,EACvB,MAAMgJ,EAAI,mBAAmB04E,KAAK1hF,GAClC,IAAKgJ,EAAG,OAAO,EACf,MACMve,EADcue,EAAE,GACMte,MAAM,IAAK,GACjCJ,EAAQivB,SAAS9uB,EAAQ,GAAI,IAC7BF,EAAQgvB,SAAS9uB,EAAQ,GAAI,IAKnC,OAAIH,EAAQ,IAAgB,KAAVA,GAAgBC,EAAQ,QAMtCD,EAAQ,IAAgB,KAAVA,GAAgBC,GAAS,MAM7C,CC9BA,SAAS6yG,EAAI55E,GACX,OAAOA,EAAS,GAAK,IAAIA,IAAWA,EAAOl9B,UAC7C,CAKe,SAAS+2G,IACtB,MAAMv7E,EAAO,IAAIpX,KAIjB,MAAO,GAHO0yF,EAAIt7E,EAAKw7E,eACPF,EAAIt7E,EAAKy7E,iBACTH,EAAIt7E,EAAK07E,eAE3B,CCXA,MAAMC,EAAmB,CACvB1pG,MAAO,OACPmmB,KAAM,OACN5pB,MAAO,WACL,IAAK,IAAIhO,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAEzB,OAAO0N,QAAQC,MAAM,WAAW+sG,UAAsB56G,EACxD,GAKIi7G,EAAc,CAClB3pG,MAAO,WACL,IAAK,IAAIpI,EAAQpJ,UAAUC,OAAQC,EAAO,IAAIC,MAAMiJ,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFnJ,EAAKmJ,GAASrJ,UAAUqJ,GAE1B,OAAOyE,QAAQ0D,MAAM,WAAWspG,UAAsB56G,EACxD,EACAy3B,KAAM,WACJ,IAAK,IAAIpuB,EAAQvJ,UAAUC,OAAQC,EAAO,IAAIC,MAAMoJ,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFtJ,EAAKsJ,GAASxJ,UAAUwJ,GAE1B,OAAOsE,QAAQ6pB,KAAK,WAAWmjF,UAAsB56G,EACvD,EACA6N,MAAO,WACL,IAAK,IAAIrE,EAAQ1J,UAAUC,OAAQC,EAAO,IAAIC,MAAMuJ,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFzJ,EAAKyJ,GAAS3J,UAAU2J,GAE1B,OAAOmE,QAAQC,MAAM,WAAW+sG,UAAsB56G,EACxD,6BC1BF,MAAM,EAAiB,CACrBk7G,YAAa,KACbC,YAAa,KACbC,iBAAkB,KAClBC,iBAAkB,KAClBC,iBAAkB,KAClBC,iBAAkB,KAClBC,mBAAoB,IAEtB,MAAMC,UAAyBhoG,MAC7B,WAAA1P,CAAYu9C,EAAS7Z,GACnB,IAAIi0E,EACJpyD,MAAMhI,GACN3+B,KAAKg5F,eAAgB,EACrBh5F,KAAKi5F,aAAmF,OAAnEF,EAA6B,MAARj0E,OAAe,EAASA,EAAKm0E,eAAwBF,EACnF,MAARj0E,GAAgBA,EAAKzO,OACvBrW,KAAKqW,KAAOyO,EAAKzO,KAErB,EAEF,MAAM6iF,EACJ,WAAA93G,CAAY+3G,EAASC,GACnBp5F,KAAKo5F,QAAUA,EACfp5F,KAAKm5F,QAAU,KACb,IAAIE,EACJ,MAAMv0E,EAAOq0E,IACb,GAAyG,OAAxD,OAA3CE,EAAqBv0E,EAAKw0E,mBAAwB,EAASD,EAAmBT,oBAA8Bt7G,MAAMoC,QAAQolC,EAAKw0E,aAAaV,kBAChJ,MAAM,IAAIn3G,UAAU,oDAEtB,OAAOqjC,CAAI,CAEf,CAGA,6BAAAy0E,CAA8BC,EAAeC,GAC3C,MAAM,iBACJhB,EAAgB,iBAChBC,GACE14F,KAAKm5F,UAAUG,aACnB,GAAIZ,EAAkB,CAEpB,GADsBc,EAAcr2G,QAAOqf,IAAMA,EAAEk3F,UACjCt8G,OAASq8G,EAAYr8G,OAASs7G,EAC9C,MAAM,IAAII,EAAiB,GAAG94F,KAAKo5F,SAALp5F,CAAe,oBAAqB,CAChE25F,YAAajB,MAGnB,CACA,GAAID,EAAkB,CACpB,MAAMmB,EAAiB,IAAIJ,KAAkBC,GAAajyG,QAAO,CAACuvB,EAAOvU,KACvE,IAAIq3F,EACJ,OAAO9iF,GAA+B,OAArB8iF,EAAUr3F,EAAEunB,MAAgB8vE,EAAU,EAAE,GACxD,GACH,GAAID,EAAiBnB,EACnB,MAAM,IAAIK,EAAiB94F,KAAKo5F,SAALp5F,CAAe,uBAAwB,CAChE85F,YAAa7G,EAAcwF,GAC3B1uE,KAAMkpE,EAAc2G,KAG1B,CACF,CACA,kBAAAG,CAAmB1jF,GACjB,MAAM,YACJkiF,EAAW,YACXC,EAAW,iBACXI,GACE54F,KAAKm5F,UAAUG,aACnB,GAAIV,EAAkB,CAcpB,IAb0BA,EAAiBrhG,MAAKlK,GAE1CA,EAAKwD,SAAS,OACXwlB,EAAKhpB,MACH,EAAMgpB,EAAKhpB,KAAK8K,QAAQ,QAAS,IAAK9K,KAI/B,MAAZA,EAAK,KAAcgpB,EAAKyW,YACnBzW,EAAKyW,UAAUzrB,gBAAkBhU,EAAKlM,MAAM,GAAGkgB,gBAIlC,CACtB,MAAM24F,EAAyBpB,EAAiB1gG,KAAK,MACrD,MAAM,IAAI4gG,EAAiB94F,KAAKo5F,SAALp5F,CAAe,4BAA6B,CACrE+gD,MAAOi5C,IACL,CACF3jF,QAEJ,CACF,CAGA,GAAIkiF,GAA4B,MAAbliF,EAAK0T,MAAgB1T,EAAK0T,KAAOwuE,EAClD,MAAM,IAAIO,EAAiB94F,KAAKo5F,SAALp5F,CAAe,cAAe,CACvD+pB,KAAMkpE,EAAcsF,GACpBliF,KAAMA,EAAKh1B,OACT,CACFg1B,SAKJ,GAAImiF,GAA4B,MAAbniF,EAAK0T,MAAgB1T,EAAK0T,KAAOyuE,EAClD,MAAM,IAAIM,EAAiB94F,KAAKo5F,SAALp5F,CAAe,eAAgB,CACxD+pB,KAAMkpE,EAAcuF,KAClB,CACFniF,QAGN,CACA,QAAA4jF,CAAST,EAAeC,GACtBA,EAAYj2G,SAAQ02G,IAClBl6F,KAAK+5F,mBAAmBG,EAAW,IAErCl6F,KAAKu5F,8BAA8BC,EAAeC,EACpD,CACA,wBAAAU,CAAyBt2D,GACvB,MAAM,iBACJ80D,GACE34F,KAAKm5F,UAAUG,aACnB,GAAIX,GAAoB36G,OAAOI,KAAKylD,GAAOzmD,OAASu7G,EAClD,MAAM,IAAIG,EAAiB94F,KAAKo5F,SAALp5F,CAAe,0BAA2B,CACnE25F,YAAahB,IAGnB,CACA,4BAAAyB,CAA6B/jF,GAC3B,MAAMnrB,EAAQ,IAAI4tG,EAAiB94F,KAAKo5F,SAALp5F,CAAe,iCAAkC,CAClFq6F,SAAUhkF,EAAKh1B,SAEX,mBACJw3G,GACE74F,KAAKm5F,UAAUG,aACbgB,EAAgB,GACtB,IAAK,MAAMC,KAAS1B,EACb76G,OAAOw8G,OAAOnkF,EAAK2yD,KAAMuxB,IAA+B,KAArBlkF,EAAK2yD,KAAKuxB,IAChDD,EAAc95G,KAAK+5G,GAGvB,MAAO,CACLD,gBACApvG,QAEJ,ECxJF,SACE2lG,QAAS,CACP4J,mBAAoB,CAClB,EAAG,6DACH,EAAG,6DAELC,kBAAmB,CACjB,EAAG,0CACH,EAAG,4CAELC,wBAAyB,CACvB,EAAG,kDACH,EAAG,oDAELC,qBAAsB,4EACtBC,YAAa,kDACbC,yBAA0B,+BAC1BC,+BAAgC,8CAChCC,aAAc,wDACdC,0BAA2B,gCAC3BC,mBAAoB,wBACpBC,aAAc,iEACdC,eAAgB,mCAChBC,YAAa,yBACbC,yBAA0B,kEAC1BC,eAAgB,2BAChBC,qBAAsB,yBACtBC,oBAAqB,4BAErBC,aAAc,oCACdC,gBAAiB,sDACjBC,QAAS,CACP,EAAG,wBACH,EAAG,yBAELC,wBAAyB,gCACzBC,gBAAiB,sBACjBluG,OAAQ,SACRmuG,OAAQ,UACR54G,OAAQ,SACR64G,YAAa,eACbC,QAAS,aACTC,aAAc,2BACdC,sBAAuB,yDACvBC,iBAAkB,2BAClBC,iBAAkB,sBAClBC,aAAc,oBACdC,kBAAmB,kCACnB7iF,OAAQ,SACR8iF,YAAa,eACbC,iBAAkB,wCAClBC,cAAe,4BACfC,mBAAoB,2CACpBC,YAAa,CACX,EAAG,2CACH,EAAG,6CAELC,6BAA8B,sDAC9BC,QAAS,YC1Db,IAAIjkB,EAAamG,EACjB,SAAS,EAA4BjG,EAAUC,GAAc,IAAKh7F,OAAOiD,UAAU+c,eAAe3d,KAAK04F,EAAUC,GAAe,MAAM,IAAIv3F,UAAU,kDAAqD,OAAOs3F,CAAU,CAC1N,IAAI,EAAK,EACT,SAAS,EAA2B13F,GAAQ,MAAO,aAAe,IAAO,IAAMA,CAAM,CAsBrF,MAgCM07G,EAAqB,CACzBC,cAAe,EACfC,gBAAgB,EAChB/xG,MAAO,KACPgyG,eAAgB,MAQlB,IAAIC,EAAwB,EAA2B,WACnDC,EAA2B,EAA2B,cACtDC,EAAiC,EAA2B,oBAC5DC,EAAwB,EAA2B,WACnDC,EAA8B,EAA2B,iBACzDC,EAA0B,EAA2B,aACrDC,EAA+B,EAA2B,kBAC1DC,EAA8B,EAA2B,iBACzDC,EAA8C,EAA2B,iCACzEC,EAAwC,EAA2B,2BACnEC,EAAuC,EAA2B,0BAClEC,EAA8B,EAA2B,iBACzDC,EAAmC,EAA2B,sBAC9DC,EAAwC,EAA2B,2BACnEC,EAA6B,EAA2B,gBACxDC,EAAmC,EAA2B,sBAC9DC,EAAkC,EAA2B,qBAC7Dxc,EAA6B,EAA2B,gBACxDyc,GAA0B,EAA2B,aACrDC,GAA6B,EAA2B,gBACxDC,GAA0B,EAA2B,aACzDzlB,EAAcj5F,OAAO45F,IAAI,yBACzBwF,EAAep/F,OAAO45F,IAAI,2BACnB,MAAM+kB,GAIX,WAAAn9G,CAAYiwG,GAIVrzG,OAAO4F,eAAeoc,KAAMs+F,GAAY,CACtC79G,MAAO+9G,KAMTxgH,OAAO4F,eAAeoc,KAAMq+F,GAAe,CACzC59G,MAAOg+G,KAETzgH,OAAO4F,eAAeoc,KAAMo+F,GAAY,CACtC39G,MAAOi+G,KAMT1gH,OAAO4F,eAAeoc,KAAM2hF,EAAe,CACzClhG,MAAO8hG,KAMTvkG,OAAO4F,eAAeoc,KAAMi+F,EAAe,CACzCx9G,MAAOk+G,KAET3gH,OAAO4F,eAAeoc,KAAMg+F,EAA0B,CACpDv9G,MAAOm+G,KAGT5gH,OAAO4F,eAAeoc,KAAM+9F,EAAqB,CAC/Ct9G,MAAOo+G,KAKT7gH,OAAO4F,eAAeoc,KAAM89F,EAAgB,CAC1Cr9G,MAAOq+G,KAET9gH,OAAO4F,eAAeoc,KAAM69F,EAAyB,CACnDp9G,MAAOs+G,KAET/gH,OAAO4F,eAAeoc,KAAM49F,EAA0B,CACpDn9G,MAAOu+G,KAEThhH,OAAO4F,eAAeoc,KAAM29F,EAAgC,CAC1Dl9G,MAAOw+G,KAETjhH,OAAO4F,eAAeoc,KAAM09F,EAAgB,CAC1Cj9G,MAAOy+G,KAETlhH,OAAO4F,eAAeoc,KAAMm9F,EAAU,CACpC34G,UAAU,EACV/D,MAAOzC,OAAOw4B,OAAO,QAEvBx4B,OAAO4F,eAAeoc,KAAMo9F,EAAa,CACvC54G,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAMq9F,EAAmB,CAC7C74G,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAMs9F,EAAU,CACpC94G,UAAU,EACV/D,MAAO,MAETzC,OAAO4F,eAAeoc,KAAMu9F,EAAgB,CAC1C/4G,UAAU,EACV/D,MAAO,IAAIo2E,MAEb74E,OAAO4F,eAAeoc,KAAMw9F,EAAY,CACtCh5G,UAAU,EACV/D,MAAO,IAAIo2E,MAEb74E,OAAO4F,eAAeoc,KAAMy9F,EAAiB,CAC3Cj5G,UAAU,EACV/D,MAAO,IAAIo2E,MAEb72D,KAAKm/F,qBAAuB,KAC5Bn/F,KAAKo/F,YAAa,EAUlBp/F,KAAKq/F,kBAAoBC,GAAS,CAACjpF,EAAMpP,KACvC,MAAMs4F,EAAcv/F,KAAKyiD,QAAgB,MAARpsC,OAAe,EAASA,EAAK/mB,IAC9D,GAAY,MAAR+mB,IAAiBkpF,EAEnB,YADAv/F,KAAKoY,IAAI,0DAAkE,MAAR/B,OAAe,EAASA,EAAK/mB,MAGlG,GAAwC,MAApCiwG,EAAY1oF,SAAS2oF,WAEvB,YADAx/F,KAAKoY,IAAI,mEAAmE/B,EAAK/mB,MAKnF,MAAMmwG,EAAoBr7G,OAAOs7G,SAASz4F,EAAKsxE,aAAetxE,EAAKsxE,WAAa,EAChFv4E,KAAKk8E,aAAa7lE,EAAK/mB,GAAI,CACzBunB,SAAU,IACL0oF,EAAY1oF,SACfyhE,cAAerxE,EAAKqxE,cACpBC,WAAYtxE,EAAKsxE,WACjBinB,WAAYC,EAAoB9qF,KAAKoa,MAAM9nB,EAAKqxE,cAAgBrxE,EAAKsxE,WAAa,KAAO,KAG7Fv4E,KAAK2/F,wBAAwB,GAC5B,IAAK,CACNlnB,SAAS,EACTC,UAAU,IAEZ16F,OAAO4F,eAAeoc,KAAMk+F,EAAqB,CAC/C15G,UAAU,EACV/D,MAAOuf,KAAK4/F,mBAAmB73F,KAAK/H,QAYtChiB,OAAO4F,eAAeoc,KAAMm+F,EAAoB,CAC9C35G,UAAU,EACV/D,MAAO,IAAIqf,MAEbE,KAAKgyF,cAAgB39D,EACrB,MAAMgsD,EAAiB,CACrB/wF,GAAI,OACJuwG,aAAa,EACbC,4BAA4B,EAC5BnxG,OAAO,EACP2qG,aAAc,EACdtwB,KAAM,CAAC,EACP+2B,kBAAmB,CAAC1pF,EAAMwtB,KAAW7lD,OAAOw8G,OAAO32D,EAAOxtB,EAAK/mB,IAC/D0wG,eAAgBn8D,GAASA,EACzBnwC,MAAO,IAAI,EACXusG,OAAQ5H,EACR6H,YAAa,KAETC,EAAS,IACV9f,KACAgR,GAILrxF,KAAK8kB,KAAO,IACPq7E,EACH7G,aAAc,IACTjZ,EAAeiZ,gBACdjI,GAASA,EAAMiI,eAMnBjI,GAASA,EAAM4O,QAAU5O,EAAM1iG,MACjCqR,KAAKoY,IAAI,4KAA6K,WAC7Ki5E,GAASA,EAAM1iG,QACxBqR,KAAK8kB,KAAKm7E,OAAS3H,GAErBt4F,KAAKoY,IAAI,eAAemmF,GAAKpoB,WAC7Bn2E,KAAKiyF,WACLjyF,KAAKtM,MAAQsM,KAAK8kB,KAAKpxB,MACvBsM,KAAK4H,SAAS,IACTm1F,EACHruG,QAAS,CAAC,EACVm1C,MAAO,CAAC,EACRu8D,eAAgB,CAAC,EACjBhkB,aAAc,CACZx5B,eAAgBm1C,IAChBvZ,wBAAwB,EACxBtB,kBAAkB,GAEpBlU,KAAM,IACDhpE,KAAK8kB,KAAKkkD,MAEfsqB,KAAM,KAER,EAA4BtzF,KAAMo9F,GAAaA,GAAe,IAAIlE,GAAW,IAAMl5F,KAAK8kB,OAAM,IAAM9kB,KAAKwvF,OACzG,EAA4BxvF,KAAMq9F,GAAmBA,GAAqBr9F,KAAKtM,MAAM9H,WAGrF,CAACwB,EAAWyJ,EAAWs9F,KAGrBn0F,KAAKg6B,KAAK,eAAgB5sC,EAAWyJ,EAAWs9F,GAChDn0F,KAAKqgG,UAAUxpG,EAAU,IAIvBmJ,KAAK8kB,KAAKn2B,OAA2B,qBAAXvE,SAG5BA,OAAO4V,KAAK8kB,KAAKx1B,IAAM0Q,MAEzB,EAA4BA,KAAMi+F,GAAeA,IACnD,CACA,IAAAjkE,CAAK/wC,GACH,IAAK,IAAI/L,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,EAAO,EAAIA,EAAO,EAAI,GAAIK,EAAO,EAAGA,EAAOL,EAAMK,IAClGF,EAAKE,EAAO,GAAKJ,UAAUI,GAE7B,EAA4ByiB,KAAMs9F,GAAUA,GAAUtjE,KAAK/wC,KAAU5L,EACvE,CACA,EAAAu2B,CAAG3qB,EAAOkB,GAER,OADA,EAA4B6V,KAAMs9F,GAAUA,GAAU1pF,GAAG3qB,EAAOkB,GACzD6V,IACT,CACA,IAAA66B,CAAK5xC,EAAOkB,GAEV,OADA,EAA4B6V,KAAMs9F,GAAUA,GAAUziE,KAAK5xC,EAAOkB,GAC3D6V,IACT,CACA,GAAA+6B,CAAI9xC,EAAOkB,GAET,OADA,EAA4B6V,KAAMs9F,GAAUA,GAAUviE,IAAI9xC,EAAOkB,GAC1D6V,IACT,CAOA,SAAAqgG,CAAUt3G,GACRiX,KAAKsgG,gBAAehwG,IAClBA,EAAO0hB,OAAOjpB,EAAM,GAExB,CAKA,QAAA6e,CAASusF,GAGPn0F,KAAKtM,MAAMkU,SAASusF,EACtB,CAKA,QAAAlnG,GAGE,OAAO+S,KAAKtM,MAAMzG,UACpB,CACA,eAAAszG,CAAgBC,GACd,MAAMC,EAAqBzgG,KAAK/S,WAAW42C,MAC3C7jC,KAAK4H,SAAS,CACZi8B,MAAO,IACF48D,KACAziH,OAAOssG,YAAYtsG,OAAOq0B,QAAQmuF,GAAmB77G,KAAIjG,IAC1D,IAAK2gG,EAAQqhB,GAAgBhiH,EAC7B,MAAO,CAAC2gG,EAAQ,IACXohB,EAAmBphB,MACnBqhB,GACH,OAIV,CAKA,YAAAxkB,CAAamD,EAAQt2F,GACnB,IAAKiX,KAAK/S,WAAW42C,MAAMw7C,GACzB,MAAM,IAAIvuF,MAAM,4BAAuBuuF,wCAEzCr/E,KAAKugG,gBAAgB,CACnB,CAAClhB,GAASt2F,GAEd,CACA,QAAAkpG,GACE,MACMyB,EAAa,IAAIiN,EAAA,EAAW,CAAC3gG,KAAKgyF,cAAehyF,KAAK8kB,KAAKuP,QAAS,CACxEusE,aAFmBriH,GAAOyhB,KAAKoY,IAAI,wBAAwB75B,IAAO,WAIpEyhB,KAAKwvF,KAAOkE,EAAWrgE,UAAUtrB,KAAK2rF,GACtC1zF,KAAK2zF,UAAYD,EAAWE,eAAe7rF,KAAK2rF,GAChD1zF,KAAKq0B,OAASq/D,EAAWr/D,MAC3B,CACA,UAAAyzD,CAAW2L,GACTzzF,KAAK8kB,KAAO,IACP9kB,KAAK8kB,QACL2uE,EACH6F,aAAc,IACTt5F,KAAK8kB,KAAKw0E,gBACE,MAAX7F,OAAkB,EAASA,EAAQ6F,eAGvC7F,EAAQzqB,MACVhpE,KAAK6gG,QAAQpN,EAAQzqB,MAEvBhpE,KAAKiyF,WACDwB,EAAQp/D,QACVr0B,KAAKsgG,gBAAehwG,IAClBA,EAAOw3F,WAAW2L,EAAQ,IAK9BzzF,KAAK4H,cAAS3qB,EAChB,CAGA,aAAA6jH,GACE,MAAMC,EAAkB,CACtBvB,WAAY,EACZlnB,cAAe,EACf0oB,gBAAgB,EAChBjhB,cAAe,MAEXl8C,EAAQ,IACT7jC,KAAK/S,WAAW42C,OAEfo9D,EAAe,CAAC,EACtBjjH,OAAOI,KAAKylD,GAAOrgD,SAAQ67F,IACzB4hB,EAAa5hB,GAAU,IAClBx7C,EAAMw7C,GACTxoE,SAAU,IACLgtB,EAAMw7C,GAAQxoE,YACdkqF,GAEN,IAEH/gG,KAAK4H,SAAS,CACZi8B,MAAOo9D,KACJlE,IAEL/8F,KAAKg6B,KAAK,iBACZ,CAIA,kBAAAknE,GACE,MAAM,aACJ9kB,EAAY,eACZgkB,GACEpgG,KAAK/S,WACT,GAAIjP,OAAOI,KAAKgiH,GAAgBhjH,OAAS,IAAMg/F,EAAaoC,uBAC1D,MAAM,IAAI1tF,MAAM,iFAElBkP,KAAK4H,SAAS,IACTm1F,EACHl5D,MAAO,CAAC,GAEZ,CACA,eAAAoqD,CAAgBnxG,GACd,EAA4BkjB,KAAMu9F,GAAgBA,GAAgBhwG,IAAIzQ,EACxE,CACA,kBAAAqxG,CAAmBrxG,GACjB,OAAO,EAA4BkjB,KAAMu9F,GAAgBA,GAAgB5U,OAAO7rG,EAClF,CACA,gBAAAqkH,CAAiBrkH,GACf,EAA4BkjB,KAAMy9F,GAAiBA,GAAiBlwG,IAAIzQ,EAC1E,CACA,mBAAAskH,CAAoBtkH,GAClB,OAAO,EAA4BkjB,KAAMy9F,GAAiBA,GAAiB9U,OAAO7rG,EACpF,CACA,WAAAoxG,CAAYpxG,GACV,EAA4BkjB,KAAMw9F,GAAYA,GAAYjwG,IAAIzQ,EAChE,CACA,cAAAsxG,CAAetxG,GACb,OAAO,EAA4BkjB,KAAMw9F,GAAYA,GAAY7U,OAAO7rG,EAC1E,CACA,OAAA+jH,CAAQ55F,GACN,MAAMo6F,EAAc,IACfrhG,KAAK/S,WAAW+7E,QAChB/hE,GAECg6F,EAAe,IAChBjhG,KAAK/S,WAAW42C,OAErB7lD,OAAOI,KAAK6iH,GAAcz9G,SAAQ67F,IAChC4hB,EAAa5hB,GAAU,IAClB4hB,EAAa5hB,GAChBrW,KAAM,IACDi4B,EAAa5hB,GAAQrW,QACrB/hE,GAEN,IAEHjH,KAAKoY,IAAI,oBACTpY,KAAKoY,IAAInR,GACTjH,KAAK4H,SAAS,CACZohE,KAAMq4B,EACNx9D,MAAOo9D,GAEX,CACA,WAAAK,CAAYjiB,EAAQp4E,GAClB,MAAMg6F,EAAe,IAChBjhG,KAAK/S,WAAW42C,OAErB,IAAKo9D,EAAa5hB,GAEhB,YADAr/E,KAAKoY,IAAI,gEAAiEinE,GAG5E,MAAMkiB,EAAU,IACXN,EAAa5hB,GAAQrW,QACrB/hE,GAELg6F,EAAa5hB,GAAU,IAClB4hB,EAAa5hB,GAChBrW,KAAMu4B,GAERvhG,KAAK4H,SAAS,CACZi8B,MAAOo9D,GAEX,CAKA,OAAAx+C,CAAQ48B,GACN,OAAOr/E,KAAK/S,WAAW42C,MAAMw7C,EAC/B,CAKA,QAAAmiB,GACE,MAAM,MACJ39D,GACE7jC,KAAK/S,WACT,OAAOjP,OAAO+P,OAAO81C,EACvB,CACA,aAAA+nD,CAAc6V,GACZ,OAAOA,EAAI98G,KAAI2K,GAAM0Q,KAAKyiD,QAAQnzD,IACpC,CACA,wBAAAoyG,GACE,MACE79D,MAAO89D,EAAW,cAClB3E,EAAa,MACb9xG,GACE8U,KAAK/S,WACH42C,EAAQ7lD,OAAO+P,OAAO4zG,GACtBC,EAAkB,GAClBC,EAAW,GACXC,EAAe,GACfC,EAAqB,GACrBC,EAAc,GACdC,EAAgB,GAChBC,EAAe,GACfC,EAA2B,GAC3BC,EAAkB,GACxB,IAAK,MAAM/rF,KAAQwtB,EAAO,CACxB,MAAM,SACJhtB,GACER,GACCQ,EAASmqF,gBAAkBnqF,EAASkpE,gBACvC6hB,EAAgBphH,KAAK61B,GAChBA,EAAKsmE,UACRwlB,EAAyB3hH,KAAK61B,IAG7BQ,EAASkpE,eACZ8hB,EAASrhH,KAAK61B,IAEZQ,EAASkpE,eAAiBlpE,EAASwrF,YAAcxrF,EAASyrF,cAC5DR,EAAathH,KAAK61B,GAEhBQ,EAASkpE,eACXgiB,EAAmBvhH,KAAK61B,GAEtBA,EAAKsmE,UACPqlB,EAAYxhH,KAAK61B,GAEfQ,EAASmqF,gBACXiB,EAAczhH,KAAK61B,GAEjBA,EAAKnrB,OACPg3G,EAAa1hH,KAAK61B,IAEhBQ,EAASwrF,YAAcxrF,EAASyrF,cAClCF,EAAgB5hH,KAAK61B,EAEzB,CACA,MAAO,CACLwrF,WACAC,eACAC,qBACAC,cACAC,gBACAC,eACAN,kBACAO,2BACAC,kBACAG,gBAAiBR,EAAmB3kH,OAAS,EAC7ColH,cAAiC,MAAlBxF,GAAyBiF,EAAc7kH,SAAWymD,EAAMzmD,QAAqC,IAA3BglH,EAAgBhlH,OACjGqlH,eAAgBv3G,GAASg3G,EAAa9kH,SAAWymD,EAAMzmD,OACvDslH,YAAwC,IAA3Bd,EAAgBxkH,QAAgB4kH,EAAY5kH,SAAWwkH,EAAgBxkH,OACpFulH,mBAAoBf,EAAgBxkH,OAAS,EAC7CwlH,YAAa/+D,EAAMtsC,MAAK8e,GAAQA,EAAKqjF,UAEzC,CACA,oBAAAmJ,CAAqBxsF,EAAMwtB,QACX,IAAVA,IACFA,EAAQ7jC,KAAKwhG,YAEf,IACE,EAA4BxhG,KAAMo9F,GAAaA,GAAanD,SAASp2D,EAAO,CAACxtB,GAC/E,CAAE,MAAO31B,GACP,OAAOA,CACT,CACA,OAAO,IACT,CACA,wBAAAoiH,CAAyBzjB,GACvB,MAAM,MACJx7C,GACE7jC,KAAK/S,WACT,SAAI42C,EAAMw7C,IAAYx7C,EAAMw7C,GAAQqa,QAItC,CAMA,OAAAqJ,CAAQ1sF,GACN,EAA4BrW,KAAM69F,GAAyBA,GAAyBxnF,GACpF,MAAM,eACJ2sF,EAAc,gBACdC,EAAe,OACf1kE,GACE,EAA4Bv+B,KAAMg+F,GAA0BA,GAA0B,CAAC3nF,IACrF6sF,EAAoB3kE,EAAOp7C,QAAO+H,GAASA,EAAM8tG,gBAEvD,GADA,EAA4Bh5F,KAAM09F,GAAgBA,GAAgBwF,GAC9D3kE,EAAOnhD,OAAS,EAAG,MAAMmhD,EAAO,GACpCv+B,KAAK4H,SAAS,CACZi8B,MAAOm/D,IAET,MAAOG,GAAuBF,EAK9B,OAJAjjG,KAAKg6B,KAAK,aAAcmpE,GACxBnjG,KAAKg6B,KAAK,cAAeipE,GACzBjjG,KAAKoY,IAAI,eAAe+qF,EAAoB9hH,SAAS8hH,EAAoB7zG,kBAAkB6zG,EAAoB91G,QAC/G,EAA4B2S,KAAM+9F,GAAqBA,KAChDoF,EAAoB7zG,EAC7B,CASA,QAAA8zG,CAASC,GACP,EAA4BrjG,KAAM69F,GAAyBA,KAC3D,MAAM,eACJmF,EAAc,gBACdC,EAAe,OACf1kE,GACE,EAA4Bv+B,KAAMg+F,GAA0BA,GAA0BqF,GACpFH,EAAoB3kE,EAAOp7C,QAAO+H,GAASA,EAAM8tG,gBACvD,EAA4Bh5F,KAAM09F,GAAgBA,GAAgBwF,GAClE,MAAMI,EAAuB/kE,EAAOp7C,QAAO+H,IAAUA,EAAM8tG,gBAC3D,GAAIsK,EAAqBlmH,OAAS,EAAG,CACnC,IAAIuhD,EAAU,iDAUd,GATA2kE,EAAqB9/G,SAAQ+/G,IAC3B5kE,GAAW,QAAQ4kE,EAAS5kE,SAAS,IAEvC3+B,KAAKszF,KAAK,CACR30D,QAAS3+B,KAAKwvF,KAAK,qBAAsB,CACvCmK,YAAa2J,EAAqBlmH,SAEpComH,QAAS7kE,GACR,QAAS3+B,KAAK8kB,KAAKo7E,aACQ,oBAAnBuD,eACT,MAAM,IAAIA,eAAeH,EAAsB3kE,GAC1C,CACL,MAAMj+C,EAAM,IAAIoQ,MAAM6tC,GAGtB,MADAj+C,EAAI69C,OAAS+kE,EACP5iH,CACR,CACF,CAIAsf,KAAK4H,SAAS,CACZi8B,MAAOm/D,IAETC,EAAgBz/G,SAAQ6yB,IACtBrW,KAAKg6B,KAAK,aAAc3jB,EAAK,IAE/BrW,KAAKg6B,KAAK,cAAeipE,GACrBA,EAAgB7lH,OAAS,EAC3B4iB,KAAKoY,IAAI,kBAAkB6qF,EAAgB7lH,gBAE3CY,OAAO+P,OAAOk1G,GAAiBz/G,SAAQ6yB,IACrCrW,KAAKoY,IAAI,eAAe/B,EAAKh1B,cAAcg1B,EAAK/mB,cAAc+mB,EAAKhpB,OAAO,IAG1E41G,EAAgB7lH,OAAS,GAC3B,EAA4B4iB,KAAM+9F,GAAqBA,IAE3D,CACA,WAAA2F,CAAYhY,EAASt1F,GACnB,MAAM,MACJytC,EAAK,eACLu8D,GACEpgG,KAAK/S,WACHg0G,EAAe,IAChBp9D,GAEC8/D,EAAiB,IAClBvD,GAECwD,EAAe5lH,OAAOw4B,OAAO,MASnC,SAASqtF,EAAiBC,GACxB,YAAsC7mH,IAA/B2mH,EAAaE,EACtB,CAVApY,EAAQloG,SAAQ67F,IACVx7C,EAAMw7C,KACRukB,EAAavkB,GAAUx7C,EAAMw7C,UACtB4hB,EAAa5hB,GACtB,IAOFrhG,OAAOI,KAAKulH,GAAgBngH,SAAQugH,IAClC,MAAMC,EAAa5D,EAAe2D,GAAUrY,QAAQvoG,OAAO0gH,GAG3D,GAA0B,IAAtBG,EAAW5mH,OAEb,mBADOumH,EAAeI,GAGxB,MAAM,aACJ3nB,GACEp8E,KAAK/S,WACT,GAAI+2G,EAAW5mH,SAAWgjH,EAAe2D,GAAUrY,QAAQtuG,SAAWg/F,EAAaoC,uBACjF,MAAM,IAAI1tF,MAAM,iFAElB6yG,EAAeI,GAAY,IACtB3D,EAAe2D,GAClBrY,QAASsY,EACV,IAEH,MAAMC,EAAc,CAClB7D,eAAgBuD,EAChB9/D,MAAOo9D,GAKgC,IAArCjjH,OAAOI,KAAK6iH,GAAc7jH,SAC5B6mH,EAAYhH,gBAAiB,EAC7BgH,EAAY/4G,MAAQ,KACpB+4G,EAAY/G,eAAiB,MAE/Bl9F,KAAK4H,SAASq8F,GACdjkG,KAAK2/F,yBACL,MAAMuE,EAAiBlmH,OAAOI,KAAKwlH,GACnCM,EAAe1gH,SAAQ67F,IACrBr/E,KAAKg6B,KAAK,eAAgB4pE,EAAavkB,GAASjpF,EAAO,IAErD8tG,EAAe9mH,OAAS,EAC1B4iB,KAAKoY,IAAI,WAAW8rF,EAAe9mH,gBAEnC4iB,KAAKoY,IAAI,kBAAkB8rF,EAAehsG,KAAK,QAEnD,CACA,UAAAisG,CAAW9kB,EAAQjpF,GACjB4J,KAAK0jG,YAAY,CAACrkB,GAASjpF,EAC7B,CACA,WAAAguG,CAAY/kB,GACV,IAAKr/E,KAAK/S,WAAWmvF,aAAac,kBAAoBl9E,KAAKyiD,QAAQ48B,GAAQxoE,SAASmqF,eAClF,OAEF,MACMrkB,IADY38E,KAAKyiD,QAAQ48B,GAAQ1C,WAAY,GAMnD,OAJA38E,KAAKk8E,aAAamD,EAAQ,CACxB1C,aAEF38E,KAAKg6B,KAAK,eAAgBqlD,EAAQ1C,GAC3BA,CACT,CACA,QAAA0nB,GACE,MAAMpD,EAAe,IAChBjhG,KAAK/S,WAAW42C,OAEU7lD,OAAOI,KAAK6iH,GAAc99G,QAAOkzB,IACtD4qF,EAAa5qF,GAAMQ,SAASmqF,gBAAkBC,EAAa5qF,GAAMQ,SAASkpE,gBAE7Dv8F,SAAQ6yB,IAC7B,MAAMiuF,EAAc,IACfrD,EAAa5qF,GAChBsmE,UAAU,GAEZskB,EAAa5qF,GAAQiuF,CAAW,IAElCtkG,KAAK4H,SAAS,CACZi8B,MAAOo9D,IAETjhG,KAAKg6B,KAAK,YACZ,CACA,SAAAuqE,GACE,MAAMtD,EAAe,IAChBjhG,KAAK/S,WAAW42C,OAEU7lD,OAAOI,KAAK6iH,GAAc99G,QAAOkzB,IACtD4qF,EAAa5qF,GAAMQ,SAASmqF,gBAAkBC,EAAa5qF,GAAMQ,SAASkpE,gBAE7Dv8F,SAAQ6yB,IAC7B,MAAMiuF,EAAc,IACfrD,EAAa5qF,GAChBsmE,UAAU,EACVzxF,MAAO,MAET+1G,EAAa5qF,GAAQiuF,CAAW,IAElCtkG,KAAK4H,SAAS,CACZi8B,MAAOo9D,IAETjhG,KAAKg6B,KAAK,aACZ,CACA,QAAAwqE,GACE,MAAMvD,EAAe,IAChBjhG,KAAK/S,WAAW42C,OAEf4gE,EAAezmH,OAAOI,KAAK6iH,GAAc99G,QAAOkzB,GAC7C4qF,EAAa5qF,GAAMnrB,QAe5B,GAbAu5G,EAAajhH,SAAQ6yB,IACnB,MAAMiuF,EAAc,IACfrD,EAAa5qF,GAChBsmE,UAAU,EACVzxF,MAAO,MAET+1G,EAAa5qF,GAAQiuF,CAAW,IAElCtkG,KAAK4H,SAAS,CACZi8B,MAAOo9D,EACP/1G,MAAO,OAET8U,KAAKg6B,KAAK,YAAayqE,GACK,IAAxBA,EAAarnH,OACf,OAAOgT,QAAQK,QAAQ,CACrBi0G,WAAY,GACZC,OAAQ,KAGZ,MAAMZ,EAAW,EAA4B/jG,KAAM2hF,GAAeA,GAAe8iB,EAAc,CAC7FG,qBAAqB,IAEvB,OAAO,EAA4B5kG,KAAMs+F,IAAYA,IAAYyF,EACnE,CACA,SAAAr2G,CAAU8iG,GACR,IAAI,OACFp6F,EAAS,aACG,IAAVo6F,EAAmB,CAAC,EAAIA,EAM5B,GALAxwF,KAAKg6B,KAAK,aAAc,CACtB5jC,WAIa,SAAXA,EAAmB,CACrB,MAAM,MACJytC,GACE7jC,KAAK/S,WACHy+F,EAAU1tG,OAAOI,KAAKylD,GACxB6nD,EAAQtuG,QACV4iB,KAAK0jG,YAAYhY,EAAS,cAE5B1rF,KAAK4H,SAASm1F,EAEhB,CACF,CACA,WAAA8H,CAAYxlB,GACVr/E,KAAKk8E,aAAamD,EAAQ,CACxBn0F,MAAO,KACPyxF,UAAU,IAEZ38E,KAAKg6B,KAAK,eAAgBqlD,GAC1B,MAAM0kB,EAAW,EAA4B/jG,KAAM2hF,GAAeA,GAAe,CAACtC,GAAS,CACzFulB,qBAAqB,IAEvB,OAAO,EAA4B5kG,KAAMs+F,IAAYA,IAAYyF,EACnE,CACA,MAAAe,GACE9kG,KAAKsgG,gBAAehwG,IAClB,IAAIy0G,EAE6B,OAAhCA,EAAYz0G,EAAOonG,WAAyC,MAApBqN,EAAUD,QAAkBC,EAAUD,QAAQ,GAE3F,CACA,sBAAAnF,GAGE,MACMqF,EADQhlG,KAAKwhG,WACMr+G,QAAOkzB,GACvBA,EAAKQ,SAASkpE,eAAiB1pE,EAAKQ,SAASwrF,YAAchsF,EAAKQ,SAASyrF,cAElF,GAA0B,IAAtB0C,EAAW5nH,OAKb,OAJA4iB,KAAKg6B,KAAK,WAAY,QACtBh6B,KAAK4H,SAAS,CACZo1F,cAAe,IAInB,MAAMiI,EAAaD,EAAW7hH,QAAOkzB,GAAoC,MAA5BA,EAAKQ,SAAS0hE,aACrD2sB,EAAeF,EAAW7hH,QAAOkzB,GAAoC,MAA5BA,EAAKQ,SAAS0hE,aAC7D,GAA0B,IAAtB0sB,EAAW7nH,OAAc,CAC3B,MAAM+nH,EAAkC,IAApBH,EAAW5nH,OACzBgoH,EAAkBF,EAAa19G,QAAO,CAACC,EAAK4uB,IACzC5uB,EAAM4uB,EAAKQ,SAAS2oF,YAC1B,GACGxC,EAAgBroF,KAAKoa,MAAMq2E,EAAkBD,EAAc,KAIjE,YAHAnlG,KAAK4H,SAAS,CACZo1F,iBAGJ,CACA,IAAIqI,EAAYJ,EAAWz9G,QAAO,CAACC,EAAK4uB,KACtC,IAAIivF,EACJ,OAAO79G,GAA6D,OAArD69G,EAAwBjvF,EAAKQ,SAAS0hE,YAAsB+sB,EAAwB,EAAE,GACpG,GACH,MAAMC,EAAcF,EAAYJ,EAAW7nH,OAC3CioH,GAAaE,EAAcL,EAAa9nH,OACxC,IAAIooH,EAAe,EACnBP,EAAWzhH,SAAQ6yB,IACjBmvF,GAAgBnvF,EAAKQ,SAASyhE,aAAa,IAE7C4sB,EAAa1hH,SAAQ6yB,IACnBmvF,GAAgBD,GAAelvF,EAAKQ,SAAS2oF,YAAc,GAAK,GAAG,IAErE,IAAIxC,EAA8B,IAAdqI,EAAkB,EAAI1wF,KAAKoa,MAAMy2E,EAAeH,EAAY,KAI5ErI,EAAgB,MAClBA,EAAgB,KAElBh9F,KAAK4H,SAAS,CACZo1F,kBAEFh9F,KAAKg6B,KAAK,WAAYgjE,EACxB,CACA,kBAAA4C,GACE,IAAI6F,EACgE,OAApDA,EAAwBr7G,OAAOyH,UAAU43F,SAAkBgc,GAMzEzlG,KAAKg6B,KAAK,aACNh6B,KAAKo/F,aACPp/F,KAAKg6B,KAAK,eACVh6B,KAAKszF,KAAKtzF,KAAKwvF,KAAK,uBAAwB,UAAW,KACvDxvF,KAAKo/F,YAAa,KARpBp/F,KAAKg6B,KAAK,cACVh6B,KAAKszF,KAAKtzF,KAAKwvF,KAAK,wBAAyB,QAAS,GACtDxvF,KAAKo/F,YAAa,EAStB,CACA,KAAAsG,GACE,OAAO1lG,KAAK8kB,KAAKx1B,EACnB,CAKA,GAAAq2G,CAAIC,EAAQ9gF,GACV,GAAsB,oBAAX8gF,EAAuB,CAEhC,MAAM,IAAInkH,UADE,oCAA+C,OAAXmkH,EAAkB,cAAgBA,uEAEpF,CAGA,MAAMt1G,EAAS,IAAIs1G,EAAO5lG,KAAM8kB,GAC1B+gF,EAAWv1G,EAAOhB,GACxB,IAAKu2G,EACH,MAAM,IAAI/0G,MAAM,+BAElB,IAAKR,EAAOjD,KACV,MAAM,IAAIyD,MAAM,gCAElB,MAAMg1G,EAAsB9lG,KAAK+lG,UAAUF,GAC3C,GAAIC,EAAqB,CACvB,MAAME,EAAM,iCAAiCF,EAAoBx2G,uBAA4Bu2G,2FAC7F,MAAM,IAAI/0G,MAAMk1G,EAClB,CAcA,OAXIJ,EAAOzvB,SAETn2E,KAAKoY,IAAI,SAASytF,MAAaD,EAAOzvB,WAEpC7lF,EAAOjD,QAAQ,EAA4B2S,KAAMm9F,GAAUA,GAC7D,EAA4Bn9F,KAAMm9F,GAAUA,GAAU7sG,EAAOjD,MAAM7M,KAAK8P,GAExE,EAA4B0P,KAAMm9F,GAAUA,GAAU7sG,EAAOjD,MAAQ,CAACiD,GAExEA,EAAOsuE,UACP5+D,KAAKg6B,KAAK,eAAgB1pC,GACnB0P,IACT,CAKA,SAAA+lG,CAAUz2G,GACR,IAAK,MAAMZ,KAAW1Q,OAAO+P,OAAO,EAA4BiS,KAAMm9F,GAAUA,IAAY,CAC1F,MAAM8I,EAAcv3G,EAAQ0E,MAAK9C,GAAUA,EAAOhB,KAAOA,IACzD,GAAmB,MAAf22G,EAAqB,OAAOA,CAClC,CAEF,CACA,CAACptB,GAAaxrF,GACZ,OAAO,EAA4B2S,KAAMm9F,GAAUA,GAAU9vG,EAC/D,CAMA,cAAAizG,CAAe96G,GACbxH,OAAO+P,OAAO,EAA4BiS,KAAMm9F,GAAUA,IAAW+I,KAAK,GAAG1iH,QAAQgC,EACvF,CAOA,YAAA2gH,CAAal9E,GACXjpB,KAAKoY,IAAI,mBAAmB6Q,EAAS35B,MACrC0Q,KAAKg6B,KAAK,gBAAiB/Q,GACvBA,EAAS+1C,WACX/1C,EAAS+1C,YAEX,MAAMjyE,EAAO,EAA4BiT,KAAMm9F,GAAUA,GAAUl0E,EAAS57B,MAItEvO,EAAQiO,EAAK9N,WAAUN,GAAQA,EAAK2Q,KAAO25B,EAAS35B,MAC3C,IAAXxQ,GACFiO,EAAK6sC,OAAO96C,EAAO,GAErB,MACMsnH,EAAe,CACnB13G,QAAS,IAFGsR,KAAK/S,WAGNyB,QACT,CAACu6B,EAAS35B,SAAKrS,IAGnB+iB,KAAK4H,SAASw+F,EAChB,CASA,KAAA1uE,CAAM2uE,GACJ,IAAI,OACFjwG,QACa,IAAXiwG,EAAoB,CAAC,EAAIA,EAC7BrmG,KAAKoY,IAAI,yBAAyBpY,KAAK8kB,KAAKx1B,mDAC5C0Q,KAAKtS,UAAU,CACb0I,WAEF,EAA4B4J,KAAMq9F,GAAmBA,KACrDr9F,KAAKsgG,gBAAehwG,IAClB0P,KAAKmmG,aAAa71G,EAAO,IAEL,qBAAXlG,QAA0BA,OAAOmX,sBAC1CnX,OAAOmX,oBAAoB,SAAU,EAA4BvB,KAAMk+F,GAAqBA,IAC5F9zG,OAAOmX,oBAAoB,UAAW,EAA4BvB,KAAMk+F,GAAqBA,IAEjG,CACA,QAAAoI,GACE,MAAM,KACJhT,GACEtzF,KAAK/S,WACT+S,KAAK4H,SAAS,CACZ0rF,KAAMA,EAAKnyG,MAAM,KAEnB6e,KAAKg6B,KAAK,cACZ,CAMA,IAAAs5D,CAAK30D,EAAStxC,EAAMk5G,QACL,IAATl5G,IACFA,EAAO,aAEQ,IAAbk5G,IACFA,EAAW,KAEb,MAAMC,EAAsC,kBAAZ7nE,EAChC3+B,KAAK4H,SAAS,CACZ0rF,KAAM,IAAItzF,KAAK/S,WAAWqmG,KAAM,CAC9BjmG,OACAsxC,QAAS6nE,EAAmB7nE,EAAQA,QAAUA,EAC9C6kE,QAASgD,EAAmB7nE,EAAQ6kE,QAAU,SAGlD/lH,YAAW,IAAMuiB,KAAKsmG,YAAYC,GAClCvmG,KAAKg6B,KAAK,eACZ,CAMA,GAAA5hB,CAAIumB,EAAStxC,GACX,MAAM,OACJ4yG,GACEjgG,KAAK8kB,KACT,OAAQz3B,GACN,IAAK,QACH4yG,EAAO/0G,MAAMyzC,GACb,MACF,IAAK,UACHshE,EAAOnrF,KAAK6pB,GACZ,MACF,QACEshE,EAAOtxG,MAAMgwC,GAGnB,CACA,qBAAA8nE,CAAsBn3G,EAAI4iG,GACxB,EAA4BlyF,KAAMm+F,GAAoBA,GAAoBl+F,IAAI3Q,EAAI4iG,EACpF,CAGA,uBAAA9F,CAAwB/1E,GACtB,IAAKA,EAAKyjE,OAAQ,MAAM,IAAIhpF,MAAM,oDAAoDulB,EAAK/mB,MAC3F,MAAMo3G,EAAgB,EAA4B1mG,KAAMm+F,GAAoBA,GAAoBp+F,IAAIsW,EAAKyjE,OAAO6sB,iBAChH,GAAqB,MAAjBD,EAAuB,MAAM,IAAI51G,MAAM,oBAAoBulB,EAAKyjE,OAAO6sB,6CAA6CtwF,EAAK/mB,OAC7H,OAAOo3G,CACT,CAKA,OAAAjzE,CAAQswE,GAEN,OADA/jG,KAAKoY,IAAI,uCAAuC2rF,MAC3C/jG,KAAK/S,WAAWmzG,eAAe2D,GAI7B,EAA4B/jG,KAAMs+F,IAAYA,IAAYyF,IAH/D,EAA4B/jG,KAAMq+F,IAAeA,IAAe0F,GACzD3zG,QAAQiF,OAAO,IAAIvE,MAAM,uBAGpC,CACA,CAACkuF,KAEC,OAAO,EAA4Bh/E,KAAM2hF,GAAeA,MAAkBxkG,UAC5E,CAIA,aAAAypH,CAAc7C,EAAU98F,GACtB,IAAK,EAA4BjH,KAAMo+F,IAAYA,IAAY2F,GAE7D,YADA/jG,KAAKoY,IAAI,2DAA2D2rF,KAGtE,MAAM,eACJ3D,GACEpgG,KAAK/S,WACH45G,EAAgB,IACjBzG,EAAe2D,GAClB9vG,OAAQ,IACHmsG,EAAe2D,GAAU9vG,UACzBgT,IAGPjH,KAAK4H,SAAS,CACZw4F,eAAgB,IACXA,EACH,CAAC2D,GAAW8C,IAGlB,CAIA,MAAAjwF,GACE,IAAIkwF,EACiG,OAA9FA,EAAwB,EAA4B9mG,KAAMm9F,GAAUA,GAAoB,WAAc2J,EAAsB1pH,QACjI4iB,KAAKoY,IAAI,oCAAqC,WAEhD,IAAI,MACFyrB,GACE7jC,KAAK/S,WACT,MAAM85G,EAAuB/mG,KAAK8kB,KAAKk7E,eAAen8D,GACtD,OAA6B,IAAzBkjE,EACK32G,QAAQiF,OAAO,IAAIvE,MAAM,mEAE9Bi2G,GAAwD,kBAAzBA,IACjCljE,EAAQkjE,EAGR/mG,KAAK4H,SAAS,CACZi8B,WAGGzzC,QAAQK,UAAUC,MAAK,IAAM,EAA4BsP,KAAMo9F,GAAaA,GAAajD,yBAAyBt2D,KAAQ/uC,OAAMpU,IAErI,MADA,EAA4Bsf,KAAM09F,GAAgBA,GAAgB,CAACh9G,IAC7DA,CAAG,IACRgQ,MAAK,KACN,IAAK,EAA4BsP,KAAM49F,GAA0BA,GAA0B/5D,GACzF,MAAM,IAAIi1D,EAAiB94F,KAAKwvF,KAAK,4BACvC,IACC16F,OAAMpU,IAIP,MAAMA,CAAG,IACRgQ,MAAK,KACN,MAAM,eACJ0vG,GACEpgG,KAAK/S,WAEH+5G,EAA0BhpH,OAAO+P,OAAOqyG,GAAgB6G,SAAQC,GAAQA,EAAKxb,UAC7Eyb,EAAiB,GACvBnpH,OAAOI,KAAKylD,GAAOrgD,SAAQ67F,IACzB,MAAMhpE,EAAOrW,KAAKyiD,QAAQ48B,GAErBhpE,EAAKQ,SAASkpE,gBAA8D,IAA7CinB,EAAwBtkH,QAAQ28F,IAClE8nB,EAAe3mH,KAAK61B,EAAK/mB,GAC3B,IAEF,MAAMy0G,EAAW,EAA4B/jG,KAAM2hF,GAAeA,GAAewlB,GACjF,OAAO,EAA4BnnG,KAAMs+F,IAAYA,IAAYyF,EAAS,IACzEjvG,OAAMpU,IAGP,MAFAsf,KAAKg6B,KAAK,QAASt5C,GACnBsf,KAAKoY,IAAI13B,EAAK,SACRA,CAAG,IAEb,EAEF,SAASw+G,GAAgB3gE,GACvB,IAAK,MAAMrzC,KAASqzC,EACdrzC,EAAM8tG,cACRh5F,KAAKg6B,KAAK,qBAAsB9uC,EAAMmrB,KAAMnrB,GAE5C8U,KAAKg6B,KAAK,QAAS9uC,EAAOA,EAAMmrB,MAElCrW,KAAKoY,IAAIltB,EAAO,WAElB,MAAMk8G,EAAmB7oE,EAAOp7C,QAAO+H,GAASA,EAAM+tG,eAIhDoO,EAAcD,EAAiBjmH,MAAM,EADtB,GAEfmmH,EAAmBF,EAAiBjmH,MAFrB,GAGrBkmH,EAAY7jH,SAAQsB,IAClB,IAAI,QACF65C,EAAO,QACP6kE,EAAU,IACR1+G,EACJkb,KAAKszF,KAAK,CACR30D,UACA6kE,WACC,QAASxjG,KAAK8kB,KAAKo7E,YAAY,IAEhCoH,EAAiBlqH,OAAS,GAC5B4iB,KAAKszF,KAAK,CACR30D,QAAS3+B,KAAKwvF,KAAK,+BAAgC,CACjDl7F,MAAOgzG,EAAiBlqH,UAIhC,CACA,SAAS6hH,GAAgC5oF,GACvC,MAAM,cACJikF,EAAa,MACbpvG,GACE,EAA4B8U,KAAMo9F,GAAaA,GAAahD,6BAA6B/jF,GAC7F,QAAIikF,EAAcl9G,OAAS,KACzB4iB,KAAKk8E,aAAa7lE,EAAK/mB,GAAI,CACzBi4G,0BAA2BjN,IAE7Bt6F,KAAKoY,IAAIltB,EAAMyzC,SACf3+B,KAAKg6B,KAAK,qBAAsB3jB,EAAMnrB,IAC/B,EAGX,CACA,SAAS8zG,GAA0Bn7D,GACjC,IAAItX,GAAU,EACd,IAAK,MAAMlW,KAAQr4B,OAAO+P,OAAO81C,GAC1B,EAA4B7jC,KAAM29F,GAAgCA,GAAgCtnF,KACrGkW,GAAU,GAGd,OAAOA,CACT,CACA,SAASwyE,GAAyB1oF,GAChC,MAAM,eACJ4mF,GACEj9F,KAAK/S,WACT,IAAuB,IAAnBgwG,EAA0B,CAC5B,MAAM/xG,EAAQ,IAAI4tG,EAAiB94F,KAAKwvF,KAAK,sBAAuB,CAClEn5E,SAGF,MADA,EAA4BrW,KAAM09F,GAAgBA,GAAgB,CAACxyG,IAC7DA,CACR,CACF,CACA,SAAS4zG,GAAgB0I,GAIvB,MAAMnxF,EAAOmxF,aAAgCC,KAAO,CAClDpmH,KAAMmmH,EAAqBnmH,KAC3BgM,KAAMm6G,EAAqBn6G,KAC3B08B,KAAMy9E,EAAqBz9E,KAC3B9iB,KAAMugG,GACJA,EACE5P,EAAWV,EAAY7gF,GACvBgkF,EC/yCO,SAAqBzC,EAAU8P,GAC5C,OAAIA,EAAermH,KACVqmH,EAAermH,KAEO,UAA3Bu2G,EAAStyG,MAAM,KAAK,GACf,GAAGsyG,EAAStyG,MAAM,KAAK,MAAMsyG,EAAStyG,MAAM,KAAK,KAEnD,QACT,CDuyCmBqiH,CAAY/P,EAAUvhF,GACjC+gF,GAAgB,EAAAjE,EAAA,GAAwBkH,GAAUvtE,UAClDx9B,EAAKkoG,EAAcnhF,EAAMrW,KAAK0lG,SAC9B18B,EAAO3yD,EAAK2yD,MAAQ,CAAC,EAC3BA,EAAK3nF,KAAOg5G,EACZrxB,EAAK37E,KAAOuqG,EAGZ,MAAM7tE,EAAO3lC,OAAOs7G,SAASrpF,EAAKpP,KAAK8iB,MAAQ1T,EAAKpP,KAAK8iB,KAAO,KAChE,MAAO,CACLznC,OAAQ+zB,EAAK/zB,QAAU,GACvBgN,KACAjO,KAAMg5G,EACNvtE,UAAWsqE,GAAiB,GAC5BpuB,KAAM,IACDhpE,KAAK/S,WAAW+7E,QAChBA,GAEL37E,KAAMuqG,EACN3wF,KAAMoP,EAAKpP,KACX4P,SAAU,CACR2oF,WAAY,EACZlnB,cAAe,EACfC,WAAYxuD,EACZi3E,gBAAgB,EAChBjhB,cAAe,MAEjBh2D,OACA2vE,SAAS,EACT3N,SAAU11E,EAAK01E,WAAY,EAG3BjS,OAAQzjE,EAAKyjE,QAAU,GACvBl7C,QAASvoB,EAAKuoB,QAElB,CACA,SAASigE,KACH7+F,KAAK8kB,KAAK+6E,cAAgB7/F,KAAKm/F,uBACjCn/F,KAAKm/F,qBAAuB1hH,YAAW,KACrCuiB,KAAKm/F,qBAAuB,KAC5Bn/F,KAAK4W,SAAS9hB,OAAMpU,IACbA,EAAIs4G,eACPh5F,KAAKoY,IAAI13B,EAAI42F,OAAS52F,EAAIi+C,SAAWj+C,EACvC,GACA,GACD,GAEP,CACA,SAASk+G,GAA0BgJ,GACjC,MACE/jE,MAAO21D,GACLx5F,KAAK/S,WAGH+1G,EAAiB,IAClBxJ,GAECyJ,EAAkB,GAClB1kE,EAAS,GACf,IAAK,MAAMspE,KAAaD,EACtB,IACE,IAAIE,EACJ,IAAIC,EAAU,EAA4B/nG,KAAM89F,GAAgBA,GAAgB+J,GAMhF,MAAMnO,EAAiE,OAAtDoO,EAAwBtO,EAAcuO,EAAQz4G,UAAe,EAASw4G,EAAsBpO,QAC7G,GAAIA,EAAS,CAEXqO,EAAU,IADgBvO,EAAcuO,EAAQz4G,IAG9CoqG,SAAS,EACTzyF,KAAM4gG,EAAU5gG,MAElBjH,KAAKoY,IAAI,iDAAiD2vF,EAAQ1mH,SAAS0mH,EAAQz4G,KACrF,CACA,MAAM04G,EAA0BhoG,KAAK8kB,KAAKi7E,kBAAkBgI,EAAS/E,GACrE,IAAKgF,GAA2BhoG,KAAK8iG,yBAAyBiF,EAAQz4G,IACpE,MAAM,IAAIwpG,EAAiB94F,KAAKwvF,KAAK,eAAgB,CACnD6K,SAAU0N,EAAQ1mH,OAChB,CACFg1B,KAAMwxF,IAKV,IAAgC,IAA5BG,IAAsCtO,EAExC,MAAM,IAAIZ,EAAiB,gEAAiE,CAC1FG,cAAc,EACd5iF,KAAMwxF,IAEoC,kBAA5BG,GAAoE,OAA5BA,IACxDD,EAAUC,GAEZ,EAA4BhoG,KAAMo9F,GAAaA,GAAarD,mBAAmBgO,GAG/E/E,EAAe+E,EAAQz4G,IAAMy4G,EAC7B9E,EAAgBziH,KAAKunH,EACvB,CAAE,MAAOrnH,GACP69C,EAAO/9C,KAAKE,EACd,CAEF,IAGE,EAA4Bsf,KAAMo9F,GAAaA,GAAa7D,8BAA8Bv7G,OAAO+P,OAAOyrG,GAAgByJ,EAC1H,CAAE,MAAOviH,GAIP,OAHA69C,EAAO/9C,KAAKE,GAGL,CACLsiH,eAAgBxJ,EAChByJ,gBAAiB,GACjB1kE,SAEJ,CACA,MAAO,CACLykE,iBACAC,kBACA1kE,SAEJ,CACA,SAASogE,KAEP,MAAMsJ,EAAe,CAAC/8G,EAAOmrB,EAAMxiB,KACjC,IAAIq0G,EAAWh9G,EAAMyzC,SAAW,gBAC5BzzC,EAAMs4G,UACR0E,GAAY,IAAIh9G,EAAMs4G,WAExBxjG,KAAK4H,SAAS,CACZ1c,MAAOg9G,IAEG,MAAR7xF,GAAgBA,EAAK/mB,MAAM0Q,KAAK/S,WAAW42C,OAC7C7jC,KAAKk8E,aAAa7lE,EAAK/mB,GAAI,CACzBpE,MAAOg9G,EACPr0G,YAEJ,EAEFmM,KAAK4T,GAAG,QAASq0F,GACjBjoG,KAAK4T,GAAG,gBAAgB,CAACyC,EAAMnrB,EAAO2I,KAEpC,GADAo0G,EAAa/8G,EAAOmrB,EAAMxiB,GACL,kBAAV3I,GAAsBA,EAAMyzC,QAAS,CAC9C,IAAIwpE,EACJnoG,KAAKoY,IAAIltB,EAAMyzC,QAAS,SACxB,MAAMypE,EAAW,IAAIt3G,MAAMkP,KAAKwvF,KAAK,iBAAkB,CACrDn5E,KAA0D,OAAnD8xF,EAAqB,MAAR9xF,OAAe,EAASA,EAAKh1B,MAAgB8mH,EAAa,MAEhFC,EAASnP,cAAe,EACxBmP,EAAS5E,QAAUt4G,EAAMyzC,QACrBzzC,EAAMs4G,UACR4E,EAAS5E,SAAW,IAAIt4G,EAAMs4G,WAEhC,EAA4BxjG,KAAM09F,GAAgBA,GAAgB,CAAC0K,GACrE,MACE,EAA4BpoG,KAAM09F,GAAgBA,GAAgB,CAACxyG,GACrE,IAEF,IAAIm9G,EAAsC,KAC1CroG,KAAK4T,GAAG,kBAAkB,CAAC1oB,EAAO24C,KAChC,MAAM,QACJlF,GACEzzC,EACEs4G,EAAU3/D,EAAMl/C,KAAI0xB,GAAQA,EAAK2yD,KAAK3nF,OAAM6W,KAAK,MAClDmwG,IACHroG,KAAKszF,KAAK,CACR30D,UACA6kE,WACC,UAAWxjG,KAAK8kB,KAAKo7E,aACxBmI,EAAsC5qH,YAAW,KAC/C4qH,EAAsC,IAAI,GACzCroG,KAAK8kB,KAAKo7E,cAEflgG,KAAKoY,IAAI,GAAGumB,KAAW6kE,IAAUh7D,OAAQ,UAAU,IAErDxoC,KAAK4T,GAAG,UAAU,KAChB5T,KAAK4H,SAAS,CACZ1c,MAAO,MACP,IAEJ,MAAMo9G,EAAkBzkE,IACtB,MAAM8nD,EAAgB9nD,EAAM1gD,QAAOkzB,IACjC,MAAMkyF,EAAiB,MAARlyF,GAAgBrW,KAAKyiD,QAAQpsC,EAAK/mB,IAEjD,OADKi5G,GAAQvoG,KAAKoY,IAAI,0DAAkE,MAAR/B,OAAe,EAASA,EAAK/mB,MACtGi5G,CAAM,IAETC,EAAaxqH,OAAOssG,YAAYqB,EAAchnG,KAAI0xB,GAAQ,CAACA,EAAK/mB,GAAI,CACxEunB,SAAU,CACRkpE,cAAez6E,KAAKC,MACpBy7F,gBAAgB,EAChBxB,WAAY,EACZlnB,cAAe,EACfC,WAAYliE,EAAK0T,WAGrB/pB,KAAKugG,gBAAgBiI,EAAW,EAElCxoG,KAAK4T,GAAG,gBAAgBiwB,IACtBA,EAAMrgD,SAAQ6yB,IAEZrW,KAAKg6B,KAAK,iBAAkB3jB,EAAK,IAEnCiyF,EAAgBzkE,EAAM,IAExB7jC,KAAK4T,GAAG,kBAAmB5T,KAAKq/F,mBAChCr/F,KAAK4T,GAAG,kBAAkB,CAACyC,EAAMg4E,KAC/B,GAAY,MAARh4E,IAAiBrW,KAAKyiD,QAAQpsC,EAAK/mB,IAErC,YADA0Q,KAAKoY,IAAI,0DAAkE,MAAR/B,OAAe,EAASA,EAAK/mB,MAGlG,MAAM81G,EAAkBplG,KAAKyiD,QAAQpsC,EAAK/mB,IAAIunB,SAC9C7W,KAAKk8E,aAAa7lE,EAAK/mB,GAAI,CACzBunB,SAAU,IACLuuF,EACH9C,YAAa,EAA4BtiG,KAAMy9F,GAAiBA,GAAiB1zE,KAAO,EAAI,CAC1F6M,KAAM,sBACJ35C,EACJ+jH,gBAAgB,EAChBxB,WAAY,IACZlnB,cAAe8sB,EAAgB7sB,YAEjC1kF,SAAUw6F,EACVrQ,UAAWqQ,EAAWrQ,UACtBrB,UAAU,IAKK,MAAbtmE,EAAK0T,MACP/pB,KAAKk8E,aAAa7lE,EAAK/mB,GAAI,CACzBy6B,KAAMskE,EAAW/V,eAAiB8sB,EAAgB7sB,aAGtDv4E,KAAK2/F,wBAAwB,IAE/B3/F,KAAK4T,GAAG,uBAAuB,CAACyC,EAAMQ,KACxB,MAARR,GAAiBrW,KAAKyiD,QAAQpsC,EAAK/mB,IAIvC0Q,KAAKk8E,aAAa7lE,EAAK/mB,GAAI,CACzBunB,SAAU,IACL7W,KAAKyiD,QAAQpsC,EAAK/mB,IAAIunB,SACzBwrF,WAAYxrF,KANd7W,KAAKoY,IAAI,0DAAkE,MAAR/B,OAAe,EAASA,EAAK/mB,KAQhG,IAEJ0Q,KAAK4T,GAAG,uBAAuByC,IAC7B,GAAY,MAARA,IAAiBrW,KAAKyiD,QAAQpsC,EAAK/mB,IAErC,YADA0Q,KAAKoY,IAAI,0DAAkE,MAAR/B,OAAe,EAASA,EAAK/mB,MAGlG,MAAMu0C,EAAQ,IACT7jC,KAAK/S,WAAW42C,OAErBA,EAAMxtB,EAAK/mB,IAAM,IACZu0C,EAAMxtB,EAAK/mB,IACdunB,SAAU,IACLgtB,EAAMxtB,EAAK/mB,IAAIunB,kBAGfgtB,EAAMxtB,EAAK/mB,IAAIunB,SAASwrF,WAC/BriG,KAAK4H,SAAS,CACZi8B,SACA,IAEJ7jC,KAAK4T,GAAG,wBAAwB,CAACyC,EAAMQ,KACzB,MAARR,GAAiBrW,KAAKyiD,QAAQpsC,EAAK/mB,IAIvC0Q,KAAKk8E,aAAa7lE,EAAK/mB,GAAI,CACzBunB,SAAU,IACL7W,KAAK/S,WAAW42C,MAAMxtB,EAAK/mB,IAAIunB,SAClCyrF,YAAazrF,KANf7W,KAAKoY,IAAI,0DAAkE,MAAR/B,OAAe,EAASA,EAAK/mB,KAQhG,IAEJ0Q,KAAK4T,GAAG,wBAAwByC,IAC9B,GAAY,MAARA,IAAiBrW,KAAKyiD,QAAQpsC,EAAK/mB,IAErC,YADA0Q,KAAKoY,IAAI,0DAAkE,MAAR/B,OAAe,EAASA,EAAK/mB,MAGlG,MAAMu0C,EAAQ,IACT7jC,KAAK/S,WAAW42C,OAErBA,EAAMxtB,EAAK/mB,IAAM,IACZu0C,EAAMxtB,EAAK/mB,IACdunB,SAAU,IACLgtB,EAAMxtB,EAAK/mB,IAAIunB,kBAGfgtB,EAAMxtB,EAAK/mB,IAAIunB,SAASyrF,YAC/BtiG,KAAK4H,SAAS,CACZi8B,SACA,IAEJ7jC,KAAK4T,GAAG,YAAY,KAElB5T,KAAK2/F,wBAAwB,IAI/B3/F,KAAK4T,GAAG,gCAAgCyC,IAClCA,GACF,EAA4BrW,KAAM29F,GAAgCA,GAAgCtnF,EACpG,IAIoB,qBAAXjsB,QAA0BA,OAAOkX,mBAC1ClX,OAAOkX,iBAAiB,SAAU,EAA4BtB,KAAMk+F,GAAqBA,IACzF9zG,OAAOkX,iBAAiB,UAAW,EAA4BtB,KAAMk+F,GAAqBA,IAC1FzgH,WAAW,EAA4BuiB,KAAMk+F,GAAqBA,GAAsB,KAE5F,CACA,SAAS3b,GAAemJ,EAAS5mE,QAClB,IAATA,IACFA,EAAO,CAAC,GAGV,MAAM,oBACJ8/E,GAAsB,GACpB9/E,GACE,eACJm4E,EAAc,eACdmD,GACEpgG,KAAK/S,WACT,IAAKgwG,IAAmB2H,EACtB,MAAM,IAAI9zG,MAAM,kDAElB,MAAMizG,EElnDY,EAACh6E,EAAO,MAC1B,IAAIz6B,EAAK,GACL7P,EAAIsqC,EACR,KAAOtqC,KACL6P,GAfF,mEAeqC,GAAhBqlB,KAAKgoB,SAAiB,GAE3C,OAAOrtC,GF4mDU2gG,GAgBjB,OAfAjwF,KAAKg6B,KAAK,SAAU,CAClB1qC,GAAIy0G,EACJrY,YAEF1rF,KAAK4H,SAAS,CACZq1F,gBAAyD,IAAzCj9F,KAAK8kB,KAAKg7E,6BAA2E,IAAnC9/F,KAAK8kB,KAAK2jF,qBAC5ErI,eAAgB,IACXA,EACH,CAAC2D,GAAW,CACVrY,UACAgd,KAAM,EACNz0G,OAAQ,CAAC,MAIR8vG,CACT,CACA,SAASrF,GAAYqF,GACnB,MAAM,eACJ3D,GACEpgG,KAAK/S,WACT,OAAOmzG,EAAe2D,EACxB,CACA,SAAStF,GAAesF,GACtB,MAAM3D,EAAiB,IAClBpgG,KAAK/S,WAAWmzG,uBAEdA,EAAe2D,GACtB/jG,KAAK4H,SAAS,CACZw4F,kBAEJ,CACAt1G,eAAe0zG,GAAYuF,GACzB,MAAM4E,EAAmB,KACvB,MAAM,eACJvI,GACEpgG,KAAK/S,WACT,OAAOmzG,EAAe2D,EAAS,EAEjC,IAAI8C,EAAgB8B,IACpB,MAAMC,EAAQ,IAAI,EAA4B5oG,KAAMu9F,GAAgBA,MAAoB,EAA4Bv9F,KAAMw9F,GAAYA,MAAgB,EAA4Bx9F,KAAMy9F,GAAiBA,IACzM,IACE,IAAK,IAAIiL,EAAO7B,EAAc6B,MAAQ,EAAGA,EAAOE,EAAMxrH,QAC/CypH,EADuD6B,IAAQ,CAIpE,MAAM5rH,EAAK8rH,EAAMF,GACjB1oG,KAAK4H,SAAS,CACZw4F,eAAgB,IACXpgG,KAAK/S,WAAWmzG,eACnB,CAAC2D,GAAW,IACP8C,EACH6B,WAIN,MAAM,QACJhd,GACEmb,QAIE/pH,EAAG4uG,EAASqY,GAGlB8C,EAAgB8B,GAClB,CACF,CAAE,MAAOjoH,GAEP,MADA,EAA4Bsf,KAAMq+F,IAAeA,IAAe0F,GAC1DrjH,CACR,CAGA,GAAImmH,EAAe,CAWjBA,EAAcnb,QAAQloG,SAAQ67F,IAC5B,MAAMhpE,EAAOrW,KAAKyiD,QAAQ48B,GACtBhpE,GAAQA,EAAKQ,SAASyrF,aACxBtiG,KAAKg6B,KAAK,uBAAwB3jB,EACpC,IAEF,MAAMwtB,EAAQgjE,EAAcnb,QAAQ/mG,KAAI06F,GAAUr/E,KAAKyiD,QAAQ48B,KACzDqlB,EAAa7gE,EAAM1gD,QAAOkzB,IAASA,EAAKnrB,QACxCy5G,EAAS9gE,EAAM1gD,QAAOkzB,GAAQA,EAAKnrB,QACzC8U,KAAK4mG,cAAc7C,EAAU,CAC3BW,aACAC,SACAZ,aAIF8C,EAAgB8B,GAClB,CAKA,IAAI10G,EASJ,OARI4yG,IACF5yG,EAAS4yG,EAAc5yG,OACvB+L,KAAKg6B,KAAK,WAAY/lC,GACtB,EAA4B+L,KAAMq+F,IAAeA,IAAe0F,IAEpD,MAAV9vG,GACF+L,KAAKoY,IAAI,2DAA2D2rF,KAE/D9vG,CACT,CACAsqG,GAAKpoB,QA1tDQ,SA2tDb,2DGrvDA,IAAIn1F,EAAEkf,EAAEP,EAAIlgB,EAAEoB,EAAE4e,EAAE+C,EAAE9C,EAAE+C,EAAEjD,EAAII,EAAE,CAAC,EAAEC,EAAE,GAAG6C,EAAE,oEAAoEG,EAAEvlB,MAAMoC,QAAQ,SAASqjB,EAAE/hB,EAAEkf,GAAG,IAAI,IAAIP,KAAKO,EAAElf,EAAE2e,GAAGO,EAAEP,GAAG,OAAO3e,CAAC,CAAC,SAAS6iB,EAAE7iB,GAAG,IAAIkf,EAAElf,EAAE2hB,WAAWzC,GAAGA,EAAE0C,YAAY5hB,EAAE,CAAC,SAASgc,EAAEkD,EAAEP,EAAEJ,GAAG,IAAI9f,EAAEoB,EAAE4e,EAAE+C,EAAE,CAAC,EAAE,IAAI/C,KAAKE,EAAE,OAAOF,EAAEhgB,EAAEkgB,EAAEF,GAAG,OAAOA,EAAE5e,EAAE8e,EAAEF,GAAG+C,EAAE/C,GAAGE,EAAEF,GAAG,GAAGtiB,UAAUC,OAAO,IAAIolB,EAAET,SAAS5kB,UAAUC,OAAO,EAAE4D,EAAEX,KAAKlD,UAAU,GAAGoiB,GAAG,mBAAmBW,GAAG,MAAMA,EAAE4C,aAAa,IAAIrD,KAAKS,EAAE4C,kBAAa,IAASN,EAAE/C,KAAK+C,EAAE/C,GAAGS,EAAE4C,aAAarD,IAAI,OAAOkE,EAAEzD,EAAEsC,EAAE/iB,EAAEoB,EAAE,KAAK,CAAC,SAAS8iB,EAAE3iB,EAAEue,EAAE9f,EAAEoB,EAAE4e,GAAG,IAAI+C,EAAE,CAACnV,KAAKrM,EAAE6L,MAAM0S,EAAEhhB,IAAIkB,EAAEujB,IAAIniB,EAAEoiB,IAAI,KAAKC,GAAG,KAAKC,IAAI,EAAEC,IAAI,KAAKC,SAAI,EAAOC,IAAI,KAAKliB,iBAAY,EAAOmiB,IAAI,MAAM9D,IAAIE,EAAEF,EAAE+D,KAAK,EAAEC,IAAI,GAAG,OAAO,MAAMhE,GAAG,MAAMS,EAAEwD,OAAOxD,EAAEwD,MAAMlB,GAAGA,CAAC,CAAmC,SAAS0B,EAAEljB,GAAG,OAAOA,EAAE+gB,QAAQ,CAAC,SAAS9T,EAAEjN,EAAEkf,GAAGF,KAAKnT,MAAM7L,EAAEgf,KAAKxW,QAAQ0W,CAAC,CAAC,SAAShhB,EAAE8B,EAAEkf,GAAG,GAAG,MAAMA,EAAE,OAAOlf,EAAEkiB,GAAGhkB,EAAE8B,EAAEkiB,GAAGliB,EAAEwiB,IAAI,GAAG,KAAK,IAAI,IAAI7D,EAAEO,EAAElf,EAAEiiB,IAAI7lB,OAAO8iB,IAAI,GAAG,OAAOP,EAAE3e,EAAEiiB,IAAI/C,KAAK,MAAMP,EAAEyD,IAAI,OAAOzD,EAAEyD,IAAI,MAAM,mBAAmBpiB,EAAEqM,KAAKnO,EAAE8B,GAAG,IAAI,CAAC,SAASojB,EAAEpjB,GAAG,IAAIkf,EAAEP,EAAE,GAAG,OAAO3e,EAAEA,EAAEkiB,KAAK,MAAMliB,EAAEsiB,IAAI,CAAC,IAAItiB,EAAEoiB,IAAIpiB,EAAEsiB,IAAIa,KAAK,KAAKjE,EAAE,EAAEA,EAAElf,EAAEiiB,IAAI7lB,OAAO8iB,IAAI,GAAG,OAAOP,EAAE3e,EAAEiiB,IAAI/C,KAAK,MAAMP,EAAEyD,IAAI,CAACpiB,EAAEoiB,IAAIpiB,EAAEsiB,IAAIa,KAAKxE,EAAEyD,IAAI,KAAK,CAAC,OAAOgB,EAAEpjB,EAAE,CAAC,CAAC,SAAS+iB,EAAE/iB,KAAKA,EAAEqiB,MAAMriB,EAAEqiB,KAAI,IAAK5jB,EAAEe,KAAKQ,KAAK0jB,EAAEL,OAAOxjB,IAAIqf,EAAEoE,sBAAsBzjB,EAAEqf,EAAEoE,oBAAoB7E,GAAGiF,EAAE,CAAC,SAASA,IAAI,IAAI1jB,EAAE2e,EAAEJ,EAAE1e,EAAE4e,EAAEC,EAAE+C,EAAEjD,EAAE,IAAI/f,EAAE8kB,KAAK/B,GAAGxhB,EAAEvB,EAAE+kB,SAASxjB,EAAEqiB,MAAM1D,EAAElgB,EAAErC,OAAOyD,OAAE,EAAO6e,GAAGD,GAAGF,EAAEve,GAAGuiB,KAAKH,IAAIX,EAAE,GAAGjD,EAAE,GAAGD,EAAEuE,OAAOjjB,EAAEkiB,EAAE,CAAC,EAAEtD,IAAI8D,IAAI9D,EAAE8D,IAAI,EAAErD,EAAEwD,OAAOxD,EAAEwD,MAAM7iB,GAAGmkB,EAAEzF,EAAEuE,IAAIjjB,EAAE4e,EAAEF,EAAEyE,IAAIzE,EAAEuE,IAAI20C,aAAa,GAAGh5C,EAAEgE,IAAI,CAAC/D,GAAG,KAAK+C,EAAE,MAAM/C,EAAExgB,EAAEugB,GAAGC,KAAK,GAAGD,EAAEgE,KAAKjE,GAAG3e,EAAE0iB,IAAI9D,EAAE8D,IAAI1iB,EAAEqiB,GAAGD,IAAIpiB,EAAE2iB,KAAK3iB,EAAE4jB,EAAEhC,EAAE5hB,EAAE2e,GAAG3e,EAAEuiB,KAAK1D,GAAG0E,EAAEvjB,IAAIpB,EAAErC,OAAOuiB,GAAGlgB,EAAE8kB,KAAK/B,IAAIkC,EAAEL,IAAI,CAAC,CAAC,SAASM,EAAE3jB,EAAEkf,EAAEP,EAAEJ,EAAE9f,EAAEoB,EAAE4e,EAAE+C,EAAE9C,EAAE+C,EAAEjD,GAAG,IAAIxR,EAAE0U,EAAEG,EAAEE,EAAEc,EAAE7G,EAAEuC,GAAGA,EAAE0D,KAAKpD,EAAE8D,EAAEzD,EAAE9iB,OAAO,IAAIuiB,EAAE0D,IAAI3D,EAAEmF,EAAElF,EAAEO,EAAElD,GAAG0C,EAAEC,EAAE0D,IAAIrV,EAAE,EAAEA,EAAE2V,EAAE3V,IAAI,OAAO6U,EAAElD,EAAEsD,IAAIjV,KAAK,kBAAkB6U,GAAG,mBAAmBA,IAAIH,GAAG,IAAIG,EAAEW,IAAI5D,EAAE5C,EAAE6F,EAAEW,MAAM5D,EAAEiD,EAAEW,IAAIxV,EAAEgX,EAAEhkB,EAAE6hB,EAAEH,EAAEjjB,EAAEoB,EAAE4e,EAAE+C,EAAE9C,EAAE+C,EAAEjD,GAAGuD,EAAEF,EAAEO,IAAIP,EAAEG,KAAKN,EAAEM,KAAKH,EAAEG,MAAMN,EAAEM,KAAK4B,EAAElC,EAAEM,IAAI,KAAKH,GAAGrD,EAAEhf,KAAKqiB,EAAEG,IAAIH,EAAES,KAAKP,EAAEF,IAAI,MAAMgB,GAAG,MAAMd,IAAIc,EAAEd,GAAG,MAAMF,EAAEY,KAAKf,EAAEO,MAAMJ,EAAEI,KAAKvD,GAAG,iBAAiBmD,EAAExV,OAAOrM,EAAEqY,SAASqG,KAAKA,EAAExgB,EAAEwjB,IAAIhD,EAAEqF,EAAElC,EAAEnD,EAAE1e,IAAI,mBAAmB6hB,EAAExV,WAAM,IAASwV,EAAEQ,IAAI3D,EAAEmD,EAAEQ,IAAIN,IAAIrD,EAAEqD,EAAE+B,aAAajC,EAAEQ,SAAI,EAAOR,EAAEY,MAAM,QAAQ9D,EAAE0D,IAAI3D,EAAEC,EAAEyD,IAAIS,CAAC,CAAC,SAASgB,EAAE7jB,EAAEkf,EAAEP,GAAG,IAAIJ,EAAE9f,EAAEoB,EAAE4e,EAAE+C,EAAE9C,EAAEQ,EAAE9iB,OAAOqlB,EAAE9C,EAAEviB,OAAOoiB,EAAEiD,EAAEzU,EAAE,EAAE,IAAIhN,EAAEiiB,IAAI,GAAG1D,EAAE,EAAEA,EAAEG,EAAEH,IAAIE,EAAEF,EAAEvR,EAAE,OAAOvO,EAAEuB,EAAEiiB,IAAI1D,GAAG,OAAO9f,EAAEygB,EAAEX,KAAK,kBAAkB9f,GAAG,mBAAmBA,EAAE,KAAK,iBAAiBA,GAAG,iBAAiBA,GAAG,iBAAiBA,GAAGA,EAAE2B,aAAa+C,OAAOwf,EAAE,KAAKlkB,EAAE,KAAK,KAAK,MAAMojB,EAAEpjB,GAAGkkB,EAAEO,EAAE,CAACnC,SAAStiB,GAAG,KAAK,KAAK,WAAM,IAASA,EAAE2B,aAAa3B,EAAE0jB,IAAI,EAAEQ,EAAElkB,EAAE4N,KAAK5N,EAAEoN,MAAMpN,EAAElB,IAAIkB,EAAEujB,IAAIvjB,EAAEujB,IAAI,KAAKvjB,EAAE8jB,KAAK9jB,IAAIA,EAAEyjB,GAAGliB,EAAEvB,EAAE0jB,IAAIniB,EAAEmiB,IAAI,EAAEX,EAAEgD,EAAE/lB,EAAEkgB,EAAEF,EAAED,GAAG/f,EAAE+jB,IAAIhB,EAAE3hB,EAAE,MAAM,IAAI2hB,IAAIhD,KAAK3e,EAAE8e,EAAE6C,MAAM3hB,EAAE4iB,KAAK,SAAS,MAAM5iB,GAAG,OAAOA,EAAE0iB,MAAM,GAAGf,GAAGxU,IAAI,mBAAmBvO,EAAE4N,OAAO5N,EAAEgkB,KAAK,QAAQjB,IAAI/C,IAAI+C,GAAG/C,EAAE,EAAEzR,EAAEwU,EAAE/C,EAAE+C,GAAG/C,EAAE,EAAEzR,IAAIwU,EAAE/C,EAAED,EAAEE,EAAED,EAAEzR,GAAGwU,EAAE/C,EAAEzR,IAAIwU,EAAE/C,GAAGzR,IAAIwU,IAAIjD,EAAEvR,IAAIvO,EAAEgkB,KAAK,UAAU5iB,EAAE8e,EAAEF,KAAK,MAAM5e,EAAEtC,KAAKsC,EAAEuiB,KAAK,IAAI,OAAOviB,EAAE4iB,OAAO5iB,EAAEuiB,KAAKpiB,EAAEqiB,MAAMriB,EAAEqiB,IAAInkB,EAAE2B,IAAIi5B,EAAEj5B,EAAEA,GAAE,GAAI8e,EAAEF,GAAG,KAAKD,KAAK,GAAGA,EAAE,IAAID,EAAE,EAAEA,EAAEkD,EAAElD,IAAI,OAAO1e,EAAE8e,EAAEJ,KAAK,IAAI,OAAO1e,EAAE4iB,OAAO5iB,EAAEuiB,KAAKpiB,EAAEqiB,MAAMriB,EAAEqiB,IAAInkB,EAAE2B,IAAIi5B,EAAEj5B,EAAEA,GAAG,CAAC,SAASkkB,EAAE/jB,EAAEkf,EAAEP,GAAG,IAAIJ,EAAE9f,EAAE,GAAG,mBAAmBuB,EAAEqM,KAAK,CAAC,IAAIkS,EAAEve,EAAEiiB,IAAIxjB,EAAE,EAAE8f,GAAG9f,EAAE8f,EAAEniB,OAAOqC,IAAI8f,EAAE9f,KAAK8f,EAAE9f,GAAGyjB,GAAGliB,EAAEkf,EAAE6E,EAAExF,EAAE9f,GAAGygB,EAAEP,IAAI,OAAOO,CAAC,CAAClf,EAAEoiB,KAAKlD,IAAIP,EAAEsF,aAAajkB,EAAEoiB,IAAIlD,GAAG,MAAMA,EAAElf,EAAEoiB,KAAK,GAAGlD,EAAEA,GAAGA,EAAE4E,kBAAkB,MAAM5E,GAAG,IAAIA,EAAEgF,UAAU,OAAOhF,CAAC,CAA6G,SAASsF,EAAExkB,EAAEkf,EAAEP,EAAEJ,GAAG,IAAI9f,EAAEuB,EAAEzC,IAAIsC,EAAEG,EAAEqM,KAAKoS,EAAEE,EAAE,EAAE6C,EAAE7C,EAAE,EAAED,EAAEQ,EAAEP,GAAG,GAAG,OAAOD,GAAGA,GAAGjgB,GAAGigB,EAAEnhB,KAAKsC,IAAI6e,EAAErS,MAAM,IAAI,OAAOqS,EAAE+D,KAAK,OAAO9D,EAAE,GAAGJ,GAAG,MAAMG,GAAG,IAAI,OAAOA,EAAE+D,KAAK,EAAE,GAAG,KAAKhE,GAAG,GAAG+C,EAAEtC,EAAE9iB,QAAQ,CAAC,GAAGqiB,GAAG,EAAE,CAAC,IAAIC,EAAEQ,EAAET,KAAK,IAAI,OAAOC,EAAE+D,MAAMhkB,GAAGigB,EAAEnhB,KAAKsC,IAAI6e,EAAErS,KAAK,OAAOoS,EAAEA,GAAG,CAAC,GAAG+C,EAAEtC,EAAE9iB,OAAO,CAAC,IAAIsiB,EAAEQ,EAAEsC,KAAK,IAAI,OAAO9C,EAAE+D,MAAMhkB,GAAGigB,EAAEnhB,KAAKsC,IAAI6e,EAAErS,KAAK,OAAOmV,EAAEA,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS2C,EAAEnkB,EAAEkf,EAAEP,GAAG,MAAMO,EAAE,GAAGlf,EAAEggB,YAAYd,EAAE,MAAMP,EAAE,GAAGA,GAAG3e,EAAEkf,GAAG,MAAMP,EAAE,GAAG,iBAAiBA,GAAG+C,EAAEnhB,KAAK2e,GAAGP,EAAEA,EAAE,IAAI,CAAC,SAASyF,EAAEpkB,EAAEkf,EAAEP,EAAEJ,EAAE9f,GAAG,IAAIoB,EAAEG,EAAE,GAAG,UAAUkf,EAAE,GAAG,iBAAiBP,EAAE3e,EAAE6f,MAAMwE,QAAQ1F,MAAM,CAAC,GAAG,iBAAiBJ,IAAIve,EAAE6f,MAAMwE,QAAQ9F,EAAE,IAAIA,EAAE,IAAIW,KAAKX,EAAEI,GAAGO,KAAKP,GAAGwF,EAAEnkB,EAAE6f,MAAMX,EAAE,IAAI,GAAGP,EAAE,IAAIO,KAAKP,EAAEJ,GAAGI,EAAEO,KAAKX,EAAEW,IAAIiF,EAAEnkB,EAAE6f,MAAMX,EAAEP,EAAEO,GAAG,MAAM,GAAG,MAAMA,EAAE,IAAI,MAAMA,EAAE,GAAGrf,EAAEqf,KAAKA,EAAEA,EAAE/H,QAAQ,8BAA8B,OAAO+H,EAAEA,EAAEmB,gBAAgBrgB,GAAG,eAAekf,GAAG,cAAcA,EAAEA,EAAEmB,cAAclgB,MAAM,GAAG+e,EAAE/e,MAAM,GAAGH,EAAEkf,IAAIlf,EAAEkf,EAAE,CAAC,GAAGlf,EAAEkf,EAAEA,EAAErf,GAAG8e,EAAEA,EAAEJ,EAAEI,EAAEA,EAAEJ,EAAEI,GAAGA,EAAEA,EAAED,EAAE1e,EAAEsgB,iBAAiBpB,EAAErf,EAAE2e,EAAEiD,EAAE5hB,IAAIG,EAAEugB,oBAAoBrB,EAAErf,EAAE2e,EAAEiD,EAAE5hB,OAAO,CAAC,GAAG,8BAA8BpB,EAAEygB,EAAEA,EAAE/H,QAAQ,cAAc,KAAKA,QAAQ,SAAS,UAAU,GAAG,SAAS+H,GAAG,UAAUA,GAAG,QAAQA,GAAG,QAAQA,GAAG,QAAQA,GAAG,YAAYA,GAAG,YAAYA,GAAG,WAAWA,GAAG,WAAWA,GAAG,QAAQA,GAAG,WAAWA,GAAGA,KAAKlf,EAAE,IAAIA,EAAEkf,GAAG,MAAMP,EAAE,GAAGA,EAAE,MAAM3e,CAAC,CAAC,MAAMA,GAAG,CAAC,mBAAmB2e,IAAI,MAAMA,IAAG,IAAKA,GAAG,MAAMO,EAAE,GAAGlf,EAAEwgB,gBAAgBtB,GAAGlf,EAAEsf,aAAaJ,EAAE,WAAWA,GAAG,GAAGP,EAAE,GAAGA,GAAG,CAAC,CAAC,SAASuZ,EAAEl4B,GAAG,OAAO,SAAS2e,GAAG,GAAGK,KAAKE,EAAE,CAAC,IAAIX,EAAES,KAAKE,EAAEP,EAAEtS,KAAKrM,GAAG,GAAG,MAAM2e,EAAEJ,EAAEI,EAAEJ,EAAEG,SAAS,GAAGC,EAAEJ,EAAEA,EAAEI,EAAE,OAAO,OAAOJ,EAAEW,EAAEjX,MAAMiX,EAAEjX,MAAM0W,GAAGA,EAAE,CAAC,CAAC,CAAC,SAASqF,EAAEhkB,EAAE2e,EAAEJ,EAAE9f,EAAEoB,EAAE4e,EAAE+C,EAAE9C,EAAE+C,EAAEjD,GAAG,IAAIxR,EAAE4R,EAAEC,EAAE6C,EAAEmB,EAAE7G,EAAE2G,EAAEC,EAAE1kB,EAAEklB,EAAEL,EAAEW,EAAEG,EAAEE,EAAEW,EAAEF,EAAEL,EAAExF,EAAEtS,KAAK,QAAG,IAASsS,EAAEve,YAAY,OAAO,KAAK,IAAIme,EAAEkE,MAAMhB,KAAK,GAAGlD,EAAEkE,KAAKhE,EAAE,CAACC,EAAEC,EAAEyD,IAAI7D,EAAE6D,OAAOpV,EAAEkS,EAAEiD,MAAMnV,EAAE2R,GAAG3e,EAAE,GAAG,mBAAmBmkB,EAAE,IAAI,GAAGvB,EAAEjE,EAAE9S,MAAM3N,EAAE,cAAcimB,GAAGA,EAAElkB,UAAU4kB,OAAOzB,GAAGpW,EAAEmX,EAAEQ,cAAclmB,EAAEuO,EAAEsV,KAAKS,EAAE/V,EAAEoW,EAAEA,EAAEvX,MAAMpM,MAAMuN,EAAEkV,GAAGzjB,EAAE8f,EAAE+D,IAAIK,GAAG/D,EAAED,EAAE2D,IAAI/D,EAAE+D,KAAKJ,GAAGtD,EAAEgG,KAAK1mB,EAAEygB,EAAE2D,IAAI1D,EAAE,IAAIuF,EAAEvB,EAAEG,IAAIpE,EAAE2D,IAAI1D,EAAE,IAAI3R,EAAE2V,EAAEG,GAAGnE,EAAExe,YAAY+jB,EAAEvF,EAAEiG,OAAOC,GAAG1B,GAAGA,EAAE2B,IAAInG,GAAGA,EAAE/S,MAAM+W,EAAEhE,EAAE7W,QAAQ6W,EAAE7W,MAAM,CAAC,GAAG6W,EAAEpW,QAAQua,EAAEnE,EAAEoE,IAAIvkB,EAAEogB,EAAED,EAAEyD,KAAI,EAAGzD,EAAEoG,IAAI,GAAGpG,EAAEqG,IAAI,IAAI/mB,GAAG,MAAM0gB,EAAEsG,MAAMtG,EAAEsG,IAAItG,EAAE7W,OAAO7J,GAAG,MAAMimB,EAAEgB,2BAA2BvG,EAAEsG,KAAKtG,EAAE7W,QAAQ6W,EAAEsG,IAAInD,EAAE,CAAC,EAAEnD,EAAEsG,MAAMnD,EAAEnD,EAAEsG,IAAIf,EAAEgB,yBAAyBvC,EAAEhE,EAAEsG,OAAOxD,EAAE9C,EAAE/S,MAAMgX,EAAEjE,EAAE7W,MAAM6W,EAAE2D,IAAI5D,EAAEE,EAAE3gB,GAAG,MAAMimB,EAAEgB,0BAA0B,MAAMvG,EAAEwG,oBAAoBxG,EAAEwG,qBAAqBlnB,GAAG,MAAM0gB,EAAEyG,mBAAmBzG,EAAEoG,IAAIxlB,KAAKof,EAAEyG,uBAAuB,CAAC,GAAGnnB,GAAG,MAAMimB,EAAEgB,0BAA0BvC,IAAIlB,GAAG,MAAM9C,EAAE0G,2BAA2B1G,EAAE0G,0BAA0B1C,EAAEG,IAAInE,EAAEwD,MAAM,MAAMxD,EAAE2G,wBAAuB,IAAK3G,EAAE2G,sBAAsB3C,EAAEhE,EAAEsG,IAAInC,IAAIpE,EAAE4D,MAAMhE,EAAEgE,KAAK,CAAC,IAAI5D,EAAE4D,MAAMhE,EAAEgE,MAAM3D,EAAE/S,MAAM+W,EAAEhE,EAAE7W,MAAM6W,EAAEsG,IAAItG,EAAEyD,KAAI,GAAI1D,EAAEyD,IAAI7D,EAAE6D,IAAIzD,EAAEsD,IAAI1D,EAAE0D,IAAItD,EAAEsD,IAAIzf,SAAQ,SAASxC,GAAGA,IAAIA,EAAEkiB,GAAGvD,EAAE,IAAG+E,EAAE,EAAEA,EAAE9E,EAAEqG,IAAI7oB,OAAOsnB,IAAI9E,EAAEoG,IAAIxlB,KAAKof,EAAEqG,IAAIvB,IAAI9E,EAAEqG,IAAI,GAAGrG,EAAEoG,IAAI5oB,QAAQolB,EAAEhiB,KAAKof,GAAG,MAAM5e,CAAC,CAAC,MAAM4e,EAAE4G,qBAAqB5G,EAAE4G,oBAAoB5C,EAAEhE,EAAEsG,IAAInC,GAAG7kB,GAAG,MAAM0gB,EAAE6G,oBAAoB7G,EAAEoG,IAAIxlB,MAAK,WAAWof,EAAE6G,mBAAmB/D,EAAEmB,EAAE7G,EAAE,GAAE,CAAC,GAAG4C,EAAEpW,QAAQua,EAAEnE,EAAE/S,MAAM+W,EAAEhE,EAAEkE,IAAI9iB,EAAE4e,EAAEwD,KAAI,EAAGyB,EAAE3E,EAAEmE,IAAIU,EAAE,EAAE7lB,EAAE,CAAC,IAAI0gB,EAAE7W,MAAM6W,EAAEsG,IAAItG,EAAEyD,KAAI,EAAGwB,GAAGA,EAAElF,GAAG3R,EAAE4R,EAAEiG,OAAOjG,EAAE/S,MAAM+S,EAAE7W,MAAM6W,EAAEpW,SAASkc,EAAE,EAAEA,EAAE9F,EAAEqG,IAAI7oB,OAAOsoB,IAAI9F,EAAEoG,IAAIxlB,KAAKof,EAAEqG,IAAIP,IAAI9F,EAAEqG,IAAI,EAAE,MAAM,GAAGrG,EAAEyD,KAAI,EAAGwB,GAAGA,EAAElF,GAAG3R,EAAE4R,EAAEiG,OAAOjG,EAAE/S,MAAM+S,EAAE7W,MAAM6W,EAAEpW,SAASoW,EAAE7W,MAAM6W,EAAEsG,UAAUtG,EAAEyD,OAAO0B,EAAE,IAAInF,EAAE7W,MAAM6W,EAAEsG,IAAI,MAAMtG,EAAE8G,kBAAkBjnB,EAAEsjB,EAAEA,EAAE,CAAC,EAAEtjB,GAAGmgB,EAAE8G,oBAAoBxnB,IAAI2gB,GAAG,MAAMD,EAAE+G,0BAA0B3J,EAAE4C,EAAE+G,wBAAwBjE,EAAEmB,IAAIc,EAAE3jB,EAAE6hB,EAAE2C,EAAE,MAAMxX,GAAGA,EAAEX,OAAO6W,GAAG,MAAMlW,EAAEzP,IAAIyP,EAAEnB,MAAMkV,SAAS/T,GAAGwX,EAAE,CAACA,GAAG7F,EAAEJ,EAAE9f,EAAEoB,EAAE4e,EAAE+C,EAAE9C,EAAE+C,EAAEjD,GAAGI,EAAEuE,KAAKxE,EAAEyD,IAAIzD,EAAE8D,MAAM,IAAI7D,EAAEoG,IAAI5oB,QAAQolB,EAAEhiB,KAAKof,GAAG+D,IAAI/D,EAAEgG,IAAIhG,EAAEsD,GAAG,KAAK,CAAC,MAAMliB,GAAG2e,EAAE4D,IAAI,KAAKd,GAAG,MAAMhD,GAAGE,EAAEyD,IAAI1D,EAAEC,EAAE8D,KAAKhB,EAAE,IAAI,GAAGhD,EAAEA,EAAE/c,QAAQgd,IAAI,OAAOC,EAAEyD,IAAI7D,EAAE6D,IAAIzD,EAAEsD,IAAI1D,EAAE0D,KAAK/C,EAAEkD,IAAIpiB,EAAE2e,EAAEJ,EAAE,MAAM,MAAME,GAAGE,EAAE4D,MAAMhE,EAAEgE,KAAK5D,EAAEsD,IAAI1D,EAAE0D,IAAItD,EAAEyD,IAAI7D,EAAE6D,KAAKzD,EAAEyD,IAAIwD,EAAErH,EAAE6D,IAAIzD,EAAEJ,EAAE9f,EAAEoB,EAAE4e,EAAE+C,EAAEC,EAAEjD,IAAIxR,EAAEkS,EAAE2G,SAAS7Y,EAAE2R,EAAE,CAAC,SAAS8E,EAAEzjB,EAAE2e,EAAEJ,GAAGI,EAAE0D,SAAI,EAAO,IAAI,IAAI5jB,EAAE,EAAEA,EAAE8f,EAAEniB,OAAOqC,IAAImlB,EAAErF,EAAE9f,GAAG8f,IAAI9f,GAAG8f,IAAI9f,IAAIygB,EAAEoD,KAAKpD,EAAEoD,IAAI3D,EAAE3e,GAAGA,EAAEuW,MAAK,SAASoI,GAAG,IAAI3e,EAAE2e,EAAEqG,IAAIrG,EAAEqG,IAAI,GAAGhlB,EAAEuW,MAAK,SAASvW,GAAGA,EAAEX,KAAKsf,EAAE,GAAE,CAAC,MAAM3e,GAAGkf,EAAEkD,IAAIpiB,EAAE2e,EAAE4D,IAAI,CAAC,GAAE,CAAC,SAASqD,EAAE1G,EAAEP,EAAEJ,EAAE9f,EAAEoB,EAAE4e,EAAE+C,EAAE9C,EAAE+C,GAAG,IAAIjD,EAAExR,EAAE6R,EAAE6C,EAAEK,EAAE/F,EAAE2G,EAAEC,EAAErE,EAAE1S,MAAMqX,EAAEvE,EAAE9S,MAAMoB,EAAE0R,EAAEtS,KAAK,GAAG,QAAQY,EAAEpN,EAAE,6BAA6B,SAASoN,EAAEpN,EAAE,qCAAqCA,IAAIA,EAAE,gCAAgC,MAAM4e,EAAE,IAAID,EAAE,EAAEA,EAAEC,EAAEriB,OAAOoiB,IAAI,IAAIuD,EAAEtD,EAAED,KAAK,iBAAiBuD,KAAK9U,IAAIA,EAAE8U,EAAE+D,YAAY7Y,EAAE,IAAI8U,EAAEmC,UAAU,CAAChF,EAAE6C,EAAEtD,EAAED,GAAG,KAAK,KAAK,CAAC,GAAG,MAAMU,EAAE,CAAC,GAAG,OAAOjS,EAAE,OAAOrD,SAASmc,eAAe7C,GAAGhE,EAAEtV,SAASyV,gBAAgBxf,EAAEoN,EAAEiW,EAAE8C,IAAI9C,GAAGzE,EAAE,KAAKC,GAAE,CAAE,CAAC,GAAG,OAAOzR,EAAE2V,IAAIM,GAAGxE,GAAGQ,EAAE+G,OAAO/C,IAAIhE,EAAE+G,KAAK/C,OAAO,CAAC,GAAGzE,EAAEA,GAAGze,EAAEX,KAAK6f,EAAEgH,YAAYtD,EAAErE,EAAE1S,OAAO+S,GAAGF,GAAG,MAAMD,EAAE,IAAImE,EAAE,CAAC,EAAEpE,EAAE,EAAEA,EAAEU,EAAEiH,WAAW/pB,OAAOoiB,IAAIoE,GAAGb,EAAE7C,EAAEiH,WAAW3H,IAAIne,MAAM0hB,EAAEtiB,MAAM,IAAI+e,KAAKoE,EAAE,GAAGb,EAAEa,EAAEpE,GAAG,YAAYA,QAAQ,GAAG,2BAA2BA,EAAEK,EAAEkD,OAAO,GAAG,QAAQvD,KAAKA,KAAK0E,GAAG,CAAC,GAAG,SAAS1E,GAAG,iBAAiB0E,GAAG,WAAW1E,GAAG,mBAAmB0E,EAAE,SAASkB,EAAElF,EAAEV,EAAE,KAAKuD,EAAEliB,EAAE,CAAC,IAAI2e,KAAK0E,EAAEnB,EAAEmB,EAAE1E,GAAG,YAAYA,EAAEkD,EAAEK,EAAE,2BAA2BvD,EAAExR,EAAE+U,EAAE,SAASvD,EAAExC,EAAE+F,EAAE,WAAWvD,EAAEmE,EAAEZ,EAAE,QAAQvD,GAAGE,GAAG,mBAAmBqD,GAAGa,EAAEpE,KAAKuD,GAAGqC,EAAElF,EAAEV,EAAEuD,EAAEa,EAAEpE,GAAG3e,GAAG,GAAGmN,EAAE0R,GAAGG,IAAI7R,EAAEoZ,SAASvH,EAAEuH,QAAQpZ,EAAEoZ,SAASlH,EAAEQ,aAAaR,EAAEQ,UAAU1S,EAAEoZ,QAAQzH,EAAEsD,IAAI,QAAQ,GAAGpD,IAAIK,EAAEQ,UAAU,IAAIiE,EAAEzE,EAAE2C,EAAEH,GAAGA,EAAE,CAACA,GAAG/C,EAAEJ,EAAE9f,EAAE,kBAAkBwO,EAAE,+BAA+BpN,EAAE4e,EAAE+C,EAAE/C,EAAEA,EAAE,GAAGF,EAAE0D,KAAK/jB,EAAEqgB,EAAE,GAAGG,EAAE+C,GAAG,MAAMhD,EAAE,IAAID,EAAEC,EAAEriB,OAAOoiB,KAAK,MAAMC,EAAED,IAAIqE,EAAEpE,EAAED,IAAIE,IAAIF,EAAE,aAAQ,IAASxC,IAAIA,IAAIkD,EAAEV,IAAI,aAAavR,IAAI+O,GAAG,WAAW/O,GAAG+O,IAAI4G,EAAEpE,KAAK4F,EAAElF,EAAEV,EAAExC,EAAE4G,EAAEpE,GAAG3e,GAAG2e,EAAE,eAAU,IAASmE,GAAGA,IAAIzD,EAAEV,IAAI4F,EAAElF,EAAEV,EAAEmE,EAAEC,EAAEpE,GAAG3e,GAAG,CAAC,OAAOqf,CAAC,CAAC,SAAS0E,EAAE5jB,EAAE2e,EAAEJ,GAAG,IAAI,mBAAmBve,EAAEA,EAAE2e,GAAG3e,EAAEnD,QAAQ8hB,CAAC,CAAC,MAAM3e,GAAGkf,EAAEkD,IAAIpiB,EAAEue,EAAE,CAAC,CAAC,SAASua,EAAE94B,EAAE2e,EAAEJ,GAAG,IAAI9f,EAAEoB,EAAE,GAAGqf,EAAEmH,SAASnH,EAAEmH,QAAQrmB,IAAIvB,EAAEuB,EAAEgiB,OAAOvjB,EAAE5B,SAAS4B,EAAE5B,UAAUmD,EAAEoiB,KAAKwB,EAAEnlB,EAAE,KAAKkgB,IAAI,OAAOlgB,EAAEuB,EAAEsiB,KAAK,CAAC,GAAG7jB,EAAE6nB,qBAAqB,IAAI7nB,EAAE6nB,sBAAsB,CAAC,MAAMtmB,GAAGkf,EAAEkD,IAAIpiB,EAAE2e,EAAE,CAAClgB,EAAE0kB,KAAK1kB,EAAEqkB,IAAI,IAAI,CAAC,GAAGrkB,EAAEuB,EAAEiiB,IAAI,IAAIpiB,EAAE,EAAEA,EAAEpB,EAAErC,OAAOyD,IAAIpB,EAAEoB,IAAIi5B,EAAEr6B,EAAEoB,GAAG8e,EAAEJ,GAAG,mBAAmBve,EAAEqM,MAAMkS,GAAG,MAAMve,EAAEoiB,KAAKS,EAAE7iB,EAAEoiB,KAAKpiB,EAAEsiB,IAAItiB,EAAEkiB,GAAGliB,EAAEoiB,IAAIpiB,EAAEqiB,SAAI,CAAM,CAAC,SAASyC,EAAE9kB,EAAEkf,EAAEP,GAAG,OAAOK,KAAK5e,YAAYJ,EAAE2e,EAAE,CAAC,SAAS4H,EAAE5H,EAAEJ,EAAE9f,GAAG,IAAIoB,EAAE4e,EAAE+C,EAAE9C,EAAEQ,EAAEgD,IAAIhD,EAAEgD,GAAGvD,EAAEJ,GAAGE,GAAG5e,EAAE,mBAAmBpB,GAAG,KAAKA,GAAGA,EAAEwjB,KAAK1D,EAAE0D,IAAIT,EAAE,GAAG9C,EAAE,GAAGsF,EAAEzF,EAAEI,IAAI9e,GAAGpB,GAAG8f,GAAG0D,IAAIjG,EAAEkH,EAAE,KAAK,CAACvE,IAAIF,GAAGG,EAAEA,EAAEL,EAAEk5C,cAAc53D,GAAGpB,EAAE,CAACA,GAAGggB,EAAE,KAAKF,EAAEiI,WAAWxmB,EAAEX,KAAKkf,EAAE2H,YAAY,KAAK1E,GAAG3hB,GAAGpB,EAAEA,EAAEggB,EAAEA,EAAE2D,IAAI7D,EAAEiI,WAAW3mB,EAAE6e,GAAG+E,EAAEjC,EAAE7C,EAAED,EAAE,CAAi3B1e,EAAE6e,EAAE1e,MAAM+e,EAAE,CAACkD,IAAI,SAASpiB,EAAEkf,EAAEP,EAAEJ,GAAG,IAAI,IAAI9f,EAAEoB,EAAE4e,EAAES,EAAEA,EAAEgD,IAAI,IAAIzjB,EAAEygB,EAAEoD,OAAO7jB,EAAEyjB,GAAG,IAAI,IAAIriB,EAAEpB,EAAE2B,cAAc,MAAMP,EAAE8mB,2BAA2BloB,EAAEmoB,SAAS/mB,EAAE8mB,yBAAyB3mB,IAAIye,EAAEhgB,EAAE4jB,KAAK,MAAM5jB,EAAEooB,oBAAoBpoB,EAAEooB,kBAAkB7mB,EAAEue,GAAG,CAAC,GAAGE,EAAEhgB,EAAE4jB,KAAK5D,EAAE,OAAOhgB,EAAEmmB,IAAInmB,CAAC,CAAC,MAAMygB,GAAGlf,EAAEkf,CAAC,CAAC,MAAMlf,CAAC,GAAG2e,EAAE,EAAqD1R,EAAEhN,UAAU2mB,SAAS,SAAS5mB,EAAEkf,GAAG,IAAIP,EAAEA,EAAE,MAAMK,KAAKkG,KAAKlG,KAAKkG,MAAMlG,KAAKjX,MAAMiX,KAAKkG,IAAIlG,KAAKkG,IAAInD,EAAE,CAAC,EAAE/C,KAAKjX,OAAO,mBAAmB/H,IAAIA,EAAEA,EAAE+hB,EAAE,CAAC,EAAEpD,GAAGK,KAAKnT,QAAQ7L,GAAG+hB,EAAEpD,EAAE3e,GAAG,MAAMA,GAAGgf,KAAKuD,MAAMrD,GAAGF,KAAKiG,IAAIzlB,KAAK0f,GAAG6D,EAAE/D,MAAM,EAAE/R,EAAEhN,UAAU6mB,YAAY,SAAS9mB,GAAGgf,KAAKuD,MAAMvD,KAAKoD,KAAI,EAAGpiB,GAAGgf,KAAKgG,IAAIxlB,KAAKQ,GAAG+iB,EAAE/D,MAAM,EAAE/R,EAAEhN,UAAU4kB,OAAO3B,EAAEzkB,EAAE,GAAGggB,EAAE,mBAAmBrP,QAAQA,QAAQnP,UAAUyP,KAAKqX,KAAK3X,QAAQK,WAAWhT,WAAW+kB,EAAE,SAASxhB,EAAEkf,GAAG,OAAOlf,EAAEuiB,IAAIJ,IAAIjD,EAAEqD,IAAIJ,GAAG,EAAEuB,EAAEL,IAAI,EAAE3E,EAAE,EAAE+C,EAAEyW,GAAE,GAAI1Z,EAAE0Z,GAAE,GCax9V,QAZA,SAAwB9Y,EAAS5W,GAI/B,YAHgB,IAAZA,IACFA,EAAUoB,UAEW,kBAAZwV,EACF5W,EAAQ4V,cAAcgB,GCFZ,kBADgBriB,EDKlBqiB,ICJsB,OAARriB,GACzB,aAAcA,GACbA,EAAImnB,WAAaq9B,KAAKC,aDGpBpiC,EAEF,KCRM,IAAsBriB,CDSrC,EEMA,QAdA,SAA0BqiB,GAQxB,IAPA,IAAIyoG,EAOGzoG,IAAYA,EAAQgoC,KAEzBhoC,EAAUA,EAAQuC,WAEpB,OAA+B,OAAvBkmG,EAAWzoG,QAAmB,EAASyoG,EAASzgE,GAC1D,iBCjBA,SAAS0wC,EAA4BC,EAAUC,GAAc,IAAKh7F,OAAOiD,UAAU+c,eAAe3d,KAAK04F,EAAUC,GAAe,MAAM,IAAIv3F,UAAU,kDAAqD,OAAOs3F,CAAU,CAC1N,IAAIzpF,EAAK,EACT,SAAS2pF,EAA2B53F,GAAQ,MAAO,aAAeiO,IAAO,IAAMjO,CAAM,CAqCrF,IAAIynH,EAAyB7vB,EAA2B,YACxD,MAAM8vB,UAAiB5d,EAAA,EACrB,WAAA/pG,GACEulD,SAASxpD,WACTa,OAAO4F,eAAeoc,KAAM8oG,EAAW,CACrCtkH,UAAU,EACV/D,WAAO,GAEX,CACA,eAAAuoH,CAAgBxmH,GAEd,IAAIymH,EACJ,GAA4D,oBAAtC,MAAVzmH,OAAiB,EAASA,EAAOqxG,WAE3CoV,EAAezmH,EACTymH,aAAwBF,GAE5B99G,QAAQ6pB,KAAK,IAAIhkB,MAAM,mHAAoH,CACzIzF,MAAO,CACL49G,eACAF,oBAID,GAAsB,oBAAXvmH,EAAuB,CAEvC,MAAM0mH,EAAS1mH,EAEfwd,KAAKw4E,KAAK8nB,gBAAezgG,IACnBA,aAAaqpG,IACfD,EAAeppG,EACjB,GAEJ,CACA,OAAOopG,CACT,CAOA,KAAAE,CAAM3mH,EAEN8N,GACE,MAAM84G,EAAmB94G,EAAOhB,GAC1B+5G,EAAgB,EAAe7mH,GACrC,GAAI6mH,EAAe,CACjBrpG,KAAKspG,eAAgB,EAIrB,MAAMC,EAAkB3+G,SAASC,cAAc,OA0B/C,OAzBA0+G,EAAgBj4F,UAAU/jB,IAAI,aAG9BurF,EAA4B94E,KAAM8oG,GAAWA,GApFnD,SAAkBhsH,GAChB,IACI0sH,EADAC,EAAU,KAEd,OAAO,WACL,IAAK,IAAIvsH,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAazB,OAXAisH,EAAansH,EACRosH,IACHA,EAAUr5G,QAAQK,UAAUC,MAAK,KAC/B+4G,EAAU,KAKH3sH,KAAM0sH,OAGVC,CACT,CACF,CAgEgE5sH,EAASkM,IAI5DiX,KAAKw4E,KAAKutB,UAAU/lG,KAAK1Q,MAC9B,EAAO0Q,KAAK6F,OAAO9c,GAAQwgH,GAC3BvpG,KAAK8zF,cAAa,IAEpB9zF,KAAKw4E,KAAKpgE,IAAI,cAAcgxF,uBAAsC5mH,MAC9Dwd,KAAK8kB,KAAK4kF,uBAIZL,EAAc3oG,UAAY,IAE5B,EAAOV,KAAK6F,OAAO7F,KAAKw4E,KAAKvrF,YAAas8G,GAC1CvpG,KAAKya,GAAK8uF,EACVF,EAAcj+G,YAAYm+G,GAG1BA,EAAgBnhE,IAAMpoC,KAAK8kB,KAAK6kF,WAAa,EAAiBJ,IAAoB,MAClFvpG,KAAK4pG,UACE5pG,KAAKya,EACd,CACA,MAAMwuF,EAAejpG,KAAKgpG,gBAAgBxmH,GAC1C,GAAIymH,EAKF,OAJAjpG,KAAKw4E,KAAKpgE,IAAI,cAAcgxF,QAAuBH,EAAa35G,MAChE0Q,KAAK7G,OAAS8vG,EACdjpG,KAAKya,GAAKwuF,EAAapV,UAAUvjG,GACjC0P,KAAK4pG,UACE5pG,KAAKya,GAEdza,KAAKw4E,KAAKpgE,IAAI,kBAAkBgxF,KAChC,IAAIzqE,EAAU,kCAAkCyqE,KAMhD,MAJEzqE,GADoB,oBAAXn8C,EACE,+UAEA,yWAEP,IAAIsO,MAAM6tC,EAClB,CASA,MAAA94B,CAAO9c,GACL,MAAM,IAAI+H,MAAM,+DAClB,CACA,MAAAkhB,CAAOjpB,GAEH,IAAI+9G,EAAuB+C,EADd,MAAX7pG,KAAKya,KAEyG,OAA/GqsF,GAAyB+C,EAAyB/wB,EAA4B94E,KAAM8oG,IAAYA,KAAuBhC,EAAsBzmH,KAAKwpH,EAAwB9gH,GAE/K,CACA,OAAAse,GAEI,IAAIyiG,EADF9pG,KAAKspG,gBAEiB,OAAvBQ,EAAW9pG,KAAKya,KAAeqvF,EAASx3F,UAE3CtS,KAAK+pG,WACP,CACA,OAAAH,GAAW,CACX,SAAAG,GAAa,EAEf,UC3JM1pB,EAAiB,CACrB79F,OAAQ,OACRwnH,OAAO,EACPC,iBAAiB,GAMJ,MAAMC,UAAoB,EACvC,WAAA9oH,CAAYo3F,EAAM1zD,GAChB6hB,MAAM6xC,EAAM,IACP6H,KACAv7D,IAEL9kB,KAAK1Q,GAAK0Q,KAAK8kB,KAAKx1B,IAAM,cAC1B0Q,KAAK2Q,MAAQ,eACb3Q,KAAK3S,KAAO,oBACZ2S,KAAK6F,OAAS7F,KAAK6F,OAAOkC,KAAK/H,KACjC,CACA,MAAA6F,CAAO9c,GACL,MAAM8tB,EAAW9tB,EAAMi0G,eAAiB,EAElCmN,GAAyB,IAAbtzF,GAA+B,MAAbA,IAAqB7W,KAAK8kB,KAAKmlF,gBACnE,OAAO,EAAE,MAAO,CACdv4F,UAAW,wBACX7Q,MAAO,CACLojB,SAAUjkB,KAAK8kB,KAAKklF,MAAQ,QAAU,WAExC,cAAeG,GACd,EAAE,MAAO,CACVz4F,UAAW,yBACX7Q,MAAO,CACLiM,MAAO,GAAG+J,QAEV,EAAE,MAAO,CACXnF,UAAW,+BACVmF,GACL,CACA,OAAA+nD,GACE,MAAM,OACJp8E,GACEwd,KAAK8kB,KACLtiC,GACFwd,KAAKmpG,MAAM3mH,EAAQwd,KAEvB,CACA,SAAAg/D,GACEh/D,KAAKqH,SACP,EAEF6iG,EAAY/zB,QAtDC,sCCLb,SAAS2C,EAA4BC,EAAUC,GAAc,IAAKh7F,OAAOiD,UAAU+c,eAAe3d,KAAK04F,EAAUC,GAAe,MAAM,IAAIv3F,UAAU,kDAAqD,OAAOs3F,CAAU,0BAC1N,IAAIzpF,EAAK,EACT,SAAS2pF,EAA2B53F,GAAQ,MAAO,aAAeiO,IAAO,IAAMjO,CAAM,CAMrF,SAAS46F,EAAQnE,GACf,GAAc,MAAVA,EAAgB,CAClB,IAAIsyB,EACJ,MAAM1hB,EAAe,IAAM1oF,KAAK8zB,MAAMgkD,EAAO1hF,QAC7C0hF,EAAOx2E,iBAAiB,QAASonF,EAAc,CAC7C7tD,MAAM,IAER,MAAMwvE,EAAsB,KAC1BvyB,EAAOv2E,oBAAoB,QAASmnF,EAAa,EAEvB,OAA3B0hB,EAAapqG,KAAKtP,OAAiB05G,EAAW/pH,KAAK2f,KAAMqqG,EAAqBA,EACjF,CACA,OAAOrqG,IACT,CACA,IAAIsqG,EAA+BrxB,EAA2B,kBAC1DsxB,EAA+BtxB,EAA2B,kBAC1DuxB,EAAuBvxB,EAA2B,UAClDwxB,EAA2BxxB,EAA2B,cACtDyxB,EAA0BzxB,EAA2B,aACrD0xB,EAA2B1xB,EAA2B,cACtD2xB,EAAkC3xB,EAA2B,qBAC7D4xB,EAAqB5xB,EAA2B,QAChD6xB,EAA0B7xB,EAA2B,aACrD8xB,EAAqB9xB,EAA2B,QAChD+xB,EAAsB/xB,EAA2B,SACjDgyB,EAAwBhyB,EAA2B,WACnDiyB,EAAuBjyB,EAA2B,UAClDkyB,EAA8BlyB,EAA2B,iBACtD,MAAM0T,EACX,WAAAvrG,CAAYmoG,GACVvrG,OAAO4F,eAAeoc,KAAMirG,EAAU,CACpCxqH,MAAO2qH,IAETptH,OAAO4F,eAAeoc,KAAMgrG,EAAQ,CAClCvqH,MAAO4qH,IAETrtH,OAAO4F,eAAeoc,KAAM+qG,EAAO,CACjCtqH,MAAO6qH,IAETttH,OAAO4F,eAAeoc,KAAM8qG,EAAY,CACtCrqH,MAAO8qH,IAETvtH,OAAO4F,eAAeoc,KAAM6qG,EAAO,CACjCpqH,MAAO+qH,IAETxtH,OAAO4F,eAAeoc,KAAMsqG,EAAiB,CAC3C9lH,UAAU,EACV/D,MAAO,IAETzC,OAAO4F,eAAeoc,KAAMuqG,EAAiB,CAC3C/lH,UAAU,EACV/D,MAAO,KAETzC,OAAO4F,eAAeoc,KAAMwqG,EAAS,CACnChmH,UAAU,EACV/D,OAAO,IAETzC,OAAO4F,eAAeoc,KAAMyqG,EAAa,CACvCjmH,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAM0qG,EAAY,CACtClmH,UAAU,EACV/D,MAAO,IAETzC,OAAO4F,eAAeoc,KAAM2qG,EAAa,CACvCnmH,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAM4qG,EAAoB,CAC9CpmH,UAAU,EACV/D,WAAO,IAETzC,OAAO4F,eAAeoc,KAAMkrG,EAAS,CACnC1mH,UAAU,EACV/D,MAAO,IAAMuf,KAAK0pF,WAEpB1rG,OAAO4F,eAAeoc,KAAMmrG,EAAgB,CAC1C3mH,UAAU,EACV/D,MAAO,KACL,GAAIq4F,EAA4B94E,KAAMwqG,GAASA,GAC7C1xB,EAA4B94E,KAAM4qG,GAAoBA,GAAsBntH,WAAWq7F,EAA4B94E,KAAMmrG,GAAgBA,GAAiB,OAD5J,CAIAryB,EAA4B94E,KAAM0qG,GAAYA,GAAc1qG,KAAKupF,MACjEvpF,KAAKupF,MAAQ50E,KAAK4rE,MAAMzH,EAA4B94E,KAAM2qG,GAAaA,GAAe7xB,EAA4B94E,KAAM0qG,GAAYA,IAAe,GACnJ,IAAK,IAAIjrH,EAAIq5F,EAA4B94E,KAAM0qG,GAAYA,GAAajrH,GAAKugB,KAAKupF,MAAO9pG,IACvFq5F,EAA4B94E,KAAM8qG,GAAYA,KAE5ChyB,EAA4B94E,KAAM2qG,GAAaA,GAAe7xB,EAA4B94E,KAAM0qG,GAAYA,GAAc,EAC5H5xB,EAA4B94E,KAAM4qG,GAAoBA,GAAsBntH,WAAWq7F,EAA4B94E,KAAMmrG,GAAgBA,GAAiB,KAE1JryB,EAA4B94E,KAAM0qG,GAAYA,GAAc/1F,KAAKwD,MAAM2gE,EAA4B94E,KAAM0qG,GAAYA,GAAc,EATrI,CAUA,IAIF1qG,KAAKupF,MADc,kBAAVA,GAAgC,IAAVA,EAClB19D,IAEA09D,CAEjB,CACA,GAAAgH,CAAIzzG,EAAI2uH,GACN,OAAK3yB,EAA4B94E,KAAMwqG,GAASA,IAAY1xB,EAA4B94E,KAAMsqG,GAAiBA,GAAmBtqG,KAAKupF,MAC9HzQ,EAA4B94E,KAAM6qG,GAAOA,GAAO/tH,GAElDg8F,EAA4B94E,KAAMgrG,GAAQA,GAAQluH,EAAI2uH,EAC/D,CACA,gBAAApf,CAAiBvvG,EAAI2uH,GACnB,IAAIj7E,EAAQxwB,KACZ,OAAO,WACL,IAAK,IAAI9iB,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAEzB,MAAMwyG,EAAgBv/D,EAAM+/D,KAAI,KAC9BzzG,KAAMO,GACNquH,gBAAe,IAAM3b,EAAcxvG,SAC5B,SACNkrH,GACH,MAAO,CACLxvB,UACA,KAAAnoD,GACEi8D,EAAcj8D,OAChB,EAEJ,CACF,CACA,mBAAA+nD,CAAoB/+F,EAAI2uH,GACtB,IAAIt6E,EAASnxB,KACb,OAAO,WACL,IAAK,IAAIzZ,EAAQpJ,UAAUC,OAAQC,EAAO,IAAIC,MAAMiJ,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFnJ,EAAKmJ,GAASrJ,UAAUqJ,GAE1B,IAAIupG,EACJ,MAAM4b,EAAe,IAAIv7G,SAAQ,CAACK,EAAS4E,KACzC06F,EAAgB5+D,EAAOo/D,KAAI,KACzB,IAAIqb,EACAC,EACJ,IACEA,EAAez7G,QAAQK,QAAQ3T,KAAMO,GACvC,CAAE,MAAOqD,GACPmrH,EAAez7G,QAAQiF,OAAO3U,EAChC,CAgBA,OAfAmrH,EAAan7G,MAAKuD,IACZ23G,EACFv2G,EAAOu2G,IAEP7b,EAAcxvG,OACdkQ,EAAQwD,GACV,IACCvT,IACGkrH,EACFv2G,EAAOu2G,IAEP7b,EAAcxvG,OACd8U,EAAO3U,GACT,IAEK2K,IACLugH,EApKZ,SAA2BvgH,GACzB,OAAO,IAAIyF,MAAM,YAAa,CAC5BzF,SAEJ,CAgK0BygH,CAAkBzgH,EAAM,CACvC,GACAogH,EAAa,IAMlB,OAJAE,EAAa73E,MAAQzoC,IACnB0kG,EAAcj8D,MAAMzoC,EAAM,EAE5BsgH,EAAa1vB,QAAUA,EAChB0vB,CACT,CACF,CACA,MAAAjiB,GACE5Q,EAA4B94E,KAAMwqG,GAASA,IAAW,EACtDhtH,aAAas7F,EAA4B94E,KAAMyqG,GAAaA,IAC5D,IAAK,IAAIhrH,EAAI,EAAGA,EAAIugB,KAAKupF,MAAO9pG,IAC9Bq5F,EAA4B94E,KAAM8qG,GAAYA,IAElD,CAOA,KAAA5sB,CAAMqoB,QACa,IAAbA,IACFA,EAAW,MAEbztB,EAA4B94E,KAAMwqG,GAASA,IAAW,EACtDhtH,aAAas7F,EAA4B94E,KAAMyqG,GAAaA,IAC5C,MAAZlE,IACFztB,EAA4B94E,KAAMyqG,GAAaA,GAAehtH,WAAWq7F,EAA4B94E,KAAMkrG,GAASA,GAAU3E,GAElI,CAYA,SAAA/c,CAAU+c,GACR/oH,aAAas7F,EAA4B94E,KAAM4qG,GAAoBA,IACnE5qG,KAAKk+E,MAAMqoB,GACPvmG,KAAKupF,MAAQ,GAAKnlG,OAAOs7G,SAAS1/F,KAAKupF,SACzCzQ,EAA4B94E,KAAM2qG,GAAaA,GAAe3qG,KAAKupF,MAAQ,EAC3EvpF,KAAKupF,MAAQzQ,EAA4B94E,KAAM0qG,GAAYA,GAC3D5xB,EAA4B94E,KAAM4qG,GAAoBA,GAAsBntH,WAAWq7F,EAA4B94E,KAAMmrG,GAAgBA,GAAiB5E,GAE9J,CACA,YAAI5pB,GACF,OAAO7D,EAA4B94E,KAAMwqG,GAASA,EACpD,EAEF,SAASgB,EAAO1uH,GACdg8F,EAA4B94E,KAAMsqG,GAAiBA,IAAoB,EACvE,IACIyB,EADAxrH,GAAO,EAEX,IACEwrH,EAAejvH,GACjB,CAAE,MAAO4D,GAEP,MADAo4F,EAA4B94E,KAAMsqG,GAAiBA,IAAoB,EACjE5pH,CACR,CACA,MAAO,CACLozC,MAAOzoC,IACD9K,IACJA,GAAO,EACPu4F,EAA4B94E,KAAMsqG,GAAiBA,IAAoB,EACvD,MAAhByB,GAAwBA,EAAa1gH,GACrCytF,EAA4B94E,KAAM8qG,GAAYA,KAAa,EAE7DvqH,KAAM,KACAA,IACJA,GAAO,EACPu4F,EAA4B94E,KAAMsqG,GAAiBA,IAAoB,EACvExxB,EAA4B94E,KAAM8qG,GAAYA,KAAa,EAGjE,CACA,SAASS,IAIPG,gBAAe,IAAM5yB,EAA4B94E,KAAM+qG,GAAOA,MAChE,CACA,SAASO,IACP,GAAIxyB,EAA4B94E,KAAMwqG,GAASA,IAAY1xB,EAA4B94E,KAAMsqG,GAAiBA,IAAoBtqG,KAAKupF,MACrI,OAEF,GAAmF,IAA/EzQ,EAA4B94E,KAAMuqG,GAAiBA,GAAiBntH,OACtE,OAMF,MAAMkD,EAAOw4F,EAA4B94E,KAAMuqG,GAAiBA,GAAiB/lG,QACjF,GAAY,MAARlkB,EACF,MAAM,IAAIwQ,MAAM,qCAElB,MAAMk7G,EAAUlzB,EAA4B94E,KAAM6qG,GAAOA,GAAOvqH,EAAKxD,IACrEwD,EAAKwzC,MAAQk4E,EAAQl4E,MACrBxzC,EAAKC,KAAOyrH,EAAQzrH,IACtB,CACA,SAAS8qH,EAAQvuH,EAAIsM,GACnB,MAAM4iH,EAAU,CACdlvH,KACAk/F,UAAsB,MAAX5yF,OAAkB,EAASA,EAAQ4yF,WAAa,EAC3DloD,MAAO,KACLglD,EAA4B94E,KAAMirG,GAAUA,GAAUe,EAAQ,EAEhEzrH,KAAM,KACJ,MAAM,IAAIuQ,MAAM,6DAA6D,GAG3EhS,EAAQg6F,EAA4B94E,KAAMuqG,GAAiBA,GAAiBtrH,WAAUgtH,GACnFD,EAAQhwB,SAAWiwB,EAAMjwB,WAOlC,OALe,IAAXl9F,EACFg6F,EAA4B94E,KAAMuqG,GAAiBA,GAAiB/pH,KAAKwrH,GAEzElzB,EAA4B94E,KAAMuqG,GAAiBA,GAAiB3wE,OAAO96C,EAAO,EAAGktH,GAEhFA,CACT,CACA,SAASZ,EAAUY,GACjB,MAAMltH,EAAQg6F,EAA4B94E,KAAMuqG,GAAiBA,GAAiB7nH,QAAQspH,IAC3E,IAAXltH,GACFg6F,EAA4B94E,KAAMuqG,GAAiBA,GAAiB3wE,OAAO96C,EAAO,EAEtF,CACO,MAAMotH,EAA2BtsH,OAAO,yCC/S/C,SAASk5F,EAA4BC,EAAUC,GAAc,IAAKh7F,OAAOiD,UAAU+c,eAAe3d,KAAK04F,EAAUC,GAAe,MAAM,IAAIv3F,UAAU,kDAAqD,OAAOs3F,CAAU,kBAC1N,IAAIzpF,EAAK,EACT,SAAS2pF,EAA2B53F,GAAQ,MAAO,aAAeiO,IAAO,IAAMjO,CAAM,CAKrF,SAAS8qH,EAAkB7pH,EAAQ8pH,EAAIC,GACrC,MAAMC,EAAW,GAoBjB,OAnBAhqH,EAAOkB,SAAQqE,GAKQ,kBAAVA,EACFykH,EAAS9rH,KAAKqH,GAEhBukH,EAAGxsH,OAAO0F,OAAOuC,GAAOrE,SAAQ,CAAC+oH,EAAK9sH,EAAGsN,KAClC,KAARw/G,GACFD,EAAS9rH,KAAK+rH,GAIZ9sH,EAAIsN,EAAK3P,OAAS,GACpBkvH,EAAS9rH,KAAK6rH,EAChB,MAGGC,CACT,CAYA,SAASE,EAAYC,EAAQrjH,GAC3B,MAAMsjH,EAAc,MAEpB,IAAIC,EAAe,CAACF,GACpB,GAAe,MAAXrjH,EAAiB,OAAOujH,EAC5B,IAAK,MAAM9oH,KAAO7F,OAAOI,KAAKgL,GAC5B,GAAY,MAARvF,EAAa,CAIf,IAAIwoH,EAAcjjH,EAAQvF,GACC,kBAAhBwoH,IACTA,EAAcK,EAAY9sH,OAAOuY,SAASk0G,EAVxB,SAepBM,EAAeR,EAAkBQ,EAAc,IAAItjG,OAAO,OAAOxlB,OAAU,KAAMwoH,EACnF,CAEF,OAAOM,CACT,CACA,MAAMC,EAAsBruH,IAC1B,MAAM,IAAIuS,MAAM,mBAAmBvS,IAAM,EAc3C,IAAIsuH,EAA6B5zB,EAA2B,gBACxD6zB,EAAsB7zB,EAA2B,SACtC,MAAM0nB,EACnB,WAAAv/G,CAAY2rH,EAASvc,GACnB,IAAI,aACFoQ,EAAegM,QACH,IAAVpc,EAAmB,CAAC,EAAIA,EAC5BxyG,OAAO4F,eAAeoc,KAAM8sG,EAAQ,CAClCrsH,MAAOusH,IAEThvH,OAAO4F,eAAeoc,KAAM6sG,EAAe,CACzCroH,UAAU,EACV/D,WAAO,IAETuf,KAAKq0B,OAAS,CACZw8D,QAAS,CAAC,EACVoc,UAAUjsH,GACE,IAANA,EACK,EAEF,GAGP1D,MAAMoC,QAAQqtH,GAChBA,EAAQvpH,QAAQs1F,EAA4B94E,KAAM8sG,GAAQA,GAAS9sG,MAEnE84E,EAA4B94E,KAAM8sG,GAAQA,GAAQC,GAEpDj0B,EAA4B94E,KAAM6sG,GAAeA,GAAiBjM,CACpE,CAQA,SAAAvtE,CAAU90C,EAAK6K,GACb,OAAO4W,KAAK4zF,eAAer1G,EAAK6K,GAAS8O,KAAK,GAChD,CAOA,cAAA07F,CAAer1G,EAAK6K,GAClB,IAAI20D,EAAS/9C,KAAKq0B,OAAOw8D,QAAQtyG,GACnB,MAAVw/D,IACF+6B,EAA4B94E,KAAM6sG,GAAeA,GAAetuH,GAChEw/D,EAASx/D,GAGX,GADyC,kBAAXw/D,EACV,CAClB,GAAI30D,GAA0C,qBAAxBA,EAAQuwG,YAA6B,CAEzD,OAAO6S,EAAYzuD,EADJ/9C,KAAKq0B,OAAO44E,UAAU7jH,EAAQuwG,cACVvwG,EACrC,CACA,MAAM,IAAI0H,MAAM,yFAClB,CACA,GAAsB,kBAAXitD,EACT,MAAM,IAAIjtD,MAAM,2BAElB,OAAO07G,EAAYzuD,EAAQ30D,EAC7B,EAEF,SAAS4jH,EAAQ34E,GACf,GAAgB,MAAVA,IAAkBA,EAAOw8D,QAC7B,OAEF,MAAMqc,EAAaltG,KAAKq0B,OACxBr2C,OAAOiU,OAAO+N,KAAKq0B,OAAQ,CACzBw8D,QAAS,IACJqc,EAAWrc,WACXx8D,EAAOw8D,SAEZoc,UAAW54E,EAAO44E,WAAaC,EAAWD,WAE9C,gCCzJe,SAAS9Z,EAAwBga,GAC9C,MAAMC,EAAUD,EAAazyF,YAAY,KAEzC,OAAiB,IAAb0yF,GAAkBA,IAAYD,EAAa/vH,OAAS,EAC/C,CACLiE,KAAM8rH,EACNrgF,eAAW7vC,GAGR,CACLoE,KAAM8rH,EAAahsH,MAAM,EAAGisH,GAC5BtgF,UAAWqgF,EAAahsH,MAAMisH,EAAU,GAE5C,2ECde,SAASrlG,EAAKjrB,EAAIuwH,GAC/B,OAAO,WACL,OAAOvwH,EAAGY,MAAM2vH,EAASlwH,UAC3B,CACF,uHCAA,MAAO+D,SAAQ,GAAIlD,OAAOiD,WACpB,eAACyqD,GAAkB1tD,OAEnBsvH,GAAUC,EAGbvvH,OAAOw4B,OAAO,MAHQg3F,IACrB,MAAM3qF,EAAM,EAASxiC,KAAKmtH,GAC1B,OAAOD,EAAM1qF,KAAS0qF,EAAM1qF,GAAOA,EAAI1hC,MAAM,GAAI,GAAGkgB,cAAc,GAFvD,IAACksG,EAKhB,MAAME,EAAcpgH,IAClBA,EAAOA,EAAKgU,cACJmsG,GAAUF,EAAOE,KAAWngH,GAGhCqgH,EAAargH,GAAQmgH,UAAgBA,IAAUngH,GAS/C,QAAC3N,GAAWpC,MASZqwH,EAAcD,EAAW,aAqB/B,MAAME,EAAgBH,EAAW,eA2BjC,MAAMI,EAAWH,EAAW,UAQtBI,EAAaJ,EAAW,YASxBK,EAAWL,EAAW,UAStBM,EAAYR,GAAoB,OAAVA,GAAmC,kBAAVA,EAiB/CtgG,EAAiB6I,IACrB,GAAoB,WAAhBu3F,EAAOv3F,GACT,OAAO,EAGT,MAAM90B,EAAYyqD,EAAe31B,GACjC,OAAsB,OAAd90B,GAAsBA,IAAcjD,OAAOiD,WAAkD,OAArCjD,OAAO0tD,eAAezqD,OAA0BrB,OAAOquH,eAAel4F,MAAUn2B,OAAOC,YAAYk2B,EAAI,EAUnKm4F,EAAST,EAAW,QASpBU,EAASV,EAAW,QASpBjiF,EAASiiF,EAAW,QASpBW,EAAaX,EAAW,YAsCxBY,EAAoBZ,EAAW,oBAE9Ba,EAAkBC,EAAWC,EAAYC,GAAa,CAAC,iBAAkB,UAAW,WAAY,WAAW9pH,IAAI8oH,GA2BtH,SAASjqH,EAAQzF,EAAKjB,GAAI,WAAC4xH,GAAa,GAAS,CAAC,GAEhD,GAAY,OAAR3wH,GAA+B,qBAARA,EACzB,OAGF,IAAI0B,EACAygB,EAQJ,GALmB,kBAARniB,IAETA,EAAM,CAACA,IAGL2B,EAAQ3B,GAEV,IAAK0B,EAAI,EAAGygB,EAAIniB,EAAIX,OAAQqC,EAAIygB,EAAGzgB,IACjC3C,EAAGuD,KAAK,KAAMtC,EAAI0B,GAAIA,EAAG1B,OAEtB,CAEL,MAAMK,EAAOswH,EAAa1wH,OAAO2wH,oBAAoB5wH,GAAOC,OAAOI,KAAKL,GAClE4D,EAAMvD,EAAKhB,OACjB,IAAImB,EAEJ,IAAKkB,EAAI,EAAGA,EAAIkC,EAAKlC,IACnBlB,EAAMH,EAAKqB,GACX3C,EAAGuD,KAAK,KAAMtC,EAAIQ,GAAMA,EAAKR,EAEjC,CACF,CAEA,SAAS6wH,EAAQ7wH,EAAKQ,GACpBA,EAAMA,EAAI8iB,cACV,MAAMjjB,EAAOJ,OAAOI,KAAKL,GACzB,IACIR,EADAkC,EAAIrB,EAAKhB,OAEb,KAAOqC,KAAM,GAEX,GADAlC,EAAOa,EAAKqB,GACRlB,IAAQhB,EAAK8jB,cACf,OAAO9jB,EAGX,OAAO,IACT,CAEA,MAAMsxH,EAEsB,qBAAf5uB,WAAmCA,WACvB,qBAATrlE,KAAuBA,KAA0B,qBAAXxwB,OAAyBA,OAAS0kH,OAGlFC,EAAoBvlH,IAAamkH,EAAYnkH,IAAYA,IAAYqlH,EAoD3E,MA8HMG,GAAgBC,EAKG,qBAAfnlF,YAA8B4hB,EAAe5hB,YAH9C0jF,GACEyB,GAAczB,aAAiByB,GAHrB,IAACA,EAetB,MAiCMC,EAAazB,EAAW,mBAWxB,EAAiB,GAAGzvG,oBAAoB,CAACjgB,EAAKoxH,IAASnxG,EAAe3d,KAAKtC,EAAKoxH,GAA/D,CAAsEnxH,OAAOiD,WAS9FmuH,EAAW3B,EAAW,UAEtB4B,EAAoB,CAACtxH,EAAK6O,KAC9B,MAAM0iH,EAActxH,OAAO0F,0BAA0B3F,GAC/CwxH,EAAqB,CAAC,EAE5B/rH,EAAQ8rH,GAAa,CAAClmF,EAAY/nC,KAChC,IAAImuH,GAC2C,KAA1CA,EAAM5iH,EAAQw8B,EAAY/nC,EAAMtD,MACnCwxH,EAAmBluH,GAAQmuH,GAAOpmF,EACpC,IAGFprC,OAAO2F,iBAAiB5F,EAAKwxH,EAAmB,EAsD5CE,EAAQ,6BAERC,EAAQ,aAERC,EAAW,CACfD,QACAD,QACAG,YAAaH,EAAQA,EAAM12F,cAAgB22F,GAwB7C,MA+BMG,EAAYpC,EAAW,iBAQvBqC,GAAkBC,EAkBE,oBAAjBC,aAlBsCC,EAmB7CnC,EAAWe,EAAQqB,aAlBfH,EACKC,aAGFC,GAAyBj2B,EAW7B,SAASrlE,KAAKgoB,WAXsBznC,EAWV,GAV3B25G,EAAQvtG,iBAAiB,WAAW,EAAEhf,SAAQ2kB,WACxC3kB,IAAWusH,GAAW5nG,IAAS+yE,GACjC9kF,EAAU9X,QAAU8X,EAAUsP,OAAVtP,EACtB,IACC,GAEKmpC,IACNnpC,EAAU1U,KAAK69C,GACfwwE,EAAQqB,YAAYl2B,EAAO,IAAI,GAEC37C,GAAO5gD,WAAW4gD,IAhBlC,IAAE0xE,EAAuBE,EAKbj2B,EAAO9kF,EAiBzC,MAAMi7G,EAAiC,qBAAnBzE,eAClBA,eAAe3jG,KAAK8mG,GAAgC,qBAAZuB,SAA2BA,QAAQC,UAAYP,EAIzF,GACEpwH,UACAkuH,gBACA0C,SAlpBF,SAAkBv6F,GAChB,OAAe,OAARA,IAAiB43F,EAAY53F,IAA4B,OAApBA,EAAI30B,cAAyBusH,EAAY53F,EAAI30B,cACpF0sH,EAAW/3F,EAAI30B,YAAYkvH,WAAav6F,EAAI30B,YAAYkvH,SAASv6F,EACxE,EAgpBEw6F,WApgBkB/C,IAClB,IAAIgD,EACJ,OAAOhD,IACgB,oBAAbllE,UAA2BklE,aAAiBllE,UAClDwlE,EAAWN,EAAMxrG,UACY,cAA1BwuG,EAAOlD,EAAOE,KAEL,WAATgD,GAAqB1C,EAAWN,EAAMtsH,WAAkC,sBAArBssH,EAAMtsH,YAGhE,EA2fAuvH,kBA9nBF,SAA2B16F,GACzB,IAAI9hB,EAMJ,OAJEA,EAD0B,qBAAhBs2B,aAAiCA,YAAkB,OACpDA,YAAYmmF,OAAO36F,GAEnB,GAAUA,EAAU,QAAM63F,EAAc73F,EAAI46F,QAEhD18G,CACT,EAunBE45G,WACAE,WACA6C,UA9kBgBpD,IAAmB,IAAVA,IAA4B,IAAVA,EA+kB3CQ,WACA9gG,gBACAohG,mBACAC,YACAC,aACAC,YACAd,cACAO,SACAC,SACA3iF,SACA4jF,WACAtB,aACA+C,SA9hBgB96F,GAAQi4F,EAASj4F,IAAQ+3F,EAAW/3F,EAAI+6F,MA+hBxDzC,oBACAW,eACAZ,aACA5qH,UACA+oD,MAhaF,SAASA,IACP,MAAM,SAACwkE,GAAYhC,EAAiB/uG,OAASA,MAAQ,CAAC,EAChD/L,EAAS,CAAC,EACV+8G,EAAc,CAACj7F,EAAKx3B,KACxB,MAAM0yH,EAAYF,GAAYnC,EAAQ36G,EAAQ1V,IAAQA,EAClD2uB,EAAcjZ,EAAOg9G,KAAe/jG,EAAc6I,GACpD9hB,EAAOg9G,GAAa1kE,EAAMt4C,EAAOg9G,GAAYl7F,GACpC7I,EAAc6I,GACvB9hB,EAAOg9G,GAAa1kE,EAAM,CAAC,EAAGx2B,GACrBr2B,EAAQq2B,GACjB9hB,EAAOg9G,GAAal7F,EAAI50B,QAExB8S,EAAOg9G,GAAal7F,CACtB,EAGF,IAAK,IAAIt2B,EAAI,EAAGygB,EAAI/iB,UAAUC,OAAQqC,EAAIygB,EAAGzgB,IAC3CtC,UAAUsC,IAAM+D,EAAQrG,UAAUsC,GAAIuxH,GAExC,OAAO/8G,CACT,EA6YEi9G,OAjYa,CAACljH,EAAGC,EAAGo/G,GAAUqB,cAAa,CAAC,KAC5ClrH,EAAQyK,GAAG,CAAC8nB,EAAKx3B,KACX8uH,GAAWS,EAAW/3F,GACxB/nB,EAAEzP,GAAOwpB,EAAKgO,EAAKs3F,GAEnBr/G,EAAEzP,GAAOw3B,CACX,GACC,CAAC24F,eACG1gH,GA0XPw6C,KA7fY3lB,GAAQA,EAAI2lB,KACxB3lB,EAAI2lB,OAAS3lB,EAAI1qB,QAAQ,qCAAsC,IA6f/Dg5G,SAjXgB9xG,IACc,QAA1BA,EAAQ4rB,WAAW,KACrB5rB,EAAUA,EAAQle,MAAM,IAEnBke,GA8WP+xG,SAlWe,CAAChwH,EAAaiwH,EAAkBxkH,EAAOyiH,KACtDluH,EAAYH,UAAYjD,OAAOw4B,OAAO66F,EAAiBpwH,UAAWquH,GAClEluH,EAAYH,UAAUG,YAAcA,EACpCpD,OAAO4F,eAAexC,EAAa,QAAS,CAC1CX,MAAO4wH,EAAiBpwH,YAE1B4L,GAAS7O,OAAOiU,OAAO7Q,EAAYH,UAAW4L,EAAM,EA6VpDykH,aAjVmB,CAACC,EAAWC,EAASruH,EAAQsuH,KAChD,IAAI5kH,EACApN,EACA0vH,EACJ,MAAMhP,EAAS,CAAC,EAIhB,GAFAqR,EAAUA,GAAW,CAAC,EAEL,MAAbD,EAAmB,OAAOC,EAE9B,EAAG,CAGD,IAFA3kH,EAAQ7O,OAAO2wH,oBAAoB4C,GACnC9xH,EAAIoN,EAAMzP,OACHqC,KAAM,GACX0vH,EAAOtiH,EAAMpN,GACPgyH,IAAcA,EAAWtC,EAAMoC,EAAWC,IAAcrR,EAAOgP,KACnEqC,EAAQrC,GAAQoC,EAAUpC,GAC1BhP,EAAOgP,IAAQ,GAGnBoC,GAAuB,IAAXpuH,GAAoBuoD,EAAe6lE,EACjD,OAASA,KAAepuH,GAAUA,EAAOouH,EAAWC,KAAaD,IAAcvzH,OAAOiD,WAEtF,OAAOuwH,CAAO,EA2TdlE,SACAG,aACAiE,SAjTe,CAAC7uF,EAAK8uF,EAAc1tF,KACnCpB,EAAM1+B,OAAO0+B,SACI5lC,IAAbgnC,GAA0BA,EAAWpB,EAAIzlC,UAC3C6mC,EAAWpB,EAAIzlC,QAEjB6mC,GAAY0tF,EAAav0H,OACzB,MAAMw0H,EAAY/uF,EAAIngC,QAAQivH,EAAc1tF,GAC5C,OAAsB,IAAf2tF,GAAoBA,IAAc3tF,CAAQ,EA2SjDyI,QAhSe8gF,IACf,IAAKA,EAAO,OAAO,KACnB,GAAI9tH,EAAQ8tH,GAAQ,OAAOA,EAC3B,IAAI/tH,EAAI+tH,EAAMpwH,OACd,IAAK2wH,EAAStuH,GAAI,OAAO,KACzB,MAAMD,EAAM,IAAIlC,MAAMmC,GACtB,KAAOA,KAAM,GACXD,EAAIC,GAAK+tH,EAAM/tH,GAEjB,OAAOD,CAAG,EAwRVqyH,aA7PmB,CAAC9zH,EAAKjB,KACzB,MAEM+C,GAFY9B,GAAOA,EAAI6B,OAAOC,WAETQ,KAAKtC,GAEhC,IAAIkW,EAEJ,MAAQA,EAASpU,EAASS,UAAY2T,EAAO1T,MAAM,CACjD,MAAMuxH,EAAO79G,EAAOxT,MACpB3D,EAAGuD,KAAKtC,EAAK+zH,EAAK,GAAIA,EAAK,GAC7B,GAoPAC,SAzOe,CAACC,EAAQnvF,KACxB,IAAIjvB,EACJ,MAAMpU,EAAM,GAEZ,KAAwC,QAAhCoU,EAAUo+G,EAAO11B,KAAKz5D,KAC5BrjC,EAAIgB,KAAKoT,GAGX,OAAOpU,CAAG,EAkOV0vH,aACAlxG,eAAc,EACdi0G,WAAY,EACZ5C,oBACA6C,cAzLqBn0H,IACrBsxH,EAAkBtxH,GAAK,CAACqrC,EAAY/nC,KAElC,GAAIysH,EAAW/vH,KAA6D,IAArD,CAAC,YAAa,SAAU,UAAU2E,QAAQrB,GAC/D,OAAO,EAGT,MAAMZ,EAAQ1C,EAAIsD,GAEbysH,EAAWrtH,KAEhB2oC,EAAW9lC,YAAa,EAEpB,aAAc8lC,EAChBA,EAAW5kC,UAAW,EAInB4kC,EAAWnpB,MACdmpB,EAAWnpB,IAAM,KACf,MAAMnP,MAAM,qCAAwCzP,EAAO,IAAK,GAEpE,GACA,EAmKF8wH,YAhKkB,CAACC,EAAe72F,KAClC,MAAMx9B,EAAM,CAAC,EAEPg5F,EAAUv3F,IACdA,EAAIgE,SAAQ/C,IACV1C,EAAI0C,IAAS,CAAI,GACjB,EAKJ,OAFAf,EAAQ0yH,GAAiBr7B,EAAOq7B,GAAiBr7B,EAAO5yF,OAAOiuH,GAAe9sH,MAAMi2B,IAE7Ex9B,CAAG,EAsJVs0H,YAlOkBxvF,GACXA,EAAIxhB,cAAclJ,QAAQ,yBAC/B,SAAkByL,EAAG0uG,EAAIC,GACvB,OAAOD,EAAGv5F,cAAgBw5F,CAC5B,IA+NF/zH,KApJW,OAqJXg0H,eAnJqB,CAAC/xH,EAAOm4B,IACb,MAATn4B,GAAiB2D,OAAOs7G,SAASj/G,GAASA,GAASA,EAAQm4B,EAmJlEg2F,UACAE,OAAQD,EACRE,mBACAY,WACA8C,eA1IqB,CAAC1oF,EAAO,GAAI2oF,EAAW/C,EAASC,eACrD,IAAI/sF,EAAM,GACV,MAAM,OAACzlC,GAAUs1H,EACjB,KAAO3oF,KACLlH,GAAO6vF,EAAS/9F,KAAKgoB,SAAWv/C,EAAO,GAGzC,OAAOylC,CAAG,EAoIV8vF,oBA1HF,SAA6BnF,GAC3B,SAAUA,GAASM,EAAWN,EAAMxrG,SAAyC,aAA9BwrG,EAAM5tH,OAAOquH,cAA+BT,EAAM5tH,OAAOC,UAC1G,EAyHE+yH,aAvHoB70H,IACpB,MAAMu5F,EAAQ,IAAIh6F,MAAM,IAElBu1H,EAAQ,CAACvwH,EAAQ7C,KAErB,GAAIuuH,EAAS1rH,GAAS,CACpB,GAAIg1F,EAAM50F,QAAQJ,IAAW,EAC3B,OAGF,KAAK,WAAYA,GAAS,CACxBg1F,EAAM73F,GAAK6C,EACX,MAAME,EAAS9C,EAAQ4C,GAAU,GAAK,CAAC,EASvC,OAPAkB,EAAQlB,GAAQ,CAAC7B,EAAOlC,KACtB,MAAMu0H,EAAeD,EAAMpyH,EAAOhB,EAAI,IACrCkuH,EAAYmF,KAAkBtwH,EAAOjE,GAAOu0H,EAAa,IAG5Dx7B,EAAM73F,QAAKxC,EAEJuF,CACT,CACF,CAEA,OAAOF,CAAM,EAGf,OAAOuwH,EAAM90H,EAAK,EAAE,EA4FpB8xH,YACAkD,WAxFkBvF,GAClBA,IAAUQ,EAASR,IAAUM,EAAWN,KAAWM,EAAWN,EAAM98G,OAASo9G,EAAWN,EAAM14G,OAwF9Fk7G,aAAcF,EACdK,QCvuBF,SAAS6C,EAAWr0E,EAASW,EAAMtK,EAAQ1hC,EAASO,GAClD/C,MAAMzQ,KAAK2f,MAEPlP,MAAMmiH,kBACRniH,MAAMmiH,kBAAkBjzG,KAAMA,KAAK5e,aAEnC4e,KAAKs3E,OAAQ,IAAKxmF,OAASwmF,MAG7Bt3E,KAAK2+B,QAAUA,EACf3+B,KAAK3e,KAAO,aACZi+C,IAASt/B,KAAKs/B,KAAOA,GACrBtK,IAAWh1B,KAAKg1B,OAASA,GACzB1hC,IAAY0M,KAAK1M,QAAUA,GAC3BO,IAAamM,KAAKnM,SAAWA,EAC/B,CAEAq/G,EAAM9B,SAAS4B,EAAYliH,MAAO,CAChCo2C,OAAQ,WACN,MAAO,CAELvI,QAAS3+B,KAAK2+B,QACdt9C,KAAM2e,KAAK3e,KAEXsR,YAAaqN,KAAKrN,YAClByrB,OAAQpe,KAAKoe,OAEbi8E,SAAUr6F,KAAKq6F,SACf8Y,WAAYnzG,KAAKmzG,WACjBC,aAAcpzG,KAAKozG,aACnB97B,MAAOt3E,KAAKs3E,MAEZtiD,OAAQk+E,EAAMN,aAAa5yG,KAAKg1B,QAChCsK,KAAMt/B,KAAKs/B,KACX5vC,OAAQsQ,KAAKnM,UAAYmM,KAAKnM,SAASnE,OAASsQ,KAAKnM,SAASnE,OAAS,KAE3E,IAGF,MAAM,EAAYsjH,EAAW/xH,UACvBquH,EAAc,CAAC,EAErB,CACE,uBACA,iBACA,eACA,YACA,cACA,4BACA,iBACA,mBACA,kBACA,eACA,kBACA,mBAEA9rH,SAAQ87C,IACRgwE,EAAYhwE,GAAQ,CAAC7+C,MAAO6+C,EAAK,IAGnCthD,OAAO2F,iBAAiBqvH,EAAY1D,GACpCtxH,OAAO4F,eAAe,EAAW,eAAgB,CAACnD,OAAO,IAGzDuyH,EAAW1xH,KAAO,CAAC4J,EAAOo0C,EAAMtK,EAAQ1hC,EAASO,EAAUw/G,KACzD,MAAMC,EAAat1H,OAAOw4B,OAAO,GAgBjC,OAdA08F,EAAM5B,aAAapmH,EAAOooH,GAAY,SAAgBv1H,GACpD,OAAOA,IAAQ+S,MAAM7P,SACvB,IAAGkuH,GACe,iBAATA,IAGT6D,EAAW3yH,KAAKizH,EAAYpoH,EAAMyzC,QAASW,EAAMtK,EAAQ1hC,EAASO,GAElEy/G,EAAWjoH,MAAQH,EAEnBooH,EAAWjyH,KAAO6J,EAAM7J,KAExBgyH,GAAer1H,OAAOiU,OAAOqhH,EAAYD,GAElCC,CAAU,EAGnB,UCrFA,SAASC,EAAY/F,GACnB,OAAO0F,EAAMhmG,cAAcsgG,IAAU0F,EAAMxzH,QAAQ8tH,EACrD,CASA,SAASgG,GAAej1H,GACtB,OAAO20H,EAAMxB,SAASnzH,EAAK,MAAQA,EAAI4C,MAAM,GAAI,GAAK5C,CACxD,CAWA,SAASk1H,GAAUlzG,EAAMhiB,EAAKm1H,GAC5B,OAAKnzG,EACEA,EAAKxa,OAAOxH,GAAKoG,KAAI,SAAcq1F,EAAOv6F,GAG/C,OADAu6F,EAAQw5B,GAAex5B,IACf05B,GAAQj0H,EAAI,IAAMu6F,EAAQ,IAAMA,CAC1C,IAAG9hF,KAAKw7G,EAAO,IAAM,IALHn1H,CAMpB,CAaA,MAAMo1H,GAAaT,EAAM5B,aAAa4B,EAAO,CAAC,EAAG,MAAM,SAAgB/D,GACrE,MAAO,WAAW5tH,KAAK4tH,EACzB,IA8JA,SArIA,SAAoBpxH,EAAK6rG,EAAUxgG,GACjC,IAAK8pH,EAAMlF,SAASjwH,GAClB,MAAM,IAAI0D,UAAU,4BAItBmoG,EAAWA,GAAY,IAAyBthD,SAYhD,MAAMsrE,GATNxqH,EAAU8pH,EAAM5B,aAAaloH,EAAS,CACpCwqH,YAAY,EACZF,MAAM,EACNG,SAAS,IACR,GAAO,SAAiBC,EAAQxxH,GAEjC,OAAQ4wH,EAAMvF,YAAYrrH,EAAOwxH,GACnC,KAE2BF,WAErBG,EAAU3qH,EAAQ2qH,SAAWC,EAC7BN,EAAOtqH,EAAQsqH,KACfG,EAAUzqH,EAAQyqH,QAElBI,GADQ7qH,EAAQwgC,MAAwB,qBAATA,MAAwBA,OACpCspF,EAAMP,oBAAoB/oB,GAEnD,IAAKspB,EAAMpF,WAAWiG,GACpB,MAAM,IAAItyH,UAAU,8BAGtB,SAASyyH,EAAazzH,GACpB,GAAc,OAAVA,EAAgB,MAAO,GAE3B,GAAIyyH,EAAMhF,OAAOztH,GACf,OAAOA,EAAM8kG,cAGf,IAAK0uB,GAAWf,EAAM1nF,OAAO/qC,GAC3B,MAAM,IAAI,EAAW,gDAGvB,OAAIyyH,EAAMtF,cAAcntH,IAAUyyH,EAAMlE,aAAavuH,GAC5CwzH,GAA2B,oBAATrqF,KAAsB,IAAIA,KAAK,CAACnpC,IAAU0zH,OAAO7yH,KAAKb,GAG1EA,CACT,CAYA,SAASuzH,EAAevzH,EAAOlC,EAAKgiB,GAClC,IAAI/gB,EAAMiB,EAEV,GAAIA,IAAU8f,GAAyB,kBAAV9f,EAC3B,GAAIyyH,EAAMxB,SAASnzH,EAAK,MAEtBA,EAAMq1H,EAAar1H,EAAMA,EAAI4C,MAAM,GAAI,GAEvCV,EAAQsQ,KAAKC,UAAUvQ,QAClB,GACJyyH,EAAMxzH,QAAQe,IAnGvB,SAAqBjB,GACnB,OAAO0zH,EAAMxzH,QAAQF,KAASA,EAAI+X,KAAKg8G,EACzC,CAiGiCa,CAAY3zH,KACnCyyH,EAAM9E,WAAW3tH,IAAUyyH,EAAMxB,SAASnzH,EAAK,SAAWiB,EAAM0zH,EAAMxmF,QAAQjsC,IAYhF,OATAlC,EAAMi1H,GAAej1H,GAErBiB,EAAIgE,SAAQ,SAAci3B,EAAI37B,IAC1Bo0H,EAAMvF,YAAYlzF,IAAc,OAAPA,GAAgBmvE,EAAS5nF,QAEtC,IAAZ6xG,EAAmBJ,GAAU,CAACl1H,GAAMO,EAAO40H,GAAqB,OAAZG,EAAmBt1H,EAAMA,EAAM,KACnF21H,EAAaz5F,GAEjB,KACO,EAIX,QAAI84F,EAAY9yH,KAIhBmpG,EAAS5nF,OAAOyxG,GAAUlzG,EAAMhiB,EAAKm1H,GAAOQ,EAAazzH,KAElD,EACT,CAEA,MAAM62F,EAAQ,GAER+8B,EAAiBr2H,OAAOiU,OAAO0hH,GAAY,CAC/CK,iBACAE,eACAX,gBAyBF,IAAKL,EAAMlF,SAASjwH,GAClB,MAAM,IAAI0D,UAAU,0BAKtB,OA5BA,SAAS6zC,EAAM70C,EAAO8f,GACpB,IAAI2yG,EAAMvF,YAAYltH,GAAtB,CAEA,IAA8B,IAA1B62F,EAAM50F,QAAQjC,GAChB,MAAMqQ,MAAM,kCAAoCyP,EAAKrI,KAAK,MAG5Do/E,EAAM92F,KAAKC,GAEXyyH,EAAM1vH,QAAQ/C,GAAO,SAAcg6B,EAAIl8B,IAKtB,OAJE20H,EAAMvF,YAAYlzF,IAAc,OAAPA,IAAgBs5F,EAAQ1zH,KAChEupG,EAAUnvE,EAAIy4F,EAAMrF,SAAStvH,GAAOA,EAAIiqD,OAASjqD,EAAKgiB,EAAM8zG,KAI5D/+E,EAAM7a,EAAIla,EAAOA,EAAKxa,OAAOxH,GAAO,CAACA,GAEzC,IAEA+4F,EAAMr6C,KAlB8B,CAmBtC,CAMA3H,CAAMv3C,GAEC6rG,CACT,EC5MA,SAASpF,GAAO3hE,GACd,MAAMyxF,EAAU,CACd,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,MAAO,IACP,MAAO,MAET,OAAO58F,mBAAmBmL,GAAK1qB,QAAQ,oBAAoB,SAAkB0C,GAC3E,OAAOy5G,EAAQz5G,EACjB,GACF,CAUA,SAAS05G,GAAqB7vH,EAAQ0E,GACpC4W,KAAKw0G,OAAS,GAEd9vH,GAAU,GAAWA,EAAQsb,KAAM5W,EACrC,CAEA,MAAM,GAAYmrH,GAAqBtzH,UAEvC,GAAU+gB,OAAS,SAAgB3gB,EAAMZ,GACvCuf,KAAKw0G,OAAOh0H,KAAK,CAACa,EAAMZ,GAC1B,EAEA,GAAUS,SAAW,SAAkBuzH,GACrC,MAAMC,EAAUD,EAAU,SAASh0H,GACjC,OAAOg0H,EAAQp0H,KAAK2f,KAAMvf,EAAO+jG,GACnC,EAAIA,GAEJ,OAAOxkF,KAAKw0G,OAAO7vH,KAAI,SAAcmtH,GACnC,OAAO4C,EAAQ5C,EAAK,IAAM,IAAM4C,EAAQ5C,EAAK,GAC/C,GAAG,IAAI55G,KAAK,IACd,EAEA,YC5CA,SAAS,GAAO6d,GACd,OAAO2B,mBAAmB3B,GACxB5d,QAAQ,QAAS,KACjBA,QAAQ,OAAQ,KAChBA,QAAQ,QAAS,KACjBA,QAAQ,OAAQ,KAChBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,IACrB,CAWe,SAASw8G,GAASv9F,EAAK1yB,EAAQ0E,GAE5C,IAAK1E,EACH,OAAO0yB,EAGT,MAAMs9F,EAAUtrH,GAAWA,EAAQo7F,QAAU,GAEvCowB,EAAcxrH,GAAWA,EAAQyrH,UAEvC,IAAIC,EAUJ,GAPEA,EADEF,EACiBA,EAAYlwH,EAAQ0E,GAEpB8pH,EAAM7E,kBAAkB3pH,GACzCA,EAAOxD,WACP,IAAI,GAAqBwD,EAAQ0E,GAASlI,SAASwzH,GAGnDI,EAAkB,CACpB,MAAMC,EAAgB39F,EAAI10B,QAAQ,MAEX,IAAnBqyH,IACF39F,EAAMA,EAAIj2B,MAAM,EAAG4zH,IAErB39F,KAA8B,IAAtBA,EAAI10B,QAAQ,KAAc,IAAM,KAAOoyH,CACjD,CAEA,OAAO19F,CACT,CCQA,SAlEA,MACE,WAAAh2B,GACE4e,KAAKg1G,SAAW,EAClB,CAUA,GAAArP,CAAIsP,EAAWC,EAAU9rH,GAOvB,OANA4W,KAAKg1G,SAASx0H,KAAK,CACjBy0H,YACAC,WACAC,cAAa/rH,GAAUA,EAAQ+rH,YAC/BC,QAAShsH,EAAUA,EAAQgsH,QAAU,OAEhCp1G,KAAKg1G,SAAS53H,OAAS,CAChC,CASA,KAAAi4H,CAAM/lH,GACA0Q,KAAKg1G,SAAS1lH,KAChB0Q,KAAKg1G,SAAS1lH,GAAM,KAExB,CAOA,KAAA2wB,GACMjgB,KAAKg1G,WACPh1G,KAAKg1G,SAAW,GAEpB,CAYA,OAAAxxH,CAAQ1G,GACNo2H,EAAM1vH,QAAQwc,KAAKg1G,UAAU,SAAwBp1G,GACzC,OAANA,GACF9iB,EAAG8iB,EAEP,GACF,GCjEF,IACE01G,mBAAmB,EACnBC,mBAAmB,EACnBC,qBAAqB,GCDvB,IACEC,WAAW,EACXC,QAAS,CACPhoB,gBCJsC,qBAApBA,gBAAkCA,gBAAkB,GDKtEplD,SEN+B,qBAAbA,SAA2BA,SAAW,KFOxD1e,KGP2B,qBAATA,KAAuBA,KAAO,MHSlD+rF,UAAW,CAAC,OAAQ,QAAS,OAAQ,OAAQ,MAAO,SIXhDC,GAAkC,qBAAXxrH,QAA8C,qBAAbQ,SAmBxDirH,IACHC,GAEuB,qBAAdjkH,WAA6BA,UAAUikH,QADxCF,IAAiB,CAAC,cAAe,eAAgB,MAAMlzH,QAAQozH,IAAW,GAFvD,IAC3BA,GAaH,MAAMC,GAE2B,qBAAtBC,mBAEPp7F,gBAAgBo7F,mBACc,oBAAvBp7F,KAAKq7F,cAIV7jB,GAASwjB,IAAiBxrH,OAAO4H,SAASsyC,MAAQ,mBCvCxD,OACK,KACA,ICyFL,SA9CA,SAAwBslD,GACtB,SAASssB,EAAU31G,EAAM9f,EAAO+B,EAAQ1D,GACtC,IAAIuC,EAAOkf,EAAKzhB,KAEhB,GAAa,cAATuC,EAAsB,OAAO,EAEjC,MAAM80H,EAAe/xH,OAAOs7G,UAAUr+G,GAChCg9D,EAASv/D,GAASyhB,EAAKnjB,OAG7B,GAFAiE,GAAQA,GAAQ6xH,EAAMxzH,QAAQ8C,GAAUA,EAAOpF,OAASiE,EAEpDg9D,EAOF,OANI60D,EAAMjB,WAAWzvH,EAAQnB,GAC3BmB,EAAOnB,GAAQ,CAACmB,EAAOnB,GAAOZ,GAE9B+B,EAAOnB,GAAQZ,GAGT01H,EAGL3zH,EAAOnB,IAAU6xH,EAAMlF,SAASxrH,EAAOnB,MAC1CmB,EAAOnB,GAAQ,IASjB,OANe60H,EAAU31G,EAAM9f,EAAO+B,EAAOnB,GAAOvC,IAEtCo0H,EAAMxzH,QAAQ8C,EAAOnB,MACjCmB,EAAOnB,GA/Cb,SAAuB7B,GACrB,MAAMzB,EAAM,CAAC,EACPK,EAAOJ,OAAOI,KAAKoB,GACzB,IAAIC,EACJ,MAAMkC,EAAMvD,EAAKhB,OACjB,IAAImB,EACJ,IAAKkB,EAAI,EAAGA,EAAIkC,EAAKlC,IACnBlB,EAAMH,EAAKqB,GACX1B,EAAIQ,GAAOiB,EAAIjB,GAEjB,OAAOR,CACT,CAoCqBq4H,CAAc5zH,EAAOnB,MAG9B80H,CACV,CAEA,GAAIjD,EAAM3C,WAAW3mB,IAAaspB,EAAMpF,WAAWlkB,EAASv3E,SAAU,CACpE,MAAMt0B,EAAM,CAAC,EAMb,OAJAm1H,EAAMrB,aAAajoB,GAAU,CAACvoG,EAAMZ,KAClCy1H,EA1EN,SAAuB70H,GAKrB,OAAO6xH,EAAMnB,SAAS,gBAAiB1wH,GAAMsD,KAAIkW,GAC3B,OAAbA,EAAM,GAAc,GAAKA,EAAM,IAAMA,EAAM,IAEtD,CAkEgBw7G,CAAch1H,GAAOZ,EAAO1C,EAAK,EAAE,IAGxCA,CACT,CAEA,OAAO,IACT,ECzDA,MAAMu4H,GAAW,CAEfC,aAAc,GAEdC,QAAS,CAAC,MAAO,OAAQ,SAEzBC,iBAAkB,CAAC,SAA0BxvG,EAAMrhB,GACjD,MAAMs8D,EAAct8D,EAAQi3D,kBAAoB,GAC1C65D,EAAqBx0D,EAAYx/D,QAAQ,qBAAuB,EAChEi0H,EAAkBzD,EAAMlF,SAAS/mG,GAEnC0vG,GAAmBzD,EAAMhE,WAAWjoG,KACtCA,EAAO,IAAIqhC,SAASrhC,IAKtB,GAFmBisG,EAAM3C,WAAWtpG,GAGlC,OAAOyvG,EAAqB3lH,KAAKC,UAAU,GAAeiW,IAASA,EAGrE,GAAIisG,EAAMtF,cAAc3mG,IACtBisG,EAAM5C,SAASrpG,IACfisG,EAAMrC,SAAS5pG,IACfisG,EAAM/E,OAAOlnG,IACbisG,EAAM1nF,OAAOvkB,IACbisG,EAAM5E,iBAAiBrnG,GAEvB,OAAOA,EAET,GAAIisG,EAAMzC,kBAAkBxpG,GAC1B,OAAOA,EAAK0pG,OAEd,GAAIuC,EAAM7E,kBAAkBpnG,GAE1B,OADArhB,EAAQgxH,eAAe,mDAAmD,GACnE3vG,EAAK/lB,WAGd,IAAIktH,EAEJ,GAAIuI,EAAiB,CACnB,GAAIz0D,EAAYx/D,QAAQ,sCAAwC,EAC9D,OCvEO,SAA0BukB,EAAM7d,GAC7C,OAAO,GAAW6d,EAAM,IAAI6iC,GAAS4rE,QAAQhoB,gBAAmB1vG,OAAOiU,OAAO,CAC5E8hH,QAAS,SAAStzH,EAAOlC,EAAKgiB,EAAMs2G,GAClC,OAAI/sE,GAASgtE,QAAU5D,EAAM5C,SAAS7vH,IACpCuf,KAAKgC,OAAOzjB,EAAKkC,EAAMS,SAAS,YACzB,GAGF21H,EAAQ7C,eAAet2H,MAAMsiB,KAAM7iB,UAC5C,GACCiM,GACL,CD4De2tH,CAAiB9vG,EAAMjH,KAAKg3G,gBAAgB91H,WAGrD,IAAKktH,EAAa8E,EAAM9E,WAAWnnG,KAAUi7C,EAAYx/D,QAAQ,wBAA0B,EAAG,CAC5F,MAAMu0H,EAAYj3G,KAAKk3G,KAAOl3G,KAAKk3G,IAAI5uE,SAEvC,OAAO,GACL8lE,EAAa,CAAC,UAAWnnG,GAAQA,EACjCgwG,GAAa,IAAIA,EACjBj3G,KAAKg3G,eAET,CACF,CAEA,OAAIL,GAAmBD,GACrB9wH,EAAQgxH,eAAe,oBAAoB,GAxEjD,SAAyBp4G,EAAU2lC,EAAQswE,GACzC,GAAIvB,EAAMrF,SAASrvG,GACjB,IAEE,OADC2lC,GAAUpzC,KAAKssC,OAAO7+B,GAChB00G,EAAM1qE,KAAKhqC,EACpB,CAAE,MAAOkB,GACP,GAAe,gBAAXA,EAAEre,KACJ,MAAMqe,CAEV,CAGF,OAAQ+0G,GAAW1jH,KAAKC,WAAWwN,EACrC,CA4Da24G,CAAgBlwG,IAGlBA,CACT,GAEAhU,kBAAmB,CAAC,SAA2BgU,GAC7C,MAAMsvG,EAAev2G,KAAKu2G,cAAgBD,GAASC,aAC7ChB,EAAoBgB,GAAgBA,EAAahB,kBACjD6B,EAAsC,SAAtBp3G,KAAK6tF,aAE3B,GAAIqlB,EAAM1E,WAAWvnG,IAASisG,EAAM5E,iBAAiBrnG,GACnD,OAAOA,EAGT,GAAIA,GAAQisG,EAAMrF,SAAS5mG,KAAWsuG,IAAsBv1G,KAAK6tF,cAAiBupB,GAAgB,CAChG,MACMC,IADoBd,GAAgBA,EAAajB,oBACP8B,EAEhD,IACE,OAAOrmH,KAAKssC,MAAMp2B,EACpB,CAAE,MAAOvH,GACP,GAAI23G,EAAmB,CACrB,GAAe,gBAAX33G,EAAEre,KACJ,MAAM,EAAWC,KAAKoe,EAAG,EAAW43G,iBAAkBt3G,KAAM,KAAMA,KAAKnM,UAEzE,MAAM6L,CACR,CACF,CACF,CAEA,OAAOuH,CACT,GAMA0O,QAAS,EAET4hG,eAAgB,aAChBC,eAAgB,eAEhBC,kBAAmB,EACnBC,eAAgB,EAEhBR,IAAK,CACH5uE,SAAUwB,GAAS4rE,QAAQptE,SAC3B1e,KAAMkgB,GAAS4rE,QAAQ9rF,MAGzB2lE,eAAgB,SAAwB7/F,GACtC,OAAOA,GAAU,KAAOA,EAAS,GACnC,EAEA9J,QAAS,CACP+xH,OAAQ,CACN,OAAU,oCACV,oBAAgB16H,KAKtBi2H,EAAM1vH,QAAQ,CAAC,SAAU,MAAO,OAAQ,OAAQ,MAAO,UAAWgC,IAChE8wH,GAAS1wH,QAAQJ,GAAU,CAAC,CAAC,IAG/B,YE1JMoyH,GAAoB1E,EAAMf,YAAY,CAC1C,MAAO,gBAAiB,iBAAkB,eAAgB,OAC1D,UAAW,OAAQ,OAAQ,oBAAqB,sBAChD,gBAAiB,WAAY,eAAgB,sBAC7C,UAAW,cAAe,eCLtB0F,GAAaj4H,OAAO,aAE1B,SAASk4H,GAAgBnmG,GACvB,OAAOA,GAAUxtB,OAAOwtB,GAAQ62B,OAAOnnC,aACzC,CAEA,SAAS02G,GAAet3H,GACtB,OAAc,IAAVA,GAA4B,MAATA,EACdA,EAGFyyH,EAAMxzH,QAAQe,GAASA,EAAMkE,IAAIozH,IAAkB5zH,OAAO1D,EACnE,CAgBA,SAASu3H,GAAiBxuH,EAAS/I,EAAOkxB,EAAQxuB,EAAQ80H,GACxD,OAAI/E,EAAMpF,WAAW3qH,GACZA,EAAO9C,KAAK2f,KAAMvf,EAAOkxB,IAG9BsmG,IACFx3H,EAAQkxB,GAGLuhG,EAAMrF,SAASptH,GAEhByyH,EAAMrF,SAAS1qH,IACiB,IAA3B1C,EAAMiC,QAAQS,GAGnB+vH,EAAM9D,SAASjsH,GACVA,EAAO5B,KAAKd,QADrB,OANA,EASF,CAsBA,MAAMy3H,GACJ,WAAA92H,CAAYwE,GACVA,GAAWoa,KAAKC,IAAIra,EACtB,CAEA,GAAAqa,CAAI0R,EAAQwmG,EAAgBC,GAC1B,MAAMx9F,EAAO5a,KAEb,SAASq4G,EAAUC,EAAQC,EAASC,GAClC,MAAMC,EAAUX,GAAgBS,GAEhC,IAAKE,EACH,MAAM,IAAI3nH,MAAM,0CAGlB,MAAMvS,EAAM20H,EAAMtE,QAAQh0F,EAAM69F,KAE5Bl6H,QAAqBtB,IAAd29B,EAAKr8B,KAAmC,IAAbi6H,QAAmCv7H,IAAbu7H,IAAwC,IAAd59F,EAAKr8B,MACzFq8B,EAAKr8B,GAAOg6H,GAAWR,GAAeO,GAE1C,CAEA,MAAMI,EAAa,CAAC9yH,EAAS4yH,IAC3BtF,EAAM1vH,QAAQoC,GAAS,CAAC0yH,EAAQC,IAAYF,EAAUC,EAAQC,EAASC,KAEzE,GAAItF,EAAMhmG,cAAcyE,IAAWA,aAAkB3R,KAAK5e,YACxDs3H,EAAW/mG,EAAQwmG,QACd,GAAGjF,EAAMrF,SAASl8F,KAAYA,EAASA,EAAO62B,UArEtB,iCAAiCjnD,KAqEmBowB,EArEV62B,QAsEvEkwE,ED1EN,CAAeC,IACb,MAAMC,EAAS,CAAC,EAChB,IAAIr6H,EACAw3B,EACAt2B,EAsBJ,OApBAk5H,GAAcA,EAAWrzH,MAAM,MAAM9B,SAAQ,SAAgBwqG,GAC3DvuG,EAAIuuG,EAAKtrG,QAAQ,KACjBnE,EAAMyvG,EAAKj0E,UAAU,EAAGt6B,GAAG+oD,OAAOnnC,cAClC0U,EAAMi4E,EAAKj0E,UAAUt6B,EAAI,GAAG+oD,QAEvBjqD,GAAQq6H,EAAOr6H,IAAQq5H,GAAkBr5H,KAIlC,eAARA,EACEq6H,EAAOr6H,GACTq6H,EAAOr6H,GAAKiC,KAAKu1B,GAEjB6iG,EAAOr6H,GAAO,CAACw3B,GAGjB6iG,EAAOr6H,GAAOq6H,EAAOr6H,GAAOq6H,EAAOr6H,GAAO,KAAOw3B,EAAMA,EAE3D,IAEO6iG,CACR,EC+CgBC,CAAalnG,GAASwmG,QAC5B,GAAIjF,EAAMzE,UAAU98F,GACzB,IAAK,MAAOpzB,EAAKkC,KAAUkxB,EAAOU,UAChCgmG,EAAU53H,EAAOlC,EAAK65H,QAGd,MAAVzmG,GAAkB0mG,EAAUF,EAAgBxmG,EAAQymG,GAGtD,OAAOp4G,IACT,CAEA,GAAAD,CAAI4R,EAAQwyB,GAGV,GAFAxyB,EAASmmG,GAAgBnmG,GAEb,CACV,MAAMpzB,EAAM20H,EAAMtE,QAAQ5uG,KAAM2R,GAEhC,GAAIpzB,EAAK,CACP,MAAMkC,EAAQuf,KAAKzhB,GAEnB,IAAK4lD,EACH,OAAO1jD,EAGT,IAAe,IAAX0jD,EACF,OA5GV,SAAqBthB,GACnB,MAAMi2F,EAAS96H,OAAOw4B,OAAO,MACvBuiG,EAAW,mCACjB,IAAIl+G,EAEJ,KAAQA,EAAQk+G,EAASz8B,KAAKz5D,IAC5Bi2F,EAAOj+G,EAAM,IAAMA,EAAM,GAG3B,OAAOi+G,CACT,CAkGiBE,CAAYv4H,GAGrB,GAAIyyH,EAAMpF,WAAW3pE,GACnB,OAAOA,EAAO9jD,KAAK2f,KAAMvf,EAAOlC,GAGlC,GAAI20H,EAAM9D,SAASjrE,GACjB,OAAOA,EAAOm4C,KAAK77F,GAGrB,MAAM,IAAIgB,UAAU,yCACtB,CACF,CACF,CAEA,GAAA8mD,CAAI52B,EAAQkoB,GAGV,GAFAloB,EAASmmG,GAAgBnmG,GAEb,CACV,MAAMpzB,EAAM20H,EAAMtE,QAAQ5uG,KAAM2R,GAEhC,SAAUpzB,QAAqBtB,IAAd+iB,KAAKzhB,IAAwBs7C,IAAWm+E,GAAiBh4G,EAAMA,KAAKzhB,GAAMA,EAAKs7C,GAClG,CAEA,OAAO,CACT,CAEA,OAAOloB,EAAQkoB,GACb,MAAMjf,EAAO5a,KACb,IAAIi5G,GAAU,EAEd,SAASC,EAAaX,GAGpB,GAFAA,EAAUT,GAAgBS,GAEb,CACX,MAAMh6H,EAAM20H,EAAMtE,QAAQh0F,EAAM29F,IAE5Bh6H,GAASs7C,IAAWm+E,GAAiBp9F,EAAMA,EAAKr8B,GAAMA,EAAKs7C,YACtDjf,EAAKr8B,GAEZ06H,GAAU,EAEd,CACF,CAQA,OANI/F,EAAMxzH,QAAQiyB,GAChBA,EAAOnuB,QAAQ01H,GAEfA,EAAavnG,GAGRsnG,CACT,CAEA,KAAAh5F,CAAM4Z,GACJ,MAAMz7C,EAAOJ,OAAOI,KAAK4hB,MACzB,IAAIvgB,EAAIrB,EAAKhB,OACT67H,GAAU,EAEd,KAAOx5H,KAAK,CACV,MAAMlB,EAAMH,EAAKqB,GACbo6C,IAAWm+E,GAAiBh4G,EAAMA,KAAKzhB,GAAMA,EAAKs7C,GAAS,YACtD75B,KAAKzhB,GACZ06H,GAAU,EAEd,CAEA,OAAOA,CACT,CAEA,SAAAE,CAAUn9F,GACR,MAAMpB,EAAO5a,KACPpa,EAAU,CAAC,EAsBjB,OApBAstH,EAAM1vH,QAAQwc,MAAM,CAACvf,EAAOkxB,KAC1B,MAAMpzB,EAAM20H,EAAMtE,QAAQhpH,EAAS+rB,GAEnC,GAAIpzB,EAGF,OAFAq8B,EAAKr8B,GAAOw5H,GAAet3H,eACpBm6B,EAAKjJ,GAId,MAAMynG,EAAap9F,EA9JzB,SAAsBrK,GACpB,OAAOA,EAAO62B,OACXnnC,cAAclJ,QAAQ,mBAAmB,CAAC0L,EAAGw1G,EAAMx2F,IAC3Cw2F,EAAKtgG,cAAgB8J,GAElC,CAyJkCy2F,CAAa3nG,GAAUxtB,OAAOwtB,GAAQ62B,OAE9D4wE,IAAeznG,UACViJ,EAAKjJ,GAGdiJ,EAAKw+F,GAAcrB,GAAet3H,GAElCmF,EAAQwzH,IAAc,CAAI,IAGrBp5G,IACT,CAEA,MAAAja,IAAUwzH,GACR,OAAOv5G,KAAK5e,YAAY2E,OAAOia,QAASu5G,EAC1C,CAEA,MAAAryE,CAAOsyE,GACL,MAAMz7H,EAAMC,OAAOw4B,OAAO,MAM1B,OAJA08F,EAAM1vH,QAAQwc,MAAM,CAACvf,EAAOkxB,KACjB,MAATlxB,IAA2B,IAAVA,IAAoB1C,EAAI4zB,GAAU6nG,GAAatG,EAAMxzH,QAAQe,GAASA,EAAMyX,KAAK,MAAQzX,EAAM,IAG3G1C,CACT,CAEA,CAAC6B,OAAOC,YACN,OAAO7B,OAAOq0B,QAAQrS,KAAKknC,UAAUtnD,OAAOC,WAC9C,CAEA,QAAAqB,GACE,OAAOlD,OAAOq0B,QAAQrS,KAAKknC,UAAUviD,KAAI,EAAEgtB,EAAQlxB,KAAWkxB,EAAS,KAAOlxB,IAAOyX,KAAK,KAC5F,CAEA,IAAKtY,OAAOquH,eACV,MAAO,cACT,CAEA,WAAO3sH,CAAKksH,GACV,OAAOA,aAAiBxtG,KAAOwtG,EAAQ,IAAIxtG,KAAKwtG,EAClD,CAEA,aAAOznH,CAAO7H,KAAUq7H,GACtB,MAAME,EAAW,IAAIz5G,KAAK9hB,GAI1B,OAFAq7H,EAAQ/1H,SAAShB,GAAWi3H,EAASx5G,IAAIzd,KAElCi3H,CACT,CAEA,eAAOC,CAAS/nG,GACd,MAIMgoG,GAJY35G,KAAK63G,IAAe73G,KAAK63G,IAAc,CACvD8B,UAAW,CAAC,IAGcA,UACtB14H,EAAY+e,KAAK/e,UAEvB,SAAS24H,EAAerB,GACtB,MAAME,EAAUX,GAAgBS,GAE3BoB,EAAUlB,MAtNrB,SAAwB16H,EAAK4zB,GAC3B,MAAMkoG,EAAe3G,EAAMb,YAAY,IAAM1gG,GAE7C,CAAC,MAAO,MAAO,OAAOnuB,SAAQs2H,IAC5B97H,OAAO4F,eAAe7F,EAAK+7H,EAAaD,EAAc,CACpDp5H,MAAO,SAASw5C,EAAMC,EAAMC,GAC1B,OAAOn6B,KAAK85G,GAAYz5H,KAAK2f,KAAM2R,EAAQsoB,EAAMC,EAAMC,EACzD,EACA51C,cAAc,GACd,GAEN,CA4MQw1H,CAAe94H,EAAWs3H,GAC1BoB,EAAUlB,IAAW,EAEzB,CAIA,OAFAvF,EAAMxzH,QAAQiyB,GAAUA,EAAOnuB,QAAQo2H,GAAkBA,EAAejoG,GAEjE3R,IACT,EAGFk4G,GAAawB,SAAS,CAAC,eAAgB,iBAAkB,SAAU,kBAAmB,aAAc,kBAGpGxG,EAAM7D,kBAAkB6I,GAAaj3H,WAAW,EAAER,SAAQlC,KACxD,IAAIy7H,EAASz7H,EAAI,GAAGw6B,cAAgBx6B,EAAI4C,MAAM,GAC9C,MAAO,CACL4e,IAAK,IAAMtf,EACX,GAAAwf,CAAIg6G,GACFj6G,KAAKg6G,GAAUC,CACjB,EACF,IAGF/G,EAAMhB,cAAcgG,IAEpB,YC/Re,SAASgC,GAAcv/E,EAAK9mC,GACzC,MAAMmhC,EAASh1B,MAAQ,GACjBxW,EAAUqK,GAAYmhC,EACtBpvC,EAAU,GAAatE,KAAKkI,EAAQ5D,SAC1C,IAAIqhB,EAAOzd,EAAQyd,KAQnB,OANAisG,EAAM1vH,QAAQm3C,GAAK,SAAmB79C,GACpCmqB,EAAOnqB,EAAGuD,KAAK20C,EAAQ/tB,EAAMrhB,EAAQuzH,YAAatlH,EAAWA,EAASnE,YAASzS,EACjF,IAEA2I,EAAQuzH,YAEDlyG,CACT,CCzBe,SAASkzG,GAAS15H,GAC/B,SAAUA,IAASA,EAAM25H,WAC3B,CCUA,SAASC,GAAc17E,EAAS3J,EAAQ1hC,GAEtC,EAAWjT,KAAK2f,KAAiB,MAAX2+B,EAAkB,WAAaA,EAAS,EAAW27E,aAActlF,EAAQ1hC,GAC/F0M,KAAK3e,KAAO,eACd,CAEA6xH,EAAM9B,SAASiJ,GAAe,EAAY,CACxCD,YAAY,IAGd,YCXe,SAASG,GAAO9pH,EAAS4E,EAAQxB,GAC9C,MAAM07F,EAAiB17F,EAASmhC,OAAOu6D,eAClC17F,EAASnE,QAAW6/F,IAAkBA,EAAe17F,EAASnE,QAGjE2F,EAAO,IAAI,EACT,mCAAqCxB,EAASnE,OAC9C,CAAC,EAAW8qH,gBAAiB,EAAWlD,kBAAkB3iG,KAAKwD,MAAMtkB,EAASnE,OAAS,KAAO,GAC9FmE,EAASmhC,OACTnhC,EAASP,QACTO,IAPFpD,EAAQoD,EAUZ,CC4BA,SA9CA,SAAqB4mH,EAAcviG,GACjCuiG,EAAeA,GAAgB,GAC/B,MAAM75E,EAAQ,IAAItjD,MAAMm9H,GAClBC,EAAa,IAAIp9H,MAAMm9H,GAC7B,IAEIE,EAFAtxE,EAAO,EACPuxE,EAAO,EAKX,OAFA1iG,OAAcj7B,IAARi7B,EAAoBA,EAAM,IAEzB,SAAc2iG,GACnB,MAAMt1G,EAAMD,KAAKC,MAEXu1G,EAAYJ,EAAWE,GAExBD,IACHA,EAAgBp1G,GAGlBq7B,EAAMyI,GAAQwxE,EACdH,EAAWrxE,GAAQ9jC,EAEnB,IAAI9lB,EAAIm7H,EACJG,EAAa,EAEjB,KAAOt7H,IAAM4pD,GACX0xE,GAAcn6E,EAAMnhD,KACpBA,GAAQg7H,EASV,GANApxE,GAAQA,EAAO,GAAKoxE,EAEhBpxE,IAASuxE,IACXA,GAAQA,EAAO,GAAKH,GAGlBl1G,EAAMo1G,EAAgBziG,EACxB,OAGF,MAAM8iG,EAASF,GAAav1G,EAAMu1G,EAElC,OAAOE,EAASrmG,KAAKoa,MAAmB,IAAbgsF,EAAoBC,QAAU/9H,CAC3D,CACF,ECTA,SArCA,SAAkBH,EAAIm+H,GACpB,IAEIC,EACAprB,EAHAqrB,EAAY,EACZC,EAAY,IAAOH,EAIvB,MAAMI,EAAS,CAACh+H,EAAMkoB,EAAMD,KAAKC,SAC/B41G,EAAY51G,EACZ21G,EAAW,KACPprB,IACFtyG,aAAasyG,GACbA,EAAQ,MAEVhzG,EAAGY,MAAM,KAAML,EAAK,EAqBtB,MAAO,CAlBW,IAAIA,KACpB,MAAMkoB,EAAMD,KAAKC,MACXy1G,EAASz1G,EAAM41G,EAChBH,GAAUI,EACbC,EAAOh+H,EAAMkoB,IAEb21G,EAAW79H,EACNyyG,IACHA,EAAQryG,YAAW,KACjBqyG,EAAQ,KACRurB,EAAOH,EAAQ,GACdE,EAAYJ,IAEnB,EAGY,IAAME,GAAYG,EAAOH,GAGzC,ECrCaI,GAAuB,CAAClnB,EAAUmnB,EAAkBN,EAAO,KACtE,IAAIO,EAAgB,EACpB,MAAMC,EAAe,GAAY,GAAI,KAErC,OAAO,IAAS/7G,IACd,MAAMoX,EAASpX,EAAEoX,OACXC,EAAQrX,EAAEsjF,iBAAmBtjF,EAAEqX,WAAQ95B,EACvCy+H,EAAgB5kG,EAAS0kG,EACzBG,EAAOF,EAAaC,GAG1BF,EAAgB1kG,EAchBs9E,EAZa,CACXt9E,SACAC,QACAF,SAAUE,EAASD,EAASC,OAAS95B,EACrC2jD,MAAO86E,EACPC,KAAMA,QAAc1+H,EACpB2+H,UAAWD,GAAQ5kG,GAVLD,GAAUC,GAUeA,EAAQD,GAAU6kG,OAAO1+H,EAChEgM,MAAOyW,EACPsjF,iBAA2B,MAATjsE,EAClB,CAACwkG,EAAmB,WAAa,WAAW,GAGhC,GACbN,EAAK,EAGGY,GAAyB,CAAC9kG,EAAO+kG,KAC5C,MAAM94B,EAA4B,MAATjsE,EAEzB,MAAO,CAAED,GAAWglG,EAAU,GAAG,CAC/B94B,mBACAjsE,QACAD,WACEglG,EAAU,GAAG,EAGNC,GAAkBj/H,GAAO,IAAIO,IAAS61H,EAAM/C,MAAK,IAAMrzH,KAAMO,KCtC1E,GAAeysD,GAAS+rE,sBAItB,WACE,MAAMmG,EAAO,kBAAkBz6H,KAAKsQ,UAAU+I,WACxCqhH,EAAiBrxH,SAASC,cAAc,KAC9C,IAAIqxH,EAQJ,SAASC,EAAW/kG,GAClB,IAAIktB,EAAOltB,EAWX,OATI4kG,IAEFC,EAAe37G,aAAa,OAAQgkC,GACpCA,EAAO23E,EAAe33E,MAGxB23E,EAAe37G,aAAa,OAAQgkC,GAG7B,CACLA,KAAM23E,EAAe33E,KACrB0W,SAAUihE,EAAejhE,SAAWihE,EAAejhE,SAAS7iD,QAAQ,KAAM,IAAM,GAChFmiF,KAAM2hC,EAAe3hC,KACrB5gE,OAAQuiG,EAAeviG,OAASuiG,EAAeviG,OAAOvhB,QAAQ,MAAO,IAAM,GAC3E2rF,KAAMm4B,EAAen4B,KAAOm4B,EAAen4B,KAAK3rF,QAAQ,KAAM,IAAM,GACpEiiF,SAAU6hC,EAAe7hC,SACzBgiC,KAAMH,EAAeG,KACrBC,SAAiD,MAAtCJ,EAAeI,SAASziG,OAAO,GACxCqiG,EAAeI,SACf,IAAMJ,EAAeI,SAE3B,CAUA,OARAH,EAAYC,EAAW/xH,OAAO4H,SAASsyC,MAQhC,SAAyBg4E,GAC9B,MAAM1D,EAAU1F,EAAMrF,SAASyO,GAAeH,EAAWG,GAAcA,EACvE,OAAQ1D,EAAO59D,WAAakhE,EAAUlhE,UAClC49D,EAAOt+B,OAAS4hC,EAAU5hC,IAChC,CACD,CAlDD,GAsDS,WACL,OAAO,CACT,EC9DJ,GAAexwC,GAAS+rE,sBAGtB,CACE,KAAA0G,CAAMl7H,EAAMZ,EAAOwkG,EAAS1kF,EAAMi8G,EAAQC,GACxC,MAAMC,EAAS,CAACr7H,EAAO,IAAMq2B,mBAAmBj3B,IAEhDyyH,EAAMnF,SAAS9oB,IAAYy3B,EAAOl8H,KAAK,WAAa,IAAI8kB,KAAK2/E,GAAS03B,eAEtEzJ,EAAMrF,SAASttG,IAASm8G,EAAOl8H,KAAK,QAAU+f,GAE9C2yG,EAAMrF,SAAS2O,IAAWE,EAAOl8H,KAAK,UAAYg8H,IAEvC,IAAXC,GAAmBC,EAAOl8H,KAAK,UAE/BoK,SAAS8xH,OAASA,EAAOxkH,KAAK,KAChC,EAEA,IAAA0kH,CAAKv7H,GACH,MAAMwZ,EAAQjQ,SAAS8xH,OAAO7hH,MAAM,IAAIwO,OAAO,aAAehoB,EAAO,cACrE,OAAQwZ,EAAQmwB,mBAAmBnwB,EAAM,IAAM,IACjD,EAEA,MAAAyX,CAAOjxB,GACL2e,KAAKu8G,MAAMl7H,EAAM,GAAIikB,KAAKC,MAAQ,MACpC,GAMF,CACE,KAAAg3G,GAAS,EACTK,KAAI,IACK,KAET,MAAAtqG,GAAU,GCxBC,SAASuqG,GAAcC,EAASC,GAC7C,OAAID,ICHG,8BAA8Bv7H,KDGPw7H,GENjB,SAAqBD,EAASE,GAC3C,OAAOA,EACHF,EAAQ3kH,QAAQ,SAAU,IAAM,IAAM6kH,EAAY7kH,QAAQ,OAAQ,IAClE2kH,CACN,CFGWG,CAAYH,EAASC,GAEvBA,CACT,CGfA,MAAMG,GAAmB1P,GAAUA,aAAiB,GAAe,IAAKA,GAAUA,EAWnE,SAAS2P,GAAYC,EAASC,GAE3CA,EAAUA,GAAW,CAAC,EACtB,MAAMroF,EAAS,CAAC,EAEhB,SAASsoF,EAAe96H,EAAQF,EAAQyuH,GACtC,OAAImC,EAAMhmG,cAAc1qB,IAAW0wH,EAAMhmG,cAAc5qB,GAC9C4wH,EAAM3mE,MAAMlsD,KAAK,CAAC0wH,YAAWvuH,EAAQF,GACnC4wH,EAAMhmG,cAAc5qB,GACtB4wH,EAAM3mE,MAAM,CAAC,EAAGjqD,GACd4wH,EAAMxzH,QAAQ4C,GAChBA,EAAOnB,QAETmB,CACT,CAGA,SAASi7H,EAAoBvvH,EAAGC,EAAG8iH,GACjC,OAAKmC,EAAMvF,YAAY1/G,GAEXilH,EAAMvF,YAAY3/G,QAAvB,EACEsvH,OAAergI,EAAW+Q,EAAG+iH,GAF7BuM,EAAetvH,EAAGC,EAAG8iH,EAIhC,CAGA,SAASyM,EAAiBxvH,EAAGC,GAC3B,IAAKilH,EAAMvF,YAAY1/G,GACrB,OAAOqvH,OAAergI,EAAWgR,EAErC,CAGA,SAASwvH,EAAiBzvH,EAAGC,GAC3B,OAAKilH,EAAMvF,YAAY1/G,GAEXilH,EAAMvF,YAAY3/G,QAAvB,EACEsvH,OAAergI,EAAW+Q,GAF1BsvH,OAAergI,EAAWgR,EAIrC,CAGA,SAASyvH,EAAgB1vH,EAAGC,EAAGkhH,GAC7B,OAAIA,KAAQkO,EACHC,EAAetvH,EAAGC,GAChBkhH,KAAQiO,EACVE,OAAergI,EAAW+Q,QAD5B,CAGT,CAEA,MAAM2vH,EAAW,CACfvmG,IAAKomG,EACLh4H,OAAQg4H,EACRv2G,KAAMu2G,EACNV,QAASW,EACThH,iBAAkBgH,EAClBxqH,kBAAmBwqH,EACnBG,iBAAkBH,EAClB9nG,QAAS8nG,EACTI,eAAgBJ,EAChBntB,gBAAiBmtB,EACjBK,cAAeL,EACfjH,QAASiH,EACT5vB,aAAc4vB,EACdlG,eAAgBkG,EAChBjG,eAAgBiG,EAChBM,iBAAkBN,EAClBO,mBAAoBP,EACpBQ,WAAYR,EACZhG,iBAAkBgG,EAClB/F,cAAe+F,EACfS,eAAgBT,EAChBU,UAAWV,EACXW,UAAWX,EACXY,WAAYZ,EACZa,YAAab,EACbc,WAAYd,EACZe,iBAAkBf,EAClBluB,eAAgBmuB,EAChB93H,QAAS,CAACoI,EAAGC,IAAMsvH,EAAoBL,GAAgBlvH,GAAIkvH,GAAgBjvH,IAAI,IASjF,OANAilH,EAAM1vH,QAAQxF,OAAOI,KAAKJ,OAAOiU,OAAO,CAAC,EAAGmrH,EAASC,KAAW,SAA4BlO,GAC1F,MAAM5iE,EAAQoxE,EAASxO,IAASoO,EAC1BkB,EAAclyE,EAAM6wE,EAAQjO,GAAOkO,EAAQlO,GAAOA,GACvD+D,EAAMvF,YAAY8Q,IAAgBlyE,IAAUmxE,IAAqB1oF,EAAOm6E,GAAQsP,EACnF,IAEOzpF,CACT,CChGA,SAAgBA,IACd,MAAM0pF,EAAYvB,GAAY,CAAC,EAAGnoF,GAElC,IAaIktB,GAbA,KAACj7C,EAAI,cAAE62G,EAAa,eAAEtG,EAAc,eAAED,EAAc,QAAE3xH,EAAO,KAAE+4H,GAAQD,EAe3E,GAbAA,EAAU94H,QAAUA,EAAU,GAAatE,KAAKsE,GAEhD84H,EAAUtnG,IAAMu9F,GAASkI,GAAc6B,EAAU5B,QAAS4B,EAAUtnG,KAAM4d,EAAOtwC,OAAQswC,EAAO4oF,kBAG5Fe,GACF/4H,EAAQqa,IAAI,gBAAiB,SAC3BmtB,MAAMuxF,EAAKC,UAAY,IAAM,KAAOD,EAAKE,SAAWC,SAASpnG,mBAAmBinG,EAAKE,WAAa,MAMlG3L,EAAM3C,WAAWtpG,GACnB,GAAI6iC,GAAS+rE,uBAAyB/rE,GAASisE,+BAC7CnwH,EAAQgxH,oBAAe35H,QAClB,IAAiD,KAA5CilE,EAAct8D,EAAQi3D,kBAA6B,CAE7D,MAAOxvD,KAASyrH,GAAU52D,EAAcA,EAAY58D,MAAM,KAAKX,KAAIq1F,GAASA,EAAMxxC,SAAQrlD,OAAOoN,SAAW,GAC5G3K,EAAQgxH,eAAe,CAACvpH,GAAQ,yBAA0ByrH,GAAQ5gH,KAAK,MACzE,CAOF,GAAI4xC,GAAS+rE,wBACXiI,GAAiB5K,EAAMpF,WAAWgQ,KAAmBA,EAAgBA,EAAcY,IAE/EZ,IAAoC,IAAlBA,GAA2BiB,GAAgBL,EAAUtnG,MAAO,CAEhF,MAAM4nG,EAAYxH,GAAkBD,GAAkB0H,GAAQrC,KAAKrF,GAE/DyH,GACFp5H,EAAQqa,IAAIu3G,EAAgBwH,EAEhC,CAGF,OAAON,CACR,EC1CD,GAFwD,qBAAnB/wB,gBAEG,SAAU34D,GAChD,OAAO,IAAI5kC,SAAQ,SAA4BK,EAAS4E,GACtD,MAAM6pH,EAAUC,GAAcnqF,GAC9B,IAAIoqF,EAAcF,EAAQj4G,KAC1B,MAAMo4G,EAAiB,GAAa/9H,KAAK49H,EAAQt5H,SAASuzH,YAC1D,IACImG,EACAC,EAAiBC,EACjBC,EAAaC,GAHb,aAAC7xB,EAAY,iBAAEkwB,EAAgB,mBAAEC,GAAsBkB,EAK3D,SAAS3+H,IACPk/H,GAAeA,IACfC,GAAiBA,IAEjBR,EAAQZ,aAAeY,EAAQZ,YAAYqB,YAAYL,GAEvDJ,EAAQpnC,QAAUonC,EAAQpnC,OAAOv2E,oBAAoB,QAAS+9G,EAChE,CAEA,IAAIhsH,EAAU,IAAIq6F,eAOlB,SAAS38D,IACP,IAAK19B,EACH,OAGF,MAAMssH,EAAkB,GAAat+H,KACnC,0BAA2BgS,GAAWA,EAAQw6F,yBAahDysB,IAAO,SAAkB95H,GACvBgQ,EAAQhQ,GACRF,GACF,IAAG,SAAiBG,GAClB2U,EAAO3U,GACPH,GACF,GAfiB,CACf0mB,KAHoB4mF,GAAiC,SAAjBA,GAA4C,SAAjBA,EACxCv6F,EAAQO,SAA/BP,EAAQyqF,aAGRruF,OAAQ4D,EAAQ5D,OAChByrF,WAAY7nF,EAAQ6nF,WACpBv1F,QAASg6H,EACT5qF,SACA1hC,YAYFA,EAAU,IACZ,CAlCAA,EAAQlB,KAAK8sH,EAAQ15H,OAAOuzB,cAAemmG,EAAQ9nG,KAAK,GAGxD9jB,EAAQqiB,QAAUupG,EAAQvpG,QAiCtB,cAAeriB,EAEjBA,EAAQ09B,UAAYA,EAGpB19B,EAAQusH,mBAAqB,WACtBvsH,GAAkC,IAAvBA,EAAQwpF,aAQD,IAAnBxpF,EAAQ5D,QAAkB4D,EAAQ++F,aAAwD,IAAzC/+F,EAAQ++F,YAAY3vG,QAAQ,WAKjFjF,WAAWuzC,EACb,EAIF19B,EAAQw9B,QAAU,WACXx9B,IAIL+B,EAAO,IAAI,EAAW,kBAAmB,EAAWyqH,aAAc9qF,EAAQ1hC,IAG1EA,EAAU,KACZ,EAGAA,EAAQtI,QAAU,WAGhBqK,EAAO,IAAI,EAAW,gBAAiB,EAAW0qH,YAAa/qF,EAAQ1hC,IAGvEA,EAAU,IACZ,EAGAA,EAAQ0sH,UAAY,WAClB,IAAIC,EAAsBf,EAAQvpG,QAAU,cAAgBupG,EAAQvpG,QAAU,cAAgB,mBAC9F,MAAM4gG,EAAe2I,EAAQ3I,cAAgB,GACzC2I,EAAQe,sBACVA,EAAsBf,EAAQe,qBAEhC5qH,EAAO,IAAI,EACT4qH,EACA1J,EAAaf,oBAAsB,EAAW0K,UAAY,EAAWJ,aACrE9qF,EACA1hC,IAGFA,EAAU,IACZ,OAGgBrW,IAAhBmiI,GAA6BC,EAAezI,eAAe,MAGvD,qBAAsBtjH,GACxB4/G,EAAM1vH,QAAQ67H,EAAen4E,UAAU,SAA0BnxB,EAAKx3B,GACpE+U,EAAQs6F,iBAAiBrvG,EAAKw3B,EAChC,IAIGm9F,EAAMvF,YAAYuR,EAAQ5uB,mBAC7Bh9F,EAAQg9F,kBAAoB4uB,EAAQ5uB,iBAIlCzC,GAAiC,SAAjBA,IAClBv6F,EAAQu6F,aAAeqxB,EAAQrxB,cAI7BmwB,KACAwB,EAAmBE,GAAiBpE,GAAqB0C,GAAoB,GAC/E1qH,EAAQgO,iBAAiB,WAAYk+G,IAInCzB,GAAoBzqH,EAAQsjB,UAC5B2oG,EAAiBE,GAAenE,GAAqByC,GAEvDzqH,EAAQsjB,OAAOtV,iBAAiB,WAAYi+G,GAE5CjsH,EAAQsjB,OAAOtV,iBAAiB,UAAWm+G,KAGzCP,EAAQZ,aAAeY,EAAQpnC,UAGjCwnC,EAAa1xH,IACN0F,IAGL+B,GAAQzH,GAAUA,EAAOP,KAAO,IAAI,GAAc,KAAM2nC,EAAQ1hC,GAAW1F,GAC3E0F,EAAQwgC,QACRxgC,EAAU,KAAI,EAGhB4rH,EAAQZ,aAAeY,EAAQZ,YAAY1yH,UAAU0zH,GACjDJ,EAAQpnC,SACVonC,EAAQpnC,OAAOvnD,QAAU+uF,IAAeJ,EAAQpnC,OAAOx2E,iBAAiB,QAASg+G,KAIrF,MAAMtkE,ECvLK,SAAuB5jC,GACpC,MAAMvc,EAAQ,4BAA4ByhF,KAAKllE,GAC/C,OAAOvc,GAASA,EAAM,IAAM,EAC9B,CDoLqBslH,CAAcjB,EAAQ9nG,KAEnC4jC,IAAsD,IAA1ClR,GAAS6rE,UAAUjzH,QAAQs4D,GACzC3lD,EAAO,IAAI,EAAW,wBAA0B2lD,EAAW,IAAK,EAAWw/D,gBAAiBxlF,IAM9F1hC,EAAQ0pF,KAAKoiC,GAAe,KAC9B,GACF,EEvJA,GA1CuB,CAACgB,EAASzqG,KAC/B,IAEI4a,EAFAy7D,EAAa,IAAI5O,gBAIrB,MAAMtsD,EAAU,SAAUljC,GACxB,IAAK2iC,EAAS,CACZA,GAAU,EACVovF,IACA,MAAMj/H,EAAMkN,aAAkBkD,MAAQlD,EAASoS,KAAK5J,OACpD41F,EAAWl4D,MAAMpzC,aAAe,EAAaA,EAAM,IAAI,GAAcA,aAAeoQ,MAAQpQ,EAAIi+C,QAAUj+C,GAC5G,CACF,EAEA,IAAIovG,EAAQn6E,GAAWl4B,YAAW,KAChCqzC,EAAQ,IAAI,EAAW,WAAWnb,mBAA0B,EAAWuqG,WAAU,GAChFvqG,GAEH,MAAMgqG,EAAc,KACdS,IACFtwB,GAAStyG,aAAasyG,GACtBA,EAAQ,KACRswB,EAAQ58H,SAAQs0F,IACdA,IACCA,EAAOv2E,oBAAsBu2E,EAAOv2E,oBAAoB,QAASuvB,GAAWgnD,EAAO6nC,YAAY7uF,GAAS,IAE3GsvF,EAAU,KACZ,EAGFA,EAAQ58H,SAASs0F,GAAWA,GAAUA,EAAOx2E,kBAAoBw2E,EAAOx2E,iBAAiB,QAASwvB,KAElG,MAAM,OAACgnD,GAAUkU,EAIjB,OAFAlU,EAAO6nC,YAAcA,EAEd,CAAC7nC,EAAQ,KACdgY,GAAStyG,aAAasyG,GACtBA,EAAQ,IAAI,EACZ,ECzCSuwB,GAAc,UAAWx4H,EAAOF,GAC3C,IAAIhG,EAAMkG,EAAMimC,WAEhB,IAAKnmC,GAAahG,EAAMgG,EAEtB,kBADME,GAIR,IACI2nC,EADA8wF,EAAM,EAGV,KAAOA,EAAM3+H,GACX6tC,EAAM8wF,EAAM34H,QACNE,EAAM1G,MAAMm/H,EAAK9wF,GACvB8wF,EAAM9wF,CAEV,EAQa+wF,GAAc,CAACC,EAAQ74H,EAAW64F,EAAYigC,EAAUj8B,KACnE,MAAM3kG,EAPiBiL,gBAAiB41H,EAAU/4H,EAAW68F,GAC7D,UAAW,MAAM38F,KAAS64H,QACjBL,GAAY91F,YAAYmmF,OAAO7oH,GAASA,QAAe28F,EAAOrgG,OAAO0D,IAAUF,EAE1F,CAGmBg5H,CAAUH,EAAQ74H,EAAW68F,GAE9C,IACIjkG,EADAqgD,EAAQ,EAERggF,EAAalhH,IACVnf,IACHA,GAAO,EACPkgI,GAAYA,EAAS/gH,GACvB,EAGF,OAAO,IAAImhH,eAAe,CACxB,UAAMC,CAAK90B,GACT,IACE,MAAM,KAACzrG,EAAI,MAAEE,SAAeZ,EAASS,OAErC,GAAIC,EAGF,OAFDqgI,SACC50B,EAAWt0D,QAIb,IAAI/1C,EAAMlB,EAAMqtC,WAChB,GAAI0yD,EAAY,CACd,IAAIugC,EAAcngF,GAASj/C,EAC3B6+F,EAAWugC,EACb,CACA/0B,EAAWg1B,QAAQ,IAAIl3F,WAAWrpC,GACpC,CAAE,MAAOC,GAEP,MADAkgI,EAAUlgI,GACJA,CACR,CACF,EACAkN,OAAOwI,IACLwqH,EAAUxqH,GACHvW,EAASc,WAEjB,CACDsgI,cAAe,GAChB,ECvDGC,GAAoC,oBAAVvmC,OAA2C,oBAAZwmC,SAA8C,oBAAbC,SAC1FC,GAA4BH,IAA8C,oBAAnBL,eAGvDS,GAAaJ,KAA4C,oBAAhBt9B,aACzC6wB,GAA0C,IAAI7wB,YAAjC/gE,GAAQ4xF,GAAQjwB,OAAO3hE,IACtC/3B,MAAO+3B,GAAQ,IAAIiH,iBAAiB,IAAIs3F,SAASv+F,GAAKgI,gBADtD,IAAE4pF,GAIN,MAAMlzH,GAAO,CAACzE,KAAOO,KACnB,IACE,QAASP,KAAMO,EACjB,CAAE,MAAOqiB,GACP,OAAO,CACT,GAGI6hH,GAAwBF,IAA6B9/H,IAAK,KAC9D,IAAIigI,GAAiB,EAErB,MAAMC,EAAiB,IAAIN,QAAQr3E,GAASsoD,OAAQ,CAClDjnG,KAAM,IAAI01H,eACVr7H,OAAQ,OACR,UAAIk8H,GAEF,OADAF,GAAiB,EACV,MACT,IACC57H,QAAQ2iD,IAAI,gBAEf,OAAOi5E,IAAmBC,CAAc,IAKpCE,GAAyBN,IAC7B9/H,IAAK,IAAM2xH,EAAM5E,iBAAiB,IAAI8S,SAAS,IAAIj2H,QAG/Cy2H,GAAY,CAChBpB,OAAQmB,IAA0B,CAAEz9H,GAAQA,EAAIiH,OAG7B,IAAEjH,GAAvBg9H,KAAuBh9H,GAOpB,IAAIk9H,SANL,CAAC,OAAQ,cAAe,OAAQ,WAAY,UAAU59H,SAAQ6J,KAC3Du0H,GAAUv0H,KAAUu0H,GAAUv0H,GAAQ6lH,EAAMpF,WAAW5pH,GAAImJ,IAAUnJ,GAAQA,EAAImJ,KAChF,CAAC2P,EAAGg4B,KACF,MAAM,IAAI,EAAW,kBAAkB3nC,sBAA0B,EAAWw0H,gBAAiB7sF,EAAO,EACrG,KAIP,MA0BM8sF,GAAoBh3H,MAAOlF,EAASuF,KACxC,MAAM/N,EAAS81H,EAAMV,eAAe5sH,EAAQm8H,oBAE5C,OAAiB,MAAV3kI,EA7Ba0N,OAAOK,GACf,MAARA,EACK,EAGN+nH,EAAM1nF,OAAOrgC,GACPA,EAAK4+B,KAGXmpF,EAAMP,oBAAoBxnH,UACb,IAAIg2H,QAAQh2H,GAAM0/B,eAAeiD,WAG9ColF,EAAMzC,kBAAkBtlH,IAAS+nH,EAAMtF,cAAcziH,GAC/CA,EAAK2iC,YAGXolF,EAAM7E,kBAAkBljH,KACzBA,GAAc,IAGb+nH,EAAMrF,SAAS1iH,UACFm2H,GAAWn2H,IAAO2iC,gBADlC,GAQwBk0F,CAAc72H,GAAQ/N,CAAM,ECpFhD6kI,GAAgB,CACpBC,KCNF,KDOEvrG,IAAKA,GACLgkE,MDoFaumC,IAAoB,OAAQlsF,IACzC,IAAI,IACF5d,EAAG,OACH5xB,EAAM,KACNyhB,EAAI,OACJ6wE,EAAM,YACNwmC,EAAW,QACX3oG,EAAO,mBACPqoG,EAAkB,iBAClBD,EAAgB,aAChBlwB,EAAY,QACZjoG,EAAO,gBACP0qG,EAAkB,cAAa,aAC/B6xB,GACEhD,GAAcnqF,GAElB64D,EAAeA,GAAgBA,EAAe,IAAIxsF,cAAgB,OAElE,IAGI+gH,EAAU9uH,GAHT+uH,EAAgBC,GAAgBxqC,GAAUwmC,GAAe3oG,EAC5D,GAAe,CAACmiE,EAAQwmC,GAAc3oG,GAAW,GAInD,MAAM8qG,EAAW,MACd2B,GAAY3kI,YAAW,KACtB4kI,GAAkBA,EAAe1C,aAAa,IAGhDyC,GAAW,CAAI,EAGjB,IAAIG,EAEJ,IACE,GACExE,GAAoBwD,IAAoC,QAAX/7H,GAA+B,SAAXA,GACG,KAAnE+8H,QAA6BT,GAAkBl8H,EAASqhB,IACzD,CACA,IAMIu7G,EANAnrH,EAAW,IAAI8pH,QAAQ/pG,EAAK,CAC9B5xB,OAAQ,OACR2F,KAAM8b,EACNy6G,OAAQ,SASV,GAJIxO,EAAM3C,WAAWtpG,KAAUu7G,EAAoBnrH,EAASzR,QAAQma,IAAI,kBACtEna,EAAQgxH,eAAe4L,GAGrBnrH,EAASlM,KAAM,CACjB,MAAOq1F,EAAYiiC,GAAS5G,GAC1B0G,EACAjH,GAAqBS,GAAegC,KAGtC92G,EAAOs5G,GAAYlpH,EAASlM,KA3GT,MA2GmCq1F,EAAYiiC,EAAOnB,GAC3E,CACF,CAEKpO,EAAMrF,SAASvd,KAClBA,EAAkBA,EAAkB,UAAY,QAGlDh9F,EAAU,IAAI6tH,QAAQ/pG,EAAK,IACtB+qG,EACHrqC,OAAQuqC,EACR78H,OAAQA,EAAOuzB,cACfnzB,QAASA,EAAQuzH,YAAYjyE,SAC7B/7C,KAAM8b,EACNy6G,OAAQ,OACR7mC,YAAayV,IAGf,IAAIz8F,QAAiB8mF,MAAMrnF,GAE3B,MAAMovH,EAAmBf,KAA4C,WAAjB9zB,GAA8C,aAAjBA,GAEjF,GAAI8zB,KAA2B3D,GAAsB0E,GAAmB,CACtE,MAAMt5H,EAAU,CAAC,EAEjB,CAAC,SAAU,aAAc,WAAW5F,SAAQ2rH,IAC1C/lH,EAAQ+lH,GAAQt7G,EAASs7G,EAAK,IAGhC,MAAMwT,EAAwBzP,EAAMV,eAAe3+G,EAASjO,QAAQma,IAAI,oBAEjEygF,EAAYiiC,GAASzE,GAAsBnC,GAChD8G,EACArH,GAAqBS,GAAeiC,IAAqB,KACtD,GAELnqH,EAAW,IAAIutH,SACbb,GAAY1sH,EAAS1I,KAhJF,MAgJ4Bq1F,GAAY,KACzDiiC,GAASA,IACTC,GAAoBjC,GAAU,GAC7Ba,IACHl4H,EAEJ,CAEAykG,EAAeA,GAAgB,OAE/B,IAAI+0B,QAAqBhB,GAAU1O,EAAMtE,QAAQgT,GAAW/zB,IAAiB,QAAQh6F,EAAUmhC,GAM/F,OAJC0tF,GAAoBjC,IAErB6B,GAAeA,UAEF,IAAIlyH,SAAQ,CAACK,EAAS4E,KACjCklH,GAAO9pH,EAAS4E,EAAQ,CACtB4R,KAAM27G,EACNh9H,QAAS,GAAatE,KAAKuS,EAASjO,SACpC8J,OAAQmE,EAASnE,OACjByrF,WAAYtnF,EAASsnF,WACrBnmD,SACA1hC,WACD,GAEL,CAAE,MAAO5S,GAGP,GAFA+/H,IAEI//H,GAAoB,cAAbA,EAAIW,MAAwB,SAASE,KAAKb,EAAIi+C,SACvD,MAAM3gD,OAAOiU,OACX,IAAI,EAAW,gBAAiB,EAAW8tH,YAAa/qF,EAAQ1hC,GAChE,CACEjI,MAAO3K,EAAI2K,OAAS3K,IAK1B,MAAM,EAAWY,KAAKZ,EAAKA,GAAOA,EAAI4+C,KAAMtK,EAAQ1hC,EACtD,CACD,ICtND4/G,EAAM1vH,QAAQy+H,IAAe,CAACnlI,EAAI2D,KAChC,GAAI3D,EAAI,CACN,IACEkB,OAAO4F,eAAe9G,EAAI,OAAQ,CAAC2D,SACrC,CAAE,MAAOif,GAET,CACA1hB,OAAO4F,eAAe9G,EAAI,cAAe,CAAC2D,SAC5C,KAGF,MAAMoiI,GAAgBzsH,GAAW,KAAKA,IAEhC0sH,GAAoBtM,GAAYtD,EAAMpF,WAAW0I,IAAwB,OAAZA,IAAgC,IAAZA,EAEvF,GACeuM,IACXA,EAAW7P,EAAMxzH,QAAQqjI,GAAYA,EAAW,CAACA,GAEjD,MAAM,OAAC3lI,GAAU2lI,EACjB,IAAIC,EACAxM,EAEJ,MAAMyM,EAAkB,CAAC,EAEzB,IAAK,IAAIxjI,EAAI,EAAGA,EAAIrC,EAAQqC,IAAK,CAE/B,IAAI6P,EAIJ,GALA0zH,EAAgBD,EAAStjI,GAGzB+2H,EAAUwM,GAELF,GAAiBE,KACpBxM,EAAUyL,IAAe3yH,EAAKnL,OAAO6+H,IAAgB3hH,oBAErCpkB,IAAZu5H,GACF,MAAM,IAAI,EAAW,oBAAoBlnH,MAI7C,GAAIknH,EACF,MAGFyM,EAAgB3zH,GAAM,IAAM7P,GAAK+2H,CACnC,CAEA,IAAKA,EAAS,CAEZ,MAAM0M,EAAUllI,OAAOq0B,QAAQ4wG,GAC5Bt+H,KAAI,EAAE2K,EAAIvG,KAAW,WAAWuG,OACpB,IAAVvG,EAAkB,sCAAwC,mCAG/D,IAAIyW,EAAIpiB,EACL8lI,EAAQ9lI,OAAS,EAAI,YAAc8lI,EAAQv+H,IAAIk+H,IAAc3qH,KAAK,MAAQ,IAAM2qH,GAAaK,EAAQ,IACtG,0BAEF,MAAM,IAAI,EACR,wDAA0D1jH,EAC1D,kBAEJ,CAEA,OAAOg3G,CAAO,EE3DlB,SAAS2M,GAA6BnuF,GAKpC,GAJIA,EAAOspF,aACTtpF,EAAOspF,YAAY8E,mBAGjBpuF,EAAO8iD,QAAU9iD,EAAO8iD,OAAOvnD,QACjC,MAAM,IAAI,GAAc,KAAMyE,EAElC,CASe,SAASquF,GAAgBruF,GACtCmuF,GAA6BnuF,GAE7BA,EAAOpvC,QAAU,GAAatE,KAAK0zC,EAAOpvC,SAG1CovC,EAAO/tB,KAAOizG,GAAc75H,KAC1B20C,EACAA,EAAOyhF,mBAGgD,IAArD,CAAC,OAAQ,MAAO,SAAS/zH,QAAQsyC,EAAOxvC,SAC1CwvC,EAAOpvC,QAAQgxH,eAAe,qCAAqC,GAKrE,OAFgBmM,GAAoB/tF,EAAOwhF,SAAW,GAASA,QAExDA,CAAQxhF,GAAQtkC,MAAK,SAA6BmD,GAYvD,OAXAsvH,GAA6BnuF,GAG7BnhC,EAASoT,KAAOizG,GAAc75H,KAC5B20C,EACAA,EAAO/hC,kBACPY,GAGFA,EAASjO,QAAU,GAAatE,KAAKuS,EAASjO,SAEvCiO,CACT,IAAG,SAA4BuC,GAe7B,OAdK+jH,GAAS/jH,KACZ+sH,GAA6BnuF,GAGzB5+B,GAAUA,EAAOvC,WACnBuC,EAAOvC,SAASoT,KAAOizG,GAAc75H,KACnC20C,EACAA,EAAO/hC,kBACPmD,EAAOvC,UAETuC,EAAOvC,SAASjO,QAAU,GAAatE,KAAK8U,EAAOvC,SAASjO,WAIzDwK,QAAQiF,OAAOe,EACxB,GACF,CChFO,MAAM+/E,GAAU,QCKjBmtC,GAAa,CAAC,EAGpB,CAAC,SAAU,UAAW,SAAU,WAAY,SAAU,UAAU9/H,SAAQ,CAAC6J,EAAM5N,KAC7E6jI,GAAWj2H,GAAQ,SAAmBmgH,GACpC,cAAcA,IAAUngH,GAAQ,KAAO5N,EAAI,EAAI,KAAO,KAAO4N,CAC/D,CAAC,IAGH,MAAMk2H,GAAqB,CAAC,EAW5BD,GAAW/M,aAAe,SAAsBiN,EAAWn+H,EAASs5C,GAClE,SAAS8kF,EAAcC,EAAKC,GAC1B,MAAO,uCAAoDD,EAAM,IAAOC,GAAQhlF,EAAU,KAAOA,EAAU,GAC7G,CAGA,MAAO,CAACl+C,EAAOijI,EAAK5+F,KAClB,IAAkB,IAAd0+F,EACF,MAAM,IAAI,EACRC,EAAcC,EAAK,qBAAuBr+H,EAAU,OAASA,EAAU,KACvE,EAAWu+H,gBAef,OAXIv+H,IAAYk+H,GAAmBG,KACjCH,GAAmBG,IAAO,EAE1Bz4H,QAAQ6pB,KACN2uG,EACEC,EACA,+BAAiCr+H,EAAU,8CAK1Cm+H,GAAYA,EAAU/iI,EAAOijI,EAAK5+F,EAAY,CAEzD,EAmCA,UACE++F,cAxBF,SAAuBz6H,EAAS06H,EAAQC,GACtC,GAAuB,kBAAZ36H,EACT,MAAM,IAAI,EAAW,4BAA6B,EAAW46H,sBAE/D,MAAM5lI,EAAOJ,OAAOI,KAAKgL,GACzB,IAAI3J,EAAIrB,EAAKhB,OACb,KAAOqC,KAAM,GAAG,CACd,MAAMikI,EAAMtlI,EAAKqB,GACX+jI,EAAYM,EAAOJ,GACzB,GAAIF,EAAJ,CACE,MAAM/iI,EAAQ2I,EAAQs6H,GAChBzvH,OAAmBhX,IAAVwD,GAAuB+iI,EAAU/iI,EAAOijI,EAAKt6H,GAC5D,IAAe,IAAX6K,EACF,MAAM,IAAI,EAAW,UAAYyvH,EAAM,YAAczvH,EAAQ,EAAW+vH,qBAG5E,MACA,IAAqB,IAAjBD,EACF,MAAM,IAAI,EAAW,kBAAoBL,EAAK,EAAWO,eAE7D,CACF,EAIEX,eC9EI,GAAaE,GAAUF,WAS7B,MAAMY,GACJ,WAAA9iI,CAAY+iI,GACVnkH,KAAKs2G,SAAW6N,EAChBnkH,KAAKokH,aAAe,CAClB9wH,QAAS,IAAI,GACbO,SAAU,IAAI,GAElB,CAUA,aAAMP,CAAQ+wH,EAAarvF,GACzB,IACE,aAAah1B,KAAK3I,SAASgtH,EAAarvF,EAC1C,CAAE,MAAOt0C,GACP,GAAIA,aAAeoQ,MAAO,CACxB,IAAIwzH,EAEJxzH,MAAMmiH,kBAAoBniH,MAAMmiH,kBAAkBqR,EAAQ,CAAC,GAAMA,EAAQ,IAAIxzH,MAG7E,MAAMwmF,EAAQgtC,EAAMhtC,MAAQgtC,EAAMhtC,MAAMn/E,QAAQ,QAAS,IAAM,GAC/D,IACOzX,EAAI42F,MAGEA,IAAUnzF,OAAOzD,EAAI42F,OAAOo6B,SAASp6B,EAAMn/E,QAAQ,YAAa,OACzEzX,EAAI42F,OAAS,KAAOA,GAHpB52F,EAAI42F,MAAQA,CAKhB,CAAE,MAAO53E,GAET,CACF,CAEA,MAAMhf,CACR,CACF,CAEA,QAAA2W,CAASgtH,EAAarvF,GAGO,kBAAhBqvF,GACTrvF,EAASA,GAAU,CAAC,GACb5d,IAAMitG,EAEbrvF,EAASqvF,GAAe,CAAC,EAG3BrvF,EAASmoF,GAAYn9G,KAAKs2G,SAAUthF,GAEpC,MAAM,aAACuhF,EAAY,iBAAEqH,EAAgB,QAAEh4H,GAAWovC,OAE7B/3C,IAAjBs5H,GACFiN,GAAUK,cAActN,EAAc,CACpCjB,kBAAmB,GAAWiB,aAAa,GAAWjqB,SACtDipB,kBAAmB,GAAWgB,aAAa,GAAWjqB,SACtDkpB,oBAAqB,GAAWe,aAAa,GAAWjqB,WACvD,GAGmB,MAApBsxB,IACE1K,EAAMpF,WAAW8P,GACnB5oF,EAAO4oF,iBAAmB,CACxB/I,UAAW+I,GAGb4F,GAAUK,cAAcjG,EAAkB,CACxCp5B,OAAQ,GAAW+/B,SACnB1P,UAAW,GAAW0P,WACrB,IAKPvvF,EAAOxvC,QAAUwvC,EAAOxvC,QAAUwa,KAAKs2G,SAAS9wH,QAAU,OAAO6b,cAGjE,IAAImjH,EAAiB5+H,GAAWstH,EAAM3mE,MACpC3mD,EAAQ+xH,OACR/xH,EAAQovC,EAAOxvC,SAGjBI,GAAWstH,EAAM1vH,QACf,CAAC,SAAU,MAAO,OAAQ,OAAQ,MAAO,QAAS,WACjDgC,WACQI,EAAQJ,EAAO,IAI1BwvC,EAAOpvC,QAAU,GAAaG,OAAOy+H,EAAgB5+H,GAGrD,MAAM6+H,EAA0B,GAChC,IAAIC,GAAiC,EACrC1kH,KAAKokH,aAAa9wH,QAAQ9P,SAAQ,SAAoCmhI,GACjC,oBAAxBA,EAAYvP,UAA0D,IAAhCuP,EAAYvP,QAAQpgF,KAIrE0vF,EAAiCA,GAAkCC,EAAYxP,YAE/EsP,EAAwB5nG,QAAQ8nG,EAAY1P,UAAW0P,EAAYzP,UACrE,IAEA,MAAM0P,EAA2B,GAKjC,IAAIj3H,EAJJqS,KAAKokH,aAAavwH,SAASrQ,SAAQ,SAAkCmhI,GACnEC,EAAyBpkI,KAAKmkI,EAAY1P,UAAW0P,EAAYzP,SACnE,IAGA,IACIvzH,EADAlC,EAAI,EAGR,IAAKilI,EAAgC,CACnC,MAAMG,EAAQ,CAACxB,GAAgBt7G,KAAK/H,WAAO/iB,GAO3C,IANA4nI,EAAMhoG,QAAQn/B,MAAMmnI,EAAOJ,GAC3BI,EAAMrkI,KAAK9C,MAAMmnI,EAAOD,GACxBjjI,EAAMkjI,EAAMznI,OAEZuQ,EAAUyC,QAAQK,QAAQukC,GAEnBv1C,EAAIkC,GACTgM,EAAUA,EAAQ+C,KAAKm0H,EAAMplI,KAAMolI,EAAMplI,MAG3C,OAAOkO,CACT,CAEAhM,EAAM8iI,EAAwBrnI,OAE9B,IAAIshI,EAAY1pF,EAIhB,IAFAv1C,EAAI,EAEGA,EAAIkC,GAAK,CACd,MAAMmjI,EAAcL,EAAwBhlI,KACtCslI,EAAaN,EAAwBhlI,KAC3C,IACEi/H,EAAYoG,EAAYpG,EAC1B,CAAE,MAAOxzH,GACP65H,EAAW1kI,KAAK2f,KAAM9U,GACtB,KACF,CACF,CAEA,IACEyC,EAAU01H,GAAgBhjI,KAAK2f,KAAM0+G,EACvC,CAAE,MAAOxzH,GACP,OAAOkF,QAAQiF,OAAOnK,EACxB,CAKA,IAHAzL,EAAI,EACJkC,EAAMijI,EAAyBxnI,OAExBqC,EAAIkC,GACTgM,EAAUA,EAAQ+C,KAAKk0H,EAAyBnlI,KAAMmlI,EAAyBnlI,MAGjF,OAAOkO,CACT,CAEA,MAAAq3H,CAAOhwF,GAGL,OAAO2/E,GADUkI,IADjB7nF,EAASmoF,GAAYn9G,KAAKs2G,SAAUthF,IACE8nF,QAAS9nF,EAAO5d,KAC5B4d,EAAOtwC,OAAQswC,EAAO4oF,iBAClD,EAIF1K,EAAM1vH,QAAQ,CAAC,SAAU,MAAO,OAAQ,YAAY,SAA6BgC,GAE/E0+H,GAAMjjI,UAAUuE,GAAU,SAAS4xB,EAAK4d,GACtC,OAAOh1B,KAAK1M,QAAQ6pH,GAAYnoF,GAAU,CAAC,EAAG,CAC5CxvC,SACA4xB,MACAnQ,MAAO+tB,GAAU,CAAC,GAAG/tB,OAEzB,CACF,IAEAisG,EAAM1vH,QAAQ,CAAC,OAAQ,MAAO,UAAU,SAA+BgC,GAGrE,SAASy/H,EAAmBC,GAC1B,OAAO,SAAoB9tG,EAAKnQ,EAAM+tB,GACpC,OAAOh1B,KAAK1M,QAAQ6pH,GAAYnoF,GAAU,CAAC,EAAG,CAC5CxvC,SACAI,QAASs/H,EAAS,CAChB,eAAgB,uBACd,CAAC,EACL9tG,MACAnQ,SAEJ,CACF,CAEAi9G,GAAMjjI,UAAUuE,GAAUy/H,IAE1Bf,GAAMjjI,UAAUuE,EAAS,QAAUy/H,GAAmB,EACxD,IAEA,YCxNA,MAAME,GACJ,WAAA/jI,CAAYgU,GACV,GAAwB,oBAAbA,EACT,MAAM,IAAI3T,UAAU,gCAGtB,IAAI2jI,EAEJplH,KAAKrS,QAAU,IAAIyC,SAAQ,SAAyBK,GAClD20H,EAAiB30H,CACnB,IAEA,MAAMupF,EAAQh6E,KAGdA,KAAKrS,QAAQ+C,MAAK9C,IAChB,IAAKosF,EAAMj5E,WAAY,OAEvB,IAAIthB,EAAIu6F,EAAMj5E,WAAW3jB,OAEzB,KAAOqC,KAAM,GACXu6F,EAAMj5E,WAAWthB,GAAGmO,GAEtBosF,EAAMj5E,WAAa,IAAI,IAIzBf,KAAKrS,QAAQ+C,KAAOiE,IAClB,IAAI0wH,EAEJ,MAAM13H,EAAU,IAAIyC,SAAQK,IAC1BupF,EAAMpuF,UAAU6E,GAChB40H,EAAW50H,CAAO,IACjBC,KAAKiE,GAMR,OAJAhH,EAAQC,OAAS,WACfosF,EAAM2lC,YAAY0F,EACpB,EAEO13H,CAAO,EAGhByH,GAAS,SAAgBupC,EAAS3J,EAAQ1hC,GACpC0mF,EAAM5jF,SAKV4jF,EAAM5jF,OAAS,IAAI,GAAcuoC,EAAS3J,EAAQ1hC,GAClD8xH,EAAeprC,EAAM5jF,QACvB,GACF,CAKA,gBAAAgtH,GACE,GAAIpjH,KAAK5J,OACP,MAAM4J,KAAK5J,MAEf,CAMA,SAAAxK,CAAUwoG,GACJp0F,KAAK5J,OACPg+F,EAASp0F,KAAK5J,QAIZ4J,KAAKe,WACPf,KAAKe,WAAWvgB,KAAK4zG,GAErBp0F,KAAKe,WAAa,CAACqzF,EAEvB,CAMA,WAAAurB,CAAYvrB,GACV,IAAKp0F,KAAKe,WACR,OAEF,MAAMjiB,EAAQkhB,KAAKe,WAAWre,QAAQ0xG,IACvB,IAAXt1G,GACFkhB,KAAKe,WAAW64B,OAAO96C,EAAO,EAElC,CAMA,aAAOwD,GACL,IAAIsL,EAIJ,MAAO,CACLosF,MAJY,IAAImrC,IAAY,SAAkB1iH,GAC9C7U,EAAS6U,CACX,IAGE7U,SAEJ,EAGF,YCxHA,MAAM03H,GAAiB,CACrBC,SAAU,IACVC,mBAAoB,IACpBC,WAAY,IACZC,WAAY,IACZC,GAAI,IACJC,QAAS,IACTC,SAAU,IACVC,4BAA6B,IAC7BC,UAAW,IACXC,aAAc,IACdC,eAAgB,IAChBC,YAAa,IACbC,gBAAiB,IACjBC,OAAQ,IACRC,gBAAiB,IACjBC,iBAAkB,IAClBC,MAAO,IACPC,SAAU,IACVC,YAAa,IACbC,SAAU,IACVC,OAAQ,IACRC,kBAAmB,IACnBC,kBAAmB,IACnBC,WAAY,IACZC,aAAc,IACdC,gBAAiB,IACjBC,UAAW,IACXC,SAAU,IACVC,iBAAkB,IAClBC,cAAe,IACfC,4BAA6B,IAC7BC,eAAgB,IAChBC,SAAU,IACVC,KAAM,IACNC,eAAgB,IAChBC,mBAAoB,IACpBC,gBAAiB,IACjBC,WAAY,IACZC,qBAAsB,IACtBC,oBAAqB,IACrBC,kBAAmB,IACnBC,UAAW,IACXC,mBAAoB,IACpBC,oBAAqB,IACrBC,OAAQ,IACRC,iBAAkB,IAClBC,SAAU,IACVC,gBAAiB,IACjBC,qBAAsB,IACtBC,gBAAiB,IACjBC,4BAA6B,IAC7BC,2BAA4B,IAC5BC,oBAAqB,IACrBC,eAAgB,IAChBC,WAAY,IACZC,mBAAoB,IACpBC,eAAgB,IAChBC,wBAAyB,IACzBC,sBAAuB,IACvBC,oBAAqB,IACrBC,aAAc,IACdC,YAAa,IACbC,8BAA+B,KAGjCrrI,OAAOq0B,QAAQizG,IAAgB9hI,SAAQ,EAAEjF,EAAKkC,MAC5C6kI,GAAe7kI,GAASlC,CAAG,IAG7B,YCxBA,MAAM+qI,GAnBN,SAASC,EAAe70F,GACtB,MAAMlrC,EAAU,IAAI,GAAMkrC,GACpBzL,EAAWlhB,EAAK,GAAM9mB,UAAUqS,QAAS9J,GAa/C,OAVA0pH,EAAMhC,OAAOjoF,EAAU,GAAMhoC,UAAWuI,EAAS,CAACklH,YAAY,IAG9DwE,EAAMhC,OAAOjoF,EAAUz/B,EAAS,KAAM,CAACklH,YAAY,IAGnDzlF,EAASzS,OAAS,SAAgB2tG,GAChC,OAAOoF,EAAepM,GAAYzoF,EAAeyvF,GACnD,EAEOl7F,CACT,CAGcsgG,CAAe,IAG7BD,GAAMpF,MAAQ,GAGdoF,GAAMjP,cAAgB,GACtBiP,GAAMnE,YAAc,GACpBmE,GAAMnP,SAAWA,GACjBmP,GAAMnzC,QAAUA,GAChBmzC,GAAME,WAAa,GAGnBF,GAAMtW,WAAa,EAGnBsW,GAAMG,OAASH,GAAMjP,cAGrBiP,GAAMj5H,IAAM,SAAay7F,GACvB,OAAO17F,QAAQC,IAAIy7F,EACrB,EAEAw9B,GAAMI,OC9CS,SAAgBv/H,GAC7B,OAAO,SAAc3K,GACnB,OAAO2K,EAASzM,MAAM,KAAM8B,EAC9B,CACF,ED6CA8pI,GAAMK,aE7DS,SAAsB5hI,GACnC,OAAOmrH,EAAMlF,SAASjmH,KAAsC,IAAzBA,EAAQ4hI,YAC7C,EF8DAL,GAAMnM,YAAcA,GAEpBmM,GAAMpR,aAAe,GAErBoR,GAAMM,WAAapc,GAAS,GAAe0F,EAAMhE,WAAW1B,GAAS,IAAIllE,SAASklE,GAASA,GAE3F8b,GAAMO,WAAa9G,GAEnBuG,GAAMhE,eAAiB,GAEvBgE,GAAMvqF,QAAUuqF,GAGhB,2EGtFA,KAAMQ,YAAY,MAGlB,QAAe,EAAK,kDCLpB,MACA,GAAiBr8B,WADoB,qBAAXrJ,QAA0BA,OAAOqJ,YAAcrJ,OAAOqJ,WAAW1lF,KAAKq8E,SCAhG,IAAI2lC,EACJ,MAAMC,EAAQ,IAAIlgG,WAAW,ICA7B,MAAMmgG,EAAY,GAClB,IAAK,IAAIxqI,EAAI,EAAGA,EAAI,MAAOA,EACvBwqI,EAAUzpI,MAAMf,EAAI,KAAOyB,SAAS,IAAIC,MAAM,IAE3C,SAAS+oI,EAAgB1qI,EAAKuuC,EAAS,GAC1C,OAAQk8F,EAAUzqI,EAAIuuC,EAAS,IAC3Bk8F,EAAUzqI,EAAIuuC,EAAS,IACvBk8F,EAAUzqI,EAAIuuC,EAAS,IACvBk8F,EAAUzqI,EAAIuuC,EAAS,IACvB,IACAk8F,EAAUzqI,EAAIuuC,EAAS,IACvBk8F,EAAUzqI,EAAIuuC,EAAS,IACvB,IACAk8F,EAAUzqI,EAAIuuC,EAAS,IACvBk8F,EAAUzqI,EAAIuuC,EAAS,IACvB,IACAk8F,EAAUzqI,EAAIuuC,EAAS,IACvBk8F,EAAUzqI,EAAIuuC,EAAS,IACvB,IACAk8F,EAAUzqI,EAAIuuC,EAAS,KACvBk8F,EAAUzqI,EAAIuuC,EAAS,KACvBk8F,EAAUzqI,EAAIuuC,EAAS,KACvBk8F,EAAUzqI,EAAIuuC,EAAS,KACvBk8F,EAAUzqI,EAAIuuC,EAAS,KACvBk8F,EAAUzqI,EAAIuuC,EAAS,MAAM1sB,aACrC,CCAA,QAvBA,SAAYjY,EAAS+gI,EAAKp8F,GACtB,GAAI,EAAO0/D,aAAe08B,IAAQ/gI,EAC9B,OAAO,EAAOqkG,aAGlB,MAAM28B,GADNhhI,EAAUA,GAAW,CAAC,GACDuzC,QAAUvzC,EAAQihI,SFN5B,WACX,IAAKN,EAAiB,CAClB,GAAsB,qBAAX3lC,SAA2BA,OAAO2lC,gBACzC,MAAM,IAAIj5H,MAAM,4GAEpBi5H,EAAkB3lC,OAAO2lC,gBAAgBhiH,KAAKq8E,OAClD,CACA,OAAO2lC,EAAgBC,EAC3B,CEFsDK,GAClD,GAAID,EAAKhtI,OAAS,GACd,MAAM,IAAI0T,MAAM,qCAIpB,GAFAs5H,EAAK,GAAgB,GAAVA,EAAK,GAAa,GAC7BA,EAAK,GAAgB,GAAVA,EAAK,GAAa,IACzBD,EAAK,CAEL,IADAp8F,EAASA,GAAU,GACN,GAAKA,EAAS,GAAKo8F,EAAI/sI,OAChC,MAAM,IAAIktI,WAAW,mBAAmBv8F,KAAUA,EAAS,8BAE/D,IAAK,IAAItuC,EAAI,EAAGA,EAAI,KAAMA,EACtB0qI,EAAIp8F,EAAStuC,GAAK2qI,EAAK3qI,GAE3B,OAAO0qI,CACX,CACA,OAAOD,EAAgBE,EAC3B","sources":["webpack://cricksapi/./node_modules/@algolia/autocomplete-shared/dist/esm/debounce.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-shared/dist/esm/createRef.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-shared/dist/esm/isEqual.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-shared/dist/esm/noop.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-plugin-algolia-insights/dist/esm/createClickedEvent.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-plugin-algolia-insights/dist/esm/isModernInsightsClient.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-plugin-algolia-insights/dist/esm/createSearchInsightsApi.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-plugin-algolia-insights/dist/esm/createViewedEvents.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-plugin-algolia-insights/dist/esm/isAlgoliaInsightsHit.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-plugin-algolia-insights/dist/esm/createAlgoliaInsightsPlugin.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-shared/dist/esm/safelyRunOnBrowser.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-core/dist/esm/createStore.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-core/dist/esm/utils/createCancelablePromiseList.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-shared/dist/esm/flatten.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-core/dist/esm/getAutocompleteSetters.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-shared/dist/esm/getItemsCount.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-shared/dist/esm/generateAutocompleteId.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-core/dist/esm/utils/getNormalizedSources.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-core/dist/esm/getDefaultProps.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-core/dist/esm/reshape.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-core/dist/esm/resolve.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-core/dist/esm/utils/mapToAlgoliaResponse.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-core/dist/esm/utils/createCancelablePromise.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-core/dist/esm/utils/getActiveItem.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-core/dist/esm/onInput.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-core/dist/esm/utils/createConcurrentSafePromise.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-core/dist/esm/utils/getAutocompleteElementId.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-core/dist/esm/onKeyDown.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-core/dist/esm/utils/isSamsung.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-core/dist/esm/utils/getNativeEvent.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-core/dist/esm/getPropGetters.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-core/dist/esm/utils/isOrContainsNode.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-shared/dist/esm/version.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-shared/dist/esm/userAgents.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-core/dist/esm/metadata.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-core/dist/esm/getCompletion.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-core/dist/esm/utils/getNextActiveItemId.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-core/dist/esm/stateReducer.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-core/dist/esm/createAutocomplete.js","webpack://cricksapi/./node_modules/htm/dist/htm.module.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-js/dist/esm/elements/SearchIcon.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-js/dist/esm/elements/ClearIcon.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-js/dist/esm/elements/LoadingIcon.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-js/dist/esm/utils/setProperties.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-js/dist/esm/getCreateDomElement.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-js/dist/esm/elements/Input.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-js/dist/esm/createAutocompleteDom.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-js/node_modules/preact/dist/preact.module.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-shared/dist/esm/getAttributeValueByPath.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/constants/index.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/parseAttribute.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitHighlight.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-js/dist/esm/components/Highlight.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/isPartHighlighted.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/reverseHighlightedParts.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-js/dist/esm/components/ReverseHighlight.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitReverseHighlight.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitSnippet.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-js/dist/esm/components/ReverseSnippet.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitReverseSnippet.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-js/dist/esm/components/Snippet.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-js/dist/esm/utils/getHTMLElement.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-js/dist/esm/utils/mergeClassNames.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-js/dist/esm/getDefaultOptions.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-js/dist/esm/getPanelPlacementStyle.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-js/dist/esm/render.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-js/dist/esm/userAgents.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-js/dist/esm/utils/mergeDeep.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-js/dist/esm/utils/pickBy.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-js/dist/esm/autocomplete.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-js/dist/esm/createReactiveWrapper.js","webpack://cricksapi/./node_modules/@algolia/autocomplete-js/dist/esm/createEffectWrapper.js","webpack://cricksapi/./node_modules/@nathanvda/cocoon/cocoon.js","webpack://cricksapi/./node_modules/@rails/actiontext/app/javascript/actiontext/attachment_upload.js","webpack://cricksapi/./node_modules/@rails/actiontext/app/javascript/actiontext/index.js","webpack://cricksapi/./node_modules/@transloadit/prettier-bytes/dist/prettierBytes.js","webpack://cricksapi/./node_modules/cleave.js/dist/addons/cleave-phone.au.js","webpack://cricksapi/./node_modules/cleave.js/dist/cleave-esm.js","webpack://cricksapi/./node_modules/compressorjs/dist/compressor.js","webpack://cricksapi/./node_modules/flatpickr/dist/plugins/monthSelect/index.js","webpack://cricksapi/./node_modules/mime-match/index.js","webpack://cricksapi/./node_modules/mime-match/node_modules/wildcard/index.js","webpack://cricksapi/./node_modules/namespace-emitter/index.js","webpack://cricksapi/./node_modules/primereact/icons/angleright/index.esm.js","webpack://cricksapi/./node_modules/primereact/icons/exclamationtriangle/index.esm.js","webpack://cricksapi/./node_modules/primereact/icons/infocircle/index.esm.js","webpack://cricksapi/./node_modules/primereact/icons/search/index.esm.js","webpack://cricksapi/./node_modules/primereact/icons/timescircle/index.esm.js","webpack://cricksapi/./node_modules/retry/index.js","webpack://cricksapi/./node_modules/retry/lib/retry.js","webpack://cricksapi/./node_modules/retry/lib/retry_operation.js","webpack://cricksapi/./node_modules/trix/dist/trix.esm.min.js","webpack://cricksapi/./node_modules/@uppy/utils/lib/UserFacingApiError.js","webpack://cricksapi/./node_modules/is-network-error/index.js","webpack://cricksapi/./node_modules/@uppy/companion-client/node_modules/p-retry/index.js","webpack://cricksapi/./node_modules/@uppy/utils/lib/NetworkError.js","webpack://cricksapi/./node_modules/@uppy/utils/lib/hasProperty.js","webpack://cricksapi/./node_modules/@uppy/utils/lib/ErrorWithCause.js","webpack://cricksapi/./node_modules/@uppy/utils/lib/emitSocketProgress.js","webpack://cricksapi/./node_modules/@uppy/companion-client/lib/AuthError.js","webpack://cricksapi/./node_modules/@uppy/companion-client/lib/RequestClient.js","webpack://cricksapi/./node_modules/@uppy/utils/lib/fetchWithNetworkError.js","webpack://cricksapi/./node_modules/@uppy/utils/lib/getSocketHost.js","webpack://cricksapi/./node_modules/@uppy/companion-client/lib/Socket.js","webpack://cricksapi/./node_modules/@uppy/core/lib/EventManager.js","webpack://cricksapi/./node_modules/@uppy/utils/lib/fileFilters.js","webpack://cricksapi/./node_modules/@uppy/utils/lib/AbortController.js","webpack://cricksapi/./node_modules/@uppy/aws-s3-multipart/lib/MultipartUploader.js","webpack://cricksapi/./node_modules/@uppy/aws-s3-multipart/lib/utils.js","webpack://cricksapi/./node_modules/@uppy/aws-s3-multipart/lib/createSignedURL.js","webpack://cricksapi/./node_modules/@uppy/aws-s3-multipart/lib/HTTPCommunicationQueue.js","webpack://cricksapi/./node_modules/@uppy/aws-s3-multipart/lib/index.js","webpack://cricksapi/./node_modules/@uppy/utils/lib/EventManager.js","webpack://cricksapi/./node_modules/@uppy/utils/lib/ProgressTimeout.js","webpack://cricksapi/./node_modules/@uppy/utils/lib/isNetworkError.js","webpack://cricksapi/./node_modules/@uppy/aws-s3/lib/MiniXHRUpload.js","webpack://cricksapi/./node_modules/@uppy/aws-s3/node_modules/nanoid/non-secure/index.js","webpack://cricksapi/./node_modules/@uppy/aws-s3/lib/isXml.js","webpack://cricksapi/./node_modules/@uppy/aws-s3/lib/locale.js","webpack://cricksapi/./node_modules/@uppy/aws-s3/lib/index.js","webpack://cricksapi/./node_modules/@uppy/compressor/lib/locale.js","webpack://cricksapi/./node_modules/@uppy/compressor/lib/index.js","webpack://cricksapi/./node_modules/@uppy/core/lib/BasePlugin.js","webpack://cricksapi/./node_modules/@uppy/store-default/lib/index.js","webpack://cricksapi/./node_modules/@uppy/utils/lib/mimeTypes.js","webpack://cricksapi/./node_modules/@uppy/utils/lib/getFileType.js","webpack://cricksapi/./node_modules/@uppy/utils/lib/generateFileID.js","webpack://cricksapi/./node_modules/@uppy/core/lib/supportsUploadProgress.js","webpack://cricksapi/./node_modules/@uppy/utils/lib/getTimeStamp.js","webpack://cricksapi/./node_modules/@uppy/core/lib/loggers.js","webpack://cricksapi/./node_modules/@uppy/core/lib/Restricter.js","webpack://cricksapi/./node_modules/@uppy/core/lib/locale.js","webpack://cricksapi/./node_modules/@uppy/core/lib/Uppy.js","webpack://cricksapi/./node_modules/@uppy/core/lib/getFileName.js","webpack://cricksapi/./node_modules/@uppy/core/node_modules/nanoid/non-secure/index.js","webpack://cricksapi/./node_modules/preact/dist/preact.module.js","webpack://cricksapi/./node_modules/@uppy/utils/lib/findDOMElement.js","webpack://cricksapi/./node_modules/@uppy/utils/lib/isDOMElement.js","webpack://cricksapi/./node_modules/@uppy/utils/lib/getTextDirection.js","webpack://cricksapi/./node_modules/@uppy/core/lib/UIPlugin.js","webpack://cricksapi/./node_modules/@uppy/progress-bar/lib/ProgressBar.js","webpack://cricksapi/./node_modules/@uppy/utils/lib/RateLimitedQueue.js","webpack://cricksapi/./node_modules/@uppy/utils/lib/Translator.js","webpack://cricksapi/./node_modules/@uppy/utils/lib/getFileNameAndExtension.js","webpack://cricksapi/./node_modules/axios/lib/helpers/bind.js","webpack://cricksapi/./node_modules/axios/lib/utils.js","webpack://cricksapi/./node_modules/axios/lib/core/AxiosError.js","webpack://cricksapi/./node_modules/axios/lib/helpers/toFormData.js","webpack://cricksapi/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://cricksapi/./node_modules/axios/lib/helpers/buildURL.js","webpack://cricksapi/./node_modules/axios/lib/core/InterceptorManager.js","webpack://cricksapi/./node_modules/axios/lib/defaults/transitional.js","webpack://cricksapi/./node_modules/axios/lib/platform/browser/index.js","webpack://cricksapi/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://cricksapi/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://cricksapi/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://cricksapi/./node_modules/axios/lib/platform/common/utils.js","webpack://cricksapi/./node_modules/axios/lib/platform/index.js","webpack://cricksapi/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://cricksapi/./node_modules/axios/lib/defaults/index.js","webpack://cricksapi/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://cricksapi/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://cricksapi/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://cricksapi/./node_modules/axios/lib/core/transformData.js","webpack://cricksapi/./node_modules/axios/lib/cancel/isCancel.js","webpack://cricksapi/./node_modules/axios/lib/cancel/CanceledError.js","webpack://cricksapi/./node_modules/axios/lib/core/settle.js","webpack://cricksapi/./node_modules/axios/lib/helpers/speedometer.js","webpack://cricksapi/./node_modules/axios/lib/helpers/throttle.js","webpack://cricksapi/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://cricksapi/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://cricksapi/./node_modules/axios/lib/helpers/cookies.js","webpack://cricksapi/./node_modules/axios/lib/core/buildFullPath.js","webpack://cricksapi/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://cricksapi/./node_modules/axios/lib/helpers/combineURLs.js","webpack://cricksapi/./node_modules/axios/lib/core/mergeConfig.js","webpack://cricksapi/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://cricksapi/./node_modules/axios/lib/adapters/xhr.js","webpack://cricksapi/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://cricksapi/./node_modules/axios/lib/helpers/composeSignals.js","webpack://cricksapi/./node_modules/axios/lib/helpers/trackStream.js","webpack://cricksapi/./node_modules/axios/lib/adapters/fetch.js","webpack://cricksapi/./node_modules/axios/lib/adapters/adapters.js","webpack://cricksapi/./node_modules/axios/lib/helpers/null.js","webpack://cricksapi/./node_modules/axios/lib/core/dispatchRequest.js","webpack://cricksapi/./node_modules/axios/lib/env/data.js","webpack://cricksapi/./node_modules/axios/lib/helpers/validator.js","webpack://cricksapi/./node_modules/axios/lib/core/Axios.js","webpack://cricksapi/./node_modules/axios/lib/cancel/CancelToken.js","webpack://cricksapi/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://cricksapi/./node_modules/axios/lib/axios.js","webpack://cricksapi/./node_modules/axios/lib/helpers/spread.js","webpack://cricksapi/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://cricksapi/./node_modules/chart.js/auto/auto.js","webpack://cricksapi/./node_modules/uuid/dist/esm-browser/native.js","webpack://cricksapi/./node_modules/uuid/dist/esm-browser/rng.js","webpack://cricksapi/./node_modules/uuid/dist/esm-browser/stringify.js","webpack://cricksapi/./node_modules/uuid/dist/esm-browser/v4.js"],"sourcesContent":["export function debounce(fn, time) {\n var timerId = undefined;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (timerId) {\n clearTimeout(timerId);\n }\n timerId = setTimeout(function () {\n return fn.apply(void 0, args);\n }, time);\n };\n}","export function createRef(initialValue) {\n return {\n current: initialValue\n };\n}","function isPrimitive(obj) {\n return obj !== Object(obj);\n}\nexport function isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (isPrimitive(first) || isPrimitive(second) || typeof first === 'function' || typeof second === 'function') {\n return first === second;\n }\n if (Object.keys(first).length !== Object.keys(second).length) {\n return false;\n }\n for (var _i = 0, _Object$keys = Object.keys(first); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n if (!(key in second)) {\n return false;\n }\n if (!isEqual(first[key], second[key])) {\n return false;\n }\n }\n return true;\n}","export var noop = function noop() {};","export function createClickedEvent(_ref) {\n var item = _ref.item,\n _ref$items = _ref.items,\n items = _ref$items === void 0 ? [] : _ref$items;\n return {\n index: item.__autocomplete_indexName,\n items: [item],\n positions: [1 + items.findIndex(function (x) {\n return x.objectID === item.objectID;\n })],\n queryID: item.__autocomplete_queryID,\n algoliaSource: ['autocomplete']\n };\n}","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n/**\n * Determines if a given insights `client` supports the optional call to `init`\n * and the ability to set credentials via extra parameters when sending events.\n */\nexport function isModernInsightsClient(client) {\n var _split$map = (client.version || '').split('.').map(Number),\n _split$map2 = _slicedToArray(_split$map, 2),\n major = _split$map2[0],\n minor = _split$map2[1];\n\n /* eslint-disable @typescript-eslint/camelcase */\n var v3 = major >= 3;\n var v2_4 = major === 2 && minor >= 4;\n var v1_10 = major === 1 && minor >= 10;\n return v3 || v2_4 || v1_10;\n /* eslint-enable @typescript-eslint/camelcase */\n}","var _excluded = [\"items\"],\n _excluded2 = [\"items\"];\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { isModernInsightsClient } from './isModernInsightsClient';\nfunction chunk(item) {\n var chunkSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 20;\n var chunks = [];\n for (var i = 0; i < item.objectIDs.length; i += chunkSize) {\n chunks.push(_objectSpread(_objectSpread({}, item), {}, {\n objectIDs: item.objectIDs.slice(i, i + chunkSize)\n }));\n }\n return chunks;\n}\nfunction mapToInsightsParamsApi(params) {\n return params.map(function (_ref) {\n var items = _ref.items,\n param = _objectWithoutProperties(_ref, _excluded);\n return _objectSpread(_objectSpread({}, param), {}, {\n objectIDs: (items === null || items === void 0 ? void 0 : items.map(function (_ref2) {\n var objectID = _ref2.objectID;\n return objectID;\n })) || param.objectIDs\n });\n });\n}\nexport function createSearchInsightsApi(searchInsights) {\n var canSendHeaders = isModernInsightsClient(searchInsights);\n function sendToInsights(method, payloads, items) {\n if (canSendHeaders && typeof items !== 'undefined') {\n var _items$0$__autocomple = items[0].__autocomplete_algoliaCredentials,\n appId = _items$0$__autocomple.appId,\n apiKey = _items$0$__autocomple.apiKey;\n var headers = {\n 'X-Algolia-Application-Id': appId,\n 'X-Algolia-API-Key': apiKey\n };\n searchInsights.apply(void 0, [method].concat(_toConsumableArray(payloads), [{\n headers: headers\n }]));\n } else {\n searchInsights.apply(void 0, [method].concat(_toConsumableArray(payloads)));\n }\n }\n return {\n /**\n * Initializes Insights with Algolia credentials.\n */\n init: function init(appId, apiKey) {\n searchInsights('init', {\n appId: appId,\n apiKey: apiKey\n });\n },\n /**\n * Sets the authenticated user token to attach to events.\n * Unsets the authenticated token by passing `undefined`.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/set-authenticated-user-token/\n */\n setAuthenticatedUserToken: function setAuthenticatedUserToken(authenticatedUserToken) {\n searchInsights('setAuthenticatedUserToken', authenticatedUserToken);\n },\n /**\n * Sets the user token to attach to events.\n */\n setUserToken: function setUserToken(userToken) {\n searchInsights('setUserToken', userToken);\n },\n /**\n * Sends click events to capture a query and its clicked items and positions.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-object-ids-after-search/\n */\n clickedObjectIDsAfterSearch: function clickedObjectIDsAfterSearch() {\n for (var _len = arguments.length, params = new Array(_len), _key = 0; _key < _len; _key++) {\n params[_key] = arguments[_key];\n }\n if (params.length > 0) {\n sendToInsights('clickedObjectIDsAfterSearch', mapToInsightsParamsApi(params), params[0].items);\n }\n },\n /**\n * Sends click events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-object-ids/\n */\n clickedObjectIDs: function clickedObjectIDs() {\n for (var _len2 = arguments.length, params = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n params[_key2] = arguments[_key2];\n }\n if (params.length > 0) {\n sendToInsights('clickedObjectIDs', mapToInsightsParamsApi(params), params[0].items);\n }\n },\n /**\n * Sends click events to capture the filters a user clicks on.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-filters/\n */\n clickedFilters: function clickedFilters() {\n for (var _len3 = arguments.length, params = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n params[_key3] = arguments[_key3];\n }\n if (params.length > 0) {\n searchInsights.apply(void 0, ['clickedFilters'].concat(params));\n }\n },\n /**\n * Sends conversion events to capture a query and its clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-object-ids-after-search/\n */\n convertedObjectIDsAfterSearch: function convertedObjectIDsAfterSearch() {\n for (var _len4 = arguments.length, params = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n params[_key4] = arguments[_key4];\n }\n if (params.length > 0) {\n sendToInsights('convertedObjectIDsAfterSearch', mapToInsightsParamsApi(params), params[0].items);\n }\n },\n /**\n * Sends conversion events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-object-ids/\n */\n convertedObjectIDs: function convertedObjectIDs() {\n for (var _len5 = arguments.length, params = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n params[_key5] = arguments[_key5];\n }\n if (params.length > 0) {\n sendToInsights('convertedObjectIDs', mapToInsightsParamsApi(params), params[0].items);\n }\n },\n /**\n * Sends conversion events to capture the filters a user uses when converting.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-filters/\n */\n convertedFilters: function convertedFilters() {\n for (var _len6 = arguments.length, params = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n params[_key6] = arguments[_key6];\n }\n if (params.length > 0) {\n searchInsights.apply(void 0, ['convertedFilters'].concat(params));\n }\n },\n /**\n * Sends view events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/viewed-object-ids/\n */\n viewedObjectIDs: function viewedObjectIDs() {\n for (var _len7 = arguments.length, params = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n params[_key7] = arguments[_key7];\n }\n if (params.length > 0) {\n params.reduce(function (acc, _ref3) {\n var items = _ref3.items,\n param = _objectWithoutProperties(_ref3, _excluded2);\n return [].concat(_toConsumableArray(acc), _toConsumableArray(chunk(_objectSpread(_objectSpread({}, param), {}, {\n objectIDs: (items === null || items === void 0 ? void 0 : items.map(function (_ref4) {\n var objectID = _ref4.objectID;\n return objectID;\n })) || param.objectIDs\n })).map(function (payload) {\n return {\n items: items,\n payload: payload\n };\n })));\n }, []).forEach(function (_ref5) {\n var items = _ref5.items,\n payload = _ref5.payload;\n return sendToInsights('viewedObjectIDs', [payload], items);\n });\n }\n },\n /**\n * Sends view events to capture the filters a user uses when viewing.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/viewed-filters/\n */\n viewedFilters: function viewedFilters() {\n for (var _len8 = arguments.length, params = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n params[_key8] = arguments[_key8];\n }\n if (params.length > 0) {\n searchInsights.apply(void 0, ['viewedFilters'].concat(params));\n }\n }\n };\n}","export function createViewedEvents(_ref) {\n var items = _ref.items;\n var itemsByIndexName = items.reduce(function (acc, current) {\n var _acc$current$__autoco;\n acc[current.__autocomplete_indexName] = ((_acc$current$__autoco = acc[current.__autocomplete_indexName]) !== null && _acc$current$__autoco !== void 0 ? _acc$current$__autoco : []).concat(current);\n return acc;\n }, {});\n return Object.keys(itemsByIndexName).map(function (indexName) {\n var items = itemsByIndexName[indexName];\n return {\n index: indexName,\n items: items,\n algoliaSource: ['autocomplete']\n };\n });\n}","export function isAlgoliaInsightsHit(hit) {\n return hit.objectID && hit.__autocomplete_indexName && hit.__autocomplete_queryID;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { createRef, debounce, isEqual, noop, safelyRunOnBrowser } from '@algolia/autocomplete-shared';\nimport { createClickedEvent } from './createClickedEvent';\nimport { createSearchInsightsApi } from './createSearchInsightsApi';\nimport { createViewedEvents } from './createViewedEvents';\nimport { isAlgoliaInsightsHit } from './isAlgoliaInsightsHit';\nvar VIEW_EVENT_DELAY = 400;\nvar ALGOLIA_INSIGHTS_VERSION = '2.15.0';\nvar ALGOLIA_INSIGHTS_SRC = \"https://cdn.jsdelivr.net/npm/search-insights@\".concat(ALGOLIA_INSIGHTS_VERSION, \"/dist/search-insights.min.js\");\nvar sendViewedObjectIDs = debounce(function (_ref) {\n var onItemsChange = _ref.onItemsChange,\n items = _ref.items,\n insights = _ref.insights,\n state = _ref.state;\n onItemsChange({\n insights: insights,\n insightsEvents: createViewedEvents({\n items: items\n }).map(function (event) {\n return _objectSpread({\n eventName: 'Items Viewed'\n }, event);\n }),\n state: state\n });\n}, VIEW_EVENT_DELAY);\nexport function createAlgoliaInsightsPlugin(options) {\n var _getOptions = getOptions(options),\n providedInsightsClient = _getOptions.insightsClient,\n insightsInitParams = _getOptions.insightsInitParams,\n onItemsChange = _getOptions.onItemsChange,\n onSelectEvent = _getOptions.onSelect,\n onActiveEvent = _getOptions.onActive,\n __autocomplete_clickAnalytics = _getOptions.__autocomplete_clickAnalytics;\n var insightsClient = providedInsightsClient;\n if (!providedInsightsClient) {\n safelyRunOnBrowser(function (_ref2) {\n var window = _ref2.window;\n var pointer = window.AlgoliaAnalyticsObject || 'aa';\n if (typeof pointer === 'string') {\n insightsClient = window[pointer];\n }\n if (!insightsClient) {\n window.AlgoliaAnalyticsObject = pointer;\n if (!window[pointer]) {\n window[pointer] = function () {\n if (!window[pointer].queue) {\n window[pointer].queue = [];\n }\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n window[pointer].queue.push(args);\n };\n }\n window[pointer].version = ALGOLIA_INSIGHTS_VERSION;\n insightsClient = window[pointer];\n loadInsights(window);\n }\n });\n }\n\n // We return an empty plugin if `insightsClient` is still undefined at\n // this stage, which can happen in server environments.\n if (!insightsClient) {\n return {};\n }\n if (insightsInitParams) {\n insightsClient('init', _objectSpread({\n partial: true\n }, insightsInitParams));\n }\n var insights = createSearchInsightsApi(insightsClient);\n var previousItems = createRef([]);\n var debouncedOnStateChange = debounce(function (_ref3) {\n var state = _ref3.state;\n if (!state.isOpen) {\n return;\n }\n var items = state.collections.reduce(function (acc, current) {\n return [].concat(_toConsumableArray(acc), _toConsumableArray(current.items));\n }, []).filter(isAlgoliaInsightsHit);\n if (!isEqual(previousItems.current.map(function (x) {\n return x.objectID;\n }), items.map(function (x) {\n return x.objectID;\n }))) {\n previousItems.current = items;\n if (items.length > 0) {\n sendViewedObjectIDs({\n onItemsChange: onItemsChange,\n items: items,\n insights: insights,\n state: state\n });\n }\n }\n }, 0);\n return {\n name: 'aa.algoliaInsightsPlugin',\n subscribe: function subscribe(_ref4) {\n var setContext = _ref4.setContext,\n onSelect = _ref4.onSelect,\n onActive = _ref4.onActive;\n function setInsightsContext(userToken) {\n setContext({\n algoliaInsightsPlugin: {\n __algoliaSearchParameters: _objectSpread(_objectSpread({}, __autocomplete_clickAnalytics ? {\n clickAnalytics: true\n } : {}), userToken ? {\n userToken: normalizeUserToken(userToken)\n } : {}),\n insights: insights\n }\n });\n }\n insightsClient('addAlgoliaAgent', 'insights-plugin');\n setInsightsContext();\n\n // Handles user token changes\n insightsClient('onUserTokenChange', function (userToken) {\n setInsightsContext(userToken);\n });\n insightsClient('getUserToken', null, function (_error, userToken) {\n setInsightsContext(userToken);\n });\n onSelect(function (_ref5) {\n var item = _ref5.item,\n state = _ref5.state,\n event = _ref5.event,\n source = _ref5.source;\n if (!isAlgoliaInsightsHit(item)) {\n return;\n }\n onSelectEvent({\n state: state,\n event: event,\n insights: insights,\n item: item,\n insightsEvents: [_objectSpread({\n eventName: 'Item Selected'\n }, createClickedEvent({\n item: item,\n items: source.getItems().filter(isAlgoliaInsightsHit)\n }))]\n });\n });\n onActive(function (_ref6) {\n var item = _ref6.item,\n source = _ref6.source,\n state = _ref6.state,\n event = _ref6.event;\n if (!isAlgoliaInsightsHit(item)) {\n return;\n }\n onActiveEvent({\n state: state,\n event: event,\n insights: insights,\n item: item,\n insightsEvents: [_objectSpread({\n eventName: 'Item Active'\n }, createClickedEvent({\n item: item,\n items: source.getItems().filter(isAlgoliaInsightsHit)\n }))]\n });\n });\n },\n onStateChange: function onStateChange(_ref7) {\n var state = _ref7.state;\n debouncedOnStateChange({\n state: state\n });\n },\n __autocomplete_pluginOptions: options\n };\n}\nfunction getAlgoliaSources() {\n var _context$algoliaInsig;\n var algoliaSourceBase = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var context = arguments.length > 1 ? arguments[1] : undefined;\n return [].concat(_toConsumableArray(algoliaSourceBase), ['autocomplete-internal'], _toConsumableArray((_context$algoliaInsig = context.algoliaInsightsPlugin) !== null && _context$algoliaInsig !== void 0 && _context$algoliaInsig.__automaticInsights ? ['autocomplete-automatic'] : []));\n}\nfunction getOptions(options) {\n return _objectSpread({\n onItemsChange: function onItemsChange(_ref8) {\n var insights = _ref8.insights,\n insightsEvents = _ref8.insightsEvents,\n state = _ref8.state;\n insights.viewedObjectIDs.apply(insights, _toConsumableArray(insightsEvents.map(function (event) {\n return _objectSpread(_objectSpread({}, event), {}, {\n algoliaSource: getAlgoliaSources(event.algoliaSource, state.context)\n });\n })));\n },\n onSelect: function onSelect(_ref9) {\n var insights = _ref9.insights,\n insightsEvents = _ref9.insightsEvents,\n state = _ref9.state;\n insights.clickedObjectIDsAfterSearch.apply(insights, _toConsumableArray(insightsEvents.map(function (event) {\n return _objectSpread(_objectSpread({}, event), {}, {\n algoliaSource: getAlgoliaSources(event.algoliaSource, state.context)\n });\n })));\n },\n onActive: noop,\n __autocomplete_clickAnalytics: true\n }, options);\n}\nfunction loadInsights(environment) {\n var errorMessage = \"[Autocomplete]: Could not load search-insights.js. Please load it manually following https://alg.li/insights-autocomplete\";\n try {\n var script = environment.document.createElement('script');\n script.async = true;\n script.src = ALGOLIA_INSIGHTS_SRC;\n script.onerror = function () {\n // eslint-disable-next-line no-console\n console.error(errorMessage);\n };\n document.body.appendChild(script);\n } catch (cause) {\n // eslint-disable-next-line no-console\n console.error(errorMessage);\n }\n}\n\n/**\n * While `search-insights` supports both string and number user tokens,\n * the Search API only accepts strings. This function normalizes the user token.\n */\nfunction normalizeUserToken(userToken) {\n return typeof userToken === 'number' ? userToken.toString() : userToken;\n}","/**\n * Safely runs code meant for browser environments only.\n */\nexport function safelyRunOnBrowser(callback) {\n if (typeof window !== 'undefined') {\n return callback({\n window: window\n });\n }\n return undefined;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { createCancelablePromiseList } from './utils';\nexport function createStore(reducer, props, onStoreStateChange) {\n var state = props.initialState;\n return {\n getState: function getState() {\n return state;\n },\n dispatch: function dispatch(action, payload) {\n var prevState = _objectSpread({}, state);\n state = reducer(state, {\n type: action,\n props: props,\n payload: payload\n });\n onStoreStateChange({\n state: state,\n prevState: prevState\n });\n },\n pendingRequests: createCancelablePromiseList()\n };\n}","export function createCancelablePromiseList() {\n var list = [];\n return {\n add: function add(cancelablePromise) {\n list.push(cancelablePromise);\n return cancelablePromise.finally(function () {\n list = list.filter(function (item) {\n return item !== cancelablePromise;\n });\n });\n },\n cancelAll: function cancelAll() {\n list.forEach(function (promise) {\n return promise.cancel();\n });\n },\n isEmpty: function isEmpty() {\n return list.length === 0;\n }\n };\n}","export function flatten(values) {\n return values.reduce(function (a, b) {\n return a.concat(b);\n }, []);\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { flatten } from '@algolia/autocomplete-shared';\nexport function getAutocompleteSetters(_ref) {\n var store = _ref.store;\n var setActiveItemId = function setActiveItemId(value) {\n store.dispatch('setActiveItemId', value);\n };\n var setQuery = function setQuery(value) {\n store.dispatch('setQuery', value);\n };\n var setCollections = function setCollections(rawValue) {\n var baseItemId = 0;\n var value = rawValue.map(function (collection) {\n return _objectSpread(_objectSpread({}, collection), {}, {\n // We flatten the stored items to support calling `getAlgoliaResults`\n // from the source itself.\n items: flatten(collection.items).map(function (item) {\n return _objectSpread(_objectSpread({}, item), {}, {\n __autocomplete_id: baseItemId++\n });\n })\n });\n });\n store.dispatch('setCollections', value);\n };\n var setIsOpen = function setIsOpen(value) {\n store.dispatch('setIsOpen', value);\n };\n var setStatus = function setStatus(value) {\n store.dispatch('setStatus', value);\n };\n var setContext = function setContext(value) {\n store.dispatch('setContext', value);\n };\n return {\n setActiveItemId: setActiveItemId,\n setQuery: setQuery,\n setCollections: setCollections,\n setIsOpen: setIsOpen,\n setStatus: setStatus,\n setContext: setContext\n };\n}","export function getItemsCount(state) {\n if (state.collections.length === 0) {\n return 0;\n }\n return state.collections.reduce(function (sum, collection) {\n return sum + collection.items.length;\n }, 0);\n}","var autocompleteId = 0;\nexport function generateAutocompleteId() {\n return \"autocomplete-\".concat(autocompleteId++);\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nimport { invariant, decycle, noop } from '@algolia/autocomplete-shared';\nexport function getNormalizedSources(getSources, params) {\n var seenSourceIds = [];\n return Promise.resolve(getSources(params)).then(function (sources) {\n invariant(Array.isArray(sources), function () {\n return \"The `getSources` function must return an array of sources but returned type \".concat(JSON.stringify(_typeof(sources)), \":\\n\\n\").concat(JSON.stringify(decycle(sources), null, 2));\n });\n return Promise.all(sources\n // We allow `undefined` and `false` sources to allow users to use\n // `Boolean(query) && source` (=> `false`).\n // We need to remove these values at this point.\n .filter(function (maybeSource) {\n return Boolean(maybeSource);\n }).map(function (source) {\n invariant(typeof source.sourceId === 'string', 'A source must provide a `sourceId` string.');\n if (seenSourceIds.includes(source.sourceId)) {\n throw new Error(\"[Autocomplete] The `sourceId` \".concat(JSON.stringify(source.sourceId), \" is not unique.\"));\n }\n seenSourceIds.push(source.sourceId);\n var defaultSource = {\n getItemInputValue: function getItemInputValue(_ref) {\n var state = _ref.state;\n return state.query;\n },\n getItemUrl: function getItemUrl() {\n return undefined;\n },\n onSelect: function onSelect(_ref2) {\n var setIsOpen = _ref2.setIsOpen;\n setIsOpen(false);\n },\n onActive: noop,\n onResolve: noop\n };\n Object.keys(defaultSource).forEach(function (key) {\n defaultSource[key].__default = true;\n });\n var normalizedSource = _objectSpread(_objectSpread({}, defaultSource), source);\n return Promise.resolve(normalizedSource);\n }));\n });\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { getItemsCount, generateAutocompleteId, flatten } from '@algolia/autocomplete-shared';\nimport { getNormalizedSources } from './utils';\nexport function getDefaultProps(props, pluginSubscribers) {\n var _props$id;\n /* eslint-disable no-restricted-globals */\n var environment = typeof window !== 'undefined' ? window : {};\n /* eslint-enable no-restricted-globals */\n var plugins = props.plugins || [];\n return _objectSpread(_objectSpread({\n debug: false,\n openOnFocus: false,\n enterKeyHint: undefined,\n ignoreCompositionEvents: false,\n placeholder: '',\n autoFocus: false,\n defaultActiveItemId: null,\n stallThreshold: 300,\n insights: undefined,\n environment: environment,\n shouldPanelOpen: function shouldPanelOpen(_ref) {\n var state = _ref.state;\n return getItemsCount(state) > 0;\n },\n reshape: function reshape(_ref2) {\n var sources = _ref2.sources;\n return sources;\n }\n }, props), {}, {\n // Since `generateAutocompleteId` triggers a side effect (it increments\n // an internal counter), we don't want to execute it if unnecessary.\n id: (_props$id = props.id) !== null && _props$id !== void 0 ? _props$id : generateAutocompleteId(),\n plugins: plugins,\n // The following props need to be deeply defaulted.\n initialState: _objectSpread({\n activeItemId: null,\n query: '',\n completion: null,\n collections: [],\n isOpen: false,\n status: 'idle',\n context: {}\n }, props.initialState),\n onStateChange: function onStateChange(params) {\n var _props$onStateChange;\n (_props$onStateChange = props.onStateChange) === null || _props$onStateChange === void 0 ? void 0 : _props$onStateChange.call(props, params);\n plugins.forEach(function (x) {\n var _x$onStateChange;\n return (_x$onStateChange = x.onStateChange) === null || _x$onStateChange === void 0 ? void 0 : _x$onStateChange.call(x, params);\n });\n },\n onSubmit: function onSubmit(params) {\n var _props$onSubmit;\n (_props$onSubmit = props.onSubmit) === null || _props$onSubmit === void 0 ? void 0 : _props$onSubmit.call(props, params);\n plugins.forEach(function (x) {\n var _x$onSubmit;\n return (_x$onSubmit = x.onSubmit) === null || _x$onSubmit === void 0 ? void 0 : _x$onSubmit.call(x, params);\n });\n },\n onReset: function onReset(params) {\n var _props$onReset;\n (_props$onReset = props.onReset) === null || _props$onReset === void 0 ? void 0 : _props$onReset.call(props, params);\n plugins.forEach(function (x) {\n var _x$onReset;\n return (_x$onReset = x.onReset) === null || _x$onReset === void 0 ? void 0 : _x$onReset.call(x, params);\n });\n },\n getSources: function getSources(params) {\n return Promise.all([].concat(_toConsumableArray(plugins.map(function (plugin) {\n return plugin.getSources;\n })), [props.getSources]).filter(Boolean).map(function (getSources) {\n return getNormalizedSources(getSources, params);\n })).then(function (nested) {\n return flatten(nested);\n }).then(function (sources) {\n return sources.map(function (source) {\n return _objectSpread(_objectSpread({}, source), {}, {\n onSelect: function onSelect(params) {\n source.onSelect(params);\n pluginSubscribers.forEach(function (x) {\n var _x$onSelect;\n return (_x$onSelect = x.onSelect) === null || _x$onSelect === void 0 ? void 0 : _x$onSelect.call(x, params);\n });\n },\n onActive: function onActive(params) {\n source.onActive(params);\n pluginSubscribers.forEach(function (x) {\n var _x$onActive;\n return (_x$onActive = x.onActive) === null || _x$onActive === void 0 ? void 0 : _x$onActive.call(x, params);\n });\n },\n onResolve: function onResolve(params) {\n source.onResolve(params);\n pluginSubscribers.forEach(function (x) {\n var _x$onResolve;\n return (_x$onResolve = x.onResolve) === null || _x$onResolve === void 0 ? void 0 : _x$onResolve.call(x, params);\n });\n }\n });\n });\n });\n },\n navigator: _objectSpread({\n navigate: function navigate(_ref3) {\n var itemUrl = _ref3.itemUrl;\n environment.location.assign(itemUrl);\n },\n navigateNewTab: function navigateNewTab(_ref4) {\n var itemUrl = _ref4.itemUrl;\n var windowReference = environment.open(itemUrl, '_blank', 'noopener');\n windowReference === null || windowReference === void 0 ? void 0 : windowReference.focus();\n },\n navigateNewWindow: function navigateNewWindow(_ref5) {\n var itemUrl = _ref5.itemUrl;\n environment.open(itemUrl, '_blank', 'noopener');\n }\n }, props.navigator)\n });\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { flatten } from '@algolia/autocomplete-shared';\nexport function reshape(_ref) {\n var collections = _ref.collections,\n props = _ref.props,\n state = _ref.state;\n // Sources are grouped by `sourceId` to conveniently pick them via destructuring.\n // Example: `const { recentSearchesPlugin } = sourcesBySourceId`\n var originalSourcesBySourceId = collections.reduce(function (acc, collection) {\n return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, collection.source.sourceId, _objectSpread(_objectSpread({}, collection.source), {}, {\n getItems: function getItems() {\n // We provide the resolved items from the collection to the `reshape` prop.\n return flatten(collection.items);\n }\n })));\n }, {});\n var _props$plugins$reduce = props.plugins.reduce(function (acc, plugin) {\n if (plugin.reshape) {\n return plugin.reshape(acc);\n }\n return acc;\n }, {\n sourcesBySourceId: originalSourcesBySourceId,\n state: state\n }),\n sourcesBySourceId = _props$plugins$reduce.sourcesBySourceId;\n var reshapeSources = props.reshape({\n sourcesBySourceId: sourcesBySourceId,\n sources: Object.values(sourcesBySourceId),\n state: state\n });\n\n // We reconstruct the collections with the items modified by the `reshape` prop.\n return flatten(reshapeSources).filter(Boolean).map(function (source) {\n return {\n source: source,\n items: source.getItems()\n };\n });\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nimport { decycle, flatten, invariant } from '@algolia/autocomplete-shared';\nimport { mapToAlgoliaResponse } from './utils';\nfunction isDescription(item) {\n return Boolean(item.execute);\n}\nfunction isRequesterDescription(description) {\n return Boolean(description === null || description === void 0 ? void 0 : description.execute);\n}\nexport function preResolve(itemsOrDescription, sourceId, state) {\n if (isRequesterDescription(itemsOrDescription)) {\n var contextParameters = itemsOrDescription.requesterId === 'algolia' ? Object.assign.apply(Object, [{}].concat(_toConsumableArray(Object.keys(state.context).map(function (key) {\n var _state$context$key;\n return (_state$context$key = state.context[key]) === null || _state$context$key === void 0 ? void 0 : _state$context$key.__algoliaSearchParameters;\n })))) : {};\n return _objectSpread(_objectSpread({}, itemsOrDescription), {}, {\n requests: itemsOrDescription.queries.map(function (query) {\n return {\n query: itemsOrDescription.requesterId === 'algolia' ? _objectSpread(_objectSpread({}, query), {}, {\n params: _objectSpread(_objectSpread({}, contextParameters), query.params)\n }) : query,\n sourceId: sourceId,\n transformResponse: itemsOrDescription.transformResponse\n };\n })\n });\n }\n return {\n items: itemsOrDescription,\n sourceId: sourceId\n };\n}\nexport function resolve(items) {\n var packed = items.reduce(function (acc, current) {\n if (!isDescription(current)) {\n acc.push(current);\n return acc;\n }\n var searchClient = current.searchClient,\n execute = current.execute,\n requesterId = current.requesterId,\n requests = current.requests;\n var container = acc.find(function (item) {\n return isDescription(current) && isDescription(item) && item.searchClient === searchClient && Boolean(requesterId) && item.requesterId === requesterId;\n });\n if (container) {\n var _container$items;\n (_container$items = container.items).push.apply(_container$items, _toConsumableArray(requests));\n } else {\n var request = {\n execute: execute,\n requesterId: requesterId,\n items: requests,\n searchClient: searchClient\n };\n acc.push(request);\n }\n return acc;\n }, []);\n var values = packed.map(function (maybeDescription) {\n if (!isDescription(maybeDescription)) {\n return Promise.resolve(maybeDescription);\n }\n var _ref = maybeDescription,\n execute = _ref.execute,\n items = _ref.items,\n searchClient = _ref.searchClient;\n return execute({\n searchClient: searchClient,\n requests: items\n });\n });\n return Promise.all(values).then(function (responses) {\n return flatten(responses);\n });\n}\nexport function postResolve(responses, sources, store) {\n return sources.map(function (source) {\n var matches = responses.filter(function (response) {\n return response.sourceId === source.sourceId;\n });\n var results = matches.map(function (_ref2) {\n var items = _ref2.items;\n return items;\n });\n var transform = matches[0].transformResponse;\n var items = transform ? transform(mapToAlgoliaResponse(results)) : results;\n source.onResolve({\n source: source,\n results: results,\n items: items,\n state: store.getState()\n });\n invariant(Array.isArray(items), function () {\n return \"The `getItems` function from source \\\"\".concat(source.sourceId, \"\\\" must return an array of items but returned type \").concat(JSON.stringify(_typeof(items)), \":\\n\\n\").concat(JSON.stringify(decycle(items), null, 2), \".\\n\\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems\");\n });\n invariant(items.every(Boolean), \"The `getItems` function from source \\\"\".concat(source.sourceId, \"\\\" must return an array of items but returned \").concat(JSON.stringify(undefined), \".\\n\\nDid you forget to return items?\\n\\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems\"));\n return {\n source: source,\n items: items\n };\n });\n}","export function mapToAlgoliaResponse(rawResults) {\n return {\n results: rawResults,\n hits: rawResults.map(function (result) {\n return result.hits;\n }).filter(Boolean),\n facetHits: rawResults.map(function (result) {\n var _facetHits;\n return (_facetHits = result.facetHits) === null || _facetHits === void 0 ? void 0 : _facetHits.map(function (facetHit) {\n // Bring support for the highlighting components.\n return {\n label: facetHit.value,\n count: facetHit.count,\n _highlightResult: {\n label: {\n value: facetHit.highlighted\n }\n }\n };\n });\n }).filter(Boolean)\n };\n}","function createInternalCancelablePromise(promise, initialState) {\n var state = initialState;\n return {\n then: function then(onfulfilled, onrejected) {\n return createInternalCancelablePromise(promise.then(createCallback(onfulfilled, state, promise), createCallback(onrejected, state, promise)), state);\n },\n catch: function _catch(onrejected) {\n return createInternalCancelablePromise(promise.catch(createCallback(onrejected, state, promise)), state);\n },\n finally: function _finally(onfinally) {\n if (onfinally) {\n state.onCancelList.push(onfinally);\n }\n return createInternalCancelablePromise(promise.finally(createCallback(onfinally && function () {\n state.onCancelList = [];\n return onfinally();\n }, state, promise)), state);\n },\n cancel: function cancel() {\n state.isCanceled = true;\n var callbacks = state.onCancelList;\n state.onCancelList = [];\n callbacks.forEach(function (callback) {\n callback();\n });\n },\n isCanceled: function isCanceled() {\n return state.isCanceled === true;\n }\n };\n}\nexport function createCancelablePromise(executor) {\n return createInternalCancelablePromise(new Promise(function (resolve, reject) {\n return executor(resolve, reject);\n }), {\n isCanceled: false,\n onCancelList: []\n });\n}\ncreateCancelablePromise.resolve = function (value) {\n return cancelable(Promise.resolve(value));\n};\ncreateCancelablePromise.reject = function (reason) {\n return cancelable(Promise.reject(reason));\n};\nexport function cancelable(promise) {\n return createInternalCancelablePromise(promise, {\n isCanceled: false,\n onCancelList: []\n });\n}\nfunction createCallback(onResult, state, fallback) {\n if (!onResult) {\n return fallback;\n }\n return function callback(arg) {\n if (state.isCanceled) {\n return arg;\n }\n return onResult(arg);\n };\n}","// We don't have access to the autocomplete source when we call `onKeyDown`\n// or `onClick` because those are native browser events.\n// However, we can get the source from the suggestion index.\nfunction getCollectionFromActiveItemId(state) {\n // Given 3 sources with respectively 1, 2 and 3 suggestions: [1, 2, 3]\n // We want to get the accumulated counts:\n // [1, 1 + 2, 1 + 2 + 3] = [1, 3, 3 + 3] = [1, 3, 6]\n var accumulatedCollectionsCount = state.collections.map(function (collections) {\n return collections.items.length;\n }).reduce(function (acc, collectionsCount, index) {\n var previousValue = acc[index - 1] || 0;\n var nextValue = previousValue + collectionsCount;\n acc.push(nextValue);\n return acc;\n }, []);\n\n // Based on the accumulated counts, we can infer the index of the suggestion.\n var collectionIndex = accumulatedCollectionsCount.reduce(function (acc, current) {\n if (current <= state.activeItemId) {\n return acc + 1;\n }\n return acc;\n }, 0);\n return state.collections[collectionIndex];\n}\n\n/**\n * Gets the highlighted index relative to a suggestion object (not the absolute\n * highlighted index).\n *\n * Example:\n * [['a', 'b'], ['c', 'd', 'e'], ['f']]\n * ↑\n * (absolute: 3, relative: 1)\n */\nfunction getRelativeActiveItemId(_ref) {\n var state = _ref.state,\n collection = _ref.collection;\n var isOffsetFound = false;\n var counter = 0;\n var previousItemsOffset = 0;\n while (isOffsetFound === false) {\n var currentCollection = state.collections[counter];\n if (currentCollection === collection) {\n isOffsetFound = true;\n break;\n }\n previousItemsOffset += currentCollection.items.length;\n counter++;\n }\n return state.activeItemId - previousItemsOffset;\n}\nexport function getActiveItem(state) {\n var collection = getCollectionFromActiveItemId(state);\n if (!collection) {\n return null;\n }\n var item = collection.items[getRelativeActiveItemId({\n state: state,\n collection: collection\n })];\n var source = collection.source;\n var itemInputValue = source.getItemInputValue({\n item: item,\n state: state\n });\n var itemUrl = source.getItemUrl({\n item: item,\n state: state\n });\n return {\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n source: source\n };\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nvar _excluded = [\"event\", \"nextState\", \"props\", \"query\", \"refresh\", \"store\"];\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport { reshape } from './reshape';\nimport { preResolve, resolve, postResolve } from './resolve';\nimport { cancelable, createConcurrentSafePromise, getActiveItem } from './utils';\nvar lastStalledId = null;\nvar runConcurrentSafePromise = createConcurrentSafePromise();\nexport function onInput(_ref) {\n var event = _ref.event,\n _ref$nextState = _ref.nextState,\n nextState = _ref$nextState === void 0 ? {} : _ref$nextState,\n props = _ref.props,\n query = _ref.query,\n refresh = _ref.refresh,\n store = _ref.store,\n setters = _objectWithoutProperties(_ref, _excluded);\n if (lastStalledId) {\n props.environment.clearTimeout(lastStalledId);\n }\n var setCollections = setters.setCollections,\n setIsOpen = setters.setIsOpen,\n setQuery = setters.setQuery,\n setActiveItemId = setters.setActiveItemId,\n setStatus = setters.setStatus,\n setContext = setters.setContext;\n setQuery(query);\n setActiveItemId(props.defaultActiveItemId);\n if (!query && props.openOnFocus === false) {\n var _nextState$isOpen;\n var collections = store.getState().collections.map(function (collection) {\n return _objectSpread(_objectSpread({}, collection), {}, {\n items: []\n });\n });\n setStatus('idle');\n setCollections(collections);\n setIsOpen((_nextState$isOpen = nextState.isOpen) !== null && _nextState$isOpen !== void 0 ? _nextState$isOpen : props.shouldPanelOpen({\n state: store.getState()\n }));\n\n // We make sure to update the latest resolved value of the tracked\n // promises to keep late resolving promises from \"cancelling\" the state\n // updates performed in this code path.\n // We chain with a void promise to respect `onInput`'s expected return type.\n var _request = cancelable(runConcurrentSafePromise(collections).then(function () {\n return Promise.resolve();\n }));\n return store.pendingRequests.add(_request);\n }\n setStatus('loading');\n lastStalledId = props.environment.setTimeout(function () {\n setStatus('stalled');\n }, props.stallThreshold);\n\n // We track the entire promise chain triggered by `onInput` before mutating\n // the Autocomplete state to make sure that any state manipulation is based on\n // fresh data regardless of when promises individually resolve.\n // We don't track nested promises and only rely on the full chain resolution,\n // meaning we should only ever manipulate the state once this concurrent-safe\n // promise is resolved.\n var request = cancelable(runConcurrentSafePromise(props.getSources(_objectSpread({\n query: query,\n refresh: refresh,\n state: store.getState()\n }, setters)).then(function (sources) {\n return Promise.all(sources.map(function (source) {\n return Promise.resolve(source.getItems(_objectSpread({\n query: query,\n refresh: refresh,\n state: store.getState()\n }, setters))).then(function (itemsOrDescription) {\n return preResolve(itemsOrDescription, source.sourceId, store.getState());\n });\n })).then(resolve).then(function (responses) {\n var __automaticInsights = responses.some(function (_ref2) {\n var items = _ref2.items;\n return isSearchResponseWithAutomaticInsightsFlag(items);\n });\n\n // No need to pollute the context if `__automaticInsights=false`\n if (__automaticInsights) {\n var _store$getState$conte;\n setContext({\n algoliaInsightsPlugin: _objectSpread(_objectSpread({}, ((_store$getState$conte = store.getState().context) === null || _store$getState$conte === void 0 ? void 0 : _store$getState$conte.algoliaInsightsPlugin) || {}), {}, {\n __automaticInsights: __automaticInsights\n })\n });\n }\n return postResolve(responses, sources, store);\n }).then(function (collections) {\n return reshape({\n collections: collections,\n props: props,\n state: store.getState()\n });\n });\n }))).then(function (collections) {\n var _nextState$isOpen2;\n // Parameters passed to `onInput` could be stale when the following code\n // executes, because `onInput` calls may not resolve in order.\n // If it becomes a problem we'll need to save the last passed parameters.\n // See: https://codesandbox.io/s/agitated-cookies-y290z\n\n setStatus('idle');\n setCollections(collections);\n var isPanelOpen = props.shouldPanelOpen({\n state: store.getState()\n });\n setIsOpen((_nextState$isOpen2 = nextState.isOpen) !== null && _nextState$isOpen2 !== void 0 ? _nextState$isOpen2 : props.openOnFocus && !query && isPanelOpen || isPanelOpen);\n var highlightedItem = getActiveItem(store.getState());\n if (store.getState().activeItemId !== null && highlightedItem) {\n var item = highlightedItem.item,\n itemInputValue = highlightedItem.itemInputValue,\n itemUrl = highlightedItem.itemUrl,\n source = highlightedItem.source;\n source.onActive(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n }\n }).finally(function () {\n setStatus('idle');\n if (lastStalledId) {\n props.environment.clearTimeout(lastStalledId);\n }\n });\n return store.pendingRequests.add(request);\n}\nfunction isSearchResponseWithAutomaticInsightsFlag(items) {\n return !Array.isArray(items) && Boolean(items === null || items === void 0 ? void 0 : items._automaticInsights);\n}","/**\n * Creates a runner that executes promises in a concurrent-safe way.\n *\n * This is useful to prevent older promises to resolve after a newer promise,\n * otherwise resulting in stale resolved values.\n */\nexport function createConcurrentSafePromise() {\n var basePromiseId = -1;\n var latestResolvedId = -1;\n var latestResolvedValue = undefined;\n return function runConcurrentSafePromise(promise) {\n basePromiseId++;\n var currentPromiseId = basePromiseId;\n return Promise.resolve(promise).then(function (x) {\n // The promise might take too long to resolve and get outdated. This would\n // result in resolving stale values.\n // When this happens, we ignore the promise value and return the one\n // coming from the latest resolved value.\n //\n // +----------------------------------+\n // | 100ms |\n // | run(1) +---> R1 |\n // | 300ms |\n // | run(2) +-------------> R2 (SKIP) |\n // | 200ms |\n // | run(3) +--------> R3 |\n // +----------------------------------+\n if (latestResolvedValue && currentPromiseId < latestResolvedId) {\n return latestResolvedValue;\n }\n latestResolvedId = currentPromiseId;\n latestResolvedValue = x;\n return x;\n });\n };\n}","/**\n * Returns a full element id for an autocomplete element.\n *\n * @param autocompleteInstanceId The id of the autocomplete instance\n * @param elementId The specific element id\n * @param source The source of the element, when it needs to be scoped\n */\nexport function getAutocompleteElementId(autocompleteInstanceId, elementId, source) {\n return [autocompleteInstanceId, source === null || source === void 0 ? void 0 : source.sourceId, elementId].filter(Boolean).join('-').replace(/\\s/g, '');\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nvar _excluded = [\"event\", \"props\", \"refresh\", \"store\"];\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport { onInput } from './onInput';\nimport { getActiveItem, getAutocompleteElementId } from './utils';\nexport function onKeyDown(_ref) {\n var event = _ref.event,\n props = _ref.props,\n refresh = _ref.refresh,\n store = _ref.store,\n setters = _objectWithoutProperties(_ref, _excluded);\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n // eslint-disable-next-line no-inner-declarations\n var triggerScrollIntoView = function triggerScrollIntoView() {\n var highlightedItem = getActiveItem(store.getState());\n var nodeItem = props.environment.document.getElementById(getAutocompleteElementId(props.id, \"item-\".concat(store.getState().activeItemId), highlightedItem === null || highlightedItem === void 0 ? void 0 : highlightedItem.source));\n if (nodeItem) {\n if (nodeItem.scrollIntoViewIfNeeded) {\n nodeItem.scrollIntoViewIfNeeded(false);\n } else {\n nodeItem.scrollIntoView(false);\n }\n }\n }; // eslint-disable-next-line no-inner-declarations\n var triggerOnActive = function triggerOnActive() {\n var highlightedItem = getActiveItem(store.getState());\n if (store.getState().activeItemId !== null && highlightedItem) {\n var item = highlightedItem.item,\n itemInputValue = highlightedItem.itemInputValue,\n itemUrl = highlightedItem.itemUrl,\n source = highlightedItem.source;\n source.onActive(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n }\n }; // Default browser behavior changes the caret placement on ArrowUp and\n // ArrowDown.\n event.preventDefault();\n\n // When re-opening the panel, we need to split the logic to keep the actions\n // synchronized as `onInput` returns a promise.\n if (store.getState().isOpen === false && (props.openOnFocus || Boolean(store.getState().query))) {\n onInput(_objectSpread({\n event: event,\n props: props,\n query: store.getState().query,\n refresh: refresh,\n store: store\n }, setters)).then(function () {\n store.dispatch(event.key, {\n nextActiveItemId: props.defaultActiveItemId\n });\n triggerOnActive();\n // Since we rely on the DOM, we need to wait for all the micro tasks to\n // finish (which include re-opening the panel) to make sure all the\n // elements are available.\n setTimeout(triggerScrollIntoView, 0);\n });\n } else {\n store.dispatch(event.key, {});\n triggerOnActive();\n triggerScrollIntoView();\n }\n } else if (event.key === 'Escape') {\n // This prevents the default browser behavior on `input[type=\"search\"]`\n // from removing the query right away because we first want to close the\n // panel.\n event.preventDefault();\n store.dispatch(event.key, null);\n\n // Hitting the `Escape` key signals the end of a user interaction with the\n // autocomplete. At this point, we should ignore any requests that are still\n // pending and could reopen the panel once they resolve, because that would\n // result in an unsolicited UI behavior.\n store.pendingRequests.cancelAll();\n } else if (event.key === 'Tab') {\n store.dispatch('blur', null);\n\n // Hitting the `Tab` key signals the end of a user interaction with the\n // autocomplete. At this point, we should ignore any requests that are still\n // pending and could reopen the panel once they resolve, because that would\n // result in an unsolicited UI behavior.\n store.pendingRequests.cancelAll();\n } else if (event.key === 'Enter') {\n // No active item, so we let the browser handle the native `onSubmit` form\n // event.\n if (store.getState().activeItemId === null || store.getState().collections.every(function (collection) {\n return collection.items.length === 0;\n })) {\n // If requests are still pending when the panel closes, they could reopen\n // the panel once they resolve.\n // We want to prevent any subsequent query from reopening the panel\n // because it would result in an unsolicited UI behavior.\n if (!props.debug) {\n store.pendingRequests.cancelAll();\n }\n return;\n }\n\n // This prevents the `onSubmit` event to be sent because an item is\n // highlighted.\n event.preventDefault();\n var _ref2 = getActiveItem(store.getState()),\n item = _ref2.item,\n itemInputValue = _ref2.itemInputValue,\n itemUrl = _ref2.itemUrl,\n source = _ref2.source;\n if (event.metaKey || event.ctrlKey) {\n if (itemUrl !== undefined) {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n props.navigator.navigateNewTab({\n itemUrl: itemUrl,\n item: item,\n state: store.getState()\n });\n }\n } else if (event.shiftKey) {\n if (itemUrl !== undefined) {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n props.navigator.navigateNewWindow({\n itemUrl: itemUrl,\n item: item,\n state: store.getState()\n });\n }\n } else if (event.altKey) {\n // Keep native browser behavior\n } else {\n if (itemUrl !== undefined) {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n props.navigator.navigate({\n itemUrl: itemUrl,\n item: item,\n state: store.getState()\n });\n return;\n }\n onInput(_objectSpread({\n event: event,\n nextState: {\n isOpen: false\n },\n props: props,\n query: itemInputValue,\n refresh: refresh,\n store: store\n }, setters)).then(function () {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n });\n }\n }\n}","var regex = /((gt|sm)-|galaxy nexus)|samsung[- ]|samsungbrowser/i;\nexport function isSamsung(userAgent) {\n return Boolean(userAgent && userAgent.match(regex));\n}","export function getNativeEvent(event) {\n return event.nativeEvent || event;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nvar _excluded = [\"props\", \"refresh\", \"store\"],\n _excluded2 = [\"inputElement\", \"formElement\", \"panelElement\"],\n _excluded3 = [\"inputElement\"],\n _excluded4 = [\"inputElement\", \"maxLength\"],\n _excluded5 = [\"source\"],\n _excluded6 = [\"item\", \"source\"];\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport { noop } from '@algolia/autocomplete-shared';\nimport { onInput } from './onInput';\nimport { onKeyDown as _onKeyDown } from './onKeyDown';\nimport { getActiveItem, getAutocompleteElementId, isOrContainsNode, isSamsung, getNativeEvent } from './utils';\nexport function getPropGetters(_ref) {\n var props = _ref.props,\n refresh = _ref.refresh,\n store = _ref.store,\n setters = _objectWithoutProperties(_ref, _excluded);\n var getEnvironmentProps = function getEnvironmentProps(providedProps) {\n var inputElement = providedProps.inputElement,\n formElement = providedProps.formElement,\n panelElement = providedProps.panelElement,\n rest = _objectWithoutProperties(providedProps, _excluded2);\n function onMouseDownOrTouchStart(event) {\n // The `onTouchStart`/`onMouseDown` events shouldn't trigger the `blur`\n // handler when it's not an interaction with Autocomplete.\n // We detect it with the following heuristics:\n // - the panel is closed AND there are no pending requests\n // (no interaction with the autocomplete, no future state updates)\n // - OR the touched target is the input element (should open the panel)\n var isAutocompleteInteraction = store.getState().isOpen || !store.pendingRequests.isEmpty();\n if (!isAutocompleteInteraction || event.target === inputElement) {\n return;\n }\n\n // @TODO: support cases where there are multiple Autocomplete instances.\n // Right now, a second instance makes this computation return false.\n var isTargetWithinAutocomplete = [formElement, panelElement].some(function (contextNode) {\n return isOrContainsNode(contextNode, event.target);\n });\n if (isTargetWithinAutocomplete === false) {\n store.dispatch('blur', null);\n\n // If requests are still pending when the user closes the panel, they\n // could reopen the panel once they resolve.\n // We want to prevent any subsequent query from reopening the panel\n // because it would result in an unsolicited UI behavior.\n if (!props.debug) {\n store.pendingRequests.cancelAll();\n }\n }\n }\n return _objectSpread({\n // We do not rely on the native `blur` event of the input to close the\n // panel, but rather on a custom `touchstart`/`mousedown` event outside\n // of the autocomplete elements.\n // This ensures we don't mistakenly interpret interactions within the\n // autocomplete (but outside of the input) as a signal to close the panel.\n // For example, clicking reset button causes an input blur, but if\n // `openOnFocus=true`, it shouldn't close the panel.\n // On touch devices, scrolling results (`touchmove`) causes an input blur\n // but shouldn't close the panel.\n onTouchStart: onMouseDownOrTouchStart,\n onMouseDown: onMouseDownOrTouchStart,\n // When scrolling on touch devices (mobiles, tablets, etc.), we want to\n // mimic the native platform behavior where the input is blurred to\n // hide the virtual keyboard. This gives more vertical space to\n // discover all the suggestions showing up in the panel.\n onTouchMove: function onTouchMove(event) {\n if (store.getState().isOpen === false || inputElement !== props.environment.document.activeElement || event.target === inputElement) {\n return;\n }\n inputElement.blur();\n }\n }, rest);\n };\n var getRootProps = function getRootProps(rest) {\n return _objectSpread({\n role: 'combobox',\n 'aria-expanded': store.getState().isOpen,\n 'aria-haspopup': 'listbox',\n 'aria-controls': store.getState().isOpen ? store.getState().collections.map(function (_ref2) {\n var source = _ref2.source;\n return getAutocompleteElementId(props.id, 'list', source);\n }).join(' ') : undefined,\n 'aria-labelledby': getAutocompleteElementId(props.id, 'label')\n }, rest);\n };\n var getFormProps = function getFormProps(providedProps) {\n var inputElement = providedProps.inputElement,\n rest = _objectWithoutProperties(providedProps, _excluded3);\n return _objectSpread({\n action: '',\n noValidate: true,\n role: 'search',\n onSubmit: function onSubmit(event) {\n var _providedProps$inputE;\n event.preventDefault();\n props.onSubmit(_objectSpread({\n event: event,\n refresh: refresh,\n state: store.getState()\n }, setters));\n store.dispatch('submit', null);\n (_providedProps$inputE = providedProps.inputElement) === null || _providedProps$inputE === void 0 ? void 0 : _providedProps$inputE.blur();\n },\n onReset: function onReset(event) {\n var _providedProps$inputE2;\n event.preventDefault();\n props.onReset(_objectSpread({\n event: event,\n refresh: refresh,\n state: store.getState()\n }, setters));\n store.dispatch('reset', null);\n (_providedProps$inputE2 = providedProps.inputElement) === null || _providedProps$inputE2 === void 0 ? void 0 : _providedProps$inputE2.focus();\n }\n }, rest);\n };\n var getInputProps = function getInputProps(providedProps) {\n var _props$environment$na;\n function onFocus(event) {\n // We want to trigger a query when `openOnFocus` is true\n // because the panel should open with the current query.\n if (props.openOnFocus || Boolean(store.getState().query)) {\n onInput(_objectSpread({\n event: event,\n props: props,\n query: store.getState().completion || store.getState().query,\n refresh: refresh,\n store: store\n }, setters));\n }\n store.dispatch('focus', null);\n }\n var _ref3 = providedProps || {},\n inputElement = _ref3.inputElement,\n _ref3$maxLength = _ref3.maxLength,\n maxLength = _ref3$maxLength === void 0 ? 512 : _ref3$maxLength,\n rest = _objectWithoutProperties(_ref3, _excluded4);\n var activeItem = getActiveItem(store.getState());\n var userAgent = ((_props$environment$na = props.environment.navigator) === null || _props$environment$na === void 0 ? void 0 : _props$environment$na.userAgent) || '';\n var shouldFallbackKeyHint = isSamsung(userAgent);\n var enterKeyHint = props.enterKeyHint || (activeItem !== null && activeItem !== void 0 && activeItem.itemUrl && !shouldFallbackKeyHint ? 'go' : 'search');\n return _objectSpread({\n 'aria-autocomplete': 'both',\n 'aria-activedescendant': store.getState().isOpen && store.getState().activeItemId !== null ? getAutocompleteElementId(props.id, \"item-\".concat(store.getState().activeItemId), activeItem === null || activeItem === void 0 ? void 0 : activeItem.source) : undefined,\n 'aria-controls': store.getState().isOpen ? store.getState().collections.map(function (_ref4) {\n var source = _ref4.source;\n return getAutocompleteElementId(props.id, 'list', source);\n }).join(' ') : undefined,\n 'aria-labelledby': getAutocompleteElementId(props.id, 'label'),\n value: store.getState().completion || store.getState().query,\n id: getAutocompleteElementId(props.id, 'input'),\n autoComplete: 'off',\n autoCorrect: 'off',\n autoCapitalize: 'off',\n enterKeyHint: enterKeyHint,\n spellCheck: 'false',\n autoFocus: props.autoFocus,\n placeholder: props.placeholder,\n maxLength: maxLength,\n type: 'search',\n onChange: function onChange(event) {\n var value = event.currentTarget.value;\n if (props.ignoreCompositionEvents && getNativeEvent(event).isComposing) {\n setters.setQuery(value);\n return;\n }\n onInput(_objectSpread({\n event: event,\n props: props,\n query: value.slice(0, maxLength),\n refresh: refresh,\n store: store\n }, setters));\n },\n onCompositionEnd: function onCompositionEnd(event) {\n onInput(_objectSpread({\n event: event,\n props: props,\n query: event.currentTarget.value.slice(0, maxLength),\n refresh: refresh,\n store: store\n }, setters));\n },\n onKeyDown: function onKeyDown(event) {\n if (getNativeEvent(event).isComposing) {\n return;\n }\n _onKeyDown(_objectSpread({\n event: event,\n props: props,\n refresh: refresh,\n store: store\n }, setters));\n },\n onFocus: onFocus,\n // We don't rely on the `blur` event.\n // See explanation in `onTouchStart`/`onMouseDown`.\n // @MAJOR See if we need to keep this handler.\n onBlur: noop,\n onClick: function onClick(event) {\n // When the panel is closed and you click on the input while\n // the input is focused, the `onFocus` event is not triggered\n // (default browser behavior).\n // In an autocomplete context, it makes sense to open the panel in this\n // case.\n // We mimic this event by catching the `onClick` event which\n // triggers the `onFocus` for the panel to open.\n if (providedProps.inputElement === props.environment.document.activeElement && !store.getState().isOpen) {\n onFocus(event);\n }\n }\n }, rest);\n };\n var getLabelProps = function getLabelProps(rest) {\n return _objectSpread({\n htmlFor: getAutocompleteElementId(props.id, 'input'),\n id: getAutocompleteElementId(props.id, 'label')\n }, rest);\n };\n var getListProps = function getListProps(providedProps) {\n var _ref5 = providedProps || {},\n source = _ref5.source,\n rest = _objectWithoutProperties(_ref5, _excluded5);\n return _objectSpread({\n role: 'listbox',\n 'aria-labelledby': getAutocompleteElementId(props.id, 'label'),\n id: getAutocompleteElementId(props.id, 'list', source)\n }, rest);\n };\n var getPanelProps = function getPanelProps(rest) {\n return _objectSpread({\n onMouseDown: function onMouseDown(event) {\n // Prevents the `activeElement` from being changed to the panel so\n // that the blur event is not triggered, otherwise it closes the\n // panel.\n event.preventDefault();\n },\n onMouseLeave: function onMouseLeave() {\n store.dispatch('mouseleave', null);\n }\n }, rest);\n };\n var getItemProps = function getItemProps(providedProps) {\n var item = providedProps.item,\n source = providedProps.source,\n rest = _objectWithoutProperties(providedProps, _excluded6);\n return _objectSpread({\n id: getAutocompleteElementId(props.id, \"item-\".concat(item.__autocomplete_id), source),\n role: 'option',\n 'aria-selected': store.getState().activeItemId === item.__autocomplete_id,\n onMouseMove: function onMouseMove(event) {\n if (item.__autocomplete_id === store.getState().activeItemId) {\n return;\n }\n store.dispatch('mousemove', item.__autocomplete_id);\n var activeItem = getActiveItem(store.getState());\n if (store.getState().activeItemId !== null && activeItem) {\n var _item = activeItem.item,\n itemInputValue = activeItem.itemInputValue,\n itemUrl = activeItem.itemUrl,\n _source = activeItem.source;\n _source.onActive(_objectSpread({\n event: event,\n item: _item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: _source,\n state: store.getState()\n }, setters));\n }\n },\n onMouseDown: function onMouseDown(event) {\n // Prevents the `activeElement` from being changed to the item so it\n // can remain with the current `activeElement`.\n event.preventDefault();\n },\n onClick: function onClick(event) {\n var itemInputValue = source.getItemInputValue({\n item: item,\n state: store.getState()\n });\n var itemUrl = source.getItemUrl({\n item: item,\n state: store.getState()\n });\n\n // If `getItemUrl` is provided, it means that the suggestion\n // is a link, not plain text that aims at updating the query.\n // We can therefore skip the state change because it will update\n // the `activeItemId`, resulting in a UI flash, especially\n // noticeable on mobile.\n var runPreCommand = itemUrl ? Promise.resolve() : onInput(_objectSpread({\n event: event,\n nextState: {\n isOpen: false\n },\n props: props,\n query: itemInputValue,\n refresh: refresh,\n store: store\n }, setters));\n runPreCommand.then(function () {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n });\n }\n }, rest);\n };\n return {\n getEnvironmentProps: getEnvironmentProps,\n getRootProps: getRootProps,\n getFormProps: getFormProps,\n getLabelProps: getLabelProps,\n getInputProps: getInputProps,\n getPanelProps: getPanelProps,\n getListProps: getListProps,\n getItemProps: getItemProps\n };\n}","export function isOrContainsNode(parent, child) {\n return parent === child || parent.contains(child);\n}","export var version = '1.18.0';","import { version } from './version';\nexport var userAgents = [{\n segment: 'autocomplete-core',\n version: version\n}];","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { userAgents } from '@algolia/autocomplete-shared';\nexport function getMetadata(_ref) {\n var _, _options$__autocomple, _options$__autocomple2, _options$__autocomple3;\n var plugins = _ref.plugins,\n options = _ref.options;\n var optionsKey = (_ = (((_options$__autocomple = options.__autocomplete_metadata) === null || _options$__autocomple === void 0 ? void 0 : _options$__autocomple.userAgents) || [])[0]) === null || _ === void 0 ? void 0 : _.segment;\n var extraOptions = optionsKey ? _defineProperty({}, optionsKey, Object.keys(((_options$__autocomple2 = options.__autocomplete_metadata) === null || _options$__autocomple2 === void 0 ? void 0 : _options$__autocomple2.options) || {})) : {};\n return {\n plugins: plugins.map(function (plugin) {\n return {\n name: plugin.name,\n options: Object.keys(plugin.__autocomplete_pluginOptions || [])\n };\n }),\n options: _objectSpread({\n 'autocomplete-core': Object.keys(options)\n }, extraOptions),\n ua: userAgents.concat(((_options$__autocomple3 = options.__autocomplete_metadata) === null || _options$__autocomple3 === void 0 ? void 0 : _options$__autocomple3.userAgents) || [])\n };\n}\nexport function injectMetadata(_ref3) {\n var _environment$navigato, _environment$navigato2;\n var metadata = _ref3.metadata,\n environment = _ref3.environment;\n var isMetadataEnabled = (_environment$navigato = environment.navigator) === null || _environment$navigato === void 0 ? void 0 : (_environment$navigato2 = _environment$navigato.userAgent) === null || _environment$navigato2 === void 0 ? void 0 : _environment$navigato2.includes('Algolia Crawler');\n if (isMetadataEnabled) {\n var metadataContainer = environment.document.createElement('meta');\n var headRef = environment.document.querySelector('head');\n metadataContainer.name = 'algolia:metadata';\n setTimeout(function () {\n metadataContainer.content = JSON.stringify(metadata);\n headRef.appendChild(metadataContainer);\n }, 0);\n }\n}","import { getActiveItem } from './utils';\nexport function getCompletion(_ref) {\n var _getActiveItem;\n var state = _ref.state;\n if (state.isOpen === false || state.activeItemId === null) {\n return null;\n }\n return ((_getActiveItem = getActiveItem(state)) === null || _getActiveItem === void 0 ? void 0 : _getActiveItem.itemInputValue) || null;\n}","/**\n * Returns the next active item ID from the current state.\n *\n * We allow circular keyboard navigation from the base index.\n * The base index can either be `null` (nothing is highlighted) or `0`\n * (the first item is highlighted).\n * The base index is allowed to get assigned `null` only if\n * `props.defaultActiveItemId` is `null`. This pattern allows to \"stop\"\n * by the actual query before navigating to other suggestions as seen on\n * Google or Amazon.\n *\n * @param moveAmount The offset to increment (or decrement) the last index\n * @param baseIndex The current index to compute the next index from\n * @param itemCount The number of items\n * @param defaultActiveItemId The default active index to fallback to\n */\nexport function getNextActiveItemId(moveAmount, baseIndex, itemCount, defaultActiveItemId) {\n if (!itemCount) {\n return null;\n }\n if (moveAmount < 0 && (baseIndex === null || defaultActiveItemId !== null && baseIndex === 0)) {\n return itemCount + moveAmount;\n }\n var numericIndex = (baseIndex === null ? -1 : baseIndex) + moveAmount;\n if (numericIndex <= -1 || numericIndex >= itemCount) {\n return defaultActiveItemId === null ? null : 0;\n }\n return numericIndex;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { getItemsCount, invariant } from '@algolia/autocomplete-shared';\nimport { getCompletion } from './getCompletion';\nimport { getNextActiveItemId } from './utils';\nexport var stateReducer = function stateReducer(state, action) {\n switch (action.type) {\n case 'setActiveItemId':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.payload\n });\n }\n case 'setQuery':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n query: action.payload,\n completion: null\n });\n }\n case 'setCollections':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n collections: action.payload\n });\n }\n case 'setIsOpen':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n isOpen: action.payload\n });\n }\n case 'setStatus':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n status: action.payload\n });\n }\n case 'setContext':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n context: _objectSpread(_objectSpread({}, state.context), action.payload)\n });\n }\n case 'ArrowDown':\n {\n var nextState = _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.payload.hasOwnProperty('nextActiveItemId') ? action.payload.nextActiveItemId : getNextActiveItemId(1, state.activeItemId, getItemsCount(state), action.props.defaultActiveItemId)\n });\n return _objectSpread(_objectSpread({}, nextState), {}, {\n completion: getCompletion({\n state: nextState\n })\n });\n }\n case 'ArrowUp':\n {\n var _nextState = _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: getNextActiveItemId(-1, state.activeItemId, getItemsCount(state), action.props.defaultActiveItemId)\n });\n return _objectSpread(_objectSpread({}, _nextState), {}, {\n completion: getCompletion({\n state: _nextState\n })\n });\n }\n case 'Escape':\n {\n if (state.isOpen) {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: null,\n isOpen: false,\n completion: null\n });\n }\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: null,\n query: '',\n status: 'idle',\n collections: []\n });\n }\n case 'submit':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: null,\n isOpen: false,\n status: 'idle'\n });\n }\n case 'reset':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId:\n // Since we open the panel on reset when openOnFocus=true\n // we need to restore the highlighted index to the defaultActiveItemId. (DocSearch use-case)\n\n // Since we close the panel when openOnFocus=false\n // we lose track of the highlighted index. (Query-suggestions use-case)\n action.props.openOnFocus === true ? action.props.defaultActiveItemId : null,\n status: 'idle',\n completion: null,\n query: ''\n });\n }\n case 'focus':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.props.defaultActiveItemId,\n isOpen: (action.props.openOnFocus || Boolean(state.query)) && action.props.shouldPanelOpen({\n state: state\n })\n });\n }\n case 'blur':\n {\n if (action.props.debug) {\n return state;\n }\n return _objectSpread(_objectSpread({}, state), {}, {\n isOpen: false,\n activeItemId: null\n });\n }\n case 'mousemove':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.payload\n });\n }\n case 'mouseleave':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.props.defaultActiveItemId\n });\n }\n default:\n invariant(false, \"The reducer action \".concat(JSON.stringify(action.type), \" is not supported.\"));\n return state;\n }\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { createAlgoliaInsightsPlugin } from '@algolia/autocomplete-plugin-algolia-insights';\nimport { checkOptions } from './checkOptions';\nimport { createStore } from './createStore';\nimport { getAutocompleteSetters } from './getAutocompleteSetters';\nimport { getDefaultProps } from './getDefaultProps';\nimport { getPropGetters } from './getPropGetters';\nimport { getMetadata, injectMetadata } from './metadata';\nimport { onInput } from './onInput';\nimport { stateReducer } from './stateReducer';\nexport function createAutocomplete(options) {\n checkOptions(options);\n var subscribers = [];\n var props = getDefaultProps(options, subscribers);\n var store = createStore(stateReducer, props, onStoreStateChange);\n var setters = getAutocompleteSetters({\n store: store\n });\n var propGetters = getPropGetters(_objectSpread({\n props: props,\n refresh: refresh,\n store: store,\n navigator: props.navigator\n }, setters));\n function onStoreStateChange(_ref) {\n var _state$context, _state$context$algoli;\n var prevState = _ref.prevState,\n state = _ref.state;\n props.onStateChange(_objectSpread({\n prevState: prevState,\n state: state,\n refresh: refresh,\n navigator: props.navigator\n }, setters));\n if (!isAlgoliaInsightsPluginEnabled() && (_state$context = state.context) !== null && _state$context !== void 0 && (_state$context$algoli = _state$context.algoliaInsightsPlugin) !== null && _state$context$algoli !== void 0 && _state$context$algoli.__automaticInsights && props.insights !== false) {\n var plugin = createAlgoliaInsightsPlugin({\n __autocomplete_clickAnalytics: false\n });\n props.plugins.push(plugin);\n subscribePlugins([plugin]);\n }\n }\n function refresh() {\n return onInput(_objectSpread({\n event: new Event('input'),\n nextState: {\n isOpen: store.getState().isOpen\n },\n props: props,\n navigator: props.navigator,\n query: store.getState().query,\n refresh: refresh,\n store: store\n }, setters));\n }\n function subscribePlugins(plugins) {\n plugins.forEach(function (plugin) {\n var _plugin$subscribe;\n return (_plugin$subscribe = plugin.subscribe) === null || _plugin$subscribe === void 0 ? void 0 : _plugin$subscribe.call(plugin, _objectSpread(_objectSpread({}, setters), {}, {\n navigator: props.navigator,\n refresh: refresh,\n onSelect: function onSelect(fn) {\n subscribers.push({\n onSelect: fn\n });\n },\n onActive: function onActive(fn) {\n subscribers.push({\n onActive: fn\n });\n },\n onResolve: function onResolve(fn) {\n subscribers.push({\n onResolve: fn\n });\n }\n }));\n });\n }\n function isAlgoliaInsightsPluginEnabled() {\n return props.plugins.some(function (plugin) {\n return plugin.name === 'aa.algoliaInsightsPlugin';\n });\n }\n if (props.insights && !isAlgoliaInsightsPluginEnabled()) {\n var insightsParams = typeof props.insights === 'boolean' ? {} : props.insights;\n props.plugins.push(createAlgoliaInsightsPlugin(insightsParams));\n }\n subscribePlugins(props.plugins);\n injectMetadata({\n metadata: getMetadata({\n plugins: props.plugins,\n options: options\n }),\n environment: props.environment\n });\n return _objectSpread(_objectSpread({\n refresh: refresh,\n navigator: props.navigator\n }, propGetters), setters);\n}","var n=function(t,s,r,e){var u;s[0]=0;for(var h=1;h=5&&((e||!n&&5===r)&&(h.push(r,0,e,s),r=6),n&&(h.push(r,n,0,s),r=6)),e=\"\"},a=0;a\"===t?(r=1,e=\"\"):e=t+e[0]:u?t===u?u=\"\":e+=t:'\"'===t||\"'\"===t?u=t:\">\"===t?(p(),r=1):r&&(\"=\"===t?(r=5,s=e,e=\"\"):\"/\"===t&&(r<5||\">\"===n[a][l+1])?(p(),3===r&&(h=h[0]),r=h,(h=h[0]).push(2,0,r),r=0):\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t?(p(),r=2):e+=t),3===r&&\"!--\"===e&&(r=4,h=h[0])}return p(),h}(s)),r),arguments,[])).length>1?r:r[0]}\n","export var SearchIcon = function SearchIcon(_ref) {\n var environment = _ref.environment;\n var element = environment.document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n element.setAttribute('class', 'aa-SubmitIcon');\n element.setAttribute('viewBox', '0 0 24 24');\n element.setAttribute('width', '20');\n element.setAttribute('height', '20');\n element.setAttribute('fill', 'currentColor');\n var path = environment.document.createElementNS('http://www.w3.org/2000/svg', 'path');\n path.setAttribute('d', 'M16.041 15.856c-0.034 0.026-0.067 0.055-0.099 0.087s-0.060 0.064-0.087 0.099c-1.258 1.213-2.969 1.958-4.855 1.958-1.933 0-3.682-0.782-4.95-2.050s-2.050-3.017-2.050-4.95 0.782-3.682 2.050-4.95 3.017-2.050 4.95-2.050 3.682 0.782 4.95 2.050 2.050 3.017 2.050 4.95c0 1.886-0.745 3.597-1.959 4.856zM21.707 20.293l-3.675-3.675c1.231-1.54 1.968-3.493 1.968-5.618 0-2.485-1.008-4.736-2.636-6.364s-3.879-2.636-6.364-2.636-4.736 1.008-6.364 2.636-2.636 3.879-2.636 6.364 1.008 4.736 2.636 6.364 3.879 2.636 6.364 2.636c2.125 0 4.078-0.737 5.618-1.968l3.675 3.675c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414z');\n element.appendChild(path);\n return element;\n};","export var ClearIcon = function ClearIcon(_ref) {\n var environment = _ref.environment;\n var element = environment.document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n element.setAttribute('class', 'aa-ClearIcon');\n element.setAttribute('viewBox', '0 0 24 24');\n element.setAttribute('width', '18');\n element.setAttribute('height', '18');\n element.setAttribute('fill', 'currentColor');\n var path = environment.document.createElementNS('http://www.w3.org/2000/svg', 'path');\n path.setAttribute('d', 'M5.293 6.707l5.293 5.293-5.293 5.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l5.293-5.293 5.293 5.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-5.293-5.293 5.293-5.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5.293 5.293-5.293-5.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z');\n element.appendChild(path);\n return element;\n};","export var LoadingIcon = function LoadingIcon(_ref) {\n var environment = _ref.environment;\n var element = environment.document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n element.setAttribute('class', 'aa-LoadingIcon');\n element.setAttribute('viewBox', '0 0 100 100');\n element.setAttribute('width', '20');\n element.setAttribute('height', '20');\n element.innerHTML = \"\\n \\n\";\n return element;\n};","/* eslint-disable */\n\n/**\n * Touch-specific event aliases\n *\n * See https://w3c.github.io/touch-events/#extensions-to-the-globaleventhandlers-mixin\n */\nvar TOUCH_EVENTS_ALIASES = ['ontouchstart', 'ontouchend', 'ontouchmove', 'ontouchcancel'];\n\n/*\n * Taken from Preact\n *\n * See https://github.com/preactjs/preact/blob/6ab49d9020740127577bf4af66bf63f4af7f9fee/src/diff/props.js#L58-L151\n */\n\nfunction setStyle(style, key, value) {\n if (value === null) {\n style[key] = '';\n } else if (typeof value !== 'number') {\n style[key] = value;\n } else {\n style[key] = value + 'px';\n }\n}\n\n/**\n * Proxy an event to hooked event handlers\n */\nfunction eventProxy(event) {\n this._listeners[event.type](event);\n}\n\n/**\n * Set a property value on a DOM node\n */\nexport function setProperty(dom, name, value) {\n var useCapture;\n var nameLower;\n var oldValue = dom[name];\n if (name === 'style') {\n if (typeof value == 'string') {\n dom.style = value;\n } else {\n if (value === null) {\n dom.style = '';\n } else {\n for (name in value) {\n if (!oldValue || value[name] !== oldValue[name]) {\n setStyle(dom.style, name, value[name]);\n }\n }\n }\n }\n }\n // Benchmark for comparison: https://esbench.com/bench/574c954bdb965b9a00965ac6\n else if (name[0] === 'o' && name[1] === 'n') {\n useCapture = name !== (name = name.replace(/Capture$/, ''));\n nameLower = name.toLowerCase();\n if (nameLower in dom || TOUCH_EVENTS_ALIASES.includes(nameLower)) name = nameLower;\n name = name.slice(2);\n if (!dom._listeners) dom._listeners = {};\n dom._listeners[name] = value;\n if (value) {\n if (!oldValue) dom.addEventListener(name, eventProxy, useCapture);\n } else {\n dom.removeEventListener(name, eventProxy, useCapture);\n }\n } else if (name !== 'list' && name !== 'tagName' &&\n // HTMLButtonElement.form and HTMLInputElement.form are read-only but can be set using\n // setAttribute\n name !== 'form' && name !== 'type' && name !== 'size' && name !== 'download' && name !== 'href' && name in dom) {\n dom[name] = value == null ? '' : value;\n } else if (typeof value != 'function' && name !== 'dangerouslySetInnerHTML') {\n if (value == null || value === false &&\n // ARIA-attributes have a different notion of boolean values.\n // The value `false` is different from the attribute not\n // existing on the DOM, so we can't remove it. For non-boolean\n // ARIA-attributes we could treat false as a removal, but the\n // amount of exceptions would cost us too many bytes. On top of\n // that other VDOM frameworks also always stringify `false`.\n !/^ar/.test(name)) {\n dom.removeAttribute(name);\n } else {\n dom.setAttribute(name, value);\n }\n }\n}\nfunction getNormalizedName(name) {\n switch (name) {\n case 'onChange':\n return 'onInput';\n // see: https://github.com/preactjs/preact/issues/1978\n case 'onCompositionEnd':\n return 'oncompositionend';\n default:\n return name;\n }\n}\nexport function setProperties(dom, props) {\n for (var name in props) {\n setProperty(dom, getNormalizedName(name), props[name]);\n }\n}\nexport function setPropertiesWithoutEvents(dom, props) {\n for (var name in props) {\n if (!(name[0] === 'o' && name[1] === 'n')) {\n setProperty(dom, getNormalizedName(name), props[name]);\n }\n }\n}","var _excluded = [\"children\"];\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport { setProperties } from './utils';\nexport function getCreateDomElement(environment) {\n return function createDomElement(tagName, _ref) {\n var _ref$children = _ref.children,\n children = _ref$children === void 0 ? [] : _ref$children,\n props = _objectWithoutProperties(_ref, _excluded);\n var element = environment.document.createElement(tagName);\n setProperties(element, props);\n element.append.apply(element, _toConsumableArray(children));\n return element;\n };\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nvar _excluded = [\"autocompleteScopeApi\", \"environment\", \"classNames\", \"getInputProps\", \"getInputPropsCore\", \"isDetached\", \"state\"];\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport { getCreateDomElement } from '../getCreateDomElement';\nimport { setProperties } from '../utils';\nexport var Input = function Input(_ref) {\n var autocompleteScopeApi = _ref.autocompleteScopeApi,\n environment = _ref.environment,\n classNames = _ref.classNames,\n getInputProps = _ref.getInputProps,\n getInputPropsCore = _ref.getInputPropsCore,\n isDetached = _ref.isDetached,\n state = _ref.state,\n props = _objectWithoutProperties(_ref, _excluded);\n var createDomElement = getCreateDomElement(environment);\n var element = createDomElement('input', props);\n var inputProps = getInputProps(_objectSpread({\n state: state,\n props: getInputPropsCore({\n inputElement: element\n }),\n inputElement: element\n }, autocompleteScopeApi));\n setProperties(element, _objectSpread(_objectSpread({}, inputProps), {}, {\n onKeyDown: function onKeyDown(event) {\n // In detached mode we don't want to close the panel when hitting `Tab`.\n if (isDetached && event.key === 'Tab') {\n return;\n }\n inputProps.onKeyDown(event);\n }\n }));\n return element;\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { ClearIcon, Input, LoadingIcon, SearchIcon } from './elements';\nimport { getCreateDomElement } from './getCreateDomElement';\nimport { setProperties } from './utils';\nexport function createAutocompleteDom(_ref) {\n var autocomplete = _ref.autocomplete,\n autocompleteScopeApi = _ref.autocompleteScopeApi,\n classNames = _ref.classNames,\n environment = _ref.environment,\n isDetached = _ref.isDetached,\n _ref$placeholder = _ref.placeholder,\n placeholder = _ref$placeholder === void 0 ? 'Search' : _ref$placeholder,\n propGetters = _ref.propGetters,\n setIsModalOpen = _ref.setIsModalOpen,\n state = _ref.state,\n translations = _ref.translations;\n var createDomElement = getCreateDomElement(environment);\n var rootProps = propGetters.getRootProps(_objectSpread({\n state: state,\n props: autocomplete.getRootProps({})\n }, autocompleteScopeApi));\n var root = createDomElement('div', _objectSpread({\n class: classNames.root\n }, rootProps));\n var detachedContainer = createDomElement('div', {\n class: classNames.detachedContainer,\n onMouseDown: function onMouseDown(event) {\n event.stopPropagation();\n }\n });\n var detachedOverlay = createDomElement('div', {\n class: classNames.detachedOverlay,\n children: [detachedContainer],\n onMouseDown: function onMouseDown() {\n setIsModalOpen(false);\n autocomplete.setIsOpen(false);\n }\n });\n var labelProps = propGetters.getLabelProps(_objectSpread({\n state: state,\n props: autocomplete.getLabelProps({})\n }, autocompleteScopeApi));\n var submitButton = createDomElement('button', {\n class: classNames.submitButton,\n type: 'submit',\n title: translations.submitButtonTitle,\n children: [SearchIcon({\n environment: environment\n })]\n });\n // @MAJOR Remove the label wrapper for the submit button.\n // The submit button is sufficient for accessibility purposes, and\n // wrapping it with the label actually makes it less accessible (see CR-6077).\n var label = createDomElement('label', _objectSpread({\n class: classNames.label,\n children: [submitButton],\n ariaLabel: translations.submitButtonTitle\n }, labelProps));\n var clearButton = createDomElement('button', {\n class: classNames.clearButton,\n type: 'reset',\n title: translations.clearButtonTitle,\n children: [ClearIcon({\n environment: environment\n })]\n });\n var loadingIndicator = createDomElement('div', {\n class: classNames.loadingIndicator,\n children: [LoadingIcon({\n environment: environment\n })]\n });\n var input = Input({\n class: classNames.input,\n environment: environment,\n state: state,\n getInputProps: propGetters.getInputProps,\n getInputPropsCore: autocomplete.getInputProps,\n autocompleteScopeApi: autocompleteScopeApi,\n isDetached: isDetached\n });\n var inputWrapperPrefix = createDomElement('div', {\n class: classNames.inputWrapperPrefix,\n children: [label, loadingIndicator]\n });\n var inputWrapperSuffix = createDomElement('div', {\n class: classNames.inputWrapperSuffix,\n children: [clearButton]\n });\n var inputWrapper = createDomElement('div', {\n class: classNames.inputWrapper,\n children: [input]\n });\n var formProps = propGetters.getFormProps(_objectSpread({\n state: state,\n props: autocomplete.getFormProps({\n inputElement: input\n })\n }, autocompleteScopeApi));\n var form = createDomElement('form', _objectSpread({\n class: classNames.form,\n children: [inputWrapperPrefix, inputWrapper, inputWrapperSuffix]\n }, formProps));\n var panelProps = propGetters.getPanelProps(_objectSpread({\n state: state,\n props: autocomplete.getPanelProps({})\n }, autocompleteScopeApi));\n var panel = createDomElement('div', _objectSpread({\n class: classNames.panel\n }, panelProps));\n var detachedSearchButtonQuery = createDomElement('div', {\n class: classNames.detachedSearchButtonQuery,\n textContent: state.query\n });\n var detachedSearchButtonPlaceholder = createDomElement('div', {\n class: classNames.detachedSearchButtonPlaceholder,\n hidden: Boolean(state.query),\n textContent: placeholder\n });\n if (process.env.NODE_ENV === 'test') {\n setProperties(panel, {\n 'data-testid': 'panel'\n });\n }\n if (isDetached) {\n var detachedSearchButtonIcon = createDomElement('div', {\n class: classNames.detachedSearchButtonIcon,\n children: [SearchIcon({\n environment: environment\n })]\n });\n var detachedSearchButton = createDomElement('button', {\n type: 'button',\n class: classNames.detachedSearchButton,\n title: translations.detachedSearchButtonTitle,\n id: labelProps.id,\n onClick: function onClick() {\n setIsModalOpen(true);\n },\n children: [detachedSearchButtonIcon, detachedSearchButtonPlaceholder, detachedSearchButtonQuery]\n });\n var detachedCancelButton = createDomElement('button', {\n type: 'button',\n class: classNames.detachedCancelButton,\n textContent: translations.detachedCancelButtonText,\n // Prevent `onTouchStart` from closing the panel\n // since it should be initiated by `onClick` only\n onTouchStart: function onTouchStart(event) {\n event.stopPropagation();\n },\n onClick: function onClick() {\n autocomplete.setIsOpen(false);\n setIsModalOpen(false);\n }\n });\n var detachedFormContainer = createDomElement('div', {\n class: classNames.detachedFormContainer,\n children: [form, detachedCancelButton]\n });\n detachedContainer.appendChild(detachedFormContainer);\n root.appendChild(detachedSearchButton);\n } else {\n root.appendChild(form);\n }\n return {\n detachedContainer: detachedContainer,\n detachedOverlay: detachedOverlay,\n detachedSearchButtonQuery: detachedSearchButtonQuery,\n detachedSearchButtonPlaceholder: detachedSearchButtonPlaceholder,\n inputWrapper: inputWrapper,\n input: input,\n root: root,\n form: form,\n label: label,\n submitButton: submitButton,\n clearButton: clearButton,\n loadingIndicator: loadingIndicator,\n panel: panel\n };\n}","var n,l,u,t,i,o,r,f,e,c={},s=[],a=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,h=Array.isArray;function v(n,l){for(var u in l)n[u]=l[u];return n}function p(n){var l=n.parentNode;l&&l.removeChild(n)}function y(l,u,t){var i,o,r,f={};for(r in u)\"key\"==r?i=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),\"function\"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return d(l,f,i,o,null)}function d(n,t,i,o,r){var f={type:n,props:t,key:i,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==r?++u:r,__i:-1,__u:0};return null==r&&null!=l.vnode&&l.vnode(f),f}function _(){return{current:null}}function g(n){return n.children}function b(n,l){this.props=n,this.context=l}function m(n,l){if(null==l)return n.__?m(n.__,n.__i+1):null;for(var u;lt?(j(o,u,r),r.length=o.length=0,u=void 0,i.sort(f)):u&&l.__c&&l.__c(u,s));u&&j(o,u,r),C.__r=0}function P(n,l,u,t,i,o,r,f,e,a,h){var v,p,y,d,_,g=t&&t.__k||s,b=l.length;for(u.__d=e,S(u,l,g),e=u.__d,v=0;v0?d(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):i)?(i.__=n,i.__b=n.__b+1,f=I(i,u,r=t+a,s),i.__i=f,o=null,-1!==f&&(s--,(o=u[f])&&(o.__u|=131072)),null==o||null===o.__v?(-1==f&&a--,\"function\"!=typeof i.type&&(i.__u|=65536)):f!==r&&(f===r+1?a++:f>r?s>e-r?a+=f-r:a--:a=f(null!=e&&0==(131072&e.__u)?1:0))for(;r>=0||f=0){if((e=l[r])&&0==(131072&e.__u)&&i==e.key&&o===e.type)return r;r--}if(f2&&(e.children=arguments.length>3?n.call(arguments,2):t),d(l.type,e,i||l.key,o||l.ref,null)}function G(n,l){var u={__c:l=\"__cC\"+e++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,t;return this.getChildContext||(u=[],(t={})[l]=this,this.getChildContext=function(){return t},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(function(n){n.__e=!0,x(n)})},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=s.slice,l={__e:function(n,l,u,t){for(var i,o,r;l=l.__;)if((i=l.__c)&&!i.__)try{if((o=i.constructor)&&null!=o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(n)),r=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),r=i.__d),r)return i.__E=i}catch(l){n=l}throw n}},u=0,t=function(n){return null!=n&&null==n.constructor},b.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=v({},this.state),\"function\"==typeof n&&(n=n(v({},u),this.props)),n&&v(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),x(this))},b.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),x(this))},b.prototype.render=g,i=[],r=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,f=function(n,l){return n.__v.__b-l.__v.__b},C.__r=0,e=0;export{b as Component,g as Fragment,F as cloneElement,G as createContext,y as createElement,_ as createRef,y as h,E as hydrate,t as isValidElement,l as options,B as render,H as toChildArray};\n//# sourceMappingURL=preact.module.js.map\n","export function getAttributeValueByPath(record, path) {\n return path.reduce(function (current, key) {\n return current && current[key];\n }, record);\n}","export var HIGHLIGHT_PRE_TAG = '__aa-highlight__';\nexport var HIGHLIGHT_POST_TAG = '__/aa-highlight__';","import { HIGHLIGHT_PRE_TAG, HIGHLIGHT_POST_TAG } from '../constants';\n/**\n * Creates a data structure that allows to concatenate similar highlighting\n * parts in a single value.\n */\nfunction createAttributeSet() {\n var initialValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var value = initialValue;\n return {\n get: function get() {\n return value;\n },\n add: function add(part) {\n var lastPart = value[value.length - 1];\n if ((lastPart === null || lastPart === void 0 ? void 0 : lastPart.isHighlighted) === part.isHighlighted) {\n value[value.length - 1] = {\n value: lastPart.value + part.value,\n isHighlighted: lastPart.isHighlighted\n };\n } else {\n value.push(part);\n }\n }\n };\n}\nexport function parseAttribute(_ref) {\n var highlightedValue = _ref.highlightedValue;\n var preTagParts = highlightedValue.split(HIGHLIGHT_PRE_TAG);\n var firstValue = preTagParts.shift();\n var parts = createAttributeSet(firstValue ? [{\n value: firstValue,\n isHighlighted: false\n }] : []);\n preTagParts.forEach(function (part) {\n var postTagParts = part.split(HIGHLIGHT_POST_TAG);\n parts.add({\n value: postTagParts[0],\n isHighlighted: true\n });\n if (postTagParts[1] !== '') {\n parts.add({\n value: postTagParts[1],\n isHighlighted: false\n });\n }\n });\n return parts.get();\n}","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nimport { getAttributeValueByPath, warn } from '@algolia/autocomplete-shared';\nimport { parseAttribute } from './parseAttribute';\nexport function parseAlgoliaHitHighlight(_ref) {\n var hit = _ref.hit,\n attribute = _ref.attribute;\n var path = Array.isArray(attribute) ? attribute : [attribute];\n var highlightedValue = getAttributeValueByPath(hit, ['_highlightResult'].concat(_toConsumableArray(path), ['value']));\n if (typeof highlightedValue !== 'string') {\n process.env.NODE_ENV !== 'production' ? warn(false, \"The attribute \\\"\".concat(path.join('.'), \"\\\" described by the path \").concat(JSON.stringify(path), \" does not exist on the hit. Did you set it in `attributesToHighlight`?\") + '\\nSee https://www.algolia.com/doc/api-reference/api-parameters/attributesToHighlight/') : void 0;\n highlightedValue = getAttributeValueByPath(hit, path) || '';\n }\n return parseAttribute({\n highlightedValue: highlightedValue\n });\n}","import { parseAlgoliaHitHighlight } from '@algolia/autocomplete-preset-algolia';\nexport function createHighlightComponent(_ref) {\n var createElement = _ref.createElement,\n Fragment = _ref.Fragment;\n function Highlight(_ref2) {\n var hit = _ref2.hit,\n attribute = _ref2.attribute,\n _ref2$tagName = _ref2.tagName,\n tagName = _ref2$tagName === void 0 ? 'mark' : _ref2$tagName;\n return createElement(Fragment, {}, parseAlgoliaHitHighlight({\n hit: hit,\n attribute: attribute\n }).map(function (x, index) {\n return x.isHighlighted ? createElement(tagName, {\n key: index\n }, x.value) : x.value;\n }));\n }\n Highlight.__autocomplete_componentName = 'Highlight';\n return Highlight;\n}","var htmlEscapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': \"'\"\n};\nvar hasAlphanumeric = new RegExp(/\\w/i);\nvar regexEscapedHtml = /&(amp|quot|lt|gt|#39);/g;\nvar regexHasEscapedHtml = RegExp(regexEscapedHtml.source);\nfunction unescape(value) {\n return value && regexHasEscapedHtml.test(value) ? value.replace(regexEscapedHtml, function (character) {\n return htmlEscapes[character];\n }) : value;\n}\nexport function isPartHighlighted(parts, i) {\n var _parts, _parts2;\n var current = parts[i];\n var isNextHighlighted = ((_parts = parts[i + 1]) === null || _parts === void 0 ? void 0 : _parts.isHighlighted) || true;\n var isPreviousHighlighted = ((_parts2 = parts[i - 1]) === null || _parts2 === void 0 ? void 0 : _parts2.isHighlighted) || true;\n if (!hasAlphanumeric.test(unescape(current.value)) && isPreviousHighlighted === isNextHighlighted) {\n return isPreviousHighlighted;\n }\n return current.isHighlighted;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { isPartHighlighted } from './isPartHighlighted';\nexport function reverseHighlightedParts(parts) {\n // We don't want to highlight the whole word when no parts match.\n if (!parts.some(function (part) {\n return part.isHighlighted;\n })) {\n return parts.map(function (part) {\n return _objectSpread(_objectSpread({}, part), {}, {\n isHighlighted: false\n });\n });\n }\n return parts.map(function (part, i) {\n return _objectSpread(_objectSpread({}, part), {}, {\n isHighlighted: !isPartHighlighted(parts, i)\n });\n });\n}","import { parseAlgoliaHitReverseHighlight } from '@algolia/autocomplete-preset-algolia';\nexport function createReverseHighlightComponent(_ref) {\n var createElement = _ref.createElement,\n Fragment = _ref.Fragment;\n function ReverseHighlight(_ref2) {\n var hit = _ref2.hit,\n attribute = _ref2.attribute,\n _ref2$tagName = _ref2.tagName,\n tagName = _ref2$tagName === void 0 ? 'mark' : _ref2$tagName;\n return createElement(Fragment, {}, parseAlgoliaHitReverseHighlight({\n hit: hit,\n attribute: attribute\n }).map(function (x, index) {\n return x.isHighlighted ? createElement(tagName, {\n key: index\n }, x.value) : x.value;\n }));\n }\n ReverseHighlight.__autocomplete_componentName = 'ReverseHighlight';\n return ReverseHighlight;\n}","import { parseAlgoliaHitHighlight } from './parseAlgoliaHitHighlight';\nimport { reverseHighlightedParts } from './reverseHighlightedParts';\nexport function parseAlgoliaHitReverseHighlight(props) {\n return reverseHighlightedParts(parseAlgoliaHitHighlight(props));\n}","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nimport { getAttributeValueByPath, warn } from '@algolia/autocomplete-shared';\nimport { parseAttribute } from './parseAttribute';\nexport function parseAlgoliaHitSnippet(_ref) {\n var hit = _ref.hit,\n attribute = _ref.attribute;\n var path = Array.isArray(attribute) ? attribute : [attribute];\n var highlightedValue = getAttributeValueByPath(hit, ['_snippetResult'].concat(_toConsumableArray(path), ['value']));\n if (typeof highlightedValue !== 'string') {\n process.env.NODE_ENV !== 'production' ? warn(false, \"The attribute \\\"\".concat(path.join('.'), \"\\\" described by the path \").concat(JSON.stringify(path), \" does not exist on the hit. Did you set it in `attributesToSnippet`?\") + '\\nSee https://www.algolia.com/doc/api-reference/api-parameters/attributesToSnippet/') : void 0;\n highlightedValue = getAttributeValueByPath(hit, path) || '';\n }\n return parseAttribute({\n highlightedValue: highlightedValue\n });\n}","import { parseAlgoliaHitReverseSnippet } from '@algolia/autocomplete-preset-algolia';\nexport function createReverseSnippetComponent(_ref) {\n var createElement = _ref.createElement,\n Fragment = _ref.Fragment;\n function ReverseSnippet(_ref2) {\n var hit = _ref2.hit,\n attribute = _ref2.attribute,\n _ref2$tagName = _ref2.tagName,\n tagName = _ref2$tagName === void 0 ? 'mark' : _ref2$tagName;\n return createElement(Fragment, {}, parseAlgoliaHitReverseSnippet({\n hit: hit,\n attribute: attribute\n }).map(function (x, index) {\n return x.isHighlighted ? createElement(tagName, {\n key: index\n }, x.value) : x.value;\n }));\n }\n ReverseSnippet.__autocomplete_componentName = 'ReverseSnippet';\n return ReverseSnippet;\n}","import { parseAlgoliaHitSnippet } from './parseAlgoliaHitSnippet';\nimport { reverseHighlightedParts } from './reverseHighlightedParts';\nexport function parseAlgoliaHitReverseSnippet(props) {\n return reverseHighlightedParts(parseAlgoliaHitSnippet(props));\n}","import { parseAlgoliaHitSnippet } from '@algolia/autocomplete-preset-algolia';\nexport function createSnippetComponent(_ref) {\n var createElement = _ref.createElement,\n Fragment = _ref.Fragment;\n function Snippet(_ref2) {\n var hit = _ref2.hit,\n attribute = _ref2.attribute,\n _ref2$tagName = _ref2.tagName,\n tagName = _ref2$tagName === void 0 ? 'mark' : _ref2$tagName;\n return createElement(Fragment, {}, parseAlgoliaHitSnippet({\n hit: hit,\n attribute: attribute\n }).map(function (x, index) {\n return x.isHighlighted ? createElement(tagName, {\n key: index\n }, x.value) : x.value;\n }));\n }\n Snippet.__autocomplete_componentName = 'Snippet';\n return Snippet;\n}","import { invariant } from '@algolia/autocomplete-shared';\nexport function getHTMLElement(environment, value) {\n if (typeof value === 'string') {\n var element = environment.document.querySelector(value);\n invariant(element !== null, \"The element \".concat(JSON.stringify(value), \" is not in the document.\"));\n return element;\n }\n return value;\n}","export function mergeClassNames() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n return values.reduce(function (acc, current) {\n Object.keys(current).forEach(function (key) {\n var accValue = acc[key];\n var currentValue = current[key];\n if (accValue !== currentValue) {\n acc[key] = [accValue, currentValue].filter(Boolean).join(' ');\n }\n });\n return acc;\n }, {});\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nvar _excluded = [\"classNames\", \"container\", \"getEnvironmentProps\", \"getFormProps\", \"getInputProps\", \"getItemProps\", \"getLabelProps\", \"getListProps\", \"getPanelProps\", \"getRootProps\", \"panelContainer\", \"panelPlacement\", \"render\", \"renderNoResults\", \"renderer\", \"detachedMediaQuery\", \"components\", \"translations\"];\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport { generateAutocompleteId, invariant, warn } from '@algolia/autocomplete-shared';\nimport { createElement as preactCreateElement, Fragment as PreactFragment, render } from 'preact';\nimport { createHighlightComponent, createReverseHighlightComponent, createReverseSnippetComponent, createSnippetComponent } from './components';\nimport { getHTMLElement, mergeClassNames } from './utils';\nvar defaultClassNames = {\n clearButton: 'aa-ClearButton',\n detachedCancelButton: 'aa-DetachedCancelButton',\n detachedContainer: 'aa-DetachedContainer',\n detachedFormContainer: 'aa-DetachedFormContainer',\n detachedOverlay: 'aa-DetachedOverlay',\n detachedSearchButton: 'aa-DetachedSearchButton',\n detachedSearchButtonIcon: 'aa-DetachedSearchButtonIcon',\n detachedSearchButtonPlaceholder: 'aa-DetachedSearchButtonPlaceholder',\n detachedSearchButtonQuery: 'aa-DetachedSearchButtonQuery',\n form: 'aa-Form',\n input: 'aa-Input',\n inputWrapper: 'aa-InputWrapper',\n inputWrapperPrefix: 'aa-InputWrapperPrefix',\n inputWrapperSuffix: 'aa-InputWrapperSuffix',\n item: 'aa-Item',\n label: 'aa-Label',\n list: 'aa-List',\n loadingIndicator: 'aa-LoadingIndicator',\n panel: 'aa-Panel',\n panelLayout: 'aa-PanelLayout aa-Panel--scrollable',\n root: 'aa-Autocomplete',\n source: 'aa-Source',\n sourceFooter: 'aa-SourceFooter',\n sourceHeader: 'aa-SourceHeader',\n sourceNoResults: 'aa-SourceNoResults',\n submitButton: 'aa-SubmitButton'\n};\nvar defaultRender = function defaultRender(_ref, root) {\n var children = _ref.children,\n render = _ref.render;\n render(children, root);\n};\nvar defaultRenderer = {\n createElement: preactCreateElement,\n Fragment: PreactFragment,\n render: render\n};\nexport function getDefaultOptions(options) {\n var _core$id;\n var classNames = options.classNames,\n container = options.container,\n getEnvironmentProps = options.getEnvironmentProps,\n getFormProps = options.getFormProps,\n getInputProps = options.getInputProps,\n getItemProps = options.getItemProps,\n getLabelProps = options.getLabelProps,\n getListProps = options.getListProps,\n getPanelProps = options.getPanelProps,\n getRootProps = options.getRootProps,\n panelContainer = options.panelContainer,\n panelPlacement = options.panelPlacement,\n render = options.render,\n renderNoResults = options.renderNoResults,\n renderer = options.renderer,\n detachedMediaQuery = options.detachedMediaQuery,\n components = options.components,\n translations = options.translations,\n core = _objectWithoutProperties(options, _excluded);\n\n /* eslint-disable no-restricted-globals */\n var environment = typeof window !== 'undefined' ? window : {};\n /* eslint-enable no-restricted-globals */\n var containerElement = getHTMLElement(environment, container);\n invariant(containerElement.tagName !== 'INPUT', 'The `container` option does not support `input` elements. You need to change the container to a `div`.');\n process.env.NODE_ENV !== 'production' ? warn(!(render && renderer && !(renderer !== null && renderer !== void 0 && renderer.render)), \"You provided the `render` option but did not provide a `renderer.render`. Since v1.6.0, you can provide a `render` function directly in `renderer`.\" + \"\\nTo get rid of this warning, do any of the following depending on your use case.\" + \"\\n- If you are using the `render` option only to override Autocomplete's default `render` function, pass the `render` function into `renderer` and remove the `render` option.\" + '\\n- If you are using the `render` option to customize the layout, pass your `render` function into `renderer` and use it from the provided parameters of the `render` option.' + '\\n- If you are using the `render` option to work with React 18, pass an empty `render` function into `renderer`.' + '\\nSee https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-render') : void 0;\n process.env.NODE_ENV !== 'production' ? warn(!renderer || render || renderer.Fragment && renderer.createElement && renderer.render, \"You provided an incomplete `renderer` (missing: \".concat([!(renderer !== null && renderer !== void 0 && renderer.createElement) && '`renderer.createElement`', !(renderer !== null && renderer !== void 0 && renderer.Fragment) && '`renderer.Fragment`', !(renderer !== null && renderer !== void 0 && renderer.render) && '`renderer.render`'].filter(Boolean).join(', '), \"). This can cause rendering issues.\") + '\\nSee https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-renderer') : void 0;\n var defaultedRenderer = _objectSpread(_objectSpread({}, defaultRenderer), renderer);\n var defaultComponents = {\n Highlight: createHighlightComponent(defaultedRenderer),\n ReverseHighlight: createReverseHighlightComponent(defaultedRenderer),\n ReverseSnippet: createReverseSnippetComponent(defaultedRenderer),\n Snippet: createSnippetComponent(defaultedRenderer)\n };\n var defaultTranslations = {\n clearButtonTitle: 'Clear',\n detachedCancelButtonText: 'Cancel',\n detachedSearchButtonTitle: 'Search',\n submitButtonTitle: 'Submit'\n };\n return {\n renderer: {\n classNames: mergeClassNames(defaultClassNames, classNames !== null && classNames !== void 0 ? classNames : {}),\n container: containerElement,\n getEnvironmentProps: getEnvironmentProps !== null && getEnvironmentProps !== void 0 ? getEnvironmentProps : function (_ref2) {\n var props = _ref2.props;\n return props;\n },\n getFormProps: getFormProps !== null && getFormProps !== void 0 ? getFormProps : function (_ref3) {\n var props = _ref3.props;\n return props;\n },\n getInputProps: getInputProps !== null && getInputProps !== void 0 ? getInputProps : function (_ref4) {\n var props = _ref4.props;\n return props;\n },\n getItemProps: getItemProps !== null && getItemProps !== void 0 ? getItemProps : function (_ref5) {\n var props = _ref5.props;\n return props;\n },\n getLabelProps: getLabelProps !== null && getLabelProps !== void 0 ? getLabelProps : function (_ref6) {\n var props = _ref6.props;\n return props;\n },\n getListProps: getListProps !== null && getListProps !== void 0 ? getListProps : function (_ref7) {\n var props = _ref7.props;\n return props;\n },\n getPanelProps: getPanelProps !== null && getPanelProps !== void 0 ? getPanelProps : function (_ref8) {\n var props = _ref8.props;\n return props;\n },\n getRootProps: getRootProps !== null && getRootProps !== void 0 ? getRootProps : function (_ref9) {\n var props = _ref9.props;\n return props;\n },\n panelContainer: panelContainer ? getHTMLElement(environment, panelContainer) : environment.document.body,\n panelPlacement: panelPlacement !== null && panelPlacement !== void 0 ? panelPlacement : 'input-wrapper-width',\n render: render !== null && render !== void 0 ? render : defaultRender,\n renderNoResults: renderNoResults,\n renderer: defaultedRenderer,\n detachedMediaQuery: detachedMediaQuery !== null && detachedMediaQuery !== void 0 ? detachedMediaQuery : getComputedStyle(environment.document.documentElement).getPropertyValue('--aa-detached-media-query'),\n components: _objectSpread(_objectSpread({}, defaultComponents), components),\n translations: _objectSpread(_objectSpread({}, defaultTranslations), translations)\n },\n core: _objectSpread(_objectSpread({}, core), {}, {\n id: (_core$id = core.id) !== null && _core$id !== void 0 ? _core$id : generateAutocompleteId(),\n environment: environment\n })\n };\n}","export function getPanelPlacementStyle(_ref) {\n var panelPlacement = _ref.panelPlacement,\n container = _ref.container,\n form = _ref.form,\n environment = _ref.environment;\n var containerRect = container.getBoundingClientRect();\n // Some browsers have specificities to retrieve the document scroll position.\n // See https://stackoverflow.com/a/28633515/9940315\n var scrollTop = environment.pageYOffset || environment.document.documentElement.scrollTop || environment.document.body.scrollTop || 0;\n var top = scrollTop + containerRect.top + containerRect.height;\n switch (panelPlacement) {\n case 'start':\n {\n return {\n top: top,\n left: containerRect.left\n };\n }\n case 'end':\n {\n return {\n top: top,\n right: environment.document.documentElement.clientWidth - (containerRect.left + containerRect.width)\n };\n }\n case 'full-width':\n {\n return {\n top: top,\n left: 0,\n right: 0,\n width: 'unset',\n maxWidth: 'unset'\n };\n }\n case 'input-wrapper-width':\n {\n var formRect = form.getBoundingClientRect();\n return {\n top: top,\n left: formRect.left,\n right: environment.document.documentElement.clientWidth - (formRect.left + formRect.width),\n width: 'unset',\n maxWidth: 'unset'\n };\n }\n default:\n {\n throw new Error(\"[Autocomplete] The `panelPlacement` value \".concat(JSON.stringify(panelPlacement), \" is not valid.\"));\n }\n }\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/** @jsxRuntime classic */\n/** @jsx renderer.createElement */\n\nimport { setProperties, setPropertiesWithoutEvents } from './utils';\nexport function renderSearchBox(_ref) {\n var autocomplete = _ref.autocomplete,\n autocompleteScopeApi = _ref.autocompleteScopeApi,\n dom = _ref.dom,\n propGetters = _ref.propGetters,\n state = _ref.state;\n setPropertiesWithoutEvents(dom.root, propGetters.getRootProps(_objectSpread({\n state: state,\n props: autocomplete.getRootProps({})\n }, autocompleteScopeApi)));\n setPropertiesWithoutEvents(dom.input, propGetters.getInputProps(_objectSpread({\n state: state,\n props: autocomplete.getInputProps({\n inputElement: dom.input\n }),\n inputElement: dom.input\n }, autocompleteScopeApi)));\n setProperties(dom.label, {\n hidden: state.status === 'stalled'\n });\n setProperties(dom.loadingIndicator, {\n hidden: state.status !== 'stalled'\n });\n setProperties(dom.clearButton, {\n hidden: !state.query\n });\n setProperties(dom.detachedSearchButtonQuery, {\n textContent: state.query\n });\n setProperties(dom.detachedSearchButtonPlaceholder, {\n hidden: Boolean(state.query)\n });\n}\nexport function renderPanel(render, _ref2) {\n var autocomplete = _ref2.autocomplete,\n autocompleteScopeApi = _ref2.autocompleteScopeApi,\n classNames = _ref2.classNames,\n html = _ref2.html,\n dom = _ref2.dom,\n panelContainer = _ref2.panelContainer,\n propGetters = _ref2.propGetters,\n state = _ref2.state,\n components = _ref2.components,\n renderer = _ref2.renderer;\n if (!state.isOpen) {\n if (panelContainer.contains(dom.panel)) {\n panelContainer.removeChild(dom.panel);\n }\n return;\n }\n\n // We add the panel element to the DOM when it's not yet appended and that the\n // items are fetched.\n if (!panelContainer.contains(dom.panel) && state.status !== 'loading') {\n panelContainer.appendChild(dom.panel);\n }\n dom.panel.classList.toggle('aa-Panel--stalled', state.status === 'stalled');\n var sections = state.collections.filter(function (_ref3) {\n var source = _ref3.source,\n items = _ref3.items;\n return source.templates.noResults || items.length > 0;\n }).map(function (_ref4, sourceIndex) {\n var source = _ref4.source,\n items = _ref4.items;\n return renderer.createElement(\"section\", {\n key: sourceIndex,\n className: classNames.source,\n \"data-autocomplete-source-id\": source.sourceId\n }, source.templates.header && renderer.createElement(\"div\", {\n className: classNames.sourceHeader\n }, source.templates.header({\n components: components,\n createElement: renderer.createElement,\n Fragment: renderer.Fragment,\n items: items,\n source: source,\n state: state,\n html: html\n })), source.templates.noResults && items.length === 0 ? renderer.createElement(\"div\", {\n className: classNames.sourceNoResults\n }, source.templates.noResults({\n components: components,\n createElement: renderer.createElement,\n Fragment: renderer.Fragment,\n source: source,\n state: state,\n html: html\n })) : renderer.createElement(\"ul\", _extends({\n className: classNames.list\n }, propGetters.getListProps(_objectSpread({\n state: state,\n props: autocomplete.getListProps({\n source: source\n })\n }, autocompleteScopeApi))), items.map(function (item) {\n var itemProps = autocomplete.getItemProps({\n item: item,\n source: source\n });\n return renderer.createElement(\"li\", _extends({\n key: itemProps.id,\n className: classNames.item\n }, propGetters.getItemProps(_objectSpread({\n state: state,\n props: itemProps\n }, autocompleteScopeApi))), source.templates.item({\n components: components,\n createElement: renderer.createElement,\n Fragment: renderer.Fragment,\n item: item,\n state: state,\n html: html\n }));\n })), source.templates.footer && renderer.createElement(\"div\", {\n className: classNames.sourceFooter\n }, source.templates.footer({\n components: components,\n createElement: renderer.createElement,\n Fragment: renderer.Fragment,\n items: items,\n source: source,\n state: state,\n html: html\n })));\n });\n var children = renderer.createElement(renderer.Fragment, null, renderer.createElement(\"div\", {\n className: classNames.panelLayout\n }, sections), renderer.createElement(\"div\", {\n className: \"aa-GradientBottom\"\n }));\n var elements = sections.reduce(function (acc, current) {\n acc[current.props['data-autocomplete-source-id']] = current;\n return acc;\n }, {});\n render(_objectSpread(_objectSpread({\n children: children,\n state: state,\n sections: sections,\n elements: elements\n }, renderer), {}, {\n components: components,\n html: html\n }, autocompleteScopeApi), dom.panel);\n}","import { version } from '@algolia/autocomplete-shared';\nexport var userAgents = [{\n segment: 'autocomplete-js',\n version: version\n}];","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nvar isPlainObject = function isPlainObject(value) {\n return value && _typeof(value) === 'object' && Object.prototype.toString.call(value) === '[object Object]';\n};\nexport function mergeDeep() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n return values.reduce(function (acc, current) {\n Object.keys(current).forEach(function (key) {\n var accValue = acc[key];\n var currentValue = current[key];\n if (Array.isArray(accValue) && Array.isArray(currentValue)) {\n acc[key] = accValue.concat.apply(accValue, _toConsumableArray(currentValue));\n } else if (isPlainObject(accValue) && isPlainObject(currentValue)) {\n acc[key] = mergeDeep(accValue, currentValue);\n } else {\n acc[key] = currentValue;\n }\n });\n return acc;\n }, {});\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nexport function pickBy(obj, predicate) {\n return Object.entries(obj).reduce(function (acc, _ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n key = _ref2[0],\n value = _ref2[1];\n if (predicate({\n key: key,\n value: value\n })) {\n return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, value));\n }\n return acc;\n }, {});\n}","var _excluded = [\"components\"];\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { createAutocomplete } from '@algolia/autocomplete-core';\nimport { createRef, debounce, getItemsCount, warn } from '@algolia/autocomplete-shared';\nimport htm from 'htm';\nimport { createAutocompleteDom } from './createAutocompleteDom';\nimport { createEffectWrapper } from './createEffectWrapper';\nimport { createReactiveWrapper } from './createReactiveWrapper';\nimport { getDefaultOptions } from './getDefaultOptions';\nimport { getPanelPlacementStyle } from './getPanelPlacementStyle';\nimport { renderPanel, renderSearchBox } from './render';\nimport { userAgents } from './userAgents';\nimport { mergeDeep, pickBy, setProperties } from './utils';\nvar instancesCount = 0;\nexport function autocomplete(options) {\n var _createEffectWrapper = createEffectWrapper(),\n runEffect = _createEffectWrapper.runEffect,\n cleanupEffects = _createEffectWrapper.cleanupEffects,\n runEffects = _createEffectWrapper.runEffects;\n var _createReactiveWrappe = createReactiveWrapper(),\n reactive = _createReactiveWrappe.reactive,\n runReactives = _createReactiveWrappe.runReactives;\n var hasNoResultsSourceTemplateRef = createRef(false);\n var optionsRef = createRef(options);\n var onStateChangeRef = createRef(undefined);\n var props = reactive(function () {\n return getDefaultOptions(optionsRef.current);\n });\n var isDetached = reactive(function () {\n return props.value.core.environment.matchMedia(props.value.renderer.detachedMediaQuery).matches;\n });\n var autocomplete = reactive(function () {\n return createAutocomplete(_objectSpread(_objectSpread({}, props.value.core), {}, {\n onStateChange: function onStateChange(params) {\n var _onStateChangeRef$cur, _props$value$core$onS, _props$value$core;\n hasNoResultsSourceTemplateRef.current = params.state.collections.some(function (collection) {\n return collection.source.templates.noResults;\n });\n (_onStateChangeRef$cur = onStateChangeRef.current) === null || _onStateChangeRef$cur === void 0 ? void 0 : _onStateChangeRef$cur.call(onStateChangeRef, params);\n (_props$value$core$onS = (_props$value$core = props.value.core).onStateChange) === null || _props$value$core$onS === void 0 ? void 0 : _props$value$core$onS.call(_props$value$core, params);\n },\n shouldPanelOpen: optionsRef.current.shouldPanelOpen || function (_ref) {\n var state = _ref.state;\n if (isDetached.value) {\n return true;\n }\n var hasItems = getItemsCount(state) > 0;\n if (!props.value.core.openOnFocus && !state.query) {\n return hasItems;\n }\n var hasNoResultsTemplate = Boolean(hasNoResultsSourceTemplateRef.current || props.value.renderer.renderNoResults);\n return !hasItems && hasNoResultsTemplate || hasItems;\n },\n __autocomplete_metadata: {\n userAgents: userAgents,\n options: options\n }\n }));\n });\n var lastStateRef = createRef(_objectSpread({\n collections: [],\n completion: null,\n context: {},\n isOpen: false,\n query: '',\n activeItemId: null,\n status: 'idle'\n }, props.value.core.initialState));\n var propGetters = {\n getEnvironmentProps: props.value.renderer.getEnvironmentProps,\n getFormProps: props.value.renderer.getFormProps,\n getInputProps: props.value.renderer.getInputProps,\n getItemProps: props.value.renderer.getItemProps,\n getLabelProps: props.value.renderer.getLabelProps,\n getListProps: props.value.renderer.getListProps,\n getPanelProps: props.value.renderer.getPanelProps,\n getRootProps: props.value.renderer.getRootProps\n };\n var autocompleteScopeApi = {\n setActiveItemId: autocomplete.value.setActiveItemId,\n setQuery: autocomplete.value.setQuery,\n setCollections: autocomplete.value.setCollections,\n setIsOpen: autocomplete.value.setIsOpen,\n setStatus: autocomplete.value.setStatus,\n setContext: autocomplete.value.setContext,\n refresh: autocomplete.value.refresh,\n navigator: autocomplete.value.navigator\n };\n var html = reactive(function () {\n return htm.bind(props.value.renderer.renderer.createElement);\n });\n var dom = reactive(function () {\n return createAutocompleteDom({\n autocomplete: autocomplete.value,\n autocompleteScopeApi: autocompleteScopeApi,\n classNames: props.value.renderer.classNames,\n environment: props.value.core.environment,\n isDetached: isDetached.value,\n placeholder: props.value.core.placeholder,\n propGetters: propGetters,\n setIsModalOpen: setIsModalOpen,\n state: lastStateRef.current,\n translations: props.value.renderer.translations\n });\n });\n function setPanelPosition() {\n setProperties(dom.value.panel, {\n style: isDetached.value ? {} : getPanelPlacementStyle({\n panelPlacement: props.value.renderer.panelPlacement,\n container: dom.value.root,\n form: dom.value.form,\n environment: props.value.core.environment\n })\n });\n }\n function scheduleRender(state) {\n lastStateRef.current = state;\n var renderProps = {\n autocomplete: autocomplete.value,\n autocompleteScopeApi: autocompleteScopeApi,\n classNames: props.value.renderer.classNames,\n components: props.value.renderer.components,\n container: props.value.renderer.container,\n html: html.value,\n dom: dom.value,\n panelContainer: isDetached.value ? dom.value.detachedContainer : props.value.renderer.panelContainer,\n propGetters: propGetters,\n state: lastStateRef.current,\n renderer: props.value.renderer.renderer\n };\n var render = !getItemsCount(state) && !hasNoResultsSourceTemplateRef.current && props.value.renderer.renderNoResults || props.value.renderer.render;\n renderSearchBox(renderProps);\n renderPanel(render, renderProps);\n }\n runEffect(function () {\n var environmentProps = autocomplete.value.getEnvironmentProps({\n formElement: dom.value.form,\n panelElement: dom.value.panel,\n inputElement: dom.value.input\n });\n setProperties(props.value.core.environment, environmentProps);\n return function () {\n setProperties(props.value.core.environment, Object.keys(environmentProps).reduce(function (acc, key) {\n return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, undefined));\n }, {}));\n };\n });\n runEffect(function () {\n var panelContainerElement = isDetached.value ? props.value.core.environment.document.body : props.value.renderer.panelContainer;\n var panelElement = isDetached.value ? dom.value.detachedOverlay : dom.value.panel;\n if (isDetached.value && lastStateRef.current.isOpen) {\n setIsModalOpen(true);\n }\n scheduleRender(lastStateRef.current);\n return function () {\n if (panelContainerElement.contains(panelElement)) {\n panelContainerElement.removeChild(panelElement);\n panelContainerElement.classList.remove('aa-Detached');\n }\n };\n });\n runEffect(function () {\n var containerElement = props.value.renderer.container;\n containerElement.appendChild(dom.value.root);\n return function () {\n containerElement.removeChild(dom.value.root);\n };\n });\n runEffect(function () {\n var debouncedRender = debounce(function (_ref2) {\n var state = _ref2.state;\n scheduleRender(state);\n }, 0);\n onStateChangeRef.current = function (_ref3) {\n var state = _ref3.state,\n prevState = _ref3.prevState;\n if (isDetached.value && prevState.isOpen !== state.isOpen) {\n setIsModalOpen(state.isOpen);\n }\n\n // The outer DOM might have changed since the last time the panel was\n // positioned. The layout might have shifted vertically for instance.\n // It's therefore safer to re-calculate the panel position before opening\n // it again.\n if (!isDetached.value && state.isOpen && !prevState.isOpen) {\n setPanelPosition();\n }\n\n // We scroll to the top of the panel whenever the query changes (i.e. new\n // results come in) so that users don't have to.\n if (state.query !== prevState.query) {\n var scrollablePanels = props.value.core.environment.document.querySelectorAll('.aa-Panel--scrollable');\n scrollablePanels.forEach(function (scrollablePanel) {\n if (scrollablePanel.scrollTop !== 0) {\n scrollablePanel.scrollTop = 0;\n }\n });\n }\n debouncedRender({\n state: state\n });\n };\n return function () {\n onStateChangeRef.current = undefined;\n };\n });\n runEffect(function () {\n var onResize = debounce(function () {\n var previousIsDetached = isDetached.value;\n isDetached.value = props.value.core.environment.matchMedia(props.value.renderer.detachedMediaQuery).matches;\n if (previousIsDetached !== isDetached.value) {\n update({});\n } else {\n requestAnimationFrame(setPanelPosition);\n }\n }, 20);\n props.value.core.environment.addEventListener('resize', onResize);\n return function () {\n props.value.core.environment.removeEventListener('resize', onResize);\n };\n });\n runEffect(function () {\n if (!isDetached.value) {\n return function () {};\n }\n function toggleModalClassname(isActive) {\n dom.value.detachedContainer.classList.toggle('aa-DetachedContainer--modal', isActive);\n }\n function onChange(event) {\n toggleModalClassname(event.matches);\n }\n var isModalDetachedMql = props.value.core.environment.matchMedia(getComputedStyle(props.value.core.environment.document.documentElement).getPropertyValue('--aa-detached-modal-media-query'));\n toggleModalClassname(isModalDetachedMql.matches);\n\n // Prior to Safari 14, `MediaQueryList` isn't based on `EventTarget`,\n // so we must use `addListener` and `removeListener` to observe media query lists.\n // See https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList/addListener\n var hasModernEventListener = Boolean(isModalDetachedMql.addEventListener);\n hasModernEventListener ? isModalDetachedMql.addEventListener('change', onChange) : isModalDetachedMql.addListener(onChange);\n return function () {\n hasModernEventListener ? isModalDetachedMql.removeEventListener('change', onChange) : isModalDetachedMql.removeListener(onChange);\n };\n });\n runEffect(function () {\n requestAnimationFrame(setPanelPosition);\n return function () {};\n });\n function destroy() {\n instancesCount--;\n cleanupEffects();\n }\n function update() {\n var updatedOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n cleanupEffects();\n var _props$value$renderer = props.value.renderer,\n components = _props$value$renderer.components,\n rendererProps = _objectWithoutProperties(_props$value$renderer, _excluded);\n optionsRef.current = mergeDeep(rendererProps, props.value.core, {\n // We need to filter out default components so they can be replaced with\n // a new `renderer`, without getting rid of user components.\n // @MAJOR Deal with registering components with the same name as the\n // default ones. If we disallow overriding default components, we'd just\n // need to pass all `components` here.\n components: pickBy(components, function (_ref4) {\n var value = _ref4.value;\n return !value.hasOwnProperty('__autocomplete_componentName');\n }),\n initialState: lastStateRef.current\n }, updatedOptions);\n runReactives();\n runEffects();\n autocomplete.value.refresh().then(function () {\n scheduleRender(lastStateRef.current);\n });\n }\n function setIsModalOpen(value) {\n var prevValue = props.value.core.environment.document.body.contains(dom.value.detachedOverlay);\n if (value === prevValue) {\n return;\n }\n if (value) {\n props.value.core.environment.document.body.appendChild(dom.value.detachedOverlay);\n props.value.core.environment.document.body.classList.add('aa-Detached');\n dom.value.input.focus();\n } else {\n props.value.core.environment.document.body.removeChild(dom.value.detachedOverlay);\n props.value.core.environment.document.body.classList.remove('aa-Detached');\n }\n }\n process.env.NODE_ENV !== 'production' ? warn(instancesCount === 0, \"Autocomplete doesn't support multiple instances running at the same time. Make sure to destroy the previous instance before creating a new one.\\n\\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-destroy\") : void 0;\n instancesCount++;\n return _objectSpread(_objectSpread({}, autocompleteScopeApi), {}, {\n update: update,\n destroy: destroy\n });\n}","export function createReactiveWrapper() {\n var reactives = [];\n return {\n reactive: function reactive(value) {\n var current = value();\n var reactive = {\n _fn: value,\n _ref: {\n current: current\n },\n get value() {\n return this._ref.current;\n },\n set value(value) {\n this._ref.current = value;\n }\n };\n reactives.push(reactive);\n return reactive;\n },\n runReactives: function runReactives() {\n reactives.forEach(function (value) {\n value._ref.current = value._fn();\n });\n }\n };\n}","export function createEffectWrapper() {\n var effects = [];\n var cleanups = [];\n function runEffect(fn) {\n effects.push(fn);\n var effectCleanup = fn();\n cleanups.push(effectCleanup);\n }\n return {\n runEffect: runEffect,\n cleanupEffects: function cleanupEffects() {\n var currentCleanups = cleanups;\n cleanups = [];\n currentCleanups.forEach(function (cleanup) {\n cleanup();\n });\n },\n runEffects: function runEffects() {\n var currentEffects = effects;\n effects = [];\n currentEffects.forEach(function (effect) {\n runEffect(effect);\n });\n }\n };\n}","(function($) {\n\n var cocoon_element_counter = 0;\n\n var create_new_id = function() {\n return (new Date().getTime() + cocoon_element_counter++);\n }\n\n var newcontent_braced = function(id) {\n return '[' + id + ']$1';\n }\n\n var newcontent_underscord = function(id) {\n return '_' + id + '_$1';\n }\n\n var getInsertionNodeElem = function(insertionNode, insertionTraversal, $this){\n\n if (!insertionNode){\n return $this.parent();\n }\n\n if (typeof insertionNode == 'function'){\n if(insertionTraversal){\n console.warn('association-insertion-traversal is ignored, because association-insertion-node is given as a function.')\n }\n return insertionNode($this);\n }\n\n if(typeof insertionNode == 'string'){\n if (insertionTraversal){\n return $this[insertionTraversal](insertionNode);\n }else{\n return insertionNode == \"this\" ? $this : $(insertionNode);\n }\n }\n\n }\n\n $(document).on('click', '.add_fields', function(e) {\n e.preventDefault();\n e.stopPropagation();\n \n var $this = $(this),\n assoc = $this.data('association'),\n assocs = $this.data('associations'),\n content = $this.data('association-insertion-template'),\n insertionMethod = $this.data('association-insertion-method') || $this.data('association-insertion-position') || 'before',\n insertionNode = $this.data('association-insertion-node'),\n insertionTraversal = $this.data('association-insertion-traversal'),\n count = parseInt($this.data('count'), 10),\n regexp_braced = new RegExp('\\\\[new_' + assoc + '\\\\](.*?\\\\s)', 'g'),\n regexp_underscord = new RegExp('_new_' + assoc + '_(\\\\w*)', 'g'),\n new_id = create_new_id(),\n new_content = content.replace(regexp_braced, newcontent_braced(new_id)),\n new_contents = [],\n originalEvent = e;\n\n\n if (new_content == content) {\n regexp_braced = new RegExp('\\\\[new_' + assocs + '\\\\](.*?\\\\s)', 'g');\n regexp_underscord = new RegExp('_new_' + assocs + '_(\\\\w*)', 'g');\n new_content = content.replace(regexp_braced, newcontent_braced(new_id));\n }\n\n new_content = new_content.replace(regexp_underscord, newcontent_underscord(new_id));\n new_contents = [new_content];\n\n count = (isNaN(count) ? 1 : Math.max(count, 1));\n count -= 1;\n\n while (count) {\n new_id = create_new_id();\n new_content = content.replace(regexp_braced, newcontent_braced(new_id));\n new_content = new_content.replace(regexp_underscord, newcontent_underscord(new_id));\n new_contents.push(new_content);\n\n count -= 1;\n }\n\n var insertionNodeElem = getInsertionNodeElem(insertionNode, insertionTraversal, $this)\n\n if( !insertionNodeElem || (insertionNodeElem.length == 0) ){\n console.warn(\"Couldn't find the element to insert the template. Make sure your `data-association-insertion-*` on `link_to_add_association` is correct.\")\n }\n\n $.each(new_contents, function(i, node) {\n var contentNode = $(node);\n\n var before_insert = jQuery.Event('cocoon:before-insert');\n insertionNodeElem.trigger(before_insert, [contentNode, originalEvent]);\n\n if (!before_insert.isDefaultPrevented()) {\n // allow any of the jquery dom manipulation methods (after, before, append, prepend, etc)\n // to be called on the node. allows the insertion node to be the parent of the inserted\n // code and doesn't force it to be a sibling like after/before does. default: 'before'\n var addedContent = insertionNodeElem[insertionMethod](contentNode);\n\n insertionNodeElem.trigger('cocoon:after-insert', [contentNode,\n originalEvent]);\n }\n });\n });\n\n $(document).on('click', '.remove_fields.dynamic, .remove_fields.existing', function(e) {\n var $this = $(this),\n wrapper_class = $this.data('wrapper-class') || 'nested-fields',\n node_to_delete = $this.closest('.' + wrapper_class),\n trigger_node = node_to_delete.parent(),\n originalEvent = e;\n\n e.preventDefault();\n e.stopPropagation();\n\n var before_remove = jQuery.Event('cocoon:before-remove');\n trigger_node.trigger(before_remove, [node_to_delete, originalEvent]);\n\n if (!before_remove.isDefaultPrevented()) {\n var timeout = trigger_node.data('remove-timeout') || 0;\n\n setTimeout(function() {\n if ($this.hasClass('dynamic')) {\n node_to_delete.detach();\n } else {\n $this.prev(\"input[type=hidden]\").val(\"1\");\n node_to_delete.hide();\n }\n trigger_node.trigger('cocoon:after-remove', [node_to_delete,\n originalEvent]);\n }, timeout);\n }\n });\n\n\n $(document).on(\"ready page:load turbolinks:load\", function() {\n $('.remove_fields.existing.destroyed').each(function(i, obj) {\n var $this = $(this),\n wrapper_class = $this.data('wrapper-class') || 'nested-fields';\n\n $this.closest('.' + wrapper_class).hide();\n });\n });\n\n})(jQuery);\n\n\n","import { DirectUpload } from \"@rails/activestorage\"\n\nexport class AttachmentUpload {\n constructor(attachment, element) {\n this.attachment = attachment\n this.element = element\n this.directUpload = new DirectUpload(attachment.file, this.directUploadUrl, this)\n }\n\n start() {\n this.directUpload.create(this.directUploadDidComplete.bind(this))\n }\n\n directUploadWillStoreFileWithXHR(xhr) {\n xhr.upload.addEventListener(\"progress\", event => {\n const progress = event.loaded / event.total * 100\n this.attachment.setUploadProgress(progress)\n })\n }\n\n directUploadDidComplete(error, attributes) {\n if (error) {\n throw new Error(`Direct upload failed: ${error}`)\n }\n\n this.attachment.setAttributes({\n sgid: attributes.attachable_sgid,\n url: this.createBlobUrl(attributes.signed_id, attributes.filename)\n })\n }\n\n createBlobUrl(signedId, filename) {\n return this.blobUrlTemplate\n .replace(\":signed_id\", signedId)\n .replace(\":filename\", encodeURIComponent(filename))\n }\n\n get directUploadUrl() {\n return this.element.dataset.directUploadUrl\n }\n\n get blobUrlTemplate() {\n return this.element.dataset.blobUrlTemplate\n }\n}\n","import { AttachmentUpload } from \"./attachment_upload\"\n\naddEventListener(\"trix-attachment-add\", event => {\n const { attachment, target } = event\n\n if (attachment.file) {\n const upload = new AttachmentUpload(attachment, target)\n upload.start()\n }\n})\n","\"use strict\";\nmodule.exports = function prettierBytes(num) {\n if (typeof num !== 'number' || Number.isNaN(num)) {\n throw new TypeError(`Expected a number, got ${typeof num}`);\n }\n const neg = num < 0;\n const units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n if (neg) {\n num = -num;\n }\n if (num < 1) {\n return `${(neg ? '-' : '') + num} B`;\n }\n const exponent = Math.min(Math.floor(Math.log(num) / Math.log(1024)), units.length - 1);\n num = Number(num / 1024 ** exponent);\n const unit = units[exponent];\n if (num >= 10 || num % 1 === 0) {\n return `${(neg ? '-' : '') + num.toFixed(0)} ${unit}`;\n }\n return `${(neg ? '-' : '') + num.toFixed(1)} ${unit}`;\n};\n//# sourceMappingURL=prettierBytes.js.map","!function(){function l(l,n){var t=l.split(\".\"),u=T;t[0]in u||!u.execScript||u.execScript(\"var \"+t[0]);for(var e;t.length&&(e=t.shift());)t.length||void 0===n?u=u[e]?u[e]:u[e]={}:u[e]=n}function n(l,n){function t(){}t.prototype=n.prototype,l.M=n.prototype,l.prototype=new t,l.prototype.constructor=l,l.N=function(l,t,u){for(var e=Array(arguments.length-2),r=2;rn?1:l=a&&a<=i;++a)if(r=parseInt(n.substring(0,a),10),r in ll){e.a(n.substring(a)),n=r;break l}n=0}return 0!=n&&(u(l.a),l.a.a(e.toString()),e=N(n),\"001\"==e?l.g=C(l.G,\"\"+n):e!=l.D&&(l.g=E(l,e)),l.b.a(\"\"+n).a(\" \"),l.h=\"\",!0)}function q(l,n){var t=l.m.toString();if(0<=t.substring(l.s).search(l.H)){var e=t.search(l.H),t=t.replace(l.H,n);return u(l.m),l.m.a(t),l.s=e,t.substring(0,l.s+1)}return 1==l.f.length&&(l.l=!1),l.w=\"\",l.i.toString()}var T=this;t.prototype.b=\"\",t.prototype.set=function(l){this.b=\"\"+l},t.prototype.a=function(l,n,t){if(this.b+=String(l),null!=n)for(var u=1;u 0 ? numeralIntegerScale : 0;\n owner.numeralDecimalScale = numeralDecimalScale >= 0 ? numeralDecimalScale : 2;\n owner.numeralThousandsGroupStyle = numeralThousandsGroupStyle || NumeralFormatter.groupStyle.thousand;\n owner.numeralPositiveOnly = !!numeralPositiveOnly;\n owner.stripLeadingZeroes = stripLeadingZeroes !== false;\n owner.prefix = (prefix || prefix === '') ? prefix : '';\n owner.signBeforePrefix = !!signBeforePrefix;\n owner.tailPrefix = !!tailPrefix;\n owner.delimiter = (delimiter || delimiter === '') ? delimiter : ',';\n owner.delimiterRE = delimiter ? new RegExp('\\\\' + delimiter, 'g') : '';\n};\n\nNumeralFormatter.groupStyle = {\n thousand: 'thousand',\n lakh: 'lakh',\n wan: 'wan',\n none: 'none' \n};\n\nNumeralFormatter.prototype = {\n getRawValue: function (value) {\n return value.replace(this.delimiterRE, '').replace(this.numeralDecimalMark, '.');\n },\n\n format: function (value) {\n var owner = this, parts, partSign, partSignAndPrefix, partInteger, partDecimal = '';\n\n // strip alphabet letters\n value = value.replace(/[A-Za-z]/g, '')\n // replace the first decimal mark with reserved placeholder\n .replace(owner.numeralDecimalMark, 'M')\n\n // strip non numeric letters except minus and \"M\"\n // this is to ensure prefix has been stripped\n .replace(/[^\\dM-]/g, '')\n\n // replace the leading minus with reserved placeholder\n .replace(/^\\-/, 'N')\n\n // strip the other minus sign (if present)\n .replace(/\\-/g, '')\n\n // replace the minus sign (if present)\n .replace('N', owner.numeralPositiveOnly ? '' : '-')\n\n // replace decimal mark\n .replace('M', owner.numeralDecimalMark);\n\n // strip any leading zeros\n if (owner.stripLeadingZeroes) {\n value = value.replace(/^(-)?0+(?=\\d)/, '$1');\n }\n\n partSign = value.slice(0, 1) === '-' ? '-' : '';\n if (typeof owner.prefix != 'undefined') {\n if (owner.signBeforePrefix) {\n partSignAndPrefix = partSign + owner.prefix;\n } else {\n partSignAndPrefix = owner.prefix + partSign;\n }\n } else {\n partSignAndPrefix = partSign;\n }\n \n partInteger = value;\n\n if (value.indexOf(owner.numeralDecimalMark) >= 0) {\n parts = value.split(owner.numeralDecimalMark);\n partInteger = parts[0];\n partDecimal = owner.numeralDecimalMark + parts[1].slice(0, owner.numeralDecimalScale);\n }\n\n if(partSign === '-') {\n partInteger = partInteger.slice(1);\n }\n\n if (owner.numeralIntegerScale > 0) {\n partInteger = partInteger.slice(0, owner.numeralIntegerScale);\n }\n\n switch (owner.numeralThousandsGroupStyle) {\n case NumeralFormatter.groupStyle.lakh:\n partInteger = partInteger.replace(/(\\d)(?=(\\d\\d)+\\d$)/g, '$1' + owner.delimiter);\n\n break;\n\n case NumeralFormatter.groupStyle.wan:\n partInteger = partInteger.replace(/(\\d)(?=(\\d{4})+$)/g, '$1' + owner.delimiter);\n\n break;\n\n case NumeralFormatter.groupStyle.thousand:\n partInteger = partInteger.replace(/(\\d)(?=(\\d{3})+$)/g, '$1' + owner.delimiter);\n\n break;\n }\n\n if (owner.tailPrefix) {\n return partSign + partInteger.toString() + (owner.numeralDecimalScale > 0 ? partDecimal.toString() : '') + owner.prefix;\n }\n\n return partSignAndPrefix + partInteger.toString() + (owner.numeralDecimalScale > 0 ? partDecimal.toString() : '');\n }\n};\n\nvar NumeralFormatter_1 = NumeralFormatter;\n\nvar DateFormatter = function (datePattern, dateMin, dateMax) {\n var owner = this;\n\n owner.date = [];\n owner.blocks = [];\n owner.datePattern = datePattern;\n owner.dateMin = dateMin\n .split('-')\n .reverse()\n .map(function(x) {\n return parseInt(x, 10);\n });\n if (owner.dateMin.length === 2) owner.dateMin.unshift(0);\n\n owner.dateMax = dateMax\n .split('-')\n .reverse()\n .map(function(x) {\n return parseInt(x, 10);\n });\n if (owner.dateMax.length === 2) owner.dateMax.unshift(0);\n \n owner.initBlocks();\n};\n\nDateFormatter.prototype = {\n initBlocks: function () {\n var owner = this;\n owner.datePattern.forEach(function (value) {\n if (value === 'Y') {\n owner.blocks.push(4);\n } else {\n owner.blocks.push(2);\n }\n });\n },\n\n getISOFormatDate: function () {\n var owner = this,\n date = owner.date;\n\n return date[2] ? (\n date[2] + '-' + owner.addLeadingZero(date[1]) + '-' + owner.addLeadingZero(date[0])\n ) : '';\n },\n\n getBlocks: function () {\n return this.blocks;\n },\n\n getValidatedDate: function (value) {\n var owner = this, result = '';\n\n value = value.replace(/[^\\d]/g, '');\n\n owner.blocks.forEach(function (length, index) {\n if (value.length > 0) {\n var sub = value.slice(0, length),\n sub0 = sub.slice(0, 1),\n rest = value.slice(length);\n\n switch (owner.datePattern[index]) {\n case 'd':\n if (sub === '00') {\n sub = '01';\n } else if (parseInt(sub0, 10) > 3) {\n sub = '0' + sub0;\n } else if (parseInt(sub, 10) > 31) {\n sub = '31';\n }\n\n break;\n\n case 'm':\n if (sub === '00') {\n sub = '01';\n } else if (parseInt(sub0, 10) > 1) {\n sub = '0' + sub0;\n } else if (parseInt(sub, 10) > 12) {\n sub = '12';\n }\n\n break;\n }\n\n result += sub;\n\n // update remaining string\n value = rest;\n }\n });\n\n return this.getFixedDateString(result);\n },\n\n getFixedDateString: function (value) {\n var owner = this, datePattern = owner.datePattern, date = [],\n dayIndex = 0, monthIndex = 0, yearIndex = 0,\n dayStartIndex = 0, monthStartIndex = 0, yearStartIndex = 0,\n day, month, year, fullYearDone = false;\n\n // mm-dd || dd-mm\n if (value.length === 4 && datePattern[0].toLowerCase() !== 'y' && datePattern[1].toLowerCase() !== 'y') {\n dayStartIndex = datePattern[0] === 'd' ? 0 : 2;\n monthStartIndex = 2 - dayStartIndex;\n day = parseInt(value.slice(dayStartIndex, dayStartIndex + 2), 10);\n month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n\n date = this.getFixedDate(day, month, 0);\n }\n\n // yyyy-mm-dd || yyyy-dd-mm || mm-dd-yyyy || dd-mm-yyyy || dd-yyyy-mm || mm-yyyy-dd\n if (value.length === 8) {\n datePattern.forEach(function (type, index) {\n switch (type) {\n case 'd':\n dayIndex = index;\n break;\n case 'm':\n monthIndex = index;\n break;\n default:\n yearIndex = index;\n break;\n }\n });\n\n yearStartIndex = yearIndex * 2;\n dayStartIndex = (dayIndex <= yearIndex) ? dayIndex * 2 : (dayIndex * 2 + 2);\n monthStartIndex = (monthIndex <= yearIndex) ? monthIndex * 2 : (monthIndex * 2 + 2);\n\n day = parseInt(value.slice(dayStartIndex, dayStartIndex + 2), 10);\n month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n year = parseInt(value.slice(yearStartIndex, yearStartIndex + 4), 10);\n\n fullYearDone = value.slice(yearStartIndex, yearStartIndex + 4).length === 4;\n\n date = this.getFixedDate(day, month, year);\n }\n\n // mm-yy || yy-mm\n if (value.length === 4 && (datePattern[0] === 'y' || datePattern[1] === 'y')) {\n monthStartIndex = datePattern[0] === 'm' ? 0 : 2;\n yearStartIndex = 2 - monthStartIndex;\n month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n year = parseInt(value.slice(yearStartIndex, yearStartIndex + 2), 10);\n\n fullYearDone = value.slice(yearStartIndex, yearStartIndex + 2).length === 2;\n\n date = [0, month, year];\n }\n\n // mm-yyyy || yyyy-mm\n if (value.length === 6 && (datePattern[0] === 'Y' || datePattern[1] === 'Y')) {\n monthStartIndex = datePattern[0] === 'm' ? 0 : 4;\n yearStartIndex = 2 - 0.5 * monthStartIndex;\n month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n year = parseInt(value.slice(yearStartIndex, yearStartIndex + 4), 10);\n\n fullYearDone = value.slice(yearStartIndex, yearStartIndex + 4).length === 4;\n\n date = [0, month, year];\n }\n\n date = owner.getRangeFixedDate(date);\n owner.date = date;\n\n var result = date.length === 0 ? value : datePattern.reduce(function (previous, current) {\n switch (current) {\n case 'd':\n return previous + (date[0] === 0 ? '' : owner.addLeadingZero(date[0]));\n case 'm':\n return previous + (date[1] === 0 ? '' : owner.addLeadingZero(date[1]));\n case 'y':\n return previous + (fullYearDone ? owner.addLeadingZeroForYear(date[2], false) : '');\n case 'Y':\n return previous + (fullYearDone ? owner.addLeadingZeroForYear(date[2], true) : '');\n }\n }, '');\n\n return result;\n },\n\n getRangeFixedDate: function (date) {\n var owner = this,\n datePattern = owner.datePattern,\n dateMin = owner.dateMin || [],\n dateMax = owner.dateMax || [];\n\n if (!date.length || (dateMin.length < 3 && dateMax.length < 3)) return date;\n\n if (\n datePattern.find(function(x) {\n return x.toLowerCase() === 'y';\n }) &&\n date[2] === 0\n ) return date;\n\n if (dateMax.length && (dateMax[2] < date[2] || (\n dateMax[2] === date[2] && (dateMax[1] < date[1] || (\n dateMax[1] === date[1] && dateMax[0] < date[0]\n ))\n ))) return dateMax;\n\n if (dateMin.length && (dateMin[2] > date[2] || (\n dateMin[2] === date[2] && (dateMin[1] > date[1] || (\n dateMin[1] === date[1] && dateMin[0] > date[0]\n ))\n ))) return dateMin;\n\n return date;\n },\n\n getFixedDate: function (day, month, year) {\n day = Math.min(day, 31);\n month = Math.min(month, 12);\n year = parseInt((year || 0), 10);\n\n if ((month < 7 && month % 2 === 0) || (month > 8 && month % 2 === 1)) {\n day = Math.min(day, month === 2 ? (this.isLeapYear(year) ? 29 : 28) : 30);\n }\n\n return [day, month, year];\n },\n\n isLeapYear: function (year) {\n return ((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0);\n },\n\n addLeadingZero: function (number) {\n return (number < 10 ? '0' : '') + number;\n },\n\n addLeadingZeroForYear: function (number, fullYearMode) {\n if (fullYearMode) {\n return (number < 10 ? '000' : (number < 100 ? '00' : (number < 1000 ? '0' : ''))) + number;\n }\n\n return (number < 10 ? '0' : '') + number;\n }\n};\n\nvar DateFormatter_1 = DateFormatter;\n\nvar TimeFormatter = function (timePattern, timeFormat) {\n var owner = this;\n\n owner.time = [];\n owner.blocks = [];\n owner.timePattern = timePattern;\n owner.timeFormat = timeFormat;\n owner.initBlocks();\n};\n\nTimeFormatter.prototype = {\n initBlocks: function () {\n var owner = this;\n owner.timePattern.forEach(function () {\n owner.blocks.push(2);\n });\n },\n\n getISOFormatTime: function () {\n var owner = this,\n time = owner.time;\n\n return time[2] ? (\n owner.addLeadingZero(time[0]) + ':' + owner.addLeadingZero(time[1]) + ':' + owner.addLeadingZero(time[2])\n ) : '';\n },\n\n getBlocks: function () {\n return this.blocks;\n },\n\n getTimeFormatOptions: function () {\n var owner = this;\n if (String(owner.timeFormat) === '12') {\n return {\n maxHourFirstDigit: 1,\n maxHours: 12,\n maxMinutesFirstDigit: 5,\n maxMinutes: 60\n };\n }\n\n return {\n maxHourFirstDigit: 2,\n maxHours: 23,\n maxMinutesFirstDigit: 5,\n maxMinutes: 60\n };\n },\n\n getValidatedTime: function (value) {\n var owner = this, result = '';\n\n value = value.replace(/[^\\d]/g, '');\n\n var timeFormatOptions = owner.getTimeFormatOptions();\n\n owner.blocks.forEach(function (length, index) {\n if (value.length > 0) {\n var sub = value.slice(0, length),\n sub0 = sub.slice(0, 1),\n rest = value.slice(length);\n\n switch (owner.timePattern[index]) {\n\n case 'h':\n if (parseInt(sub0, 10) > timeFormatOptions.maxHourFirstDigit) {\n sub = '0' + sub0;\n } else if (parseInt(sub, 10) > timeFormatOptions.maxHours) {\n sub = timeFormatOptions.maxHours + '';\n }\n\n break;\n\n case 'm':\n case 's':\n if (parseInt(sub0, 10) > timeFormatOptions.maxMinutesFirstDigit) {\n sub = '0' + sub0;\n } else if (parseInt(sub, 10) > timeFormatOptions.maxMinutes) {\n sub = timeFormatOptions.maxMinutes + '';\n }\n break;\n }\n\n result += sub;\n\n // update remaining string\n value = rest;\n }\n });\n\n return this.getFixedTimeString(result);\n },\n\n getFixedTimeString: function (value) {\n var owner = this, timePattern = owner.timePattern, time = [],\n secondIndex = 0, minuteIndex = 0, hourIndex = 0,\n secondStartIndex = 0, minuteStartIndex = 0, hourStartIndex = 0,\n second, minute, hour;\n\n if (value.length === 6) {\n timePattern.forEach(function (type, index) {\n switch (type) {\n case 's':\n secondIndex = index * 2;\n break;\n case 'm':\n minuteIndex = index * 2;\n break;\n case 'h':\n hourIndex = index * 2;\n break;\n }\n });\n\n hourStartIndex = hourIndex;\n minuteStartIndex = minuteIndex;\n secondStartIndex = secondIndex;\n\n second = parseInt(value.slice(secondStartIndex, secondStartIndex + 2), 10);\n minute = parseInt(value.slice(minuteStartIndex, minuteStartIndex + 2), 10);\n hour = parseInt(value.slice(hourStartIndex, hourStartIndex + 2), 10);\n\n time = this.getFixedTime(hour, minute, second);\n }\n\n if (value.length === 4 && owner.timePattern.indexOf('s') < 0) {\n timePattern.forEach(function (type, index) {\n switch (type) {\n case 'm':\n minuteIndex = index * 2;\n break;\n case 'h':\n hourIndex = index * 2;\n break;\n }\n });\n\n hourStartIndex = hourIndex;\n minuteStartIndex = minuteIndex;\n\n second = 0;\n minute = parseInt(value.slice(minuteStartIndex, minuteStartIndex + 2), 10);\n hour = parseInt(value.slice(hourStartIndex, hourStartIndex + 2), 10);\n\n time = this.getFixedTime(hour, minute, second);\n }\n\n owner.time = time;\n\n return time.length === 0 ? value : timePattern.reduce(function (previous, current) {\n switch (current) {\n case 's':\n return previous + owner.addLeadingZero(time[2]);\n case 'm':\n return previous + owner.addLeadingZero(time[1]);\n case 'h':\n return previous + owner.addLeadingZero(time[0]);\n }\n }, '');\n },\n\n getFixedTime: function (hour, minute, second) {\n second = Math.min(parseInt(second || 0, 10), 60);\n minute = Math.min(minute, 60);\n hour = Math.min(hour, 60);\n\n return [hour, minute, second];\n },\n\n addLeadingZero: function (number) {\n return (number < 10 ? '0' : '') + number;\n }\n};\n\nvar TimeFormatter_1 = TimeFormatter;\n\nvar PhoneFormatter = function (formatter, delimiter) {\n var owner = this;\n\n owner.delimiter = (delimiter || delimiter === '') ? delimiter : ' ';\n owner.delimiterRE = delimiter ? new RegExp('\\\\' + delimiter, 'g') : '';\n\n owner.formatter = formatter;\n};\n\nPhoneFormatter.prototype = {\n setFormatter: function (formatter) {\n this.formatter = formatter;\n },\n\n format: function (phoneNumber) {\n var owner = this;\n\n owner.formatter.clear();\n\n // only keep number and +\n phoneNumber = phoneNumber.replace(/[^\\d+]/g, '');\n\n // strip non-leading +\n phoneNumber = phoneNumber.replace(/^\\+/, 'B').replace(/\\+/g, '').replace('B', '+');\n\n // strip delimiter\n phoneNumber = phoneNumber.replace(owner.delimiterRE, '');\n\n var result = '', current, validated = false;\n\n for (var i = 0, iMax = phoneNumber.length; i < iMax; i++) {\n current = owner.formatter.inputDigit(phoneNumber.charAt(i));\n\n // has ()- or space inside\n if (/[\\s()-]/g.test(current)) {\n result = current;\n\n validated = true;\n } else {\n if (!validated) {\n result = current;\n }\n // else: over length input\n // it turns to invalid number again\n }\n }\n\n // strip ()\n // e.g. US: 7161234567 returns (716) 123-4567\n result = result.replace(/[()]/g, '');\n // replace library delimiter with user customized delimiter\n result = result.replace(/[\\s-]/g, owner.delimiter);\n\n return result;\n }\n};\n\nvar PhoneFormatter_1 = PhoneFormatter;\n\nvar CreditCardDetector = {\n blocks: {\n uatp: [4, 5, 6],\n amex: [4, 6, 5],\n diners: [4, 6, 4],\n discover: [4, 4, 4, 4],\n mastercard: [4, 4, 4, 4],\n dankort: [4, 4, 4, 4],\n instapayment: [4, 4, 4, 4],\n jcb15: [4, 6, 5],\n jcb: [4, 4, 4, 4],\n maestro: [4, 4, 4, 4],\n visa: [4, 4, 4, 4],\n mir: [4, 4, 4, 4],\n unionPay: [4, 4, 4, 4],\n general: [4, 4, 4, 4]\n },\n\n re: {\n // starts with 1; 15 digits, not starts with 1800 (jcb card)\n uatp: /^(?!1800)1\\d{0,14}/,\n\n // starts with 34/37; 15 digits\n amex: /^3[47]\\d{0,13}/,\n\n // starts with 6011/65/644-649; 16 digits\n discover: /^(?:6011|65\\d{0,2}|64[4-9]\\d?)\\d{0,12}/,\n\n // starts with 300-305/309 or 36/38/39; 14 digits\n diners: /^3(?:0([0-5]|9)|[689]\\d?)\\d{0,11}/,\n\n // starts with 51-55/2221–2720; 16 digits\n mastercard: /^(5[1-5]\\d{0,2}|22[2-9]\\d{0,1}|2[3-7]\\d{0,2})\\d{0,12}/,\n\n // starts with 5019/4175/4571; 16 digits\n dankort: /^(5019|4175|4571)\\d{0,12}/,\n\n // starts with 637-639; 16 digits\n instapayment: /^63[7-9]\\d{0,13}/,\n\n // starts with 2131/1800; 15 digits\n jcb15: /^(?:2131|1800)\\d{0,11}/,\n\n // starts with 2131/1800/35; 16 digits\n jcb: /^(?:35\\d{0,2})\\d{0,12}/,\n\n // starts with 50/56-58/6304/67; 16 digits\n maestro: /^(?:5[0678]\\d{0,2}|6304|67\\d{0,2})\\d{0,12}/,\n\n // starts with 22; 16 digits\n mir: /^220[0-4]\\d{0,12}/,\n\n // starts with 4; 16 digits\n visa: /^4\\d{0,15}/,\n\n // starts with 62/81; 16 digits\n unionPay: /^(62|81)\\d{0,14}/\n },\n\n getStrictBlocks: function (block) {\n var total = block.reduce(function (prev, current) {\n return prev + current;\n }, 0);\n\n return block.concat(19 - total);\n },\n\n getInfo: function (value, strictMode) {\n var blocks = CreditCardDetector.blocks,\n re = CreditCardDetector.re;\n\n // Some credit card can have up to 19 digits number.\n // Set strictMode to true will remove the 16 max-length restrain,\n // however, I never found any website validate card number like\n // this, hence probably you don't want to enable this option.\n strictMode = !!strictMode;\n\n for (var key in re) {\n if (re[key].test(value)) {\n var matchedBlocks = blocks[key];\n return {\n type: key,\n blocks: strictMode ? this.getStrictBlocks(matchedBlocks) : matchedBlocks\n };\n }\n }\n\n return {\n type: 'unknown',\n blocks: strictMode ? this.getStrictBlocks(blocks.general) : blocks.general\n };\n }\n};\n\nvar CreditCardDetector_1 = CreditCardDetector;\n\nvar Util = {\n noop: function () {\n },\n\n strip: function (value, re) {\n return value.replace(re, '');\n },\n\n getPostDelimiter: function (value, delimiter, delimiters) {\n // single delimiter\n if (delimiters.length === 0) {\n return value.slice(-delimiter.length) === delimiter ? delimiter : '';\n }\n\n // multiple delimiters\n var matchedDelimiter = '';\n delimiters.forEach(function (current) {\n if (value.slice(-current.length) === current) {\n matchedDelimiter = current;\n }\n });\n\n return matchedDelimiter;\n },\n\n getDelimiterREByDelimiter: function (delimiter) {\n return new RegExp(delimiter.replace(/([.?*+^$[\\]\\\\(){}|-])/g, '\\\\$1'), 'g');\n },\n\n getNextCursorPosition: function (prevPos, oldValue, newValue, delimiter, delimiters) {\n // If cursor was at the end of value, just place it back.\n // Because new value could contain additional chars.\n if (oldValue.length === prevPos) {\n return newValue.length;\n }\n\n return prevPos + this.getPositionOffset(prevPos, oldValue, newValue, delimiter ,delimiters);\n },\n\n getPositionOffset: function (prevPos, oldValue, newValue, delimiter, delimiters) {\n var oldRawValue, newRawValue, lengthOffset;\n\n oldRawValue = this.stripDelimiters(oldValue.slice(0, prevPos), delimiter, delimiters);\n newRawValue = this.stripDelimiters(newValue.slice(0, prevPos), delimiter, delimiters);\n lengthOffset = oldRawValue.length - newRawValue.length;\n\n return (lengthOffset !== 0) ? (lengthOffset / Math.abs(lengthOffset)) : 0;\n },\n\n stripDelimiters: function (value, delimiter, delimiters) {\n var owner = this;\n\n // single delimiter\n if (delimiters.length === 0) {\n var delimiterRE = delimiter ? owner.getDelimiterREByDelimiter(delimiter) : '';\n\n return value.replace(delimiterRE, '');\n }\n\n // multiple delimiters\n delimiters.forEach(function (current) {\n current.split('').forEach(function (letter) {\n value = value.replace(owner.getDelimiterREByDelimiter(letter), '');\n });\n });\n\n return value;\n },\n\n headStr: function (str, length) {\n return str.slice(0, length);\n },\n\n getMaxLength: function (blocks) {\n return blocks.reduce(function (previous, current) {\n return previous + current;\n }, 0);\n },\n\n // strip prefix\n // Before type | After type | Return value\n // PEFIX-... | PEFIX-... | ''\n // PREFIX-123 | PEFIX-123 | 123\n // PREFIX-123 | PREFIX-23 | 23\n // PREFIX-123 | PREFIX-1234 | 1234\n getPrefixStrippedValue: function (value, prefix, prefixLength, prevResult, delimiter, delimiters, noImmediatePrefix, tailPrefix, signBeforePrefix) {\n // No prefix\n if (prefixLength === 0) {\n return value;\n }\n\n // Value is prefix\n if (value === prefix && value !== '') {\n return '';\n }\n\n if (signBeforePrefix && (value.slice(0, 1) == '-')) {\n var prev = (prevResult.slice(0, 1) == '-') ? prevResult.slice(1) : prevResult;\n return '-' + this.getPrefixStrippedValue(value.slice(1), prefix, prefixLength, prev, delimiter, delimiters, noImmediatePrefix, tailPrefix, signBeforePrefix);\n }\n\n // Pre result prefix string does not match pre-defined prefix\n if (prevResult.slice(0, prefixLength) !== prefix && !tailPrefix) {\n // Check if the first time user entered something\n if (noImmediatePrefix && !prevResult && value) return value;\n return '';\n } else if (prevResult.slice(-prefixLength) !== prefix && tailPrefix) {\n // Check if the first time user entered something\n if (noImmediatePrefix && !prevResult && value) return value;\n return '';\n }\n\n var prevValue = this.stripDelimiters(prevResult, delimiter, delimiters);\n\n // New value has issue, someone typed in between prefix letters\n // Revert to pre value\n if (value.slice(0, prefixLength) !== prefix && !tailPrefix) {\n return prevValue.slice(prefixLength);\n } else if (value.slice(-prefixLength) !== prefix && tailPrefix) {\n return prevValue.slice(0, -prefixLength - 1);\n }\n\n // No issue, strip prefix for new value\n return tailPrefix ? value.slice(0, -prefixLength) : value.slice(prefixLength);\n },\n\n getFirstDiffIndex: function (prev, current) {\n var index = 0;\n\n while (prev.charAt(index) === current.charAt(index)) {\n if (prev.charAt(index++) === '') {\n return -1;\n }\n }\n\n return index;\n },\n\n getFormattedValue: function (value, blocks, blocksLength, delimiter, delimiters, delimiterLazyShow) {\n var result = '',\n multipleDelimiters = delimiters.length > 0,\n currentDelimiter = '';\n\n // no options, normal input\n if (blocksLength === 0) {\n return value;\n }\n\n blocks.forEach(function (length, index) {\n if (value.length > 0) {\n var sub = value.slice(0, length),\n rest = value.slice(length);\n\n if (multipleDelimiters) {\n currentDelimiter = delimiters[delimiterLazyShow ? (index - 1) : index] || currentDelimiter;\n } else {\n currentDelimiter = delimiter;\n }\n\n if (delimiterLazyShow) {\n if (index > 0) {\n result += currentDelimiter;\n }\n\n result += sub;\n } else {\n result += sub;\n\n if (sub.length === length && index < blocksLength - 1) {\n result += currentDelimiter;\n }\n }\n\n // update remaining string\n value = rest;\n }\n });\n\n return result;\n },\n\n // move cursor to the end\n // the first time user focuses on an input with prefix\n fixPrefixCursor: function (el, prefix, delimiter, delimiters) {\n if (!el) {\n return;\n }\n\n var val = el.value,\n appendix = delimiter || (delimiters[0] || ' ');\n\n if (!el.setSelectionRange || !prefix || (prefix.length + appendix.length) <= val.length) {\n return;\n }\n\n var len = val.length * 2;\n\n // set timeout to avoid blink\n setTimeout(function () {\n el.setSelectionRange(len, len);\n }, 1);\n },\n\n // Check if input field is fully selected\n checkFullSelection: function(value) {\n try {\n var selection = window.getSelection() || document.getSelection() || {};\n return selection.toString().length === value.length;\n } catch (ex) {\n // Ignore\n }\n\n return false;\n },\n\n setSelection: function (element, position, doc) {\n if (element !== this.getActiveElement(doc)) {\n return;\n }\n\n // cursor is already in the end\n if (element && element.value.length <= position) {\n return;\n }\n\n if (element.createTextRange) {\n var range = element.createTextRange();\n\n range.move('character', position);\n range.select();\n } else {\n try {\n element.setSelectionRange(position, position);\n } catch (e) {\n // eslint-disable-next-line\n console.warn('The input element type does not support selection');\n }\n }\n },\n\n getActiveElement: function(parent) {\n var activeElement = parent.activeElement;\n if (activeElement && activeElement.shadowRoot) {\n return this.getActiveElement(activeElement.shadowRoot);\n }\n return activeElement;\n },\n\n isAndroid: function () {\n return navigator && /android/i.test(navigator.userAgent);\n },\n\n // On Android chrome, the keyup and keydown events\n // always return key code 229 as a composition that\n // buffers the user’s keystrokes\n // see https://github.com/nosir/cleave.js/issues/147\n isAndroidBackspaceKeydown: function (lastInputValue, currentInputValue) {\n if (!this.isAndroid() || !lastInputValue || !currentInputValue) {\n return false;\n }\n\n return currentInputValue === lastInputValue.slice(0, -1);\n }\n};\n\nvar Util_1 = Util;\n\n/**\n * Props Assignment\n *\n * Separate this, so react module can share the usage\n */\nvar DefaultProperties = {\n // Maybe change to object-assign\n // for now just keep it as simple\n assign: function (target, opts) {\n target = target || {};\n opts = opts || {};\n\n // credit card\n target.creditCard = !!opts.creditCard;\n target.creditCardStrictMode = !!opts.creditCardStrictMode;\n target.creditCardType = '';\n target.onCreditCardTypeChanged = opts.onCreditCardTypeChanged || (function () {});\n\n // phone\n target.phone = !!opts.phone;\n target.phoneRegionCode = opts.phoneRegionCode || 'AU';\n target.phoneFormatter = {};\n\n // time\n target.time = !!opts.time;\n target.timePattern = opts.timePattern || ['h', 'm', 's'];\n target.timeFormat = opts.timeFormat || '24';\n target.timeFormatter = {};\n\n // date\n target.date = !!opts.date;\n target.datePattern = opts.datePattern || ['d', 'm', 'Y'];\n target.dateMin = opts.dateMin || '';\n target.dateMax = opts.dateMax || '';\n target.dateFormatter = {};\n\n // numeral\n target.numeral = !!opts.numeral;\n target.numeralIntegerScale = opts.numeralIntegerScale > 0 ? opts.numeralIntegerScale : 0;\n target.numeralDecimalScale = opts.numeralDecimalScale >= 0 ? opts.numeralDecimalScale : 2;\n target.numeralDecimalMark = opts.numeralDecimalMark || '.';\n target.numeralThousandsGroupStyle = opts.numeralThousandsGroupStyle || 'thousand';\n target.numeralPositiveOnly = !!opts.numeralPositiveOnly;\n target.stripLeadingZeroes = opts.stripLeadingZeroes !== false;\n target.signBeforePrefix = !!opts.signBeforePrefix;\n target.tailPrefix = !!opts.tailPrefix;\n\n // others\n target.swapHiddenInput = !!opts.swapHiddenInput;\n \n target.numericOnly = target.creditCard || target.date || !!opts.numericOnly;\n\n target.uppercase = !!opts.uppercase;\n target.lowercase = !!opts.lowercase;\n\n target.prefix = (target.creditCard || target.date) ? '' : (opts.prefix || '');\n target.noImmediatePrefix = !!opts.noImmediatePrefix;\n target.prefixLength = target.prefix.length;\n target.rawValueTrimPrefix = !!opts.rawValueTrimPrefix;\n target.copyDelimiter = !!opts.copyDelimiter;\n\n target.initValue = (opts.initValue !== undefined && opts.initValue !== null) ? opts.initValue.toString() : '';\n\n target.delimiter =\n (opts.delimiter || opts.delimiter === '') ? opts.delimiter :\n (opts.date ? '/' :\n (opts.time ? ':' :\n (opts.numeral ? ',' :\n (opts.phone ? ' ' :\n ' '))));\n target.delimiterLength = target.delimiter.length;\n target.delimiterLazyShow = !!opts.delimiterLazyShow;\n target.delimiters = opts.delimiters || [];\n\n target.blocks = opts.blocks || [];\n target.blocksLength = target.blocks.length;\n\n target.root = (typeof commonjsGlobal === 'object' && commonjsGlobal) ? commonjsGlobal : window;\n target.document = opts.document || target.root.document;\n\n target.maxLength = 0;\n\n target.backspace = false;\n target.result = '';\n\n target.onValueChanged = opts.onValueChanged || (function () {});\n\n return target;\n }\n};\n\nvar DefaultProperties_1 = DefaultProperties;\n\n/**\n * Construct a new Cleave instance by passing the configuration object\n *\n * @param {String | HTMLElement} element\n * @param {Object} opts\n */\nvar Cleave = function (element, opts) {\n var owner = this;\n var hasMultipleElements = false;\n\n if (typeof element === 'string') {\n owner.element = document.querySelector(element);\n hasMultipleElements = document.querySelectorAll(element).length > 1;\n } else {\n if (typeof element.length !== 'undefined' && element.length > 0) {\n owner.element = element[0];\n hasMultipleElements = element.length > 1;\n } else {\n owner.element = element;\n }\n }\n\n if (!owner.element) {\n throw new Error('[cleave.js] Please check the element');\n }\n\n if (hasMultipleElements) {\n try {\n // eslint-disable-next-line\n console.warn('[cleave.js] Multiple input fields matched, cleave.js will only take the first one.');\n } catch (e) {\n // Old IE\n }\n }\n\n opts.initValue = owner.element.value;\n\n owner.properties = Cleave.DefaultProperties.assign({}, opts);\n\n owner.init();\n};\n\nCleave.prototype = {\n init: function () {\n var owner = this, pps = owner.properties;\n\n // no need to use this lib\n if (!pps.numeral && !pps.phone && !pps.creditCard && !pps.time && !pps.date && (pps.blocksLength === 0 && !pps.prefix)) {\n owner.onInput(pps.initValue);\n\n return;\n }\n\n pps.maxLength = Cleave.Util.getMaxLength(pps.blocks);\n\n owner.isAndroid = Cleave.Util.isAndroid();\n owner.lastInputValue = '';\n owner.isBackward = '';\n\n owner.onChangeListener = owner.onChange.bind(owner);\n owner.onKeyDownListener = owner.onKeyDown.bind(owner);\n owner.onFocusListener = owner.onFocus.bind(owner);\n owner.onCutListener = owner.onCut.bind(owner);\n owner.onCopyListener = owner.onCopy.bind(owner);\n\n owner.initSwapHiddenInput();\n\n owner.element.addEventListener('input', owner.onChangeListener);\n owner.element.addEventListener('keydown', owner.onKeyDownListener);\n owner.element.addEventListener('focus', owner.onFocusListener);\n owner.element.addEventListener('cut', owner.onCutListener);\n owner.element.addEventListener('copy', owner.onCopyListener);\n\n\n owner.initPhoneFormatter();\n owner.initDateFormatter();\n owner.initTimeFormatter();\n owner.initNumeralFormatter();\n\n // avoid touch input field if value is null\n // otherwise Firefox will add red box-shadow for \n if (pps.initValue || (pps.prefix && !pps.noImmediatePrefix)) {\n owner.onInput(pps.initValue);\n }\n },\n\n initSwapHiddenInput: function () {\n var owner = this, pps = owner.properties;\n if (!pps.swapHiddenInput) return;\n\n var inputFormatter = owner.element.cloneNode(true);\n owner.element.parentNode.insertBefore(inputFormatter, owner.element);\n\n owner.elementSwapHidden = owner.element;\n owner.elementSwapHidden.type = 'hidden';\n\n owner.element = inputFormatter;\n owner.element.id = '';\n },\n\n initNumeralFormatter: function () {\n var owner = this, pps = owner.properties;\n\n if (!pps.numeral) {\n return;\n }\n\n pps.numeralFormatter = new Cleave.NumeralFormatter(\n pps.numeralDecimalMark,\n pps.numeralIntegerScale,\n pps.numeralDecimalScale,\n pps.numeralThousandsGroupStyle,\n pps.numeralPositiveOnly,\n pps.stripLeadingZeroes,\n pps.prefix,\n pps.signBeforePrefix,\n pps.tailPrefix,\n pps.delimiter\n );\n },\n\n initTimeFormatter: function() {\n var owner = this, pps = owner.properties;\n\n if (!pps.time) {\n return;\n }\n\n pps.timeFormatter = new Cleave.TimeFormatter(pps.timePattern, pps.timeFormat);\n pps.blocks = pps.timeFormatter.getBlocks();\n pps.blocksLength = pps.blocks.length;\n pps.maxLength = Cleave.Util.getMaxLength(pps.blocks);\n },\n\n initDateFormatter: function () {\n var owner = this, pps = owner.properties;\n\n if (!pps.date) {\n return;\n }\n\n pps.dateFormatter = new Cleave.DateFormatter(pps.datePattern, pps.dateMin, pps.dateMax);\n pps.blocks = pps.dateFormatter.getBlocks();\n pps.blocksLength = pps.blocks.length;\n pps.maxLength = Cleave.Util.getMaxLength(pps.blocks);\n },\n\n initPhoneFormatter: function () {\n var owner = this, pps = owner.properties;\n\n if (!pps.phone) {\n return;\n }\n\n // Cleave.AsYouTypeFormatter should be provided by\n // external google closure lib\n try {\n pps.phoneFormatter = new Cleave.PhoneFormatter(\n new pps.root.Cleave.AsYouTypeFormatter(pps.phoneRegionCode),\n pps.delimiter\n );\n } catch (ex) {\n throw new Error('[cleave.js] Please include phone-type-formatter.{country}.js lib');\n }\n },\n\n onKeyDown: function (event) {\n var owner = this,\n charCode = event.which || event.keyCode;\n\n owner.lastInputValue = owner.element.value;\n owner.isBackward = charCode === 8;\n },\n\n onChange: function (event) {\n var owner = this, pps = owner.properties,\n Util = Cleave.Util;\n\n owner.isBackward = owner.isBackward || event.inputType === 'deleteContentBackward';\n\n var postDelimiter = Util.getPostDelimiter(owner.lastInputValue, pps.delimiter, pps.delimiters);\n\n if (owner.isBackward && postDelimiter) {\n pps.postDelimiterBackspace = postDelimiter;\n } else {\n pps.postDelimiterBackspace = false;\n }\n\n this.onInput(this.element.value);\n },\n\n onFocus: function () {\n var owner = this,\n pps = owner.properties;\n owner.lastInputValue = owner.element.value;\n\n if (pps.prefix && pps.noImmediatePrefix && !owner.element.value) {\n this.onInput(pps.prefix);\n }\n\n Cleave.Util.fixPrefixCursor(owner.element, pps.prefix, pps.delimiter, pps.delimiters);\n },\n\n onCut: function (e) {\n if (!Cleave.Util.checkFullSelection(this.element.value)) return;\n this.copyClipboardData(e);\n this.onInput('');\n },\n\n onCopy: function (e) {\n if (!Cleave.Util.checkFullSelection(this.element.value)) return;\n this.copyClipboardData(e);\n },\n\n copyClipboardData: function (e) {\n var owner = this,\n pps = owner.properties,\n Util = Cleave.Util,\n inputValue = owner.element.value,\n textToCopy = '';\n\n if (!pps.copyDelimiter) {\n textToCopy = Util.stripDelimiters(inputValue, pps.delimiter, pps.delimiters);\n } else {\n textToCopy = inputValue;\n }\n\n try {\n if (e.clipboardData) {\n e.clipboardData.setData('Text', textToCopy);\n } else {\n window.clipboardData.setData('Text', textToCopy);\n }\n\n e.preventDefault();\n } catch (ex) {\n // empty\n }\n },\n\n onInput: function (value) {\n var owner = this, pps = owner.properties,\n Util = Cleave.Util;\n\n // case 1: delete one more character \"4\"\n // 1234*| -> hit backspace -> 123|\n // case 2: last character is not delimiter which is:\n // 12|34* -> hit backspace -> 1|34*\n // note: no need to apply this for numeral mode\n var postDelimiterAfter = Util.getPostDelimiter(value, pps.delimiter, pps.delimiters);\n if (!pps.numeral && pps.postDelimiterBackspace && !postDelimiterAfter) {\n value = Util.headStr(value, value.length - pps.postDelimiterBackspace.length);\n }\n\n // phone formatter\n if (pps.phone) {\n if (pps.prefix && (!pps.noImmediatePrefix || value.length)) {\n pps.result = pps.prefix + pps.phoneFormatter.format(value).slice(pps.prefix.length);\n } else {\n pps.result = pps.phoneFormatter.format(value);\n }\n owner.updateValueState();\n\n return;\n }\n\n // numeral formatter\n if (pps.numeral) {\n // Do not show prefix when noImmediatePrefix is specified\n // This mostly because we need to show user the native input placeholder\n if (pps.prefix && pps.noImmediatePrefix && value.length === 0) {\n pps.result = '';\n } else {\n pps.result = pps.numeralFormatter.format(value);\n }\n owner.updateValueState();\n\n return;\n }\n\n // date\n if (pps.date) {\n value = pps.dateFormatter.getValidatedDate(value);\n }\n\n // time\n if (pps.time) {\n value = pps.timeFormatter.getValidatedTime(value);\n }\n\n // strip delimiters\n value = Util.stripDelimiters(value, pps.delimiter, pps.delimiters);\n\n // strip prefix\n value = Util.getPrefixStrippedValue(value, pps.prefix, pps.prefixLength, pps.result, pps.delimiter, pps.delimiters, pps.noImmediatePrefix, pps.tailPrefix, pps.signBeforePrefix);\n\n // strip non-numeric characters\n value = pps.numericOnly ? Util.strip(value, /[^\\d]/g) : value;\n\n // convert case\n value = pps.uppercase ? value.toUpperCase() : value;\n value = pps.lowercase ? value.toLowerCase() : value;\n\n // prevent from showing prefix when no immediate option enabled with empty input value\n if (pps.prefix) {\n if (pps.tailPrefix) {\n value = value + pps.prefix;\n } else {\n value = pps.prefix + value;\n }\n\n\n // no blocks specified, no need to do formatting\n if (pps.blocksLength === 0) {\n pps.result = value;\n owner.updateValueState();\n\n return;\n }\n }\n\n // update credit card props\n if (pps.creditCard) {\n owner.updateCreditCardPropsByValue(value);\n }\n\n // strip over length characters\n value = Util.headStr(value, pps.maxLength);\n\n // apply blocks\n pps.result = Util.getFormattedValue(\n value,\n pps.blocks, pps.blocksLength,\n pps.delimiter, pps.delimiters, pps.delimiterLazyShow\n );\n\n owner.updateValueState();\n },\n\n updateCreditCardPropsByValue: function (value) {\n var owner = this, pps = owner.properties,\n Util = Cleave.Util,\n creditCardInfo;\n\n // At least one of the first 4 characters has changed\n if (Util.headStr(pps.result, 4) === Util.headStr(value, 4)) {\n return;\n }\n\n creditCardInfo = Cleave.CreditCardDetector.getInfo(value, pps.creditCardStrictMode);\n\n pps.blocks = creditCardInfo.blocks;\n pps.blocksLength = pps.blocks.length;\n pps.maxLength = Util.getMaxLength(pps.blocks);\n\n // credit card type changed\n if (pps.creditCardType !== creditCardInfo.type) {\n pps.creditCardType = creditCardInfo.type;\n\n pps.onCreditCardTypeChanged.call(owner, pps.creditCardType);\n }\n },\n\n updateValueState: function () {\n var owner = this,\n Util = Cleave.Util,\n pps = owner.properties;\n\n if (!owner.element) {\n return;\n }\n\n var endPos = owner.element.selectionEnd;\n var oldValue = owner.element.value;\n var newValue = pps.result;\n\n endPos = Util.getNextCursorPosition(endPos, oldValue, newValue, pps.delimiter, pps.delimiters);\n\n // fix Android browser type=\"text\" input field\n // cursor not jumping issue\n if (owner.isAndroid) {\n window.setTimeout(function () {\n owner.element.value = newValue;\n Util.setSelection(owner.element, endPos, pps.document, false);\n owner.callOnValueChanged();\n }, 1);\n\n return;\n }\n\n owner.element.value = newValue;\n if (pps.swapHiddenInput) owner.elementSwapHidden.value = owner.getRawValue();\n\n Util.setSelection(owner.element, endPos, pps.document, false);\n owner.callOnValueChanged();\n },\n\n callOnValueChanged: function () {\n var owner = this,\n pps = owner.properties;\n\n pps.onValueChanged.call(owner, {\n target: {\n name: owner.element.name,\n value: pps.result,\n rawValue: owner.getRawValue()\n }\n });\n },\n\n setPhoneRegionCode: function (phoneRegionCode) {\n var owner = this, pps = owner.properties;\n\n pps.phoneRegionCode = phoneRegionCode;\n owner.initPhoneFormatter();\n owner.onChange();\n },\n\n setRawValue: function (value) {\n var owner = this, pps = owner.properties;\n\n value = value !== undefined && value !== null ? value.toString() : '';\n\n if (pps.numeral) {\n value = value.replace('.', pps.numeralDecimalMark);\n }\n\n pps.postDelimiterBackspace = false;\n\n owner.element.value = value;\n owner.onInput(value);\n },\n\n getRawValue: function () {\n var owner = this,\n pps = owner.properties,\n Util = Cleave.Util,\n rawValue = owner.element.value;\n\n if (pps.rawValueTrimPrefix) {\n rawValue = Util.getPrefixStrippedValue(rawValue, pps.prefix, pps.prefixLength, pps.result, pps.delimiter, pps.delimiters, pps.noImmediatePrefix, pps.tailPrefix, pps.signBeforePrefix);\n }\n\n if (pps.numeral) {\n rawValue = pps.numeralFormatter.getRawValue(rawValue);\n } else {\n rawValue = Util.stripDelimiters(rawValue, pps.delimiter, pps.delimiters);\n }\n\n return rawValue;\n },\n\n getISOFormatDate: function () {\n var owner = this,\n pps = owner.properties;\n\n return pps.date ? pps.dateFormatter.getISOFormatDate() : '';\n },\n\n getISOFormatTime: function () {\n var owner = this,\n pps = owner.properties;\n\n return pps.time ? pps.timeFormatter.getISOFormatTime() : '';\n },\n\n getFormattedValue: function () {\n return this.element.value;\n },\n\n destroy: function () {\n var owner = this;\n\n owner.element.removeEventListener('input', owner.onChangeListener);\n owner.element.removeEventListener('keydown', owner.onKeyDownListener);\n owner.element.removeEventListener('focus', owner.onFocusListener);\n owner.element.removeEventListener('cut', owner.onCutListener);\n owner.element.removeEventListener('copy', owner.onCopyListener);\n },\n\n toString: function () {\n return '[Cleave Object]';\n }\n};\n\nCleave.NumeralFormatter = NumeralFormatter_1;\nCleave.DateFormatter = DateFormatter_1;\nCleave.TimeFormatter = TimeFormatter_1;\nCleave.PhoneFormatter = PhoneFormatter_1;\nCleave.CreditCardDetector = CreditCardDetector_1;\nCleave.Util = Util_1;\nCleave.DefaultProperties = DefaultProperties_1;\n\n// for angular directive\n((typeof commonjsGlobal === 'object' && commonjsGlobal) ? commonjsGlobal : window)['Cleave'] = Cleave;\n\n// CommonJS\nvar Cleave_1 = Cleave;\n\nexport default Cleave_1;\n","/*!\n * Compressor.js v1.2.1\n * https://fengyuanchen.github.io/compressorjs\n *\n * Copyright 2018-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2023-02-28T14:09:41.732Z\n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Compressor = factory());\n})(this, (function () { 'use strict';\n\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n }\n function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n }\n function _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n }\n function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n }\n function _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n }\n function _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n }\n\n var canvasToBlob = {exports: {}};\n\n /*\n * JavaScript Canvas to Blob\n * https://github.com/blueimp/JavaScript-Canvas-to-Blob\n *\n * Copyright 2012, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n *\n * Based on stackoverflow user Stoive's code snippet:\n * http://stackoverflow.com/q/4998908\n */\n (function (module) {\n if (typeof window === 'undefined') {\n return;\n }\n (function (window) {\n\n var CanvasPrototype = window.HTMLCanvasElement && window.HTMLCanvasElement.prototype;\n var hasBlobConstructor = window.Blob && function () {\n try {\n return Boolean(new Blob());\n } catch (e) {\n return false;\n }\n }();\n var hasArrayBufferViewSupport = hasBlobConstructor && window.Uint8Array && function () {\n try {\n return new Blob([new Uint8Array(100)]).size === 100;\n } catch (e) {\n return false;\n }\n }();\n var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder;\n var dataURIPattern = /^data:((.*?)(;charset=.*?)?)(;base64)?,/;\n var dataURLtoBlob = (hasBlobConstructor || BlobBuilder) && window.atob && window.ArrayBuffer && window.Uint8Array && function (dataURI) {\n var matches, mediaType, isBase64, dataString, byteString, arrayBuffer, intArray, i, bb;\n // Parse the dataURI components as per RFC 2397\n matches = dataURI.match(dataURIPattern);\n if (!matches) {\n throw new Error('invalid data URI');\n }\n // Default to text/plain;charset=US-ASCII\n mediaType = matches[2] ? matches[1] : 'text/plain' + (matches[3] || ';charset=US-ASCII');\n isBase64 = !!matches[4];\n dataString = dataURI.slice(matches[0].length);\n if (isBase64) {\n // Convert base64 to raw binary data held in a string:\n byteString = atob(dataString);\n } else {\n // Convert base64/URLEncoded data component to raw binary:\n byteString = decodeURIComponent(dataString);\n }\n // Write the bytes of the string to an ArrayBuffer:\n arrayBuffer = new ArrayBuffer(byteString.length);\n intArray = new Uint8Array(arrayBuffer);\n for (i = 0; i < byteString.length; i += 1) {\n intArray[i] = byteString.charCodeAt(i);\n }\n // Write the ArrayBuffer (or ArrayBufferView) to a blob:\n if (hasBlobConstructor) {\n return new Blob([hasArrayBufferViewSupport ? intArray : arrayBuffer], {\n type: mediaType\n });\n }\n bb = new BlobBuilder();\n bb.append(arrayBuffer);\n return bb.getBlob(mediaType);\n };\n if (window.HTMLCanvasElement && !CanvasPrototype.toBlob) {\n if (CanvasPrototype.mozGetAsFile) {\n CanvasPrototype.toBlob = function (callback, type, quality) {\n var self = this;\n setTimeout(function () {\n if (quality && CanvasPrototype.toDataURL && dataURLtoBlob) {\n callback(dataURLtoBlob(self.toDataURL(type, quality)));\n } else {\n callback(self.mozGetAsFile('blob', type));\n }\n });\n };\n } else if (CanvasPrototype.toDataURL && dataURLtoBlob) {\n if (CanvasPrototype.msToBlob) {\n CanvasPrototype.toBlob = function (callback, type, quality) {\n var self = this;\n setTimeout(function () {\n if ((type && type !== 'image/png' || quality) && CanvasPrototype.toDataURL && dataURLtoBlob) {\n callback(dataURLtoBlob(self.toDataURL(type, quality)));\n } else {\n callback(self.msToBlob(type));\n }\n });\n };\n } else {\n CanvasPrototype.toBlob = function (callback, type, quality) {\n var self = this;\n setTimeout(function () {\n callback(dataURLtoBlob(self.toDataURL(type, quality)));\n });\n };\n }\n }\n }\n if (module.exports) {\n module.exports = dataURLtoBlob;\n } else {\n window.dataURLtoBlob = dataURLtoBlob;\n }\n })(window);\n })(canvasToBlob);\n var toBlob = canvasToBlob.exports;\n\n var isBlob = function isBlob(value) {\n if (typeof Blob === 'undefined') {\n return false;\n }\n return value instanceof Blob || Object.prototype.toString.call(value) === '[object Blob]';\n };\n\n var DEFAULTS = {\n /**\n * Indicates if output the original image instead of the compressed one\n * when the size of the compressed image is greater than the original one's\n * @type {boolean}\n */\n strict: true,\n /**\n * Indicates if read the image's Exif Orientation information,\n * and then rotate or flip the image automatically.\n * @type {boolean}\n */\n checkOrientation: true,\n /**\n * Indicates if retain the image's Exif information after compressed.\n * @type {boolean}\n */\n retainExif: false,\n /**\n * The max width of the output image.\n * @type {number}\n */\n maxWidth: Infinity,\n /**\n * The max height of the output image.\n * @type {number}\n */\n maxHeight: Infinity,\n /**\n * The min width of the output image.\n * @type {number}\n */\n minWidth: 0,\n /**\n * The min height of the output image.\n * @type {number}\n */\n minHeight: 0,\n /**\n * The width of the output image.\n * If not specified, the natural width of the source image will be used.\n * @type {number}\n */\n width: undefined,\n /**\n * The height of the output image.\n * If not specified, the natural height of the source image will be used.\n * @type {number}\n */\n height: undefined,\n /**\n * Sets how the size of the image should be resized to the container\n * specified by the `width` and `height` options.\n * @type {string}\n */\n resize: 'none',\n /**\n * The quality of the output image.\n * It must be a number between `0` and `1`,\n * and only available for `image/jpeg` and `image/webp` images.\n * Check out {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob canvas.toBlob}.\n * @type {number}\n */\n quality: 0.8,\n /**\n * The mime type of the output image.\n * By default, the original mime type of the source image file will be used.\n * @type {string}\n */\n mimeType: 'auto',\n /**\n * Files whose file type is included in this list,\n * and whose file size exceeds the `convertSize` value will be converted to JPEGs.\n * @type {string|Array}\n */\n convertTypes: ['image/png'],\n /**\n * PNG files over this size (5 MB by default) will be converted to JPEGs.\n * To disable this, just set the value to `Infinity`.\n * @type {number}\n */\n convertSize: 5000000,\n /**\n * The hook function to execute before draw the image into the canvas for compression.\n * @type {Function}\n * @param {CanvasRenderingContext2D} context - The 2d rendering context of the canvas.\n * @param {HTMLCanvasElement} canvas - The canvas for compression.\n * @example\n * function (context, canvas) {\n * context.fillStyle = '#fff';\n * }\n */\n beforeDraw: null,\n /**\n * The hook function to execute after drew the image into the canvas for compression.\n * @type {Function}\n * @param {CanvasRenderingContext2D} context - The 2d rendering context of the canvas.\n * @param {HTMLCanvasElement} canvas - The canvas for compression.\n * @example\n * function (context, canvas) {\n * context.filter = 'grayscale(100%)';\n * }\n */\n drew: null,\n /**\n * The hook function to execute when success to compress the image.\n * @type {Function}\n * @param {File} file - The compressed image File object.\n * @example\n * function (file) {\n * console.log(file);\n * }\n */\n success: null,\n /**\n * The hook function to execute when fail to compress the image.\n * @type {Function}\n * @param {Error} err - An Error object.\n * @example\n * function (err) {\n * console.log(err.message);\n * }\n */\n error: null\n };\n\n var IS_BROWSER = typeof window !== 'undefined' && typeof window.document !== 'undefined';\n var WINDOW = IS_BROWSER ? window : {};\n\n /**\n * Check if the given value is a positive number.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a positive number, else `false`.\n */\n var isPositiveNumber = function isPositiveNumber(value) {\n return value > 0 && value < Infinity;\n };\n var slice = Array.prototype.slice;\n\n /**\n * Convert array-like or iterable object to an array.\n * @param {*} value - The value to convert.\n * @returns {Array} Returns a new array.\n */\n function toArray(value) {\n return Array.from ? Array.from(value) : slice.call(value);\n }\n var REGEXP_IMAGE_TYPE = /^image\\/.+$/;\n\n /**\n * Check if the given value is a mime type of image.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given is a mime type of image, else `false`.\n */\n function isImageType(value) {\n return REGEXP_IMAGE_TYPE.test(value);\n }\n\n /**\n * Convert image type to extension.\n * @param {string} value - The image type to convert.\n * @returns {boolean} Returns the image extension.\n */\n function imageTypeToExtension(value) {\n var extension = isImageType(value) ? value.substr(6) : '';\n if (extension === 'jpeg') {\n extension = 'jpg';\n }\n return \".\".concat(extension);\n }\n var fromCharCode = String.fromCharCode;\n\n /**\n * Get string from char code in data view.\n * @param {DataView} dataView - The data view for read.\n * @param {number} start - The start index.\n * @param {number} length - The read length.\n * @returns {string} The read result.\n */\n function getStringFromCharCode(dataView, start, length) {\n var str = '';\n var i;\n length += start;\n for (i = start; i < length; i += 1) {\n str += fromCharCode(dataView.getUint8(i));\n }\n return str;\n }\n var btoa = WINDOW.btoa;\n\n /**\n * Transform array buffer to Data URL.\n * @param {ArrayBuffer} arrayBuffer - The array buffer to transform.\n * @param {string} mimeType - The mime type of the Data URL.\n * @returns {string} The result Data URL.\n */\n function arrayBufferToDataURL(arrayBuffer, mimeType) {\n var chunks = [];\n var chunkSize = 8192;\n var uint8 = new Uint8Array(arrayBuffer);\n while (uint8.length > 0) {\n // XXX: Babel's `toConsumableArray` helper will throw error in IE or Safari 9\n // eslint-disable-next-line prefer-spread\n chunks.push(fromCharCode.apply(null, toArray(uint8.subarray(0, chunkSize))));\n uint8 = uint8.subarray(chunkSize);\n }\n return \"data:\".concat(mimeType, \";base64,\").concat(btoa(chunks.join('')));\n }\n\n /**\n * Get orientation value from given array buffer.\n * @param {ArrayBuffer} arrayBuffer - The array buffer to read.\n * @returns {number} The read orientation value.\n */\n function resetAndGetOrientation(arrayBuffer) {\n var dataView = new DataView(arrayBuffer);\n var orientation;\n\n // Ignores range error when the image does not have correct Exif information\n try {\n var littleEndian;\n var app1Start;\n var ifdStart;\n\n // Only handle JPEG image (start by 0xFFD8)\n if (dataView.getUint8(0) === 0xFF && dataView.getUint8(1) === 0xD8) {\n var length = dataView.byteLength;\n var offset = 2;\n while (offset + 1 < length) {\n if (dataView.getUint8(offset) === 0xFF && dataView.getUint8(offset + 1) === 0xE1) {\n app1Start = offset;\n break;\n }\n offset += 1;\n }\n }\n if (app1Start) {\n var exifIDCode = app1Start + 4;\n var tiffOffset = app1Start + 10;\n if (getStringFromCharCode(dataView, exifIDCode, 4) === 'Exif') {\n var endianness = dataView.getUint16(tiffOffset);\n littleEndian = endianness === 0x4949;\n if (littleEndian || endianness === 0x4D4D /* bigEndian */) {\n if (dataView.getUint16(tiffOffset + 2, littleEndian) === 0x002A) {\n var firstIFDOffset = dataView.getUint32(tiffOffset + 4, littleEndian);\n if (firstIFDOffset >= 0x00000008) {\n ifdStart = tiffOffset + firstIFDOffset;\n }\n }\n }\n }\n }\n if (ifdStart) {\n var _length = dataView.getUint16(ifdStart, littleEndian);\n var _offset;\n var i;\n for (i = 0; i < _length; i += 1) {\n _offset = ifdStart + i * 12 + 2;\n if (dataView.getUint16(_offset, littleEndian) === 0x0112 /* Orientation */) {\n // 8 is the offset of the current tag's value\n _offset += 8;\n\n // Get the original orientation value\n orientation = dataView.getUint16(_offset, littleEndian);\n\n // Override the orientation with its default value\n dataView.setUint16(_offset, 1, littleEndian);\n break;\n }\n }\n }\n } catch (e) {\n orientation = 1;\n }\n return orientation;\n }\n\n /**\n * Parse Exif Orientation value.\n * @param {number} orientation - The orientation to parse.\n * @returns {Object} The parsed result.\n */\n function parseOrientation(orientation) {\n var rotate = 0;\n var scaleX = 1;\n var scaleY = 1;\n switch (orientation) {\n // Flip horizontal\n case 2:\n scaleX = -1;\n break;\n\n // Rotate left 180°\n case 3:\n rotate = -180;\n break;\n\n // Flip vertical\n case 4:\n scaleY = -1;\n break;\n\n // Flip vertical and rotate right 90°\n case 5:\n rotate = 90;\n scaleY = -1;\n break;\n\n // Rotate right 90°\n case 6:\n rotate = 90;\n break;\n\n // Flip horizontal and rotate right 90°\n case 7:\n rotate = 90;\n scaleX = -1;\n break;\n\n // Rotate left 90°\n case 8:\n rotate = -90;\n break;\n }\n return {\n rotate: rotate,\n scaleX: scaleX,\n scaleY: scaleY\n };\n }\n var REGEXP_DECIMALS = /\\.\\d*(?:0|9){12}\\d*$/;\n\n /**\n * Normalize decimal number.\n * Check out {@link https://0.30000000000000004.com/}\n * @param {number} value - The value to normalize.\n * @param {number} [times=100000000000] - The times for normalizing.\n * @returns {number} Returns the normalized number.\n */\n function normalizeDecimalNumber(value) {\n var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100000000000;\n return REGEXP_DECIMALS.test(value) ? Math.round(value * times) / times : value;\n }\n\n /**\n * Get the max sizes in a rectangle under the given aspect ratio.\n * @param {Object} data - The original sizes.\n * @param {string} [type='contain'] - The adjust type.\n * @returns {Object} The result sizes.\n */\n function getAdjustedSizes(_ref) {\n var aspectRatio = _ref.aspectRatio,\n height = _ref.height,\n width = _ref.width;\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'none';\n var isValidWidth = isPositiveNumber(width);\n var isValidHeight = isPositiveNumber(height);\n if (isValidWidth && isValidHeight) {\n var adjustedWidth = height * aspectRatio;\n if ((type === 'contain' || type === 'none') && adjustedWidth > width || type === 'cover' && adjustedWidth < width) {\n height = width / aspectRatio;\n } else {\n width = height * aspectRatio;\n }\n } else if (isValidWidth) {\n height = width / aspectRatio;\n } else if (isValidHeight) {\n width = height * aspectRatio;\n }\n return {\n width: width,\n height: height\n };\n }\n\n /**\n * Get Exif information from the given array buffer.\n * @param {ArrayBuffer} arrayBuffer - The array buffer to read.\n * @returns {Array} The read Exif information.\n */\n function getExif(arrayBuffer) {\n var array = toArray(new Uint8Array(arrayBuffer));\n var length = array.length;\n var segments = [];\n var start = 0;\n while (start + 3 < length) {\n var value = array[start];\n var next = array[start + 1];\n\n // SOS (Start of Scan)\n if (value === 0xFF && next === 0xDA) {\n break;\n }\n\n // SOI (Start of Image)\n if (value === 0xFF && next === 0xD8) {\n start += 2;\n } else {\n var offset = array[start + 2] * 256 + array[start + 3];\n var end = start + offset + 2;\n var segment = array.slice(start, end);\n segments.push(segment);\n start = end;\n }\n }\n return segments.reduce(function (exifArray, current) {\n if (current[0] === 0xFF && current[1] === 0xE1) {\n return exifArray.concat(current);\n }\n return exifArray;\n }, []);\n }\n\n /**\n * Insert Exif information into the given array buffer.\n * @param {ArrayBuffer} arrayBuffer - The array buffer to transform.\n * @param {Array} exifArray - The Exif information to insert.\n * @returns {ArrayBuffer} The transformed array buffer.\n */\n function insertExif(arrayBuffer, exifArray) {\n var array = toArray(new Uint8Array(arrayBuffer));\n if (array[2] !== 0xFF || array[3] !== 0xE0) {\n return arrayBuffer;\n }\n var app0Length = array[4] * 256 + array[5];\n var newArrayBuffer = [0xFF, 0xD8].concat(exifArray, array.slice(4 + app0Length));\n return new Uint8Array(newArrayBuffer);\n }\n\n var ArrayBuffer$1 = WINDOW.ArrayBuffer,\n FileReader = WINDOW.FileReader;\n var URL = WINDOW.URL || WINDOW.webkitURL;\n var REGEXP_EXTENSION = /\\.\\w+$/;\n var AnotherCompressor = WINDOW.Compressor;\n\n /**\n * Creates a new image compressor.\n * @class\n */\n var Compressor = /*#__PURE__*/function () {\n /**\n * The constructor of Compressor.\n * @param {File|Blob} file - The target image file for compressing.\n * @param {Object} [options] - The options for compressing.\n */\n function Compressor(file, options) {\n _classCallCheck(this, Compressor);\n this.file = file;\n this.exif = [];\n this.image = new Image();\n this.options = _objectSpread2(_objectSpread2({}, DEFAULTS), options);\n this.aborted = false;\n this.result = null;\n this.init();\n }\n _createClass(Compressor, [{\n key: \"init\",\n value: function init() {\n var _this = this;\n var file = this.file,\n options = this.options;\n if (!isBlob(file)) {\n this.fail(new Error('The first argument must be a File or Blob object.'));\n return;\n }\n var mimeType = file.type;\n if (!isImageType(mimeType)) {\n this.fail(new Error('The first argument must be an image File or Blob object.'));\n return;\n }\n if (!URL || !FileReader) {\n this.fail(new Error('The current browser does not support image compression.'));\n return;\n }\n if (!ArrayBuffer$1) {\n options.checkOrientation = false;\n options.retainExif = false;\n }\n var isJPEGImage = mimeType === 'image/jpeg';\n var checkOrientation = isJPEGImage && options.checkOrientation;\n var retainExif = isJPEGImage && options.retainExif;\n if (URL && !checkOrientation && !retainExif) {\n this.load({\n url: URL.createObjectURL(file)\n });\n } else {\n var reader = new FileReader();\n this.reader = reader;\n reader.onload = function (_ref) {\n var target = _ref.target;\n var result = target.result;\n var data = {};\n var orientation = 1;\n if (checkOrientation) {\n // Reset the orientation value to its default value 1\n // as some iOS browsers will render image with its orientation\n orientation = resetAndGetOrientation(result);\n if (orientation > 1) {\n _extends(data, parseOrientation(orientation));\n }\n }\n if (retainExif) {\n _this.exif = getExif(result);\n }\n if (checkOrientation || retainExif) {\n if (!URL\n\n // Generate a new URL with the default orientation value 1.\n || orientation > 1) {\n data.url = arrayBufferToDataURL(result, mimeType);\n } else {\n data.url = URL.createObjectURL(file);\n }\n } else {\n data.url = result;\n }\n _this.load(data);\n };\n reader.onabort = function () {\n _this.fail(new Error('Aborted to read the image with FileReader.'));\n };\n reader.onerror = function () {\n _this.fail(new Error('Failed to read the image with FileReader.'));\n };\n reader.onloadend = function () {\n _this.reader = null;\n };\n if (checkOrientation || retainExif) {\n reader.readAsArrayBuffer(file);\n } else {\n reader.readAsDataURL(file);\n }\n }\n }\n }, {\n key: \"load\",\n value: function load(data) {\n var _this2 = this;\n var file = this.file,\n image = this.image;\n image.onload = function () {\n _this2.draw(_objectSpread2(_objectSpread2({}, data), {}, {\n naturalWidth: image.naturalWidth,\n naturalHeight: image.naturalHeight\n }));\n };\n image.onabort = function () {\n _this2.fail(new Error('Aborted to load the image.'));\n };\n image.onerror = function () {\n _this2.fail(new Error('Failed to load the image.'));\n };\n\n // Match all browsers that use WebKit as the layout engine in iOS devices,\n // such as Safari for iOS, Chrome for iOS, and in-app browsers.\n if (WINDOW.navigator && /(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(WINDOW.navigator.userAgent)) {\n // Fix the `The operation is insecure` error (#57)\n image.crossOrigin = 'anonymous';\n }\n image.alt = file.name;\n image.src = data.url;\n }\n }, {\n key: \"draw\",\n value: function draw(_ref2) {\n var _this3 = this;\n var naturalWidth = _ref2.naturalWidth,\n naturalHeight = _ref2.naturalHeight,\n _ref2$rotate = _ref2.rotate,\n rotate = _ref2$rotate === void 0 ? 0 : _ref2$rotate,\n _ref2$scaleX = _ref2.scaleX,\n scaleX = _ref2$scaleX === void 0 ? 1 : _ref2$scaleX,\n _ref2$scaleY = _ref2.scaleY,\n scaleY = _ref2$scaleY === void 0 ? 1 : _ref2$scaleY;\n var file = this.file,\n image = this.image,\n options = this.options;\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n var is90DegreesRotated = Math.abs(rotate) % 180 === 90;\n var resizable = (options.resize === 'contain' || options.resize === 'cover') && isPositiveNumber(options.width) && isPositiveNumber(options.height);\n var maxWidth = Math.max(options.maxWidth, 0) || Infinity;\n var maxHeight = Math.max(options.maxHeight, 0) || Infinity;\n var minWidth = Math.max(options.minWidth, 0) || 0;\n var minHeight = Math.max(options.minHeight, 0) || 0;\n var aspectRatio = naturalWidth / naturalHeight;\n var width = options.width,\n height = options.height;\n if (is90DegreesRotated) {\n var _ref3 = [maxHeight, maxWidth];\n maxWidth = _ref3[0];\n maxHeight = _ref3[1];\n var _ref4 = [minHeight, minWidth];\n minWidth = _ref4[0];\n minHeight = _ref4[1];\n var _ref5 = [height, width];\n width = _ref5[0];\n height = _ref5[1];\n }\n if (resizable) {\n aspectRatio = width / height;\n }\n var _getAdjustedSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: maxWidth,\n height: maxHeight\n }, 'contain');\n maxWidth = _getAdjustedSizes.width;\n maxHeight = _getAdjustedSizes.height;\n var _getAdjustedSizes2 = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: minWidth,\n height: minHeight\n }, 'cover');\n minWidth = _getAdjustedSizes2.width;\n minHeight = _getAdjustedSizes2.height;\n if (resizable) {\n var _getAdjustedSizes3 = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: width,\n height: height\n }, options.resize);\n width = _getAdjustedSizes3.width;\n height = _getAdjustedSizes3.height;\n } else {\n var _getAdjustedSizes4 = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: width,\n height: height\n });\n var _getAdjustedSizes4$wi = _getAdjustedSizes4.width;\n width = _getAdjustedSizes4$wi === void 0 ? naturalWidth : _getAdjustedSizes4$wi;\n var _getAdjustedSizes4$he = _getAdjustedSizes4.height;\n height = _getAdjustedSizes4$he === void 0 ? naturalHeight : _getAdjustedSizes4$he;\n }\n width = Math.floor(normalizeDecimalNumber(Math.min(Math.max(width, minWidth), maxWidth)));\n height = Math.floor(normalizeDecimalNumber(Math.min(Math.max(height, minHeight), maxHeight)));\n var destX = -width / 2;\n var destY = -height / 2;\n var destWidth = width;\n var destHeight = height;\n var params = [];\n if (resizable) {\n var srcX = 0;\n var srcY = 0;\n var srcWidth = naturalWidth;\n var srcHeight = naturalHeight;\n var _getAdjustedSizes5 = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: naturalWidth,\n height: naturalHeight\n }, {\n contain: 'cover',\n cover: 'contain'\n }[options.resize]);\n srcWidth = _getAdjustedSizes5.width;\n srcHeight = _getAdjustedSizes5.height;\n srcX = (naturalWidth - srcWidth) / 2;\n srcY = (naturalHeight - srcHeight) / 2;\n params.push(srcX, srcY, srcWidth, srcHeight);\n }\n params.push(destX, destY, destWidth, destHeight);\n if (is90DegreesRotated) {\n var _ref6 = [height, width];\n width = _ref6[0];\n height = _ref6[1];\n }\n canvas.width = width;\n canvas.height = height;\n if (!isImageType(options.mimeType)) {\n options.mimeType = file.type;\n }\n var fillStyle = 'transparent';\n\n // Converts PNG files over the `convertSize` to JPEGs.\n if (file.size > options.convertSize && options.convertTypes.indexOf(options.mimeType) >= 0) {\n options.mimeType = 'image/jpeg';\n }\n var isJPEGImage = options.mimeType === 'image/jpeg';\n if (isJPEGImage) {\n fillStyle = '#fff';\n }\n\n // Override the default fill color (#000, black)\n context.fillStyle = fillStyle;\n context.fillRect(0, 0, width, height);\n if (options.beforeDraw) {\n options.beforeDraw.call(this, context, canvas);\n }\n if (this.aborted) {\n return;\n }\n context.save();\n context.translate(width / 2, height / 2);\n context.rotate(rotate * Math.PI / 180);\n context.scale(scaleX, scaleY);\n context.drawImage.apply(context, [image].concat(params));\n context.restore();\n if (options.drew) {\n options.drew.call(this, context, canvas);\n }\n if (this.aborted) {\n return;\n }\n var callback = function callback(blob) {\n if (!_this3.aborted) {\n var done = function done(result) {\n return _this3.done({\n naturalWidth: naturalWidth,\n naturalHeight: naturalHeight,\n result: result\n });\n };\n if (blob && isJPEGImage && options.retainExif && _this3.exif && _this3.exif.length > 0) {\n var next = function next(arrayBuffer) {\n return done(toBlob(arrayBufferToDataURL(insertExif(arrayBuffer, _this3.exif), options.mimeType)));\n };\n if (blob.arrayBuffer) {\n blob.arrayBuffer().then(next).catch(function () {\n _this3.fail(new Error('Failed to read the compressed image with Blob.arrayBuffer().'));\n });\n } else {\n var reader = new FileReader();\n _this3.reader = reader;\n reader.onload = function (_ref7) {\n var target = _ref7.target;\n next(target.result);\n };\n reader.onabort = function () {\n _this3.fail(new Error('Aborted to read the compressed image with FileReader.'));\n };\n reader.onerror = function () {\n _this3.fail(new Error('Failed to read the compressed image with FileReader.'));\n };\n reader.onloadend = function () {\n _this3.reader = null;\n };\n reader.readAsArrayBuffer(blob);\n }\n } else {\n done(blob);\n }\n }\n };\n if (canvas.toBlob) {\n canvas.toBlob(callback, options.mimeType, options.quality);\n } else {\n callback(toBlob(canvas.toDataURL(options.mimeType, options.quality)));\n }\n }\n }, {\n key: \"done\",\n value: function done(_ref8) {\n var naturalWidth = _ref8.naturalWidth,\n naturalHeight = _ref8.naturalHeight,\n result = _ref8.result;\n var file = this.file,\n image = this.image,\n options = this.options;\n if (URL && image.src.indexOf('blob:') === 0) {\n URL.revokeObjectURL(image.src);\n }\n if (result) {\n // Returns original file if the result is greater than it and without size related options\n if (options.strict && !options.retainExif && result.size > file.size && options.mimeType === file.type && !(options.width > naturalWidth || options.height > naturalHeight || options.minWidth > naturalWidth || options.minHeight > naturalHeight || options.maxWidth < naturalWidth || options.maxHeight < naturalHeight)) {\n result = file;\n } else {\n var date = new Date();\n result.lastModified = date.getTime();\n result.lastModifiedDate = date;\n result.name = file.name;\n\n // Convert the extension to match its type\n if (result.name && result.type !== file.type) {\n result.name = result.name.replace(REGEXP_EXTENSION, imageTypeToExtension(result.type));\n }\n }\n } else {\n // Returns original file if the result is null in some cases.\n result = file;\n }\n this.result = result;\n if (options.success) {\n options.success.call(this, result);\n }\n }\n }, {\n key: \"fail\",\n value: function fail(err) {\n var options = this.options;\n if (options.error) {\n options.error.call(this, err);\n } else {\n throw err;\n }\n }\n }, {\n key: \"abort\",\n value: function abort() {\n if (!this.aborted) {\n this.aborted = true;\n if (this.reader) {\n this.reader.abort();\n } else if (!this.image.complete) {\n this.image.onload = null;\n this.image.onabort();\n } else {\n this.fail(new Error('The compression process has been aborted.'));\n }\n }\n }\n\n /**\n * Get the no conflict compressor class.\n * @returns {Compressor} The compressor class.\n */\n }], [{\n key: \"noConflict\",\n value: function noConflict() {\n window.Compressor = AnotherCompressor;\n return Compressor;\n }\n\n /**\n * Change the default options.\n * @param {Object} options - The new default options.\n */\n }, {\n key: \"setDefaults\",\n value: function setDefaults(options) {\n _extends(DEFAULTS, options);\n }\n }]);\n return Compressor;\n }();\n\n return Compressor;\n\n}));\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.monthSelectPlugin = factory());\n}(this, (function () { 'use strict';\n\n /*! *****************************************************************************\r\n Copyright (c) Microsoft Corporation.\r\n\r\n Permission to use, copy, modify, and/or distribute this software for any\r\n purpose with or without fee is hereby granted.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\n AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\n LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\n OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\n PERFORMANCE OF THIS SOFTWARE.\r\n ***************************************************************************** */\r\n\r\n var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n };\n\n var monthToStr = function (monthNumber, shorthand, locale) { return locale.months[shorthand ? \"shorthand\" : \"longhand\"][monthNumber]; };\n\n function clearNode(node) {\n while (node.firstChild)\n node.removeChild(node.firstChild);\n }\n function getEventTarget(event) {\n try {\n if (typeof event.composedPath === \"function\") {\n var path = event.composedPath();\n return path[0];\n }\n return event.target;\n }\n catch (error) {\n return event.target;\n }\n }\n\n var defaultConfig = {\n shorthand: false,\n dateFormat: \"F Y\",\n altFormat: \"F Y\",\n theme: \"light\",\n };\n function monthSelectPlugin(pluginConfig) {\n var config = __assign(__assign({}, defaultConfig), pluginConfig);\n return function (fp) {\n fp.config.dateFormat = config.dateFormat;\n fp.config.altFormat = config.altFormat;\n var self = { monthsContainer: null };\n function clearUnnecessaryDOMElements() {\n if (!fp.rContainer)\n return;\n clearNode(fp.rContainer);\n for (var index = 0; index < fp.monthElements.length; index++) {\n var element = fp.monthElements[index];\n if (!element.parentNode)\n continue;\n element.parentNode.removeChild(element);\n }\n }\n function build() {\n if (!fp.rContainer)\n return;\n self.monthsContainer = fp._createElement(\"div\", \"flatpickr-monthSelect-months\");\n self.monthsContainer.tabIndex = -1;\n buildMonths();\n fp.rContainer.appendChild(self.monthsContainer);\n fp.calendarContainer.classList.add(\"flatpickr-monthSelect-theme-\" + config.theme);\n }\n function buildMonths() {\n if (!self.monthsContainer)\n return;\n clearNode(self.monthsContainer);\n var frag = document.createDocumentFragment();\n for (var i = 0; i < 12; i++) {\n var month = fp.createDay(\"flatpickr-monthSelect-month\", new Date(fp.currentYear, i), 0, i);\n if (month.dateObj.getMonth() === new Date().getMonth() &&\n month.dateObj.getFullYear() === new Date().getFullYear())\n month.classList.add(\"today\");\n month.textContent = monthToStr(i, config.shorthand, fp.l10n);\n month.addEventListener(\"click\", selectMonth);\n frag.appendChild(month);\n }\n self.monthsContainer.appendChild(frag);\n if (fp.config.minDate &&\n fp.currentYear === fp.config.minDate.getFullYear())\n fp.prevMonthNav.classList.add(\"flatpickr-disabled\");\n else\n fp.prevMonthNav.classList.remove(\"flatpickr-disabled\");\n if (fp.config.maxDate &&\n fp.currentYear === fp.config.maxDate.getFullYear())\n fp.nextMonthNav.classList.add(\"flatpickr-disabled\");\n else\n fp.nextMonthNav.classList.remove(\"flatpickr-disabled\");\n }\n function bindEvents() {\n fp._bind(fp.prevMonthNav, \"click\", function (e) {\n e.preventDefault();\n e.stopPropagation();\n fp.changeYear(fp.currentYear - 1);\n selectYear();\n buildMonths();\n });\n fp._bind(fp.nextMonthNav, \"click\", function (e) {\n e.preventDefault();\n e.stopPropagation();\n fp.changeYear(fp.currentYear + 1);\n selectYear();\n buildMonths();\n });\n fp._bind(self.monthsContainer, \"mouseover\", function (e) {\n if (fp.config.mode === \"range\")\n fp.onMouseOver(getEventTarget(e), \"flatpickr-monthSelect-month\");\n });\n }\n function setCurrentlySelected() {\n if (!fp.rContainer)\n return;\n if (!fp.selectedDates.length)\n return;\n var currentlySelected = fp.rContainer.querySelectorAll(\".flatpickr-monthSelect-month.selected\");\n for (var index = 0; index < currentlySelected.length; index++) {\n currentlySelected[index].classList.remove(\"selected\");\n }\n var targetMonth = fp.selectedDates[0].getMonth();\n var month = fp.rContainer.querySelector(\".flatpickr-monthSelect-month:nth-child(\" + (targetMonth + 1) + \")\");\n if (month) {\n month.classList.add(\"selected\");\n }\n }\n function selectYear() {\n var selectedDate = fp.selectedDates[0];\n if (selectedDate) {\n selectedDate = new Date(selectedDate);\n selectedDate.setFullYear(fp.currentYear);\n if (fp.config.minDate && selectedDate < fp.config.minDate) {\n selectedDate = fp.config.minDate;\n }\n if (fp.config.maxDate && selectedDate > fp.config.maxDate) {\n selectedDate = fp.config.maxDate;\n }\n fp.currentYear = selectedDate.getFullYear();\n }\n fp.currentYearElement.value = String(fp.currentYear);\n if (fp.rContainer) {\n var months = fp.rContainer.querySelectorAll(\".flatpickr-monthSelect-month\");\n months.forEach(function (month) {\n month.dateObj.setFullYear(fp.currentYear);\n if ((fp.config.minDate && month.dateObj < fp.config.minDate) ||\n (fp.config.maxDate && month.dateObj > fp.config.maxDate)) {\n month.classList.add(\"flatpickr-disabled\");\n }\n else {\n month.classList.remove(\"flatpickr-disabled\");\n }\n });\n }\n setCurrentlySelected();\n }\n function selectMonth(e) {\n e.preventDefault();\n e.stopPropagation();\n var eventTarget = getEventTarget(e);\n if (!(eventTarget instanceof Element))\n return;\n if (eventTarget.classList.contains(\"flatpickr-disabled\"))\n return;\n if (eventTarget.classList.contains(\"notAllowed\"))\n return; // necessary??\n setMonth(eventTarget.dateObj);\n if (fp.config.closeOnSelect) {\n var single = fp.config.mode === \"single\";\n var range = fp.config.mode === \"range\" && fp.selectedDates.length === 2;\n if (single || range)\n fp.close();\n }\n }\n function setMonth(date) {\n var selectedDate = new Date(fp.currentYear, date.getMonth(), date.getDate());\n var selectedDates = [];\n switch (fp.config.mode) {\n case \"single\":\n selectedDates = [selectedDate];\n break;\n case \"multiple\":\n selectedDates.push(selectedDate);\n break;\n case \"range\":\n if (fp.selectedDates.length === 2) {\n selectedDates = [selectedDate];\n }\n else {\n selectedDates = fp.selectedDates.concat([selectedDate]);\n selectedDates.sort(function (a, b) { return a.getTime() - b.getTime(); });\n }\n break;\n }\n fp.setDate(selectedDates, true);\n setCurrentlySelected();\n }\n var shifts = {\n 37: -1,\n 39: 1,\n 40: 3,\n 38: -3,\n };\n function onKeyDown(_, __, ___, e) {\n var shouldMove = shifts[e.keyCode] !== undefined;\n if (!shouldMove && e.keyCode !== 13) {\n return;\n }\n if (!fp.rContainer || !self.monthsContainer)\n return;\n var currentlySelected = fp.rContainer.querySelector(\".flatpickr-monthSelect-month.selected\");\n var index = Array.prototype.indexOf.call(self.monthsContainer.children, document.activeElement);\n if (index === -1) {\n var target = currentlySelected || self.monthsContainer.firstElementChild;\n target.focus();\n index = target.$i;\n }\n if (shouldMove) {\n self.monthsContainer.children[(12 + index + shifts[e.keyCode]) % 12].focus();\n }\n else if (e.keyCode === 13 &&\n self.monthsContainer.contains(document.activeElement)) {\n setMonth(document.activeElement.dateObj);\n }\n }\n function closeHook() {\n var _a;\n if (((_a = fp.config) === null || _a === void 0 ? void 0 : _a.mode) === \"range\" && fp.selectedDates.length === 1)\n fp.clear(false);\n if (!fp.selectedDates.length)\n buildMonths();\n }\n // Help the prev/next year nav honor config.minDate (see 3fa5a69)\n function stubCurrentMonth() {\n config._stubbedCurrentMonth = fp._initialDate.getMonth();\n fp._initialDate.setMonth(config._stubbedCurrentMonth);\n fp.currentMonth = config._stubbedCurrentMonth;\n }\n function unstubCurrentMonth() {\n if (!config._stubbedCurrentMonth)\n return;\n fp._initialDate.setMonth(config._stubbedCurrentMonth);\n fp.currentMonth = config._stubbedCurrentMonth;\n delete config._stubbedCurrentMonth;\n }\n function destroyPluginInstance() {\n if (self.monthsContainer !== null) {\n var months = self.monthsContainer.querySelectorAll(\".flatpickr-monthSelect-month\");\n for (var index = 0; index < months.length; index++) {\n months[index].removeEventListener(\"click\", selectMonth);\n }\n }\n }\n return {\n onParseConfig: function () {\n fp.config.enableTime = false;\n },\n onValueUpdate: setCurrentlySelected,\n onKeyDown: onKeyDown,\n onReady: [\n stubCurrentMonth,\n clearUnnecessaryDOMElements,\n build,\n bindEvents,\n setCurrentlySelected,\n function () {\n fp.config.onClose.push(closeHook);\n fp.loadedPlugins.push(\"monthSelect\");\n },\n ],\n onDestroy: [\n unstubCurrentMonth,\n destroyPluginInstance,\n function () {\n fp.config.onClose = fp.config.onClose.filter(function (hook) { return hook !== closeHook; });\n },\n ],\n };\n };\n }\n\n return monthSelectPlugin;\n\n})));\n","var wildcard = require('wildcard');\nvar reMimePartSplit = /[\\/\\+\\.]/;\n\n/**\n # mime-match\n\n A simple function to checker whether a target mime type matches a mime-type\n pattern (e.g. image/jpeg matches image/jpeg OR image/*).\n\n ## Example Usage\n\n <<< example.js\n\n**/\nmodule.exports = function(target, pattern) {\n function test(pattern) {\n var result = wildcard(pattern, target, reMimePartSplit);\n\n // ensure that we have a valid mime type (should have two parts)\n return result && result.length >= 2;\n }\n\n return pattern ? test(pattern.split(';')[0]) : test;\n};\n","/* jshint node: true */\n'use strict';\n\n/**\n # wildcard\n\n Very simple wildcard matching, which is designed to provide the same\n functionality that is found in the\n [eve](https://github.com/adobe-webplatform/eve) eventing library.\n\n ## Usage\n\n It works with strings:\n\n <<< examples/strings.js\n\n Arrays:\n\n <<< examples/arrays.js\n\n Objects (matching against keys):\n\n <<< examples/objects.js\n\n While the library works in Node, if you are are looking for file-based\n wildcard matching then you should have a look at:\n\n \n**/\n\nfunction WildcardMatcher(text, separator) {\n this.text = text = text || '';\n this.hasWild = ~text.indexOf('*');\n this.separator = separator;\n this.parts = text.split(separator);\n}\n\nWildcardMatcher.prototype.match = function(input) {\n var matches = true;\n var parts = this.parts;\n var ii;\n var partsCount = parts.length;\n var testParts;\n\n if (typeof input == 'string' || input instanceof String) {\n if (!this.hasWild && this.text != input) {\n matches = false;\n } else {\n testParts = (input || '').split(this.separator);\n for (ii = 0; matches && ii < partsCount; ii++) {\n if (parts[ii] === '*') {\n continue;\n } else if (ii < testParts.length) {\n matches = parts[ii] === testParts[ii];\n } else {\n matches = false;\n }\n }\n\n // If matches, then return the component parts\n matches = matches && testParts;\n }\n }\n else if (typeof input.splice == 'function') {\n matches = [];\n\n for (ii = input.length; ii--; ) {\n if (this.match(input[ii])) {\n matches[matches.length] = input[ii];\n }\n }\n }\n else if (typeof input == 'object') {\n matches = {};\n\n for (var key in input) {\n if (this.match(key)) {\n matches[key] = input[key];\n }\n }\n }\n\n return matches;\n};\n\nmodule.exports = function(text, test, separator) {\n var matcher = new WildcardMatcher(text, separator || /[\\/\\.]/);\n if (typeof test != 'undefined') {\n return matcher.match(test);\n }\n\n return matcher;\n};\n","/**\n* Create an event emitter with namespaces\n* @name createNamespaceEmitter\n* @example\n* var emitter = require('./index')()\n*\n* emitter.on('*', function () {\n* console.log('all events emitted', this.event)\n* })\n*\n* emitter.on('example', function () {\n* console.log('example event emitted')\n* })\n*/\nmodule.exports = function createNamespaceEmitter () {\n var emitter = {}\n var _fns = emitter._fns = {}\n\n /**\n * Emit an event. Optionally namespace the event. Handlers are fired in the order in which they were added with exact matches taking precedence. Separate the namespace and event with a `:`\n * @name emit\n * @param {String} event – the name of the event, with optional namespace\n * @param {...*} data – up to 6 arguments that are passed to the event listener\n * @example\n * emitter.emit('example')\n * emitter.emit('demo:test')\n * emitter.emit('data', { example: true}, 'a string', 1)\n */\n emitter.emit = function emit (event, arg1, arg2, arg3, arg4, arg5, arg6) {\n var toEmit = getListeners(event)\n\n if (toEmit.length) {\n emitAll(event, toEmit, [arg1, arg2, arg3, arg4, arg5, arg6])\n }\n }\n\n /**\n * Create en event listener.\n * @name on\n * @param {String} event\n * @param {Function} fn\n * @example\n * emitter.on('example', function () {})\n * emitter.on('demo', function () {})\n */\n emitter.on = function on (event, fn) {\n if (!_fns[event]) {\n _fns[event] = []\n }\n\n _fns[event].push(fn)\n }\n\n /**\n * Create en event listener that fires once.\n * @name once\n * @param {String} event\n * @param {Function} fn\n * @example\n * emitter.once('example', function () {})\n * emitter.once('demo', function () {})\n */\n emitter.once = function once (event, fn) {\n function one () {\n fn.apply(this, arguments)\n emitter.off(event, one)\n }\n this.on(event, one)\n }\n\n /**\n * Stop listening to an event. Stop all listeners on an event by only passing the event name. Stop a single listener by passing that event handler as a callback.\n * You must be explicit about what will be unsubscribed: `emitter.off('demo')` will unsubscribe an `emitter.on('demo')` listener,\n * `emitter.off('demo:example')` will unsubscribe an `emitter.on('demo:example')` listener\n * @name off\n * @param {String} event\n * @param {Function} [fn] – the specific handler\n * @example\n * emitter.off('example')\n * emitter.off('demo', function () {})\n */\n emitter.off = function off (event, fn) {\n var keep = []\n\n if (event && fn) {\n var fns = this._fns[event]\n var i = 0\n var l = fns ? fns.length : 0\n\n for (i; i < l; i++) {\n if (fns[i] !== fn) {\n keep.push(fns[i])\n }\n }\n }\n\n keep.length ? this._fns[event] = keep : delete this._fns[event]\n }\n\n function getListeners (e) {\n var out = _fns[e] ? _fns[e] : []\n var idx = e.indexOf(':')\n var args = (idx === -1) ? [e] : [e.substring(0, idx), e.substring(idx + 1)]\n\n var keys = Object.keys(_fns)\n var i = 0\n var l = keys.length\n\n for (i; i < l; i++) {\n var key = keys[i]\n if (key === '*') {\n out = out.concat(_fns[key])\n }\n\n if (args.length === 2 && args[0] === key) {\n out = out.concat(_fns[key])\n break\n }\n }\n\n return out\n }\n\n function emitAll (e, fns, args) {\n var i = 0\n var l = fns.length\n\n for (i; i < l; i++) {\n if (!fns[i]) break\n fns[i].event = e\n fns[i].apply(fns[i], args)\n }\n }\n\n return emitter\n}\n","'use client';\nimport * as React from 'react';\nimport { IconBase } from 'primereact/iconbase';\n\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nvar AngleRightIcon = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (inProps, ref) {\n var pti = IconBase.getPTI(inProps);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, pti), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.25 11.1728C5.14929 11.1694 5.05033 11.1455 4.9592 11.1025C4.86806 11.0595 4.78666 10.9984 4.72 10.9228C4.57955 10.7822 4.50066 10.5916 4.50066 10.3928C4.50066 10.1941 4.57955 10.0035 4.72 9.86283L7.72 6.86283L4.72 3.86283C4.66067 3.71882 4.64765 3.55991 4.68275 3.40816C4.71785 3.25642 4.79932 3.11936 4.91585 3.01602C5.03238 2.91268 5.17819 2.84819 5.33305 2.83149C5.4879 2.81479 5.64411 2.84671 5.78 2.92283L9.28 6.42283C9.42045 6.56346 9.49934 6.75408 9.49934 6.95283C9.49934 7.15158 9.42045 7.34221 9.28 7.48283L5.78 10.9228C5.71333 10.9984 5.63193 11.0595 5.5408 11.1025C5.44966 11.1455 5.35071 11.1694 5.25 11.1728Z\",\n fill: \"currentColor\"\n }));\n}));\nAngleRightIcon.displayName = 'AngleRightIcon';\n\nexport { AngleRightIcon };\n","'use client';\nimport * as React from 'react';\nimport { IconBase } from 'primereact/iconbase';\n\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nvar ExclamationTriangleIcon = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (inProps, ref) {\n var pti = IconBase.getPTI(inProps);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, pti), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.4018 13.1893H0.598161C0.49329 13.189 0.390283 13.1615 0.299143 13.1097C0.208003 13.0578 0.131826 12.9832 0.0780112 12.8932C0.0268539 12.8015 0 12.6982 0 12.5931C0 12.4881 0.0268539 12.3848 0.0780112 12.293L6.47985 1.08982C6.53679 1.00399 6.61408 0.933574 6.70484 0.884867C6.7956 0.836159 6.897 0.810669 7 0.810669C7.103 0.810669 7.2044 0.836159 7.29516 0.884867C7.38592 0.933574 7.46321 1.00399 7.52015 1.08982L13.922 12.293C13.9731 12.3848 14 12.4881 14 12.5931C14 12.6982 13.9731 12.8015 13.922 12.8932C13.8682 12.9832 13.792 13.0578 13.7009 13.1097C13.6097 13.1615 13.5067 13.189 13.4018 13.1893ZM1.63046 11.989H12.3695L7 2.59425L1.63046 11.989Z\",\n fill: \"currentColor\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.99996 8.78801C6.84143 8.78594 6.68997 8.72204 6.57787 8.60993C6.46576 8.49782 6.40186 8.34637 6.39979 8.18784V5.38703C6.39979 5.22786 6.46302 5.0752 6.57557 4.96265C6.68813 4.85009 6.84078 4.78686 6.99996 4.78686C7.15914 4.78686 7.31179 4.85009 7.42435 4.96265C7.5369 5.0752 7.60013 5.22786 7.60013 5.38703V8.18784C7.59806 8.34637 7.53416 8.49782 7.42205 8.60993C7.30995 8.72204 7.15849 8.78594 6.99996 8.78801Z\",\n fill: \"currentColor\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.99996 11.1887C6.84143 11.1866 6.68997 11.1227 6.57787 11.0106C6.46576 10.8985 6.40186 10.7471 6.39979 10.5885V10.1884C6.39979 10.0292 6.46302 9.87658 6.57557 9.76403C6.68813 9.65147 6.84078 9.58824 6.99996 9.58824C7.15914 9.58824 7.31179 9.65147 7.42435 9.76403C7.5369 9.87658 7.60013 10.0292 7.60013 10.1884V10.5885C7.59806 10.7471 7.53416 10.8985 7.42205 11.0106C7.30995 11.1227 7.15849 11.1866 6.99996 11.1887Z\",\n fill: \"currentColor\"\n }));\n}));\nExclamationTriangleIcon.displayName = 'ExclamationTriangleIcon';\n\nexport { ExclamationTriangleIcon };\n","'use client';\nimport * as React from 'react';\nimport { IconBase } from 'primereact/iconbase';\n\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nvar InfoCircleIcon = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (inProps, ref) {\n var pti = IconBase.getPTI(inProps);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, pti), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M3.11101 12.8203C4.26215 13.5895 5.61553 14 7 14C8.85652 14 10.637 13.2625 11.9497 11.9497C13.2625 10.637 14 8.85652 14 7C14 5.61553 13.5895 4.26215 12.8203 3.11101C12.0511 1.95987 10.9579 1.06266 9.67879 0.532846C8.3997 0.00303296 6.99224 -0.13559 5.63437 0.134506C4.2765 0.404603 3.02922 1.07129 2.05026 2.05026C1.07129 3.02922 0.404603 4.2765 0.134506 5.63437C-0.13559 6.99224 0.00303296 8.3997 0.532846 9.67879C1.06266 10.9579 1.95987 12.0511 3.11101 12.8203ZM3.75918 2.14976C4.71846 1.50879 5.84628 1.16667 7 1.16667C8.5471 1.16667 10.0308 1.78125 11.1248 2.87521C12.2188 3.96918 12.8333 5.45291 12.8333 7C12.8333 8.15373 12.4912 9.28154 11.8502 10.2408C11.2093 11.2001 10.2982 11.9478 9.23232 12.3893C8.16642 12.8308 6.99353 12.9463 5.86198 12.7212C4.73042 12.4962 3.69102 11.9406 2.87521 11.1248C2.05941 10.309 1.50384 9.26958 1.27876 8.13803C1.05367 7.00647 1.16919 5.83358 1.61071 4.76768C2.05222 3.70178 2.79989 2.79074 3.75918 2.14976ZM7.00002 4.8611C6.84594 4.85908 6.69873 4.79698 6.58977 4.68801C6.48081 4.57905 6.4187 4.43185 6.41669 4.27776V3.88888C6.41669 3.73417 6.47815 3.58579 6.58754 3.4764C6.69694 3.367 6.84531 3.30554 7.00002 3.30554C7.15473 3.30554 7.3031 3.367 7.4125 3.4764C7.52189 3.58579 7.58335 3.73417 7.58335 3.88888V4.27776C7.58134 4.43185 7.51923 4.57905 7.41027 4.68801C7.30131 4.79698 7.1541 4.85908 7.00002 4.8611ZM7.00002 10.6945C6.84594 10.6925 6.69873 10.6304 6.58977 10.5214C6.48081 10.4124 6.4187 10.2652 6.41669 10.1111V6.22225C6.41669 6.06754 6.47815 5.91917 6.58754 5.80977C6.69694 5.70037 6.84531 5.63892 7.00002 5.63892C7.15473 5.63892 7.3031 5.70037 7.4125 5.80977C7.52189 5.91917 7.58335 6.06754 7.58335 6.22225V10.1111C7.58134 10.2652 7.51923 10.4124 7.41027 10.5214C7.30131 10.6304 7.1541 10.6925 7.00002 10.6945Z\",\n fill: \"currentColor\"\n }));\n}));\nInfoCircleIcon.displayName = 'InfoCircleIcon';\n\nexport { InfoCircleIcon };\n","'use client';\nimport * as React from 'react';\nimport { IconBase } from 'primereact/iconbase';\n\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nvar SearchIcon = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (inProps, ref) {\n var pti = IconBase.getPTI(inProps);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, pti), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2.67602 11.0265C3.6661 11.688 4.83011 12.0411 6.02086 12.0411C6.81149 12.0411 7.59438 11.8854 8.32483 11.5828C8.87005 11.357 9.37808 11.0526 9.83317 10.6803L12.9769 13.8241C13.0323 13.8801 13.0983 13.9245 13.171 13.9548C13.2438 13.985 13.3219 14.0003 13.4007 14C13.4795 14.0003 13.5575 13.985 13.6303 13.9548C13.7031 13.9245 13.7691 13.8801 13.8244 13.8241C13.9367 13.7116 13.9998 13.5592 13.9998 13.4003C13.9998 13.2414 13.9367 13.089 13.8244 12.9765L10.6807 9.8328C11.053 9.37773 11.3573 8.86972 11.5831 8.32452C11.8857 7.59408 12.0414 6.81119 12.0414 6.02056C12.0414 4.8298 11.6883 3.66579 11.0268 2.67572C10.3652 1.68564 9.42494 0.913972 8.32483 0.45829C7.22472 0.00260857 6.01418 -0.116618 4.84631 0.115686C3.67844 0.34799 2.60568 0.921393 1.76369 1.76338C0.921698 2.60537 0.348296 3.67813 0.115991 4.84601C-0.116313 6.01388 0.00291375 7.22441 0.458595 8.32452C0.914277 9.42464 1.68595 10.3649 2.67602 11.0265ZM3.35565 2.0158C4.14456 1.48867 5.07206 1.20731 6.02086 1.20731C7.29317 1.20731 8.51338 1.71274 9.41304 2.6124C10.3127 3.51206 10.8181 4.73226 10.8181 6.00457C10.8181 6.95337 10.5368 7.88088 10.0096 8.66978C9.48251 9.45868 8.73328 10.0736 7.85669 10.4367C6.98011 10.7997 6.01554 10.8947 5.08496 10.7096C4.15439 10.5245 3.2996 10.0676 2.62869 9.39674C1.95778 8.72583 1.50089 7.87104 1.31579 6.94046C1.13068 6.00989 1.22568 5.04532 1.58878 4.16874C1.95187 3.29215 2.56675 2.54292 3.35565 2.0158Z\",\n fill: \"currentColor\"\n }));\n}));\nSearchIcon.displayName = 'SearchIcon';\n\nexport { SearchIcon };\n","'use client';\nimport * as React from 'react';\nimport { IconBase } from 'primereact/iconbase';\n\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nvar TimesCircleIcon = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (inProps, ref) {\n var pti = IconBase.getPTI(inProps);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, pti), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7 14C5.61553 14 4.26215 13.5895 3.11101 12.8203C1.95987 12.0511 1.06266 10.9579 0.532846 9.67879C0.00303296 8.3997 -0.13559 6.99224 0.134506 5.63437C0.404603 4.2765 1.07129 3.02922 2.05026 2.05026C3.02922 1.07129 4.2765 0.404603 5.63437 0.134506C6.99224 -0.13559 8.3997 0.00303296 9.67879 0.532846C10.9579 1.06266 12.0511 1.95987 12.8203 3.11101C13.5895 4.26215 14 5.61553 14 7C14 8.85652 13.2625 10.637 11.9497 11.9497C10.637 13.2625 8.85652 14 7 14ZM7 1.16667C5.84628 1.16667 4.71846 1.50879 3.75918 2.14976C2.79989 2.79074 2.05222 3.70178 1.61071 4.76768C1.16919 5.83358 1.05367 7.00647 1.27876 8.13803C1.50384 9.26958 2.05941 10.309 2.87521 11.1248C3.69102 11.9406 4.73042 12.4962 5.86198 12.7212C6.99353 12.9463 8.16642 12.8308 9.23232 12.3893C10.2982 11.9478 11.2093 11.2001 11.8502 10.2408C12.4912 9.28154 12.8333 8.15373 12.8333 7C12.8333 5.45291 12.2188 3.96918 11.1248 2.87521C10.0308 1.78125 8.5471 1.16667 7 1.16667ZM4.66662 9.91668C4.58998 9.91704 4.51404 9.90209 4.44325 9.87271C4.37246 9.84333 4.30826 9.8001 4.2544 9.74557C4.14516 9.6362 4.0838 9.48793 4.0838 9.33335C4.0838 9.17876 4.14516 9.0305 4.2544 8.92113L6.17553 7L4.25443 5.07891C4.15139 4.96832 4.09529 4.82207 4.09796 4.67094C4.10063 4.51982 4.16185 4.37563 4.26872 4.26876C4.3756 4.16188 4.51979 4.10066 4.67091 4.09799C4.82204 4.09532 4.96829 4.15142 5.07887 4.25446L6.99997 6.17556L8.92106 4.25446C9.03164 4.15142 9.1779 4.09532 9.32903 4.09799C9.48015 4.10066 9.62434 4.16188 9.73121 4.26876C9.83809 4.37563 9.89931 4.51982 9.90198 4.67094C9.90464 4.82207 9.84855 4.96832 9.74551 5.07891L7.82441 7L9.74554 8.92113C9.85478 9.0305 9.91614 9.17876 9.91614 9.33335C9.91614 9.48793 9.85478 9.6362 9.74554 9.74557C9.69168 9.8001 9.62748 9.84333 9.55669 9.87271C9.4859 9.90209 9.40996 9.91704 9.33332 9.91668C9.25668 9.91704 9.18073 9.90209 9.10995 9.87271C9.03916 9.84333 8.97495 9.8001 8.9211 9.74557L6.99997 7.82444L5.07884 9.74557C5.02499 9.8001 4.96078 9.84333 4.88999 9.87271C4.81921 9.90209 4.74326 9.91704 4.66662 9.91668Z\",\n fill: \"currentColor\"\n }));\n}));\nTimesCircleIcon.displayName = 'TimesCircleIcon';\n\nexport { TimesCircleIcon };\n","module.exports = require('./lib/retry');","var RetryOperation = require('./retry_operation');\n\nexports.operation = function(options) {\n var timeouts = exports.timeouts(options);\n return new RetryOperation(timeouts, {\n forever: options && (options.forever || options.retries === Infinity),\n unref: options && options.unref,\n maxRetryTime: options && options.maxRetryTime\n });\n};\n\nexports.timeouts = function(options) {\n if (options instanceof Array) {\n return [].concat(options);\n }\n\n var opts = {\n retries: 10,\n factor: 2,\n minTimeout: 1 * 1000,\n maxTimeout: Infinity,\n randomize: false\n };\n for (var key in options) {\n opts[key] = options[key];\n }\n\n if (opts.minTimeout > opts.maxTimeout) {\n throw new Error('minTimeout is greater than maxTimeout');\n }\n\n var timeouts = [];\n for (var i = 0; i < opts.retries; i++) {\n timeouts.push(this.createTimeout(i, opts));\n }\n\n if (options && options.forever && !timeouts.length) {\n timeouts.push(this.createTimeout(i, opts));\n }\n\n // sort the array numerically ascending\n timeouts.sort(function(a,b) {\n return a - b;\n });\n\n return timeouts;\n};\n\nexports.createTimeout = function(attempt, opts) {\n var random = (opts.randomize)\n ? (Math.random() + 1)\n : 1;\n\n var timeout = Math.round(random * Math.max(opts.minTimeout, 1) * Math.pow(opts.factor, attempt));\n timeout = Math.min(timeout, opts.maxTimeout);\n\n return timeout;\n};\n\nexports.wrap = function(obj, options, methods) {\n if (options instanceof Array) {\n methods = options;\n options = null;\n }\n\n if (!methods) {\n methods = [];\n for (var key in obj) {\n if (typeof obj[key] === 'function') {\n methods.push(key);\n }\n }\n }\n\n for (var i = 0; i < methods.length; i++) {\n var method = methods[i];\n var original = obj[method];\n\n obj[method] = function retryWrapper(original) {\n var op = exports.operation(options);\n var args = Array.prototype.slice.call(arguments, 1);\n var callback = args.pop();\n\n args.push(function(err) {\n if (op.retry(err)) {\n return;\n }\n if (err) {\n arguments[0] = op.mainError();\n }\n callback.apply(this, arguments);\n });\n\n op.attempt(function() {\n original.apply(obj, args);\n });\n }.bind(obj, original);\n obj[method].options = options;\n }\n};\n","function RetryOperation(timeouts, options) {\n // Compatibility for the old (timeouts, retryForever) signature\n if (typeof options === 'boolean') {\n options = { forever: options };\n }\n\n this._originalTimeouts = JSON.parse(JSON.stringify(timeouts));\n this._timeouts = timeouts;\n this._options = options || {};\n this._maxRetryTime = options && options.maxRetryTime || Infinity;\n this._fn = null;\n this._errors = [];\n this._attempts = 1;\n this._operationTimeout = null;\n this._operationTimeoutCb = null;\n this._timeout = null;\n this._operationStart = null;\n this._timer = null;\n\n if (this._options.forever) {\n this._cachedTimeouts = this._timeouts.slice(0);\n }\n}\nmodule.exports = RetryOperation;\n\nRetryOperation.prototype.reset = function() {\n this._attempts = 1;\n this._timeouts = this._originalTimeouts.slice(0);\n}\n\nRetryOperation.prototype.stop = function() {\n if (this._timeout) {\n clearTimeout(this._timeout);\n }\n if (this._timer) {\n clearTimeout(this._timer);\n }\n\n this._timeouts = [];\n this._cachedTimeouts = null;\n};\n\nRetryOperation.prototype.retry = function(err) {\n if (this._timeout) {\n clearTimeout(this._timeout);\n }\n\n if (!err) {\n return false;\n }\n var currentTime = new Date().getTime();\n if (err && currentTime - this._operationStart >= this._maxRetryTime) {\n this._errors.push(err);\n this._errors.unshift(new Error('RetryOperation timeout occurred'));\n return false;\n }\n\n this._errors.push(err);\n\n var timeout = this._timeouts.shift();\n if (timeout === undefined) {\n if (this._cachedTimeouts) {\n // retry forever, only keep last error\n this._errors.splice(0, this._errors.length - 1);\n timeout = this._cachedTimeouts.slice(-1);\n } else {\n return false;\n }\n }\n\n var self = this;\n this._timer = setTimeout(function() {\n self._attempts++;\n\n if (self._operationTimeoutCb) {\n self._timeout = setTimeout(function() {\n self._operationTimeoutCb(self._attempts);\n }, self._operationTimeout);\n\n if (self._options.unref) {\n self._timeout.unref();\n }\n }\n\n self._fn(self._attempts);\n }, timeout);\n\n if (this._options.unref) {\n this._timer.unref();\n }\n\n return true;\n};\n\nRetryOperation.prototype.attempt = function(fn, timeoutOps) {\n this._fn = fn;\n\n if (timeoutOps) {\n if (timeoutOps.timeout) {\n this._operationTimeout = timeoutOps.timeout;\n }\n if (timeoutOps.cb) {\n this._operationTimeoutCb = timeoutOps.cb;\n }\n }\n\n var self = this;\n if (this._operationTimeoutCb) {\n this._timeout = setTimeout(function() {\n self._operationTimeoutCb();\n }, self._operationTimeout);\n }\n\n this._operationStart = new Date().getTime();\n\n this._fn(this._attempts);\n};\n\nRetryOperation.prototype.try = function(fn) {\n console.log('Using RetryOperation.try() is deprecated');\n this.attempt(fn);\n};\n\nRetryOperation.prototype.start = function(fn) {\n console.log('Using RetryOperation.start() is deprecated');\n this.attempt(fn);\n};\n\nRetryOperation.prototype.start = RetryOperation.prototype.try;\n\nRetryOperation.prototype.errors = function() {\n return this._errors;\n};\n\nRetryOperation.prototype.attempts = function() {\n return this._attempts;\n};\n\nRetryOperation.prototype.mainError = function() {\n if (this._errors.length === 0) {\n return null;\n }\n\n var counts = {};\n var mainError = null;\n var mainErrorCount = 0;\n\n for (var i = 0; i < this._errors.length; i++) {\n var error = this._errors[i];\n var message = error.message;\n var count = (counts[message] || 0) + 1;\n\n counts[message] = count;\n\n if (count >= mainErrorCount) {\n mainError = error;\n mainErrorCount = count;\n }\n }\n\n return mainError;\n};\n","/*\nTrix 2.1.12\nCopyright © 2024 37signals, LLC\n */\nvar t=\"2.1.12\";const e=\"[data-trix-attachment]\",i={preview:{presentation:\"gallery\",caption:{name:!0,size:!0}},file:{caption:{size:!0}}},n={default:{tagName:\"div\",parse:!1},quote:{tagName:\"blockquote\",nestable:!0},heading1:{tagName:\"h1\",terminal:!0,breakOnReturn:!0,group:!1},code:{tagName:\"pre\",terminal:!0,htmlAttributes:[\"language\"],text:{plaintext:!0}},bulletList:{tagName:\"ul\",parse:!1},bullet:{tagName:\"li\",listAttribute:\"bulletList\",group:!1,nestable:!0,test(t){return r(t.parentNode)===n[this.listAttribute].tagName}},numberList:{tagName:\"ol\",parse:!1},number:{tagName:\"li\",listAttribute:\"numberList\",group:!1,nestable:!0,test(t){return r(t.parentNode)===n[this.listAttribute].tagName}},attachmentGallery:{tagName:\"div\",exclusive:!0,terminal:!0,parse:!1,group:!1}},r=t=>{var e;return null==t||null===(e=t.tagName)||void 0===e?void 0:e.toLowerCase()},o=navigator.userAgent.match(/android\\s([0-9]+.*Chrome)/i),s=o&&parseInt(o[1]);var a={composesExistingText:/Android.*Chrome/.test(navigator.userAgent),recentAndroid:s&&s>12,samsungAndroid:s&&navigator.userAgent.match(/Android.*SM-/),forcesObjectResizing:/Trident.*rv:11/.test(navigator.userAgent),supportsInputEvents:\"undefined\"!=typeof InputEvent&&[\"data\",\"getTargetRanges\",\"inputType\"].every((t=>t in InputEvent.prototype))},l={ADD_ATTR:[\"language\"],SAFE_FOR_XML:!1,RETURN_DOM:!0},c={attachFiles:\"Attach Files\",bold:\"Bold\",bullets:\"Bullets\",byte:\"Byte\",bytes:\"Bytes\",captionPlaceholder:\"Add a caption…\",code:\"Code\",heading1:\"Heading\",indent:\"Increase Level\",italic:\"Italic\",link:\"Link\",numbers:\"Numbers\",outdent:\"Decrease Level\",quote:\"Quote\",redo:\"Redo\",remove:\"Remove\",strike:\"Strikethrough\",undo:\"Undo\",unlink:\"Unlink\",url:\"URL\",urlPlaceholder:\"Enter a URL…\",GB:\"GB\",KB:\"KB\",MB:\"MB\",PB:\"PB\",TB:\"TB\"};const u=[c.bytes,c.KB,c.MB,c.GB,c.TB,c.PB];var h={prefix:\"IEC\",precision:2,formatter(t){switch(t){case 0:return\"0 \".concat(c.bytes);case 1:return\"1 \".concat(c.byte);default:let e;\"SI\"===this.prefix?e=1e3:\"IEC\"===this.prefix&&(e=1024);const i=Math.floor(Math.log(t)/Math.log(e)),n=(t/Math.pow(e,i)).toFixed(this.precision).replace(/0*$/,\"\").replace(/\\.$/,\"\");return\"\".concat(n,\" \").concat(u[i])}}};const d=\"\\ufeff\",g=\" \",m=function(t){for(const e in t){const i=t[e];this[e]=i}return this},p=document.documentElement,f=p.matches,b=function(t){let{onElement:e,matchingSelector:i,withCallback:n,inPhase:r,preventDefault:o,times:s}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const a=e||p,l=i,c=\"capturing\"===r,u=function(t){null!=s&&0==--s&&u.destroy();const e=y(t.target,{matchingSelector:l});null!=e&&(null==n||n.call(e,t,e),o&&t.preventDefault())};return u.destroy=()=>a.removeEventListener(t,u,c),a.addEventListener(t,u,c),u},v=function(t){let{onElement:e,bubbles:i,cancelable:n,attributes:r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=null!=e?e:p;i=!1!==i,n=!1!==n;const s=document.createEvent(\"Events\");return s.initEvent(t,i,n),null!=r&&m.call(s,r),o.dispatchEvent(s)},A=function(t,e){if(1===(null==t?void 0:t.nodeType))return f.call(t,e)},y=function(t){let{matchingSelector:e,untilNode:i}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(;t&&t.nodeType!==Node.ELEMENT_NODE;)t=t.parentNode;if(null!=t){if(null==e)return t;if(t.closest&&null==i)return t.closest(e);for(;t&&t!==i;){if(A(t,e))return t;t=t.parentNode}}},x=t=>document.activeElement!==t&&C(t,document.activeElement),C=function(t,e){if(t&&e)for(;e;){if(e===t)return!0;e=e.parentNode}},E=function(t){var e;if(null===(e=t)||void 0===e||!e.parentNode)return;let i=0;for(t=t.previousSibling;t;)i++,t=t.previousSibling;return i},S=t=>{var e;return null==t||null===(e=t.parentNode)||void 0===e?void 0:e.removeChild(t)},R=function(t){let{onlyNodesOfType:e,usingFilter:i,expandEntityReferences:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=(()=>{switch(e){case\"element\":return NodeFilter.SHOW_ELEMENT;case\"text\":return NodeFilter.SHOW_TEXT;case\"comment\":return NodeFilter.SHOW_COMMENT;default:return NodeFilter.SHOW_ALL}})();return document.createTreeWalker(t,r,null!=i?i:null,!0===n)},k=t=>{var e;return null==t||null===(e=t.tagName)||void 0===e?void 0:e.toLowerCase()},T=function(t){let e,i,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"object\"==typeof t?(n=t,t=n.tagName):n={attributes:n};const r=document.createElement(t);if(null!=n.editable&&(null==n.attributes&&(n.attributes={}),n.attributes.contenteditable=n.editable),n.attributes)for(e in n.attributes)i=n.attributes[e],r.setAttribute(e,i);if(n.style)for(e in n.style)i=n.style[e],r.style[e]=i;if(n.data)for(e in n.data)i=n.data[e],r.dataset[e]=i;return n.className&&n.className.split(\" \").forEach((t=>{r.classList.add(t)})),n.textContent&&(r.textContent=n.textContent),n.childNodes&&[].concat(n.childNodes).forEach((t=>{r.appendChild(t)})),r};let w;const L=function(){if(null!=w)return w;w=[];for(const t in n){const e=n[t];e.tagName&&w.push(e.tagName)}return w},D=t=>I(null==t?void 0:t.firstChild),N=function(t){let{strict:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{strict:!0};return e?I(t):I(t)||!I(t.firstChild)&&function(t){return L().includes(k(t))&&!L().includes(k(t.firstChild))}(t)},I=t=>O(t)&&\"block\"===(null==t?void 0:t.data),O=t=>(null==t?void 0:t.nodeType)===Node.COMMENT_NODE,F=function(t){let{name:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t)return B(t)?t.data===d?!e||t.parentNode.dataset.trixCursorTarget===e:void 0:F(t.firstChild)},P=t=>A(t,e),M=t=>B(t)&&\"\"===(null==t?void 0:t.data),B=t=>(null==t?void 0:t.nodeType)===Node.TEXT_NODE,_={level2Enabled:!0,getLevel(){return this.level2Enabled&&a.supportsInputEvents?2:0},pickFiles(t){const e=T(\"input\",{type:\"file\",multiple:!0,hidden:!0,id:this.fileInputId});e.addEventListener(\"change\",(()=>{t(e.files),S(e)})),S(document.getElementById(this.fileInputId)),document.body.appendChild(e),e.click()}};var j={removeBlankTableCells:!1,tableCellSeparator:\" | \",tableRowSeparator:\"\\n\"},W={bold:{tagName:\"strong\",inheritable:!0,parser(t){const e=window.getComputedStyle(t);return\"bold\"===e.fontWeight||e.fontWeight>=600}},italic:{tagName:\"em\",inheritable:!0,parser:t=>\"italic\"===window.getComputedStyle(t).fontStyle},href:{groupTagName:\"a\",parser(t){const i=\"a:not(\".concat(e,\")\"),n=t.closest(i);if(n)return n.getAttribute(\"href\")}},strike:{tagName:\"del\",inheritable:!0},frozen:{style:{backgroundColor:\"highlight\"}}},U={getDefaultHTML:()=>'
\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n\\n \\n\\n \\n \\n \\n \\n
\\n\\n
\\n
\\n \\n
\\n
')};const V={interval:5e3};var z=Object.freeze({__proto__:null,attachments:i,blockAttributes:n,browser:a,css:{attachment:\"attachment\",attachmentCaption:\"attachment__caption\",attachmentCaptionEditor:\"attachment__caption-editor\",attachmentMetadata:\"attachment__metadata\",attachmentMetadataContainer:\"attachment__metadata-container\",attachmentName:\"attachment__name\",attachmentProgress:\"attachment__progress\",attachmentSize:\"attachment__size\",attachmentToolbar:\"attachment__toolbar\",attachmentGallery:\"attachment-gallery\"},dompurify:l,fileSize:h,input:_,keyNames:{8:\"backspace\",9:\"tab\",13:\"return\",27:\"escape\",37:\"left\",39:\"right\",46:\"delete\",68:\"d\",72:\"h\",79:\"o\"},lang:c,parser:j,textAttributes:W,toolbar:U,undo:V});class q{static proxyMethod(t){const{name:e,toMethod:i,toProperty:n,optional:r}=H(t);this.prototype[e]=function(){let t,o;var s,a;i?o=r?null===(s=this[i])||void 0===s?void 0:s.call(this):this[i]():n&&(o=this[n]);return r?(t=null===(a=o)||void 0===a?void 0:a[e],t?J.call(t,o,arguments):void 0):(t=o[e],J.call(t,o,arguments))}}}const H=function(t){const e=t.match(K);if(!e)throw new Error(\"can't parse @proxyMethod expression: \".concat(t));const i={name:e[4]};return null!=e[2]?i.toMethod=e[1]:i.toProperty=e[1],null!=e[3]&&(i.optional=!0),i},{apply:J}=Function.prototype,K=new RegExp(\"^(.+?)(\\\\(\\\\))?(\\\\?)?\\\\.(.+?)$\");var G,Y,$;class X extends q{static box(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\";return t instanceof this?t:this.fromUCS2String(null==t?void 0:t.toString())}static fromUCS2String(t){return new this(t,et(t))}static fromCodepoints(t){return new this(it(t),t)}constructor(t,e){super(...arguments),this.ucs2String=t,this.codepoints=e,this.length=this.codepoints.length,this.ucs2Length=this.ucs2String.length}offsetToUCS2Offset(t){return it(this.codepoints.slice(0,Math.max(0,t))).length}offsetFromUCS2Offset(t){return et(this.ucs2String.slice(0,Math.max(0,t))).length}slice(){return this.constructor.fromCodepoints(this.codepoints.slice(...arguments))}charAt(t){return this.slice(t,t+1)}isEqualTo(t){return this.constructor.box(t).ucs2String===this.ucs2String}toJSON(){return this.ucs2String}getCacheKey(){return this.ucs2String}toString(){return this.ucs2String}}const Z=1===(null===(G=Array.from)||void 0===G?void 0:G.call(Array,\"👼\").length),Q=null!=(null===(Y=\" \".codePointAt)||void 0===Y?void 0:Y.call(\" \",0)),tt=\" 👼\"===(null===($=String.fromCodePoint)||void 0===$?void 0:$.call(String,32,128124));let et,it;et=Z&&Q?t=>Array.from(t).map((t=>t.codePointAt(0))):function(t){const e=[];let i=0;const{length:n}=t;for(;iString.fromCodePoint(...Array.from(t||[])):function(t){return(()=>{const e=[];return Array.from(t).forEach((t=>{let i=\"\";t>65535&&(t-=65536,i+=String.fromCharCode(t>>>10&1023|55296),t=56320|1023&t),e.push(i+String.fromCharCode(t))})),e})().join(\"\")};let nt=0;class rt extends q{static fromJSONString(t){return this.fromJSON(JSON.parse(t))}constructor(){super(...arguments),this.id=++nt}hasSameConstructorAs(t){return this.constructor===(null==t?void 0:t.constructor)}isEqualTo(t){return this===t}inspect(){const t=[],e=this.contentsForInspection()||{};for(const i in e){const n=e[i];t.push(\"\".concat(i,\"=\").concat(n))}return\"#<\".concat(this.constructor.name,\":\").concat(this.id).concat(t.length?\" \".concat(t.join(\", \")):\"\",\">\")}contentsForInspection(){}toJSONString(){return JSON.stringify(this)}toUTF16String(){return X.box(this)}getCacheKey(){return this.id.toString()}}const ot=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(t.length!==e.length)return!1;for(let i=0;i1?i-1:0),r=1;r(ct||(ct=bt().concat(pt())),ct),mt=t=>n[t],pt=()=>(ut||(ut=Object.keys(n)),ut),ft=t=>W[t],bt=()=>(ht||(ht=Object.keys(W)),ht),vt=function(t,e){At(t).textContent=e.replace(/%t/g,t)},At=function(t){const e=document.createElement(\"style\");e.setAttribute(\"type\",\"text/css\"),e.setAttribute(\"data-tag-name\",t.toLowerCase());const i=yt();return i&&e.setAttribute(\"nonce\",i),document.head.insertBefore(e,document.head.firstChild),e},yt=function(){const t=xt(\"trix-csp-nonce\")||xt(\"csp-nonce\");if(t){const{nonce:e,content:i}=t;return\"\"==e?i:e}},xt=t=>document.head.querySelector(\"meta[name=\".concat(t,\"]\")),Ct={\"application/x-trix-feature-detection\":\"test\"},Et=function(t){const e=t.getData(\"text/plain\"),i=t.getData(\"text/html\");if(!e||!i)return null==e?void 0:e.length;{const{body:t}=(new DOMParser).parseFromString(i,\"text/html\");if(t.textContent===e)return!t.querySelector(\"*\")}},St=/Mac|^iP/.test(navigator.platform)?t=>t.metaKey:t=>t.ctrlKey;const Rt=t=>setTimeout(t,1),kt=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const e={};for(const i in t){const n=t[i];e[i]=n}return e},Tt=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Object.keys(t).length!==Object.keys(e).length)return!1;for(const i in t){if(t[i]!==e[i])return!1}return!0},wt=function(t){if(null!=t)return Array.isArray(t)||(t=[t,t]),[Nt(t[0]),Nt(null!=t[1]?t[1]:t[0])]},Lt=function(t){if(null==t)return;const[e,i]=wt(t);return It(e,i)},Dt=function(t,e){if(null==t||null==e)return;const[i,n]=wt(t),[r,o]=wt(e);return It(i,r)&&It(n,o)},Nt=function(t){return\"number\"==typeof t?t:kt(t)},It=function(t,e){return\"number\"==typeof t?t===e:Tt(t,e)};class Ot extends q{constructor(){super(...arguments),this.update=this.update.bind(this),this.selectionManagers=[]}start(){this.started||(this.started=!0,document.addEventListener(\"selectionchange\",this.update,!0))}stop(){if(this.started)return this.started=!1,document.removeEventListener(\"selectionchange\",this.update,!0)}registerSelectionManager(t){if(!this.selectionManagers.includes(t))return this.selectionManagers.push(t),this.start()}unregisterSelectionManager(t){if(this.selectionManagers=this.selectionManagers.filter((e=>e!==t)),0===this.selectionManagers.length)return this.stop()}notifySelectionManagersOfSelectionChange(){return this.selectionManagers.map((t=>t.selectionDidChange()))}update(){this.notifySelectionManagersOfSelectionChange()}reset(){this.update()}}const Ft=new Ot,Pt=function(){const t=window.getSelection();if(t.rangeCount>0)return t},Mt=function(){var t;const e=null===(t=Pt())||void 0===t?void 0:t.getRangeAt(0);if(e&&!_t(e))return e},Bt=function(t){const e=window.getSelection();return e.removeAllRanges(),e.addRange(t),Ft.update()},_t=t=>jt(t.startContainer)||jt(t.endContainer),jt=t=>!Object.getPrototypeOf(t),Wt=t=>t.replace(new RegExp(\"\".concat(d),\"g\"),\"\").replace(new RegExp(\"\".concat(g),\"g\"),\" \"),Ut=new RegExp(\"[^\\\\S\".concat(g,\"]\")),Vt=t=>t.replace(new RegExp(\"\".concat(Ut.source),\"g\"),\" \").replace(/\\ {2,}/g,\" \"),zt=function(t,e){if(t.isEqualTo(e))return[\"\",\"\"];const i=qt(t,e),{length:n}=i.utf16String;let r;if(n){const{offset:o}=i,s=t.codepoints.slice(0,o).concat(t.codepoints.slice(o+n));r=qt(e,X.fromCodepoints(s))}else r=qt(e,t);return[i.utf16String.toString(),r.utf16String.toString()]},qt=function(t,e){let i=0,n=t.length,r=e.length;for(;ii+1&&t.charAt(n-1).isEqualTo(e.charAt(r-1));)n--,r--;return{utf16String:t.slice(i,n),offset:i}};class Ht extends rt{static fromCommonAttributesOfObjects(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(!t.length)return new this;let e=Yt(t[0]),i=e.getKeys();return t.slice(1).forEach((t=>{i=e.getKeysCommonToHash(Yt(t)),e=e.slice(i)})),e}static box(t){return Yt(t)}constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(...arguments),this.values=Gt(t)}add(t,e){return this.merge(Jt(t,e))}remove(t){return new Ht(Gt(this.values,t))}get(t){return this.values[t]}has(t){return t in this.values}merge(t){return new Ht(Kt(this.values,$t(t)))}slice(t){const e={};return Array.from(t).forEach((t=>{this.has(t)&&(e[t]=this.values[t])})),new Ht(e)}getKeys(){return Object.keys(this.values)}getKeysCommonToHash(t){return t=Yt(t),this.getKeys().filter((e=>this.values[e]===t.values[e]))}isEqualTo(t){return ot(this.toArray(),Yt(t).toArray())}isEmpty(){return 0===this.getKeys().length}toArray(){if(!this.array){const t=[];for(const e in this.values){const i=this.values[e];t.push(t.push(e,i))}this.array=t.slice(0)}return this.array}toObject(){return Gt(this.values)}toJSON(){return this.toObject()}contentsForInspection(){return{values:JSON.stringify(this.values)}}}const Jt=function(t,e){const i={};return i[t]=e,i},Kt=function(t,e){const i=Gt(t);for(const t in e){const n=e[t];i[t]=n}return i},Gt=function(t,e){const i={};return Object.keys(t).sort().forEach((n=>{n!==e&&(i[n]=t[n])})),i},Yt=function(t){return t instanceof Ht?t:new Ht(t)},$t=function(t){return t instanceof Ht?t.values:t};class Xt{static groupObjects(){let t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],{depth:i,asTree:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};n&&null==i&&(i=0);const r=[];return Array.from(e).forEach((e=>{var o;if(t){var s,a,l;if(null!==(s=e.canBeGrouped)&&void 0!==s&&s.call(e,i)&&null!==(a=(l=t[t.length-1]).canBeGroupedWith)&&void 0!==a&&a.call(l,e,i))return void t.push(e);r.push(new this(t,{depth:i,asTree:n})),t=null}null!==(o=e.canBeGrouped)&&void 0!==o&&o.call(e,i)?t=[e]:r.push(e)})),t&&r.push(new this(t,{depth:i,asTree:n})),r}constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],{depth:e,asTree:i}=arguments.length>1?arguments[1]:void 0;this.objects=t,i&&(this.depth=e,this.objects=this.constructor.groupObjects(this.objects,{asTree:i,depth:this.depth+1}))}getObjects(){return this.objects}getDepth(){return this.depth}getCacheKey(){const t=[\"objectGroup\"];return Array.from(this.getObjects()).forEach((e=>{t.push(e.getCacheKey())})),t.join(\"/\")}}class Zt extends q{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];super(...arguments),this.objects={},Array.from(t).forEach((t=>{const e=JSON.stringify(t);null==this.objects[e]&&(this.objects[e]=t)}))}find(t){const e=JSON.stringify(t);return this.objects[e]}}class Qt{constructor(t){this.reset(t)}add(t){const e=te(t);this.elements[e]=t}remove(t){const e=te(t),i=this.elements[e];if(i)return delete this.elements[e],i}reset(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return this.elements={},Array.from(t).forEach((t=>{this.add(t)})),t}}const te=t=>t.dataset.trixStoreKey;class ee extends q{isPerforming(){return!0===this.performing}hasPerformed(){return!0===this.performed}hasSucceeded(){return this.performed&&this.succeeded}hasFailed(){return this.performed&&!this.succeeded}getPromise(){return this.promise||(this.promise=new Promise(((t,e)=>(this.performing=!0,this.perform(((i,n)=>{this.succeeded=i,this.performing=!1,this.performed=!0,this.succeeded?t(n):e(n)})))))),this.promise}perform(t){return t(!1)}release(){var t,e;null===(t=this.promise)||void 0===t||null===(e=t.cancel)||void 0===e||e.call(t),this.promise=null,this.performing=null,this.performed=null,this.succeeded=null}}ee.proxyMethod(\"getPromise().then\"),ee.proxyMethod(\"getPromise().catch\");class ie extends q{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(...arguments),this.object=t,this.options=e,this.childViews=[],this.rootView=this}getNodes(){return this.nodes||(this.nodes=this.createNodes()),this.nodes.map((t=>t.cloneNode(!0)))}invalidate(){var t;return this.nodes=null,this.childViews=[],null===(t=this.parentView)||void 0===t?void 0:t.invalidate()}invalidateViewForObject(t){var e;return null===(e=this.findViewForObject(t))||void 0===e?void 0:e.invalidate()}findOrCreateCachedChildView(t,e,i){let n=this.getCachedViewForObject(e);return n?this.recordChildView(n):(n=this.createChildView(...arguments),this.cacheViewForObject(n,e)),n}createChildView(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e instanceof Xt&&(i.viewClass=t,t=ne);const n=new t(e,i);return this.recordChildView(n)}recordChildView(t){return t.parentView=this,t.rootView=this.rootView,this.childViews.push(t),t}getAllChildViews(){let t=[];return this.childViews.forEach((e=>{t.push(e),t=t.concat(e.getAllChildViews())})),t}findElement(){return this.findElementForObject(this.object)}findElementForObject(t){const e=null==t?void 0:t.id;if(e)return this.rootView.element.querySelector(\"[data-trix-id='\".concat(e,\"']\"))}findViewForObject(t){for(const e of this.getAllChildViews())if(e.object===t)return e}getViewCache(){return this.rootView!==this?this.rootView.getViewCache():this.isViewCachingEnabled()?(this.viewCache||(this.viewCache={}),this.viewCache):void 0}isViewCachingEnabled(){return!1!==this.shouldCacheViews}enableViewCaching(){this.shouldCacheViews=!0}disableViewCaching(){this.shouldCacheViews=!1}getCachedViewForObject(t){var e;return null===(e=this.getViewCache())||void 0===e?void 0:e[t.getCacheKey()]}cacheViewForObject(t,e){const i=this.getViewCache();i&&(i[e.getCacheKey()]=t)}garbageCollectCachedViews(){const t=this.getViewCache();if(t){const e=this.getAllChildViews().concat(this).map((t=>t.object.getCacheKey()));for(const i in t)e.includes(i)||delete t[i]}}}class ne extends ie{constructor(){super(...arguments),this.objectGroup=this.object,this.viewClass=this.options.viewClass,delete this.options.viewClass}getChildViews(){return this.childViews.length||Array.from(this.objectGroup.getObjects()).forEach((t=>{this.findOrCreateCachedChildView(this.viewClass,t,this.options)})),this.childViews}createNodes(){const t=this.createContainerElement();return this.getChildViews().forEach((e=>{Array.from(e.getNodes()).forEach((e=>{t.appendChild(e)}))})),[t]}createContainerElement(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.objectGroup.getDepth();return this.getChildViews()[0].createContainerElement(t)}}\n/*! @license DOMPurify 3.2.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.3/LICENSE */const{entries:re,setPrototypeOf:oe,isFrozen:se,getPrototypeOf:ae,getOwnPropertyDescriptor:le}=Object;let{freeze:ce,seal:ue,create:he}=Object,{apply:de,construct:ge}=\"undefined\"!=typeof Reflect&&Reflect;ce||(ce=function(t){return t}),ue||(ue=function(t){return t}),de||(de=function(t,e,i){return t.apply(e,i)}),ge||(ge=function(t,e){return new t(...e)});const me=Te(Array.prototype.forEach),pe=Te(Array.prototype.pop),fe=Te(Array.prototype.push),be=Te(String.prototype.toLowerCase),ve=Te(String.prototype.toString),Ae=Te(String.prototype.match),ye=Te(String.prototype.replace),xe=Te(String.prototype.indexOf),Ce=Te(String.prototype.trim),Ee=Te(Object.prototype.hasOwnProperty),Se=Te(RegExp.prototype.test),Re=(ke=TypeError,function(){for(var t=arguments.length,e=new Array(t),i=0;i1?i-1:0),r=1;r2&&void 0!==arguments[2]?arguments[2]:be;oe&&oe(t,null);let n=e.length;for(;n--;){let r=e[n];if(\"string\"==typeof r){const t=i(r);t!==r&&(se(e)||(e[n]=t),r=t)}t[r]=!0}return t}function Le(t){for(let e=0;e/gm),He=ue(/\\$\\{[\\w\\W]*}/gm),Je=ue(/^data-[\\-\\w.\\u00B7-\\uFFFF]+$/),Ke=ue(/^aria-[\\-\\w]+$/),Ge=ue(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i),Ye=ue(/^(?:\\w+script|data):/i),$e=ue(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g),Xe=ue(/^html$/i),Ze=ue(/^[a-z][.\\w]*(-[.\\w]+)+$/i);var Qe=Object.freeze({__proto__:null,ARIA_ATTR:Ke,ATTR_WHITESPACE:$e,CUSTOM_ELEMENT:Ze,DATA_ATTR:Je,DOCTYPE_NAME:Xe,ERB_EXPR:qe,IS_ALLOWED_URI:Ge,IS_SCRIPT_OR_DATA:Ye,MUSTACHE_EXPR:ze,TMPLIT_EXPR:He});const ti=1,ei=3,ii=7,ni=8,ri=9,oi=function(){return\"undefined\"==typeof window?null:window};var si=function t(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:oi();const i=e=>t(e);if(i.version=\"3.2.3\",i.removed=[],!e||!e.document||e.document.nodeType!==ri)return i.isSupported=!1,i;let{document:n}=e;const r=n,o=r.currentScript,{DocumentFragment:s,HTMLTemplateElement:a,Node:l,Element:c,NodeFilter:u,NamedNodeMap:h=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:d,DOMParser:g,trustedTypes:m}=e,p=c.prototype,f=Ne(p,\"cloneNode\"),b=Ne(p,\"remove\"),v=Ne(p,\"nextSibling\"),A=Ne(p,\"childNodes\"),y=Ne(p,\"parentNode\");if(\"function\"==typeof a){const t=n.createElement(\"template\");t.content&&t.content.ownerDocument&&(n=t.content.ownerDocument)}let x,C=\"\";const{implementation:E,createNodeIterator:S,createDocumentFragment:R,getElementsByTagName:k}=n,{importNode:T}=r;let w={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]};i.isSupported=\"function\"==typeof re&&\"function\"==typeof y&&E&&void 0!==E.createHTMLDocument;const{MUSTACHE_EXPR:L,ERB_EXPR:D,TMPLIT_EXPR:N,DATA_ATTR:I,ARIA_ATTR:O,IS_SCRIPT_OR_DATA:F,ATTR_WHITESPACE:P,CUSTOM_ELEMENT:M}=Qe;let{IS_ALLOWED_URI:B}=Qe,_=null;const j=we({},[...Ie,...Oe,...Fe,...Me,..._e]);let W=null;const U=we({},[...je,...We,...Ue,...Ve]);let V=Object.seal(he(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),z=null,q=null,H=!0,J=!0,K=!1,G=!0,Y=!1,$=!0,X=!1,Z=!1,Q=!1,tt=!1,et=!1,it=!1,nt=!0,rt=!1,ot=!0,st=!1,at={},lt=null;const ct=we({},[\"annotation-xml\",\"audio\",\"colgroup\",\"desc\",\"foreignobject\",\"head\",\"iframe\",\"math\",\"mi\",\"mn\",\"mo\",\"ms\",\"mtext\",\"noembed\",\"noframes\",\"noscript\",\"plaintext\",\"script\",\"style\",\"svg\",\"template\",\"thead\",\"title\",\"video\",\"xmp\"]);let ut=null;const ht=we({},[\"audio\",\"video\",\"img\",\"source\",\"image\",\"track\"]);let dt=null;const gt=we({},[\"alt\",\"class\",\"for\",\"id\",\"label\",\"name\",\"pattern\",\"placeholder\",\"role\",\"summary\",\"title\",\"value\",\"style\",\"xmlns\"]),mt=\"http://www.w3.org/1998/Math/MathML\",pt=\"http://www.w3.org/2000/svg\",ft=\"http://www.w3.org/1999/xhtml\";let bt=ft,vt=!1,At=null;const yt=we({},[mt,pt,ft],ve);let xt=we({},[\"mi\",\"mo\",\"mn\",\"ms\",\"mtext\"]),Ct=we({},[\"annotation-xml\"]);const Et=we({},[\"title\",\"style\",\"font\",\"a\",\"script\"]);let St=null;const Rt=[\"application/xhtml+xml\",\"text/html\"];let kt=null,Tt=null;const wt=n.createElement(\"form\"),Lt=function(t){return t instanceof RegExp||t instanceof Function},Dt=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!Tt||Tt!==t){if(t&&\"object\"==typeof t||(t={}),t=De(t),St=-1===Rt.indexOf(t.PARSER_MEDIA_TYPE)?\"text/html\":t.PARSER_MEDIA_TYPE,kt=\"application/xhtml+xml\"===St?ve:be,_=Ee(t,\"ALLOWED_TAGS\")?we({},t.ALLOWED_TAGS,kt):j,W=Ee(t,\"ALLOWED_ATTR\")?we({},t.ALLOWED_ATTR,kt):U,At=Ee(t,\"ALLOWED_NAMESPACES\")?we({},t.ALLOWED_NAMESPACES,ve):yt,dt=Ee(t,\"ADD_URI_SAFE_ATTR\")?we(De(gt),t.ADD_URI_SAFE_ATTR,kt):gt,ut=Ee(t,\"ADD_DATA_URI_TAGS\")?we(De(ht),t.ADD_DATA_URI_TAGS,kt):ht,lt=Ee(t,\"FORBID_CONTENTS\")?we({},t.FORBID_CONTENTS,kt):ct,z=Ee(t,\"FORBID_TAGS\")?we({},t.FORBID_TAGS,kt):{},q=Ee(t,\"FORBID_ATTR\")?we({},t.FORBID_ATTR,kt):{},at=!!Ee(t,\"USE_PROFILES\")&&t.USE_PROFILES,H=!1!==t.ALLOW_ARIA_ATTR,J=!1!==t.ALLOW_DATA_ATTR,K=t.ALLOW_UNKNOWN_PROTOCOLS||!1,G=!1!==t.ALLOW_SELF_CLOSE_IN_ATTR,Y=t.SAFE_FOR_TEMPLATES||!1,$=!1!==t.SAFE_FOR_XML,X=t.WHOLE_DOCUMENT||!1,tt=t.RETURN_DOM||!1,et=t.RETURN_DOM_FRAGMENT||!1,it=t.RETURN_TRUSTED_TYPE||!1,Q=t.FORCE_BODY||!1,nt=!1!==t.SANITIZE_DOM,rt=t.SANITIZE_NAMED_PROPS||!1,ot=!1!==t.KEEP_CONTENT,st=t.IN_PLACE||!1,B=t.ALLOWED_URI_REGEXP||Ge,bt=t.NAMESPACE||ft,xt=t.MATHML_TEXT_INTEGRATION_POINTS||xt,Ct=t.HTML_INTEGRATION_POINTS||Ct,V=t.CUSTOM_ELEMENT_HANDLING||{},t.CUSTOM_ELEMENT_HANDLING&&Lt(t.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(V.tagNameCheck=t.CUSTOM_ELEMENT_HANDLING.tagNameCheck),t.CUSTOM_ELEMENT_HANDLING&&Lt(t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(V.attributeNameCheck=t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),t.CUSTOM_ELEMENT_HANDLING&&\"boolean\"==typeof t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(V.allowCustomizedBuiltInElements=t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Y&&(J=!1),et&&(tt=!0),at&&(_=we({},_e),W=[],!0===at.html&&(we(_,Ie),we(W,je)),!0===at.svg&&(we(_,Oe),we(W,We),we(W,Ve)),!0===at.svgFilters&&(we(_,Fe),we(W,We),we(W,Ve)),!0===at.mathMl&&(we(_,Me),we(W,Ue),we(W,Ve))),t.ADD_TAGS&&(_===j&&(_=De(_)),we(_,t.ADD_TAGS,kt)),t.ADD_ATTR&&(W===U&&(W=De(W)),we(W,t.ADD_ATTR,kt)),t.ADD_URI_SAFE_ATTR&&we(dt,t.ADD_URI_SAFE_ATTR,kt),t.FORBID_CONTENTS&&(lt===ct&&(lt=De(lt)),we(lt,t.FORBID_CONTENTS,kt)),ot&&(_[\"#text\"]=!0),X&&we(_,[\"html\",\"head\",\"body\"]),_.table&&(we(_,[\"tbody\"]),delete z.tbody),t.TRUSTED_TYPES_POLICY){if(\"function\"!=typeof t.TRUSTED_TYPES_POLICY.createHTML)throw Re('TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.');if(\"function\"!=typeof t.TRUSTED_TYPES_POLICY.createScriptURL)throw Re('TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.');x=t.TRUSTED_TYPES_POLICY,C=x.createHTML(\"\")}else void 0===x&&(x=function(t,e){if(\"object\"!=typeof t||\"function\"!=typeof t.createPolicy)return null;let i=null;const n=\"data-tt-policy-suffix\";e&&e.hasAttribute(n)&&(i=e.getAttribute(n));const r=\"dompurify\"+(i?\"#\"+i:\"\");try{return t.createPolicy(r,{createHTML:t=>t,createScriptURL:t=>t})}catch(t){return console.warn(\"TrustedTypes policy \"+r+\" could not be created.\"),null}}(m,o)),null!==x&&\"string\"==typeof C&&(C=x.createHTML(\"\"));ce&&ce(t),Tt=t}},Nt=we({},[...Oe,...Fe,...Pe]),It=we({},[...Me,...Be]),Ot=function(t){fe(i.removed,{element:t});try{y(t).removeChild(t)}catch(e){b(t)}},Ft=function(t,e){try{fe(i.removed,{attribute:e.getAttributeNode(t),from:e})}catch(t){fe(i.removed,{attribute:null,from:e})}if(e.removeAttribute(t),\"is\"===t)if(tt||et)try{Ot(e)}catch(t){}else try{e.setAttribute(t,\"\")}catch(t){}},Pt=function(t){let e=null,i=null;if(Q)t=\"\"+t;else{const e=Ae(t,/^[\\r\\n\\t ]+/);i=e&&e[0]}\"application/xhtml+xml\"===St&&bt===ft&&(t=''+t+\"\");const r=x?x.createHTML(t):t;if(bt===ft)try{e=(new g).parseFromString(r,St)}catch(t){}if(!e||!e.documentElement){e=E.createDocument(bt,\"template\",null);try{e.documentElement.innerHTML=vt?C:r}catch(t){}}const o=e.body||e.documentElement;return t&&i&&o.insertBefore(n.createTextNode(i),o.childNodes[0]||null),bt===ft?k.call(e,X?\"html\":\"body\")[0]:X?e.documentElement:o},Mt=function(t){return S.call(t.ownerDocument||t,t,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION|u.SHOW_CDATA_SECTION,null)},Bt=function(t){return t instanceof d&&(\"string\"!=typeof t.nodeName||\"string\"!=typeof t.textContent||\"function\"!=typeof t.removeChild||!(t.attributes instanceof h)||\"function\"!=typeof t.removeAttribute||\"function\"!=typeof t.setAttribute||\"string\"!=typeof t.namespaceURI||\"function\"!=typeof t.insertBefore||\"function\"!=typeof t.hasChildNodes)},_t=function(t){return\"function\"==typeof l&&t instanceof l};function jt(t,e,n){me(t,(t=>{t.call(i,e,n,Tt)}))}const Wt=function(t){let e=null;if(jt(w.beforeSanitizeElements,t,null),Bt(t))return Ot(t),!0;const n=kt(t.nodeName);if(jt(w.uponSanitizeElement,t,{tagName:n,allowedTags:_}),t.hasChildNodes()&&!_t(t.firstElementChild)&&Se(/<[/\\w]/g,t.innerHTML)&&Se(/<[/\\w]/g,t.textContent))return Ot(t),!0;if(t.nodeType===ii)return Ot(t),!0;if($&&t.nodeType===ni&&Se(/<[/\\w]/g,t.data))return Ot(t),!0;if(!_[n]||z[n]){if(!z[n]&&Vt(n)){if(V.tagNameCheck instanceof RegExp&&Se(V.tagNameCheck,n))return!1;if(V.tagNameCheck instanceof Function&&V.tagNameCheck(n))return!1}if(ot&&!lt[n]){const e=y(t)||t.parentNode,i=A(t)||t.childNodes;if(i&&e){for(let n=i.length-1;n>=0;--n){const r=f(i[n],!0);r.__removalCount=(t.__removalCount||0)+1,e.insertBefore(r,v(t))}}}return Ot(t),!0}return t instanceof c&&!function(t){let e=y(t);e&&e.tagName||(e={namespaceURI:bt,tagName:\"template\"});const i=be(t.tagName),n=be(e.tagName);return!!At[t.namespaceURI]&&(t.namespaceURI===pt?e.namespaceURI===ft?\"svg\"===i:e.namespaceURI===mt?\"svg\"===i&&(\"annotation-xml\"===n||xt[n]):Boolean(Nt[i]):t.namespaceURI===mt?e.namespaceURI===ft?\"math\"===i:e.namespaceURI===pt?\"math\"===i&&Ct[n]:Boolean(It[i]):t.namespaceURI===ft?!(e.namespaceURI===pt&&!Ct[n])&&!(e.namespaceURI===mt&&!xt[n])&&!It[i]&&(Et[i]||!Nt[i]):!(\"application/xhtml+xml\"!==St||!At[t.namespaceURI]))}(t)?(Ot(t),!0):\"noscript\"!==n&&\"noembed\"!==n&&\"noframes\"!==n||!Se(/<\\/no(script|embed|frames)/i,t.innerHTML)?(Y&&t.nodeType===ei&&(e=t.textContent,me([L,D,N],(t=>{e=ye(e,t,\" \")})),t.textContent!==e&&(fe(i.removed,{element:t.cloneNode()}),t.textContent=e)),jt(w.afterSanitizeElements,t,null),!1):(Ot(t),!0)},Ut=function(t,e,i){if(nt&&(\"id\"===e||\"name\"===e)&&(i in n||i in wt))return!1;if(J&&!q[e]&&Se(I,e));else if(H&&Se(O,e));else if(!W[e]||q[e]){if(!(Vt(t)&&(V.tagNameCheck instanceof RegExp&&Se(V.tagNameCheck,t)||V.tagNameCheck instanceof Function&&V.tagNameCheck(t))&&(V.attributeNameCheck instanceof RegExp&&Se(V.attributeNameCheck,e)||V.attributeNameCheck instanceof Function&&V.attributeNameCheck(e))||\"is\"===e&&V.allowCustomizedBuiltInElements&&(V.tagNameCheck instanceof RegExp&&Se(V.tagNameCheck,i)||V.tagNameCheck instanceof Function&&V.tagNameCheck(i))))return!1}else if(dt[e]);else if(Se(B,ye(i,P,\"\")));else if(\"src\"!==e&&\"xlink:href\"!==e&&\"href\"!==e||\"script\"===t||0!==xe(i,\"data:\")||!ut[t]){if(K&&!Se(F,ye(i,P,\"\")));else if(i)return!1}else;return!0},Vt=function(t){return\"annotation-xml\"!==t&&Ae(t,M)},zt=function(t){jt(w.beforeSanitizeAttributes,t,null);const{attributes:e}=t;if(!e||Bt(t))return;const n={attrName:\"\",attrValue:\"\",keepAttr:!0,allowedAttributes:W,forceKeepAttr:void 0};let r=e.length;for(;r--;){const o=e[r],{name:s,namespaceURI:a,value:l}=o,c=kt(s);let u=\"value\"===s?l:Ce(l);if(n.attrName=c,n.attrValue=u,n.keepAttr=!0,n.forceKeepAttr=void 0,jt(w.uponSanitizeAttribute,t,n),u=n.attrValue,!rt||\"id\"!==c&&\"name\"!==c||(Ft(s,t),u=\"user-content-\"+u),$&&Se(/((--!?|])>)|<\\/(style|title)/i,u)){Ft(s,t);continue}if(n.forceKeepAttr)continue;if(Ft(s,t),!n.keepAttr)continue;if(!G&&Se(/\\/>/i,u)){Ft(s,t);continue}Y&&me([L,D,N],(t=>{u=ye(u,t,\" \")}));const h=kt(t.nodeName);if(Ut(h,c,u)){if(x&&\"object\"==typeof m&&\"function\"==typeof m.getAttributeType)if(a);else switch(m.getAttributeType(h,c)){case\"TrustedHTML\":u=x.createHTML(u);break;case\"TrustedScriptURL\":u=x.createScriptURL(u)}try{a?t.setAttributeNS(a,s,u):t.setAttribute(s,u),Bt(t)?Ot(t):pe(i.removed)}catch(t){}}}jt(w.afterSanitizeAttributes,t,null)},qt=function t(e){let i=null;const n=Mt(e);for(jt(w.beforeSanitizeShadowDOM,e,null);i=n.nextNode();)jt(w.uponSanitizeShadowNode,i,null),Wt(i),zt(i),i.content instanceof s&&t(i.content);jt(w.afterSanitizeShadowDOM,e,null)};return i.sanitize=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=null,o=null,a=null,c=null;if(vt=!t,vt&&(t=\"\\x3c!--\\x3e\"),\"string\"!=typeof t&&!_t(t)){if(\"function\"!=typeof t.toString)throw Re(\"toString is not a function\");if(\"string\"!=typeof(t=t.toString()))throw Re(\"dirty is not a string, aborting\")}if(!i.isSupported)return t;if(Z||Dt(e),i.removed=[],\"string\"==typeof t&&(st=!1),st){if(t.nodeName){const e=kt(t.nodeName);if(!_[e]||z[e])throw Re(\"root node is forbidden and cannot be sanitized in-place\")}}else if(t instanceof l)n=Pt(\"\\x3c!----\\x3e\"),o=n.ownerDocument.importNode(t,!0),o.nodeType===ti&&\"BODY\"===o.nodeName||\"HTML\"===o.nodeName?n=o:n.appendChild(o);else{if(!tt&&!Y&&!X&&-1===t.indexOf(\"<\"))return x&&it?x.createHTML(t):t;if(n=Pt(t),!n)return tt?null:it?C:\"\"}n&&Q&&Ot(n.firstChild);const u=Mt(st?t:n);for(;a=u.nextNode();)Wt(a),zt(a),a.content instanceof s&&qt(a.content);if(st)return t;if(tt){if(et)for(c=R.call(n.ownerDocument);n.firstChild;)c.appendChild(n.firstChild);else c=n;return(W.shadowroot||W.shadowrootmode)&&(c=T.call(r,c,!0)),c}let h=X?n.outerHTML:n.innerHTML;return X&&_[\"!doctype\"]&&n.ownerDocument&&n.ownerDocument.doctype&&n.ownerDocument.doctype.name&&Se(Xe,n.ownerDocument.doctype.name)&&(h=\"\\n\"+h),Y&&me([L,D,N],(t=>{h=ye(h,t,\" \")})),x&&it?x.createHTML(h):h},i.setConfig=function(){Dt(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),Z=!0},i.clearConfig=function(){Tt=null,Z=!1},i.isValidAttribute=function(t,e,i){Tt||Dt({});const n=kt(t),r=kt(e);return Ut(n,r,i)},i.addHook=function(t,e){\"function\"==typeof e&&fe(w[t],e)},i.removeHook=function(t){return pe(w[t])},i.removeHooks=function(t){w[t]=[]},i.removeAllHooks=function(){w={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},i}();si.addHook(\"uponSanitizeAttribute\",(function(t,e){/^data-trix-/.test(e.attrName)&&(e.forceKeepAttr=!0)}));const ai=\"style href src width height language class\".split(\" \"),li=\"javascript:\".split(\" \"),ci=\"script iframe form noscript\".split(\" \");class ui extends q{static setHTML(t,e){const i=new this(e).sanitize(),n=i.getHTML?i.getHTML():i.outerHTML;t.innerHTML=n}static sanitize(t,e){const i=new this(t,e);return i.sanitize(),i}constructor(t){let{allowedAttributes:e,forbiddenProtocols:i,forbiddenElements:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(...arguments),this.allowedAttributes=e||ai,this.forbiddenProtocols=i||li,this.forbiddenElements=n||ci,this.body=hi(t)}sanitize(){return this.sanitizeElements(),this.normalizeListElementNesting(),si.setConfig(l),this.body=si.sanitize(this.body),this.body}getHTML(){return this.body.innerHTML}getBody(){return this.body}sanitizeElements(){const t=R(this.body),e=[];for(;t.nextNode();){const i=t.currentNode;switch(i.nodeType){case Node.ELEMENT_NODE:this.elementIsRemovable(i)?e.push(i):this.sanitizeElement(i);break;case Node.COMMENT_NODE:e.push(i)}}return e.forEach((t=>S(t))),this.body}sanitizeElement(t){return t.hasAttribute(\"href\")&&this.forbiddenProtocols.includes(t.protocol)&&t.removeAttribute(\"href\"),Array.from(t.attributes).forEach((e=>{let{name:i}=e;this.allowedAttributes.includes(i)||0===i.indexOf(\"data-trix\")||t.removeAttribute(i)})),t}normalizeListElementNesting(){return Array.from(this.body.querySelectorAll(\"ul,ol\")).forEach((t=>{const e=t.previousElementSibling;e&&\"li\"===k(e)&&e.appendChild(t)})),this.body}elementIsRemovable(t){if((null==t?void 0:t.nodeType)===Node.ELEMENT_NODE)return this.elementIsForbidden(t)||this.elementIsntSerializable(t)}elementIsForbidden(t){return this.forbiddenElements.includes(k(t))}elementIsntSerializable(t){return\"false\"===t.getAttribute(\"data-trix-serialize\")&&!P(t)}}const hi=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\";t=t.replace(/<\\/html[^>]*>[^]*$/i,\"\");const e=document.implementation.createHTMLDocument(\"\");return e.documentElement.innerHTML=t,Array.from(e.head.querySelectorAll(\"style\")).forEach((t=>{e.body.appendChild(t)})),e.body},{css:di}=z;class gi extends ie{constructor(){super(...arguments),this.attachment=this.object,this.attachment.uploadProgressDelegate=this,this.attachmentPiece=this.options.piece}createContentNodes(){return[]}createNodes(){let t;const e=t=T({tagName:\"figure\",className:this.getClassName(),data:this.getData(),editable:!1}),i=this.getHref();return i&&(t=T({tagName:\"a\",editable:!1,attributes:{href:i,tabindex:-1}}),e.appendChild(t)),this.attachment.hasContent()?ui.setHTML(t,this.attachment.getContent()):this.createContentNodes().forEach((e=>{t.appendChild(e)})),t.appendChild(this.createCaptionElement()),this.attachment.isPending()&&(this.progressElement=T({tagName:\"progress\",attributes:{class:di.attachmentProgress,value:this.attachment.getUploadProgress(),max:100},data:{trixMutable:!0,trixStoreKey:[\"progressElement\",this.attachment.id].join(\"/\")}}),e.appendChild(this.progressElement)),[mi(\"left\"),e,mi(\"right\")]}createCaptionElement(){const t=T({tagName:\"figcaption\",className:di.attachmentCaption}),e=this.attachmentPiece.getCaption();if(e)t.classList.add(\"\".concat(di.attachmentCaption,\"--edited\")),t.textContent=e;else{let e,i;const n=this.getCaptionConfig();if(n.name&&(e=this.attachment.getFilename()),n.size&&(i=this.attachment.getFormattedFilesize()),e){const i=T({tagName:\"span\",className:di.attachmentName,textContent:e});t.appendChild(i)}if(i){e&&t.appendChild(document.createTextNode(\" \"));const n=T({tagName:\"span\",className:di.attachmentSize,textContent:i});t.appendChild(n)}}return t}getClassName(){const t=[di.attachment,\"\".concat(di.attachment,\"--\").concat(this.attachment.getType())],e=this.attachment.getExtension();return e&&t.push(\"\".concat(di.attachment,\"--\").concat(e)),t.join(\" \")}getData(){const t={trixAttachment:JSON.stringify(this.attachment),trixContentType:this.attachment.getContentType(),trixId:this.attachment.id},{attributes:e}=this.attachmentPiece;return e.isEmpty()||(t.trixAttributes=JSON.stringify(e)),this.attachment.isPending()&&(t.trixSerialize=!1),t}getHref(){if(!pi(this.attachment.getContent(),\"a\"))return this.attachment.getHref()}getCaptionConfig(){var t;const e=this.attachment.getType(),n=kt(null===(t=i[e])||void 0===t?void 0:t.caption);return\"file\"===e&&(n.name=!0),n}findProgressElement(){var t;return null===(t=this.findElement())||void 0===t?void 0:t.querySelector(\"progress\")}attachmentDidChangeUploadProgress(){const t=this.attachment.getUploadProgress(),e=this.findProgressElement();e&&(e.value=t)}}const mi=t=>T({tagName:\"span\",textContent:d,data:{trixCursorTarget:t,trixSerialize:!1}}),pi=function(t,e){const i=T(\"div\");return ui.setHTML(i,t||\"\"),i.querySelector(e)};class fi extends gi{constructor(){super(...arguments),this.attachment.previewDelegate=this}createContentNodes(){return this.image=T({tagName:\"img\",attributes:{src:\"\"},data:{trixMutable:!0}}),this.refresh(this.image),[this.image]}createCaptionElement(){const t=super.createCaptionElement(...arguments);return t.textContent||t.setAttribute(\"data-trix-placeholder\",c.captionPlaceholder),t}refresh(t){var e;t||(t=null===(e=this.findElement())||void 0===e?void 0:e.querySelector(\"img\"));if(t)return this.updateAttributesForImage(t)}updateAttributesForImage(t){const e=this.attachment.getURL(),i=this.attachment.getPreviewURL();if(t.src=i||e,i===e)t.removeAttribute(\"data-trix-serialized-attributes\");else{const i=JSON.stringify({src:e});t.setAttribute(\"data-trix-serialized-attributes\",i)}const n=this.attachment.getWidth(),r=this.attachment.getHeight();null!=n&&(t.width=n),null!=r&&(t.height=r);const o=[\"imageElement\",this.attachment.id,t.src,t.width,t.height].join(\"/\");t.dataset.trixStoreKey=o}attachmentDidChangeAttributes(){return this.refresh(this.image),this.refresh()}}class bi extends ie{constructor(){super(...arguments),this.piece=this.object,this.attributes=this.piece.getAttributes(),this.textConfig=this.options.textConfig,this.context=this.options.context,this.piece.attachment?this.attachment=this.piece.attachment:this.string=this.piece.toString()}createNodes(){let t=this.attachment?this.createAttachmentNodes():this.createStringNodes();const e=this.createElement();if(e){const i=function(t){for(;null!==(e=t)&&void 0!==e&&e.firstElementChild;){var e;t=t.firstElementChild}return t}(e);Array.from(t).forEach((t=>{i.appendChild(t)})),t=[e]}return t}createAttachmentNodes(){const t=this.attachment.isPreviewable()?fi:gi;return this.createChildView(t,this.piece.attachment,{piece:this.piece}).getNodes()}createStringNodes(){var t;if(null!==(t=this.textConfig)&&void 0!==t&&t.plaintext)return[document.createTextNode(this.string)];{const t=[],e=this.string.split(\"\\n\");for(let i=0;i0){const e=T(\"br\");t.push(e)}if(n.length){const e=document.createTextNode(this.preserveSpaces(n));t.push(e)}}return t}}createElement(){let t,e,i;const n={};for(e in this.attributes){i=this.attributes[e];const o=ft(e);if(o){if(o.tagName){var r;const e=T(o.tagName);r?(r.appendChild(e),r=e):t=r=e}if(o.styleProperty&&(n[o.styleProperty]=i),o.style)for(e in o.style)i=o.style[e],n[e]=i}}if(Object.keys(n).length)for(e in t||(t=T(\"span\")),n)i=n[e],t.style[e]=i;return t}createContainerElement(){for(const t in this.attributes){const e=this.attributes[t],i=ft(t);if(i&&i.groupTagName){const n={};return n[t]=e,T(i.groupTagName,n)}}}preserveSpaces(t){return this.context.isLast&&(t=t.replace(/\\ $/,g)),t=t.replace(/(\\S)\\ {3}(\\S)/g,\"$1 \".concat(g,\" $2\")).replace(/\\ {2}/g,\"\".concat(g,\" \")).replace(/\\ {2}/g,\" \".concat(g)),(this.context.isFirst||this.context.followsWhitespace)&&(t=t.replace(/^\\ /,g)),t}}class vi extends ie{constructor(){super(...arguments),this.text=this.object,this.textConfig=this.options.textConfig}createNodes(){const t=[],e=Xt.groupObjects(this.getPieces()),i=e.length-1;for(let r=0;r!t.hasAttribute(\"blockBreak\")))}}const Ai=t=>/\\s$/.test(null==t?void 0:t.toString()),{css:yi}=z;class xi extends ie{constructor(){super(...arguments),this.block=this.object,this.attributes=this.block.getAttributes()}createNodes(){const t=[document.createComment(\"block\")];if(this.block.isEmpty())t.push(T(\"br\"));else{var e;const i=null===(e=mt(this.block.getLastAttribute()))||void 0===e?void 0:e.text,n=this.findOrCreateCachedChildView(vi,this.block.text,{textConfig:i});t.push(...Array.from(n.getNodes()||[])),this.shouldAddExtraNewlineElement()&&t.push(T(\"br\"))}if(this.attributes.length)return t;{let e;const{tagName:i}=n.default;this.block.isRTL()&&(e={dir:\"rtl\"});const r=T({tagName:i,attributes:e});return t.forEach((t=>r.appendChild(t))),[r]}}createContainerElement(t){const e={};let i;const n=this.attributes[t],{tagName:r,htmlAttributes:o=[]}=mt(n);if(0===t&&this.block.isRTL()&&Object.assign(e,{dir:\"rtl\"}),\"attachmentGallery\"===n){const t=this.block.getBlockBreakPosition();i=\"\".concat(yi.attachmentGallery,\" \").concat(yi.attachmentGallery,\"--\").concat(t)}return Object.entries(this.block.htmlAttributes).forEach((t=>{let[i,n]=t;o.includes(i)&&(e[i]=n)})),T({tagName:r,className:i,attributes:e})}shouldAddExtraNewlineElement(){return/\\n\\n$/.test(this.block.toString())}}class Ci extends ie{static render(t){const e=T(\"div\"),i=new this(t,{element:e});return i.render(),i.sync(),e}constructor(){super(...arguments),this.element=this.options.element,this.elementStore=new Qt,this.setDocument(this.object)}setDocument(t){t.isEqualTo(this.document)||(this.document=this.object=t)}render(){if(this.childViews=[],this.shadowElement=T(\"div\"),!this.document.isEmpty()){const t=Xt.groupObjects(this.document.getBlocks(),{asTree:!0});Array.from(t).forEach((t=>{const e=this.findOrCreateCachedChildView(xi,t);Array.from(e.getNodes()).map((t=>this.shadowElement.appendChild(t)))}))}}isSynced(){return Si(this.shadowElement,this.element)}sync(){const t=this.createDocumentFragmentForSync();for(;this.element.lastChild;)this.element.removeChild(this.element.lastChild);return this.element.appendChild(t),this.didSync()}didSync(){return this.elementStore.reset(Ei(this.element)),Rt((()=>this.garbageCollectCachedViews()))}createDocumentFragmentForSync(){const t=document.createDocumentFragment();return Array.from(this.shadowElement.childNodes).forEach((e=>{t.appendChild(e.cloneNode(!0))})),Array.from(Ei(t)).forEach((t=>{const e=this.elementStore.remove(t);e&&t.parentNode.replaceChild(e,t)})),t}}const Ei=t=>t.querySelectorAll(\"[data-trix-store-key]\"),Si=(t,e)=>Ri(t.innerHTML)===Ri(e.innerHTML),Ri=t=>t.replace(/ /g,\" \");function ki(t){var e,i;function n(e,i){try{var o=t[e](i),s=o.value,a=s instanceof Ti;Promise.resolve(a?s.v:s).then((function(i){if(a){var l=\"return\"===e?\"return\":\"next\";if(!s.k||i.done)return n(l,i);i=t[l](i).value}r(o.done?\"return\":\"normal\",i)}),(function(t){n(\"throw\",t)}))}catch(t){r(\"throw\",t)}}function r(t,r){switch(t){case\"return\":e.resolve({value:r,done:!0});break;case\"throw\":e.reject(r);break;default:e.resolve({value:r,done:!1})}(e=e.next)?n(e.key,e.arg):i=null}this._invoke=function(t,r){return new Promise((function(o,s){var a={key:t,arg:r,resolve:o,reject:s,next:null};i?i=i.next=a:(e=i=a,n(t,r))}))},\"function\"!=typeof t.return&&(this.return=void 0)}function Ti(t,e){this.v=t,this.k=e}function wi(t,e,i){return(e=Li(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function Li(t){var e=function(t,e){if(\"object\"!=typeof t||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,e||\"default\");if(\"object\"!=typeof n)return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"==typeof e?e:String(e)}ki.prototype[\"function\"==typeof Symbol&&Symbol.asyncIterator||\"@@asyncIterator\"]=function(){return this},ki.prototype.next=function(t){return this._invoke(\"next\",t)},ki.prototype.throw=function(t){return this._invoke(\"throw\",t)},ki.prototype.return=function(t){return this._invoke(\"return\",t)};function Di(t,e){return Oi(t,Ii(t,e,\"get\"))}function Ni(t,e,i){return Fi(t,Ii(t,e,\"set\"),i),i}function Ii(t,e,i){if(!e.has(t))throw new TypeError(\"attempted to \"+i+\" private field on non-instance\");return e.get(t)}function Oi(t,e){return e.get?e.get.call(t):e.value}function Fi(t,e,i){if(e.set)e.set.call(t,i);else{if(!e.writable)throw new TypeError(\"attempted to set read only private field\");e.value=i}}function Pi(t,e,i){if(!e.has(t))throw new TypeError(\"attempted to get private field on non-instance\");return i}function Mi(t,e){if(e.has(t))throw new TypeError(\"Cannot initialize the same private elements twice on an object\")}function Bi(t,e,i){Mi(t,e),e.set(t,i)}class _i extends rt{static registerType(t,e){e.type=t,this.types[t]=e}static fromJSON(t){const e=this.types[t.type];if(e)return e.fromJSON(t)}constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(...arguments),this.attributes=Ht.box(e)}copyWithAttributes(t){return new this.constructor(this.getValue(),t)}copyWithAdditionalAttributes(t){return this.copyWithAttributes(this.attributes.merge(t))}copyWithoutAttribute(t){return this.copyWithAttributes(this.attributes.remove(t))}copy(){return this.copyWithAttributes(this.attributes)}getAttribute(t){return this.attributes.get(t)}getAttributesHash(){return this.attributes}getAttributes(){return this.attributes.toObject()}hasAttribute(t){return this.attributes.has(t)}hasSameStringValueAsPiece(t){return t&&this.toString()===t.toString()}hasSameAttributesAsPiece(t){return t&&(this.attributes===t.attributes||this.attributes.isEqualTo(t.attributes))}isBlockBreak(){return!1}isEqualTo(t){return super.isEqualTo(...arguments)||this.hasSameConstructorAs(t)&&this.hasSameStringValueAsPiece(t)&&this.hasSameAttributesAsPiece(t)}isEmpty(){return 0===this.length}isSerializable(){return!0}toJSON(){return{type:this.constructor.type,attributes:this.getAttributes()}}contentsForInspection(){return{type:this.constructor.type,attributes:this.attributes.inspect()}}canBeGrouped(){return this.hasAttribute(\"href\")}canBeGroupedWith(t){return this.getAttribute(\"href\")===t.getAttribute(\"href\")}getLength(){return this.length}canBeConsolidatedWith(t){return!1}}wi(_i,\"types\",{});class ji extends ee{constructor(t){super(...arguments),this.url=t}perform(t){const e=new Image;e.onload=()=>(e.width=this.width=e.naturalWidth,e.height=this.height=e.naturalHeight,t(!0,e)),e.onerror=()=>t(!1),e.src=this.url}}class Wi extends rt{static attachmentForFile(t){const e=new this(this.attributesForFile(t));return e.setFile(t),e}static attributesForFile(t){return new Ht({filename:t.name,filesize:t.size,contentType:t.type})}static fromJSON(t){return new this(t)}constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(t),this.releaseFile=this.releaseFile.bind(this),this.attributes=Ht.box(t),this.didChangeAttributes()}getAttribute(t){return this.attributes.get(t)}hasAttribute(t){return this.attributes.has(t)}getAttributes(){return this.attributes.toObject()}setAttributes(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const e=this.attributes.merge(t);var i,n,r,o;if(!this.attributes.isEqualTo(e))return this.attributes=e,this.didChangeAttributes(),null===(i=this.previewDelegate)||void 0===i||null===(n=i.attachmentDidChangeAttributes)||void 0===n||n.call(i,this),null===(r=this.delegate)||void 0===r||null===(o=r.attachmentDidChangeAttributes)||void 0===o?void 0:o.call(r,this)}didChangeAttributes(){if(this.isPreviewable())return this.preloadURL()}isPending(){return null!=this.file&&!(this.getURL()||this.getHref())}isPreviewable(){return this.attributes.has(\"previewable\")?this.attributes.get(\"previewable\"):Wi.previewablePattern.test(this.getContentType())}getType(){return this.hasContent()?\"content\":this.isPreviewable()?\"preview\":\"file\"}getURL(){return this.attributes.get(\"url\")}getHref(){return this.attributes.get(\"href\")}getFilename(){return this.attributes.get(\"filename\")||\"\"}getFilesize(){return this.attributes.get(\"filesize\")}getFormattedFilesize(){const t=this.attributes.get(\"filesize\");return\"number\"==typeof t?h.formatter(t):\"\"}getExtension(){var t;return null===(t=this.getFilename().match(/\\.(\\w+)$/))||void 0===t?void 0:t[1].toLowerCase()}getContentType(){return this.attributes.get(\"contentType\")}hasContent(){return this.attributes.has(\"content\")}getContent(){return this.attributes.get(\"content\")}getWidth(){return this.attributes.get(\"width\")}getHeight(){return this.attributes.get(\"height\")}getFile(){return this.file}setFile(t){if(this.file=t,this.isPreviewable())return this.preloadFile()}releaseFile(){this.releasePreloadedFile(),this.file=null}getUploadProgress(){return null!=this.uploadProgress?this.uploadProgress:0}setUploadProgress(t){var e,i;if(this.uploadProgress!==t)return this.uploadProgress=t,null===(e=this.uploadProgressDelegate)||void 0===e||null===(i=e.attachmentDidChangeUploadProgress)||void 0===i?void 0:i.call(e,this)}toJSON(){return this.getAttributes()}getCacheKey(){return[super.getCacheKey(...arguments),this.attributes.getCacheKey(),this.getPreviewURL()].join(\"/\")}getPreviewURL(){return this.previewURL||this.preloadingURL}setPreviewURL(t){var e,i,n,r;if(t!==this.getPreviewURL())return this.previewURL=t,null===(e=this.previewDelegate)||void 0===e||null===(i=e.attachmentDidChangeAttributes)||void 0===i||i.call(e,this),null===(n=this.delegate)||void 0===n||null===(r=n.attachmentDidChangePreviewURL)||void 0===r?void 0:r.call(n,this)}preloadURL(){return this.preload(this.getURL(),this.releaseFile)}preloadFile(){if(this.file)return this.fileObjectURL=URL.createObjectURL(this.file),this.preload(this.fileObjectURL)}releasePreloadedFile(){this.fileObjectURL&&(URL.revokeObjectURL(this.fileObjectURL),this.fileObjectURL=null)}preload(t,e){if(t&&t!==this.getPreviewURL()){this.preloadingURL=t;return new ji(t).then((i=>{let{width:n,height:r}=i;return this.getWidth()&&this.getHeight()||this.setAttributes({width:n,height:r}),this.preloadingURL=null,this.setPreviewURL(t),null==e?void 0:e()})).catch((()=>(this.preloadingURL=null,null==e?void 0:e())))}}}wi(Wi,\"previewablePattern\",/^image(\\/(gif|png|webp|jpe?g)|$)/);class Ui extends _i{static fromJSON(t){return new this(Wi.fromJSON(t.attachment),t.attributes)}constructor(t){super(...arguments),this.attachment=t,this.length=1,this.ensureAttachmentExclusivelyHasAttribute(\"href\"),this.attachment.hasContent()||this.removeProhibitedAttributes()}ensureAttachmentExclusivelyHasAttribute(t){this.hasAttribute(t)&&(this.attachment.hasAttribute(t)||this.attachment.setAttributes(this.attributes.slice([t])),this.attributes=this.attributes.remove(t))}removeProhibitedAttributes(){const t=this.attributes.slice(Ui.permittedAttributes);t.isEqualTo(this.attributes)||(this.attributes=t)}getValue(){return this.attachment}isSerializable(){return!this.attachment.isPending()}getCaption(){return this.attributes.get(\"caption\")||\"\"}isEqualTo(t){var e;return super.isEqualTo(t)&&this.attachment.id===(null==t||null===(e=t.attachment)||void 0===e?void 0:e.id)}toString(){return\"\"}toJSON(){const t=super.toJSON(...arguments);return t.attachment=this.attachment,t}getCacheKey(){return[super.getCacheKey(...arguments),this.attachment.getCacheKey()].join(\"/\")}toConsole(){return JSON.stringify(this.toString())}}wi(Ui,\"permittedAttributes\",[\"caption\",\"presentation\"]),_i.registerType(\"attachment\",Ui);class Vi extends _i{static fromJSON(t){return new this(t.string,t.attributes)}constructor(t){super(...arguments),this.string=(t=>t.replace(/\\r\\n?/g,\"\\n\"))(t),this.length=this.string.length}getValue(){return this.string}toString(){return this.string.toString()}isBlockBreak(){return\"\\n\"===this.toString()&&!0===this.getAttribute(\"blockBreak\")}toJSON(){const t=super.toJSON(...arguments);return t.string=this.string,t}canBeConsolidatedWith(t){return t&&this.hasSameConstructorAs(t)&&this.hasSameAttributesAsPiece(t)}consolidateWith(t){return new this.constructor(this.toString()+t.toString(),this.attributes)}splitAtOffset(t){let e,i;return 0===t?(e=null,i=this):t===this.length?(e=this,i=null):(e=new this.constructor(this.string.slice(0,t),this.attributes),i=new this.constructor(this.string.slice(t),this.attributes)),[e,i]}toConsole(){let{string:t}=this;return t.length>15&&(t=t.slice(0,14)+\"…\"),JSON.stringify(t.toString())}}_i.registerType(\"string\",Vi);class zi extends rt{static box(t){return t instanceof this?t:new this(t)}constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];super(...arguments),this.objects=t.slice(0),this.length=this.objects.length}indexOf(t){return this.objects.indexOf(t)}splice(){for(var t=arguments.length,e=new Array(t),i=0;it(e,i)))}insertObjectAtIndex(t,e){return this.splice(e,0,t)}insertSplittableListAtIndex(t,e){return this.splice(e,0,...t.objects)}insertSplittableListAtPosition(t,e){const[i,n]=this.splitObjectAtPosition(e);return new this.constructor(i).insertSplittableListAtIndex(t,n)}editObjectAtIndex(t,e){return this.replaceObjectAtIndex(e(this.objects[t]),t)}replaceObjectAtIndex(t,e){return this.splice(e,1,t)}removeObjectAtIndex(t){return this.splice(t,1)}getObjectAtIndex(t){return this.objects[t]}getSplittableListInRange(t){const[e,i,n]=this.splitObjectsAtRange(t);return new this.constructor(e.slice(i,n+1))}selectSplittableList(t){const e=this.objects.filter((e=>t(e)));return new this.constructor(e)}removeObjectsInRange(t){const[e,i,n]=this.splitObjectsAtRange(t);return new this.constructor(e).splice(i,n-i+1)}transformObjectsInRange(t,e){const[i,n,r]=this.splitObjectsAtRange(t),o=i.map(((t,i)=>n<=i&&i<=r?e(t):t));return new this.constructor(o)}splitObjectsAtRange(t){let e,[i,n,r]=this.splitObjectAtPosition(Hi(t));return[i,e]=new this.constructor(i).splitObjectAtPosition(Ji(t)+r),[i,n,e-1]}getObjectAtPosition(t){const{index:e}=this.findIndexAndOffsetAtPosition(t);return this.objects[e]}splitObjectAtPosition(t){let e,i;const{index:n,offset:r}=this.findIndexAndOffsetAtPosition(t),o=this.objects.slice(0);if(null!=n)if(0===r)e=n,i=0;else{const t=this.getObjectAtIndex(n),[s,a]=t.splitAtOffset(r);o.splice(n,1,s,a),e=n+1,i=s.getLength()-r}else e=o.length,i=0;return[o,e,i]}consolidate(){const t=[];let e=this.objects[0];return this.objects.slice(1).forEach((i=>{var n,r;null!==(n=(r=e).canBeConsolidatedWith)&&void 0!==n&&n.call(r,i)?e=e.consolidateWith(i):(t.push(e),e=i)})),e&&t.push(e),new this.constructor(t)}consolidateFromIndexToIndex(t,e){const i=this.objects.slice(0).slice(t,e+1),n=new this.constructor(i).consolidate().toArray();return this.splice(t,i.length,...n)}findIndexAndOffsetAtPosition(t){let e,i=0;for(e=0;ethis.endPosition+=t.getLength()))),this.endPosition}toString(){return this.objects.join(\"\")}toArray(){return this.objects.slice(0)}toJSON(){return this.toArray()}isEqualTo(t){return super.isEqualTo(...arguments)||qi(this.objects,null==t?void 0:t.objects)}contentsForInspection(){return{objects:\"[\".concat(this.objects.map((t=>t.inspect())).join(\", \"),\"]\")}}}const qi=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(t.length!==e.length)return!1;let i=!0;for(let n=0;nt[0],Ji=t=>t[1];class Ki extends rt{static textForAttachmentWithAttributes(t,e){return new this([new Ui(t,e)])}static textForStringWithAttributes(t,e){return new this([new Vi(t,e)])}static fromJSON(t){return new this(Array.from(t).map((t=>_i.fromJSON(t))))}constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];super(...arguments);const e=t.filter((t=>!t.isEmpty()));this.pieceList=new zi(e)}copy(){return this.copyWithPieceList(this.pieceList)}copyWithPieceList(t){return new this.constructor(t.consolidate().toArray())}copyUsingObjectMap(t){const e=this.getPieces().map((e=>t.find(e)||e));return new this.constructor(e)}appendText(t){return this.insertTextAtPosition(t,this.getLength())}insertTextAtPosition(t,e){return this.copyWithPieceList(this.pieceList.insertSplittableListAtPosition(t.pieceList,e))}removeTextAtRange(t){return this.copyWithPieceList(this.pieceList.removeObjectsInRange(t))}replaceTextAtRange(t,e){return this.removeTextAtRange(e).insertTextAtPosition(t,e[0])}moveTextFromRangeToPosition(t,e){if(t[0]<=e&&e<=t[1])return;const i=this.getTextAtRange(t),n=i.getLength();return t[0]e.copyWithAdditionalAttributes(t))))}removeAttributeAtRange(t,e){return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e,(e=>e.copyWithoutAttribute(t))))}setAttributesAtRange(t,e){return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e,(e=>e.copyWithAttributes(t))))}getAttributesAtPosition(t){var e;return(null===(e=this.pieceList.getObjectAtPosition(t))||void 0===e?void 0:e.getAttributes())||{}}getCommonAttributes(){const t=Array.from(this.pieceList.toArray()).map((t=>t.getAttributes()));return Ht.fromCommonAttributesOfObjects(t).toObject()}getCommonAttributesAtRange(t){return this.getTextAtRange(t).getCommonAttributes()||{}}getExpandedRangeForAttributeAtOffset(t,e){let i,n=i=e;const r=this.getLength();for(;n>0&&this.getCommonAttributesAtRange([n-1,i])[t];)n--;for(;i!!t.attachment))}getAttachments(){return this.getAttachmentPieces().map((t=>t.attachment))}getAttachmentAndPositionById(t){let e=0;for(const n of this.pieceList.toArray()){var i;if((null===(i=n.attachment)||void 0===i?void 0:i.id)===t)return{attachment:n.attachment,position:e};e+=n.length}return{attachment:null,position:null}}getAttachmentById(t){const{attachment:e}=this.getAttachmentAndPositionById(t);return e}getRangeOfAttachment(t){const e=this.getAttachmentAndPositionById(t.id),i=e.position;if(t=e.attachment)return[i,i+1]}updateAttributesForAttachment(t,e){const i=this.getRangeOfAttachment(e);return i?this.addAttributesAtRange(t,i):this}getLength(){return this.pieceList.getEndPosition()}isEmpty(){return 0===this.getLength()}isEqualTo(t){var e;return super.isEqualTo(t)||(null==t||null===(e=t.pieceList)||void 0===e?void 0:e.isEqualTo(this.pieceList))}isBlockBreak(){return 1===this.getLength()&&this.pieceList.getObjectAtIndex(0).isBlockBreak()}eachPiece(t){return this.pieceList.eachObject(t)}getPieces(){return this.pieceList.toArray()}getPieceAtPosition(t){return this.pieceList.getObjectAtPosition(t)}contentsForInspection(){return{pieceList:this.pieceList.inspect()}}toSerializableText(){const t=this.pieceList.selectSplittableList((t=>t.isSerializable()));return this.copyWithPieceList(t)}toString(){return this.pieceList.toString()}toJSON(){return this.pieceList.toJSON()}toConsole(){return JSON.stringify(this.pieceList.toArray().map((t=>JSON.parse(t.toConsole()))))}getDirection(){return lt(this.toString())}isRTL(){return\"rtl\"===this.getDirection()}}class Gi extends rt{static fromJSON(t){return new this(Ki.fromJSON(t.text),t.attributes,t.htmlAttributes)}constructor(t,e,i){super(...arguments),this.text=Yi(t||new Ki),this.attributes=e||[],this.htmlAttributes=i||{}}isEmpty(){return this.text.isBlockBreak()}isEqualTo(t){return!!super.isEqualTo(t)||this.text.isEqualTo(null==t?void 0:t.text)&&ot(this.attributes,null==t?void 0:t.attributes)&&Tt(this.htmlAttributes,null==t?void 0:t.htmlAttributes)}copyWithText(t){return new Gi(t,this.attributes,this.htmlAttributes)}copyWithoutText(){return this.copyWithText(null)}copyWithAttributes(t){return new Gi(this.text,t,this.htmlAttributes)}copyWithoutAttributes(){return this.copyWithAttributes(null)}copyUsingObjectMap(t){const e=t.find(this.text);return e?this.copyWithText(e):this.copyWithText(this.text.copyUsingObjectMap(t))}addAttribute(t){const e=this.attributes.concat(en(t));return this.copyWithAttributes(e)}addHTMLAttribute(t,e){const i=Object.assign({},this.htmlAttributes,{[t]:e});return new Gi(this.text,this.attributes,i)}removeAttribute(t){const{listAttribute:e}=mt(t),i=rn(rn(this.attributes,t),e);return this.copyWithAttributes(i)}removeLastAttribute(){return this.removeAttribute(this.getLastAttribute())}getLastAttribute(){return nn(this.attributes)}getAttributes(){return this.attributes.slice(0)}getAttributeLevel(){return this.attributes.length}getAttributeAtLevel(t){return this.attributes[t-1]}hasAttribute(t){return this.attributes.includes(t)}hasAttributes(){return this.getAttributeLevel()>0}getLastNestableAttribute(){return nn(this.getNestableAttributes())}getNestableAttributes(){return this.attributes.filter((t=>mt(t).nestable))}getNestingLevel(){return this.getNestableAttributes().length}decreaseNestingLevel(){const t=this.getLastNestableAttribute();return t?this.removeAttribute(t):this}increaseNestingLevel(){const t=this.getLastNestableAttribute();if(t){const e=this.attributes.lastIndexOf(t),i=st(this.attributes,e+1,0,...en(t));return this.copyWithAttributes(i)}return this}getListItemAttributes(){return this.attributes.filter((t=>mt(t).listAttribute))}isListItem(){var t;return null===(t=mt(this.getLastAttribute()))||void 0===t?void 0:t.listAttribute}isTerminalBlock(){var t;return null===(t=mt(this.getLastAttribute()))||void 0===t?void 0:t.terminal}breaksOnReturn(){var t;return null===(t=mt(this.getLastAttribute()))||void 0===t?void 0:t.breakOnReturn}findLineBreakInDirectionFromPosition(t,e){const i=this.toString();let n;switch(t){case\"forward\":n=i.indexOf(\"\\n\",e);break;case\"backward\":n=i.slice(0,e).lastIndexOf(\"\\n\")}if(-1!==n)return n}contentsForInspection(){return{text:this.text.inspect(),attributes:this.attributes}}toString(){return this.text.toString()}toJSON(){return{text:this.text,attributes:this.attributes,htmlAttributes:this.htmlAttributes}}getDirection(){return this.text.getDirection()}isRTL(){return this.text.isRTL()}getLength(){return this.text.getLength()}canBeConsolidatedWith(t){return!this.hasAttributes()&&!t.hasAttributes()&&this.getDirection()===t.getDirection()}consolidateWith(t){const e=Ki.textForStringWithAttributes(\"\\n\"),i=this.getTextWithoutBlockBreak().appendText(e);return this.copyWithText(i.appendText(t.text))}splitAtOffset(t){let e,i;return 0===t?(e=null,i=this):t===this.getLength()?(e=this,i=null):(e=this.copyWithText(this.text.getTextAtRange([0,t])),i=this.copyWithText(this.text.getTextAtRange([t,this.getLength()]))),[e,i]}getBlockBreakPosition(){return this.text.getLength()-1}getTextWithoutBlockBreak(){return Qi(this.text)?this.text.getTextAtRange([0,this.getBlockBreakPosition()]):this.text.copy()}canBeGrouped(t){return this.attributes[t]}canBeGroupedWith(t,e){const i=t.getAttributes(),r=i[e],o=this.attributes[e];return o===r&&!(!1===mt(o).group&&!(()=>{if(!dt){dt=[];for(const t in n){const{listAttribute:e}=n[t];null!=e&&dt.push(e)}}return dt})().includes(i[e+1]))&&(this.getDirection()===t.getDirection()||t.isEmpty())}}const Yi=function(t){return t=$i(t),t=Zi(t)},$i=function(t){let e=!1;const i=t.getPieces();let n=i.slice(0,i.length-1);const r=i[i.length-1];return r?(n=n.map((t=>t.isBlockBreak()?(e=!0,tn(t)):t)),e?new Ki([...n,r]):t):t},Xi=Ki.textForStringWithAttributes(\"\\n\",{blockBreak:!0}),Zi=function(t){return Qi(t)?t:t.appendText(Xi)},Qi=function(t){const e=t.getLength();if(0===e)return!1;return t.getTextAtRange([e-1,e]).isBlockBreak()},tn=t=>t.copyWithoutAttribute(\"blockBreak\"),en=function(t){const{listAttribute:e}=mt(t);return e?[e,t]:[t]},nn=t=>t.slice(-1)[0],rn=function(t,e){const i=t.lastIndexOf(e);return-1===i?t:st(t,i,1)};class on extends rt{static fromJSON(t){return new this(Array.from(t).map((t=>Gi.fromJSON(t))))}static fromString(t,e){const i=Ki.textForStringWithAttributes(t,e);return new this([new Gi(i)])}constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];super(...arguments),0===t.length&&(t=[new Gi]),this.blockList=zi.box(t)}isEmpty(){const t=this.getBlockAtIndex(0);return 1===this.blockList.length&&t.isEmpty()&&!t.hasAttributes()}copy(){const t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).consolidateBlocks?this.blockList.consolidate().toArray():this.blockList.toArray();return new this.constructor(t)}copyUsingObjectsFromDocument(t){const e=new Zt(t.getObjects());return this.copyUsingObjectMap(e)}copyUsingObjectMap(t){const e=this.getBlocks().map((e=>t.find(e)||e.copyUsingObjectMap(t)));return new this.constructor(e)}copyWithBaseBlockAttributes(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];const e=this.getBlocks().map((e=>{const i=t.concat(e.getAttributes());return e.copyWithAttributes(i)}));return new this.constructor(e)}replaceBlock(t,e){const i=this.blockList.indexOf(t);return-1===i?this:new this.constructor(this.blockList.replaceObjectAtIndex(e,i))}insertDocumentAtRange(t,e){const{blockList:i}=t;e=wt(e);let[n]=e;const{index:r,offset:o}=this.locationFromPosition(n);let s=this;const a=this.getBlockAtPosition(n);return Lt(e)&&a.isEmpty()&&!a.hasAttributes()?s=new this.constructor(s.blockList.removeObjectAtIndex(r)):a.getBlockBreakPosition()===o&&n++,s=s.removeTextAtRange(e),new this.constructor(s.blockList.insertSplittableListAtPosition(i,n))}mergeDocumentAtRange(t,e){let i,n;e=wt(e);const[r]=e,o=this.locationFromPosition(r),s=this.getBlockAtIndex(o.index).getAttributes(),a=t.getBaseBlockAttributes(),l=s.slice(-a.length);if(ot(a,l)){const e=s.slice(0,-a.length);i=t.copyWithBaseBlockAttributes(e)}else i=t.copy({consolidateBlocks:!0}).copyWithBaseBlockAttributes(s);const c=i.getBlockCount(),u=i.getBlockAtIndex(0);if(ot(s,u.getAttributes())){const t=u.getTextWithoutBlockBreak();if(n=this.insertTextAtRange(t,e),c>1){i=new this.constructor(i.getBlocks().slice(1));const e=r+t.getLength();n=n.insertDocumentAtRange(i,e)}}else n=this.insertDocumentAtRange(i,e);return n}insertTextAtRange(t,e){e=wt(e);const[i]=e,{index:n,offset:r}=this.locationFromPosition(i),o=this.removeTextAtRange(e);return new this.constructor(o.blockList.editObjectAtIndex(n,(e=>e.copyWithText(e.text.insertTextAtPosition(t,r)))))}removeTextAtRange(t){let e;t=wt(t);const[i,n]=t;if(Lt(t))return this;const[r,o]=Array.from(this.locationRangeFromRange(t)),s=r.index,a=r.offset,l=this.getBlockAtIndex(s),c=o.index,u=o.offset,h=this.getBlockAtIndex(c);if(n-i==1&&l.getBlockBreakPosition()===a&&h.getBlockBreakPosition()!==u&&\"\\n\"===h.text.getStringAtPosition(u))e=this.blockList.editObjectAtIndex(c,(t=>t.copyWithText(t.text.removeTextAtRange([u,u+1]))));else{let t;const i=l.text.getTextAtRange([0,a]),n=h.text.getTextAtRange([u,h.getLength()]),r=i.appendText(n);t=s!==c&&0===a&&l.getAttributeLevel()>=h.getAttributeLevel()?h.copyWithText(r):l.copyWithText(r);const o=c+1-s;e=this.blockList.splice(s,o,t)}return new this.constructor(e)}moveTextFromRangeToPosition(t,e){let i;t=wt(t);const[n,r]=t;if(n<=e&&e<=r)return this;let o=this.getDocumentAtRange(t),s=this.removeTextAtRange(t);const a=nn=n.editObjectAtIndex(o,(function(){return mt(t)?i.addAttribute(t,e):r[0]===r[1]?i:i.copyWithText(i.text.addAttributeAtRange(t,e,r))})))),new this.constructor(n)}addAttribute(t,e){let{blockList:i}=this;return this.eachBlock(((n,r)=>i=i.editObjectAtIndex(r,(()=>n.addAttribute(t,e))))),new this.constructor(i)}removeAttributeAtRange(t,e){let{blockList:i}=this;return this.eachBlockAtRange(e,(function(e,n,r){mt(t)?i=i.editObjectAtIndex(r,(()=>e.removeAttribute(t))):n[0]!==n[1]&&(i=i.editObjectAtIndex(r,(()=>e.copyWithText(e.text.removeAttributeAtRange(t,n)))))})),new this.constructor(i)}updateAttributesForAttachment(t,e){const i=this.getRangeOfAttachment(e),[n]=Array.from(i),{index:r}=this.locationFromPosition(n),o=this.getTextAtIndex(r);return new this.constructor(this.blockList.editObjectAtIndex(r,(i=>i.copyWithText(o.updateAttributesForAttachment(t,e)))))}removeAttributeForAttachment(t,e){const i=this.getRangeOfAttachment(e);return this.removeAttributeAtRange(t,i)}setHTMLAttributeAtPosition(t,e,i){const n=this.getBlockAtPosition(t),r=n.addHTMLAttribute(e,i);return this.replaceBlock(n,r)}insertBlockBreakAtRange(t){let e;t=wt(t);const[i]=t,{offset:n}=this.locationFromPosition(i),r=this.removeTextAtRange(t);return 0===n&&(e=[new Gi]),new this.constructor(r.blockList.insertSplittableListAtPosition(new zi(e),i))}applyBlockAttributeAtRange(t,e,i){const n=this.expandRangeToLineBreaksAndSplitBlocks(i);let r=n.document;i=n.range;const o=mt(t);if(o.listAttribute){r=r.removeLastListAttributeAtRange(i,{exceptAttributeName:t});const e=r.convertLineBreaksToBlockBreaksInRange(i);r=e.document,i=e.range}else r=o.exclusive?r.removeBlockAttributesAtRange(i):o.terminal?r.removeLastTerminalAttributeAtRange(i):r.consolidateBlocksAtRange(i);return r.addAttributeAtRange(t,e,i)}removeLastListAttributeAtRange(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{blockList:i}=this;return this.eachBlockAtRange(t,(function(t,n,r){const o=t.getLastAttribute();o&&mt(o).listAttribute&&o!==e.exceptAttributeName&&(i=i.editObjectAtIndex(r,(()=>t.removeAttribute(o))))})),new this.constructor(i)}removeLastTerminalAttributeAtRange(t){let{blockList:e}=this;return this.eachBlockAtRange(t,(function(t,i,n){const r=t.getLastAttribute();r&&mt(r).terminal&&(e=e.editObjectAtIndex(n,(()=>t.removeAttribute(r))))})),new this.constructor(e)}removeBlockAttributesAtRange(t){let{blockList:e}=this;return this.eachBlockAtRange(t,(function(t,i,n){t.hasAttributes()&&(e=e.editObjectAtIndex(n,(()=>t.copyWithoutAttributes())))})),new this.constructor(e)}expandRangeToLineBreaksAndSplitBlocks(t){let e;t=wt(t);let[i,n]=t;const r=this.locationFromPosition(i),o=this.locationFromPosition(n);let s=this;const a=s.getBlockAtIndex(r.index);if(r.offset=a.findLineBreakInDirectionFromPosition(\"backward\",r.offset),null!=r.offset&&(e=s.positionFromLocation(r),s=s.insertBlockBreakAtRange([e,e+1]),o.index+=1,o.offset-=s.getBlockAtIndex(r.index).getLength(),r.index+=1),r.offset=0,0===o.offset&&o.index>r.index)o.index-=1,o.offset=s.getBlockAtIndex(o.index).getBlockBreakPosition();else{const t=s.getBlockAtIndex(o.index);\"\\n\"===t.text.getStringAtRange([o.offset-1,o.offset])?o.offset-=1:o.offset=t.findLineBreakInDirectionFromPosition(\"forward\",o.offset),o.offset!==t.getBlockBreakPosition()&&(e=s.positionFromLocation(o),s=s.insertBlockBreakAtRange([e,e+1]))}return i=s.positionFromLocation(r),n=s.positionFromLocation(o),{document:s,range:t=wt([i,n])}}convertLineBreaksToBlockBreaksInRange(t){t=wt(t);let[e]=t;const i=this.getStringAtRange(t).slice(0,-1);let n=this;return i.replace(/.*?\\n/g,(function(t){e+=t.length,n=n.insertBlockBreakAtRange([e-1,e])})),{document:n,range:t}}consolidateBlocksAtRange(t){t=wt(t);const[e,i]=t,n=this.locationFromPosition(e).index,r=this.locationFromPosition(i).index;return new this.constructor(this.blockList.consolidateFromIndexToIndex(n,r))}getDocumentAtRange(t){t=wt(t);const e=this.blockList.getSplittableListInRange(t).toArray();return new this.constructor(e)}getStringAtRange(t){let e;const i=t=wt(t);return i[i.length-1]!==this.getLength()&&(e=-1),this.getDocumentAtRange(t).toString().slice(0,e)}getBlockAtIndex(t){return this.blockList.getObjectAtIndex(t)}getBlockAtPosition(t){const{index:e}=this.locationFromPosition(t);return this.getBlockAtIndex(e)}getTextAtIndex(t){var e;return null===(e=this.getBlockAtIndex(t))||void 0===e?void 0:e.text}getTextAtPosition(t){const{index:e}=this.locationFromPosition(t);return this.getTextAtIndex(e)}getPieceAtPosition(t){const{index:e,offset:i}=this.locationFromPosition(t);return this.getTextAtIndex(e).getPieceAtPosition(i)}getCharacterAtPosition(t){const{index:e,offset:i}=this.locationFromPosition(t);return this.getTextAtIndex(e).getStringAtRange([i,i+1])}getLength(){return this.blockList.getEndPosition()}getBlocks(){return this.blockList.toArray()}getBlockCount(){return this.blockList.length}getEditCount(){return this.editCount}eachBlock(t){return this.blockList.eachObject(t)}eachBlockAtRange(t,e){let i,n;t=wt(t);const[r,o]=t,s=this.locationFromPosition(r),a=this.locationFromPosition(o);if(s.index===a.index)return i=this.getBlockAtIndex(s.index),n=[s.offset,a.offset],e(i,n,s.index);for(let t=s.index;t<=a.index;t++)if(i=this.getBlockAtIndex(t),i){switch(t){case s.index:n=[s.offset,i.text.getLength()];break;case a.index:n=[0,a.offset];break;default:n=[0,i.text.getLength()]}e(i,n,t)}}getCommonAttributesAtRange(t){t=wt(t);const[e]=t;if(Lt(t))return this.getCommonAttributesAtPosition(e);{const e=[],i=[];return this.eachBlockAtRange(t,(function(t,n){if(n[0]!==n[1])return e.push(t.text.getCommonAttributesAtRange(n)),i.push(sn(t))})),Ht.fromCommonAttributesOfObjects(e).merge(Ht.fromCommonAttributesOfObjects(i)).toObject()}}getCommonAttributesAtPosition(t){let e,i;const{index:n,offset:r}=this.locationFromPosition(t),o=this.getBlockAtIndex(n);if(!o)return{};const s=sn(o),a=o.text.getAttributesAtPosition(r),l=o.text.getAttributesAtPosition(r-1),c=Object.keys(W).filter((t=>W[t].inheritable));for(e in l)i=l[e],(i===a[e]||c.includes(e))&&(s[e]=i);return s}getRangeOfCommonAttributeAtPosition(t,e){const{index:i,offset:n}=this.locationFromPosition(e),r=this.getTextAtIndex(i),[o,s]=Array.from(r.getExpandedRangeForAttributeAtOffset(t,n)),a=this.positionFromLocation({index:i,offset:o}),l=this.positionFromLocation({index:i,offset:s});return wt([a,l])}getBaseBlockAttributes(){let t=this.getBlockAtIndex(0).getAttributes();for(let e=1;e{const e=[];for(let r=0;r{let{text:i}=e;return t=t.concat(i.getAttachmentPieces())})),t}getAttachments(){return this.getAttachmentPieces().map((t=>t.attachment))}getRangeOfAttachment(t){let e=0;const i=this.blockList.toArray();for(let n=0;n{const r=n.getLength();n.hasAttribute(t)&&i.push([e,e+r]),e+=r})),i}findRangesForTextAttribute(t){let{withValue:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=0,n=[];const r=[];return this.getPieces().forEach((o=>{const s=o.getLength();(function(i){return e?i.getAttribute(t)===e:i.hasAttribute(t)})(o)&&(n[1]===i?n[1]=i+s:r.push(n=[i,i+s])),i+=s})),r}locationFromPosition(t){const e=this.blockList.findIndexAndOffsetAtPosition(Math.max(0,t));if(null!=e.index)return e;{const t=this.getBlocks();return{index:t.length-1,offset:t[t.length-1].getLength()}}}positionFromLocation(t){return this.blockList.findPositionAtIndexAndOffset(t.index,t.offset)}locationRangeFromPosition(t){return wt(this.locationFromPosition(t))}locationRangeFromRange(t){if(!(t=wt(t)))return;const[e,i]=Array.from(t),n=this.locationFromPosition(e),r=this.locationFromPosition(i);return wt([n,r])}rangeFromLocationRange(t){let e;t=wt(t);const i=this.positionFromLocation(t[0]);return Lt(t)||(e=this.positionFromLocation(t[1])),wt([i,e])}isEqualTo(t){return this.blockList.isEqualTo(null==t?void 0:t.blockList)}getTexts(){return this.getBlocks().map((t=>t.text))}getPieces(){const t=[];return Array.from(this.getTexts()).forEach((e=>{t.push(...Array.from(e.getPieces()||[]))})),t}getObjects(){return this.getBlocks().concat(this.getTexts()).concat(this.getPieces())}toSerializableDocument(){const t=[];return this.blockList.eachObject((e=>t.push(e.copyWithText(e.text.toSerializableText())))),new this.constructor(t)}toString(){return this.blockList.toString()}toJSON(){return this.blockList.toJSON()}toConsole(){return JSON.stringify(this.blockList.toArray().map((t=>JSON.parse(t.text.toConsole()))))}}const sn=function(t){const e={},i=t.getLastAttribute();return i&&(e[i]=!0),e},an=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{string:t=Wt(t),attributes:e,type:\"string\"}},ln=(t,e)=>{try{return JSON.parse(t.getAttribute(\"data-trix-\".concat(e)))}catch(t){return{}}};class cn extends q{static parse(t,e){const i=new this(t,e);return i.parse(),i}constructor(t){let{referenceElement:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(...arguments),this.html=t,this.referenceElement=e,this.blocks=[],this.blockElements=[],this.processedElements=[]}getDocument(){return on.fromJSON(this.blocks)}parse(){try{this.createHiddenContainer(),ui.setHTML(this.containerElement,this.html);const t=R(this.containerElement,{usingFilter:gn});for(;t.nextNode();)this.processNode(t.currentNode);return this.translateBlockElementMarginsToNewlines()}finally{this.removeHiddenContainer()}}createHiddenContainer(){return this.referenceElement?(this.containerElement=this.referenceElement.cloneNode(!1),this.containerElement.removeAttribute(\"id\"),this.containerElement.setAttribute(\"data-trix-internal\",\"\"),this.containerElement.style.display=\"none\",this.referenceElement.parentNode.insertBefore(this.containerElement,this.referenceElement.nextSibling)):(this.containerElement=T({tagName:\"div\",style:{display:\"none\"}}),document.body.appendChild(this.containerElement))}removeHiddenContainer(){return S(this.containerElement)}processNode(t){switch(t.nodeType){case Node.TEXT_NODE:if(!this.isInsignificantTextNode(t))return this.appendBlockForTextNode(t),this.processTextNode(t);break;case Node.ELEMENT_NODE:return this.appendBlockForElement(t),this.processElement(t)}}appendBlockForTextNode(t){const e=t.parentNode;if(e===this.currentBlockElement&&this.isBlockElement(t.previousSibling))return this.appendStringWithAttributes(\"\\n\");if(e===this.containerElement||this.isBlockElement(e)){var i;const t=this.getBlockAttributes(e),n=this.getBlockHTMLAttributes(e);ot(t,null===(i=this.currentBlock)||void 0===i?void 0:i.attributes)||(this.currentBlock=this.appendBlockForAttributesWithElement(t,e,n),this.currentBlockElement=e)}}appendBlockForElement(t){const e=this.isBlockElement(t),i=C(this.currentBlockElement,t);if(e&&!this.isBlockElement(t.firstChild)){if(!this.isInsignificantTextNode(t.firstChild)||!this.isBlockElement(t.firstElementChild)){const e=this.getBlockAttributes(t),n=this.getBlockHTMLAttributes(t);if(t.firstChild){if(i&&ot(e,this.currentBlock.attributes))return this.appendStringWithAttributes(\"\\n\");this.currentBlock=this.appendBlockForAttributesWithElement(e,t,n),this.currentBlockElement=t}}}else if(this.currentBlockElement&&!i&&!e){const e=this.findParentBlockElement(t);if(e)return this.appendBlockForElement(e);this.currentBlock=this.appendEmptyBlock(),this.currentBlockElement=null}}findParentBlockElement(t){let{parentElement:e}=t;for(;e&&e!==this.containerElement;){if(this.isBlockElement(e)&&this.blockElements.includes(e))return e;e=e.parentElement}return null}processTextNode(t){let e=t.data;var i;un(t.parentNode)||(e=Vt(e),fn(null===(i=t.previousSibling)||void 0===i?void 0:i.textContent)&&(e=mn(e)));return this.appendStringWithAttributes(e,this.getTextAttributes(t.parentNode))}processElement(t){let e;if(P(t)){if(e=ln(t,\"attachment\"),Object.keys(e).length){const i=this.getTextAttributes(t);this.appendAttachmentWithAttributes(e,i),t.innerHTML=\"\"}return this.processedElements.push(t)}switch(k(t)){case\"br\":return this.isExtraBR(t)||this.isBlockElement(t.nextSibling)||this.appendStringWithAttributes(\"\\n\",this.getTextAttributes(t)),this.processedElements.push(t);case\"img\":e={url:t.getAttribute(\"src\"),contentType:\"image\"};const i=(t=>{const e=t.getAttribute(\"width\"),i=t.getAttribute(\"height\"),n={};return e&&(n.width=parseInt(e,10)),i&&(n.height=parseInt(i,10)),n})(t);for(const t in i){const n=i[t];e[t]=n}return this.appendAttachmentWithAttributes(e,this.getTextAttributes(t)),this.processedElements.push(t);case\"tr\":if(this.needsTableSeparator(t))return this.appendStringWithAttributes(j.tableRowSeparator);break;case\"td\":if(this.needsTableSeparator(t))return this.appendStringWithAttributes(j.tableCellSeparator)}}appendBlockForAttributesWithElement(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.blockElements.push(e);const n=function(){return{text:[],attributes:arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},htmlAttributes:arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}}}(t,i);return this.blocks.push(n),n}appendEmptyBlock(){return this.appendBlockForAttributesWithElement([],null)}appendStringWithAttributes(t,e){return this.appendPiece(an(t,e))}appendAttachmentWithAttributes(t,e){return this.appendPiece(function(t){return{attachment:t,attributes:arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},type:\"attachment\"}}(t,e))}appendPiece(t){return 0===this.blocks.length&&this.appendEmptyBlock(),this.blocks[this.blocks.length-1].text.push(t)}appendStringToTextAtIndex(t,e){const{text:i}=this.blocks[e],n=i[i.length-1];if(\"string\"!==(null==n?void 0:n.type))return i.push(an(t));n.string+=t}prependStringToTextAtIndex(t,e){const{text:i}=this.blocks[e],n=i[0];if(\"string\"!==(null==n?void 0:n.type))return i.unshift(an(t));n.string=t+n.string}getTextAttributes(t){let e;const i={};for(const n in W){const r=W[n];if(r.tagName&&y(t,{matchingSelector:r.tagName,untilNode:this.containerElement}))i[n]=!0;else if(r.parser){if(e=r.parser(t),e){let o=!1;for(const i of this.findBlockElementAncestors(t))if(r.parser(i)===e){o=!0;break}o||(i[n]=e)}}else r.styleProperty&&(e=t.style[r.styleProperty],e&&(i[n]=e))}if(P(t)){const n=ln(t,\"attributes\");for(const t in n)e=n[t],i[t]=e}return i}getBlockAttributes(t){const e=[];for(;t&&t!==this.containerElement;){for(const r in n){const o=n[r];var i;if(!1!==o.parse)if(k(t)===o.tagName)(null!==(i=o.test)&&void 0!==i&&i.call(o,t)||!o.test)&&(e.push(r),o.listAttribute&&e.push(o.listAttribute))}t=t.parentNode}return e.reverse()}getBlockHTMLAttributes(t){const e={},i=Object.values(n).find((e=>e.tagName===k(t)));return((null==i?void 0:i.htmlAttributes)||[]).forEach((i=>{t.hasAttribute(i)&&(e[i]=t.getAttribute(i))})),e}findBlockElementAncestors(t){const e=[];for(;t&&t!==this.containerElement;){const i=k(t);L().includes(i)&&e.push(t),t=t.parentNode}return e}isBlockElement(t){if((null==t?void 0:t.nodeType)===Node.ELEMENT_NODE&&!P(t)&&!y(t,{matchingSelector:\"td\",untilNode:this.containerElement}))return L().includes(k(t))||\"block\"===window.getComputedStyle(t).display}isInsignificantTextNode(t){if((null==t?void 0:t.nodeType)!==Node.TEXT_NODE)return;if(!pn(t.data))return;const{parentNode:e,previousSibling:i,nextSibling:n}=t;return hn(e.previousSibling)&&!this.isBlockElement(e.previousSibling)||un(e)?void 0:!i||this.isBlockElement(i)||!n||this.isBlockElement(n)}isExtraBR(t){return\"br\"===k(t)&&this.isBlockElement(t.parentNode)&&t.parentNode.lastChild===t}needsTableSeparator(t){if(j.removeBlankTableCells){var e;const i=null===(e=t.previousSibling)||void 0===e?void 0:e.textContent;return i&&/\\S/.test(i)}return t.previousSibling}translateBlockElementMarginsToNewlines(){const t=this.getMarginOfDefaultBlockElement();for(let e=0;e2*t.top&&this.prependStringToTextAtIndex(\"\\n\",e),i.bottom>2*t.bottom&&this.appendStringToTextAtIndex(\"\\n\",e))}}getMarginOfBlockElementAtIndex(t){const e=this.blockElements[t];if(e&&e.textContent&&!L().includes(k(e))&&!this.processedElements.includes(e))return dn(e)}getMarginOfDefaultBlockElement(){const t=T(n.default.tagName);return this.containerElement.appendChild(t),dn(t)}}const un=function(t){const{whiteSpace:e}=window.getComputedStyle(t);return[\"pre\",\"pre-wrap\",\"pre-line\"].includes(e)},hn=t=>t&&!fn(t.textContent),dn=function(t){const e=window.getComputedStyle(t);if(\"block\"===e.display)return{top:parseInt(e.marginTop),bottom:parseInt(e.marginBottom)}},gn=function(t){return\"style\"===k(t)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},mn=t=>t.replace(new RegExp(\"^\".concat(Ut.source,\"+\")),\"\"),pn=t=>new RegExp(\"^\".concat(Ut.source,\"*$\")).test(t),fn=t=>/\\s$/.test(t),bn=[\"contenteditable\",\"data-trix-id\",\"data-trix-store-key\",\"data-trix-mutable\",\"data-trix-placeholder\",\"tabindex\"],vn=\"data-trix-serialized-attributes\",An=\"[\".concat(vn,\"]\"),yn=new RegExp(\"\\x3c!--block--\\x3e\",\"g\"),xn={\"application/json\":function(t){let e;if(t instanceof on)e=t;else{if(!(t instanceof HTMLElement))throw new Error(\"unserializable object\");e=cn.parse(t.innerHTML).getDocument()}return e.toSerializableDocument().toJSONString()},\"text/html\":function(t){let e;if(t instanceof on)e=Ci.render(t);else{if(!(t instanceof HTMLElement))throw new Error(\"unserializable object\");e=t.cloneNode(!0)}return Array.from(e.querySelectorAll(\"[data-trix-serialize=false]\")).forEach((t=>{S(t)})),bn.forEach((t=>{Array.from(e.querySelectorAll(\"[\".concat(t,\"]\"))).forEach((e=>{e.removeAttribute(t)}))})),Array.from(e.querySelectorAll(An)).forEach((t=>{try{const e=JSON.parse(t.getAttribute(vn));t.removeAttribute(vn);for(const i in e){const n=e[i];t.setAttribute(i,n)}}catch(t){}})),e.innerHTML.replace(yn,\"\")}};var Cn=Object.freeze({__proto__:null});class En extends q{constructor(t,e){super(...arguments),this.attachmentManager=t,this.attachment=e,this.id=this.attachment.id,this.file=this.attachment.file}remove(){return this.attachmentManager.requestRemovalOfAttachment(this.attachment)}}En.proxyMethod(\"attachment.getAttribute\"),En.proxyMethod(\"attachment.hasAttribute\"),En.proxyMethod(\"attachment.setAttribute\"),En.proxyMethod(\"attachment.getAttributes\"),En.proxyMethod(\"attachment.setAttributes\"),En.proxyMethod(\"attachment.isPending\"),En.proxyMethod(\"attachment.isPreviewable\"),En.proxyMethod(\"attachment.getURL\"),En.proxyMethod(\"attachment.getHref\"),En.proxyMethod(\"attachment.getFilename\"),En.proxyMethod(\"attachment.getFilesize\"),En.proxyMethod(\"attachment.getFormattedFilesize\"),En.proxyMethod(\"attachment.getExtension\"),En.proxyMethod(\"attachment.getContentType\"),En.proxyMethod(\"attachment.getFile\"),En.proxyMethod(\"attachment.setFile\"),En.proxyMethod(\"attachment.releaseFile\"),En.proxyMethod(\"attachment.getUploadProgress\"),En.proxyMethod(\"attachment.setUploadProgress\");class Sn extends q{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];super(...arguments),this.managedAttachments={},Array.from(t).forEach((t=>{this.manageAttachment(t)}))}getAttachments(){const t=[];for(const e in this.managedAttachments){const i=this.managedAttachments[e];t.push(i)}return t}manageAttachment(t){return this.managedAttachments[t.id]||(this.managedAttachments[t.id]=new En(this,t)),this.managedAttachments[t.id]}attachmentIsManaged(t){return t.id in this.managedAttachments}requestRemovalOfAttachment(t){var e,i;if(this.attachmentIsManaged(t))return null===(e=this.delegate)||void 0===e||null===(i=e.attachmentManagerDidRequestRemovalOfAttachment)||void 0===i?void 0:i.call(e,t)}unmanageAttachment(t){const e=this.managedAttachments[t.id];return delete this.managedAttachments[t.id],e}}class Rn{constructor(t){this.composition=t,this.document=this.composition.document;const e=this.composition.getSelectedRange();this.startPosition=e[0],this.endPosition=e[1],this.startLocation=this.document.locationFromPosition(this.startPosition),this.endLocation=this.document.locationFromPosition(this.endPosition),this.block=this.document.getBlockAtIndex(this.endLocation.index),this.breaksOnReturn=this.block.breaksOnReturn(),this.previousCharacter=this.block.text.getStringAtPosition(this.endLocation.offset-1),this.nextCharacter=this.block.text.getStringAtPosition(this.endLocation.offset)}shouldInsertBlockBreak(){return this.block.hasAttributes()&&this.block.isListItem()&&!this.block.isEmpty()?0!==this.startLocation.offset:this.breaksOnReturn&&\"\\n\"!==this.nextCharacter}shouldBreakFormattedBlock(){return this.block.hasAttributes()&&!this.block.isListItem()&&(this.breaksOnReturn&&\"\\n\"===this.nextCharacter||\"\\n\"===this.previousCharacter)}shouldDecreaseListLevel(){return this.block.hasAttributes()&&this.block.isListItem()&&this.block.isEmpty()}shouldPrependListItem(){return this.block.isListItem()&&0===this.startLocation.offset&&!this.block.isEmpty()}shouldRemoveLastBlockAttribute(){return this.block.hasAttributes()&&!this.block.isListItem()&&this.block.isEmpty()}}class kn extends q{constructor(){super(...arguments),this.document=new on,this.attachments=[],this.currentAttributes={},this.revision=0}setDocument(t){var e,i;if(!t.isEqualTo(this.document))return this.document=t,this.refreshAttachments(),this.revision++,null===(e=this.delegate)||void 0===e||null===(i=e.compositionDidChangeDocument)||void 0===i?void 0:i.call(e,t)}getSnapshot(){return{document:this.document,selectedRange:this.getSelectedRange()}}loadSnapshot(t){var e,i,n,r;let{document:o,selectedRange:s}=t;return null===(e=this.delegate)||void 0===e||null===(i=e.compositionWillLoadSnapshot)||void 0===i||i.call(e),this.setDocument(null!=o?o:new on),this.setSelection(null!=s?s:[0,0]),null===(n=this.delegate)||void 0===n||null===(r=n.compositionDidLoadSnapshot)||void 0===r?void 0:r.call(n)}insertText(t){let{updatePosition:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{updatePosition:!0};const i=this.getSelectedRange();this.setDocument(this.document.insertTextAtRange(t,i));const n=i[0],r=n+t.getLength();return e&&this.setSelection(r),this.notifyDelegateOfInsertionAtRange([n,r])}insertBlock(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Gi;const e=new on([t]);return this.insertDocument(e)}insertDocument(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new on;const e=this.getSelectedRange();this.setDocument(this.document.insertDocumentAtRange(t,e));const i=e[0],n=i+t.getLength();return this.setSelection(n),this.notifyDelegateOfInsertionAtRange([i,n])}insertString(t,e){const i=this.getCurrentTextAttributes(),n=Ki.textForStringWithAttributes(t,i);return this.insertText(n,e)}insertBlockBreak(){const t=this.getSelectedRange();this.setDocument(this.document.insertBlockBreakAtRange(t));const e=t[0],i=e+1;return this.setSelection(i),this.notifyDelegateOfInsertionAtRange([e,i])}insertLineBreak(){const t=new Rn(this);if(t.shouldDecreaseListLevel())return this.decreaseListLevel(),this.setSelection(t.startPosition);if(t.shouldPrependListItem()){const e=new on([t.block.copyWithoutText()]);return this.insertDocument(e)}return t.shouldInsertBlockBreak()?this.insertBlockBreak():t.shouldRemoveLastBlockAttribute()?this.removeLastBlockAttribute():t.shouldBreakFormattedBlock()?this.breakFormattedBlock(t):this.insertString(\"\\n\")}insertHTML(t){const e=cn.parse(t).getDocument(),i=this.getSelectedRange();this.setDocument(this.document.mergeDocumentAtRange(e,i));const n=i[0],r=n+e.getLength()-1;return this.setSelection(r),this.notifyDelegateOfInsertionAtRange([n,r])}replaceHTML(t){const e=cn.parse(t).getDocument().copyUsingObjectsFromDocument(this.document),i=this.getLocationRange({strict:!1}),n=this.document.rangeFromLocationRange(i);return this.setDocument(e),this.setSelection(n)}insertFile(t){return this.insertFiles([t])}insertFiles(t){const e=[];return Array.from(t).forEach((t=>{var i;if(null!==(i=this.delegate)&&void 0!==i&&i.compositionShouldAcceptFile(t)){const i=Wi.attachmentForFile(t);e.push(i)}})),this.insertAttachments(e)}insertAttachment(t){return this.insertAttachments([t])}insertAttachments(t){let e=new Ki;return Array.from(t).forEach((t=>{var n;const r=t.getType(),o=null===(n=i[r])||void 0===n?void 0:n.presentation,s=this.getCurrentTextAttributes();o&&(s.presentation=o);const a=Ki.textForAttachmentWithAttributes(t,s);e=e.appendText(a)})),this.insertText(e)}shouldManageDeletingInDirection(t){const e=this.getLocationRange();if(Lt(e)){if(\"backward\"===t&&0===e[0].offset)return!0;if(this.shouldManageMovingCursorInDirection(t))return!0}else if(e[0].index!==e[1].index)return!0;return!1}deleteInDirection(t){let e,i,n,{length:r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=this.getLocationRange();let s=this.getSelectedRange();const a=Lt(s);if(a?i=\"backward\"===t&&0===o[0].offset:n=o[0].index!==o[1].index,i&&this.canDecreaseBlockAttributeLevel()){const t=this.getBlock();if(t.isListItem()?this.decreaseListLevel():this.decreaseBlockAttributeLevel(),this.setSelection(s[0]),t.isEmpty())return!1}return a&&(s=this.getExpandedRangeInDirection(t,{length:r}),\"backward\"===t&&(e=this.getAttachmentAtRange(s))),e?(this.editAttachment(e),!1):(this.setDocument(this.document.removeTextAtRange(s)),this.setSelection(s[0]),!i&&!n&&void 0)}moveTextFromRange(t){const[e]=Array.from(this.getSelectedRange());return this.setDocument(this.document.moveTextFromRangeToPosition(t,e)),this.setSelection(e)}removeAttachment(t){const e=this.document.getRangeOfAttachment(t);if(e)return this.stopEditingAttachment(),this.setDocument(this.document.removeTextAtRange(e)),this.setSelection(e[0])}removeLastBlockAttribute(){const[t,e]=Array.from(this.getSelectedRange()),i=this.document.getBlockAtPosition(e);return this.removeCurrentAttribute(i.getLastAttribute()),this.setSelection(t)}insertPlaceholder(){return this.placeholderPosition=this.getPosition(),this.insertString(\" \")}selectPlaceholder(){if(null!=this.placeholderPosition)return this.setSelectedRange([this.placeholderPosition,this.placeholderPosition+1]),this.getSelectedRange()}forgetPlaceholder(){this.placeholderPosition=null}hasCurrentAttribute(t){const e=this.currentAttributes[t];return null!=e&&!1!==e}toggleCurrentAttribute(t){const e=!this.currentAttributes[t];return e?this.setCurrentAttribute(t,e):this.removeCurrentAttribute(t)}canSetCurrentAttribute(t){return mt(t)?this.canSetCurrentBlockAttribute(t):this.canSetCurrentTextAttribute(t)}canSetCurrentTextAttribute(t){const e=this.getSelectedDocument();if(e){for(const t of Array.from(e.getAttachments()))if(!t.hasContent())return!1;return!0}}canSetCurrentBlockAttribute(t){const e=this.getBlock();if(e)return!e.isTerminalBlock()}setCurrentAttribute(t,e){return mt(t)?this.setBlockAttribute(t,e):(this.setTextAttribute(t,e),this.currentAttributes[t]=e,this.notifyDelegateOfCurrentAttributesChange())}setHTMLAtributeAtPosition(t,e,i){var n;const r=this.document.getBlockAtPosition(t),o=null===(n=mt(r.getLastAttribute()))||void 0===n?void 0:n.htmlAttributes;if(r&&null!=o&&o.includes(e)){const n=this.document.setHTMLAttributeAtPosition(t,e,i);this.setDocument(n)}}setTextAttribute(t,e){const i=this.getSelectedRange();if(!i)return;const[n,r]=Array.from(i);if(n!==r)return this.setDocument(this.document.addAttributeAtRange(t,e,i));if(\"href\"===t){const t=Ki.textForStringWithAttributes(e,{href:e});return this.insertText(t)}}setBlockAttribute(t,e){const i=this.getSelectedRange();if(this.canSetCurrentAttribute(t))return this.setDocument(this.document.applyBlockAttributeAtRange(t,e,i)),this.setSelection(i)}removeCurrentAttribute(t){return mt(t)?(this.removeBlockAttribute(t),this.updateCurrentAttributes()):(this.removeTextAttribute(t),delete this.currentAttributes[t],this.notifyDelegateOfCurrentAttributesChange())}removeTextAttribute(t){const e=this.getSelectedRange();if(e)return this.setDocument(this.document.removeAttributeAtRange(t,e))}removeBlockAttribute(t){const e=this.getSelectedRange();if(e)return this.setDocument(this.document.removeAttributeAtRange(t,e))}canDecreaseNestingLevel(){var t;return(null===(t=this.getBlock())||void 0===t?void 0:t.getNestingLevel())>0}canIncreaseNestingLevel(){var t;const e=this.getBlock();if(e){if(null===(t=mt(e.getLastNestableAttribute()))||void 0===t||!t.listAttribute)return e.getNestingLevel()>0;{const t=this.getPreviousBlock();if(t)return function(){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return ot((arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).slice(0,t.length),t)}(t.getListItemAttributes(),e.getListItemAttributes())}}}decreaseNestingLevel(){const t=this.getBlock();if(t)return this.setDocument(this.document.replaceBlock(t,t.decreaseNestingLevel()))}increaseNestingLevel(){const t=this.getBlock();if(t)return this.setDocument(this.document.replaceBlock(t,t.increaseNestingLevel()))}canDecreaseBlockAttributeLevel(){var t;return(null===(t=this.getBlock())||void 0===t?void 0:t.getAttributeLevel())>0}decreaseBlockAttributeLevel(){var t;const e=null===(t=this.getBlock())||void 0===t?void 0:t.getLastAttribute();if(e)return this.removeCurrentAttribute(e)}decreaseListLevel(){let[t]=Array.from(this.getSelectedRange());const{index:e}=this.document.locationFromPosition(t);let i=e;const n=this.getBlock().getAttributeLevel();let r=this.document.getBlockAtIndex(i+1);for(;r&&r.isListItem()&&!(r.getAttributeLevel()<=n);)i++,r=this.document.getBlockAtIndex(i+1);t=this.document.positionFromLocation({index:e,offset:0});const o=this.document.positionFromLocation({index:i,offset:0});return this.setDocument(this.document.removeLastListAttributeAtRange([t,o]))}updateCurrentAttributes(){const t=this.getSelectedRange({ignoreLock:!0});if(t){const e=this.document.getCommonAttributesAtRange(t);if(Array.from(gt()).forEach((t=>{e[t]||this.canSetCurrentAttribute(t)||(e[t]=!1)})),!Tt(e,this.currentAttributes))return this.currentAttributes=e,this.notifyDelegateOfCurrentAttributesChange()}}getCurrentAttributes(){return m.call({},this.currentAttributes)}getCurrentTextAttributes(){const t={};for(const e in this.currentAttributes){const i=this.currentAttributes[e];!1!==i&&ft(e)&&(t[e]=i)}return t}freezeSelection(){return this.setCurrentAttribute(\"frozen\",!0)}thawSelection(){return this.removeCurrentAttribute(\"frozen\")}hasFrozenSelection(){return this.hasCurrentAttribute(\"frozen\")}setSelection(t){var e;const i=this.document.locationRangeFromRange(t);return null===(e=this.delegate)||void 0===e?void 0:e.compositionDidRequestChangingSelectionToLocationRange(i)}getSelectedRange(){const t=this.getLocationRange();if(t)return this.document.rangeFromLocationRange(t)}setSelectedRange(t){const e=this.document.locationRangeFromRange(t);return this.getSelectionManager().setLocationRange(e)}getPosition(){const t=this.getLocationRange();if(t)return this.document.positionFromLocation(t[0])}getLocationRange(t){return this.targetLocationRange?this.targetLocationRange:this.getSelectionManager().getLocationRange(t)||wt({index:0,offset:0})}withTargetLocationRange(t,e){let i;this.targetLocationRange=t;try{i=e()}finally{this.targetLocationRange=null}return i}withTargetRange(t,e){const i=this.document.locationRangeFromRange(t);return this.withTargetLocationRange(i,e)}withTargetDOMRange(t,e){const i=this.createLocationRangeFromDOMRange(t,{strict:!1});return this.withTargetLocationRange(i,e)}getExpandedRangeInDirection(t){let{length:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},[i,n]=Array.from(this.getSelectedRange());return\"backward\"===t?e?i-=e:i=this.translateUTF16PositionFromOffset(i,-1):e?n+=e:n=this.translateUTF16PositionFromOffset(n,1),wt([i,n])}shouldManageMovingCursorInDirection(t){if(this.editingAttachment)return!0;const e=this.getExpandedRangeInDirection(t);return null!=this.getAttachmentAtRange(e)}moveCursorInDirection(t){let e,i;if(this.editingAttachment)i=this.document.getRangeOfAttachment(this.editingAttachment);else{const n=this.getSelectedRange();i=this.getExpandedRangeInDirection(t),e=!Dt(n,i)}if(\"backward\"===t?this.setSelectedRange(i[0]):this.setSelectedRange(i[1]),e){const t=this.getAttachmentAtRange(i);if(t)return this.editAttachment(t)}}expandSelectionInDirection(t){let{length:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=this.getExpandedRangeInDirection(t,{length:e});return this.setSelectedRange(i)}expandSelectionForEditing(){if(this.hasCurrentAttribute(\"href\"))return this.expandSelectionAroundCommonAttribute(\"href\")}expandSelectionAroundCommonAttribute(t){const e=this.getPosition(),i=this.document.getRangeOfCommonAttributeAtPosition(t,e);return this.setSelectedRange(i)}selectionContainsAttachments(){var t;return(null===(t=this.getSelectedAttachments())||void 0===t?void 0:t.length)>0}selectionIsInCursorTarget(){return this.editingAttachment||this.positionIsCursorTarget(this.getPosition())}positionIsCursorTarget(t){const e=this.document.locationFromPosition(t);if(e)return this.locationIsCursorTarget(e)}positionIsBlockBreak(t){var e;return null===(e=this.document.getPieceAtPosition(t))||void 0===e?void 0:e.isBlockBreak()}getSelectedDocument(){const t=this.getSelectedRange();if(t)return this.document.getDocumentAtRange(t)}getSelectedAttachments(){var t;return null===(t=this.getSelectedDocument())||void 0===t?void 0:t.getAttachments()}getAttachments(){return this.attachments.slice(0)}refreshAttachments(){const t=this.document.getAttachments(),{added:e,removed:i}=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];const i=[],n=[],r=new Set;t.forEach((t=>{r.add(t)}));const o=new Set;return e.forEach((t=>{o.add(t),r.has(t)||i.push(t)})),t.forEach((t=>{o.has(t)||n.push(t)})),{added:i,removed:n}}(this.attachments,t);return this.attachments=t,Array.from(i).forEach((t=>{var e,i;t.delegate=null,null===(e=this.delegate)||void 0===e||null===(i=e.compositionDidRemoveAttachment)||void 0===i||i.call(e,t)})),(()=>{const t=[];return Array.from(e).forEach((e=>{var i,n;e.delegate=this,t.push(null===(i=this.delegate)||void 0===i||null===(n=i.compositionDidAddAttachment)||void 0===n?void 0:n.call(i,e))})),t})()}attachmentDidChangeAttributes(t){var e,i;return this.revision++,null===(e=this.delegate)||void 0===e||null===(i=e.compositionDidEditAttachment)||void 0===i?void 0:i.call(e,t)}attachmentDidChangePreviewURL(t){var e,i;return this.revision++,null===(e=this.delegate)||void 0===e||null===(i=e.compositionDidChangeAttachmentPreviewURL)||void 0===i?void 0:i.call(e,t)}editAttachment(t,e){var i,n;if(t!==this.editingAttachment)return this.stopEditingAttachment(),this.editingAttachment=t,null===(i=this.delegate)||void 0===i||null===(n=i.compositionDidStartEditingAttachment)||void 0===n?void 0:n.call(i,this.editingAttachment,e)}stopEditingAttachment(){var t,e;this.editingAttachment&&(null===(t=this.delegate)||void 0===t||null===(e=t.compositionDidStopEditingAttachment)||void 0===e||e.call(t,this.editingAttachment),this.editingAttachment=null)}updateAttributesForAttachment(t,e){return this.setDocument(this.document.updateAttributesForAttachment(t,e))}removeAttributeForAttachment(t,e){return this.setDocument(this.document.removeAttributeForAttachment(t,e))}breakFormattedBlock(t){let{document:e}=t;const{block:i}=t;let n=t.startPosition,r=[n-1,n];i.getBlockBreakPosition()===t.startLocation.offset?(i.breaksOnReturn()&&\"\\n\"===t.nextCharacter?n+=1:e=e.removeTextAtRange(r),r=[n,n]):\"\\n\"===t.nextCharacter?\"\\n\"===t.previousCharacter?r=[n-1,n+1]:(r=[n,n+1],n+=1):t.startLocation.offset-1!=0&&(n+=1);const o=new on([i.removeLastAttribute().copyWithoutText()]);return this.setDocument(e.insertDocumentAtRange(o,r)),this.setSelection(n)}getPreviousBlock(){const t=this.getLocationRange();if(t){const{index:e}=t[0];if(e>0)return this.document.getBlockAtIndex(e-1)}}getBlock(){const t=this.getLocationRange();if(t)return this.document.getBlockAtIndex(t[0].index)}getAttachmentAtRange(t){const e=this.document.getDocumentAtRange(t);if(e.toString()===\"\".concat(\"\",\"\\n\"))return e.getAttachments()[0]}notifyDelegateOfCurrentAttributesChange(){var t,e;return null===(t=this.delegate)||void 0===t||null===(e=t.compositionDidChangeCurrentAttributes)||void 0===e?void 0:e.call(t,this.currentAttributes)}notifyDelegateOfInsertionAtRange(t){var e,i;return null===(e=this.delegate)||void 0===e||null===(i=e.compositionDidPerformInsertionAtRange)||void 0===i?void 0:i.call(e,t)}translateUTF16PositionFromOffset(t,e){const i=this.document.toUTF16String(),n=i.offsetFromUCS2Offset(t);return i.offsetToUCS2Offset(n+e)}}kn.proxyMethod(\"getSelectionManager().getPointRange\"),kn.proxyMethod(\"getSelectionManager().setLocationRangeFromPointRange\"),kn.proxyMethod(\"getSelectionManager().createLocationRangeFromDOMRange\"),kn.proxyMethod(\"getSelectionManager().locationIsCursorTarget\"),kn.proxyMethod(\"getSelectionManager().selectionIsExpanded\"),kn.proxyMethod(\"delegate?.getSelectionManager\");class Tn extends q{constructor(t){super(...arguments),this.composition=t,this.undoEntries=[],this.redoEntries=[]}recordUndoEntry(t){let{context:e,consolidatable:i}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=this.undoEntries.slice(-1)[0];if(!i||!wn(n,t,e)){const i=this.createEntry({description:t,context:e});this.undoEntries.push(i),this.redoEntries=[]}}undo(){const t=this.undoEntries.pop();if(t){const e=this.createEntry(t);return this.redoEntries.push(e),this.composition.loadSnapshot(t.snapshot)}}redo(){const t=this.redoEntries.pop();if(t){const e=this.createEntry(t);return this.undoEntries.push(e),this.composition.loadSnapshot(t.snapshot)}}canUndo(){return this.undoEntries.length>0}canRedo(){return this.redoEntries.length>0}createEntry(){let{description:t,context:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{description:null==t?void 0:t.toString(),context:JSON.stringify(e),snapshot:this.composition.getSnapshot()}}}const wn=(t,e,i)=>(null==t?void 0:t.description)===(null==e?void 0:e.toString())&&(null==t?void 0:t.context)===JSON.stringify(i),Ln=\"attachmentGallery\";class Dn{constructor(t){this.document=t.document,this.selectedRange=t.selectedRange}perform(){return this.removeBlockAttribute(),this.applyBlockAttribute()}getSnapshot(){return{document:this.document,selectedRange:this.selectedRange}}removeBlockAttribute(){return this.findRangesOfBlocks().map((t=>this.document=this.document.removeAttributeAtRange(Ln,t)))}applyBlockAttribute(){let t=0;this.findRangesOfPieces().forEach((e=>{e[1]-e[0]>1&&(e[0]+=t,e[1]+=t,\"\\n\"!==this.document.getCharacterAtPosition(e[1])&&(this.document=this.document.insertBlockBreakAtRange(e[1]),e[1]0&&void 0!==arguments[0]?arguments[0]:\"\";const e=cn.parse(t,{referenceElement:this.element}).getDocument();return this.loadDocument(e)}loadJSON(t){let{document:e,selectedRange:i}=t;return e=on.fromJSON(e),this.loadSnapshot({document:e,selectedRange:i})}loadSnapshot(t){return this.undoManager=new Tn(this.composition),this.composition.loadSnapshot(t)}getDocument(){return this.composition.document}getSelectedDocument(){return this.composition.getSelectedDocument()}getSnapshot(){return this.composition.getSnapshot()}toJSON(){return this.getSnapshot()}deleteInDirection(t){return this.composition.deleteInDirection(t)}insertAttachment(t){return this.composition.insertAttachment(t)}insertAttachments(t){return this.composition.insertAttachments(t)}insertDocument(t){return this.composition.insertDocument(t)}insertFile(t){return this.composition.insertFile(t)}insertFiles(t){return this.composition.insertFiles(t)}insertHTML(t){return this.composition.insertHTML(t)}insertString(t){return this.composition.insertString(t)}insertText(t){return this.composition.insertText(t)}insertLineBreak(){return this.composition.insertLineBreak()}getSelectedRange(){return this.composition.getSelectedRange()}getPosition(){return this.composition.getPosition()}getClientRectAtPosition(t){const e=this.getDocument().locationRangeFromRange([t,t+1]);return this.selectionManager.getClientRectAtLocationRange(e)}expandSelectionInDirection(t){return this.composition.expandSelectionInDirection(t)}moveCursorInDirection(t){return this.composition.moveCursorInDirection(t)}setSelectedRange(t){return this.composition.setSelectedRange(t)}activateAttribute(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.composition.setCurrentAttribute(t,e)}attributeIsActive(t){return this.composition.hasCurrentAttribute(t)}canActivateAttribute(t){return this.composition.canSetCurrentAttribute(t)}deactivateAttribute(t){return this.composition.removeCurrentAttribute(t)}setHTMLAtributeAtPosition(t,e,i){this.composition.setHTMLAtributeAtPosition(t,e,i)}canDecreaseNestingLevel(){return this.composition.canDecreaseNestingLevel()}canIncreaseNestingLevel(){return this.composition.canIncreaseNestingLevel()}decreaseNestingLevel(){if(this.canDecreaseNestingLevel())return this.composition.decreaseNestingLevel()}increaseNestingLevel(){if(this.canIncreaseNestingLevel())return this.composition.increaseNestingLevel()}canRedo(){return this.undoManager.canRedo()}canUndo(){return this.undoManager.canUndo()}recordUndoEntry(t){let{context:e,consolidatable:i}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.undoManager.recordUndoEntry(t,{context:e,consolidatable:i})}redo(){if(this.canRedo())return this.undoManager.redo()}undo(){if(this.canUndo())return this.undoManager.undo()}}class Fn{constructor(t){this.element=t}findLocationFromContainerAndOffset(t,e){let{strict:i}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{strict:!0},n=0,r=!1;const o={index:0,offset:0},s=this.findAttachmentElementParentForNode(t);s&&(t=s.parentNode,e=E(s));const a=R(this.element,{usingFilter:_n});for(;a.nextNode();){const s=a.currentNode;if(s===t&&B(t)){F(s)||(o.offset+=e);break}if(s.parentNode===t){if(n++===e)break}else if(!C(t,s)&&n>0)break;N(s,{strict:i})?(r&&o.index++,o.offset=0,r=!0):o.offset+=Pn(s)}return o}findContainerAndOffsetFromLocation(t){let e,i;if(0===t.index&&0===t.offset){for(e=this.element,i=0;e.firstChild;)if(e=e.firstChild,D(e)){i=1;break}return[e,i]}let[n,r]=this.findNodeAndOffsetFromLocation(t);if(n){if(B(n))0===Pn(n)?(e=n.parentNode.parentNode,i=E(n.parentNode),F(n,{name:\"right\"})&&i++):(e=n,i=t.offset-r);else{if(e=n.parentNode,!N(n.previousSibling)&&!D(e))for(;n===e.lastChild&&(n=e,e=e.parentNode,!D(e)););i=E(n),0!==t.offset&&i++}return[e,i]}}findNodeAndOffsetFromLocation(t){let e,i,n=0;for(const r of this.getSignificantNodesForIndex(t.index)){const o=Pn(r);if(t.offset<=n+o)if(B(r)){if(e=r,i=n,t.offset===i&&F(e))break}else e||(e=r,i=n);if(n+=o,n>t.offset)break}return[e,i]}findAttachmentElementParentForNode(t){for(;t&&t!==this.element;){if(P(t))return t;t=t.parentNode}}getSignificantNodesForIndex(t){const e=[],i=R(this.element,{usingFilter:Mn});let n=!1;for(;i.nextNode();){const o=i.currentNode;var r;if(I(o)){if(null!=r?r++:r=0,r===t)n=!0;else if(n)break}else n&&e.push(o)}return e}}const Pn=function(t){if(t.nodeType===Node.TEXT_NODE){if(F(t))return 0;return t.textContent.length}return\"br\"===k(t)||P(t)?1:0},Mn=function(t){return Bn(t)===NodeFilter.FILTER_ACCEPT?_n(t):NodeFilter.FILTER_REJECT},Bn=function(t){return M(t)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},_n=function(t){return P(t.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT};class jn{createDOMRangeFromPoint(t){let e,{x:i,y:n}=t;if(document.caretPositionFromPoint){const{offsetNode:t,offset:r}=document.caretPositionFromPoint(i,n);return e=document.createRange(),e.setStart(t,r),e}if(document.caretRangeFromPoint)return document.caretRangeFromPoint(i,n);if(document.body.createTextRange){const t=Mt();try{const t=document.body.createTextRange();t.moveToPoint(i,n),t.select()}catch(t){}return e=Mt(),Bt(t),e}}getClientRectsForDOMRange(t){const e=Array.from(t.getClientRects());return[e[0],e[e.length-1]]}}class Wn extends q{constructor(t){super(...arguments),this.didMouseDown=this.didMouseDown.bind(this),this.selectionDidChange=this.selectionDidChange.bind(this),this.element=t,this.locationMapper=new Fn(this.element),this.pointMapper=new jn,this.lockCount=0,b(\"mousedown\",{onElement:this.element,withCallback:this.didMouseDown})}getLocationRange(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return!1===t.strict?this.createLocationRangeFromDOMRange(Mt()):t.ignoreLock?this.currentLocationRange:this.lockedLocationRange?this.lockedLocationRange:this.currentLocationRange}setLocationRange(t){if(this.lockedLocationRange)return;t=wt(t);const e=this.createDOMRangeFromLocationRange(t);e&&(Bt(e),this.updateCurrentLocationRange(t))}setLocationRangeFromPointRange(t){t=wt(t);const e=this.getLocationAtPoint(t[0]),i=this.getLocationAtPoint(t[1]);this.setLocationRange([e,i])}getClientRectAtLocationRange(t){const e=this.createDOMRangeFromLocationRange(t);if(e)return this.getClientRectsForDOMRange(e)[1]}locationIsCursorTarget(t){const e=Array.from(this.findNodeAndOffsetFromLocation(t))[0];return F(e)}lock(){0==this.lockCount++&&(this.updateCurrentLocationRange(),this.lockedLocationRange=this.getLocationRange())}unlock(){if(0==--this.lockCount){const{lockedLocationRange:t}=this;if(this.lockedLocationRange=null,null!=t)return this.setLocationRange(t)}}clearSelection(){var t;return null===(t=Pt())||void 0===t?void 0:t.removeAllRanges()}selectionIsCollapsed(){var t;return!0===(null===(t=Mt())||void 0===t?void 0:t.collapsed)}selectionIsExpanded(){return!this.selectionIsCollapsed()}createLocationRangeFromDOMRange(t,e){if(null==t||!this.domRangeWithinElement(t))return;const i=this.findLocationFromContainerAndOffset(t.startContainer,t.startOffset,e);if(!i)return;const n=t.collapsed?void 0:this.findLocationFromContainerAndOffset(t.endContainer,t.endOffset,e);return wt([i,n])}didMouseDown(){return this.pauseTemporarily()}pauseTemporarily(){let t;this.paused=!0;const e=()=>{if(this.paused=!1,clearTimeout(i),Array.from(t).forEach((t=>{t.destroy()})),C(document,this.element))return this.selectionDidChange()},i=setTimeout(e,200);t=[\"mousemove\",\"keydown\"].map((t=>b(t,{onElement:document,withCallback:e})))}selectionDidChange(){if(!this.paused&&!x(this.element))return this.updateCurrentLocationRange()}updateCurrentLocationRange(t){var e,i;if((null!=t?t:t=this.createLocationRangeFromDOMRange(Mt()))&&!Dt(t,this.currentLocationRange))return this.currentLocationRange=t,null===(e=this.delegate)||void 0===e||null===(i=e.locationRangeDidChange)||void 0===i?void 0:i.call(e,this.currentLocationRange.slice(0))}createDOMRangeFromLocationRange(t){const e=this.findContainerAndOffsetFromLocation(t[0]),i=Lt(t)?e:this.findContainerAndOffsetFromLocation(t[1])||e;if(null!=e&&null!=i){const t=document.createRange();return t.setStart(...Array.from(e||[])),t.setEnd(...Array.from(i||[])),t}}getLocationAtPoint(t){const e=this.createDOMRangeFromPoint(t);var i;if(e)return null===(i=this.createLocationRangeFromDOMRange(e))||void 0===i?void 0:i[0]}domRangeWithinElement(t){return t.collapsed?C(this.element,t.startContainer):C(this.element,t.startContainer)&&C(this.element,t.endContainer)}}Wn.proxyMethod(\"locationMapper.findLocationFromContainerAndOffset\"),Wn.proxyMethod(\"locationMapper.findContainerAndOffsetFromLocation\"),Wn.proxyMethod(\"locationMapper.findNodeAndOffsetFromLocation\"),Wn.proxyMethod(\"pointMapper.createDOMRangeFromPoint\"),Wn.proxyMethod(\"pointMapper.getClientRectsForDOMRange\");var Un=Object.freeze({__proto__:null,Attachment:Wi,AttachmentManager:Sn,AttachmentPiece:Ui,Block:Gi,Composition:kn,Document:on,Editor:On,HTMLParser:cn,HTMLSanitizer:ui,LineBreakInsertion:Rn,LocationMapper:Fn,ManagedAttachment:En,Piece:_i,PointMapper:jn,SelectionManager:Wn,SplittableList:zi,StringPiece:Vi,Text:Ki,UndoManager:Tn}),Vn=Object.freeze({__proto__:null,ObjectView:ie,AttachmentView:gi,BlockView:xi,DocumentView:Ci,PieceView:bi,PreviewableAttachmentView:fi,TextView:vi});const{lang:zn,css:qn,keyNames:Hn}=z,Jn=function(t){return function(){const e=t.apply(this,arguments);e.do(),this.undos||(this.undos=[]),this.undos.push(e.undo)}};class Kn extends q{constructor(t,e,i){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};super(...arguments),wi(this,\"makeElementMutable\",Jn((()=>({do:()=>{this.element.dataset.trixMutable=!0},undo:()=>delete this.element.dataset.trixMutable})))),wi(this,\"addToolbar\",Jn((()=>{const t=T({tagName:\"div\",className:qn.attachmentToolbar,data:{trixMutable:!0},childNodes:T({tagName:\"div\",className:\"trix-button-row\",childNodes:T({tagName:\"span\",className:\"trix-button-group trix-button-group--actions\",childNodes:T({tagName:\"button\",className:\"trix-button trix-button--remove\",textContent:zn.remove,attributes:{title:zn.remove},data:{trixAction:\"remove\"}})})})});return this.attachment.isPreviewable()&&t.appendChild(T({tagName:\"div\",className:qn.attachmentMetadataContainer,childNodes:T({tagName:\"span\",className:qn.attachmentMetadata,childNodes:[T({tagName:\"span\",className:qn.attachmentName,textContent:this.attachment.getFilename(),attributes:{title:this.attachment.getFilename()}}),T({tagName:\"span\",className:qn.attachmentSize,textContent:this.attachment.getFormattedFilesize()})]})})),b(\"click\",{onElement:t,withCallback:this.didClickToolbar}),b(\"click\",{onElement:t,matchingSelector:\"[data-trix-action]\",withCallback:this.didClickActionButton}),v(\"trix-attachment-before-toolbar\",{onElement:this.element,attributes:{toolbar:t,attachment:this.attachment}}),{do:()=>this.element.appendChild(t),undo:()=>S(t)}}))),wi(this,\"installCaptionEditor\",Jn((()=>{const t=T({tagName:\"textarea\",className:qn.attachmentCaptionEditor,attributes:{placeholder:zn.captionPlaceholder},data:{trixMutable:!0}});t.value=this.attachmentPiece.getCaption();const e=t.cloneNode();e.classList.add(\"trix-autoresize-clone\"),e.tabIndex=-1;const i=function(){e.value=t.value,t.style.height=e.scrollHeight+\"px\"};b(\"input\",{onElement:t,withCallback:i}),b(\"input\",{onElement:t,withCallback:this.didInputCaption}),b(\"keydown\",{onElement:t,withCallback:this.didKeyDownCaption}),b(\"change\",{onElement:t,withCallback:this.didChangeCaption}),b(\"blur\",{onElement:t,withCallback:this.didBlurCaption});const n=this.element.querySelector(\"figcaption\"),r=n.cloneNode();return{do:()=>{if(n.style.display=\"none\",r.appendChild(t),r.appendChild(e),r.classList.add(\"\".concat(qn.attachmentCaption,\"--editing\")),n.parentElement.insertBefore(r,n),i(),this.options.editCaption)return Rt((()=>t.focus()))},undo(){S(r),n.style.display=null}}}))),this.didClickToolbar=this.didClickToolbar.bind(this),this.didClickActionButton=this.didClickActionButton.bind(this),this.didKeyDownCaption=this.didKeyDownCaption.bind(this),this.didInputCaption=this.didInputCaption.bind(this),this.didChangeCaption=this.didChangeCaption.bind(this),this.didBlurCaption=this.didBlurCaption.bind(this),this.attachmentPiece=t,this.element=e,this.container=i,this.options=n,this.attachment=this.attachmentPiece.attachment,\"a\"===k(this.element)&&(this.element=this.element.firstChild),this.install()}install(){this.makeElementMutable(),this.addToolbar(),this.attachment.isPreviewable()&&this.installCaptionEditor()}uninstall(){var t;let e=this.undos.pop();for(this.savePendingCaption();e;)e(),e=this.undos.pop();null===(t=this.delegate)||void 0===t||t.didUninstallAttachmentEditor(this)}savePendingCaption(){if(null!=this.pendingCaption){const r=this.pendingCaption;var t,e,i,n;if(this.pendingCaption=null,r)null===(t=this.delegate)||void 0===t||null===(e=t.attachmentEditorDidRequestUpdatingAttributesForAttachment)||void 0===e||e.call(t,{caption:r},this.attachment);else null===(i=this.delegate)||void 0===i||null===(n=i.attachmentEditorDidRequestRemovingAttributeForAttachment)||void 0===n||n.call(i,\"caption\",this.attachment)}}didClickToolbar(t){return t.preventDefault(),t.stopPropagation()}didClickActionButton(t){var e;if(\"remove\"===t.target.getAttribute(\"data-trix-action\"))return null===(e=this.delegate)||void 0===e?void 0:e.attachmentEditorDidRequestRemovalOfAttachment(this.attachment)}didKeyDownCaption(t){var e,i;if(\"return\"===Hn[t.keyCode])return t.preventDefault(),this.savePendingCaption(),null===(e=this.delegate)||void 0===e||null===(i=e.attachmentEditorDidRequestDeselectingAttachment)||void 0===i?void 0:i.call(e,this.attachment)}didInputCaption(t){this.pendingCaption=t.target.value.replace(/\\s/g,\" \").trim()}didChangeCaption(t){return this.savePendingCaption()}didBlurCaption(t){return this.savePendingCaption()}}class Gn extends q{constructor(t,i){super(...arguments),this.didFocus=this.didFocus.bind(this),this.didBlur=this.didBlur.bind(this),this.didClickAttachment=this.didClickAttachment.bind(this),this.element=t,this.composition=i,this.documentView=new Ci(this.composition.document,{element:this.element}),b(\"focus\",{onElement:this.element,withCallback:this.didFocus}),b(\"blur\",{onElement:this.element,withCallback:this.didBlur}),b(\"click\",{onElement:this.element,matchingSelector:\"a[contenteditable=false]\",preventDefault:!0}),b(\"mousedown\",{onElement:this.element,matchingSelector:e,withCallback:this.didClickAttachment}),b(\"click\",{onElement:this.element,matchingSelector:\"a\".concat(e),preventDefault:!0})}didFocus(t){var e;const i=()=>{var t,e;if(!this.focused)return this.focused=!0,null===(t=this.delegate)||void 0===t||null===(e=t.compositionControllerDidFocus)||void 0===e?void 0:e.call(t)};return(null===(e=this.blurPromise)||void 0===e?void 0:e.then(i))||i()}didBlur(t){this.blurPromise=new Promise((t=>Rt((()=>{var e,i;x(this.element)||(this.focused=null,null===(e=this.delegate)||void 0===e||null===(i=e.compositionControllerDidBlur)||void 0===i||i.call(e));return this.blurPromise=null,t()}))))}didClickAttachment(t,e){var i,n;const r=this.findAttachmentForElement(e),o=!!y(t.target,{matchingSelector:\"figcaption\"});return null===(i=this.delegate)||void 0===i||null===(n=i.compositionControllerDidSelectAttachment)||void 0===n?void 0:n.call(i,r,{editCaption:o})}getSerializableElement(){return this.isEditingAttachment()?this.documentView.shadowElement:this.element}render(){var t,e,i,n,r,o;(this.revision!==this.composition.revision&&(this.documentView.setDocument(this.composition.document),this.documentView.render(),this.revision=this.composition.revision),this.canSyncDocumentView()&&!this.documentView.isSynced())&&(null===(i=this.delegate)||void 0===i||null===(n=i.compositionControllerWillSyncDocumentView)||void 0===n||n.call(i),this.documentView.sync(),null===(r=this.delegate)||void 0===r||null===(o=r.compositionControllerDidSyncDocumentView)||void 0===o||o.call(r));return null===(t=this.delegate)||void 0===t||null===(e=t.compositionControllerDidRender)||void 0===e?void 0:e.call(t)}rerenderViewForObject(t){return this.invalidateViewForObject(t),this.render()}invalidateViewForObject(t){return this.documentView.invalidateViewForObject(t)}isViewCachingEnabled(){return this.documentView.isViewCachingEnabled()}enableViewCaching(){return this.documentView.enableViewCaching()}disableViewCaching(){return this.documentView.disableViewCaching()}refreshViewCache(){return this.documentView.garbageCollectCachedViews()}isEditingAttachment(){return!!this.attachmentEditor}installAttachmentEditorForAttachment(t,e){var i;if((null===(i=this.attachmentEditor)||void 0===i?void 0:i.attachment)===t)return;const n=this.documentView.findElementForObject(t);if(!n)return;this.uninstallAttachmentEditor();const r=this.composition.document.getAttachmentPieceForAttachment(t);this.attachmentEditor=new Kn(r,n,this.element,e),this.attachmentEditor.delegate=this}uninstallAttachmentEditor(){var t;return null===(t=this.attachmentEditor)||void 0===t?void 0:t.uninstall()}didUninstallAttachmentEditor(){return this.attachmentEditor=null,this.render()}attachmentEditorDidRequestUpdatingAttributesForAttachment(t,e){var i,n;return null===(i=this.delegate)||void 0===i||null===(n=i.compositionControllerWillUpdateAttachment)||void 0===n||n.call(i,e),this.composition.updateAttributesForAttachment(t,e)}attachmentEditorDidRequestRemovingAttributeForAttachment(t,e){var i,n;return null===(i=this.delegate)||void 0===i||null===(n=i.compositionControllerWillUpdateAttachment)||void 0===n||n.call(i,e),this.composition.removeAttributeForAttachment(t,e)}attachmentEditorDidRequestRemovalOfAttachment(t){var e,i;return null===(e=this.delegate)||void 0===e||null===(i=e.compositionControllerDidRequestRemovalOfAttachment)||void 0===i?void 0:i.call(e,t)}attachmentEditorDidRequestDeselectingAttachment(t){var e,i;return null===(e=this.delegate)||void 0===e||null===(i=e.compositionControllerDidRequestDeselectingAttachment)||void 0===i?void 0:i.call(e,t)}canSyncDocumentView(){return!this.isEditingAttachment()}findAttachmentForElement(t){return this.composition.document.getAttachmentById(parseInt(t.dataset.trixId,10))}}class Yn extends q{}const $n=\"data-trix-mutable\",Xn=\"[\".concat($n,\"]\"),Zn={attributes:!0,childList:!0,characterData:!0,characterDataOldValue:!0,subtree:!0};class Qn extends q{constructor(t){super(t),this.didMutate=this.didMutate.bind(this),this.element=t,this.observer=new window.MutationObserver(this.didMutate),this.start()}start(){return this.reset(),this.observer.observe(this.element,Zn)}stop(){return this.observer.disconnect()}didMutate(t){var e,i;if(this.mutations.push(...Array.from(this.findSignificantMutations(t)||[])),this.mutations.length)return null===(e=this.delegate)||void 0===e||null===(i=e.elementDidMutate)||void 0===i||i.call(e,this.getMutationSummary()),this.reset()}reset(){this.mutations=[]}findSignificantMutations(t){return t.filter((t=>this.mutationIsSignificant(t)))}mutationIsSignificant(t){if(this.nodeIsMutable(t.target))return!1;for(const e of Array.from(this.nodesModifiedByMutation(t)))if(this.nodeIsSignificant(e))return!0;return!1}nodeIsSignificant(t){return t!==this.element&&!this.nodeIsMutable(t)&&!M(t)}nodeIsMutable(t){return y(t,{matchingSelector:Xn})}nodesModifiedByMutation(t){const e=[];switch(t.type){case\"attributes\":t.attributeName!==$n&&e.push(t.target);break;case\"characterData\":e.push(t.target.parentNode),e.push(t.target);break;case\"childList\":e.push(...Array.from(t.addedNodes||[])),e.push(...Array.from(t.removedNodes||[]))}return e}getMutationSummary(){return this.getTextMutationSummary()}getTextMutationSummary(){const{additions:t,deletions:e}=this.getTextChangesFromCharacterData(),i=this.getTextChangesFromChildList();Array.from(i.additions).forEach((e=>{Array.from(t).includes(e)||t.push(e)})),e.push(...Array.from(i.deletions||[]));const n={},r=t.join(\"\");r&&(n.textAdded=r);const o=e.join(\"\");return o&&(n.textDeleted=o),n}getMutationsByType(t){return Array.from(this.mutations).filter((e=>e.type===t))}getTextChangesFromChildList(){let t,e;const i=[],n=[];Array.from(this.getMutationsByType(\"childList\")).forEach((t=>{i.push(...Array.from(t.addedNodes||[])),n.push(...Array.from(t.removedNodes||[]))}));0===i.length&&1===n.length&&I(n[0])?(t=[],e=[\"\\n\"]):(t=tr(i),e=tr(n));const r=t.filter(((t,i)=>t!==e[i])).map(Wt),o=e.filter(((e,i)=>e!==t[i])).map(Wt);return{additions:r,deletions:o}}getTextChangesFromCharacterData(){let t,e;const i=this.getMutationsByType(\"characterData\");if(i.length){const n=i[0],r=i[i.length-1],o=function(t,e){let i,n;return t=X.box(t),(e=X.box(e)).length0&&void 0!==arguments[0]?arguments[0]:[];const e=[];for(const i of Array.from(t))switch(i.nodeType){case Node.TEXT_NODE:e.push(i.data);break;case Node.ELEMENT_NODE:\"br\"===k(i)?e.push(\"\\n\"):e.push(...Array.from(tr(i.childNodes)||[]))}return e};class er extends ee{constructor(t){super(...arguments),this.file=t}perform(t){const e=new FileReader;return e.onerror=()=>t(!1),e.onload=()=>{e.onerror=null;try{e.abort()}catch(t){}return t(!0,this.file)},e.readAsArrayBuffer(this.file)}}class ir{constructor(t){this.element=t}shouldIgnore(t){return!!a.samsungAndroid&&(this.previousEvent=this.event,this.event=t,this.checkSamsungKeyboardBuggyModeStart(),this.checkSamsungKeyboardBuggyModeEnd(),this.buggyMode)}checkSamsungKeyboardBuggyModeStart(){this.insertingLongTextAfterUnidentifiedChar()&&nr(this.element.innerText,this.event.data)&&(this.buggyMode=!0,this.event.preventDefault())}checkSamsungKeyboardBuggyModeEnd(){this.buggyMode&&\"insertText\"!==this.event.inputType&&(this.buggyMode=!1)}insertingLongTextAfterUnidentifiedChar(){var t;return this.isBeforeInputInsertText()&&this.previousEventWasUnidentifiedKeydown()&&(null===(t=this.event.data)||void 0===t?void 0:t.length)>50}isBeforeInputInsertText(){return\"beforeinput\"===this.event.type&&\"insertText\"===this.event.inputType}previousEventWasUnidentifiedKeydown(){var t,e;return\"keydown\"===(null===(t=this.previousEvent)||void 0===t?void 0:t.type)&&\"Unidentified\"===(null===(e=this.previousEvent)||void 0===e?void 0:e.key)}}const nr=(t,e)=>or(t)===or(e),rr=new RegExp(\"(\".concat(\"\",\"|\").concat(d,\"|\").concat(g,\"|\\\\s)+\"),\"g\"),or=t=>t.replace(rr,\" \").trim();class sr extends q{constructor(t){super(...arguments),this.element=t,this.mutationObserver=new Qn(this.element),this.mutationObserver.delegate=this,this.flakyKeyboardDetector=new ir(this.element);for(const t in this.constructor.events)b(t,{onElement:this.element,withCallback:this.handlerFor(t)})}elementDidMutate(t){}editorWillSyncDocumentView(){return this.mutationObserver.stop()}editorDidSyncDocumentView(){return this.mutationObserver.start()}requestRender(){var t,e;return null===(t=this.delegate)||void 0===t||null===(e=t.inputControllerDidRequestRender)||void 0===e?void 0:e.call(t)}requestReparse(){var t,e;return null===(t=this.delegate)||void 0===t||null===(e=t.inputControllerDidRequestReparse)||void 0===e||e.call(t),this.requestRender()}attachFiles(t){const e=Array.from(t).map((t=>new er(t)));return Promise.all(e).then((t=>{this.handleInput((function(){var e,i;return null===(e=this.delegate)||void 0===e||e.inputControllerWillAttachFiles(),null===(i=this.responder)||void 0===i||i.insertFiles(t),this.requestRender()}))}))}handlerFor(t){return e=>{e.defaultPrevented||this.handleInput((()=>{if(!x(this.element)){if(this.flakyKeyboardDetector.shouldIgnore(e))return;this.eventName=t,this.constructor.events[t].call(this,e)}}))}}handleInput(t){try{var e;null===(e=this.delegate)||void 0===e||e.inputControllerWillHandleInput(),t.call(this)}finally{var i;null===(i=this.delegate)||void 0===i||i.inputControllerDidHandleInput()}}createLinkHTML(t,e){const i=document.createElement(\"a\");return i.href=t,i.textContent=e||t,i.outerHTML}}var ar;wi(sr,\"events\",{});const{browser:lr,keyNames:cr}=z;let ur=0;class hr extends sr{constructor(){super(...arguments),this.resetInputSummary()}setInputSummary(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.inputSummary.eventName=this.eventName;for(const e in t){const i=t[e];this.inputSummary[e]=i}return this.inputSummary}resetInputSummary(){this.inputSummary={}}reset(){return this.resetInputSummary(),Ft.reset()}elementDidMutate(t){var e,i;return this.isComposing()?null===(e=this.delegate)||void 0===e||null===(i=e.inputControllerDidAllowUnhandledInput)||void 0===i?void 0:i.call(e):this.handleInput((function(){return this.mutationIsSignificant(t)&&(this.mutationIsExpected(t)?this.requestRender():this.requestReparse()),this.reset()}))}mutationIsExpected(t){let{textAdded:e,textDeleted:i}=t;if(this.inputSummary.preferDocument)return!0;const n=null!=e?e===this.inputSummary.textAdded:!this.inputSummary.textAdded,r=null!=i?this.inputSummary.didDelete:!this.inputSummary.didDelete,o=[\"\\n\",\" \\n\"].includes(e)&&!n,s=\"\\n\"===i&&!r;if(o&&!s||s&&!o){const t=this.getSelectedRange();if(t){var a;const i=o?e.replace(/\\n$/,\"\").length||-1:(null==e?void 0:e.length)||1;if(null!==(a=this.responder)&&void 0!==a&&a.positionIsBlockBreak(t[1]+i))return!0}}return n&&r}mutationIsSignificant(t){var e;const i=Object.keys(t).length>0,n=\"\"===(null===(e=this.compositionInput)||void 0===e?void 0:e.getEndData());return i||!n}getCompositionInput(){if(this.isComposing())return this.compositionInput;this.compositionInput=new fr(this)}isComposing(){return this.compositionInput&&!this.compositionInput.isEnded()}deleteInDirection(t,e){var i;return!1!==(null===(i=this.responder)||void 0===i?void 0:i.deleteInDirection(t))?this.setInputSummary({didDelete:!0}):e?(e.preventDefault(),this.requestRender()):void 0}serializeSelectionToDataTransfer(t){var e;if(!function(t){if(null==t||!t.setData)return!1;for(const e in Ct){const i=Ct[e];try{if(t.setData(e,i),!t.getData(e)===i)return!1}catch(t){return!1}}return!0}(t))return;const i=null===(e=this.responder)||void 0===e?void 0:e.getSelectedDocument().toSerializableDocument();return t.setData(\"application/x-trix-document\",JSON.stringify(i)),t.setData(\"text/html\",Ci.render(i).innerHTML),t.setData(\"text/plain\",i.toString().replace(/\\n$/,\"\")),!0}canAcceptDataTransfer(t){const e={};return Array.from((null==t?void 0:t.types)||[]).forEach((t=>{e[t]=!0})),e.Files||e[\"application/x-trix-document\"]||e[\"text/html\"]||e[\"text/plain\"]}getPastedHTMLUsingHiddenElement(t){const e=this.getSelectedRange(),i={position:\"absolute\",left:\"\".concat(window.pageXOffset,\"px\"),top:\"\".concat(window.pageYOffset,\"px\"),opacity:0},n=T({style:i,tagName:\"div\",editable:!0});return document.body.appendChild(n),n.focus(),requestAnimationFrame((()=>{const i=n.innerHTML;return S(n),this.setSelectedRange(e),t(i)}))}}wi(hr,\"events\",{keydown(t){this.isComposing()||this.resetInputSummary(),this.inputSummary.didInput=!0;const e=cr[t.keyCode];if(e){var i;let n=this.keys;[\"ctrl\",\"alt\",\"shift\",\"meta\"].forEach((e=>{var i;t[\"\".concat(e,\"Key\")]&&(\"ctrl\"===e&&(e=\"control\"),n=null===(i=n)||void 0===i?void 0:i[e])})),null!=(null===(i=n)||void 0===i?void 0:i[e])&&(this.setInputSummary({keyName:e}),Ft.reset(),n[e].call(this,t))}if(St(t)){const e=String.fromCharCode(t.keyCode).toLowerCase();if(e){var n;const i=[\"alt\",\"shift\"].map((e=>{if(t[\"\".concat(e,\"Key\")])return e})).filter((t=>t));i.push(e),null!==(n=this.delegate)&&void 0!==n&&n.inputControllerDidReceiveKeyboardCommand(i)&&t.preventDefault()}}},keypress(t){if(null!=this.inputSummary.eventName)return;if(t.metaKey)return;if(t.ctrlKey&&!t.altKey)return;const e=mr(t);var i,n;return e?(null===(i=this.delegate)||void 0===i||i.inputControllerWillPerformTyping(),null===(n=this.responder)||void 0===n||n.insertString(e),this.setInputSummary({textAdded:e,didDelete:this.selectionIsExpanded()})):void 0},textInput(t){const{data:e}=t,{textAdded:i}=this.inputSummary;if(i&&i!==e&&i.toUpperCase()===e){var n;const t=this.getSelectedRange();return this.setSelectedRange([t[0],t[1]+i.length]),null===(n=this.responder)||void 0===n||n.insertString(e),this.setInputSummary({textAdded:e}),this.setSelectedRange(t)}},dragenter(t){t.preventDefault()},dragstart(t){var e,i;return this.serializeSelectionToDataTransfer(t.dataTransfer),this.draggedRange=this.getSelectedRange(),null===(e=this.delegate)||void 0===e||null===(i=e.inputControllerDidStartDrag)||void 0===i?void 0:i.call(e)},dragover(t){if(this.draggedRange||this.canAcceptDataTransfer(t.dataTransfer)){t.preventDefault();const n={x:t.clientX,y:t.clientY};var e,i;if(!Tt(n,this.draggingPoint))return this.draggingPoint=n,null===(e=this.delegate)||void 0===e||null===(i=e.inputControllerDidReceiveDragOverPoint)||void 0===i?void 0:i.call(e,this.draggingPoint)}},dragend(t){var e,i;null===(e=this.delegate)||void 0===e||null===(i=e.inputControllerDidCancelDrag)||void 0===i||i.call(e),this.draggedRange=null,this.draggingPoint=null},drop(t){var e,i;t.preventDefault();const n=null===(e=t.dataTransfer)||void 0===e?void 0:e.files,r=t.dataTransfer.getData(\"application/x-trix-document\"),o={x:t.clientX,y:t.clientY};if(null===(i=this.responder)||void 0===i||i.setLocationRangeFromPointRange(o),null!=n&&n.length)this.attachFiles(n);else if(this.draggedRange){var s,a;null===(s=this.delegate)||void 0===s||s.inputControllerWillMoveText(),null===(a=this.responder)||void 0===a||a.moveTextFromRange(this.draggedRange),this.draggedRange=null,this.requestRender()}else if(r){var l;const t=on.fromJSONString(r);null===(l=this.responder)||void 0===l||l.insertDocument(t),this.requestRender()}this.draggedRange=null,this.draggingPoint=null},cut(t){var e,i;if(null!==(e=this.responder)&&void 0!==e&&e.selectionIsExpanded()&&(this.serializeSelectionToDataTransfer(t.clipboardData)&&t.preventDefault(),null===(i=this.delegate)||void 0===i||i.inputControllerWillCutText(),this.deleteInDirection(\"backward\"),t.defaultPrevented))return this.requestRender()},copy(t){var e;null!==(e=this.responder)&&void 0!==e&&e.selectionIsExpanded()&&this.serializeSelectionToDataTransfer(t.clipboardData)&&t.preventDefault()},paste(t){const e=t.clipboardData||t.testClipboardData,i={clipboard:e};if(!e||pr(t))return void this.getPastedHTMLUsingHiddenElement((t=>{var e,n,r;return i.type=\"text/html\",i.html=t,null===(e=this.delegate)||void 0===e||e.inputControllerWillPaste(i),null===(n=this.responder)||void 0===n||n.insertHTML(i.html),this.requestRender(),null===(r=this.delegate)||void 0===r?void 0:r.inputControllerDidPaste(i)}));const n=e.getData(\"URL\"),r=e.getData(\"text/html\"),o=e.getData(\"public.url-name\");if(n){var s,a,l;let t;i.type=\"text/html\",t=o?Vt(o).trim():n,i.html=this.createLinkHTML(n,t),null===(s=this.delegate)||void 0===s||s.inputControllerWillPaste(i),this.setInputSummary({textAdded:t,didDelete:this.selectionIsExpanded()}),null===(a=this.responder)||void 0===a||a.insertHTML(i.html),this.requestRender(),null===(l=this.delegate)||void 0===l||l.inputControllerDidPaste(i)}else if(Et(e)){var c,u,h;i.type=\"text/plain\",i.string=e.getData(\"text/plain\"),null===(c=this.delegate)||void 0===c||c.inputControllerWillPaste(i),this.setInputSummary({textAdded:i.string,didDelete:this.selectionIsExpanded()}),null===(u=this.responder)||void 0===u||u.insertString(i.string),this.requestRender(),null===(h=this.delegate)||void 0===h||h.inputControllerDidPaste(i)}else if(r){var d,g,m;i.type=\"text/html\",i.html=r,null===(d=this.delegate)||void 0===d||d.inputControllerWillPaste(i),null===(g=this.responder)||void 0===g||g.insertHTML(i.html),this.requestRender(),null===(m=this.delegate)||void 0===m||m.inputControllerDidPaste(i)}else if(Array.from(e.types).includes(\"Files\")){var p,f;const t=null===(p=e.items)||void 0===p||null===(p=p[0])||void 0===p||null===(f=p.getAsFile)||void 0===f?void 0:f.call(p);if(t){var b,v,A;const e=dr(t);!t.name&&e&&(t.name=\"pasted-file-\".concat(++ur,\".\").concat(e)),i.type=\"File\",i.file=t,null===(b=this.delegate)||void 0===b||b.inputControllerWillAttachFiles(),null===(v=this.responder)||void 0===v||v.insertFile(i.file),this.requestRender(),null===(A=this.delegate)||void 0===A||A.inputControllerDidPaste(i)}}t.preventDefault()},compositionstart(t){return this.getCompositionInput().start(t.data)},compositionupdate(t){return this.getCompositionInput().update(t.data)},compositionend(t){return this.getCompositionInput().end(t.data)},beforeinput(t){this.inputSummary.didInput=!0},input(t){return this.inputSummary.didInput=!0,t.stopPropagation()}}),wi(hr,\"keys\",{backspace(t){var e;return null===(e=this.delegate)||void 0===e||e.inputControllerWillPerformTyping(),this.deleteInDirection(\"backward\",t)},delete(t){var e;return null===(e=this.delegate)||void 0===e||e.inputControllerWillPerformTyping(),this.deleteInDirection(\"forward\",t)},return(t){var e,i;return this.setInputSummary({preferDocument:!0}),null===(e=this.delegate)||void 0===e||e.inputControllerWillPerformTyping(),null===(i=this.responder)||void 0===i?void 0:i.insertLineBreak()},tab(t){var e,i;null!==(e=this.responder)&&void 0!==e&&e.canIncreaseNestingLevel()&&(null===(i=this.responder)||void 0===i||i.increaseNestingLevel(),this.requestRender(),t.preventDefault())},left(t){var e;if(this.selectionIsInCursorTarget())return t.preventDefault(),null===(e=this.responder)||void 0===e?void 0:e.moveCursorInDirection(\"backward\")},right(t){var e;if(this.selectionIsInCursorTarget())return t.preventDefault(),null===(e=this.responder)||void 0===e?void 0:e.moveCursorInDirection(\"forward\")},control:{d(t){var e;return null===(e=this.delegate)||void 0===e||e.inputControllerWillPerformTyping(),this.deleteInDirection(\"forward\",t)},h(t){var e;return null===(e=this.delegate)||void 0===e||e.inputControllerWillPerformTyping(),this.deleteInDirection(\"backward\",t)},o(t){var e,i;return t.preventDefault(),null===(e=this.delegate)||void 0===e||e.inputControllerWillPerformTyping(),null===(i=this.responder)||void 0===i||i.insertString(\"\\n\",{updatePosition:!1}),this.requestRender()}},shift:{return(t){var e,i;null===(e=this.delegate)||void 0===e||e.inputControllerWillPerformTyping(),null===(i=this.responder)||void 0===i||i.insertString(\"\\n\"),this.requestRender(),t.preventDefault()},tab(t){var e,i;null!==(e=this.responder)&&void 0!==e&&e.canDecreaseNestingLevel()&&(null===(i=this.responder)||void 0===i||i.decreaseNestingLevel(),this.requestRender(),t.preventDefault())},left(t){if(this.selectionIsInCursorTarget())return t.preventDefault(),this.expandSelectionInDirection(\"backward\")},right(t){if(this.selectionIsInCursorTarget())return t.preventDefault(),this.expandSelectionInDirection(\"forward\")}},alt:{backspace(t){var e;return this.setInputSummary({preferDocument:!1}),null===(e=this.delegate)||void 0===e?void 0:e.inputControllerWillPerformTyping()}},meta:{backspace(t){var e;return this.setInputSummary({preferDocument:!1}),null===(e=this.delegate)||void 0===e?void 0:e.inputControllerWillPerformTyping()}}}),hr.proxyMethod(\"responder?.getSelectedRange\"),hr.proxyMethod(\"responder?.setSelectedRange\"),hr.proxyMethod(\"responder?.expandSelectionInDirection\"),hr.proxyMethod(\"responder?.selectionIsInCursorTarget\"),hr.proxyMethod(\"responder?.selectionIsExpanded\");const dr=t=>{var e;return null===(e=t.type)||void 0===e||null===(e=e.match(/\\/(\\w+)$/))||void 0===e?void 0:e[1]},gr=!(null===(ar=\" \".codePointAt)||void 0===ar||!ar.call(\" \",0)),mr=function(t){if(t.key&&gr&&t.key.codePointAt(0)===t.keyCode)return t.key;{let e;if(null===t.which?e=t.keyCode:0!==t.which&&0!==t.charCode&&(e=t.charCode),null!=e&&\"escape\"!==cr[e])return X.fromCodepoints([e]).toString()}},pr=function(t){const e=t.clipboardData;if(e){if(e.types.includes(\"text/html\")){for(const t of e.types){const i=/^CorePasteboardFlavorType/.test(t),n=/^dyn\\./.test(t)&&e.getData(t);if(i||n)return!0}return!1}{const t=e.types.includes(\"com.apple.webarchive\"),i=e.types.includes(\"com.apple.flat-rtfd\");return t||i}}};class fr extends q{constructor(t){super(...arguments),this.inputController=t,this.responder=this.inputController.responder,this.delegate=this.inputController.delegate,this.inputSummary=this.inputController.inputSummary,this.data={}}start(t){if(this.data.start=t,this.isSignificant()){var e,i;if(\"keypress\"===this.inputSummary.eventName&&this.inputSummary.textAdded)null===(i=this.responder)||void 0===i||i.deleteInDirection(\"left\");this.selectionIsExpanded()||(this.insertPlaceholder(),this.requestRender()),this.range=null===(e=this.responder)||void 0===e?void 0:e.getSelectedRange()}}update(t){if(this.data.update=t,this.isSignificant()){const t=this.selectPlaceholder();t&&(this.forgetPlaceholder(),this.range=t)}}end(t){return this.data.end=t,this.isSignificant()?(this.forgetPlaceholder(),this.canApplyToDocument()?(this.setInputSummary({preferDocument:!0,didInput:!1}),null===(e=this.delegate)||void 0===e||e.inputControllerWillPerformTyping(),null===(i=this.responder)||void 0===i||i.setSelectedRange(this.range),null===(n=this.responder)||void 0===n||n.insertString(this.data.end),null===(r=this.responder)||void 0===r?void 0:r.setSelectedRange(this.range[0]+this.data.end.length)):null!=this.data.start||null!=this.data.update?(this.requestReparse(),this.inputController.reset()):void 0):this.inputController.reset();var e,i,n,r}getEndData(){return this.data.end}isEnded(){return null!=this.getEndData()}isSignificant(){return!lr.composesExistingText||this.inputSummary.didInput}canApplyToDocument(){var t,e;return 0===(null===(t=this.data.start)||void 0===t?void 0:t.length)&&(null===(e=this.data.end)||void 0===e?void 0:e.length)>0&&this.range}}fr.proxyMethod(\"inputController.setInputSummary\"),fr.proxyMethod(\"inputController.requestRender\"),fr.proxyMethod(\"inputController.requestReparse\"),fr.proxyMethod(\"responder?.selectionIsExpanded\"),fr.proxyMethod(\"responder?.insertPlaceholder\"),fr.proxyMethod(\"responder?.selectPlaceholder\"),fr.proxyMethod(\"responder?.forgetPlaceholder\");class br extends sr{constructor(){super(...arguments),this.render=this.render.bind(this)}elementDidMutate(){return this.scheduledRender?this.composing?null===(t=this.delegate)||void 0===t||null===(e=t.inputControllerDidAllowUnhandledInput)||void 0===e?void 0:e.call(t):void 0:this.reparse();var t,e}scheduleRender(){return this.scheduledRender?this.scheduledRender:this.scheduledRender=requestAnimationFrame(this.render)}render(){var t,e;(cancelAnimationFrame(this.scheduledRender),this.scheduledRender=null,this.composing)||(null===(e=this.delegate)||void 0===e||e.render());null===(t=this.afterRender)||void 0===t||t.call(this),this.afterRender=null}reparse(){var t;return null===(t=this.delegate)||void 0===t?void 0:t.reparse()}insertString(){var t;let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",i=arguments.length>1?arguments[1]:void 0;return null===(t=this.delegate)||void 0===t||t.inputControllerWillPerformTyping(),this.withTargetDOMRange((function(){var t;return null===(t=this.responder)||void 0===t?void 0:t.insertString(e,i)}))}toggleAttributeIfSupported(t){var e;if(gt().includes(t))return null===(e=this.delegate)||void 0===e||e.inputControllerWillPerformFormatting(t),this.withTargetDOMRange((function(){var e;return null===(e=this.responder)||void 0===e?void 0:e.toggleCurrentAttribute(t)}))}activateAttributeIfSupported(t,e){var i;if(gt().includes(t))return null===(i=this.delegate)||void 0===i||i.inputControllerWillPerformFormatting(t),this.withTargetDOMRange((function(){var i;return null===(i=this.responder)||void 0===i?void 0:i.setCurrentAttribute(t,e)}))}deleteInDirection(t){let{recordUndoEntry:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{recordUndoEntry:!0};var i;e&&(null===(i=this.delegate)||void 0===i||i.inputControllerWillPerformTyping());const n=()=>{var e;return null===(e=this.responder)||void 0===e?void 0:e.deleteInDirection(t)},r=this.getTargetDOMRange({minLength:this.composing?1:2});return r?this.withTargetDOMRange(r,n):n()}withTargetDOMRange(t,e){var i;return\"function\"==typeof t&&(e=t,t=this.getTargetDOMRange()),t?null===(i=this.responder)||void 0===i?void 0:i.withTargetDOMRange(t,e.bind(this)):(Ft.reset(),e.call(this))}getTargetDOMRange(){var t,e;let{minLength:i}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{minLength:0};const n=null===(t=(e=this.event).getTargetRanges)||void 0===t?void 0:t.call(e);if(n&&n.length){const t=vr(n[0]);if(0===i||t.toString().length>=i)return t}}withEvent(t,e){let i;this.event=t;try{i=e.call(this)}finally{this.event=null}return i}}wi(br,\"events\",{keydown(t){if(St(t)){var e;const i=Er(t);null!==(e=this.delegate)&&void 0!==e&&e.inputControllerDidReceiveKeyboardCommand(i)&&t.preventDefault()}else{let e=t.key;t.altKey&&(e+=\"+Alt\"),t.shiftKey&&(e+=\"+Shift\");const i=this.constructor.keys[e];if(i)return this.withEvent(t,i)}},paste(t){var e;let i;const n=null===(e=t.clipboardData)||void 0===e?void 0:e.getData(\"URL\");return xr(t)?(t.preventDefault(),this.attachFiles(t.clipboardData.files)):Cr(t)?(t.preventDefault(),i={type:\"text/plain\",string:t.clipboardData.getData(\"text/plain\")},null===(r=this.delegate)||void 0===r||r.inputControllerWillPaste(i),null===(o=this.responder)||void 0===o||o.insertString(i.string),this.render(),null===(s=this.delegate)||void 0===s?void 0:s.inputControllerDidPaste(i)):n?(t.preventDefault(),i={type:\"text/html\",html:this.createLinkHTML(n)},null===(a=this.delegate)||void 0===a||a.inputControllerWillPaste(i),null===(l=this.responder)||void 0===l||l.insertHTML(i.html),this.render(),null===(c=this.delegate)||void 0===c?void 0:c.inputControllerDidPaste(i)):void 0;var r,o,s,a,l,c},beforeinput(t){const e=this.constructor.inputTypes[t.inputType],i=(n=t,!(!/iPhone|iPad/.test(navigator.userAgent)||n.inputType&&\"insertParagraph\"!==n.inputType));var n;e&&(this.withEvent(t,e),i||this.scheduleRender()),i&&this.render()},input(t){Ft.reset()},dragstart(t){var e,i;null!==(e=this.responder)&&void 0!==e&&e.selectionContainsAttachments()&&(t.dataTransfer.setData(\"application/x-trix-dragging\",!0),this.dragging={range:null===(i=this.responder)||void 0===i?void 0:i.getSelectedRange(),point:Sr(t)})},dragenter(t){Ar(t)&&t.preventDefault()},dragover(t){if(this.dragging){t.preventDefault();const i=Sr(t);var e;if(!Tt(i,this.dragging.point))return this.dragging.point=i,null===(e=this.responder)||void 0===e?void 0:e.setLocationRangeFromPointRange(i)}else Ar(t)&&t.preventDefault()},drop(t){var e,i;if(this.dragging)return t.preventDefault(),null===(e=this.delegate)||void 0===e||e.inputControllerWillMoveText(),null===(i=this.responder)||void 0===i||i.moveTextFromRange(this.dragging.range),this.dragging=null,this.scheduleRender();if(Ar(t)){var n;t.preventDefault();const e=Sr(t);return null===(n=this.responder)||void 0===n||n.setLocationRangeFromPointRange(e),this.attachFiles(t.dataTransfer.files)}},dragend(){var t;this.dragging&&(null===(t=this.responder)||void 0===t||t.setSelectedRange(this.dragging.range),this.dragging=null)},compositionend(t){this.composing&&(this.composing=!1,a.recentAndroid||this.scheduleRender())}}),wi(br,\"keys\",{ArrowLeft(){var t,e;if(null!==(t=this.responder)&&void 0!==t&&t.shouldManageMovingCursorInDirection(\"backward\"))return this.event.preventDefault(),null===(e=this.responder)||void 0===e?void 0:e.moveCursorInDirection(\"backward\")},ArrowRight(){var t,e;if(null!==(t=this.responder)&&void 0!==t&&t.shouldManageMovingCursorInDirection(\"forward\"))return this.event.preventDefault(),null===(e=this.responder)||void 0===e?void 0:e.moveCursorInDirection(\"forward\")},Backspace(){var t,e,i;if(null!==(t=this.responder)&&void 0!==t&&t.shouldManageDeletingInDirection(\"backward\"))return this.event.preventDefault(),null===(e=this.delegate)||void 0===e||e.inputControllerWillPerformTyping(),null===(i=this.responder)||void 0===i||i.deleteInDirection(\"backward\"),this.render()},Tab(){var t,e;if(null!==(t=this.responder)&&void 0!==t&&t.canIncreaseNestingLevel())return this.event.preventDefault(),null===(e=this.responder)||void 0===e||e.increaseNestingLevel(),this.render()},\"Tab+Shift\"(){var t,e;if(null!==(t=this.responder)&&void 0!==t&&t.canDecreaseNestingLevel())return this.event.preventDefault(),null===(e=this.responder)||void 0===e||e.decreaseNestingLevel(),this.render()}}),wi(br,\"inputTypes\",{deleteByComposition(){return this.deleteInDirection(\"backward\",{recordUndoEntry:!1})},deleteByCut(){return this.deleteInDirection(\"backward\")},deleteByDrag(){return this.event.preventDefault(),this.withTargetDOMRange((function(){var t;this.deleteByDragRange=null===(t=this.responder)||void 0===t?void 0:t.getSelectedRange()}))},deleteCompositionText(){return this.deleteInDirection(\"backward\",{recordUndoEntry:!1})},deleteContent(){return this.deleteInDirection(\"backward\")},deleteContentBackward(){return this.deleteInDirection(\"backward\")},deleteContentForward(){return this.deleteInDirection(\"forward\")},deleteEntireSoftLine(){return this.deleteInDirection(\"forward\")},deleteHardLineBackward(){return this.deleteInDirection(\"backward\")},deleteHardLineForward(){return this.deleteInDirection(\"forward\")},deleteSoftLineBackward(){return this.deleteInDirection(\"backward\")},deleteSoftLineForward(){return this.deleteInDirection(\"forward\")},deleteWordBackward(){return this.deleteInDirection(\"backward\")},deleteWordForward(){return this.deleteInDirection(\"forward\")},formatBackColor(){return this.activateAttributeIfSupported(\"backgroundColor\",this.event.data)},formatBold(){return this.toggleAttributeIfSupported(\"bold\")},formatFontColor(){return this.activateAttributeIfSupported(\"color\",this.event.data)},formatFontName(){return this.activateAttributeIfSupported(\"font\",this.event.data)},formatIndent(){var t;if(null!==(t=this.responder)&&void 0!==t&&t.canIncreaseNestingLevel())return this.withTargetDOMRange((function(){var t;return null===(t=this.responder)||void 0===t?void 0:t.increaseNestingLevel()}))},formatItalic(){return this.toggleAttributeIfSupported(\"italic\")},formatJustifyCenter(){return this.toggleAttributeIfSupported(\"justifyCenter\")},formatJustifyFull(){return this.toggleAttributeIfSupported(\"justifyFull\")},formatJustifyLeft(){return this.toggleAttributeIfSupported(\"justifyLeft\")},formatJustifyRight(){return this.toggleAttributeIfSupported(\"justifyRight\")},formatOutdent(){var t;if(null!==(t=this.responder)&&void 0!==t&&t.canDecreaseNestingLevel())return this.withTargetDOMRange((function(){var t;return null===(t=this.responder)||void 0===t?void 0:t.decreaseNestingLevel()}))},formatRemove(){this.withTargetDOMRange((function(){for(const i in null===(t=this.responder)||void 0===t?void 0:t.getCurrentAttributes()){var t,e;null===(e=this.responder)||void 0===e||e.removeCurrentAttribute(i)}}))},formatSetBlockTextDirection(){return this.activateAttributeIfSupported(\"blockDir\",this.event.data)},formatSetInlineTextDirection(){return this.activateAttributeIfSupported(\"textDir\",this.event.data)},formatStrikeThrough(){return this.toggleAttributeIfSupported(\"strike\")},formatSubscript(){return this.toggleAttributeIfSupported(\"sub\")},formatSuperscript(){return this.toggleAttributeIfSupported(\"sup\")},formatUnderline(){return this.toggleAttributeIfSupported(\"underline\")},historyRedo(){var t;return null===(t=this.delegate)||void 0===t?void 0:t.inputControllerWillPerformRedo()},historyUndo(){var t;return null===(t=this.delegate)||void 0===t?void 0:t.inputControllerWillPerformUndo()},insertCompositionText(){return this.composing=!0,this.insertString(this.event.data)},insertFromComposition(){return this.composing=!1,this.insertString(this.event.data)},insertFromDrop(){const t=this.deleteByDragRange;var e;if(t)return this.deleteByDragRange=null,null===(e=this.delegate)||void 0===e||e.inputControllerWillMoveText(),this.withTargetDOMRange((function(){var e;return null===(e=this.responder)||void 0===e?void 0:e.moveTextFromRange(t)}))},insertFromPaste(){const{dataTransfer:t}=this.event,e={dataTransfer:t},i=t.getData(\"URL\"),n=t.getData(\"text/html\");if(i){var r;let n;this.event.preventDefault(),e.type=\"text/html\";const o=t.getData(\"public.url-name\");n=o?Vt(o).trim():i,e.html=this.createLinkHTML(i,n),null===(r=this.delegate)||void 0===r||r.inputControllerWillPaste(e),this.withTargetDOMRange((function(){var t;return null===(t=this.responder)||void 0===t?void 0:t.insertHTML(e.html)})),this.afterRender=()=>{var t;return null===(t=this.delegate)||void 0===t?void 0:t.inputControllerDidPaste(e)}}else if(Et(t)){var o;e.type=\"text/plain\",e.string=t.getData(\"text/plain\"),null===(o=this.delegate)||void 0===o||o.inputControllerWillPaste(e),this.withTargetDOMRange((function(){var t;return null===(t=this.responder)||void 0===t?void 0:t.insertString(e.string)})),this.afterRender=()=>{var t;return null===(t=this.delegate)||void 0===t?void 0:t.inputControllerDidPaste(e)}}else if(yr(this.event)){var s;e.type=\"File\",e.file=t.files[0],null===(s=this.delegate)||void 0===s||s.inputControllerWillPaste(e),this.withTargetDOMRange((function(){var t;return null===(t=this.responder)||void 0===t?void 0:t.insertFile(e.file)})),this.afterRender=()=>{var t;return null===(t=this.delegate)||void 0===t?void 0:t.inputControllerDidPaste(e)}}else if(n){var a;this.event.preventDefault(),e.type=\"text/html\",e.html=n,null===(a=this.delegate)||void 0===a||a.inputControllerWillPaste(e),this.withTargetDOMRange((function(){var t;return null===(t=this.responder)||void 0===t?void 0:t.insertHTML(e.html)})),this.afterRender=()=>{var t;return null===(t=this.delegate)||void 0===t?void 0:t.inputControllerDidPaste(e)}}},insertFromYank(){return this.insertString(this.event.data)},insertLineBreak(){return this.insertString(\"\\n\")},insertLink(){return this.activateAttributeIfSupported(\"href\",this.event.data)},insertOrderedList(){return this.toggleAttributeIfSupported(\"number\")},insertParagraph(){var t;return null===(t=this.delegate)||void 0===t||t.inputControllerWillPerformTyping(),this.withTargetDOMRange((function(){var t;return null===(t=this.responder)||void 0===t?void 0:t.insertLineBreak()}))},insertReplacementText(){const t=this.event.dataTransfer.getData(\"text/plain\"),e=this.event.getTargetRanges()[0];this.withTargetDOMRange(e,(()=>{this.insertString(t,{updatePosition:!1})}))},insertText(){var t;return this.insertString(this.event.data||(null===(t=this.event.dataTransfer)||void 0===t?void 0:t.getData(\"text/plain\")))},insertTranspose(){return this.insertString(this.event.data)},insertUnorderedList(){return this.toggleAttributeIfSupported(\"bullet\")}});const vr=function(t){const e=document.createRange();return e.setStart(t.startContainer,t.startOffset),e.setEnd(t.endContainer,t.endOffset),e},Ar=t=>{var e;return Array.from((null===(e=t.dataTransfer)||void 0===e?void 0:e.types)||[]).includes(\"Files\")},yr=t=>{var e;return(null===(e=t.dataTransfer.files)||void 0===e?void 0:e[0])&&!xr(t)&&!(t=>{let{dataTransfer:e}=t;return e.types.includes(\"Files\")&&e.types.includes(\"text/html\")&&e.getData(\"text/html\").includes(\"urn:schemas-microsoft-com:office:office\")})(t)},xr=function(t){const e=t.clipboardData;if(e){return Array.from(e.types).filter((t=>t.match(/file/i))).length===e.types.length&&e.files.length>=1}},Cr=function(t){const e=t.clipboardData;if(e)return e.types.includes(\"text/plain\")&&1===e.types.length},Er=function(t){const e=[];return t.altKey&&e.push(\"alt\"),t.shiftKey&&e.push(\"shift\"),e.push(t.key),e},Sr=t=>({x:t.clientX,y:t.clientY}),Rr=\"[data-trix-attribute]\",kr=\"[data-trix-action]\",Tr=\"\".concat(Rr,\", \").concat(kr),wr=\"[data-trix-dialog]\",Lr=\"\".concat(wr,\"[data-trix-active]\"),Dr=\"\".concat(wr,\" [data-trix-method]\"),Nr=\"\".concat(wr,\" [data-trix-input]\"),Ir=(t,e)=>(e||(e=Fr(t)),t.querySelector(\"[data-trix-input][name='\".concat(e,\"']\"))),Or=t=>t.getAttribute(\"data-trix-action\"),Fr=t=>t.getAttribute(\"data-trix-attribute\")||t.getAttribute(\"data-trix-dialog-attribute\");class Pr extends q{constructor(t){super(t),this.didClickActionButton=this.didClickActionButton.bind(this),this.didClickAttributeButton=this.didClickAttributeButton.bind(this),this.didClickDialogButton=this.didClickDialogButton.bind(this),this.didKeyDownDialogInput=this.didKeyDownDialogInput.bind(this),this.element=t,this.attributes={},this.actions={},this.resetDialogInputs(),b(\"mousedown\",{onElement:this.element,matchingSelector:kr,withCallback:this.didClickActionButton}),b(\"mousedown\",{onElement:this.element,matchingSelector:Rr,withCallback:this.didClickAttributeButton}),b(\"click\",{onElement:this.element,matchingSelector:Tr,preventDefault:!0}),b(\"click\",{onElement:this.element,matchingSelector:Dr,withCallback:this.didClickDialogButton}),b(\"keydown\",{onElement:this.element,matchingSelector:Nr,withCallback:this.didKeyDownDialogInput})}didClickActionButton(t,e){var i;null===(i=this.delegate)||void 0===i||i.toolbarDidClickButton(),t.preventDefault();const n=Or(e);return this.getDialog(n)?this.toggleDialog(n):null===(r=this.delegate)||void 0===r?void 0:r.toolbarDidInvokeAction(n,e);var r}didClickAttributeButton(t,e){var i;null===(i=this.delegate)||void 0===i||i.toolbarDidClickButton(),t.preventDefault();const n=Fr(e);var r;this.getDialog(n)?this.toggleDialog(n):null===(r=this.delegate)||void 0===r||r.toolbarDidToggleAttribute(n);return this.refreshAttributeButtons()}didClickDialogButton(t,e){const i=y(e,{matchingSelector:wr});return this[e.getAttribute(\"data-trix-method\")].call(this,i)}didKeyDownDialogInput(t,e){if(13===t.keyCode){t.preventDefault();const i=e.getAttribute(\"name\"),n=this.getDialog(i);this.setAttribute(n)}if(27===t.keyCode)return t.preventDefault(),this.hideDialog()}updateActions(t){return this.actions=t,this.refreshActionButtons()}refreshActionButtons(){return this.eachActionButton(((t,e)=>{t.disabled=!1===this.actions[e]}))}eachActionButton(t){return Array.from(this.element.querySelectorAll(kr)).map((e=>t(e,Or(e))))}updateAttributes(t){return this.attributes=t,this.refreshAttributeButtons()}refreshAttributeButtons(){return this.eachAttributeButton(((t,e)=>(t.disabled=!1===this.attributes[e],this.attributes[e]||this.dialogIsVisible(e)?(t.setAttribute(\"data-trix-active\",\"\"),t.classList.add(\"trix-active\")):(t.removeAttribute(\"data-trix-active\"),t.classList.remove(\"trix-active\")))))}eachAttributeButton(t){return Array.from(this.element.querySelectorAll(Rr)).map((e=>t(e,Fr(e))))}applyKeyboardCommand(t){const e=JSON.stringify(t.sort());for(const t of Array.from(this.element.querySelectorAll(\"[data-trix-key]\"))){const i=t.getAttribute(\"data-trix-key\").split(\"+\");if(JSON.stringify(i.sort())===e)return v(\"mousedown\",{onElement:t}),!0}return!1}dialogIsVisible(t){const e=this.getDialog(t);if(e)return e.hasAttribute(\"data-trix-active\")}toggleDialog(t){return this.dialogIsVisible(t)?this.hideDialog():this.showDialog(t)}showDialog(t){var e,i;this.hideDialog(),null===(e=this.delegate)||void 0===e||e.toolbarWillShowDialog();const n=this.getDialog(t);n.setAttribute(\"data-trix-active\",\"\"),n.classList.add(\"trix-active\"),Array.from(n.querySelectorAll(\"input[disabled]\")).forEach((t=>{t.removeAttribute(\"disabled\")}));const r=Fr(n);if(r){const e=Ir(n,t);e&&(e.value=this.attributes[r]||\"\",e.select())}return null===(i=this.delegate)||void 0===i?void 0:i.toolbarDidShowDialog(t)}setAttribute(t){var e;const i=Fr(t),n=Ir(t,i);return!n.willValidate||(n.setCustomValidity(\"\"),n.checkValidity()&&this.isSafeAttribute(n))?(null===(e=this.delegate)||void 0===e||e.toolbarDidUpdateAttribute(i,n.value),this.hideDialog()):(n.setCustomValidity(\"Invalid value\"),n.setAttribute(\"data-trix-validate\",\"\"),n.classList.add(\"trix-validate\"),n.focus())}isSafeAttribute(t){return!t.hasAttribute(\"data-trix-validate-href\")||si.isValidAttribute(\"a\",\"href\",t.value)}removeAttribute(t){var e;const i=Fr(t);return null===(e=this.delegate)||void 0===e||e.toolbarDidRemoveAttribute(i),this.hideDialog()}hideDialog(){const t=this.element.querySelector(Lr);var e;if(t)return t.removeAttribute(\"data-trix-active\"),t.classList.remove(\"trix-active\"),this.resetDialogInputs(),null===(e=this.delegate)||void 0===e?void 0:e.toolbarDidHideDialog((t=>t.getAttribute(\"data-trix-dialog\"))(t))}resetDialogInputs(){Array.from(this.element.querySelectorAll(Nr)).forEach((t=>{t.setAttribute(\"disabled\",\"disabled\"),t.removeAttribute(\"data-trix-validate\"),t.classList.remove(\"trix-validate\")}))}getDialog(t){return this.element.querySelector(\"[data-trix-dialog=\".concat(t,\"]\"))}}class Mr extends Yn{constructor(t){let{editorElement:e,document:i,html:n}=t;super(...arguments),this.editorElement=e,this.selectionManager=new Wn(this.editorElement),this.selectionManager.delegate=this,this.composition=new kn,this.composition.delegate=this,this.attachmentManager=new Sn(this.composition.getAttachments()),this.attachmentManager.delegate=this,this.inputController=2===_.getLevel()?new br(this.editorElement):new hr(this.editorElement),this.inputController.delegate=this,this.inputController.responder=this.composition,this.compositionController=new Gn(this.editorElement,this.composition),this.compositionController.delegate=this,this.toolbarController=new Pr(this.editorElement.toolbarElement),this.toolbarController.delegate=this,this.editor=new On(this.composition,this.selectionManager,this.editorElement),i?this.editor.loadDocument(i):this.editor.loadHTML(n)}registerSelectionManager(){return Ft.registerSelectionManager(this.selectionManager)}unregisterSelectionManager(){return Ft.unregisterSelectionManager(this.selectionManager)}render(){return this.compositionController.render()}reparse(){return this.composition.replaceHTML(this.editorElement.innerHTML)}compositionDidChangeDocument(t){if(this.notifyEditorElement(\"document-change\"),!this.handlingInput)return this.render()}compositionDidChangeCurrentAttributes(t){return this.currentAttributes=t,this.toolbarController.updateAttributes(this.currentAttributes),this.updateCurrentActions(),this.notifyEditorElement(\"attributes-change\",{attributes:this.currentAttributes})}compositionDidPerformInsertionAtRange(t){this.pasting&&(this.pastedRange=t)}compositionShouldAcceptFile(t){return this.notifyEditorElement(\"file-accept\",{file:t})}compositionDidAddAttachment(t){const e=this.attachmentManager.manageAttachment(t);return this.notifyEditorElement(\"attachment-add\",{attachment:e})}compositionDidEditAttachment(t){this.compositionController.rerenderViewForObject(t);const e=this.attachmentManager.manageAttachment(t);return this.notifyEditorElement(\"attachment-edit\",{attachment:e}),this.notifyEditorElement(\"change\")}compositionDidChangeAttachmentPreviewURL(t){return this.compositionController.invalidateViewForObject(t),this.notifyEditorElement(\"change\")}compositionDidRemoveAttachment(t){const e=this.attachmentManager.unmanageAttachment(t);return this.notifyEditorElement(\"attachment-remove\",{attachment:e})}compositionDidStartEditingAttachment(t,e){return this.attachmentLocationRange=this.composition.document.getLocationRangeOfAttachment(t),this.compositionController.installAttachmentEditorForAttachment(t,e),this.selectionManager.setLocationRange(this.attachmentLocationRange)}compositionDidStopEditingAttachment(t){this.compositionController.uninstallAttachmentEditor(),this.attachmentLocationRange=null}compositionDidRequestChangingSelectionToLocationRange(t){if(!this.loadingSnapshot||this.isFocused())return this.requestedLocationRange=t,this.compositionRevisionWhenLocationRangeRequested=this.composition.revision,this.handlingInput?void 0:this.render()}compositionWillLoadSnapshot(){this.loadingSnapshot=!0}compositionDidLoadSnapshot(){this.compositionController.refreshViewCache(),this.render(),this.loadingSnapshot=!1}getSelectionManager(){return this.selectionManager}attachmentManagerDidRequestRemovalOfAttachment(t){return this.removeAttachment(t)}compositionControllerWillSyncDocumentView(){return this.inputController.editorWillSyncDocumentView(),this.selectionManager.lock(),this.selectionManager.clearSelection()}compositionControllerDidSyncDocumentView(){return this.inputController.editorDidSyncDocumentView(),this.selectionManager.unlock(),this.updateCurrentActions(),this.notifyEditorElement(\"sync\")}compositionControllerDidRender(){this.requestedLocationRange&&(this.compositionRevisionWhenLocationRangeRequested===this.composition.revision&&this.selectionManager.setLocationRange(this.requestedLocationRange),this.requestedLocationRange=null,this.compositionRevisionWhenLocationRangeRequested=null),this.renderedCompositionRevision!==this.composition.revision&&(this.runEditorFilters(),this.composition.updateCurrentAttributes(),this.notifyEditorElement(\"render\")),this.renderedCompositionRevision=this.composition.revision}compositionControllerDidFocus(){return this.isFocusedInvisibly()&&this.setLocationRange({index:0,offset:0}),this.toolbarController.hideDialog(),this.notifyEditorElement(\"focus\")}compositionControllerDidBlur(){return this.notifyEditorElement(\"blur\")}compositionControllerDidSelectAttachment(t,e){return this.toolbarController.hideDialog(),this.composition.editAttachment(t,e)}compositionControllerDidRequestDeselectingAttachment(t){const e=this.attachmentLocationRange||this.composition.document.getLocationRangeOfAttachment(t);return this.selectionManager.setLocationRange(e[1])}compositionControllerWillUpdateAttachment(t){return this.editor.recordUndoEntry(\"Edit Attachment\",{context:t.id,consolidatable:!0})}compositionControllerDidRequestRemovalOfAttachment(t){return this.removeAttachment(t)}inputControllerWillHandleInput(){this.handlingInput=!0,this.requestedRender=!1}inputControllerDidRequestRender(){this.requestedRender=!0}inputControllerDidHandleInput(){if(this.handlingInput=!1,this.requestedRender)return this.requestedRender=!1,this.render()}inputControllerDidAllowUnhandledInput(){return this.notifyEditorElement(\"change\")}inputControllerDidRequestReparse(){return this.reparse()}inputControllerWillPerformTyping(){return this.recordTypingUndoEntry()}inputControllerWillPerformFormatting(t){return this.recordFormattingUndoEntry(t)}inputControllerWillCutText(){return this.editor.recordUndoEntry(\"Cut\")}inputControllerWillPaste(t){return this.editor.recordUndoEntry(\"Paste\"),this.pasting=!0,this.notifyEditorElement(\"before-paste\",{paste:t})}inputControllerDidPaste(t){return t.range=this.pastedRange,this.pastedRange=null,this.pasting=null,this.notifyEditorElement(\"paste\",{paste:t})}inputControllerWillMoveText(){return this.editor.recordUndoEntry(\"Move\")}inputControllerWillAttachFiles(){return this.editor.recordUndoEntry(\"Drop Files\")}inputControllerWillPerformUndo(){return this.editor.undo()}inputControllerWillPerformRedo(){return this.editor.redo()}inputControllerDidReceiveKeyboardCommand(t){return this.toolbarController.applyKeyboardCommand(t)}inputControllerDidStartDrag(){this.locationRangeBeforeDrag=this.selectionManager.getLocationRange()}inputControllerDidReceiveDragOverPoint(t){return this.selectionManager.setLocationRangeFromPointRange(t)}inputControllerDidCancelDrag(){this.selectionManager.setLocationRange(this.locationRangeBeforeDrag),this.locationRangeBeforeDrag=null}locationRangeDidChange(t){return this.composition.updateCurrentAttributes(),this.updateCurrentActions(),this.attachmentLocationRange&&!Dt(this.attachmentLocationRange,t)&&this.composition.stopEditingAttachment(),this.notifyEditorElement(\"selection-change\")}toolbarDidClickButton(){if(!this.getLocationRange())return this.setLocationRange({index:0,offset:0})}toolbarDidInvokeAction(t,e){return this.invokeAction(t,e)}toolbarDidToggleAttribute(t){if(this.recordFormattingUndoEntry(t),this.composition.toggleCurrentAttribute(t),this.render(),!this.selectionFrozen)return this.editorElement.focus()}toolbarDidUpdateAttribute(t,e){if(this.recordFormattingUndoEntry(t),this.composition.setCurrentAttribute(t,e),this.render(),!this.selectionFrozen)return this.editorElement.focus()}toolbarDidRemoveAttribute(t){if(this.recordFormattingUndoEntry(t),this.composition.removeCurrentAttribute(t),this.render(),!this.selectionFrozen)return this.editorElement.focus()}toolbarWillShowDialog(t){return this.composition.expandSelectionForEditing(),this.freezeSelection()}toolbarDidShowDialog(t){return this.notifyEditorElement(\"toolbar-dialog-show\",{dialogName:t})}toolbarDidHideDialog(t){return this.thawSelection(),this.editorElement.focus(),this.notifyEditorElement(\"toolbar-dialog-hide\",{dialogName:t})}freezeSelection(){if(!this.selectionFrozen)return this.selectionManager.lock(),this.composition.freezeSelection(),this.selectionFrozen=!0,this.render()}thawSelection(){if(this.selectionFrozen)return this.composition.thawSelection(),this.selectionManager.unlock(),this.selectionFrozen=!1,this.render()}canInvokeAction(t){return!!this.actionIsExternal(t)||!(null===(e=this.actions[t])||void 0===e||null===(e=e.test)||void 0===e||!e.call(this));var e}invokeAction(t,e){return this.actionIsExternal(t)?this.notifyEditorElement(\"action-invoke\",{actionName:t,invokingElement:e}):null===(i=this.actions[t])||void 0===i||null===(i=i.perform)||void 0===i?void 0:i.call(this);var i}actionIsExternal(t){return/^x-./.test(t)}getCurrentActions(){const t={};for(const e in this.actions)t[e]=this.canInvokeAction(e);return t}updateCurrentActions(){const t=this.getCurrentActions();if(!Tt(t,this.currentActions))return this.currentActions=t,this.toolbarController.updateActions(this.currentActions),this.notifyEditorElement(\"actions-change\",{actions:this.currentActions})}runEditorFilters(){let t=this.composition.getSnapshot();if(Array.from(this.editor.filters).forEach((e=>{const{document:i,selectedRange:n}=t;t=e.call(this.editor,t)||{},t.document||(t.document=i),t.selectedRange||(t.selectedRange=n)})),e=t,i=this.composition.getSnapshot(),!Dt(e.selectedRange,i.selectedRange)||!e.document.isEqualTo(i.document))return this.composition.loadSnapshot(t);var e,i}updateInputElement(){const t=function(t,e){const i=xn[e];if(i)return i(t);throw new Error(\"unknown content type: \".concat(e))}(this.compositionController.getSerializableElement(),\"text/html\");return this.editorElement.setFormValue(t)}notifyEditorElement(t,e){switch(t){case\"document-change\":this.documentChangedSinceLastRender=!0;break;case\"render\":this.documentChangedSinceLastRender&&(this.documentChangedSinceLastRender=!1,this.notifyEditorElement(\"change\"));break;case\"change\":case\"attachment-add\":case\"attachment-edit\":case\"attachment-remove\":this.updateInputElement()}return this.editorElement.notify(t,e)}removeAttachment(t){return this.editor.recordUndoEntry(\"Delete Attachment\"),this.composition.removeAttachment(t),this.render()}recordFormattingUndoEntry(t){const e=mt(t),i=this.selectionManager.getLocationRange();if(e||!Lt(i))return this.editor.recordUndoEntry(\"Formatting\",{context:this.getUndoContext(),consolidatable:!0})}recordTypingUndoEntry(){return this.editor.recordUndoEntry(\"Typing\",{context:this.getUndoContext(this.currentAttributes),consolidatable:!0})}getUndoContext(){for(var t=arguments.length,e=new Array(t),i=0;i0?Math.floor((new Date).getTime()/V.interval):0}isFocused(){var t;return this.editorElement===(null===(t=this.editorElement.ownerDocument)||void 0===t?void 0:t.activeElement)}isFocusedInvisibly(){return this.isFocused()&&!this.getLocationRange()}get actions(){return this.constructor.actions}}wi(Mr,\"actions\",{undo:{test(){return this.editor.canUndo()},perform(){return this.editor.undo()}},redo:{test(){return this.editor.canRedo()},perform(){return this.editor.redo()}},link:{test(){return this.editor.canActivateAttribute(\"href\")}},increaseNestingLevel:{test(){return this.editor.canIncreaseNestingLevel()},perform(){return this.editor.increaseNestingLevel()&&this.render()}},decreaseNestingLevel:{test(){return this.editor.canDecreaseNestingLevel()},perform(){return this.editor.decreaseNestingLevel()&&this.render()}},attachFiles:{test:()=>!0,perform(){return _.pickFiles(this.editor.insertFiles)}}}),Mr.proxyMethod(\"getSelectionManager().setLocationRange\"),Mr.proxyMethod(\"getSelectionManager().getLocationRange\");var Br=Object.freeze({__proto__:null,AttachmentEditorController:Kn,CompositionController:Gn,Controller:Yn,EditorController:Mr,InputController:sr,Level0InputController:hr,Level2InputController:br,ToolbarController:Pr}),_r=Object.freeze({__proto__:null,MutationObserver:Qn,SelectionChangeObserver:Ot}),jr=Object.freeze({__proto__:null,FileVerificationOperation:er,ImagePreloadOperation:ji});vt(\"trix-toolbar\",\"%t {\\n display: block;\\n}\\n\\n%t {\\n white-space: nowrap;\\n}\\n\\n%t [data-trix-dialog] {\\n display: none;\\n}\\n\\n%t [data-trix-dialog][data-trix-active] {\\n display: block;\\n}\\n\\n%t [data-trix-dialog] [data-trix-validate]:invalid {\\n background-color: #ffdddd;\\n}\");class Wr extends HTMLElement{connectedCallback(){\"\"===this.innerHTML&&(this.innerHTML=U.getDefaultHTML())}}let Ur=0;const Vr=function(t){if(!t.hasAttribute(\"contenteditable\"))return t.setAttribute(\"contenteditable\",\"\"),function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.times=1,b(t,e)}(\"focus\",{onElement:t,withCallback:()=>zr(t)})},zr=function(t){return qr(t),Hr(t)},qr=function(t){var e,i;if(null!==(e=(i=document).queryCommandSupported)&&void 0!==e&&e.call(i,\"enableObjectResizing\"))return document.execCommand(\"enableObjectResizing\",!1,!1),b(\"mscontrolselect\",{onElement:t,preventDefault:!0})},Hr=function(t){var e,i;if(null!==(e=(i=document).queryCommandSupported)&&void 0!==e&&e.call(i,\"DefaultParagraphSeparator\")){const{tagName:t}=n.default;if([\"div\",\"p\"].includes(t))return document.execCommand(\"DefaultParagraphSeparator\",!1,t)}},Jr=a.forcesObjectResizing?{display:\"inline\",width:\"auto\"}:{display:\"inline-block\",width:\"1px\"};vt(\"trix-editor\",\"%t {\\n display: block;\\n}\\n\\n%t:empty::before {\\n content: attr(placeholder);\\n color: graytext;\\n cursor: text;\\n pointer-events: none;\\n white-space: pre-line;\\n}\\n\\n%t a[contenteditable=false] {\\n cursor: text;\\n}\\n\\n%t img {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n%t \".concat(e,\" figcaption textarea {\\n resize: none;\\n}\\n\\n%t \").concat(e,\" figcaption textarea.trix-autoresize-clone {\\n position: absolute;\\n left: -9999px;\\n max-height: 0px;\\n}\\n\\n%t \").concat(e,\" figcaption[data-trix-placeholder]:empty::before {\\n content: attr(data-trix-placeholder);\\n color: graytext;\\n}\\n\\n%t [data-trix-cursor-target] {\\n display: \").concat(Jr.display,\" !important;\\n width: \").concat(Jr.width,\" !important;\\n padding: 0 !important;\\n margin: 0 !important;\\n border: none !important;\\n}\\n\\n%t [data-trix-cursor-target=left] {\\n vertical-align: top !important;\\n margin-left: -1px !important;\\n}\\n\\n%t [data-trix-cursor-target=right] {\\n vertical-align: bottom !important;\\n margin-right: -1px !important;\\n}\"));var Kr=new WeakMap,Gr=new WeakSet;class Yr{constructor(t){var e,i;Mi(e=this,i=Gr),i.add(e),Bi(this,Kr,{writable:!0,value:void 0}),this.element=t,Ni(this,Kr,t.attachInternals())}connectedCallback(){Pi(this,Gr,$r).call(this)}disconnectedCallback(){}get labels(){return Di(this,Kr).labels}get disabled(){var t;return null===(t=this.element.inputElement)||void 0===t?void 0:t.disabled}set disabled(t){this.element.toggleAttribute(\"disabled\",t)}get required(){return this.element.hasAttribute(\"required\")}set required(t){this.element.toggleAttribute(\"required\",t),Pi(this,Gr,$r).call(this)}get validity(){return Di(this,Kr).validity}get validationMessage(){return Di(this,Kr).validationMessage}get willValidate(){return Di(this,Kr).willValidate}setFormValue(t){Pi(this,Gr,$r).call(this)}checkValidity(){return Di(this,Kr).checkValidity()}reportValidity(){return Di(this,Kr).reportValidity()}setCustomValidity(t){Pi(this,Gr,$r).call(this,t)}}function $r(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\";const{required:e,value:i}=this.element,n=e&&!i,r=!!t,o=T(\"input\",{required:e}),s=t||o.validationMessage;Di(this,Kr).setValidity({valueMissing:n,customError:r},s)}var Xr=new WeakMap,Zr=new WeakMap,Qr=new WeakMap;class to{constructor(t){Bi(this,Xr,{writable:!0,value:void 0}),Bi(this,Zr,{writable:!0,value:t=>{t.defaultPrevented||t.target===this.element.form&&this.element.reset()}}),Bi(this,Qr,{writable:!0,value:t=>{if(t.defaultPrevented)return;if(this.element.contains(t.target))return;const e=y(t.target,{matchingSelector:\"label\"});e&&Array.from(this.labels).includes(e)&&this.element.focus()}}),this.element=t}connectedCallback(){Ni(this,Xr,function(t){if(t.hasAttribute(\"aria-label\")||t.hasAttribute(\"aria-labelledby\"))return;const e=function(){const e=Array.from(t.labels).map((e=>{if(!e.contains(t))return e.textContent})).filter((t=>t)),i=e.join(\" \");return i?t.setAttribute(\"aria-label\",i):t.removeAttribute(\"aria-label\")};return e(),b(\"focus\",{onElement:t,withCallback:e})}(this.element)),window.addEventListener(\"reset\",Di(this,Zr),!1),window.addEventListener(\"click\",Di(this,Qr),!1)}disconnectedCallback(){var t;null===(t=Di(this,Xr))||void 0===t||t.destroy(),window.removeEventListener(\"reset\",Di(this,Zr),!1),window.removeEventListener(\"click\",Di(this,Qr),!1)}get labels(){const t=[];this.element.id&&this.element.ownerDocument&&t.push(...Array.from(this.element.ownerDocument.querySelectorAll(\"label[for='\".concat(this.element.id,\"']\"))||[]));const e=y(this.element,{matchingSelector:\"label\"});return e&&[this.element,null].includes(e.control)&&t.push(e),t}get disabled(){return console.warn(\"This browser does not support the [disabled] attribute for trix-editor elements.\"),!1}set disabled(t){console.warn(\"This browser does not support the [disabled] attribute for trix-editor elements.\")}get required(){return console.warn(\"This browser does not support the [required] attribute for trix-editor elements.\"),!1}set required(t){console.warn(\"This browser does not support the [required] attribute for trix-editor elements.\")}get validity(){return console.warn(\"This browser does not support the validity property for trix-editor elements.\"),null}get validationMessage(){return console.warn(\"This browser does not support the validationMessage property for trix-editor elements.\"),\"\"}get willValidate(){return console.warn(\"This browser does not support the willValidate property for trix-editor elements.\"),!1}setFormValue(t){}checkValidity(){return console.warn(\"This browser does not support checkValidity() for trix-editor elements.\"),!0}reportValidity(){return console.warn(\"This browser does not support reportValidity() for trix-editor elements.\"),!0}setCustomValidity(t){console.warn(\"This browser does not support setCustomValidity(validationMessage) for trix-editor elements.\")}}var eo=new WeakMap;class io extends HTMLElement{constructor(){super(),Bi(this,eo,{writable:!0,value:void 0}),Ni(this,eo,this.constructor.formAssociated?new Yr(this):new to(this))}get trixId(){return this.hasAttribute(\"trix-id\")?this.getAttribute(\"trix-id\"):(this.setAttribute(\"trix-id\",++Ur),this.trixId)}get labels(){return Di(this,eo).labels}get disabled(){return Di(this,eo).disabled}set disabled(t){Di(this,eo).disabled=t}get required(){return Di(this,eo).required}set required(t){Di(this,eo).required=t}get validity(){return Di(this,eo).validity}get validationMessage(){return Di(this,eo).validationMessage}get willValidate(){return Di(this,eo).willValidate}get type(){return this.localName}get toolbarElement(){var t;if(this.hasAttribute(\"toolbar\"))return null===(t=this.ownerDocument)||void 0===t?void 0:t.getElementById(this.getAttribute(\"toolbar\"));if(this.parentNode){const t=\"trix-toolbar-\".concat(this.trixId);this.setAttribute(\"toolbar\",t);const e=T(\"trix-toolbar\",{id:t});return this.parentNode.insertBefore(e,this),e}}get form(){var t;return null===(t=this.inputElement)||void 0===t?void 0:t.form}get inputElement(){var t;if(this.hasAttribute(\"input\"))return null===(t=this.ownerDocument)||void 0===t?void 0:t.getElementById(this.getAttribute(\"input\"));if(this.parentNode){const t=\"trix-input-\".concat(this.trixId);this.setAttribute(\"input\",t);const e=T(\"input\",{type:\"hidden\",id:t});return this.parentNode.insertBefore(e,this.nextElementSibling),e}}get editor(){var t;return null===(t=this.editorController)||void 0===t?void 0:t.editor}get name(){var t;return null===(t=this.inputElement)||void 0===t?void 0:t.name}get value(){var t;return null===(t=this.inputElement)||void 0===t?void 0:t.value}set value(t){var e;this.defaultValue=t,null===(e=this.editor)||void 0===e||e.loadHTML(this.defaultValue)}notify(t,e){if(this.editorController)return v(\"trix-\".concat(t),{onElement:this,attributes:e})}setFormValue(t){this.inputElement&&(this.inputElement.value=t,Di(this,eo).setFormValue(t))}connectedCallback(){this.hasAttribute(\"data-trix-internal\")||(Vr(this),function(t){if(!t.hasAttribute(\"role\"))t.setAttribute(\"role\",\"textbox\")}(this),this.editorController||(v(\"trix-before-initialize\",{onElement:this}),this.editorController=new Mr({editorElement:this,html:this.defaultValue=this.value}),requestAnimationFrame((()=>v(\"trix-initialize\",{onElement:this})))),this.editorController.registerSelectionManager(),Di(this,eo).connectedCallback(),function(t){if(!document.querySelector(\":focus\")&&t.hasAttribute(\"autofocus\")&&document.querySelector(\"[autofocus]\")===t)t.focus()}(this))}disconnectedCallback(){var t;null===(t=this.editorController)||void 0===t||t.unregisterSelectionManager(),Di(this,eo).disconnectedCallback()}checkValidity(){return Di(this,eo).checkValidity()}reportValidity(){return Di(this,eo).reportValidity()}setCustomValidity(t){Di(this,eo).setCustomValidity(t)}formDisabledCallback(t){this.inputElement&&(this.inputElement.disabled=t),this.toggleAttribute(\"contenteditable\",!t)}formResetCallback(){this.reset()}reset(){this.value=this.defaultValue}}wi(io,\"formAssociated\",\"ElementInternals\"in window);const no={VERSION:t,config:z,core:Cn,models:Un,views:Vn,controllers:Br,observers:_r,operations:jr,elements:Object.freeze({__proto__:null,TrixEditorElement:io,TrixToolbarElement:Wr}),filters:Object.freeze({__proto__:null,Filter:Dn,attachmentGalleryFilter:Nn})};Object.assign(no,Un),window.Trix=no,setTimeout((function(){customElements.get(\"trix-toolbar\")||customElements.define(\"trix-toolbar\",Wr),customElements.get(\"trix-editor\")||customElements.define(\"trix-editor\",io)}),0);export{no as default};\n//# sourceMappingURL=trix.esm.min.js.map\n","class UserFacingApiError extends Error {\n constructor() {\n super(...arguments);\n this.name = 'UserFacingApiError';\n }\n}\nexport default UserFacingApiError;","const objectToString = Object.prototype.toString;\n\nconst isError = value => objectToString.call(value) === '[object Error]';\n\nconst errorMessages = new Set([\n\t'network error', // Chrome\n\t'Failed to fetch', // Chrome\n\t'NetworkError when attempting to fetch resource.', // Firefox\n\t'The Internet connection appears to be offline.', // Safari 16\n\t'Load failed', // Safari 17+\n\t'Network request failed', // `cross-fetch`\n\t'fetch failed', // Undici (Node.js)\n\t'terminated', // Undici (Node.js)\n]);\n\nexport default function isNetworkError(error) {\n\tconst isValid = error\n\t\t&& isError(error)\n\t\t&& error.name === 'TypeError'\n\t\t&& typeof error.message === 'string';\n\n\tif (!isValid) {\n\t\treturn false;\n\t}\n\n\t// We do an extra check for Safari 17+ as it has a very generic error message.\n\t// Network errors in Safari have no stack.\n\tif (error.message === 'Load failed') {\n\t\treturn error.stack === undefined;\n\t}\n\n\treturn errorMessages.has(error.message);\n}\n","import retry from 'retry';\nimport isNetworkError from 'is-network-error';\n\nexport class AbortError extends Error {\n\tconstructor(message) {\n\t\tsuper();\n\n\t\tif (message instanceof Error) {\n\t\t\tthis.originalError = message;\n\t\t\t({message} = message);\n\t\t} else {\n\t\t\tthis.originalError = new Error(message);\n\t\t\tthis.originalError.stack = this.stack;\n\t\t}\n\n\t\tthis.name = 'AbortError';\n\t\tthis.message = message;\n\t}\n}\n\nconst decorateErrorWithCounts = (error, attemptNumber, options) => {\n\t// Minus 1 from attemptNumber because the first attempt does not count as a retry\n\tconst retriesLeft = options.retries - (attemptNumber - 1);\n\n\terror.attemptNumber = attemptNumber;\n\terror.retriesLeft = retriesLeft;\n\treturn error;\n};\n\nexport default async function pRetry(input, options) {\n\treturn new Promise((resolve, reject) => {\n\t\toptions = {\n\t\t\tonFailedAttempt() {},\n\t\t\tretries: 10,\n\t\t\tshouldRetry: () => true,\n\t\t\t...options,\n\t\t};\n\n\t\tconst operation = retry.operation(options);\n\n\t\tconst abortHandler = () => {\n\t\t\toperation.stop();\n\t\t\treject(options.signal?.reason);\n\t\t};\n\n\t\tif (options.signal && !options.signal.aborted) {\n\t\t\toptions.signal.addEventListener('abort', abortHandler, {once: true});\n\t\t}\n\n\t\tconst cleanUp = () => {\n\t\t\toptions.signal?.removeEventListener('abort', abortHandler);\n\t\t\toperation.stop();\n\t\t};\n\n\t\toperation.attempt(async attemptNumber => {\n\t\t\ttry {\n\t\t\t\tconst result = await input(attemptNumber);\n\t\t\t\tcleanUp();\n\t\t\t\tresolve(result);\n\t\t\t} catch (error) {\n\t\t\t\ttry {\n\t\t\t\t\tif (!(error instanceof Error)) {\n\t\t\t\t\t\tthrow new TypeError(`Non-error was thrown: \"${error}\". You should only throw errors.`);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (error instanceof AbortError) {\n\t\t\t\t\t\tthrow error.originalError;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (error instanceof TypeError && !isNetworkError(error)) {\n\t\t\t\t\t\tthrow error;\n\t\t\t\t\t}\n\n\t\t\t\t\tdecorateErrorWithCounts(error, attemptNumber, options);\n\n\t\t\t\t\tif (!(await options.shouldRetry(error))) {\n\t\t\t\t\t\toperation.stop();\n\t\t\t\t\t\treject(error);\n\t\t\t\t\t}\n\n\t\t\t\t\tawait options.onFailedAttempt(error);\n\n\t\t\t\t\tif (!operation.retry(error)) {\n\t\t\t\t\t\tthrow operation.mainError();\n\t\t\t\t\t}\n\t\t\t\t} catch (finalError) {\n\t\t\t\t\tdecorateErrorWithCounts(finalError, attemptNumber, options);\n\t\t\t\t\tcleanUp();\n\t\t\t\t\treject(finalError);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n}\n","class NetworkError extends Error {\n constructor(error, xhr) {\n if (xhr === void 0) {\n xhr = null;\n }\n super(`This looks like a network error, the endpoint might be blocked by an internet provider or a firewall.`);\n this.cause = error;\n this.isNetworkError = true;\n this.request = xhr;\n }\n}\nexport default NetworkError;","export default function has(object, key) {\n return Object.prototype.hasOwnProperty.call(object, key);\n}","import hasProperty from \"./hasProperty.js\";\nclass ErrorWithCause extends Error {\n constructor(message, options) {\n super(message);\n this.cause = options == null ? void 0 : options.cause;\n if (this.cause && hasProperty(this.cause, 'isNetworkError')) {\n this.isNetworkError = this.cause.isNetworkError;\n } else {\n this.isNetworkError = false;\n }\n }\n}\nexport default ErrorWithCause;","import throttle from 'lodash/throttle.js';\nfunction emitSocketProgress(uploader, progressData, file) {\n const {\n progress,\n bytesUploaded,\n bytesTotal\n } = progressData;\n if (progress) {\n uploader.uppy.log(`Upload progress: ${progress}`);\n uploader.uppy.emit('upload-progress', file, {\n // @ts-expect-error todo remove in next major\n uploader,\n bytesUploaded,\n bytesTotal\n });\n }\n}\nexport default throttle(emitSocketProgress, 300, {\n leading: true,\n trailing: true\n});","'use strict';\n\nclass AuthError extends Error {\n constructor() {\n super('Authorization required');\n this.name = 'AuthError';\n\n // we use a property because of instanceof is unsafe:\n // https://github.com/transloadit/uppy/pull/4619#discussion_r1406225982\n this.isAuthError = true;\n }\n}\nexport default AuthError;","let _Symbol$for;\nfunction _classPrivateFieldLooseBase(receiver, privateKey) { if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { throw new TypeError(\"attempted to use private field on non-instance\"); } return receiver; }\nvar id = 0;\nfunction _classPrivateFieldLooseKey(name) { return \"__private_\" + id++ + \"_\" + name; }\nimport UserFacingApiError from '@uppy/utils/lib/UserFacingApiError';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport pRetry, { AbortError } from 'p-retry';\nimport fetchWithNetworkError from '@uppy/utils/lib/fetchWithNetworkError';\nimport ErrorWithCause from '@uppy/utils/lib/ErrorWithCause';\nimport emitSocketProgress from '@uppy/utils/lib/emitSocketProgress';\nimport getSocketHost from '@uppy/utils/lib/getSocketHost';\nimport AuthError from \"./AuthError.js\";\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore We don't want TS to generate types for the package.json\nconst packageJson = {\n \"version\": \"3.8.1\"\n};\n// Remove the trailing slash so we can always safely append /xyz.\nfunction stripSlash(url) {\n return url.replace(/\\/$/, '');\n}\nconst retryCount = 10; // set to a low number, like 2 to test manual user retries\nconst socketActivityTimeoutMs = 5 * 60 * 1000; // set to a low number like 10000 to test this\n\nexport const authErrorStatusCode = 401;\nclass HttpError extends Error {\n constructor(_ref) {\n let {\n statusCode,\n message\n } = _ref;\n super(message);\n this.name = 'HttpError';\n this.statusCode = statusCode;\n }\n}\nasync function handleJSONResponse(res) {\n if (res.status === authErrorStatusCode) {\n throw new AuthError();\n }\n if (res.ok) {\n return res.json();\n }\n let errMsg = `Failed request with status: ${res.status}. ${res.statusText}`;\n let errData;\n try {\n errData = await res.json();\n if (errData.message) errMsg = `${errMsg} message: ${errData.message}`;\n if (errData.requestId) errMsg = `${errMsg} request-Id: ${errData.requestId}`;\n } catch (cause) {\n // if the response contains invalid JSON, let's ignore the error data\n throw new Error(errMsg, {\n cause\n });\n }\n if (res.status >= 400 && res.status <= 499 && errData.message) {\n throw new UserFacingApiError(errData.message);\n }\n throw new HttpError({\n statusCode: res.status,\n message: errMsg\n });\n}\nvar _companionHeaders = /*#__PURE__*/_classPrivateFieldLooseKey(\"companionHeaders\");\nvar _getUrl = /*#__PURE__*/_classPrivateFieldLooseKey(\"getUrl\");\nvar _requestSocketToken = /*#__PURE__*/_classPrivateFieldLooseKey(\"requestSocketToken\");\nvar _awaitRemoteFileUpload = /*#__PURE__*/_classPrivateFieldLooseKey(\"awaitRemoteFileUpload\");\n_Symbol$for = Symbol.for('uppy test: getCompanionHeaders');\nexport default class RequestClient {\n constructor(uppy, opts) {\n /**\n * This method will ensure a websocket for the specified file and returns a promise that resolves\n * when the file has finished downloading, or rejects if it fails.\n * It will retry if the websocket gets disconnected\n */\n Object.defineProperty(this, _awaitRemoteFileUpload, {\n value: _awaitRemoteFileUpload2\n });\n Object.defineProperty(this, _getUrl, {\n value: _getUrl2\n });\n Object.defineProperty(this, _companionHeaders, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _requestSocketToken, {\n writable: true,\n value: async _ref2 => {\n var _file$remote;\n let {\n file,\n postBody,\n signal\n } = _ref2;\n if (((_file$remote = file.remote) == null ? void 0 : _file$remote.url) == null) {\n throw new Error('Cannot connect to an undefined URL');\n }\n const res = await this.post(file.remote.url, {\n ...file.remote.body,\n ...postBody\n }, {\n signal\n });\n return res.token;\n }\n });\n this.uppy = uppy;\n this.opts = opts;\n this.onReceiveResponse = this.onReceiveResponse.bind(this);\n // TODO: Remove optional chaining\n _classPrivateFieldLooseBase(this, _companionHeaders)[_companionHeaders] = opts == null ? void 0 : opts.companionHeaders;\n }\n setCompanionHeaders(headers) {\n _classPrivateFieldLooseBase(this, _companionHeaders)[_companionHeaders] = headers;\n }\n [_Symbol$for]() {\n return _classPrivateFieldLooseBase(this, _companionHeaders)[_companionHeaders];\n }\n get hostname() {\n const {\n companion\n } = this.uppy.getState();\n const host = this.opts.companionUrl;\n return stripSlash(companion && companion[host] ? companion[host] : host);\n }\n async headers(emptyBody) {\n if (emptyBody === void 0) {\n emptyBody = false;\n }\n const defaultHeaders = {\n Accept: 'application/json',\n ...(emptyBody ? undefined : {\n // Passing those headers on requests with no data forces browsers to first make a preflight request.\n 'Content-Type': 'application/json'\n })\n };\n return {\n ...defaultHeaders,\n ..._classPrivateFieldLooseBase(this, _companionHeaders)[_companionHeaders]\n };\n }\n onReceiveResponse(res) {\n const {\n headers\n } = res;\n const state = this.uppy.getState();\n const companion = state.companion || {};\n const host = this.opts.companionUrl;\n\n // Store the self-identified domain name for the Companion instance we just hit.\n if (headers.has('i-am') && headers.get('i-am') !== companion[host]) {\n this.uppy.setState({\n companion: {\n ...companion,\n [host]: headers.get('i-am')\n }\n });\n }\n }\n async request(_ref3) {\n let {\n path,\n method = 'GET',\n data,\n skipPostResponse,\n signal\n } = _ref3;\n try {\n const headers = await this.headers(!data);\n const response = await fetchWithNetworkError(_classPrivateFieldLooseBase(this, _getUrl)[_getUrl](path), {\n method,\n signal,\n headers,\n credentials: this.opts.companionCookiesRule || 'same-origin',\n body: data ? JSON.stringify(data) : null\n });\n if (!skipPostResponse) this.onReceiveResponse(response);\n return await handleJSONResponse(response);\n } catch (err) {\n // pass these through\n if (err.isAuthError || err.name === 'UserFacingApiError' || err.name === 'AbortError') throw err;\n throw new ErrorWithCause(`Could not ${method} ${_classPrivateFieldLooseBase(this, _getUrl)[_getUrl](path)}`, {\n cause: err\n });\n }\n }\n async get(path, options) {\n // TODO: remove boolean support for options that was added for backward compatibility.\n // eslint-disable-next-line no-param-reassign\n if (typeof options === 'boolean') options = {\n skipPostResponse: options\n };\n return this.request({\n ...options,\n path\n });\n }\n async post(path, data, options) {\n // TODO: remove boolean support for options that was added for backward compatibility.\n // eslint-disable-next-line no-param-reassign\n if (typeof options === 'boolean') options = {\n skipPostResponse: options\n };\n return this.request({\n ...options,\n path,\n method: 'POST',\n data\n });\n }\n async delete(path, data, options) {\n // TODO: remove boolean support for options that was added for backward compatibility.\n // eslint-disable-next-line no-param-reassign\n if (typeof options === 'boolean') options = {\n skipPostResponse: options\n };\n return this.request({\n ...options,\n path,\n method: 'DELETE',\n data\n });\n }\n\n /**\n * Remote uploading consists of two steps:\n * 1. #requestSocketToken which starts the download/upload in companion and returns a unique token for the upload.\n * Then companion will halt the upload until:\n * 2. #awaitRemoteFileUpload is called, which will open/ensure a websocket connection towards companion, with the\n * previously generated token provided. It returns a promise that will resolve/reject once the file has finished\n * uploading or is otherwise done (failed, canceled)\n */\n async uploadRemoteFile(file, reqBody, options) {\n var _this = this;\n try {\n const {\n signal,\n getQueue\n } = options || {};\n return await pRetry(async () => {\n var _this$uppy$getFile;\n // if we already have a serverToken, assume that we are resuming the existing server upload id\n const existingServerToken = (_this$uppy$getFile = this.uppy.getFile(file.id)) == null ? void 0 : _this$uppy$getFile.serverToken;\n if (existingServerToken != null) {\n this.uppy.log(`Connecting to exiting websocket ${existingServerToken}`);\n return _classPrivateFieldLooseBase(this, _awaitRemoteFileUpload)[_awaitRemoteFileUpload]({\n file,\n queue: getQueue(),\n signal\n });\n }\n const queueRequestSocketToken = getQueue().wrapPromiseFunction(async function () {\n try {\n return await _classPrivateFieldLooseBase(_this, _requestSocketToken)[_requestSocketToken](...arguments);\n } catch (outerErr) {\n // throwing AbortError will cause p-retry to stop retrying\n if (outerErr.isAuthError) throw new AbortError(outerErr);\n if (outerErr.cause == null) throw outerErr;\n const err = outerErr.cause;\n const isRetryableHttpError = () => [408, 409, 429, 418, 423].includes(err.statusCode) || err.statusCode >= 500 && err.statusCode <= 599 && ![501, 505].includes(err.statusCode);\n if (err.name === 'HttpError' && !isRetryableHttpError()) throw new AbortError(err);\n\n // p-retry will retry most other errors,\n // but it will not retry TypeError (except network error TypeErrors)\n throw err;\n }\n }, {\n priority: -1\n });\n const serverToken = await queueRequestSocketToken({\n file,\n postBody: reqBody,\n signal\n }).abortOn(signal);\n if (!this.uppy.getFile(file.id)) return undefined; // has file since been removed?\n\n this.uppy.setFileState(file.id, {\n serverToken\n });\n return _classPrivateFieldLooseBase(this, _awaitRemoteFileUpload)[_awaitRemoteFileUpload]({\n file: this.uppy.getFile(file.id),\n // re-fetching file because it might have changed in the meantime\n queue: getQueue(),\n signal\n });\n }, {\n retries: retryCount,\n signal,\n onFailedAttempt: err => this.uppy.log(`Retrying upload due to: ${err.message}`, 'warning')\n });\n } catch (err) {\n // this is a bit confusing, but note that an error with the `name` prop set to 'AbortError' (from AbortController)\n // is not the same as `p-retry` `AbortError`\n if (err.name === 'AbortError') {\n // The file upload was aborted, it’s not an error\n return undefined;\n }\n this.uppy.emit('upload-error', file, err);\n throw err;\n }\n }\n}\nfunction _getUrl2(url) {\n if (/^(https?:|)\\/\\//.test(url)) {\n return url;\n }\n return `${this.hostname}/${url}`;\n}\nasync function _awaitRemoteFileUpload2(_ref4) {\n let {\n file,\n queue,\n signal\n } = _ref4;\n let removeEventHandlers;\n const {\n capabilities\n } = this.uppy.getState();\n try {\n return await new Promise((resolve, reject) => {\n const token = file.serverToken;\n const host = getSocketHost(file.remote.companionUrl);\n let socket;\n let socketAbortController;\n let activityTimeout;\n let {\n isPaused\n } = file;\n const socketSend = (action, payload) => {\n if (socket == null || socket.readyState !== socket.OPEN) {\n var _socket;\n this.uppy.log(`Cannot send \"${action}\" to socket ${file.id} because the socket state was ${String((_socket = socket) == null ? void 0 : _socket.readyState)}`, 'warning');\n return;\n }\n socket.send(JSON.stringify({\n action,\n payload: payload != null ? payload : {}\n }));\n };\n function sendState() {\n if (!capabilities.resumableUploads) return;\n if (isPaused) socketSend('pause');else socketSend('resume');\n }\n const createWebsocket = async () => {\n if (socketAbortController) socketAbortController.abort();\n socketAbortController = new AbortController();\n const onFatalError = err => {\n var _socketAbortControlle;\n // Remove the serverToken so that a new one will be created for the retry.\n this.uppy.setFileState(file.id, {\n serverToken: null\n });\n (_socketAbortControlle = socketAbortController) == null || _socketAbortControlle.abort == null || _socketAbortControlle.abort();\n reject(err);\n };\n\n // todo instead implement the ability for users to cancel / retry *currently uploading files* in the UI\n function resetActivityTimeout() {\n clearTimeout(activityTimeout);\n if (isPaused) return;\n activityTimeout = setTimeout(() => onFatalError(new Error('Timeout waiting for message from Companion socket')), socketActivityTimeoutMs);\n }\n try {\n await queue.wrapPromiseFunction(async () => {\n const reconnectWebsocket = async () =>\n // eslint-disable-next-line promise/param-names\n new Promise((_, rejectSocket) => {\n socket = new WebSocket(`${host}/api/${token}`);\n resetActivityTimeout();\n socket.addEventListener('close', () => {\n socket = undefined;\n rejectSocket(new Error('Socket closed unexpectedly'));\n });\n socket.addEventListener('error', error => {\n var _socket2;\n this.uppy.log(`Companion socket error ${JSON.stringify(error)}, closing socket`, 'warning');\n (_socket2 = socket) == null || _socket2.close(); // will 'close' event to be emitted\n });\n socket.addEventListener('open', () => {\n sendState();\n });\n socket.addEventListener('message', e => {\n resetActivityTimeout();\n try {\n const {\n action,\n payload\n } = JSON.parse(e.data);\n switch (action) {\n case 'progress':\n {\n emitSocketProgress(this, payload, this.uppy.getFile(file.id));\n break;\n }\n case 'success':\n {\n var _payload$response, _payload$response$sta, _payload$response2, _socketAbortControlle2;\n // payload.response is sent from companion for xhr-upload (aka uploadMultipart in companion) and\n // s3 multipart (aka uploadS3Multipart)\n // but not for tus/transloadit (aka uploadTus)\n // responseText is a string which may or may not be in JSON format\n // this means that an upload destination of xhr or s3 multipart MUST respond with valid JSON\n // to companion, or the JSON.parse will crash\n const text = (_payload$response = payload.response) == null ? void 0 : _payload$response.responseText;\n this.uppy.emit('upload-success', this.uppy.getFile(file.id), {\n uploadURL: payload.url,\n status: (_payload$response$sta = (_payload$response2 = payload.response) == null ? void 0 : _payload$response2.status) != null ? _payload$response$sta : 200,\n body: text ? JSON.parse(text) : undefined\n });\n (_socketAbortControlle2 = socketAbortController) == null || _socketAbortControlle2.abort == null || _socketAbortControlle2.abort();\n resolve();\n break;\n }\n case 'error':\n {\n const {\n message\n } = payload.error;\n throw Object.assign(new Error(message), {\n cause: payload.error\n });\n }\n default:\n this.uppy.log(`Companion socket unknown action ${action}`, 'warning');\n }\n } catch (err) {\n onFatalError(err);\n }\n });\n const closeSocket = () => {\n this.uppy.log(`Closing socket ${file.id}`, 'info');\n clearTimeout(activityTimeout);\n if (socket) socket.close();\n socket = undefined;\n };\n socketAbortController.signal.addEventListener('abort', () => {\n closeSocket();\n });\n });\n await pRetry(reconnectWebsocket, {\n retries: retryCount,\n signal: socketAbortController.signal,\n onFailedAttempt: () => {\n if (socketAbortController.signal.aborted) return; // don't log in this case\n this.uppy.log(`Retrying websocket ${file.id}`, 'info');\n }\n });\n })().abortOn(socketAbortController.signal);\n } catch (err) {\n if (socketAbortController.signal.aborted) return;\n onFatalError(err);\n }\n };\n const pause = newPausedState => {\n if (!capabilities.resumableUploads) return;\n isPaused = newPausedState;\n if (socket) sendState();\n if (newPausedState) {\n var _socketAbortControlle3;\n // Remove this file from the queue so another file can start in its place.\n (_socketAbortControlle3 = socketAbortController) == null || _socketAbortControlle3.abort == null || _socketAbortControlle3.abort(); // close socket to free up the request for other uploads\n } else {\n // Resuming an upload should be queued, else you could pause and then\n // resume a queued upload to make it skip the queue.\n createWebsocket();\n }\n };\n const onFileRemove = targetFile => {\n var _socketAbortControlle4;\n if (!capabilities.individualCancellation) return;\n if (targetFile.id !== file.id) return;\n socketSend('cancel');\n (_socketAbortControlle4 = socketAbortController) == null || _socketAbortControlle4.abort == null || _socketAbortControlle4.abort();\n this.uppy.log(`upload ${file.id} was removed`, 'info');\n resolve();\n };\n const onCancelAll = _ref5 => {\n var _socketAbortControlle5;\n let {\n reason\n } = _ref5;\n if (reason === 'user') {\n socketSend('cancel');\n }\n (_socketAbortControlle5 = socketAbortController) == null || _socketAbortControlle5.abort == null || _socketAbortControlle5.abort();\n this.uppy.log(`upload ${file.id} was canceled`, 'info');\n resolve();\n };\n const onFilePausedChange = (targetFileId, newPausedState) => {\n if (targetFileId !== file.id) return;\n pause(newPausedState);\n };\n const onPauseAll = () => pause(true);\n const onResumeAll = () => pause(false);\n this.uppy.on('file-removed', onFileRemove);\n this.uppy.on('cancel-all', onCancelAll);\n this.uppy.on('upload-pause', onFilePausedChange);\n this.uppy.on('pause-all', onPauseAll);\n this.uppy.on('resume-all', onResumeAll);\n removeEventHandlers = () => {\n this.uppy.off('file-removed', onFileRemove);\n this.uppy.off('cancel-all', onCancelAll);\n this.uppy.off('upload-pause', onFilePausedChange);\n this.uppy.off('pause-all', onPauseAll);\n this.uppy.off('resume-all', onResumeAll);\n };\n signal.addEventListener('abort', () => {\n var _socketAbortControlle6;\n (_socketAbortControlle6 = socketAbortController) == null || _socketAbortControlle6.abort();\n });\n createWebsocket();\n });\n } finally {\n // @ts-expect-error used before defined\n removeEventHandlers == null || removeEventHandlers();\n }\n}\nRequestClient.VERSION = packageJson.version;","import NetworkError from \"./NetworkError.js\";\n\n/**\n * Wrapper around window.fetch that throws a NetworkError when appropriate\n */\nexport default function fetchWithNetworkError() {\n return fetch(...arguments).catch(err => {\n if (err.name === 'AbortError') {\n throw err;\n } else {\n throw new NetworkError(err);\n }\n });\n}","export default function getSocketHost(url) {\n var _regex$exec;\n // get the host domain\n const regex = /^(?:https?:\\/\\/|\\/\\/)?(?:[^@\\n]+@)?(?:www\\.)?([^\\n]+)/i;\n const host = (_regex$exec = regex.exec(url)) == null ? void 0 : _regex$exec[1];\n const socketProtocol = /^http:\\/\\//i.test(url) ? 'ws' : 'wss';\n return `${socketProtocol}://${host}`;\n}","let _Symbol$for, _Symbol$for2;\nfunction _classPrivateFieldLooseBase(receiver, privateKey) { if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { throw new TypeError(\"attempted to use private field on non-instance\"); } return receiver; }\nvar id = 0;\nfunction _classPrivateFieldLooseKey(name) { return \"__private_\" + id++ + \"_\" + name; }\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore no types\nimport ee from 'namespace-emitter';\nvar _queued = /*#__PURE__*/_classPrivateFieldLooseKey(\"queued\");\nvar _emitter = /*#__PURE__*/_classPrivateFieldLooseKey(\"emitter\");\nvar _isOpen = /*#__PURE__*/_classPrivateFieldLooseKey(\"isOpen\");\nvar _socket = /*#__PURE__*/_classPrivateFieldLooseKey(\"socket\");\nvar _handleMessage = /*#__PURE__*/_classPrivateFieldLooseKey(\"handleMessage\");\n_Symbol$for = Symbol.for('uppy test: getSocket');\n_Symbol$for2 = Symbol.for('uppy test: getQueued');\nexport default class UppySocket {\n constructor(opts) {\n Object.defineProperty(this, _queued, {\n writable: true,\n value: []\n });\n Object.defineProperty(this, _emitter, {\n writable: true,\n value: ee()\n });\n Object.defineProperty(this, _isOpen, {\n writable: true,\n value: false\n });\n Object.defineProperty(this, _socket, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _handleMessage, {\n writable: true,\n value: e => {\n try {\n const message = JSON.parse(e.data);\n this.emit(message.action, message.payload);\n } catch (err) {\n // TODO: use a more robust error handler.\n console.log(err); // eslint-disable-line no-console\n }\n }\n });\n this.opts = opts;\n if (!opts || opts.autoOpen !== false) {\n this.open();\n }\n }\n get isOpen() {\n return _classPrivateFieldLooseBase(this, _isOpen)[_isOpen];\n }\n [_Symbol$for]() {\n return _classPrivateFieldLooseBase(this, _socket)[_socket];\n }\n [_Symbol$for2]() {\n return _classPrivateFieldLooseBase(this, _queued)[_queued];\n }\n open() {\n if (_classPrivateFieldLooseBase(this, _socket)[_socket] != null) return;\n _classPrivateFieldLooseBase(this, _socket)[_socket] = new WebSocket(this.opts.target);\n _classPrivateFieldLooseBase(this, _socket)[_socket].onopen = () => {\n _classPrivateFieldLooseBase(this, _isOpen)[_isOpen] = true;\n while (_classPrivateFieldLooseBase(this, _queued)[_queued].length > 0 && _classPrivateFieldLooseBase(this, _isOpen)[_isOpen]) {\n const first = _classPrivateFieldLooseBase(this, _queued)[_queued].shift();\n this.send(first.action, first.payload);\n }\n };\n _classPrivateFieldLooseBase(this, _socket)[_socket].onclose = () => {\n _classPrivateFieldLooseBase(this, _isOpen)[_isOpen] = false;\n _classPrivateFieldLooseBase(this, _socket)[_socket] = null;\n };\n _classPrivateFieldLooseBase(this, _socket)[_socket].onmessage = _classPrivateFieldLooseBase(this, _handleMessage)[_handleMessage];\n }\n close() {\n var _classPrivateFieldLoo;\n (_classPrivateFieldLoo = _classPrivateFieldLooseBase(this, _socket)[_socket]) == null || _classPrivateFieldLoo.close();\n }\n send(action, payload) {\n // attach uuid\n\n if (!_classPrivateFieldLooseBase(this, _isOpen)[_isOpen]) {\n _classPrivateFieldLooseBase(this, _queued)[_queued].push({\n action,\n payload\n });\n return;\n }\n _classPrivateFieldLooseBase(this, _socket)[_socket].send(JSON.stringify({\n action,\n payload\n }));\n }\n on(action, handler) {\n _classPrivateFieldLooseBase(this, _emitter)[_emitter].on(action, handler);\n }\n emit(action, payload) {\n _classPrivateFieldLooseBase(this, _emitter)[_emitter].emit(action, payload);\n }\n once(action, handler) {\n _classPrivateFieldLooseBase(this, _emitter)[_emitter].once(action, handler);\n }\n}","function _classPrivateFieldLooseBase(receiver, privateKey) { if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { throw new TypeError(\"attempted to use private field on non-instance\"); } return receiver; }\nvar id = 0;\nfunction _classPrivateFieldLooseKey(name) { return \"__private_\" + id++ + \"_\" + name; }\nvar _uppy = /*#__PURE__*/_classPrivateFieldLooseKey(\"uppy\");\nvar _events = /*#__PURE__*/_classPrivateFieldLooseKey(\"events\");\n/**\n * Create a wrapper around an event emitter with a `remove` method to remove\n * all events that were added using the wrapped emitter.\n */\nexport default class EventManager {\n constructor(uppy) {\n Object.defineProperty(this, _uppy, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _events, {\n writable: true,\n value: []\n });\n _classPrivateFieldLooseBase(this, _uppy)[_uppy] = uppy;\n }\n\n /** @deprecated */\n\n on(event, fn) {\n _classPrivateFieldLooseBase(this, _events)[_events].push([event, fn]);\n return _classPrivateFieldLooseBase(this, _uppy)[_uppy].on(event, fn);\n }\n remove() {\n for (const [event, fn] of _classPrivateFieldLooseBase(this, _events)[_events].splice(0)) {\n _classPrivateFieldLooseBase(this, _uppy)[_uppy].off(event, fn);\n }\n }\n onFilePause(fileID, cb) {\n this.on('upload-pause', (targetFileID, isPaused) => {\n if (fileID === targetFileID) {\n cb(isPaused);\n }\n });\n }\n onFileRemove(fileID, cb) {\n this.on('file-removed', file => {\n if (fileID === file.id) cb(file.id);\n });\n }\n onPause(fileID, cb) {\n this.on('upload-pause', (targetFileID, isPaused) => {\n if (fileID === targetFileID) {\n // const isPaused = this.#uppy.pauseResume(fileID)\n cb(isPaused);\n }\n });\n }\n onRetry(fileID, cb) {\n this.on('upload-retry', targetFileID => {\n if (fileID === targetFileID) {\n cb();\n }\n });\n }\n onRetryAll(fileID, cb) {\n this.on('retry-all', () => {\n if (!_classPrivateFieldLooseBase(this, _uppy)[_uppy].getFile(fileID)) return;\n cb();\n });\n }\n onPauseAll(fileID, cb) {\n this.on('pause-all', () => {\n if (!_classPrivateFieldLooseBase(this, _uppy)[_uppy].getFile(fileID)) return;\n cb();\n });\n }\n onCancelAll(fileID, eventHandler) {\n var _this = this;\n this.on('cancel-all', function () {\n if (!_classPrivateFieldLooseBase(_this, _uppy)[_uppy].getFile(fileID)) return;\n eventHandler(...arguments);\n });\n }\n onResumeAll(fileID, cb) {\n this.on('resume-all', () => {\n if (!_classPrivateFieldLooseBase(this, _uppy)[_uppy].getFile(fileID)) return;\n cb();\n });\n }\n}","export function filterNonFailedFiles(files) {\n const hasError = file => 'error' in file && !!file.error;\n return files.filter(file => !hasError(file));\n}\n\n// Don't double-emit upload-started for Golden Retriever-restored files that were already started\nexport function filterFilesToEmitUploadStarted(files) {\n return files.filter(file => {\n var _file$progress;\n return !((_file$progress = file.progress) != null && _file$progress.uploadStarted) || !file.isRestored;\n });\n}","import hasOwnProperty from \"./hasProperty.js\";\n/**\n * Little AbortController proxy module so we can swap out the implementation easily later.\n */\nexport const {\n AbortController\n} = globalThis;\nexport const {\n AbortSignal\n} = globalThis;\nexport const createAbortError = function (message, options) {\n if (message === void 0) {\n message = 'Aborted';\n }\n const err = new DOMException(message, 'AbortError');\n if (options != null && hasOwnProperty(options, 'cause')) {\n Object.defineProperty(err, 'cause', {\n // @ts-expect-error TS is drunk\n __proto__: null,\n configurable: true,\n writable: true,\n value: options.cause\n });\n }\n return err;\n};","function _classPrivateFieldLooseBase(receiver, privateKey) { if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { throw new TypeError(\"attempted to use private field on non-instance\"); } return receiver; }\nvar id = 0;\nfunction _classPrivateFieldLooseKey(name) { return \"__private_\" + id++ + \"_\" + name; }\nimport { AbortController } from '@uppy/utils/lib/AbortController';\nconst MB = 1024 * 1024;\nconst defaultOptions = {\n getChunkSize(file) {\n return Math.ceil(file.size / 10000);\n },\n onProgress() {},\n onPartComplete() {},\n onSuccess() {},\n onError(err) {\n throw err;\n }\n};\nfunction ensureInt(value) {\n if (typeof value === 'string') {\n // @ts-expect-error TS is not able to recognize it's fine.\n return parseInt(value, 10);\n }\n if (typeof value === 'number') {\n // @ts-expect-error TS is not able to recognize it's fine.\n return value;\n }\n throw new TypeError('Expected a number');\n}\nexport const pausingUploadReason = Symbol('pausing upload, not an actual error');\n\n/**\n * A MultipartUploader instance is used per file upload to determine whether a\n * upload should be done as multipart or as a regular S3 upload\n * (based on the user-provided `shouldUseMultipart` option value) and to manage\n * the chunk splitting.\n */\nvar _abortController = /*#__PURE__*/_classPrivateFieldLooseKey(\"abortController\");\nvar _chunks = /*#__PURE__*/_classPrivateFieldLooseKey(\"chunks\");\nvar _chunkState = /*#__PURE__*/_classPrivateFieldLooseKey(\"chunkState\");\nvar _data = /*#__PURE__*/_classPrivateFieldLooseKey(\"data\");\nvar _file = /*#__PURE__*/_classPrivateFieldLooseKey(\"file\");\nvar _uploadHasStarted = /*#__PURE__*/_classPrivateFieldLooseKey(\"uploadHasStarted\");\nvar _onError = /*#__PURE__*/_classPrivateFieldLooseKey(\"onError\");\nvar _onSuccess = /*#__PURE__*/_classPrivateFieldLooseKey(\"onSuccess\");\nvar _shouldUseMultipart = /*#__PURE__*/_classPrivateFieldLooseKey(\"shouldUseMultipart\");\nvar _isRestoring = /*#__PURE__*/_classPrivateFieldLooseKey(\"isRestoring\");\nvar _onReject = /*#__PURE__*/_classPrivateFieldLooseKey(\"onReject\");\nvar _maxMultipartParts = /*#__PURE__*/_classPrivateFieldLooseKey(\"maxMultipartParts\");\nvar _minPartSize = /*#__PURE__*/_classPrivateFieldLooseKey(\"minPartSize\");\nvar _initChunks = /*#__PURE__*/_classPrivateFieldLooseKey(\"initChunks\");\nvar _createUpload = /*#__PURE__*/_classPrivateFieldLooseKey(\"createUpload\");\nvar _resumeUpload = /*#__PURE__*/_classPrivateFieldLooseKey(\"resumeUpload\");\nvar _onPartProgress = /*#__PURE__*/_classPrivateFieldLooseKey(\"onPartProgress\");\nvar _onPartComplete = /*#__PURE__*/_classPrivateFieldLooseKey(\"onPartComplete\");\nvar _abortUpload = /*#__PURE__*/_classPrivateFieldLooseKey(\"abortUpload\");\nclass MultipartUploader {\n constructor(data, options) {\n var _this$options, _this$options$getChun;\n Object.defineProperty(this, _abortUpload, {\n value: _abortUpload2\n });\n Object.defineProperty(this, _resumeUpload, {\n value: _resumeUpload2\n });\n Object.defineProperty(this, _createUpload, {\n value: _createUpload2\n });\n // initChunks checks the user preference for using multipart uploads (opts.shouldUseMultipart)\n // and calculates the optimal part size. When using multipart part uploads every part except for the last has\n // to be at least 5 MB and there can be no more than 10K parts.\n // This means we sometimes need to change the preferred part size from the user in order to meet these requirements.\n Object.defineProperty(this, _initChunks, {\n value: _initChunks2\n });\n Object.defineProperty(this, _abortController, {\n writable: true,\n value: new AbortController()\n });\n Object.defineProperty(this, _chunks, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _chunkState, {\n writable: true,\n value: void 0\n });\n /**\n * The (un-chunked) data to upload.\n */\n Object.defineProperty(this, _data, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _file, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _uploadHasStarted, {\n writable: true,\n value: false\n });\n Object.defineProperty(this, _onError, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _onSuccess, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _shouldUseMultipart, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _isRestoring, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _onReject, {\n writable: true,\n value: err => (err == null ? void 0 : err.cause) === pausingUploadReason ? null : _classPrivateFieldLooseBase(this, _onError)[_onError](err)\n });\n Object.defineProperty(this, _maxMultipartParts, {\n writable: true,\n value: 10000\n });\n Object.defineProperty(this, _minPartSize, {\n writable: true,\n value: 5 * MB\n });\n Object.defineProperty(this, _onPartProgress, {\n writable: true,\n value: index => ev => {\n if (!ev.lengthComputable) return;\n _classPrivateFieldLooseBase(this, _chunkState)[_chunkState][index].uploaded = ensureInt(ev.loaded);\n const totalUploaded = _classPrivateFieldLooseBase(this, _chunkState)[_chunkState].reduce((n, c) => n + c.uploaded, 0);\n this.options.onProgress(totalUploaded, _classPrivateFieldLooseBase(this, _data)[_data].size);\n }\n });\n Object.defineProperty(this, _onPartComplete, {\n writable: true,\n value: index => etag => {\n // This avoids the net::ERR_OUT_OF_MEMORY in Chromium Browsers.\n _classPrivateFieldLooseBase(this, _chunks)[_chunks][index] = null;\n _classPrivateFieldLooseBase(this, _chunkState)[_chunkState][index].etag = etag;\n _classPrivateFieldLooseBase(this, _chunkState)[_chunkState][index].done = true;\n const part = {\n PartNumber: index + 1,\n ETag: etag\n };\n this.options.onPartComplete(part);\n }\n });\n this.options = {\n ...defaultOptions,\n ...options\n };\n // Use default `getChunkSize` if it was null or something\n (_this$options$getChun = (_this$options = this.options).getChunkSize) != null ? _this$options$getChun : _this$options.getChunkSize = defaultOptions.getChunkSize;\n _classPrivateFieldLooseBase(this, _data)[_data] = data;\n _classPrivateFieldLooseBase(this, _file)[_file] = options.file;\n _classPrivateFieldLooseBase(this, _onSuccess)[_onSuccess] = this.options.onSuccess;\n _classPrivateFieldLooseBase(this, _onError)[_onError] = this.options.onError;\n _classPrivateFieldLooseBase(this, _shouldUseMultipart)[_shouldUseMultipart] = this.options.shouldUseMultipart;\n\n // When we are restoring an upload, we already have an UploadId and a Key. Otherwise\n // we need to call `createMultipartUpload` to get an `uploadId` and a `key`.\n // Non-multipart uploads are not restorable.\n _classPrivateFieldLooseBase(this, _isRestoring)[_isRestoring] = options.uploadId && options.key;\n _classPrivateFieldLooseBase(this, _initChunks)[_initChunks]();\n }\n start() {\n if (_classPrivateFieldLooseBase(this, _uploadHasStarted)[_uploadHasStarted]) {\n if (!_classPrivateFieldLooseBase(this, _abortController)[_abortController].signal.aborted) _classPrivateFieldLooseBase(this, _abortController)[_abortController].abort(pausingUploadReason);\n _classPrivateFieldLooseBase(this, _abortController)[_abortController] = new AbortController();\n _classPrivateFieldLooseBase(this, _resumeUpload)[_resumeUpload]();\n } else if (_classPrivateFieldLooseBase(this, _isRestoring)[_isRestoring]) {\n this.options.companionComm.restoreUploadFile(_classPrivateFieldLooseBase(this, _file)[_file], {\n uploadId: this.options.uploadId,\n key: this.options.key\n });\n _classPrivateFieldLooseBase(this, _resumeUpload)[_resumeUpload]();\n } else {\n _classPrivateFieldLooseBase(this, _createUpload)[_createUpload]();\n }\n }\n pause() {\n _classPrivateFieldLooseBase(this, _abortController)[_abortController].abort(pausingUploadReason);\n // Swap it out for a new controller, because this instance may be resumed later.\n _classPrivateFieldLooseBase(this, _abortController)[_abortController] = new AbortController();\n }\n abort(opts) {\n if (opts != null && opts.really) _classPrivateFieldLooseBase(this, _abortUpload)[_abortUpload]();else this.pause();\n }\n\n // TODO: remove this in the next major\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n get chunkState() {\n return _classPrivateFieldLooseBase(this, _chunkState)[_chunkState];\n }\n}\nfunction _initChunks2() {\n const fileSize = _classPrivateFieldLooseBase(this, _data)[_data].size;\n const shouldUseMultipart = typeof _classPrivateFieldLooseBase(this, _shouldUseMultipart)[_shouldUseMultipart] === 'function' ? _classPrivateFieldLooseBase(this, _shouldUseMultipart)[_shouldUseMultipart](_classPrivateFieldLooseBase(this, _file)[_file]) : Boolean(_classPrivateFieldLooseBase(this, _shouldUseMultipart)[_shouldUseMultipart]);\n if (shouldUseMultipart && fileSize > _classPrivateFieldLooseBase(this, _minPartSize)[_minPartSize]) {\n // At least 5MB per request:\n let chunkSize = Math.max(this.options.getChunkSize(_classPrivateFieldLooseBase(this, _data)[_data]), _classPrivateFieldLooseBase(this, _minPartSize)[_minPartSize]);\n let arraySize = Math.floor(fileSize / chunkSize);\n\n // At most 10k requests per file:\n if (arraySize > _classPrivateFieldLooseBase(this, _maxMultipartParts)[_maxMultipartParts]) {\n arraySize = _classPrivateFieldLooseBase(this, _maxMultipartParts)[_maxMultipartParts];\n chunkSize = fileSize / _classPrivateFieldLooseBase(this, _maxMultipartParts)[_maxMultipartParts];\n }\n _classPrivateFieldLooseBase(this, _chunks)[_chunks] = Array(arraySize);\n for (let offset = 0, j = 0; offset < fileSize; offset += chunkSize, j++) {\n const end = Math.min(fileSize, offset + chunkSize);\n\n // Defer data fetching/slicing until we actually need the data, because it's slow if we have a lot of files\n const getData = () => {\n const i2 = offset;\n return _classPrivateFieldLooseBase(this, _data)[_data].slice(i2, end);\n };\n _classPrivateFieldLooseBase(this, _chunks)[_chunks][j] = {\n getData,\n onProgress: _classPrivateFieldLooseBase(this, _onPartProgress)[_onPartProgress](j),\n onComplete: _classPrivateFieldLooseBase(this, _onPartComplete)[_onPartComplete](j),\n shouldUseMultipart\n };\n if (_classPrivateFieldLooseBase(this, _isRestoring)[_isRestoring]) {\n const size = offset + chunkSize > fileSize ? fileSize - offset : chunkSize;\n // setAsUploaded is called by listPart, to keep up-to-date the\n // quantity of data that is left to actually upload.\n _classPrivateFieldLooseBase(this, _chunks)[_chunks][j].setAsUploaded = () => {\n _classPrivateFieldLooseBase(this, _chunks)[_chunks][j] = null;\n _classPrivateFieldLooseBase(this, _chunkState)[_chunkState][j].uploaded = size;\n };\n }\n }\n } else {\n _classPrivateFieldLooseBase(this, _chunks)[_chunks] = [{\n getData: () => _classPrivateFieldLooseBase(this, _data)[_data],\n onProgress: _classPrivateFieldLooseBase(this, _onPartProgress)[_onPartProgress](0),\n onComplete: _classPrivateFieldLooseBase(this, _onPartComplete)[_onPartComplete](0),\n shouldUseMultipart\n }];\n }\n _classPrivateFieldLooseBase(this, _chunkState)[_chunkState] = _classPrivateFieldLooseBase(this, _chunks)[_chunks].map(() => ({\n uploaded: 0\n }));\n}\nfunction _createUpload2() {\n this.options.companionComm.uploadFile(_classPrivateFieldLooseBase(this, _file)[_file], _classPrivateFieldLooseBase(this, _chunks)[_chunks], _classPrivateFieldLooseBase(this, _abortController)[_abortController].signal).then(_classPrivateFieldLooseBase(this, _onSuccess)[_onSuccess], _classPrivateFieldLooseBase(this, _onReject)[_onReject]);\n _classPrivateFieldLooseBase(this, _uploadHasStarted)[_uploadHasStarted] = true;\n}\nfunction _resumeUpload2() {\n this.options.companionComm.resumeUploadFile(_classPrivateFieldLooseBase(this, _file)[_file], _classPrivateFieldLooseBase(this, _chunks)[_chunks], _classPrivateFieldLooseBase(this, _abortController)[_abortController].signal).then(_classPrivateFieldLooseBase(this, _onSuccess)[_onSuccess], _classPrivateFieldLooseBase(this, _onReject)[_onReject]);\n}\nfunction _abortUpload2() {\n _classPrivateFieldLooseBase(this, _abortController)[_abortController].abort();\n this.options.companionComm.abortFileUpload(_classPrivateFieldLooseBase(this, _file)[_file]).catch(err => this.options.log(err));\n}\nexport default MultipartUploader;","import { createAbortError } from '@uppy/utils/lib/AbortController';\nexport function throwIfAborted(signal) {\n if (signal != null && signal.aborted) {\n throw createAbortError('The operation was aborted', {\n cause: signal.reason\n });\n }\n}","/**\n * Create a canonical request by concatenating the following strings, separated\n * by newline characters. This helps ensure that the signature that you\n * calculate and the signature that AWS calculates can match.\n *\n * @see https://docs.aws.amazon.com/IAM/latest/UserGuide/create-signed-request.html#create-canonical-request\n *\n * @param param0\n * @param param0.method – The HTTP method.\n * @param param0.CanonicalUri – The URI-encoded version of the absolute\n * path component URL (everything between the host and the question mark\n * character (?) that starts the query string parameters). If the absolute path\n * is empty, use a forward slash character (/).\n * @param param0.CanonicalQueryString – The URL-encoded query string\n * parameters, separated by ampersands (&). Percent-encode reserved characters,\n * including the space character. Encode names and values separately. If there\n * are empty parameters, append the equals sign to the parameter name before\n * encoding. After encoding, sort the parameters alphabetically by key name. If\n * there is no query string, use an empty string (\"\").\n * @param param0.SignedHeaders – The request headers,\n * that will be signed, and their values, separated by newline characters.\n * For the values, trim any leading or trailing spaces, convert sequential\n * spaces to a single space, and separate the values for a multi-value header\n * using commas. You must include the host header (HTTP/1.1), and any x-amz-*\n * headers in the signature. You can optionally include other standard headers\n * in the signature, such as content-type.\n * @param param0.HashedPayload – A string created using the payload in\n * the body of the HTTP request as input to a hash function. This string uses\n * lowercase hexadecimal characters. If the payload is empty, use an empty\n * string as the input to the hash function.\n */\nfunction createCanonicalRequest(_ref) {\n let {\n method = 'PUT',\n CanonicalUri = '/',\n CanonicalQueryString = '',\n SignedHeaders,\n HashedPayload\n } = _ref;\n const headerKeys = Object.keys(SignedHeaders).map(k => k.toLowerCase()).sort();\n return [method, CanonicalUri, CanonicalQueryString, ...headerKeys.map(k => `${k}:${SignedHeaders[k]}`), '', headerKeys.join(';'), HashedPayload].join('\\n');\n}\nconst ec = new TextEncoder();\nconst algorithm = {\n name: 'HMAC',\n hash: 'SHA-256'\n};\nasync function digest(data) {\n const {\n subtle\n } = globalThis.crypto;\n return subtle.digest(algorithm.hash, ec.encode(data));\n}\nasync function generateHmacKey(secret) {\n const {\n subtle\n } = globalThis.crypto;\n return subtle.importKey('raw', typeof secret === 'string' ? ec.encode(secret) : secret, algorithm, false, ['sign']);\n}\nfunction arrayBufferToHexString(arrayBuffer) {\n const byteArray = new Uint8Array(arrayBuffer);\n let hexString = '';\n for (let i = 0; i < byteArray.length; i++) {\n hexString += byteArray[i].toString(16).padStart(2, '0');\n }\n return hexString;\n}\nasync function hash(key, data) {\n const {\n subtle\n } = globalThis.crypto;\n return subtle.sign(algorithm, await generateHmacKey(key), ec.encode(data));\n}\n\n/**\n * @see https://docs.aws.amazon.com/IAM/latest/UserGuide/create-signed-request.html\n */\nexport default async function createSignedURL(_ref2) {\n let {\n accountKey,\n accountSecret,\n sessionToken,\n bucketName,\n Key,\n Region,\n expires,\n uploadId,\n partNumber\n } = _ref2;\n const Service = 's3';\n const host = `${bucketName}.${Service}.${Region}.amazonaws.com`;\n /**\n * List of char out of `encodeURI()` is taken from ECMAScript spec.\n * Note that the `/` character is purposefully not included in list below.\n *\n * @see https://tc39.es/ecma262/#sec-encodeuri-uri\n */\n const CanonicalUri = `/${encodeURI(Key).replace(/[;?:@&=+$,#!'()*]/g, c => `%${c.charCodeAt(0).toString(16).toUpperCase()}`)}`;\n const payload = 'UNSIGNED-PAYLOAD';\n const requestDateTime = new Date().toISOString().replace(/[-:]|\\.\\d+/g, ''); // YYYYMMDDTHHMMSSZ\n const date = requestDateTime.slice(0, 8); // YYYYMMDD\n const scope = `${date}/${Region}/${Service}/aws4_request`;\n const url = new URL(`https://${host}${CanonicalUri}`);\n // N.B.: URL search params needs to be added in the ASCII order\n url.searchParams.set('X-Amz-Algorithm', 'AWS4-HMAC-SHA256');\n url.searchParams.set('X-Amz-Content-Sha256', payload);\n url.searchParams.set('X-Amz-Credential', `${accountKey}/${scope}`);\n url.searchParams.set('X-Amz-Date', requestDateTime);\n url.searchParams.set('X-Amz-Expires', expires);\n // We are signing on the client, so we expect there's going to be a session token:\n url.searchParams.set('X-Amz-Security-Token', sessionToken);\n url.searchParams.set('X-Amz-SignedHeaders', 'host');\n // Those two are present only for Multipart Uploads:\n if (partNumber) url.searchParams.set('partNumber', partNumber);\n if (uploadId) url.searchParams.set('uploadId', uploadId);\n url.searchParams.set('x-id', partNumber && uploadId ? 'UploadPart' : 'PutObject');\n\n // Step 1: Create a canonical request\n const canonical = createCanonicalRequest({\n CanonicalUri,\n CanonicalQueryString: url.search.slice(1),\n SignedHeaders: {\n host\n },\n HashedPayload: payload\n });\n\n // Step 2: Create a hash of the canonical request\n const hashedCanonical = arrayBufferToHexString(await digest(canonical));\n\n // Step 3: Create a string to sign\n const stringToSign = [`AWS4-HMAC-SHA256`,\n // The algorithm used to create the hash of the canonical request.\n requestDateTime,\n // The date and time used in the credential scope.\n scope,\n // The credential scope. This restricts the resulting signature to the specified Region and service.\n hashedCanonical // The hash of the canonical request.\n ].join('\\n');\n\n // Step 4: Calculate the signature\n const kDate = await hash(`AWS4${accountSecret}`, date);\n const kRegion = await hash(kDate, Region);\n const kService = await hash(kRegion, Service);\n const kSigning = await hash(kService, 'aws4_request');\n const signature = arrayBufferToHexString(await hash(kSigning, stringToSign));\n\n // Step 5: Add the signature to the request\n url.searchParams.set('X-Amz-Signature', signature);\n return url;\n}","function _classPrivateFieldLooseBase(receiver, privateKey) { if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { throw new TypeError(\"attempted to use private field on non-instance\"); } return receiver; }\nvar id = 0;\nfunction _classPrivateFieldLooseKey(name) { return \"__private_\" + id++ + \"_\" + name; }\nimport { pausingUploadReason } from \"./MultipartUploader.js\";\nimport { throwIfAborted } from \"./utils.js\";\nfunction removeMetadataFromURL(urlString) {\n const urlObject = new URL(urlString);\n urlObject.search = '';\n urlObject.hash = '';\n return urlObject.href;\n}\nvar _abortMultipartUpload = /*#__PURE__*/_classPrivateFieldLooseKey(\"abortMultipartUpload\");\nvar _cache = /*#__PURE__*/_classPrivateFieldLooseKey(\"cache\");\nvar _createMultipartUpload = /*#__PURE__*/_classPrivateFieldLooseKey(\"createMultipartUpload\");\nvar _fetchSignature = /*#__PURE__*/_classPrivateFieldLooseKey(\"fetchSignature\");\nvar _getUploadParameters = /*#__PURE__*/_classPrivateFieldLooseKey(\"getUploadParameters\");\nvar _listParts = /*#__PURE__*/_classPrivateFieldLooseKey(\"listParts\");\nvar _previousRetryDelay = /*#__PURE__*/_classPrivateFieldLooseKey(\"previousRetryDelay\");\nvar _requests = /*#__PURE__*/_classPrivateFieldLooseKey(\"requests\");\nvar _retryDelays = /*#__PURE__*/_classPrivateFieldLooseKey(\"retryDelays\");\nvar _sendCompletionRequest = /*#__PURE__*/_classPrivateFieldLooseKey(\"sendCompletionRequest\");\nvar _setS3MultipartState = /*#__PURE__*/_classPrivateFieldLooseKey(\"setS3MultipartState\");\nvar _uploadPartBytes = /*#__PURE__*/_classPrivateFieldLooseKey(\"uploadPartBytes\");\nvar _getFile = /*#__PURE__*/_classPrivateFieldLooseKey(\"getFile\");\nvar _shouldRetry = /*#__PURE__*/_classPrivateFieldLooseKey(\"shouldRetry\");\nvar _nonMultipartUpload = /*#__PURE__*/_classPrivateFieldLooseKey(\"nonMultipartUpload\");\nexport class HTTPCommunicationQueue {\n constructor(_requests2, options, setS3MultipartState, getFile) {\n Object.defineProperty(this, _nonMultipartUpload, {\n value: _nonMultipartUpload2\n });\n Object.defineProperty(this, _shouldRetry, {\n value: _shouldRetry2\n });\n Object.defineProperty(this, _abortMultipartUpload, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _cache, {\n writable: true,\n value: new WeakMap()\n });\n Object.defineProperty(this, _createMultipartUpload, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _fetchSignature, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _getUploadParameters, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _listParts, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _previousRetryDelay, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _requests, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _retryDelays, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _sendCompletionRequest, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _setS3MultipartState, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _uploadPartBytes, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _getFile, {\n writable: true,\n value: void 0\n });\n _classPrivateFieldLooseBase(this, _requests)[_requests] = _requests2;\n _classPrivateFieldLooseBase(this, _setS3MultipartState)[_setS3MultipartState] = setS3MultipartState;\n _classPrivateFieldLooseBase(this, _getFile)[_getFile] = getFile;\n this.setOptions(options);\n }\n setOptions(options) {\n const requests = _classPrivateFieldLooseBase(this, _requests)[_requests];\n if ('abortMultipartUpload' in options) {\n _classPrivateFieldLooseBase(this, _abortMultipartUpload)[_abortMultipartUpload] = requests.wrapPromiseFunction(options.abortMultipartUpload, {\n priority: 1\n });\n }\n if ('createMultipartUpload' in options) {\n _classPrivateFieldLooseBase(this, _createMultipartUpload)[_createMultipartUpload] = requests.wrapPromiseFunction(options.createMultipartUpload, {\n priority: -1\n });\n }\n if ('signPart' in options) {\n _classPrivateFieldLooseBase(this, _fetchSignature)[_fetchSignature] = requests.wrapPromiseFunction(options.signPart);\n }\n if ('listParts' in options) {\n _classPrivateFieldLooseBase(this, _listParts)[_listParts] = requests.wrapPromiseFunction(options.listParts);\n }\n if ('completeMultipartUpload' in options) {\n _classPrivateFieldLooseBase(this, _sendCompletionRequest)[_sendCompletionRequest] = requests.wrapPromiseFunction(options.completeMultipartUpload, {\n priority: 1\n });\n }\n if ('retryDelays' in options) {\n var _options$retryDelays;\n _classPrivateFieldLooseBase(this, _retryDelays)[_retryDelays] = (_options$retryDelays = options.retryDelays) != null ? _options$retryDelays : [];\n }\n if ('uploadPartBytes' in options) {\n _classPrivateFieldLooseBase(this, _uploadPartBytes)[_uploadPartBytes] = requests.wrapPromiseFunction(options.uploadPartBytes, {\n priority: Infinity\n });\n }\n if ('getUploadParameters' in options) {\n _classPrivateFieldLooseBase(this, _getUploadParameters)[_getUploadParameters] = requests.wrapPromiseFunction(options.getUploadParameters);\n }\n }\n async getUploadId(file, signal) {\n let cachedResult;\n // As the cache is updated asynchronously, there could be a race condition\n // where we just miss a new result so we loop here until we get nothing back,\n // at which point it's out turn to create a new cache entry.\n // eslint-disable-next-line no-cond-assign\n while ((cachedResult = _classPrivateFieldLooseBase(this, _cache)[_cache].get(file.data)) != null) {\n try {\n return await cachedResult;\n } catch {\n // In case of failure, we want to ignore the cached error.\n // At this point, either there's a new cached value, or we'll exit the loop a create a new one.\n }\n }\n const promise = _classPrivateFieldLooseBase(this, _createMultipartUpload)[_createMultipartUpload](_classPrivateFieldLooseBase(this, _getFile)[_getFile](file), signal);\n const abortPromise = () => {\n promise.abort(signal.reason);\n _classPrivateFieldLooseBase(this, _cache)[_cache].delete(file.data);\n };\n signal.addEventListener('abort', abortPromise, {\n once: true\n });\n _classPrivateFieldLooseBase(this, _cache)[_cache].set(file.data, promise);\n promise.then(async result => {\n signal.removeEventListener('abort', abortPromise);\n _classPrivateFieldLooseBase(this, _setS3MultipartState)[_setS3MultipartState](file, result);\n _classPrivateFieldLooseBase(this, _cache)[_cache].set(file.data, result);\n }, () => {\n signal.removeEventListener('abort', abortPromise);\n _classPrivateFieldLooseBase(this, _cache)[_cache].delete(file.data);\n });\n return promise;\n }\n async abortFileUpload(file) {\n const result = _classPrivateFieldLooseBase(this, _cache)[_cache].get(file.data);\n if (result == null) {\n // If the createMultipartUpload request never was made, we don't\n // need to send the abortMultipartUpload request.\n return;\n }\n // Remove the cache entry right away for follow-up requests do not try to\n // use the soon-to-be aborted cached values.\n _classPrivateFieldLooseBase(this, _cache)[_cache].delete(file.data);\n _classPrivateFieldLooseBase(this, _setS3MultipartState)[_setS3MultipartState](file, Object.create(null));\n let awaitedResult;\n try {\n awaitedResult = await result;\n } catch {\n // If the cached result rejects, there's nothing to abort.\n return;\n }\n await _classPrivateFieldLooseBase(this, _abortMultipartUpload)[_abortMultipartUpload](_classPrivateFieldLooseBase(this, _getFile)[_getFile](file), awaitedResult);\n }\n async uploadFile(file, chunks, signal) {\n throwIfAborted(signal);\n if (chunks.length === 1 && !chunks[0].shouldUseMultipart) {\n return _classPrivateFieldLooseBase(this, _nonMultipartUpload)[_nonMultipartUpload](file, chunks[0], signal);\n }\n const {\n uploadId,\n key\n } = await this.getUploadId(file, signal);\n throwIfAborted(signal);\n try {\n const parts = await Promise.all(chunks.map((chunk, i) => this.uploadChunk(file, i + 1, chunk, signal)));\n throwIfAborted(signal);\n return await _classPrivateFieldLooseBase(this, _sendCompletionRequest)[_sendCompletionRequest](_classPrivateFieldLooseBase(this, _getFile)[_getFile](file), {\n key,\n uploadId,\n parts,\n signal\n }, signal).abortOn(signal);\n } catch (err) {\n if ((err == null ? void 0 : err.cause) !== pausingUploadReason && (err == null ? void 0 : err.name) !== 'AbortError') {\n // We purposefully don't wait for the promise and ignore its status,\n // because we want the error `err` to bubble up ASAP to report it to the\n // user. A failure to abort is not that big of a deal anyway.\n this.abortFileUpload(file);\n }\n throw err;\n }\n }\n restoreUploadFile(file, uploadIdAndKey) {\n _classPrivateFieldLooseBase(this, _cache)[_cache].set(file.data, uploadIdAndKey);\n }\n async resumeUploadFile(file, chunks, signal) {\n throwIfAborted(signal);\n if (chunks.length === 1 && chunks[0] != null && !chunks[0].shouldUseMultipart) {\n return _classPrivateFieldLooseBase(this, _nonMultipartUpload)[_nonMultipartUpload](file, chunks[0], signal);\n }\n const {\n uploadId,\n key\n } = await this.getUploadId(file, signal);\n throwIfAborted(signal);\n const alreadyUploadedParts = await _classPrivateFieldLooseBase(this, _listParts)[_listParts](_classPrivateFieldLooseBase(this, _getFile)[_getFile](file), {\n uploadId,\n key,\n signal\n }, signal).abortOn(signal);\n throwIfAborted(signal);\n const parts = await Promise.all(chunks.map((chunk, i) => {\n const partNumber = i + 1;\n const alreadyUploadedInfo = alreadyUploadedParts.find(_ref => {\n let {\n PartNumber\n } = _ref;\n return PartNumber === partNumber;\n });\n if (alreadyUploadedInfo == null) {\n return this.uploadChunk(file, partNumber, chunk, signal);\n }\n // Already uploaded chunks are set to null. If we are restoring the upload, we need to mark it as already uploaded.\n chunk == null || chunk.setAsUploaded == null || chunk.setAsUploaded();\n return {\n PartNumber: partNumber,\n ETag: alreadyUploadedInfo.ETag\n };\n }));\n throwIfAborted(signal);\n return _classPrivateFieldLooseBase(this, _sendCompletionRequest)[_sendCompletionRequest](_classPrivateFieldLooseBase(this, _getFile)[_getFile](file), {\n key,\n uploadId,\n parts,\n signal\n }, signal).abortOn(signal);\n }\n async uploadChunk(file, partNumber, chunk, signal) {\n throwIfAborted(signal);\n const {\n uploadId,\n key\n } = await this.getUploadId(file, signal);\n const signatureRetryIterator = _classPrivateFieldLooseBase(this, _retryDelays)[_retryDelays].values();\n const chunkRetryIterator = _classPrivateFieldLooseBase(this, _retryDelays)[_retryDelays].values();\n const shouldRetrySignature = () => {\n const next = signatureRetryIterator.next();\n if (next == null || next.done) {\n return null;\n }\n return next.value;\n };\n for (;;) {\n throwIfAborted(signal);\n const chunkData = chunk.getData();\n const {\n onProgress,\n onComplete\n } = chunk;\n let signature;\n try {\n signature = await _classPrivateFieldLooseBase(this, _fetchSignature)[_fetchSignature](_classPrivateFieldLooseBase(this, _getFile)[_getFile](file), {\n uploadId,\n key,\n partNumber,\n body: chunkData,\n signal\n }).abortOn(signal);\n } catch (err) {\n const timeout = shouldRetrySignature();\n if (timeout == null || signal.aborted) {\n throw err;\n }\n await new Promise(resolve => setTimeout(resolve, timeout));\n // eslint-disable-next-line no-continue\n continue;\n }\n throwIfAborted(signal);\n try {\n return {\n PartNumber: partNumber,\n ...(await _classPrivateFieldLooseBase(this, _uploadPartBytes)[_uploadPartBytes]({\n signature,\n body: chunkData,\n size: chunkData.size,\n onProgress,\n onComplete,\n signal\n }).abortOn(signal))\n };\n } catch (err) {\n if (!(await _classPrivateFieldLooseBase(this, _shouldRetry)[_shouldRetry](err, chunkRetryIterator))) throw err;\n }\n }\n }\n}\nasync function _shouldRetry2(err, retryDelayIterator) {\n var _err$source;\n const requests = _classPrivateFieldLooseBase(this, _requests)[_requests];\n const status = err == null || (_err$source = err.source) == null ? void 0 : _err$source.status;\n\n // TODO: this retry logic is taken out of Tus. We should have a centralized place for retrying,\n // perhaps the rate limited queue, and dedupe all plugins with that.\n if (status == null) {\n return false;\n }\n if (status === 403 && err.message === 'Request has expired') {\n if (!requests.isPaused) {\n // We don't want to exhaust the retryDelayIterator as long as there are\n // more than one request in parallel, to give slower connection a chance\n // to catch up with the expiry set in Companion.\n if (requests.limit === 1 || _classPrivateFieldLooseBase(this, _previousRetryDelay)[_previousRetryDelay] == null) {\n const next = retryDelayIterator.next();\n if (next == null || next.done) {\n return false;\n }\n // If there are more than 1 request done in parallel, the RLQ limit is\n // decreased and the failed request is requeued after waiting for a bit.\n // If there is only one request in parallel, the limit can't be\n // decreased, so we iterate over `retryDelayIterator` as we do for\n // other failures.\n // `#previousRetryDelay` caches the value so we can re-use it next time.\n _classPrivateFieldLooseBase(this, _previousRetryDelay)[_previousRetryDelay] = next.value;\n }\n // No need to stop the other requests, we just want to lower the limit.\n requests.rateLimit(0);\n await new Promise(resolve => setTimeout(resolve, _classPrivateFieldLooseBase(this, _previousRetryDelay)[_previousRetryDelay]));\n }\n } else if (status === 429) {\n // HTTP 429 Too Many Requests => to avoid the whole download to fail, pause all requests.\n if (!requests.isPaused) {\n const next = retryDelayIterator.next();\n if (next == null || next.done) {\n return false;\n }\n requests.rateLimit(next.value);\n }\n } else if (status > 400 && status < 500 && status !== 409) {\n // HTTP 4xx, the server won't send anything, it's doesn't make sense to retry\n return false;\n } else if (typeof navigator !== 'undefined' && navigator.onLine === false) {\n // The navigator is offline, let's wait for it to come back online.\n if (!requests.isPaused) {\n requests.pause();\n window.addEventListener('online', () => {\n requests.resume();\n }, {\n once: true\n });\n }\n } else {\n // Other error code means the request can be retried later.\n const next = retryDelayIterator.next();\n if (next == null || next.done) {\n return false;\n }\n await new Promise(resolve => setTimeout(resolve, next.value));\n }\n return true;\n}\nasync function _nonMultipartUpload2(file, chunk, signal) {\n const {\n method = 'POST',\n url,\n fields,\n headers\n } = await _classPrivateFieldLooseBase(this, _getUploadParameters)[_getUploadParameters](_classPrivateFieldLooseBase(this, _getFile)[_getFile](file), {\n signal\n }).abortOn(signal);\n let body;\n const data = chunk.getData();\n if (method.toUpperCase() === 'POST') {\n const formData = new FormData();\n Object.entries(fields).forEach(_ref2 => {\n let [key, value] = _ref2;\n return formData.set(key, value);\n });\n formData.set('file', data);\n body = formData;\n } else {\n body = data;\n }\n const {\n onProgress,\n onComplete\n } = chunk;\n const result = await _classPrivateFieldLooseBase(this, _uploadPartBytes)[_uploadPartBytes]({\n signature: {\n url,\n headers,\n method\n },\n body,\n size: data.size,\n onProgress,\n onComplete,\n signal\n }).abortOn(signal);\n return 'location' in result ? result : {\n location: removeMetadataFromURL(url),\n ...result\n };\n}","let _Symbol$for;\nfunction _classPrivateFieldLooseBase(receiver, privateKey) { if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { throw new TypeError(\"attempted to use private field on non-instance\"); } return receiver; }\nvar id = 0;\nfunction _classPrivateFieldLooseKey(name) { return \"__private_\" + id++ + \"_\" + name; }\nimport BasePlugin from '@uppy/core/lib/BasePlugin.js';\nimport { RequestClient } from '@uppy/companion-client';\nimport EventManager from '@uppy/core/lib/EventManager.js';\nimport { RateLimitedQueue } from '@uppy/utils/lib/RateLimitedQueue';\nimport { filterNonFailedFiles, filterFilesToEmitUploadStarted } from '@uppy/utils/lib/fileFilters';\nimport { createAbortError } from '@uppy/utils/lib/AbortController';\nimport MultipartUploader from \"./MultipartUploader.js\";\nimport { throwIfAborted } from \"./utils.js\";\nimport createSignedURL from \"./createSignedURL.js\";\nimport { HTTPCommunicationQueue } from \"./HTTPCommunicationQueue.js\";\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore We don't want TS to generate types for the package.json\nconst packageJson = {\n \"version\": \"3.12.0\"\n};\nfunction assertServerError(res) {\n if (res != null && res.error) {\n const error = new Error(res.message);\n Object.assign(error, res.error);\n throw error;\n }\n return res;\n}\n/**\n * Computes the expiry time for a request signed with temporary credentials. If\n * no expiration was provided, or an invalid value (e.g. in the past) is\n * provided, undefined is returned. This function assumes the client clock is in\n * sync with the remote server, which is a requirement for the signature to be\n * validated for AWS anyway.\n */\nfunction getExpiry(credentials) {\n const expirationDate = credentials.Expiration;\n if (expirationDate) {\n const timeUntilExpiry = Math.floor((new Date(expirationDate) - Date.now()) / 1000);\n if (timeUntilExpiry > 9) {\n return timeUntilExpiry;\n }\n }\n return undefined;\n}\nfunction getAllowedMetadata(_ref) {\n let {\n meta,\n allowedMetaFields,\n querify = false\n } = _ref;\n const metaFields = allowedMetaFields != null ? allowedMetaFields : Object.keys(meta);\n if (!meta) return {};\n return Object.fromEntries(metaFields.filter(key => meta[key] != null).map(key => {\n const realKey = querify ? `metadata[${key}]` : key;\n const value = String(meta[key]);\n return [realKey, value];\n }));\n}\n\n/** @deprecated Use signPart instead */\n\nconst defaultOptions = {\n // TODO: null here means “include all”, [] means include none.\n // This is inconsistent with @uppy/aws-s3 and @uppy/transloadit\n allowedMetaFields: null,\n limit: 6,\n getTemporarySecurityCredentials: false,\n shouldUseMultipart: file => file.size !== 0,\n // TODO: Switch default to:\n // eslint-disable-next-line no-bitwise\n // shouldUseMultipart: (file) => file.size >> 10 >> 10 > 100,\n retryDelays: [0, 1000, 3000, 5000],\n companionHeaders: {}\n};\nvar _companionCommunicationQueue = /*#__PURE__*/_classPrivateFieldLooseKey(\"companionCommunicationQueue\");\nvar _client = /*#__PURE__*/_classPrivateFieldLooseKey(\"client\");\nvar _cachedTemporaryCredentials = /*#__PURE__*/_classPrivateFieldLooseKey(\"cachedTemporaryCredentials\");\nvar _getTemporarySecurityCredentials = /*#__PURE__*/_classPrivateFieldLooseKey(\"getTemporarySecurityCredentials\");\nvar _setS3MultipartState = /*#__PURE__*/_classPrivateFieldLooseKey(\"setS3MultipartState\");\nvar _getFile = /*#__PURE__*/_classPrivateFieldLooseKey(\"getFile\");\nvar _uploadLocalFile = /*#__PURE__*/_classPrivateFieldLooseKey(\"uploadLocalFile\");\nvar _getCompanionClientArgs = /*#__PURE__*/_classPrivateFieldLooseKey(\"getCompanionClientArgs\");\nvar _upload = /*#__PURE__*/_classPrivateFieldLooseKey(\"upload\");\nvar _setCompanionHeaders = /*#__PURE__*/_classPrivateFieldLooseKey(\"setCompanionHeaders\");\nvar _setResumableUploadsCapability = /*#__PURE__*/_classPrivateFieldLooseKey(\"setResumableUploadsCapability\");\nvar _resetResumableCapability = /*#__PURE__*/_classPrivateFieldLooseKey(\"resetResumableCapability\");\n_Symbol$for = Symbol.for('uppy test: getClient');\nexport default class AwsS3Multipart extends BasePlugin {\n constructor(uppy, opts) {\n var _rateLimitedQueue;\n super(uppy, {\n ...defaultOptions,\n uploadPartBytes: AwsS3Multipart.uploadPartBytes,\n createMultipartUpload: null,\n listParts: null,\n abortMultipartUpload: null,\n completeMultipartUpload: null,\n signPart: null,\n getUploadParameters: null,\n ...opts\n });\n // We need the `as any` here because of the dynamic default options.\n // eslint-disable-next-line class-methods-use-this\n Object.defineProperty(this, _getCompanionClientArgs, {\n value: _getCompanionClientArgs2\n });\n Object.defineProperty(this, _uploadLocalFile, {\n value: _uploadLocalFile2\n });\n Object.defineProperty(this, _getTemporarySecurityCredentials, {\n value: _getTemporarySecurityCredentials2\n });\n Object.defineProperty(this, _companionCommunicationQueue, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _client, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _cachedTemporaryCredentials, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _setS3MultipartState, {\n writable: true,\n value: (file, _ref2) => {\n let {\n key,\n uploadId\n } = _ref2;\n const cFile = this.uppy.getFile(file.id);\n if (cFile == null) {\n // file was removed from store\n return;\n }\n this.uppy.setFileState(file.id, {\n s3Multipart: {\n ...cFile.s3Multipart,\n key,\n uploadId\n }\n });\n }\n });\n Object.defineProperty(this, _getFile, {\n writable: true,\n value: file => {\n return this.uppy.getFile(file.id) || file;\n }\n });\n Object.defineProperty(this, _upload, {\n writable: true,\n value: async fileIDs => {\n if (fileIDs.length === 0) return undefined;\n const files = this.uppy.getFilesByIds(fileIDs);\n const filesFiltered = filterNonFailedFiles(files);\n const filesToEmit = filterFilesToEmitUploadStarted(filesFiltered);\n this.uppy.emit('upload-start', filesToEmit);\n const promises = filesFiltered.map(file => {\n if (file.isRemote) {\n const getQueue = () => this.requests;\n _classPrivateFieldLooseBase(this, _setResumableUploadsCapability)[_setResumableUploadsCapability](false);\n const controller = new AbortController();\n const removedHandler = removedFile => {\n if (removedFile.id === file.id) controller.abort();\n };\n this.uppy.on('file-removed', removedHandler);\n const uploadPromise = this.uppy.getRequestClientForFile(file).uploadRemoteFile(file, _classPrivateFieldLooseBase(this, _getCompanionClientArgs)[_getCompanionClientArgs](file), {\n signal: controller.signal,\n getQueue\n });\n this.requests.wrapSyncFunction(() => {\n this.uppy.off('file-removed', removedHandler);\n }, {\n priority: -1\n })();\n return uploadPromise;\n }\n return _classPrivateFieldLooseBase(this, _uploadLocalFile)[_uploadLocalFile](file);\n });\n const upload = await Promise.all(promises);\n // After the upload is done, another upload may happen with only local files.\n // We reset the capability so that the next upload can use resumable uploads.\n _classPrivateFieldLooseBase(this, _setResumableUploadsCapability)[_setResumableUploadsCapability](true);\n return upload;\n }\n });\n Object.defineProperty(this, _setCompanionHeaders, {\n writable: true,\n value: () => {\n _classPrivateFieldLooseBase(this, _client)[_client].setCompanionHeaders(this.opts.companionHeaders);\n }\n });\n Object.defineProperty(this, _setResumableUploadsCapability, {\n writable: true,\n value: boolean => {\n const {\n capabilities\n } = this.uppy.getState();\n this.uppy.setState({\n capabilities: {\n ...capabilities,\n resumableUploads: boolean\n }\n });\n }\n });\n Object.defineProperty(this, _resetResumableCapability, {\n writable: true,\n value: () => {\n _classPrivateFieldLooseBase(this, _setResumableUploadsCapability)[_setResumableUploadsCapability](true);\n }\n });\n this.type = 'uploader';\n this.id = this.opts.id || 'AwsS3Multipart';\n // @ts-expect-error TODO: remove unused\n this.title = 'AWS S3 Multipart';\n // TODO: only initiate `RequestClient` is `companionUrl` is defined.\n _classPrivateFieldLooseBase(this, _client)[_client] = new RequestClient(uppy, opts);\n const dynamicDefaultOptions = {\n createMultipartUpload: this.createMultipartUpload,\n listParts: this.listParts,\n abortMultipartUpload: this.abortMultipartUpload,\n completeMultipartUpload: this.completeMultipartUpload,\n signPart: opts != null && opts.getTemporarySecurityCredentials ? this.createSignedURL : this.signPart,\n getUploadParameters: opts != null && opts.getTemporarySecurityCredentials ? this.createSignedURL : this.getUploadParameters\n };\n for (const key of Object.keys(dynamicDefaultOptions)) {\n if (this.opts[key] == null) {\n this.opts[key] = dynamicDefaultOptions[key].bind(this);\n }\n }\n if ((opts == null ? void 0 : opts.prepareUploadParts) != null && opts.signPart == null) {\n this.opts.signPart = async (file, _ref3) => {\n let {\n uploadId,\n key,\n partNumber,\n body,\n signal\n } = _ref3;\n const {\n presignedUrls,\n headers\n } = await opts.prepareUploadParts(file, {\n uploadId,\n key,\n parts: [{\n number: partNumber,\n chunk: body\n }],\n signal\n });\n return {\n url: presignedUrls == null ? void 0 : presignedUrls[partNumber],\n headers: headers == null ? void 0 : headers[partNumber]\n };\n };\n }\n\n /**\n * Simultaneous upload limiting is shared across all uploads with this plugin.\n *\n * @type {RateLimitedQueue}\n */\n this.requests = (_rateLimitedQueue = this.opts.rateLimitedQueue) != null ? _rateLimitedQueue : new RateLimitedQueue(this.opts.limit);\n _classPrivateFieldLooseBase(this, _companionCommunicationQueue)[_companionCommunicationQueue] = new HTTPCommunicationQueue(this.requests, this.opts, _classPrivateFieldLooseBase(this, _setS3MultipartState)[_setS3MultipartState], _classPrivateFieldLooseBase(this, _getFile)[_getFile]);\n this.uploaders = Object.create(null);\n this.uploaderEvents = Object.create(null);\n this.uploaderSockets = Object.create(null);\n }\n [_Symbol$for]() {\n return _classPrivateFieldLooseBase(this, _client)[_client];\n }\n setOptions(newOptions) {\n _classPrivateFieldLooseBase(this, _companionCommunicationQueue)[_companionCommunicationQueue].setOptions(newOptions);\n super.setOptions(newOptions);\n _classPrivateFieldLooseBase(this, _setCompanionHeaders)[_setCompanionHeaders]();\n }\n\n /**\n * Clean up all references for a file's upload: the MultipartUploader instance,\n * any events related to the file, and the Companion WebSocket connection.\n *\n * Set `opts.abort` to tell S3 that the multipart upload is cancelled and must be removed.\n * This should be done when the user cancels the upload, not when the upload is completed or errored.\n */\n resetUploaderReferences(fileID, opts) {\n if (this.uploaders[fileID]) {\n this.uploaders[fileID].abort({\n really: (opts == null ? void 0 : opts.abort) || false\n });\n this.uploaders[fileID] = null;\n }\n if (this.uploaderEvents[fileID]) {\n this.uploaderEvents[fileID].remove();\n this.uploaderEvents[fileID] = null;\n }\n if (this.uploaderSockets[fileID]) {\n // @ts-expect-error TODO: remove this block in the next major\n this.uploaderSockets[fileID].close();\n // @ts-expect-error TODO: remove this block in the next major\n this.uploaderSockets[fileID] = null;\n }\n }\n\n // TODO: make this a private method in the next major\n assertHost(method) {\n if (!this.opts.companionUrl) {\n throw new Error(`Expected a \\`companionUrl\\` option containing a Companion address, or if you are not using Companion, a custom \\`${method}\\` implementation.`);\n }\n }\n createMultipartUpload(file, signal) {\n this.assertHost('createMultipartUpload');\n throwIfAborted(signal);\n const metadata = getAllowedMetadata({\n meta: file.meta,\n allowedMetaFields: this.opts.allowedMetaFields\n });\n return _classPrivateFieldLooseBase(this, _client)[_client].post('s3/multipart', {\n filename: file.name,\n type: file.type,\n metadata\n }, {\n signal\n }).then(assertServerError);\n }\n listParts(file, _ref4, oldSignal) {\n var _signal;\n let {\n key,\n uploadId,\n signal\n } = _ref4;\n (_signal = signal) != null ? _signal : signal = oldSignal; // eslint-disable-line no-param-reassign\n this.assertHost('listParts');\n throwIfAborted(signal);\n const filename = encodeURIComponent(key);\n return _classPrivateFieldLooseBase(this, _client)[_client].get(`s3/multipart/${uploadId}?key=${filename}`, {\n signal\n }).then(assertServerError);\n }\n completeMultipartUpload(file, _ref5, oldSignal) {\n var _signal2;\n let {\n key,\n uploadId,\n parts,\n signal\n } = _ref5;\n (_signal2 = signal) != null ? _signal2 : signal = oldSignal; // eslint-disable-line no-param-reassign\n this.assertHost('completeMultipartUpload');\n throwIfAborted(signal);\n const filename = encodeURIComponent(key);\n const uploadIdEnc = encodeURIComponent(uploadId);\n return _classPrivateFieldLooseBase(this, _client)[_client].post(`s3/multipart/${uploadIdEnc}/complete?key=${filename}`, {\n parts\n }, {\n signal\n }).then(assertServerError);\n }\n async createSignedURL(file, options) {\n const data = await _classPrivateFieldLooseBase(this, _getTemporarySecurityCredentials)[_getTemporarySecurityCredentials](options);\n const expires = getExpiry(data.credentials) || 604800; // 604 800 is the max value accepted by AWS.\n\n const {\n uploadId,\n key,\n partNumber\n } = options;\n\n // Return an object in the correct shape.\n return {\n method: 'PUT',\n expires,\n fields: {},\n url: `${await createSignedURL({\n accountKey: data.credentials.AccessKeyId,\n accountSecret: data.credentials.SecretAccessKey,\n sessionToken: data.credentials.SessionToken,\n expires,\n bucketName: data.bucket,\n Region: data.region,\n Key: key != null ? key : `${crypto.randomUUID()}-${file.name}`,\n uploadId,\n partNumber\n })}`,\n // Provide content type header required by S3\n headers: {\n 'Content-Type': file.type\n }\n };\n }\n signPart(file, _ref6) {\n let {\n uploadId,\n key,\n partNumber,\n signal\n } = _ref6;\n this.assertHost('signPart');\n throwIfAborted(signal);\n if (uploadId == null || key == null || partNumber == null) {\n throw new Error('Cannot sign without a key, an uploadId, and a partNumber');\n }\n const filename = encodeURIComponent(key);\n return _classPrivateFieldLooseBase(this, _client)[_client].get(`s3/multipart/${uploadId}/${partNumber}?key=${filename}`, {\n signal\n }).then(assertServerError);\n }\n abortMultipartUpload(file, _ref7,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n oldSignal // TODO: remove in next major\n ) {\n var _signal3;\n let {\n key,\n uploadId,\n signal\n } = _ref7;\n (_signal3 = signal) != null ? _signal3 : signal = oldSignal; // eslint-disable-line no-param-reassign\n this.assertHost('abortMultipartUpload');\n const filename = encodeURIComponent(key);\n const uploadIdEnc = encodeURIComponent(uploadId);\n return _classPrivateFieldLooseBase(this, _client)[_client].delete(`s3/multipart/${uploadIdEnc}?key=${filename}`, undefined, {\n signal\n }).then(assertServerError);\n }\n getUploadParameters(file, options) {\n const {\n meta\n } = file;\n const {\n type,\n name: filename\n } = meta;\n const metadata = getAllowedMetadata({\n meta,\n allowedMetaFields: this.opts.allowedMetaFields,\n querify: true\n });\n const query = new URLSearchParams({\n filename,\n type,\n ...metadata\n });\n return _classPrivateFieldLooseBase(this, _client)[_client].get(`s3/params?${query}`, options);\n }\n static async uploadPartBytes(_ref8) {\n let {\n signature: {\n url,\n expires,\n headers,\n method = 'PUT'\n },\n body,\n size = body.size,\n onProgress,\n onComplete,\n signal\n } = _ref8;\n throwIfAborted(signal);\n if (url == null) {\n throw new Error('Cannot upload to an undefined URL');\n }\n return new Promise((resolve, reject) => {\n const xhr = new XMLHttpRequest();\n xhr.open(method, url, true);\n if (headers) {\n Object.keys(headers).forEach(key => {\n xhr.setRequestHeader(key, headers[key]);\n });\n }\n xhr.responseType = 'text';\n if (typeof expires === 'number') {\n xhr.timeout = expires * 1000;\n }\n function onabort() {\n xhr.abort();\n }\n function cleanup() {\n signal == null || signal.removeEventListener('abort', onabort);\n }\n signal == null || signal.addEventListener('abort', onabort);\n xhr.upload.addEventListener('progress', ev => {\n onProgress(ev);\n });\n xhr.addEventListener('abort', () => {\n cleanup();\n reject(createAbortError());\n });\n xhr.addEventListener('timeout', () => {\n cleanup();\n const error = new Error('Request has expired');\n error.source = {\n status: 403\n };\n reject(error);\n });\n xhr.addEventListener('load', () => {\n cleanup();\n if (xhr.status === 403 && xhr.responseText.includes('Request has expired')) {\n const error = new Error('Request has expired');\n error.source = xhr;\n reject(error);\n return;\n }\n if (xhr.status < 200 || xhr.status >= 300) {\n const error = new Error('Non 2xx');\n error.source = xhr;\n reject(error);\n return;\n }\n\n // todo make a proper onProgress API (breaking change)\n onProgress == null || onProgress({\n loaded: size,\n lengthComputable: true\n });\n\n // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/getAllResponseHeaders#examples\n const arr = xhr.getAllResponseHeaders().trim().split(/[\\r\\n]+/);\n // @ts-expect-error null is allowed to avoid inherited properties\n const headersMap = {\n __proto__: null\n };\n for (const line of arr) {\n const parts = line.split(': ');\n const header = parts.shift();\n const value = parts.join(': ');\n headersMap[header] = value;\n }\n const {\n etag,\n location\n } = headersMap;\n if (method.toUpperCase() === 'POST' && location === null) {\n // Not being able to read the Location header is not a fatal error.\n // eslint-disable-next-line no-console\n console.warn('AwsS3/Multipart: Could not read the Location header. This likely means CORS is not configured correctly on the S3 Bucket. See https://uppy.io/docs/aws-s3-multipart#S3-Bucket-Configuration for instructions.');\n }\n if (etag === null) {\n reject(new Error('AwsS3/Multipart: Could not read the ETag header. This likely means CORS is not configured correctly on the S3 Bucket. See https://uppy.io/docs/aws-s3-multipart#S3-Bucket-Configuration for instructions.'));\n return;\n }\n onComplete == null || onComplete(etag);\n resolve({\n ...headersMap,\n ETag: etag // keep capitalised ETag for backwards compatiblity\n });\n });\n xhr.addEventListener('error', ev => {\n cleanup();\n const error = new Error('Unknown error');\n error.source = ev.target;\n reject(error);\n });\n xhr.send(body);\n });\n }\n install() {\n _classPrivateFieldLooseBase(this, _setResumableUploadsCapability)[_setResumableUploadsCapability](true);\n this.uppy.addPreProcessor(_classPrivateFieldLooseBase(this, _setCompanionHeaders)[_setCompanionHeaders]);\n this.uppy.addUploader(_classPrivateFieldLooseBase(this, _upload)[_upload]);\n this.uppy.on('cancel-all', _classPrivateFieldLooseBase(this, _resetResumableCapability)[_resetResumableCapability]);\n }\n uninstall() {\n this.uppy.removePreProcessor(_classPrivateFieldLooseBase(this, _setCompanionHeaders)[_setCompanionHeaders]);\n this.uppy.removeUploader(_classPrivateFieldLooseBase(this, _upload)[_upload]);\n this.uppy.off('cancel-all', _classPrivateFieldLooseBase(this, _resetResumableCapability)[_resetResumableCapability]);\n }\n}\nasync function _getTemporarySecurityCredentials2(options) {\n throwIfAborted(options == null ? void 0 : options.signal);\n if (_classPrivateFieldLooseBase(this, _cachedTemporaryCredentials)[_cachedTemporaryCredentials] == null) {\n // We do not await it just yet, so concurrent calls do not try to override it:\n if (this.opts.getTemporarySecurityCredentials === true) {\n this.assertHost('getTemporarySecurityCredentials');\n _classPrivateFieldLooseBase(this, _cachedTemporaryCredentials)[_cachedTemporaryCredentials] = _classPrivateFieldLooseBase(this, _client)[_client].get('s3/sts', options).then(assertServerError);\n } else {\n _classPrivateFieldLooseBase(this, _cachedTemporaryCredentials)[_cachedTemporaryCredentials] = this.opts.getTemporarySecurityCredentials(options);\n }\n _classPrivateFieldLooseBase(this, _cachedTemporaryCredentials)[_cachedTemporaryCredentials] = await _classPrivateFieldLooseBase(this, _cachedTemporaryCredentials)[_cachedTemporaryCredentials];\n setTimeout(() => {\n // At half the time left before expiration, we clear the cache. That's\n // an arbitrary tradeoff to limit the number of requests made to the\n // remote while limiting the risk of using an expired token in case the\n // clocks are not exactly synced.\n // The HTTP cache should be configured to ensure a client doesn't request\n // more tokens than it needs, but this timeout provides a second layer of\n // security in case the HTTP cache is disabled or misconfigured.\n _classPrivateFieldLooseBase(this, _cachedTemporaryCredentials)[_cachedTemporaryCredentials] = null;\n }, (getExpiry(_classPrivateFieldLooseBase(this, _cachedTemporaryCredentials)[_cachedTemporaryCredentials].credentials) || 0) * 500);\n }\n return _classPrivateFieldLooseBase(this, _cachedTemporaryCredentials)[_cachedTemporaryCredentials];\n}\nfunction _uploadLocalFile2(file) {\n var _this = this;\n return new Promise((resolve, reject) => {\n const onProgress = (bytesUploaded, bytesTotal) => {\n this.uppy.emit('upload-progress', this.uppy.getFile(file.id), {\n // @ts-expect-error TODO: figure out if we need this\n uploader: this,\n bytesUploaded,\n bytesTotal\n });\n };\n const onError = err => {\n this.uppy.log(err);\n this.uppy.emit('upload-error', file, err);\n this.resetUploaderReferences(file.id);\n reject(err);\n };\n const onSuccess = result => {\n const uploadResp = {\n body: {\n ...result\n },\n status: 200,\n uploadURL: result.location\n };\n this.resetUploaderReferences(file.id);\n this.uppy.emit('upload-success', _classPrivateFieldLooseBase(this, _getFile)[_getFile](file), uploadResp);\n if (result.location) {\n this.uppy.log(`Download ${file.name} from ${result.location}`);\n }\n resolve();\n };\n const upload = new MultipartUploader(file.data, {\n // .bind to pass the file object to each handler.\n companionComm: _classPrivateFieldLooseBase(this, _companionCommunicationQueue)[_companionCommunicationQueue],\n log: function () {\n return _this.uppy.log(...arguments);\n },\n getChunkSize: this.opts.getChunkSize ? this.opts.getChunkSize.bind(this) : null,\n onProgress,\n onError,\n onSuccess,\n onPartComplete: part => {\n this.uppy.emit('s3-multipart:part-uploaded', _classPrivateFieldLooseBase(this, _getFile)[_getFile](file), part);\n },\n file,\n shouldUseMultipart: this.opts.shouldUseMultipart,\n ...file.s3Multipart\n });\n this.uploaders[file.id] = upload;\n const eventManager = new EventManager(this.uppy);\n this.uploaderEvents[file.id] = eventManager;\n eventManager.onFileRemove(file.id, removed => {\n upload.abort();\n this.resetUploaderReferences(file.id, {\n abort: true\n });\n resolve(`upload ${removed} was removed`);\n });\n eventManager.onCancelAll(file.id, options => {\n if ((options == null ? void 0 : options.reason) === 'user') {\n upload.abort();\n this.resetUploaderReferences(file.id, {\n abort: true\n });\n }\n resolve(`upload ${file.id} was canceled`);\n });\n eventManager.onFilePause(file.id, isPaused => {\n if (isPaused) {\n upload.pause();\n } else {\n upload.start();\n }\n });\n eventManager.onPauseAll(file.id, () => {\n upload.pause();\n });\n eventManager.onResumeAll(file.id, () => {\n upload.start();\n });\n upload.start();\n });\n}\nfunction _getCompanionClientArgs2(file) {\n var _file$remote;\n return {\n ...((_file$remote = file.remote) == null ? void 0 : _file$remote.body),\n protocol: 's3-multipart',\n size: file.data.size,\n metadata: file.meta\n };\n}\nAwsS3Multipart.VERSION = packageJson.version;","function _classPrivateFieldLooseBase(receiver, privateKey) { if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { throw new TypeError(\"attempted to use private field on non-instance\"); } return receiver; }\nvar id = 0;\nfunction _classPrivateFieldLooseKey(name) { return \"__private_\" + id++ + \"_\" + name; }\nvar _uppy = /*#__PURE__*/_classPrivateFieldLooseKey(\"uppy\");\nvar _events = /*#__PURE__*/_classPrivateFieldLooseKey(\"events\");\n/**\n * Create a wrapper around an event emitter with a `remove` method to remove\n * all events that were added using the wrapped emitter.\n */\nexport default class EventManager {\n constructor(uppy) {\n Object.defineProperty(this, _uppy, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _events, {\n writable: true,\n value: []\n });\n _classPrivateFieldLooseBase(this, _uppy)[_uppy] = uppy;\n }\n on(event, fn) {\n _classPrivateFieldLooseBase(this, _events)[_events].push([event, fn]);\n return _classPrivateFieldLooseBase(this, _uppy)[_uppy].on(event, fn);\n }\n remove() {\n for (const [event, fn] of _classPrivateFieldLooseBase(this, _events)[_events].splice(0)) {\n _classPrivateFieldLooseBase(this, _uppy)[_uppy].off(event, fn);\n }\n }\n onFilePause(fileID, cb) {\n this.on('upload-pause', (targetFileID, isPaused) => {\n if (fileID === targetFileID) {\n cb(isPaused);\n }\n });\n }\n onFileRemove(fileID, cb) {\n this.on('file-removed', file => {\n if (fileID === file.id) cb(file.id);\n });\n }\n onPause(fileID, cb) {\n this.on('upload-pause', (targetFileID, isPaused) => {\n if (fileID === targetFileID) {\n // const isPaused = this.#uppy.pauseResume(fileID)\n cb(isPaused);\n }\n });\n }\n onRetry(fileID, cb) {\n this.on('upload-retry', targetFileID => {\n if (fileID === targetFileID) {\n cb();\n }\n });\n }\n onRetryAll(fileID, cb) {\n this.on('retry-all', () => {\n if (!_classPrivateFieldLooseBase(this, _uppy)[_uppy].getFile(fileID)) return;\n cb();\n });\n }\n onPauseAll(fileID, cb) {\n this.on('pause-all', () => {\n if (!_classPrivateFieldLooseBase(this, _uppy)[_uppy].getFile(fileID)) return;\n cb();\n });\n }\n onCancelAll(fileID, eventHandler) {\n var _this = this;\n this.on('cancel-all', function () {\n if (!_classPrivateFieldLooseBase(_this, _uppy)[_uppy].getFile(fileID)) return;\n eventHandler(...arguments);\n });\n }\n onResumeAll(fileID, cb) {\n this.on('resume-all', () => {\n if (!_classPrivateFieldLooseBase(this, _uppy)[_uppy].getFile(fileID)) return;\n cb();\n });\n }\n}","function _classPrivateFieldLooseBase(receiver, privateKey) { if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { throw new TypeError(\"attempted to use private field on non-instance\"); } return receiver; }\nvar id = 0;\nfunction _classPrivateFieldLooseKey(name) { return \"__private_\" + id++ + \"_\" + name; }\nvar _aliveTimer = /*#__PURE__*/_classPrivateFieldLooseKey(\"aliveTimer\");\nvar _isDone = /*#__PURE__*/_classPrivateFieldLooseKey(\"isDone\");\nvar _onTimedOut = /*#__PURE__*/_classPrivateFieldLooseKey(\"onTimedOut\");\nvar _timeout = /*#__PURE__*/_classPrivateFieldLooseKey(\"timeout\");\n/**\n * Helper to abort upload requests if there has not been any progress for `timeout` ms.\n * Create an instance using `timer = new ProgressTimeout(10000, onTimeout)`\n * Call `timer.progress()` to signal that there has been progress of any kind.\n * Call `timer.done()` when the upload has completed.\n */\nclass ProgressTimeout {\n constructor(timeout,\n // eslint-disable-next-line no-shadow\n timeoutHandler) {\n Object.defineProperty(this, _aliveTimer, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _isDone, {\n writable: true,\n value: false\n });\n Object.defineProperty(this, _onTimedOut, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _timeout, {\n writable: true,\n value: void 0\n });\n _classPrivateFieldLooseBase(this, _timeout)[_timeout] = timeout;\n _classPrivateFieldLooseBase(this, _onTimedOut)[_onTimedOut] = () => timeoutHandler(timeout);\n }\n progress() {\n // Some browsers fire another progress event when the upload is\n // cancelled, so we have to ignore progress after the timer was\n // told to stop.\n if (_classPrivateFieldLooseBase(this, _isDone)[_isDone]) return;\n if (_classPrivateFieldLooseBase(this, _timeout)[_timeout] > 0) {\n clearTimeout(_classPrivateFieldLooseBase(this, _aliveTimer)[_aliveTimer]);\n _classPrivateFieldLooseBase(this, _aliveTimer)[_aliveTimer] = setTimeout(_classPrivateFieldLooseBase(this, _onTimedOut)[_onTimedOut], _classPrivateFieldLooseBase(this, _timeout)[_timeout]);\n }\n }\n done() {\n if (!_classPrivateFieldLooseBase(this, _isDone)[_isDone]) {\n clearTimeout(_classPrivateFieldLooseBase(this, _aliveTimer)[_aliveTimer]);\n _classPrivateFieldLooseBase(this, _aliveTimer)[_aliveTimer] = undefined;\n _classPrivateFieldLooseBase(this, _isDone)[_isDone] = true;\n }\n }\n}\nexport default ProgressTimeout;","function isNetworkError(xhr) {\n if (!xhr) {\n return false;\n }\n return xhr.readyState !== 0 && xhr.readyState !== 4 || xhr.status === 0;\n}\nexport default isNetworkError;","function _classPrivateFieldLooseBase(receiver, privateKey) { if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { throw new TypeError(\"attempted to use private field on non-instance\"); } return receiver; }\nvar id = 0;\nfunction _classPrivateFieldLooseKey(name) { return \"__private_\" + id++ + \"_\" + name; }\nimport { nanoid } from 'nanoid/non-secure';\nimport EventManager from '@uppy/utils/lib/EventManager';\nimport ProgressTimeout from '@uppy/utils/lib/ProgressTimeout';\nimport ErrorWithCause from '@uppy/utils/lib/ErrorWithCause';\nimport NetworkError from '@uppy/utils/lib/NetworkError';\nimport isNetworkError from '@uppy/utils/lib/isNetworkError';\nimport { internalRateLimitedQueue } from '@uppy/utils/lib/RateLimitedQueue';\n\n// See XHRUpload\nfunction buildResponseError(xhr, error) {\n if (isNetworkError(xhr)) return new NetworkError(error, xhr);\n const err = new ErrorWithCause('Upload error', {\n cause: error\n });\n err.request = xhr;\n return err;\n}\n\n// See XHRUpload\nfunction setTypeInBlob(file) {\n const dataWithUpdatedType = file.data.slice(0, file.data.size, file.meta.type);\n return dataWithUpdatedType;\n}\nfunction addMetadata(formData, meta, opts) {\n const allowedMetaFields = Array.isArray(opts.allowedMetaFields) ? opts.allowedMetaFields\n // Send along all fields by default.\n : Object.keys(meta);\n allowedMetaFields.forEach(item => {\n formData.append(item, meta[item]);\n });\n}\nfunction createFormDataUpload(file, opts) {\n const formPost = new FormData();\n addMetadata(formPost, file.meta, opts);\n const dataWithUpdatedType = setTypeInBlob(file);\n if (file.name) {\n formPost.append(opts.fieldName, dataWithUpdatedType, file.meta.name);\n } else {\n formPost.append(opts.fieldName, dataWithUpdatedType);\n }\n return formPost;\n}\nconst createBareUpload = file => file.data;\nvar _addEventHandlerForFile = /*#__PURE__*/_classPrivateFieldLooseKey(\"addEventHandlerForFile\");\nvar _addEventHandlerIfFileStillExists = /*#__PURE__*/_classPrivateFieldLooseKey(\"addEventHandlerIfFileStillExists\");\nexport default class MiniXHRUpload {\n constructor(uppy, opts) {\n Object.defineProperty(this, _addEventHandlerIfFileStillExists, {\n value: _addEventHandlerIfFileStillExists2\n });\n Object.defineProperty(this, _addEventHandlerForFile, {\n value: _addEventHandlerForFile2\n });\n this.uppy = uppy;\n this.opts = {\n validateStatus(status) {\n return status >= 200 && status < 300;\n },\n ...opts\n };\n this.requests = opts[internalRateLimitedQueue];\n this.uploaderEvents = Object.create(null);\n this.i18n = opts.i18n;\n }\n getOptions(file) {\n var _file$xhrUpload;\n const {\n uppy\n } = this;\n const overrides = uppy.getState().xhrUpload;\n const opts = {\n ...this.opts,\n ...(overrides || {}),\n ...(file.xhrUpload || {}),\n headers: {\n ...this.opts.headers,\n ...(overrides == null ? void 0 : overrides.headers),\n ...((_file$xhrUpload = file.xhrUpload) == null ? void 0 : _file$xhrUpload.headers)\n }\n };\n return opts;\n }\n uploadLocalFile(file) {\n const opts = this.getOptions(file);\n return new Promise((resolve, reject) => {\n // This is done in index.js in the S3 plugin.\n // this.uppy.emit('upload-started', file)\n\n const data = opts.formData ? createFormDataUpload(file, opts) : createBareUpload(file, opts);\n const xhr = new XMLHttpRequest();\n this.uploaderEvents[file.id] = new EventManager(this.uppy);\n const timer = new ProgressTimeout(opts.timeout, () => {\n xhr.abort();\n // eslint-disable-next-line no-use-before-define\n queuedRequest.done();\n const error = new Error(this.i18n('timedOut', {\n seconds: Math.ceil(opts.timeout / 1000)\n }));\n this.uppy.emit('upload-error', file, error);\n reject(error);\n });\n const id = nanoid();\n xhr.upload.addEventListener('loadstart', () => {\n this.uppy.log(`[AwsS3/XHRUpload] ${id} started`);\n });\n xhr.upload.addEventListener('progress', ev => {\n this.uppy.log(`[AwsS3/XHRUpload] ${id} progress: ${ev.loaded} / ${ev.total}`);\n // Begin checking for timeouts when progress starts, instead of loading,\n // to avoid timing out requests on browser concurrency queue\n timer.progress();\n if (ev.lengthComputable) {\n this.uppy.emit('upload-progress', this.uppy.getFile(file.id), {\n uploader: this,\n bytesUploaded: ev.loaded,\n bytesTotal: ev.total\n });\n }\n });\n xhr.addEventListener('load', ev => {\n this.uppy.log(`[AwsS3/XHRUpload] ${id} finished`);\n timer.done();\n // eslint-disable-next-line no-use-before-define\n queuedRequest.done();\n if (this.uploaderEvents[file.id]) {\n this.uploaderEvents[file.id].remove();\n this.uploaderEvents[file.id] = null;\n }\n if (opts.validateStatus(ev.target.status, xhr.responseText, xhr)) {\n const body = opts.getResponseData(xhr.responseText, xhr);\n const uploadURL = body[opts.responseUrlFieldName];\n const uploadResp = {\n status: ev.target.status,\n body,\n uploadURL\n };\n this.uppy.emit('upload-success', this.uppy.getFile(file.id), uploadResp);\n if (uploadURL) {\n this.uppy.log(`Download ${file.name} from ${uploadURL}`);\n }\n return resolve(file);\n }\n const body = opts.getResponseData(xhr.responseText, xhr);\n const error = buildResponseError(xhr, opts.getResponseError(xhr.responseText, xhr));\n const response = {\n status: ev.target.status,\n body\n };\n this.uppy.emit('upload-error', file, error, response);\n return reject(error);\n });\n xhr.addEventListener('error', () => {\n this.uppy.log(`[AwsS3/XHRUpload] ${id} errored`);\n timer.done();\n // eslint-disable-next-line no-use-before-define\n queuedRequest.done();\n if (this.uploaderEvents[file.id]) {\n this.uploaderEvents[file.id].remove();\n this.uploaderEvents[file.id] = null;\n }\n const error = buildResponseError(xhr, opts.getResponseError(xhr.responseText, xhr));\n this.uppy.emit('upload-error', file, error);\n return reject(error);\n });\n xhr.open(opts.method.toUpperCase(), opts.endpoint, true);\n // IE10 does not allow setting `withCredentials` and `responseType`\n // before `open()` is called. It’s important to set withCredentials\n // to a boolean, otherwise React Native crashes\n xhr.withCredentials = Boolean(opts.withCredentials);\n if (opts.responseType !== '') {\n xhr.responseType = opts.responseType;\n }\n Object.keys(opts.headers).forEach(header => {\n xhr.setRequestHeader(header, opts.headers[header]);\n });\n const queuedRequest = this.requests.run(() => {\n xhr.send(data);\n return () => {\n // eslint-disable-next-line no-use-before-define\n timer.done();\n xhr.abort();\n };\n }, {\n priority: 1\n });\n _classPrivateFieldLooseBase(this, _addEventHandlerForFile)[_addEventHandlerForFile]('file-removed', file.id, () => {\n queuedRequest.abort();\n reject(new Error('File removed'));\n });\n _classPrivateFieldLooseBase(this, _addEventHandlerIfFileStillExists)[_addEventHandlerIfFileStillExists]('cancel-all', file.id, function (_temp) {\n let {\n reason\n } = _temp === void 0 ? {} : _temp;\n if (reason === 'user') {\n queuedRequest.abort();\n }\n reject(new Error('Upload cancelled'));\n });\n });\n }\n}\nfunction _addEventHandlerForFile2(eventName, fileID, eventHandler) {\n this.uploaderEvents[fileID].on(eventName, fileOrID => {\n var _fileOrID$id;\n // TODO (major): refactor Uppy events to consistently send file objects (or consistently IDs)\n // We created a generic `addEventListenerForFile` but not all events\n // use file IDs, some use files, so we need to do this weird check.\n const id = (_fileOrID$id = fileOrID == null ? void 0 : fileOrID.id) != null ? _fileOrID$id : fileOrID;\n if (fileID === id) eventHandler();\n });\n}\nfunction _addEventHandlerIfFileStillExists2(eventName, fileID, eventHandler) {\n var _this = this;\n this.uploaderEvents[fileID].on(eventName, function () {\n if (_this.uppy.getFile(fileID)) eventHandler(...arguments);\n });\n}","let urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\nexport let customAlphabet = (alphabet, defaultSize = 21) => {\n return (size = defaultSize) => {\n let id = ''\n let i = size\n while (i--) {\n id += alphabet[(Math.random() * alphabet.length) | 0]\n }\n return id\n }\n}\nexport let nanoid = (size = 21) => {\n let id = ''\n let i = size\n while (i--) {\n id += urlAlphabet[(Math.random() * 64) | 0]\n }\n return id\n}\n","/**\n * Remove parameters like `charset=utf-8` from the end of a mime type string.\n *\n * @param {string} mimeType - The mime type string that may have optional parameters.\n * @returns {string} The \"base\" mime type, i.e. only 'category/type'.\n */\nfunction removeMimeParameters(mimeType) {\n return mimeType.replace(/;.*$/, '');\n}\n\n/**\n * Check if a response contains XML based on the response object and its text content.\n *\n * @param {string} content - The text body of the response.\n * @param {object|XMLHttpRequest} xhr - The XHR object or response object from Companion.\n * @returns {bool} Whether the content is (probably) XML.\n */\nfunction isXml(content, xhr) {\n const rawContentType = xhr.headers ? xhr.headers['content-type'] : xhr.getResponseHeader('Content-Type');\n if (typeof rawContentType === 'string') {\n const contentType = removeMimeParameters(rawContentType).toLowerCase();\n if (contentType === 'application/xml' || contentType === 'text/xml') {\n return true;\n }\n // GCS uses text/html for some reason\n // https://github.com/transloadit/uppy/issues/896\n if (contentType === 'text/html' && /^<\\?xml /.test(content)) {\n return true;\n }\n }\n return false;\n}\nexport default isXml;","export default {\n strings: {\n timedOut: 'Upload stalled for %{seconds} seconds, aborting.'\n }\n};","let _Symbol$for;\nfunction _classPrivateFieldLooseBase(receiver, privateKey) { if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { throw new TypeError(\"attempted to use private field on non-instance\"); } return receiver; }\nvar id = 0;\nfunction _classPrivateFieldLooseKey(name) { return \"__private_\" + id++ + \"_\" + name; }\n/**\n * This plugin is currently a A Big Hack™! The core reason for that is how this plugin\n * interacts with Uppy's current pipeline design. The pipeline can handle files in steps,\n * including preprocessing, uploading, and postprocessing steps. This plugin initially\n * was designed to do its work in a preprocessing step, and let XHRUpload deal with the\n * actual file upload as an uploading step. However, Uppy runs steps on all files at once,\n * sequentially: first, all files go through a preprocessing step, then, once they are all\n * done, they go through the uploading step.\n *\n * For S3, this causes severely broken behaviour when users upload many files. The\n * preprocessing step will request S3 upload URLs that are valid for a short time only,\n * but it has to do this for _all_ files, which can take a long time if there are hundreds\n * or even thousands of files. By the time the uploader step starts, the first URLs may\n * already have expired. If not, the uploading might take such a long time that later URLs\n * will expire before some files can be uploaded.\n *\n * The long-term solution to this problem is to change the upload pipeline so that files\n * can be sent to the next step individually. That requires a breaking change, so it is\n * planned for some future Uppy version.\n *\n * In the mean time, this plugin is stuck with a hackier approach: the necessary parts\n * of the XHRUpload implementation were copied into this plugin, as the MiniXHRUpload\n * class, and this plugin calls into it immediately once it receives an upload URL.\n * This isn't as nicely modular as we'd like and requires us to maintain two copies of\n * the XHRUpload code, but at least it's not horrifically broken :)\n */\n\nimport BasePlugin from '@uppy/core/lib/BasePlugin.js';\nimport AwsS3Multipart from '@uppy/aws-s3-multipart';\nimport { RateLimitedQueue, internalRateLimitedQueue } from '@uppy/utils/lib/RateLimitedQueue';\nimport { RequestClient } from '@uppy/companion-client';\nimport { filterNonFailedFiles, filterFilesToEmitUploadStarted } from '@uppy/utils/lib/fileFilters';\nconst packageJson = {\n \"version\": \"3.6.2\"\n};\nimport MiniXHRUpload from './MiniXHRUpload.js';\nimport isXml from './isXml.js';\nimport locale from './locale.js';\nfunction resolveUrl(origin, link) {\n // DigitalOcean doesn’t return the protocol from Location\n // without it, the `new URL` constructor will fail\n if (!origin && !link.startsWith('https://') && !link.startsWith('http://')) {\n link = `https://${link}`; // eslint-disable-line no-param-reassign\n }\n return new URL(link, origin || undefined).toString();\n}\n\n/**\n * Get the contents of a named tag in an XML source string.\n *\n * @param {string} source - The XML source string.\n * @param {string} tagName - The name of the tag.\n * @returns {string} The contents of the tag, or the empty string if the tag does not exist.\n */\nfunction getXmlValue(source, tagName) {\n const start = source.indexOf(`<${tagName}>`);\n const end = source.indexOf(``, start);\n return start !== -1 && end !== -1 ? source.slice(start + tagName.length + 2, end) : '';\n}\nfunction assertServerError(res) {\n if (res && res.error) {\n const error = new Error(res.message);\n Object.assign(error, res.error);\n throw error;\n }\n return res;\n}\nfunction validateParameters(file, params) {\n const valid = params != null && typeof params.url === 'string' && (typeof params.fields === 'object' || params.fields == null);\n if (!valid) {\n const err = new TypeError(`AwsS3: got incorrect result from 'getUploadParameters()' for file '${file.name}', expected an object '{ url, method, fields, headers }' but got '${JSON.stringify(params)}' instead.\\nSee https://uppy.io/docs/aws-s3/#getUploadParameters-file for more on the expected format.`);\n throw err;\n }\n const methodIsValid = params.method == null || /^p(u|os)t$/i.test(params.method);\n if (!methodIsValid) {\n const err = new TypeError(`AwsS3: got incorrect method from 'getUploadParameters()' for file '${file.name}', expected 'PUT' or 'POST' but got '${params.method}' instead.\\nSee https://uppy.io/docs/aws-s3/#getUploadParameters-file for more on the expected format.`);\n throw err;\n }\n}\n\n// Get the error data from a failed XMLHttpRequest instance.\n// `content` is the S3 response as a string.\n// `xhr` is the XMLHttpRequest instance.\nfunction defaultGetResponseError(content, xhr) {\n // If no response, we don't have a specific error message, use the default.\n if (!isXml(content, xhr)) {\n return undefined;\n }\n const error = getXmlValue(content, 'Message');\n return new Error(error);\n}\n\n// warning deduplication flag: see `getResponseData()` XHRUpload option definition\nlet warnedSuccessActionStatus = false;\n\n// TODO deprecate this, will use s3-multipart instead\nvar _client = /*#__PURE__*/_classPrivateFieldLooseKey(\"client\");\nvar _requests = /*#__PURE__*/_classPrivateFieldLooseKey(\"requests\");\nvar _uploader = /*#__PURE__*/_classPrivateFieldLooseKey(\"uploader\");\nvar _handleUpload = /*#__PURE__*/_classPrivateFieldLooseKey(\"handleUpload\");\nvar _setCompanionHeaders = /*#__PURE__*/_classPrivateFieldLooseKey(\"setCompanionHeaders\");\nvar _getCompanionClientArgs = /*#__PURE__*/_classPrivateFieldLooseKey(\"getCompanionClientArgs\");\n_Symbol$for = Symbol.for('uppy test: getClient');\nexport default class AwsS3 extends BasePlugin {\n constructor(uppy, _opts) {\n // Opt-in to using the multipart plugin, which is going to be the only S3 plugin as of the next semver.\n if ((_opts == null ? void 0 : _opts.shouldUseMultipart) != null) {\n return new AwsS3Multipart(uppy, _opts);\n }\n super(uppy, _opts);\n Object.defineProperty(this, _client, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _requests, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _uploader, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _handleUpload, {\n writable: true,\n value: async fileIDs => {\n /**\n * keep track of `getUploadParameters()` responses\n * so we can cancel the calls individually using just a file ID\n *\n * @type {Record>}\n */\n const paramsPromises = Object.create(null);\n function onremove(file) {\n var _paramsPromises$id;\n const {\n id\n } = file;\n (_paramsPromises$id = paramsPromises[id]) == null || _paramsPromises$id.abort();\n }\n this.uppy.on('file-removed', onremove);\n const files = this.uppy.getFilesByIds(fileIDs);\n const filesFiltered = filterNonFailedFiles(files);\n const filesToEmit = filterFilesToEmitUploadStarted(filesFiltered);\n this.uppy.emit('upload-start', filesToEmit);\n const getUploadParameters = _classPrivateFieldLooseBase(this, _requests)[_requests].wrapPromiseFunction(file => {\n return this.opts.getUploadParameters(file);\n });\n const numberOfFiles = fileIDs.length;\n return Promise.allSettled(fileIDs.map((id, index) => {\n paramsPromises[id] = getUploadParameters(this.uppy.getFile(id));\n return paramsPromises[id].then(params => {\n delete paramsPromises[id];\n const file = this.uppy.getFile(id);\n validateParameters(file, params);\n const {\n method = 'POST',\n url,\n fields,\n headers\n } = params;\n const xhrOpts = {\n method,\n formData: method.toUpperCase() === 'POST',\n endpoint: url,\n allowedMetaFields: fields ? Object.keys(fields) : []\n };\n if (headers) {\n xhrOpts.headers = headers;\n }\n this.uppy.setFileState(file.id, {\n meta: {\n ...file.meta,\n ...fields\n },\n xhrUpload: xhrOpts\n });\n return this.uploadFile(file.id, index, numberOfFiles);\n }).catch(error => {\n delete paramsPromises[id];\n const file = this.uppy.getFile(id);\n this.uppy.emit('upload-error', file, error);\n return Promise.reject(error);\n });\n })).finally(() => {\n // cleanup.\n this.uppy.off('file-removed', onremove);\n });\n }\n });\n Object.defineProperty(this, _setCompanionHeaders, {\n writable: true,\n value: () => {\n _classPrivateFieldLooseBase(this, _client)[_client].setCompanionHeaders(this.opts.companionHeaders);\n return Promise.resolve();\n }\n });\n Object.defineProperty(this, _getCompanionClientArgs, {\n writable: true,\n value: file => {\n const opts = _classPrivateFieldLooseBase(this, _uploader)[_uploader].getOptions(file);\n const allowedMetaFields = Array.isArray(opts.allowedMetaFields) ? opts.allowedMetaFields\n // Send along all fields by default.\n : Object.keys(file.meta);\n return {\n ...file.remote.body,\n protocol: 'multipart',\n endpoint: opts.endpoint,\n size: file.data.size,\n fieldname: opts.fieldName,\n metadata: Object.fromEntries(allowedMetaFields.map(name => [name, file.meta[name]])),\n httpMethod: opts.method,\n useFormData: opts.formData,\n headers: typeof opts.headers === 'function' ? opts.headers(file) : opts.headers\n };\n }\n });\n this.type = 'uploader';\n this.id = this.opts.id || 'AwsS3';\n this.title = 'AWS S3';\n this.defaultLocale = locale;\n const defaultOptions = {\n timeout: 30 * 1000,\n limit: 0,\n allowedMetaFields: [],\n // have to opt in\n getUploadParameters: this.getUploadParameters.bind(this),\n shouldUseMultipart: false,\n companionHeaders: {}\n };\n this.opts = {\n ...defaultOptions,\n ..._opts\n };\n if ((_opts == null ? void 0 : _opts.allowedMetaFields) === undefined && 'metaFields' in this.opts) {\n throw new Error('The `metaFields` option has been renamed to `allowedMetaFields`.');\n }\n\n // TODO: remove i18n once we can depend on XHRUpload instead of MiniXHRUpload\n this.i18nInit();\n _classPrivateFieldLooseBase(this, _client)[_client] = new RequestClient(uppy, _opts);\n _classPrivateFieldLooseBase(this, _requests)[_requests] = new RateLimitedQueue(this.opts.limit);\n }\n [_Symbol$for]() {\n return _classPrivateFieldLooseBase(this, _client)[_client];\n }\n\n // TODO: remove getter and setter for #client on the next major release\n get client() {\n return _classPrivateFieldLooseBase(this, _client)[_client];\n }\n set client(client) {\n _classPrivateFieldLooseBase(this, _client)[_client] = client;\n }\n getUploadParameters(file) {\n if (!this.opts.companionUrl) {\n throw new Error('Expected a `companionUrl` option containing a Companion address.');\n }\n const filename = file.meta.name;\n const {\n type\n } = file.meta;\n const metadata = Object.fromEntries(this.opts.allowedMetaFields.filter(key => file.meta[key] != null).map(key => [`metadata[${key}]`, file.meta[key].toString()]));\n const query = new URLSearchParams({\n filename,\n type,\n ...metadata\n });\n return _classPrivateFieldLooseBase(this, _client)[_client].get(`s3/params?${query}`).then(assertServerError);\n }\n uploadFile(id, current, total) {\n const file = this.uppy.getFile(id);\n this.uppy.log(`uploading ${current} of ${total}`);\n if (file.error) throw new Error(file.error);\n if (file.isRemote) {\n const getQueue = () => _classPrivateFieldLooseBase(this, _requests)[_requests];\n const controller = new AbortController();\n const removedHandler = removedFile => {\n if (removedFile.id === file.id) controller.abort();\n };\n this.uppy.on('file-removed', removedHandler);\n const uploadPromise = this.uppy.getRequestClientForFile(file).uploadRemoteFile(file, _classPrivateFieldLooseBase(this, _getCompanionClientArgs)[_getCompanionClientArgs](file), {\n signal: controller.signal,\n getQueue\n });\n _classPrivateFieldLooseBase(this, _requests)[_requests].wrapSyncFunction(() => {\n this.uppy.off('file-removed', removedHandler);\n }, {\n priority: -1\n })();\n return uploadPromise;\n }\n return _classPrivateFieldLooseBase(this, _uploader)[_uploader].uploadLocalFile(file, current, total);\n }\n install() {\n const {\n uppy\n } = this;\n uppy.addPreProcessor(_classPrivateFieldLooseBase(this, _setCompanionHeaders)[_setCompanionHeaders]);\n uppy.addUploader(_classPrivateFieldLooseBase(this, _handleUpload)[_handleUpload]);\n\n // Get the response data from a successful XMLHttpRequest instance.\n // `content` is the S3 response as a string.\n // `xhr` is the XMLHttpRequest instance.\n function defaultGetResponseData(content, xhr) {\n const opts = this;\n\n // If no response, we've hopefully done a PUT request to the file\n // in the bucket on its full URL.\n if (!isXml(content, xhr)) {\n if (opts.method.toUpperCase() === 'POST') {\n if (!warnedSuccessActionStatus) {\n uppy.log('[AwsS3] No response data found, make sure to set the success_action_status AWS SDK option to 201. See https://uppy.io/docs/aws-s3/#POST-Uploads', 'warning');\n warnedSuccessActionStatus = true;\n }\n // The responseURL won't contain the object key. Give up.\n return {\n location: null\n };\n }\n\n // responseURL is not available in older browsers.\n if (!xhr.responseURL) {\n return {\n location: null\n };\n }\n\n // Trim the query string because it's going to be a bunch of presign\n // parameters for a PUT request—doing a GET request with those will\n // always result in an error\n return {\n location: xhr.responseURL.replace(/\\?.*$/, '')\n };\n }\n return {\n // Some S3 alternatives do not reply with an absolute URL.\n // Eg DigitalOcean Spaces uses /$bucketName/xyz\n location: resolveUrl(xhr.responseURL, getXmlValue(content, 'Location')),\n bucket: getXmlValue(content, 'Bucket'),\n key: getXmlValue(content, 'Key'),\n etag: getXmlValue(content, 'ETag')\n };\n }\n const xhrOptions = {\n fieldName: 'file',\n responseUrlFieldName: 'location',\n timeout: this.opts.timeout,\n // Share the rate limiting queue with XHRUpload.\n [internalRateLimitedQueue]: _classPrivateFieldLooseBase(this, _requests)[_requests],\n responseType: 'text',\n getResponseData: this.opts.getResponseData || defaultGetResponseData,\n getResponseError: defaultGetResponseError\n };\n\n // TODO: remove i18n once we can depend on XHRUpload instead of MiniXHRUpload\n xhrOptions.i18n = this.i18n;\n\n // Revert to `uppy.use(XHRUpload)` once the big comment block at the top of\n // this file is solved\n _classPrivateFieldLooseBase(this, _uploader)[_uploader] = new MiniXHRUpload(uppy, xhrOptions);\n }\n uninstall() {\n this.uppy.removePreProcessor(_classPrivateFieldLooseBase(this, _setCompanionHeaders)[_setCompanionHeaders]);\n this.uppy.removeUploader(_classPrivateFieldLooseBase(this, _handleUpload)[_handleUpload]);\n }\n}\nAwsS3.VERSION = packageJson.version;","export default {\n strings: {\n // Shown in the Status Bar\n compressingImages: 'Compressing images...',\n compressedX: 'Saved %{size} by compressing images'\n }\n};","function _classPrivateFieldLooseBase(receiver, privateKey) { if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { throw new TypeError(\"attempted to use private field on non-instance\"); } return receiver; }\nvar id = 0;\nfunction _classPrivateFieldLooseKey(name) { return \"__private_\" + id++ + \"_\" + name; }\nimport { BasePlugin } from '@uppy/core';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport { RateLimitedQueue } from '@uppy/utils/lib/RateLimitedQueue';\nimport getFileNameAndExtension from '@uppy/utils/lib/getFileNameAndExtension';\nimport prettierBytes from '@transloadit/prettier-bytes';\nimport CompressorJS from 'compressorjs';\nimport locale from \"./locale.js\";\nvar _RateLimitedQueue = /*#__PURE__*/_classPrivateFieldLooseKey(\"RateLimitedQueue\");\nexport default class Compressor extends BasePlugin {\n constructor(uppy, opts) {\n super(uppy, opts);\n Object.defineProperty(this, _RateLimitedQueue, {\n writable: true,\n value: void 0\n });\n this.id = this.opts.id || 'Compressor';\n this.type = 'modifier';\n this.defaultLocale = locale;\n const defaultOptions = {\n quality: 0.6,\n limit: 10\n };\n this.opts = {\n ...defaultOptions,\n ...opts\n };\n _classPrivateFieldLooseBase(this, _RateLimitedQueue)[_RateLimitedQueue] = new RateLimitedQueue(this.opts.limit);\n this.i18nInit();\n this.prepareUpload = this.prepareUpload.bind(this);\n this.compress = this.compress.bind(this);\n }\n compress(blob) {\n return new Promise((resolve, reject) => {\n /* eslint-disable no-new */\n new CompressorJS(blob, {\n ...this.opts,\n success: resolve,\n error: reject\n });\n });\n }\n async prepareUpload(fileIDs) {\n let totalCompressedSize = 0;\n const compressedFiles = [];\n const compressAndApplyResult = _classPrivateFieldLooseBase(this, _RateLimitedQueue)[_RateLimitedQueue].wrapPromiseFunction(async file => {\n try {\n const compressedBlob = await this.compress(file.data);\n const compressedSavingsSize = file.data.size - compressedBlob.size;\n this.uppy.log(`[Image Compressor] Image ${file.id} compressed by ${prettierBytes(compressedSavingsSize)}`);\n totalCompressedSize += compressedSavingsSize;\n const {\n name,\n type,\n size\n } = compressedBlob;\n const compressedFileName = getFileNameAndExtension(name);\n const metaFileName = getFileNameAndExtension(file.meta.name);\n\n // Name (file.meta.name) might have been changed by user, so we update only the extension\n const newMetaName = `${metaFileName.name}.${compressedFileName.extension}`;\n this.uppy.setFileState(file.id, {\n ...(name && {\n name\n }),\n ...(compressedFileName.extension && {\n extension: compressedFileName.extension\n }),\n ...(type && {\n type\n }),\n ...(size && {\n size\n }),\n data: compressedBlob,\n meta: {\n ...file.meta,\n type,\n name: newMetaName\n }\n });\n compressedFiles.push(file);\n } catch (err) {\n this.uppy.log(`[Image Compressor] Failed to compress ${file.id}:`, 'warning');\n this.uppy.log(err, 'warning');\n }\n });\n const promises = fileIDs.map(fileID => {\n var _file$type;\n const file = this.uppy.getFile(fileID);\n this.uppy.emit('preprocess-progress', file, {\n mode: 'indeterminate',\n message: this.i18n('compressingImages')\n });\n if (file.isRemote) {\n return Promise.resolve();\n }\n\n // Some browsers (Firefox) add blobs with empty file type, when files are\n // added from a folder. Uppy auto-detects type from extension, but leaves the original blob intact.\n // However, Compressor.js failes when file has no type, so we set it here\n if (!file.data.type) {\n file.data = file.data.slice(0, file.data.size, file.type);\n }\n if (!((_file$type = file.type) != null && _file$type.startsWith('image/'))) {\n return Promise.resolve();\n }\n return compressAndApplyResult(file);\n });\n\n // Why emit `preprocess-complete` for all files at once, instead of\n // above when each is processed?\n // Because it leads to StatusBar showing a weird “upload 6 files” button,\n // while waiting for all the files to complete pre-processing.\n await Promise.all(promises);\n this.uppy.emit('compressor:complete', compressedFiles);\n\n // Only show informer if Compressor mananged to save at least a kilobyte\n if (totalCompressedSize > 1024) {\n this.uppy.info(this.i18n('compressedX', {\n size: prettierBytes(totalCompressedSize)\n }), 'info');\n }\n for (const fileID of fileIDs) {\n const file = this.uppy.getFile(fileID);\n this.uppy.emit('preprocess-complete', file);\n }\n }\n install() {\n this.uppy.addPreProcessor(this.prepareUpload);\n }\n uninstall() {\n this.uppy.removePreProcessor(this.prepareUpload);\n }\n}","/* eslint-disable class-methods-use-this */\n\n/**\n * Core plugin logic that all plugins share.\n *\n * BasePlugin does not contain DOM rendering so it can be used for plugins\n * without a user interface.\n *\n * See `Plugin` for the extended version with Preact rendering for interfaces.\n */\n\nimport Translator from '@uppy/utils/lib/Translator';\n\n/**\n * DefinePluginOpts marks all of the passed AlwaysDefinedKeys as “required” or “always defined”.\n */\n\nexport default class BasePlugin {\n constructor(uppy, opts) {\n this.uppy = uppy;\n this.opts = opts != null ? opts : {};\n }\n getPluginState() {\n const {\n plugins\n } = this.uppy.getState();\n return (plugins == null ? void 0 : plugins[this.id]) || {};\n }\n setPluginState(update) {\n const {\n plugins\n } = this.uppy.getState();\n this.uppy.setState({\n plugins: {\n ...plugins,\n [this.id]: {\n ...plugins[this.id],\n ...update\n }\n }\n });\n }\n setOptions(newOpts) {\n this.opts = {\n ...this.opts,\n ...newOpts\n };\n this.setPluginState(undefined); // so that UI re-renders with new options\n this.i18nInit();\n }\n i18nInit() {\n const translator = new Translator([this.defaultLocale, this.uppy.locale, this.opts.locale]);\n this.i18n = translator.translate.bind(translator);\n this.i18nArray = translator.translateArray.bind(translator);\n this.setPluginState(undefined); // so that UI re-renders and we see the updated locale\n }\n\n /**\n * Extendable methods\n * ==================\n * These methods are here to serve as an overview of the extendable methods as well as\n * making them not conditional in use, such as `if (this.afterUpdate)`.\n */\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n addTarget(plugin) {\n throw new Error(\"Extend the addTarget method to add your plugin to another plugin's target\");\n }\n install() {}\n uninstall() {}\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n update(state) {}\n\n // Called after every state update, after everything's mounted. Debounced.\n afterUpdate() {}\n}","function _classPrivateFieldLooseBase(receiver, privateKey) { if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { throw new TypeError(\"attempted to use private field on non-instance\"); } return receiver; }\nvar id = 0;\nfunction _classPrivateFieldLooseKey(name) { return \"__private_\" + id++ + \"_\" + name; }\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore We don't want TS to generate types for the package.json\nconst packageJson = {\n \"version\": \"3.2.2\"\n};\nvar _callbacks = /*#__PURE__*/_classPrivateFieldLooseKey(\"callbacks\");\nvar _publish = /*#__PURE__*/_classPrivateFieldLooseKey(\"publish\");\n/**\n * Default store that keeps state in a simple object.\n */\nclass DefaultStore {\n constructor() {\n Object.defineProperty(this, _publish, {\n value: _publish2\n });\n this.state = {};\n Object.defineProperty(this, _callbacks, {\n writable: true,\n value: new Set()\n });\n }\n getState() {\n return this.state;\n }\n setState(patch) {\n const prevState = {\n ...this.state\n };\n const nextState = {\n ...this.state,\n ...patch\n };\n this.state = nextState;\n _classPrivateFieldLooseBase(this, _publish)[_publish](prevState, nextState, patch);\n }\n subscribe(listener) {\n _classPrivateFieldLooseBase(this, _callbacks)[_callbacks].add(listener);\n return () => {\n _classPrivateFieldLooseBase(this, _callbacks)[_callbacks].delete(listener);\n };\n }\n}\nfunction _publish2() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _classPrivateFieldLooseBase(this, _callbacks)[_callbacks].forEach(listener => {\n listener(...args);\n });\n}\nDefaultStore.VERSION = packageJson.version;\nexport default DefaultStore;","// ___Why not add the mime-types package?\n// It's 19.7kB gzipped, and we only need mime types for well-known extensions (for file previews).\n// ___Where to take new extensions from?\n// https://github.com/jshttp/mime-db/blob/master/db.json\n\nexport default {\n __proto__: null,\n md: 'text/markdown',\n markdown: 'text/markdown',\n mp4: 'video/mp4',\n mp3: 'audio/mp3',\n svg: 'image/svg+xml',\n jpg: 'image/jpeg',\n png: 'image/png',\n webp: 'image/webp',\n gif: 'image/gif',\n heic: 'image/heic',\n heif: 'image/heif',\n yaml: 'text/yaml',\n yml: 'text/yaml',\n csv: 'text/csv',\n tsv: 'text/tab-separated-values',\n tab: 'text/tab-separated-values',\n avi: 'video/x-msvideo',\n mks: 'video/x-matroska',\n mkv: 'video/x-matroska',\n mov: 'video/quicktime',\n dicom: 'application/dicom',\n doc: 'application/msword',\n docm: 'application/vnd.ms-word.document.macroenabled.12',\n docx: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n dot: 'application/msword',\n dotm: 'application/vnd.ms-word.template.macroenabled.12',\n dotx: 'application/vnd.openxmlformats-officedocument.wordprocessingml.template',\n xla: 'application/vnd.ms-excel',\n xlam: 'application/vnd.ms-excel.addin.macroenabled.12',\n xlc: 'application/vnd.ms-excel',\n xlf: 'application/x-xliff+xml',\n xlm: 'application/vnd.ms-excel',\n xls: 'application/vnd.ms-excel',\n xlsb: 'application/vnd.ms-excel.sheet.binary.macroenabled.12',\n xlsm: 'application/vnd.ms-excel.sheet.macroenabled.12',\n xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n xlt: 'application/vnd.ms-excel',\n xltm: 'application/vnd.ms-excel.template.macroenabled.12',\n xltx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.template',\n xlw: 'application/vnd.ms-excel',\n txt: 'text/plain',\n text: 'text/plain',\n conf: 'text/plain',\n log: 'text/plain',\n pdf: 'application/pdf',\n zip: 'application/zip',\n '7z': 'application/x-7z-compressed',\n rar: 'application/x-rar-compressed',\n tar: 'application/x-tar',\n gz: 'application/gzip',\n dmg: 'application/x-apple-diskimage'\n};","import getFileNameAndExtension from \"./getFileNameAndExtension.js\";\nimport mimeTypes from \"./mimeTypes.js\";\nexport default function getFileType(file) {\n var _getFileNameAndExtens;\n if (file.type) return file.type;\n const fileExtension = file.name ? (_getFileNameAndExtens = getFileNameAndExtension(file.name).extension) == null ? void 0 : _getFileNameAndExtens.toLowerCase() : null;\n if (fileExtension && fileExtension in mimeTypes) {\n // else, see if we can map extension to a mime type\n return mimeTypes[fileExtension];\n }\n // if all fails, fall back to a generic byte stream type\n return 'application/octet-stream';\n}","import getFileType from \"./getFileType.js\";\nfunction encodeCharacter(character) {\n return character.charCodeAt(0).toString(32);\n}\nfunction encodeFilename(name) {\n let suffix = '';\n return name.replace(/[^A-Z0-9]/gi, character => {\n suffix += `-${encodeCharacter(character)}`;\n return '/';\n }) + suffix;\n}\n\n/**\n * Takes a file object and turns it into fileID, by converting file.name to lowercase,\n * removing extra characters and adding type, size and lastModified\n */\nexport default function generateFileID(file, instanceId) {\n // It's tempting to do `[items].filter(Boolean).join('-')` here, but that\n // is slower! simple string concatenation is fast\n\n let id = instanceId || 'uppy';\n if (typeof file.name === 'string') {\n id += `-${encodeFilename(file.name.toLowerCase())}`;\n }\n if (file.type !== undefined) {\n id += `-${file.type}`;\n }\n if (file.meta && typeof file.meta.relativePath === 'string') {\n id += `-${encodeFilename(file.meta.relativePath.toLowerCase())}`;\n }\n if (file.data.size !== undefined) {\n id += `-${file.data.size}`;\n }\n if (file.data.lastModified !== undefined) {\n id += `-${file.data.lastModified}`;\n }\n return id;\n}\n\n// If the provider has a stable, unique ID, then we can use that to identify the file.\n// Then we don't have to generate our own ID, and we can add the same file many times if needed (different path)\nfunction hasFileStableId(file) {\n if (!file.isRemote || !file.remote) return false;\n // These are the providers that it seems like have stable IDs for their files. The other's I haven't checked yet.\n const stableIdProviders = new Set(['box', 'dropbox', 'drive', 'facebook', 'unsplash']);\n return stableIdProviders.has(file.remote.provider);\n}\nexport function getSafeFileId(file, instanceId) {\n if (hasFileStableId(file)) return file.id;\n const fileType = getFileType(file);\n return generateFileID({\n ...file,\n type: fileType\n }, instanceId);\n}","// Edge 15.x does not fire 'progress' events on uploads.\n// See https://github.com/transloadit/uppy/issues/945\n// And https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/12224510/\nexport default function supportsUploadProgress(userAgent) {\n // Allow passing in userAgent for tests\n if (userAgent == null && typeof navigator !== 'undefined') {\n // eslint-disable-next-line no-param-reassign\n userAgent = navigator.userAgent;\n }\n // Assume it works because basically everything supports progress events.\n if (!userAgent) return true;\n const m = /Edge\\/(\\d+\\.\\d+)/.exec(userAgent);\n if (!m) return true;\n const edgeVersion = m[1];\n const version = edgeVersion.split('.', 2);\n const major = parseInt(version[0], 10);\n const minor = parseInt(version[1], 10);\n\n // Worked before:\n // Edge 40.15063.0.0\n // Microsoft EdgeHTML 15.15063\n if (major < 15 || major === 15 && minor < 15063) {\n return true;\n }\n\n // Fixed in:\n // Microsoft EdgeHTML 18.18218\n if (major > 18 || major === 18 && minor >= 18218) {\n return true;\n }\n\n // other versions don't work.\n return false;\n}","/**\n * Adds zero to strings shorter than two characters.\n */\nfunction pad(number) {\n return number < 10 ? `0${number}` : number.toString();\n}\n\n/**\n * Returns a timestamp in the format of `hours:minutes:seconds`\n */\nexport default function getTimeStamp() {\n const date = new Date();\n const hours = pad(date.getHours());\n const minutes = pad(date.getMinutes());\n const seconds = pad(date.getSeconds());\n return `${hours}:${minutes}:${seconds}`;\n}","/* eslint-disable no-console */\nimport getTimeStamp from '@uppy/utils/lib/getTimeStamp';\n\n// Swallow all logs, except errors.\n// default if logger is not set or debug: false\nconst justErrorsLogger = {\n debug: () => {},\n warn: () => {},\n error: function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return console.error(`[Uppy] [${getTimeStamp()}]`, ...args);\n }\n};\n\n// Print logs to console with namespace + timestamp,\n// set by logger: Uppy.debugLogger or debug: true\nconst debugLogger = {\n debug: function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return console.debug(`[Uppy] [${getTimeStamp()}]`, ...args);\n },\n warn: function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return console.warn(`[Uppy] [${getTimeStamp()}]`, ...args);\n },\n error: function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return console.error(`[Uppy] [${getTimeStamp()}]`, ...args);\n }\n};\nexport { justErrorsLogger, debugLogger };","/* eslint-disable @typescript-eslint/ban-ts-comment */\n/* eslint-disable max-classes-per-file, class-methods-use-this */\nimport prettierBytes from '@transloadit/prettier-bytes';\n// @ts-ignore untyped\nimport match from 'mime-match';\n\n/**\n * The minimal required properties to be present from UppyFile in order to validate it.\n */\n\nconst defaultOptions = {\n maxFileSize: null,\n minFileSize: null,\n maxTotalFileSize: null,\n maxNumberOfFiles: null,\n minNumberOfFiles: null,\n allowedFileTypes: null,\n requiredMetaFields: []\n};\nclass RestrictionError extends Error {\n constructor(message, opts) {\n var _opts$isUserFacing;\n super(message);\n this.isRestriction = true;\n this.isUserFacing = (_opts$isUserFacing = opts == null ? void 0 : opts.isUserFacing) != null ? _opts$isUserFacing : true;\n if (opts != null && opts.file) {\n this.file = opts.file; // only some restriction errors are related to a particular file\n }\n }\n}\nclass Restricter {\n constructor(getOpts, getI18n) {\n this.getI18n = getI18n;\n this.getOpts = () => {\n var _opts$restrictions;\n const opts = getOpts();\n if (((_opts$restrictions = opts.restrictions) == null ? void 0 : _opts$restrictions.allowedFileTypes) != null && !Array.isArray(opts.restrictions.allowedFileTypes)) {\n throw new TypeError('`restrictions.allowedFileTypes` must be an array');\n }\n return opts;\n };\n }\n\n // Because these operations are slow, we cannot run them for every file (if we are adding multiple files)\n validateAggregateRestrictions(existingFiles, addingFiles) {\n const {\n maxTotalFileSize,\n maxNumberOfFiles\n } = this.getOpts().restrictions;\n if (maxNumberOfFiles) {\n const nonGhostFiles = existingFiles.filter(f => !f.isGhost);\n if (nonGhostFiles.length + addingFiles.length > maxNumberOfFiles) {\n throw new RestrictionError(`${this.getI18n()('youCanOnlyUploadX', {\n smart_count: maxNumberOfFiles\n })}`);\n }\n }\n if (maxTotalFileSize) {\n const totalFilesSize = [...existingFiles, ...addingFiles].reduce((total, f) => {\n var _f$size;\n return total + ((_f$size = f.size) != null ? _f$size : 0);\n }, 0);\n if (totalFilesSize > maxTotalFileSize) {\n throw new RestrictionError(this.getI18n()('aggregateExceedsSize', {\n sizeAllowed: prettierBytes(maxTotalFileSize),\n size: prettierBytes(totalFilesSize)\n }));\n }\n }\n }\n validateSingleFile(file) {\n const {\n maxFileSize,\n minFileSize,\n allowedFileTypes\n } = this.getOpts().restrictions;\n if (allowedFileTypes) {\n const isCorrectFileType = allowedFileTypes.some(type => {\n // check if this is a mime-type\n if (type.includes('/')) {\n if (!file.type) return false;\n return match(file.type.replace(/;.*?$/, ''), type);\n }\n\n // otherwise this is likely an extension\n if (type[0] === '.' && file.extension) {\n return file.extension.toLowerCase() === type.slice(1).toLowerCase();\n }\n return false;\n });\n if (!isCorrectFileType) {\n const allowedFileTypesString = allowedFileTypes.join(', ');\n throw new RestrictionError(this.getI18n()('youCanOnlyUploadFileTypes', {\n types: allowedFileTypesString\n }), {\n file\n });\n }\n }\n\n // We can't check maxFileSize if the size is unknown.\n if (maxFileSize && file.size != null && file.size > maxFileSize) {\n throw new RestrictionError(this.getI18n()('exceedsSize', {\n size: prettierBytes(maxFileSize),\n file: file.name\n }), {\n file\n });\n }\n\n // We can't check minFileSize if the size is unknown.\n if (minFileSize && file.size != null && file.size < minFileSize) {\n throw new RestrictionError(this.getI18n()('inferiorSize', {\n size: prettierBytes(minFileSize)\n }), {\n file\n });\n }\n }\n validate(existingFiles, addingFiles) {\n addingFiles.forEach(addingFile => {\n this.validateSingleFile(addingFile);\n });\n this.validateAggregateRestrictions(existingFiles, addingFiles);\n }\n validateMinNumberOfFiles(files) {\n const {\n minNumberOfFiles\n } = this.getOpts().restrictions;\n if (minNumberOfFiles && Object.keys(files).length < minNumberOfFiles) {\n throw new RestrictionError(this.getI18n()('youHaveToAtLeastSelectX', {\n smart_count: minNumberOfFiles\n }));\n }\n }\n getMissingRequiredMetaFields(file) {\n const error = new RestrictionError(this.getI18n()('missingRequiredMetaFieldOnFile', {\n fileName: file.name\n }));\n const {\n requiredMetaFields\n } = this.getOpts().restrictions;\n const missingFields = [];\n for (const field of requiredMetaFields) {\n if (!Object.hasOwn(file.meta, field) || file.meta[field] === '') {\n missingFields.push(field);\n }\n }\n return {\n missingFields,\n error\n };\n }\n}\nexport { Restricter, defaultOptions, RestrictionError };","export default {\n strings: {\n addBulkFilesFailed: {\n 0: 'Failed to add %{smart_count} file due to an internal error',\n 1: 'Failed to add %{smart_count} files due to internal errors'\n },\n youCanOnlyUploadX: {\n 0: 'You can only upload %{smart_count} file',\n 1: 'You can only upload %{smart_count} files'\n },\n youHaveToAtLeastSelectX: {\n 0: 'You have to select at least %{smart_count} file',\n 1: 'You have to select at least %{smart_count} files'\n },\n aggregateExceedsSize: 'You selected %{size} of files, but maximum allowed size is %{sizeAllowed}',\n exceedsSize: '%{file} exceeds maximum allowed size of %{size}',\n missingRequiredMetaField: 'Missing required meta fields',\n missingRequiredMetaFieldOnFile: 'Missing required meta fields in %{fileName}',\n inferiorSize: 'This file is smaller than the allowed size of %{size}',\n youCanOnlyUploadFileTypes: 'You can only upload: %{types}',\n noMoreFilesAllowed: 'Cannot add more files',\n noDuplicates: \"Cannot add the duplicate file '%{fileName}', it already exists\",\n companionError: 'Connection with Companion failed',\n authAborted: 'Authentication aborted',\n companionUnauthorizeHint: 'To unauthorize to your %{provider} account, please go to %{url}',\n failedToUpload: 'Failed to upload %{file}',\n noInternetConnection: 'No Internet connection',\n connectedToInternet: 'Connected to the Internet',\n // Strings for remote providers\n noFilesFound: 'You have no files or folders here',\n noSearchResults: 'Unfortunately, there are no results for this search',\n selectX: {\n 0: 'Select %{smart_count}',\n 1: 'Select %{smart_count}'\n },\n allFilesFromFolderNamed: 'All files from folder %{name}',\n openFolderNamed: 'Open folder %{name}',\n cancel: 'Cancel',\n logOut: 'Log out',\n filter: 'Filter',\n resetFilter: 'Reset filter',\n loading: 'Loading...',\n loadedXFiles: 'Loaded %{numFiles} files',\n authenticateWithTitle: 'Please authenticate with %{pluginName} to select files',\n authenticateWith: 'Connect to %{pluginName}',\n signInWithGoogle: 'Sign in with Google',\n searchImages: 'Search for images',\n enterTextToSearch: 'Enter text to search for images',\n search: 'Search',\n resetSearch: 'Reset search',\n emptyFolderAdded: 'No files were added from empty folder',\n addedNumFiles: 'Added %{numFiles} file(s)',\n folderAlreadyAdded: 'The folder \"%{folder}\" was already added',\n folderAdded: {\n 0: 'Added %{smart_count} file from %{folder}',\n 1: 'Added %{smart_count} files from %{folder}'\n },\n additionalRestrictionsFailed: '%{count} additional restrictions were not fulfilled',\n unnamed: 'Unnamed'\n }\n};","let _Symbol$for, _Symbol$for2;\nfunction _classPrivateFieldLooseBase(receiver, privateKey) { if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { throw new TypeError(\"attempted to use private field on non-instance\"); } return receiver; }\nvar id = 0;\nfunction _classPrivateFieldLooseKey(name) { return \"__private_\" + id++ + \"_\" + name; }\n/* eslint-disable max-classes-per-file */\n/* global AggregateError */\n\nimport Translator from '@uppy/utils/lib/Translator';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore untyped\nimport ee from 'namespace-emitter';\nimport { nanoid } from 'nanoid/non-secure';\nimport throttle from 'lodash/throttle.js';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore store-default types not always available on that branch\nimport DefaultStore from '@uppy/store-default';\nimport getFileType from '@uppy/utils/lib/getFileType';\nimport getFileNameAndExtension from '@uppy/utils/lib/getFileNameAndExtension';\nimport { getSafeFileId } from '@uppy/utils/lib/generateFileID';\nimport supportsUploadProgress from \"./supportsUploadProgress.js\";\nimport getFileName from \"./getFileName.js\";\nimport { justErrorsLogger, debugLogger } from \"./loggers.js\";\nimport { Restricter, defaultOptions as defaultRestrictionOptions, RestrictionError } from \"./Restricter.js\";\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore We don't want TS to generate types for the package.json\nconst packageJson = {\n \"version\": \"3.13.0\"\n};\nimport locale from \"./locale.js\";\n\n/*\n * UnknownProviderPlugin can be any Companion plugin (such as Google Drive).\n * As the plugins are passed around throughout Uppy we need a generic type for this.\n * It may seems like duplication, but this type safe. Changing the type of `storage`\n * will error in the `Provider` class of @uppy/companion-client and vice versa.\n *\n * Note that this is the *plugin* class, not a version of the `Provider` class.\n * `Provider` does operate on Companion plugins with `uppy.getPlugin()`.\n */\n\n/*\n * UnknownSearchProviderPlugin can be any search Companion plugin (such as Unsplash).\n * As the plugins are passed around throughout Uppy we need a generic type for this.\n * It may seems like duplication, but this type safe. Changing the type of `title`\n * will error in the `SearchProvider` class of @uppy/companion-client and vice versa.\n *\n * Note that this is the *plugin* class, not a version of the `SearchProvider` class.\n * `SearchProvider` does operate on Companion plugins with `uppy.getPlugin()`.\n */\n\n// TODO: can we use namespaces in other plugins to populate this?\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\n\n// The user facing type for UppyOptions used in uppy.setOptions()\n\n/** @deprecated */\n\nconst defaultUploadState = {\n totalProgress: 0,\n allowNewUpload: true,\n error: null,\n recoveredState: null\n};\n\n/**\n * Uppy Core module.\n * Manages plugins, state updates, acts as an event bus,\n * adds/removes files and metadata.\n */\nvar _plugins = /*#__PURE__*/_classPrivateFieldLooseKey(\"plugins\");\nvar _restricter = /*#__PURE__*/_classPrivateFieldLooseKey(\"restricter\");\nvar _storeUnsubscribe = /*#__PURE__*/_classPrivateFieldLooseKey(\"storeUnsubscribe\");\nvar _emitter = /*#__PURE__*/_classPrivateFieldLooseKey(\"emitter\");\nvar _preProcessors = /*#__PURE__*/_classPrivateFieldLooseKey(\"preProcessors\");\nvar _uploaders = /*#__PURE__*/_classPrivateFieldLooseKey(\"uploaders\");\nvar _postProcessors = /*#__PURE__*/_classPrivateFieldLooseKey(\"postProcessors\");\nvar _informAndEmit = /*#__PURE__*/_classPrivateFieldLooseKey(\"informAndEmit\");\nvar _checkRequiredMetaFieldsOnFile = /*#__PURE__*/_classPrivateFieldLooseKey(\"checkRequiredMetaFieldsOnFile\");\nvar _checkRequiredMetaFields = /*#__PURE__*/_classPrivateFieldLooseKey(\"checkRequiredMetaFields\");\nvar _assertNewUploadAllowed = /*#__PURE__*/_classPrivateFieldLooseKey(\"assertNewUploadAllowed\");\nvar _transformFile = /*#__PURE__*/_classPrivateFieldLooseKey(\"transformFile\");\nvar _startIfAutoProceed = /*#__PURE__*/_classPrivateFieldLooseKey(\"startIfAutoProceed\");\nvar _checkAndUpdateFileState = /*#__PURE__*/_classPrivateFieldLooseKey(\"checkAndUpdateFileState\");\nvar _addListeners = /*#__PURE__*/_classPrivateFieldLooseKey(\"addListeners\");\nvar _updateOnlineStatus = /*#__PURE__*/_classPrivateFieldLooseKey(\"updateOnlineStatus\");\nvar _requestClientById = /*#__PURE__*/_classPrivateFieldLooseKey(\"requestClientById\");\nvar _createUpload = /*#__PURE__*/_classPrivateFieldLooseKey(\"createUpload\");\nvar _getUpload = /*#__PURE__*/_classPrivateFieldLooseKey(\"getUpload\");\nvar _removeUpload = /*#__PURE__*/_classPrivateFieldLooseKey(\"removeUpload\");\nvar _runUpload = /*#__PURE__*/_classPrivateFieldLooseKey(\"runUpload\");\n_Symbol$for = Symbol.for('uppy test: getPlugins');\n_Symbol$for2 = Symbol.for('uppy test: createUpload');\nexport class Uppy {\n /**\n * Instantiate Uppy\n */\n constructor(_opts) {\n /**\n * Run an upload. This picks up where it left off in case the upload is being restored.\n */\n Object.defineProperty(this, _runUpload, {\n value: _runUpload2\n });\n /**\n * Remove an upload, eg. if it has been canceled or completed.\n *\n */\n Object.defineProperty(this, _removeUpload, {\n value: _removeUpload2\n });\n Object.defineProperty(this, _getUpload, {\n value: _getUpload2\n });\n /**\n * Create an upload for a bunch of files.\n *\n */\n Object.defineProperty(this, _createUpload, {\n value: _createUpload2\n });\n /**\n * Registers listeners for all global actions, like:\n * `error`, `file-removed`, `upload-progress`\n */\n Object.defineProperty(this, _addListeners, {\n value: _addListeners2\n });\n Object.defineProperty(this, _checkAndUpdateFileState, {\n value: _checkAndUpdateFileState2\n });\n // Schedule an upload if `autoProceed` is enabled.\n Object.defineProperty(this, _startIfAutoProceed, {\n value: _startIfAutoProceed2\n });\n /**\n * Create a file state object based on user-provided `addFile()` options.\n */\n Object.defineProperty(this, _transformFile, {\n value: _transformFile2\n });\n Object.defineProperty(this, _assertNewUploadAllowed, {\n value: _assertNewUploadAllowed2\n });\n Object.defineProperty(this, _checkRequiredMetaFields, {\n value: _checkRequiredMetaFields2\n });\n Object.defineProperty(this, _checkRequiredMetaFieldsOnFile, {\n value: _checkRequiredMetaFieldsOnFile2\n });\n Object.defineProperty(this, _informAndEmit, {\n value: _informAndEmit2\n });\n Object.defineProperty(this, _plugins, {\n writable: true,\n value: Object.create(null)\n });\n Object.defineProperty(this, _restricter, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _storeUnsubscribe, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _emitter, {\n writable: true,\n value: ee()\n });\n Object.defineProperty(this, _preProcessors, {\n writable: true,\n value: new Set()\n });\n Object.defineProperty(this, _uploaders, {\n writable: true,\n value: new Set()\n });\n Object.defineProperty(this, _postProcessors, {\n writable: true,\n value: new Set()\n });\n this.scheduledAutoProceed = null;\n this.wasOffline = false;\n // ___Why throttle at 500ms?\n // - We must throttle at >250ms for superfocus in Dashboard to work well\n // (because animation takes 0.25s, and we want to wait for all animations to be over before refocusing).\n // [Practical Check]: if thottle is at 100ms, then if you are uploading a file,\n // and click 'ADD MORE FILES', - focus won't activate in Firefox.\n // - We must throttle at around >500ms to avoid performance lags.\n // [Practical Check] Firefox, try to upload a big file for a prolonged period of time. Laptop will start to heat up.\n // todo when uploading multiple files, this will cause problems because they share the same throttle,\n // meaning some files might never get their progress reported (eaten up by progress events from other files)\n this.calculateProgress = throttle((file, data) => {\n const fileInState = this.getFile(file == null ? void 0 : file.id);\n if (file == null || !fileInState) {\n this.log(`Not setting progress for a file that has been removed: ${file == null ? void 0 : file.id}`);\n return;\n }\n if (fileInState.progress.percentage === 100) {\n this.log(`Not setting progress for a file that has been already uploaded: ${file.id}`);\n return;\n }\n\n // bytesTotal may be null or zero; in that case we can't divide by it\n const canHavePercentage = Number.isFinite(data.bytesTotal) && data.bytesTotal > 0;\n this.setFileState(file.id, {\n progress: {\n ...fileInState.progress,\n bytesUploaded: data.bytesUploaded,\n bytesTotal: data.bytesTotal,\n percentage: canHavePercentage ? Math.round(data.bytesUploaded / data.bytesTotal * 100) : 0\n }\n });\n this.calculateTotalProgress();\n }, 500, {\n leading: true,\n trailing: true\n });\n Object.defineProperty(this, _updateOnlineStatus, {\n writable: true,\n value: this.updateOnlineStatus.bind(this)\n });\n // We need to store request clients by a unique ID, so we can share RequestClient instances across files\n // this allows us to do rate limiting and synchronous operations like refreshing provider tokens\n // example: refreshing tokens: if each file has their own requestclient,\n // we don't have any way to synchronize all requests in order to\n // - block all requests\n // - refresh the token\n // - unblock all requests and allow them to run with a the new access token\n // back when we had a requestclient per file, once an access token expired,\n // all 6 files would go ahead and refresh the token at the same time\n // (calling /refresh-token up to 6 times), which will probably fail for some providers\n Object.defineProperty(this, _requestClientById, {\n writable: true,\n value: new Map()\n });\n this.defaultLocale = locale;\n const defaultOptions = {\n id: 'uppy',\n autoProceed: false,\n allowMultipleUploadBatches: true,\n debug: false,\n restrictions: defaultRestrictionOptions,\n meta: {},\n onBeforeFileAdded: (file, files) => !Object.hasOwn(files, file.id),\n onBeforeUpload: files => files,\n store: new DefaultStore(),\n logger: justErrorsLogger,\n infoTimeout: 5000\n };\n const merged = {\n ...defaultOptions,\n ..._opts\n };\n // Merge default options with the ones set by user,\n // making sure to merge restrictions too\n this.opts = {\n ...merged,\n restrictions: {\n ...defaultOptions.restrictions,\n ...(_opts && _opts.restrictions)\n }\n };\n\n // Support debug: true for backwards-compatability, unless logger is set in opts\n // opts instead of this.opts to avoid comparing objects — we set logger: justErrorsLogger in defaultOptions\n if (_opts && _opts.logger && _opts.debug) {\n this.log('You are using a custom `logger`, but also set `debug: true`, which uses built-in logger to output logs to console. Ignoring `debug: true` and using your custom `logger`.', 'warning');\n } else if (_opts && _opts.debug) {\n this.opts.logger = debugLogger;\n }\n this.log(`Using Core v${Uppy.VERSION}`);\n this.i18nInit();\n this.store = this.opts.store;\n this.setState({\n ...defaultUploadState,\n plugins: {},\n files: {},\n currentUploads: {},\n capabilities: {\n uploadProgress: supportsUploadProgress(),\n individualCancellation: true,\n resumableUploads: false\n },\n meta: {\n ...this.opts.meta\n },\n info: []\n });\n _classPrivateFieldLooseBase(this, _restricter)[_restricter] = new Restricter(() => this.opts, () => this.i18n);\n _classPrivateFieldLooseBase(this, _storeUnsubscribe)[_storeUnsubscribe] = this.store.subscribe(\n // eslint-disable-next-line\n // @ts-ignore Store is incorrectly typed\n (prevState, nextState, patch) => {\n // eslint-disable-next-line\n // @ts-ignore Store is incorrectly typed\n this.emit('state-update', prevState, nextState, patch);\n this.updateAll(nextState);\n });\n\n // Exposing uppy object on window for debugging and testing\n if (this.opts.debug && typeof window !== 'undefined') {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore Mutating the global object for debug purposes\n window[this.opts.id] = this;\n }\n _classPrivateFieldLooseBase(this, _addListeners)[_addListeners]();\n }\n emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _classPrivateFieldLooseBase(this, _emitter)[_emitter].emit(event, ...args);\n }\n on(event, callback) {\n _classPrivateFieldLooseBase(this, _emitter)[_emitter].on(event, callback);\n return this;\n }\n once(event, callback) {\n _classPrivateFieldLooseBase(this, _emitter)[_emitter].once(event, callback);\n return this;\n }\n off(event, callback) {\n _classPrivateFieldLooseBase(this, _emitter)[_emitter].off(event, callback);\n return this;\n }\n\n /**\n * Iterate on all plugins and run `update` on them.\n * Called each time state changes.\n *\n */\n updateAll(state) {\n this.iteratePlugins(plugin => {\n plugin.update(state);\n });\n }\n\n /**\n * Updates state with a patch\n */\n setState(patch) {\n // eslint-disable-next-line\n // @ts-ignore Store is incorrectly typed\n this.store.setState(patch);\n }\n\n /**\n * Returns current state.\n */\n getState() {\n // eslint-disable-next-line\n // @ts-ignore Store is incorrectly typed\n return this.store.getState();\n }\n patchFilesState(filesWithNewState) {\n const existingFilesState = this.getState().files;\n this.setState({\n files: {\n ...existingFilesState,\n ...Object.fromEntries(Object.entries(filesWithNewState).map(_ref => {\n let [fileID, newFileState] = _ref;\n return [fileID, {\n ...existingFilesState[fileID],\n ...newFileState\n }];\n }))\n }\n });\n }\n\n /**\n * Shorthand to set state for a specific file.\n */\n setFileState(fileID, state) {\n if (!this.getState().files[fileID]) {\n throw new Error(`Can’t set state for ${fileID} (the file could have been removed)`);\n }\n this.patchFilesState({\n [fileID]: state\n });\n }\n i18nInit() {\n const onMissingKey = key => this.log(`Missing i18n string: ${key}`, 'error');\n const translator = new Translator([this.defaultLocale, this.opts.locale], {\n onMissingKey\n });\n this.i18n = translator.translate.bind(translator);\n this.i18nArray = translator.translateArray.bind(translator);\n this.locale = translator.locale;\n }\n setOptions(newOpts) {\n this.opts = {\n ...this.opts,\n ...newOpts,\n restrictions: {\n ...this.opts.restrictions,\n ...(newOpts == null ? void 0 : newOpts.restrictions)\n }\n };\n if (newOpts.meta) {\n this.setMeta(newOpts.meta);\n }\n this.i18nInit();\n if (newOpts.locale) {\n this.iteratePlugins(plugin => {\n plugin.setOptions(newOpts);\n });\n }\n\n // Note: this is not the preact `setState`, it's an internal function that has the same name.\n this.setState(undefined); // so that UI re-renders with new options\n }\n\n // todo next major: remove\n resetProgress() {\n const defaultProgress = {\n percentage: 0,\n bytesUploaded: 0,\n uploadComplete: false,\n uploadStarted: null\n };\n const files = {\n ...this.getState().files\n };\n const updatedFiles = {};\n Object.keys(files).forEach(fileID => {\n updatedFiles[fileID] = {\n ...files[fileID],\n progress: {\n ...files[fileID].progress,\n ...defaultProgress\n }\n };\n });\n this.setState({\n files: updatedFiles,\n ...defaultUploadState\n });\n this.emit('reset-progress');\n }\n\n // @todo next major: rename to `clear()`, make it also cancel ongoing uploads\n // or throw and say you need to cancel manually\n clearUploadedFiles() {\n const {\n capabilities,\n currentUploads\n } = this.getState();\n if (Object.keys(currentUploads).length > 0 && !capabilities.individualCancellation) {\n throw new Error('The installed uploader plugin does not allow removing files during an upload.');\n }\n this.setState({\n ...defaultUploadState,\n files: {}\n });\n }\n addPreProcessor(fn) {\n _classPrivateFieldLooseBase(this, _preProcessors)[_preProcessors].add(fn);\n }\n removePreProcessor(fn) {\n return _classPrivateFieldLooseBase(this, _preProcessors)[_preProcessors].delete(fn);\n }\n addPostProcessor(fn) {\n _classPrivateFieldLooseBase(this, _postProcessors)[_postProcessors].add(fn);\n }\n removePostProcessor(fn) {\n return _classPrivateFieldLooseBase(this, _postProcessors)[_postProcessors].delete(fn);\n }\n addUploader(fn) {\n _classPrivateFieldLooseBase(this, _uploaders)[_uploaders].add(fn);\n }\n removeUploader(fn) {\n return _classPrivateFieldLooseBase(this, _uploaders)[_uploaders].delete(fn);\n }\n setMeta(data) {\n const updatedMeta = {\n ...this.getState().meta,\n ...data\n };\n const updatedFiles = {\n ...this.getState().files\n };\n Object.keys(updatedFiles).forEach(fileID => {\n updatedFiles[fileID] = {\n ...updatedFiles[fileID],\n meta: {\n ...updatedFiles[fileID].meta,\n ...data\n }\n };\n });\n this.log('Adding metadata:');\n this.log(data);\n this.setState({\n meta: updatedMeta,\n files: updatedFiles\n });\n }\n setFileMeta(fileID, data) {\n const updatedFiles = {\n ...this.getState().files\n };\n if (!updatedFiles[fileID]) {\n this.log('Was trying to set metadata for a file that has been removed: ', fileID);\n return;\n }\n const newMeta = {\n ...updatedFiles[fileID].meta,\n ...data\n };\n updatedFiles[fileID] = {\n ...updatedFiles[fileID],\n meta: newMeta\n };\n this.setState({\n files: updatedFiles\n });\n }\n\n /**\n * Get a file object.\n */\n getFile(fileID) {\n return this.getState().files[fileID];\n }\n\n /**\n * Get all files in an array.\n */\n getFiles() {\n const {\n files\n } = this.getState();\n return Object.values(files);\n }\n getFilesByIds(ids) {\n return ids.map(id => this.getFile(id));\n }\n getObjectOfFilesPerState() {\n const {\n files: filesObject,\n totalProgress,\n error\n } = this.getState();\n const files = Object.values(filesObject);\n const inProgressFiles = [];\n const newFiles = [];\n const startedFiles = [];\n const uploadStartedFiles = [];\n const pausedFiles = [];\n const completeFiles = [];\n const erroredFiles = [];\n const inProgressNotPausedFiles = [];\n const processingFiles = [];\n for (const file of files) {\n const {\n progress\n } = file;\n if (!progress.uploadComplete && progress.uploadStarted) {\n inProgressFiles.push(file);\n if (!file.isPaused) {\n inProgressNotPausedFiles.push(file);\n }\n }\n if (!progress.uploadStarted) {\n newFiles.push(file);\n }\n if (progress.uploadStarted || progress.preprocess || progress.postprocess) {\n startedFiles.push(file);\n }\n if (progress.uploadStarted) {\n uploadStartedFiles.push(file);\n }\n if (file.isPaused) {\n pausedFiles.push(file);\n }\n if (progress.uploadComplete) {\n completeFiles.push(file);\n }\n if (file.error) {\n erroredFiles.push(file);\n }\n if (progress.preprocess || progress.postprocess) {\n processingFiles.push(file);\n }\n }\n return {\n newFiles,\n startedFiles,\n uploadStartedFiles,\n pausedFiles,\n completeFiles,\n erroredFiles,\n inProgressFiles,\n inProgressNotPausedFiles,\n processingFiles,\n isUploadStarted: uploadStartedFiles.length > 0,\n isAllComplete: totalProgress === 100 && completeFiles.length === files.length && processingFiles.length === 0,\n isAllErrored: !!error && erroredFiles.length === files.length,\n isAllPaused: inProgressFiles.length !== 0 && pausedFiles.length === inProgressFiles.length,\n isUploadInProgress: inProgressFiles.length > 0,\n isSomeGhost: files.some(file => file.isGhost)\n };\n }\n validateRestrictions(file, files) {\n if (files === void 0) {\n files = this.getFiles();\n }\n try {\n _classPrivateFieldLooseBase(this, _restricter)[_restricter].validate(files, [file]);\n } catch (err) {\n return err;\n }\n return null;\n }\n checkIfFileAlreadyExists(fileID) {\n const {\n files\n } = this.getState();\n if (files[fileID] && !files[fileID].isGhost) {\n return true;\n }\n return false;\n }\n /**\n * Add a new file to `state.files`. This will run `onBeforeFileAdded`,\n * try to guess file type in a clever way, check file against restrictions,\n * and start an upload if `autoProceed === true`.\n */\n addFile(file) {\n _classPrivateFieldLooseBase(this, _assertNewUploadAllowed)[_assertNewUploadAllowed](file);\n const {\n nextFilesState,\n validFilesToAdd,\n errors\n } = _classPrivateFieldLooseBase(this, _checkAndUpdateFileState)[_checkAndUpdateFileState]([file]);\n const restrictionErrors = errors.filter(error => error.isRestriction);\n _classPrivateFieldLooseBase(this, _informAndEmit)[_informAndEmit](restrictionErrors);\n if (errors.length > 0) throw errors[0];\n this.setState({\n files: nextFilesState\n });\n const [firstValidFileToAdd] = validFilesToAdd;\n this.emit('file-added', firstValidFileToAdd);\n this.emit('files-added', validFilesToAdd);\n this.log(`Added file: ${firstValidFileToAdd.name}, ${firstValidFileToAdd.id}, mime type: ${firstValidFileToAdd.type}`);\n _classPrivateFieldLooseBase(this, _startIfAutoProceed)[_startIfAutoProceed]();\n return firstValidFileToAdd.id;\n }\n\n /**\n * Add multiple files to `state.files`. See the `addFile()` documentation.\n *\n * If an error occurs while adding a file, it is logged and the user is notified.\n * This is good for UI plugins, but not for programmatic use.\n * Programmatic users should usually still use `addFile()` on individual files.\n */\n addFiles(fileDescriptors) {\n _classPrivateFieldLooseBase(this, _assertNewUploadAllowed)[_assertNewUploadAllowed]();\n const {\n nextFilesState,\n validFilesToAdd,\n errors\n } = _classPrivateFieldLooseBase(this, _checkAndUpdateFileState)[_checkAndUpdateFileState](fileDescriptors);\n const restrictionErrors = errors.filter(error => error.isRestriction);\n _classPrivateFieldLooseBase(this, _informAndEmit)[_informAndEmit](restrictionErrors);\n const nonRestrictionErrors = errors.filter(error => !error.isRestriction);\n if (nonRestrictionErrors.length > 0) {\n let message = 'Multiple errors occurred while adding files:\\n';\n nonRestrictionErrors.forEach(subError => {\n message += `\\n * ${subError.message}`;\n });\n this.info({\n message: this.i18n('addBulkFilesFailed', {\n smart_count: nonRestrictionErrors.length\n }),\n details: message\n }, 'error', this.opts.infoTimeout);\n if (typeof AggregateError === 'function') {\n throw new AggregateError(nonRestrictionErrors, message);\n } else {\n const err = new Error(message);\n // @ts-expect-error fallback when AggregateError is not available\n err.errors = nonRestrictionErrors;\n throw err;\n }\n }\n\n // OK, we haven't thrown an error, we can start updating state and emitting events now:\n\n this.setState({\n files: nextFilesState\n });\n validFilesToAdd.forEach(file => {\n this.emit('file-added', file);\n });\n this.emit('files-added', validFilesToAdd);\n if (validFilesToAdd.length > 5) {\n this.log(`Added batch of ${validFilesToAdd.length} files`);\n } else {\n Object.values(validFilesToAdd).forEach(file => {\n this.log(`Added file: ${file.name}\\n id: ${file.id}\\n type: ${file.type}`);\n });\n }\n if (validFilesToAdd.length > 0) {\n _classPrivateFieldLooseBase(this, _startIfAutoProceed)[_startIfAutoProceed]();\n }\n }\n removeFiles(fileIDs, reason) {\n const {\n files,\n currentUploads\n } = this.getState();\n const updatedFiles = {\n ...files\n };\n const updatedUploads = {\n ...currentUploads\n };\n const removedFiles = Object.create(null);\n fileIDs.forEach(fileID => {\n if (files[fileID]) {\n removedFiles[fileID] = files[fileID];\n delete updatedFiles[fileID];\n }\n });\n\n // Remove files from the `fileIDs` list in each upload.\n function fileIsNotRemoved(uploadFileID) {\n return removedFiles[uploadFileID] === undefined;\n }\n Object.keys(updatedUploads).forEach(uploadID => {\n const newFileIDs = currentUploads[uploadID].fileIDs.filter(fileIsNotRemoved);\n\n // Remove the upload if no files are associated with it anymore.\n if (newFileIDs.length === 0) {\n delete updatedUploads[uploadID];\n return;\n }\n const {\n capabilities\n } = this.getState();\n if (newFileIDs.length !== currentUploads[uploadID].fileIDs.length && !capabilities.individualCancellation) {\n throw new Error('The installed uploader plugin does not allow removing files during an upload.');\n }\n updatedUploads[uploadID] = {\n ...currentUploads[uploadID],\n fileIDs: newFileIDs\n };\n });\n const stateUpdate = {\n currentUploads: updatedUploads,\n files: updatedFiles\n };\n\n // If all files were removed - allow new uploads,\n // and clear recoveredState\n if (Object.keys(updatedFiles).length === 0) {\n stateUpdate.allowNewUpload = true;\n stateUpdate.error = null;\n stateUpdate.recoveredState = null;\n }\n this.setState(stateUpdate);\n this.calculateTotalProgress();\n const removedFileIDs = Object.keys(removedFiles);\n removedFileIDs.forEach(fileID => {\n this.emit('file-removed', removedFiles[fileID], reason);\n });\n if (removedFileIDs.length > 5) {\n this.log(`Removed ${removedFileIDs.length} files`);\n } else {\n this.log(`Removed files: ${removedFileIDs.join(', ')}`);\n }\n }\n removeFile(fileID, reason) {\n this.removeFiles([fileID], reason);\n }\n pauseResume(fileID) {\n if (!this.getState().capabilities.resumableUploads || this.getFile(fileID).progress.uploadComplete) {\n return undefined;\n }\n const wasPaused = this.getFile(fileID).isPaused || false;\n const isPaused = !wasPaused;\n this.setFileState(fileID, {\n isPaused\n });\n this.emit('upload-pause', fileID, isPaused);\n return isPaused;\n }\n pauseAll() {\n const updatedFiles = {\n ...this.getState().files\n };\n const inProgressUpdatedFiles = Object.keys(updatedFiles).filter(file => {\n return !updatedFiles[file].progress.uploadComplete && updatedFiles[file].progress.uploadStarted;\n });\n inProgressUpdatedFiles.forEach(file => {\n const updatedFile = {\n ...updatedFiles[file],\n isPaused: true\n };\n updatedFiles[file] = updatedFile;\n });\n this.setState({\n files: updatedFiles\n });\n this.emit('pause-all');\n }\n resumeAll() {\n const updatedFiles = {\n ...this.getState().files\n };\n const inProgressUpdatedFiles = Object.keys(updatedFiles).filter(file => {\n return !updatedFiles[file].progress.uploadComplete && updatedFiles[file].progress.uploadStarted;\n });\n inProgressUpdatedFiles.forEach(file => {\n const updatedFile = {\n ...updatedFiles[file],\n isPaused: false,\n error: null\n };\n updatedFiles[file] = updatedFile;\n });\n this.setState({\n files: updatedFiles\n });\n this.emit('resume-all');\n }\n retryAll() {\n const updatedFiles = {\n ...this.getState().files\n };\n const filesToRetry = Object.keys(updatedFiles).filter(file => {\n return updatedFiles[file].error;\n });\n filesToRetry.forEach(file => {\n const updatedFile = {\n ...updatedFiles[file],\n isPaused: false,\n error: null\n };\n updatedFiles[file] = updatedFile;\n });\n this.setState({\n files: updatedFiles,\n error: null\n });\n this.emit('retry-all', filesToRetry);\n if (filesToRetry.length === 0) {\n return Promise.resolve({\n successful: [],\n failed: []\n });\n }\n const uploadID = _classPrivateFieldLooseBase(this, _createUpload)[_createUpload](filesToRetry, {\n forceAllowNewUpload: true // create new upload even if allowNewUpload: false\n });\n return _classPrivateFieldLooseBase(this, _runUpload)[_runUpload](uploadID);\n }\n cancelAll(_temp) {\n let {\n reason = 'user'\n } = _temp === void 0 ? {} : _temp;\n this.emit('cancel-all', {\n reason\n });\n\n // Only remove existing uploads if user is canceling\n if (reason === 'user') {\n const {\n files\n } = this.getState();\n const fileIDs = Object.keys(files);\n if (fileIDs.length) {\n this.removeFiles(fileIDs, 'cancel-all');\n }\n this.setState(defaultUploadState);\n // todo should we call this.emit('reset-progress') like we do for resetProgress?\n }\n }\n retryUpload(fileID) {\n this.setFileState(fileID, {\n error: null,\n isPaused: false\n });\n this.emit('upload-retry', fileID);\n const uploadID = _classPrivateFieldLooseBase(this, _createUpload)[_createUpload]([fileID], {\n forceAllowNewUpload: true // create new upload even if allowNewUpload: false\n });\n return _classPrivateFieldLooseBase(this, _runUpload)[_runUpload](uploadID);\n }\n logout() {\n this.iteratePlugins(plugin => {\n var _provider;\n ;\n (_provider = plugin.provider) == null || _provider.logout == null || _provider.logout();\n });\n }\n calculateTotalProgress() {\n // calculate total progress, using the number of files currently uploading,\n // multiplied by 100 and the summ of individual progress of each file\n const files = this.getFiles();\n const inProgress = files.filter(file => {\n return file.progress.uploadStarted || file.progress.preprocess || file.progress.postprocess;\n });\n if (inProgress.length === 0) {\n this.emit('progress', 0);\n this.setState({\n totalProgress: 0\n });\n return;\n }\n const sizedFiles = inProgress.filter(file => file.progress.bytesTotal != null);\n const unsizedFiles = inProgress.filter(file => file.progress.bytesTotal == null);\n if (sizedFiles.length === 0) {\n const progressMax = inProgress.length * 100;\n const currentProgress = unsizedFiles.reduce((acc, file) => {\n return acc + file.progress.percentage;\n }, 0);\n const totalProgress = Math.round(currentProgress / progressMax * 100);\n this.setState({\n totalProgress\n });\n return;\n }\n let totalSize = sizedFiles.reduce((acc, file) => {\n var _file$progress$bytesT;\n return acc + ((_file$progress$bytesT = file.progress.bytesTotal) != null ? _file$progress$bytesT : 0);\n }, 0);\n const averageSize = totalSize / sizedFiles.length;\n totalSize += averageSize * unsizedFiles.length;\n let uploadedSize = 0;\n sizedFiles.forEach(file => {\n uploadedSize += file.progress.bytesUploaded;\n });\n unsizedFiles.forEach(file => {\n uploadedSize += averageSize * (file.progress.percentage || 0) / 100;\n });\n let totalProgress = totalSize === 0 ? 0 : Math.round(uploadedSize / totalSize * 100);\n\n // hot fix, because:\n // uploadedSize ended up larger than totalSize, resulting in 1325% total\n if (totalProgress > 100) {\n totalProgress = 100;\n }\n this.setState({\n totalProgress\n });\n this.emit('progress', totalProgress);\n }\n updateOnlineStatus() {\n var _window$navigator$onL;\n const online = (_window$navigator$onL = window.navigator.onLine) != null ? _window$navigator$onL : true;\n if (!online) {\n this.emit('is-offline');\n this.info(this.i18n('noInternetConnection'), 'error', 0);\n this.wasOffline = true;\n } else {\n this.emit('is-online');\n if (this.wasOffline) {\n this.emit('back-online');\n this.info(this.i18n('connectedToInternet'), 'success', 3000);\n this.wasOffline = false;\n }\n }\n }\n getID() {\n return this.opts.id;\n }\n\n /**\n * Registers a plugin with Core.\n */\n use(Plugin, opts) {\n if (typeof Plugin !== 'function') {\n const msg = `Expected a plugin class, but got ${Plugin === null ? 'null' : typeof Plugin}.` + ' Please verify that the plugin was imported and spelled correctly.';\n throw new TypeError(msg);\n }\n\n // Instantiate\n const plugin = new Plugin(this, opts);\n const pluginId = plugin.id;\n if (!pluginId) {\n throw new Error('Your plugin must have an id');\n }\n if (!plugin.type) {\n throw new Error('Your plugin must have a type');\n }\n const existsPluginAlready = this.getPlugin(pluginId);\n if (existsPluginAlready) {\n const msg = `Already found a plugin named '${existsPluginAlready.id}'. ` + `Tried to use: '${pluginId}'.\\n` + 'Uppy plugins must have unique `id` options. See https://uppy.io/docs/plugins/#id.';\n throw new Error(msg);\n }\n\n // @ts-expect-error does exist\n if (Plugin.VERSION) {\n // @ts-expect-error does exist\n this.log(`Using ${pluginId} v${Plugin.VERSION}`);\n }\n if (plugin.type in _classPrivateFieldLooseBase(this, _plugins)[_plugins]) {\n _classPrivateFieldLooseBase(this, _plugins)[_plugins][plugin.type].push(plugin);\n } else {\n _classPrivateFieldLooseBase(this, _plugins)[_plugins][plugin.type] = [plugin];\n }\n plugin.install();\n this.emit('plugin-added', plugin);\n return this;\n }\n\n /**\n * Find one Plugin by name.\n */\n getPlugin(id) {\n for (const plugins of Object.values(_classPrivateFieldLooseBase(this, _plugins)[_plugins])) {\n const foundPlugin = plugins.find(plugin => plugin.id === id);\n if (foundPlugin != null) return foundPlugin;\n }\n return undefined;\n }\n [_Symbol$for](type) {\n return _classPrivateFieldLooseBase(this, _plugins)[_plugins][type];\n }\n\n /**\n * Iterate through all `use`d plugins.\n *\n */\n iteratePlugins(method) {\n Object.values(_classPrivateFieldLooseBase(this, _plugins)[_plugins]).flat(1).forEach(method);\n }\n\n /**\n * Uninstall and remove a plugin.\n *\n * @param {object} instance The plugin instance to remove.\n */\n removePlugin(instance) {\n this.log(`Removing plugin ${instance.id}`);\n this.emit('plugin-remove', instance);\n if (instance.uninstall) {\n instance.uninstall();\n }\n const list = _classPrivateFieldLooseBase(this, _plugins)[_plugins][instance.type];\n // list.indexOf failed here, because Vue3 converted the plugin instance\n // to a Proxy object, which failed the strict comparison test:\n // obj !== objProxy\n const index = list.findIndex(item => item.id === instance.id);\n if (index !== -1) {\n list.splice(index, 1);\n }\n const state = this.getState();\n const updatedState = {\n plugins: {\n ...state.plugins,\n [instance.id]: undefined\n }\n };\n this.setState(updatedState);\n }\n\n /**\n * Uninstall all plugins and close down this Uppy instance.\n */\n // @todo next major: rename to `destroy`.\n // Cancel local uploads, cancel remote uploads, DON'T cancel assemblies\n // document that if you do want to cancel assemblies, you need to call smth manually.\n // Potentially remove reason, as it’s confusing, just come up with a default behaviour.\n close(_temp2) {\n let {\n reason\n } = _temp2 === void 0 ? {} : _temp2;\n this.log(`Closing Uppy instance ${this.opts.id}: removing all files and uninstalling plugins`);\n this.cancelAll({\n reason\n });\n _classPrivateFieldLooseBase(this, _storeUnsubscribe)[_storeUnsubscribe]();\n this.iteratePlugins(plugin => {\n this.removePlugin(plugin);\n });\n if (typeof window !== 'undefined' && window.removeEventListener) {\n window.removeEventListener('online', _classPrivateFieldLooseBase(this, _updateOnlineStatus)[_updateOnlineStatus]);\n window.removeEventListener('offline', _classPrivateFieldLooseBase(this, _updateOnlineStatus)[_updateOnlineStatus]);\n }\n }\n hideInfo() {\n const {\n info\n } = this.getState();\n this.setState({\n info: info.slice(1)\n });\n this.emit('info-hidden');\n }\n\n /**\n * Set info message in `state.info`, so that UI plugins like `Informer`\n * can display the message.\n */\n info(message, type, duration) {\n if (type === void 0) {\n type = 'info';\n }\n if (duration === void 0) {\n duration = 3000;\n }\n const isComplexMessage = typeof message === 'object';\n this.setState({\n info: [...this.getState().info, {\n type,\n message: isComplexMessage ? message.message : message,\n details: isComplexMessage ? message.details : null\n }]\n });\n setTimeout(() => this.hideInfo(), duration);\n this.emit('info-visible');\n }\n\n /**\n * Passes messages to a function, provided in `opts.logger`.\n * If `opts.logger: Uppy.debugLogger` or `opts.debug: true`, logs to the browser console.\n */\n log(message, type) {\n const {\n logger\n } = this.opts;\n switch (type) {\n case 'error':\n logger.error(message);\n break;\n case 'warning':\n logger.warn(message);\n break;\n default:\n logger.debug(message);\n break;\n }\n }\n registerRequestClient(id, client) {\n _classPrivateFieldLooseBase(this, _requestClientById)[_requestClientById].set(id, client);\n }\n\n /** @protected */\n getRequestClientForFile(file) {\n if (!file.remote) throw new Error(`Tried to get RequestClient for a non-remote file ${file.id}`);\n const requestClient = _classPrivateFieldLooseBase(this, _requestClientById)[_requestClientById].get(file.remote.requestClientId);\n if (requestClient == null) throw new Error(`requestClientId \"${file.remote.requestClientId}\" not registered for file \"${file.id}\"`);\n return requestClient;\n }\n\n /**\n * Restore an upload by its ID.\n */\n restore(uploadID) {\n this.log(`Core: attempting to restore upload \"${uploadID}\"`);\n if (!this.getState().currentUploads[uploadID]) {\n _classPrivateFieldLooseBase(this, _removeUpload)[_removeUpload](uploadID);\n return Promise.reject(new Error('Nonexistent upload'));\n }\n return _classPrivateFieldLooseBase(this, _runUpload)[_runUpload](uploadID);\n }\n [_Symbol$for2]() {\n // @ts-expect-error https://github.com/microsoft/TypeScript/issues/47595\n return _classPrivateFieldLooseBase(this, _createUpload)[_createUpload](...arguments);\n }\n /**\n * Add data to an upload's result object.\n */\n addResultData(uploadID, data) {\n if (!_classPrivateFieldLooseBase(this, _getUpload)[_getUpload](uploadID)) {\n this.log(`Not setting result for an upload that has been removed: ${uploadID}`);\n return;\n }\n const {\n currentUploads\n } = this.getState();\n const currentUpload = {\n ...currentUploads[uploadID],\n result: {\n ...currentUploads[uploadID].result,\n ...data\n }\n };\n this.setState({\n currentUploads: {\n ...currentUploads,\n [uploadID]: currentUpload\n }\n });\n }\n /**\n * Start an upload for all the files that are not currently being uploaded.\n */\n upload() {\n var _classPrivateFieldLoo;\n if (!((_classPrivateFieldLoo = _classPrivateFieldLooseBase(this, _plugins)[_plugins]['uploader']) != null && _classPrivateFieldLoo.length)) {\n this.log('No uploader type plugins are used', 'warning');\n }\n let {\n files\n } = this.getState();\n const onBeforeUploadResult = this.opts.onBeforeUpload(files);\n if (onBeforeUploadResult === false) {\n return Promise.reject(new Error('Not starting the upload because onBeforeUpload returned false'));\n }\n if (onBeforeUploadResult && typeof onBeforeUploadResult === 'object') {\n files = onBeforeUploadResult;\n // Updating files in state, because uploader plugins receive file IDs,\n // and then fetch the actual file object from state\n this.setState({\n files\n });\n }\n return Promise.resolve().then(() => _classPrivateFieldLooseBase(this, _restricter)[_restricter].validateMinNumberOfFiles(files)).catch(err => {\n _classPrivateFieldLooseBase(this, _informAndEmit)[_informAndEmit]([err]);\n throw err;\n }).then(() => {\n if (!_classPrivateFieldLooseBase(this, _checkRequiredMetaFields)[_checkRequiredMetaFields](files)) {\n throw new RestrictionError(this.i18n('missingRequiredMetaField'));\n }\n }).catch(err => {\n // Doing this in a separate catch because we already emited and logged\n // all the errors in `checkRequiredMetaFields` so we only throw a generic\n // missing fields error here.\n throw err;\n }).then(() => {\n const {\n currentUploads\n } = this.getState();\n // get a list of files that are currently assigned to uploads\n const currentlyUploadingFiles = Object.values(currentUploads).flatMap(curr => curr.fileIDs);\n const waitingFileIDs = [];\n Object.keys(files).forEach(fileID => {\n const file = this.getFile(fileID);\n // if the file hasn't started uploading and hasn't already been assigned to an upload..\n if (!file.progress.uploadStarted && currentlyUploadingFiles.indexOf(fileID) === -1) {\n waitingFileIDs.push(file.id);\n }\n });\n const uploadID = _classPrivateFieldLooseBase(this, _createUpload)[_createUpload](waitingFileIDs);\n return _classPrivateFieldLooseBase(this, _runUpload)[_runUpload](uploadID);\n }).catch(err => {\n this.emit('error', err);\n this.log(err, 'error');\n throw err;\n });\n }\n}\nfunction _informAndEmit2(errors) {\n for (const error of errors) {\n if (error.isRestriction) {\n this.emit('restriction-failed', error.file, error);\n } else {\n this.emit('error', error, error.file);\n }\n this.log(error, 'warning');\n }\n const userFacingErrors = errors.filter(error => error.isUserFacing);\n\n // don't flood the user: only show the first 4 toasts\n const maxNumToShow = 4;\n const firstErrors = userFacingErrors.slice(0, maxNumToShow);\n const additionalErrors = userFacingErrors.slice(maxNumToShow);\n firstErrors.forEach(_ref2 => {\n let {\n message,\n details = ''\n } = _ref2;\n this.info({\n message,\n details\n }, 'error', this.opts.infoTimeout);\n });\n if (additionalErrors.length > 0) {\n this.info({\n message: this.i18n('additionalRestrictionsFailed', {\n count: additionalErrors.length\n })\n });\n }\n}\nfunction _checkRequiredMetaFieldsOnFile2(file) {\n const {\n missingFields,\n error\n } = _classPrivateFieldLooseBase(this, _restricter)[_restricter].getMissingRequiredMetaFields(file);\n if (missingFields.length > 0) {\n this.setFileState(file.id, {\n missingRequiredMetaFields: missingFields\n });\n this.log(error.message);\n this.emit('restriction-failed', file, error);\n return false;\n }\n return true;\n}\nfunction _checkRequiredMetaFields2(files) {\n let success = true;\n for (const file of Object.values(files)) {\n if (!_classPrivateFieldLooseBase(this, _checkRequiredMetaFieldsOnFile)[_checkRequiredMetaFieldsOnFile](file)) {\n success = false;\n }\n }\n return success;\n}\nfunction _assertNewUploadAllowed2(file) {\n const {\n allowNewUpload\n } = this.getState();\n if (allowNewUpload === false) {\n const error = new RestrictionError(this.i18n('noMoreFilesAllowed'), {\n file\n });\n _classPrivateFieldLooseBase(this, _informAndEmit)[_informAndEmit]([error]);\n throw error;\n }\n}\nfunction _transformFile2(fileDescriptorOrFile) {\n // Uppy expects files in { name, type, size, data } format.\n // If the actual File object is passed from input[type=file] or drag-drop,\n // we normalize it to match Uppy file object\n const file = fileDescriptorOrFile instanceof File ? {\n name: fileDescriptorOrFile.name,\n type: fileDescriptorOrFile.type,\n size: fileDescriptorOrFile.size,\n data: fileDescriptorOrFile\n } : fileDescriptorOrFile;\n const fileType = getFileType(file);\n const fileName = getFileName(fileType, file);\n const fileExtension = getFileNameAndExtension(fileName).extension;\n const id = getSafeFileId(file, this.getID());\n const meta = file.meta || {};\n meta.name = fileName;\n meta.type = fileType;\n\n // `null` means the size is unknown.\n const size = Number.isFinite(file.data.size) ? file.data.size : null;\n return {\n source: file.source || '',\n id,\n name: fileName,\n extension: fileExtension || '',\n meta: {\n ...this.getState().meta,\n ...meta\n },\n type: fileType,\n data: file.data,\n progress: {\n percentage: 0,\n bytesUploaded: 0,\n bytesTotal: size,\n uploadComplete: false,\n uploadStarted: null\n },\n size,\n isGhost: false,\n isRemote: file.isRemote || false,\n // TODO: this should not be a string\n // @ts-expect-error wrong\n remote: file.remote || '',\n preview: file.preview\n };\n}\nfunction _startIfAutoProceed2() {\n if (this.opts.autoProceed && !this.scheduledAutoProceed) {\n this.scheduledAutoProceed = setTimeout(() => {\n this.scheduledAutoProceed = null;\n this.upload().catch(err => {\n if (!err.isRestriction) {\n this.log(err.stack || err.message || err);\n }\n });\n }, 4);\n }\n}\nfunction _checkAndUpdateFileState2(filesToAdd) {\n const {\n files: existingFiles\n } = this.getState();\n\n // create a copy of the files object only once\n const nextFilesState = {\n ...existingFiles\n };\n const validFilesToAdd = [];\n const errors = [];\n for (const fileToAdd of filesToAdd) {\n try {\n var _existingFiles$newFil;\n let newFile = _classPrivateFieldLooseBase(this, _transformFile)[_transformFile](fileToAdd);\n\n // If a file has been recovered (Golden Retriever), but we were unable to recover its data (probably too large),\n // users are asked to re-select these half-recovered files and then this method will be called again.\n // In order to keep the progress, meta and everything else, we keep the existing file,\n // but we replace `data`, and we remove `isGhost`, because the file is no longer a ghost now\n const isGhost = (_existingFiles$newFil = existingFiles[newFile.id]) == null ? void 0 : _existingFiles$newFil.isGhost;\n if (isGhost) {\n const existingFileState = existingFiles[newFile.id];\n newFile = {\n ...existingFileState,\n isGhost: false,\n data: fileToAdd.data\n };\n this.log(`Replaced the blob in the restored ghost file: ${newFile.name}, ${newFile.id}`);\n }\n const onBeforeFileAddedResult = this.opts.onBeforeFileAdded(newFile, nextFilesState);\n if (!onBeforeFileAddedResult && this.checkIfFileAlreadyExists(newFile.id)) {\n throw new RestrictionError(this.i18n('noDuplicates', {\n fileName: newFile.name\n }), {\n file: fileToAdd\n });\n }\n\n // Pass through reselected files from Golden Retriever\n if (onBeforeFileAddedResult === false && !isGhost) {\n // Don’t show UI info for this error, as it should be done by the developer\n throw new RestrictionError('Cannot add the file because onBeforeFileAdded returned false.', {\n isUserFacing: false,\n file: fileToAdd\n });\n } else if (typeof onBeforeFileAddedResult === 'object' && onBeforeFileAddedResult !== null) {\n newFile = onBeforeFileAddedResult;\n }\n _classPrivateFieldLooseBase(this, _restricter)[_restricter].validateSingleFile(newFile);\n\n // need to add it to the new local state immediately, so we can use the state to validate the next files too\n nextFilesState[newFile.id] = newFile;\n validFilesToAdd.push(newFile);\n } catch (err) {\n errors.push(err);\n }\n }\n try {\n // need to run this separately because it's much more slow, so if we run it inside the for-loop it will be very slow\n // when many files are added\n _classPrivateFieldLooseBase(this, _restricter)[_restricter].validateAggregateRestrictions(Object.values(existingFiles), validFilesToAdd);\n } catch (err) {\n errors.push(err);\n\n // If we have any aggregate error, don't allow adding this batch\n return {\n nextFilesState: existingFiles,\n validFilesToAdd: [],\n errors\n };\n }\n return {\n nextFilesState,\n validFilesToAdd,\n errors\n };\n}\nfunction _addListeners2() {\n // Type inference only works for inline functions so we have to type it again\n const errorHandler = (error, file, response) => {\n let errorMsg = error.message || 'Unknown error';\n if (error.details) {\n errorMsg += ` ${error.details}`;\n }\n this.setState({\n error: errorMsg\n });\n if (file != null && file.id in this.getState().files) {\n this.setFileState(file.id, {\n error: errorMsg,\n response\n });\n }\n };\n this.on('error', errorHandler);\n this.on('upload-error', (file, error, response) => {\n errorHandler(error, file, response);\n if (typeof error === 'object' && error.message) {\n var _file$name;\n this.log(error.message, 'error');\n const newError = new Error(this.i18n('failedToUpload', {\n file: (_file$name = file == null ? void 0 : file.name) != null ? _file$name : ''\n })); // we may want a new custom error here\n newError.isUserFacing = true; // todo maybe don't do this with all errors?\n newError.details = error.message;\n if (error.details) {\n newError.details += ` ${error.details}`;\n }\n _classPrivateFieldLooseBase(this, _informAndEmit)[_informAndEmit]([newError]);\n } else {\n _classPrivateFieldLooseBase(this, _informAndEmit)[_informAndEmit]([error]);\n }\n });\n let uploadStalledWarningRecentlyEmitted = null;\n this.on('upload-stalled', (error, files) => {\n const {\n message\n } = error;\n const details = files.map(file => file.meta.name).join(', ');\n if (!uploadStalledWarningRecentlyEmitted) {\n this.info({\n message,\n details\n }, 'warning', this.opts.infoTimeout);\n uploadStalledWarningRecentlyEmitted = setTimeout(() => {\n uploadStalledWarningRecentlyEmitted = null;\n }, this.opts.infoTimeout);\n }\n this.log(`${message} ${details}`.trim(), 'warning');\n });\n this.on('upload', () => {\n this.setState({\n error: null\n });\n });\n const onUploadStarted = files => {\n const filesFiltered = files.filter(file => {\n const exists = file != null && this.getFile(file.id);\n if (!exists) this.log(`Not setting progress for a file that has been removed: ${file == null ? void 0 : file.id}`);\n return exists;\n });\n const filesState = Object.fromEntries(filesFiltered.map(file => [file.id, {\n progress: {\n uploadStarted: Date.now(),\n uploadComplete: false,\n percentage: 0,\n bytesUploaded: 0,\n bytesTotal: file.size\n }\n }]));\n this.patchFilesState(filesState);\n };\n this.on('upload-start', files => {\n files.forEach(file => {\n // todo backward compat, remove this event in a next major\n this.emit('upload-started', file);\n });\n onUploadStarted(files);\n });\n this.on('upload-progress', this.calculateProgress);\n this.on('upload-success', (file, uploadResp) => {\n if (file == null || !this.getFile(file.id)) {\n this.log(`Not setting progress for a file that has been removed: ${file == null ? void 0 : file.id}`);\n return;\n }\n const currentProgress = this.getFile(file.id).progress;\n this.setFileState(file.id, {\n progress: {\n ...currentProgress,\n postprocess: _classPrivateFieldLooseBase(this, _postProcessors)[_postProcessors].size > 0 ? {\n mode: 'indeterminate'\n } : undefined,\n uploadComplete: true,\n percentage: 100,\n bytesUploaded: currentProgress.bytesTotal\n },\n response: uploadResp,\n uploadURL: uploadResp.uploadURL,\n isPaused: false\n });\n\n // Remote providers sometimes don't tell us the file size,\n // but we can know how many bytes we uploaded once the upload is complete.\n if (file.size == null) {\n this.setFileState(file.id, {\n size: uploadResp.bytesUploaded || currentProgress.bytesTotal\n });\n }\n this.calculateTotalProgress();\n });\n this.on('preprocess-progress', (file, progress) => {\n if (file == null || !this.getFile(file.id)) {\n this.log(`Not setting progress for a file that has been removed: ${file == null ? void 0 : file.id}`);\n return;\n }\n this.setFileState(file.id, {\n progress: {\n ...this.getFile(file.id).progress,\n preprocess: progress\n }\n });\n });\n this.on('preprocess-complete', file => {\n if (file == null || !this.getFile(file.id)) {\n this.log(`Not setting progress for a file that has been removed: ${file == null ? void 0 : file.id}`);\n return;\n }\n const files = {\n ...this.getState().files\n };\n files[file.id] = {\n ...files[file.id],\n progress: {\n ...files[file.id].progress\n }\n };\n delete files[file.id].progress.preprocess;\n this.setState({\n files\n });\n });\n this.on('postprocess-progress', (file, progress) => {\n if (file == null || !this.getFile(file.id)) {\n this.log(`Not setting progress for a file that has been removed: ${file == null ? void 0 : file.id}`);\n return;\n }\n this.setFileState(file.id, {\n progress: {\n ...this.getState().files[file.id].progress,\n postprocess: progress\n }\n });\n });\n this.on('postprocess-complete', file => {\n if (file == null || !this.getFile(file.id)) {\n this.log(`Not setting progress for a file that has been removed: ${file == null ? void 0 : file.id}`);\n return;\n }\n const files = {\n ...this.getState().files\n };\n files[file.id] = {\n ...files[file.id],\n progress: {\n ...files[file.id].progress\n }\n };\n delete files[file.id].progress.postprocess;\n this.setState({\n files\n });\n });\n this.on('restored', () => {\n // Files may have changed--ensure progress is still accurate.\n this.calculateTotalProgress();\n });\n\n // @ts-expect-error should fix itself when dashboard it typed (also this doesn't belong here)\n this.on('dashboard:file-edit-complete', file => {\n if (file) {\n _classPrivateFieldLooseBase(this, _checkRequiredMetaFieldsOnFile)[_checkRequiredMetaFieldsOnFile](file);\n }\n });\n\n // show informer if offline\n if (typeof window !== 'undefined' && window.addEventListener) {\n window.addEventListener('online', _classPrivateFieldLooseBase(this, _updateOnlineStatus)[_updateOnlineStatus]);\n window.addEventListener('offline', _classPrivateFieldLooseBase(this, _updateOnlineStatus)[_updateOnlineStatus]);\n setTimeout(_classPrivateFieldLooseBase(this, _updateOnlineStatus)[_updateOnlineStatus], 3000);\n }\n}\nfunction _createUpload2(fileIDs, opts) {\n if (opts === void 0) {\n opts = {};\n }\n // uppy.retryAll sets this to true — when retrying we want to ignore `allowNewUpload: false`\n const {\n forceAllowNewUpload = false\n } = opts;\n const {\n allowNewUpload,\n currentUploads\n } = this.getState();\n if (!allowNewUpload && !forceAllowNewUpload) {\n throw new Error('Cannot create a new upload: already uploading.');\n }\n const uploadID = nanoid();\n this.emit('upload', {\n id: uploadID,\n fileIDs\n });\n this.setState({\n allowNewUpload: this.opts.allowMultipleUploadBatches !== false && this.opts.allowMultipleUploads !== false,\n currentUploads: {\n ...currentUploads,\n [uploadID]: {\n fileIDs,\n step: 0,\n result: {}\n }\n }\n });\n return uploadID;\n}\nfunction _getUpload2(uploadID) {\n const {\n currentUploads\n } = this.getState();\n return currentUploads[uploadID];\n}\nfunction _removeUpload2(uploadID) {\n const currentUploads = {\n ...this.getState().currentUploads\n };\n delete currentUploads[uploadID];\n this.setState({\n currentUploads\n });\n}\nasync function _runUpload2(uploadID) {\n const getCurrentUpload = () => {\n const {\n currentUploads\n } = this.getState();\n return currentUploads[uploadID];\n };\n let currentUpload = getCurrentUpload();\n const steps = [..._classPrivateFieldLooseBase(this, _preProcessors)[_preProcessors], ..._classPrivateFieldLooseBase(this, _uploaders)[_uploaders], ..._classPrivateFieldLooseBase(this, _postProcessors)[_postProcessors]];\n try {\n for (let step = currentUpload.step || 0; step < steps.length; step++) {\n if (!currentUpload) {\n break;\n }\n const fn = steps[step];\n this.setState({\n currentUploads: {\n ...this.getState().currentUploads,\n [uploadID]: {\n ...currentUpload,\n step\n }\n }\n });\n const {\n fileIDs\n } = currentUpload;\n\n // TODO give this the `updatedUpload` object as its only parameter maybe?\n // Otherwise when more metadata may be added to the upload this would keep getting more parameters\n await fn(fileIDs, uploadID);\n\n // Update currentUpload value in case it was modified asynchronously.\n currentUpload = getCurrentUpload();\n }\n } catch (err) {\n _classPrivateFieldLooseBase(this, _removeUpload)[_removeUpload](uploadID);\n throw err;\n }\n\n // Set result data.\n if (currentUpload) {\n // Mark postprocessing step as complete if necessary; this addresses a case where we might get\n // stuck in the postprocessing UI while the upload is fully complete.\n // If the postprocessing steps do not do any work, they may not emit postprocessing events at\n // all, and never mark the postprocessing as complete. This is fine on its own but we\n // introduced code in the @uppy/core upload-success handler to prepare postprocessing progress\n // state if any postprocessors are registered. That is to avoid a \"flash of completed state\"\n // before the postprocessing plugins can emit events.\n //\n // So, just in case an upload with postprocessing plugins *has* completed *without* emitting\n // postprocessing completion, we do it instead.\n currentUpload.fileIDs.forEach(fileID => {\n const file = this.getFile(fileID);\n if (file && file.progress.postprocess) {\n this.emit('postprocess-complete', file);\n }\n });\n const files = currentUpload.fileIDs.map(fileID => this.getFile(fileID));\n const successful = files.filter(file => !file.error);\n const failed = files.filter(file => file.error);\n this.addResultData(uploadID, {\n successful,\n failed,\n uploadID\n });\n\n // Update currentUpload value in case it was modified asynchronously.\n currentUpload = getCurrentUpload();\n }\n // Emit completion events.\n // This is in a separate function so that the `currentUploads` variable\n // always refers to the latest state. In the handler right above it refers\n // to an outdated object without the `.result` property.\n let result;\n if (currentUpload) {\n result = currentUpload.result;\n this.emit('complete', result);\n _classPrivateFieldLooseBase(this, _removeUpload)[_removeUpload](uploadID);\n }\n if (result == null) {\n this.log(`Not setting result for an upload that has been removed: ${uploadID}`);\n }\n return result;\n}\nUppy.VERSION = packageJson.version;\nexport default Uppy;","export default function getFileName(fileType, fileDescriptor) {\n if (fileDescriptor.name) {\n return fileDescriptor.name;\n }\n if (fileType.split('/')[0] === 'image') {\n return `${fileType.split('/')[0]}.${fileType.split('/')[1]}`;\n }\n return 'noname';\n}","let urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\nexport let customAlphabet = (alphabet, defaultSize = 21) => {\n return (size = defaultSize) => {\n let id = ''\n let i = size\n while (i--) {\n id += alphabet[(Math.random() * alphabet.length) | 0]\n }\n return id\n }\n}\nexport let nanoid = (size = 21) => {\n let id = ''\n let i = size\n while (i--) {\n id += urlAlphabet[(Math.random() * 64) | 0]\n }\n return id\n}\n","var n,l,u,t,i,o,r,f,e,c,s,a,h={},p=[],v=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,y=Array.isArray;function d(n,l){for(var u in l)n[u]=l[u];return n}function w(n){var l=n.parentNode;l&&l.removeChild(n)}function _(l,u,t){var i,o,r,f={};for(r in u)\"key\"==r?i=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),\"function\"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return g(l,f,i,o,null)}function g(n,t,i,o,r){var f={type:n,props:t,key:i,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==r?++u:r,__i:-1,__u:0};return null==r&&null!=l.vnode&&l.vnode(f),f}function m(){return{current:null}}function k(n){return n.children}function b(n,l){this.props=n,this.context=l}function x(n,l){if(null==l)return n.__?x(n.__,n.__i+1):null;for(var u;lu&&i.sort(f));P.__r=0}function S(n,l,u,t,i,o,r,f,e,c,s){var a,v,y,d,w,_=t&&t.__k||p,g=l.length;for(u.__d=e,$(u,l,_),e=u.__d,a=0;a0?g(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):i)?(i.__=n,i.__b=n.__b+1,f=L(i,u,r,s),i.__i=f,o=null,-1!==f&&(s--,(o=u[f])&&(o.__u|=131072)),null==o||null===o.__v?(-1==f&&a--,\"function\"!=typeof i.type&&(i.__u|=65536)):f!==r&&(f==r-1?a=f-r:f==r+1?a++:f>r?s>e-r?a+=f-r:a--:f(null!=e&&0==(131072&e.__u)?1:0))for(;r>=0||f=0){if((e=l[r])&&0==(131072&e.__u)&&i==e.key&&o===e.type)return r;r--}if(f2&&(e.children=arguments.length>3?n.call(arguments,2):t),g(l.type,e,i||l.key,o||l.ref,null)}function G(n,l){var u={__c:l=\"__cC\"+a++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,t;return this.getChildContext||(u=[],(t={})[l]=this,this.getChildContext=function(){return t},this.componentWillUnmount=function(){u=null},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(function(n){n.__e=!0,M(n)})},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u&&u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=p.slice,l={__e:function(n,l,u,t){for(var i,o,r;l=l.__;)if((i=l.__c)&&!i.__)try{if((o=i.constructor)&&null!=o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(n)),r=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),r=i.__d),r)return i.__E=i}catch(l){n=l}throw n}},u=0,t=function(n){return null!=n&&null==n.constructor},b.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=d({},this.state),\"function\"==typeof n&&(n=n(d({},u),this.props)),n&&d(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),M(this))},b.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),M(this))},b.prototype.render=k,i=[],r=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,f=function(n,l){return n.__v.__b-l.__v.__b},P.__r=0,e=0,c=F(!1),s=F(!0),a=0;export{b as Component,k as Fragment,E as cloneElement,G as createContext,_ as createElement,m as createRef,_ as h,D as hydrate,t as isValidElement,l as options,B as render,H as toChildArray};\n//# sourceMappingURL=preact.module.js.map\n","import isDOMElement from \"./isDOMElement.js\";\nfunction findDOMElement(element, context) {\n if (context === void 0) {\n context = document;\n }\n if (typeof element === 'string') {\n return context.querySelector(element);\n }\n if (isDOMElement(element)) {\n return element;\n }\n return null;\n}\nexport default findDOMElement;","/**\n * Check if an object is a DOM element. Duck-typing based on `nodeType`.\n */\nexport default function isDOMElement(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n if (!('nodeType' in obj)) return false;\n return obj.nodeType === Node.ELEMENT_NODE;\n}","/**\n * Get the declared text direction for an element.\n */\n\nfunction getTextDirection(element) {\n var _element;\n // There is another way to determine text direction using getComputedStyle(), as done here:\n // https://github.com/pencil-js/text-direction/blob/2a235ce95089b3185acec3b51313cbba921b3811/text-direction.js\n //\n // We do not use that approach because we are interested specifically in the _declared_ text direction.\n // If no text direction is declared, we have to provide our own explicit text direction so our\n // bidirectional CSS style sheets work.\n while (element && !element.dir) {\n // eslint-disable-next-line no-param-reassign\n element = element.parentNode;\n }\n return (_element = element) == null ? void 0 : _element.dir;\n}\nexport default getTextDirection;","function _classPrivateFieldLooseBase(receiver, privateKey) { if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { throw new TypeError(\"attempted to use private field on non-instance\"); } return receiver; }\nvar id = 0;\nfunction _classPrivateFieldLooseKey(name) { return \"__private_\" + id++ + \"_\" + name; }\n/* eslint-disable class-methods-use-this */\nimport { render } from 'preact';\nimport findDOMElement from '@uppy/utils/lib/findDOMElement';\nimport getTextDirection from '@uppy/utils/lib/getTextDirection';\nimport BasePlugin from \"./BasePlugin.js\";\n/**\n * Defer a frequent call to the microtask queue.\n */\nfunction debounce(fn) {\n let calling = null;\n let latestArgs;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n latestArgs = args;\n if (!calling) {\n calling = Promise.resolve().then(() => {\n calling = null;\n // At this point `args` may be different from the most\n // recent state, if multiple calls happened since this task\n // was queued. So we use the `latestArgs`, which definitely\n // is the most recent call.\n return fn(...latestArgs);\n });\n }\n return calling;\n };\n}\n\n/**\n * UIPlugin is the extended version of BasePlugin to incorporate rendering with Preact.\n * Use this for plugins that need a user interface.\n *\n * For plugins without an user interface, see BasePlugin.\n */\nvar _updateUI = /*#__PURE__*/_classPrivateFieldLooseKey(\"updateUI\");\nclass UIPlugin extends BasePlugin {\n constructor() {\n super(...arguments);\n Object.defineProperty(this, _updateUI, {\n writable: true,\n value: void 0\n });\n }\n getTargetPlugin(target // eslint-disable-line no-use-before-define\n ) {\n let targetPlugin;\n if (typeof (target == null ? void 0 : target.addTarget) === 'function') {\n // Targeting a plugin *instance*\n targetPlugin = target;\n if (!(targetPlugin instanceof UIPlugin)) {\n // eslint-disable-next-line no-console\n console.warn(new Error('The provided plugin is not an instance of UIPlugin. This is an indication of a bug with the way Uppy is bundled.', {\n cause: {\n targetPlugin,\n UIPlugin\n }\n }));\n }\n } else if (typeof target === 'function') {\n // Targeting a plugin type\n const Target = target;\n // Find the target plugin instance.\n this.uppy.iteratePlugins(p => {\n if (p instanceof Target) {\n targetPlugin = p;\n }\n });\n }\n return targetPlugin;\n }\n\n /**\n * Check if supplied `target` is a DOM element or an `object`.\n * If it’s an object — target is a plugin, and we search `plugins`\n * for a plugin with same name and return its target.\n */\n mount(target,\n // eslint-disable-line no-use-before-define\n plugin) {\n const callerPluginName = plugin.id;\n const targetElement = findDOMElement(target);\n if (targetElement) {\n this.isTargetDOMEl = true;\n // When target is with a single
element,\n // Preact thinks it’s the Uppy root element in there when doing a diff,\n // and destroys it. So we are creating a fragment (could be empty div)\n const uppyRootElement = document.createElement('div');\n uppyRootElement.classList.add('uppy-Root');\n\n // API for plugins that require a synchronous rerender.\n _classPrivateFieldLooseBase(this, _updateUI)[_updateUI] = debounce(state => {\n // plugin could be removed, but this.rerender is debounced below,\n // so it could still be called even after uppy.removePlugin or uppy.close\n // hence the check\n if (!this.uppy.getPlugin(this.id)) return;\n render(this.render(state), uppyRootElement);\n this.afterUpdate();\n });\n this.uppy.log(`Installing ${callerPluginName} to a DOM element '${target}'`);\n if (this.opts.replaceTargetContent) {\n // Doing render(h(null), targetElement), which should have been\n // a better way, since because the component might need to do additional cleanup when it is removed,\n // stopped working — Preact just adds null into target, not replacing\n targetElement.innerHTML = '';\n }\n render(this.render(this.uppy.getState()), uppyRootElement);\n this.el = uppyRootElement;\n targetElement.appendChild(uppyRootElement);\n\n // Set the text direction if the page has not defined one.\n uppyRootElement.dir = this.opts.direction || getTextDirection(uppyRootElement) || 'ltr';\n this.onMount();\n return this.el;\n }\n const targetPlugin = this.getTargetPlugin(target);\n if (targetPlugin) {\n this.uppy.log(`Installing ${callerPluginName} to ${targetPlugin.id}`);\n this.parent = targetPlugin;\n this.el = targetPlugin.addTarget(plugin);\n this.onMount();\n return this.el;\n }\n this.uppy.log(`Not installing ${callerPluginName}`);\n let message = `Invalid target option given to ${callerPluginName}.`;\n if (typeof target === 'function') {\n message += ' The given target is not a Plugin class. ' + \"Please check that you're not specifying a React Component instead of a plugin. \" + 'If you are using @uppy/* packages directly, make sure you have only 1 version of @uppy/core installed: ' + 'run `npm ls @uppy/core` on the command line and verify that all the versions match and are deduped correctly.';\n } else {\n message += 'If you meant to target an HTML element, please make sure that the element exists. ' + 'Check that the