{"version":3,"file":"static/js/2977.74c36a78.chunk.js","mappings":"8KAAA,ICGWA,EDgBAC,EAAY,SAAUC,EAASC,GACtC,IAAIC,EAAM,EACNC,EAAS,KAUb,OATAF,EAAWG,SAAQ,SAAUC,GACzB,GAAIA,GAAaL,EAAS,CACtB,IAAIM,EAxBD,SAAUN,EAASO,GAC9B,IAAIC,EAAcR,EAAQS,wBACtBC,EAAaH,EAAOE,wBACpBE,EAAMC,KAAKV,IAAIQ,EAAWC,IAAKH,EAAYG,KAC3CE,EAAOD,KAAKV,IAAIQ,EAAWG,KAAML,EAAYK,MAC7CC,EAAQF,KAAKG,IAAIL,EAAWG,KAAOH,EAAWM,MAAOR,EAAYK,KAAOL,EAAYQ,OACpFC,EAASL,KAAKG,IAAIL,EAAWC,IAAMD,EAAWQ,OAAQV,EAAYG,IAAMH,EAAYU,QACpFF,EAAQF,EAAQD,EAChBK,EAASD,EAASN,EACtB,GAAIE,EAAOC,GAASH,EAAMM,EAAQ,CAC9B,IAAIE,EAAaT,EAAWM,MAAQN,EAAWQ,OAC3CE,EAAYZ,EAAYQ,MAAQR,EAAYU,OAC5CG,EAAmBL,EAAQE,EAE/B,OAAOI,QADiBD,GAAoBF,EAAaC,EAAYC,IACrCE,QAAQ,GAC5C,CACA,OAAO,CACX,CAOyBC,CAASxB,EAASK,GAC3BC,EAASJ,IACTA,EAAMI,EACNH,EAASE,EAEjB,CACJ,IACOF,CACX,EEhCIsB,EAAgB,WAChB,IAAIC,EAAKC,QAAUA,OAAOC,UAAUC,UACpC,IAAKH,EACD,OAAO,EAEX,IAAII,GAAU,EACVC,EAAQ,GACRC,EAAa,CACbC,KAAM,uBACNC,OAAQ,+BACRC,OAAQ,yBACRC,MAAO,sCACPC,KAAM,mCACNC,QAAS,kCAEb,IAAK,IAAIC,KAASP,EACd,GAAIA,EAAWQ,eAAeD,KAC1BR,EAAQL,EAAGK,MAAMC,EAAWO,KACjB,EACPT,EAAU,CAAC,GACHS,IAAS,EACjBT,EAAQC,EAAM,GAAGU,cAAcC,MAAM,KAAK,GAAGA,MAAM,KAAK,KAAM,EAC9DZ,EAAQa,QAAUC,SAASC,SAASC,eAAiBf,EAAM,GAAI,IAC/D,KACJ,CAGR,OAAOD,CACX,EAEWiB,EAAc,SAAU/C,GAC/B,OAAOA,GAAUA,EAAQgD,eAAmCrB,OAAOkB,QACvE,EASWI,EAAiB,SAAUjD,GAClC,IAAIkD,EAAqBzB,IACrBoB,EAAWE,EAAY/C,GAC3B,OAAQkD,EAAgBjB,MAAQiB,EAAgBf,OAAUU,EAASM,KAAON,EAASO,eACvF,EAEWC,EAAe,SAAUC,GAChC,GAAIA,GAAMA,EAAGC,WAAuC,kBAAlBD,EAAGC,WAA2BD,EAAGC,UAAUC,QAAQ,sBAAwB,EACzG,OAAO,EAEX,IAAIC,EAAW9B,OAAO+B,iBAAiBJ,EAAI,YAAYG,SACvD,OAAOA,EAASD,QAAQ,SAAW,GAAKC,EAASD,QAAQ,WAAa,CAC1E,EAEWG,EAAsB,SAAUL,GACvC,IAAIM,EAAOX,EAAeK,GAC1B,IAAKA,GAAMA,IAAOT,SAASM,MAAQG,IAAOT,SAASO,gBAC/C,OAAOQ,EAGX,IADA,IAAIC,EAASP,EACNO,GACAA,IAAWhB,SAASM,MACpBU,EAAOC,WAAaC,KAAKC,wBACzBH,EAAOC,WAAaC,KAAKjB,gBACxBO,EAAaQ,IACjBA,EAASA,EAAOI,WAEpB,OAAIJ,GAAWA,IAAWhB,SAASM,MAAQU,EAAOC,WAAaC,KAAKC,uBAG7DH,EAFID,CAGf,GDpEA,SAAW9D,GACPA,EAA4C,aAAI,cAChDA,EAA4C,aAAI,cAChDA,EAA0C,WAAI,YAC9CA,EAA8C,eAAI,gBAClDA,EAA0C,WAAI,YAC9CA,EAA0C,WAAI,YAC9CA,EAAwC,SAAI,UAC5CA,EAA4C,aAAI,cAChDA,EAA2C,YAAI,aAC/CA,EAA0C,WAAI,YAC9CA,EAAyC,UAAI,WAC7CA,EAA4C,aAAI,cAChDA,EAAsC,OAAI,SAC1CA,EAAqC,MAAI,4BACzCA,EAAoC,KAAI,2BACxCA,EAAmC,IAAI,0BACvCA,EAAsC,OAAI,4BAC7C,CAlBD,CAkBGA,IAAkCA,EAAgC,CAAC,IACtE,IAsDIoE,EAAO,WAAc,EAEdC,EAAsB,SAAUC,EAAOC,EAAQC,QACpC,IAAdA,IAAwBA,EAAY,CAAC,GACzC,IAAIC,EAAKD,EAAUE,kBAAmBA,OAA2B,IAAPD,EAAgBL,EAAOK,EAAIE,EAAKH,EAAUI,oBAAqBA,OAA6B,IAAPD,EAAgBP,EAAOO,EAAIE,EAAKL,EAAUM,iBAAkBA,OAA0B,IAAPD,EAAgBT,EAAOS,EAAIE,EAAKP,EAAUQ,eAAgBA,OAAwB,IAAPD,EAAgBX,EAAOW,EAAIE,EAAKT,EAAUU,mBAAoBA,OAA4B,IAAPD,EAAgBb,EAAOa,EAAIE,EAAKX,EAAUY,qBAAsBA,OAA8B,IAAPD,EAAgBf,EAAOe,EAAIE,EAAKb,EAAUc,qBAAsBA,OAA8B,IAAPD,EAAgBjB,EAAOiB,EAAIE,EAAKf,EAAUgB,4BAA6BA,OAAqC,IAAPD,EAAgBnB,EAAOmB,EAClqBE,EAAOlB,EAAOmB,QACdxF,EAAUuF,EAAKvF,QACfyF,EAAOF,EAAKE,KACZC,EAAsBtB,EAAMsB,oBAC5BC,EAA2BvB,EAAMwB,iBACjCC,EA7DoB,SAAUA,EAAOzB,GAAS,OAHnC,SAAUyB,GAAS,MAAO,SAASC,KAAKD,EAAME,KAAO,CAGVC,CAAaH,GACpE,CACCI,MAAOJ,EAAMK,eAAe,GAAGD,MAC/BE,MAAON,EAAMK,eAAe,GAAGC,MAC/BC,QAASP,EAAMK,eAAe,GAAGE,QACjCC,QAASR,EAAMK,eAAe,GAAGG,QACjCC,QAASlC,EAAMmC,aAAaC,EAC5BC,QAASrC,EAAMmC,aAAaG,EAC5BC,QAASvC,EAAMwC,OAAOJ,EACtBK,QAASzC,EAAMwC,OAAOF,EACtBX,KAAMF,EAAME,KACZe,cAAejB,EACfkB,SAAS,EACTC,QAAQ,EACRC,SAAS,EACTC,UAAU,EACVC,SAAS,GAlBG,SAAUtB,GAAS,MAAO,YAAYC,KAAKD,EAAME,KAAO,CAoBtEqB,CAAcvB,GACT,CACCI,MAAO7B,EAAMiD,WAAWb,EACxBL,MAAO/B,EAAMiD,WAAWX,EACxBN,QAAShC,EAAMkD,aAAad,EAC5BH,QAASjC,EAAMkD,aAAaZ,EAC5BJ,QAASlC,EAAMmC,aAAaC,EAC5BC,QAASrC,EAAMmC,aAAaG,EAC5BC,QAASvC,EAAMwC,OAAOJ,EACtBK,QAASzC,EAAMwC,OAAOF,EACtBX,KAAMF,EAAME,KACZe,cAAejB,EACfmB,QAAQ,EACRC,SAAS,EACTC,UAAU,EACVC,SAAS,GAEV,CACClB,MAAOJ,EAAMI,MACbE,MAAON,EAAMM,MACbC,QAASP,EAAMO,QACfC,QAASR,EAAMQ,QACfM,QAASd,EAAMc,QACfE,QAAShB,EAAMgB,QACfP,QAASlC,EAAMmC,aAAaC,EAC5BC,QAASrC,EAAMmC,aAAaG,EAC5BX,KAAMF,EAAME,KACZkB,QAASpB,EAAMoB,QACfC,SAAUrB,EAAMqB,SAChBF,OAAQnB,EAAMmB,OACdG,QAAStB,EAAMsB,QACfL,cAAejB,EACd,CAWG0B,CAAelD,EAAOwB,MAAOzB,GACzC,OAAQyB,EAAME,MACV,KAAKjG,EAA8B0H,aAC/B,GAAI3B,EAAME,OAASjG,EAA8B0H,gBACxC3B,EAAMiB,cAAcW,WACa,IAA/B5B,EAAMiB,cAAcY,QAC3B,MAKR,KAAK5H,EAA8B6H,WAC/B,GAAI9B,EAAME,OAASjG,EAA8B6H,YACzC9B,EAAMiB,cAAcc,OACjB/B,EAAMiB,cAAcc,MAAQ,GAChCxD,EAAMyD,YACT,MAER,KAAK/H,EAA8BgI,YAC/B,GAAIjC,EAAME,OAASjG,EAA8BgI,aACH,IAAvCjC,EAAMiB,cAAciB,QAAQC,OAC/B,MAER,KAAKlI,EAA8BmI,MAC/B,IAAIC,EAAqBvC,GAA4BhC,EAAoBU,EAAOmB,QAAQxF,SACxFsF,EAA4B4C,aAA8BC,OACpD,CAAE3B,EAAG0B,EAAmB5B,QAASI,EAAGwB,EAAmBzB,SACvD,CAAED,EAAG0B,EAAmBE,WAAY1B,EAAGwB,EAAmBG,YAChEnD,EAAqB,CACjBsB,EAAGX,EAAMO,QACTM,EAAGb,EAAMQ,UAEbrB,EAAmB,CACfwB,EAAGX,EAAMI,MACTS,EAAGb,EAAMM,QAEbrB,EAAe,CACX0B,EAAGX,EAAMc,QACTD,EAAGb,EAAMgB,UAEbrC,GAAkB,GACde,EAAK+C,SACL/C,EAAK+C,QAAQzC,GAEjB,MAEJ,KAAK/F,EAA8ByI,OAC/B,GAAI1C,EAAME,OAASjG,EAA8ByI,SAAWnE,EAAMoE,QAC9D,MAEJ,IAAI5C,EAAmBD,GAA4BhC,EAAoB3D,GACnEuG,EAAeX,aAA4BuC,OACzC,CAAE3B,EAAGZ,EAAiBU,QAASI,EAAGd,EAAiBa,SACnD,CAAED,EAAGZ,EAAiBwC,WAAY1B,EAAGd,EAAiByC,WAC5DxC,EAAMS,QAAUC,EAAaC,EAAIpC,EAAMqE,oBAAoBjC,EAC3DX,EAAMY,QAAUF,EAAaG,EAAItC,EAAMqE,oBAAoB/B,EAC3DtB,EAAqB,CACjBoB,EAAGX,EAAMS,QACTI,EAAGb,EAAMY,UAEjB,KAAK3G,EAA8B4I,aAC/B,GAAI7C,EAAME,OAASjG,EAA8B4I,eAAiB7C,EAAMiB,cAAcW,UAClF,MAER,KAAK3H,EAA8B6I,WACnC,KAAK7I,EAA8B8I,WAC/B,GAAI/C,EAAME,OAASjG,EAA8B8I,YAAqD,IAAvC/C,EAAMiB,cAAciB,QAAQC,OACvF,MAER,KAAKlI,EAA8B+I,KAC/B,GAAIzE,EAAMoE,QAAS,CACf,GAAIpE,EAAM0E,YAA2C,WAA7BjD,EAAMiB,cAAcf,MACpC/F,EAAS,CACT,IAAI+I,EAAahG,EAAY/C,GACzBgJ,EAAqBrD,GAA4BhC,EAAoBoF,EAAWE,iBAAiBpD,EAAMO,QAASP,EAAMQ,UACtH6C,ECxFI,SAAUC,EAAQC,EAAQC,GACtD,IAAIC,EAAW,CAAE9C,EAAG,EAAGE,EAAG,GACtB6C,EAAmB,GAavB,OAZIJ,EAASE,EAAKxI,KAAO0I,EACrBD,EAAS9C,IAAM+C,GAAoBJ,EAASE,EAAKxI,OAE5CwI,EAAKvI,MAAQqI,EAASI,IAC3BD,EAAS9C,EAAI+C,GAAoBF,EAAKvI,MAAQqI,IAE9CC,EAASC,EAAK1I,IAAM4I,EACpBD,EAAS5C,IAAM6C,GAAoBH,EAASC,EAAK1I,MAE5C0I,EAAKpI,OAASmI,EAASG,IAC5BD,EAAS5C,EAAI6C,GAAoBF,EAAKpI,OAASmI,IAE5CE,CACX,CDwE0CE,CAAmB3D,EAAMO,QAASP,EAAMQ,QCtElD,SAAU/C,EAAI3B,GAC1C,IAAIiC,EAAOX,EAAeK,GAC1B,GAAIA,IAAOM,EACP,MAAO,CACHjD,IAAKiD,EAAKyE,UACVxH,KAAM+C,EAAKwE,WACXnH,OAAQ2C,EAAKyE,UAAY1G,EAAO8H,YAChC3I,MAAO8C,EAAKwE,WAAazG,EAAO+H,YAIpC,IAAIL,EAAO/F,EAAG7C,wBACd,MAAO,CACHQ,OAAQoI,EAAK1I,IAAM0I,EAAKnI,OACxBJ,MAAOuI,EAAKxI,KAAOwI,EAAKrI,MACxBH,KAAMwI,EAAKxI,KACXF,IAAK0I,EAAK1I,IAGtB,CDmD2FgJ,CAAmBX,EChIvF,SAAUhJ,GAC7B,IAAI6C,EAAWE,EAAY/C,GAC3B,OAAO6C,GACDA,EAAS+G,aACTjI,MACV,CD2HkIkI,CAAU7J,KACpH4E,EAAiB,CACb4B,EAAId,IAA0D,IAAnCA,EAAoBoE,WAAwB,EAAIZ,EAAY1C,EACvFE,EAAIhB,IAAwD,IAAjCA,EAAoBqE,SAAsB,EAAIb,EAAYxC,IAEzFhC,EAAsC,IAAlBwE,EAAYxC,GAA6B,IAAlBwC,EAAY1C,EAC3D,EAECpC,EAAMmB,MAAQA,EAAKyE,aACpBzE,EAAKyE,YAAYnE,GAEjBN,EAAK0E,QACL1E,EAAK0E,OAAOpE,GAEhB,IAAIqE,EAAgBnK,EAAU0F,GAAQzF,EAASoE,EAAM+F,MAAMC,KAAI,SAAUC,GAAQ,OAAOA,GAAQA,EAAKrK,OAAS,IAAGsK,QAAO,SAAUC,GAAK,OAAOA,KAAO9E,GAAQzF,EAAU,KACnKqK,EAAOjG,EAAM+F,MAAMK,MAAK,SAAUH,GAAQ,OAAOA,EAAKrK,UAAYkK,CAAe,IACjFG,GACGH,GClEe,SAAU1D,EAAGE,EAAG+D,GAClD,IAAIpB,EAAOoB,EAAUhK,wBACrB,OAAQ4I,EAAK1I,KAAO+F,GAChB2C,EAAKxI,MAAQ2F,GACbE,GAAK2C,EAAKpI,QACVuF,GAAK6C,EAAKvI,KAClB,CD6DuB4J,CAAyB7E,EAAMO,QAASP,EAAMQ,QAASV,GAA4BhC,EAAoBuG,KACvGA,IAAkBlK,GAChBoE,EAAMiG,MAAQjG,EAAMiG,KAAKrK,WAAakK,GACnC9F,EAAMiG,MAAQjG,EAAMiG,KAAKM,aACzBvG,EAAMiG,KAAKM,YAAY9E,GAEvBwE,EAAKO,aACLP,EAAKO,YAAY/E,IAIjBwE,EAAKQ,YACLR,EAAKQ,WAAWhF,GAInBzB,EAAMiG,MAAQjG,EAAMiG,KAAKM,aAC9BvG,EAAMiG,KAAKM,YAAY9E,EAE/B,CACAX,EAAqB,CACjBsB,EAAGX,EAAMO,QACTM,EAAGb,EAAMQ,UAEbrB,EAAmB,CACfwB,EAAGX,EAAMI,MACTS,EAAGb,EAAMM,QAEb,MAEJ,KAAKrG,EAA8BgL,WAC/B,GAAIjF,EAAME,OAASjG,EAA8BgL,aAAejF,EAAMiB,cAAcW,UAChF,MAER,KAAK3H,EAA8BiL,SAGnC,KAAKjL,EAA8BkL,UAC/B,GAAInF,EAAME,OAASjG,EAA8BkL,WAAoD,IAAvCnF,EAAMiB,cAAciB,QAAQC,OACtF,MAER,KAAKlI,EAA8BmL,IAC/BzG,GAAkB,GAClBE,GAAoB,GACpBU,EAAqB,CAAEoB,EAAG,EAAGE,EAAG,IAC5BnB,EAAK2F,WACL3F,EAAK2F,UAAUrF,GAEfzB,EAAMiG,MAAQjG,EAAMiG,KAAKc,QACzB/G,EAAMiG,KAAKc,OAAOtF,GAElBzB,EAAMmB,MAAQA,EAAK6F,WACnB7F,EAAK6F,UAAUvF,GAEnB,MAEJ,KAAK/F,EAA8BuL,eACnC,KAAKvL,EAA8BwL,aACnC,KAAKxL,EAA8ByL,aACnC,KAAKzL,EAA8B0L,OAC/BhH,GAAkB,GAClBE,GAAoB,GACpBU,EAAqB,CAAEoB,EAAG,EAAGE,EAAG,IAC5BnB,EAAK6F,WACL7F,EAAK6F,UAAUvF,GAEfzB,EAAMiG,MAAQjG,EAAMiG,KAAKM,aACzBvG,EAAMiG,KAAKM,YAAY9E,GAOvC,EE5PWiD,EAAa,SAAUlD,EAAkB6F,GAChD,GAAK7F,EAAL,CAGA,IAAI8F,EACAC,EACa/F,IAAqB3C,EAAe2C,IAEjD8F,EAAgB7I,SAASM,KAAKyI,aAAejK,OAAO8H,YACpDkC,EAAgB9I,SAASM,KAAK0I,YAAclK,OAAO+H,aAGnDgC,EAAgB9F,EAAiBkG,cAAgBlG,EAAiBgG,aAClED,EAAgB/F,EAAiBmG,aAAenG,EAAiBiG,aAErE,IAAIG,EAASpG,EAAiByC,UAAYoD,EAAI/E,EAC1CuF,EAAYP,GAAiBM,EAAS,GAAKA,EAASpG,EAAiBgG,aACrEM,EAAStG,EAAiBwC,WAAaqD,EAAIjF,EAC3C2F,EAAYR,GAAiBO,EAAS,GAAKA,EAAStG,EAAiBiG,YACrEI,EACArG,EAAiByC,WAAaoD,EAAI/E,EAE7BgF,GAAiBM,EAAS,IAC/BpG,EAAiByC,UAAY,GAE7B8D,EACAvG,EAAiBwC,YAAcqD,EAAIjF,EAE9BmF,GAAiBO,EAAS,IAC/BtG,EAAiBwC,WAAa,EA1BlC,CA4BJ,C,kCCjCA,SACI,OAAU,SACV,OAAU,SACV,OAAU,SACV,KAAQ,OACR,MAAS,QACT,IAAO,M,kCCNX,SACI,IAAO,MACP,KAAQ,OACR,KAAQ,O,kCCAL,IAAIgE,EAAa,WAEpB,IADA,IAAIC,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUvE,OAAQsE,IACpCD,EAAKC,GAAMC,UAAUD,GAEzB,IAAInM,EAAS,CAAC,EAOVqM,EAAU,SAAUC,GAAQ,OAAOA,EAClCnC,QAAO,SAAUoC,GAAO,OAAe,IAARA,KAAkBA,CAAK,IACtDtC,KAAI,SAAUsC,GACf,OAAOC,MAAMC,QAAQF,GACjBF,EAAQE,GAVE,SAAUA,GAAO,MAAsB,kBAARA,EAAmBG,OAC/DC,KAAKJ,GACLtM,SAAQ,SAAU2M,GACnB5M,EAAO4M,GAAOL,EAAIK,EACtB,IAAK5M,EAAOuM,IAAO,CAAM,CAOjBM,CAAYN,EACpB,GAAI,EAGJ,OADAF,EAAQH,GACDQ,OACFC,KAAK3M,GACLiK,KAAI,SAAU2C,GAAO,OAAQ5M,EAAO4M,IAAQA,GAAQ,IAAM,IAC1DzC,QAAO,SAAUhH,GAAM,OAAc,OAAPA,CAAa,IAC3C2J,KAAK,IACd,C,+CCzBO,SAASC,EAAgBC,GAC5B,GAAyB,qBAAdC,EACPA,EAAAA,gBAA0BD,OAEzB,CACD,IAAIE,EAAU,iCAAiCC,OAAOH,EAAgBI,KAAM,MAC5EF,GAAW,wDACXA,GAAW,OAAOC,OAAOH,EAAgBK,iBAAkB,4BAC3DC,QAAQC,KAAKL,EACjB,CACJ,C,0DCTWM,EAA0B,WAAc,OAAOC,EAAAA,WAAiBC,EAAAA,GAAsBC,IAAM,C,0DCA5FC,EAAkB,WAAc,OAAOH,EAAAA,WAAiBC,EAAAA,GAAsBG,YAAc,C,gGCIhG,SAASC,EAAmBC,GAI/B,IAAIC,EAAUD,EAAUC,QACxB,OAAOA,GAAWA,EAAQL,KACpBK,EAAQL,KACR,IAAIM,EAAAA,EAAY,KAC1B,CAMO,SAASC,EAA2BH,GAIvC,IAAIC,EAAUD,EAAUC,QACxB,OAAOA,GAAWA,EAAQH,aACpBG,EAAQH,aACR,IAAIM,EAAAA,CACd,CAMO,SAASC,EAAgBL,GAC5BA,EAAUM,YAAcX,EAAAA,CAC5B,CAMO,SAASY,EAAwBP,GACpCA,EAAUM,YAAcX,EAAAA,CAC5B,C,u7CC5CWa,EAAmB,SAAU7L,GACpC,GAAKA,EAAL,CAGA,IAAI8L,EAAgB9L,EAAS8L,cACzBC,EAA+B,OAAlBD,QAA4C,IAAlBA,OAA2B,EAASA,EAAcC,WAC7F,OAAOA,EAAaA,EAAWD,cAAgBA,CAH/C,CAIJ,E,UCPWvC,EAAa,WAEpB,IADA,IAAIC,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUvE,OAAQsE,IACpCD,EAAKC,GAAMC,UAAUD,GAEzB,IAAInM,EAAS,CAAC,EAOVqM,EAAU,SAAUC,GAAQ,OAAOA,EAClCnC,QAAO,SAAUoC,GAAO,OAAe,IAARA,KAAkBA,CAAK,IACtDtC,KAAI,SAAUsC,GACf,OAAOC,MAAMC,QAAQF,GACjBF,EAAQE,GAVE,SAAUA,GAAO,MAAsB,kBAARA,EAAmBG,OAC/DC,KAAKJ,GACLtM,SAAQ,SAAU2M,GACnB5M,EAAO4M,GAAOL,EAAIK,EACtB,IAAK5M,EAAOuM,IAAO,CAAM,CAOjBM,CAAYN,EACpB,GAAI,EAGJ,OADAF,EAAQH,GACDQ,OACFC,KAAK3M,GACLiK,KAAI,SAAU2C,GAAO,OAAQ5M,EAAO4M,IAAQA,GAAQ,IAAM,IAC1DzC,QAAO,SAAUhH,GAAM,OAAc,OAAPA,CAAa,IAC3C2J,KAAK,IACd,EC1BW4B,EAAe,CACtB,QAAW,GACX,OAAU,YACV,MAAS,YACT,OAAU,YACV,MAAS,YACT,OAAU,YACV,QAAW,aACX,SAAY,eCPLC,EAAa,SAAUC,GAAa,OAAOA,EAAUC,QAAQ,QAAS,GAAK,EAQ3EC,EAAkBC,EAAAA,MAAgB,CACzC3B,KAAM2B,EAAAA,OAAAA,WACNC,QAASD,EAAAA,OAAAA,WACTE,QAASF,EAAAA,OAAAA,aCfTG,EAAsC,WAStC,OARAA,EAAWxC,OAAOyC,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAInD,UAAUvE,OAAQyH,EAAIC,EAAGD,IAE5C,IAAK,IAAIE,KADTH,EAAIjD,UAAUkD,GACO5C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,KACzDJ,EAAEI,GAAKH,EAAEG,IAEjB,OAAOJ,CACX,EACOF,EAASS,MAAMC,KAAMxD,UAChC,EACIyD,EAAkC,SAAUR,EAAGS,GAC/C,IAAIV,EAAI,CAAC,EACT,IAAK,IAAII,KAAKH,EAAO3C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,IAAMM,EAAEzM,QAAQmM,GAAK,IAC9EJ,EAAEI,GAAKH,EAAEG,IACb,GAAS,MAALH,GAAqD,oBAAjC3C,OAAOqD,sBACtB,KAAIT,EAAI,EAAb,IAAgBE,EAAI9C,OAAOqD,sBAAsBV,GAAIC,EAAIE,EAAE3H,OAAQyH,IAC3DQ,EAAEzM,QAAQmM,EAAEF,IAAM,GAAK5C,OAAO+C,UAAUO,qBAAqBN,KAAKL,EAAGG,EAAEF,MACvEF,EAAEI,EAAEF,IAAMD,EAAEG,EAAEF,IAF4B,CAItD,OAAOF,CACX,EAmBWa,EAAOxC,EAAAA,YAAiB,SAAUyC,EAAOC,GAChD,IAAI/M,EAAY8M,EAAM9M,UAAWgK,EAAO8C,EAAM9C,KAAMgD,EAAaF,EAAME,WAAYC,EAAOH,EAAMG,KAAMC,EAAOJ,EAAMI,KAAMC,EAAQL,EAAMK,MAAOC,EAAKN,EAAMM,GAAIC,EAAWP,EAAMO,SAAUC,EAASb,EAAOK,EAAO,CAAC,YAAa,OAAQ,aAAc,OAAQ,OAAQ,QAAS,KAAM,aAC9Q9P,EAASqN,EAAAA,OAAa,MACtBkD,EAAalD,EAAAA,OAAa,MAC9BA,EAAAA,oBAA0BrN,GAAQ,WAAc,MAAQ,CACpDP,QAAS8Q,EAAWC,QACpB,IACJnD,EAAAA,oBAA0B0C,GAAK,WAAc,OAAO/P,EAAOwQ,OAAS,IACpE,IAAIC,EAAWpD,EAAAA,SAAc,WAAc,OAAO4C,GAAQS,EAAaT,IAAM,GAAG,CAACA,IAC7EU,EAAWtD,EAAAA,SAAc,WAAc,OAAO6C,GAAQQ,EAAaR,IAAM,GAAG,CAACA,IAC7EU,EAAiBvD,EAAAA,SAAc,WAC/B,IAAIrJ,EACJ,OAAO6H,EAAW,SAAUmB,GD5CX,SAAUA,GAAQ,MAAO,OAASA,CAAM,CC4CrB6D,CAAY7D,KAAQhJ,EAAK,CAAC,GACvD,WAAW+I,OAAOiD,IAAeA,EACpChM,EAAG,YAA2B,eAAb2M,GAA0C,SAAbA,EAC9C3M,EAAG,YAA2B,aAAb2M,GAAwC,SAAbA,EAC5C3M,GAAKsK,EAAamC,GAAWzN,EACrC,GAAG,CAACgK,EAAMgD,EAAYS,EAAUE,EAAU3N,IACtC8N,ECtDc,SAAUhB,EAAO9P,EAAQ+Q,QAC5B,IAAXA,IAAqBA,EAAS,CAAC,GACnC,IAAIC,EAAkB3D,EAAAA,aAAkB,SAAU/H,GAC1CyL,EAAOE,aACPF,EAAOE,YAAY3B,UAAK4B,EAAW5L,GAEnCwK,EAAMmB,aACNnB,EAAMmB,YAAY3B,UAAK4B,EAAW,CAC9BlR,OAAQA,EAAOwQ,QACfW,eAAgB7L,GAG5B,GAAG,CAACyL,EAAOE,YAAanB,EAAMmB,YAAajR,IACvCoR,EAAgB/D,EAAAA,aAAkB,SAAU/H,GACxCyL,EAAOM,WACPN,EAAOM,UAAU/B,UAAK4B,EAAW5L,GAEjCwK,EAAMuB,WACNvB,EAAMuB,UAAU/B,UAAK4B,EAAW,CAC5BlR,OAAQA,EAAOwQ,QACfW,eAAgB7L,GAG5B,GAAG,CAACyL,EAAOM,UAAWvB,EAAMuB,UAAWrR,IA8EvC,MAAO,CACHsR,QA9EcjE,EAAAA,aAAkB,SAAU/H,GACtCyL,EAAOO,SACPP,EAAOO,QAAQhC,UAAK4B,EAAW5L,GAE/BwK,EAAMwB,SACNxB,EAAMwB,QAAQhC,UAAK4B,EAAW,CAC1BlR,OAAQA,EAAOwQ,QACfW,eAAgB7L,GAG5B,GAAG,CAACyL,EAAOO,QAASxB,EAAMwB,QAAStR,IAqE/BqR,UAAWD,EACXH,YAAaD,EACbO,cAtEoBlE,EAAAA,aAAkB,SAAU/H,GAC5CyL,EAAOQ,eACPR,EAAOQ,cAAcjC,UAAK4B,EAAW5L,GAErCwK,EAAMyB,eACNzB,EAAMyB,cAAcjC,UAAK4B,EAAW,CAChClR,OAAQA,EAAOwQ,QACfW,eAAgB7L,GAG5B,GAAG,CAACyL,EAAOQ,cAAezB,EAAMyB,cAAevR,IA6D3CwR,aA5DmBnE,EAAAA,aAAkB,SAAU/H,GAC3CyL,EAAOS,cACPT,EAAOS,aAAalC,UAAK4B,EAAW5L,GAEpCwK,EAAM0B,cACN1B,EAAM0B,aAAalC,UAAK4B,EAAW,CAC/BlR,OAAQA,EAAOwQ,QACfW,eAAgB7L,GAG5B,GAAG,CAACyL,EAAOS,aAAc1B,EAAM0B,aAAcxR,IAmDzCyR,aAlDmBpE,EAAAA,aAAkB,SAAU/H,GAC3CyL,EAAOU,cACPV,EAAOU,aAAanC,UAAK4B,EAAW5L,GAEpCwK,EAAM2B,cACN3B,EAAM2B,aAAanC,UAAK4B,EAAW,CAC/BlR,OAAQA,EAAOwQ,QACfW,eAAgB7L,GAG5B,GAAG,CAACyL,EAAOU,aAAc3B,EAAM2B,aAAczR,IAyCzC0R,YAxCkBrE,EAAAA,aAAkB,SAAU/H,GAC1CyL,EAAOW,aACPX,EAAOW,YAAYpC,UAAK4B,EAAW5L,GAEnCwK,EAAM4B,aACN5B,EAAM4B,YAAYpC,UAAK4B,EAAW,CAC9BlR,OAAQA,EAAOwQ,QACfW,eAAgB7L,GAG5B,GAAG,CAACyL,EAAOW,YAAa5B,EAAM4B,YAAa1R,IA+BvC2R,WA9BiBtE,EAAAA,aAAkB,SAAU/H,GACzCyL,EAAOY,YACPZ,EAAOY,WAAWrC,UAAK4B,EAAW5L,GAElCwK,EAAM6B,YACN7B,EAAM6B,WAAWrC,UAAK4B,EAAW,CAC7BlR,OAAQA,EAAOwQ,QACfW,eAAgB7L,GAG5B,GAAG,CAACyL,EAAOY,WAAY7B,EAAM6B,WAAY3R,IAqBrC4R,YApBkBvE,EAAAA,aAAkB,SAAU/H,GAC1CyL,EAAOa,aACPb,EAAOa,YAAYtC,UAAK4B,EAAW5L,GAEnCwK,EAAM8B,aACN9B,EAAM8B,YAAYtC,UAAK4B,EAAW,CAC9BlR,OAAQA,EAAOwQ,QACfW,eAAgB7L,GAG5B,GAAG,CAACyL,EAAOa,YAAa9B,EAAM8B,YAAa5R,IAY/C,CD1DqB6R,CAAS/B,EAAO9P,GACjC,OAAQqN,EAAAA,cAAoB,OAAQyB,EAAS,CAAEiB,IAAKQ,GAAcD,EAAQQ,EAAY,CAAE9N,UAAW4N,EAAgBR,GAAIA,EAAIC,SAAUA,EAAUF,MAAOA,EAAO2B,KAAM,iBACvK,IACAjC,EAAKkC,UAAY,CACb5B,MAAOxB,EAAAA,OACP9C,WAAY8C,EAAAA,OACZ3B,KAAM2B,EAAAA,OACNqB,WAAYrB,EAAAA,MAAgB,CACxB,UAAW,UAAW,YAAa,WACnC,OAAQ,UAAW,QAAS,UAC5B,OAAQ,QAAS,YAErBsB,KAAMtB,EAAAA,MAAgB,CAAC,UAAW,SAAU,QAAS,SAAU,QAAS,SAAU,UAAW,aAC7FuB,KAAMvB,EAAAA,MAAgB,CAAC,UAAW,aAAc,WAAY,UAEhE,IAAI+B,EAAe,CACfT,KAAM,UACNC,KAAM,WAEVL,EAAKmC,YAAc,YE7EnB,IAAIlD,EAAsC,WAStC,OARAA,EAAWxC,OAAOyC,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAInD,UAAUvE,OAAQyH,EAAIC,EAAGD,IAE5C,IAAK,IAAIE,KADTH,EAAIjD,UAAUkD,GACO5C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,KACzDJ,EAAEI,GAAKH,EAAEG,IAEjB,OAAOJ,CACX,EACOF,EAASS,MAAMC,KAAMxD,UAChC,EACIyD,EAAkC,SAAUR,EAAGS,GAC/C,IAAIV,EAAI,CAAC,EACT,IAAK,IAAII,KAAKH,EAAO3C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,IAAMM,EAAEzM,QAAQmM,GAAK,IAC9EJ,EAAEI,GAAKH,EAAEG,IACb,GAAS,MAALH,GAAqD,oBAAjC3C,OAAOqD,sBACtB,KAAIT,EAAI,EAAb,IAAgBE,EAAI9C,OAAOqD,sBAAsBV,GAAIC,EAAIE,EAAE3H,OAAQyH,IAC3DQ,EAAEzM,QAAQmM,EAAEF,IAAM,GAAK5C,OAAO+C,UAAUO,qBAAqBN,KAAKL,EAAGG,EAAEF,MACvEF,EAAEI,EAAEF,IAAMD,EAAEG,EAAEF,IAF4B,CAItD,OAAOF,CACX,EAoBWiD,EAAU5E,EAAAA,YAAiB,SAAUyC,EAAOC,GACnD,IAAImC,EAAWpC,EAAMoC,SAAUlP,EAAY8M,EAAM9M,UAAWmP,EAAerC,EAAMqC,aAAcC,EAAOtC,EAAMsC,KAAMlC,EAAOJ,EAAMI,KAAME,EAAKN,EAAMM,GAAIC,EAAWP,EAAMO,SAAUJ,EAAOH,EAAMG,KAAME,EAAQL,EAAMK,MAAOkC,EAAWvC,EAAMuC,SAAUrC,EAAaF,EAAME,WAAYnB,EAAUiB,EAAMjB,QAA4ByB,GAAZR,EAAM9C,KAAeyC,EAAOK,EAAO,CAAC,WAAY,YAAa,eAAgB,OAAQ,OAAQ,KAAM,WAAY,OAAQ,QAAS,WAAY,aAAc,UAAW,UACldS,EAAalD,EAAAA,OAAa,MAC9BA,EAAAA,oBAA0B0C,GAAK,WAAc,MAAQ,CACjDtQ,QAAS8Q,EAAWC,QACpB,IACJ,IAAI8B,EAAejF,EAAAA,SAAc,WAAc,OAAO+E,EAAOA,EAAKpF,KAAO0D,EAAa0B,IAAM,GAAG,CAACA,IAC5F3B,EAAWpD,EAAAA,SAAc,WAAc,OAAO4C,GAAQS,EAAaT,IAAM,GAAG,CAACA,IAC7EU,EAAWtD,EAAAA,SAAc,WAAc,OAAO6C,GAAQQ,EAAaR,IAAM,GAAG,CAACA,IAC7EqC,EAAclF,EAAAA,SAAc,WAAc,OAAOwB,GAAW6B,EAAa7B,OAAS,GAAG,CAACA,IACtF2D,EAAoBnF,EAAAA,SAAc,WAClC,IAAIrJ,EACJ,OAAO6H,EAAW,aAAc,WAAayG,IAAetO,EAAK,CAAC,GAC3D,WAAW+I,OAAOiD,IAAeA,EACpChM,EAAG,YAA2B,eAAb2M,GAA0C,SAAbA,EAC9C3M,EAAG,YAA2B,aAAb2M,GAAwC,SAAbA,EAC5C3M,GAAKsK,EAAamC,GAAWzN,EACrC,GAAG,CAACsP,EAActC,EAAYS,EAAUE,EAAU3N,IAC9CyP,EAAepF,EAAAA,SAAc,WAC7B,OAAIyC,EAAMrP,OAASqP,EAAMnP,OACdmO,EAAS,CAAErO,MAAOqP,EAAMrP,MAAOE,OAAQmP,EAAMnP,QAAUwP,GAEzDL,EAAMrP,MACJqO,EAAS,CAAErO,MAAOqP,EAAMrP,MAAOE,OAAQmP,EAAMrP,OAAS0P,GAExDL,EAAMnP,OACJmO,EAAS,CAAErO,MAAOqP,EAAMnP,OAAQA,OAAQmP,EAAMnP,QAAUwP,GAGxDrB,EAAS,CAAC,EAAGqB,EAE5B,GAAG,CAACL,EAAMrP,MAAOqP,EAAMnP,OAAQwP,IAC/B,OAAQ9C,EAAAA,cAAoB,OAAQ,CAAErK,UAAWwP,EAAmBrC,MAAOsC,EAAc1C,IAAKQ,GAC1FlD,EAAAA,cAAoB,MAAOyB,EAAS,CAAEsB,GAAIA,EAAIpN,UAAWmP,EAAchC,MAAOkC,EAAU,eAAe,EAAMhC,SAAUA,EAAUqC,WAAW,EAAOC,MAAO,6BAA8B9D,QAASuD,EAAOA,EAAKvD,QAAU0D,EAAaK,wBAAyBR,EAAO,CAAES,OAAQT,EAAKxD,cAAYsC,GAAaZ,GAAS8B,OAAOlB,EAAYgB,GAChV,IACAD,EAAQF,UAAY,CAChB5B,MAAOxB,EAAAA,OACP9C,WAAY8C,EAAAA,OACZuD,SAAUvD,EAAAA,IACVyD,KAAMzD,EAAAA,OACNqB,WAAYrB,EAAAA,MAAgB,CACxB,UAAW,UAAW,YAAa,WACnC,OAAQ,UAAW,QAAS,UAC5B,OAAQ,QAAS,YAErBsB,KAAMtB,EAAAA,MAAgB,CAAC,UAAW,SAAU,QAAS,SAAU,QAAS,SAAU,UAAW,aAC7FuB,KAAMvB,EAAAA,MAAgB,CAAC,UAAW,aAAc,WAAY,UAEhE,IAAI+B,EAAe,CACfT,KAAM,UACNC,KAAM,UACNkC,KAAM,GACNvD,QAAS,aAEboD,EAAQD,YAAc,eC1Ff,IAAIc,EAAezF,EAAAA,cAAoB,CAAE7H,KAAM,QACtDsN,EAAad,YAAc,yBCN3B,IAAIlD,EAAsC,WAStC,OARAA,EAAWxC,OAAOyC,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAInD,UAAUvE,OAAQyH,EAAIC,EAAGD,IAE5C,IAAK,IAAIE,KADTH,EAAIjD,UAAUkD,GACO5C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,KACzDJ,EAAEI,GAAKH,EAAEG,IAEjB,OAAOJ,CACX,EACOF,EAASS,MAAMC,KAAMxD,UAChC,EACIyD,EAAkC,SAAUR,EAAGS,GAC/C,IAAIV,EAAI,CAAC,EACT,IAAK,IAAII,KAAKH,EAAO3C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,IAAMM,EAAEzM,QAAQmM,GAAK,IAC9EJ,EAAEI,GAAKH,EAAEG,IACb,GAAS,MAALH,GAAqD,oBAAjC3C,OAAOqD,sBACtB,KAAIT,EAAI,EAAb,IAAgBE,EAAI9C,OAAOqD,sBAAsBV,GAAIC,EAAIE,EAAE3H,OAAQyH,IAC3DQ,EAAEzM,QAAQmM,EAAEF,IAAM,GAAK5C,OAAO+C,UAAUO,qBAAqBN,KAAKL,EAAGG,EAAEF,MACvEF,EAAEI,EAAEF,IAAMD,EAAEG,EAAEF,IAF4B,CAItD,OAAOF,CACX,EAQW+D,EAAW1F,EAAAA,YAAiB,SAAUyC,EAAOC,GACpD,IAAI/L,EACAE,EAAKmJ,EAAAA,WAAiByF,GAAetN,EAAOtB,EAAGsB,KAAMwN,EAAQ9O,EAAG8O,MAChEZ,EAAOtC,EAAMsC,KAAMa,EAAgBxD,EAAOK,EAAO,CAAC,SAClD9C,GAA8B,QAArBhJ,EAAK8L,EAAMsC,YAAyB,IAAPpO,OAAgB,EAASA,EAAGgJ,OAAS8C,EAAM9C,KACjFkG,EAAOlG,GAAQgG,GAASA,EAAMhG,IAAgC,kBAAhBgG,EAAMhG,GAAsBgG,EAAMhG,GAAQoF,EAE5F,OADApF,EAAQA,GAAQgG,GAASA,EAAMhG,IAAgC,kBAAhBgG,EAAMhG,GAAsBgG,EAAMhG,GAAQA,EACxE,QAATxH,GAAkB0N,EACtB7F,EAAAA,cAAoB4E,EAASnD,EAAS,CAAC,EAAGgB,EAAO,CAAEsC,KAAMc,EAAKnD,IAAKA,KACnE1C,EAAAA,cAAoBwC,EAAMf,EAAS,CAAC,EAAGmE,EAAe,CAAEjG,KAAMA,EAAM+C,IAAKA,IACjF,IACAgD,EAASf,YAAc,gB,cCrCZmB,EAAW,GAIXC,EAA0B,IAI1BC,EAAY,IAIhB,SAASC,EAAYC,EAAQC,GAChC,GAAIC,EAAcF,GACd,OAAOC,EAAMzS,OAAOwS,IAGpB,IAAIG,EAAiBF,EAAMzS,OAAO4S,EAAgBJ,KAClD,OAAOG,EAAeF,MAClBF,EAYL,SAAkCC,GACrC,GAAIK,EAAqBL,GACrB,OAAOA,EAGP,IAAIM,EAAsBN,EAAOtQ,QAAQoQ,GACzC,OAAOE,EAAOO,UAAUD,EAAsB,EAEtD,CApBwBE,CAAyBR,GAASG,EAAeF,YAAStC,CAElF,CAIO,SAASyC,EAAgBJ,GAC5B,OAAOK,EAAqBL,GAAUA,EAASA,EAAOpR,MAAMkR,GAAW,EAC3E,CAgBO,SAASW,EAAgBT,GAC5B,OAAOU,EAAS,IAAKV,EACzB,CAgBO,SAASU,EAASC,EAASC,GAC9B,OAAOA,EAAWA,EAAWd,EAAYa,EAAUA,CACvD,CAIO,SAASE,EAAkBb,GAC9B,IAAIc,EAAqBd,EAAOe,YAAYjB,GAC5C,OAAOgB,EAAqB,EAAIlB,EAAWI,EAAOO,UAAU,EAAGO,EACnE,CAIO,SAAST,EAAqBL,GACjC,OAAOA,IAAWJ,GAAYI,EAAOtQ,QAAQoQ,GAAa,CAC9D,CAIO,SAASI,EAAcF,GAC1B,OAAOA,IAAWJ,GAAYI,EAAOtQ,QAAQoQ,GAAa,CAC9D,CAIO,SAASkB,EAAehB,GAC3B,OAA0C,IA0B9C,SAAgCA,GAC5B,OAAOA,EAAOpR,MAAMkR,GAAW5L,OAAS,CAC5C,CA5BW+M,CAAuBjB,EAClC,CAUO,SAASkB,EAAWlB,GACvB,IAAIc,EAAqBd,EAAOe,YAAYjB,GAC5C,OAAOgB,EAAqB,EAAId,EAASA,EAAOO,UAAUO,EAAqB,EACnF,CAIO,SAASK,EAA+BC,EAAMC,EAAaC,GAC9D,OAAKpB,EAAcmB,GAGZD,EACH5T,OAAO6T,GAAeC,EAAgB,GAAK9T,OAAO6T,GAAe,GAAGE,WAAa,IACjF/T,OAAO6T,GAAe,GAAK7T,OAAO6T,GAAe,GAAGE,YAAcD,EAAgB,GAAGC,WAJ9EF,CAKf,CChHA,IAAIG,EAAc,CACdvL,SAAU,MACVD,WAAY,QAKZyL,EAAkB,CAClBxL,SAAU,MACVD,WAAY,SAKZ0L,EAAqB,CACrBzL,SAAU,OACVD,WAAY,OAKZ2L,EAAuB,CACvB1L,SAAU,MACVD,WAAY,QAKL4L,EAAqB,CAC5BC,SAAU,CACNC,YAAa,CACT7L,SAAU,SACVD,WAAY,SAEhB+L,WAAYN,EACZO,UAAWN,GAEfO,SAAU,CACNH,YAAa,CACT7L,SAAU,MACVD,WAAY,QAEhB+L,WAAYN,EACZO,UAAWL,IAMRO,EAAiB,CACxBL,SAAU,CACNC,YAAa,CACT7L,SAAU,SACVD,WAAY,QAEhB+L,WAAYP,EACZQ,UAAWN,GAEfS,UAAW,CACPL,YAAa,CACT7L,SAAU,MACVD,WAAY,SAEhB+L,WAAYP,EACZQ,UAAWL,IClDZ,SAASS,EAAoBpC,EAAQqC,EAAgBC,GACxD,OAAIpC,EAAcF,GACVqC,EACOC,EAAyB,WAAa,YAGtC,WAIJA,EAAyB,WAAa,WAErD,CAIO,SAASC,EAA6BD,GACzC,OAAOA,EAAyB,MAAQ,KAC5C,CAIO,SAASE,EAAgBC,EAAUzC,GACtC,MAAO,GAAGxG,OAAOiJ,EAAU,KAAKjJ,OAAOwG,EAC3C,CCzCA,IAAI0C,EAAyC,WACzC,IAAIC,EAAgB,SAAUlM,EAAGmM,GAI7B,OAHAD,EAAgB5J,OAAO8J,gBAClB,CAAEC,UAAW,cAAgBjK,OAAS,SAAUpC,EAAGmM,GAAKnM,EAAEqM,UAAYF,CAAG,GAC1E,SAAUnM,EAAGmM,GAAK,IAAK,IAAI/G,KAAK+G,EAAO7J,OAAO+C,UAAUpN,eAAeqN,KAAK6G,EAAG/G,KAAIpF,EAAEoF,GAAK+G,EAAE/G,GAAI,EAC7F8G,EAAclM,EAAGmM,EAC5B,EACA,OAAO,SAAUnM,EAAGmM,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOhH,KAAKiH,YAAczM,CAAG,CADtCkM,EAAclM,EAAGmM,GAEjBnM,EAAEqF,UAAkB,OAAN8G,EAAa7J,OAAOoK,OAAOP,IAAMK,EAAGnH,UAAY8G,EAAE9G,UAAW,IAAImH,EACnF,CACJ,CAd6C,GAkBzCG,EAA8B,SAAUC,GAExC,SAASD,IACL,OAAkB,OAAXC,GAAmBA,EAAOrH,MAAMC,KAAMxD,YAAcwD,IAC/D,CAwBA,OA3BAyG,EAAUU,EAAcC,GAOxBD,EAAatH,UAAUwH,OAAS,WAC5B,OAAIrH,KAAKM,MAAMgH,IACHzJ,EAAAA,cAAoB,IAAK,CAAErK,UAAWwM,KAAKuH,uBAAwBjF,KAAM,eAAgBkF,KAAMxH,KAAKM,MAAMgH,IAAKzG,UAAW,GAAKb,KAAKM,MAAMoC,UAG1I7E,EAAAA,cAAoB,OAAQ,CAAE+C,GAAIZ,KAAKM,MAAMM,GAAIpN,UAAW6I,EAAW2D,KAAKuH,uBAAwBvH,KAAKM,MAAM9M,WAAYmN,MAAOX,KAAKM,MAAMK,MAAO2B,KAAM,gBAAkBtC,KAAKM,MAAMoC,SAEvM,EACAyE,EAAatH,UAAU0H,qBAAuB,WAC1C,OAAOlL,EAAW,SAAU,cAAe,CACvC,WAAY2D,KAAKM,MAAMmH,QAE/B,EAIAN,EAAa5E,UAAY,CACrBkF,OAAQtI,EAAAA,KACRmI,IAAKnI,EAAAA,QAEFgI,CACX,CA7BkC,CA6BhCtJ,EAAAA,W,SC/CE4I,EAAyC,WACzC,IAAIC,EAAgB,SAAUlM,EAAGmM,GAI7B,OAHAD,EAAgB5J,OAAO8J,gBAClB,CAAEC,UAAW,cAAgBjK,OAAS,SAAUpC,EAAGmM,GAAKnM,EAAEqM,UAAYF,CAAG,GAC1E,SAAUnM,EAAGmM,GAAK,IAAK,IAAI/G,KAAK+G,EAAO7J,OAAO+C,UAAUpN,eAAeqN,KAAK6G,EAAG/G,KAAIpF,EAAEoF,GAAK+G,EAAE/G,GAAI,EAC7F8G,EAAclM,EAAGmM,EAC5B,EACA,OAAO,SAAUnM,EAAGmM,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOhH,KAAKiH,YAAczM,CAAG,CADtCkM,EAAclM,EAAGmM,GAEjBnM,EAAEqF,UAAkB,OAAN8G,EAAa7J,OAAOoK,OAAOP,IAAMK,EAAGnH,UAAY8G,EAAE9G,UAAW,IAAImH,EACnF,CACJ,CAd6C,GAezC1H,EAAsC,WAStC,OARAA,EAAWxC,OAAOyC,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAInD,UAAUvE,OAAQyH,EAAIC,EAAGD,IAE5C,IAAK,IAAIE,KADTH,EAAIjD,UAAUkD,GACO5C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,KACzDJ,EAAEI,GAAKH,EAAEG,IAEjB,OAAOJ,CACX,EACOF,EAASS,MAAMC,KAAMxD,UAChC,EASWkL,EAAgB,iBAIhBC,EAAiB,kBAIjBC,EAAgB,iBACvBC,EAA+B,SAAUT,GAEzC,SAASS,IACL,OAAkB,OAAXT,GAAmBA,EAAOrH,MAAMC,KAAMxD,YAAcwD,IAC/D,CA4BA,OA/BAyG,EAAUoB,EAAeT,GAOzBS,EAAchI,UAAUwH,OAAS,WAC7B,OAAOxJ,EAAAA,cAAoB0F,EAAUjE,EAAS,CAAE,eAAe,EAAM9L,UAAW,uBAAyBwM,KAAK8H,WAClH,EACAD,EAAchI,UAAUiI,QAAU,WAE9B,OADuB3B,EAAoBnG,KAAKM,MAAMyD,QAAoC,IAA5B/D,KAAKM,MAAMyH,aAA0C,QAAnB/H,KAAKM,MAAM0H,MAEvG,IAAK,WACD,MAAO,CAAExK,KAAMkK,EAAe9E,KAAMqF,EAAAA,KACxC,IAAK,YACD,MAAO,CAAEzK,KAAMmK,EAAgB/E,KAAMsF,EAAAA,KACzC,IAAK,WACD,MAAO,CAAE1K,KAAMoK,EAAehF,KAAMuF,EAAAA,KACxC,QACI,MAAO,CAAC,EAEpB,EAIAN,EAActF,UAAY,CACtBwB,OAAQ5E,EAAAA,OACR6I,IAAK7I,EAAAA,OACL4I,aAAc5I,EAAAA,MAEX0I,CACX,CAjCmC,CAiCjChK,EAAAA,WC5EE4I,GAAyC,WACzC,IAAIC,EAAgB,SAAUlM,EAAGmM,GAI7B,OAHAD,EAAgB5J,OAAO8J,gBAClB,CAAEC,UAAW,cAAgBjK,OAAS,SAAUpC,EAAGmM,GAAKnM,EAAEqM,UAAYF,CAAG,GAC1E,SAAUnM,EAAGmM,GAAK,IAAK,IAAI/G,KAAK+G,EAAO7J,OAAO+C,UAAUpN,eAAeqN,KAAK6G,EAAG/G,KAAIpF,EAAEoF,GAAK+G,EAAE/G,GAAI,EAC7F8G,EAAclM,EAAGmM,EAC5B,EACA,OAAO,SAAUnM,EAAGmM,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOhH,KAAKiH,YAAczM,CAAG,CADtCkM,EAAclM,EAAGmM,GAEjBnM,EAAEqF,UAAkB,OAAN8G,EAAa7J,OAAOoK,OAAOP,IAAMK,EAAGnH,UAAY8G,EAAE9G,UAAW,IAAImH,EACnF,CACJ,CAd6C,GA0BzCoB,GAAkC,SAAUhB,GAE5C,SAASgB,EAAiB9H,GACtB,IAAI+H,EAAQjB,EAAOtH,KAAKE,KAAMM,IAAUN,KAWxC,OAVAqI,EAAMC,eAAgB,EACtBD,EAAMjG,YAAc,SAAUtM,GAC1BuS,EAAM/H,MAAM8B,YAAYiG,EAAM/H,MAAMiI,KAAK3H,IACzC9K,EAAM0S,iBACV,EACAH,EAAMpG,aAAe,SAAUnM,GAC3BuS,EAAM/H,MAAM2B,aAAaoG,EAAM/H,MAAMiI,KAAK3H,IAC1C9K,EAAM0S,iBACV,EACAH,EAAMhU,MAAQ,CAAEoT,QAAQ,GACjBY,CACX,CAwHA,OAtIA5B,GAAU2B,EAAkBhB,GAe5BgB,EAAiBvI,UAAU4I,kBAAoB,WAC3C,IAAIC,EAAgB1I,KAAKM,MAAMoI,cAC3BC,EAAgB3I,KAAKM,MAAMiI,KAAK3H,GAGhC8H,GAAiBA,IAAkBC,GACnC3I,KAAK4I,YAAYC,QAErB7I,KAAKsI,eAAgB,CACzB,EACAF,EAAiBvI,UAAUiJ,mBAAqB,SAAUC,GACtD,IAAIL,EAAgB1I,KAAKM,MAAMoI,cAC3BC,EAAgB3I,KAAKM,MAAMiI,KAAK3H,GACpC,GAAI8H,EAAe,CACf,IAAI9J,EAAgBD,EAAiB7L,UAGjCiW,EAAUL,gBAAkBA,GACzBA,IAAkBC,GAIjB3I,KAAK4I,YAAYI,SAASpK,IAC9BoB,KAAK4I,YAAYC,OAEzB,CACJ,EACAT,EAAiBvI,UAAUwH,OAAS,WAChC,IAAIgB,EAAQrI,KACRuI,EAAOvI,KAAKM,MAAMiI,KAClBxE,EAASwE,EAAK3H,GACdqI,EAAa1C,EAAgBvG,KAAKM,MAAMkG,SAAUzC,GACtD,OAAQlG,EAAAA,cAAoBA,EAAAA,SAAgB,KACxCA,EAAAA,cAAoB,KAAM,CAAE+C,GAAI2F,EAAgBvG,KAAKM,MAAMkG,SAAUzC,GAASvQ,UAAWwM,KAAKuH,qBAAqBgB,GAAO5H,MAAO4H,EAAKW,SAAUrI,SAAUkD,IAAW/D,KAAKM,MAAM6I,eAAiB,GAAK,EAAG/G,YAAapC,KAAKoC,YAAaH,aAAcjC,KAAKiC,aAAcR,YAAa,SAAU3L,GAAS,OAAOuS,EAAM/H,MAAMmB,YAAY3L,EAAQ,EAAGsT,OAAQ,SAAUlJ,GAAK,OAAOmI,EAAM/H,MAAM8I,OAAOrF,EAAQ7D,EAAI,EAAGmJ,QAAS,WAAc,OAAOhB,EAAM/H,MAAM+I,QAAQtF,EAAS,EAAGjC,QAAS,SAAUhM,GAAS,OAAOuS,EAAM/H,MAAMwB,QAAQhM,EAAOiO,EAAS,EAAGzB,KAAM,WAAY,kBAAiBiG,EAAKe,eAAkB5H,EAAW,gBAAiB6G,EAAKvE,MAAM/L,OAAS,QAAWyJ,EAAW,gBAAiB6G,EAAKvE,MAAM/L,OAAS,EAAI+H,KAAKuJ,YAAS7H,EAAW,aAAc6G,EAAKiB,KAAM,YAAaxJ,KAAKuJ,OAASN,OAAavH,EAAWnB,IAAK,SAAUhN,GAAM,OAAO8U,EAAMO,YAAcrV,CAAI,EAAGyJ,IAAK,KAAOgD,KAAKyJ,cAAgBzJ,KAAK0J,gBAAkB1J,KAAK2J,sBAC75B3J,KAAK4J,sBACb,EACAxB,EAAiBvI,UAAU6J,cAAgB,WACvC,IAAI3F,EAAS/D,KAAKM,MAAMiI,KAAKsB,oBAC7B,OAAQhM,EAAAA,cAAoB,MAAO,CAAErK,UAAW,YAAa8O,KAAM,gBAC/DzE,EAAAA,cAAoBmC,KAAKyJ,cAAe,CAAElB,KAAMvI,KAAKM,MAAMwJ,qBAAqB/F,GAASA,OAAQA,IACzG,EACAqE,EAAiBvI,UAAU8J,mBAAqB,WAC5C,IAAIpB,EAAOvI,KAAKM,MAAMiI,KACtB,GAAIvI,KAAK+J,WACL,OAAQlM,EAAAA,cAAoBmC,KAAK+J,WAAY,CAAExB,KAAMvI,KAAKM,MAAMwJ,qBAAqBvB,EAAK3H,IAAKmD,OAAQwE,EAAK3H,GAAI6G,OAAQzH,KAAKuJ,OAAQvB,IAAK1B,EAA6BtG,KAAKM,MAAM+F,0BAGlL,IAAI2D,EAAmBhK,KAAKiK,WACxBpM,EAAAA,cAAoBmC,KAAKiK,WAAY,CAAE1B,KAAMvI,KAAKM,MAAMwJ,qBAAqBvB,EAAK3H,IAAKmD,OAAQwE,EAAK3H,GAAI5D,IAAK,MAC7Ga,EAAAA,cAAoB,OAAQ,CAAErK,UAAW,oBAAsB+U,EAAKiB,MACxE,OAAQ3L,EAAAA,cAAoBsJ,EAAc,CAAEG,IAAKiB,EAAKjB,IAAKG,OAAQzH,KAAKuJ,QACpEvJ,KAAKkK,6BACLF,EACAhK,KAAKmK,0BAEjB,EACA/B,EAAiBvI,UAAU+J,oBAAsB,WAC7C,GAAI5J,KAAKuJ,OAAQ,CACb,IAAIxF,EAAS/D,KAAKM,MAAMiI,KAAK3H,GACzBpM,EHhGT,SAA0BuP,EAAQqC,EAAgBC,GACrD,IAAI+D,EAAmBjE,EAAoBpC,EAAQqC,EAAgBC,GACnE,OAAIA,EAC4B,aAArB+D,EAAkCzE,EAAmBC,SAAWD,EAAmBK,SAG9D,aAArBoE,EAAkCnE,EAAeL,SAAWK,EAAeC,SAE1F,CGwFqBmE,CAAiBtG,EAAQ/D,KAAKM,MAAM8F,eAAgBpG,KAAKM,MAAM+F,wBAAyBR,EAAcrR,EAAGqR,YAAaC,EAAatR,EAAGsR,WAAYC,EAAYvR,EAAGuR,UAC1K,OAAQlI,EAAAA,cAAoByM,EAAAA,EAAO,CAAEC,OAAQvK,KAAK4I,YAAa4B,MAAM,EAAMC,WAAYzK,KAAK0K,oBAAqB7E,YAAaA,EAAaC,WAAYA,EAAYC,UAAWA,EAAW4E,SAAS,EAAO3N,IAAK,KAC1Ma,EAAAA,cAAoB+M,GAAuB,CAAEC,aAAc9G,EAAQC,MAAOhE,KAAKM,MAAMiI,KAAKvE,MAAOwC,SAAUxG,KAAKM,MAAMkG,SAAUkC,cAAe1I,KAAKM,MAAMoI,cAAeoC,qBAAsB9K,KAAKM,MAAMwK,qBAAsB3B,eAAgBnJ,KAAKM,MAAM6I,eAAgBc,WAAYjK,KAAKM,MAAM2J,WAAYF,WAAY/J,KAAKM,MAAMyJ,WAAY3D,eAAgBpG,KAAKM,MAAM8F,eAAgBC,uBAAwBrG,KAAKM,MAAM+F,uBAAwB7S,UAAW,+CAAgD4O,YAAapC,KAAKM,MAAM8B,YAAaH,aAAcjC,KAAKM,MAAM2B,aAAcR,YAAazB,KAAKM,MAAMmB,YAAa2H,OAAQpJ,KAAKM,MAAM8I,OAAQC,QAASrJ,KAAKM,MAAM+I,QAASvH,QAAS9B,KAAKM,MAAMwB,QAASgI,qBAAsB9J,KAAKM,MAAMwJ,uBACjuB,CAEI,OAAO,IAEf,EACA1B,EAAiBvI,UAAUqK,2BAA6B,WACpD,IAAI1V,EAAKwL,KAAKM,MAAMiI,KAAM3F,EAAOpO,EAAGoO,KAAMmI,EAAUvW,EAAGuW,QACvD,OAAOnI,GAAQmI,EACXlN,EAAAA,cAAoB0F,EAAU,CAAE/F,KAAMoF,EAAMA,KAAMmI,EAAS/N,IAAK,MAAS,IACjF,EACAoL,EAAiBvI,UAAUsK,wBAA0B,WACjD,OAAOnK,KAAKM,MAAMiI,KAAKvE,MAAM/L,OAAS,EACjC4F,EAAAA,cAAoBgK,EAAe,CAAE9D,OAAQ/D,KAAKM,MAAMiI,KAAK3H,GAAImH,aAAc/H,KAAKM,MAAM8F,eAAgB4B,IAAK1B,EAA6BtG,KAAKM,MAAM+F,wBAAyBrJ,IAAK,MAAU,IACxM,EACAF,OAAOkO,eAAe5C,EAAiBvI,UAAW,aAAc,CAC5DoL,IAAK,WACD,OAAOjL,KAAKM,MAAMiI,KAAKlB,QAAUrH,KAAKM,MAAM2J,UAChD,EACAiB,YAAY,EACZC,cAAc,IAElBrO,OAAOkO,eAAe5C,EAAiBvI,UAAW,aAAc,CAC5DoL,IAAK,WACD,OAAOjL,KAAKM,MAAMiI,KAAKwB,YAAc/J,KAAKM,MAAMyJ,UACpD,EACAmB,YAAY,EACZC,cAAc,IAElBrO,OAAOkO,eAAe5C,EAAiBvI,UAAW,gBAAiB,CAC/DoL,IAAK,WACD,OAAOjL,KAAKM,MAAMiI,KAAKsB,oBAAsB7J,KAAKM,MAAMiI,KAAKkB,cAAgB,IACjF,EACAyB,YAAY,EACZC,cAAc,IAElBrO,OAAOkO,eAAe5C,EAAiBvI,UAAW,SAAU,CACxDoL,IAAK,WACD,ILzFmBlH,EAAQ+G,EKyFvBxK,EAAQN,KAAKM,MACjB,OAAOA,EAAMiI,KAAKvE,MAAM/L,OAAS,IL1Fd8L,EK2FAzD,EAAMiI,KAAK3H,GL1FO,KADVkK,EK2FOxK,EAAMwK,sBL1FvBrX,QAAQsQ,KACtB+G,EAAqB7S,SAAW8L,EAAO9L,QAC1C6S,EAAqBM,OAAOrH,EAAO9L,UAAY4L,MK2F1C7D,KAAKsI,aACd,EACA4C,YAAY,EACZC,cAAc,IAElB/C,EAAiBvI,UAAU6K,kBAAoB,WAC3C,OAAOrO,EAAW,eAAgB,CAAE,QAAS2D,KAAKM,MAAM+F,wBAC5D,EACA+B,EAAiBvI,UAAU0H,qBAAuB,SAAUgB,GACxD,OAAOlM,EAAW,SAAU,cAAe,CACvC,WL7D4B0H,EK6DOwE,EAAK3H,GL5DzCqE,EAAWlB,KAAYH,GK6DtB,SAAU2E,EAAK8C,mBACf,aAAc9C,EAAKe,UACpBf,EAAK+C,ULhET,IAAiCvH,CKiEpC,EACOqE,CACX,CAxIsC,CAwIpCvK,EAAAA,WClKE4I,GAAyC,WACzC,IAAIC,EAAgB,SAAUlM,EAAGmM,GAI7B,OAHAD,EAAgB5J,OAAO8J,gBAClB,CAAEC,UAAW,cAAgBjK,OAAS,SAAUpC,EAAGmM,GAAKnM,EAAEqM,UAAYF,CAAG,GAC1E,SAAUnM,EAAGmM,GAAK,IAAK,IAAI/G,KAAK+G,EAAO7J,OAAO+C,UAAUpN,eAAeqN,KAAK6G,EAAG/G,KAAIpF,EAAEoF,GAAK+G,EAAE/G,GAAI,EAC7F8G,EAAclM,EAAGmM,EAC5B,EACA,OAAO,SAAUnM,EAAGmM,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOhH,KAAKiH,YAAczM,CAAG,CADtCkM,EAAclM,EAAGmM,GAEjBnM,EAAEqF,UAAkB,OAAN8G,EAAa7J,OAAOoK,OAAOP,IAAMK,EAAGnH,UAAY8G,EAAE9G,UAAW,IAAImH,EACnF,CACJ,CAd6C,GAqBzC4D,GAAuC,SAAUxD,GAEjD,SAASwD,IACL,IAAIvC,EAAmB,OAAXjB,GAAmBA,EAAOrH,MAAMC,KAAMxD,YAAcwD,KAShE,OARAqI,EAAMjG,YAAc,SAAUtM,GAC1BuS,EAAM/H,MAAM8B,YAAYiG,EAAM/H,MAAMuK,cACpC/U,EAAM0S,iBACV,EACAH,EAAMpG,aAAe,SAAUnM,GAC3BuS,EAAM/H,MAAM2B,aAAaoG,EAAM/H,MAAMuK,cACrC/U,EAAM0S,iBACV,EACOH,CACX,CAWA,OAvBA5B,GAAUmE,EAAuBxD,GAajCwD,EAAsB/K,UAAUwH,OAAS,WACrC,IAAIwD,EAAe7K,KAAKM,MAAMuK,aAC9B,OAAQhN,EAAAA,cAAoB,KAAM,CAAErK,UAAWwM,KAAKM,MAAM9M,UAAW8O,KAAMtC,KAAKM,MAAMgC,KAAOtC,KAAKM,MAAMgC,UAAyBZ,IAAjBmJ,EAA6B,OAAS,UAAYjK,QAAqBc,IAAjBmJ,EAA6BtE,EAAgBvG,KAAKM,MAAMkG,SAAUqE,QAAgBnJ,EAAWU,iBAA8BV,IAAjBmJ,EAA6B7K,KAAKoC,iBAAcV,EAAWO,kBAA+BP,IAAjBmJ,EAA6B7K,KAAKiC,kBAAeP,EAAW,mBAAoB1B,KAAKM,MAAM,qBAAuBN,KAAKuL,mBACpd,EACAX,EAAsB/K,UAAU0L,iBAAmB,WAC/C,IAAIlD,EAAQrI,KACZ,OAAOA,KAAKM,MAAM0D,MAAM/L,OAAS,EAAK+H,KAAKM,MAAM0D,MAAM3J,KAAI,SAAUkO,EAAMiD,GACvE,OAAQ3N,EAAAA,cAAoBuK,GAAkB,CAAEG,KAAMA,EAAMnC,eAAgBiC,EAAM/H,MAAM8F,eAAgBC,uBAAwBgC,EAAM/H,MAAM+F,uBAAwBqC,cAAeL,EAAM/H,MAAMoI,cAAeoC,qBAAsBzC,EAAM/H,MAAMwK,qBAAsB3B,eAAgBd,EAAM/H,MAAM6I,eAAgBc,WAAY5B,EAAM/H,MAAM2J,WAAYF,WAAY1B,EAAM/H,MAAMyJ,WAAYvD,SAAU6B,EAAM/H,MAAMkG,SAAUpE,YAAaiG,EAAM/H,MAAM8B,YAAaH,aAAcoG,EAAM/H,MAAM2B,aAAcR,YAAa4G,EAAM/H,MAAMmB,YAAa2H,OAAQf,EAAM/H,MAAM8I,OAAQC,QAAShB,EAAM/H,MAAM+I,QAASvH,QAASuG,EAAM/H,MAAMwB,QAASgI,qBAAsBzB,EAAM/H,MAAMwJ,qBAAsB9M,IAAKwO,GACvqB,IAAM,IACV,EACOZ,CACX,CAzB2C,CAyBzC/M,EAAAA,WC3CS4N,GAGA,GAHAA,GAKF,GALEA,GAMA,GANAA,GASF,GATEA,GAUD,GAVCA,GAWD,GAXCA,GAYH,GAZGA,GAaA,GAbAA,GAcD,G,WCdCtX,GAAO,WAAc,ECCrBuX,GAAoB,SAAUtN,EAASuN,GAC9C,IAAInX,EAAKqJ,EAAAA,WAAiBO,GAAUwN,EAAepX,EAAG,GAAIqX,EAAgBrX,EAAG,GACzEE,EAAKmJ,EAAAA,SAAe8N,GAAeG,EAAapX,EAAG,GAAIqX,EAAcrX,EAAG,GAU5E,MAAO,MATsBgN,IAAjBkK,EAA6BA,EAAeE,EAChC,WAEpB,IADA,IAAIxP,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUvE,OAAQsE,IACpCD,EAAKC,GAAMC,UAAUD,QAERmF,IAAjBkK,EACMC,EAAc9L,WAAM,EAAQzD,GAAQyP,EAAYzP,EAAK,GAC/D,EAKJ,ECfW0P,GAAcnO,EAAAA,cAAoB,MACzC6D,EACAvN,KAKO8X,GAAcpO,EAAAA,cAAoB,MACzC6D,EACAvN,KAKO+X,GAAerO,EAAAA,cAAoB,CAAC,GAAI1J,GAAMA,KAI9CgY,GAAetO,EAAAA,cAAoB,CAAC,GAAI1J,GAAMA,KCflD,IAAIiY,GAAYvO,EAAAA,YAAiB,SAAUyC,EAAOC,GACrD,IAAI8L,EAAWxO,EAAAA,OAAa,MACxBrN,EAASqN,EAAAA,OAAa,MACtByO,EAAazO,EAAAA,aAAkB,WAAc,OAAOwO,EAASrL,SAAWqL,EAASrL,QAAQ/Q,QACvFoc,EAASrL,QAAQ/Q,QACjBoc,EAASrL,OAAS,GAAG,CAACqL,IAC5BxO,EAAAA,oBAA0BrN,GAAQ,WAAc,MAAQ,CAAEP,QAASqc,KAAgB,KAAS,IAC5FzO,EAAAA,oBAA0B0C,GAAK,WAAc,OAAO/P,EAAOwQ,OAAS,IACpEnD,EAAAA,oBAA0ByC,EAAM+L,UAAU,WAAc,OAAOA,EAASrL,OAAS,IACjF,IAAIuL,EAAc1O,EAAAA,aAAkB,SAAU/H,GACrCwK,EAAM/H,SAGX+H,EAAM/H,QAAQ,CACVtI,QAASqc,IACT9b,OAAQA,EAAOwQ,QACflL,MAAOA,GAEf,GAAG,CAACwW,EAAYhM,EAAM/H,UAClBiU,EAAgB3O,EAAAA,aAAkB,SAAU/H,GACvCwK,EAAMnF,WAGXmF,EAAMnF,UAAU,CACZlL,QAASqc,IACT9b,OAAQA,EAAOwQ,QACflL,MAAOA,GAEf,GAAG,CAACwW,EAAYhM,EAAMnF,YAClBsR,EAAkB5O,EAAAA,aAAkB,SAAU/H,GACzCwK,EAAMrG,aAGXqG,EAAMrG,YAAY,CACdhK,QAASqc,IACT9b,OAAQA,EAAOwQ,QACflL,MAAOA,GAEf,GAAG,CAACwK,EAAOgM,IACPI,EAAa7O,EAAAA,aAAkB,SAAU/H,GACpCwK,EAAMpG,QAGXoG,EAAMpG,OAAO,CACTjK,QAASqc,IACT9b,OAAQA,EAAOwQ,QACflL,MAAOA,GAEf,GAAG,CAACwW,EAAYhM,EAAMpG,SAClByS,EAAgB9O,EAAAA,aAAkB,SAAU/H,GACvCwK,EAAMjF,WAGXiF,EAAMjF,UAAU,CACZpL,QAASqc,IACT9b,OAAQA,EAAOwQ,QACflL,MAAOA,GAEf,GAAG,CAACwW,EAAYhM,EAAMjF,YAatB,OC/DG,SAAsBkF,EAAKhM,EAAWqY,QACzB,IAAZA,IAAsBA,EAAU,CAAC,GACrC,IAAIpY,EAAKD,EAAUgE,QAASA,OAAiB,IAAP/D,EAAgBL,GAAOK,EAAIE,EAAKH,EAAU4G,UAAWA,OAAmB,IAAPzG,EAAgBP,GAAOO,EAAIE,EAAKL,EAAU0F,YAAaA,OAAqB,IAAPrF,EAAgBT,GAAOS,EAAIE,EAAKP,EAAU2F,OAAQA,OAAgB,IAAPpF,EAAgBX,GAAOW,EAAIE,EAAKT,EAAU8G,UAAWA,OAAmB,IAAPrG,EAAgBb,GAAOa,EAC3TE,EAAK0X,EAAQlX,KAAMA,OAAc,IAAPR,EAAgB,KAAOA,EAAIE,EAAKwX,EAAQC,UAAWA,OAAmB,IAAPzX,GAAwBA,EAAIE,EAAKsX,EAAQ7T,WAAYA,OAAoB,IAAPzD,GAAuBA,EAAIwX,EAAKF,EAAQG,gBAAiBA,OAAyB,IAAPD,EAAgB,KAAOA,EAC7PE,EAAKnP,EAAAA,UAAe,GAAQpF,EAAUuU,EAAG,GAAIC,EAAaD,EAAG,GAC7DE,EAAKrP,EAAAA,UAAe,GAAQsP,EAAYD,EAAG,GAAIE,EAAeF,EAAG,GACjE5S,EAAOoR,GAAkBO,IAAa,GACtCoB,EAAK3B,GAAkBM,IAAcxW,EAAO6X,EAAG,GAAIC,EAAUD,EAAG,GAChEjT,EAAQyD,EAAAA,WAAiBsO,IAAc,GACvCoB,EAAK1P,EAAAA,WAAiBqO,IAAesB,EAAQD,EAAG,GAAIE,EAAeF,EAAG,GAAIG,EAAiBH,EAAG,GAC9FhU,EAAWsE,EAAAA,OAAa,CAAEpH,EAAG,EAAGE,EAAG,IACnCgX,EAAiB9P,EAAAA,SACjB/F,EAAc+F,EAAAA,QAAa,GAC3B+P,EAAsB/P,EAAAA,SACtBgQ,EAAahQ,EAAAA,OAAa,MAC1BiQ,EAAUjQ,EAAAA,QAAa,GACvBhH,EAASgH,EAAAA,OAAa,CAAEpH,EAAG,EAAGE,EAAG,IACjCW,EAAauG,EAAAA,OAAa,CAAEpH,EAAG,EAAGE,EAAG,IACrCY,EAAesG,EAAAA,OAAa,CAAEpH,EAAG,EAAGE,EAAG,IACvCoX,EAAsBlQ,EAAAA,OAAa,CAAEpH,EAAG,EAAGE,EAAG,IAC9CH,EAAeqH,EAAAA,OAAa,CAAEpH,EAAG,EAAGE,EAAG,IACvC+B,EAAsBmF,EAAAA,OAAa,CAAEpH,EAAG,EAAGE,EAAG,IAC9CqX,EAAsBC,QAA2B,qBAAXrc,QAA2BA,OAAOsc,cACxEC,GAAYtB,GAAamB,EACzB1B,EAAazO,EAAAA,aAAkB,WAAc,OAAO0C,EAAIS,SAAWT,EAAIS,QAAQ/Q,QAC7EsQ,EAAIS,QAAQ/Q,QACZsQ,EAAIS,OAAS,GAAG,CAACT,IACnB6N,EAAiBvQ,EAAAA,aAAkB,WAAc,OAAOnI,GAAQA,EAAKsL,SAAWtL,EAAKsL,QAAQ/Q,QAC3FyF,EAAKsL,QAAQ/Q,QACbyF,EACIA,EAAKsL,QACL,IAAM,GAAG,CAACtL,IAChB2Y,EAAqBxQ,EAAAA,aAAkB,WAAc,OAAOkP,GAAmBA,EAAgB/L,SAAW+L,EAAgB/L,QAAQ/Q,QAChI8c,EAAgB/L,QAAQ/Q,QACxB8c,EACIA,EAAgB/L,QAChB,IAAM,GAAG,CAAC+L,IAChBuB,GAAyBzQ,EAAAA,aAAkB,WAAc,MAA6B,kBAAf9E,GAA2BA,EAAWwV,oBAC1GxV,EAAWwV,mBAAmBvN,SAAWjI,EAAWwV,mBAAmBvN,QAAQ/Q,QAChF8I,EAAWwV,mBAAmBvN,QAAQ/Q,QAChB,kBAAf8I,GAA2BA,EAAWwV,oBAAsBxV,EAAWwV,mBAAmBvN,QAC7FjI,EAAWwV,mBAAmBvN,QAC9B,IAAM,GAAG,CAACjI,IAChBvI,GAASqN,EAAAA,OAAa,MAC1BA,EAAAA,oBAA0BrN,IAAQ,WAAc,MAAQ,CACpDP,QAASqc,IACT5W,KAAM0Y,IACN7V,QAASgU,GACTtS,YAAawS,GACbvS,OAAQwS,GACRrR,UAAWsR,GACXxR,UAAWqR,GACXgC,KAAMjO,EAAIS,QACV,IACJ,IAAIhO,GAAc6K,EAAAA,aAAkB,WAChC,IAAI5N,EAAUqc,IACd,OAAOrc,GAAUA,EAAQgD,eAA4BH,QACzD,GAAG,CAACwZ,IACAxS,GAAY+D,EAAAA,aAAkB,WAC9B,IAAI/K,EAAWE,KACf,OAAOF,GACDA,EAAS+G,aACTjI,MACV,GAAG,CAACoB,KACAyb,GAAW5Q,EAAAA,aAAkB,WAAc,MAAQ,CACnDrI,KAAMA,EAAOA,EAAKwL,QAAU,KAC5B1G,KAAMA,EAAOA,EAAK0G,QAAU,KAC5BwM,MAAOA,EAAMnT,KAAI,SAAUG,GAAK,OAAOA,EAAEwG,OAAS,IAClD5G,MAAOA,EAAMC,KAAI,SAAUG,GAAK,OAAOA,EAAEwG,OAAS,IAClDvI,QAASA,EACTX,YAAaA,EAAYkJ,QACzBxK,aAAcA,EAAawK,QAC3BnK,OAAQA,EAAOmK,QACf1J,WAAYA,EAAW0J,QACvBtI,oBAAqBA,EAAoBsI,QACzCzJ,aAAcA,EAAayJ,QAC3B+M,oBAAqBA,EAAoB/M,QACzCzH,SAAUA,EAASyH,QACnBjI,WAAYkV,QAA8B,kBAAflV,GAAiD,IAAvBA,EAAW2V,QAAoB3V,GACpFlD,iBAAkByY,KAClB3Y,oBAA2C,kBAAfoD,EAA0BA,EAAW4V,UAAY,CAAE5U,YAAY,EAAMC,UAAU,GAC3G4U,YAAazB,EACb,GAAG,CAAC3X,EAAM8E,EAAMkT,EAAOpT,EAAO3B,EAASM,EAAYuV,GAAwBnB,IAC3E0B,GAAsBhR,EAAAA,aAAkB,SAAUiR,GAClD7B,EAAW6B,EACf,GAAG,IACCC,GAAwBlR,EAAAA,aAAkB,SAAUiR,GACpD1B,EAAa0B,EACjB,GAAG,IACCE,GAAuBnR,EAAAA,aAAkB,SAAUiR,GACnDvV,EAASyH,QAAU8N,CACvB,GAAG,IACCG,GAAqBpR,EAAAA,aAAkB,SAAUiR,GACjDjY,EAAOmK,QAAU8N,CACrB,GAAG,IACCI,GAA2BrR,EAAAA,aAAkB,SAAUiR,GACvDvX,EAAayJ,QAAU8N,CAC3B,GAAG,IACCK,GAAyBtR,EAAAA,aAAkB,SAAUiR,GACrDxX,EAAW0J,QAAU8N,CACzB,GAAG,IACCM,GAAkCvR,EAAAA,aAAkB,SAAUiR,GAC9Df,EAAoB/M,QAAU8N,CAClC,GAAG,IACCO,GAA2BxR,EAAAA,aAAkB,SAAUiR,GACvDtY,EAAawK,QAAU8N,CAC3B,GAAG,IACCQ,GAAkCzR,EAAAA,aAAkB,SAAUiR,GAC9DpW,EAAoBsI,QAAU8N,CAClC,GAAG,IAECvC,GAAc1O,EAAAA,aAAkB,SAAU/H,GAC1CyC,EAAQzC,EACZ,GAAG,CAACyC,IACAiU,GAAgB3O,EAAAA,aAAkB,SAAU/H,GAC5CqF,EAAUrF,EACd,GAAG,CAACqF,IACAsR,GAAkB5O,EAAAA,aAAkB,SAAU/H,GAC9CwX,EAAQ9c,GAAQ,CAAEA,OAAQ+P,EAAIS,QAASlL,MAAOA,IAC9CmE,EAAYnE,EAChB,GAAG,CAACwX,EAAS/M,EAAKtG,IACdyS,GAAa7O,EAAAA,aAAkB,SAAU/H,GACzCoE,EAAOpE,EACX,GAAG,CAACoE,IACAyS,GAAgB9O,EAAAA,aAAkB,SAAU/H,GACxCgY,EAAQ9M,UAGZsM,EAAQ,KAAM,CAAE9c,OAAQ+P,EAAIS,QAASlL,MAAOA,IAC5CuF,EAAUvF,GACd,GAAG,CAACuF,EAAWiS,EAAS/M,IACpBgP,GAAoB1R,EAAAA,aAAkB,SAAU/H,IAChD1B,EAAAA,GAAAA,IAAoBqa,KAAY,CAAE3Y,MAAOA,EAAOL,QAASjF,GAAOwQ,SAAW,CACvEnM,iBAAkBma,GAClBja,eAAgBka,GAChB9Z,qBAAsB+Z,GACtBja,mBAAoBka,GACpBK,4BAA6BJ,GAC7B/Z,qBAAsBga,GACtB9Z,4BAA6B+Z,GAC7B7a,kBAAmBoa,GACnBla,oBAAqBoa,IAE7B,GAAG,CACCN,GACAO,GACAC,GACAE,GACAD,GACAE,GACAE,GACAT,GACAQ,GACAN,KAGAU,GAAoB5R,EAAAA,aAAkB,SAAU/H,GAChDyZ,GAAkBzZ,EACtB,GAAG,CAACyZ,KACAG,GAAoB7R,EAAAA,aAAkB,SAAU/H,GAChDyZ,GAAkBzZ,EACtB,GAAG,CAACyZ,KACAI,GAAsB9R,EAAAA,aAAkB,SAAU/H,GAClDyZ,GAAkBzZ,EACtB,GAAG,CAACyZ,KACAK,GAAkB/R,EAAAA,aAAkB,SAAU/H,GAC9CyZ,GAAkBzZ,EACtB,GAAG,CAACyZ,KAEA/N,GAAkB3D,EAAAA,aAAkB,SAAU/H,GAC9CyZ,GAAkBzZ,EACtB,GAAG,CAACyZ,KACAM,GAAkBhS,EAAAA,aAAkB,SAAU/H,GAC9CyZ,GAAkBzZ,EACtB,GAAG,CAACyZ,KACA3N,GAAgB/D,EAAAA,aAAkB,SAAU/H,GAC5CyZ,GAAkBzZ,EACtB,GAAG,CAACyZ,KACAO,GAAoBjS,EAAAA,aAAkB,SAAU/H,GAChDA,EAAMia,iBACNR,GAAkBzZ,EACtB,GAAG,CAACyZ,KAEAS,GAAmBnS,EAAAA,aAAkB,SAAU/H,GAC/CA,EAAMia,iBACNR,GAAkBzZ,EACtB,GAAG,CAACyZ,KACAU,GAAkBpS,EAAAA,aAAkB,SAAU/H,GAC9CA,EAAMia,iBACNR,GAAkBzZ,EACtB,GAAG,CAACyZ,KACAW,GAAiBrS,EAAAA,aAAkB,SAAU/H,GAC7C,GAA6B,IAAzBA,EAAMkC,QAAQC,QAAgD,IAAhCnC,EAAMK,eAAe8B,OAAc,CACjE,IAAIkY,EAAgBrW,KACpBhC,EAAYkJ,SAAU,EACtB4M,EAAoB5M,QAAUmP,EAAcC,YAAW,WAActY,EAAYkJ,SAAU,CAAO,GA9MnF,IA+MnB,CACAuO,GAAkBzZ,EACtB,GAAG,CAACyZ,GAAmBzV,KACnBuW,GAAexS,EAAAA,aAAkB,SAAU/H,GAC3CyZ,GAAkBzZ,EACtB,GAAG,CAACyZ,KAEAe,GAAgBzS,EAAAA,aAAkB,WAClC,IAAI5N,EAAUqc,IACd,GAAIrc,EAAS,CACT,IAAIsgB,EAAuBtgB,EAAQ0Q,MAAM6P,YAEzC,OADAvgB,EAAQ0Q,MAAM6P,YAAc,OACrB,WACHvgB,EAAQ0Q,MAAM6P,YAAcD,CAChC,CACJ,CACJ,GAAG,CAACjE,IACAmE,GAAW5S,EAAAA,aAAkB,WAE7B,OADA4P,EAAajd,IACN,WACHkd,EAAeld,GACnB,CACJ,GAAG,CAACkd,EAAgBD,IA2DpB5P,EAAAA,WAAgB,WACZ,IAAIjM,EAASkI,KACb,GAAIqT,EAAW,CACX,IAAIhV,EAAqBkW,MAClBza,EAAAA,GAAAA,IAAoBd,SAASoG,iBAAiB3B,EAAayJ,QAAQvK,EAAGc,EAAayJ,QAAQrK,IAClG/E,EAAO8e,cAAc/C,EAAe3M,SACpC2M,EAAe3M,QAAUpP,EAAO+e,aAAY,YACxCC,EAAAA,GAAAA,IAAkBzY,EAAoB,CAAE1B,EAAG8C,EAASyH,QAAQvK,EAAGE,EAAG4C,EAASyH,QAAQrK,GACvF,GAAG,GACP,CACA,OAAO,WACH/E,EAAO8e,cAAc/C,EAAe3M,QACxC,CACJ,GAAG,CAACsL,EAAY+B,EAAoBvU,GAAWqT,IAC/CtP,EAAAA,UAAgByS,GAAe,CAACA,KAChCzS,EAAAA,WAzEW,WACP,IAAIjM,EAASkI,KACT7J,EAAUqc,IACVxZ,EAAWE,KAkCf,OAjCImb,GACIle,IACA4d,EAAW7M,SAAUpN,EAAAA,GAAAA,IAAoB3D,GACrC4d,EAAW7M,SACX6M,EAAW7M,QAAQ6P,iBAAiB,SAAUR,GAAc,CAAES,SAAS,IAE3E7gB,EAAQ4gB,iBAAiB,cAAepB,GAAmB,CAAEqB,SAAS,KAEtErY,IACA3F,EAAS+d,iBAAiB,cAAenB,IACzC5c,EAAS+d,iBAAiB,YAAajB,IAAiB,GACxD9c,EAAS+d,iBAAiB,cAAef,IACzChd,EAAS+d,iBAAiB,gBAAiBlB,GAAqB,CAAEmB,SAAS,OAK/Elf,EAAOif,iBAAiB,YAAa1c,GAAM,CAAE4c,SAAS,EAAOD,SAAS,IAClE7gB,IACAA,EAAQ4gB,iBAAiB,YAAarP,GAAiB,CAAEsP,SAAS,IAC7DjE,IACD5c,EAAQ4gB,iBAAiB,aAAcb,GAAkB,CAAEc,SAAS,IAChErY,IACAxI,EAAQ4gB,iBAAiB,YAAaZ,GAAiB,CAAEa,SAAS,IAClE7gB,EAAQ4gB,iBAAiB,WAAYX,GAAgB,CAAEY,SAAS,OAIxErY,IACA3F,EAAS+d,iBAAiB,YAAahB,GAAiB,CAAEiB,SAAS,IACnEhe,EAAS+d,iBAAiB,UAAWjP,GAAe,CAAEkP,SAAS,MAGhE,WACCjD,EAAW7M,SACX6M,EAAW7M,QAAQgQ,oBAAoB,SAAUX,IAEjDpgB,IACAA,EAAQ+gB,oBAAoB,cAAevB,IAC3Cxf,EAAQ+gB,oBAAoB,YAAaxP,IACzCvR,EAAQ+gB,oBAAoB,aAAchB,IAC1C/f,EAAQ+gB,oBAAoB,YAAaf,IACzChgB,EAAQ+gB,oBAAoB,WAAYd,KAE5Cpd,EAASke,oBAAoB,cAAetB,IAC5C5c,EAASke,oBAAoB,YAAapB,IAAiB,GAC3D9c,EAASke,oBAAoB,cAAelB,IAC5Chd,EAASke,oBAAoB,gBAAiBrB,IAC9C7c,EAASke,oBAAoB,YAAanB,IAC1C/c,EAASke,oBAAoB,UAAWpP,IACxChQ,EAAOof,oBAAoB,YAAa7c,IACxCvC,EAAOqf,aAAarD,EAAoB5M,QAC5C,CACJ,GAgBsB,CAClBvI,EACAqB,GACAwS,EACAtZ,GACA6Z,EACAsB,EACA2B,GACAtO,GACAqO,GACAjO,GACA+N,GACAF,GACAC,GACAE,GACAM,GACAD,GACAD,GACAK,KAEJxS,EAAAA,WAAgB,WAEZ,OADAiQ,EAAQ9M,SAAU,EACX,WACH8M,EAAQ9M,SAAU,CACtB,CACJ,GAAG,IACHnD,EAAAA,gBAAsB4S,GAAU,CAACA,IACrC,CD5QIS,CAAa7E,EAAU,CACnB9T,QAASgU,EACTpR,UAAWqR,EACXvS,YAAawS,EACbvS,OAAQwS,EACRrR,UAAWsR,GACZ,CACCE,UAAWvM,EAAMuM,UACjB9T,WAAYuH,EAAMvH,WAClBrD,KAAM4K,EAAM5K,KACZqX,gBAAiBzM,EAAMyM,kBAEpBzM,EAAMoC,SACN7E,EAAAA,aAAmBA,EAAAA,SAAAA,KAAoByC,EAAMoC,UAAW,CAAEnC,IAAK8L,IAChE,IACV,IACAD,GAAU5J,YAAc,sBEnFxB,IAAIiE,GAAyC,WACzC,IAAIC,EAAgB,SAAUlM,EAAGmM,GAI7B,OAHAD,EAAgB5J,OAAO8J,gBAClB,CAAEC,UAAW,cAAgBjK,OAAS,SAAUpC,EAAGmM,GAAKnM,EAAEqM,UAAYF,CAAG,GAC1E,SAAUnM,EAAGmM,GAAK,IAAK,IAAI/G,KAAK+G,EAAO7J,OAAO+C,UAAUpN,eAAeqN,KAAK6G,EAAG/G,KAAIpF,EAAEoF,GAAK+G,EAAE/G,GAAI,EAC7F8G,EAAclM,EAAGmM,EAC5B,EACA,OAAO,SAAUnM,EAAGmM,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOhH,KAAKiH,YAAczM,CAAG,CADtCkM,EAAclM,EAAGmM,GAEjBnM,EAAEqF,UAAkB,OAAN8G,EAAa7J,OAAOoK,OAAOP,IAAMK,EAAGnH,UAAY8G,EAAE9G,UAAW,IAAImH,EACnF,CACJ,CAd6C,GAqBzCmK,GAA6B,SAAU/J,GAEvC,SAAS+J,EAAY7Q,GACjB,IAAI+H,EAAQjB,EAAOtH,KAAKE,KAAMM,IAAUN,KAwExC,OAvEAqI,EAAM+I,UAAY,KAClB/I,EAAMnO,OAAS,SAAUsU,EAAM6C,EAASC,GACpC,IAAIxb,EAAQ0Y,EAAK1Y,MACbtB,EAAK6T,EAAM/H,MAAOpG,EAAS1F,EAAG0F,OAAQsR,EAAQhX,EAAGgX,MACjDvb,EAAUoY,EAAM+I,WAAa/I,EAAM+I,UAAUnhB,QAC7CA,IAAYoY,EAAMkJ,UAAYlJ,EAAMmJ,aACpCtX,EAAOpE,EAAO7F,EAASub,EAAO6F,EAASC,EAE/C,EACAjJ,EAAMgB,QAAU,WACZhB,EAAMoJ,SAAS,CACXC,SAAS,GAEjB,EACArJ,EAAMe,OAAS,WACXf,EAAMoJ,SAAS,CACXC,SAAS,GAEjB,EACArJ,EAAMsJ,SAAW,SAAU7b,GACvB,IAAItB,EAAK6T,EAAM/H,MAAOqR,EAAWnd,EAAGmd,SAAUnG,EAAQhX,EAAGgX,MAAOoG,EAAOpd,EAAGod,KAAMzM,EAAO3Q,EAAG2Q,MACtFyM,EAAKC,aAAe1M,EAAK0M,cACzBF,EAASC,EAAKC,YAAcrG,EAAQA,EAAQ,EAAG1V,EAEvD,EACAuS,EAAMyJ,aAAe,SAAUhc,GAC3B,IAAItB,EAAK6T,EAAM/H,MAAOqR,EAAWnd,EAAGmd,SAAUnG,EAAQhX,EAAGgX,MAAchX,EAAGod,KACjEC,aACLF,EAASnG,EAAO1V,EAExB,EACAuS,EAAM0J,aAAe,SAAUjc,GAC3B,IAAItB,EAAK6T,EAAM/H,MAAOqR,EAAWnd,EAAGmd,SAAUnG,EAAQhX,EAAGgX,MAAchX,EAAG2Q,KACjE0M,aACLF,EAASnG,EAAQ,EAAG1V,EAE5B,EACAuS,EAAM2J,UAAY,SAAUlc,GACxB,IAAImc,EAAUnc,GAASA,EAAMmc,QACzBC,EAAe7J,EAAM6J,aACrB1G,EAAQnD,EAAM/H,MAAMkL,MACpBvb,EAAUoY,EAAM+I,WAAa/I,EAAM+I,UAAUnhB,QAC7CkiB,EAAmB,SAAU5e,EAAI6e,EAAKvb,GACtCf,EAAMia,iBACN1H,EAAM/H,MAAM6R,iBAAiB5e,EAAI6e,EAAKvb,EAAQf,EAClD,EACK7F,IAGDgiB,IAAYxG,IACZ3V,EAAMia,iBACN1H,EAAMsJ,SAAS7b,IAEVuS,EAAMmJ,cACPU,GAAgBD,IAAYxG,GAC5B0G,EAAiBliB,EAASub,GAAQ,IAE7B0G,GAAgBD,IAAYxG,GACjC0G,EAAiBliB,EAASub,EAAO,IAE3B0G,GAAgBD,IAAYxG,GAG5ByG,GAAgBD,IAAYxG,IAClC0G,EAAiBliB,EAASub,EAAO,IAHjC2G,EAAiBliB,EAASub,GAAQ,KAM9C,EACAnD,EAAMhU,MAAQ,CACVqd,SAAS,GAENrJ,CACX,CAmFA,OA9JA5B,GAAU0K,EAAa/J,GA4EvBtK,OAAOkO,eAAemG,EAAYtR,UAAW,WAAY,CACrDoL,IAAK,WACD,IAAIzW,EAAKwL,KAAKM,MAAOsR,EAAOpd,EAAGod,KAAMzM,EAAO3Q,EAAG2Q,KAC3CkN,EAAwBT,EAAKU,WAAanN,EAAKmN,UAC/CC,EAAsBX,EAAKC,aAAe1M,EAAK0M,YACnD,OAAQQ,IAA0BE,CACtC,EACArH,YAAY,EACZC,cAAc,IAElBrO,OAAOkO,eAAemG,EAAYtR,UAAW,cAAe,CACxDoL,IAAK,WACD,IAAIzW,EAAKwL,KAAKM,MAAOsR,EAAOpd,EAAGod,KAAMzM,EAAO3Q,EAAG2Q,KAC3CkN,EAAwBT,EAAKU,WAAanN,EAAKmN,UAC/CE,EAAoBZ,EAAKa,WAAatN,EAAKsN,UAC/C,QAASJ,IAA0BG,CACvC,EACAtH,YAAY,EACZC,cAAc,IAElBrO,OAAOkO,eAAemG,EAAYtR,UAAW,eAAgB,CACzDoL,IAAK,WACD,MAAkC,eAA3BjL,KAAKM,MAAMoS,WACtB,EACAxH,YAAY,EACZC,cAAc,IAElBgG,EAAYtR,UAAUwH,OAAS,WAC3B,IAAI7S,EACA6T,EAAQrI,KACRwR,EAAcxR,KAAKwR,YACnBD,EAAWvR,KAAKuR,SAChBW,EAAelS,KAAKkS,aACpBS,EAAatW,EAAW,eAAe7H,EAAK,CAAC,GAC1C,WAAawL,KAAK3L,MAAMqd,QAC3Bld,EAAG,yBAA2B0d,EAC9B1d,EAAG,wBAA0B0d,EAC7B1d,EAAG,mCAAqC0d,GAAgBV,EACxDhd,EAAG,kCAAoC0d,GAAgBV,EACvDhd,EAAG,gCAAkC0d,GAAgBX,EACrD/c,EAAG,+BAAiC0d,GAAgBX,EACpD/c,IACJ,OAAQqJ,EAAAA,cAAoBuO,GAAW,CAAE7T,QAAS,SAAUzC,GAAS,OAAOuS,EAAMnO,OAAOpE,GAAO,GAAM,EAAQ,EAAGoE,OAAQ,SAAUpE,GAAS,OAAOuS,EAAMnO,OAAOpE,GAAO,GAAO,EAAQ,EAAGqF,UAAW,SAAUrF,GAAS,OAAOuS,EAAMnO,OAAOpE,GAAO,GAAO,EAAO,EAAGyK,IAAK,SAAUpC,GAAakK,EAAM+I,UAAYjT,CAAW,GACxTN,EAAAA,cAAoB,MAAO,CAAEgD,SAAU0Q,GAAY,EAAI,EAAGjP,KAAM,YAAa,gBAAiB,EAAG,aAActC,KAAKM,MAAMsS,UAAW,mBAAoBV,EAAe,gBAAaxQ,EAAWlO,UAAWmf,EAAYhS,MAAO,CAAE6P,YAAa,QAAUnH,QAASrJ,KAAKqJ,QAASD,OAAQpJ,KAAKoJ,OAAQrH,cAAe/B,KAAK2R,SAAUK,UAAWhS,KAAKgS,WAC7UhS,KAAKM,MAAMsR,KAAKC,aAAehU,EAAAA,cAAoB,MAAO,CAAErK,UAAW,kBAAmBsO,QAAS9B,KAAK8R,cACpGjU,EAAAA,cAAoB0F,EAAU,CAAE/F,KAAMwC,KAAKM,MAAMsR,KAAKC,YAC5CK,EACIlS,KAAKM,MAAMsR,KAAKa,UACXzS,KAAKM,MAAMuS,MAAQ,iBAAmB,kBACtC7S,KAAKM,MAAMuS,MAAQ,kBAAoB,iBAC5C7S,KAAKM,MAAMsR,KAAKa,UACZ,iBACA,oBACR/Q,EAAWkB,KAAM5C,KAAKM,MAAMsR,KAAKC,YACjCK,EACIlS,KAAKM,MAAMsR,KAAKa,UACXzS,KAAKM,MAAMuS,MAAQ1K,EAAAA,IAAmBD,EAAAA,IACtClI,KAAKM,MAAMuS,MAAQ3K,EAAAA,IAAoBC,EAAAA,IAC5CnI,KAAKM,MAAMsR,KAAKa,UACZxK,EAAAA,IACA6K,EAAAA,SACRpR,EAAWjB,KAAM,YAC/B5C,EAAAA,cAAoB,MAAO,CAAErK,UAAW,oBACxCwM,KAAKM,MAAM6E,KAAK0M,aAAehU,EAAAA,cAAoB,MAAO,CAAErK,UAAW,kBAAmBsO,QAAS9B,KAAK+R,cACpGlU,EAAAA,cAAoB0F,EAAU,CAAE/F,KAAMwC,KAAKM,MAAM6E,KAAK0M,YAC5CK,EACIlS,KAAKM,MAAM6E,KAAKsN,UACXzS,KAAKM,MAAMuS,MAAQ,kBAAoB,iBACvC7S,KAAKM,MAAMuS,MAAQ,iBAAmB,kBAC3C7S,KAAKM,MAAM6E,KAAKsN,UACZ,eACA,sBACR/Q,EAAWkB,KAAM5C,KAAKM,MAAM6E,KAAK0M,YACjCK,EACIlS,KAAKM,MAAM6E,KAAKsN,UACXzS,KAAKM,MAAMuS,MAAQ3K,EAAAA,IAAoBC,EAAAA,IACvCnI,KAAKM,MAAMuS,MAAQ1K,EAAAA,IAAmBD,EAAAA,IAC3ClI,KAAKM,MAAM6E,KAAKsN,UACZK,EAAAA,IACA7K,EAAAA,SACRvG,EAAWjB,KAAM,aAC3C,EACO0Q,CACX,CAhKiC,CAgK/BtT,EAAAA,WCrLE4I,GAAyC,WACzC,IAAIC,EAAgB,SAAUlM,EAAGmM,GAI7B,OAHAD,EAAgB5J,OAAO8J,gBAClB,CAAEC,UAAW,cAAgBjK,OAAS,SAAUpC,EAAGmM,GAAKnM,EAAEqM,UAAYF,CAAG,GAC1E,SAAUnM,EAAGmM,GAAK,IAAK,IAAI/G,KAAK+G,EAAO7J,OAAO+C,UAAUpN,eAAeqN,KAAK6G,EAAG/G,KAAIpF,EAAEoF,GAAK+G,EAAE/G,GAAI,EAC7F8G,EAAclM,EAAGmM,EAC5B,EACA,OAAO,SAAUnM,EAAGmM,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOhH,KAAKiH,YAAczM,CAAG,CADtCkM,EAAclM,EAAGmM,GAEjBnM,EAAEqF,UAAkB,OAAN8G,EAAa7J,OAAOoK,OAAOP,IAAMK,EAAGnH,UAAY8G,EAAE9G,UAAW,IAAImH,EACnF,CACJ,CAd6C,GAezC1H,GAAsC,WAStC,OARAA,GAAWxC,OAAOyC,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAInD,UAAUvE,OAAQyH,EAAIC,EAAGD,IAE5C,IAAK,IAAIE,KADTH,EAAIjD,UAAUkD,GACO5C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,KACzDJ,EAAEI,GAAKH,EAAEG,IAEjB,OAAOJ,CACX,EACOF,GAASS,MAAMC,KAAMxD,UAChC,EAIIuW,GAAwC,SAAU3L,GAElD,SAAS2L,IACL,IAAI1K,EAAmB,OAAXjB,GAAmBA,EAAOrH,MAAMC,KAAMxD,YAAcwD,KAMhE,OALAqI,EAAMvG,QAAU,WACRuG,EAAM/H,MAAM0S,UACZ3K,EAAM/H,MAAM0S,SAAS3K,EAAM/H,MAAMkL,MAEzC,EACOnD,CACX,CAwCA,OAjDA5B,GAAUsM,EAAwB3L,GAalC2L,EAAuBlT,UAAUwH,OAAS,WACtC,IAAI7S,EACAE,EAAKsL,KAAKM,MAAOM,EAAKlM,EAAGkM,GAAIqS,EAASve,EAAGue,OAAQ3J,EAAW5U,EAAG4U,SAAU1U,EAAKF,EAAGwe,MAAOA,OAAe,IAAPte,EAAgB,WAAaA,EAAIue,EAAQze,EAAGye,MAAOC,EAAO1e,EAAG0e,KAC7J9S,EAAQ,CACR,GAAMM,EACN,gBAAiBqS,EACjB,gBAAiBrS,EACjB,gBAAiB0I,EACjB,cAAeA,EACf,KAAQ,MACRxH,QAAUwH,OAA0B5H,EAAf1B,KAAK8B,SAE1BuR,EAAchX,EAAW,WAAW7H,EAAK,CAAC,GACvC,WAAa2e,EAChB3e,EAAG,UAAY4e,EACf5e,EAAG,cAAgB8U,EACnB9U,EAAG,YAAcye,EACjBze,IACJ,OAAQqJ,EAAAA,cAAoB,KAAMyB,GAAS,CAAC,EAAGgB,EAAO,CAAE9M,UAAW6f,IAC/DxV,EAAAA,cAAoB,OAAQ,CAAErK,UAAW,UAAY0f,GAC7D,EAIAH,EAAuBxQ,UAAY,CAC/B0Q,OAAQ9T,EAAAA,KACRmK,SAAUnK,EAAAA,KACVqM,MAAOrM,EAAAA,OACP6T,SAAU7T,EAAAA,KACV+T,MAAO/T,EAAAA,UAAoB,CACvBA,EAAAA,OACAA,EAAAA,UAEJgU,MAAOhU,EAAAA,KACPiU,KAAMjU,EAAAA,MAEH4T,CACX,CAnD4C,CAmD1ClV,EAAAA,W,WChFE4I,GAAyC,WACzC,IAAIC,EAAgB,SAAUlM,EAAGmM,GAI7B,OAHAD,EAAgB5J,OAAO8J,gBAClB,CAAEC,UAAW,cAAgBjK,OAAS,SAAUpC,EAAGmM,GAAKnM,EAAEqM,UAAYF,CAAG,GAC1E,SAAUnM,EAAGmM,GAAK,IAAK,IAAI/G,KAAK+G,EAAO7J,OAAO+C,UAAUpN,eAAeqN,KAAK6G,EAAG/G,KAAIpF,EAAEoF,GAAK+G,EAAE/G,GAAI,EAC7F8G,EAAclM,EAAGmM,EAC5B,EACA,OAAO,SAAUnM,EAAGmM,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOhH,KAAKiH,YAAczM,CAAG,CADtCkM,EAAclM,EAAGmM,GAEjBnM,EAAEqF,UAAkB,OAAN8G,EAAa7J,OAAOoK,OAAOP,IAAMK,EAAGnH,UAAY8G,EAAE9G,UAAW,IAAImH,EACnF,CACJ,CAd6C,GAezC1H,GAAsC,WAStC,OARAA,GAAWxC,OAAOyC,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAInD,UAAUvE,OAAQyH,EAAIC,EAAGD,IAE5C,IAAK,IAAIE,KADTH,EAAIjD,UAAUkD,GACO5C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,KACzDJ,EAAEI,GAAKH,EAAEG,IAEjB,OAAOJ,CACX,EACOF,GAASS,MAAMC,KAAMxD,UAChC,EAWIuT,GAAiB,SAAU7P,GAAK,OAAOA,EAAE6P,gBAAkB,EAC3DuD,GAA0B,SAC1BC,GAAO,OACPC,GAAO,OACPC,GAAoC,SAAUrM,GAE9C,SAASqM,EAAmBnT,GACxB,IAAI+H,EAAQjB,EAAOtH,KAAKE,KAAMM,IAAUN,KAuGxC,OAtGAqI,EAAMqL,YAAc7V,EAAAA,YACpBwK,EAAMwK,MAAQ,WAAc,MAA2B,QAApBxK,EAAM/H,MAAM0H,GAAe,EAC9DK,EAAMsL,QAAU,SAAUzT,GACtBA,EAAEsI,kBACF,IAAImG,EAAYzO,EAAE0T,OAAS,EAAIL,GAAOC,GACtCnL,EAAMwL,qBAAqBlF,EAAWzO,EAC1C,EACAmI,EAAMyL,eAAiB,SAAU5T,GAC7BmI,EAAM0L,iBAAiBR,GAAMrT,EACjC,EACAmI,EAAM2L,eAAiB,SAAU9T,GAC7BmI,EAAM0L,iBAAiBP,GAAMtT,EACjC,EACAmI,EAAM0L,iBAAmB,SAAUpF,EAAWzO,GAC1CmI,EAAMwL,qBAAqBlF,EAAWzO,EAC1C,EACAmI,EAAMwL,qBAAuB,SAAUlF,EAAWzO,GAC9C,IAAIxD,EAAO2L,EAAMqL,YAAY1S,QAC7B,GAAKtE,EAAL,CAGA,IAAI3C,EAAasO,EAAM4L,mBACnBC,EAAYna,EAAa2C,EAAKZ,YAAcY,EAAKV,YAAcU,EAAKb,aAAea,EAAKX,aACxFoY,GAAwB,UAAXjU,EAAElK,KAAmBqS,EAAM/H,MAAM8T,kBAAoB/L,EAAM/H,MAAM+T,mBAAqB,EACnGC,EAAiBva,EAAa2C,EAAKrE,WAAaqE,EAAKpE,UACrDic,EAAqBxa,EAAa2C,EAAKZ,YAAcY,EAAKrE,WAAaqE,EAAKb,aAAea,EAAKpE,UAChGkc,EAAwB9X,EAAKZ,cAAkC,EAAnBY,EAAKrE,WACjDgQ,EAAMwK,SAAWxK,EAAM4L,oBACnBtF,IAAc4E,IAAQe,EAAiB,IACvCA,GAAkBH,EAClBK,GAAyBL,GAEzBxF,IAAc6E,IAAQc,EAAiBJ,IACvCI,GAAkBH,EAClBK,GAAyBL,GAE7BG,EAAiBzjB,KAAKG,IAAI,EAAGH,KAAKG,IAAIkjB,EAAWI,MAG7C3F,IAAc4E,IAAQe,EAAiB,IACvCA,GAAkBH,EAClBI,GAAsBJ,GAEtBxF,IAAc6E,IAAQc,EAAiBJ,IACvCI,GAAkBH,EAClBI,GAAsBJ,GAE1BG,EAAiBzjB,KAAKV,IAAI,EAAGU,KAAKG,IAAIkjB,EAAWI,KAErD,IAAIG,EAAmC,IAAnBH,EAChBI,EAA4B,UAAXxU,EAAElK,KAAmBsd,QAA0B5R,EACpE,GAAI3H,EAAY,CACZ,IAAI4a,EAAgBtM,EAAMwK,QACpBhiB,KAAK+jB,MAAMJ,IAA0B9X,EAAKmY,aACrChkB,KAAKikB,MAAMN,IAA0B9X,EAAKmY,YAC/ChkB,KAAK+jB,MAAML,IAAuB7X,EAAKmY,aAClChkB,KAAKikB,MAAMP,IAAuB7X,EAAKmY,YAClDxM,EAAMoJ,SAAS,CACXsD,aAAcN,EACdO,aAAcL,IAElBjY,EAAKuY,SAAS,CAAEnkB,KAAMwjB,EAAgBY,SAAUR,GACpD,MAEIrM,EAAMoJ,SAAS,CACXsD,aAAcN,EACdO,aAAcnkB,KAAK+jB,MAAML,IAAuB7X,EAAKyY,cAC9CtkB,KAAKikB,MAAMP,IAAuB7X,EAAKyY,eAElDzY,EAAKuY,SAAS,CAAErkB,IAAK0jB,EAAgBY,SAAUR,GAjDnD,CAmDJ,EACArM,EAAM+M,YAAc,SAAUpf,EAAMsT,GAChC,IAAIvP,EAAasO,EAAM4L,mBACnBoB,EAAa,CACbzD,KAAM,CACF0D,SAAU,kBACVC,SAAUxb,EACNsO,EAAMwK,QAAU,kBAAoB,iBAClC,eACN9H,QAAShR,EACLsO,EAAMwK,QAAU3K,EAAAA,IAAoBC,EAAAA,IAClC2K,EAAAA,KAEV3N,KAAM,CACFmQ,SAAU,kBACVC,SAAUxb,EACNsO,EAAMwK,QAAU,iBAAmB,kBACjC,iBACN9H,QAAShR,EACLsO,EAAMwK,QAAU1K,EAAAA,IAAmBD,EAAAA,IACjCD,EAAAA,MAGVuN,GAAmBxf,IAASud,GAAOlL,EAAM/H,MAAMmV,WAAapN,EAAM/H,MAAMoV,aAAeC,GAAAA,EACvF7T,EAAW9L,IAASud,GAAOlL,EAAMyL,eAAiBzL,EAAM2L,eAC5D,OAAQnW,EAAAA,cAAoB2X,EAAiB,CAAElM,SAAUA,EAAU9V,UAAW,GAAG+J,OAAO8X,EAAWrf,GAAMsf,UAAWxT,QAASA,EAASc,KAAMyS,EAAWrf,GAAMuf,SAAUxK,QAASsK,EAAWrf,GAAM+U,QAAStJ,YAAasO,GAAgBlP,UAAW,EAAG+U,SAAU,QACnQ,EACAvN,EAAMhU,MAAQ,CACV0gB,aAAuC,IAAzB1M,EAAM/H,MAAMuV,SAC1Bb,aAAc3M,EAAM/H,MAAMuV,WAAahY,EAAAA,SAAAA,MAAqBwK,EAAM/H,MAAMoC,UAAY,GAEjF2F,CACX,CA2GA,OArNA5B,GAAUgN,EAAoBrM,GA8G9BqM,EAAmB5T,UAAU4I,kBAAoB,WACzCzI,KAAKM,MAAMuN,YACX7N,KAAK8V,kBAEb,EAIArC,EAAmB5T,UAAUiJ,mBAAqB,SAAUC,GACxD,IAAIvU,EAAKwL,KAAKM,MAAOuN,EAAarZ,EAAGqZ,WAAYgI,EAAWrhB,EAAGqhB,SAC3DhI,GAAc9E,EAAU8M,WAAaA,IACrC7V,KAAK8V,mBACL9V,KAAKyR,SAAS,CACVsD,aAA2B,IAAbc,EACdb,aAAca,IAAahY,EAAAA,SAAAA,MAAqBmC,KAAKM,MAAMoC,UAAY,IAGnF,EAIA+Q,EAAmB5T,UAAUwH,OAAS,WAClC,IAGI0O,EA7IUC,EA0IVxhB,EAAKwL,KAAKM,MAAOuV,EAAWrhB,EAAGqhB,SAAUI,EAAczhB,EAAGyhB,YAAavT,EAAWlO,EAAGkO,SAAUsQ,EAAWxe,EAAGwe,SAAUhB,EAAYxd,EAAGwd,UACtIkE,EAAYrY,EAAAA,SAAAA,MAAqB6E,GACjCyT,EAAgBtY,EAAAA,SAAAA,QAAuB6E,GAEvCA,IACAqT,GA/IUC,EA+IGE,EA/IatZ,MAAMmD,MAAM,KAAMnD,MAAMoZ,KA+I1B3b,KAAI,SAAU+b,EAAG5K,EAAO6K,GAC5C,IAAIC,EAAW,CACXrD,OAAQ4C,IAAarK,EACrBlC,SAAU6M,EAAc3K,GAAOlL,MAAMgJ,SACrCkC,MAAOA,EACP0H,MAAOiD,EAAc3K,GAAOlL,MAAM4S,MAClCC,MAAiB,IAAV3H,EACP4H,KAAM5H,IAAU6K,EAAMpe,OAAS,EAC/B+a,SAAUA,GAEd,OAAOnV,EAAAA,cAAoBkV,GAAwBzT,GAAS,CAAEtC,IAAKwO,GAAS8K,GAChF,KAEJ,IAAIC,EAAiBla,EAAW,2BAA4B,CACxD,WAA4B,QAAhB4Z,GAAyC,WAAhBA,EACrC,WAA4B,SAAhBA,GAA0C,UAAhBA,IAEtCO,EAAana,EAAW,mBAAoB,WAChD,OAAQwB,EAAAA,cAAoB,MAAO,CAAErK,UAAW+iB,GAAkBvW,KAAKM,MAAMuN,WAAchQ,EAAAA,cAAoBA,EAAAA,SAAgB,KAC3HmC,KAAKoV,YAAY7B,GAAMvT,KAAK3L,MAAM0gB,cAClClX,EAAAA,cAAoB,KAAM,CAAE0C,IAAKP,KAAK0T,YAAalgB,UAAWgjB,EAAYlU,KAAM,UAAWzB,SAAUb,KAAKM,MAAMO,SAAUmR,UAAWA,EAAW2B,QAAS3T,KAAK2T,SAAWoC,GACzK/V,KAAKoV,YAAY5B,GAAMxT,KAAK3L,MAAM2gB,eAAmBnX,EAAAA,cAAoB,KAAM,CAAErK,UAAWgjB,EAAYlU,KAAM,UAAWzB,SAAUb,KAAKM,MAAMO,SAAUmR,UAAWA,GAAa+D,GACxL,EACAtC,EAAmB5T,UAAUiW,iBAAmB,WAC5C,IAAIthB,EAAIE,EAAIE,EAAIE,EACZ4H,EAAOsD,KAAK0T,YAAY1S,QACxByV,EAAM/Z,GAAQA,EAAKgG,SAAS1C,KAAKM,MAAMuV,UAAY,GACvD,GAAIY,aAAeC,aAAeha,aAAgBga,YAAa,CAC3D,IAmBQC,EAnBJ5c,EAAaiG,KAAKiU,mBAClB2C,EAAW7c,EAAa2C,EAAKV,YAAcU,EAAKX,aAChD8a,EAAU9c,EAAa0c,EAAIza,YAAcya,EAAI1a,aAC7C+a,EAAY/c,EAAa,OAAS,MAClCgd,EAAsBhd,EAAa2C,EAAKrE,WAAaqE,EAAKpE,UAC1Dgc,EAAiB,EACrB,GAAItU,KAAK6S,QAELkE,IAA6C,GADzCJ,EAAYF,EAAIO,YAEJ,GACZ1C,EAAiBqC,EAAYE,EAAUna,EAAKsa,WAC5Cta,EAAKuY,WAAUzgB,EAAK,CAAC,GAAMsiB,GAAaxC,EAAgB9f,EAAG0gB,SAAW5B,GAAyB9e,KAE1FmiB,EAAYE,EAAUD,EAAWG,IACtCzC,EAAiByC,EAAsBJ,EAAYE,EACnDna,EAAKuY,WAAUvgB,EAAK,CAAC,GAAMoiB,GAAaxC,EAAgB5f,EAAGwgB,SAAW5B,GAAyB5e,UAK/FqiB,EAAsBH,GADtBD,EAAY5c,EAAa0c,EAAIO,WAAata,EAAKsa,WAAaP,EAAIQ,UAAYva,EAAKua,WACpCJ,GAC7CvC,EAAiBqC,EAAYE,EAAUD,EACvCla,EAAKuY,WAAUrgB,EAAK,CAAC,GAAMkiB,GAAaxC,EAAgB1f,EAAGsgB,SAAW5B,GAAyB1e,KAE1FmiB,EAAsBJ,IAC3BrC,EAAiBqC,EACjBja,EAAKuY,WAAUngB,EAAK,CAAC,GAAMgiB,GAAaxC,EAAgBxf,EAAGogB,SAAW5B,GAAyBxe,IAG3G,CACJ,EACA2e,EAAmB5T,UAAUoU,iBAAmB,WAC5C,MAAO,aAAale,KAAKiK,KAAKM,MAAM2V,aAAe,MACvD,EAKAxC,EAAmBlR,UAAY,CAC3BG,SAAUvD,EAAAA,UAAoB,CAC1BA,EAAAA,QACAA,EAAAA,QAAkBA,EAAAA,WAEtB6T,SAAU7T,EAAAA,KACV6S,UAAW7S,EAAAA,KACX0W,SAAU1W,EAAAA,OACV0B,SAAU1B,EAAAA,QAEPsU,CACX,CAvNwC,CAuNtC5V,EAAAA,W,WC/PE4I,GAAyC,WACzC,IAAIC,EAAgB,SAAUlM,EAAGmM,GAI7B,OAHAD,EAAgB5J,OAAO8J,gBAClB,CAAEC,UAAW,cAAgBjK,OAAS,SAAUpC,EAAGmM,GAAKnM,EAAEqM,UAAYF,CAAG,GAC1E,SAAUnM,EAAGmM,GAAK,IAAK,IAAI/G,KAAK+G,EAAO7J,OAAO+C,UAAUpN,eAAeqN,KAAK6G,EAAG/G,KAAIpF,EAAEoF,GAAK+G,EAAE/G,GAAI,EAC7F8G,EAAclM,EAAGmM,EAC5B,EACA,OAAO,SAAUnM,EAAGmM,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOhH,KAAKiH,YAAczM,CAAG,CADtCkM,EAAclM,EAAGmM,GAEjBnM,EAAEqF,UAAkB,OAAN8G,EAAa7J,OAAOoK,OAAOP,IAAMK,EAAGnH,UAAY8G,EAAE9G,UAAW,IAAImH,EACnF,CACJ,CAd6C,GAezC1H,GAAsC,WAStC,OARAA,GAAWxC,OAAOyC,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAInD,UAAUvE,OAAQyH,EAAIC,EAAGD,IAE5C,IAAK,IAAIE,KADTH,EAAIjD,UAAUkD,GACO5C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,KACzDJ,EAAEI,GAAKH,EAAEG,IAEjB,OAAOJ,CACX,EACOF,GAASS,MAAMC,KAAMxD,UAChC,EACIyD,GAAkC,SAAUR,EAAGS,GAC/C,IAAIV,EAAI,CAAC,EACT,IAAK,IAAII,KAAKH,EAAO3C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,IAAMM,EAAEzM,QAAQmM,GAAK,IAC9EJ,EAAEI,GAAKH,EAAEG,IACb,GAAS,MAALH,GAAqD,oBAAjC3C,OAAOqD,sBACtB,KAAIT,EAAI,EAAb,IAAgBE,EAAI9C,OAAOqD,sBAAsBV,GAAIC,EAAIE,EAAE3H,OAAQyH,IAC3DQ,EAAEzM,QAAQmM,EAAEF,IAAM,GAAK5C,OAAO+C,UAAUO,qBAAqBN,KAAKL,EAAGG,EAAEF,MACvEF,EAAEI,EAAEF,IAAMD,EAAEG,EAAEF,IAF4B,CAItD,OAAOF,CACX,EAKI0X,GAAsB,SAAU9P,GAEhC,SAAS8P,IACL,OAAkB,OAAX9P,GAAmBA,EAAOrH,MAAMC,KAAMxD,YAAcwD,IAC/D,CAmCA,OAtCAyG,GAAUyQ,EAAM9P,GAOhB8P,EAAKrX,UAAUwH,OAAS,WACpB,IAAI7S,EAAKwL,KAAKM,MAAOoC,EAAWlO,EAAGkO,SAAUyU,EAAQlX,GAAOzL,EAAI,CAAC,aAIjE,OAAQqJ,EAAAA,cAAoBuZ,GAAAA,EAAW9X,GAAS,CAAC,EAH5B,CACjB+X,eAAgB,QAEgDF,GAAQzU,EAChF,EAIAwU,EAAK3U,UAAY,CACbG,SAAUvD,EAAAA,UAAoB,CAC1BA,EAAAA,QAAkBA,EAAAA,MAClBA,EAAAA,OAEJmY,aAAcnY,EAAAA,IACd3L,UAAW2L,EAAAA,OACXhB,UAAWgB,EAAAA,OACXyB,GAAIzB,EAAAA,OACJwB,MAAOxB,EAAAA,KAKX+X,EAAKhW,aAAe,CAChBqW,QAAQ,EACRC,OAAO,EACPC,MAAM,EACNC,wBAAyB,IACzBC,uBAAwB,KAErBT,CACX,CAxC0B,CAwCxBrZ,EAAAA,WC7ES+Z,GAAO,WACd,IACIlY,EACAmY,EAFAjX,EAAK,GAGT,IAAKlB,EAAI,EAAGA,EAAI,GAAIA,IAChBmY,EAAyB,GAAhBhnB,KAAKgnB,SAAgB,EACpB,IAANnY,GAAiB,KAANA,GAAkB,KAANA,GAAkB,KAANA,IACnCkB,GAAM,KAEVA,IAAa,KAANlB,EAAW,EAAW,KAANA,EAAqB,EAATmY,EAAa,EAAKA,GAASvS,SAAS,IAE3E,OAAO1E,CACX,EChBI6F,GAAyC,WACzC,IAAIC,EAAgB,SAAUlM,EAAGmM,GAI7B,OAHAD,EAAgB5J,OAAO8J,gBAClB,CAAEC,UAAW,cAAgBjK,OAAS,SAAUpC,EAAGmM,GAAKnM,EAAEqM,UAAYF,CAAG,GAC1E,SAAUnM,EAAGmM,GAAK,IAAK,IAAI/G,KAAK+G,EAAO7J,OAAO+C,UAAUpN,eAAeqN,KAAK6G,EAAG/G,KAAIpF,EAAEoF,GAAK+G,EAAE/G,GAAI,EAC7F8G,EAAclM,EAAGmM,EAC5B,EACA,OAAO,SAAUnM,EAAGmM,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOhH,KAAKiH,YAAczM,CAAG,CADtCkM,EAAclM,EAAGmM,GAEjBnM,EAAEqF,UAAkB,OAAN8G,EAAa7J,OAAOoK,OAAOP,IAAMK,EAAGnH,UAAY8G,EAAE9G,UAAW,IAAImH,EACnF,CACJ,CAd6C,GAezC1H,GAAsC,WAStC,OARAA,GAAWxC,OAAOyC,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAInD,UAAUvE,OAAQyH,EAAIC,EAAGD,IAE5C,IAAK,IAAIE,KADTH,EAAIjD,UAAUkD,GACO5C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,KACzDJ,EAAEI,GAAKH,EAAEG,IAEjB,OAAOJ,CACX,EACOF,GAASS,MAAMC,KAAMxD,UAChC,EAKIsb,GAAiC,SAAU1Q,GAE3C,SAAS0Q,IACL,IAAIzP,EAAmB,OAAXjB,GAAmBA,EAAOrH,MAAMC,KAAMxD,YAAcwD,KAKhE,OAJAqI,EAAM0P,UAAYH,KAClBvP,EAAMiP,aAAe,SAAUU,GAC3B,OAAOna,EAAAA,aAAmBma,EAAO1Y,GAASA,GAAS,CAAC,EAAG0Y,EAAM1X,OAAQ,CAAE2X,GAAID,EAAM1X,MAAMoC,SAASpC,MAAMM,KAAOmG,OAAOsB,EAAM0P,UAAY1P,EAAM/H,MAAMuV,YACtJ,EACOxN,CACX,CAqDA,OA7DA5B,GAAUqR,EAAiB1Q,GAY3B0Q,EAAgBjY,UAAUwH,OAAS,WAC/B,IAAI7S,EAAKwL,KAAKM,MAAOoC,EAAWlO,EAAGkO,SAAUmT,EAAWrhB,EAAGqhB,SACvDqC,EAAcxV,GAAgC,kBAAbmT,GACjChY,EAAAA,SAAAA,QAAuB6E,GAAUmT,GACjCsC,EAAiB9b,EAAW,YAAa,WAAY6b,GAAeA,EAAY5X,MAAM8X,kBAC1F,OAAQva,EAAAA,cAAoB,MAAO,CAAErK,UAAW2kB,EAAgBxX,MAAOX,KAAKM,MAAMK,OAASX,KAAK0J,cAAchH,GAClH,EACAoV,EAAgBjY,UAAU6J,cAAgB,SAAUhH,GAChD,IAAI2F,EAAQrI,KACZ,OAAQA,KAAKM,MAAM+X,gBAEbxa,EAAAA,SAAAA,IAAmBmC,KAAKM,MAAMoC,UAAU,SAAU+T,EAAKrE,GACrD,OAAO/J,EAAMiQ,YAAY7B,EAAKrE,EAClC,IAHEpS,KAAKsY,YAAYza,EAAAA,SAAAA,QAAuB6E,GAAU1C,KAAKM,MAAMuV,UAAW7V,KAAKM,MAAMuV,SAI7F,EACAiC,EAAgBjY,UAAUyY,YAAc,SAAU7B,EAAKrE,GACnD,IAAImG,EAAUnG,IAAQpS,KAAKM,MAAMuV,SAC7B2C,EAAe,CACf,KAAQ,WACR,iBAAiB,EACjB,kBAAmBpG,EAAI9M,WACvB,MAAS,CACL,QAAWiT,OAAU7W,EAAY,SAGrC+W,EAAiB,CACjBC,SAAU,UACVC,QAASJ,OAAU7W,EAAY,QAEnC,OAAI+U,EAAInW,MAAMgJ,SACH,KAEJtJ,KAAKM,MAAMsY,UACX/a,EAAAA,cAAoBqZ,GAAM,CAAEK,QAAQ,EAAME,KAAMzX,KAAKM,MAAM+X,gBAAiB1X,MAAO8X,EAAgBnB,aAActX,KAAKM,MAAM+X,gBAAkBrY,KAAKsX,kBAAe5V,GACjK7D,EAAAA,cAAoB,MAAOyB,GAAS,CAAC,EAAGkZ,EAAc,CAAE5X,GAAImG,OAAO/G,KAAK+X,UAAY3F,GAAMpV,IAAKoV,IAAQqE,EAAInW,MAAMoC,WAClH7E,EAAAA,cAAoB,MAAOyB,GAAS,CAAC,EAAGkZ,EAAc,CAAExb,IAAKoV,IAAQqE,EAAInW,MAAMoC,SAC1F,EAIAoV,EAAgBvV,UAAY,CACxBqW,UAAWzZ,EAAAA,KACXuD,SAAUvD,EAAAA,UAAoB,CAC1BA,EAAAA,QACAA,EAAAA,QAAkBA,EAAAA,WAEtB0W,SAAU1W,EAAAA,OACVwB,MAAOxB,EAAAA,QAEJ2Y,CACX,CA/DqC,CA+DnCja,EAAAA,W,WCzFK,SAASV,GAAgBC,GAC5B,GAAyB,qBAAdC,GACPA,GAAAA,gBAA0BD,OAEzB,CACD,IAAIE,EAAU,iCAAiCC,OAAOH,EAAgBI,KAAM,MAC5EF,GAAW,wDACXA,GAAW,OAAOC,OAAOH,EAAgBK,iBAAkB,4BAC3DC,QAAQC,KAAKL,EACjB,CACJ,CCXO,IAAIF,GAAkB,CACzBI,KAAM,+BACNqb,YAAa,aACbC,aAAc,CAAC,eAAgB,mBAC/BC,YAAa,WACbnmB,QAAS,GACT6K,iBAAkB,yJCTlBgJ,GAAyC,WACzC,IAAIC,EAAgB,SAAUlM,EAAGmM,GAI7B,OAHAD,EAAgB5J,OAAO8J,gBAClB,CAAEC,UAAW,cAAgBjK,OAAS,SAAUpC,EAAGmM,GAAKnM,EAAEqM,UAAYF,CAAG,GAC1E,SAAUnM,EAAGmM,GAAK,IAAK,IAAI/G,KAAK+G,EAAO7J,OAAO+C,UAAUpN,eAAeqN,KAAK6G,EAAG/G,KAAIpF,EAAEoF,GAAK+G,EAAE/G,GAAI,EAC7F8G,EAAclM,EAAGmM,EAC5B,EACA,OAAO,SAAUnM,EAAGmM,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOhH,KAAKiH,YAAczM,CAAG,CADtCkM,EAAclM,EAAGmM,GAEjBnM,EAAEqF,UAAkB,OAAN8G,EAAa7J,OAAOoK,OAAOP,IAAMK,EAAGnH,UAAY8G,EAAE9G,UAAW,IAAImH,EACnF,CACJ,CAd6C,GAezC1H,GAAsC,WAStC,OARAA,GAAWxC,OAAOyC,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAInD,UAAUvE,OAAQyH,EAAIC,EAAGD,IAE5C,IAAK,IAAIE,KADTH,EAAIjD,UAAUkD,GACO5C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,KACzDJ,EAAEI,GAAKH,EAAEG,IAEjB,OAAOJ,CACX,EACOF,GAASS,MAAMC,KAAMxD,UAChC,EAOIwc,GAA0B,SAAU5R,GAEpC,SAAS4R,EAAS1Y,GACd,IAAI9L,EACA6T,EAAQjB,EAAOtH,KAAKE,KAAMM,IAAUN,KA0HxC,OAzHAqI,EAAM4Q,SAAW,KACjB5Q,EAAM6Q,aAAc1kB,EAAK,CAAC,GACnBiX,IAAa,WAAc,OAAOpD,EAAM8Q,oBAAsB,EACjE3kB,EAAGiX,IAAc,WAAc,OAAOpD,EAAM+Q,oBAAsB,EAClE5kB,EAAGiX,IAAa,WAAc,OAAOpD,EAAM+Q,oBAAsB,EACjE5kB,EAAGiX,IAAW,WAAc,OAAOpD,EAAM8Q,oBAAsB,EAC/D3kB,EAAGiX,IAAa,WAAc,OAAO,CAAG,EACxCjX,EAAGiX,IAAY,WAAc,OAAQ5N,EAAAA,SAAAA,MAAqBwK,EAAM/H,MAAMoC,UAAY,CAAI,EACtFlO,GAIJ6T,EAAM2K,SAAW,SAAUxH,GACnBnD,EAAM/H,MAAMuV,WAAarK,GACrBnD,EAAM/H,MAAM0S,UACZ3K,EAAM/H,MAAM0S,SAAS,CACjB6C,SAAUrK,GAI1B,EAIAnD,EAAM2J,UAAY,SAAUlc,GACxB,IAAIujB,EACJ,OAAQvjB,EAAMmc,SACV,KAAKxG,GACD4N,EAAUhR,EAAM6Q,WAAW7Q,EAAMiR,WAAW7N,GAAWA,KACvD,MACJ,KAAKA,GACD4N,EAAUhR,EAAM6Q,WAAW7Q,EAAMiR,WAAW7N,GAAYA,KACxD,MACJ,KAAKA,GACD4N,EAAUhR,EAAM6Q,WAAWzN,IAC3B,MACJ,KAAKA,GACD4N,EAAUhR,EAAM6Q,WAAWzN,IAC3B,MACJ,KAAKA,GACD4N,EAAUhR,EAAM6Q,WAAWzN,IAC3B,MACJ,KAAKA,GACD4N,EAAUhR,EAAM6Q,WAAWzN,IAK/B4N,IACAvjB,EAAMia,iBACN1H,EAAM2K,SAASqG,KAEvB,EACAhR,EAAMqB,cAAgB,SAAU4M,GAC5B,IAAIT,EAAWS,EAAST,SAAUnT,EAAW4T,EAAS5T,SAAU6W,EAAkBjD,EAASiD,gBAE3F,OAAI1D,EADgBhY,EAAAA,SAAAA,MAAqB6E,IACTmT,GAAY,EAChChY,EAAAA,cAAoBia,GAAiBxY,GAAS,CAAEkM,MAAOqK,GAAYS,EAAU,CAAE3V,MAAO4Y,KAE3F,IACX,EACAlR,EAAMmR,oBAAsB,WACxB,IAAI9W,EAAW2F,EAAM3F,WACjBzK,EAAS4F,EAAAA,SAAAA,MAAqB6E,GAClC,GAAIA,EACA,IAAK,IAAIhD,EAAI,EAAGA,EAAIzH,EAAQyH,IACxB,IAAKgD,EAAShD,GAAGY,MAAMgJ,SACnB,OAAO5J,CAIvB,EACA2I,EAAMoR,mBAAqB,WACvB,IAAI/W,EAAW2F,EAAM3F,WACjBzK,EAAS4F,EAAAA,SAAAA,MAAqB6E,GAClC,GAAIA,EACA,IAAK,IAAIhD,EAAIzH,EAAS,EAAGyH,EAAI,EAAGA,IAC5B,IAAKgD,EAAShD,GAAGY,MAAMgJ,SACnB,OAAO5J,CAIvB,EACA2I,EAAM8Q,mBAAqB,WACvB,IAAIzW,EAAW2F,EAAM3F,WACjBmT,EAAWxN,EAAM/H,MAAMuV,SACvBrK,EAAQqK,EAAWA,EAAW,GAAK,EACvC,GAAIrK,EAAQ,EACR,OAAOnD,EAAMoR,qBAEjB,GAAI/W,EACA,IAAK,IAAIhD,EAAI8L,EAAO9L,GAAK,EAAGA,IAAK,CAC7B,IAAKgD,EAAShD,GAAGY,MAAMgJ,SACnB,OAAO5J,EAEX,GAAU,IAANA,EACA,OAAO2I,EAAMoR,oBAErB,CAER,EACApR,EAAM+Q,mBAAqB,WACvB,IAAI1W,EAAW2F,EAAM3F,WACjBmT,EAAWxN,EAAM/H,MAAMuV,SACvBrK,EAAQqK,EAAWA,EAAW,EAAI,EAClC6D,EAAgB7b,EAAAA,SAAAA,MAAqB6E,GACzC,GAAI8I,GAASkO,EACT,OAAOrR,EAAMmR,sBAEjB,GAAI9W,EACA,IAAK,IAAIhD,EAAI8L,EAAO9L,EAAIga,EAAeha,IAAK,CACxC,IAAKgD,EAAShD,GAAGY,MAAMgJ,SACnB,OAAO5J,EAEX,GAAIA,EAAI,IAAMga,EACV,OAAOrR,EAAMmR,qBAErB,CAER,EACArc,GAAgBC,IACTiL,CACX,CAqDA,OAnLA5B,GAAUuS,EAAU5R,GAkIpB4R,EAASnZ,UAAUwH,OAAS,WACxB,IAAIgB,EAAQrI,KACRsW,EAAWhX,GAASA,GAAS,CAAC,EAAGU,KAAKM,OAAQ,CAAEoC,SAAU1C,KAAK0C,WAAYsP,UAAWhS,KAAKgS,UAAWgB,SAAUhT,KAAKgT,WACrHiD,EAAcK,EAASL,YAAazhB,EAAK8hB,EAASzV,SAAUA,OAAkB,IAAPrM,EAAgB,EAAIA,EAC3FtD,EAAyB,WAAhB+kB,EACT0D,EAAmBtd,EAAW,aAAc,CAC5C,kBAAmC,SAAhB4Z,EACnB,mBAAoC,UAAhBA,EACpB,oBAAqC,WAAhBA,EACrB,iBAAkC,QAAhBA,EAClB,wBAAyBjW,KAAKM,MAAMuN,YACrC7N,KAAKM,MAAM9M,WACd,OAAQqK,EAAAA,cAAoB,MAAO,CAAE+C,GAAIZ,KAAKM,MAAMM,GAAIL,IAAK,SAAUqZ,GAAO,OAAOvR,EAAM4Q,SAAWW,CAAK,EAAG5R,IAAKhI,KAAKM,MAAM0H,IAAKxU,UAAWmmB,EAAkBhZ,MAAOX,KAAKM,MAAMK,QAC7KzP,GAAU2M,EAAAA,cAAoB4V,GAAoBnU,GAAS,CAAC,EAAGgX,EAAU,CAAEzV,SAAUA,KACtFb,KAAK0J,cAAc4M,GACnBplB,GAAU2M,EAAAA,cAAoB4V,GAAoBnU,GAAS,CAAC,EAAGgX,EAAU,CAAEzV,SAAUA,KAC7F,EACAmY,EAASnZ,UAAUyZ,WAAa,SAAUO,EAAUC,GAEhD,OADU9Z,KAAKiZ,UAA2D,QAA9CtlB,iBAAiBqM,KAAKiZ,UAAUtK,YAAwB,EACvEmL,EAAWD,CAC5B,EACAb,EAASnZ,UAAU6C,SAAW,WAC1B,OAAO7E,EAAAA,SAAAA,QAAuBmC,KAAKM,MAAMoC,UAAUnI,QAAO,SAAUwf,GAAK,OAAOA,CAAG,GACvF,EAIAf,EAASzW,UAAY,CACjBqW,UAAWzZ,EAAAA,KACXuD,SAAUvD,EAAAA,KACV6T,SAAU7T,EAAAA,KACV0W,SAAU1W,EAAAA,OACVwB,MAAOxB,EAAAA,OACPoa,gBAAiBpa,EAAAA,OACjB8W,YAAa9W,EAAAA,OACb0B,SAAU1B,EAAAA,OACV3L,UAAW2L,EAAAA,OACX6I,IAAK7I,EAAAA,QAKT6Z,EAAS9X,aAAe,CACpB0X,WAAW,EACX3C,YAAa,MACboC,iBAAiB,EACjBjE,kBAAmB,IACnBC,iBAAkB,IAEf2E,CACX,CArL8B,CAqL5Bnb,EAAAA,WCrNE4I,GAAyC,WACzC,IAAIC,EAAgB,SAAUlM,EAAGmM,GAI7B,OAHAD,EAAgB5J,OAAO8J,gBAClB,CAAEC,UAAW,cAAgBjK,OAAS,SAAUpC,EAAGmM,GAAKnM,EAAEqM,UAAYF,CAAG,GAC1E,SAAUnM,EAAGmM,GAAK,IAAK,IAAI/G,KAAK+G,EAAO7J,OAAO+C,UAAUpN,eAAeqN,KAAK6G,EAAG/G,KAAIpF,EAAEoF,GAAK+G,EAAE/G,GAAI,EAC7F8G,EAAclM,EAAGmM,EAC5B,EACA,OAAO,SAAUnM,EAAGmM,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOhH,KAAKiH,YAAczM,CAAG,CADtCkM,EAAclM,EAAGmM,GAEjBnM,EAAEqF,UAAkB,OAAN8G,EAAa7J,OAAOoK,OAAOP,IAAMK,EAAGnH,UAAY8G,EAAE9G,UAAW,IAAImH,EACnF,CACJ,CAd6C,GAiBzCgT,GAA6B,SAAU5S,GAEvC,SAAS4S,IACL,OAAkB,OAAX5S,GAAmBA,EAAOrH,MAAMC,KAAMxD,YAAcwD,IAC/D,CAuBA,OA1BAyG,GAAUuT,EAAa5S,GAOvB4S,EAAYna,UAAUwH,OAAS,WAC3B,OAAO,IACX,EAIA2S,EAAYzX,UAAY,CACpB+G,SAAUnK,EAAAA,KACViZ,iBAAkBjZ,EAAAA,OAClBuD,SAAUvD,EAAAA,UAAoB,CAC1BA,EAAAA,QACAA,EAAAA,OAEJ+T,MAAO/T,EAAAA,UAAoB,CACvBA,EAAAA,OACAA,EAAAA,QACAA,EAAAA,QAGD6a,CACX,CA5BiC,CA4B/Bnc,EAAAA,W,WC7CE4I,GAAyC,WACzC,IAAIC,EAAgB,SAAUlM,EAAGmM,GAI7B,OAHAD,EAAgB5J,OAAO8J,gBAClB,CAAEC,UAAW,cAAgBjK,OAAS,SAAUpC,EAAGmM,GAAKnM,EAAEqM,UAAYF,CAAG,GAC1E,SAAUnM,EAAGmM,GAAK,IAAK,IAAI/G,KAAK+G,EAAO7J,OAAO+C,UAAUpN,eAAeqN,KAAK6G,EAAG/G,KAAIpF,EAAEoF,GAAK+G,EAAE/G,GAAI,EAC7F8G,EAAclM,EAAGmM,EAC5B,EACA,OAAO,SAAUnM,EAAGmM,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOhH,KAAKiH,YAAczM,CAAG,CADtCkM,EAAclM,EAAGmM,GAEjBnM,EAAEqF,UAAkB,OAAN8G,EAAa7J,OAAOoK,OAAOP,IAAMK,EAAGnH,UAAY8G,EAAE9G,UAAW,IAAImH,EACnF,CACJ,CAd6C,GAezC1H,GAAsC,WAStC,OARAA,GAAWxC,OAAOyC,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAInD,UAAUvE,OAAQyH,EAAIC,EAAGD,IAE5C,IAAK,IAAIE,KADTH,EAAIjD,UAAUkD,GACO5C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,KACzDJ,EAAEI,GAAKH,EAAEG,IAEjB,OAAOJ,CACX,EACOF,GAASS,MAAMC,KAAMxD,UAChC,EAsBA,IAAIyd,GAA8B,SAAU7S,GAExC,SAAS6S,EAAa3Z,GAClB,IAAI+H,EAAQjB,EAAOtH,KAAKE,KAAMM,IAAUN,KAoBxC,OAnBAqI,EAAM6R,gBAAkB,WACpB,IAAI1lB,EAAK6T,EAAM/H,MAAO0S,EAAWxe,EAAGwe,SAAU1J,EAAW9U,EAAG8U,SAAU1I,EAAKpM,EAAGoM,GAC1EoS,IAAa1J,GACb0J,EAASlT,UAAK4B,EAAW,CACrByY,iBAAkB9R,EAAM/H,MAAM6Z,iBAC9BvZ,GAAIA,EACJpQ,OAAQ6X,GAGpB,EACAA,EAAMiP,aAAe,SAAUU,GAC3B,OAAI3P,EAAM/H,MAAM8Z,iBACLvc,EAAAA,aAAmBma,EAAO1Y,GAASA,GAAS,CAAC,EAAG0Y,EAAM1X,OAAQ,CAAE2X,GAAI5P,EAAM/H,MAAM+Z,YAEpFrC,CACX,EACA3P,EAAMhU,MAAQ,CACVmW,KAAMlK,EAAM+Z,WAAY,GAErBhS,CACX,CA+EA,OAtGA5B,GAAUwT,EAAc7S,GA2BxB6S,EAAapa,UAAUwH,OAAS,WAC5B,IAAIgB,EAAQrI,KACRxL,EAAKwL,KAAKM,MAAOM,EAAKpM,EAAGoM,GAAI8B,EAAWlO,EAAGkO,SAAUwQ,EAAQ1e,EAAG0e,MAAOiH,EAAmB3lB,EAAG2lB,iBAAkB7Q,EAAW9U,EAAG8U,SAAUuM,EAAWrhB,EAAGqhB,SAAUnE,EAAUld,EAAGkd,QAAS2I,EAAW7lB,EAAG6lB,SAAU7mB,EAAYgB,EAAGhB,UAAW8mB,EAAQ9lB,EAAG8lB,MAAOC,EAAkB/lB,EAAG+lB,gBAAiB3B,EAAYpkB,EAAGokB,UAAWwB,EAAmB5lB,EAAG4lB,iBAC/UI,EAA6B,CAC7B,KAAQ,WACR,gBAAiBlR,EACjB,eAAgBA,IAAa+Q,EAC7B,iBAAkB/Q,GAAYuM,EAC9B,iBAAkBvM,GAAY+Q,KAAc3X,GAE5C+X,EAAwBpe,EAAW,kBAAmB,CACtD,oBAA+B,IAAVie,EACrB,aAAcD,KAAc3X,EAC5B,aAAc4G,GACf,WAAW/L,OAAO+c,GAAQ9mB,GACzBknB,EAAwBre,EAAW,SAAU,CAC7C,cAAeiN,GAAYuM,EAC3B,WAAYvM,GAAYoI,GACzB6I,GAEC3X,EA7DZ,SAAqBpO,GACjB,IAAImmB,EAAWnmB,EAAGmmB,SAAU/X,EAAOpO,EAAGoO,KAAMmI,EAAUvW,EAAGuW,QAAS/L,EAAYxK,EAAGwK,UACjF,OAAI2b,EACQ9c,EAAAA,cAAoB,MAAO,CAAEyE,KAAM,eAAgB9O,UAAW,+BAAgConB,IAAKD,IAEtG/X,GAAQmI,EACLlN,EAAAA,cAAoB0F,EAAU,CAAE/P,UAAW,uBAAwBgK,KAAMoF,EAAMA,KAAMmI,IAExF/L,EACGnB,EAAAA,cAAoB,OAAQ,CAAEyE,KAAM,eAAgB9O,UAAW,wBAA0BwL,IAE9F,IACX,CAiDmB6b,CAAY7a,KAAKM,OACxBwa,GAAUxR,GAAY5G,EACnB7E,EAAAA,cAAoB0F,EAAU,CAAE/F,KAAM6c,EAAW,aAAe,eAAgBzX,KAAMyX,EAAWU,EAAAA,IAAgBC,EAAAA,IAAiBxnB,UAAW6I,EAAW,oBAAqBge,EACtK,sBACA,uBACR,KAEFjb,GADWkK,GAAY+Q,GACHD,EACjBvc,EAAAA,cAAoB,KAAM,CAAEyE,KAAM,QAAS,gBAAiB+X,EAAU,eAAgBA,EAAU7mB,UAAW,mCAAoCmN,MAAO,CAAEgY,QAASyB,EACrJpa,KAAK3L,MAAMmW,KAAO,QAAU,OAC7B,UAAa9H,GACzB,KACFsV,OAAwBtW,IAAdkX,IAA0BA,GAAsBtP,IAAY5G,EAEpEtD,EADCvB,EAAAA,cAAoBod,GAAAA,EAAQ,CAAEvD,wBAAyB,IAAKC,uBAAwB,IAAK3a,IAAKmd,EAAmB,aAAcxZ,MAdjH,CAAEgY,QAAS,SAc6HjW,SAAUtD,EAASkY,aAAc8C,GAAoBpa,KAAKsX,aAAc4D,eAAgBd,EAAkBe,cAAe,WAAc,OAAOf,GAAoB/R,EAAMoJ,SAAS,CAAEjH,MAAM,GAAS,EAAG4Q,cAAe,WAAc,OAAOhB,GAAoB/R,EAAMoJ,SAAS,CAAEjH,MAAM,GAAU,IAE3b,OAAQ3M,EAAAA,cAAoB,KAAMyB,GAAS,CAAEsB,GAAIA,EAAIpN,UAAWinB,GAAyBD,GACrF3c,EAAAA,cAAoB,OAAQ,CAAErK,UAAWknB,EAAuB5Y,QAAS9B,KAAKka,iBAC1EtX,EACA/E,EAAAA,cAAoB,OAAQ,CAAErK,UAAW,wBAA0B0f,GACnE4H,GACJ9C,EACR,EAIAiC,EAAa1X,UAAY,CACrBqW,UAAWzZ,EAAAA,KACXuD,SAAUvD,EAAAA,IACV3L,UAAW2L,EAAAA,OACXyD,KAAMzD,EAAAA,OACNH,UAAWG,EAAAA,OACXwb,SAAUxb,EAAAA,OACV4L,QAAS7L,EACTmb,SAAUlb,EAAAA,KACVmK,SAAUnK,EAAAA,KACV6T,SAAU7T,EAAAA,KACV0W,SAAU1W,EAAAA,KACVmb,MAAOnb,EAAAA,OACP+T,MAAO/T,EAAAA,UAAoB,CACvBA,EAAAA,OACAA,EAAAA,UAEJyB,GAAIzB,EAAAA,UAAoB,CACpBA,EAAAA,OACAA,EAAAA,SAEJuS,QAASvS,EAAAA,KACTib,iBAAkBjb,EAAAA,MAKtB8a,EAAa/Y,aAAe,CACxBgS,MAAO,YAEJ+G,CACX,CAxGkC,CAwGhCpc,EAAAA,eCvJEyB,GAAsC,WAStC,OARAA,GAAWxC,OAAOyC,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAInD,UAAUvE,OAAQyH,EAAIC,EAAGD,IAE5C,IAAK,IAAIE,KADTH,EAAIjD,UAAUkD,GACO5C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,KACzDJ,EAAEI,GAAKH,EAAEG,IAEjB,OAAOJ,CACX,EACOF,GAASS,MAAMC,KAAMxD,UAChC,EACI6e,GAAgD,SAAUC,EAAIC,EAAMC,GACpE,GAAIA,GAA6B,IAArBhf,UAAUvE,OAAc,IAAK,IAA4BwjB,EAAxB/b,EAAI,EAAGgc,EAAIH,EAAKtjB,OAAYyH,EAAIgc,EAAGhc,KACxE+b,GAAQ/b,KAAK6b,IACRE,IAAIA,EAAK7e,MAAMiD,UAAU8b,MAAM7b,KAAKyb,EAAM,EAAG7b,IAClD+b,EAAG/b,GAAK6b,EAAK7b,IAGrB,OAAO4b,EAAG/d,OAAOke,GAAM7e,MAAMiD,UAAU8b,MAAM7b,KAAKyb,GACtD,EAMWK,GAAiB,SAAUpnB,GAClC,IAAIE,EAAKF,EAAGokB,UAAWA,OAAmB,IAAPlkB,GAAuBA,EAAIE,EAAKJ,EAAG4lB,iBAAkBA,OAA0B,IAAPxlB,GAAwBA,EAAIP,EAAQG,EAAGH,MAAOgmB,EAAW7lB,EAAG6lB,SAAUwB,EAAernB,EAAGqnB,aAAcnZ,EAAWlO,EAAGkO,SAAU5N,EAAKN,EAAGsnB,eAAgBA,OAAwB,IAAPhnB,GAAuBA,EAAIE,EAAKR,EAAG8lB,MAAOA,OAAe,IAAPtlB,EAAgB,EAAIA,EAAIE,EAAKV,EAAGunB,iBAAkBA,OAA0B,IAAP7mB,EAAgB,GAAKA,EAC9Z,OAAO2I,EAAAA,SAAAA,IAAmB6E,GAAU,SAAUsV,EAAO5F,GACjD,GAAI4F,GAASA,EAAMhiB,OAASikB,GAAc,CACtC,IAAI+B,OAAiB,EACjBC,EAAaC,GAAMlE,EAAO+D,EAAkB3J,GAChD,GAAI4F,EAAM1X,MAAMoC,SAAU,CACtB,IAAIyZ,EAAc,CACdvD,UAAWA,EACXwB,iBAAkBA,EAClB/lB,MAAOA,EACPgmB,SAAUA,EACVwB,aAAcA,EACdnZ,SAAUsV,EAAM1X,MAAMoC,SACtBoZ,gBAAiBzB,GAAY,IAAI5mB,QAAQwoB,IAAe,EACxD3B,MAAOA,EAAQ,EACfyB,iBAAkBV,GAAcA,GAAc,GAAIU,GAAkB,GAAO,CAACE,IAAa,IAE7FD,EAAiBJ,GAAeO,EACpC,CACA,OAAOte,EAAAA,aAAmBma,EAAO1Y,GAASA,GAAS,CAAC,EAAG0Y,EAAM1X,OAAQ,CAAEsY,eAAqClX,IAA1BsW,EAAM1X,MAAMsY,UAA0BZ,EAAM1X,MAAMsY,UAAYA,EAAWwB,iBAAkBA,EAAkBxZ,GAAIoX,EAAM1X,MAAMM,IAAM,2BAA2BrD,OAAO0e,GAAa9B,iBAAkB8B,EAAYG,uBAAwBL,EAAkBD,eAAgBA,EAAgBxB,MAAOA,EAAOD,UAAWA,GAAY,IAAI5mB,QAAQwoB,IAAe,EAAGvK,QAASrd,EAAMqd,UAAYuK,GAAc5nB,EAAMgoB,eAAgBxG,SAAUxhB,EAAMwhB,WAAaoG,EAAYvZ,SAAUsZ,EAAgBhJ,SAAU6I,IAC/jB,CAEI,OAAOhe,EAAAA,cAAoB,MAAO,CAAErK,UAAW,gCAAkCwkB,EAEzF,GACJ,EAIWsE,GAAa,SAAUhc,GAC9B,IAAIic,EAAY1e,EAAAA,SAAAA,QAAuByC,EAAMoC,UAAU,GACvD,OAAI6Z,EACOL,GAAMK,EAAW,GAAI,GAEzB,EACX,EAIWC,GAAkB,SAAUlc,EAAOmc,EAAYrsB,EAAQ0rB,EAAgBC,GAiC9E,YAhCe,IAAX3rB,IAAqBA,EAAS,CAC9BiqB,SAAU/Z,EAAM+Z,UAAY,GAC5BxE,SAAUvV,EAAMuV,UAAY,GAC5BnE,QAASpR,EAAMoR,SAAW,GAC1B2K,gBAAgB,SAEG,IAAnBP,IAA6BA,GAAiB,QACzB,IAArBC,IAA+BA,EAAmB,IACtDle,EAAAA,SAAAA,IAAmByC,EAAMoC,UAAU,SAAUsV,EAAO5F,GAChD,GAAI4F,GAASA,EAAMhiB,OAASikB,GAAc,CACtC,IAAIgC,EAAaC,GAAMlE,EAAO+D,EAAkB3J,IAC3C4F,EAAM1X,MAAMgJ,UAAYwS,IACrB9D,EAAM1X,MAAMuV,WACZzlB,EAAOylB,SAAWoG,GAElBjE,EAAM1X,MAAMoR,UACZthB,EAAOshB,QAAUuK,GAEjBjE,EAAM1X,MAAM+Z,WACO,aAAfoC,EACArsB,EAAOiqB,SAASqC,KAAKT,GAED,WAAfQ,IACLrsB,EAAOiqB,SAAW,CAAC4B,KAGvBjE,EAAM1X,MAAMoC,WACZtS,EAASosB,GAAgBxE,EAAM1X,MAAOmc,EAAYrsB,IAAU4nB,EAAM1X,MAAM+Z,SAAUgB,GAAcA,GAAc,GAAIU,GAAkB,GAAO,CAACE,IAAa,KAGrK,CACJ,IACO7rB,CACX,EAII8rB,GAAQ,SAAUlE,EAAO+D,EAAkB3J,GAC3C,OAAO4F,GAASA,EAAM1X,OAAS0X,EAAM1X,MAAMM,GACrCoX,EAAM1X,MAAMM,GACZmb,EAAiB9jB,OACb8jB,EAAiBA,EAAiB9jB,OAAS,GAAK,IAAIsF,OAAO6U,GAC3D,IAAI7U,OAAO6U,EACzB,EAIO,SAASuK,GAAiBnO,EAAMoO,GAUnC,YATqB,IAAjBA,IAA2BA,EAAe,KAC7CpO,GAAQ,IAAIne,SAAQ,SAAUkY,GACtBA,EAAKe,WACNsT,EAAaF,KAAKnU,GACdA,EAAK8R,UAAY9R,EAAK7F,UACtBia,GAAiBpU,EAAK7F,SAAUka,GAG5C,IACOA,CACX,CAIO,SAASC,GAAana,EAAUoa,GAUnC,YATwB,IAApBA,IAA8BA,EAAkB,IACpDjf,EAAAA,SAAAA,QAAuB6E,GAAU,SAAUsV,GACnCA,GAASA,EAAM1X,QAAU0X,EAAM1X,MAAMgJ,WACrCwT,EAAgBJ,KAAK1E,GACjBA,EAAM1X,MAAMoC,UACZma,GAAa7E,EAAM1X,MAAMoC,SAAUoa,GAG/C,IACOA,CACX,CAKO,SAASC,GAAoBra,EAAUsa,GAU1C,YAT+B,IAA3BA,IAAqCA,EAAyB,IAClEnf,EAAAA,SAAAA,QAAuB6E,GAAU,SAAUsV,GACnCA,GAASA,EAAM1X,QAAU0X,EAAM1X,MAAMgJ,WAAa0O,EAAM1X,MAAM+Z,UAAYrC,EAAM1X,MAAMwb,kBACtFkB,EAAuBN,KAAK1E,GACxBA,EAAM1X,MAAMoC,UACZqa,GAAoB/E,EAAM1X,MAAMoC,SAAUsa,GAGtD,IACOA,CACX,CAKO,IAIIC,GAJAC,GAAY,SAAUpO,GAAS,OAAiB,OAAVA,QAA4BpN,IAAVoN,CAAqB,GAKxF,SAAWmO,GAqBPA,EAAcE,qBAZd,SAASA,EAAqBnZ,GAC1B,OAAOA,EAAM3J,KAAI,SAAUkO,EAAM6J,GAC7B,IAAI1P,EAOJ,OANI6F,EAAKnJ,UACLsD,EAAW6F,EAAKnJ,SAEhBmJ,EAAK7F,WACLA,EAAYya,EAAqB5U,EAAK7F,WAElC7E,EAAAA,cAAoBoc,GAAc3a,GAAS,CAAC,EAAGiJ,EAAM,CAAE7F,SAAUA,EAAU1F,IAAKuL,EAAK3H,IAAMwR,IACvG,GACJ,CAEH,CAtBD,CAsBG6K,KAAkBA,GAAgB,CAAC,IAI/B,IC5LIG,GD4LAC,GAAe,SAAUC,EAAYC,GAC5C,OAAID,EAAWrlB,SAAWslB,EAAYtlB,QAG/BqlB,EAAWE,OAAM,SAAUC,EAAI/d,GAAK,OAAO+d,IAAOF,EAAY7d,EAAI,GAC7E,GChMA,SAAW0d,GACPA,EAAiBA,EAAyB,OAAI,GAAK,SACnDA,EAAiBA,EAAuB,KAAI,GAAK,OACjDA,EAAiBA,EAA2B,SAAI,GAAK,UACxD,CAJD,CAIGA,KAAqBA,GAAmB,CAAC,ICR5C,IAAI3W,GAAyC,WACzC,IAAIC,EAAgB,SAAUlM,EAAGmM,GAI7B,OAHAD,EAAgB5J,OAAO8J,gBAClB,CAAEC,UAAW,cAAgBjK,OAAS,SAAUpC,EAAGmM,GAAKnM,EAAEqM,UAAYF,CAAG,GAC1E,SAAUnM,EAAGmM,GAAK,IAAK,IAAI/G,KAAK+G,EAAO7J,OAAO+C,UAAUpN,eAAeqN,KAAK6G,EAAG/G,KAAIpF,EAAEoF,GAAK+G,EAAE/G,GAAI,EAC7F8G,EAAclM,EAAGmM,EAC5B,EACA,OAAO,SAAUnM,EAAGmM,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOhH,KAAKiH,YAAczM,CAAG,CADtCkM,EAAclM,EAAGmM,GAEjBnM,EAAEqF,UAAkB,OAAN8G,EAAa7J,OAAOoK,OAAOP,IAAMK,EAAGnH,UAAY8G,EAAE9G,UAAW,IAAImH,EACnF,CACJ,CAd6C,GAezC1H,GAAsC,WAStC,OARAA,GAAWxC,OAAOyC,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAInD,UAAUvE,OAAQyH,EAAIC,EAAGD,IAE5C,IAAK,IAAIE,KADTH,EAAIjD,UAAUkD,GACO5C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,KACzDJ,EAAEI,GAAKH,EAAEG,IAEjB,OAAOJ,CACX,EACOF,GAASS,MAAMC,KAAMxD,UAChC,EACI6e,GAAgD,SAAUC,EAAIC,EAAMC,GACpE,GAAIA,GAA6B,IAArBhf,UAAUvE,OAAc,IAAK,IAA4BwjB,EAAxB/b,EAAI,EAAGgc,EAAIH,EAAKtjB,OAAYyH,EAAIgc,EAAGhc,KACxE+b,GAAQ/b,KAAK6b,IACRE,IAAIA,EAAK7e,MAAMiD,UAAU8b,MAAM7b,KAAKyb,EAAM,EAAG7b,IAClD+b,EAAG/b,GAAK6b,EAAK7b,IAGrB,OAAO4b,EAAG/d,OAAOke,GAAM7e,MAAMiD,UAAU8b,MAAM7b,KAAKyb,GACtD,EASImC,GAA0B,SAAUtW,GAEpC,SAASsW,EAASpd,GACd,IAAI+H,EAAQjB,EAAOtH,KAAKE,KAAMM,IAAUN,KACxCqI,EAAM4Q,SAAW,KAIjB5Q,EAAMwT,aAAe,SAAU/lB,GAC3BuS,EAAM2K,SAASld,GACfuS,EAAMgB,QAAQvT,EAClB,EAIAuS,EAAM2K,SAAW,SAAUld,GACvB,IACI6nB,EACAC,EAMJ,OARsBf,GAAahf,EAAAA,SAAAA,QAAuBwK,EAAM3F,WAGhDrS,SAAQ,SAAU2nB,GAC1BA,EAAM1X,MAAM6Z,oBAAsBrkB,EAAMqkB,kBAAoB9R,EAAMhU,MAAMqd,WACxEiM,EAAgB3F,EAExB,IACQ3P,EAAMoU,YACV,IAAK,SACDmB,EAAcvC,GAAcA,GAAc,GAAIsC,EAAcrd,MAAM8b,wBAAwB,GAAO,CAACuB,EAAcrd,MAAM6Z,mBAAmB,GACrIkD,GAAahV,EAAMwV,cAAeD,KAE9BA,EADAD,EAAcrd,MAAM8b,uBACNf,GAAc,GAAIsC,EAAcrd,MAAM8b,wBAAwB,GAG9D,IAGtB,MACJ,IAAK,WAED,IAAI5Q,GADJoS,EAAcvV,EAAMwV,cAAclC,SACVloB,QAAQkqB,EAAcrd,MAAM6Z,mBACzC,IAAX3O,EAAeoS,EAAYlB,KAAKiB,EAAcrd,MAAM6Z,kBAAoByD,EAAYE,OAAOtS,EAAO,GAClG,MACJ,QACIoS,EAAcvV,EAAMwV,cAAclC,QAG1CtT,EAAMoJ,SAAS,CAAEoE,SAAU8H,EAAcrd,MAAM6Z,iBAAkBE,SAAUuD,IACvEvV,EAAM/H,MAAM0S,UACZ3K,EAAM/H,MAAM0S,SAASlT,UAAK4B,EAAW,CACjClR,OAAQmtB,EACRE,cAAeD,GAG3B,EAIAvV,EAAMgB,QAAU,SAAUvT,EAAOioB,QAChB,IAATA,IAAmBA,EAAO,GAC9B,IACIC,EADAlB,EAAkBC,GAAoBlf,EAAAA,SAAAA,QAAuBwK,EAAM3F,WAEvEoa,EAAgBzsB,SAAQ,SAAU2nB,EAAOiG,GACrC,GAAIjG,EAAM1X,MAAM6Z,oBAAsBrkB,EAAMqkB,kBAAoB9R,EAAMhU,MAAMqd,SAAU,CAClF,IAAIlG,EAAQyS,EAAMF,EAAO,EACnB,EACAE,EAAMF,EAAOjB,EAAgB7kB,OACzB6kB,EAAgB7kB,OAAS,EACzBgmB,EAAMF,EAChBC,EAAelB,EAAgBtR,EACnC,CACJ,IACIwS,IACA3V,EAAM6V,iBAAmBF,EAAa1d,MAAMM,GAC5CyH,EAAMoJ,SAAS,CAAEC,QAASsM,EAAa1d,MAAM6Z,mBAErD,EAIA9R,EAAM8V,WAAa,SAAUroB,EAAOxB,GAChC,IAAIypB,EACJ,OAAQzpB,GACJ,KAAK8oB,GAAiBgB,SAClBL,GAAQ,EACR1V,EAAMgB,QAAQvT,EAAOioB,GACrB,MACJ,KAAKX,GAAiBiB,KAClBN,EAAO,EACP1V,EAAMgB,QAAQvT,EAAOioB,GACrB,MACJ,KAAKX,GAAiBkB,OAClBjW,EAAM2K,SAASld,GAI3B,EACAuS,EAAMkW,mBAAqB,WACvBtN,aAAa5I,EAAMmW,YACdnW,EAAMhU,MAAMgoB,gBACbhU,EAAMoJ,SAAS,CAAE4K,gBAAgB,GAEzC,EACAhU,EAAMoW,kBAAoB,WACtBpW,EAAMqW,UAAS,WACXrW,EAAMoJ,SAAS,CAAE4K,gBAAgB,GACrC,GACJ,EACAhU,EAAMsW,cAAgB,SAAU7oB,GAC5B,IAAI8oB,EAAMvW,EAAM4Q,UAA4D,QAA/CtlB,iBAAiB0U,EAAM4Q,UAAUtK,YAAwB,EACtF,GAAI7Y,EAAMtF,SAAWsF,EAAM+oB,cAAe,CACtC,IACIvqB,OAAS,EACb,OAFcwB,EAAMmc,SAGhB,KAAKxG,GACDnX,EAAUsqB,EAAkCxB,GAAiBiB,KAA7CjB,GAAiBgB,SACjC,MACJ,KAAK3S,GACDnX,EAAS8oB,GAAiBgB,SAC1B,MACJ,KAAK3S,GACDnX,EAAUsqB,EAA8BxB,GAAiBgB,SAAzChB,GAAiBiB,KACjC,MACJ,KAAK5S,GACDnX,EAAS8oB,GAAiBiB,KAC1B,MACJ,KAAK5S,GACL,KAAKA,GACDnX,EAAS8oB,GAAiBkB,OAC1B,MACJ,QACIhqB,EAAS,KAGF,OAAXA,IACAwB,EAAMia,iBACN1H,EAAM8V,WAAWroB,EAAOxB,GAEhC,CACJ,EACA6I,GAAgBC,IAChB,IAAI0hB,EAAetC,GAAgBlc,EAAO+H,EAAMoU,YAKhD,OAJKqC,EAAapN,UACdoN,EAAapN,QAAU4K,GAAWhc,IAEtC+H,EAAMhU,MAAQyqB,EACPzW,CACX,CAgGA,OAhPA5B,GAAUiX,EAAUtW,GAiJpBtK,OAAOkO,eAAe0S,EAAS7d,UAAW,aAAc,CACpDoL,IAAK,WACD,OAAOjL,KAAKM,MAAMmc,YAAc,UACpC,EACAvR,YAAY,EACZC,cAAc,IAElBrO,OAAOkO,eAAe0S,EAAS7d,UAAW,eAAgB,CACtDoL,IAAK,WACD,IAAIzW,EAAKwL,KAAKM,MAAMuV,SACpB,YADgD,IAAPrhB,EAAgBwL,KAAK3L,MAAMwhB,SAAWrhB,CAEnF,EACA0W,YAAY,EACZC,cAAc,IAElBrO,OAAOkO,eAAe0S,EAAS7d,UAAW,gBAAiB,CACvDoL,IAAK,WAED,OADejL,KAAKM,MAAMye,aAAe/e,KAAKM,MAAM+Z,UAAY,GAAKra,KAAK3L,MAAMgmB,QAEpF,EACAnP,YAAY,EACZC,cAAc,IAElBrO,OAAOkO,eAAe0S,EAAS7d,UAAW,WAAY,CAClDoL,IAAK,WACD,IAAI5W,EAAQiL,GAASA,GAAS,CAAC,EAAGU,KAAK3L,OAAQ,CAAEwhB,SAAU7V,KAAKgf,eAC5D7C,EAAc,CACdvD,UAAW5Y,KAAKM,MAAMsY,UACtBwB,iBAAkBpa,KAAKM,MAAM8Z,iBAC7B/lB,MAAOA,EACPgmB,SAAUra,KAAK6d,cACfhC,aAAc7b,KAAK6b,aACnBnZ,SAAU1C,KAAKM,MAAMoC,UAEzB,OAAOkZ,GAAeO,EAC1B,EACAjR,YAAY,EACZC,cAAc,IAKlBuS,EAAS7d,UAAUwH,OAAS,WACxB,IAAIgB,EAAQrI,KACRif,EAAY,CACZ,wBAAyBjf,KAAKke,kBAE9B1qB,EAAY6I,EAAW,aAAc2D,KAAKM,MAAM9M,WACpD,OAAQqK,EAAAA,cAAoB,KAAMyB,GAAS,CAAEiB,IAAK,SAAUqZ,GAAOvR,EAAM4Q,SAAWW,CAAK,EAAG5R,IAAKhI,KAAKM,MAAM0H,IAAK1F,KAAM,OAAQzB,SAAU,EAAGmR,UAAWhS,KAAK2e,cAAetV,QAASrJ,KAAKue,mBAAoBnV,OAAQpJ,KAAKye,kBAAmBjrB,UAAWA,EAAWmN,MAAOX,KAAKM,MAAMK,OAASse,GAAYjf,KAAK0C,SACnT,EACAgb,EAAS7d,UAAU6e,SAAW,SAAUQ,GACpClf,KAAKwe,WAAa5sB,OAAOwe,YAAW,WAAc,OAAO8O,GAAK,GAClE,EAIAxB,EAASnb,UAAY,CACjBqW,UAAWzZ,EAAAA,KACXuD,SAAU,SAAUpC,EAAO6e,GACvB,IAAIC,EAAO9e,EAAM6e,GACjB,GAAIC,EAAM,CACN,GAAIxiB,MAAMC,QAAQuiB,GACd,IAAK,IAAI7iB,EAAK,EAAG8iB,EAASD,EAAM7iB,EAAK8iB,EAAOpnB,OAAQsE,IAAM,CACtD,IAAIuS,EAAQuQ,EAAO9iB,GACnB,IAAKuS,EAAM9Y,MAAQ8Y,EAAM9Y,OAASikB,GAC9B,OAAO,IAAIqF,MAAM,4EAEzB,MAGA,GAAIF,EAAKppB,OAASikB,GACd,OAAO,IAAIqF,MAAM,0EAGzB,OAAO,IACX,CACJ,EACAtX,IAAK7I,EAAAA,OACL0W,SAAU1W,EAAAA,OACVkb,SAAUlb,EAAAA,QAAkBA,EAAAA,QAC5BuS,QAASvS,EAAAA,OACTsd,WAAYtd,EAAAA,MAAgB,CAAC,SAAU,aACvC3L,UAAW2L,EAAAA,OACXib,iBAAkBjb,EAAAA,KAClB6T,SAAU7T,EAAAA,KACVwB,MAAOxB,EAAAA,QAKXue,EAASxc,aAAe,CACpBub,WAAY,WACZ7D,WAAW,EACXwB,kBAAkB,GAEfsD,CACX,CAlP8B,CAkP5B7f,EAAAA,WCjRK,SAAS0hB,GAAcC,EAAcC,EAAiBjvB,EAAQkvB,GACjE,GAAIF,EAAc,CACd,IAAIG,EAAgB,CAChBhe,eAAgB8d,EAChBG,YAAaH,EAAgBG,YAC7BpvB,OAAQA,GAEZgvB,EAAa1f,UAAK4B,EAAW5E,OAAOyC,OAAOogB,EAAeD,GAC9D,CACJ,CCrBA,IAAIjZ,GAAyC,WACzC,IAAIC,EAAgB,SAAUlM,EAAGmM,GAI7B,OAHAD,EAAgB5J,OAAO8J,gBAClB,CAAEC,UAAW,cAAgBjK,OAAS,SAAUpC,EAAGmM,GAAKnM,EAAEqM,UAAYF,CAAG,GAC1E,SAAUnM,EAAGmM,GAAK,IAAK,IAAI/G,KAAK+G,EAAO7J,OAAO+C,UAAUpN,eAAeqN,KAAK6G,EAAG/G,KAAIpF,EAAEoF,GAAK+G,EAAE/G,GAAI,EAC7F8G,EAAclM,EAAGmM,EAC5B,EACA,OAAO,SAAUnM,EAAGmM,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOhH,KAAKiH,YAAczM,CAAG,CADtCkM,EAAclM,EAAGmM,GAEjBnM,EAAEqF,UAAkB,OAAN8G,EAAa7J,OAAOoK,OAAOP,IAAMK,EAAGnH,UAAY8G,EAAE9G,UAAW,IAAImH,EACnF,CACJ,CAd6C,GAiBzC6Y,GAA0B,SAAUzY,GAEpC,SAASyY,IACL,OAAkB,OAAXzY,GAAmBA,EAAOrH,MAAMC,KAAMxD,YAAcwD,IAC/D,CAsBA,OAzBAyG,GAAUoZ,EAAUzY,GAOpByY,EAAShgB,UAAUwH,OAAS,WACxB,OAAO,IACX,EAIAwY,EAAStd,UAAY,CACjBiH,KAAMrK,EAAAA,OACNmI,IAAKnI,EAAAA,OACLyD,KAAMzD,EAAAA,OACNmK,SAAUnK,EAAAA,KACVmM,SAAUnM,EAAAA,OACV+J,SAAU/J,EAAAA,OACVkI,OAAQlI,EAAAA,IACR4K,WAAY5K,EAAAA,IACZsK,cAAetK,EAAAA,IACfqP,KAAMrP,EAAAA,KAEH0gB,CACX,CA3B8B,CA2B5BhiB,EAAAA,WCtCK,SAASiiB,GAAiCC,EAAQC,GACrD,GAAID,GAAUA,EAAO9nB,OAAS,EAC1B,MAAO,CACH+L,MAAOic,GAAuCF,GAC9CG,WAAYH,GAGf,GAAII,GAA2BH,GAAc/nB,OAAS,EAAG,CAC1D,IAAImoB,EAAcC,GAA0CF,GAA2BH,IACvF,MAAO,CAAEhc,MAAOic,GAAuCG,GAAcF,WAAYE,EACrF,CAEI,MAAO,CAAEpc,MAAO,GAAIkc,WAAY,GAExC,CACA,SAASI,GAA6BC,EAAYC,GAC9C,IAAIpwB,EAAS,CAAC,EACVoE,EAAK+rB,GAA0BC,EAAelgB,MAAOkJ,EAAOhV,EAAGgV,KAAMlC,EAAM9S,EAAG8S,IAAK1E,EAAOpO,EAAGoO,KAAMmI,EAAUvW,EAAGuW,QAASzB,EAAW9U,EAAG8U,SAAUgC,EAAW9W,EAAG8W,SAAUpC,EAAW1U,EAAG0U,SAAU7B,EAAS7S,EAAG6S,OAAQ0C,EAAavV,EAAGuV,WAAYN,EAAgBjV,EAAGiV,cAAe+E,EAAOha,EAAGga,KAkCjS,YAjCa9M,IAAT8H,IACApZ,EAAOoZ,KAAOA,QAEN9H,IAAR4F,IACAlX,EAAOkX,IAAMA,QAEJ5F,IAATkB,IACAxS,EAAOwS,KAAOA,QAEFlB,IAAZqJ,IACA3a,EAAO2a,QAAUA,QAEJrJ,IAAb4H,IACAlZ,EAAOkZ,SAAWA,QAEL5H,IAAb4J,IACAlb,EAAOkb,SAAWA,QAEL5J,IAAbwH,IACA9Y,EAAO8Y,SAAWA,QAEPxH,IAAX2F,IACAjX,EAAOiX,OAASA,QAED3F,IAAfqI,IACA3Z,EAAO2Z,WAAaA,QAEFrI,IAAlB+H,IACArZ,EAAOqZ,cAAgBA,QAEd/H,IAAT8M,IACApe,EAAOoe,KAAOA,GAEXpe,CACX,CACA,SAAS+vB,GAA2BH,GAChC,OAAOniB,EAAAA,SAAAA,QAAuBmiB,GACzBzlB,QAAO,SAAUyd,GAAS,OAAOA,GAASA,EAAMhiB,OAAS6pB,EAAU,GAC5E,CACA,SAASQ,GAA0CI,GAE/C,IADA,IAAIrwB,EAAS,GACJob,EAAQ,EAAGA,EAAQiV,EAAWxoB,OAAQuT,IAAS,CACpD,IAAIkV,EAAOD,EAAWjV,GAClBmV,EAAQL,QAA6B5e,EAAWgf,GAChD1c,EAAQqc,GAA0CF,GAA2BO,EAAKpgB,MAAMoC,WACxFsB,EAAM/L,OAAS,IACf0oB,EAAM3c,MAAQA,GAElB5T,EAAOssB,KAAKiE,EAChB,CACA,OAAOvwB,CACX,CACA,SAAS6vB,GAAuCG,EAAazb,GAEzD,IADA,IAAIvU,EAAS,GACJob,EAAQ,EAAGA,EAAQ4U,EAAYnoB,OAAQuT,IAAS,CACrD,IAAI+U,EAAaH,EAAY5U,GACzBoV,EAAgBN,GAA6BC,GACjDK,EAAchgB,GAAK6D,EAAS+G,EAAMlG,WAAYX,GAC9Cic,EAAcvV,mBAAqBG,IAAU4U,EAAYnoB,OAAS,EAClE2oB,EAAc5c,MAAQ6c,GAA0BN,EAAYK,GAC5DxwB,EAAOssB,KAAKkE,EAChB,CACA,OAAOxwB,CACX,CACA,SAASywB,GAA0BN,EAAYK,GAC3C,OAAIL,EAAW9W,cACJ,CAAC,CACAI,oBAAqB+W,EAAchgB,GACnCA,GAAI6D,EAASb,EAAyBgd,EAAchgB,IACpDyK,oBAAoB,EACpB5B,cAAe8W,EAAW9W,cAC1BzF,MAAO,KAGVuc,EAAWvc,MACTic,GAAuCM,EAAWvc,MAAO4c,EAAchgB,IAGvE,EAEf,CCtGA,IAAIkgB,GAAsB,KAMnB,SAASC,GAAmCC,EAAaC,EAAchP,EAASjV,EAAKoJ,EAAgBC,GACxG,IAAI6a,EAAapd,IACjB,OAAQmO,GACJ,KAAKxG,GACD,OAoBArF,EACOC,EAAyB8a,IAAqCC,IAG9D/a,EACHgb,IAAuCC,IAxB/C,KAAK7V,GACD,OA2BArF,EACOC,EAAyB+a,IAAoCD,IAG7D9a,EACHib,IAAsCD,IA/B9C,KAAK5V,GACD,OA+CArF,EACOmb,IAGHtd,EAAcgd,GACPO,IAGAD,IAtDf,KAAK9V,GACD,OAgCArF,EACOqb,IAGHxd,EAAcgd,GACPS,IAGAD,IAvCf,KAAKhW,GACL,KAAKA,GACD,OAuDAyV,EAAW5X,SACJ2X,EAGAU,IAAgBnd,EAAgByc,GAAgB9c,EAAgB8c,GA1D3E,KAAKxV,GACD,OA6DGmW,IAAc,GAAGhhB,GA5DxB,KAAK6K,GACD,OA6DR,WACI,IAAIoW,EAAWD,IACf,OAAOC,EAASA,EAAS5pB,OAAS,GAAG2I,EACzC,CAhEekhB,GACX,KAAKrW,GACD,OAgEGxH,EAAcgd,GAAgBA,EAAerc,EAAkBqc,GA/DtE,QACI,OAqHkB,IAAfjkB,EAAI/E,QAAgB6oB,GAAoB/qB,KAAKiH,GArDxD,WACI,IAAI+kB,EAAa/kB,EAAItK,cACjBmvB,EAAWD,IACXI,EAAmBzwB,OAAO0T,EAAWgc,IAErCgB,EADgBJ,EAASlG,MAAMqG,EAAmB,GAAGzkB,OAAOskB,EAASlG,MAAM,EAAGqG,EAAmB,IAClEvnB,MAAK,SAAU8N,GAC9C,OAAQA,EAAKiB,MAAQ,IAAI9W,cAAcwvB,WAAWH,EACtD,IACA,OAAOE,EAAiBA,EAAerhB,GAAKqgB,CAChD,CAzEmCkB,GAA0BlB,EA2E7D,SAASK,IACL,OAAIrd,EAAcgd,GACPM,IAEFxc,EAAekc,GACbS,EAAyCH,EAAiBpd,EAAgB8c,KAG1Erc,EAAkBqc,EAEjC,CACA,SAASG,IACL,OAAInd,EAAcgd,GACPO,IAGA5c,EAAkBqc,EAEjC,CAGA,SAASI,IACL,OAAIpd,EAAcgd,GACPQ,IAGAC,EAAyCC,IAAgBV,EAAeQ,EAAiBtd,EAAgB8c,IAExH,CACA,SAASE,IACL,OAAOO,EAAyCzd,EAAcgd,IAAiBU,IAC3EV,EAAeQ,EAAiBtd,EAAgB8c,IACxD,CAGA,SAASS,EAAyC3d,GAC9C,OAAOqe,GAA+C,EAAMre,EAChE,CACA,SAASyd,EAAwCzd,GAC7C,OAAOqe,GAA+C,EAAOre,EACjE,CAIA,SAASD,EAAYC,EAAQC,GAOzB,YANetC,IAAXqC,IACAA,EAASkd,QAECvf,IAAVsC,IACAA,EAAQgd,GAELqB,EAAgBte,EAAQC,EACnC,CACA,SAAS2d,EAAY5d,GACjB,OAAOD,EAAYC,GAAQC,MAAM/L,OAAS,CAC9C,CACA,SAASspB,EAAiBxd,GACtB,OAAOue,GAAa,EAAOve,EAC/B,CACA,SAAS0d,EAAiB1d,GACtB,OAAOue,GAAa,EAAMve,EAC9B,CAKA,SAAS6d,IACL,OAAO3d,EAAcgd,GACjBD,EAAcld,EAAYc,EAAkBqc,GAAeD,GAAahd,KAChF,CACA,SAASoe,EAA+CG,EAAexe,QACpDrC,IAAXqC,IACAA,EAASkd,GAEb,IAAI1Y,EAAOzE,EAAYC,GACvB,OAAI4d,EAAY5d,KAAYwE,EAAKe,SACtBiZ,EAAgB/d,EAAgBT,GAd/C,SAAwBA,GACpB,IAAIye,EAAe1e,EAAYC,GAAQC,MACvC,OAAOwe,EAAaA,EAAavqB,OAAS,GAAG2I,EACjD,CAWyD6hB,CAAe1e,GAGzDA,CAEf,CACA,SAASue,EAAand,EAAMpB,GAIxB,QAHerC,IAAXqC,IACAA,EAASkd,GAEThd,EAAcF,GACd,OAAOmB,EAA+BC,EAAMpB,EAAQid,EAAY/oB,QAGhE,IAAIyqB,EAAiB9d,EAAkBb,GAGvC,OAAOU,EAASS,EAA+BC,EAFjCF,EAAWlB,GACLD,EAAY4e,GAAgB1e,MAAM/L,QACwByqB,EAEtF,CAEJ,CCtMA,ICHIluB,GCAOmuB,GAMAC,GAKAC,GASAC,GFjBPC,GAAiC,WACjC,SAASA,IAGL/iB,KAAKgjB,MAAQ,aACjB,CAaA,OAZAD,EAAgBljB,UAAUojB,0BAA4B,WAClD,OAAOjjB,KAAKqG,sBAChB,EACA0c,EAAgBljB,UAAUqjB,0BAA4B,SAAUpU,GAC5D9O,KAAKgjB,MAAuB,mBAAfhjB,KAAKgjB,MAA6B,cAAgB,mBAC/DhjB,KAAKmjB,+BAAiCnjB,KAAKqG,uBAC3CrG,KAAKqG,uBAAyByI,CAClC,EACAiU,EAAgBljB,UAAUujB,oBAAsB,WAC5C,MAAsB,qBAAfpjB,KAAKgjB,OACRhjB,KAAKmjB,iCAAmCnjB,KAAKqG,sBACrD,EACO0c,CACX,CAnBqC,GGAjCM,GAAkC,WAClC,SAASA,EAAiBC,EAAaC,EAAWC,GAC9CxjB,KAAKsjB,YAAcA,EACnBtjB,KAAKujB,UAAYA,EACjBvjB,KAAKwjB,SAAWA,EAChBxjB,KAAKyjB,WAAY,EACjBzjB,KAAKsjB,YAAcA,EACnBtjB,KAAK0jB,oBAAqBJ,CAC9B,CAmDA,OAlDAxmB,OAAOkO,eAAeqY,EAAiBxjB,UAAW,cAAe,CAC7D8jB,IAAK,SAAU7U,GACPb,QAAQa,KAAWb,QAAQjO,KAAKsjB,eAChCtjB,KAAKyjB,WAAY,EACjBzjB,KAAK0jB,oBAAqB5U,GAE9B9O,KAAKsjB,YAAcxU,CACvB,EACA5D,YAAY,EACZC,cAAc,IAElBkY,EAAiBxjB,UAAU+jB,8BAAgC,WACnD5jB,KAAKsjB,cACLtjB,KAAK0jB,oBAAqB,EAC1B1jB,KAAKujB,YAEb,EACAzmB,OAAOkO,eAAeqY,EAAiBxjB,UAAW,qBAAsB,CACpEoL,IAAK,WACD,OAAOjL,KAAK0jB,kBAChB,EACAxY,YAAY,EACZC,cAAc,IAElBkY,EAAiBxjB,UAAUgkB,oBAAsB,WAC7C7jB,KAAKyjB,WAAY,CACrB,EACAJ,EAAiBxjB,UAAUikB,gBAAkB,WAIrC9jB,KAAKsjB,cAAgBtjB,KAAKyjB,YAC1BzjB,KAAK0jB,oBAAqB,GAE9B1jB,KAAKyjB,WAAY,CACrB,EACAJ,EAAiBxjB,UAAUqa,gBAAkB,SAAUnW,EAAQggB,GACvD/jB,KAAKsjB,cACDtjB,KAAK0jB,mBACDK,IACA/jB,KAAK0jB,oBAAqB,EAC1B1jB,KAAKujB,cAITvjB,KAAK0jB,oBAAqB,EAC1B1jB,KAAKwjB,SAASzf,IAG1B,EACOsf,CACX,CA5DsC,GCHlC5c,GAAyC,WACzC,IAAIC,EAAgB,SAAUlM,EAAGmM,GAI7B,OAHAD,EAAgB5J,OAAO8J,gBAClB,CAAEC,UAAW,cAAgBjK,OAAS,SAAUpC,EAAGmM,GAAKnM,EAAEqM,UAAYF,CAAG,GAC1E,SAAUnM,EAAGmM,GAAK,IAAK,IAAI/G,KAAK+G,EAAO7J,OAAO+C,UAAUpN,eAAeqN,KAAK6G,EAAG/G,KAAIpF,EAAEoF,GAAK+G,EAAE/G,GAAI,EAC7F8G,EAAclM,EAAGmM,EAC5B,EACA,OAAO,SAAUnM,EAAGmM,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOhH,KAAKiH,YAAczM,CAAG,CADtCkM,EAAclM,EAAGmM,GAEjBnM,EAAEqF,UAAkB,OAAN8G,EAAa7J,OAAOoK,OAAOP,IAAMK,EAAGnH,UAAY8G,EAAE9G,UAAW,IAAImH,EACnF,CACJ,CAd6C,GA2BzCgd,GAAkB,CAClBtb,cAAe/E,EACfsgB,cAAetgB,EACfwF,eAAgBvF,GAwBhBsgB,GAAsB,SAAU9c,GAEhC,SAAS8c,EAAK5jB,GACV,IAAI+H,EAAQjB,EAAOtH,KAAKE,KAAMM,IAAUN,KA+FxC,OA9FAqI,EAAM8b,cAAgB,KACtB9b,EAAMuP,KAAOA,KACbvP,EAAM+b,gBAAkB,IAAIrB,GAC5B1a,EAAM6X,WAAa,GACnB7X,EAAMrE,MAAQ,GAIdqE,EAAMgc,MAAQ,WACVhc,EAAMic,6CACNjc,EAAMoJ,SAASuS,GACnB,EACA3b,EAAM2J,UAAY,SAAUlc,GAGxB,GAAIuS,EAAMhU,MAAMqU,gBAAkB/E,EAAU,CACxC,IAAI4gB,EAAczgB,EAAYuE,EAAMhU,MAAMqU,cAAeL,EAAMrE,OAC3DwgB,EAAYzD,GAAmC1Y,EAAMrE,MAAOugB,EAAY3jB,GAAI9K,EAAMmc,QAASnc,EAAMkH,IAAKqL,EAAM/H,MAAMtG,SAAUqO,EAAM+b,gBAAgBnB,6BAClJsB,EAAY3jB,KAAO4jB,IACnB1uB,EAAMia,iBACN1H,EAAMoc,iBAAiBD,IAEtB1uB,EAAMmc,UAAYxG,IAAc3V,EAAMmc,UAAYxG,IAAgB8Y,EAAYjb,WAC/EjB,EAAMqc,iBAAiBd,gCACvBvb,EAAMsc,2BAA2B7uB,EAAOyuB,EAAY3jB,KAC/C9K,EAAM8uB,sBAAqD,IAA7BL,EAAYvgB,MAAM/L,QAAgBssB,EAAYjd,KAC7E1V,OAAOizB,SAAStlB,OAAOglB,EAAYjd,KAG/C,CACIxR,EAAMmc,UAAYxG,IAAYpD,EAAM/H,MAAMwkB,SAC1Czc,EAAM/H,MAAMwkB,QAAQhlB,UAAK4B,EAAW5L,EAE5C,EACAuS,EAAM0c,gBAAkB,SAAUhhB,GAC1BsE,EAAMqc,iBAAiBM,qBAGvB3c,EAAMic,6CACNjc,EAAM4c,iBAAmBrzB,OAAOwe,YAAW,WACvC/H,EAAM6c,iBAAiBnhB,GACvBsE,EAAM4c,iBAAmB,IAC7B,GCjGT,SAA2B3kB,GAC9B,YAA6BoB,IAAzBpB,EAAM6kB,eACC7kB,EAAM6kB,eAGN7kB,EAAMgjB,YAAc,EAAI,GAEvC,CD0FmB8B,CAAkB/c,EAAM/H,QAEnC,EACA+H,EAAMgd,iBAAmB,SAAUthB,GAC3BsE,EAAMqc,iBAAiBM,oBAAsB3c,EAAMid,uBAAuBvhB,KAG1EsE,EAAMic,6CACNjc,EAAMkd,iBAAmB3zB,OAAOwe,YAAW,WACvC/H,EAAM6c,iBAAiBvhB,GACvB0E,EAAMkd,iBAAmB,IAC7B,GCjGT,SAA4BjlB,GAC/B,YAAiCoB,IAA1BpB,EAAMklB,gBAAgCllB,EAAMklB,gBAAkB,GACzE,CD+FmBC,CAAmBpd,EAAM/H,QAEpC,EACA+H,EAAMqd,gBAAkB,WACpBrd,EAAMqc,iBAAiBb,qBAC3B,EACAxb,EAAMsd,YAAc,SAAU5hB,GAC1BsE,EAAMoc,iBAAiB1gB,GACvBsE,EAAMqc,iBAAiBZ,iBAC3B,EACAzb,EAAMud,YAAc,SAAU9vB,EAAOiO,GACjC,IAAIwE,EAAOzE,EAAYC,EAAQsE,EAAMrE,OAChCuE,EAAKe,WACNjB,EAAMoc,iBAAiB1gB,GACvBsE,EAAMqc,iBAAiBxK,gBAAgBnW,EAAQsE,EAAMid,uBAAuBvhB,IAC5EsE,EAAMsc,2BAA2B7uB,EAAOiO,IACnCjO,EAAM8uB,sBAAwBrc,EAAKjB,KACpC1V,OAAOizB,SAAStlB,OAAOgJ,EAAKjB,KAGxC,EACAe,EAAMwd,WAAa,SAAU9hB,EAAQjO,GAIjC,GAHIuS,EAAMid,uBAAuBvhB,IAC7BsE,EAAMoc,iBAAiB9gB,GAEvB7N,EAAMgwB,eAAkD,OAAjChwB,EAAMgwB,cAAcC,SAAmB,CAC9D,IAAIC,EAAkBlwB,EAAMgwB,cAAcG,aAAa,MACvD,GAAID,GAAmBA,EAAgBE,SAAS7d,EAAMuP,MAClD,MAER,CACIvP,EAAM/H,MAAMwkB,SACZzc,EAAM/H,MAAMwkB,QAAQhlB,UAAK4B,EAAW5L,EAE5C,EACAuS,EAAM8d,aAAe,SAAUpiB,GAC3B,OAAOD,EAAYC,EAAQsE,EAAM6X,WACrC,EACA/iB,GAAgBC,IAChBiL,EAAMqc,iBAAmB,IAAIrB,GAAiBhb,EAAM/H,MAAMgjB,YAAajb,EAAMgc,MAAOhc,EAAM0c,iBAC1F1c,EAAMhU,MAAQyI,OAAOyC,OAAO,CAAC,EAAGykB,GAAiB,CAAE1b,eAAe,IAC3DD,CACX,CAyHA,OA3NA5B,GAAUyd,EAAM9c,GAmGhBtK,OAAOkO,eAAekZ,EAAKrkB,UAAW,UAAW,CAC7CoL,IAAK,WACD,OAAOjL,KAAKmkB,aAChB,EACAjZ,YAAY,EACZC,cAAc,IAKlB+Y,EAAKrkB,UAAUwH,OAAS,WACpB,IAAIgB,EAAQrI,KACZA,KAAKomB,eACApmB,KAAK3L,MAAMiU,eACZtI,KAAKokB,gBAAgBlB,0BAA0BljB,KAAKqmB,+BAExD,IAAIvb,EAAuB9K,KAAK3L,MAAM4vB,cAClCjkB,KAAK3L,MAAM4vB,cACXjkB,KAAK3L,MAAMqU,cAAgB9D,EAAkB5E,KAAK3L,MAAMqU,eAAiB/E,EAC7E,OAAQ9F,EAAAA,cAAoB,MAAO,CAAEmU,UAAWhS,KAAKgS,UAAWrR,MAAOX,KAAKM,MAAMK,MAAOnN,UAAWwM,KAAKokB,gBAAgBnB,4BAA8B,aAAUvhB,EAAWnB,IAAK,SAAUhN,GAAM,OAAO8U,EAAM8b,cAAgB5wB,CAAI,GAC9NsK,EAAAA,cAAoB+M,GAAuB,CAAEpX,UAAWwM,KAAKsmB,mBAAoB,mBAAoBtmB,KAAKM,MAAMtG,SAAW,gBAAa0H,EAAWsC,MAAOhE,KAAKgE,MAAOoC,eAAgBpG,KAAKM,MAAMtG,SAAUqM,uBAAwBrG,KAAKokB,gBAAgBnB,4BAA6Bva,cAAe1I,KAAK3L,MAAMqU,cAAeoC,qBAAsBA,EAAsB3B,eAAgBnJ,KAAK3L,MAAM8U,eAAgBc,WAAYjK,KAAKM,MAAM2J,WAAYF,WAAY/J,KAAKM,MAAMyJ,WAAYvD,SAAUxG,KAAK4X,KAAM3V,aAAcjC,KAAKqlB,iBAAkBjjB,YAAapC,KAAK+kB,gBAAiBtjB,YAAazB,KAAK0lB,gBAAiBrc,QAASrJ,KAAK2lB,YAAa7jB,QAAS9B,KAAK4lB,YAAaxc,OAAQpJ,KAAK6lB,WAAY/b,qBAAsB9J,KAAKmmB,aAAc7jB,KAAMtC,KAAKM,MAAMgC,OAC5uB,EAIA4hB,EAAKrkB,UAAU4I,kBAAoB,WAC/BzI,KAAKyR,SAAS,CAAEnJ,eAAe,GACnC,EAIA4b,EAAKrkB,UAAUiJ,mBAAqB,SAAUC,IAItCkF,QAAQlF,EAAU/O,YAAciU,QAAQjO,KAAKM,MAAMtG,WACnDgG,KAAKokB,gBAAgBhB,wBACrBpjB,KAAKqkB,QAETrkB,KAAK0kB,iBAAiB6B,YAAcvmB,KAAKM,MAAMgjB,WACnD,EAIAY,EAAKrkB,UAAU2mB,qBAAuB,WAClCxmB,KAAKskB,4CACT,EACAJ,EAAKrkB,UAAU4kB,iBAAmB,SAAU/b,GACxC1I,KAAKyR,UAAS,SAAUgV,GACpB,IAAItd,EAAiBT,IAAkB/E,EACnC8iB,EAAUtd,eAAiBhF,EAAgBuE,GAI/C,MAAO,CAAEub,cAHWvb,IAAkB/E,GACjCS,EAAqBqiB,EAAUxC,gBAAkB7f,EAAqBsE,GACvE+d,EAAUxC,cAAgBtgB,EACS+E,cAAeA,EAAeS,eAAgBA,EACzF,GACJ,EACA+a,EAAKrkB,UAAUqlB,iBAAmB,SAAUjB,GACxCjkB,KAAKyR,UAAS,SAAUgV,GACpB,OAAIriB,EAAqB6f,IAAkB7f,EAAqBqiB,EAAU/d,eAC/D,CACHub,cAAeA,EACfvb,cAAe+d,EAAU/d,cACzBS,eAAgBsd,EAAUtd,gBAIvB,CAAE8a,cAAeA,EAAevb,cAAe/E,EAAUwF,eAAgBvF,EAExF,GACJ,EACAsgB,EAAKrkB,UAAUymB,iBAAmB,WAC9B,OAAOjqB,EAAW,UAAW,WAAY,SAAU,CAAE,qBAAsB2D,KAAKM,MAAMtG,UAAY,CAAE,kBAAmBgG,KAAKM,MAAMtG,UAAYgG,KAAKM,MAAM9M,UAC7J,EACA0wB,EAAKrkB,UAAUykB,2CAA6C,WACpDtkB,KAAKilB,mBACLhU,aAAajR,KAAKilB,kBAClBjlB,KAAKilB,iBAAmB,MAExBjlB,KAAKulB,mBACLtU,aAAajR,KAAKulB,kBAClBvlB,KAAKulB,iBAAmB,KAEhC,EACArB,EAAKrkB,UAAUylB,uBAAyB,SAAUvhB,GAC9C,OAAQ/D,KAAKM,MAAMomB,qBAAyE,IAAnD1mB,KAAKM,MAAMomB,mBAAmBjzB,QAAQsQ,EACnF,EACAmgB,EAAKrkB,UAAUwmB,4BAA8B,WACzC,OAAOpY,aAA2BvM,IAAnB1B,KAAKM,MAAM0H,IAAuC,QAAnBhI,KAAKM,MAAM0H,IACrDhI,KAAKmkB,eAAoE,QAAnDxwB,iBAAiBqM,KAAKmkB,eAAexV,UACnE,EACAuV,EAAKrkB,UAAUumB,aAAe,WAC1B,IAAI5xB,EAAKsrB,GAAiC9f,KAAKM,MAAM0D,MAAOhE,KAAKM,MAAMoC,UAAWsB,EAAQxP,EAAGwP,MAAOkc,EAAa1rB,EAAG0rB,WACpHlgB,KAAKgE,MAAQA,EACbhE,KAAKkgB,WAAaA,CACtB,EACAgE,EAAKrkB,UAAU8kB,2BAA6B,SAAU7uB,EAAOiO,GACzDwb,GAAcvf,KAAKM,MAAM0S,SAAUld,EAAOkK,KAAM,CAAEuI,KAAMvI,KAAKmmB,aAAapiB,GAASA,OAAQA,GAC/F,EAIAmgB,EAAK3hB,UAAY,CACbvI,SAAUmF,EAAAA,KACV6E,MAAO7E,EAAAA,QAAkBA,EAAAA,QACzBwB,MAAOxB,EAAAA,OACP6I,IAAK7I,EAAAA,OACLgmB,eAAgBhmB,EAAAA,OAChBqmB,gBAAiBrmB,EAAAA,OACjBmkB,YAAankB,EAAAA,KACb8K,WAAY9K,EAAAA,IACZ4K,WAAY5K,EAAAA,IACZunB,mBAAoBvnB,EAAAA,QAAkBA,EAAAA,QACtC6T,SAAU7T,EAAAA,KACVmD,KAAMnD,EAAAA,QAKV+kB,EAAKhjB,aAAe,CAAElH,UAAU,GACzBkqB,CACX,CA7N0B,CA6NxBrmB,EAAAA,WEnRE4I,GAAyC,WACzC,IAAIC,EAAgB,SAAUlM,EAAGmM,GAI7B,OAHAD,EAAgB5J,OAAO8J,gBAClB,CAAEC,UAAW,cAAgBjK,OAAS,SAAUpC,EAAGmM,GAAKnM,EAAEqM,UAAYF,CAAG,GAC1E,SAAUnM,EAAGmM,GAAK,IAAK,IAAI/G,KAAK+G,EAAO7J,OAAO+C,UAAUpN,eAAeqN,KAAK6G,EAAG/G,KAAIpF,EAAEoF,GAAK+G,EAAE/G,GAAI,EAC7F8G,EAAclM,EAAGmM,EAC5B,EACA,OAAO,SAAUnM,EAAGmM,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOhH,KAAKiH,YAAczM,CAAG,CADtCkM,EAAclM,EAAGmM,GAEjBnM,EAAEqF,UAAkB,OAAN8G,EAAa7J,OAAOoK,OAAOP,IAAMK,EAAGnH,UAAY8G,EAAE9G,UAAW,IAAImH,EACnF,CACJ,CAd6C,GAoBzC2f,GAA8B,SAAUvf,GAExC,SAASuf,IACL,OAAkB,OAAXvf,GAAmBA,EAAOrH,MAAMC,KAAMxD,YAAcwD,IAC/D,CAmBA,OAtBAyG,GAAUkgB,EAAcvf,GAIxBuf,EAAa9mB,UAAUwH,OAAS,WAC5B,IAAI7S,EACAE,EAAKsL,KAAKM,MAAOM,EAAKlM,EAAGkM,GAAIH,EAAO/L,EAAG+L,KAAMgS,EAAY/d,EAAG+d,UAAWmU,EAAUlyB,EAAGkyB,QAASC,EAAmBnyB,EAAGmyB,iBAAkBhV,EAAcnd,EAAGmd,YAAaS,EAAY5d,EAAG4d,UAAWzE,EAAanZ,EAAGmZ,WAAYiZ,EAAcpyB,EAAGoyB,YAC1OC,EAAYtmB,GAAQA,EAAKxI,OAAS,EAClC0I,EAAQ,CACRqmB,UAAWvmB,GAEXwmB,EAAc5qB,EAAW,WAAW7H,EAAK,CAAC,GACvC,YAAcie,EACjBje,EAAW,OAAIie,EACfje,EAAG,eAAiBqyB,EACpBryB,EAAG,kBAAoB8d,IAAcT,GAAekV,EACpDvyB,EAAG,gBAAkBqZ,EACrBrZ,IACJ,OAAQqJ,EAAAA,cAAoB,MAAO,CAAE+C,GAAIA,EAAI0B,KAAM,QAAS3B,MAAOA,EAAOnN,UAAWyzB,IAChFxU,GAAaqU,EAAc9mB,KAAKM,MAAMoC,cAAWhB,EAClDklB,EAAU/oB,EAAAA,cAAoB,MAAO,CAAErK,UAAW,sCAAoCkO,EAC9F,EACOilB,CACX,CAxBkC,CAwBhC9oB,EAAAA,WLxCSqpB,GAAgB,gBAIhBC,KAAY3yB,GAAK,CAAC,GACtB0yB,IAAiB,YACpB1yB,I,WMVAiS,GAAyC,WACzC,IAAIC,EAAgB,SAAUlM,EAAGmM,GAI7B,OAHAD,EAAgB5J,OAAO8J,gBAClB,CAAEC,UAAW,cAAgBjK,OAAS,SAAUpC,EAAGmM,GAAKnM,EAAEqM,UAAYF,CAAG,GAC1E,SAAUnM,EAAGmM,GAAK,IAAK,IAAI/G,KAAK+G,EAAO7J,OAAO+C,UAAUpN,eAAeqN,KAAK6G,EAAG/G,KAAIpF,EAAEoF,GAAK+G,EAAE/G,GAAI,EAC7F8G,EAAclM,EAAGmM,EAC5B,EACA,OAAO,SAAUnM,EAAGmM,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOhH,KAAKiH,YAAczM,CAAG,CADtCkM,EAAclM,EAAGmM,GAEjBnM,EAAEqF,UAAkB,OAAN8G,EAAa7J,OAAOoK,OAAOP,IAAMK,EAAGnH,UAAY8G,EAAE9G,UAAW,IAAImH,EACnF,CACJ,CAd6C,GAezC1H,GAAsC,WAStC,OARAA,GAAWxC,OAAOyC,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAInD,UAAUvE,OAAQyH,EAAIC,EAAGD,IAE5C,IAAK,IAAIE,KADTH,EAAIjD,UAAUkD,GACO5C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,KACzDJ,EAAEI,GAAKH,EAAEG,IAEjB,OAAOJ,CACX,EACOF,GAASS,MAAMC,KAAMxD,UAChC,EACIyD,GAAkC,SAAUR,EAAGS,GAC/C,IAAIV,EAAI,CAAC,EACT,IAAK,IAAII,KAAKH,EAAO3C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,IAAMM,EAAEzM,QAAQmM,GAAK,IAC9EJ,EAAEI,GAAKH,EAAEG,IACb,GAAS,MAALH,GAAqD,oBAAjC3C,OAAOqD,sBACtB,KAAIT,EAAI,EAAb,IAAgBE,EAAI9C,OAAOqD,sBAAsBV,GAAIC,EAAIE,EAAE3H,OAAQyH,IAC3DQ,EAAEzM,QAAQmM,EAAEF,IAAM,GAAK5C,OAAO+C,UAAUO,qBAAqBN,KAAKL,EAAGG,EAAEF,MACvEF,EAAEI,EAAEF,IAAMD,EAAEG,EAAEF,IAF4B,CAItD,OAAOF,CACX,EAYI4nB,GAAgB,CAChBvV,aAAa,EACbY,WAAW,EACXH,WAAW,EACXzE,YAAY,GA+BZwZ,GAA0B,SAAUjgB,GAKpC,SAASigB,EAAS/mB,GACd,IAAI+H,EAAQjB,EAAOtH,KAAKE,KAAMM,IAAUN,KAyIxC,OAxIAqI,EAAMif,WAAa,KACnBjf,EAAMkf,cAAgB,SAAUC,GAE5B,IADkBA,EAAajtB,QAAO,SAAUktB,GAAQ,YAAqB/lB,IAAd+lB,EAAKhnB,IAAoB,IACvExI,OACb,MAAM,IAAIqnB,MAAM,iEAExB,EACAjX,EAAMqf,eAAiB,SAAUC,EAAOC,GAIpC,IAHA,IAAIlV,EAAcrK,EAAMqK,YACpBle,EAAK6T,EAAMhU,MAAOwzB,EAAYrzB,EAAGqzB,UAAWC,EAAatzB,EAAGszB,WAC5DC,EAAc,GACTvc,EAAQ,EAAGA,EAAQoc,EAAa3vB,OAAQuT,IAAS,CACtD,IAAIqb,GAAmB,EACnBmB,EAAcJ,EAAapc,GAC3B3N,EAAAA,eAAqBmqB,KACrBnB,EAAoD,aAAjCmB,EAAYhyB,KAAKwM,aAExC,IAAIokB,GAAU,EACVkB,QAA4BpmB,IAAdmmB,IACdjB,EAAUiB,IAAcrc,GAASqc,EAAY,IAAMrc,GAEvDuc,EAAYrL,KAAKpd,GAASA,GAASA,GAAS,CAAC,EAAG8nB,IAAgB,CAAE1U,YAAaA,EAAamU,iBAAkBA,EAAkBD,QAASA,KAAae,GAAS,IAAInc,IACvK,CACA,OAAOuc,CACX,EACA1f,EAAM4f,iBAAmB,SAAUN,EAAOC,GACtC,IAAIhV,GAAYtU,EAAAA,GAAAA,IAA2B+J,GAAO6f,iBAAiBhB,GAAeC,GAASD,KAC3F,OAAOS,EAAMttB,KAAI,SAAUotB,EAAMjc,GAC7B,IAAI2c,EACAC,EAAkB,EAAR5c,EACV6c,EAASD,EAAU,EACvB,GAAI5c,EAAQ,EAAImc,EAAM1vB,OAAQ,CAC1B,IAAIkN,EAAOwiB,EAAMnc,EAAQ,GACzB2c,EAAetqB,EAAAA,cAAoBsT,GAAa,CAAEnU,IAAKqrB,EAAQ7c,MAAOA,EAAOkH,YAAa+U,EAAK/U,YAAad,KAAM6V,EAAMtiB,KAAMA,EAAMyN,UAAWA,EAAW1Y,OAAQmO,EAAMigB,gBAAiB3W,SAAUtJ,EAAMkgB,YAAapW,iBAAkB9J,EAAMmgB,oBAAqB3V,MAAOxK,EAAMwK,OACpR,CAEA,MAAO,CADahV,EAAAA,cAAoB8oB,GAAcrnB,GAAS,CAAEtC,IAAKorB,GAAWX,GAAOG,EAAapc,IAC/E2c,EAC1B,GACJ,EACA9f,EAAMkgB,YAAc,SAAU/c,EAAO1V,GACjC,IACI2yB,EADepgB,EAAMmf,aAAanf,EAAMuf,cACZvtB,KAAI,SAAUotB,EAAMrV,GAChD,IAAIsW,EAAYrgB,EAAMsgB,aAAalB,GACnC,OAAIrV,IAAQ5G,EACDlM,GAASA,GAAS,CAAC,EAAGopB,GAAY,CAAEjW,WAAYgV,EAAKhV,YAGrDnT,GAAS,CAAC,EAAGopB,EAE5B,IACIrgB,EAAM/H,MAAMsoB,UACZvgB,EAAM/H,MAAMsoB,SAAS,CACjBC,SAAUJ,EACVnX,QAAQ,EACRsO,YAAa9pB,GAGzB,EACAuS,EAAMigB,gBAAkB,SAAUxyB,EAAOgzB,EAAYtd,EAAO6F,EAASC,GACjE,IAAIyX,GAAO,IAAIC,MAAOC,UAClB/yB,EAAQJ,EAAMI,MAAOE,EAAQN,EAAMM,MACnC5B,EAAK6T,EAAM6gB,gBAAgBJ,GAAaK,EAAc30B,EAAG20B,YAAaC,EAAc50B,EAAG40B,YAC3F,GAAKD,GAAgBC,EAGrB,GAAI/X,EACAhJ,EAAMoJ,SAAS,CACXqW,YAAY,EACZD,UAAWrc,EACX6d,UAAWN,EACXO,UAAWpzB,EACXqzB,UAAWnzB,EACXozB,iBAAkBnhB,EAAMohB,YAAYN,GACpCO,iBAAkBrhB,EAAMohB,YAAYL,SAR5C,CAYA,IAOIO,EAPAj1B,EAAK2T,EAAMhU,MAAOm1B,EAAmB90B,EAAG80B,iBAAkBE,EAAmBh1B,EAAGg1B,iBAAkBL,EAAY30B,EAAG20B,UAAWC,EAAY50B,EAAG40B,UAAWC,EAAY70B,EAAG60B,UACzK,IAAKlY,GAAW0X,EAAOM,EA/GN,IAgHT/X,GACAjJ,EAAMuhB,sBAMVD,EADsB,aAAtBthB,EAAMqK,YACEtc,EAAQmzB,EAEXlhB,EAAMwK,MACHyW,EAAYpzB,EAGZA,EAAQozB,EAEpBjhB,EAAMwhB,OAAOre,EAAOA,EAAQ,EAAGge,EAAkBE,EAAkBC,EAAOrY,EAAQxb,GAC9Ewb,GACAjJ,EAAMuhB,gBApBV,CAsBJ,EACAvhB,EAAMmgB,oBAAsB,SAAUM,EAAYtd,EAAOme,EAAO7zB,GAC5D,IAAItB,EAAK6T,EAAM6gB,gBAAgBJ,GAAaK,EAAc30B,EAAG20B,YAAaC,EAAc50B,EAAG40B,YACvFI,EAAmBnhB,EAAMohB,YAAYN,GACrCO,EAAmBrhB,EAAMohB,YAAYL,GACzC/gB,EAAMwhB,OAAOre,EAAOA,EAAQ,EAAGge,EAAkBE,EAAkBC,GAAO,EAAM7zB,EACpF,EACAuS,EAAMyhB,cAAgB,WAClB,OAAKzhB,EAAMif,WAGJjf,EAAMohB,YAAYphB,EAAMif,YAAY,GAFhC,CAGf,EACAjf,EAAMmf,aAAe,SAAUI,GAC3B,OAAOvf,EAAMqf,eAAerf,EAAMsf,MAAOC,EAC7C,EACAvf,EAAMohB,YAAc,SAAUl2B,EAAIw2B,GAC9B,IAAIC,EAAWD,EAAc,SAAW,SACxC,MAA0B,aAAtB1hB,EAAMqK,YACCnf,EAAG,GAAGgK,OAAOysB,EAAU,WAGvBz2B,EAAG,GAAGgK,OAAOysB,EAAU,SAEtC,EACA3hB,EAAM4hB,MAAQ,SAAUj5B,EAAKb,EAAK+5B,GAAK,OAAOr5B,KAAKG,IAAIb,EAAKU,KAAKV,IAAIa,EAAKk5B,GAAK,EAC/E7hB,EAAM0e,UAAY,SAAUtmB,GAAQ,OAAOA,GAAQA,EAAKxI,OAAS,CAAG,EACpEkF,GAAgBC,IAChBiL,EAAMhU,MAAQ,CACVyzB,YAAY,EACZD,eAAWnmB,EACX2nB,UAAW,EACXC,UAAW,EACXC,UAAW,EACXC,iBAAkB,EAClBE,iBAAkB,EAClB/B,MAAOrnB,EAAM6pB,cAAgB,IAE1B9hB,CACX,CAyJA,OAxSA5B,GAAU4gB,EAAUjgB,GAgJpBtK,OAAOkO,eAAeqc,EAASxnB,UAAW,oBAAqB,CAC3DoL,IAAK,WACD,YAA4BvJ,IAArB1B,KAAKM,MAAMqnB,KACtB,EACAzc,YAAY,EACZC,cAAc,IAElBrO,OAAOkO,eAAeqc,EAASxnB,UAAW,QAAS,CAC/CoL,IAAK,WACD,YAAoCvJ,IAA7B1B,KAAKoqB,oBACRpqB,KAAKoqB,oBACJpqB,KAAKqqB,kBAAoBrqB,KAAKM,MAAMqnB,MAAQ3nB,KAAK3L,MAAMszB,KAChE,EACAzc,YAAY,EACZC,cAAc,IAElBrO,OAAOkO,eAAeqc,EAASxnB,UAAW,cAAe,CACrDoL,IAAK,WACD,OAAOjL,KAAKM,MAAMoS,aAAe,YACrC,EACAxH,YAAY,EACZC,cAAc,IAElBrO,OAAOkO,eAAeqc,EAASxnB,UAAW,QAAS,CAC/CoL,IAAK,WACD,OAAOjL,KAAKsnB,YAA+D,QAAhD3zB,iBAAiBqM,KAAKsnB,YAAY3Y,YAAwB,CACzF,EACAzD,YAAY,EACZC,cAAc,IAElBrO,OAAOkO,eAAeqc,EAASxnB,UAAW,eAAgB,CACtDoL,IAAK,WACD,OAAOpN,EAAAA,SAAAA,QAAuBmC,KAAKM,MAAMoC,UAAUnI,QAAO,SAAUwf,GAAK,OAAOA,CAAG,GACvF,EACA7O,YAAY,EACZC,cAAc,IAKlBkc,EAASxnB,UAAUwH,OAAS,WACxB,IAAIgB,EAAQrI,KACR4nB,EAAe5nB,KAAK4nB,aACpBJ,EAAexnB,KAAKwnB,aAAaI,GACjCp0B,EAAY6I,EAAW,WAAY,aAAc,kBAAmB,cAAckB,OAAOyC,KAAK0S,aAAc1S,KAAKM,MAAM9M,WAE3H,OADAwM,KAAKunB,cAAcC,GACX3pB,EAAAA,cAAoB,MAAO,CAAE8C,MAAOX,KAAKM,MAAMK,MAAOJ,IAAK,SAAUA,GAAO,OAAO8H,EAAMif,WAAa/mB,CAAK,EAAG/M,UAAWA,GAAawM,KAAKioB,iBAAiBT,EAAcI,GACtL,EACAP,EAASxnB,UAAUqpB,gBAAkB,SAAUJ,GAC3C,MAAO,CACHK,YAAaL,EAAWwB,uBACxBlB,YAAaN,EAAWyB,mBAEhC,EACAlD,EAASxnB,UAAU2qB,UAAY,SAAU/pB,GACrC,MAAO,KAAK1K,KAAK0K,EACrB,EACA4mB,EAASxnB,UAAU4qB,SAAW,SAAUhqB,EAAMiqB,GAC1C,IAAIt6B,EAASyC,SAAS4N,EAAM,IAI5B,OAHIT,KAAKwqB,UAAU/pB,KACfrQ,EAAUs6B,EAAet6B,EAAS,KAE/BA,CACX,EACAi3B,EAASxnB,UAAU+pB,eAAiB,WAChC5pB,KAAKyR,SAAS,CACVqW,YAAY,EACZD,eAAWnmB,EACX2nB,UAAW,EACXC,UAAW,EACXC,UAAW,EACXC,iBAAkB,EAClBE,iBAAkB,GAE1B,EACArC,EAASxnB,UAAUgqB,OAAS,SAAUc,EAAWC,EAAWpB,EAAkBE,EAAkBC,EAAOrY,EAAQxb,GAC3G,IA6BI+0B,EACAC,EA9BAziB,EAAQrI,KACRwnB,EAAexnB,KAAKwnB,aAAaxnB,KAAK4nB,cACtCmD,EAAcvD,EAAamD,GAC3BK,EAAcxD,EAAaoD,GAC3BK,EAAQzB,EAAmBE,EAC3BgB,EAAe1qB,KAAK8pB,gBACpBoB,EAAK,SAAUzrB,GAAK,OAAO4I,EAAMoiB,SAAShrB,EAAGirB,EAAe,EAC5DS,EAAgB,CAChB3f,MAAOmf,EACPS,YAAa5B,EACbx4B,IAAKk6B,EAAGH,EAAY/5B,MAAQi6B,EAAQC,EAAGF,EAAY76B,MAAQ,EAC3DA,IAAK+6B,EAAGH,EAAY56B,MAAQ86B,EAAQC,EAAGF,EAAYh6B,MAAQi6B,GAE3DI,EAAgB,CAChB7f,MAAOof,EACPQ,YAAa1B,EACb14B,IAAKk6B,EAAGF,EAAYh6B,MAAQi6B,EAAQC,EAAGH,EAAY56B,MAAQ,EAC3DA,IAAK+6B,EAAGF,EAAY76B,MAAQ86B,EAAQC,EAAGH,EAAY/5B,MAAQi6B,GAE3DpB,EAAS,SAAUyB,EAAWC,GAC9B,IAAI9D,EAAOD,EAAa8D,EAAU9f,OAC9BggB,EAAUnjB,EAAM4hB,MAAMqB,EAAUt6B,IAAKs6B,EAAUn7B,IAAKm7B,EAAUF,YAAcG,GAChF,OAAIljB,EAAMmiB,UAAU/C,EAAKhnB,MAAQ,IACtB,IAAM+qB,EAAUd,EAAe,IAG/Bc,EAAU,IAEzB,EAGIxrB,KAAK+mB,UAAUgE,EAAYtqB,OAAST,KAAK+mB,UAAUiE,EAAYvqB,OAC/DoqB,EAAWhB,EAAOsB,EAAexB,GACjCmB,EAAWjB,EAAOwB,GAAgB1B,IAE7BqB,EAAYnZ,aAAe7R,KAAK+mB,UAAUiE,EAAYvqB,MAC3DqqB,EAAWjB,EAAOwB,GAAgB1B,GAGlCkB,EAAWhB,EAAOsB,EAAexB,GAErC,IAAIlB,EAAejB,EAAantB,KAAI,SAAUotB,EAAMrV,GAChD,IAAIsW,EAAYrgB,EAAMsgB,aAAalB,GACnC,OAAIrV,IAAQuY,EACDrrB,GAASA,GAAS,CAAC,EAAGopB,GAAY,CAAEjoB,KAAMoqB,IAE5CzY,IAAQwY,EACNtrB,GAASA,GAAS,CAAC,EAAGopB,GAAY,CAAEjoB,KAAMqqB,IAG1CxrB,GAAS,CAAC,EAAGopB,EAE5B,IACA1oB,KAAKoqB,oBAAsB3B,EACtBzoB,KAAKqqB,mBACNrqB,KAAKyR,SAAS,CACVkW,MAAOc,IAGXzoB,KAAKM,MAAMsoB,UACX5oB,KAAKM,MAAMsoB,SAAS,CAChBC,SAAUJ,EACVnX,OAAQA,EACRsO,YAAa9pB,IAGrBkK,KAAKoqB,yBAAsB1oB,CAC/B,EACA2lB,EAASxnB,UAAU8oB,aAAe,SAAUlB,GACtBA,EAAK/U,YAAuB+U,EAAKb,QAA4Ba,EAAKZ,iBACpF,OAD+G5mB,GAAOwnB,EAAM,CAAC,cAAe,UAAW,oBAE3J,EAIAJ,EAAS7kB,YAAc,WAChB6kB,CACX,CA1S8B,CA0S5BxpB,EAAAA,YL5XF,SAAW8kB,GACPA,EAAiB,KAAI,OACrBA,EAAkB,MAAI,QACtBA,EAAiB,KAAI,MACxB,CAJD,CAIGA,KAAeA,GAAa,CAAC,IAEhC,SAAWC,GACPA,EAA4B,WAAI,aAChCA,EAA0B,SAAI,UACjC,CAHD,CAGGA,KAAoBA,GAAkB,CAAC,IAE1C,SAAWC,GACPA,EAAkB,QAAI,UACtBA,EAAkB,QAAI,UACtBA,EAAe,KAAI,OACnBA,EAAkB,QAAI,UACtBA,EAAkB,QAAI,UACtBA,EAAgB,MAAI,OACvB,CAPD,CAOGA,KAAaA,GAAW,CAAC,IAE5B,SAAWC,GACPA,EAAyB,MAAI,QAC7BA,EAA0B,OAAI,SAC9BA,EAAuB,IAAI,MAC3BA,EAA6B,UAAI,WACpC,CALD,CAKGA,KAAsBA,GAAoB,CAAC,IM1B9C,IAAIxjB,GAAsC,WAStC,OARAA,GAAWxC,OAAOyC,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAInD,UAAUvE,OAAQyH,EAAIC,EAAGD,IAE5C,IAAK,IAAIE,KADTH,EAAIjD,UAAUkD,GACO5C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,KACzDJ,EAAEI,GAAKH,EAAEG,IAEjB,OAAOJ,CACX,EACOF,GAASS,MAAMC,KAAMxD,UAChC,EACIyD,GAAkC,SAAUR,EAAGS,GAC/C,IAAIV,EAAI,CAAC,EACT,IAAK,IAAII,KAAKH,EAAO3C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,IAAMM,EAAEzM,QAAQmM,GAAK,IAC9EJ,EAAEI,GAAKH,EAAEG,IACb,GAAS,MAALH,GAAqD,oBAAjC3C,OAAOqD,sBACtB,KAAIT,EAAI,EAAb,IAAgBE,EAAI9C,OAAOqD,sBAAsBV,GAAIC,EAAIE,EAAE3H,OAAQyH,IAC3DQ,EAAEzM,QAAQmM,EAAEF,IAAM,GAAK5C,OAAO+C,UAAUO,qBAAqBN,KAAKL,EAAGG,EAAEF,MACvEF,EAAEI,EAAEF,IAAMD,EAAEG,EAAEF,IAF4B,CAItD,OAAOF,CACX,EAQWisB,GAAO5tB,EAAAA,YAAiB,SAAUyC,EAAOC,GAChD,IAAI/L,EACJ2I,GAAgBC,IAChB,IAAIsF,EAAWpC,EAAMoC,SAAUsF,EAAM1H,EAAM0H,IAAKrH,EAAQL,EAAMK,MAAOnN,EAAY8M,EAAM9M,UAAWwC,EAAOsK,EAAMtK,KAAM0c,EAAcpS,EAAMoS,YAAagZ,EAAczrB,GAAOK,EAAO,CAAC,WAAY,MAAO,QAAS,YAAa,OAAQ,gBAChO9P,EAASqN,EAAAA,OAAa,MACtB8tB,EAAU9tB,EAAAA,OAAa,MAM3B,OALAA,EAAAA,oBAA0BrN,GAAQ,WAAc,MAAQ,CACpDP,QAAS07B,EAAQ3qB,QACjBV,MAAOA,EACP,IACJzC,EAAAA,oBAA0B0C,GAAK,WAAc,OAAO/P,EAAOwQ,OAAS,IAC5DnD,EAAAA,cAAoB,MAAOyB,GAAS,CAAE0I,IAAKA,EAAKrH,MAAOA,EAAOJ,IAAKorB,EAASn4B,UAAW6I,EAAW,SAAU7I,GAAYgB,EAAK,CAAC,EAAGA,EAAG,UAAU+I,OAAOvH,IAASA,IAAS6sB,GAAS+I,QAASp3B,GAAKke,IAAgBkQ,GAAgBiJ,WAAa,kBAAoB,sBAAwBH,GAAchpB,EACjT,IACA+oB,GAAKjpB,YAAc,iBACnBipB,GAAKlpB,UAAY,CACbG,SAAUvD,EAAAA,KACV3L,UAAW2L,EAAAA,OACX6I,IAAK7I,EAAAA,OACLuT,YAAavT,EAAAA,MAAgB,CAAC,aAAc,aAC5CwB,MAAOxB,EAAAA,OACPnJ,KAAMmJ,EAAAA,MAAgB,CAAC,UAAW,UAAW,OAAQ,UAAW,UAAW,WAE/EssB,GAAKvqB,aAAe,CAChBlL,KAAM6sB,GAAS+I,QACflZ,YAAakQ,GAAgBkJ,UClD1B,IAAIC,GAAa,SAAUzrB,GAC9B,OAAQzC,EAAAA,cAAoB,MAAO,CAAE8C,MAAOL,EAAMK,MAAOnN,UAAW6I,EAAW,gBAAiBiE,EAAM9M,YAAc8M,EAAMoC,SAC9H,EACAqpB,GAAWxpB,UAAY,CACnB/O,UAAW2L,EAAAA,QCJR,IAAI6sB,GAAY,SAAU1rB,GAC7B,OAAQzC,EAAAA,cAAoB,MAAO,CAAE8C,MAAOL,EAAMK,MAAOnN,UAAW6I,EAAW,eAAgBiE,EAAM9M,YAAc8M,EAAMoC,SAC7H,EACAspB,GAAUzpB,UAAY,CAClB/O,UAAW2L,EAAAA,QCJR,IAAI8sB,GAAW,SAAU3rB,GAC5B,OAAQzC,EAAAA,cAAoB,MAAO,CAAE8C,MAAOL,EAAMK,MAAOnN,UAAW6I,EAAW,cAAeiE,EAAM9M,YAAc8M,EAAMoC,SAC5H,EACAupB,GAAS1pB,UAAY,CACjB/O,UAAW2L,EAAAA,QCHR,IAAI+sB,GAAc,SAAU5rB,GAC/B,OAAQzC,EAAAA,cAAoB,MAAO,CAAE8C,MAAOL,EAAMK,MAAOnN,UAAW6I,EAAW,iBAAkBiE,EAAM9M,UAAW,kBAAkB+J,OAAO+C,EAAM6rB,QAAS7rB,EAAMoS,cAAgBkQ,GAAgBkJ,SAAW,4BAA8B,4BAA8BxrB,EAAMoC,SACjR,EACAwpB,GAAY3pB,UAAY,CACpB4pB,OAAQhtB,EAAAA,MAAgB,CAAC,YAAa,QAAS,SAAU,QACzDuT,YAAavT,EAAAA,MAAgB,CAAC,aAAc,cAEhD+sB,GAAYhrB,aAAe,CACvBirB,OAAQrJ,GAAkB5qB,MAC1Bwa,YAAakQ,GAAgBiJ,YCV1B,IAAIO,GAAY,SAAU9rB,GAC7B,OAAQzC,EAAAA,cAAoB,MAAO,CAAE8C,MAAOL,EAAMK,MAAOnN,UAAW6I,EAAW,eAAgBiE,EAAM9M,WAAYonB,IAAKta,EAAMsa,KAChI,EACAwR,GAAU7pB,UAAY,CAClB/O,UAAW2L,EAAAA,OACXyb,IAAKzb,EAAAA,QAETitB,GAAUlrB,aAAe,CACrB0Z,IAAK,ICRF,IAAIyR,GAAe,SAAU/rB,GAChC,OAAQzC,EAAAA,cAAoB,MAAO,CAAE8C,MAAOL,EAAMK,MAAOnN,UAAW6I,EAAW,kBAAmBiE,EAAM9M,YAAc8M,EAAMoC,SAChI,EACA2pB,GAAa9pB,UAAY,CACrB/O,UAAW2L,EAAAA,QCJR,IAAImtB,GAAa,SAAUhsB,GAC9B,OAAQzC,EAAAA,cAAoB,MAAO,CAAE8C,MAAOL,EAAMK,MAAOnN,UAAW6I,EAAW,gBAAiBiE,EAAM9M,YAAc8M,EAAMoC,SAC9H,EACA4pB,GAAW/pB,UAAY,CACnB/O,UAAW2L,EAAAA,QCNR,IAAIotB,GAAiB,CACxBC,QAAS,CACLC,MAAO,KACPC,OAAQ,KACRC,MAAO,MAEXC,WAAY,CACRH,MAAO,KACPC,OAAQ,KACRC,MAAO,OCJJE,GAAS,SAAUvsB,GAC1B,IAAI9L,EAEJ,OADA2I,GAAgBC,IACRS,EAAAA,cAAoB,MAAO,CAAE8C,MAAOL,EAAMK,MAAOnN,UAAW6I,EAAW,YAAa7H,EAAK,CAAC,EAC1FA,EAAG,qBAAuB8L,EAAMwsB,OAChCt4B,EAAG,aAAa+I,OAAOgvB,GAAeK,WAAWtsB,EAAMysB,UAAYzsB,EAAMysB,UAAYzsB,EAAMysB,QAC3Fv4B,EAAG,YAAY+I,OAAOgvB,GAAeC,QAAQlsB,EAAMG,OAASH,EAAMG,OAASH,EAAMG,KACjFjM,EAAG,YAAY+I,OAAO+C,EAAMsV,WAAatV,EAAMsV,SAC/CphB,EAAG,YAAY+I,OAAO+C,EAAMsV,SAAU,KAAKrY,OAAO+C,EAAME,aAAeyN,QAAQ3N,EAAMsV,UAAYtV,EAAME,YACvGhM,GAAK8L,EAAM9M,YACfqK,EAAAA,cAAoB,OAAQ,CAAErK,UAAW,YAAY+J,OAAO+C,EAAMtK,OAASsK,EAAMoC,UACzF,EACAmqB,GAAOtqB,UAAY,CACf/O,UAAW2L,EAAAA,OACXnJ,KAAMmJ,EAAAA,MAAgB,CAAC,OAAQ,QAAS,SACxCsB,KAAMtB,EAAAA,MAAgB,CAAC,KAAM,QAAS,SAAU,UAChD4tB,QAAS5tB,EAAAA,MAAgB,CAAC,KAAM,QAAS,SAAU,QAAS,SAC5DyW,SAAUzW,EAAAA,MAAgB,CAAC,KAAM,QAAS,YAE1CqB,WAAYrB,EAAAA,MAAgB,CAAC,KAAM,OAAQ,OAAQ,QAAS,OAAQ,UAAW,UAAW,QAAS,UAAW,YAAa,UAAW,WAAY,aAEtJ0tB,GAAO3rB,aAAe,CAClBlL,KAAM2sB,GAAWqK,KACjBvsB,KAAM,SACNssB,QAAS,OACTnX,SAAU,QACVpV,WAAY,WC5BhB,IAWWysB,GAAgBpvB,EAAAA,cAXN,CACjB+a,WAAW,EACXyB,UAAU,EACV6S,KAAM,UACNxU,SAAU,QACVyU,MAAM,EACNnlB,IAAK,MACL/W,MAAO,IACPm8B,UAAW,KCAJC,GAAc,SAAUxsB,EAAUyI,EAAUgkB,GACnD,IAAIC,EAAqC,kBAAb1sB,EAAwBhO,SAASgO,OAAUa,GAAab,EACpF,GAAuB2sB,MAAnBD,EAGJ,YAA0B7rB,IAAnB6rB,EACDA,EACAjkB,EACGgkB,OAAiC5rB,GAhBtB,EAID,CAcvB,ECtBIpC,GAAsC,WAStC,OARAA,GAAWxC,OAAOyC,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAInD,UAAUvE,OAAQyH,EAAIC,EAAGD,IAE5C,IAAK,IAAIE,KADTH,EAAIjD,UAAUkD,GACO5C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,KACzDJ,EAAEI,GAAKH,EAAEG,IAEjB,OAAOJ,CACX,EACOF,GAASS,MAAMC,KAAMxD,UAChC,EACIyD,GAAkC,SAAUR,EAAGS,GAC/C,IAAIV,EAAI,CAAC,EACT,IAAK,IAAII,KAAKH,EAAO3C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,IAAMM,EAAEzM,QAAQmM,GAAK,IAC9EJ,EAAEI,GAAKH,EAAEG,IACb,GAAS,MAALH,GAAqD,oBAAjC3C,OAAOqD,sBACtB,KAAIT,EAAI,EAAb,IAAgBE,EAAI9C,OAAOqD,sBAAsBV,GAAIC,EAAIE,EAAE3H,OAAQyH,IAC3DQ,EAAEzM,QAAQmM,EAAEF,IAAM,GAAK5C,OAAO+C,UAAUO,qBAAqBN,KAAKL,EAAGG,EAAEF,MACvEF,EAAEI,EAAEF,IAAMD,EAAEG,EAAEF,IAF4B,CAItD,OAAOF,CACX,EAiCWiuB,GAAa5vB,EAAAA,YAAiB,SAAUyC,EAAO9P,GACtD,IAAIgD,EAAY8M,EAAM9M,UAAWmN,EAAQL,EAAMK,MAAO6I,EAAOlJ,EAAMkJ,KAAM5G,EAAOtC,EAAMsC,KAAMmI,EAAUzK,EAAMyK,QAAS2iB,EAAYptB,EAAMotB,UAAWpkB,EAAWhJ,EAAMgJ,SAAUuM,EAAWvV,EAAMuV,SAAU7C,EAAW1S,EAAM0S,SAAUxH,EAAQlL,EAAMkL,MAAO3K,EAAWP,EAAMO,SAAU6B,EAAWpC,EAAMoC,SAAU5B,EAASb,GAAOK,EAAO,CAAC,YAAa,QAAS,OAAQ,OAAQ,UAAW,YAAa,WAAY,WAAY,WAAY,QAAS,WAAY,aACzb9L,EAAKqJ,EAAAA,WAAiBovB,IAAgB5S,EAAW7lB,EAAG6lB,SAAU8S,EAAO34B,EAAG24B,KAAM5kB,EAAO/T,EAAG+T,KACxFxH,EAAalD,EAAAA,OAAa,MAC1B8vB,EAAe9vB,EAAAA,aAAkB,WAC7BkD,EAAWC,SACXD,EAAWC,QAAQ6H,OAE3B,GAAG,IACHhL,EAAAA,oBAA0BrN,GAAQ,WAAc,MAAQ,CACpDP,QAAS8Q,EAAWC,QACpB6H,MAAO8kB,EACPrtB,MAAOA,EACP,IACJ,IAAIstB,EAAiBvxB,EAAW,gBAAiB,CAC7C,aAAcwZ,EACd,aAAcvM,GACf9V,GACCq6B,EAAchwB,EAAAA,aAAkB,SAAU/H,GAC1C,GAAIkd,IAAa1J,EAAU,CACvB,IAAIwkB,EAAS,CACT79B,QAAS8Q,EAAWC,QACpB6H,MAAO8kB,EACPrtB,MAAOA,GAEX0S,EAAS8a,EAAQtiB,EAAO1V,EAC5B,CACJ,GAAG,CAACkd,EAAUxH,EAAOlC,IACjBykB,EAAqBlwB,EAAAA,cAAoBA,EAAAA,SAAgB,MACxD+E,GAAQmI,IAAYlN,EAAAA,cAAoB0F,EAAU,CAAE/F,KAAMoF,EAAO7D,EAAW6D,GAAQA,EAAMA,KAAMmI,KAChGsP,GAAY8S,EAAO,KAAOtvB,EAAAA,cAAoB,OAAQ,CAAErK,UAAW,eAAiBgW,IACzF,OAAQkkB,EACF7vB,EAAAA,cAAoB,KAAM,CAAErK,UAAW,mCAAoC8O,KAAM,cAChFzE,EAAAA,cAAoB,KAAMyB,GAAS,CAAEiB,IAAKQ,EAAYvN,UAAWo6B,EAAgBjtB,MAAOA,EAAO2B,KAAM,WAAY,aAAckH,EAAM,gBAAiBF,EAAUxH,QAAS+rB,EAAahtB,SAAUwsB,GAAYxsB,EAAUyI,IAAaxI,GAAUyH,EAA2B7F,EAApBqrB,EAC/P,IACAN,GAAWlrB,UAAY,CACnB/O,UAAW2L,EAAAA,OACXwB,MAAOxB,EAAAA,OACPqK,KAAMrK,EAAAA,OACNyD,KAAMzD,EAAAA,OACN4L,QAAS7L,EACTwuB,UAAWvuB,EAAAA,KACX0W,SAAU1W,EAAAA,KACVmK,SAAUnK,EAAAA,KACV6uB,WAAY7uB,EAAAA,KAEhBsuB,GAAWjrB,YAAc,kBCpGzB,IAAIlD,GAAsC,WAStC,OARAA,GAAWxC,OAAOyC,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAInD,UAAUvE,OAAQyH,EAAIC,EAAGD,IAE5C,IAAK,IAAIE,KADTH,EAAIjD,UAAUkD,GACO5C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,KACzDJ,EAAEI,GAAKH,EAAEG,IAEjB,OAAOJ,CACX,EACOF,GAASS,MAAMC,KAAMxD,UAChC,EAiBIyxB,GAAoB,CAAEj4B,KAAM,QAASk4B,SAAU,KAI/CC,GAAe,CAAEn4B,KAAM,QAASk4B,SAAU,GAkCnCE,GAAmBvwB,EAAAA,YAAiB,SAAUyC,EAAO9P,GAC5D,IAAIkS,EAAWpC,EAAMoC,SAAUlP,EAAY8M,EAAM9M,UAAWmN,EAAQL,EAAMK,MACtEnM,EAAKqJ,EAAAA,WAAiBovB,IAAgBrU,EAAYpkB,EAAGokB,UAAWyB,EAAW7lB,EAAG6lB,SAAU6S,EAAO14B,EAAG04B,KAAMxU,EAAWlkB,EAAGkkB,SAAU2V,EAAiB75B,EAAG65B,eAAgBlB,EAAO34B,EAAG24B,KAAMnlB,EAAMxT,EAAGwT,IAAK/W,EAAQuD,EAAGvD,MAAOm8B,EAAY54B,EAAG44B,UAAWppB,EAAQxP,EAAGwP,MAAOuE,EAAO/T,EAAG+T,KAAMyK,EAAWxe,EAAGwe,SAC9RjS,EAAalD,EAAAA,OAAa,MAC1B8vB,EAAe9vB,EAAAA,aAAkB,WAC7BkD,EAAWC,SACXD,EAAWC,QAAQ6H,OAE3B,GAAG,IACCylB,EAAsC,mBAAd1V,EAA0BA,GAA0B,IAAdA,EAAsBuV,GAAeF,GACnGM,EAAWt9B,GAxDU,IAyDrBu9B,EAAepB,GArDE,GAsDrBvvB,EAAAA,oBAA0BrN,GAAQ,WAAc,MAAQ,CACpDP,QAAS8Q,EAAWC,QACpB6H,MAAO8kB,EACP,IACJ,IAAIc,EAAuB5wB,EAAAA,SAAc,WAAc,MAAO,qBAAuBxB,EAAW,CAC5F,iBAA+B,UAAbqc,EAClB,eAA6B,QAAbA,GACjBllB,EAAY,GAAG,CAACklB,IACfgW,EAAa,CACbC,QAAS,EACT3H,UAAWuH,EACXK,iBAAkB,QAAUN,GAAkBA,EAAeJ,UAAY,KACzEW,WAAY,QAAUP,GAAkBA,EAAeJ,UAAY,MAEnEY,EAAgB,CAChBH,QAAS,EACTI,UAAW,kBACXH,iBAAkB,QAAUN,GAAkBA,EAAeJ,UAAY,KACzEW,WAAY,QAAUP,GAAkBA,EAAeJ,UAAY,MAEnEc,EAAe,CACfL,QAAUxB,EAAW,EAAJ,EACjBnG,UAAYmG,EAAWqB,EAAJ,EACnBI,iBAAkB,QAAUN,GAAkBA,EAAeJ,UAAY,KACzEW,WAAY,QAAUP,GAAkBA,EAAeJ,UAAY,MAEnEe,EAAkB,CAClBN,QAAS,EACTI,UAAW,oBACXH,iBAAkB,QAAUN,GAAkBA,EAAeJ,UAAY,KACzEW,WAAY,QAAUP,GAAkBA,EAAeJ,UAAY,MAEnEgB,EAAqB,CACrBP,QAAS,EACTI,UAAW,mBACXH,iBAAkB,QAAUN,GAAkBA,EAAeJ,UAAY,KACzEW,WAAY,QAAUP,GAAkBA,EAAeJ,UAAY,MAEnEiB,EAAsB,CACtBJ,UAAW,iBACXK,0BAA2Bd,GAAkBA,EAAeJ,UAAY,KACxEmB,oBAAqBf,GAAkBA,EAAeJ,UAAY,MAElEoB,EAAkBjV,EACT,SAAT6S,EAAkBwB,EAAaI,EACtB,SAAT5B,EAAkB8B,EACL,QAARhnB,GAA8B,UAAb0Q,GAAkC,QAAR1Q,GAA8B,QAAb0Q,EACzDyU,EAAOgC,EAAsBF,EAC7B9B,EAAOgC,EAAsBD,EACrCK,EAAevrB,GAAUnG,EAAAA,cAAoB,KAAM,CAAErK,UAAW,iBAAkB8O,KAAM,UAAW,aAAc,cAAe,gBAAiB+X,GAAYrW,EAC5J3J,KAAI,SAAUpK,EAASub,GACxB,IAAIgkB,EAAkBlwB,GAASA,GAAS,CAAEkM,MAAOA,GAASvb,GAAU,CAAE+iB,SAAUA,IAC5Eyc,EAAWlnB,GAAQklB,GACvB,OAAQ5vB,EAAAA,cAAoB4xB,EAAUnwB,GAAS,CAAEtC,IAAKwO,GAASgkB,GACnE,KACIE,EAAoB7xB,EAAAA,cAAoB,MAAO,CAAE8C,MAAO2tB,EAAiBhvB,GAASA,GAAS,CAAC,EAAGgwB,GAAkB3uB,GAASA,EAAOnN,UAAWi7B,EAAsBluB,IAAKQ,GACvKlD,EAAAA,cAAoB,MAAO,CAAErK,UAAW,mBAAoBmN,OAAQ0Z,GAAY8S,GAAiB,YAATD,EAAqB,CAAEj8B,MAAOu9B,GAAiB,CAAEv9B,MAAOs9B,IAAcgB,GAAe7sB,IACjL,MAAiB,YAATwqB,EACHrvB,EAAAA,cAAoBA,EAAAA,SAAgB,KACjCwc,GAAYxc,EAAAA,cAAoB,MAAO,CAAErK,UAAW,YAAasO,QAASusB,IAC1EqB,GACFA,CACV,ICvIO,SAASC,GAAO5uB,EAAY6uB,EAAYtzB,GAE3C,IAAI9H,EAAKqJ,EAAAA,SAAe+xB,GAAa5nB,EAAMxT,EAAG,GAAIq7B,EAASr7B,EAAG,GAW9D,OAVAqJ,EAAAA,WAAgB,WACZ,IAAKmK,GAAOpW,QAAUmP,EAAWC,QAAS,CAEtC,IAAI8uB,EAAel+B,OAAO+B,iBAAiBoN,EAAWC,SAAS2N,UAC3DmhB,GAEAD,EAAOC,EAEf,CACJ,GAAGxzB,GACI0L,CACX,CD0HAomB,GAAiB7rB,UAAY,CACzBG,SAAUvD,EAAAA,IACV3L,UAAW2L,EAAAA,OACXwB,MAAOxB,EAAAA,OACPoJ,KAAMpJ,EAAAA,IACN0B,SAAU1B,EAAAA,QAEdivB,GAAiB5rB,YAAc,wBEnJ/B,IAsCWutB,GAASlyB,EAAAA,YAAiB,SAAUyC,EAAO9P,GAClD2M,GAAgBC,IAChB,IAAIid,EAAW/Z,EAAM+Z,SAAU6S,EAAO5sB,EAAM4sB,KAAMxU,EAAWpY,EAAMoY,SAAUllB,EAAY8M,EAAM9M,UAAWkP,EAAWpC,EAAMoC,SAAU/B,EAAQL,EAAMK,MAAOiY,EAAYtY,EAAMsY,UAAWuU,EAAO7sB,EAAM6sB,KAAMl8B,EAAQqP,EAAMrP,MAAOm8B,EAAY9sB,EAAM8sB,UAAWppB,EAAQ1D,EAAM0D,MAAOuE,EAAOjI,EAAMiI,KAAM1H,EAAWP,EAAMO,SAAUwtB,EAAiB/tB,EAAM+tB,eAAgBrb,EAAW1S,EAAM0S,SACnXjS,EAAalD,EAAAA,OAAa,MAC1B8vB,EAAe9vB,EAAAA,aAAkB,WAC7BkD,EAAWC,SACXD,EAAWC,QAAQ6H,OAE3B,GAAG,IACHhL,EAAAA,oBAA0BrN,GAAQ,WAAc,MAAQ,CACpDP,QAAS8Q,EAAWC,QACpB6H,MAAO8kB,EACP,IACJ,IAAI9R,EAAehe,EAAAA,aAAkB,SAAUmyB,EAAYC,EAAWn6B,GAClE,GAAIkO,GAASgP,EAAU,CACnB,IAAIkd,EAAK,CACLF,WAAYA,EACZC,UAAWA,EACXtuB,eAAgB7L,EAChB8pB,YAAa9pB,GAASA,EAAM8pB,YAC5BpvB,OA1DJ,WA4DAwiB,EAASlT,UAAK4B,EAAWwuB,EAC7B,CACJ,GAAG,CAAClsB,EAAOgP,IACPhL,EAAM2nB,GAAO5uB,EAAYT,EAAM0H,KAC/BmoB,EAAmB9zB,EAAW,CAC9B,sBAAsB,EACtB,oBAAqBge,EACrB,mBAA6B,YAAT6S,EACpB,gBAA0B,SAATA,EACjB,gBAAiBC,GAClB35B,GACH,OAAQqK,EAAAA,cAAoBovB,GAAcmD,SAAU,CAAEthB,MAAO,CACrD8J,UAAWA,EACXyB,SAAUA,EACV6S,KAAMA,EACNxU,SAAUA,EACVyU,KAAMA,EACNnlB,IAAKA,EACLhE,MAAOA,EACPuE,KAAMA,EACNtX,MAAOA,EACPm8B,UAAWA,EACXiB,eAAgBA,EAChBrb,SAAU6I,IAEdhe,EAAAA,cAAoB,MAAO,CAAErK,UAAW28B,EAAkB5vB,IAAKQ,EAAYiH,IAAKA,EAAKrH,MAAOA,EAAOE,SAAUA,GACzGmD,GAASnG,EAAAA,cAAoBuwB,GAAkB,MAC/C1rB,GACZ,IACAqtB,GAAOxtB,UAAY,CACfqW,UAAWzZ,EAAAA,IACXkb,SAAUlb,EAAAA,KACVuD,SAAUvD,EAAAA,IACV3L,UAAW2L,EAAAA,OACX6I,IAAK7I,EAAAA,OACL+tB,KAAM/tB,EAAAA,OACNuZ,SAAUvZ,EAAAA,OACVguB,KAAMhuB,EAAAA,KACNwB,MAAOxB,EAAAA,OACP0B,SAAU1B,EAAAA,OACVlO,MAAOkO,EAAAA,OACPiuB,UAAWjuB,EAAAA,OACX0W,SAAU1W,EAAAA,OACV6T,SAAU7T,EAAAA,KACVkvB,eAAgBlvB,EAAAA,MAYpB4wB,GAAO7uB,aAVY,CACf0X,WAAW,EACXyB,UAAU,EACV6S,KAAM,UACNxU,SAAU,QACVyU,MAAM,EACNnlB,IAAK,MACL/W,MAAO,IACPm8B,UAAW,IAGf2C,GAAOvtB,YAAc,cCpFd,IAAI6tB,GAAgBxyB,EAAAA,YAAiB,SAAUyC,EAAO9P,GACzD,IAAIkS,EAAWpC,EAAMoC,SAAUlP,EAAY8M,EAAM9M,UAAWmN,EAAQL,EAAMK,MACtEI,EAAalD,EAAAA,OAAa,MAC9BA,EAAAA,oBAA0BrN,GAAQ,WAAc,MAAQ,CACpDP,QAAS8Q,EAAWC,QACpB,IACJ,IAAIsvB,EAAoBj0B,EAAW,CAC/B,oBAAoB,GACrB7I,GACH,OAAQqK,EAAAA,cAAoB,MAAO,CAAErK,UAAW88B,EAAmB3vB,MAAOA,EAAOJ,IAAKQ,GAAc2B,EACxG,IACA2tB,GAAc9tB,UAAY,CACtBG,SAAUvD,EAAAA,IACV3L,UAAW2L,EAAAA,OACXwB,MAAOxB,EAAAA,QAEXkxB,GAAc7tB,YAAc,qBC7C5B,IAMW+tB,GAAiB1yB,EAAAA,cANP,CACjB2yB,QAAQ,EACRtD,KAAM,QACNpe,MAAO,ICJA2hB,GAA2B,SAAUjgC,GAC5C,GAAIA,EAAQ,CACR,IAAKA,aAAkBkgC,mBAAyC,IAArBlgC,EAAOqQ,WAAoBrQ,EAAOqY,MAEzE,YADArY,EAAOqY,QAGX,IAAI5Y,EAAUO,EAAOmgC,cAAc,0CAC/B1gC,GAAWA,EAAQ4Y,OACnB5Y,EAAQ4Y,OAEhB,CACJ,ECPO,SAAS+nB,GAAO7vB,EAAY6uB,EAAYtzB,GAE3C,IAAI9H,EAAKqJ,EAAAA,SAAe+xB,GAAa5nB,EAAMxT,EAAG,GAAIq7B,EAASr7B,EAAG,GAW9D,OAVAqJ,EAAAA,WAAgB,WACZ,IAAKmK,GAAOpW,QAAUmP,EAAWC,QAAS,CAEtC,IAAI8uB,EAAel+B,OAAO+B,iBAAiBoN,EAAWC,SAAS2N,UAC3DmhB,GAEAD,EAAOC,EAEf,CACJ,GAAGxzB,GACI0L,CACX,C,ICrBIxT,G,WAIOq8B,GAAe,uBAIfC,GAAmB,2BAInB3J,KAAY3yB,GAAK,CAAC,GACtBq8B,IAAgB,aACnBr8B,GAAGs8B,IAAoB,cACvBt8B,ICfA8K,GAAsC,WAStC,OARAA,GAAWxC,OAAOyC,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAInD,UAAUvE,OAAQyH,EAAIC,EAAGD,IAE5C,IAAK,IAAIE,KADTH,EAAIjD,UAAUkD,GACO5C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,KACzDJ,EAAEI,GAAKH,EAAEG,IAEjB,OAAOJ,CACX,EACOF,GAASS,MAAMC,KAAMxD,UAChC,EACIyD,GAAkC,SAAUR,EAAGS,GAC/C,IAAIV,EAAI,CAAC,EACT,IAAK,IAAII,KAAKH,EAAO3C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,IAAMM,EAAEzM,QAAQmM,GAAK,IAC9EJ,EAAEI,GAAKH,EAAEG,IACb,GAAS,MAALH,GAAqD,oBAAjC3C,OAAOqD,sBACtB,KAAIT,EAAI,EAAb,IAAgBE,EAAI9C,OAAOqD,sBAAsBV,GAAIC,EAAIE,EAAE3H,OAAQyH,IAC3DQ,EAAEzM,QAAQmM,EAAEF,IAAM,GAAK5C,OAAO+C,UAAUO,qBAAqBN,KAAKL,EAAGG,EAAEF,MACvEF,EAAEI,EAAEF,IAAMD,EAAEG,EAAEF,IAF4B,CAItD,OAAOF,CACX,EA4BWuxB,GAAOlzB,EAAAA,YAAiB,SAAUyC,EAAO9P,GAChD,IAEAkS,EAAWpC,EAAMoC,SAAUlP,EAAY8M,EAAM9M,UAAWwN,EAAUV,EAAMU,QAASsI,EAAWhJ,EAAMgJ,SAAUoI,EAAUpR,EAAMoR,QAAS9O,EAAOtC,EAAMsC,KAAMmI,EAAUzK,EAAMyK,QAASS,EAAQlL,EAAMkL,MAAOwlB,EAAU1wB,EAAM0wB,QAASC,EAAQ3wB,EAAM2wB,MAAOC,EAAW5wB,EAAM4wB,SAAUvwB,EAAQL,EAAMK,MAAOE,EAAWP,EAAMO,SAAU2I,EAAOlJ,EAAMkJ,KAAM1I,EAASb,GAAOK,EAAO,CAAC,WAAY,YAAa,UAAW,WAAY,UAAW,OAAQ,UAAW,QAAS,UAAW,QAAS,WAAY,QAAS,WAAY,SAClf9L,EAAKqJ,EAAAA,WAAiB0yB,IAAiBY,EAAoB38B,EAAG28B,kBAAmBC,EAAa58B,EAAG48B,WAAY7oB,EAAO/T,EAAG+T,KAAMioB,EAASh8B,EAAGg8B,OAAQtD,EAAO14B,EAAG04B,KAAMmE,EAAa78B,EAAG68B,WAAYviB,EAAQta,EAAGsa,MAAO8Z,EAAWp0B,EAAGo0B,SAAUvf,EAAU7U,EAAG6U,QAASioB,EAAc98B,EAAG88B,YAAaC,EAAY/8B,EAAG+8B,UAAWC,EAAiBh9B,EAAGg9B,eAAgBC,EAAej9B,EAAGi9B,aAC3W1wB,EAAalD,EAAAA,OAAa,MAC1B8vB,EAAe9vB,EAAAA,aAAkB,WAC7BkD,EAAWC,SACXyvB,GAAyB1vB,EAAWC,QAE5C,GAAG,IACC0wB,EAAsB7zB,EAAAA,aAAkB,WAAc,MAAQ,CAC9D5N,QAAS8Q,EAAWC,QACpB6H,MAAO8kB,EACP,GAAG,CAACA,IACR9vB,EAAAA,oBAA0BrN,EAAQkhC,GAClC,IAGgCp0B,EAH5Bq0B,GAAcnB,GAAWhlB,IAAUsD,EAAQ,GAAKtD,IAAUsD,GAAStD,IAAUsD,EAAQ,EACrF8iB,EAAqB,WAAT1E,GAAsBjf,QAAQrL,IAASqL,QAAQgjB,GAC3DY,GAAsB7zB,EAAAA,GAAAA,KAItB8zB,GAH4Bx0B,EAGMuzB,GAF3BgB,EAAoB3J,iBAAiB5qB,EAAS6pB,GAAS7pB,KAG9Dy0B,EAAiD,kBAAtBZ,EACzBA,GACsB,IAAtBA,ECvE8B,IAId,EDsElBtD,EAAchwB,EAAAA,aAAkB,SAAU/H,GACtC8yB,IAAatf,GACbiW,GAAcqJ,EAAU9yB,EAAO47B,IAAuB,CAAE5iB,MAAOtD,GAEvE,GAAG,CAACod,EAAU9Z,EAAOxF,IACjB0oB,EAAcn0B,EAAAA,aAAkB,SAAU/H,GACtCuT,IAAYC,GACZiW,GAAclW,EAASvT,EAAO47B,SAAuBhwB,EAE7D,GAAG,CAAC2H,EAASC,IACTskB,EAAiB/vB,EAAAA,SAAc,WAAc,OAAOxB,EAAW,SAAU,CACzE,eAA0B,IAAVmP,EAChB,cAAe6lB,GAAc7lB,IAAU6lB,EAAa,EACpD,cAAe7lB,EAAQsD,EACvB,iBAAkB9N,EAClB,kBAAmBkwB,EACnB,oBAA4BxvB,IAAZsvB,IAA0BA,EAC1C,iBAAkBA,GACnB,CACC,aAAc1nB,EACd,UAAWoI,GACZle,EAAY,GAAG,CAACgY,EAAO6lB,EAAYviB,EAAO9N,EAASkwB,EAAU5nB,EAAUoI,EAASsf,EAASx9B,IACxFy+B,EAAap0B,EAAAA,SAAc,WAAc,OAAQyB,GAAS,CAAE4yB,SAAWd,OAAsD1vB,EAAzC,eAAenE,OAAO8zB,EAAY,KAAkBc,UAAWf,EAAa,eAAe7zB,OAAO8zB,EAAY,UAAO3vB,EAAW0wB,cAAgBT,OAAsBjwB,EAAT,QAAsBf,EAAS,GAAG,CAACywB,EAAYC,EAAY1wB,EAAOgxB,IACnTU,EAAuBrB,EAAUM,EAAcC,EAC/Ce,EAAkBD,EAAwBx0B,EAAAA,cAAoB,OAAQ,CAAErK,UAAW,yBAA2B6+B,EAAsB,cAAe,SAAcx0B,EAAAA,cAAoB0F,EAAU,CAAE/P,UAAW,wBAAyBgK,KAAMwzB,EAAU,eAAiB,qBAAsBpuB,KAAMouB,EAAWQ,GAAkBe,EAAAA,IAAqBd,GAAgBe,EAAAA,MACpWC,EAAiB50B,EAAAA,cAAoBA,EAAAA,SAAgB,KAAe,WAATqvB,EAC3DrvB,EAAAA,cAAoB,OAAQ,CAAErK,UAAW,mBAAoB,eAAe,EAAMmN,MAAO,CAAE0uB,mBAAoB0C,EAAoB,OAAWnvB,GAAQmI,EAC/I6mB,QAAyBlwB,IAAZsvB,EAEVnzB,EAAAA,cAAoB0F,EAAU,CAAE/P,UAAW,wBAAyBgK,KAAMoF,EAAO7D,EAAW6D,GAAQA,EAAMA,KAAMmI,IADhHunB,OAEQ5wB,IAAZsvB,EACIsB,EACAz0B,EAAAA,cAAoB,OAAQ,CAAErK,UAAW,yBAA2BgW,GAAcgC,EAAQ,IACpG,MACAknB,EAAa70B,EAAAA,cAAoB,OAAQ,CAAErK,UAAW,gBACtDy9B,GAASpzB,EAAAA,cAAoB,OAAQ,CAAErK,UAAW,eAAiBy9B,GACnEW,QAAyBlwB,IAAZsvB,GAAyBsB,EACtCpB,GAAYrzB,EAAAA,cAAoB,OAAQ,CAAErK,UAAW,yBAA2Bs+B,IAChFa,EAAY90B,EAAAA,cAAoBA,EAAAA,SAAgB,KAChD40B,EACAC,GACJ,OAAQ70B,EAAAA,cAAoB,KAAMyB,GAAS,CAAEiB,IAAKQ,EAAYvN,UAAWo6B,EAAgBjtB,MAAOsxB,GAAcnxB,GAC1GjD,EAAAA,cAAoB,IAAK,CAAErK,UAAW,cAAe0f,MAAO+d,QAAgBvvB,EAAWI,QAAS+rB,EAAaxkB,QAAS2oB,EAAanxB,SAAUA,IAAsB6Q,EAAU,GAAK,GAAG,eAAgB1Q,EAAS,gBAAiBsI,IAAaqoB,QAAcjwB,EAAW,oBAA4BA,IAAZsvB,IAA0BA,QAAWtvB,GAAc6G,EAAkB7F,EAAXiwB,GACvV,IACA5B,GAAKxuB,UAAY,CACbG,SAAUvD,EAAAA,IACV3L,UAAW2L,EAAAA,OAEX6B,QAAS7B,EAAAA,KACTmK,SAAUnK,EAAAA,KACVyD,KAAMzD,EAAAA,OACNqM,MAAOrM,EAAAA,OACP6xB,QAAS7xB,EAAAA,KACT8xB,MAAO9xB,EAAAA,OACP+xB,SAAU/xB,EAAAA,KACVwB,MAAOxB,EAAAA,OACP0B,SAAU1B,EAAAA,OACVqK,KAAMrK,EAAAA,QAKV4xB,GAAK7vB,aAHc,CACfL,SAAU,GAGdkwB,GAAKvuB,YAAc,YE1IZ,IAAIowB,GAAe,SAAUC,EAAQC,GACxC,IAAIj8B,EAASgH,EAAAA,OAAa,GACtBk1B,EAAQl1B,EAAAA,QAAa,GACrBm1B,EAAiBn1B,EAAAA,SA+BrBA,EAAAA,WAAgB,WAEZ,OAhCU,SAAUgxB,GACpB,IACIoE,EADA/E,EAAWW,EAAWX,SAGtBgF,EAAOr8B,EAAOmK,SAAW,EAAInK,EAAOmK,QACpC6tB,EAAWsE,SACXtE,EAAWsE,UAEf,IAAIC,EAAQ,SAAUC,GACbJ,IACDA,EAAQI,GAGZ,IAAIC,GADOD,EAAYJ,EAAQ,GACT/E,EAAWgF,EAC7BI,GAAQ,GACJzE,EAAW0E,UACX1E,EAAW0E,SAASD,GAExBN,EAAehyB,QAAUpP,OAAO4hC,sBAAsBJ,GACtDv8B,EAAOmK,QAAUsyB,IAGbzE,EAAW4E,OACX5E,EAAW4E,MAAM,GAErB58B,EAAOmK,QAAU,EAEzB,EACAgyB,EAAehyB,QAAUpP,OAAO4hC,sBAAsBJ,EAC1D,CAEIzoB,CAAQkoB,GACD,WACCG,EAAehyB,SACfpP,OAAO8hC,qBAAqBV,EAAehyB,QAEnD,CACJ,GAAG8xB,GACHj1B,EAAAA,WAAgB,WACZk1B,EAAM/xB,SAAU,CACpB,GAAG,GACP,E,eCnCWqsB,GAAc,SAAUxsB,EAAUyI,EAAUgkB,GACnD,IAAIC,EAAqC,kBAAb1sB,EAAwBhO,SAASgO,OAAUa,GAAab,EACpF,GAAuB2sB,MAAnBD,EAGJ,YAA0B7rB,IAAnB6rB,EACDA,EACAjkB,EACGgkB,OAAiC5rB,GAhBtB,EAID,CAcvB,ECXWiyB,GAAsB,SAAU3iC,EAAKb,EAAK2e,GACjD,IAAI8kB,EAAa/iC,KAAKgjC,KAAK1jC,EAAMa,GAAO,KACxC,OAAOH,KAAKgjC,KAAK/kB,EAAQ9d,GAAO4iC,EACpC,EAIWE,GAAiB,SAAUC,EAAaC,EAAiBC,EAAY7C,GAC5E,IAAI8C,EAAqBrjC,KAAKV,IAAI8jC,EAAY,KAC1CE,EAA0B,IAAMD,EAAsB,IACtDH,EAAY/yB,SAAWgzB,EAAgBhzB,UACvC+yB,EAAY/yB,QAAQL,MAAM1P,MAASmgC,EAAkD,OAArC,GAAG7zB,OAAO22B,EAAoB,KAC9EF,EAAgBhzB,QAAQL,MAAM1P,MAASmgC,EAAsD,OAAzC,GAAG7zB,OAAO42B,EAAwB,KACtFJ,EAAY/yB,QAAQL,MAAMxP,OAASigC,EAAa,GAAG7zB,OAAO22B,EAAoB,KAAO,OACrFF,EAAgBhzB,QAAQL,MAAMxP,OAASigC,EAAa,GAAG7zB,OAAO42B,EAAwB,KAAO,OAErG,E,UCxBW/2B,GAAkB,CACzBI,KAAM,qCACNqb,YAAa,aACbC,aAAc,CAAC,eAAgB,mBAC/BC,YAAa,WACbnmB,QAAS,GACT6K,iBAAkB,yJCTlB6B,GAAsC,WAStC,OARAA,GAAWxC,OAAOyC,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAInD,UAAUvE,OAAQyH,EAAIC,EAAGD,IAE5C,IAAK,IAAIE,KADTH,EAAIjD,UAAUkD,GACO5C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,KACzDJ,EAAEI,GAAKH,EAAEG,IAEjB,OAAOJ,CACX,EACOF,GAASS,MAAMC,KAAMxD,UAChC,EAuBW43B,GAAcv2B,EAAAA,YAAiB,SAAUyC,EAAO9P,IACvD2M,EAAAA,GAAAA,GAAgBC,IAChB,IAAIwb,EAAYtY,EAAMsY,UAAWtP,EAAWhJ,EAAMgJ,SAAU9U,EAAK8L,EAAM+zB,QAASA,OAAiB,IAAP7/B,EAAgB0M,GAAamzB,QAAU7/B,EAAIke,EAAcpS,EAAMoS,YAAa4hB,EAAeh0B,EAAMg0B,aAAcC,EAAiBj0B,EAAMi0B,eAAgB7/B,EAAK4L,EAAMnQ,IAAKA,OAAa,IAAPuE,EAAgBwM,GAAa/Q,IAAMuE,EAAIE,EAAK0L,EAAMtP,IAAKA,OAAa,IAAP4D,EAAgBsM,GAAalQ,IAAM4D,EAAIiM,EAAWP,EAAMO,SAAUrN,EAAY8M,EAAM9M,UAAWmN,EAAQL,EAAMK,MAAO6zB,EAAal0B,EAAMk0B,WAAYC,EAAiBn0B,EAAMm0B,eAAgBC,EAAgBp0B,EAAMo0B,cAAeC,EAAoBr0B,EAAMq0B,kBACxjB5zB,EAAalD,EAAAA,OAAa,MAC1B+2B,EAAoB/2B,EAAAA,OAAa,MACjCg3B,EAAwBh3B,EAAAA,OAAa,MACrC8vB,EAAe9vB,EAAAA,aAAkB,WAC7BkD,EAAWC,SACXD,EAAWC,QAAQ6H,OAE3B,GAAG,IACHhL,EAAAA,oBAA0BrN,GAAQ,WAAc,MAAQ,CACpDP,QAAS8Q,EAAWC,QACpB8zB,sBAAuBF,EAAkB5zB,QACzC+zB,0BAA2BF,EAAsB7zB,QACjD6H,MAAO8kB,EACP,IACJ,IAAI7e,EAASxO,EAAMwO,OAAS5N,GAAa4N,MACrCkmB,ECjDiB,SAAUlmB,GAC/B,IAAIvO,EAAM1C,EAAAA,SAIV,OAHAA,EAAAA,WAAgB,WACZ0C,EAAIS,QAAU8N,CAClB,IACOvO,EAAIS,OACf,CD2CoBi0B,CAAYnmB,GACxBomB,EAAoC,OAAhB50B,EAAMwO,MAC1B9G,EE9CD,SAAgBjH,EAAY6uB,EAAYtzB,GAE3C,IAAI9H,EAAKqJ,EAAAA,SAAe+xB,GAAa5nB,EAAMxT,EAAG,GAAIq7B,EAASr7B,EAAG,GAW9D,OAVAqJ,EAAAA,WAAgB,WACZ,IAAKmK,GAAOpW,QAAUmP,EAAWC,QAAS,CAEtC,IAAI8uB,EAAel+B,OAAO+B,iBAAiBoN,EAAWC,SAAS2N,UAC3DmhB,GAEAD,EAAOC,EAEf,CACJ,GAAGxzB,GACI0L,CACX,CFgCc4oB,CAAO7vB,EAAYT,EAAM0H,KAC/BopB,EAA6B,aAAhB1e,EACbyiB,EFnDoB,SAAUrmB,GAClC,IAAIsmB,EAActmB,EAAMxJ,WAAW3S,MAAM,KACzC,OAA8B,IAAvByiC,EAAYn9B,OAAe,GAAGsF,OAAO63B,EAAY,IAAM,GAAG73B,OAAO63B,EAAY,GAAI,KAAK73B,OAAO63B,EAAY,GAAGC,OAAO,EKClG,GLA5B,CEgDyBC,CAAexmB,GAChCymB,EAAa,CACbzmB,MAAOA,GAEP0mB,EAAelB,EACbh0B,EAAM2wB,MACFpzB,EAAAA,cAAoB,OAAQ,CAAErK,UAAW,qBACvCqK,EAAAA,cAAoByC,EAAM2wB,MAAO3xB,GAAS,CAAC,EAAGi2B,KAChD13B,EAAAA,cAAoB,OAAQ,CAAErK,UAAW,qBAAuB2hC,QACpEzzB,EACF+zB,EAAe,CACfjiC,WAAW6I,EAAAA,GAAAA,GAAW,gBAAiB,CACnC,4BAA6B+0B,EAC7B,yBAA0BA,EAC1B,wBAAyBiD,EACzB,8BAA+Ba,EAC/B,aAAc5rB,GACf9V,GACH+M,IAAKQ,EACLiH,IAAKA,EACLnH,SAAUwsB,GAAYxsB,EAAUyI,GAChChH,KAAM,cACN,aAAchC,EAAMsS,UACpB,gBAAiB5hB,EACjB,gBAAiBb,EACjB,gBAAiB+kC,OAAoBxzB,EAAYoN,EACjD,gBAAiBxF,EACjB3I,MAAOA,GAEP+0B,GAAkBr5B,EAAAA,GAAAA,GAAW,yBAA0B,CACvD,mBAAuC,UAAnBk4B,EACpB,oBAAwC,WAAnBA,EACrB,iBAAqC,QAAnBA,QAA+C7yB,IAAnB6yB,IAE9CpD,EAAyC,mBAAdvY,QAAyClX,IAAdkX,EACpDA,EAAUsV,SACVtV,EGhF8B,IAId,EH+ElB+c,EAAc93B,EAAAA,aAAkB,WAChC,IAAIo2B,EAAaN,GAAoB3iC,EAAKb,EAAK6kC,GAC/ClB,GAAec,EAAmBC,EAAuBZ,EAAY7C,EACzE,GAAG,CAACA,EAAYjhC,EAAKa,EAAKgkC,IACtBY,EAAe/3B,EAAAA,aAAkB,SAAUg4B,GAC3C,IAAI5B,EAAaN,GAAoB3iC,EAAKb,EAAK6kC,GAAalmB,EAAQkmB,GAAaa,GACjF/B,GAAec,EAAmBC,EAAuBZ,EAAY7C,EACzE,GAAG,CAACpgC,EAAKb,EAAK6kC,EAAWlmB,EAAOsiB,IAC5B0E,EAAYj4B,EAAAA,aAAkB,WAC9B,IAAIo2B,EAAaN,GAAoB3iC,EAAKb,EAAK2e,GAC/CglB,GAAec,EAAmBC,EAAuBZ,EAAY7C,EACzE,GAAG,CAACA,EAAYjhC,EAAKa,EAAK8d,IAO1B,OANA8jB,GAAa,CACT1E,SAAUiD,EACVgC,QAASwC,EACTpC,SAAUqC,EACVnC,MAAOqC,GACR,CAAChnB,EAAOqiB,IACHtzB,EAAAA,cAAoB,MAAOyB,GAAS,CAAC,EAAGm2B,GAC5C53B,EAAAA,cAAoB,OAAQ,CAAErK,UAAWkiC,GAAmBjB,EAAiB,IAAMA,EAAiB,IAAK9zB,MAAO6zB,GAAcgB,GAC9H33B,EAAAA,cAAoB,MAAO,CAAErK,UAAW,iCAAkCmN,MAAO+zB,EAAen0B,IAAKq0B,GACjG/2B,EAAAA,cAAoB,OAAQ,CAAErK,UAAWkiC,GAAmBf,EAAoB,IAAMA,EAAoB,IAAKp0B,IAAKs0B,GAAyBW,IACzJ,IACApB,GAAY7xB,UAAY,CACpBqW,UAAWzZ,EAAAA,IACXyT,UAAWzT,EAAAA,OACXmK,SAAUnK,EAAAA,KACVk1B,QAASl1B,EAAAA,KACT8xB,MAAO9xB,EAAAA,IACPm1B,aAAcn1B,EAAAA,KACdo1B,eAAgBp1B,EAAAA,MAAgB,CAAC,QAAS,SAAU,QACpDhP,IAAKgP,EAAAA,OACLnO,IAAKmO,EAAAA,OACL2P,MAAO3P,EAAAA,OACP0B,SAAU1B,EAAAA,OACVq1B,WAAYr1B,EAAAA,OACZs1B,eAAgBt1B,EAAAA,OAChBu1B,cAAev1B,EAAAA,OACfw1B,kBAAmBx1B,EAAAA,QAEvB,IAAI+B,GAAe,CACf0X,WAAW,EACX5nB,IAAK,EACLb,IAAK,IACL2e,MAAO,EACPxF,UAAU,EACV+qB,SAAS,EACTC,cAAc,GAElBF,GAAYlzB,aAAeA,GAC3BkzB,GAAY5xB,YAAc,mBIhJ1B,IAAIlD,GAAsC,WAStC,OARAA,GAAWxC,OAAOyC,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAInD,UAAUvE,OAAQyH,EAAIC,EAAGD,IAE5C,IAAK,IAAIE,KADTH,EAAIjD,UAAUkD,GACO5C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,KACzDJ,EAAEI,GAAKH,EAAEG,IAEjB,OAAOJ,CACX,EACOF,GAASS,MAAMC,KAAMxD,UAChC,EA+BWu5B,GAAUl4B,EAAAA,YAAiB,SAAUyC,EAAO9P,GACnD2M,GAAgBC,IAChB,IAAI+zB,EAAoB7wB,EAAM6wB,kBAAmBzuB,EAAWpC,EAAMoC,SAAUlP,EAAY8M,EAAM9M,UAAW8V,EAAWhJ,EAAMgJ,SAAUioB,EAAYjxB,EAAMixB,UAAWE,EAAenxB,EAAMmxB,aAAclpB,EAAOjI,EAAMiI,KAAMvE,EAAQ1D,EAAM0D,MAAOwsB,EAASlwB,EAAMkwB,OAAQtD,EAAO5sB,EAAM4sB,KAAMxa,EAAcpS,EAAMoS,YAAa/R,EAAQL,EAAMK,MAAO2wB,EAAchxB,EAAMgxB,YAAaE,EAAiBlxB,EAAMkxB,eAAgB5I,EAAWtoB,EAAMsoB,SAAUvf,EAAU/I,EAAM+I,QAE3b2sB,GADsBh4B,EAAAA,GAAAA,KACYkqB,iBAAiB4I,GAAkB3J,GAAS2J,KAC9E/vB,EAAalD,EAAAA,OAAa,MAC1B8vB,EAAe9vB,EAAAA,aAAkB,WAC7BkD,EAAWC,SACXyvB,GAAyB1vB,EAAWC,QAE5C,GAAG,IACC0wB,EAAsB7zB,EAAAA,aAAkB,WAAc,MAAQ,CAC9D5N,QAAS8Q,EAAWC,QACpB6H,MAAO8kB,EACP,GAAG,CAACA,IACR9vB,EAAAA,oBAA0BrN,EAAQkhC,GAClC,IAAI5iB,EAAQxO,EAAMwO,OAAS5N,GAAa4N,MACpCta,EAAKqJ,EAAAA,SAAeiR,GAAQmnB,EAAazhC,EAAG,GAAI0hC,EAAgB1hC,EAAG,GACnE68B,EAAartB,EAAQA,EAAM/L,OAAS,EACpCm5B,EAA6B,aAAhB1e,EACb1K,EAAM4oB,GAAO7vB,EAAYT,EAAM0H,KAC/B4Q,EAAyC,kBAAtBuY,EACjBA,GACsB,IAAtBA,ET7D8B,IAId,ES4DlBgF,EAAsBt4B,EAAAA,aAAkB,SAAU/H,EAAOsgC,GAKrDtnB,IAAUsnB,GAAOxN,IAAatf,KADhBknB,GAHJ4F,IAAQtnB,EAAQ,GAChBsnB,IAAQtnB,GACRsnB,IAAQtnB,EAAQ,KAG1ByQ,GAAcqJ,EAAU9yB,EAAO47B,IAAuB,CAAE5iB,MAAOsnB,IAC/DF,EAAcE,GAEtB,GAAG,CAACtnB,EAAO0hB,EAAQ5H,EAAUtf,EAAU4sB,IACnCG,EAAex4B,EAAAA,aAAkB,SAAU/H,GAC3C,IAAIwgC,EAAexgC,EAAMgZ,MACrBynB,EAAiBzgC,EAAM6L,eAC3Bw0B,EAAoBI,EAAgBD,EACxC,GAAG,CAACH,IACAnE,EAAcn0B,EAAAA,aAAkB,SAAU/H,GACtCuT,IAAYC,GACZiW,GAAclW,EAASvT,EAAM6L,eAAgB+vB,SAAuBhwB,EAE5E,GAAG,CAAC2H,EAASC,IACTktB,EAAc34B,EAAAA,aAAkB,SAAU/H,GAC1CqgC,EAAoBrgC,EAAOmgC,EAC/B,GAAG,CAACE,EAAqBF,IACrBtX,EAAgB9gB,EAAAA,aAAkB,SAAU/H,GAC5C,IAAI+c,EAAgB,QAAR7K,EACRyuB,EAAYR,EACZS,EAAc1yB,EAAM/L,OAAS,EACjC,OAAQnC,EAAMmc,SACV,KAAKxG,GACD3V,EAAMia,kBACD8C,GAAS4jB,EAAY,GACtBP,EAAcO,EAAY,GAE1B5jB,GAAS4jB,EAAYC,GACrBR,EAAcO,EAAY,GAE9B,MACJ,KAAKhrB,GACD3V,EAAMia,kBACD8C,GAAS4jB,EAAYC,GACtBR,EAAcO,EAAY,GAE1B5jB,GAAS4jB,EAAY,GACrBP,EAAcO,EAAY,GAE9B,MACJ,KAAKhrB,GACD3V,EAAMia,kBACD8C,GAAS4jB,EAAY,GACtBP,EAAcO,EAAY,GAE1B5jB,GAAS4jB,EAAY,GACrBP,EAAcO,EAAY,GAE9B,MACJ,KAAKhrB,GACD3V,EAAMia,kBACD8C,GAAS4jB,EAAYC,GACtBR,EAAcO,EAAY,GAE1B5jB,GAAS4jB,EAAYC,GACrBR,EAAcO,EAAY,GAE9B,MACJ,KAAKhrB,GACD3V,EAAMia,iBACNmmB,EAAc,GACd,MACJ,KAAKzqB,GACD3V,EAAMia,iBACNmmB,EAAcQ,GACd,MACJ,KAAKjrB,GACD3V,EAAMia,iBACN,MACJ,KAAKtE,GACD3V,EAAMia,iBACD/L,EAAMyyB,GAAWntB,UAClBktB,EAAY1gC,GAK5B,GAAG,CAACkO,EAAOkyB,EAAeD,EAAYjuB,EAAKwuB,IACvCG,EAAiB94B,EAAAA,SAAc,WAAc,OAAOxB,EAAW,YAAa,CAC5E,mBAAoBm0B,GACrBh9B,EAAY,GAAG,CAACg9B,EAAQh9B,IACvBojC,EAAgB/4B,EAAAA,SAAc,WAAc,OAAQyB,GAAS,CAAEqZ,QAAS,OAAQke,oBAAsBzF,OAAqD1vB,EAAxC,UAAyB,EAAb2vB,EAAiB,SAAsByF,iBAAkB1F,EAAa,UAAYC,EAAa,cAAW3vB,GAAaf,EAAS,GAAG,CAACywB,EAAYC,EAAY1wB,IAC3Ro2B,EAAcl5B,EAAAA,SAAc,WAAc,OAAOxB,EAAW,cAAe,CAC3E,0BAA2B+0B,EAC3B,uBAAwBA,GACxB,GAAG,CAACA,IACJ4F,EAAan5B,EAAAA,SAAc,WAAc,MAAQ,CACjDo5B,gBAAkB7F,OAAiB1vB,EAAJ,EAC/Bw1B,cAAgB9F,OAAkB1vB,GAAJ,EAC9By1B,aAAc/F,EAAa,OAAI1vB,EAC/B01B,WAAYhG,GAAc,OAAI1vB,EAC9B,GAAG,CAAC0vB,IACJiG,EAAoBx5B,EAAAA,SAAc,WAAc,MAAQ,CACxDo5B,gBAAkB7F,OAAiB1vB,EAAJ,EAC/Bw1B,cAAgB9F,OAA8B1vB,EAAJ,EAAb2vB,EAC7B8F,aAAc/F,EAAa,OAAI1vB,EAC/B01B,WAAYhG,EAAaC,OAAa3vB,EACtC9Q,IAAKwgC,EAAa,QAAK1vB,EACvB,GAAG,CAAC0vB,EAAYC,IAChBiG,EAAStzB,GAAUA,EAAM3J,KAAI,SAAUpK,EAASub,GAChD,IAAI+rB,EAAYj4B,GAAS,CAAEkM,MAAOA,EAAOlC,SAAUA,GAAYrZ,EAAQqZ,SAAUoI,QAASlG,IAAUyqB,EAAYj1B,QAASwK,IAAUsD,GAAS7e,GACxIw/B,EAAWlnB,GAAQwoB,GACvB,OAAQlzB,EAAAA,cAAoB4xB,EAAUnwB,GAAS,CAAEtC,IAAKwO,GAAS+rB,GACnE,IACA,OAAQ15B,EAAAA,cAAoB0yB,GAAeH,SAAU,CAAEthB,MAAO,CACtDqiB,kBAAmBA,EACnBC,WAAYA,EACZ7oB,KAAMA,EACNioB,OAAQA,EACRtD,KAAMA,EACNmE,WAAYA,EACZviB,MAAOA,EACPwiB,YAAaA,EACbE,eAAgBA,EAChBD,UAAWA,EACXE,aAAcA,EACd7I,SAAUyN,EACVhtB,QAAS2oB,IAEbn0B,EAAAA,cAAoB,MAAO,CAAErK,UAAWmjC,EAAgBh2B,MAAOi2B,EAAe5uB,IAAKA,EAAKgK,UAAW2M,GAC/F9gB,EAAAA,cAAoB,KAAM,CAAErK,UAAWujC,EAAap2B,MAAOq2B,GAAcM,GAAgB50B,GACzF7E,EAAAA,cAAoBu2B,GAAa,CAAEzzB,MAAO02B,EAAmBze,UAAW,CAAEsV,SAAUtV,GAAahG,UAAWojB,EAAa,eAAe,EAAM7lC,IAAKkhC,EAAa,EAAGiD,cAAc,EAAO5hB,YAAaA,EAAa2hB,QAAyB,aAAhB3hB,EAA4B5D,MAAOA,EAAOxF,SAAUA,EAAUzI,UAAW,KAChT,IACAk1B,GAAQxzB,UAAY,CAChB4uB,kBAAmBhyB,EAAAA,UAAoB,CAACA,EAAAA,KAAgBA,EAAAA,SACxDuD,SAAUvD,EAAAA,IACV3L,UAAW2L,EAAAA,OACX6I,IAAK7I,EAAAA,OACLmK,SAAUnK,EAAAA,KACVoyB,UAAWpyB,EAAAA,OACXsyB,aAAcvyB,EACdqJ,KAAMpJ,EAAAA,IACN6E,MAAO7E,EAAAA,IACPqxB,OAAQrxB,EAAAA,KACR+tB,KAAM/tB,EAAAA,MAAgB,CAAC,QAAS,WAChCuT,YAAavT,EAAAA,MAAgB,CAAC,aAAc,aAC5CwB,MAAOxB,EAAAA,OACPmyB,YAAanyB,EAAAA,OACbqyB,eAAgBtyB,EAChB4P,MAAO3P,EAAAA,OAAAA,WACPypB,SAAUzpB,EAAAA,KACVkK,QAASlK,EAAAA,MAEb,IAAI+B,GAAe,CACf4N,MAAO,GAEXinB,GAAQ70B,aAAeA,GACvB60B,GAAQvzB,YAAc,eCrLf,IAAIg1B,GAAS35B,EAAAA,YAAiB,SAAUyC,EAAO9P,GAClD2M,GAAgBC,IAChB,IAAIsF,EAAWpC,EAAMoC,SAAUlP,EAAY8M,EAAM9M,UAAWmN,EAAQL,EAAMK,MAAOC,EAAKN,EAAMM,GACxFG,EAAalD,EAAAA,OAAa,MAC1B8vB,EAAe9vB,EAAAA,aAAkB,WAC7BkD,EAAWC,SACXyvB,GAAyB1vB,EAAWC,QAE5C,GAAG,IACC0wB,EAAsB7zB,EAAAA,aAAkB,WAAc,MAAQ,CAC9D5N,QAAS8Q,EAAWC,QACpB6H,MAAO8kB,EACP,GAAG,CAACA,IACR9vB,EAAAA,oBAA0BrN,EAAQkhC,GAClC,IAAI+F,EAAe55B,EAAAA,SAAc,WAAc,OAAO+Z,IAAQ,GAAG,IAC7DpX,EAAa3C,EAAAA,SAAc,WAAc,OAAOyC,EAAME,YAAcU,GAAaV,UAAY,GAAG,CAACF,EAAME,aACvGkY,EAAW7a,EAAAA,SAAc,WAAc,OAAOyC,EAAMoY,UAAYxX,GAAawX,QAAU,GAAG,CAACpY,EAAMoY,WACjGgf,EAAe75B,EAAAA,SAAc,WAAc,OAAOyC,EAAMo3B,cAAgBx2B,GAAaw2B,YAAc,GAAG,CAACp3B,EAAMo3B,eAC7GC,EAAgB95B,EAAAA,SAAc,WAAc,OAAOxB,EAAW,WAAY,CAC1E,eAA6B,QAAbqc,EAChB,kBAAgC,WAAbA,EACnB,kBAAoC,WAAjBgf,EACnB,kBAAoC,WAAjBA,EACnB,iBAAmC,UAAjBA,EAClB,iBAAiC,UAAfl3B,EAClB,gBAAgC,SAAfA,EACjB,mBAAmC,YAAfA,GACrBhN,EAAY,GAAG,CAACklB,EAAUgf,EAAcl3B,EAAYhN,IACvD,OAAQqK,EAAAA,cAAoB,MAAO,CAAErK,UAAWmkC,EAAeh3B,MAAOA,EAAOC,GAAIA,GAAM62B,GAAgB/0B,EAC3G,IACA80B,GAAOj1B,UAAY,CACfG,SAAUvD,EAAAA,IACV3L,UAAW2L,EAAAA,OACXwB,MAAOxB,EAAAA,OACPyB,GAAIzB,EAAAA,OACJqB,WAAYrB,EAAAA,OACZuZ,SAAUvZ,EAAAA,MAAgB,CAAC,MAAO,WAClCu4B,aAAcv4B,EAAAA,MAAgB,CAAC,SAAU,SAAU,WAEvD,IAAI+B,GAAe,CACfV,WAAY,QACZkY,SAAU,MACVgf,aAAc,UAElBF,GAAOh1B,YAAc,cC/Cd,IAAIo1B,GAAgB/5B,EAAAA,YAAiB,SAAUyC,EAAO9P,GACzD,IAAIkS,EAAWpC,EAAMoC,SAAUlP,EAAY8M,EAAM9M,UAAWmN,EAAQL,EAAMK,MACtEI,EAAalD,EAAAA,OAAa,MAC1B8vB,EAAe9vB,EAAAA,aAAkB,WAC7BkD,EAAWC,SACXyvB,GAAyB1vB,EAAWC,QAE5C,GAAG,IACC0wB,EAAsB7zB,EAAAA,aAAkB,WAAc,MAAQ,CAC9D5N,QAAS8Q,EAAWC,QACpB6H,MAAO8kB,EACP,GAAG,CAACA,IACR9vB,EAAAA,oBAA0BrN,EAAQkhC,GAClC,IAAImG,EAAiBh6B,EAAAA,SAAc,WAAc,OAAOxB,EAAW,mBAAoB7I,EAAY,GAAG,CAACA,IACvG,OAAQqK,EAAAA,cAAoB,MAAO,CAAErK,UAAWqkC,EAAgBl3B,MAAOA,GAAS+B,EACpF,IACAk1B,GAAcr1B,UAAY,CACtBG,SAAUvD,EAAAA,IACV3L,UAAW2L,EAAAA,OACXwB,MAAOxB,EAAAA,QAEXy4B,GAAcp1B,YAAc,qBCpBrB,IAAIs1B,GAAej6B,EAAAA,YAAiB,SAAUyC,EAAO9P,GACxD,IAAIkS,EAAWpC,EAAMoC,SAAUlP,EAAY8M,EAAM9M,UAAWmN,EAAQL,EAAMK,MACtEI,EAAalD,EAAAA,OAAa,MAC1B8vB,EAAe9vB,EAAAA,aAAkB,WAC7BkD,EAAWC,SACXyvB,GAAyB1vB,EAAWC,QAE5C,GAAG,IACC0wB,EAAsB7zB,EAAAA,aAAkB,WAAc,MAAQ,CAC9D5N,QAAS8Q,EAAWC,QACpB6H,MAAO8kB,EACP,GAAG,CAACA,IACR9vB,EAAAA,oBAA0BrN,EAAQkhC,GAClC,IAAIqG,EAAgBl6B,EAAAA,SAAc,WAAc,OAAOxB,EAAW,kBAAmB,CACjF,wBAAyBsE,GAASA,EAAM1P,OAAyB,OAAhB0P,EAAM1P,OACxDuC,EAAY,GAAG,CAACA,EAAWmN,IAC1Bq3B,EAAen6B,EAAAA,SAAc,WAC7B,MAAO,CACHmpB,UAAWrmB,GAASA,EAAM1P,MAAQ0P,EAAM1P,WAAQyQ,EAExD,GAAG,CAACf,IACJ,OAAQ9C,EAAAA,cAAoB,OAAQ,CAAErK,UAAWukC,EAAep3B,MAAOq3B,GAAgBt1B,EAC3F,IACAo1B,GAAav1B,UAAY,CACrBG,SAAUvD,EAAAA,IACV3L,UAAW2L,EAAAA,OACXwB,MAAOxB,EAAAA,QAEX24B,GAAat1B,YAAc,oBC9DpB,IAAIy1B,GAAc,sDCFzB,IAAIC,GAAc,CAAC,EAeZ,SAASC,GAAOC,GACnB,GAAIF,GAAYE,GACZ,OAAOF,GAAYE,GAEvB,IAAIC,EChBD,SAAmBD,GACtB,IAAIC,EAAS,GAIb,OAHAD,EAAMn5B,QAAQg5B,IAAa,SAAUK,EAAQ9sB,EAAO+sB,EAAeC,GAC/DH,EAAO3b,UAAehb,IAAV8J,EAAsBA,EAAS+sB,GAAiBC,EAChE,IACOH,CACX,CDUiBI,CAAUL,GAQvB,OAPAF,GAAYE,GAAS,SAAUM,GAE3B,IADA,IAAItoC,EAASsoC,EACJtmB,EAAM,EAAGA,EAAMimB,EAAOpgC,QAAU7H,EAAQgiB,IAC7ChiB,EAASA,EAAOioC,EAAOjmB,IAE3B,OAAOhiB,CACX,EACO8nC,GAAYE,EACvB,CA3BAF,GAAYx2B,UAAY,WAAgC,EEFxD,IAAI+E,GAAyC,WACzC,IAAIC,EAAgB,SAAUlM,EAAGmM,GAI7B,OAHAD,EAAgB5J,OAAO8J,gBAClB,CAAEC,UAAW,cAAgBjK,OAAS,SAAUpC,EAAGmM,GAAKnM,EAAEqM,UAAYF,CAAG,GAC1E,SAAUnM,EAAGmM,GAAK,IAAK,IAAI/G,KAAK+G,EAAO7J,OAAO+C,UAAUpN,eAAeqN,KAAK6G,EAAG/G,KAAIpF,EAAEoF,GAAK+G,EAAE/G,GAAI,EAC7F8G,EAAclM,EAAGmM,EAC5B,EACA,OAAO,SAAUnM,EAAGmM,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOhH,KAAKiH,YAAczM,CAAG,CADtCkM,EAAclM,EAAGmM,GAEjBnM,EAAEqF,UAAkB,OAAN8G,EAAa7J,OAAOoK,OAAOP,IAAMK,EAAGnH,UAAY8G,EAAE9G,UAAW,IAAImH,EACnF,CACJ,CAd6C,GAezC1H,GAAsC,WAStC,OARAA,GAAWxC,OAAOyC,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAInD,UAAUvE,OAAQyH,EAAIC,EAAGD,IAE5C,IAAK,IAAIE,KADTH,EAAIjD,UAAUkD,GACO5C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,KACzDJ,EAAEI,GAAKH,EAAEG,IAEjB,OAAOJ,CACX,EACOF,GAASS,MAAMC,KAAMxD,UAChC,EAMIm8B,GAAS,SAAUr4B,GAAS,OAAQzC,EAAAA,cAAoBuO,GAAW,CAAE7T,QAAS+H,EAAM/H,QAAS2B,OAAQ,SAAUsU,GAAQlO,EAAMs4B,SAASpqB,EAAK1Y,OAAO,EAAOwK,EAAM9F,EAAI,EAAGW,UAAW,SAAUqT,GAAQlO,EAAMs4B,SAASpqB,EAAK1Y,OAAO,EAAMwK,EAAM9F,EAAI,GAC9OqD,EAAAA,cAAoB,MAAO,CAAErK,UAAW,4BAA8B8M,EAAM9F,EAAI,UAAWmG,MAAOrB,GAAS,CAAEpO,OAAQ,EAAGH,MAAO,GAAKuP,EAAMK,SAAa,EAIvJk4B,GAAgC,SAAUzxB,GAE1C,SAASyxB,IACL,IAAIxwB,EAAmB,OAAXjB,GAAmBA,EAAOrH,MAAMC,KAAMxD,YAAcwD,KAKhE,OAJAqI,EAAMywB,aAAe,SAAUhjC,EAAOijC,EAAOpqB,GACzC7Y,EAAMiB,cAAcgZ,iBACpB1H,EAAM/H,MAAMs4B,SAAS9iC,EAAO,CAAEkjC,IAAKD,EAAOpqB,UAAWA,GACzD,EACOtG,CACX,CAWA,OAnBA5B,GAAUoyB,EAAgBzxB,GAS1ByxB,EAAeh5B,UAAUwH,OAAS,WAC9B,IAAI7S,EAAKwL,KAAKM,MAAOgS,EAAY9d,EAAG8d,UAAW/Z,EAAU/D,EAAG+D,QAASqmB,EAAMpqB,EAAGoqB,IAC9E,OAAKtM,EAGGzU,EAAAA,cAAoBA,EAAAA,SAAgB,KAC1B,aAAdyU,GAA6BzU,EAAAA,cAAoB86B,GAAQ,CAAEpgC,QAASA,EAASqgC,SAAU54B,KAAK84B,aAAct+B,EAAG,KAAMmG,MAAOie,EAAM,CAAEhuB,IAAK,EAAGK,MAAO,EAAGH,KAAM,EAAGC,MAAO,IAAO,CAAEH,IAAK,EAAGK,MAAO,EAAGF,MAAO,EAAGD,KAAM,MACjM,eAAdwhB,GAA+BzU,EAAAA,cAAoB86B,GAAQ,CAAEpgC,QAASA,EAASqgC,SAAU54B,KAAK84B,aAAct+B,EAAG,KAAMmG,MAAO,CAAE7P,KAAM,EAAGK,OAAQ,MAChI,IAAdmhB,GAAwBzU,EAAAA,cAAoB86B,GAAQ,CAAEpgC,QAASA,EAASqgC,SAAU54B,KAAK84B,aAAct+B,EAAGokB,EAAM,OAAS,OAAQje,MAAOie,EAAM,CAAE3tB,MAAO,EAAGE,OAAQ,EAAGJ,MAAO,GAAID,KAAM,GAAM,CAAEG,MAAO,EAAGE,OAAQ,EAAGJ,MAAO,EAAGD,KAAM,OAL3N,IAMf,EACO+nC,CACX,CArBoC,CAqBlCh7B,EAAAA,WCzDE4I,GAAyC,WACzC,IAAIC,EAAgB,SAAUlM,EAAGmM,GAI7B,OAHAD,EAAgB5J,OAAO8J,gBAClB,CAAEC,UAAW,cAAgBjK,OAAS,SAAUpC,EAAGmM,GAAKnM,EAAEqM,UAAYF,CAAG,GAC1E,SAAUnM,EAAGmM,GAAK,IAAK,IAAI/G,KAAK+G,EAAO7J,OAAO+C,UAAUpN,eAAeqN,KAAK6G,EAAG/G,KAAIpF,EAAEoF,GAAK+G,EAAE/G,GAAI,EAC7F8G,EAAclM,EAAGmM,EAC5B,EACA,OAAO,SAAUnM,EAAGmM,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOhH,KAAKiH,YAAczM,CAAG,CADtCkM,EAAclM,EAAGmM,GAEjBnM,EAAEqF,UAAkB,OAAN8G,EAAa7J,OAAOoK,OAAOP,IAAMK,EAAGnH,UAAY8G,EAAE9G,UAAW,IAAImH,EACnF,CACJ,CAd6C,GAezC1H,GAAsC,WAStC,OARAA,GAAWxC,OAAOyC,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAInD,UAAUvE,OAAQyH,EAAIC,EAAGD,IAE5C,IAAK,IAAIE,KADTH,EAAIjD,UAAUkD,GACO5C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,KACzDJ,EAAEI,GAAKH,EAAEG,IAEjB,OAAOJ,CACX,EACOF,GAASS,MAAMC,KAAMxD,UAChC,EAYIy8B,GAA8B,SAAU7xB,GAExC,SAAS6xB,IACL,IAAI5wB,EAAmB,OAAXjB,GAAmBA,EAAOrH,MAAMC,KAAMxD,YAAcwD,KA2IhE,OA1IAqI,EAAMhU,MAAQ,CACVuqB,KAAK,GAETvW,EAAM6wB,QAAU,CAAC,EACjB7wB,EAAM+I,UAAY,KAClB/I,EAAM8wB,UAAW,EACjB9wB,EAAM+wB,UAAW,EACjB/wB,EAAMpY,QAAU,KAChBoY,EAAMgxB,YAAa,EACnBhxB,EAAMixB,YAAc,CAAE7iC,EAAG,EAAGE,EAAG,GAC/B0R,EAAMkxB,QAAU,CAAE9iC,EAAG,EAAGE,EAAG,GAC3B0R,EAAMmxB,iBAAmB,CAAE/iC,EAAG,EAAGE,EAAG,GACpC0R,EAAMoxB,oBAAiB/3B,EACvB2G,EAAMywB,aAAe,SAAU54B,EAAGw5B,GAC9B,GAAIA,EAAEV,IACF3wB,EAAMmE,qBAGV,GAAKnE,EAAMpY,QAAX,CAGA,IAAIwG,EAAIyJ,EAAE7J,QACNM,EAAIuJ,EAAE5J,QACV+R,EAAM+wB,UAAW,EACjB,IAAIO,GAAsB,OAAhBD,EAAE/qB,UAAqBlY,EAAI4R,EAAMkxB,QAAQ9iC,EAAI,IAAM4R,EAAMhU,MAAMuqB,KAAO,EAAI,GAChFgb,EAAqB,OAAhBF,EAAE/qB,UAAqBhY,EAAI0R,EAAMkxB,QAAQ5iC,EAAI,EAWtD,GAVI0R,EAAMwxB,cACFxxB,EAAMhU,MAAMuqB,IACZvW,EAAMwxB,YAAYl5B,MAAMm5B,YAAcH,EAAK,KAG3CtxB,EAAMwxB,YAAYl5B,MAAMo5B,aAAeJ,EAAK,KAEhDtxB,EAAMwxB,YAAYl5B,MAAMxP,OAAS,eAAeoM,OAAOq8B,EAAI,QAE/DvxB,EAAMpY,QAAQ+pC,UAAUC,IAAI,qBAAsB,8BAC9C5xB,EAAMoxB,eAAV,CAGA,IAAIS,EAAM,EACNC,EAAM,EACNC,EAAU/xB,EAAMpY,QAAQS,wBACxBipC,EAAKS,EAAQnpC,MAAQoX,EAAM/H,MAAM+5B,gBAAgBC,QAAU,IAC3DJ,EAAM,GAENP,GAAMS,EAAQnpC,MAAQoX,EAAM/H,MAAM+5B,gBAAgBC,QAAU,OAC5DJ,GAAO,GAGPN,EAAKQ,EAAQjpC,OAASkX,EAAM/H,MAAM+5B,gBAAgBE,QAAU,IAC5DJ,EAAM,GAENP,GAAMQ,EAAQjpC,OAASkX,EAAM/H,MAAM+5B,gBAAgBE,QAAU,OAC7DJ,GAAO,GAEC,IAARD,GAAqB,IAARC,GACb9xB,EAAM/H,MAAMk6B,OAAOnyB,EAAM/H,MAAMkL,MAAO,EAAG,EAAG2uB,EAAKD,EAlBrD,CAlBA,CAsCJ,EACA7xB,EAAMkE,YAAc,SAAUrM,GAC1B,GAAKmI,EAAMwxB,YAIX,GADAxxB,EAAMgxB,YAAa,EACfhxB,EAAM/H,MAAM+4B,YAAchxB,EAAM/H,MAAM+4B,WAAWn5B,EAAEpK,MAAMiB,eACzDsR,EAAMgxB,YAAa,MADvB,CAIIhxB,EAAMpY,UACNoY,EAAMpY,QAAQ0Q,MAAM85B,OAAS,KAC7BpyB,EAAMpY,QAAQ+pC,UAAUC,IAAI,uBAEhC5xB,EAAMwxB,YAAYG,UAAUU,OAAO,iBACnCryB,EAAMwxB,YAAYG,UAAUC,IAAI,qBAChC,IAAIU,EAAMtyB,EAAMwxB,YAAYnpC,wBAC5B2X,EAAMkxB,QAAU,CACZ9iC,EAAGyJ,EAAEpK,MAAMO,QACXM,EAAGuJ,EAAEpK,MAAMQ,SAEf+R,EAAMixB,YAAc,CAChB7iC,EAAGyJ,EAAEpK,MAAMO,QAAUskC,EAAIlkC,EACzBE,EAAGuJ,EAAEpK,MAAMQ,QAAUqkC,EAAIhkC,EAd7B,CAgBJ,EACA0R,EAAMqE,WAAa,SAAUxM,GACzB,IAAImI,EAAMgxB,WAAV,CAGA,IAAIQ,EAAcxxB,EAAMwxB,YACxB,IAAI35B,EAAEpK,MAAMiB,cAAc6jC,kBAAqBf,EAA/C,CAGAxxB,EAAM8wB,UAAW,EACjBj5B,EAAEpK,MAAMiB,cAAcgZ,iBACtB,IAAI4qB,EAAMd,EAAYnpC,wBAOtB,GANA2X,EAAMmxB,iBAAmB,CACrB/iC,EAAGyJ,EAAEpK,MAAMO,QAAUskC,EAAIlkC,EAAI4R,EAAMixB,YAAY7iC,EAAI4R,EAAMmxB,iBAAiB/iC,EAC1EE,EAAGuJ,EAAEpK,MAAMQ,QAAUqkC,EAAIhkC,EAAI0R,EAAMixB,YAAY3iC,EAAI0R,EAAMmxB,iBAAiB7iC,GAE9EkjC,EAAYl5B,MAAMouB,UAAY,aAAaxxB,OAAO8K,EAAMmxB,iBAAiB/iC,EAAG,QAAQ8G,OAAO8K,EAAMmxB,iBAAiB7iC,EAAG,OACrHkjC,EAAYl5B,MAAMkuB,WAAa,gBAC3BxmB,EAAMoxB,eAAV,CAGA,IAAIS,EAAM,EACNC,EAAM,EACN9xB,EAAMmxB,iBAAiB7iC,EAAI,GAAMgkC,EAAIxpC,OAASkX,EAAM/H,MAAM+5B,gBAAgBE,UAC1EJ,EAAM,GAEN9xB,EAAMmxB,iBAAiB7iC,EAAI,IAAOgkC,EAAIxpC,OAASkX,EAAM/H,MAAM+5B,gBAAgBE,UAC3EJ,GAAO,GAEP9xB,EAAMmxB,iBAAiB/iC,EAAI,GAAMkkC,EAAI1pC,MAAQoX,EAAM/H,MAAM+5B,gBAAgBC,UACzEJ,EAAM,GAEN7xB,EAAMmxB,iBAAiB/iC,EAAI,IAAOkkC,EAAI1pC,MAAQoX,EAAM/H,MAAM+5B,gBAAgBC,UAC1EJ,GAAO,GAEX7xB,EAAM/H,MAAMk6B,OAAOnyB,EAAM/H,MAAMkL,MAAO2uB,EAAK9xB,EAAMhU,MAAMuqB,KAAOsb,EAAMA,EAAK,EAAG,EAf5E,CAZA,CAJA,CAgCJ,EACA7xB,EAAMmE,cAAgB,WAClBnE,EAAM8wB,SAAW9wB,EAAM+wB,UAAW,EAClC/wB,EAAMmxB,iBAAmB,CAAE/iC,EAAG,EAAGE,EAAG,GAChC0R,EAAMpY,UACNoY,EAAMpY,QAAQ0Q,MAAM85B,OAAS,IAC7BpyB,EAAMpY,QAAQ+pC,UAAUU,OAAO,qBAAsB,8BAEzD,IAAIb,EAAcxxB,EAAMwxB,YACpBA,IACAA,EAAYl5B,MAAMouB,UAAY,sBAC9B8K,EAAYl5B,MAAMkuB,WAAa,aAAatxB,OA1InC,IA0I8D,oCACvEs8B,EAAYl5B,MAAMo5B,YAAc,MAChCF,EAAYl5B,MAAMm5B,WAAa,MAC/BD,EAAYl5B,MAAMxP,OAAS,OAC3B0oC,EAAYG,UAAUU,OAAO,qBAC7Bb,EAAYG,UAAUC,IAAI,iBAElC,EACO5xB,CACX,CAsIA,OApRA5B,GAAUwyB,EAAc7xB,GA+IxBtK,OAAOkO,eAAeiuB,EAAap5B,UAAW,cAAe,CACzDoL,IAAK,WACD,YAAkCvJ,IAA3B1B,KAAKM,MAAMu6B,YAA4B76B,KAAKM,MAAMu6B,YAAc5B,EAAa/3B,aAAa25B,WACrG,EACA3vB,YAAY,EACZC,cAAc,IAElBrO,OAAOkO,eAAeiuB,EAAap5B,UAAW,cAAe,CACzDoL,IAAK,WACD,OAAOjL,KAAKoR,UAAYpR,KAAKoR,UAAUnhB,aAAUyR,CACrD,EACAwJ,YAAY,EACZC,cAAc,IAElB8tB,EAAap5B,UAAU4I,kBAAoB,WAClCzI,KAAK/P,SAGuC,QAA7C0D,iBAAiBqM,KAAK/P,SAAS0e,WAC/B3O,KAAKyR,SAAS,CACVmN,KAAK,GAGjB,EACAqa,EAAap5B,UAAUwH,OAAS,WAC5B,IAAIgB,EAAQrI,KACRiR,cAA0C,oBAAlBA,eACxBA,aAAajR,KAAKy5B,gBAClBz5B,KAAKy5B,eAAiB7nC,OAAOwe,YAAW,WAAc/H,EAAMoxB,oBAAiB/3B,CAAW,GAAG,MAE/F,IAAIgX,EAAW1Y,KAAKM,MAAM+5B,gBACtB/nB,OAAqC5Q,IAAzB1B,KAAKM,MAAMgS,UAA0BtS,KAAKM,MAAMgS,UAAY2mB,EAAa/3B,aAAaoR,UAClG2f,EAAa3yB,GAAS,CAAE23B,gBAAiBve,EAASwhB,IAAKhD,cAAe,QAAQ35B,OAAOmb,EAAS4hB,SAAUnD,aAAcze,EAASyhB,IAAK/C,WAAY,QAAQ75B,OAAOmb,EAAS6hB,SAAUO,QAAS,OAAQC,MAAOriB,EAASqiB,OAAS/6B,KAAKM,MAAM06B,WACvOC,EAAQp9B,EAAAA,cAAoB,MAAO,CAAE0C,IAAK,SAAUL,GAAKmI,EAAM+I,UAAYlR,EAAK,CAAEjQ,QAASiQ,GAAO,IAAM,EAAG1M,UAAW6I,EAAW,2BAA4B,CAAE,gBAAiB2D,KAAK66B,aAAe76B,KAAKM,MAAM9M,WAAYmN,MAAOrB,GAAS,CAAEnO,OAAQ,QAAU6O,KAAKM,MAAMK,QAC1QX,KAAKM,MAAMoC,SACX7E,EAAAA,cAAoBg7B,GAAgB,CAAEtgC,QAASyH,KAAKuM,YAAaqsB,SAAU54B,KAAK84B,aAAcxmB,UAAWA,EAAWsM,IAAK5e,KAAK3L,MAAMuqB,OACxI,OAAQ/gB,EAAAA,cAAoB,MAAO,CAAE0C,IAAK,SAAUL,GAAKmI,EAAMpY,QAAUiQ,CAAG,EAAGS,MAAOsxB,EAAYz+B,UAAWwM,KAAKM,MAAM46B,eACpHr9B,EAAAA,cAAoBuO,GAAW,CAAE7L,IAAK,SAAUL,GAAKmI,EAAM+I,UAAYlR,CAAG,EAAGhG,OAAQ8F,KAAKM,MAAMu6B,YAAc76B,KAAK0M,gBAAahL,EAAWvG,UAAW6E,KAAKM,MAAMu6B,YAAc76B,KAAKwM,mBAAgB9K,EAAWnJ,QAASyH,KAAKM,MAAMu6B,YAAc76B,KAAKuM,iBAAc7K,GAAau5B,GACzR,EAIAhC,EAAap5B,UAAUs7B,wBAA0B,SAAU/kB,GAKvD,OAJApW,KAAKk5B,QAAU,CAAC,EACZl5B,KAAK65B,cACL75B,KAAKk5B,QAAUl5B,KAAK65B,YAAYnpC,yBAE7B,IACX,EAIAuoC,EAAap5B,UAAUiJ,mBAAqB,SAAUC,GAClD,IAAIV,EAAQrI,KACR65B,EAAc75B,KAAK65B,YACvB,GAAKA,EAAL,CAGA,IAAIuB,EAASvB,EAAYnpC,wBACrB2qC,EAASr7B,KAAKk5B,QAClB,GAAIl5B,KAAKo5B,SAAU,CACf,IAAIkC,EAAUF,EAAOnqC,MAAQoqC,EAAOpqC,MACpC,GAAI+O,KAAK3L,MAAMuqB,IAAK,CAChB,IAAI2c,EAAWC,WAAW3B,EAAYl5B,MAAMm5B,YAAc,KAC1DD,EAAYl5B,MAAMm5B,WAAcyB,EAAWD,EAAW,IAC1D,KACK,CACGC,EAAWC,WAAW3B,EAAYl5B,MAAMo5B,aAAe,KAC3DF,EAAYl5B,MAAMo5B,YAAewB,EAAWD,EAAW,IAC3D,CACAt7B,KAAKu5B,QAAQ9iC,GAAKuJ,KAAK3L,MAAMuqB,KAAO0c,EAAUA,EAC9C,IAAIG,EAAUL,EAAOjqC,OAASkqC,EAAOlqC,OACjCuqC,EAAaF,WAAW3B,EAAYl5B,MAAMxP,OAAOmT,UAAU,KAC/Du1B,EAAYl5B,MAAMxP,OAAS,eAAeoM,OAAQm+B,EAAaD,EAAU,OACzEz7B,KAAKu5B,QAAQ5iC,GAAK8kC,CACtB,CACA,IAAIE,EAASN,EAAOvqC,KAAOsqC,EAAOtqC,KAC9B8iB,EAASynB,EAAOzqC,IAAMwqC,EAAOxqC,IAClB,IAAX+qC,GAA2B,IAAX/nB,IAGhB5T,KAAKm5B,SACApwB,EAAUsxB,gBAAgBU,QAAU/6B,KAAKM,MAAM+5B,gBAAgBU,OAChEhyB,EAAUsxB,gBAAgBH,MAAQl6B,KAAKM,MAAM+5B,gBAAgBH,MAC7Dl6B,KAAKw5B,iBAAiB/iC,EAAI,EAC1BuJ,KAAKw5B,iBAAiB7iC,EAAI,EAC1BkjC,EAAYl5B,MAAMouB,UAAY,IAIlCl+B,KAAKgjC,IAAIjgB,GAAU,IAAM/iB,KAAKgjC,IAAI8H,GAAU,IAIhDnI,uBAAsB,WAClB,IAAIoI,EAAUvzB,EAAMpY,QACf2rC,IAGLA,EAAQj7B,MAAMouB,UAAY,aAAaxxB,OAAOo+B,EAAQ,QAAQp+B,OAAOqW,EAAQ,OAC7EgoB,EAAQj7B,MAAMkuB,WAAa,eAC3B2E,uBAAsB,WAClBoI,EAAQj7B,MAAMouB,UAAY,GAC1B6M,EAAQj7B,MAAMkuB,WAAa,aAAatxB,OA3P/B,IA2P0D,mCACvE,IACJ,IAhDA,CAiDJ,EAIA07B,EAAa12B,UAAY,CACrB83B,gBAAiBl7B,EAAAA,OAAAA,WACjBwB,MAAOxB,EAAAA,OACP3L,UAAW2L,EAAAA,OACX67B,UAAW77B,EAAAA,OACX+7B,cAAe/7B,EAAAA,OACf08B,OAAQ18B,EAAAA,IACR/L,KAAM+L,EAAAA,IACNoJ,KAAMpJ,EAAAA,IACNmT,UAAWnT,EAAAA,MAAgB,CAAC,aAAc,YAAY,GAAM,IAC5D07B,YAAa17B,EAAAA,MAKjB85B,EAAaz2B,YAAc,sBAI3By2B,EAAa/3B,aAAe,CACxBoR,WAAW,EACXuoB,aAAa,GAEV5B,CACX,CAtRkC,CAsRhCp7B,EAAAA,WC3TE4I,GAAyC,WACzC,IAAIC,EAAgB,SAAUlM,EAAGmM,GAI7B,OAHAD,EAAgB5J,OAAO8J,gBAClB,CAAEC,UAAW,cAAgBjK,OAAS,SAAUpC,EAAGmM,GAAKnM,EAAEqM,UAAYF,CAAG,GAC1E,SAAUnM,EAAGmM,GAAK,IAAK,IAAI/G,KAAK+G,EAAO7J,OAAO+C,UAAUpN,eAAeqN,KAAK6G,EAAG/G,KAAIpF,EAAEoF,GAAK+G,EAAE/G,GAAI,EAC7F8G,EAAclM,EAAGmM,EAC5B,EACA,OAAO,SAAUnM,EAAGmM,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOhH,KAAKiH,YAAczM,CAAG,CADtCkM,EAAclM,EAAGmM,GAEjBnM,EAAEqF,UAAkB,OAAN8G,EAAa7J,OAAOoK,OAAOP,IAAMK,EAAGnH,UAAY8G,EAAE9G,UAAW,IAAImH,EACnF,CACJ,CAd6C,GAezC1H,GAAsC,WAStC,OARAA,GAAWxC,OAAOyC,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAInD,UAAUvE,OAAQyH,EAAIC,EAAGD,IAE5C,IAAK,IAAIE,KADTH,EAAIjD,UAAUkD,GACO5C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,KACzDJ,EAAEI,GAAKH,EAAEG,IAEjB,OAAOJ,CACX,EACOF,GAASS,MAAMC,KAAMxD,UAChC,EAQIs/B,GAAoB,CACpB,OAAU,kBACV,IAAO,kBACP,eAAgB,wBAChB,YAAa,wBACb,MAAS,qBAKTC,GAA4B,SAAU30B,GAEtC,SAAS20B,IACL,IAAI1zB,EAAmB,OAAXjB,GAAmBA,EAAOrH,MAAMC,KAAMxD,YAAcwD,KAyDhE,OArDAqI,EAAM4Q,SAAW,KAIjB5Q,EAAMhU,MAAQ,CAAE2nC,WAAY3zB,EAAM/H,MAAM0D,OAAS,IAAI3J,KAAI,SAAUuF,EAAGF,GAAK,OAAQ5C,OAAOyC,OAAO,CAAEw7B,MAAOr7B,EAAG66B,QAAS,EAAGD,QAAS,GAAK16B,EAAEy6B,gBAAmB,KAI5JhyB,EAAMQ,MAAQ,WACNR,EAAM4Q,UACN5Q,EAAM4Q,SAASpQ,OAEvB,EAIAR,EAAMmyB,OAAS,SAAUhvB,EAAOywB,EAAQC,EAAMC,EAAUC,GAGpD,QAFiB,IAAbD,IAAuBA,EAAW,QACrB,IAAbC,IAAuBA,EAAW,GACvB,IAAXH,GAAyB,IAATC,GAAeE,GAAaD,EAAhD,CAGA,IAAIE,GAAe,EACfL,EAAY3zB,EAAMhU,MAAM2nC,UAAU3hC,KAAI,SAAUuF,GAAK,OAAO9C,OAAOyC,OAAO,CAAC,EAAGK,EAAI,IAElFoB,EAAUg7B,EAAUxwB,GACpB2L,EAAQ6kB,EAAUvhC,MAAK,SAAU8N,GAAQ,OAAQA,EAAKwyB,QAAU/5B,EAAQ+5B,MAAQkB,CAAS,IACzF9kB,GAASA,IAAUnW,IACnBA,EAAQ+5B,OAASkB,EACjB9kB,EAAM4jB,QAAUkB,EAChBI,GAAe,GAEnB,IAAIC,EAAct7B,EAAQk5B,IAAMgC,EACnB,IAATA,GAAcI,GAAe,GAAKA,EAAct7B,EAAQs5B,UAAYjyB,EAAM/H,MAAMi8B,SAAW,GAAK,IAChGv7B,EAAQk5B,IAAMoC,EACdD,GAAe,GAGnB,IAAIG,EAAkBx7B,EAAQs5B,QAAU8B,EACpCA,GAAYI,GAAmB,GAAKA,EAAkBx7B,EAAQk5B,MAAQ7xB,EAAM/H,MAAMi8B,SAAW,GAAK,IAClGv7B,EAAQs5B,QAAUkC,EAClBH,GAAe,GAEnB,IAAII,EAAkBz7B,EAAQu5B,QAAU4B,EACpCA,GAAYM,GAAmB,IAC/Bz7B,EAAQu5B,QAAUkC,EAClBJ,GAAe,GAEfA,IACAh0B,EAAMoJ,SAAS,CAAEuqB,UAAWA,IAC5Bzc,GAAclX,EAAM/H,MAAMo8B,aAAc,CAAC,EAAGr0B,EAAO,CAAEyG,MAAOktB,IA7BhE,CA+BJ,EACO3zB,CACX,CAiEA,OA7HA5B,GAAUs1B,EAAY30B,GA6DtBtK,OAAOkO,eAAe+wB,EAAWl8B,UAAW,UAAW,CAInDoL,IAAK,WACD,OAAOjL,KAAKiZ,QAChB,EACA/N,YAAY,EACZC,cAAc,IAKlB4wB,EAAWY,yBAA2B,SAAUr8B,EAAOjM,GACnD,OAAIiM,EAAM07B,UAEC,CACHA,UAAW17B,EAAM07B,UAAU3hC,KAAI,SAAUuF,EAAGF,GAAK,OAAQ5C,OAAOyC,OAAO,CAAEw7B,MAAOr7B,EAAG66B,QAAS,EAAGD,QAAS,GAAK16B,EAAK,MAGtHU,EAAM0D,OAAW3P,EAAM2nC,WAAc17B,EAAM0D,MAAM/L,SAAW5D,EAAM2nC,UAAU/jC,OAMzE,KAJI,CACH+jC,UAAW17B,EAAM0D,MAAM3J,KAAI,SAAUuF,EAAGF,GAAK,OAAQ5C,OAAOyC,OAAO,CAAEw7B,MAAOr7B,EAAG66B,QAAS,EAAGD,QAAS,GAAK16B,EAAEy6B,gBAAmB,IAI1I,EACA0B,EAAWl8B,UAAUwH,OAAS,WAC1B,IAAIgB,EAAQrI,KACRxL,EAAKwL,KAAKM,MAAO9M,EAAYgB,EAAGhB,UAAWkB,EAAKF,EAAG+nC,QAASA,OAAiB,IAAP7nC,EAAgB,EAAIA,EAAIE,EAAKJ,EAAGooC,YAAaA,OAAqB,IAAPhoC,EAAgB,MAAQA,EAAIioC,EAAMroC,EAAGqoC,IAAK/nC,EAAKN,EAAGsoC,UAAWA,OAAmB,IAAPhoC,EAAgB,MAAQA,EAAI6L,EAAQnM,EAAGmM,MAAO3L,EAAKR,EAAGuoC,SAAUA,OAAkB,IAAP/nC,EAAgB,SAAWA,EAAIE,EAAKV,EAAGwP,MAAOA,OAAe,IAAP9O,EAAgB,GAAKA,EAChW8nC,EAAWH,EACT,GAAGt/B,OAA2B,kBAAbs/B,EAAII,KAAoBJ,EAAII,KAAO,KAAOJ,EAAII,MAAQ,IAAM,GAAG1/B,OAA8B,kBAAhBs/B,EAAIN,QAAuBM,EAAIN,QAAU,KAAOM,EAAIN,SAClJ,GACFW,EAAmB59B,GAAS,CAAEu3B,oBAAqB,UAAUt5B,OAAOg/B,EAAS,kBAAkBh/B,OAA8B,kBAAhBq/B,EAA2BA,EAAc,KAAOA,EAAa,MAAOO,aAAc,eAAe5/B,OAA4B,kBAAdu/B,EAAyBA,EAAY,KAAOA,EAAW,KAAMD,IAAKG,EAAUI,QAASJ,GAAYr8B,GACjU,OAAQ9C,EAAAA,cAAoB,MAAO,CAAE0C,IAAK,SAAUhN,GAAM8U,EAAM4Q,SAAW1lB,CAAI,EAAGyU,IAAKhI,KAAKM,MAAM0H,IAAKxU,UAAW6I,EAAW,eAAgBy/B,GAAkBiB,GAAWvpC,GAAYmN,MAAOu8B,EAAkBt8B,GAAIZ,KAAKM,MAAMM,GAAI8B,SAAUsB,EAAM3J,KAAI,SAAUgjC,EAAM7xB,GAC9P,OAAQ3N,EAAAA,cAAoBo7B,GAAc,CAAEj8B,IAAKqL,EAAM/H,MAAMg9B,YAAcnF,GAAO9vB,EAAM/H,MAAMg9B,YAAnBnF,CAAgCkF,GAAQ7xB,EAAOgvB,OAAQnyB,EAAMmyB,OAAQH,gBAAiBhyB,EAAMhU,MAAM2nC,UAAUxwB,GAAQA,MAAOA,EAAO8G,UAAW+qB,EAAK/qB,UAAWuoB,YAAawC,EAAKxC,YAAal6B,MAAO08B,EAAK18B,MAAOnN,UAAW6pC,EAAK7pC,UAAW0nC,cAAemC,EAAKnC,cAAeF,UAAWqC,EAAKrC,UAAW3B,WAAYhxB,EAAM/H,MAAM+4B,YAAcgE,EAAK90B,KAAO80B,EAAK90B,KAAQ1K,EAAAA,cAAoBA,EAAAA,SAAgB,KACldA,EAAAA,cAAoB,MAAO,CAAErK,UAAW,0CAA4CqK,EAAAA,eAAqBw/B,EAAKxB,QAAUwB,EAAKxB,OAASh+B,EAAAA,cAAoB,KAAM,CAAErK,UAAW,gBAAkB6pC,EAAKxB,SACpMh+B,EAAAA,cAAoB,MAAO,CAAErK,UAAW,sCAAwC6pC,EAAKjqC,OAC7F,KACR,EAIA2oC,EAAWx5B,UAAY,CACnB3B,GAAIzB,EAAAA,OACJwB,MAAOxB,EAAAA,OACP3L,UAAW2L,EAAAA,OACX6I,IAAK7I,EAAAA,OACL09B,IAAK19B,EAAAA,OACLo9B,QAASp9B,EAAAA,OACTy9B,YAAaz9B,EAAAA,UAAoB,CAACA,EAAAA,OAAkBA,EAAAA,SACpD29B,UAAW39B,EAAAA,UAAoB,CAACA,EAAAA,OAAkBA,EAAAA,SAClDm+B,YAAan+B,EAAAA,OACb6E,MAAO7E,EAAAA,MACP68B,UAAW78B,EAAAA,MACX49B,SAAU59B,EAAAA,MAAgB,CAAC,SAAU,MAAO,eAAgB,YAAa,UACzEu9B,aAAcv9B,EAAAA,KACdk6B,WAAYl6B,EAAAA,MAKhB48B,EAAWv5B,YAAc,kBAClBu5B,CACX,CA/HgC,CA+H9Bl+B,EAAAA,WCjJS0/B,GAAoB,CAC3B,SAAY,kCACZ,WAAc,qCAKPC,GAAwB,CAC/B,MAAS,cACT,OAAU,gBC1BHC,GAAuB5/B,EAAAA,YAAiB,SAAUyC,EAAOC,GAChEpD,GAAgBC,IAChB,IAAI2D,EAAalD,EAAAA,OAAa,MAC9BA,EAAAA,oBAA0B0C,GAAK,WAAc,MAAQ,CACjDtQ,QAAS8Q,EAAWC,QACpB,IACJ,IAAIxN,EAAY8M,EAAM9M,UAAWmN,EAAQL,EAAMK,MAAOkV,EAAWvV,EAAMuV,SAAUvM,EAAWhJ,EAAMgJ,SAAUf,EAAOjI,EAAMiI,KAAMlB,EAAS/G,EAAM+G,OAAQq2B,EAAWp9B,EAAMo9B,SAAU96B,EAAOtC,EAAMsC,KAAMmI,EAAUzK,EAAMyK,QAASvB,EAAOlJ,EAAMkJ,KAAM5I,EAAKN,EAAMM,GAAIoS,EAAW1S,EAAM0S,SAAUhB,EAAY1R,EAAM0R,UAAWxG,EAAQlL,EAAMkL,MAAO3K,EAAWP,EAAMO,SACzVwS,EAAcxV,EAAAA,SAAc,WAAc,OAAOxB,EAAW,oBAAqB,CACjF,aAAcwZ,EACd,aAAcvM,GACf9V,EAAY,GAAG,CAACqiB,EAAUvM,EAAU9V,IACnCq6B,EAAchwB,EAAAA,aAAkB,SAAU/H,GACtCkd,QAAsBtR,IAAV8J,IAAwBlC,GACpC0J,EAASld,EAAO0V,EAExB,GAAG,CAACwH,EAAUxH,EAAOlC,IACjBqV,EAAgB9gB,EAAAA,aAAkB,SAAU/H,GACxCkc,QAAuBtQ,IAAV8J,IAAwBlC,GACrC0I,EAAUlc,EAAO0V,EAEzB,GAAG,CAACwG,EAAWxG,EAAOlC,IAClBq0B,EAAWt2B,EACXooB,EAAWlnB,EACXq1B,EAAiB//B,EAAAA,cAAoB,OAAQ,CAAE0C,IAAKQ,EAAYvN,UAAW6f,EAAa1S,MAAOA,EAAO2B,KAAM,OAAQ1B,GAAIA,EAAIC,SAAUA,EAAUiB,QAAS+rB,EAAa7b,UAAW2M,EAAe,eAAgB9I,EAAU,gBAAiBvM,GAAYmmB,EAAW5xB,EAAAA,cAAoB4xB,EAAU,CAAEQ,UAAWzkB,EAAOjD,KAAMm1B,IACzT7/B,EAAAA,cAAoBA,EAAAA,SAAgB,MAChC+E,GAAQmI,IAAYlN,EAAAA,cAAoB0F,EAAU,CAAE/P,UAAW,yBAA0BgK,KAAMoF,EAAMA,KAAMmI,EAAStK,KAAM,WAC3H+I,GAAQ3L,EAAAA,cAAoB,OAAQ,CAAErK,UAAW,yBAA0BmN,MAAO,CAAEk9B,WAAY,SAAYr0B,KACpH,YAAoB9H,IAAbi8B,EAAyBA,EAAS79B,UAAK4B,EAAWk8B,EAAet9B,GAASs9B,CACrF,IAIAH,GAAqBl7B,UAAY,CAC7B/O,UAAW2L,EAAAA,OACXwB,MAAOxB,EAAAA,OACPyB,GAAIzB,EAAAA,OACJmK,SAAUnK,EAAAA,KACV0W,SAAU1W,EAAAA,KACVyD,KAAMzD,EAAAA,OACN4L,QAAS7L,EACTsK,KAAMrK,EAAAA,OACN0B,SAAU1B,EAAAA,QAEds+B,GAAqBv8B,aAdF,CACfL,SAAU,GAcd48B,GAAqBj7B,YAAc,iCCpDnC,IAAIlD,GAAsC,WAStC,OARAA,GAAWxC,OAAOyC,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAInD,UAAUvE,OAAQyH,EAAIC,EAAGD,IAE5C,IAAK,IAAIE,KADTH,EAAIjD,UAAUkD,GACO5C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,KACzDJ,EAAEI,GAAKH,EAAEG,IAEjB,OAAOJ,CACX,EACOF,GAASS,MAAMC,KAAMxD,UAChC,EA6BWshC,GAAmBjgC,EAAAA,YAAiB,SAAUyC,EAAOC,GAC5DpD,GAAgBC,IAChB,IAAI2D,EAAalD,EAAAA,OAAa,MAC1B8vB,EAAe9vB,EAAAA,aAAkB,WAC7BkD,EAAWC,SACXyvB,GAAyB1vB,EAAWC,QAE5C,GAAG,IACC0wB,EAAsB7zB,EAAAA,aAAkB,WAAc,MAAQ,CAC9D5N,QAAS8Q,EAAWC,QACpB6H,MAAO8kB,EACP,GAAG,CAACA,IACR9vB,EAAAA,oBAA0B0C,EAAKmxB,GAC/B,IAAIl9B,EAAK8L,EAAMo3B,aAAcA,OAAsB,IAAPljC,EAAgB0M,GAAaw2B,aAAeljC,EAAIE,EAAK4L,EAAMy9B,SAAUA,OAAkB,IAAPrpC,EAAgBwM,GAAa68B,SAAWrpC,EAAIE,EAAK0L,EAAMwsB,OAAQA,OAAgB,IAAPl4B,EAAgBsM,GAAa4rB,OAASl4B,EAAIpB,EAAY8M,EAAM9M,UAAWwQ,EAAQ1D,EAAM0D,MAAOuE,EAAOjI,EAAMiI,KAAM0B,EAAa3J,EAAM2J,WAAYX,EAAWhJ,EAAMgJ,SAAU3I,EAAQL,EAAMK,MAAOC,EAAKN,EAAMM,GAAIoS,EAAW1S,EAAM0S,SAAUhB,EAAY1R,EAAM0R,UAC1bgsB,EAAQngC,EAAAA,SAAc,WAAc,OAAO+Z,IAAQ,GAAG,IACtD5P,EAAM2nB,GAAO5uB,EAAYT,EAAM0H,KAC/B4N,EAAW/X,EAAAA,SAAc,WACzB,OAAuB,OAAnByC,EAAMsV,UAGc,OAAftV,EAAM29B,KAFJ,KAMA39B,EAAM29B,MAAQ39B,EAAMsV,UAAY1U,GAAa0U,QAE5D,GAAG,CAACtV,EAAMsV,SAAUtV,EAAM29B,OACtBz9B,EAAa3C,EAAAA,SAAc,WAAc,OAAOyC,EAAME,YAAcU,GAAaV,UAAY,GAAG,CAACF,EAAME,aACvGgW,EAAa3Y,EAAAA,SAAc,WAC3B,IAAIrJ,EACJ,OAAO6H,EAAW,eAAgBmhC,GAAsB9F,GAAe6F,GAAkBQ,KAAYvpC,EAAK,CAAC,GACpG,gBAAgB+I,OAAOqY,IAAaA,EACvCphB,EAAG,gBAAgB+I,OAAOqY,EAAU,KAAKrY,OAAOiD,IAAeyN,QAAQ2H,GAAYpV,GACnFhM,EAAG,uBAAyBs4B,EAC5Bt4B,EAAG,cAAgB8U,EACnB9U,GAAKhB,EACb,GAAG,CAACkkC,EAAcl3B,EAAYoV,EAAUmoB,EAAUjR,EAAQxjB,EAAU9V,IAChE0qC,EAAsBrgC,EAAAA,aAAkB,SAAU4hB,EAAiBjU,GAC9DxH,IAGAA,EAAMwH,GAAOlC,UAAY0J,GAC1BuM,GAAcvM,EAAUyM,EAAiBiS,IAAuB,CAC5D1B,WAAYhsB,EAAMwH,GAClBykB,UAAWzkB,GAGvB,GAAG,CAACxH,EAAOgP,IACP6I,EAAehe,EAAAA,aAAkB,SAAU/H,EAAOqoC,GAClDD,EAAoBpoC,EAAOqoC,EAC/B,GAAG,CAACD,IACAvf,EAAgB9gB,EAAAA,aAAkB,SAAU/H,EAAOqoC,GACnD,OAAQroC,EAAMmc,SACV,KAAKxG,GACL,KAAKA,GACDyyB,EAAoBpoC,EAAOqoC,GAC3BroC,EAAMia,iBAKdwP,GAAcvN,EAAWlc,EAAO47B,SAAuBhwB,EAC3D,GAAG,CAACw8B,EAAqBlsB,IACzB,OAAQnU,EAAAA,cAAoB,MAAO,CAAE0C,IAAKQ,EAAYvN,UAAWgjB,EAAY7V,MAAOA,EAAOC,GAAIA,GAAMo9B,EAAOh2B,IAAKA,GAAOhE,GAAUA,EAAM3J,KAAI,SAAUpK,EAASub,GAC3J,OAAQ3N,EAAAA,cAAoB4/B,GAAsBn+B,GAAS,CAAC,EAAGrP,EAAS,CAAE+M,IAAKwO,EAAOA,MAAOA,EAAO5K,GAAI,GAAGrD,OAAOqD,GAAMo9B,EAAO,KAAKzgC,OAAOiO,GAAQlC,SAAUA,GAAYrZ,EAAQqZ,SAAUuM,SAAU5lB,EAAQ4lB,SAAU6nB,SAAUztC,EAASsY,KAAMA,EAAMlB,OAAQ4C,EAAY+I,SAAU6I,EAAc7J,UAAW2M,IACjT,IACJ,IACIzd,GAAe,CACfV,WAAY,UACZoV,SAAU,OACVmoB,SAAU,WACVrG,aAAc,QACd5K,QAAQ,GAEZgR,GAAiBv7B,UAAY,CACzB/O,UAAW2L,EAAAA,OACXwB,MAAOxB,EAAAA,OACPyB,GAAIzB,EAAAA,OACJ6I,IAAK7I,EAAAA,OACLqB,WAAYrB,EAAAA,MAAgB,CACxB,UAAW,YAAa,WACxB,OAAQ,UAAW,UACnB,QAAS,OAAQ,QAAS,YAE9B8+B,KAAM9+B,EAAAA,MAAgB,CAAC,QAAS,SAChCyW,SAAUzW,EAAAA,MAAgB,CAAC,QAAS,SACpC4+B,SAAU5+B,EAAAA,MAAgB,CAAC,WAAY,eACvC2tB,OAAQ3tB,EAAAA,KACRmK,SAAUnK,EAAAA,KACV0W,SAAU1W,EAAAA,OACV6T,SAAU7T,EAAAA,MAEd2+B,GAAiB58B,aAAeA,GAChC48B,GAAiBt7B,YAAc,6BCpI/B,IAAIlD,GAAsC,WAStC,OARAA,GAAWxC,OAAOyC,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAInD,UAAUvE,OAAQyH,EAAIC,EAAGD,IAE5C,IAAK,IAAIE,KADTH,EAAIjD,UAAUkD,GACO5C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,KACzDJ,EAAEI,GAAKH,EAAEG,IAEjB,OAAOJ,CACX,EACOF,GAASS,MAAMC,KAAMxD,UAChC,EA8BW4hC,GAAcvgC,EAAAA,YAAiB,SAAUyC,EAAOC,IACvDpD,EAAAA,GAAAA,iBAAgBC,IAChB,IAAI2D,EAAalD,EAAAA,OAAa,MAC1B6zB,EAAsB7zB,EAAAA,aAAkB,WAAc,MAAQ,CAC9D5N,QAAS8Q,EAAWC,QACpB,GAAG,IACPnD,EAAAA,oBAA0B0C,EAAKmxB,GAC/B,IAAIl+B,EAAY8M,EAAM9M,UAAWmN,EAAQL,EAAMK,MAAOC,EAAKN,EAAMM,GAAI8B,EAAWpC,EAAMoC,SAClF27B,EAAWxgC,EAAAA,SAAc,WAAc,OAAO+Z,IAAQ,GAAG,IACzDlF,EAAc7U,EAAAA,SAAc,WAAc,OAAOyC,EAAMoS,aAAexR,GAAawR,WAAa,GAAG,CAACpS,EAAMoS,cAC1GR,EAA+B,eAAhBQ,EACf4rB,EAASzgC,EAAAA,SAAc,WAAc,OAAOyC,EAAMi+B,OAASj+B,EAAMi+B,MAAMxkC,WAAauG,EAAMi+B,MAAMxkC,WAAamH,GAAao9B,MAAQ,GAAG,CAACh+B,EAAMi+B,QAC5IC,EAAS3gC,EAAAA,SAAc,WAAc,OAAOyC,EAAMi+B,OAASj+B,EAAMi+B,MAAMvkC,SAAWsG,EAAMi+B,MAAMvkC,SAAWkH,GAAas9B,MAAQ,GAAG,CAACl+B,EAAMi+B,QACxIE,EAAqB5gC,EAAAA,SAAc,WAAc,OAAOxB,EAAW,iBAAkB,CACrF,WAA4B,eAAhBqW,EACZ,WAA4B,aAAhBA,EACZ,0BAA2BR,GAA2B,UAAXosB,IAAuBpsB,GAA2B,QAAXssB,EAClF,2BAA4BtsB,GAA2B,WAAXosB,IAAwBpsB,GAA2B,WAAXssB,EACpF,wBAAyBtsB,GAA2B,QAAXosB,IAAqBpsB,GAA2B,WAAXssB,EAC9E,4BAA6BtsB,GAA2B,YAAXosB,IAAyBpsB,GAA2B,YAAXssB,EACtF,uBAAwBtsB,GAA2B,UAAXosB,GAAsBpsB,GAA2B,QAAXssB,EAC9E,wBAAyBtsB,GAA2B,WAAXosB,GAAuBpsB,GAA2B,WAAXssB,EAChF,qBAAsBtsB,GAA2B,QAAXosB,GAAoBpsB,GAA2B,WAAXssB,EAC1E,yBAA0BtsB,GAA2B,YAAXosB,GAAwBpsB,GAA2B,YAAXssB,GACnFhrC,EAAY,GAAG,CAACkf,EAAaR,EAAcosB,EAAQE,EAAQhrC,IAC1DkrC,EAAoBp/B,GAAS,CAAEu9B,IAAK,GAAGt/B,OAA4B,kBAAd+C,EAAMu8B,IAAmBv8B,EAAMu8B,IAAM,KAAOv8B,EAAMu8B,MAAQl8B,GACnH,OAAQ9C,EAAAA,cAAoB,MAAO,CAAE0C,IAAKQ,EAAYvN,UAAWirC,EAAoB99B,MAAO+9B,EAAmB99B,GAAIA,GAAMy9B,GAAY37B,EACzI,IACIxB,GAAe,CACfwR,YAAa,aACb4rB,OAAQ,UACRE,OAAQ,WAEZJ,GAAY77B,UAAY,CACpB/O,UAAW2L,EAAAA,OACXwB,MAAOxB,EAAAA,OACPuD,SAAUvD,EAAAA,IACVyB,GAAIzB,EAAAA,OACJuT,YAAavT,EAAAA,MAAgB,CAAC,aAAc,aAC5C09B,IAAK19B,EAAAA,UAAoB,CAACA,EAAAA,OAAkBA,EAAAA,SAC5Co/B,MAAOp/B,EAAAA,MAAgB,CACnBnF,SAAUmF,EAAAA,MAAgB,CAAC,MAAO,SAAU,SAAU,YACtDpF,WAAYoF,EAAAA,MAAgB,CAAC,QAAS,SAAU,MAAO,eAG/Di/B,GAAYl9B,aAAeA,GAC3Bk9B,GAAY57B,YAAc,wBCtF1B,IAAIlD,GAAsC,WAStC,OARAA,GAAWxC,OAAOyC,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAInD,UAAUvE,OAAQyH,EAAIC,EAAGD,IAE5C,IAAK,IAAIE,KADTH,EAAIjD,UAAUkD,GACO5C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,KACzDJ,EAAEI,GAAKH,EAAEG,IAEjB,OAAOJ,CACX,EACOF,GAASS,MAAMC,KAAMxD,UAChC,EAgCWmiC,GAAa9gC,EAAAA,YAAiB,SAAUyC,EAAOC,IACtDpD,EAAAA,GAAAA,iBAAgBC,IAChB,IAAI2D,EAAalD,EAAAA,OAAa,MAC1B6zB,EAAsB7zB,EAAAA,aAAkB,WAAc,MAAQ,CAC9D5N,QAAS8Q,EAAWC,QACpB,GAAG,IACPnD,EAAAA,oBAA0B0C,EAAKmxB,GAC/B,IAAIl+B,EAAY8M,EAAM9M,UAAWmN,EAAQL,EAAMK,MAAOC,EAAKN,EAAMM,GAAI8B,EAAWpC,EAAMoC,SAAUm6B,EAAMv8B,EAAMu8B,IACxGwB,EAAWxgC,EAAAA,SAAc,WAAc,OAAO+Z,IAAQ,GAAG,IACzD0mB,EAASzgC,EAAAA,SAAc,WAAc,OAAOyC,EAAMi+B,OAASj+B,EAAMi+B,MAAMxkC,WAAauG,EAAMi+B,MAAMxkC,WAAamH,GAAao9B,MAAQ,GAAG,CAACh+B,EAAMi+B,QAC5IC,EAAS3gC,EAAAA,SAAc,WAAc,OAAOyC,EAAMi+B,OAASj+B,EAAMi+B,MAAMvkC,SAAWsG,EAAMi+B,MAAMvkC,SAAWkH,GAAas9B,MAAQ,GAAG,CAACl+B,EAAMi+B,QACxIK,EAAoB/gC,EAAAA,SAAc,WAAc,OAAOxB,EAAW,gBAAiB,CACnF,wBAAoC,UAAXiiC,EACzB,yBAAqC,WAAXA,EAC1B,sBAAkC,QAAXA,EACvB,0BAAsC,YAAXA,EAC3B,sBAAkC,QAAXE,EACvB,uBAAmC,WAAXA,EACxB,oBAAgC,WAAXA,EACrB,wBAAoC,YAAXA,GAC1BhrC,EAAY,GAAG,CAAC8qC,EAAQE,EAAQhrC,IAC/BqrC,EAAWhC,EACT,GAAGt/B,OAA2B,kBAAbs/B,EAAII,KAAoBJ,EAAII,KAAO,KAAOJ,EAAII,MAAQ,IAAM,GAAG1/B,OAA2B,kBAAbs/B,EAAIiC,KAAoBjC,EAAIiC,KAAO,KAAOjC,EAAIiC,WAC5Ip9B,EACFq9B,EAAwBz+B,EAAM28B,MAAQ38B,EAAM28B,KAAK5iC,KAAI,SAAU8/B,GAAO,MAAO,GAAG58B,OAA6B,kBAAf48B,EAAIhpC,OAAsBgpC,EAAIhpC,OAAS,KAAOgpC,EAAIhpC,OAAS,IAAG+L,KAAK,KACjK8hC,EAA2B1+B,EAAMw+B,MAAQx+B,EAAMw+B,KAAKzkC,KAAI,SAAU6/B,GAAO,MAAO,GAAG38B,OAA4B,kBAAd28B,EAAIjpC,MAAqBipC,EAAIjpC,MAAQ,KAAOipC,EAAIjpC,MAAQ,IAAGiM,KAAK,KACjK+hC,EAAmB3/B,GAAS,CAAEu9B,IAAKgC,EAAUhI,oBAAqBmI,EAA0BlI,iBAAkBiI,GAAyBp+B,GAC3I,OAAQ9C,EAAAA,cAAoB,MAAO,CAAE0C,IAAKQ,EAAYvN,UAAWorC,EAAmBj+B,MAAOs+B,EAAkBr+B,GAAIA,GAAMy9B,GAAY37B,EACvI,IACIxB,GAAe,CACfo9B,OAAQ,UACRE,OAAQ,UACR3B,SAAKn7B,GAETi9B,GAAWp8B,UAAY,CACnB/O,UAAW2L,EAAAA,OACXwB,MAAOxB,EAAAA,OACPuD,SAAUvD,EAAAA,IACVyB,GAAIzB,EAAAA,OACJ09B,IAAK19B,EAAAA,MAAgB,CACjB89B,KAAM99B,EAAAA,UAAoB,CAACA,EAAAA,OAAkBA,EAAAA,SAC7Co9B,QAASp9B,EAAAA,UAAoB,CAACA,EAAAA,OAAkBA,EAAAA,WAEpDo/B,MAAOp/B,EAAAA,MAAgB,CACnBnF,SAAUmF,EAAAA,MAAgB,CAAC,MAAO,SAAU,SAAU,YACtDpF,WAAYoF,EAAAA,MAAgB,CAAC,QAAS,SAAU,MAAO,eAG/Dw/B,GAAWz9B,aAAeA,GAC1By9B,GAAWn8B,YAAc,uBC3FzB,IAAIlD,GAAsC,WAStC,OARAA,GAAWxC,OAAOyC,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAInD,UAAUvE,OAAQyH,EAAIC,EAAGD,IAE5C,IAAK,IAAIE,KADTH,EAAIjD,UAAUkD,GACO5C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,KACzDJ,EAAEI,GAAKH,EAAEG,IAEjB,OAAOJ,CACX,EACOF,GAASS,MAAMC,KAAMxD,UAChC,EA+BW0iC,GAAiBrhC,EAAAA,YAAiB,SAAUyC,EAAOC,IAC1DpD,EAAAA,GAAAA,iBAAgBC,IAChB,IAAI2D,EAAalD,EAAAA,OAAa,MAC1B6zB,EAAsB7zB,EAAAA,aAAkB,WAAc,MAAQ,CAC9D5N,QAAS8Q,EAAWC,QACpB,GAAG,IACPnD,EAAAA,oBAA0B0C,EAAKmxB,GAC/B,IAAIl+B,EAAY8M,EAAM9M,UAAWmN,EAAQL,EAAMK,MAAOC,EAAKN,EAAMM,GAAI8B,EAAWpC,EAAMoC,SAAUy3B,EAAM75B,EAAM65B,IAAKD,EAAM55B,EAAM45B,IAAKK,EAAUj6B,EAAMi6B,QAASD,EAAUh6B,EAAMg6B,QACvKv2B,EAASlG,EAAAA,SAAc,WAAc,OAAO+Z,IAAQ,GAAG,IACvDunB,EAAuB7/B,GAAS,CAAE8/B,SAAU,GAAG7hC,OAAO48B,GAAO,OAAQ,OAAO58B,OAAO28B,GAAO,OAAQ,OAAO38B,OAAOg9B,EAAU,QAAUA,EAAU,OAAQ,OAAOh9B,OAAO+8B,EAAU,QAAUA,EAAU,SAAW35B,GACjN,OAAQ9C,EAAAA,cAAoB,MAAO,CAAE0C,IAAKQ,EAAYvN,UAAWA,EAAWmN,MAAOw+B,EAAsBv+B,GAAIA,GAAMmD,GAAUrB,EACjI,IACAw8B,GAAe38B,UAAY,CACvB/O,UAAW2L,EAAAA,OACXwB,MAAOxB,EAAAA,OACPuD,SAAUvD,EAAAA,IACVyB,GAAIzB,EAAAA,QAER+/B,GAAe18B,YAAc,2BCnDtB,IAAI68B,GAAqBxhC,EAAAA,YAAiB,SAAUyC,EAAOC,IAC9DpD,EAAAA,GAAAA,iBAAgBC,IAChB,IAAI5M,EAASqN,EAAAA,OAAa,MACtByhC,EAAkBzhC,EAAAA,OAAa,MAC/BgL,EAAQhL,EAAAA,aAAkB,WACtByhC,EAAgBt+B,SAChBs+B,EAAgBt+B,QAAQ6H,OAEhC,GAAG,CAACy2B,IAOJ,OANAzhC,EAAAA,oBAA0BrN,GAAQ,WAAc,MAAQ,CACpDP,QAASqvC,EAAgBt+B,QACzB6H,MAAOA,EACPvI,MAAOA,EACP,IACJzC,EAAAA,oBAA0B0C,GAAK,WAAc,OAAO/P,EAAOwQ,OAAS,IAC5DnD,EAAAA,cAAoB,KAAM,CAAE0C,IAAK++B,EAAiB1+B,GAAIN,EAAMM,GAAID,MAAOL,EAAMK,MAAOnN,UAAW6I,EAAW,oBAAqB,CAC/H,yBAA0BiE,EAAMi/B,YAChC,yBAA0Bj/B,EAAMk/B,YACjCl/B,EAAM9M,YAAc8M,EAAMoC,SACrC,IACIH,GAAY,CACZ3B,GAAIzB,EAAAA,OACJ3L,UAAW2L,EAAAA,OACXuD,SAAUvD,EAAAA,IACVwB,MAAOxB,EAAAA,QAEXkgC,GAAmB78B,YAAc,+BACjC68B,GAAmB98B,UAAYA,GC1BxB,IAAIk9B,GAAsB5hC,EAAAA,YAAiB,SAAUyC,EAAOC,IAC/DpD,EAAAA,GAAAA,iBAAgBC,IAChB,IAAI5M,EAASqN,EAAAA,OAAa,MACtB6hC,EAAyB7hC,EAAAA,OAAa,MAS1C,OARAA,EAAAA,oBAA0BrN,GAAQ,WAC9B,IAAIgE,EACJ,MAAQ,CACJvE,SAAoD,QAAzCuE,EAAKkrC,EAAuB1+B,eAA4B,IAAPxM,OAAgB,EAASA,EAAGvE,UAAY,KACpGqQ,MAAOA,EAEf,IACAzC,EAAAA,oBAA0B0C,GAAK,WAAc,OAAO/P,EAAOwQ,OAAS,IAC5DnD,EAAAA,cAAoB0F,EAAU,CAAEhD,IAAKm/B,EAAwB9+B,GAAIN,EAAMM,GAAI,eAAe,EAAMC,SAAUP,EAAMO,SAAUF,MAAOL,EAAMK,MAAOnD,KAAoB,QAAd8C,EAAM0H,IAAgB,eAAiB,gBAAiBpF,KAAoB,QAAdtC,EAAM0H,IAAgB23B,EAAAA,IAAkBC,EAAAA,IAAkBpsC,UAAW,8BAA+BiN,KAAM,UACxU,IACI8B,GAAY,CACZ3B,GAAIzB,EAAAA,OACJ3L,UAAW2L,EAAAA,OACXwB,MAAOxB,EAAAA,OACP0B,SAAU1B,EAAAA,OACV6I,IAAK7I,EAAAA,QAETsgC,GAAoBj9B,YAAc,gCAClCi9B,GAAoBl9B,UAAYA,GC1BzB,IAAIs9B,GAAiBhiC,EAAAA,YAAiB,SAAUyC,EAAOC,IAC1DpD,EAAAA,GAAAA,iBAAgBC,IAChB,IAAI5M,EAASqN,EAAAA,OAAa,MACtBiiC,EAAUjiC,EAAAA,OAAa,MACvBgL,EAAQhL,EAAAA,aAAkB,WACtBiiC,EAAQ9+B,SACR8+B,EAAQ9+B,QAAQ6H,OAExB,GAAG,CAACi3B,IACJjiC,EAAAA,oBAA0BrN,GAAQ,WAAc,MAAQ,CACpDP,QAAS6vC,EAAQ9+B,QACjB6H,MAAOA,EACPvI,MAAOA,EACP,IACJzC,EAAAA,oBAA0B0C,GAAK,WAAc,OAAO/P,EAAOwQ,OAAS,IACpE,IAAI++B,EAAmBliC,EAAAA,aAAkB,SAAU/H,GAC3CwK,EAAMM,IACN2e,GAAcjf,EAAM0/B,aAAclqC,EAAOA,EAAMtF,OAAQ,CAAEoQ,GAAIN,EAAMM,IAE3E,GAAG,CAACN,EAAM0/B,eACNrhB,EAAgB9gB,EAAAA,aAAkB,SAAU/H,GACxCwK,EAAMM,IACN2e,GAAcjf,EAAM0R,UAAWlc,EAAOA,EAAMtF,OAAQ,CAAEoQ,GAAIN,EAAMM,IAExE,GAAG,CAACN,EAAM0R,YACV,OAAQnU,EAAAA,cAAoB,OAAQ,CAAE,eAAgByC,EAAM2/B,YAAc3/B,EAAM2/B,YAAc3/B,EAAMgR,OAAQhP,KAAM,OAAQ1B,GAAIN,EAAMM,GAAIL,IAAKu/B,EAASn/B,MAAOL,EAAMK,MAAOqH,IAAK2nB,GAAOmQ,EAASx/B,EAAM0H,KAAMnH,SAAUwsB,GAAY/sB,EAAMO,SAAUP,EAAMgJ,UAAW9V,UAAW6I,EAAW,CAChR,yBAA0BiE,EAAM+Q,QAChC,qBAAsB/Q,EAAM+Q,QAC5B,kCAAkD3P,IAApBpB,EAAMtB,WAA2BsB,EAAMkJ,KACrE,8BAA8C9H,IAApBpB,EAAMtB,YAA4BsB,EAAMkJ,KAClE,aAAclJ,EAAMgJ,WACpBxH,QAASi+B,EAAkB/tB,UAAW2M,GAC1Cre,EAAMtB,UAEEnB,EAAAA,cAAoB,OAAQ,CAAErK,UAAW6I,EAAW,SAAUiE,EAAMtB,aACtEsB,EAAMsC,KAAOtC,EAAMsC,KAAO,GAChCtC,EAAMkJ,MACF3L,EAAAA,cAAoB,OAAQ,CAAErK,UAAW,0BAA4B8M,EAAMkJ,MACvF,IACIjH,GAAY,CACZ3B,GAAIzB,EAAAA,OACJ3L,UAAW2L,EAAAA,OACX0B,SAAU1B,EAAAA,OACVwB,MAAOxB,EAAAA,OACP6I,IAAK7I,EAAAA,OACLmK,SAAUnK,EAAAA,KACVqK,KAAMrK,EAAAA,OACNyD,KAAMzD,EAAAA,KACNH,UAAWG,EAAAA,OACX2C,QAAS3C,EAAAA,KACT8gC,YAAa9gC,EAAAA,MAEjB0gC,GAAer9B,YAAc,2BAE7Bq9B,GAAet9B,UAAYA,GCnDpB,IAAI29B,GAAwBriC,EAAAA,YAAiB,SAAUyC,EAAOC,IACjEpD,EAAAA,GAAAA,iBAAgBC,IAChB,IAAI5M,EAASqN,EAAAA,OAAa,MACtBsiC,EAAiBtiC,EAAAA,OAAa,MAMlC,OALAA,EAAAA,oBAA0BrN,GAAQ,WAAc,MAAQ,CACpDP,QAASkwC,EAAen/B,QACxBV,MAAOA,EACP,IACJzC,EAAAA,oBAA0B0C,GAAK,WAAc,OAAO/P,EAAOwQ,OAAS,IAC5DnD,EAAAA,cAAoB,KAAM,CAAE+C,GAAIN,EAAMM,GAAIL,IAAK4/B,EAAgBx/B,MAAOL,EAAMK,MAAOqH,IAAK2nB,GAAOwQ,EAAgB7/B,EAAM0H,KAAMnH,SAAUwsB,GAAY/sB,EAAMO,SAAUP,EAAMgJ,UAAW9V,UAAW6I,EAAW,yBAA0B,CAClO,aAAciE,EAAMgJ,UACrBhJ,EAAM9M,YAAc8M,EAAMoC,SACrC,IACIH,GAAY,CACZ3B,GAAIzB,EAAAA,OACJ3L,UAAW2L,EAAAA,OACXuD,SAAUvD,EAAAA,QACV0B,SAAU1B,EAAAA,OACVwB,MAAOxB,EAAAA,OACP6I,IAAK7I,EAAAA,OACLmK,SAAUnK,EAAAA,MAEd+gC,GAAsB19B,YAAc,kCACpC09B,GAAsB39B,UAAYA,GC/BlC,IAAIjD,GAAsC,WAStC,OARAA,GAAWxC,OAAOyC,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAInD,UAAUvE,OAAQyH,EAAIC,EAAGD,IAE5C,IAAK,IAAIE,KADTH,EAAIjD,UAAUkD,GACO5C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,KACzDJ,EAAEI,GAAKH,EAAEG,IAEjB,OAAOJ,CACX,EACOF,GAASS,MAAMC,KAAMxD,UAChC,EAaW4jC,GAAaviC,EAAAA,YAAiB,SAAUyC,EAAOC,IACtDpD,EAAAA,GAAAA,iBAAgBC,IAChB,IAAI5M,EAASqN,EAAAA,OAAa,MACtBwiC,EAAgBxiC,EAAAA,OAAa,MAC7ByiC,EAAuBziC,EAAAA,SAAc,WAAc,OAAOyC,EAAMigC,uBAAyBL,EAAuB,GAAG,CAAC5/B,EAAMigC,wBAC1HC,EAAoB3iC,EAAAA,SAAc,WAAc,OAAOyC,EAAMmgC,oBAAsBpB,EAAoB,GAAG,CAAC/+B,EAAMmgC,qBACjHC,EAAqB7iC,EAAAA,SAAc,WAAc,OAAOyC,EAAMqgC,qBAAuBlB,EAAqB,GAAG,CAACn/B,EAAMqgC,sBACpHC,EAAgB/iC,EAAAA,SAAc,WAAc,OAAOyC,EAAMugC,gBAAkBhB,EAAgB,GAAG,CAACv/B,EAAMugC,iBACrGh4B,EAAQhL,EAAAA,aAAkB,WACtBwiC,EAAcr/B,SACdq/B,EAAcr/B,QAAQ6H,OAE9B,GAAG,CAACw3B,IACA/2B,EAAWzL,EAAAA,SAAc,WAAc,OAAOyC,EAAMgJ,WAAY,CAAO,GAAG,CAAChJ,EAAMgJ,WACrFzL,EAAAA,oBAA0BrN,GAAQ,WAAc,MAAQ,CACpDP,QAASowC,EAAcr/B,QACvB6H,MAAOA,EACPvI,MAAOA,EACP,IACJzC,EAAAA,oBAA0B0C,GAAK,WAAc,OAAO/P,EAAOwQ,OAAS,IACpE,IAAIgH,EAAM2nB,GAAO0Q,EAAe//B,EAAM0H,KAClC+3B,EAAmB,SAAUjqC,GACzBtF,EAAOwQ,SACPue,GAAcjf,EAAM0/B,aAAclqC,EAAOA,EAAMtF,OAAQ,CAAEoQ,GAAI9K,EAAMtF,OAAOoQ,IAElF,EACI+d,EAAgB,SAAU7oB,GACtBtF,EAAOwQ,SACPue,GAAcjf,EAAM0R,UAAWlc,EAAOA,EAAMtF,OAAQ,CAAEoQ,GAAI9K,EAAMtF,OAAOoQ,IAE/E,EACIkgC,EAAcxgC,EAAMwgC,YAAc5/B,GAAa4/B,WAC/CC,EAAazgC,EAAMygC,WAAa7/B,GAAa6/B,UAC7CC,EAAkB1gC,EAAM0gC,gBAAkB9/B,GAAa8/B,eACvDC,EAAa3gC,EAAM2gC,WAAa//B,GAAa+/B,UACjD,OAAQpjC,EAAAA,cAAoB,MAAO,CAAE,aAAcyC,EAAMsS,UAAWhS,GAAIN,EAAMM,GAAID,MAAOL,EAAMK,MAAOJ,IAAK8/B,EAAer4B,IAAKA,EAAKxU,UAAW6I,EAAW,eAAgB,CAClK,QAAiB,QAAR2L,EACT,aAAcsB,GACfhJ,EAAM9M,YACTqK,EAAAA,cAAoByiC,EAAsB,KACtCziC,EAAAA,cAAoBA,EAAAA,SAAgB,KAAMyC,EAAMkO,KAAKnU,KAAI,SAAUkO,EAAMiD,EAAOgD,GAC5E,IAAIxR,EAAMuL,EAAKu4B,GACf,OAAQjjC,EAAAA,cAAoB2iC,EAAmB,CAAExjC,IAAKA,EAAKuiC,YAAuB,IAAV/zB,EAAag0B,WAAYhxB,EAAKvW,OAAS,IAAMuT,GACvG,IAAVA,GAAe3N,EAAAA,cAAoB6iC,EAAoB,CAAE14B,IAAKA,IAC9DnK,EAAAA,cAAoB+iC,EAAethC,GAAS,CAAEgS,OAAQ9C,EAAKvW,OAAS,IAAMuT,EAAO6F,QAAmB,IAAV7F,EAAa5K,GAAImG,OAAO/J,GAAM4F,KAAM2F,EAAKw4B,SAAcr/B,EAAW1C,UAAWuJ,EAAKy4B,GAAkBj6B,OAAOwB,EAAKy4B,SAAmBt/B,EAAW8H,KAAMjB,EAAK04B,GAAal6B,OAAOwB,EAAK04B,SAAcv/B,EAAW4H,SAAUf,EAAKe,WAAY,EAAO02B,aAAcD,EAAkB/tB,UAAW2M,GAAiBre,IAC3Y,MACZ,IACIiC,GAAY,CACZ3B,GAAIzB,EAAAA,OACJwB,MAAOxB,EAAAA,OACP3L,UAAW2L,EAAAA,OACXohC,sBAAuBphC,EAAAA,YACvBshC,mBAAoBthC,EAAAA,YACpBwhC,oBAAqBxhC,EAAAA,YACrB0hC,eAAgB1hC,EAAAA,YAChBqP,KAAMrP,EAAAA,QAAkBA,EAAAA,MAAgB,CACpCyB,GAAIzB,EAAAA,OACJqK,KAAMrK,EAAAA,OACNyD,KAAMzD,EAAAA,IACNH,UAAWG,EAAAA,UAEf6I,IAAK7I,EAAAA,MAAgB,CAAC,MAAO,QAC7BmK,SAAUnK,EAAAA,KACV2hC,WAAY3hC,EAAAA,OACZ8hC,UAAW9hC,EAAAA,OACX4hC,UAAW5hC,EAAAA,OACX6hC,eAAgB7hC,EAAAA,OAChB6gC,aAAc7gC,EAAAA,KACdyT,UAAWzT,EAAAA,QAEX+B,GAAe,CACf4/B,WAAY,KACZG,UAAW,OACXF,UAAW,OACXC,eAAgB,aAEpBZ,GAAW59B,YAAc,uBAEzB49B,GAAW79B,UAAYA,GACvB69B,GAAWl/B,aAAeA,GCnGnB,IAAIggC,GAAqB,CAC5B,2CACA,yBACA,2BACA,yBACA,UACA,aACA,UACA,SACA,SACA,QACA,kBACA,kBACA,qBAKAC,GAA4B,WAC5B,SAASA,EAAWv0B,GAChB,IAAIvE,EAAQrI,KACZA,KAAKohC,gBAAiB,EACtBphC,KAAKw6B,OAAS,WAAc,EAC5Bx6B,KAAKqhC,eAAiB,SAAU7wC,EAAQ8wC,GACpC,IAAIC,EAAMl5B,EAAMm5B,SACZh2B,EAAQ+1B,EAAI9tC,QAAQjD,GAAU8wC,EAClC91B,EAAQA,EAAQ,EAAI+1B,EAAItpC,OAAS,EAAIuT,EACrCnD,EAAMslB,aAAa4T,EAAI/1B,EAAQ+1B,EAAItpC,QAASzH,EAChD,EACAwP,KAAKa,SAAW+L,EAAQ/L,UAAY,EACpCb,KAAKnM,KAAO+Y,EAAQ/Y,KACpBmM,KAAKyhC,UAAY70B,EAAQ60B,UACzBzhC,KAAKohC,oBAA4C1/B,IAA3BkL,EAAQw0B,gBAA+Bx0B,EAAQw0B,eACrEphC,KAAK0hC,YAAc90B,EAAQ80B,aAAe,CAAC,EAC3C1hC,KAAK2hC,eAAiB/0B,EAAQ+0B,gBAAkB,CAAC,CACrD,CAiEA,OAhEA7kC,OAAOkO,eAAem2B,EAAWthC,UAAW,WAAY,CACpDoL,IAAK,WACD,OAAOjL,KAAKnM,KAAKmN,QAAUpE,MAAM2e,KAAKvb,KAAKnM,KAAKmN,QAAQ4gC,iBAAiB5hC,KAAKyhC,UAAUvkC,KAAK,OAAS,EAC1G,EACAgO,YAAY,EACZC,cAAc,IAElBrO,OAAOkO,eAAem2B,EAAWthC,UAAW,QAAS,CACjDoL,IAAK,WACD,OAAQjL,KAAKnM,KAAKmN,SAAWhB,KAAKnM,KAAKmN,QAAQ2vB,cAAc3wB,KAAKyhC,UAAUvkC,KAAK,OAAU,IAC/F,EACAgO,YAAY,EACZC,cAAc,IAElBrO,OAAOkO,eAAem2B,EAAWthC,UAAW,OAAQ,CAChDoL,IAAK,WACD,IAAIs2B,EAAMvhC,KAAKwhC,SACf,OAAOD,EAAIA,EAAItpC,OAAS,IAAM,IAClC,EACAiT,YAAY,EACZC,cAAc,IAElBrO,OAAOkO,eAAem2B,EAAWthC,UAAW,UAAW,CACnDoL,IAAK,WACD,OAAOjL,KAAKwhC,SAAS/mC,MAAK,SAAUlH,GAAM,OAAOA,EAAGsuC,QAAQ,SAAW,KAAM,IACjF,EACA32B,YAAY,EACZC,cAAc,IAElBg2B,EAAWthC,UAAUiiC,UAAY,SAAUtxC,GACvCwP,KAAKqhC,eAAe7wC,EAAQ,EAChC,EACA2wC,EAAWthC,UAAUkiC,cAAgB,SAAUvxC,GAC3CwP,KAAKqhC,eAAe7wC,GAAS,EACjC,EACA2wC,EAAWthC,UAAUmiC,qBAAuB,SAAU9R,GAClD,IAAI1/B,EAAS0/B,EAAG1/B,kBAAkByxC,SAAW/R,EAAG1/B,OAAO0xC,QAAQliC,KAAKyhC,UAAUvkC,KAAK,MAC/EF,EAAiB,MAAXkzB,EAAGlzB,IAAc,QAAUkzB,EAAGlzB,IACpCmlC,EAAYjS,EAAGtQ,YAAY5pB,KAC3BxF,GAAUwP,KAAK2hC,eAAeQ,GAAWnlC,IACzCgD,KAAK2hC,eAAeQ,GAAWnlC,GAAK8C,UAAK4B,EAAWlR,EAAQwP,KAAMkwB,EAE1E,EACAiR,EAAWthC,UAAUuiC,kBAAoB,SAAUlS,GAC/C,IAAI1/B,EAAS0/B,EAAG1/B,kBAAkByxC,SAAW/R,EAAG1/B,OAAO0xC,QAAQliC,KAAKyhC,UAAUvkC,KAAK,MAC/EilC,EAAYjS,EAAGtQ,YAAY5pB,KAC3BxF,GACAwP,KAAK0hC,YAAYS,GAAWriC,UAAK4B,EAAWlR,EAAQwP,KAAMkwB,EAElE,EACAiR,EAAWthC,UAAU8tB,aAAe,SAAU19B,EAASoyC,GAC/CpyC,IACIoyC,IACIriC,KAAKohC,gBACLiB,EAASC,gBAAgB,YAE7BD,EAASrI,UAAUU,OAAO,YAE1B16B,KAAKohC,gBACLnxC,EAAQsyC,aAAa,WAAYx7B,OAAO/G,KAAKa,WAEjD5Q,EAAQ4Y,MAAM,CAAE25B,eAAe,IAEvC,EACOrB,CACX,CAnFgC,GCfrBsB,GAAkB,SAAUniC,GACnC,IAAIoiC,EAAU7kC,EAAAA,OAAa,MACvBiE,EAAUjE,EAAAA,aAAkB,SAAU/H,GAClCwK,EAAMwB,SACNxB,EAAMwB,QAAQhC,UAAK4B,EAAW,CAC1BC,eAAgB7L,EAChByS,KAAMjI,EAAMiI,KACZ2K,MAAO5S,EAAM4S,OAGzB,GAAG,CAAC5S,EAAMiI,KAAMjI,EAAM4S,MAAO5S,EAAMwB,UAMnC,OALAjE,EAAAA,WAAgB,WACR6kC,EAAQ1hC,SAAWV,EAAMoR,SACzBgxB,EAAQ1hC,QAAQ6H,OAExB,GAAG,CAACvI,EAAMoR,UACF7T,EAAAA,cAAoB,OAAQ,CAAE8C,MAAOL,EAAMK,MAAOE,SAAUP,EAAMO,SAAUrN,UAAW6I,EAAW,qBAAsB,mBAAoBiE,EAAMgJ,UAAY,aAAchJ,EAAM9M,WAAY+M,IAAKmiC,EAASpgC,KAAM,SAAU,gBAAiBhC,EAAMgJ,SAAUxH,QAASA,GAC1QjE,EAAAA,cAAoB,OAAQ,CAAErK,UAAW,wBACrC8M,EAAMsC,MAAQ/E,EAAAA,cAAoB,OAAQ,CAAErK,UAAW,eAAiB8M,EAAMsC,OAC7EtC,EAAM4S,OAAS5S,EAAMqiC,cAAiB9kC,EAAAA,cAAoB,OAAQ,CAAErK,UAAW,2BAC5E8M,EAAM4S,OAASrV,EAAAA,cAAoB,OAAQ,CAAErK,UAAW,4BAA8B8M,EAAM4S,OAC5F5S,EAAMqiC,aAAe9kC,EAAAA,cAAoB,OAAQ,CAAErK,UAAW,kCAAoC8M,EAAMqiC,eACxH,EACAF,GAAgBlgC,UAAY,CACxB/O,UAAW2L,EAAAA,OACXwB,MAAOxB,EAAAA,OACPwjC,YAAaxjC,EAAAA,OACbmK,SAAUnK,EAAAA,KACVyjC,MAAOzjC,EAAAA,MAAgB,CAAC,MAAO,WAC/ByD,KAAMzD,EAAAA,QACN+T,MAAO/T,EAAAA,QC9BJ,IAAI0jC,GAAoB,oBAIpBC,GAAoB,SAAUxiC,GACrC,OAAQzC,EAAAA,cAAoB,MAAO,CAAErK,UAAW6I,EAAW,yBAA0BiE,EAAM9M,YAAc8M,EAAMoC,SACnH,EACAogC,GAAkBvgC,UAAY,CAC1B/O,UAAW2L,EAAAA,QAKf2jC,GAAkBtgC,YAAcqgC,GAIhCC,GAAkBvgC,UAAY,CAC1BG,SAAUvD,EAAAA,KClBP,IAAI4jC,GAAoB,oBAIpBC,GAAoB,SAAU1iC,GACrC,OAAQzC,EAAAA,cAAoB,MAAO,CAAErK,UAAW6I,EAAW,uBAAwBiE,EAAM9M,YAAc8M,EAAMoC,SACjH,EACAsgC,GAAkBzgC,UAAY,CAC1B/O,UAAW2L,EAAAA,QAKf6jC,GAAkBxgC,YAAcugC,GAIhCC,GAAkBzgC,UAAY,CAC1BG,SAAUvD,EAAAA,KClBP,IAAI8jC,GAAqB,qBAIrBC,GAAqB,SAAU5iC,GACtC,OAAQzC,EAAAA,cAAoB,MAAO,CAAErK,UAAW6I,EAAW,wBAAyBiE,EAAM9M,YAAc8M,EAAMoC,SAClH,EACAwgC,GAAmB3gC,UAAY,CAC3B/O,UAAW2L,EAAAA,QAKf+jC,GAAmB1gC,YAAcygC,GAIjCC,GAAmB3gC,UAAY,CAC3BG,SAAUvD,EAAAA,KCxBd,IAAIsH,GAAyC,WACzC,IAAIC,EAAgB,SAAUlM,EAAGmM,GAI7B,OAHAD,EAAgB5J,OAAO8J,gBAClB,CAAEC,UAAW,cAAgBjK,OAAS,SAAUpC,EAAGmM,GAAKnM,EAAEqM,UAAYF,CAAG,GAC1E,SAAUnM,EAAGmM,GAAK,IAAK,IAAI/G,KAAK+G,EAAO7J,OAAO+C,UAAUpN,eAAeqN,KAAK6G,EAAG/G,KAAIpF,EAAEoF,GAAK+G,EAAE/G,GAAI,EAC7F8G,EAAclM,EAAGmM,EAC5B,EACA,OAAO,SAAUnM,EAAGmM,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOhH,KAAKiH,YAAczM,CAAG,CADtCkM,EAAclM,EAAGmM,GAEjBnM,EAAEqF,UAAkB,OAAN8G,EAAa7J,OAAOoK,OAAOP,IAAMK,EAAGnH,UAAY8G,EAAE9G,UAAW,IAAImH,EACnF,CACJ,CAd6C,GAezC1H,GAAsC,WAStC,OARAA,GAAWxC,OAAOyC,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAInD,UAAUvE,OAAQyH,EAAIC,EAAGD,IAE5C,IAAK,IAAIE,KADTH,EAAIjD,UAAUkD,GACO5C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,KACzDJ,EAAEI,GAAKH,EAAEG,IAEjB,OAAOJ,CACX,EACOF,GAASS,MAAMC,KAAMxD,UAChC,EACI6e,GAAgD,SAAUC,EAAIC,EAAMC,GACpE,GAAIA,GAA6B,IAArBhf,UAAUvE,OAAc,IAAK,IAA4BwjB,EAAxB/b,EAAI,EAAGgc,EAAIH,EAAKtjB,OAAYyH,EAAIgc,EAAGhc,KACxE+b,GAAQ/b,KAAK6b,IACRE,IAAIA,EAAK7e,MAAMiD,UAAU8b,MAAM7b,KAAKyb,EAAM,EAAG7b,IAClD+b,EAAG/b,GAAK6b,EAAK7b,IAGrB,OAAO4b,EAAG/d,OAAOke,GAAM7e,MAAMiD,UAAU8b,MAAM7b,KAAKyb,GACtD,EAaI4nB,GAA6B,SAAU/7B,GAGvC,SAAS+7B,EAAY7iC,GACjB,IAAI+H,EAAQjB,EAAOtH,KAAKE,KAAMM,IAAUN,KAyGxC,OAxGAqI,EAAM+6B,eAAiBvlC,EAAAA,YACvBwK,EAAMg7B,sBAAwB,sBAC9Bh7B,EAAMi7B,cAAgBj7B,EAAMg7B,sBAAwB,EACpDh7B,EAAM8oB,kBAAoB,IAC1B9oB,EAAMk7B,eAAiB,CAAEryC,OAAQ,IAAKD,MAAO,QAC7CoX,EAAMsW,cAAgB,SAAUze,GACxBmI,EAAM/H,MAAMkjC,aACZn7B,EAAMo7B,WAAWzB,qBAAqB9hC,EAE9C,EACAmI,EAAMq7B,MAAQ,SAAUlzC,EAAQmzC,EAAKzT,GACjCA,EAAGngB,iBACCmgB,EAAG/4B,SACHwsC,EAAI5B,cAAcvxC,GAGlBmzC,EAAI7B,UAAUtxC,EAEtB,EACA6X,EAAMu7B,mBAAqB,SAAU1T,GAE7B7nB,EAAM/H,MAAM+tB,gBACZhmB,EAAM/H,MAAM+tB,eAAevuB,UAAK4B,EAAWwuB,GAE3C7nB,EAAM/H,MAAMwkB,SACZzc,EAAM/H,MAAMwkB,QAAQhlB,UAAK4B,EAAWwuB,GAEnC7nB,EAAM/H,MAAMsY,WACbvQ,EAAMw7B,iBAEd,EACAx7B,EAAM6R,gBAAkB,SAAUgW,GAE1B7nB,EAAM/H,MAAMslB,aACZvd,EAAM/H,MAAMslB,YAAY9lB,UAAK4B,EAAWwuB,GAExC7nB,EAAM/H,MAAM0/B,cACZ33B,EAAM/H,MAAM0/B,aAAalgC,UAAK4B,EAAWwuB,GAExC7nB,EAAM/H,MAAMsY,WACbvQ,EAAMw7B,iBAEd,EACAx7B,EAAMy7B,QAAU,SAAUtzC,EAAQmzC,EAAKzT,GACnC,IAAI1/B,EAAOuzC,aAAX,CAGA,IAAIC,EAASxzC,EAAOgD,YAAiE,IAApDhD,EAAOgD,UAAUC,QAAQ,sBACtDwwC,EAAWN,EAAInC,SAASjnC,QAAO,SAAU2F,GAAK,OAAsD,IAA/CA,EAAE1M,UAAUC,QAAQ,qBAA8B,IAE3G,GAAIuwC,GAAU37B,EAAM/H,MAAMslB,YAAa,CACnCsK,EAAGngB,iBACH,IAAIxH,EAAOF,EAAM/H,MAAM0D,MAAMigC,EAASxwC,QAAQjD,IAC9C6X,EAAM/H,MAAMslB,YAAY9lB,UAAK4B,EAAW,CACpCC,eAAgBuuB,EAChB3nB,KAAMA,EACN2K,MAAO3K,GAAQA,EAAK2K,OAE5B,CACA,GAAI8wB,GAAU37B,EAAM/H,MAAM0/B,aAAc,CACpC9P,EAAGngB,iBACCxH,EAAOF,EAAM/H,MAAM0D,MAAMigC,EAASxwC,QAAQjD,IAC9C6X,EAAM/H,MAAM0/B,aAAalgC,UAAK4B,EAAW,CACrCC,eAAgBuuB,EAChB3nB,KAAMA,EACN2K,MAAO3K,GAAQA,EAAK2K,OAE5B,CACK7K,EAAM/H,MAAMsY,WACbvQ,EAAMw7B,iBAvBV,CAyBJ,EACAx7B,EAAM67B,SAAW,SAAUC,EAASC,EAAMlU,GAElC7nB,EAAM/H,MAAM+tB,iBACZ6B,EAAGngB,iBACH1H,EAAM/H,MAAM+tB,eAAevuB,UAAK4B,EAAWwuB,IAE3C7nB,EAAM/H,MAAMwkB,UACZoL,EAAGngB,iBACH1H,EAAM/H,MAAMwkB,QAAQhlB,UAAK4B,EAAWwuB,IAEnC7nB,EAAM/H,MAAMsY,WACbvQ,EAAMw7B,iBAEd,EACAx7B,EAAMw7B,gBAAkB,WACpBx7B,EAAMoJ,SAAS,CAAEjH,MAAM,GAC3B,EACAnC,EAAM3F,SAAW,SAAUA,GACvB,IAAI+d,EAAa,CAAC,EAOlB,OANA5iB,EAAAA,SAAAA,QAAuB6E,GAAU,SAAUsV,GACnCA,IACAyI,EAAWzI,EAAMhiB,KAAKwM,aAAewV,EAG7C,IACOyI,CACX,EACApY,EAAMhU,MAAQ,CACVmW,MAAM,EACN65B,OAAO,GAEXlnC,GAAgBC,IACTiL,CACX,CAwGA,OArNA5B,GAAU08B,EAAa/7B,GA+GvB+7B,EAAYtjC,UAAU4I,kBAAoB,WAClCzI,KAAKM,MAAMgkC,SAAWtkC,KAAK3L,MAAMmW,MACjCxK,KAAKyR,SAAS,CAAEjH,MAAM,GAE9B,EAEA24B,EAAYtjC,UAAUiJ,mBAAqB,SAAUy7B,EAAY9d,GAC7D,IAAIpe,EAAQrI,KACRwkC,EAAaxkC,KAAKojC,eAAepiC,QAcrC,GAbIhB,KAAKM,MAAMgkC,SAAWtkC,KAAK3L,MAAMmW,MACjCxK,KAAKyR,SAAS,CAAEjH,MAAM,IAEtBxK,KAAKM,MAAMgkC,QAAUtkC,KAAK3L,MAAMmW,OAASxK,KAAK3L,MAAMgwC,OACpDrkC,KAAKyR,SAAS,CAAE4yB,OAAO,KAEtBrkC,KAAKM,MAAMgkC,QAAUtkC,KAAK3L,MAAMmW,MAAQxK,KAAK3L,MAAMgwC,OACpDrkC,KAAKyR,SAAS,CAAE4yB,OAAO,IAEvB5d,IAAczmB,KAAK3L,OAAS2L,KAAK3L,MAAMgwC,OAASG,IAAexkC,KAAKM,MAAM9M,YAC1EgxC,EAAW7jC,MAAM8jC,YAAY,6BAA8B,QAC3DD,EAAW7jC,MAAM8jC,YAAY,iCAAkC,SAE/DD,GACIxkC,KAAKM,MAAMkjC,YAAa,CACxB,IAAIkB,EAAgB,CAChB,wBACA,yBACA,2BACFrqC,KAAI,SAAUsqC,GACZ,OAAOzD,GAAmB3jC,OAAO8K,EAAM/H,MAAMskC,qBAAqBvqC,KAAI,SAAUwqC,GAAqB,MAAO,GAAGtnC,OAAOonC,EAAU,KAAKpnC,OAAOsnC,EAAoB,GACpK,IACIpD,EAAYpmB,GAAc,CAC1B,uBACDqpB,EAAcI,QAAQ,GACzB9kC,KAAKyjC,WAAa,IAAItC,GAAW,CAC7BtgC,SAAUb,KAAKM,MAAMO,UAAY,EACjChN,KAAMmM,KAAKojC,eACXhC,gBAAgB,EAChBK,UAAWA,EACXE,eAAgB,CACZoD,QAAS,CACL,IAAO/kC,KAAK0jC,MACZ,MAAS1jC,KAAK8jC,QACd,OAAU9jC,KAAKkkC,aAI3BlkC,KAAKyjC,WAAW9V,aAAa3tB,KAAKyjC,WAAWtwB,MAAO,KACxD,CAER,EAGAgwB,EAAYtjC,UAAUwH,OAAS,WAC3B,IAAIgB,EAAQrI,KACRxL,EAAKwL,KAAKM,MAAO4S,EAAQ1e,EAAG0e,MAAO8xB,EAAWxwC,EAAGwwC,SAAUC,EAAkBzwC,EAAGywC,gBAAiBrsB,EAAYpkB,EAAGokB,UAAW0rB,EAAS9vC,EAAG8vC,OAAQzjC,EAAWrM,EAAGqM,SAAUmD,EAAQxP,EAAGwP,MAClLkhC,EAA0B,OAAVlhC,QAA4B,IAAVA,OAAmB,EAASA,EAAMzJ,QAAO,SAAUgO,GAAQ,OAAQA,EAAKq6B,OAAwB,QAAfr6B,EAAKq6B,KAAiB,IACzIuC,EAA6B,OAAVnhC,QAA4B,IAAVA,OAAmB,EAASA,EAAMzJ,QAAO,SAAUgO,GAAQ,MAAsB,WAAfA,EAAKq6B,KAAoB,IAChIwC,EAAyBF,GAAiBA,EAAcjtC,OAAS,GAAOktC,GAAoBA,EAAiBltC,OAAS,EACtHyK,EAAW1C,KAAK0C,SAAS1C,KAAKM,MAAMoC,UACpCyuB,EAAoBnxB,KAAKM,MAAM6wB,mBAAqBnxB,KAAKmxB,kBACzDkU,EAAmBrlC,KAAK3L,MAAMgwC,OAASxmC,EAAAA,cAAoB,MAAO,CAAErK,UAAW6I,EAAW,gBAAiB2D,KAAKM,MAAM9M,UAAW,CAC7H,wBAAyBwM,KAAKM,MAAM9M,YACpC8O,KAAM,SAAU,aAAc,OAAQ,eAAe,EAAO,kBAAmBtC,KAAKsjC,cAAe/iC,IAAKP,KAAKojC,eAAgBpxB,UAAWhS,KAAK2e,eAChJjc,EAASmgC,MAAuB3vB,IAAU8xB,GAAatiC,EAASmgC,KAChE3vB,GAAS8xB,IAAcnnC,EAAAA,cAAoB,MAAO,CAAErK,UAAW,wCAC5DqK,EAAAA,cAAoB,MAAO,CAAErK,UAAW,uCACpCqK,EAAAA,cAAoB,MAAO,CAAErK,UAAWwM,KAAKqjC,sBAAuBziC,GAAIZ,KAAKsjC,eACzEpwB,GAASrV,EAAAA,cAAoB,MAAO,KAAMqV,GAC1C8xB,GAAYnnC,EAAAA,cAAoB,MAAO,CAAErK,UAAW,0BAA4BwxC,MAC5FtiC,EAASugC,KAAuBplC,EAAAA,cAAoB,MAAO,CAAErK,UAAW,yBACpEqK,EAAAA,cAAoB,MAAO,CAAErK,UAAW,YAAa8O,KAAM,SAAW4iC,GAAiBA,EAAc7qC,KAAI,SAAUkO,EAAM6J,GACrH,OAAQvU,EAAAA,cAAoB4kC,GAAiBnjC,GAAS,CAAC,EAAGiJ,EAAM,CAAE3H,GAAIwR,EAAKpV,IAAKoV,EAAK7J,KAAMA,EAAM1H,SAAUA,GAAY,EAAGiB,QAASuG,EAAM6R,kBAC7I,KACAkrB,GAAyBvnC,EAAAA,cAAoB,KAAM,CAAErK,UAAW,SAChEqK,EAAAA,cAAoB,MAAO,CAAErK,UAAW,YAAa8O,KAAM,SAAW6iC,GAAoBA,EAAiB9qC,KAAI,SAAUkO,EAAM6J,GAC3H,OAAQvU,EAAAA,cAAoB4kC,GAAiBnjC,GAAS,CAAC,EAAGiJ,EAAM,CAAE3H,GAAIwR,IAA0B,OAAlB8yB,QAA4C,IAAlBA,OAA2B,EAASA,EAAcjtC,SAAW,GAAI+E,IAAKoV,EAAK7J,KAAMA,EAAM1H,SAAUA,GAAY,EAAGiB,QAASuG,EAAM6R,kBAC3O,MACJxX,EAASqgC,KACb,OAAQllC,EAAAA,cAAoBA,EAAAA,SAAgB,KAAMymC,GAAUtkC,KAAK3L,MAAMmW,KAAQ3M,EAAAA,cAAoBA,EAAAA,SAAgB,KAC/GA,EAAAA,cAAoB,MAAO,CAAErK,UAAW,2BACpCqK,EAAAA,cAAoB,MAAO,CAAErK,UAAW,YAAasO,QAAS9B,KAAK4jC,qBACnEhrB,EAAY/a,EAAAA,cAAoBuZ,GAAAA,EAAW,CAAEC,eAAgBrX,KAAK3L,MAAMgwC,MAAQ,WAAa,aAAciB,SAAUtlC,KAAK6jC,gBAAiBnsB,wBAAyByZ,EAAmBxZ,uBAAwBwZ,EAAmBoU,uBAAwBN,GAAmBjlC,KAAKujC,eAAgBiC,sBAAuBP,GAAmBjlC,KAAKujC,eAAgBkC,sBAAuBR,GAAmBjlC,KAAKujC,eAAgB9rB,MAAM,EAAMD,OAAO,EAAMD,QAAQ,GAAS8tB,GACpcA,IACR,KACV,EAGAlC,EAAY3gC,YAAc,wBAE1B2gC,EAAY5gC,UAAY,CACpByB,MAAO7E,EAAAA,MACP6lC,SAAU7lC,EAAAA,OACV+T,MAAO/T,EAAAA,OACPqkC,YAAarkC,EAAAA,KACbylC,oBAAqBzlC,EAAAA,OAGzBgkC,EAAYjiC,aAAe,CACvBsiC,aAAa,EACboB,oBAAqB,IAElBzB,CACX,CAvNiC,CAuN/BtlC,EAAAA,WCzPS6nC,GAAe,SAAUplC,GAChC,IACI9L,EAAK8L,EAAMof,UAAWxM,EAAQ1e,EAAG0e,MAAOyyB,EAAWnxC,EAAGmxC,SAAUC,EAAUpxC,EAAGoxC,QAASC,EAASrxC,EAAGqxC,OAAQlD,EAAcnuC,EAAGmuC,YAC3HjuC,EAAKmJ,EAAAA,UAAe,GAAOioC,EAAWpxC,EAAG,GAAIqxC,EAAcrxC,EAAG,GAC9DE,EAAKiJ,EAAAA,UAAe,GAAO4U,EAAY7d,EAAG,GAAIoxC,EAAepxC,EAAG,GAYhEqxC,EAAc,SAAUnwC,GACxB,GAAIwK,EAAM4lC,cAAe,CACrB,IAAIC,EAAmB,CACnBxkC,eAAgB7L,EAChB8pB,YAAa9pB,EAAM8pB,YACnBF,UAAWpf,EAAMof,WAErBpf,EAAM4lC,cAAcpmC,UAAK4B,EAAWykC,EACxC,CACJ,EACIC,EAAW,WAAc,OAAQvoC,EAAAA,cAAoBouB,GAAU,KAC/DpuB,EAAAA,cAAoB,MAAO,CAAErK,UAAW,sBACpCqK,EAAAA,cAAoB,IAAK,KAAM8kC,GAC/BkD,GAAUA,EAAOxrC,KAAI,SAAUgsC,EAAO76B,GAAS,OAAQ3N,EAAAA,cAAoBuuB,GAAW,CAAEpvB,IAAKwO,EAAOoP,IAAKyrB,EAAMzrB,KAAS,KAC5H/c,EAAAA,cAAoBquB,GAAa,KAAM0Z,GAAWA,EAAQvrC,KAAI,SAAU/F,EAAQkX,GAAS,OAAQ3N,EAAAA,cAAoB,IAAK,CAAEb,IAAKwO,EAAOhE,KAAMlT,EAAOgT,IAAK9T,UAAW,wEAAyEsO,QAASmkC,GAAe3xC,EAAOkV,KAAQ,KAAO,EAChS,OAAQ3L,EAAAA,cAAoB,MAAO,CAAErK,UAAW6I,EAAW,kBAAmB,CAAE,cAAeiE,EAAMuR,aAAeY,KAChH5U,EAAAA,cAAoB4tB,GAAM,CAAEj4B,UAAW,uBACnCqK,EAAAA,cAAoB,OAAQ,CAAErK,UAAW6I,EAAW,0BAA2B,iBAAkB,CAAE,cAAeiE,EAAMgmC,YAAc,CAAE,eAAgBhmC,EAAMgmC,eAC9JzoC,EAAAA,cAAoB,MAAO,CAAErK,UAAW,gBACpCqK,EAAAA,cAAoBkuB,GAAY,KAC5BluB,EAAAA,cAAoBmuB,GAAW,KAC3BnuB,EAAAA,cAAoB,OAAQ,CAAErK,UAAW,iBAAmB0f,GAC5D5S,EAAMuR,aAAehU,EAAAA,cAAoB8X,GAAAA,EAAQ,CAAEC,SAAU,OAAQhT,KAAM,gBAAiBmI,QAAS60B,EAAAA,IAAkB99B,QAAS,SAAUhM,GAAS,OAjCtJ,SAAUA,GAEvB,GADAiwC,GAAaD,GACTxlC,EAAMsoB,SAAU,CAChB,IAAI2d,EAAc,CACd5kC,eAAgB7L,EAChB8pB,YAAa9pB,EAAM8pB,YACnBF,UAAWpf,EAAMof,WAErBpf,EAAMsoB,SAAS9oB,UAAK4B,EAAW6kC,EACnC,CACJ,CAuB8KC,CAAW1wC,EAAQ,EAAGtC,UAAW,sBAC/LmyC,GAAY9nC,EAAAA,cAAoBwuB,GAAc,KAAMsZ,IACxDrlC,EAAMuR,YACFhU,EAAAA,cAAoBod,GAAAA,EAAQ,CAAEvD,wBAxCtB,IAwCkEC,uBAxClE,IAwC6GwD,cAAe,WAAc,OAAO6qB,GAAa,EAAQ,EAAG5qB,cAAe,WAAc,OAAO4qB,GAAa,EAAO,GAAMF,EAAwB,KAAbM,KACxPA,MACtB,EACAV,GAAanjC,UAAY,CACrBqmB,SAAUzpB,EAAAA,KACV+mC,cAAe/mC,EAAAA,M,eCtDRsnC,GAAW,SAAUnmC,GAC5B,IAAIomC,EAAoBpmC,EAAMomC,kBAAmBlzC,EAAY8M,EAAM9M,UAAWmzC,EAAYrmC,EAAMqmC,UAAW5sC,EAAauG,EAAMvG,WAAY6sC,EAAStmC,EAAMsmC,OAAQC,EAAavmC,EAAMumC,WAAYje,EAAWtoB,EAAMsoB,SAAUsd,EAAgB5lC,EAAM4lC,cAC7OnoC,GAAOH,EAAAA,GAAAA,KACPkpC,OAAYplC,EAehB,OAAQ7D,EAAAA,cAAoB,MAAO,CAAErK,UAAW6I,EAAW,aAAc,yBAA0B,CAC3F,yBAA0BqqC,EAC1B,uBAAwB3sC,EACxB,yBAA0B4sC,EAC1B,wBAAyB5sC,GAC1BvG,IAdsCqK,EAAAA,cAAoB,KAAM,KAAM+oC,EAAOvsC,KAAI,SAAUqlB,EAAWlU,GACzG,OAAQ3N,EAAAA,cAAoBA,EAAAA,SAAgB,CAAEb,IAAKwO,GAC/Cs7B,IAAcpnB,EAAUqnB,KAAKC,gBAPRC,EAOsCvnB,EAAUqnB,KAAKC,cAN9EF,EAAYG,EACJppC,EAAAA,cAAoB,KAAM,CAAErK,UAAW,wBAC3CqK,EAAAA,cAAoB,OAAQ,CAAErK,UAAW,mBAAqByzC,KAK9DppC,EAAAA,cAAoB,KAAM,CAAErK,UAAW6I,EAAW,mBAAoB,CAAE,YAAamP,EAAQ,IAAM,KAC/F3N,EAAAA,cAAoB,MAAO,CAAErK,UAAW,wBACpCqK,EAAAA,cAAoB,OAAQ,CAAErK,UAAW,mBAAqBuK,EAAKmpC,WAAWxnB,EAAUqnB,KAAMF,KAClGhpC,EAAAA,cAAoB,IAAK,CAAErK,UAAW,sBACtCqK,EAAAA,cAAoB6nC,GAAc,CAAEhmB,UAAWA,EAAW4mB,WAAYK,GAAan7B,EAAQ,IAAM,EAAGqG,YAAa60B,EAAmB9d,SAAUA,EAAUsd,cAAeA,MAZhK,IAAUe,CAa7B,KAOJ,EACAR,GAASvlC,aAAe,CACpBylC,WAAW,EACXD,mBAAmB,EACnBG,WAAY,gBAEhBJ,GAASlkC,UAAY,CACjB/O,UAAW2L,EAAAA,QCjCR,IAAIgoC,GAAgB,SAAUC,GAIjC,OAHmBA,EAAUC,MAAK,SAAUC,EAAG3gC,GAC3C,OAAO2gC,EAAEP,KAAK9d,UAAYtiB,EAAEogC,KAAK9d,SACrC,GAEJ,ECRI3pB,GAAsC,WAStC,OARAA,GAAWxC,OAAOyC,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAInD,UAAUvE,OAAQyH,EAAIC,EAAGD,IAE5C,IAAK,IAAIE,KADTH,EAAIjD,UAAUkD,GACO5C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,KACzDJ,EAAEI,GAAKH,EAAEG,IAEjB,OAAOJ,CACX,EACOF,GAASS,MAAMC,KAAMxD,UAChC,EAQW+qC,GAAc,SAAUjnC,GAC/B,IAAIknC,EAAU3pC,EAAAA,OAAa,MAa3B,OAZAA,EAAAA,WAAgB,WACRyC,EAAMkK,MACN4F,YAAW,WACP,IAAIngB,EAAUu3C,EAAQxmC,SAAWwmC,EAAQxmC,QAAQ/Q,QAC7Cw3C,EAAWx3C,GAAWA,EAAQ0gC,cAAc,gBAC5C/xB,EAAgBD,EAAiB8oC,GAAYA,EAASx0C,eACtDw0C,GAAYA,IAAa7oC,GACzB6oC,EAAS5+B,OAEjB,GAER,GAAG,CAACvI,EAAMkK,OACF3M,EAAAA,cAAoByM,EAAAA,EAAO,CAAEE,KAAMlK,EAAMkK,KAAM3T,OAAQyJ,EAAMzJ,OAAQ4T,WAAY,eAAgBE,SAAS,GAC9G9M,EAAAA,cAAoBqmB,GAAM5kB,GAAS,CAAEtF,UAAU,GAAQsG,EAAO,CAAEC,IAAKinC,EAASh0C,UAAW6I,EAAW,iBAAkBiE,EAAM9M,WAAYsxB,QAASxkB,EAAMwkB,QAASxiB,KAAM,SAAWhC,EAAMoC,UAC/L,EACA6kC,GAAY/kC,YAAc,wBCnC1B,IAAI6Y,GAAgD,SAAUC,EAAIC,EAAMC,GACpE,GAAIA,GAA6B,IAArBhf,UAAUvE,OAAc,IAAK,IAA4BwjB,EAAxB/b,EAAI,EAAGgc,EAAIH,EAAKtjB,OAAYyH,EAAIgc,EAAGhc,KACxE+b,GAAQ/b,KAAK6b,IACRE,IAAIA,EAAK7e,MAAMiD,UAAU8b,MAAM7b,KAAKyb,EAAM,EAAG7b,IAClD+b,EAAG/b,GAAK6b,EAAK7b,IAGrB,OAAO4b,EAAG/d,OAAOke,GAAM7e,MAAMiD,UAAU8b,MAAM7b,KAAKyb,GACtD,ECAO,IAAImsB,GAAiB7pC,EAAAA,YAAiB,SAAUyC,EAAO9P,GAC1D,IAAIgE,EAAIE,EACRyI,GAAgBC,IAChB,IAAI2D,EAAalD,EAAAA,OAAa,MAC1BjJ,EAAKiJ,EAAAA,UAAe,GAAQ6T,EAAU9c,EAAG,GAAI+yC,EAAa/yC,EAAG,GAC7D88B,EAAsB7zB,EAAAA,aAAkB,WAAc,MAAQ,CAAE5N,QAAS8Q,EAAWC,QAAY,GAAG,IACvGnD,EAAAA,oBAA0BrN,EAAQkhC,GAClC,IAAI58B,EAAKwL,EAAM+Z,SAAUA,OAAkB,IAAPvlB,GAAwBA,EAAIwU,EAAWhJ,EAAMgJ,SAAU4J,EAAQ5S,EAAM4S,MAAOyyB,EAAWrlC,EAAMqlC,SAAUiC,EAAWtnC,EAAMsnC,SAAUC,EAAavnC,EAAMunC,WAAYC,EAAexnC,EAAMwnC,aAAcC,EAAgBznC,EAAMynC,cAAeC,EAAkB1nC,EAAM0nC,gBACjSlmC,EAAUjE,EAAAA,aAAkB,SAAU/H,GACtCypB,GAAcqoB,EAAU9xC,EAAO47B,IAAuB,CAAErX,SAAUA,GACtE,GAAG,CAACutB,EAAUvtB,IACVrI,EAAYnU,EAAAA,aAAkB,SAAU/H,GACpCA,EAAMmc,UAAYxG,IAAc3V,EAAMmc,UAAYxG,KAClD3V,EAAMia,iBACNwP,GAAcqoB,EAAU9xC,EAAO47B,IAAuB,CAAErX,SAAUA,IAE1E,GAAG,CAACutB,EAAUvtB,IAaVrlB,EDnBD,SAA2BR,GAC9B,IAAI6U,EAAU7U,EAAG6U,QAASD,EAAS5U,EAAG4U,OAAQ6+B,EAAczzC,EAAGyzC,YAAaC,EAAa1zC,EAAG0zC,WACxFx2B,EAAU7T,EAAAA,QAAa,GACvBsqC,EAAOtqC,EAAAA,OAAa,GACpB6gB,EAAW7gB,EAAAA,aAAkB,SAAUqhB,GACvCjO,aAAak3B,EAAKnnC,SAClBmnC,EAAKnnC,QAAUpP,OAAOwe,YAAW,WAAc,OAAO8O,GAAK,GAC/D,GAAG,CAACipB,IACAnW,EAAcn0B,EAAAA,aAAkB,WAEhC,IADA,IAAI/H,EAAQ,GACHyG,EAAK,EAAGA,EAAKC,UAAUvE,OAAQsE,IACpCzG,EAAMyG,GAAMC,UAAUD,GAE1B0U,aAAak3B,EAAKnnC,SACdinC,GACAA,EAAYnoC,UAAK4B,EAAW5L,EAAM,IAElC4b,EAAQ1Q,UAIZ0Q,EAAQ1Q,SAAU,EACdqI,GACAA,EAAQvJ,KAAKC,MAAMsJ,EAASgS,GAAc,MAAC3Z,GAAY5L,GAAO,IAEtE,GAAG,CAAC4b,EAASrI,EAAS4+B,IAClBG,EAAavqC,EAAAA,aAAkB,WAE/B,IADA,IAAI/H,EAAQ,GACHyG,EAAK,EAAGA,EAAKC,UAAUvE,OAAQsE,IACpCzG,EAAMyG,GAAMC,UAAUD,GAEtB2rC,GACAA,EAAWpoC,UAAK4B,EAAW5L,EAAM,IAErC4oB,GAAS,WACAhN,EAAQ1Q,SAGToI,IACAsI,EAAQ1Q,SAAU,EAClBoI,EAAOtJ,KAAKC,MAAMqJ,EAAQiS,GAAc,MAAC3Z,GAAY5L,GAAO,IAEpE,GACJ,GAAG,CAAC4b,EAASgN,EAAUtV,EAAQ8+B,IAM/B,OALArqC,EAAAA,WAAgB,WACZ,OAAO,WACHoT,aAAak3B,EAAKnnC,QACtB,CACJ,GAAG,IACI,CACHqI,QAAS2oB,EACT5oB,OAAQg/B,EAEhB,CClCaC,CAAkB,CAAEh/B,QAZXxL,EAAAA,aAAkB,WAC5ByC,EAAMgJ,UAGVq+B,GAAW,EACf,GAAG,CAACrnC,EAAMgJ,WAOyCF,OANlCvL,EAAAA,aAAkB,WAC3ByC,EAAMgJ,UAGVq+B,GAAW,EACf,GAAG,CAACrnC,EAAMgJ,aACgED,EAAUrU,EAAGqU,QAASD,EAASpU,EAAGoU,OAC5G,OAAQvL,EAAAA,cAAoB,MAAO,CAAE0C,IAAKQ,EAAYvN,UAAW6I,EAAW,aAAciE,EAAM9M,UAAW,CACnG,aAAc6mB,EACd,UAAW3I,IAAYpI,EACvB,aAAcA,IACdD,QAASA,EAASD,OAAQA,EAAQzI,MAAOL,EAAMK,MAAOC,GAAIN,EAAMM,GAAIoH,IAAK4oB,GAAO7vB,EAAYT,EAAM0H,KAAMgK,UAAW1I,OAAW5H,EAAYsQ,GAC9InU,EAAAA,cAAoB,MAAO,CAAEyE,KAAM,SAAU,gBAAiBhC,EAAMgoC,aAAc,gBAAiBjuB,EAAU,gBAAiB/Q,EAAUzI,SAAUwsB,GAAY/sB,EAAMO,SAAUyI,GAAW9V,UAAW,oBAAqBsO,QAASwH,OAAW5H,EAAYI,QAC3OJ,IAAVwR,EAAsBrV,EAAAA,cAAoB,MAAO,CAAErK,UAAW,oBAAsB0f,QAASxR,EAC7F7D,EAAAA,cAAoB,OAAQ,CAAErK,UAAW,kBAC5BkO,IAAbikC,EAAyB9nC,EAAAA,cAAoB,MAAO,CAAErK,UAAW,wBAA0BmyC,QAAYjkC,EACvG7D,EAAAA,cAAoB,OAAQ,CAAErK,UAAW,wBACrCqK,EAAAA,cAAoB0F,EAAU,CAAE/F,KAAO6c,EAE5BytB,OAA8BpmC,EAAf,aADfmmC,OAA8BnmC,EAAjB,eAC4BkB,KAAOyX,EAEhD2tB,OAAkCtmC,EAAhBqZ,EAAAA,IADlBgtB,OAAkCrmC,EAAlBsZ,EAAAA,IAC6BxnB,UAAW6I,EAAWge,GACnE7lB,EAAK,CAAC,EACLA,EAAGuS,OAAO+gC,IAAiB75B,QAAQ65B,GACnCtzC,IAAOE,EAAK,CAAC,EACjBA,EAAGqS,OAAO8gC,IAAe55B,QAAQ45B,GACjCnzC,QAChB4L,EAAMoC,SACd,IACAglC,GAAenlC,UAAY,CACvBG,SAAUvD,EAAAA,KACV3L,UAAW2L,EAAAA,OACXwB,MAAOxB,EAAAA,OACP6I,IAAK7I,EAAAA,OACLyB,GAAIzB,EAAAA,OACJ0B,SAAU1B,EAAAA,OACV+T,MAAO/T,EAAAA,KACPwmC,SAAUxmC,EAAAA,KACV0oC,WAAY1oC,EAAAA,OACZ2oC,aAAc3oC,EAAAA,OACdkb,SAAUlb,EAAAA,KACVmK,SAAUnK,EAAAA,KACVyoC,SAAUzoC,EAAAA,MAEduoC,GAAellC,YAAc,2BC3E7B,IAAIlD,GAAsC,WAStC,OARAA,GAAWxC,OAAOyC,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAInD,UAAUvE,OAAQyH,EAAIC,EAAGD,IAE5C,IAAK,IAAIE,KADTH,EAAIjD,UAAUkD,GACO5C,OAAO+C,UAAUpN,eAAeqN,KAAKL,EAAGG,KACzDJ,EAAEI,GAAKH,EAAEG,IAEjB,OAAOJ,CACX,EACOF,GAASS,MAAMC,KAAMxD,UAChC,EAMW+rC,GAAwB1qC,EAAAA,YAAiB,SAAUyC,EAAOC,GACjE,OAAQ1C,EAAAA,cAAoB,MAAOyB,GAAS,CAAEiB,IAAKA,GAAOD,EAAO,CAAE9M,UAAW6I,EAAW,6BAA8BiE,EAAM9M,aACzHqK,EAAAA,cAAoB,MAAO,CAAErK,UAAW,sBAAwB8M,EAAMoC,UAC9E,IACA6lC,GAAsB/lC,YAAc,iC","sources":["../node_modules/@progress/kendo-draggable-common/dist/es/algorithms/intersect.js","../node_modules/@progress/kendo-draggable-common/dist/es/drag-n-drop.js","../node_modules/@progress/kendo-draggable-common/dist/es/utils/index.js","../node_modules/@progress/kendo-draggable-common/dist/es/auto-scroll.js","../node_modules/@progress/kendo-popup-common/dist/es/align-point.js","../node_modules/@progress/kendo-popup-common/dist/es/collision.js","../node_modules/@progress/kendo-react-common/dist/es/classNames.js","../node_modules/@progress/kendo-react-common/dist/es/validate-package.js","../node_modules/@progress/kendo-react-intl/dist/es/hooks/useInternationalization.js","../node_modules/@progress/kendo-react-intl/dist/es/hooks/useLocalization.js","../node_modules/@progress/kendo-react-intl/dist/es/intlUtils.js","../node_modules/@progress/kendo-react-layout/node_modules/@progress/kendo-react-common/dist/es/getActiveElement.js","../node_modules/@progress/kendo-react-layout/node_modules/@progress/kendo-react-common/dist/es/classNames.js","../node_modules/@progress/kendo-react-layout/node_modules/@progress/kendo-react-common/dist/es/icons/constants.js","../node_modules/@progress/kendo-react-layout/node_modules/@progress/kendo-react-common/dist/es/icons/utils.js","../node_modules/@progress/kendo-react-layout/node_modules/@progress/kendo-react-common/dist/es/icons/Icon.js","../node_modules/@progress/kendo-react-layout/node_modules/@progress/kendo-react-common/dist/es/hooks/useMouse.js","../node_modules/@progress/kendo-react-layout/node_modules/@progress/kendo-react-common/dist/es/icons/SvgIcon.js","../node_modules/@progress/kendo-react-layout/node_modules/@progress/kendo-react-common/dist/es/icons/IconsContext.js","../node_modules/@progress/kendo-react-layout/node_modules/@progress/kendo-react-common/dist/es/icons/IconWrap.js","../node_modules/@progress/kendo-react-layout/dist/es/menu/utils/itemsIdsUtils.js","../node_modules/@progress/kendo-react-layout/dist/es/menu/consts.js","../node_modules/@progress/kendo-react-layout/dist/es/menu/utils/misc.js","../node_modules/@progress/kendo-react-layout/dist/es/menu/components/MenuItemLink.js","../node_modules/@progress/kendo-react-layout/dist/es/menu/components/MenuItemArrow.js","../node_modules/@progress/kendo-react-layout/dist/es/menu/components/MenuItemInternal.js","../node_modules/@progress/kendo-react-layout/dist/es/menu/components/MenuItemInternalsList.js","../node_modules/@progress/kendo-react-layout/node_modules/@progress/kendo-react-common/dist/es/keys.js","../node_modules/@progress/kendo-react-layout/node_modules/@progress/kendo-react-common/dist/es/noop.js","../node_modules/@progress/kendo-react-layout/node_modules/@progress/kendo-react-common/dist/es/hooks/useInheritedState.js","../node_modules/@progress/kendo-react-layout/node_modules/@progress/kendo-react-common/dist/es/drag-n-drop/context/index.js","../node_modules/@progress/kendo-react-layout/node_modules/@progress/kendo-react-common/dist/es/Draggable.js","../node_modules/@progress/kendo-react-layout/node_modules/@progress/kendo-react-common/dist/es/hooks/useDraggable.js","../node_modules/@progress/kendo-react-layout/dist/es/splitter/SplitterBar.js","../node_modules/@progress/kendo-react-layout/dist/es/tabstrip/TabStripNavigationItem.js","../node_modules/@progress/kendo-react-layout/dist/es/tabstrip/TabStripNavigation.js","../node_modules/@progress/kendo-react-animation/dist/es/Fade.js","../node_modules/@progress/kendo-react-layout/node_modules/@progress/kendo-react-common/dist/es/guid.js","../node_modules/@progress/kendo-react-layout/dist/es/tabstrip/TabStripContent.js","../node_modules/@progress/kendo-react-layout/node_modules/@progress/kendo-react-common/dist/es/validate-package.js","../node_modules/@progress/kendo-react-layout/dist/es/package-metadata.js","../node_modules/@progress/kendo-react-layout/dist/es/tabstrip/TabStrip.js","../node_modules/@progress/kendo-react-layout/dist/es/tabstrip/TabStripTab.js","../node_modules/@progress/kendo-react-layout/dist/es/panelbar/PanelBarItem.js","../node_modules/@progress/kendo-react-layout/dist/es/panelbar/util.js","../node_modules/@progress/kendo-react-layout/dist/es/panelbar/interfaces/NavigationAction.js","../node_modules/@progress/kendo-react-layout/dist/es/panelbar/PanelBar.js","../node_modules/@progress/kendo-react-layout/node_modules/@progress/kendo-react-common/dist/es/events/dispatchEvent.js","../node_modules/@progress/kendo-react-layout/dist/es/menu/components/MenuItem.js","../node_modules/@progress/kendo-react-layout/dist/es/menu/utils/prepareInputItemsForInternalWork.js","../node_modules/@progress/kendo-react-layout/dist/es/menu/utils/getNewItemIdUponKeyboardNavigation.js","../node_modules/@progress/kendo-react-layout/dist/es/menu/utils/DirectionHolder.js","../node_modules/@progress/kendo-react-layout/dist/es/splitter/messages/index.js","../node_modules/@progress/kendo-react-layout/dist/es/card/interfaces/Enums.js","../node_modules/@progress/kendo-react-layout/dist/es/menu/utils/MouseOverHandler.js","../node_modules/@progress/kendo-react-layout/dist/es/menu/components/Menu.js","../node_modules/@progress/kendo-react-layout/dist/es/menu/utils/hoverDelay.js","../node_modules/@progress/kendo-react-layout/dist/es/splitter/SplitterPane.js","../node_modules/@progress/kendo-react-layout/dist/es/splitter/Splitter.js","../node_modules/@progress/kendo-react-layout/dist/es/card/Card.js","../node_modules/@progress/kendo-react-layout/dist/es/card/CardHeader.js","../node_modules/@progress/kendo-react-layout/dist/es/card/CardTitle.js","../node_modules/@progress/kendo-react-layout/dist/es/card/CardBody.js","../node_modules/@progress/kendo-react-layout/dist/es/card/CardActions.js","../node_modules/@progress/kendo-react-layout/dist/es/card/CardImage.js","../node_modules/@progress/kendo-react-layout/dist/es/card/CardSubtitle.js","../node_modules/@progress/kendo-react-layout/dist/es/card/CardFooter.js","../node_modules/@progress/kendo-react-layout/node_modules/@progress/kendo-react-common/dist/es/theme.js","../node_modules/@progress/kendo-react-layout/dist/es/card/Avatar.js","../node_modules/@progress/kendo-react-layout/dist/es/drawer/context/DrawerContext.js","../node_modules/@progress/kendo-react-layout/node_modules/@progress/kendo-react-common/dist/es/getTabIndex.js","../node_modules/@progress/kendo-react-layout/dist/es/drawer/DrawerItem.js","../node_modules/@progress/kendo-react-layout/dist/es/drawer/DrawerNavigation.js","../node_modules/@progress/kendo-react-layout/node_modules/@progress/kendo-react-common/dist/es/hooks/useDir.js","../node_modules/@progress/kendo-react-layout/dist/es/drawer/Drawer.js","../node_modules/@progress/kendo-react-layout/dist/es/drawer/DrawerContent.js","../node_modules/@progress/kendo-react-layout/dist/es/stepper/context/StepperContext.js","../node_modules/@progress/kendo-react-layout/node_modules/@progress/kendo-react-common/dist/es/focus.js","../node_modules/@progress/kendo-react-layout/node_modules/@progress/kendo-react-common/dist/es/hooks/useRtl.js","../node_modules/@progress/kendo-react-layout/dist/es/stepper/messages/index.js","../node_modules/@progress/kendo-react-layout/dist/es/stepper/Step.js","../node_modules/@progress/kendo-react-layout/dist/es/stepper/contants.js","../node_modules/@progress/kendo-react-animation/dist/es/hooks/useAnimation.js","../node_modules/@progress/kendo-react-common/dist/es/getTabIndex.js","../node_modules/@progress/kendo-react-progressbars/dist/es/common/utils.js","../node_modules/@progress/kendo-react-progressbars/dist/es/package-metadata.js","../node_modules/@progress/kendo-react-progressbars/dist/es/progressbar/ProgressBar.js","../node_modules/@progress/kendo-react-progressbars/dist/es/progressbar/hooks/usePrevious.js","../node_modules/@progress/kendo-react-common/dist/es/hooks/useRtl.js","../node_modules/@progress/kendo-react-progressbars/dist/es/common/constants.js","../node_modules/@progress/kendo-react-layout/dist/es/stepper/Stepper.js","../node_modules/@progress/kendo-react-layout/dist/es/appbar/AppBar.js","../node_modules/@progress/kendo-react-layout/dist/es/appbar/AppBarSection.js","../node_modules/@progress/kendo-react-layout/dist/es/appbar/AppBarSpacer.js","../node_modules/@progress/kendo-react-layout/node_modules/@progress/kendo-react-common/dist/es/constants/index.js","../node_modules/@progress/kendo-react-layout/node_modules/@progress/kendo-react-common/dist/es/getter.js","../node_modules/@progress/kendo-react-layout/node_modules/@progress/kendo-react-common/dist/es/fieldList.js","../node_modules/@progress/kendo-react-layout/dist/es/tilelayout/ResizeHandlers.js","../node_modules/@progress/kendo-react-layout/dist/es/tilelayout/InternalTile.js","../node_modules/@progress/kendo-react-layout/dist/es/tilelayout/TileLayout.js","../node_modules/@progress/kendo-react-layout/dist/es/bottomnavigation/models/utils.js","../node_modules/@progress/kendo-react-layout/dist/es/bottomnavigation/BottomNavigationItem.js","../node_modules/@progress/kendo-react-layout/dist/es/bottomnavigation/BottomNavigation.js","../node_modules/@progress/kendo-react-layout/dist/es/stacklayout/StackLayout.js","../node_modules/@progress/kendo-react-layout/dist/es/gridlayout/GridLayout.js","../node_modules/@progress/kendo-react-layout/dist/es/gridlayout/GridLayoutItem.js","../node_modules/@progress/kendo-react-layout/dist/es/breadcrumb/BreadcrumbListItem.js","../node_modules/@progress/kendo-react-layout/dist/es/breadcrumb/BreadcrumbDelimiter.js","../node_modules/@progress/kendo-react-layout/dist/es/breadcrumb/BreadcrumbLink.js","../node_modules/@progress/kendo-react-layout/dist/es/breadcrumb/BreadcrumbOrderedList.js","../node_modules/@progress/kendo-react-layout/dist/es/breadcrumb/Breadcrumb.js","../node_modules/@progress/kendo-react-layout/node_modules/@progress/kendo-react-common/dist/es/navigation.js","../node_modules/@progress/kendo-react-layout/dist/es/actionsheet/ActionSheetItem.js","../node_modules/@progress/kendo-react-layout/dist/es/actionsheet/ActionSheetHeader.js","../node_modules/@progress/kendo-react-layout/dist/es/actionsheet/ActionSheetFooter.js","../node_modules/@progress/kendo-react-layout/dist/es/actionsheet/ActionSheetContent.js","../node_modules/@progress/kendo-react-layout/dist/es/actionsheet/ActionSheet.js","../node_modules/@progress/kendo-react-layout/dist/es/timeline/TimelineCard.js","../node_modules/@progress/kendo-react-layout/dist/es/timeline/Timeline.js","../node_modules/@progress/kendo-react-layout/dist/es/timeline/utils.js","../node_modules/@progress/kendo-react-layout/dist/es/contextmenu/ContextMenu.js","../node_modules/@progress/kendo-react-layout/node_modules/@progress/kendo-react-common/dist/es/hooks/useAsyncFocusBlur.js","../node_modules/@progress/kendo-react-layout/dist/es/expansionpanel/ExpansionPanel.js","../node_modules/@progress/kendo-react-layout/dist/es/expansionpanel/ExpansionPanelContent.js"],"sourcesContent":["var getRatio = function (element, target) {\n var elementRect = element.getBoundingClientRect();\n var targetRect = target.getBoundingClientRect();\n var top = Math.max(targetRect.top, elementRect.top);\n var left = Math.max(targetRect.left, elementRect.left);\n var right = Math.min(targetRect.left + targetRect.width, elementRect.left + elementRect.width);\n var bottom = Math.min(targetRect.top + targetRect.height, elementRect.top + elementRect.height);\n var width = right - left;\n var height = bottom - top;\n if (left < right && top < bottom) {\n var targetArea = targetRect.width * targetRect.height;\n var entryArea = elementRect.width * elementRect.height;\n var intersectionArea = width * height;\n var intersectionRatio = intersectionArea / (targetArea + entryArea - intersectionArea);\n return Number(intersectionRatio.toFixed(4));\n }\n return 0;\n};\n/** @hidden */\nexport var intersect = function (element, candidates) {\n var max = 0;\n var result = null;\n candidates.forEach(function (candidate) {\n if (candidate && element) {\n var ration = getRatio(element, candidate);\n if (ration > max) {\n max = ration;\n result = candidate;\n }\n }\n });\n return result;\n};\n","import { intersect } from \"./algorithms\";\nimport { getWindow, autoScrollVelocity, scrollableViewPort, getScrollableParent, isPointerInsideContainer, getDocument } from \"./utils\";\n/** @hidden */\nexport var DRAG_AND_DROP_DISPATCH_ACTION;\n(function (DRAG_AND_DROP_DISPATCH_ACTION) {\n DRAG_AND_DROP_DISPATCH_ACTION[\"POINTER_DOWN\"] = \"pointerdown\";\n DRAG_AND_DROP_DISPATCH_ACTION[\"POINTER_MOVE\"] = \"pointermove\";\n DRAG_AND_DROP_DISPATCH_ACTION[\"POINTER_UP\"] = \"pointerup\";\n DRAG_AND_DROP_DISPATCH_ACTION[\"POINTER_CANCEL\"] = \"pointercancel\";\n DRAG_AND_DROP_DISPATCH_ACTION[\"MOUSE_DOWN\"] = \"mousedown\";\n DRAG_AND_DROP_DISPATCH_ACTION[\"MOUSE_MOVE\"] = \"mousemove\";\n DRAG_AND_DROP_DISPATCH_ACTION[\"MOUSE_UP\"] = \"mouseup\";\n DRAG_AND_DROP_DISPATCH_ACTION[\"CONTEXT_MENU\"] = \"contextmenu\";\n DRAG_AND_DROP_DISPATCH_ACTION[\"TOUCH_START\"] = \"touchstart\";\n DRAG_AND_DROP_DISPATCH_ACTION[\"TOUCH_MOVE\"] = \"touchmove\";\n DRAG_AND_DROP_DISPATCH_ACTION[\"TOUCH_END\"] = \"touchend\";\n DRAG_AND_DROP_DISPATCH_ACTION[\"TOUCH_CANCEL\"] = \"touchcancel\";\n DRAG_AND_DROP_DISPATCH_ACTION[\"SCROLL\"] = \"scroll\";\n DRAG_AND_DROP_DISPATCH_ACTION[\"START\"] = \"KENDO_DRAG_AND_DROP_START\";\n DRAG_AND_DROP_DISPATCH_ACTION[\"MOVE\"] = \"KENDO_DRAG_AND_DROP_MOVE\";\n DRAG_AND_DROP_DISPATCH_ACTION[\"END\"] = \"KENDO_DRAG_AND_DROP_END\";\n DRAG_AND_DROP_DISPATCH_ACTION[\"CANCEL\"] = \"KENDO_DRAG_AND_DROP_CANCEL\";\n})(DRAG_AND_DROP_DISPATCH_ACTION || (DRAG_AND_DROP_DISPATCH_ACTION = {}));\nvar isTouchEvent = function (event) { return /^touch/.test(event.type); };\nvar isScrollEvent = function (event) { return /^(scroll)/.test(event.type); };\n/** @hidden */\nexport var normalizeEvent = function (event, state) { return (isTouchEvent(event)\n ? ({\n pageX: event.changedTouches[0].pageX,\n pageY: event.changedTouches[0].pageY,\n clientX: event.changedTouches[0].clientX,\n clientY: event.changedTouches[0].clientY,\n scrollX: state.scrollOffset.x,\n scrollY: state.scrollOffset.y,\n offsetX: state.offset.x,\n offsetY: state.offset.y,\n type: event.type,\n originalEvent: event,\n isTouch: true,\n altKey: false,\n ctrlKey: false,\n shiftKey: false,\n metaKey: false\n })\n : isScrollEvent(event)\n ? ({\n pageX: state.pageOffset.x,\n pageY: state.pageOffset.y,\n clientX: state.clientOffset.x,\n clientY: state.clientOffset.y,\n scrollX: state.scrollOffset.x,\n scrollY: state.scrollOffset.y,\n offsetX: state.offset.x,\n offsetY: state.offset.y,\n type: event.type,\n originalEvent: event,\n altKey: false,\n ctrlKey: false,\n shiftKey: false,\n metaKey: false\n })\n : ({\n pageX: event.pageX,\n pageY: event.pageY,\n clientX: event.clientX,\n clientY: event.clientY,\n offsetX: event.offsetX,\n offsetY: event.offsetY,\n scrollX: state.scrollOffset.x,\n scrollY: state.scrollOffset.y,\n type: event.type,\n ctrlKey: event.ctrlKey,\n shiftKey: event.shiftKey,\n altKey: event.altKey,\n metaKey: event.metaKey,\n originalEvent: event\n })); };\nvar noop = function () { };\n/** @hidden */\nexport var dispatchDragAndDrop = function (state, action, callbacks) {\n if (callbacks === void 0) { callbacks = {}; }\n var _a = callbacks.onIsPressedChange, onIsPressedChange = _a === void 0 ? noop : _a, _b = callbacks.onIsScrollingChange, onIsScrollingChange = _b === void 0 ? noop : _b, _c = callbacks.onVelocityChange, onVelocityChange = _c === void 0 ? noop : _c, _d = callbacks.onOffsetChange, onOffsetChange = _d === void 0 ? noop : _d, _e = callbacks.onPageOffsetChange, onPageOffsetChange = _e === void 0 ? noop : _e, _f = callbacks.onClientOffsetChange, onClientOffsetChange = _f === void 0 ? noop : _f, _g = callbacks.onScrollOffsetChange, onScrollOffsetChange = _g === void 0 ? noop : _g, _h = callbacks.onInitialScrollOffsetChange, onInitialScrollOffsetChange = _h === void 0 ? noop : _h;\n var drag = action.payload;\n var element = drag.element;\n var hint = drag.hint;\n var autoScrollDirection = state.autoScrollDirection;\n var overrideScrollableParent = state.scrollableParent;\n var event = normalizeEvent(action.event, state);\n switch (event.type) {\n case DRAG_AND_DROP_DISPATCH_ACTION.POINTER_DOWN:\n if (event.type === DRAG_AND_DROP_DISPATCH_ACTION.POINTER_DOWN\n && (!event.originalEvent.isPrimary\n || event.originalEvent.button !== 0)) {\n break;\n }\n // In rare cases where the `which` attribute is available in the mouse event\n // we check if the `left button` is explicitly clicked:\n // https://developer.mozilla.org/en-US/docs/Web/API/UIEvent/which#return_value\n case DRAG_AND_DROP_DISPATCH_ACTION.MOUSE_DOWN:\n if (event.type === DRAG_AND_DROP_DISPATCH_ACTION.MOUSE_DOWN\n && (event.originalEvent.which\n && event.originalEvent.which > 1)\n || state.ignoreMouse) {\n break;\n }\n case DRAG_AND_DROP_DISPATCH_ACTION.TOUCH_START:\n if (event.type === DRAG_AND_DROP_DISPATCH_ACTION.TOUCH_START\n && event.originalEvent.touches.length !== 1) {\n break;\n }\n case DRAG_AND_DROP_DISPATCH_ACTION.START: {\n var scrollableParent_1 = overrideScrollableParent || getScrollableParent(action.payload.element);\n onInitialScrollOffsetChange(scrollableParent_1 instanceof Window\n ? { x: scrollableParent_1.scrollX, y: scrollableParent_1.scrollY }\n : { x: scrollableParent_1.scrollLeft, y: scrollableParent_1.scrollTop });\n onClientOffsetChange({\n x: event.clientX,\n y: event.clientY\n });\n onPageOffsetChange({\n x: event.pageX,\n y: event.pageY\n });\n onOffsetChange({\n x: event.offsetX,\n y: event.offsetY\n });\n onIsPressedChange(true);\n if (drag.onPress) {\n drag.onPress(event);\n }\n break;\n }\n case DRAG_AND_DROP_DISPATCH_ACTION.SCROLL:\n if (event.type === DRAG_AND_DROP_DISPATCH_ACTION.SCROLL && !state.pressed) {\n break;\n }\n var scrollableParent = overrideScrollableParent || getScrollableParent(element);\n var scrollOffset = scrollableParent instanceof Window\n ? { x: scrollableParent.scrollX, y: scrollableParent.scrollY }\n : { x: scrollableParent.scrollLeft, y: scrollableParent.scrollTop };\n event.scrollX = scrollOffset.x - state.initialScrollOffset.x;\n event.scrollY = scrollOffset.y - state.initialScrollOffset.y;\n onScrollOffsetChange({\n x: event.scrollX,\n y: event.scrollY\n });\n case DRAG_AND_DROP_DISPATCH_ACTION.POINTER_MOVE:\n if (event.type === DRAG_AND_DROP_DISPATCH_ACTION.POINTER_MOVE && !event.originalEvent.isPrimary) {\n break;\n }\n case DRAG_AND_DROP_DISPATCH_ACTION.MOUSE_MOVE:\n case DRAG_AND_DROP_DISPATCH_ACTION.TOUCH_MOVE:\n if (event.type === DRAG_AND_DROP_DISPATCH_ACTION.TOUCH_MOVE && event.originalEvent.touches.length !== 1) {\n break;\n }\n case DRAG_AND_DROP_DISPATCH_ACTION.MOVE: {\n if (state.pressed) {\n if (state.autoScroll && event.originalEvent.type !== 'scroll') {\n if (element) {\n var document_1 = getDocument(element);\n var scrollableParent_2 = overrideScrollableParent || getScrollableParent(document_1.elementFromPoint(event.clientX, event.clientY));\n var newVelocity = autoScrollVelocity(event.clientX, event.clientY, scrollableViewPort(scrollableParent_2, getWindow(element)));\n onVelocityChange({\n x: (autoScrollDirection && autoScrollDirection.horizontal === false) ? 0 : newVelocity.x,\n y: (autoScrollDirection && autoScrollDirection.vertical === false) ? 0 : newVelocity.y\n });\n onIsScrollingChange(newVelocity.y !== 0 || newVelocity.x !== 0);\n }\n }\n if (!state.drag && drag.onDragStart) {\n drag.onDragStart(event);\n }\n if (drag.onDrag) {\n drag.onDrag(event);\n }\n var dropElement_1 = intersect(hint || element, state.drops.map(function (drop) { return drop && drop.element; }).filter(function (d) { return d !== (hint || element); }));\n var drop = state.drops.find(function (drop) { return drop.element === dropElement_1; });\n if (drop\n && dropElement_1\n && isPointerInsideContainer(event.clientX, event.clientY, overrideScrollableParent || getScrollableParent(dropElement_1))\n && dropElement_1 !== element) {\n if ((state.drop && state.drop.element) !== dropElement_1) {\n if (state.drop && state.drop.onDragLeave) {\n state.drop.onDragLeave(event);\n }\n if (drop.onDragEnter) {\n drop.onDragEnter(event);\n }\n }\n else {\n if (drop.onDragOver) {\n drop.onDragOver(event);\n }\n }\n }\n else if (state.drop && state.drop.onDragLeave) {\n state.drop.onDragLeave(event);\n }\n }\n onClientOffsetChange({\n x: event.clientX,\n y: event.clientY\n });\n onPageOffsetChange({\n x: event.pageX,\n y: event.pageY\n });\n break;\n }\n case DRAG_AND_DROP_DISPATCH_ACTION.POINTER_UP:\n if (event.type === DRAG_AND_DROP_DISPATCH_ACTION.POINTER_UP && !event.originalEvent.isPrimary) {\n break;\n }\n case DRAG_AND_DROP_DISPATCH_ACTION.MOUSE_UP:\n // the last finger has been lifted, and the user is not doing gesture.\n // there might be a better way to handle this.\n case DRAG_AND_DROP_DISPATCH_ACTION.TOUCH_END:\n if (event.type === DRAG_AND_DROP_DISPATCH_ACTION.TOUCH_END && event.originalEvent.touches.length !== 1) {\n break;\n }\n case DRAG_AND_DROP_DISPATCH_ACTION.END: {\n onIsPressedChange(false);\n onIsScrollingChange(false);\n onScrollOffsetChange({ x: 0, y: 0 });\n if (drag.onRelease) {\n drag.onRelease(event);\n }\n if (state.drop && state.drop.onDrop) {\n state.drop.onDrop(event);\n }\n if (state.drag && drag.onDragEnd) {\n drag.onDragEnd(event);\n }\n break;\n }\n case DRAG_AND_DROP_DISPATCH_ACTION.POINTER_CANCEL:\n case DRAG_AND_DROP_DISPATCH_ACTION.CONTEXT_MENU:\n case DRAG_AND_DROP_DISPATCH_ACTION.TOUCH_CANCEL:\n case DRAG_AND_DROP_DISPATCH_ACTION.CANCEL: {\n onIsPressedChange(false);\n onIsScrollingChange(false);\n onScrollOffsetChange({ x: 0, y: 0 });\n if (drag.onDragEnd) {\n drag.onDragEnd(event);\n }\n if (state.drop && state.drop.onDragLeave) {\n state.drop.onDragLeave(event);\n }\n break;\n }\n default:\n break;\n }\n};\n","var detectBrowser = function () {\n var ua = window && window.navigator.userAgent;\n if (!ua) {\n return false;\n }\n var browser = false;\n var match = [];\n var browserRxs = {\n edge: /(edge)[ \\/]([\\w.]+)/i,\n webkit: /(chrome|crios)[ \\/]([\\w.]+)/i,\n safari: /(webkit)[ \\/]([\\w.]+)/i,\n opera: /(opera)(?:.*version|)[ \\/]([\\w.]+)/i,\n msie: /(msie\\s|trident.*? rv:)([\\w.]+)/i,\n mozilla: /(mozilla)(?:.*? rv:([\\w.]+)|)/i\n };\n for (var agent in browserRxs) {\n if (browserRxs.hasOwnProperty(agent)) {\n match = ua.match(browserRxs[agent]);\n if (match) {\n browser = {};\n browser[agent] = true;\n browser[match[1].toLowerCase().split(\" \")[0].split(\"/\")[0]] = true;\n browser.version = parseInt(document.DOCUMENT_NODE || match[2], 10);\n break;\n }\n }\n }\n return browser;\n};\n/** @hidden */\nexport var getDocument = function (element) {\n return element ? element.ownerDocument || window.document : window.document;\n};\n/** @hidden */\nexport var getWindow = function (element) {\n var document = getDocument(element);\n return document\n ? document.defaultView || window\n : window;\n};\n/** @hidden */\nexport var scrollableRoot = function (element) {\n var support = { browser: detectBrowser() };\n var document = getDocument(element);\n return (support.browser.edge || support.browser.safari) ? document.body : document.documentElement;\n};\n/** @hidden */\nexport var isScrollable = function (el) {\n if (el && el.className && typeof (el.className) === 'string' && el.className.indexOf('k-auto-scrollable') > -1) {\n return true;\n }\n var overflow = window.getComputedStyle(el, 'overflow').overflow;\n return overflow.indexOf('auto') > -1 || overflow.indexOf('scroll') > -1;\n};\n/** @hidden */\nexport var getScrollableParent = function (el) {\n var root = scrollableRoot(el);\n if (!el || el === document.body || el === document.documentElement) {\n return root;\n }\n var parent = el;\n while (parent\n && parent !== document.body\n && parent.nodeType !== Node.DOCUMENT_FRAGMENT_NODE\n && parent.nodeType !== Node.DOCUMENT_NODE\n && !isScrollable(parent)) {\n parent = parent.parentNode;\n }\n if (parent && (parent === document.body || parent.nodeType === Node.DOCUMENT_FRAGMENT_NODE)) {\n return root;\n }\n return parent;\n};\n/** @hidden */\nexport var autoScrollVelocity = function (mouseX, mouseY, rect) {\n var velocity = { x: 0, y: 0 };\n var AUTO_SCROLL_AREA = 50;\n if (mouseX - rect.left < AUTO_SCROLL_AREA) {\n velocity.x = -(AUTO_SCROLL_AREA - (mouseX - rect.left));\n }\n else if (rect.right - mouseX < AUTO_SCROLL_AREA) {\n velocity.x = AUTO_SCROLL_AREA - (rect.right - mouseX);\n }\n if (mouseY - rect.top < AUTO_SCROLL_AREA) {\n velocity.y = -(AUTO_SCROLL_AREA - (mouseY - rect.top));\n }\n else if (rect.bottom - mouseY < AUTO_SCROLL_AREA) {\n velocity.y = AUTO_SCROLL_AREA - (rect.bottom - mouseY);\n }\n return velocity;\n};\n/** @hidden */\nexport var scrollableViewPort = function (el, window) {\n var root = scrollableRoot(el);\n if (el === root) {\n return {\n top: root.scrollTop,\n left: root.scrollLeft,\n bottom: root.scrollTop + window.innerHeight,\n right: root.scrollLeft + window.innerWidth\n };\n }\n else {\n var rect = el.getBoundingClientRect();\n return {\n bottom: rect.top + rect.height,\n right: rect.left + rect.width,\n left: rect.left,\n top: rect.top\n };\n }\n};\n/** @hidden */\nexport var isPointerInsideContainer = function (x, y, container) {\n var rect = container.getBoundingClientRect();\n return (rect.top <= y &&\n rect.left <= x &&\n y <= rect.bottom &&\n x <= rect.right);\n};\n","import { scrollableRoot } from './utils';\n/** @hidden */\nexport var autoScroll = function (scrollableParent, vel) {\n if (!scrollableParent) {\n return;\n }\n var yIsScrollable;\n var xIsScrollable;\n var isRootNode = scrollableParent === scrollableRoot(scrollableParent);\n if (isRootNode) {\n yIsScrollable = document.body.scrollHeight > window.innerHeight;\n xIsScrollable = document.body.scrollWidth > window.innerWidth;\n }\n else {\n yIsScrollable = scrollableParent.offsetHeight <= scrollableParent.scrollHeight;\n xIsScrollable = scrollableParent.offsetWidth <= scrollableParent.scrollWidth;\n }\n var yDelta = scrollableParent.scrollTop + vel.y;\n var yInBounds = yIsScrollable && yDelta > 0 && yDelta < scrollableParent.scrollHeight;\n var xDelta = scrollableParent.scrollLeft + vel.x;\n var xInBounds = xIsScrollable && xDelta > 0 && xDelta < scrollableParent.scrollWidth;\n if (yInBounds) {\n scrollableParent.scrollTop += vel.y;\n }\n else if (yIsScrollable && yDelta < 0) {\n scrollableParent.scrollTop = 0;\n }\n if (xInBounds) {\n scrollableParent.scrollLeft += vel.x;\n }\n else if (xIsScrollable && xDelta < 0) {\n scrollableParent.scrollLeft = 0;\n }\n};\n","export default {\n \"bottom\": \"bottom\",\n \"center\": \"center\",\n \"middle\": \"middle\",\n \"left\": \"left\",\n \"right\": \"right\",\n \"top\": \"top\"\n};\n","export default {\n \"fit\": \"fit\",\n \"flip\": \"flip\",\n \"none\": \"none\"\n};\n","/**\n * @hidden\n */\nexport var classNames = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var result = {};\n var addLeafKeys = function (arg) { return typeof arg === 'object' ? Object\n .keys(arg)\n .forEach(function (key) {\n result[key] = arg[key];\n }) : result[arg] = true; };\n ;\n var addKeys = function (list) { return list\n .filter(function (arg) { return arg !== true && !!arg; })\n .map(function (arg) {\n return Array.isArray(arg) ?\n addKeys(arg) :\n addLeafKeys(arg);\n }); };\n ;\n addKeys(args);\n return Object\n .keys(result)\n .map(function (key) { return (result[key] && key) || null; })\n .filter(function (el) { return el !== null; })\n .join(' ');\n};\n","import * as licensing from '@progress/kendo-licensing';\n/**\n * @hidden\n */\nexport function validatePackage(packageMetadata) {\n if (typeof licensing !== 'undefined') {\n licensing.validatePackage(packageMetadata);\n }\n else {\n var message = \"License activation failed for \".concat(packageMetadata.name, \"\\n\");\n message += 'The @progress/kendo-licensing script is not loaded.\\n';\n message += \"See \".concat(packageMetadata.licensingDocsUrl, \" for more information.\\n\");\n console.warn(message);\n }\n}\n","import * as React from 'react';\nimport { GlobalizationContext } from '../globalization/GlobalizationContext';\n/**\n * A custom [React Hook](https://reactjs.org/docs/hooks-intro.html) providing access to an [IntlService]({% slug api_intl_intlservice %}).\n */\nexport var useInternationalization = function () { return React.useContext(GlobalizationContext).intl; };\n","import * as React from 'react';\nimport { GlobalizationContext } from '../globalization/GlobalizationContext';\n/**\n * A custom [React Hook](https://reactjs.org/docs/hooks-intro.html) providing access to an [LocalizationService]({% slug api_intl_localizationservice %}).\n */\nexport var useLocalization = function () { return React.useContext(GlobalizationContext).localization; };\n","import { IntlService } from './Intl/IntlService';\nimport { LocalizationService } from './Localization/LocalizationService';\nimport { GlobalizationContext } from './globalization/GlobalizationContext';\n/* eslint-disable max-len */\n/**\n * Provides an internationalization service. When the passed component is a direct or indirect child of `IntlProvider`, the returned service uses the locale of the provider. Otherwise, uses `en` as a default locale. To handle locale changes, call the method on each `render`.\n *\n * @param componentClass - The React component class that will use the internationalization service.\n */\nexport function provideIntlService(component) {\n if (!component && process.env.NODE_ENV !== 'production') {\n throw \"Passed component - \".concat(component, \" is invalid.\");\n }\n var context = component.context;\n return context && context.intl\n ? context.intl\n : new IntlService('en');\n}\n/**\n * Provides a localization service. When the passed component is a direct or indirect child of `LocalizationProvider`, the returned service uses the language of the provider. To handle locale changes, call the method on each `render`.\n *\n * @param componentClass - The React component class that will use the internationalization service.\n */\nexport function provideLocalizationService(component) {\n if (!component && process.env.NODE_ENV !== 'production') {\n throw \"Passed component - \".concat(component, \" is invalid.\");\n }\n var context = component.context;\n return context && context.localization\n ? context.localization\n : new LocalizationService();\n}\n/**\n * A method which registers a component class or a functional stateless component for internationalization. When a component of that type is a direct or indirect child of `IntlProvider`, the locale of the provider is used. Otherwise, uses `en` as a default locale.\n *\n * @param component - The React component class that will use the internationalization methods.\n */\nexport function registerForIntl(component) {\n component.contextType = GlobalizationContext;\n}\n/**\n * A method which registers a component class or a stateless functional component for localization. When a component of that type is a direct or indirect child of `LocalizationProvider`, the language of the provider is used.\n *\n * @param component - The React component class that will use the internationalization methods.\n */\nexport function registerForLocalization(component) {\n component.contextType = GlobalizationContext;\n}\n// tslint:enable:max-line-length\n","/**\n * @hidden\n */\nexport var getActiveElement = function (document) {\n if (!document) {\n return undefined;\n }\n var activeElement = document.activeElement;\n var shadowRoot = activeElement === null || activeElement === void 0 ? void 0 : activeElement.shadowRoot;\n return shadowRoot ? shadowRoot.activeElement : activeElement;\n};\n","/**\n * @hidden\n */\nexport var classNames = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var result = {};\n var addLeafKeys = function (arg) { return typeof arg === 'object' ? Object\n .keys(arg)\n .forEach(function (key) {\n result[key] = arg[key];\n }) : result[arg] = true; };\n ;\n var addKeys = function (list) { return list\n .filter(function (arg) { return arg !== true && !!arg; })\n .map(function (arg) {\n return Array.isArray(arg) ?\n addKeys(arg) :\n addLeafKeys(arg);\n }); };\n ;\n addKeys(args);\n return Object\n .keys(result)\n .map(function (key) { return (result[key] && key) || null; })\n .filter(function (el) { return el !== null; })\n .join(' ');\n};\n","/**\n * @hidden\n */\nexport var SIZE_CLASSES = {\n 'default': '',\n 'xsmall': 'k-icon-xs',\n 'small': 'k-icon-sm',\n 'medium': 'k-icon-md',\n 'large': 'k-icon-lg',\n 'xlarge': 'k-icon-xl',\n 'xxlarge': 'k-icon-xxl',\n 'xxxlarge': 'k-icon-xxxl'\n};\n","import * as PropTypes from 'prop-types';\n/**\n * @hidden\n */\nexport var toIconName = function (iconClass) { return iconClass.replace(/^k-i-/, ''); };\n/**\n * @hidden\n */\nexport var toIconClass = function (name) { return 'k-i-' + name; };\n/**\n * @hidden\n */\nexport var svgIconPropType = PropTypes.shape({\n name: PropTypes.string.isRequired,\n content: PropTypes.string.isRequired,\n viewBox: PropTypes.string.isRequired\n});\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames } from '../classNames';\nimport { SIZE_CLASSES } from './constants';\nimport { toIconClass, useMouse } from '../main';\n/**\n * Represents the [KendoReact Icon component]({% slug overview_icon %}).\n *\n * @example\n * ```jsx\n * const App = () => {\n * return (\n * \n * );\n * };\n * ReactDOM.render(, document.querySelector('my-app'));\n * ```\n */\nexport var Icon = React.forwardRef(function (props, ref) {\n var className = props.className, name = props.name, themeColor = props.themeColor, size = props.size, flip = props.flip, style = props.style, id = props.id, tabIndex = props.tabIndex, others = __rest(props, [\"className\", \"name\", \"themeColor\", \"size\", \"flip\", \"style\", \"id\", \"tabIndex\"]);\n var target = React.useRef(null);\n var elementRef = React.useRef(null);\n React.useImperativeHandle(target, function () { return ({\n element: elementRef.current\n }); });\n React.useImperativeHandle(ref, function () { return target.current; });\n var sizeProp = React.useMemo(function () { return size || defaultProps.size; }, [size]);\n var flipProp = React.useMemo(function () { return flip || defaultProps.flip; }, [flip]);\n var fontClassNames = React.useMemo(function () {\n var _a;\n return classNames('k-icon', name && toIconClass(name), (_a = {},\n _a[\"k-color-\".concat(themeColor)] = themeColor,\n _a['k-flip-h'] = flipProp === 'horizontal' || flipProp === 'both',\n _a['k-flip-v'] = flipProp === 'vertical' || flipProp === 'both',\n _a), SIZE_CLASSES[sizeProp], className);\n }, [name, themeColor, sizeProp, flipProp, className]);\n var mouseProps = useMouse(props, target);\n return (React.createElement(\"span\", __assign({ ref: elementRef }, others, mouseProps, { className: fontClassNames, id: id, tabIndex: tabIndex, style: style, role: \"presentation\" })));\n});\nIcon.propTypes = {\n style: PropTypes.object,\n classNames: PropTypes.string,\n name: PropTypes.string,\n themeColor: PropTypes.oneOf([\n 'inherit', 'primary', 'secondary', 'tertiary',\n 'info', 'success', 'error', 'warning',\n 'dark', 'light', 'inverse'\n ]),\n size: PropTypes.oneOf(['default', 'xsmall', 'small', 'medium', 'large', 'xlarge', 'xxlarge', 'xxxlarge']),\n flip: PropTypes.oneOf(['default', 'horizontal', 'vertical', 'both'])\n};\nvar defaultProps = {\n size: 'default',\n flip: 'default'\n};\nIcon.displayName = 'KendoIcon';\n","import * as React from 'react';\n/**\n * @hidden\n */\nexport var useMouse = function (props, target, extend) {\n if (extend === void 0) { extend = {}; }\n var handleMouseDown = React.useCallback(function (event) {\n if (extend.onMouseDown) {\n extend.onMouseDown.call(undefined, event);\n }\n if (props.onMouseDown) {\n props.onMouseDown.call(undefined, {\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [extend.onMouseDown, props.onMouseDown, target]);\n var handleMouseUp = React.useCallback(function (event) {\n if (extend.onMouseUp) {\n extend.onMouseUp.call(undefined, event);\n }\n if (props.onMouseUp) {\n props.onMouseUp.call(undefined, {\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [extend.onMouseUp, props.onMouseUp, target]);\n var handleClick = React.useCallback(function (event) {\n if (extend.onClick) {\n extend.onClick.call(undefined, event);\n }\n if (props.onClick) {\n props.onClick.call(undefined, {\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [extend.onClick, props.onClick, target]);\n var handleDoubleClick = React.useCallback(function (event) {\n if (extend.onDoubleClick) {\n extend.onDoubleClick.call(undefined, event);\n }\n if (props.onDoubleClick) {\n props.onDoubleClick.call(undefined, {\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [extend.onDoubleClick, props.onDoubleClick, target]);\n var handleMouseEnter = React.useCallback(function (event) {\n if (extend.onMouseEnter) {\n extend.onMouseEnter.call(undefined, event);\n }\n if (props.onMouseEnter) {\n props.onMouseEnter.call(undefined, {\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [extend.onMouseEnter, props.onMouseEnter, target]);\n var handleMouseLeave = React.useCallback(function (event) {\n if (extend.onMouseLeave) {\n extend.onMouseLeave.call(undefined, event);\n }\n if (props.onMouseLeave) {\n props.onMouseLeave.call(undefined, {\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [extend.onMouseLeave, props.onMouseLeave, target]);\n var handelMouseMove = React.useCallback(function (event) {\n if (extend.onMouseMove) {\n extend.onMouseMove.call(undefined, event);\n }\n if (props.onMouseMove) {\n props.onMouseMove.call(undefined, {\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [extend.onMouseMove, props.onMouseMove, target]);\n var handleMouseOut = React.useCallback(function (event) {\n if (extend.onMouseOut) {\n extend.onMouseOut.call(undefined, event);\n }\n if (props.onMouseOut) {\n props.onMouseOut.call(undefined, {\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [extend.onMouseOut, props.onMouseOut, target]);\n var handleMouseOver = React.useCallback(function (event) {\n if (extend.onMouseOver) {\n extend.onMouseOver.call(undefined, event);\n }\n if (props.onMouseOver) {\n props.onMouseOver.call(undefined, {\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [extend.onMouseOver, props.onMouseOver, target]);\n return {\n onClick: handleClick,\n onMouseUp: handleMouseUp,\n onMouseDown: handleMouseDown,\n onDoubleClick: handleDoubleClick,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n onMouseMove: handelMouseMove,\n onMouseOut: handleMouseOut,\n onMouseOver: handleMouseOver\n };\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames } from '../classNames';\nimport { SIZE_CLASSES } from './constants';\n/**\n * Represents the [KendoReact SvgIcon component]({% slug overview_svgicon %}).\n *\n * @example\n * ```jsx\n * import { accessibility } from '@progress/kendo-svg-icons';\n *\n * const App = () => {\n * return (\n * \n * );\n * };\n * ReactDOM.render(, document.querySelector('my-app'));\n * ```\n */\nexport var SvgIcon = React.forwardRef(function (props, ref) {\n var children = props.children, className = props.className, svgClassName = props.svgClassName, icon = props.icon, flip = props.flip, id = props.id, tabIndex = props.tabIndex, size = props.size, style = props.style, svgStyle = props.svgStyle, themeColor = props.themeColor, viewBox = props.viewBox, name = props.name, others = __rest(props, [\"children\", \"className\", \"svgClassName\", \"icon\", \"flip\", \"id\", \"tabIndex\", \"size\", \"style\", \"svgStyle\", \"themeColor\", \"viewBox\", \"name\"]);\n var elementRef = React.useRef(null);\n React.useImperativeHandle(ref, function () { return ({\n element: elementRef.current\n }); });\n var iconNameProp = React.useMemo(function () { return icon ? icon.name : defaultProps.icon; }, [icon]);\n var sizeProp = React.useMemo(function () { return size || defaultProps.size; }, [size]);\n var flipProp = React.useMemo(function () { return flip || defaultProps.flip; }, [flip]);\n var viewBoxProp = React.useMemo(function () { return viewBox || defaultProps.viewBox; }, [viewBox]);\n var elementClassNames = React.useMemo(function () {\n var _a;\n return classNames('k-svg-icon', 'k-svg-i-' + iconNameProp, (_a = {},\n _a[\"k-color-\".concat(themeColor)] = themeColor,\n _a['k-flip-h'] = flipProp === 'horizontal' || flipProp === 'both',\n _a['k-flip-v'] = flipProp === 'vertical' || flipProp === 'both',\n _a), SIZE_CLASSES[sizeProp], className);\n }, [iconNameProp, themeColor, sizeProp, flipProp, className]);\n var elementStyle = React.useMemo(function () {\n if (props.width && props.height) {\n return __assign({ width: props.width, height: props.height }, style);\n }\n else if (props.width) {\n return __assign({ width: props.width, height: props.width }, style);\n }\n else if (props.height) {\n return __assign({ width: props.height, height: props.height }, style);\n }\n else {\n return __assign({}, style);\n }\n }, [props.width, props.height, style]);\n return (React.createElement(\"span\", { className: elementClassNames, style: elementStyle, ref: elementRef },\n React.createElement(\"svg\", __assign({ id: id, className: svgClassName, style: svgStyle, \"aria-hidden\": true, tabIndex: tabIndex, focusable: false, xmlns: \"http://www.w3.org/2000/svg\", viewBox: icon ? icon.viewBox : viewBoxProp, dangerouslySetInnerHTML: icon ? { __html: icon.content } : undefined }, others), icon ? undefined : children)));\n});\nSvgIcon.propTypes = {\n style: PropTypes.object,\n classNames: PropTypes.string,\n children: PropTypes.any,\n icon: PropTypes.object,\n themeColor: PropTypes.oneOf([\n 'inherit', 'primary', 'secondary', 'tertiary',\n 'info', 'success', 'error', 'warning',\n 'dark', 'light', 'inverse'\n ]),\n size: PropTypes.oneOf(['default', 'xsmall', 'small', 'medium', 'large', 'xlarge', 'xxlarge', 'xxxlarge']),\n flip: PropTypes.oneOf(['default', 'horizontal', 'vertical', 'both'])\n};\nvar defaultProps = {\n size: 'default',\n flip: 'default',\n icon: '',\n viewBox: '0 0 24 24'\n};\nSvgIcon.displayName = 'KendoSvgIcon';\n","import * as React from 'react';\n;\n/**\n * Represents a React Context which provides you with the option to configure the KendoReact components icons.\n */\nexport var IconsContext = React.createContext({ type: 'svg' });\nIconsContext.displayName = 'KendoReactIconsContext';\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { Icon } from './Icon';\nimport { SvgIcon } from './SvgIcon';\nimport { IconsContext } from './IconsContext';\n/**\n * @hidden\n */\nexport var IconWrap = React.forwardRef(function (props, ref) {\n var _a;\n var _b = React.useContext(IconsContext), type = _b.type, icons = _b.icons;\n var icon = props.icon, fontIconProps = __rest(props, [\"icon\"]);\n var name = ((_a = props.icon) === null || _a === void 0 ? void 0 : _a.name) || props.name;\n var svg = (name && icons && icons[name] && typeof icons[name] !== 'string') ? icons[name] : icon;\n name = (name && icons && icons[name] && typeof icons[name] === 'string') ? icons[name] : name;\n return (type === 'svg' && svg) ?\n React.createElement(SvgIcon, __assign({}, props, { icon: svg, ref: ref })) :\n React.createElement(Icon, __assign({}, fontIconProps, { name: name, ref: ref }));\n});\nIconWrap.displayName = 'KendoIconWrap';\n","/**\n * @hidden\n */\nexport var EMPTY_ID = '';\n/**\n * @hidden\n */\nexport var ZERO_LEVEL_ZERO_ITEM_ID = '0';\n/**\n * @hidden\n */\nexport var SEPARATOR = '_';\n/**\n * @hidden\n */\nexport function getItemById(itemId, items) {\n if (isIdZeroLevel(itemId)) {\n return items[Number(itemId)];\n }\n else {\n var rootParentItem = items[Number(getRootParentId(itemId))];\n return rootParentItem.items ?\n getItemById(getIdWithoutRootParentId(itemId), rootParentItem.items) : undefined;\n }\n}\n/**\n * @hidden\n */\nexport function getRootParentId(itemId) {\n return isIdEmptyOrZeroLevel(itemId) ? itemId : itemId.split(SEPARATOR)[0];\n}\n/**\n * @hidden\n */\nexport function getIdWithoutRootParentId(itemId) {\n if (isIdEmptyOrZeroLevel(itemId)) {\n return itemId;\n }\n else {\n var firstSeparatorIndex = itemId.indexOf(SEPARATOR);\n return itemId.substring(firstSeparatorIndex + 1);\n }\n}\n/**\n * @hidden\n */\nexport function getFirstChildId(itemId) {\n return createId('0', itemId);\n}\n/**\n * @hidden\n */\nexport function shouldOpenItem(itemId, lastItemIdToBeOpened) {\n if (lastItemIdToBeOpened.indexOf(itemId) === 0) {\n return lastItemIdToBeOpened.length === itemId.length ||\n lastItemIdToBeOpened.charAt(itemId.length) === SEPARATOR;\n }\n else {\n return false;\n }\n}\n/**\n * @hidden\n */\nexport function createId(childId, parentId) {\n return parentId ? parentId + SEPARATOR + childId : childId;\n}\n/**\n * @hidden\n */\nexport function getDirectParentId(itemId) {\n var lastSeparatorIndex = itemId.lastIndexOf(SEPARATOR);\n return lastSeparatorIndex < 0 ? EMPTY_ID : itemId.substring(0, lastSeparatorIndex);\n}\n/**\n * @hidden\n */\nexport function isIdEmptyOrZeroLevel(itemId) {\n return itemId === EMPTY_ID || itemId.indexOf(SEPARATOR) < 0;\n}\n/**\n * @hidden\n */\nexport function isIdZeroLevel(itemId) {\n return itemId !== EMPTY_ID && itemId.indexOf(SEPARATOR) < 0;\n}\n/**\n * @hidden\n */\nexport function isIdFirstLevel(itemId) {\n return getSeparatorOccurances(itemId) === 1;\n}\n/**\n * @hidden\n */\nexport function isFirstItemFromSiblings(itemId) {\n return getShortId(itemId) === ZERO_LEVEL_ZERO_ITEM_ID;\n}\n/**\n * @hidden\n */\nexport function getShortId(itemId) {\n var lastSeparatorIndex = itemId.lastIndexOf(SEPARATOR);\n return lastSeparatorIndex < 0 ? itemId : itemId.substring(lastSeparatorIndex + 1);\n}\n/**\n * @hidden\n */\nexport function getDirectSiblingIdForLevelZero(next, shortItemId, siblingsCount) {\n if (!isIdZeroLevel(shortItemId)) {\n return shortItemId;\n }\n return next ?\n Number(shortItemId) < siblingsCount - 1 ? (Number(shortItemId) + 1).toString() : '0' :\n Number(shortItemId) > 0 ? (Number(shortItemId) - 1).toString() : (siblingsCount - 1).toString();\n}\nfunction getSeparatorOccurances(itemId) {\n return itemId.split(SEPARATOR).length - 1;\n}\n","/**\n * @hidden\n */\nvar POPUP_ALIGN = {\n vertical: 'top',\n horizontal: 'left'\n};\n/**\n * @hidden\n */\nvar POPUP_ALIGN_RTL = {\n vertical: 'top',\n horizontal: 'right'\n};\n/**\n * @hidden\n */\nvar VERTICAL_COLLISION = {\n vertical: 'flip',\n horizontal: 'fit'\n};\n/**\n * @hidden\n */\nvar HORIZONTAL_COLLISION = {\n vertical: 'fit',\n horizontal: 'flip'\n};\n/**\n * @hidden\n */\nexport var POPUP_SETTINGS_RTL = {\n downward: {\n anchorAlign: {\n vertical: 'bottom',\n horizontal: 'right'\n },\n popupAlign: POPUP_ALIGN_RTL,\n collision: VERTICAL_COLLISION\n },\n leftward: {\n anchorAlign: {\n vertical: 'top',\n horizontal: 'left'\n },\n popupAlign: POPUP_ALIGN_RTL,\n collision: HORIZONTAL_COLLISION\n }\n};\n/**\n * @hidden\n */\nexport var POPUP_SETTINGS = {\n downward: {\n anchorAlign: {\n vertical: 'bottom',\n horizontal: 'left'\n },\n popupAlign: POPUP_ALIGN,\n collision: VERTICAL_COLLISION\n },\n rightward: {\n anchorAlign: {\n vertical: 'top',\n horizontal: 'right'\n },\n popupAlign: POPUP_ALIGN,\n collision: HORIZONTAL_COLLISION\n }\n};\n","import { POPUP_SETTINGS, POPUP_SETTINGS_RTL } from '../consts';\nimport { isIdZeroLevel } from './itemsIdsUtils';\n/**\n * @hidden\n */\nexport function getPopupSettings(itemId, isMenuVertical, isDirectionRightToLeft) {\n var childrenPosition = getChildrenPosition(itemId, isMenuVertical, isDirectionRightToLeft);\n if (isDirectionRightToLeft) {\n return childrenPosition === 'downward' ? POPUP_SETTINGS_RTL.downward : POPUP_SETTINGS_RTL.leftward;\n }\n else {\n return childrenPosition === 'downward' ? POPUP_SETTINGS.downward : POPUP_SETTINGS.rightward;\n }\n}\n/**\n * @hidden\n */\nexport function getChildrenPosition(itemId, isMenuVertical, isDirectionRightToLeft) {\n if (isIdZeroLevel(itemId)) {\n if (isMenuVertical) {\n return isDirectionRightToLeft ? 'leftward' : 'rightward';\n }\n else {\n return 'downward';\n }\n }\n else {\n return isDirectionRightToLeft ? 'leftward' : 'rightward';\n }\n}\n/**\n * @hidden\n */\nexport function convertBoolDirectionToString(isDirectionRightToLeft) {\n return isDirectionRightToLeft ? 'rtl' : 'ltr';\n}\n/**\n * @hidden\n */\nexport function getDOMElementId(menuGuid, itemId) {\n return \"\".concat(menuGuid, \"_\").concat(itemId);\n}\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames } from '@progress/kendo-react-common';\nvar MenuItemLink = /** @class */ (function (_super) {\n __extends(MenuItemLink, _super);\n function MenuItemLink() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @hidden\n */\n MenuItemLink.prototype.render = function () {\n if (this.props.url) {\n return (React.createElement(\"a\", { className: this.getMenuItemClassName(), role: \"presentation\", href: this.props.url, tabIndex: -1 }, this.props.children));\n }\n else {\n return (React.createElement(\"span\", { id: this.props.id, className: classNames(this.getMenuItemClassName(), this.props.className), style: this.props.style, role: \"presentation\" }, this.props.children));\n }\n };\n MenuItemLink.prototype.getMenuItemClassName = function () {\n return classNames('k-link', 'k-menu-link', {\n 'k-active': this.props.opened\n });\n };\n /**\n * @hidden\n */\n MenuItemLink.propTypes = {\n opened: PropTypes.bool,\n url: PropTypes.string\n };\n return MenuItemLink;\n}(React.Component));\nexport { MenuItemLink };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { IconWrap } from '@progress/kendo-react-common';\nimport { caretAltDownIcon, caretAltRightIcon, caretAltLeftIcon } from '@progress/kendo-svg-icons';\nimport { getChildrenPosition } from '../utils/misc';\n/**\n * @hidden\n */\nexport var downArrowName = 'caret-alt-down';\n/**\n * @hidden\n */\nexport var rightArrowName = 'caret-alt-right';\n/**\n * @hidden\n */\nexport var leftArrowName = 'caret-alt-left';\nvar MenuItemArrow = /** @class */ (function (_super) {\n __extends(MenuItemArrow, _super);\n function MenuItemArrow() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @hidden\n */\n MenuItemArrow.prototype.render = function () {\n return React.createElement(IconWrap, __assign({ \"aria-hidden\": true, className: 'k-menu-expand-arrow' }, this.getIcon()));\n };\n MenuItemArrow.prototype.getIcon = function () {\n var childrenPosition = getChildrenPosition(this.props.itemId, this.props.verticalMenu === true, this.props.dir === 'rtl');\n switch (childrenPosition) {\n case 'downward':\n return { name: downArrowName, icon: caretAltDownIcon };\n case 'rightward':\n return { name: rightArrowName, icon: caretAltRightIcon };\n case 'leftward':\n return { name: leftArrowName, icon: caretAltLeftIcon };\n default:\n return {};\n }\n };\n /**\n * @hidden\n */\n MenuItemArrow.propTypes = {\n itemId: PropTypes.string,\n dir: PropTypes.string,\n verticalMenu: PropTypes.bool\n };\n return MenuItemArrow;\n}(React.Component));\nexport { MenuItemArrow };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport * as React from 'react';\nimport { classNames, getActiveElement, IconWrap } from '@progress/kendo-react-common';\nimport { Popup } from '@progress/kendo-react-popup';\nimport { shouldOpenItem, isFirstItemFromSiblings } from '../utils/itemsIdsUtils';\nimport { getPopupSettings, convertBoolDirectionToString, getDOMElementId } from '../utils/misc';\nimport { MenuItemLink } from './MenuItemLink';\nimport { MenuItemInternalsList } from './MenuItemInternalsList';\nimport { MenuItemArrow } from './MenuItemArrow';\n/**\n * @hidden\n */\nvar MenuItemInternal = /** @class */ (function (_super) {\n __extends(MenuItemInternal, _super);\n function MenuItemInternal(props) {\n var _this = _super.call(this, props) || this;\n _this.isFirstRender = true;\n _this.onMouseOver = function (event) {\n _this.props.onMouseOver(_this.props.item.id);\n event.stopPropagation();\n };\n _this.onMouseLeave = function (event) {\n _this.props.onMouseLeave(_this.props.item.id);\n event.stopPropagation();\n };\n _this.state = { opened: false };\n return _this;\n }\n MenuItemInternal.prototype.componentDidMount = function () {\n var focusedItemId = this.props.focusedItemId;\n var currentItemId = this.props.item.id;\n // If the menu item component has been just mounted due to\n // keyboard navigation and it is the selected one.\n if (focusedItemId && focusedItemId === currentItemId) {\n this.itemElement.focus();\n }\n this.isFirstRender = false;\n };\n MenuItemInternal.prototype.componentDidUpdate = function (prevProps) {\n var focusedItemId = this.props.focusedItemId;\n var currentItemId = this.props.item.id;\n if (focusedItemId) {\n var activeElement = getActiveElement(document);\n // If the item has been navigated to via the keyboard navigation\n // (Clicking and focusing an item also come here).\n if (prevProps.focusedItemId !== focusedItemId\n && focusedItemId === currentItemId\n // https://github.com/telerik/kendo-react/issues/216 :\n // No need to focus the wrapping menu item DOM element\n // when a child DOM element was clicked.\n && !this.itemElement.contains(activeElement)) {\n this.itemElement.focus();\n }\n }\n };\n MenuItemInternal.prototype.render = function () {\n var _this = this;\n var item = this.props.item;\n var itemId = item.id;\n var menuItemId = getDOMElementId(this.props.menuGuid, itemId);\n return (React.createElement(React.Fragment, null,\n React.createElement(\"li\", { id: getDOMElementId(this.props.menuGuid, itemId), className: this.getMenuItemClassName(item), style: item.cssStyle, tabIndex: itemId === this.props.tabbableItemId ? 0 : -1, onMouseOver: this.onMouseOver, onMouseLeave: this.onMouseLeave, onMouseDown: function (event) { return _this.props.onMouseDown(event); }, onBlur: function (e) { return _this.props.onBlur(itemId, e); }, onFocus: function () { return _this.props.onFocus(itemId); }, onClick: function (event) { return _this.props.onClick(event, itemId); }, role: \"menuitem\", \"aria-disabled\": item.disabled ? true : undefined, \"aria-haspopup\": item.items.length > 0 ? true : undefined, \"aria-expanded\": item.items.length > 0 ? this.Opened : undefined, \"aria-label\": item.text, \"aria-owns\": this.Opened ? menuItemId : undefined, ref: function (el) { return _this.itemElement = el; }, key: \"0\" }, this.contentRender ? this.renderContent() : this.renderMenuItemLink()),\n this.renderPopupIfOpened()));\n };\n MenuItemInternal.prototype.renderContent = function () {\n var itemId = this.props.item.contentParentItemId;\n return (React.createElement(\"div\", { className: \"k-content\", role: \"presentation\" },\n React.createElement(this.contentRender, { item: this.props.onOriginalItemNeeded(itemId), itemId: itemId })));\n };\n MenuItemInternal.prototype.renderMenuItemLink = function () {\n var item = this.props.item;\n if (this.linkRender) {\n return (React.createElement(this.linkRender, { item: this.props.onOriginalItemNeeded(item.id), itemId: item.id, opened: this.Opened, dir: convertBoolDirectionToString(this.props.isDirectionRightToLeft) }));\n }\n else {\n var textOrItemRender = this.itemRender ?\n React.createElement(this.itemRender, { item: this.props.onOriginalItemNeeded(item.id), itemId: item.id, key: \"1\" }) :\n React.createElement(\"span\", { className: \"k-menu-link-text\" }, item.text);\n return (React.createElement(MenuItemLink, { url: item.url, opened: this.Opened },\n this.renderMenuIconIfApplicable(),\n textOrItemRender,\n this.renderArrowIfApplicable()));\n }\n };\n MenuItemInternal.prototype.renderPopupIfOpened = function () {\n if (this.Opened) {\n var itemId = this.props.item.id;\n var _a = getPopupSettings(itemId, this.props.isMenuVertical, this.props.isDirectionRightToLeft), anchorAlign = _a.anchorAlign, popupAlign = _a.popupAlign, collision = _a.collision;\n return (React.createElement(Popup, { anchor: this.itemElement, show: true, popupClass: this.getPopupClassName(), anchorAlign: anchorAlign, popupAlign: popupAlign, collision: collision, animate: false, key: \"1\" },\n React.createElement(MenuItemInternalsList, { parentItemId: itemId, items: this.props.item.items, menuGuid: this.props.menuGuid, focusedItemId: this.props.focusedItemId, lastItemIdToBeOpened: this.props.lastItemIdToBeOpened, tabbableItemId: this.props.tabbableItemId, itemRender: this.props.itemRender, linkRender: this.props.linkRender, isMenuVertical: this.props.isMenuVertical, isDirectionRightToLeft: this.props.isDirectionRightToLeft, className: \"k-group k-menu-group k-reset k-menu-group-md\", onMouseOver: this.props.onMouseOver, onMouseLeave: this.props.onMouseLeave, onMouseDown: this.props.onMouseDown, onBlur: this.props.onBlur, onFocus: this.props.onFocus, onClick: this.props.onClick, onOriginalItemNeeded: this.props.onOriginalItemNeeded })));\n }\n else {\n return null;\n }\n };\n MenuItemInternal.prototype.renderMenuIconIfApplicable = function () {\n var _a = this.props.item, icon = _a.icon, svgIcon = _a.svgIcon;\n return icon || svgIcon ?\n React.createElement(IconWrap, { name: icon, icon: svgIcon, key: \"0\" }) : null;\n };\n MenuItemInternal.prototype.renderArrowIfApplicable = function () {\n return this.props.item.items.length > 0 ?\n (React.createElement(MenuItemArrow, { itemId: this.props.item.id, verticalMenu: this.props.isMenuVertical, dir: convertBoolDirectionToString(this.props.isDirectionRightToLeft), key: \"2\" })) : null;\n };\n Object.defineProperty(MenuItemInternal.prototype, \"itemRender\", {\n get: function () {\n return this.props.item.render || this.props.itemRender;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MenuItemInternal.prototype, \"linkRender\", {\n get: function () {\n return this.props.item.linkRender || this.props.linkRender;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MenuItemInternal.prototype, \"contentRender\", {\n get: function () {\n return this.props.item.contentParentItemId ? this.props.item.contentRender : null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MenuItemInternal.prototype, \"Opened\", {\n get: function () {\n var props = this.props;\n return props.item.items.length > 0 &&\n shouldOpenItem(props.item.id, props.lastItemIdToBeOpened) &&\n // HACK: Wait for the second render because otherwise the scenario of\n // popup inside popup throws an error (for example, hover of item with id '0_0').\n !this.isFirstRender;\n },\n enumerable: false,\n configurable: true\n });\n MenuItemInternal.prototype.getPopupClassName = function () {\n return classNames('k-menu-popup', { 'k-rtl': this.props.isDirectionRightToLeft });\n };\n MenuItemInternal.prototype.getMenuItemClassName = function (item) {\n return classNames('k-item', 'k-menu-item', {\n 'k-first': isFirstItemFromSiblings(item.id),\n 'k-last': item.isLastFromSiblings,\n 'k-disabled': item.disabled\n }, item.cssClass);\n };\n return MenuItemInternal;\n}(React.Component));\nexport { MenuItemInternal };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport * as React from 'react';\nimport { MenuItemInternal } from './MenuItemInternal';\nimport { getDOMElementId } from './../utils/misc';\n/**\n * @hidden\n */\nvar MenuItemInternalsList = /** @class */ (function (_super) {\n __extends(MenuItemInternalsList, _super);\n function MenuItemInternalsList() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.onMouseOver = function (event) {\n _this.props.onMouseOver(_this.props.parentItemId);\n event.stopPropagation();\n };\n _this.onMouseLeave = function (event) {\n _this.props.onMouseLeave(_this.props.parentItemId);\n event.stopPropagation();\n };\n return _this;\n }\n MenuItemInternalsList.prototype.render = function () {\n var parentItemId = this.props.parentItemId;\n return (React.createElement(\"ul\", { className: this.props.className, role: this.props.role ? this.props.role : (parentItemId !== undefined ? 'menu' : 'menubar'), id: parentItemId !== undefined ? getDOMElementId(this.props.menuGuid, parentItemId) : undefined, onMouseOver: parentItemId !== undefined ? this.onMouseOver : undefined, onMouseLeave: parentItemId !== undefined ? this.onMouseLeave : undefined, \"aria-orientation\": this.props['aria-orientation'] }, this.renderChildItems()));\n };\n MenuItemInternalsList.prototype.renderChildItems = function () {\n var _this = this;\n return this.props.items.length > 0 ? (this.props.items.map(function (item, index) {\n return (React.createElement(MenuItemInternal, { item: item, isMenuVertical: _this.props.isMenuVertical, isDirectionRightToLeft: _this.props.isDirectionRightToLeft, focusedItemId: _this.props.focusedItemId, lastItemIdToBeOpened: _this.props.lastItemIdToBeOpened, tabbableItemId: _this.props.tabbableItemId, itemRender: _this.props.itemRender, linkRender: _this.props.linkRender, menuGuid: _this.props.menuGuid, onMouseOver: _this.props.onMouseOver, onMouseLeave: _this.props.onMouseLeave, onMouseDown: _this.props.onMouseDown, onBlur: _this.props.onBlur, onFocus: _this.props.onFocus, onClick: _this.props.onClick, onOriginalItemNeeded: _this.props.onOriginalItemNeeded, key: index }));\n })) : null;\n };\n return MenuItemInternalsList;\n}(React.Component));\nexport { MenuItemInternalsList };\n","/**\n * @hidden\n */\nexport var Keys = {\n backspace: 8,\n tab: 9,\n enter: 13,\n shift: 16,\n esc: 27,\n space: 32,\n pageUp: 33,\n pageDown: 34,\n end: 35,\n home: 36,\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n delete: 46\n};\n","/**\n * @hidden\n */\nexport var noop = function () { };\n","import * as React from 'react';\n/**\n * @hidden\n */\nexport var useInheritedState = function (context, defaultValue) {\n var _a = React.useContext(context), contextValue = _a[0], contextSetter = _a[1];\n var _b = React.useState(defaultValue), localValue = _b[0], localSetter = _b[1];\n var value = contextValue !== undefined ? contextValue : localValue;\n var handleValueChange = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n contextValue !== undefined\n ? contextSetter.apply(void 0, args) : localSetter(args[0]);\n };\n return [\n value,\n handleValueChange\n ];\n};\n","import * as React from 'react';\nimport { noop } from '../../noop';\n/**\n * @hidden\n */\nexport var DragContext = React.createContext([\n undefined,\n noop\n]);\n/**\n * @hidden\n */\nexport var DropContext = React.createContext([\n undefined,\n noop\n]);\n/**\n * @hidden\n */\nexport var DragsContext = React.createContext([[], noop, noop]);\n/**\n * @hidden\n */\nexport var DropsContext = React.createContext([[], noop, noop]);\n","import * as React from 'react';\nimport { useDraggable } from './hooks';\n/**\n * Represents the KendoReact Draggable component.\n *\n * Accepts properties of type [DraggableProps]({% slug api_common_draggableprops %}),\n * and returns an object of type [DraggableHandle]({% slug api_common_draggablehandle %}) when the `ref` is obtained.\n */\nexport var Draggable = React.forwardRef(function (props, ref) {\n var childRef = React.useRef(null);\n var target = React.useRef(null);\n var getElement = React.useCallback(function () { return childRef.current && childRef.current.element\n ? childRef.current.element\n : childRef.current; }, [childRef]);\n React.useImperativeHandle(target, function () { return ({ element: getElement() || null }); });\n React.useImperativeHandle(ref, function () { return target.current; });\n React.useImperativeHandle(props.childRef, function () { return childRef.current; });\n var handlePress = React.useCallback(function (event) {\n if (!props.onPress) {\n return;\n }\n props.onPress({\n element: getElement(),\n target: target.current,\n event: event\n });\n }, [getElement, props.onPress]);\n var handleRelease = React.useCallback(function (event) {\n if (!props.onRelease) {\n return;\n }\n props.onRelease({\n element: getElement(),\n target: target.current,\n event: event\n });\n }, [getElement, props.onRelease]);\n var handleDragStart = React.useCallback(function (event) {\n if (!props.onDragStart) {\n return;\n }\n props.onDragStart({\n element: getElement(),\n target: target.current,\n event: event\n });\n }, [props, getElement]);\n var handleDrag = React.useCallback(function (event) {\n if (!props.onDrag) {\n return;\n }\n props.onDrag({\n element: getElement(),\n target: target.current,\n event: event\n });\n }, [getElement, props.onDrag]);\n var handleDragEnd = React.useCallback(function (event) {\n if (!props.onDragEnd) {\n return;\n }\n props.onDragEnd({\n element: getElement(),\n target: target.current,\n event: event\n });\n }, [getElement, props.onDragEnd]);\n useDraggable(childRef, {\n onPress: handlePress,\n onRelease: handleRelease,\n onDragStart: handleDragStart,\n onDrag: handleDrag,\n onDragEnd: handleDragEnd\n }, {\n mouseOnly: props.mouseOnly,\n autoScroll: props.autoScroll,\n hint: props.hint,\n scrollContainer: props.scrollContainer\n });\n return props.children\n ? (React.cloneElement(React.Children.only(props.children), { ref: childRef }))\n : null;\n});\nDraggable.displayName = 'KendoReactDraggable';\n","import * as React from 'react';\nimport { dispatchDragAndDrop, autoScroll as autoScrollElement, getScrollableParent } from '@progress/kendo-draggable-common';\nimport { noop } from '../noop';\nimport { useInheritedState } from '../hooks/useInheritedState';\nimport { DragContext, DropContext, DragsContext, DropsContext } from '../drag-n-drop/context';\nvar IGNORE_MOUSE_TIMEOUT = 2000;\n/**\n * Represents the KendoReact `useDraggable` hook.\n * Use it to attach `drag` events to a native HTML DOM elements, or custom React Components.\n *\n * For more information, refer to the [KendoReact Draggable]({% slug draggable_drag-and-drop %}) article.\n *\n * @param ref - The `ref` of the HTML Element or React Component which will enable the `draggable` functionality.\n * @param callbacks - A collection of callbacks, called by the `useDraggable` hook when a specific action occurs.\n * @param options - Additional configuration of the `useDraggable` hook.\n */\nexport function useDraggable(ref, callbacks, options) {\n if (options === void 0) { options = {}; }\n var _a = callbacks.onPress, onPress = _a === void 0 ? noop : _a, _b = callbacks.onRelease, onRelease = _b === void 0 ? noop : _b, _c = callbacks.onDragStart, onDragStart = _c === void 0 ? noop : _c, _d = callbacks.onDrag, onDrag = _d === void 0 ? noop : _d, _e = callbacks.onDragEnd, onDragEnd = _e === void 0 ? noop : _e;\n var _f = options.hint, hint = _f === void 0 ? null : _f, _g = options.mouseOnly, mouseOnly = _g === void 0 ? false : _g, _h = options.autoScroll, autoScroll = _h === void 0 ? true : _h, _j = options.scrollContainer, scrollContainer = _j === void 0 ? null : _j;\n var _k = React.useState(false), pressed = _k[0], setPressed = _k[1];\n var _l = React.useState(false), scrolling = _l[0], setScrolling = _l[1];\n var drop = useInheritedState(DropContext)[0];\n var _m = useInheritedState(DragContext), drag = _m[0], setDrag = _m[1];\n var drops = React.useContext(DropsContext)[0];\n var _o = React.useContext(DragsContext), drags = _o[0], registerDrag = _o[1], deregisterDrag = _o[2];\n var velocity = React.useRef({ x: 0, y: 0 });\n var scrollInterval = React.useRef();\n var ignoreMouse = React.useRef(false);\n var restoreMouseTimeout = React.useRef();\n var scrollable = React.useRef(null);\n var unmount = React.useRef(false);\n var offset = React.useRef({ x: 0, y: 0 });\n var pageOffset = React.useRef({ x: 0, y: 0 });\n var clientOffset = React.useRef({ x: 0, y: 0 });\n var initialClientOffset = React.useRef({ x: 0, y: 0 });\n var scrollOffset = React.useRef({ x: 0, y: 0 });\n var initialScrollOffset = React.useRef({ x: 0, y: 0 });\n var supportPointerEvent = Boolean((typeof window !== 'undefined') && window.PointerEvent);\n var pointers = !mouseOnly && supportPointerEvent;\n var getElement = React.useCallback(function () { return ref.current && ref.current.element\n ? ref.current.element\n : ref.current; }, [ref]);\n var getHintElement = React.useCallback(function () { return hint && hint.current && hint.current.element\n ? hint.current.element\n : hint\n ? hint.current\n : null; }, [hint]);\n var getScrollContainer = React.useCallback(function () { return scrollContainer && scrollContainer.current && scrollContainer.current.element\n ? scrollContainer.current.element\n : scrollContainer\n ? scrollContainer.current\n : null; }, [scrollContainer]);\n var getAutoScrollContainer = React.useCallback(function () { return typeof autoScroll === 'object' && autoScroll.boundaryElementRef\n && autoScroll.boundaryElementRef.current && autoScroll.boundaryElementRef.current.element\n ? autoScroll.boundaryElementRef.current.element\n : typeof autoScroll === 'object' && autoScroll.boundaryElementRef && autoScroll.boundaryElementRef.current\n ? autoScroll.boundaryElementRef.current\n : null; }, [autoScroll]);\n var target = React.useRef(null);\n React.useImperativeHandle(target, function () { return ({\n element: getElement(),\n hint: getHintElement(),\n onPress: handlePress,\n onDragStart: handleDragStart,\n onDrag: handleDrag,\n onDragEnd: handleDragEnd,\n onRelease: handleRelease,\n data: ref.current\n }); });\n var getDocument = React.useCallback(function () {\n var element = getElement();\n return element ? element.ownerDocument || document : document;\n }, [getElement]);\n var getWindow = React.useCallback(function () {\n var document = getDocument();\n return document\n ? document.defaultView || window\n : window;\n }, [getDocument]);\n var getState = React.useCallback(function () { return ({\n drag: drag ? drag.current : null,\n drop: drop ? drop.current : null,\n drags: drags.map(function (d) { return d.current; }),\n drops: drops.map(function (d) { return d.current; }),\n pressed: pressed,\n ignoreMouse: ignoreMouse.current,\n scrollOffset: scrollOffset.current,\n offset: offset.current,\n pageOffset: pageOffset.current,\n initialScrollOffset: initialScrollOffset.current,\n clientOffset: clientOffset.current,\n initialClientOffset: initialClientOffset.current,\n velocity: velocity.current,\n autoScroll: Boolean(typeof autoScroll === 'object' ? autoScroll.enabled !== false : autoScroll),\n scrollableParent: getAutoScrollContainer(),\n autoScrollDirection: typeof autoScroll === 'object' ? autoScroll.direction : { horizontal: true, vertical: true },\n isScrolling: scrolling\n }); }, [drag, drop, drags, drops, pressed, autoScroll, getAutoScrollContainer, scrolling]);\n var handlePressedChange = React.useCallback(function (value) {\n setPressed(value);\n }, []);\n var handleScrollingChange = React.useCallback(function (value) {\n setScrolling(value);\n }, []);\n var handleVelocityChange = React.useCallback(function (value) {\n velocity.current = value;\n }, []);\n var handleOffsetChange = React.useCallback(function (value) {\n offset.current = value;\n }, []);\n var handleClientOffsetChange = React.useCallback(function (value) {\n clientOffset.current = value;\n }, []);\n var handlePageOffsetChange = React.useCallback(function (value) {\n pageOffset.current = value;\n }, []);\n var handleInitialClientOffsetChange = React.useCallback(function (value) {\n initialClientOffset.current = value;\n }, []);\n var handleScrollOffsetChange = React.useCallback(function (value) {\n scrollOffset.current = value;\n }, []);\n var handleInitialScrollOffsetChange = React.useCallback(function (value) {\n initialScrollOffset.current = value;\n }, []);\n // Drag Events\n var handlePress = React.useCallback(function (event) {\n onPress(event);\n }, [onPress]);\n var handleRelease = React.useCallback(function (event) {\n onRelease(event);\n }, [onRelease]);\n var handleDragStart = React.useCallback(function (event) {\n setDrag(target, { target: ref.current, event: event });\n onDragStart(event);\n }, [setDrag, ref, onDragStart]);\n var handleDrag = React.useCallback(function (event) {\n onDrag(event);\n }, [onDrag]);\n var handleDragEnd = React.useCallback(function (event) {\n if (unmount.current) {\n return;\n }\n setDrag(null, { target: ref.current, event: event });\n onDragEnd(event);\n }, [onDragEnd, setDrag, ref]);\n var dispatchDragEvent = React.useCallback(function (event) {\n dispatchDragAndDrop(getState(), { event: event, payload: target.current }, {\n onVelocityChange: handleVelocityChange,\n onOffsetChange: handleOffsetChange,\n onClientOffsetChange: handleClientOffsetChange,\n onPageOffsetChange: handlePageOffsetChange,\n onInitialClientOffsetChange: handleInitialClientOffsetChange,\n onScrollOffsetChange: handleScrollOffsetChange,\n onInitialScrollOffsetChange: handleInitialScrollOffsetChange,\n onIsPressedChange: handlePressedChange,\n onIsScrollingChange: handleScrollingChange\n });\n }, [\n getState,\n handleVelocityChange,\n handleOffsetChange,\n handlePageOffsetChange,\n handleClientOffsetChange,\n handleInitialClientOffsetChange,\n handleInitialScrollOffsetChange,\n handlePressedChange,\n handleScrollOffsetChange,\n handleScrollingChange\n ]);\n // Pointer Events\n var handlePointerDown = React.useCallback(function (event) {\n dispatchDragEvent(event);\n }, [dispatchDragEvent]);\n var handlePointerMove = React.useCallback(function (event) {\n dispatchDragEvent(event);\n }, [dispatchDragEvent]);\n var handlePointerCancel = React.useCallback(function (event) {\n dispatchDragEvent(event);\n }, [dispatchDragEvent]);\n var handlePointerUp = React.useCallback(function (event) {\n dispatchDragEvent(event);\n }, [dispatchDragEvent]);\n // Mouse Events\n var handleMouseDown = React.useCallback(function (event) {\n dispatchDragEvent(event);\n }, [dispatchDragEvent]);\n var handleMouseMove = React.useCallback(function (event) {\n dispatchDragEvent(event);\n }, [dispatchDragEvent]);\n var handleMouseUp = React.useCallback(function (event) {\n dispatchDragEvent(event);\n }, [dispatchDragEvent]);\n var handleContextMenu = React.useCallback(function (event) {\n event.preventDefault();\n dispatchDragEvent(event);\n }, [dispatchDragEvent]);\n // Touch Events\n var handleTouchStart = React.useCallback(function (event) {\n event.preventDefault();\n dispatchDragEvent(event);\n }, [dispatchDragEvent]);\n var handleTouchMove = React.useCallback(function (event) {\n event.preventDefault();\n dispatchDragEvent(event);\n }, [dispatchDragEvent]);\n var handleTouchEnd = React.useCallback(function (event) {\n if (event.touches.length === 0 && event.changedTouches.length === 1) {\n var currentWindow = getWindow();\n ignoreMouse.current = true;\n restoreMouseTimeout.current = currentWindow.setTimeout(function () { ignoreMouse.current = false; }, IGNORE_MOUSE_TIMEOUT);\n }\n dispatchDragEvent(event);\n }, [dispatchDragEvent, getWindow]);\n var handleScroll = React.useCallback(function (event) {\n dispatchDragEvent(event);\n }, [dispatchDragEvent]);\n // Misc\n var prerequisites = React.useCallback(function () {\n var element = getElement();\n if (element) {\n var initialTouchAction_1 = element.style.touchAction;\n element.style.touchAction = 'none';\n return function () {\n element.style.touchAction = initialTouchAction_1;\n };\n }\n }, [getElement]);\n var register = React.useCallback(function () {\n registerDrag(target);\n return function () {\n deregisterDrag(target);\n };\n }, [deregisterDrag, registerDrag]);\n var init = function () {\n var window = getWindow();\n var element = getElement();\n var document = getDocument();\n if (pointers) {\n if (element) {\n scrollable.current = getScrollableParent(element);\n if (scrollable.current) {\n scrollable.current.addEventListener('scroll', handleScroll, { passive: true });\n }\n element.addEventListener('pointerdown', handlePointerDown, { passive: true });\n }\n if (pressed) {\n document.addEventListener('pointermove', handlePointerMove);\n document.addEventListener('pointerup', handlePointerUp, true);\n document.addEventListener('contextmenu', handleContextMenu);\n document.addEventListener('pointercancel', handlePointerCancel, { passive: true });\n }\n }\n else {\n // Hacky-hacky iOS Safari\n window.addEventListener('touchmove', noop, { capture: false, passive: false });\n if (element) {\n element.addEventListener('mousedown', handleMouseDown, { passive: true });\n if (!mouseOnly) {\n element.addEventListener('touchstart', handleTouchStart, { passive: true });\n if (pressed) {\n element.addEventListener('touchmove', handleTouchMove, { passive: true });\n element.addEventListener('touchend', handleTouchEnd, { passive: true });\n }\n }\n }\n if (pressed) {\n document.addEventListener('mousemove', handleMouseMove, { passive: true });\n document.addEventListener('mouseup', handleMouseUp, { passive: true });\n }\n }\n return function () {\n if (scrollable.current) {\n scrollable.current.removeEventListener('scroll', handleScroll);\n }\n if (element) {\n element.removeEventListener('pointerdown', handlePointerDown);\n element.removeEventListener('mousedown', handleMouseDown);\n element.removeEventListener('touchstart', handleTouchStart);\n element.removeEventListener('touchmove', handleTouchMove);\n element.removeEventListener('touchend', handleTouchEnd);\n }\n document.removeEventListener('pointermove', handlePointerMove);\n document.removeEventListener('pointerup', handlePointerUp, true);\n document.removeEventListener('contextmenu', handleContextMenu);\n document.removeEventListener('pointercancel', handlePointerCancel);\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseup', handleMouseUp);\n window.removeEventListener('touchmove', noop);\n window.clearTimeout(restoreMouseTimeout.current);\n };\n };\n React.useEffect(function () {\n var window = getWindow();\n if (scrolling) {\n var scrollableParent_1 = getScrollContainer()\n || getScrollableParent(document.elementFromPoint(clientOffset.current.x, clientOffset.current.y));\n window.clearInterval(scrollInterval.current);\n scrollInterval.current = window.setInterval(function () {\n autoScrollElement(scrollableParent_1, { x: velocity.current.x, y: velocity.current.y });\n }, 50);\n }\n return function () {\n window.clearInterval(scrollInterval.current);\n };\n }, [getElement, getScrollContainer, getWindow, scrolling]);\n React.useEffect(prerequisites, [prerequisites]);\n React.useEffect(init, [\n pressed,\n getWindow,\n getElement,\n getDocument,\n mouseOnly,\n pointers,\n handleContextMenu,\n handleMouseDown,\n handleMouseMove,\n handleMouseUp,\n handlePointerCancel,\n handlePointerDown,\n handlePointerMove,\n handlePointerUp,\n handleTouchEnd,\n handleTouchMove,\n handleTouchStart,\n handleScroll\n ]);\n React.useEffect(function () {\n unmount.current = false;\n return function () {\n unmount.current = true;\n };\n }, []);\n React.useLayoutEffect(register, [register]);\n}\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport * as React from 'react';\nimport { classNames, Draggable, IconWrap, Keys } from '@progress/kendo-react-common';\nimport { caretAltRightIcon, caretAltLeftIcon, caretAltDownIcon, caretAltUpIcon } from '@progress/kendo-svg-icons';\n/**\n * @hidden\n */\nvar SplitterBar = /** @class */ (function (_super) {\n __extends(SplitterBar, _super);\n function SplitterBar(props) {\n var _this = _super.call(this, props) || this;\n _this.draggable = null;\n _this.onDrag = function (data, isFirst, isLast) {\n var event = data.event;\n var _a = _this.props, onDrag = _a.onDrag, index = _a.index;\n var element = _this.draggable && _this.draggable.element;\n if (element && !_this.isStatic && _this.isDraggable) {\n onDrag(event, element, index, isFirst, isLast);\n }\n };\n _this.onFocus = function () {\n _this.setState({\n focused: true\n });\n };\n _this.onBlur = function () {\n _this.setState({\n focused: false\n });\n };\n _this.onToggle = function (event) {\n var _a = _this.props, onToggle = _a.onToggle, index = _a.index, prev = _a.prev, next = _a.next;\n if (prev.collapsible || next.collapsible) {\n onToggle(prev.collapsible ? index : index + 1, event);\n }\n };\n _this.onPrevToggle = function (event) {\n var _a = _this.props, onToggle = _a.onToggle, index = _a.index, prev = _a.prev;\n if (prev.collapsible) {\n onToggle(index, event);\n }\n };\n _this.onNextToggle = function (event) {\n var _a = _this.props, onToggle = _a.onToggle, index = _a.index, next = _a.next;\n if (next.collapsible) {\n onToggle(index + 1, event);\n }\n };\n _this.onKeyDown = function (event) {\n var keyCode = event && event.keyCode;\n var isHorizontal = _this.isHorizontal;\n var index = _this.props.index;\n var element = _this.draggable && _this.draggable.element;\n var onKeyboardResize = function (el, idx, offset) {\n event.preventDefault();\n _this.props.onKeyboardResize(el, idx, offset, event);\n };\n if (!element) {\n return;\n }\n if (keyCode === Keys.enter) {\n event.preventDefault();\n _this.onToggle(event);\n }\n else if (_this.isDraggable) {\n if (isHorizontal && keyCode === Keys.left) {\n onKeyboardResize(element, index, -10);\n }\n else if (isHorizontal && keyCode === Keys.right) {\n onKeyboardResize(element, index, 10);\n }\n else if (!isHorizontal && keyCode === Keys.up) {\n onKeyboardResize(element, index, -10);\n }\n else if (!isHorizontal && keyCode === Keys.down) {\n onKeyboardResize(element, index, 10);\n }\n }\n };\n _this.state = {\n focused: false\n };\n return _this;\n }\n Object.defineProperty(SplitterBar.prototype, \"isStatic\", {\n get: function () {\n var _a = this.props, prev = _a.prev, next = _a.next;\n var betweenResizablePanes = prev.resizable && next.resizable;\n var nearCollapsiblePane = prev.collapsible || next.collapsible;\n return !betweenResizablePanes && !nearCollapsiblePane;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SplitterBar.prototype, \"isDraggable\", {\n get: function () {\n var _a = this.props, prev = _a.prev, next = _a.next;\n var betweenResizablePanes = prev.resizable && next.resizable;\n var nearCollapsedPane = prev.collapsed || next.collapsed;\n return !!betweenResizablePanes && !nearCollapsedPane;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SplitterBar.prototype, \"isHorizontal\", {\n get: function () {\n return this.props.orientation === 'horizontal';\n },\n enumerable: false,\n configurable: true\n });\n SplitterBar.prototype.render = function () {\n var _a;\n var _this = this;\n var isDraggable = this.isDraggable;\n var isStatic = this.isStatic;\n var isHorizontal = this.isHorizontal;\n var barClasses = classNames('k-splitbar', (_a = {},\n _a['k-focus'] = this.state.focused,\n _a['k-splitbar-horizontal'] = isHorizontal,\n _a['k-splitbar-vertical'] = !isHorizontal,\n _a['k-splitbar-draggable-horizontal'] = isHorizontal && isDraggable,\n _a['k-splitbar-draggable-vertical'] = !isHorizontal && isDraggable,\n _a['k-splitbar-static-horizontal'] = isHorizontal && isStatic,\n _a['k-splitbar-static-vertical'] = !isHorizontal && isStatic,\n _a));\n return (React.createElement(Draggable, { onPress: function (event) { return _this.onDrag(event, true, false); }, onDrag: function (event) { return _this.onDrag(event, false, false); }, onRelease: function (event) { return _this.onDrag(event, false, true); }, ref: function (component) { _this.draggable = component; } },\n React.createElement(\"div\", { tabIndex: isStatic ? -1 : 0, role: 'separator', \"aria-valuenow\": 0, \"aria-label\": this.props.ariaLabel, \"aria-orientation\": isHorizontal ? 'vertical' : undefined, className: barClasses, style: { touchAction: 'none' }, onFocus: this.onFocus, onBlur: this.onBlur, onDoubleClick: this.onToggle, onKeyDown: this.onKeyDown },\n this.props.prev.collapsible && React.createElement(\"div\", { className: 'k-collapse-prev', onClick: this.onPrevToggle },\n React.createElement(IconWrap, { name: this.props.prev.collapsible\n ? isHorizontal\n ? this.props.prev.collapsed\n ? (this.props.isRtl ? 'caret-alt-left' : 'caret-alt-right')\n : (this.props.isRtl ? 'caret-alt-right' : 'caret-alt-left')\n : this.props.prev.collapsed\n ? 'caret-alt-down'\n : 'caret-alt-up'\n : undefined, icon: this.props.prev.collapsible\n ? isHorizontal\n ? this.props.prev.collapsed\n ? (this.props.isRtl ? caretAltLeftIcon : caretAltRightIcon)\n : (this.props.isRtl ? caretAltRightIcon : caretAltLeftIcon)\n : this.props.prev.collapsed\n ? caretAltDownIcon\n : caretAltUpIcon\n : undefined, size: 'xsmall' })),\n React.createElement(\"div\", { className: 'k-resize-handle' }),\n this.props.next.collapsible && React.createElement(\"div\", { className: 'k-collapse-next', onClick: this.onNextToggle },\n React.createElement(IconWrap, { name: this.props.next.collapsible\n ? isHorizontal\n ? this.props.next.collapsed\n ? (this.props.isRtl ? 'caret-alt-right' : 'caret-alt-left')\n : (this.props.isRtl ? 'caret-alt-left' : 'caret-alt-right')\n : this.props.next.collapsed\n ? 'caret-alt-up'\n : 'caret-alt-down'\n : undefined, icon: this.props.next.collapsible\n ? isHorizontal\n ? this.props.next.collapsed\n ? (this.props.isRtl ? caretAltRightIcon : caretAltLeftIcon)\n : (this.props.isRtl ? caretAltLeftIcon : caretAltRightIcon)\n : this.props.next.collapsed\n ? caretAltUpIcon\n : caretAltDownIcon\n : undefined, size: 'xsmall' })))));\n };\n return SplitterBar;\n}(React.Component));\nexport { SplitterBar };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames } from '@progress/kendo-react-common';\nvar TabStripNavigationItem = /** @class */ (function (_super) {\n __extends(TabStripNavigationItem, _super);\n function TabStripNavigationItem() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.onClick = function () {\n if (_this.props.onSelect) {\n _this.props.onSelect(_this.props.index);\n }\n };\n return _this;\n }\n /**\n * @hidden\n */\n TabStripNavigationItem.prototype.render = function () {\n var _a;\n var _b = this.props, id = _b.id, active = _b.active, disabled = _b.disabled, _c = _b.title, title = _c === void 0 ? 'Untitled' : _c, first = _b.first, last = _b.last;\n var props = {\n 'id': id,\n 'aria-selected': active,\n 'aria-controls': id,\n 'aria-disabled': disabled,\n 'aria-hidden': disabled,\n 'role': 'tab',\n onClick: !disabled ? this.onClick : undefined\n };\n var itemClasses = classNames('k-item', (_a = {},\n _a['k-first'] = first,\n _a['k-last'] = last,\n _a['k-disabled'] = disabled,\n _a['k-active'] = active,\n _a));\n return (React.createElement(\"li\", __assign({}, props, { className: itemClasses }),\n React.createElement(\"span\", { className: \"k-link\" }, title)));\n };\n /**\n * @hidden\n */\n TabStripNavigationItem.propTypes = {\n active: PropTypes.bool,\n disabled: PropTypes.bool,\n index: PropTypes.number,\n onSelect: PropTypes.func,\n title: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element\n ]),\n first: PropTypes.bool,\n last: PropTypes.bool\n };\n return TabStripNavigationItem;\n}(React.Component));\nexport { TabStripNavigationItem };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { TabStripNavigationItem } from './TabStripNavigationItem';\nimport { classNames } from '@progress/kendo-react-common';\nimport { Button } from '@progress/kendo-react-buttons';\nimport { caretAltDownIcon, caretAltLeftIcon, caretAltRightIcon, caretAltUpIcon } from '@progress/kendo-svg-icons';\n/**\n * @hidden\n */\nvar times = function (count) { return Array.apply(null, Array(count)); };\nvar preventDefault = function (e) { return e.preventDefault(); };\nvar DEFAULT_SCROLL_BEHAVIOR = 'smooth';\nvar PREV = 'prev';\nvar NEXT = 'next';\nvar TabStripNavigation = /** @class */ (function (_super) {\n __extends(TabStripNavigation, _super);\n function TabStripNavigation(props) {\n var _this = _super.call(this, props) || this;\n _this.itemsNavRef = React.createRef();\n _this.isRtl = function () { return _this.props.dir === 'rtl'; };\n _this.onWheel = function (e) {\n e.stopPropagation();\n var direction = e.deltaY < 0 ? PREV : NEXT;\n _this.setNewScrollPosition(direction, e);\n };\n _this.arrowClickPrev = function (e) {\n _this.handleArrowClick(PREV, e);\n };\n _this.arrowClickNext = function (e) {\n _this.handleArrowClick(NEXT, e);\n };\n _this.handleArrowClick = function (direction, e) {\n _this.setNewScrollPosition(direction, e);\n };\n _this.setNewScrollPosition = function (direction, e) {\n var list = _this.itemsNavRef.current;\n if (!list) {\n return;\n }\n var horizontal = _this.horizontalScroll();\n var scrollEnd = horizontal ? list.scrollWidth - list.offsetWidth : list.scrollHeight - list.offsetHeight;\n var increment = (e.type === 'click' ? _this.props.buttonScrollSpeed : _this.props.mouseScrollSpeed) || 0;\n var scrollPosition = horizontal ? list.scrollLeft : list.scrollTop;\n var nextScrollPosition = horizontal ? list.scrollWidth - list.scrollLeft : list.scrollHeight - list.scrollTop;\n var nextScrollPositionRtl = list.scrollWidth - (list.scrollLeft * -1);\n if (_this.isRtl() && _this.horizontalScroll()) {\n if (direction === PREV && scrollPosition < 0) {\n scrollPosition += increment;\n nextScrollPositionRtl += increment;\n }\n if (direction === NEXT && scrollPosition < scrollEnd) {\n scrollPosition -= increment;\n nextScrollPositionRtl -= increment;\n }\n scrollPosition = Math.min(0, Math.min(scrollEnd, scrollPosition));\n }\n else {\n if (direction === PREV && scrollPosition > 0) {\n scrollPosition -= increment;\n nextScrollPosition += increment;\n }\n if (direction === NEXT && scrollPosition < scrollEnd) {\n scrollPosition += increment;\n nextScrollPosition -= increment;\n }\n scrollPosition = Math.max(0, Math.min(scrollEnd, scrollPosition));\n }\n var calculatePrev = scrollPosition === 0;\n var scrollBehavior = e.type === 'click' ? DEFAULT_SCROLL_BEHAVIOR : undefined;\n if (horizontal) {\n var calculateNext = _this.isRtl()\n ? Math.round(nextScrollPositionRtl) <= list.clientWidth\n || Math.floor(nextScrollPositionRtl) <= list.clientWidth\n : Math.round(nextScrollPosition) <= list.clientWidth\n || Math.floor(nextScrollPosition) <= list.clientWidth;\n _this.setState({\n disabledPrev: calculatePrev,\n disabledNext: calculateNext\n });\n list.scrollTo({ left: scrollPosition, behavior: scrollBehavior });\n }\n else {\n _this.setState({\n disabledPrev: calculatePrev,\n disabledNext: Math.round(nextScrollPosition) <= list.clientHeight\n || Math.floor(nextScrollPosition) <= list.clientHeight\n });\n list.scrollTo({ top: scrollPosition, behavior: scrollBehavior });\n }\n };\n _this.renderArrow = function (type, disabled) {\n var horizontal = _this.horizontalScroll();\n var directions = {\n prev: {\n arrowTab: 'k-tabstrip-prev',\n fontIcon: horizontal ?\n _this.isRtl() ? 'caret-alt-right' : 'caret-alt-left'\n : 'caret-alt-up',\n svgIcon: horizontal ?\n _this.isRtl() ? caretAltRightIcon : caretAltLeftIcon\n : caretAltUpIcon\n },\n next: {\n arrowTab: 'k-tabstrip-next',\n fontIcon: horizontal ?\n _this.isRtl() ? 'caret-alt-left' : 'caret-alt-right'\n : 'caret-alt-down',\n svgIcon: horizontal ?\n _this.isRtl() ? caretAltLeftIcon : caretAltRightIcon\n : caretAltDownIcon\n }\n };\n var ButtonComponent = (type === PREV ? _this.props.prevButton : _this.props.nextButton) || Button;\n var onClick = (type === PREV ? _this.arrowClickPrev : _this.arrowClickNext);\n return (React.createElement(ButtonComponent, { disabled: disabled, className: \"\".concat(directions[type].arrowTab), onClick: onClick, icon: directions[type].fontIcon, svgIcon: directions[type].svgIcon, onMouseDown: preventDefault, tabIndex: -1, fillMode: \"flat\" }));\n };\n _this.state = {\n disabledPrev: _this.props.selected === 0,\n disabledNext: _this.props.selected === React.Children.count(_this.props.children) - 1\n };\n return _this;\n }\n /**\n * @hidden\n */\n TabStripNavigation.prototype.componentDidMount = function () {\n if (this.props.scrollable) {\n this.scrollToSelected();\n }\n };\n /**\n * @hidden\n */\n TabStripNavigation.prototype.componentDidUpdate = function (prevProps) {\n var _a = this.props, scrollable = _a.scrollable, selected = _a.selected;\n if (scrollable && prevProps.selected !== selected) {\n this.scrollToSelected();\n this.setState({\n disabledPrev: selected === 0,\n disabledNext: selected === React.Children.count(this.props.children) - 1\n });\n }\n };\n /**\n * @hidden\n */\n TabStripNavigation.prototype.render = function () {\n var _a = this.props, selected = _a.selected, tabPosition = _a.tabPosition, children = _a.children, onSelect = _a.onSelect, onKeyDown = _a.onKeyDown;\n var tabsCount = React.Children.count(children);\n var childElements = React.Children.toArray(children);\n var tabs;\n if (children) {\n tabs = times(tabsCount).map(function (_, index, array) {\n var tabProps = {\n active: selected === index,\n disabled: childElements[index].props.disabled,\n index: index,\n title: childElements[index].props.title,\n first: index === 0,\n last: index === array.length - 1,\n onSelect: onSelect\n };\n return React.createElement(TabStripNavigationItem, __assign({ key: index }, tabProps));\n });\n }\n var wrapperClasses = classNames('k-tabstrip-items-wrapper', {\n 'k-hstack': tabPosition === 'top' || tabPosition === 'bottom',\n 'k-vstack': tabPosition === 'left' || tabPosition === 'right'\n });\n var navClasses = classNames('k-tabstrip-items', 'k-reset');\n return (React.createElement(\"div\", { className: wrapperClasses }, this.props.scrollable ? (React.createElement(React.Fragment, null,\n this.renderArrow(PREV, this.state.disabledPrev),\n React.createElement(\"ul\", { ref: this.itemsNavRef, className: navClasses, role: 'tablist', tabIndex: this.props.tabIndex, onKeyDown: onKeyDown, onWheel: this.onWheel }, tabs),\n this.renderArrow(NEXT, this.state.disabledNext))) : (React.createElement(\"ul\", { className: navClasses, role: 'tablist', tabIndex: this.props.tabIndex, onKeyDown: onKeyDown }, tabs))));\n };\n TabStripNavigation.prototype.scrollToSelected = function () {\n var _a, _b, _c, _d;\n var list = this.itemsNavRef.current;\n var tab = list && list.children[this.props.selected || 0];\n if (tab instanceof HTMLElement && list instanceof HTMLElement) {\n var horizontal = this.horizontalScroll();\n var listSize = horizontal ? list.offsetWidth : list.offsetHeight;\n var tabSize = horizontal ? tab.offsetWidth : tab.offsetHeight;\n var scrollDir = horizontal ? 'left' : 'top';\n var currentScrollOffset = horizontal ? list.scrollLeft : list.scrollTop;\n var scrollPosition = 0;\n if (this.isRtl()) {\n var tabOffset = tab.offsetLeft;\n currentScrollOffset = currentScrollOffset * -1;\n if (tabOffset < 0) {\n scrollPosition = tabOffset - tabSize + list.offsetLeft;\n list.scrollTo((_a = {}, _a[scrollDir] = scrollPosition, _a.behavior = DEFAULT_SCROLL_BEHAVIOR, _a));\n }\n else if (tabOffset + tabSize > listSize - currentScrollOffset) {\n scrollPosition = currentScrollOffset + tabOffset - tabSize;\n list.scrollTo((_b = {}, _b[scrollDir] = scrollPosition, _b.behavior = DEFAULT_SCROLL_BEHAVIOR, _b));\n }\n }\n else {\n var tabOffset = horizontal ? tab.offsetLeft - list.offsetLeft : tab.offsetTop - list.offsetTop;\n if (currentScrollOffset + listSize < tabOffset + tabSize) {\n scrollPosition = tabOffset + tabSize - listSize;\n list.scrollTo((_c = {}, _c[scrollDir] = scrollPosition, _c.behavior = DEFAULT_SCROLL_BEHAVIOR, _c));\n }\n else if (currentScrollOffset > tabOffset) {\n scrollPosition = tabOffset;\n list.scrollTo((_d = {}, _d[scrollDir] = scrollPosition, _d.behavior = DEFAULT_SCROLL_BEHAVIOR, _d));\n }\n }\n }\n };\n TabStripNavigation.prototype.horizontalScroll = function () {\n return /top|bottom/.test(this.props.tabPosition || 'top');\n };\n ;\n /**\n * @hidden\n */\n TabStripNavigation.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.arrayOf(PropTypes.element)\n ]),\n onSelect: PropTypes.func,\n onKeyDown: PropTypes.func,\n selected: PropTypes.number,\n tabIndex: PropTypes.number\n };\n return TabStripNavigation;\n}(React.Component));\nexport { TabStripNavigation };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { Animation } from './Animation';\n// tslint:enable:max-line-length\nvar Fade = /** @class */ (function (_super) {\n __extends(Fade, _super);\n function Fade() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @hidden\n */\n Fade.prototype.render = function () {\n var _a = this.props, children = _a.children, other = __rest(_a, [\"children\"]);\n var animationProps = {\n transitionName: 'fade'\n };\n return (React.createElement(Animation, __assign({}, animationProps, other), children));\n };\n /**\n * @hidden\n */\n Fade.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node\n ]),\n childFactory: PropTypes.any,\n className: PropTypes.string,\n component: PropTypes.string,\n id: PropTypes.string,\n style: PropTypes.any\n };\n /**\n * @hidden\n */\n Fade.defaultProps = {\n appear: false,\n enter: true,\n exit: false,\n transitionEnterDuration: 500,\n transitionExitDuration: 500\n };\n return Fade;\n}(React.Component));\nexport { Fade };\n","/* eslint-disable no-bitwise */\n/**\n * @hidden\n */\nexport var guid = function () {\n var id = '';\n var i;\n var random;\n for (i = 0; i < 32; i++) {\n random = Math.random() * 16 | 0;\n if (i === 8 || i === 12 || i === 16 || i === 20) {\n id += '-';\n }\n id += (i === 12 ? 4 : (i === 16 ? (random & 3 | 8) : random)).toString(16);\n }\n return id;\n};\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { Fade } from '@progress/kendo-react-animation';\nimport { classNames, guid } from '@progress/kendo-react-common';\nvar TabStripContent = /** @class */ (function (_super) {\n __extends(TabStripContent, _super);\n function TabStripContent() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.contentId = guid();\n _this.childFactory = function (child) {\n return React.cloneElement(child, __assign(__assign({}, child.props), { in: child.props.children.props.id === String(_this.contentId + _this.props.selected) }));\n };\n return _this;\n }\n /**\n * @hidden\n */\n TabStripContent.prototype.render = function () {\n var _a = this.props, children = _a.children, selected = _a.selected;\n var selectedTab = children && typeof selected === 'number' &&\n React.Children.toArray(children)[selected];\n var contentClasses = classNames('k-content', 'k-active', selectedTab && selectedTab.props.contentClassName);\n return (React.createElement(\"div\", { className: contentClasses, style: this.props.style }, this.renderContent(children)));\n };\n TabStripContent.prototype.renderContent = function (children) {\n var _this = this;\n return !this.props.keepTabsMounted\n ? this.renderChild(React.Children.toArray(children)[this.props.selected], this.props.selected)\n : React.Children.map(this.props.children, function (tab, idx) {\n return _this.renderChild(tab, idx);\n });\n };\n TabStripContent.prototype.renderChild = function (tab, idx) {\n var visible = idx === this.props.selected;\n var contentProps = {\n 'role': 'tabpanel',\n 'aria-expanded': true,\n 'aria-labelledby': idx.toString(),\n 'style': {\n 'display': visible ? undefined : 'none'\n }\n };\n var animationStyle = {\n position: 'initial',\n display: visible ? undefined : 'none'\n };\n if (tab.props.disabled) {\n return null;\n }\n return this.props.animation\n ? (React.createElement(Fade, { appear: true, exit: this.props.keepTabsMounted, style: animationStyle, childFactory: this.props.keepTabsMounted ? this.childFactory : undefined },\n React.createElement(\"div\", __assign({}, contentProps, { id: String(this.contentId + idx), key: idx }), tab.props.children)))\n : (React.createElement(\"div\", __assign({}, contentProps, { key: idx }), tab.props.children));\n };\n /**\n * @hidden\n */\n TabStripContent.propTypes = {\n animation: PropTypes.bool,\n children: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.arrayOf(PropTypes.element)\n ]),\n selected: PropTypes.number,\n style: PropTypes.object\n };\n return TabStripContent;\n}(React.Component));\nexport { TabStripContent };\n","import * as licensing from '@progress/kendo-licensing';\n/**\n * @hidden\n */\nexport function validatePackage(packageMetadata) {\n if (typeof licensing !== 'undefined') {\n licensing.validatePackage(packageMetadata);\n }\n else {\n var message = \"License activation failed for \".concat(packageMetadata.name, \"\\n\");\n message += 'The @progress/kendo-licensing script is not loaded.\\n';\n message += \"See \".concat(packageMetadata.licensingDocsUrl, \" for more information.\\n\");\n console.warn(message);\n }\n}\n","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-react-layout',\n productName: 'KendoReact',\n productCodes: ['KENDOUIREACT', 'KENDOUICOMPLETE'],\n publishDate: 1686225429,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning'\n};\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { TabStripNavigation } from './TabStripNavigation';\nimport { TabStripContent } from './TabStripContent';\nimport { Keys, classNames, validatePackage } from '@progress/kendo-react-common';\nimport { packageMetadata } from '../package-metadata';\nvar TabStrip = /** @class */ (function (_super) {\n __extends(TabStrip, _super);\n function TabStrip(props) {\n var _a;\n var _this = _super.call(this, props) || this;\n _this._element = null;\n _this.keyBinding = (_a = {},\n _a[Keys.left] = function () { return _this.prevNavigatableTab(); },\n _a[Keys.right] = function () { return _this.nextNavigatableTab(); },\n _a[Keys.down] = function () { return _this.nextNavigatableTab(); },\n _a[Keys.up] = function () { return _this.prevNavigatableTab(); },\n _a[Keys.home] = function () { return 0; },\n _a[Keys.end] = function () { return (React.Children.count(_this.props.children) - 1); },\n _a);\n /**\n * @hidden\n */\n _this.onSelect = function (index) {\n if (_this.props.selected !== index) {\n if (_this.props.onSelect) {\n _this.props.onSelect({\n selected: index\n });\n }\n }\n };\n /**\n * @hidden\n */\n _this.onKeyDown = function (event) {\n var handler;\n switch (event.keyCode) {\n case Keys.left:\n handler = _this.keyBinding[_this.invertKeys(Keys.left, Keys.right)];\n break;\n case Keys.right:\n handler = _this.keyBinding[_this.invertKeys(Keys.right, Keys.left)];\n break;\n case Keys.up:\n handler = _this.keyBinding[Keys.up];\n break;\n case Keys.down:\n handler = _this.keyBinding[Keys.down];\n break;\n case Keys.home:\n handler = _this.keyBinding[Keys.home];\n break;\n case Keys.end:\n handler = _this.keyBinding[Keys.end];\n break;\n default:\n break;\n }\n if (handler) {\n event.preventDefault();\n _this.onSelect(handler());\n }\n };\n _this.renderContent = function (tabProps) {\n var selected = tabProps.selected, children = tabProps.children, tabContentStyle = tabProps.tabContentStyle;\n var childrenCount = React.Children.count(children);\n if (selected < childrenCount && selected > -1) {\n return (React.createElement(TabStripContent, __assign({ index: selected }, tabProps, { style: tabContentStyle })));\n }\n return null;\n };\n _this.firstNavigatableTab = function () {\n var children = _this.children();\n var length = React.Children.count(children);\n if (children) {\n for (var i = 0; i < length; i++) {\n if (!children[i].props.disabled) {\n return i;\n }\n }\n }\n };\n _this.lastNavigatableTab = function () {\n var children = _this.children();\n var length = React.Children.count(children);\n if (children) {\n for (var i = length - 1; i > 0; i--) {\n if (!children[i].props.disabled) {\n return i;\n }\n }\n }\n };\n _this.prevNavigatableTab = function () {\n var children = _this.children();\n var selected = _this.props.selected;\n var index = selected ? selected - 1 : -1;\n if (index < 0) {\n return _this.lastNavigatableTab();\n }\n if (children) {\n for (var i = index; i > -1; i--) {\n if (!children[i].props.disabled) {\n return i;\n }\n if (i === 0) {\n return _this.lastNavigatableTab();\n }\n }\n }\n };\n _this.nextNavigatableTab = function () {\n var children = _this.children();\n var selected = _this.props.selected;\n var index = selected ? selected + 1 : 1;\n var childrenCount = React.Children.count(children);\n if (index >= childrenCount) {\n return _this.firstNavigatableTab();\n }\n if (children) {\n for (var i = index; i < childrenCount; i++) {\n if (!children[i].props.disabled) {\n return i;\n }\n if (i + 1 === childrenCount) {\n return _this.firstNavigatableTab();\n }\n }\n }\n };\n validatePackage(packageMetadata);\n return _this;\n }\n /**\n * @hidden\n */\n TabStrip.prototype.render = function () {\n var _this = this;\n var tabProps = __assign(__assign({}, this.props), { children: this.children(), onKeyDown: this.onKeyDown, onSelect: this.onSelect });\n var tabPosition = tabProps.tabPosition, _a = tabProps.tabIndex, tabIndex = _a === void 0 ? 0 : _a;\n var bottom = tabPosition === 'bottom';\n var componentClasses = classNames('k-tabstrip', {\n 'k-tabstrip-left': tabPosition === 'left',\n 'k-tabstrip-right': tabPosition === 'right',\n 'k-tabstrip-bottom': tabPosition === 'bottom',\n 'k-tabstrip-top': tabPosition === 'top',\n 'k-tabstrip-scrollable': this.props.scrollable\n }, this.props.className);\n return (React.createElement(\"div\", { id: this.props.id, ref: function (div) { return _this._element = div; }, dir: this.props.dir, className: componentClasses, style: this.props.style },\n !bottom && React.createElement(TabStripNavigation, __assign({}, tabProps, { tabIndex: tabIndex })),\n this.renderContent(tabProps),\n bottom && React.createElement(TabStripNavigation, __assign({}, tabProps, { tabIndex: tabIndex }))));\n };\n TabStrip.prototype.invertKeys = function (original, inverted) {\n var rtl = this._element && (getComputedStyle(this._element).direction === 'rtl') || false;\n return rtl ? inverted : original;\n };\n TabStrip.prototype.children = function () {\n return React.Children.toArray(this.props.children).filter(function (c) { return c; });\n };\n /**\n * @hidden\n */\n TabStrip.propTypes = {\n animation: PropTypes.bool,\n children: PropTypes.node,\n onSelect: PropTypes.func,\n selected: PropTypes.number,\n style: PropTypes.object,\n tabContentStyle: PropTypes.object,\n tabPosition: PropTypes.string,\n tabIndex: PropTypes.number,\n className: PropTypes.string,\n dir: PropTypes.string\n };\n /**\n * @hidden\n */\n TabStrip.defaultProps = {\n animation: true,\n tabPosition: 'top',\n keepTabsMounted: false,\n buttonScrollSpeed: 100,\n mouseScrollSpeed: 10\n };\n return TabStrip;\n}(React.Component));\nexport { TabStrip };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nvar TabStripTab = /** @class */ (function (_super) {\n __extends(TabStripTab, _super);\n function TabStripTab() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @hidden\n */\n TabStripTab.prototype.render = function () {\n return null;\n };\n /**\n * @hidden\n */\n TabStripTab.propTypes = {\n disabled: PropTypes.bool,\n contentClassName: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.node\n ]),\n title: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element,\n PropTypes.node\n ])\n };\n return TabStripTab;\n}(React.Component));\nexport { TabStripTab };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames, IconWrap, svgIconPropType } from '@progress/kendo-react-common';\nimport { chevronDownIcon, chevronUpIcon } from '@progress/kendo-svg-icons';\nimport { Reveal } from '@progress/kendo-react-animation';\n/**\n * @hidden\n */\nfunction iconElement(_a) {\n var imageUrl = _a.imageUrl, icon = _a.icon, svgIcon = _a.svgIcon, iconClass = _a.iconClass;\n if (imageUrl) {\n return (React.createElement(\"img\", { role: \"presentation\", className: 'k-panelbar-item-icon k-image', src: imageUrl }));\n }\n else if (icon || svgIcon) {\n return (React.createElement(IconWrap, { className: 'k-panelbar-item-icon', name: icon, icon: svgIcon }));\n }\n else if (iconClass) {\n return (React.createElement(\"span\", { role: \"presentation\", className: 'k-panelbar-item-icon ' + iconClass }));\n }\n return null;\n}\nvar PanelBarItem = /** @class */ (function (_super) {\n __extends(PanelBarItem, _super);\n function PanelBarItem(props) {\n var _this = _super.call(this, props) || this;\n _this.handleItemClick = function () {\n var _a = _this.props, onSelect = _a.onSelect, disabled = _a.disabled, id = _a.id;\n if (onSelect && !disabled) {\n onSelect.call(undefined, {\n uniquePrivateKey: _this.props.uniquePrivateKey,\n id: id,\n target: _this\n });\n }\n };\n _this.childFactory = function (child) {\n if (_this.props.keepItemsMounted) {\n return React.cloneElement(child, __assign(__assign({}, child.props), { in: _this.props.expanded }));\n }\n return child;\n };\n _this.state = {\n show: props.expanded || false\n };\n return _this;\n }\n /**\n * @hidden\n */\n PanelBarItem.prototype.render = function () {\n var _this = this;\n var _a = this.props, id = _a.id, children = _a.children, title = _a.title, uniquePrivateKey = _a.uniquePrivateKey, disabled = _a.disabled, selected = _a.selected, focused = _a.focused, expanded = _a.expanded, className = _a.className, level = _a.level, headerClassName = _a.headerClassName, animation = _a.animation, keepItemsMounted = _a.keepItemsMounted;\n var panelBarItemAriaAttributes = {\n 'role': 'treeitem',\n 'aria-disabled': disabled,\n 'aria-hidden': !disabled && !expanded,\n 'aria-selected': !disabled && selected,\n 'aria-expanded': !disabled && expanded && !!children\n };\n var panelBarItemClassName = classNames('k-panelbar-item', {\n 'k-panelbar-header': level === 0,\n 'k-expanded': expanded && !!children,\n 'k-disabled': disabled\n }, \"k-level-\".concat(level), className);\n var panelBarLinkClassName = classNames('k-link', {\n 'k-selected': !disabled && selected,\n 'k-focus': !disabled && focused\n }, headerClassName);\n var animationStyle = { display: 'block' };\n var icon = iconElement(this.props);\n var arrow = (!disabled && children)\n ? (React.createElement(IconWrap, { name: expanded ? 'chevron-up' : 'chevron-down', icon: expanded ? chevronUpIcon : chevronDownIcon, className: classNames('k-panelbar-toggle', expanded\n ? 'k-panelbar-collapse'\n : 'k-panelbar-expand') }))\n : null;\n var opened = (!disabled && expanded);\n var content = opened || keepItemsMounted\n ? (React.createElement(\"ul\", { role: \"group\", \"aria-expanded\": expanded, \"aria-hidden\": !expanded, className: \"k-panelbar-group k-panel k-group\", style: { display: keepItemsMounted\n ? (this.state.show ? 'block' : 'none')\n : 'block' } }, children))\n : null;\n var child = ((animation !== undefined ? animation : true) && !disabled && children)\n ? (React.createElement(Reveal, { transitionEnterDuration: 200, transitionExitDuration: 200, key: uniquePrivateKey + '_animation', style: animationStyle, children: content, childFactory: keepItemsMounted && this.childFactory, unmountOnExit: !keepItemsMounted, onBeforeEnter: function () { return keepItemsMounted && _this.setState({ show: true }); }, onAfterExited: function () { return keepItemsMounted && _this.setState({ show: false }); } }))\n : content;\n return (React.createElement(\"li\", __assign({ id: id, className: panelBarItemClassName }, panelBarItemAriaAttributes),\n React.createElement(\"span\", { className: panelBarLinkClassName, onClick: this.handleItemClick },\n icon,\n React.createElement(\"span\", { className: 'k-panelbar-item-text' }, title),\n arrow),\n child));\n };\n /**\n * @hidden\n */\n PanelBarItem.propTypes = {\n animation: PropTypes.bool,\n children: PropTypes.any,\n className: PropTypes.string,\n icon: PropTypes.string,\n iconClass: PropTypes.string,\n imageUrl: PropTypes.string,\n svgIcon: svgIconPropType,\n expanded: PropTypes.bool,\n disabled: PropTypes.bool,\n onSelect: PropTypes.func,\n selected: PropTypes.bool,\n level: PropTypes.number,\n title: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element\n ]),\n id: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n focused: PropTypes.bool,\n keepItemsMounted: PropTypes.bool\n };\n /**\n * @hidden\n */\n PanelBarItem.defaultProps = {\n title: 'Untitled'\n };\n return PanelBarItem;\n}(React.PureComponent));\nexport { PanelBarItem };\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport * as React from 'react';\nimport { PanelBarItem } from './PanelBarItem';\n/**\n * @hidden\n */\nexport var renderChildren = function (_a) {\n var _b = _a.animation, animation = _b === void 0 ? true : _b, _c = _a.keepItemsMounted, keepItemsMounted = _c === void 0 ? false : _c, state = _a.state, expanded = _a.expanded, handleSelect = _a.handleSelect, children = _a.children, _d = _a.parentExpanded, parentExpanded = _d === void 0 ? true : _d, _e = _a.level, level = _e === void 0 ? 0 : _e, _f = _a.parentPrivateKey, parentPrivateKey = _f === void 0 ? [] : _f;\n return React.Children.map(children, function (child, idx) {\n if (child && child.type === PanelBarItem) {\n var nestedChildren = void 0;\n var privateKey = getId(child, parentPrivateKey, idx);\n if (child.props.children) {\n var renderState = {\n animation: animation,\n keepItemsMounted: keepItemsMounted,\n state: state,\n expanded: expanded,\n handleSelect: handleSelect,\n children: child.props.children,\n parentExpanded: (expanded || []).indexOf(privateKey) > -1,\n level: level + 1,\n parentPrivateKey: __spreadArray(__spreadArray([], parentPrivateKey, true), [privateKey], false)\n };\n nestedChildren = renderChildren(renderState);\n }\n return React.cloneElement(child, __assign(__assign({}, child.props), { animation: child.props.animation !== undefined ? child.props.animation : animation, keepItemsMounted: keepItemsMounted, id: child.props.id || \"k-panelbar-item-default-\".concat(privateKey), uniquePrivateKey: privateKey, parentUniquePrivateKey: parentPrivateKey, parentExpanded: parentExpanded, level: level, expanded: (expanded || []).indexOf(privateKey) > -1, focused: state.focused === privateKey && state.wrapperFocused, selected: state.selected === privateKey, children: nestedChildren, onSelect: handleSelect }));\n }\n else {\n return React.createElement(\"div\", { className: \"k-panelbar-content k-content\" }, child);\n }\n });\n};\n/**\n * @hidden\n */\nexport var getFirstId = function (props) {\n var firstItem = React.Children.toArray(props.children)[0];\n if (firstItem) {\n return getId(firstItem, [], 0);\n }\n return '';\n};\n/**\n * @hidden\n */\nexport var getInitialState = function (props, expandMode, result, parentExpanded, parentPrivateKey) {\n if (result === void 0) { result = {\n expanded: props.expanded || [],\n selected: props.selected || '',\n focused: props.focused || '',\n wrapperFocused: false\n }; }\n if (parentExpanded === void 0) { parentExpanded = true; }\n if (parentPrivateKey === void 0) { parentPrivateKey = []; }\n React.Children.map(props.children, function (child, idx) {\n if (child && child.type === PanelBarItem) {\n var privateKey = getId(child, parentPrivateKey, idx);\n if (!child.props.disabled && parentExpanded) {\n if (child.props.selected) {\n result.selected = privateKey;\n }\n if (child.props.focused) {\n result.focused = privateKey;\n }\n if (child.props.expanded) {\n if (expandMode === 'multiple') {\n result.expanded.push(privateKey);\n }\n else if (expandMode === 'single') {\n result.expanded = [privateKey];\n }\n }\n if (child.props.children) {\n result = getInitialState(child.props, expandMode, result, !!child.props.expanded, __spreadArray(__spreadArray([], parentPrivateKey, true), [privateKey], false));\n }\n }\n }\n });\n return result;\n};\n/**\n * @hidden\n */\nvar getId = function (child, parentPrivateKey, idx) {\n return child && child.props && child.props.id\n ? child.props.id\n : parentPrivateKey.length\n ? parentPrivateKey[parentPrivateKey.length - 1] + \".\".concat(idx)\n : \".\".concat(idx);\n};\n/**\n * @hidden\n */\nexport function flatVisibleItems(data, flattedItems) {\n if (flattedItems === void 0) { flattedItems = []; }\n (data || []).forEach(function (item) {\n if (!item.disabled) {\n flattedItems.push(item);\n if (item.expanded && item.children) {\n flatVisibleItems(item.children, flattedItems);\n }\n }\n });\n return flattedItems;\n}\n/**\n * @hidden\n */\nexport function flatChildren(children, flattenChildren) {\n if (flattenChildren === void 0) { flattenChildren = []; }\n React.Children.forEach(children, function (child) {\n if (child && child.props && !child.props.disabled) {\n flattenChildren.push(child);\n if (child.props.children) {\n flatChildren(child.props.children, flattenChildren);\n }\n }\n });\n return flattenChildren;\n}\n;\n/**\n * @hidden\n */\nexport function flatVisibleChildren(children, flattenVisibleChildren) {\n if (flattenVisibleChildren === void 0) { flattenVisibleChildren = []; }\n React.Children.forEach(children, function (child) {\n if (child && child.props && !child.props.disabled && (child.props.expanded || child.props.parentExpanded)) {\n flattenVisibleChildren.push(child);\n if (child.props.children) {\n flatVisibleChildren(child.props.children, flattenVisibleChildren);\n }\n }\n });\n return flattenVisibleChildren;\n}\n;\n/**\n * @hidden\n */\nexport var isPresent = function (value) { return value !== null && value !== undefined; };\n/**\n * Represents the PanelBarUtils functions.\n */\nexport var PanelBarUtils;\n(function (PanelBarUtils) {\n /**\n * Maps a collection of PanelBarItemProps to PanelBarItem components\n * ([see example]({% slug customization_panelbar %})).\n * Contained in the `PanelBarUtils` object.\n *\n * @param items - A collection of PanelBarItemProps.\n * @return {PanelBarItem[]} Returns an array of PanelBarItem components.\n */\n function mapItemsToComponents(items) {\n return items.map(function (item, idx) {\n var children;\n if (item.content) {\n children = item.content;\n }\n if (item.children) {\n children = (mapItemsToComponents(item.children));\n }\n return (React.createElement(PanelBarItem, __assign({}, item, { children: children, key: item.id || idx })));\n });\n }\n PanelBarUtils.mapItemsToComponents = mapItemsToComponents;\n})(PanelBarUtils || (PanelBarUtils = {}));\n/**\n * @hidden\n */\nexport var isArrayEqual = function (firstArray, secondArray) {\n if (firstArray.length !== secondArray.length) {\n return false;\n }\n return firstArray.every(function (ex, i) { return ex === secondArray[i]; });\n};\n","/**\n * @hidden\n */\nexport var NavigationAction;\n(function (NavigationAction) {\n NavigationAction[NavigationAction[\"Toggle\"] = 0] = \"Toggle\";\n NavigationAction[NavigationAction[\"Next\"] = 1] = \"Next\";\n NavigationAction[NavigationAction[\"Previous\"] = 2] = \"Previous\";\n})(NavigationAction || (NavigationAction = {}));\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { PanelBarItem } from './PanelBarItem';\nimport { renderChildren, getInitialState, flatVisibleChildren, flatChildren, isArrayEqual, getFirstId } from './util';\nimport { classNames, Keys } from '@progress/kendo-react-common';\nimport { validatePackage } from '@progress/kendo-react-common';\nimport { packageMetadata } from '../package-metadata';\nimport { NavigationAction } from './interfaces/NavigationAction';\nvar PanelBar = /** @class */ (function (_super) {\n __extends(PanelBar, _super);\n function PanelBar(props) {\n var _this = _super.call(this, props) || this;\n _this._element = null;\n /**\n * @hidden\n */\n _this.handleSelect = function (event) {\n _this.onSelect(event);\n _this.onFocus(event);\n };\n /**\n * @hidden\n */\n _this.onSelect = function (event) {\n var flattenChildren = flatChildren(React.Children.toArray(_this.children));\n var selectedChild;\n var newExpanded;\n flattenChildren.forEach(function (child) {\n if (child.props.uniquePrivateKey === (event.uniquePrivateKey || _this.state.focused)) {\n selectedChild = child;\n }\n });\n switch (_this.expandMode) {\n case 'single':\n newExpanded = __spreadArray(__spreadArray([], selectedChild.props.parentUniquePrivateKey, true), [selectedChild.props.uniquePrivateKey], false);\n if (isArrayEqual(_this.expandedItems, newExpanded)) {\n if (selectedChild.props.parentUniquePrivateKey) {\n newExpanded = __spreadArray([], selectedChild.props.parentUniquePrivateKey, true);\n }\n else {\n newExpanded = [];\n }\n }\n break;\n case 'multiple':\n newExpanded = _this.expandedItems.slice();\n var index = newExpanded.indexOf(selectedChild.props.uniquePrivateKey);\n index === -1 ? newExpanded.push(selectedChild.props.uniquePrivateKey) : newExpanded.splice(index, 1);\n break;\n default:\n newExpanded = _this.expandedItems.slice();\n break;\n }\n _this.setState({ selected: selectedChild.props.uniquePrivateKey, expanded: newExpanded });\n if (_this.props.onSelect) {\n _this.props.onSelect.call(undefined, {\n target: selectedChild,\n expandedItems: newExpanded\n });\n }\n };\n /**\n * @hidden\n */\n _this.onFocus = function (event, step) {\n if (step === void 0) { step = 0; }\n var flattenChildren = flatVisibleChildren(React.Children.toArray(_this.children));\n var focusedChild;\n flattenChildren.forEach(function (child, ixd) {\n if (child.props.uniquePrivateKey === (event.uniquePrivateKey || _this.state.focused)) {\n var index = ixd + step < 0\n ? 0\n : ixd + step > flattenChildren.length\n ? flattenChildren.length - 1\n : ixd + step;\n focusedChild = flattenChildren[index];\n }\n });\n if (focusedChild) {\n _this.activeDescendant = focusedChild.props.id;\n _this.setState({ focused: focusedChild.props.uniquePrivateKey });\n }\n };\n /**\n * @hidden\n */\n _this.onNavigate = function (event, action) {\n var step;\n switch (action) {\n case NavigationAction.Previous:\n step = -1;\n _this.onFocus(event, step);\n break;\n case NavigationAction.Next:\n step = 1;\n _this.onFocus(event, step);\n break;\n case NavigationAction.Toggle:\n _this.onSelect(event);\n break;\n default:\n }\n };\n _this.handleWrapperFocus = function () {\n clearTimeout(_this.nextTickId);\n if (!_this.state.wrapperFocused) {\n _this.setState({ wrapperFocused: true });\n }\n };\n _this.handleWrapperBlur = function () {\n _this.nextTick(function () {\n _this.setState({ wrapperFocused: false });\n });\n };\n _this.handleKeyDown = function (event) {\n var rtl = _this._element && (getComputedStyle(_this._element).direction === 'rtl') || false;\n if (event.target === event.currentTarget) {\n var keyCode = event.keyCode;\n var action = void 0;\n switch (keyCode) {\n case Keys.left:\n action = !rtl ? NavigationAction.Previous : NavigationAction.Next;\n break;\n case Keys.up:\n action = NavigationAction.Previous;\n break;\n case Keys.right:\n action = !rtl ? NavigationAction.Next : NavigationAction.Previous;\n break;\n case Keys.down:\n action = NavigationAction.Next;\n break;\n case Keys.space:\n case Keys.enter:\n action = NavigationAction.Toggle;\n break;\n default:\n action = null;\n break;\n }\n if (action !== null) {\n event.preventDefault();\n _this.onNavigate(event, action);\n }\n }\n };\n validatePackage(packageMetadata);\n var initialState = getInitialState(props, _this.expandMode);\n if (!initialState.focused) {\n initialState.focused = getFirstId(props);\n }\n _this.state = initialState;\n return _this;\n }\n Object.defineProperty(PanelBar.prototype, \"expandMode\", {\n get: function () {\n return this.props.expandMode || 'multiple';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelBar.prototype, \"selectedItem\", {\n get: function () {\n var _a = this.props.selected, selected = _a === void 0 ? this.state.selected : _a;\n return selected;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelBar.prototype, \"expandedItems\", {\n get: function () {\n var expanded = this.props.isControlled ? this.props.expanded || [] : this.state.expanded;\n return expanded;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelBar.prototype, \"children\", {\n get: function () {\n var state = __assign(__assign({}, this.state), { selected: this.selectedItem });\n var renderState = {\n animation: this.props.animation,\n keepItemsMounted: this.props.keepItemsMounted,\n state: state,\n expanded: this.expandedItems,\n handleSelect: this.handleSelect,\n children: this.props.children\n };\n return renderChildren(renderState);\n },\n enumerable: false,\n configurable: true\n });\n /**\n * @hidden\n */\n PanelBar.prototype.render = function () {\n var _this = this;\n var ariaProps = {\n 'aria-activedescendant': this.activeDescendant\n };\n var className = classNames('k-panelbar', this.props.className);\n return (React.createElement(\"ul\", __assign({ ref: function (div) { _this._element = div; }, dir: this.props.dir, role: 'tree', tabIndex: 0, onKeyDown: this.handleKeyDown, onFocus: this.handleWrapperFocus, onBlur: this.handleWrapperBlur, className: className, style: this.props.style }, ariaProps), this.children));\n };\n PanelBar.prototype.nextTick = function (f) {\n this.nextTickId = window.setTimeout(function () { return f(); });\n };\n /**\n * @hidden\n */\n PanelBar.propTypes = {\n animation: PropTypes.bool,\n children: function (props, propName) {\n var prop = props[propName];\n if (prop) {\n if (Array.isArray(prop)) {\n for (var _i = 0, prop_1 = prop; _i < prop_1.length; _i++) {\n var value = prop_1[_i];\n if (!value.type || value.type !== PanelBarItem) {\n return new Error('PanelBar children should be either PanelBarItem or Array of PanelBarItem.');\n }\n }\n }\n else {\n if (prop.type !== PanelBarItem) {\n return new Error('PanelBar child should be either PanelBarItem or Array of PanelBarItem.');\n }\n }\n return null;\n }\n },\n dir: PropTypes.string,\n selected: PropTypes.string,\n expanded: PropTypes.arrayOf(PropTypes.string),\n focused: PropTypes.string,\n expandMode: PropTypes.oneOf(['single', 'multiple']),\n className: PropTypes.string,\n keepItemsMounted: PropTypes.bool,\n onSelect: PropTypes.func,\n style: PropTypes.object\n };\n /**\n * @hidden\n */\n PanelBar.defaultProps = {\n expandMode: 'multiple',\n animation: true,\n keepItemsMounted: false\n };\n return PanelBar;\n}(React.Component));\nexport { PanelBar };\n","/**\n * @hidden\n * Dispatches a new event based on an event that was already internally dispatched to KendoReact users.\n *\n * @param eventHandler - The public event handler that is assigned by the user.\n * When undefined, the method is not an option.\n * @param dispatchedEvent - The event that was already dispatched internally.\n * @param target - The target component of the new event.\n * @param eventData - The additional data that will be passed through the new event.\n * When the new event has no additional data\n * other than the `BaseEvent` arguments, pass `undefined`.\n */\nexport function dispatchEvent(eventHandler, dispatchedEvent, target, eventData) {\n if (eventHandler) {\n var eventBaseData = {\n syntheticEvent: dispatchedEvent,\n nativeEvent: dispatchedEvent.nativeEvent,\n target: target\n };\n eventHandler.call(undefined, Object.assign(eventBaseData, eventData));\n }\n}\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nvar MenuItem = /** @class */ (function (_super) {\n __extends(MenuItem, _super);\n function MenuItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @hidden\n */\n MenuItem.prototype.render = function () {\n return null;\n };\n /**\n * @hidden\n */\n MenuItem.propTypes = {\n text: PropTypes.string,\n url: PropTypes.string,\n icon: PropTypes.string,\n disabled: PropTypes.bool,\n cssClass: PropTypes.string,\n cssStyle: PropTypes.object,\n render: PropTypes.any,\n linkRender: PropTypes.any,\n contentRender: PropTypes.any,\n data: PropTypes.any\n };\n return MenuItem;\n}(React.Component));\nexport { MenuItem };\n","import * as React from 'react';\nimport { createId, ZERO_LEVEL_ZERO_ITEM_ID } from './itemsIdsUtils';\nimport { MenuItem } from '../components/MenuItem';\n/**\n * @hidden\n */\nexport function prepareInputItemsForInternalWork(models, menuChildren) {\n if (models && models.length > 0) {\n return {\n items: convertInputModelsToInternalOnesHelper(models),\n inputItems: models\n };\n }\n else if (getMenuItemChildComponents(menuChildren).length > 0) {\n var inputModels = convertInputComponentsToInputModelsHelper(getMenuItemChildComponents(menuChildren));\n return { items: convertInputModelsToInternalOnesHelper(inputModels), inputItems: inputModels };\n }\n else {\n return { items: [], inputItems: [] };\n }\n}\nfunction copyInputItemWithoutChildren(inputModel, inputComponent) {\n var result = {};\n var _a = inputModel ? inputModel : inputComponent.props, text = _a.text, url = _a.url, icon = _a.icon, svgIcon = _a.svgIcon, disabled = _a.disabled, cssClass = _a.cssClass, cssStyle = _a.cssStyle, render = _a.render, linkRender = _a.linkRender, contentRender = _a.contentRender, data = _a.data;\n if (text !== undefined) {\n result.text = text;\n }\n if (url !== undefined) {\n result.url = url;\n }\n if (icon !== undefined) {\n result.icon = icon;\n }\n if (svgIcon !== undefined) {\n result.svgIcon = svgIcon;\n }\n if (disabled !== undefined) {\n result.disabled = disabled;\n }\n if (cssClass !== undefined) {\n result.cssClass = cssClass;\n }\n if (cssStyle !== undefined) {\n result.cssStyle = cssStyle;\n }\n if (render !== undefined) {\n result.render = render;\n }\n if (linkRender !== undefined) {\n result.linkRender = linkRender;\n }\n if (contentRender !== undefined) {\n result.contentRender = contentRender;\n }\n if (data !== undefined) {\n result.data = data;\n }\n return result;\n}\nfunction getMenuItemChildComponents(menuChildren) {\n return React.Children.toArray(menuChildren)\n .filter(function (child) { return child && child.type === MenuItem; });\n}\nfunction convertInputComponentsToInputModelsHelper(components) {\n var result = [];\n for (var index = 0; index < components.length; index++) {\n var comp = components[index];\n var model = copyInputItemWithoutChildren(undefined, comp);\n var items = convertInputComponentsToInputModelsHelper(getMenuItemChildComponents(comp.props.children));\n if (items.length > 0) {\n model.items = items;\n }\n result.push(model);\n }\n return result;\n}\nfunction convertInputModelsToInternalOnesHelper(inputModels, parentId) {\n var result = [];\n for (var index = 0; index < inputModels.length; index++) {\n var inputModel = inputModels[index];\n var internalModel = copyInputItemWithoutChildren(inputModel);\n internalModel.id = createId(index.toString(), parentId);\n internalModel.isLastFromSiblings = index === inputModels.length - 1;\n internalModel.items = copyOrCreateModelChildren(inputModel, internalModel);\n result.push(internalModel);\n }\n return result;\n}\nfunction copyOrCreateModelChildren(inputModel, internalModel) {\n if (inputModel.contentRender) {\n return [{\n contentParentItemId: internalModel.id,\n id: createId(ZERO_LEVEL_ZERO_ITEM_ID, internalModel.id),\n isLastFromSiblings: true,\n contentRender: inputModel.contentRender,\n items: []\n }];\n }\n else if (inputModel.items) {\n return convertInputModelsToInternalOnesHelper(inputModel.items, internalModel.id);\n }\n else {\n return [];\n }\n}\n","import { Keys } from '@progress/kendo-react-common';\nimport { getFirstChildId, isIdZeroLevel, getRootParentId, isIdFirstLevel, getDirectParentId, getShortId, createId, getDirectSiblingIdForLevelZero, getItemById as getItemByIdUtil } from './itemsIdsUtils';\nvar NO_WHITESPACE_REGEX = /\\S/;\n/**\n * @hidden\n * Returns the `itemId` (string) for applicable key codes even when the id has not changed.\n * For key codes that are not applicable, returns `undefined`.\n */\nexport function getNewItemIdUponKeyboardNavigation(sourceItems, sourceItemId, keyCode, key, isMenuVertical, isDirectionRightToLeft) {\n var sourceItem = getItemById();\n switch (keyCode) {\n case Keys.left:\n return getIdUponLeftKey();\n case Keys.right:\n return getIdUponRightKey();\n case Keys.up:\n return getIdUponUpKey();\n case Keys.down:\n return getIdUponDownKey();\n case Keys.enter:\n case Keys.space:\n return getIdUponEnterAndSpaceKeys();\n case Keys.home:\n return getIdUponHomeKey();\n case Keys.end:\n return getIdUponEndKey();\n case Keys.esc:\n return getIdUponEscKey();\n default:\n return isSearchableKey() ? getIdUponSearchByChar() : sourceItemId;\n }\n function getIdUponLeftKey() {\n if (isMenuVertical) {\n return isDirectionRightToLeft ? getIdUponRightKeyForVerticalMenu() : getIdUponLeftKeyForVerticalMenu();\n }\n else {\n return isDirectionRightToLeft ?\n getIdUponRightKeyForHorizontalMenu() : getIdUponLeftKeyForHorizontalMenu();\n }\n }\n function getIdUponRightKey() {\n if (isMenuVertical) {\n return isDirectionRightToLeft ? getIdUponLeftKeyForVerticalMenu() : getIdUponRightKeyForVerticalMenu();\n }\n else {\n return isDirectionRightToLeft ?\n getIdUponLeftKeyForHorizontalMenu() : getIdUponRightKeyForHorizontalMenu();\n }\n }\n function getIdUponDownKey() {\n if (isMenuVertical) {\n return getNextSiblingId();\n }\n else {\n if (isIdZeroLevel(sourceItemId)) {\n return getFirstChildIdForEnabledItemOrGetSameId();\n }\n else {\n return getNextSiblingId();\n }\n }\n }\n function getIdUponUpKey() {\n if (isMenuVertical) {\n return getPrevSiblingId();\n }\n else {\n if (isIdZeroLevel(sourceItemId)) {\n return getLastChildIdForEnabledItemOrGetSameId();\n }\n else {\n return getPrevSiblingId();\n }\n }\n }\n function getIdUponEnterAndSpaceKeys() {\n if (sourceItem.disabled) {\n return sourceItemId;\n }\n else {\n return hasChildren() ? getFirstChildId(sourceItemId) : getRootParentId(sourceItemId);\n }\n }\n function getIdUponHomeKey() {\n return getSiblings()[0].id;\n }\n function getIdUponEndKey() {\n var siblings = getSiblings();\n return siblings[siblings.length - 1].id;\n }\n function getIdUponEscKey() {\n return isIdZeroLevel(sourceItemId) ? sourceItemId : getDirectParentId(sourceItemId);\n }\n function getIdUponSearchByChar() {\n var searchChar = key.toLowerCase();\n var siblings = getSiblings();\n var currentItemIndex = Number(getShortId(sourceItemId));\n var itemsToSearch = siblings.slice(currentItemIndex + 1).concat(siblings.slice(0, currentItemIndex + 1));\n var matchedSibling = itemsToSearch.find(function (item) {\n return (item.text || '').toLowerCase().startsWith(searchChar);\n });\n return matchedSibling ? matchedSibling.id : sourceItemId;\n }\n // #region Left Key Internals\n function getIdUponLeftKeyForHorizontalMenu() {\n if (isIdZeroLevel(sourceItemId)) {\n return getPrevSiblingId();\n }\n else if (isIdFirstLevel(sourceItemId)) {\n return getFirstChildIdForEnabledItemOrGetSameId(getPrevSiblingId(getRootParentId(sourceItemId)));\n }\n else {\n return getDirectParentId(sourceItemId);\n }\n }\n function getIdUponLeftKeyForVerticalMenu() {\n if (isIdZeroLevel(sourceItemId)) {\n return getLastChildIdForEnabledItemOrGetSameId();\n }\n else {\n return getDirectParentId(sourceItemId);\n }\n }\n // #endregion\n // #region Right Key Internals\n function getIdUponRightKeyForHorizontalMenu() {\n if (isIdZeroLevel(sourceItemId)) {\n return getNextSiblingId();\n }\n else {\n return getFirstChildIdForEnabledItemOrGetSameId(hasChildren() ? sourceItemId : getNextSiblingId(getRootParentId(sourceItemId)));\n }\n }\n function getIdUponRightKeyForVerticalMenu() {\n return getFirstChildIdForEnabledItemOrGetSameId(isIdZeroLevel(sourceItemId) || hasChildren() ?\n sourceItemId : getNextSiblingId(getRootParentId(sourceItemId)));\n }\n // #endregion\n // #region Utils\n function getFirstChildIdForEnabledItemOrGetSameId(itemId) {\n return getFirstOrLastChildIdForEnabledItemOrGetSameId(true, itemId);\n }\n function getLastChildIdForEnabledItemOrGetSameId(itemId) {\n return getFirstOrLastChildIdForEnabledItemOrGetSameId(false, itemId);\n }\n function isSearchableKey() {\n return key.length === 1 && NO_WHITESPACE_REGEX.test(key);\n }\n function getItemById(itemId, items) {\n if (itemId === undefined) {\n itemId = sourceItemId;\n }\n if (items === undefined) {\n items = sourceItems;\n }\n return getItemByIdUtil(itemId, items);\n }\n function hasChildren(itemId) {\n return getItemById(itemId).items.length > 0;\n }\n function getPrevSiblingId(itemId) {\n return getSiblingId(false, itemId);\n }\n function getNextSiblingId(itemId) {\n return getSiblingId(true, itemId);\n }\n function getLastChildId(itemId) {\n var itemChildren = getItemById(itemId).items;\n return itemChildren[itemChildren.length - 1].id;\n }\n function getSiblings() {\n return isIdZeroLevel(sourceItemId) ?\n sourceItems : getItemById(getDirectParentId(sourceItemId), sourceItems).items;\n }\n function getFirstOrLastChildIdForEnabledItemOrGetSameId(getFirstChild, itemId) {\n if (itemId === undefined) {\n itemId = sourceItemId;\n }\n var item = getItemById(itemId);\n if (hasChildren(itemId) && !item.disabled) {\n return getFirstChild ? getFirstChildId(itemId) : getLastChildId(itemId);\n }\n else {\n return itemId;\n }\n }\n function getSiblingId(next, itemId) {\n if (itemId === undefined) {\n itemId = sourceItemId;\n }\n if (isIdZeroLevel(itemId)) {\n return getDirectSiblingIdForLevelZero(next, itemId, sourceItems.length);\n }\n else {\n var directParentId = getDirectParentId(itemId);\n var shortId = getShortId(itemId);\n var siblingsCount = getItemById(directParentId).items.length;\n return createId(getDirectSiblingIdForLevelZero(next, shortId, siblingsCount), directParentId);\n }\n }\n // #endregion\n}\n","/**\n * @hidden\n */\nvar DirectionHolder = /** @class */ (function () {\n function DirectionHolder() {\n // The phase changes in the following sequence:\n // NotInitialized -> Initialized -> NewValueReceived.\n this.phase = 'Initialized';\n }\n DirectionHolder.prototype.getIsDirectionRightToLeft = function () {\n return this.isDirectionRightToLeft;\n };\n DirectionHolder.prototype.setIsDirectionRightToLeft = function (value) {\n this.phase = this.phase === 'NotInitialized' ? 'Initialized' : 'NewValueReceived';\n this.previousIsDirectionRightToLeft = this.isDirectionRightToLeft;\n this.isDirectionRightToLeft = value;\n };\n DirectionHolder.prototype.hasDirectionChanged = function () {\n return this.phase === 'NewValueReceived' ?\n this.previousIsDirectionRightToLeft !== this.isDirectionRightToLeft : false;\n };\n return DirectionHolder;\n}());\nexport { DirectionHolder };\n","var _a;\n/**\n * @hidden\n */\nexport var splitBarLabel = 'splitBarLabel';\n/**\n * @hidden\n */\nexport var messages = (_a = {},\n _a[splitBarLabel] = 'split bar',\n _a);\n","export var avatarType;\n(function (avatarType) {\n avatarType[\"TEXT\"] = \"text\";\n avatarType[\"IMAGE\"] = \"image\";\n avatarType[\"ICON\"] = \"icon\";\n})(avatarType || (avatarType = {}));\nexport var cardOrientation;\n(function (cardOrientation) {\n cardOrientation[\"HORIZONTAL\"] = \"horizontal\";\n cardOrientation[\"VERTICAL\"] = \"vertical\";\n})(cardOrientation || (cardOrientation = {}));\nexport var cardType;\n(function (cardType) {\n cardType[\"DEFAULT\"] = \"default\";\n cardType[\"primary\"] = \"primary\";\n cardType[\"INFO\"] = \"info\";\n cardType[\"SUCCESS\"] = \"success\";\n cardType[\"WARNING\"] = \"warning\";\n cardType[\"ERROR\"] = \"error\";\n})(cardType || (cardType = {}));\nexport var cardActionsLayout;\n(function (cardActionsLayout) {\n cardActionsLayout[\"START\"] = \"start\";\n cardActionsLayout[\"CENTER\"] = \"center\";\n cardActionsLayout[\"END\"] = \"end\";\n cardActionsLayout[\"STRETCHED\"] = \"stretched\";\n})(cardActionsLayout || (cardActionsLayout = {}));\n","/**\n * @hidden\n */\nvar MouseOverHandler = /** @class */ (function () {\n function MouseOverHandler(openOnClick, resetMenu, openItem) {\n this.openOnClick = openOnClick;\n this.resetMenu = resetMenu;\n this.openItem = openItem;\n this.mouseDown = false;\n this.openOnClick = openOnClick;\n this.isMouseOverEnabled = openOnClick ? false : true;\n }\n Object.defineProperty(MouseOverHandler.prototype, \"OpenOnClick\", {\n set: function (value) {\n if (Boolean(value) !== Boolean(this.openOnClick)) {\n this.mouseDown = false;\n this.isMouseOverEnabled = value ? false : true;\n }\n this.openOnClick = value;\n },\n enumerable: false,\n configurable: true\n });\n MouseOverHandler.prototype.handleItemSelectedViaKeyboard = function () {\n if (this.openOnClick) {\n this.isMouseOverEnabled = false;\n this.resetMenu();\n }\n };\n Object.defineProperty(MouseOverHandler.prototype, \"IsMouseOverEnabled\", {\n get: function () {\n return this.isMouseOverEnabled;\n },\n enumerable: false,\n configurable: true\n });\n MouseOverHandler.prototype.handleItemMouseDown = function () {\n this.mouseDown = true;\n };\n MouseOverHandler.prototype.handleItemFocus = function () {\n // Keep opening on mouse over upon tabbing\n // and keyboard navigation. However, discard the event\n // upon click because a cycle occurs and the item does not open.\n if (this.openOnClick && !this.mouseDown) {\n this.isMouseOverEnabled = true;\n }\n this.mouseDown = false;\n };\n MouseOverHandler.prototype.handleItemClick = function (itemId, clickedItemIsWithDefaultClose) {\n if (this.openOnClick) {\n if (this.isMouseOverEnabled) {\n if (clickedItemIsWithDefaultClose) {\n this.isMouseOverEnabled = false;\n this.resetMenu();\n }\n }\n else {\n this.isMouseOverEnabled = true;\n this.openItem(itemId);\n }\n }\n };\n return MouseOverHandler;\n}());\nexport { MouseOverHandler };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames, Keys, guid, dispatchEvent } from '@progress/kendo-react-common';\nimport { getDirectParentId, isIdEmptyOrZeroLevel, EMPTY_ID, ZERO_LEVEL_ZERO_ITEM_ID, getRootParentId, getItemById } from '../utils/itemsIdsUtils';\nimport { prepareInputItemsForInternalWork } from '../utils/prepareInputItemsForInternalWork';\nimport { getNewItemIdUponKeyboardNavigation } from '../utils/getNewItemIdUponKeyboardNavigation';\nimport { getHoverOpenDelay, getHoverCloseDelay } from '../utils/hoverDelay';\nimport { MenuItemInternalsList } from './MenuItemInternalsList';\nimport { DirectionHolder } from '../utils/DirectionHolder';\nimport { MouseOverHandler } from '../utils/MouseOverHandler';\nimport { validatePackage } from '@progress/kendo-react-common';\nimport { packageMetadata } from '../../package-metadata';\nvar initialItemsIds = {\n focusedItemId: EMPTY_ID,\n hoveredItemId: EMPTY_ID,\n tabbableItemId: ZERO_LEVEL_ZERO_ITEM_ID\n};\n/**\n * Represents the [KendoReact Menu component]({% slug overview_menu %}).\n *\n * @example\n * ```jsx\n * class App extends React.Component {\n * render() {\n * return (\n * \n * \n * \n * \n * \n * \n * \n * \n * );\n * }\n * }\n * ReactDOM.render(, document.querySelector('my-app'));\n * ```\n */\nvar Menu = /** @class */ (function (_super) {\n __extends(Menu, _super);\n function Menu(props) {\n var _this = _super.call(this, props) || this;\n _this.menuWrapperEl = null;\n _this.guid = guid();\n _this.directionHolder = new DirectionHolder();\n _this.inputItems = [];\n _this.items = [];\n /**\n * Resets the selection and opening of Menu items.\n */\n _this.reset = function () {\n _this.clearItemHoverAndLeaveRequestsIfApplicable();\n _this.setState(initialItemsIds);\n };\n _this.onKeyDown = function (event) {\n // The focusedItemId may be empty when contentRender is used.\n // For example, content with input.\n if (_this.state.focusedItemId !== EMPTY_ID) {\n var currentItem = getItemById(_this.state.focusedItemId, _this.items);\n var newItemId = getNewItemIdUponKeyboardNavigation(_this.items, currentItem.id, event.keyCode, event.key, _this.props.vertical, _this.directionHolder.getIsDirectionRightToLeft());\n if (currentItem.id !== newItemId) {\n event.preventDefault();\n _this.setFocusedItemId(newItemId);\n }\n if ((event.keyCode === Keys.enter || event.keyCode === Keys.space) && !currentItem.disabled) {\n _this.mouseOverHandler.handleItemSelectedViaKeyboard();\n _this.dispatchSelectEventIfWired(event, currentItem.id);\n if (!event.isDefaultPrevented() && currentItem.items.length === 0 && currentItem.url) {\n window.location.assign(currentItem.url);\n }\n }\n }\n if (event.keyCode === Keys.esc && _this.props.onClose) {\n _this.props.onClose.call(undefined, event);\n }\n };\n _this.onItemMouseOver = function (itemId) {\n if (_this.mouseOverHandler.IsMouseOverEnabled) {\n // The `over` event can get fired even without actually leaving the item.\n // For example, move the mouse little by little over the item content.\n _this.clearItemHoverAndLeaveRequestsIfApplicable();\n _this.itemHoverRequest = window.setTimeout(function () {\n _this.setHoveredItemId(itemId);\n _this.itemHoverRequest = null;\n }, getHoverOpenDelay(_this.props));\n }\n };\n _this.onItemMouseLeave = function (itemId) {\n if (_this.mouseOverHandler.IsMouseOverEnabled && _this.isItemWithDefaultClose(itemId)) {\n // Both the `leave` and `hover` requests are cleared\n // to be defensive and consistent with the `over` handler.\n _this.clearItemHoverAndLeaveRequestsIfApplicable();\n _this.itemLeaveRequest = window.setTimeout(function () {\n _this.setHoveredItemId(EMPTY_ID);\n _this.itemLeaveRequest = null;\n }, getHoverCloseDelay(_this.props));\n }\n };\n _this.onItemMouseDown = function () {\n _this.mouseOverHandler.handleItemMouseDown();\n };\n _this.onItemFocus = function (itemId) {\n _this.setFocusedItemId(itemId);\n _this.mouseOverHandler.handleItemFocus();\n };\n _this.onItemClick = function (event, itemId) {\n var item = getItemById(itemId, _this.items);\n if (!item.disabled) {\n _this.setFocusedItemId(itemId);\n _this.mouseOverHandler.handleItemClick(itemId, _this.isItemWithDefaultClose(itemId));\n _this.dispatchSelectEventIfWired(event, itemId);\n if (!event.isDefaultPrevented() && item.url) {\n window.location.assign(item.url);\n }\n }\n };\n _this.onItemBlur = function (itemId, event) {\n if (_this.isItemWithDefaultClose(itemId)) {\n _this.setFocusedItemId(EMPTY_ID);\n }\n if (event.relatedTarget && event.relatedTarget.nodeName === 'LI') {\n var activeElementId = event.relatedTarget.getAttribute('id');\n if (activeElementId && activeElementId.includes(_this.guid)) {\n return;\n }\n }\n if (_this.props.onClose) {\n _this.props.onClose.call(undefined, event);\n }\n };\n _this.getInputItem = function (itemId) {\n return getItemById(itemId, _this.inputItems);\n };\n validatePackage(packageMetadata);\n _this.mouseOverHandler = new MouseOverHandler(_this.props.openOnClick, _this.reset, _this.onItemMouseOver);\n _this.state = Object.assign({}, initialItemsIds, { isFirstRender: true });\n return _this;\n }\n Object.defineProperty(Menu.prototype, \"element\", {\n get: function () {\n return this.menuWrapperEl;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * @hidden\n */\n Menu.prototype.render = function () {\n var _this = this;\n this.prepareItems();\n if (!this.state.isFirstRender) {\n this.directionHolder.setIsDirectionRightToLeft(this.checkIsDirectionRightToLeft());\n }\n var lastItemIdToBeOpened = this.state.hoveredItemId ?\n this.state.hoveredItemId :\n this.state.focusedItemId ? getDirectParentId(this.state.focusedItemId) : EMPTY_ID;\n return (React.createElement(\"div\", { onKeyDown: this.onKeyDown, style: this.props.style, className: this.directionHolder.getIsDirectionRightToLeft() ? 'k-rtl' : undefined, ref: function (el) { return _this.menuWrapperEl = el; } },\n React.createElement(MenuItemInternalsList, { className: this.getMenuClassName(), \"aria-orientation\": this.props.vertical ? 'vertical' : undefined, items: this.items, isMenuVertical: this.props.vertical, isDirectionRightToLeft: this.directionHolder.getIsDirectionRightToLeft(), focusedItemId: this.state.focusedItemId, lastItemIdToBeOpened: lastItemIdToBeOpened, tabbableItemId: this.state.tabbableItemId, itemRender: this.props.itemRender, linkRender: this.props.linkRender, menuGuid: this.guid, onMouseLeave: this.onItemMouseLeave, onMouseOver: this.onItemMouseOver, onMouseDown: this.onItemMouseDown, onFocus: this.onItemFocus, onClick: this.onItemClick, onBlur: this.onItemBlur, onOriginalItemNeeded: this.getInputItem, role: this.props.role })));\n };\n /**\n * @hidden\n */\n Menu.prototype.componentDidMount = function () {\n this.setState({ isFirstRender: false });\n };\n /**\n * @hidden\n */\n Menu.prototype.componentDidUpdate = function (prevProps) {\n // Reset the Menu upon big UI changes\n // to avoid misleading the user and to\n // keep the component consistent.\n if (Boolean(prevProps.vertical) !== Boolean(this.props.vertical) ||\n this.directionHolder.hasDirectionChanged()) {\n this.reset();\n }\n this.mouseOverHandler.OpenOnClick = this.props.openOnClick;\n };\n /**\n * @hidden\n */\n Menu.prototype.componentWillUnmount = function () {\n this.clearItemHoverAndLeaveRequestsIfApplicable();\n };\n Menu.prototype.setFocusedItemId = function (focusedItemId) {\n this.setState(function (prevState) {\n var tabbableItemId = focusedItemId === EMPTY_ID ?\n prevState.tabbableItemId : getRootParentId(focusedItemId);\n var hoveredItemId = focusedItemId === EMPTY_ID ||\n (isIdEmptyOrZeroLevel(prevState.hoveredItemId) && isIdEmptyOrZeroLevel(focusedItemId)) ?\n prevState.hoveredItemId : EMPTY_ID;\n return { hoveredItemId: hoveredItemId, focusedItemId: focusedItemId, tabbableItemId: tabbableItemId };\n });\n };\n Menu.prototype.setHoveredItemId = function (hoveredItemId) {\n this.setState(function (prevState) {\n if (isIdEmptyOrZeroLevel(hoveredItemId) && isIdEmptyOrZeroLevel(prevState.focusedItemId)) {\n return {\n hoveredItemId: hoveredItemId,\n focusedItemId: prevState.focusedItemId,\n tabbableItemId: prevState.tabbableItemId\n };\n }\n else {\n return { hoveredItemId: hoveredItemId, focusedItemId: EMPTY_ID, tabbableItemId: ZERO_LEVEL_ZERO_ITEM_ID };\n }\n });\n };\n Menu.prototype.getMenuClassName = function () {\n return classNames('k-reset', 'k-header', 'k-menu', { 'k-menu-horizontal': !this.props.vertical }, { 'k-menu-vertical': this.props.vertical }, this.props.className);\n };\n Menu.prototype.clearItemHoverAndLeaveRequestsIfApplicable = function () {\n if (this.itemHoverRequest) {\n clearTimeout(this.itemHoverRequest);\n this.itemHoverRequest = null;\n }\n if (this.itemLeaveRequest) {\n clearTimeout(this.itemLeaveRequest);\n this.itemLeaveRequest = null;\n }\n };\n Menu.prototype.isItemWithDefaultClose = function (itemId) {\n return !this.props.customCloseItemIds || this.props.customCloseItemIds.indexOf(itemId) === -1;\n };\n Menu.prototype.checkIsDirectionRightToLeft = function () {\n return Boolean(this.props.dir !== undefined ? this.props.dir === 'rtl' :\n this.menuWrapperEl && getComputedStyle(this.menuWrapperEl).direction === 'rtl');\n };\n Menu.prototype.prepareItems = function () {\n var _a = prepareInputItemsForInternalWork(this.props.items, this.props.children), items = _a.items, inputItems = _a.inputItems;\n this.items = items;\n this.inputItems = inputItems;\n };\n Menu.prototype.dispatchSelectEventIfWired = function (event, itemId) {\n dispatchEvent(this.props.onSelect, event, this, { item: this.getInputItem(itemId), itemId: itemId });\n };\n /**\n * @hidden\n */\n Menu.propTypes = {\n vertical: PropTypes.bool,\n items: PropTypes.arrayOf(PropTypes.object),\n style: PropTypes.object,\n dir: PropTypes.string,\n hoverOpenDelay: PropTypes.number,\n hoverCloseDelay: PropTypes.number,\n openOnClick: PropTypes.bool,\n itemRender: PropTypes.any,\n linkRender: PropTypes.any,\n customCloseItemIds: PropTypes.arrayOf(PropTypes.string),\n onSelect: PropTypes.func,\n role: PropTypes.string\n };\n /**\n * @hidden\n */\n Menu.defaultProps = { vertical: false };\n return Menu;\n}(React.Component));\nexport { Menu };\n","/**\n * @hidden\n */\nexport function getHoverOpenDelay(props) {\n if (props.hoverOpenDelay !== undefined) {\n return props.hoverOpenDelay;\n }\n else {\n return props.openOnClick ? 0 : 100;\n }\n}\n/**\n * @hidden\n */\nexport function getHoverCloseDelay(props) {\n return props.hoverCloseDelay !== undefined ? props.hoverCloseDelay : 100;\n}\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport * as React from 'react';\nimport { classNames } from '@progress/kendo-react-common';\n/**\n * @hidden\n */\nvar SplitterPane = /** @class */ (function (_super) {\n __extends(SplitterPane, _super);\n function SplitterPane() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SplitterPane.prototype.render = function () {\n var _a;\n var _b = this.props, id = _b.id, size = _b.size, collapsed = _b.collapsed, overlay = _b.overlay, containsSplitter = _b.containsSplitter, collapsible = _b.collapsible, resizable = _b.resizable, scrollable = _b.scrollable, keepMounted = _b.keepMounted;\n var fixedSize = size && size.length > 0;\n var style = {\n flexBasis: size\n };\n var paneClasses = classNames('k-pane', (_a = {},\n _a['k-hidden'] = collapsed,\n _a['hidden'] = collapsed,\n _a['k-pane-flex'] = containsSplitter,\n _a['k-pane-static'] = !resizable && !collapsible || fixedSize,\n _a['k-scrollable'] = scrollable,\n _a));\n return (React.createElement(\"div\", { id: id, role: 'group', style: style, className: paneClasses },\n !collapsed || keepMounted ? this.props.children : undefined,\n overlay ? React.createElement(\"div\", { className: 'k-splitter-overlay k-overlay' }) : undefined));\n };\n return SplitterPane;\n}(React.Component));\nexport { SplitterPane };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { SplitterPane } from './SplitterPane';\nimport { SplitterBar } from './SplitterBar';\nimport { classNames } from '@progress/kendo-react-common';\nimport { validatePackage } from '@progress/kendo-react-common';\nimport { packageMetadata } from '../package-metadata';\nimport { messages, splitBarLabel } from './messages';\nimport { provideLocalizationService } from '@progress/kendo-react-intl';\n/**\n * @hidden\n */\nvar PANE_DEFAULTS = {\n collapsible: false,\n collapsed: false,\n resizable: true,\n scrollable: true\n};\n/**\n * @hidden\n */\nvar DOUBLE_CLICK_WAIT_TIME = 150;\n/**\n * Represents the [KendoReact Splitter component]({% slug overview_splitter %}).\n *\n * @example\n * ```jsx\n * class App extends React.Component {\n * render() {\n * return (\n *
\n * \n *
Pane 1
\n *
Pane 2
\n *
Pane 3
\n * \n *
\n * );\n * }\n * }\n *\n * ReactDOM.render(, document.querySelector('my-app'));\n * ```\n */\nvar Splitter = /** @class */ (function (_super) {\n __extends(Splitter, _super);\n /**\n * @hidden\n */\n function Splitter(props) {\n var _this = _super.call(this, props) || this;\n _this._container = null;\n _this.validatePanes = function (panesOptions) {\n var withoutSize = panesOptions.filter(function (pane) { return pane.size === undefined; });\n if (!withoutSize.length) {\n throw new Error('The Splitter should have at least one pane without a set size.');\n }\n };\n _this.mapPaneOptions = function (panes, panesContent) {\n var orientation = _this.orientation;\n var _a = _this.state, dragIndex = _a.dragIndex, isDragging = _a.isDragging;\n var paneOptions = [];\n for (var index = 0; index < panesContent.length; index++) {\n var containsSplitter = false;\n var paneContent = panesContent[index];\n if (React.isValidElement(paneContent)) {\n containsSplitter = paneContent.type.displayName === 'Splitter';\n }\n var overlay = false;\n if (isDragging && dragIndex !== undefined) {\n overlay = dragIndex === index || dragIndex + 1 === index;\n }\n paneOptions.push(__assign(__assign(__assign({}, PANE_DEFAULTS), { orientation: orientation, containsSplitter: containsSplitter, overlay: overlay }), (panes || [])[index]));\n }\n return paneOptions;\n };\n _this.mapSplitterPanes = function (panes, panesContent) {\n var ariaLabel = provideLocalizationService(_this).toLanguageString(splitBarLabel, messages[splitBarLabel]);\n return panes.map(function (pane, index) {\n var splitterBar;\n var paneKey = index * 2;\n var barKey = paneKey + 1;\n if (index + 1 < panes.length) {\n var next = panes[index + 1];\n splitterBar = (React.createElement(SplitterBar, { key: barKey, index: index, orientation: pane.orientation, prev: pane, next: next, ariaLabel: ariaLabel, onDrag: _this.onBarDragResize, onToggle: _this.onBarToggle, onKeyboardResize: _this.onBarKeyboardResize, isRtl: _this.isRtl }));\n }\n var splitterPane = (React.createElement(SplitterPane, __assign({ key: paneKey }, pane), panesContent[index]));\n return [splitterPane, splitterBar];\n });\n };\n _this.onBarToggle = function (index, event) {\n var panesOptions = _this.panesOptions(_this.panesContent);\n var updatedState = panesOptions.map(function (pane, idx) {\n var paneProps = _this.getPaneProps(pane);\n if (idx === index) {\n return __assign(__assign({}, paneProps), { collapsed: !pane.collapsed });\n }\n else {\n return __assign({}, paneProps);\n }\n });\n if (_this.props.onChange) {\n _this.props.onChange({\n newState: updatedState,\n isLast: true,\n nativeEvent: event\n });\n }\n };\n _this.onBarDragResize = function (event, barElement, index, isFirst, isLast) {\n var time = new Date().getTime();\n var pageX = event.pageX, pageY = event.pageY;\n var _a = _this.surroudingPanes(barElement), prevElement = _a.prevElement, nextElement = _a.nextElement;\n if (!prevElement || !nextElement) {\n return;\n }\n if (isFirst) {\n _this.setState({\n isDragging: true,\n dragIndex: index,\n startTime: time,\n originalX: pageX,\n originalY: pageY,\n originalPrevSize: _this.elementSize(prevElement),\n originalNextSize: _this.elementSize(nextElement)\n });\n return;\n }\n var _b = _this.state, originalPrevSize = _b.originalPrevSize, originalNextSize = _b.originalNextSize, startTime = _b.startTime, originalX = _b.originalX, originalY = _b.originalY;\n if (!isFirst && time - startTime < DOUBLE_CLICK_WAIT_TIME) {\n if (isLast) {\n _this.resetDragState();\n }\n return;\n }\n var delta;\n if (_this.orientation === 'vertical') {\n delta = pageY - originalY;\n }\n else if (_this.isRtl) {\n delta = originalX - pageX;\n }\n else {\n delta = pageX - originalX;\n }\n _this.resize(index, index + 1, originalPrevSize, originalNextSize, delta, isLast, event);\n if (isLast) {\n _this.resetDragState();\n }\n };\n _this.onBarKeyboardResize = function (barElement, index, delta, event) {\n var _a = _this.surroudingPanes(barElement), prevElement = _a.prevElement, nextElement = _a.nextElement;\n var originalPrevSize = _this.elementSize(prevElement);\n var originalNextSize = _this.elementSize(nextElement);\n _this.resize(index, index + 1, originalPrevSize, originalNextSize, delta, true, event);\n };\n _this.containerSize = function () {\n if (!_this._container) {\n return 0;\n }\n return _this.elementSize(_this._container, true);\n };\n _this.panesOptions = function (panesContent) {\n return _this.mapPaneOptions(_this.panes, panesContent);\n };\n _this.elementSize = function (el, isContainer) {\n var sizeType = isContainer ? 'client' : 'offset';\n if (_this.orientation === 'vertical') {\n return el[\"\".concat(sizeType, \"Height\")];\n }\n else {\n return el[\"\".concat(sizeType, \"Width\")];\n }\n };\n _this.clamp = function (min, max, v) { return Math.min(max, Math.max(min, v)); };\n _this.fixedSize = function (size) { return size && size.length > 0; };\n validatePackage(packageMetadata);\n _this.state = {\n isDragging: false,\n dragIndex: undefined,\n startTime: 0,\n originalX: 0,\n originalY: 0,\n originalPrevSize: 0,\n originalNextSize: 0,\n panes: props.defaultPanes || []\n };\n return _this;\n }\n Object.defineProperty(Splitter.prototype, \"isControlledState\", {\n get: function () {\n return this.props.panes !== undefined;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Splitter.prototype, \"panes\", {\n get: function () {\n return this.panesDuringOnChange !== undefined ?\n this.panesDuringOnChange :\n (this.isControlledState ? this.props.panes : this.state.panes);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Splitter.prototype, \"orientation\", {\n get: function () {\n return this.props.orientation || 'horizontal';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Splitter.prototype, \"isRtl\", {\n get: function () {\n return this._container && (getComputedStyle(this._container).direction === 'rtl') || false;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Splitter.prototype, \"panesContent\", {\n get: function () {\n return React.Children.toArray(this.props.children).filter(function (c) { return c; });\n },\n enumerable: false,\n configurable: true\n });\n /**\n * @hidden\n */\n Splitter.prototype.render = function () {\n var _this = this;\n var panesContent = this.panesContent;\n var panesOptions = this.panesOptions(panesContent);\n var className = classNames('k-widget', 'k-splitter', 'k-splitter-flex', \"k-splitter-\".concat(this.orientation), this.props.className);\n this.validatePanes(panesOptions);\n return (React.createElement(\"div\", { style: this.props.style, ref: function (ref) { return _this._container = ref; }, className: className }, this.mapSplitterPanes(panesOptions, panesContent)));\n };\n Splitter.prototype.surroudingPanes = function (barElement) {\n return {\n prevElement: barElement.previousElementSibling,\n nextElement: barElement.nextElementSibling\n };\n };\n Splitter.prototype.isPercent = function (size) {\n return /%$/.test(size);\n };\n Splitter.prototype.toPixels = function (size, splitterSize) {\n var result = parseInt(size, 10);\n if (this.isPercent(size)) {\n result = (splitterSize * result / 100);\n }\n return result;\n };\n Splitter.prototype.resetDragState = function () {\n this.setState({\n isDragging: false,\n dragIndex: undefined,\n startTime: 0,\n originalX: 0,\n originalY: 0,\n originalPrevSize: 0,\n originalNextSize: 0\n });\n };\n Splitter.prototype.resize = function (prevIndex, nextIndex, originalPrevSize, originalNextSize, delta, isLast, event) {\n var _this = this;\n var panesOptions = this.panesOptions(this.panesContent);\n var prevOptions = panesOptions[prevIndex];\n var nextOptions = panesOptions[nextIndex];\n var total = originalPrevSize + originalNextSize;\n var splitterSize = this.containerSize();\n var px = function (s) { return _this.toPixels(s, splitterSize); };\n var prevDragState = {\n index: prevIndex,\n initialSize: originalPrevSize,\n min: px(prevOptions.min) || total - px(nextOptions.max) || 0,\n max: px(prevOptions.max) || total - px(nextOptions.min) || total\n };\n var nextDragState = {\n index: nextIndex,\n initialSize: originalNextSize,\n min: px(nextOptions.min) || total - px(prevOptions.max) || 0,\n max: px(nextOptions.max) || total - px(prevOptions.min) || total\n };\n var resize = function (paneState, change) {\n var pane = panesOptions[paneState.index];\n var newSize = _this.clamp(paneState.min, paneState.max, paneState.initialSize + change);\n if (_this.isPercent(pane.size || '')) {\n return 100 * newSize / splitterSize + '%';\n }\n else {\n return newSize + 'px';\n }\n };\n var prevSize;\n var nextSize;\n if (this.fixedSize(prevOptions.size) && this.fixedSize(nextOptions.size)) {\n prevSize = resize(prevDragState, delta);\n nextSize = resize(nextDragState, -delta);\n }\n else if (nextOptions.collapsible || this.fixedSize(nextOptions.size)) {\n nextSize = resize(nextDragState, -delta);\n }\n else {\n prevSize = resize(prevDragState, delta);\n }\n var updatedState = panesOptions.map(function (pane, idx) {\n var paneProps = _this.getPaneProps(pane);\n if (idx === prevIndex) {\n return __assign(__assign({}, paneProps), { size: prevSize });\n }\n else if (idx === nextIndex) {\n return __assign(__assign({}, paneProps), { size: nextSize });\n }\n else {\n return __assign({}, paneProps);\n }\n });\n this.panesDuringOnChange = updatedState;\n if (!this.isControlledState) {\n this.setState({\n panes: updatedState\n });\n }\n if (this.props.onChange) {\n this.props.onChange({\n newState: updatedState,\n isLast: isLast,\n nativeEvent: event\n });\n }\n this.panesDuringOnChange = undefined;\n };\n Splitter.prototype.getPaneProps = function (pane) {\n var orientation = pane.orientation, overlay = pane.overlay, containsSplitter = pane.containsSplitter, others = __rest(pane, [\"orientation\", \"overlay\", \"containsSplitter\"]);\n return others;\n };\n /**\n * @hidden\n */\n Splitter.displayName = 'Splitter';\n return Splitter;\n}(React.Component));\nexport { Splitter };\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames } from '@progress/kendo-react-common';\nimport { cardType } from './interfaces/Enums';\nimport { cardOrientation } from './interfaces/Enums';\nimport { validatePackage } from '@progress/kendo-react-common';\nimport { packageMetadata } from '../package-metadata';\nexport var Card = React.forwardRef(function (props, ref) {\n var _a;\n validatePackage(packageMetadata);\n var children = props.children, dir = props.dir, style = props.style, className = props.className, type = props.type, orientation = props.orientation, customProps = __rest(props, [\"children\", \"dir\", \"style\", \"className\", \"type\", \"orientation\"]);\n var target = React.useRef(null);\n var chipRef = React.useRef(null);\n React.useImperativeHandle(target, function () { return ({\n element: chipRef.current,\n props: props\n }); });\n React.useImperativeHandle(ref, function () { return target.current; });\n return (React.createElement(\"div\", __assign({ dir: dir, style: style, ref: chipRef, className: classNames('k-card', className, (_a = {}, _a[\"k-card-\".concat(type)] = type !== cardType.DEFAULT, _a), orientation !== cardOrientation.HORIZONTAL ? 'k-card-vertical' : 'k-card-horizontal') }, customProps), children));\n});\nCard.displayName = 'KendoReactCard';\nCard.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n dir: PropTypes.string,\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n style: PropTypes.object,\n type: PropTypes.oneOf(['default', 'primary', 'info', 'success', 'warning', 'error'])\n};\nCard.defaultProps = {\n type: cardType.DEFAULT,\n orientation: cardOrientation.VERTICAL\n};\n","import * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames } from '@progress/kendo-react-common';\nexport var CardHeader = function (props) {\n return (React.createElement(\"div\", { style: props.style, className: classNames('k-card-header', props.className) }, props.children));\n};\nCardHeader.propTypes = {\n className: PropTypes.string\n};\n","import * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames } from '@progress/kendo-react-common';\nexport var CardTitle = function (props) {\n return (React.createElement(\"div\", { style: props.style, className: classNames('k-card-title', props.className) }, props.children));\n};\nCardTitle.propTypes = {\n className: PropTypes.string\n};\n","import * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames } from '@progress/kendo-react-common';\nexport var CardBody = function (props) {\n return (React.createElement(\"div\", { style: props.style, className: classNames('k-card-body', props.className) }, props.children));\n};\nCardBody.propTypes = {\n className: PropTypes.string\n};\n","import * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames } from '@progress/kendo-react-common';\nimport { cardActionsLayout, cardOrientation } from './interfaces/Enums';\nexport var CardActions = function (props) {\n return (React.createElement(\"div\", { style: props.style, className: classNames('k-card-actions', props.className, \"k-card-actions-\".concat(props.layout), props.orientation !== cardOrientation.VERTICAL ? 'k-card-actions-horizontal' : 'k-card-actions-vertical') }, props.children));\n};\nCardActions.propTypes = {\n layout: PropTypes.oneOf(['stretched', 'start', 'center', 'end']),\n orientation: PropTypes.oneOf(['horizontal', 'vertical'])\n};\nCardActions.defaultProps = {\n layout: cardActionsLayout.START,\n orientation: cardOrientation.HORIZONTAL\n};\n","import * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames } from '@progress/kendo-react-common';\nexport var CardImage = function (props) {\n return (React.createElement(\"img\", { style: props.style, className: classNames('k-card-image', props.className), src: props.src }));\n};\nCardImage.propTypes = {\n className: PropTypes.string,\n src: PropTypes.string\n};\nCardImage.defaultProps = {\n src: ''\n};\n","import * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames } from '@progress/kendo-react-common';\nexport var CardSubtitle = function (props) {\n return (React.createElement(\"div\", { style: props.style, className: classNames('k-card-subtitle', props.className) }, props.children));\n};\nCardSubtitle.propTypes = {\n className: PropTypes.string\n};\n","import * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames } from '@progress/kendo-react-common';\nexport var CardFooter = function (props) {\n return (React.createElement(\"div\", { style: props.style, className: classNames('k-card-footer', props.className) }, props.children));\n};\nCardFooter.propTypes = {\n className: PropTypes.string\n};\n","/** @hidden */\nexport var kendoThemeMaps = {\n sizeMap: {\n small: 'sm',\n medium: 'md',\n large: 'lg'\n },\n roundedMap: {\n small: 'sm',\n medium: 'md',\n large: 'lg'\n }\n};\n","import * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames, kendoThemeMaps } from '@progress/kendo-react-common';\nimport { avatarType } from './interfaces/Enums';\nimport { validatePackage } from '@progress/kendo-react-common';\nimport { packageMetadata } from '../package-metadata';\nexport var Avatar = function (props) {\n var _a;\n validatePackage(packageMetadata);\n return (React.createElement(\"div\", { style: props.style, className: classNames('k-avatar', (_a = {},\n _a['k-avatar-bordered'] = props.border,\n _a[\"k-rounded-\".concat(kendoThemeMaps.roundedMap[props.rounded] || props.rounded)] = props.rounded,\n _a[\"k-avatar-\".concat(kendoThemeMaps.sizeMap[props.size] || props.size)] = props.size,\n _a[\"k-avatar-\".concat(props.fillMode)] = props.fillMode,\n _a[\"k-avatar-\".concat(props.fillMode, \"-\").concat(props.themeColor)] = Boolean(props.fillMode && props.themeColor),\n _a), props.className) },\n React.createElement(\"span\", { className: \"k-avatar-\".concat(props.type) }, props.children)));\n};\nAvatar.propTypes = {\n className: PropTypes.string,\n type: PropTypes.oneOf(['text', 'image', 'icon']),\n size: PropTypes.oneOf([null, 'small', 'medium', 'large']),\n rounded: PropTypes.oneOf([null, 'small', 'medium', 'large', 'full']),\n fillMode: PropTypes.oneOf([null, 'solid', 'outline']),\n /* eslint-disable max-len */\n themeColor: PropTypes.oneOf([null, 'base', 'dark', 'error', 'info', 'inverse', 'inverse', 'light', 'primary', 'secondary', 'success', 'tertiary', 'warning'])\n};\nAvatar.defaultProps = {\n type: avatarType.TEXT,\n size: 'medium',\n rounded: 'full',\n fillMode: 'solid',\n themeColor: 'primary'\n};\n","import * as React from 'react';\n/**\n * @hidden\n */\nvar defaultContext = {\n animation: true,\n expanded: false,\n mode: 'overlay',\n position: 'start',\n mini: false,\n dir: 'ltr',\n width: 240,\n miniWidth: 50\n};\n/** @hidden */\nexport var DrawerContext = React.createContext(defaultContext);\n","/* eslint-disable radix */\n/**\n * @hidden\n */\nvar DISABLED_TABINDEX = -1;\n/**\n * @hidden\n */\nvar DEFAULT_TABINDEX = 0;\n/**\n * @hidden\n */\nexport var getTabIndex = function (tabIndex, disabled, useDefaultTabIndexWhenDisabled) {\n var parsedTabIndex = typeof tabIndex === 'string' ? parseInt(tabIndex, undefined) : tabIndex;\n if (parsedTabIndex === NaN) {\n return undefined;\n }\n return parsedTabIndex !== undefined\n ? parsedTabIndex\n : disabled ?\n (useDefaultTabIndexWhenDisabled ? undefined : DISABLED_TABINDEX)\n : DEFAULT_TABINDEX;\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames, getTabIndex, IconWrap, svgIconPropType, toIconName } from '@progress/kendo-react-common';\nimport { DrawerContext } from './context/DrawerContext';\n/**\n * Represents the [KendoReact Drawer component]({% slug overview_drawer %}).\n *\n * @example\n * ```jsx\n * const App = () => {\n * const [stateVisible, setStateVisible] = React.useState(true);\n * const handleClick = () => { setStateVisible(prevState => !prevState); };\n *\n * return (\n * \n * \n * \n * \n * \n * \n * \n * \n * \n * \n * \n * \n * );\n * };\n *\n * ReactDOM.render(, document.querySelector('my-app'));\n * ```\n */\nexport var DrawerItem = React.forwardRef(function (props, target) {\n var className = props.className, style = props.style, text = props.text, icon = props.icon, svgIcon = props.svgIcon, separator = props.separator, disabled = props.disabled, selected = props.selected, onSelect = props.onSelect, index = props.index, tabIndex = props.tabIndex, children = props.children, others = __rest(props, [\"className\", \"style\", \"text\", \"icon\", \"svgIcon\", \"separator\", \"disabled\", \"selected\", \"onSelect\", \"index\", \"tabIndex\", \"children\"]);\n var _a = React.useContext(DrawerContext), expanded = _a.expanded, mini = _a.mini, item = _a.item;\n var elementRef = React.useRef(null);\n var focusElement = React.useCallback(function () {\n if (elementRef.current) {\n elementRef.current.focus();\n }\n }, []);\n React.useImperativeHandle(target, function () { return ({\n element: elementRef.current,\n focus: focusElement,\n props: props\n }); });\n var itemClassNames = classNames('k-drawer-item', {\n 'k-selected': selected,\n 'k-disabled': disabled\n }, className);\n var handleClick = React.useCallback(function (event) {\n if (onSelect && !disabled) {\n var handle = {\n element: elementRef.current,\n focus: focusElement,\n props: props\n };\n onSelect(handle, index, event);\n }\n }, [onSelect, index, disabled]);\n var drawerItemContent = (React.createElement(React.Fragment, null,\n (icon || svgIcon) && React.createElement(IconWrap, { name: icon ? toIconName(icon) : icon, icon: svgIcon }),\n !expanded && mini ? null : React.createElement(\"span\", { className: 'k-item-text' }, text)));\n return (separator\n ? React.createElement(\"li\", { className: 'k-drawer-item k-drawer-separator', role: \"separator\" })\n : (React.createElement(\"li\", __assign({ ref: elementRef, className: itemClassNames, style: style, role: \"menuitem\", \"aria-label\": text, \"aria-disabled\": disabled, onClick: handleClick, tabIndex: getTabIndex(tabIndex, disabled) }, others), !item ? drawerItemContent : children)));\n});\nDrawerItem.propTypes = {\n className: PropTypes.string,\n style: PropTypes.object,\n text: PropTypes.string,\n icon: PropTypes.string,\n svgIcon: svgIconPropType,\n separator: PropTypes.bool,\n selected: PropTypes.bool,\n disabled: PropTypes.bool,\n targetItem: PropTypes.any\n};\nDrawerItem.displayName = 'KendoDrawerItem';\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { DrawerContext } from './context/DrawerContext';\nimport { DrawerItem } from './DrawerItem';\nimport { classNames } from '@progress/kendo-react-common';\n/**\n * @hidden\n */\nvar DEFAULT_EXPANDED_WIDTH = 240;\n/**\n * @hidden\n */\nvar DEFAULT_MINI_WIDTH = 50;\n/**\n * @hidden\n */\nvar DEFAULT_ANIMATION = { type: 'slide', duration: 200 };\n/**\n * @hidden\n */\nvar NO_ANIMATION = { type: 'slide', duration: 0 };\n/**\n * Represents the [KendoReact Drawer component]({% slug overview_drawer %}).\n *\n * @example\n * ```jsx\n * const App = () => {\n * const [expanded, setExpanded] = React.useState(true);\n * const handleClick = () => setExpanded(prevState => !prevState);\n *\n * return (\n * \n * \n *
    \n *
  • \n * Home\n *
  • \n *
  • \n * Products\n *
  • \n *
  • \n * About\n *
  • \n *
\n *
\n * \n * \n * \n *
\n * );\n * };\n * ReactDOM.render(, document.querySelector('my-app'));\n * ```\n */\nexport var DrawerNavigation = React.forwardRef(function (props, target) {\n var children = props.children, className = props.className, style = props.style;\n var _a = React.useContext(DrawerContext), animation = _a.animation, expanded = _a.expanded, mode = _a.mode, position = _a.position, onOverlayClick = _a.onOverlayClick, mini = _a.mini, dir = _a.dir, width = _a.width, miniWidth = _a.miniWidth, items = _a.items, item = _a.item, onSelect = _a.onSelect;\n var elementRef = React.useRef(null);\n var focusElement = React.useCallback(function () {\n if (elementRef.current) {\n elementRef.current.focus();\n }\n }, []);\n var customSettings = typeof animation !== 'boolean' ? animation : animation === false ? NO_ANIMATION : DEFAULT_ANIMATION;\n var navWidth = width ? width : DEFAULT_EXPANDED_WIDTH;\n var navMiniWidth = miniWidth ? miniWidth : DEFAULT_MINI_WIDTH;\n React.useImperativeHandle(target, function () { return ({\n element: elementRef.current,\n focus: focusElement\n }); });\n var navigationClassNames = React.useMemo(function () { return 'k-widget k-drawer ' + classNames({\n 'k-drawer-start': position === 'start',\n 'k-drawer-end': position === 'end'\n }, className); }, [position]);\n var expandPush = {\n opacity: 1,\n flexBasis: navWidth,\n WebkitTransition: 'all ' + (customSettings && customSettings.duration) + 'ms',\n transition: 'all ' + (customSettings && customSettings.duration) + 'ms'\n };\n var expandOverlay = {\n opacity: 1,\n transform: 'translateX(0px)',\n WebkitTransition: 'all ' + (customSettings && customSettings.duration) + 'ms',\n transition: 'all ' + (customSettings && customSettings.duration) + 'ms'\n };\n var collapsePush = {\n opacity: !mini ? 0 : 1,\n flexBasis: !mini ? 0 : navMiniWidth,\n WebkitTransition: 'all ' + (customSettings && customSettings.duration) + 'ms',\n transition: 'all ' + (customSettings && customSettings.duration) + 'ms'\n };\n var collapseOverlay = {\n opacity: 0,\n transform: 'translateX(-100%)',\n WebkitTransition: 'all ' + (customSettings && customSettings.duration) + 'ms',\n transition: 'all ' + (customSettings && customSettings.duration) + 'ms'\n };\n var collapseOverlayRtl = {\n opacity: 0,\n transform: 'translateX(100%)',\n WebkitTransition: 'all ' + (customSettings && customSettings.duration) + 'ms',\n transition: 'all ' + (customSettings && customSettings.duration) + 'ms'\n };\n var collapseOverlayMini = {\n transform: 'translateX(0%)',\n WebkitTransitionDuration: (customSettings && customSettings.duration) + 'ms',\n transitionDuration: (customSettings && customSettings.duration) + 'ms'\n };\n var drawerAnimation = expanded ?\n mode === 'push' ? expandPush : expandOverlay :\n mode === 'push' ? collapsePush :\n (dir === 'ltr' && position === 'start') || (dir === 'rtl' && position === 'end') ?\n mini ? collapseOverlayMini : collapseOverlay :\n mini ? collapseOverlayMini : collapseOverlayRtl;\n var drawerItems = (items && (React.createElement(\"ul\", { className: 'k-drawer-items', role: \"menubar\", \"aria-label\": \"drawer-list\", \"aria-expanded\": expanded }, items\n .map(function (element, index) {\n var drawerItemProps = __assign(__assign({ index: index }, element), { onSelect: onSelect });\n var ItemComp = item || DrawerItem;\n return (React.createElement(ItemComp, __assign({ key: index }, drawerItemProps)));\n }))));\n var drawerNavigation = (React.createElement(\"div\", { style: customSettings ? __assign(__assign({}, drawerAnimation), style) : style, className: navigationClassNames, ref: elementRef },\n React.createElement(\"div\", { className: 'k-drawer-wrapper', style: !expanded && mini && mode === 'overlay' ? { width: navMiniWidth } : { width: navWidth } }, drawerItems || children)));\n return (mode === 'overlay' ?\n (React.createElement(React.Fragment, null,\n expanded && React.createElement(\"div\", { className: \"k-overlay\", onClick: onOverlayClick }),\n drawerNavigation))\n : drawerNavigation);\n});\nDrawerNavigation.propTypes = {\n children: PropTypes.any,\n className: PropTypes.string,\n style: PropTypes.object,\n item: PropTypes.any,\n tabIndex: PropTypes.number\n};\nDrawerNavigation.displayName = 'KendoDrawerNavigation';\n","import * as React from 'react';\n/**\n * @hidden\n */\nexport function useDir(elementRef, initialDir, args) {\n // Dir prop is read only on initial rendering due to specifics of getComputedStyles - see below\n var _a = React.useState(initialDir), dir = _a[0], setDir = _a[1];\n React.useEffect(function () {\n if (!dir && window && elementRef.current) {\n // Note: getComputedStyle forces reflow\n var rtlCandidate = window.getComputedStyle(elementRef.current).direction;\n if (rtlCandidate) {\n // rerender is needed as DOM is read after first render\n setDir(rtlCandidate);\n }\n }\n }, args);\n return dir;\n}\n","var _this = this;\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { DrawerContext } from './context/DrawerContext';\nimport { DrawerNavigation } from './DrawerNavigation';\nimport { classNames, useDir } from '@progress/kendo-react-common';\nimport { validatePackage } from '@progress/kendo-react-common';\nimport { packageMetadata } from '../package-metadata';\n/**\n * Represents the [KendoReact Drawer component]({% slug overview_drawer %}).\n *\n * @example\n * ```jsx\n * const App = () => {\n * const items = [\n * { text: 'Inbox', icon: 'k-i-inbox', selected: true },\n * { separator: true },\n * { text: 'Notifications', icon: 'k-i-bell', disabled: true },\n * { text: 'Calendar', icon: 'k-i-calendar' },\n * { separator: true },\n * { text: 'Attachments', icon: 'k-i-hyperlink-email' },\n * { text: 'Favourites', icon: 'k-i-star-outline' }\n * ];\n *\n * const [expanded, setExpanded] = React.useState(true);\n * const handleClick = () => setExpanded(prevState => !prevState);\n *\n * return (\n * \n * \n * \n * \n * \n * );\n * };\n * ReactDOM.render(, document.querySelector('my-app'));\n * ```\n */\nexport var Drawer = React.forwardRef(function (props, target) {\n validatePackage(packageMetadata);\n var expanded = props.expanded, mode = props.mode, position = props.position, className = props.className, children = props.children, style = props.style, animation = props.animation, mini = props.mini, width = props.width, miniWidth = props.miniWidth, items = props.items, item = props.item, tabIndex = props.tabIndex, onOverlayClick = props.onOverlayClick, onSelect = props.onSelect;\n var elementRef = React.useRef(null);\n var focusElement = React.useCallback(function () {\n if (elementRef.current) {\n elementRef.current.focus();\n }\n }, []);\n React.useImperativeHandle(target, function () { return ({\n element: elementRef.current,\n focus: focusElement\n }); });\n var handleSelect = React.useCallback(function (itemTarget, itemIndex, event) {\n if (items && onSelect) {\n var ev = {\n itemTarget: itemTarget,\n itemIndex: itemIndex,\n syntheticEvent: event,\n nativeEvent: event && event.nativeEvent,\n target: _this\n };\n onSelect.call(undefined, ev);\n }\n }, [items, onSelect]);\n var dir = useDir(elementRef, props.dir);\n var drawerClassNames = classNames({\n 'k-drawer-container': true,\n 'k-drawer-expanded': expanded,\n 'k-drawer-overlay': mode === 'overlay',\n 'k-drawer-push': mode === 'push',\n 'k-drawer-mini': mini\n }, className);\n return (React.createElement(DrawerContext.Provider, { value: {\n animation: animation,\n expanded: expanded,\n mode: mode,\n position: position,\n mini: mini,\n dir: dir,\n items: items,\n item: item,\n width: width,\n miniWidth: miniWidth,\n onOverlayClick: onOverlayClick,\n onSelect: handleSelect\n } },\n React.createElement(\"div\", { className: drawerClassNames, ref: elementRef, dir: dir, style: style, tabIndex: tabIndex },\n items && React.createElement(DrawerNavigation, null),\n children)));\n});\nDrawer.propTypes = {\n animation: PropTypes.any,\n expanded: PropTypes.bool,\n children: PropTypes.any,\n className: PropTypes.string,\n dir: PropTypes.string,\n mode: PropTypes.string,\n position: PropTypes.string,\n mini: PropTypes.bool,\n style: PropTypes.object,\n tabIndex: PropTypes.number,\n width: PropTypes.number,\n miniWidth: PropTypes.number,\n selected: PropTypes.number,\n onSelect: PropTypes.func,\n onOverlayClick: PropTypes.func\n};\nvar defaultProps = {\n animation: true,\n expanded: false,\n mode: 'overlay',\n position: 'start',\n mini: false,\n dir: 'ltr',\n width: 240,\n miniWidth: 50\n};\nDrawer.defaultProps = defaultProps;\nDrawer.displayName = 'KendoDrawer';\n","import * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames } from '@progress/kendo-react-common';\n/**\n * Represents the [KendoReact Drawer component]({% slug overview_drawer %}).\n *\n * @example\n * ```jsx\n * const App = () => {\n * const items = [\n * { text: 'Inbox', icon: 'k-i-inbox', selected: true },\n * { separator: true },\n * { text: 'Notifications', icon: 'k-i-bell', disabled: true },\n * { text: 'Calendar', icon: 'k-i-calendar' },\n * { separator: true },\n * { text: 'Attachments', icon: 'k-i-hyperlink-email' },\n * { text: 'Favourites', icon: 'k-i-star-outline' }\n * ];\n *\n * const [expanded, setExpanded] = React.useState(true);\n * const handleClick = () => setExpanded(prevState => !prevState);\n *\n * return (\n * \n * \n * \n * \n * \n * );\n * };\n * ReactDOM.render(, document.querySelector('my-app'));\n * ```\n */\nexport var DrawerContent = React.forwardRef(function (props, target) {\n var children = props.children, className = props.className, style = props.style;\n var elementRef = React.useRef(null);\n React.useImperativeHandle(target, function () { return ({\n element: elementRef.current\n }); });\n var contentClassNames = classNames({\n 'k-drawer-content': true\n }, className);\n return (React.createElement(\"div\", { className: contentClassNames, style: style, ref: elementRef }, children));\n});\nDrawerContent.propTypes = {\n children: PropTypes.any,\n className: PropTypes.string,\n style: PropTypes.object\n};\nDrawerContent.displayName = 'KendoDrawerContent';\n","import * as React from 'react';\n/**\n * @hidden\n */\nvar defaultContext = {\n linear: false,\n mode: 'steps',\n value: 0\n};\n/** @hidden */\nexport var StepperContext = React.createContext(defaultContext);\n","/**\n * @hidden\n */\nexport var focusFirstFocusableChild = function (target) {\n if (target) {\n if ((target instanceof HTMLInputElement || target.tabIndex !== -1) && target.focus) {\n target.focus();\n return;\n }\n var element = target.querySelector('input, [tabindex]:not([tabindex=\"-1\"])');\n if (element && element.focus) {\n element.focus();\n }\n }\n};\n","import * as React from 'react';\n// Same as 'useDir'. Export to avoid breaking change.\n// 'useRtl' is incorrect naming, since applies that the returned value is `true` or `false`.\n// but instead, it is returning `ltr` or `rtl`.\n/**\n * @hidden\n */\nexport function useRtl(elementRef, initialDir, args) {\n // Dir prop is read only on initial rendering due to specifics of getComputedStyles - see below\n var _a = React.useState(initialDir), dir = _a[0], setDir = _a[1];\n React.useEffect(function () {\n if (!dir && window && elementRef.current) {\n // Note: getComputedStyle forces reflow\n var rtlCandidate = window.getComputedStyle(elementRef.current).direction;\n if (rtlCandidate) {\n // rerender is needed as DOM is read after first render\n setDir(rtlCandidate);\n }\n }\n }, args);\n return dir;\n}\n","var _a;\n/**\n * @hidden\n */\nexport var optionalText = 'stepper.optionalText';\n/**\n * @hidden\n */\nexport var progBarAriaLabel = 'stepper.progBarAriaLabel';\n/**\n * @hidden\n */\nexport var messages = (_a = {},\n _a[optionalText] = '(Optional)',\n _a[progBarAriaLabel] = 'progressbar',\n _a);\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { StepperContext } from './context/StepperContext';\nimport { classNames, focusFirstFocusableChild, dispatchEvent, IconWrap, toIconName } from '@progress/kendo-react-common';\nimport { useLocalization } from '@progress/kendo-react-intl';\nimport { checkOutlineIcon, exclamationCircleIcon } from '@progress/kendo-svg-icons';\nimport { DEFAULT_ANIMATION_DURATION, NO_ANIMATION } from './contants';\nimport { messages, optionalText } from './messages';\n/**\n * Represents the [KendoReact Step component]({% slug overview_stepper %}).\n *\n * @example\n * ```jsx\n * const steps = [\n * { label: 'Step 1' },\n * { label: 'Step 2' },\n * { label: 'Step 3', optional: true }\n * ];\n *\n * const App = () => {\n * return (\n * \n * );\n * };\n * ReactDOM.render(, document.querySelector('my-app'));\n * ```\n */\nexport var Step = React.forwardRef(function (props, target) {\n var \n // content\n children = props.children, className = props.className, current = props.current, disabled = props.disabled, focused = props.focused, icon = props.icon, svgIcon = props.svgIcon, index = props.index, isValid = props.isValid, label = props.label, optional = props.optional, style = props.style, tabIndex = props.tabIndex, text = props.text, others = __rest(props, [\"children\", \"className\", \"current\", \"disabled\", \"focused\", \"icon\", \"svgIcon\", \"index\", \"isValid\", \"label\", \"optional\", \"style\", \"tabIndex\", \"text\"]);\n var _a = React.useContext(StepperContext), animationDuration = _a.animationDuration, isVertical = _a.isVertical, item = _a.item, linear = _a.linear, mode = _a.mode, numOfSteps = _a.numOfSteps, value = _a.value, onChange = _a.onChange, onFocus = _a.onFocus, successIcon = _a.successIcon, errorIcon = _a.errorIcon, successSVGIcon = _a.successSVGIcon, errorSVGIcon = _a.errorSVGIcon;\n var elementRef = React.useRef(null);\n var focusElement = React.useCallback(function () {\n if (elementRef.current) {\n focusFirstFocusableChild(elementRef.current);\n }\n }, []);\n var getImperativeHandle = React.useCallback(function () { return ({\n element: elementRef.current,\n focus: focusElement\n }); }, [focusElement]);\n React.useImperativeHandle(target, getImperativeHandle);\n var allowClick = !linear || (index === value - 1 || index === value || index === value + 1);\n var isInLabel = mode === 'labels' || (Boolean(icon) && Boolean(label));\n var localizationService = useLocalization();\n var localizeMessage = function (message) {\n return localizationService.toLanguageString(message, messages[message]);\n };\n var optionalMessage = localizeMessage(optionalText);\n var progressAnimation = typeof animationDuration === 'number'\n ? animationDuration\n : animationDuration !== false\n ? DEFAULT_ANIMATION_DURATION\n : NO_ANIMATION;\n var handleClick = React.useCallback(function (event) {\n if (onChange && !disabled) {\n dispatchEvent(onChange, event, getImperativeHandle(), { value: index });\n }\n }, [onChange, value, disabled]);\n var handleFocus = React.useCallback(function (event) {\n if (onFocus && !disabled) {\n dispatchEvent(onFocus, event, getImperativeHandle(), undefined);\n }\n }, [onFocus, disabled]);\n var itemClassNames = React.useMemo(function () { return classNames('k-step', {\n 'k-step-first': index === 0,\n 'k-step-last': numOfSteps && index === numOfSteps - 1,\n 'k-step-done': index < value,\n 'k-step-current': current,\n 'k-step-optional': optional,\n 'k-step-error': isValid !== undefined && !isValid,\n 'k-step-success': isValid\n }, {\n 'k-disabled': disabled,\n 'k-focus': focused\n }, className); }, [index, numOfSteps, value, current, optional, disabled, focused, isValid, className]);\n var itemStyles = React.useMemo(function () { return (__assign({ maxWidth: !isVertical ? \"calc(100% / \".concat(numOfSteps, \")\") : undefined, maxHeight: isVertical ? \"calc(100% / \".concat(numOfSteps, \")\") : undefined, pointerEvents: !allowClick ? 'none' : undefined }, style)); }, [isVertical, numOfSteps, style, allowClick]);\n var validationIconCustom = isValid ? successIcon : errorIcon;\n var validationIcons = validationIconCustom ? (React.createElement(\"span\", { className: 'k-step-indicator-icon ' + validationIconCustom, \"aria-hidden\": \"true\" })) : (React.createElement(IconWrap, { className: 'k-step-indicator-icon', name: isValid ? 'check-circle' : 'exclamation-circle', icon: isValid ? (successSVGIcon || checkOutlineIcon) : (errorSVGIcon || exclamationCircleIcon) }));\n var stepIndicator = (React.createElement(React.Fragment, null, mode !== 'labels' ?\n React.createElement(\"span\", { className: \"k-step-indicator\", \"aria-hidden\": true, style: { transitionDuration: progressAnimation + 'ms' } }, (icon || svgIcon)\n ? !isInLabel && isValid !== undefined\n ? validationIcons\n : React.createElement(IconWrap, { className: 'k-step-indicator-icon', name: icon ? toIconName(icon) : icon, icon: svgIcon })\n : isValid !== undefined\n ? validationIcons\n : React.createElement(\"span\", { className: \"k-step-indicator-text\" }, text ? text : index + 1)) :\n null));\n var stepLabel = (React.createElement(\"span\", { className: \"k-step-label\" },\n label && React.createElement(\"span\", { className: \"k-step-text\" }, label),\n isInLabel && isValid !== undefined && validationIcons,\n optional && React.createElement(\"span\", { className: \"k-step-label-optional\" }, optionalMessage)));\n var stepLink = (React.createElement(React.Fragment, null,\n stepIndicator,\n stepLabel));\n return (React.createElement(\"li\", __assign({ ref: elementRef, className: itemClassNames, style: itemStyles }, others),\n React.createElement(\"a\", { className: \"k-step-link\", title: label ? label : undefined, onClick: handleClick, onFocus: handleFocus, tabIndex: tabIndex ? tabIndex : focused ? 0 : -1, \"aria-current\": current, \"aria-disabled\": disabled || !allowClick || undefined, \"aria-invalid\": isValid !== undefined && !isValid || undefined }, !item ? stepLink : children)));\n});\nStep.propTypes = {\n children: PropTypes.any,\n className: PropTypes.string,\n // content: PropTypes.any,\n current: PropTypes.bool,\n disabled: PropTypes.bool,\n icon: PropTypes.string,\n index: PropTypes.number,\n isValid: PropTypes.bool,\n label: PropTypes.string,\n optional: PropTypes.bool,\n style: PropTypes.object,\n tabIndex: PropTypes.number,\n text: PropTypes.string\n};\nvar defaultProps = {\n tabIndex: 0\n};\nStep.defaultProps = defaultProps;\nStep.displayName = 'KendoStep';\n","/**\n * @hidden\n */\nexport var DEFAULT_ANIMATION_DURATION = 400;\n/**\n * @hidden\n */\nexport var NO_ANIMATION = 0;\n","import * as React from 'react';\n/** @hidden */\nexport var useAnimation = function (config, deps) {\n var offset = React.useRef(0);\n var mount = React.useRef(false);\n var animationFrame = React.useRef();\n var animate = function (transition) {\n var duration = transition.duration;\n var start;\n var progress;\n var skip = offset.current && 1 - offset.current;\n if (transition.onStart) {\n transition.onStart();\n }\n var frame = function (timestamp) {\n if (!start) {\n start = timestamp;\n }\n progress = timestamp - start + 1;\n var rate = progress / duration + skip;\n if (rate <= 1) {\n if (transition.onUpdate) {\n transition.onUpdate(rate);\n }\n animationFrame.current = window.requestAnimationFrame(frame);\n offset.current = rate;\n }\n else {\n if (transition.onEnd) {\n transition.onEnd(1);\n }\n offset.current = 0;\n }\n };\n animationFrame.current = window.requestAnimationFrame(frame);\n };\n React.useEffect(function () {\n animate(config);\n return function () {\n if (animationFrame.current) {\n window.cancelAnimationFrame(animationFrame.current);\n }\n };\n }, deps);\n React.useEffect(function () {\n mount.current = true;\n }, []);\n};\n","/* eslint-disable radix */\n/**\n * @hidden\n */\nvar DISABLED_TABINDEX = -1;\n/**\n * @hidden\n */\nvar DEFAULT_TABINDEX = 0;\n/**\n * @hidden\n */\nexport var getTabIndex = function (tabIndex, disabled, useDefaultTabIndexWhenDisabled) {\n var parsedTabIndex = typeof tabIndex === 'string' ? parseInt(tabIndex, undefined) : tabIndex;\n if (parsedTabIndex === NaN) {\n return undefined;\n }\n return parsedTabIndex !== undefined\n ? parsedTabIndex\n : disabled ?\n (useDefaultTabIndexWhenDisabled ? undefined : DISABLED_TABINDEX)\n : DEFAULT_TABINDEX;\n};\n","import { LABEL_DECIMALS, MIN_RATIO } from './constants';\n/**\n * @hidden\n */\nexport var truncateNumber = function (value) {\n var numberParts = value.toString().split('.');\n return numberParts.length === 1 ? \"\".concat(numberParts[0]) : \"\".concat(numberParts[0], \".\").concat(numberParts[1].substr(0, LABEL_DECIMALS));\n};\n/**\n * @hidden\n */\nexport var calculatePercentage = function (min, max, value) {\n var onePercent = Math.abs((max - min) / 100);\n return Math.abs((value - min) / onePercent);\n};\n/**\n * @hidden\n */\nexport var updateProgress = function (progressRef, progressWrapRef, percentage, isVertical) {\n var progressPercentage = Math.max(percentage, 0.01);\n var progressWrapPercentage = (100 / progressPercentage) * 100;\n if (progressRef.current && progressWrapRef.current) {\n progressRef.current.style.width = !isVertical ? \"\".concat(progressPercentage, \"%\") : '100%';\n progressWrapRef.current.style.width = !isVertical ? \"\".concat(progressWrapPercentage, \"%\") : '100%';\n progressRef.current.style.height = isVertical ? \"\".concat(progressPercentage, \"%\") : '100%';\n progressWrapRef.current.style.height = isVertical ? \"\".concat(progressWrapPercentage, \"%\") : '100%';\n }\n};\n/**\n * @hidden\n */\nexport var calculateRatio = function (min, max, value) {\n return Math.max((value - min) / (max - min), MIN_RATIO);\n};\n","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-react-progressbars',\n productName: 'KendoReact',\n productCodes: ['KENDOUIREACT', 'KENDOUICOMPLETE'],\n publishDate: 1682925855,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning'\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { useAnimation } from '@progress/kendo-react-animation';\nimport { classNames, useRtl, getTabIndex } from '@progress/kendo-react-common';\nimport { calculatePercentage, updateProgress, truncateNumber } from '../common/utils';\nimport { usePrevious } from './hooks/usePrevious';\nimport { DEFAULT_ANIMATION_DURATION, NO_ANIMATION } from '../common/constants';\nimport { validatePackage } from '@progress/kendo-react-common';\nimport { packageMetadata } from '../package-metadata';\n/**\n * Represents the [KendoReact ProgressBar component]({% slug overview_progressbar %}).\n *\n * @example\n * ```jsx\n * const App = () => {\n * return (\n * \n * );\n * };\n * ReactDOM.render(, document.querySelector('my-app'));\n * ```\n */\nexport var ProgressBar = React.forwardRef(function (props, target) {\n validatePackage(packageMetadata);\n var animation = props.animation, disabled = props.disabled, _a = props.reverse, reverse = _a === void 0 ? defaultProps.reverse : _a, orientation = props.orientation, labelVisible = props.labelVisible, labelPlacement = props.labelPlacement, _b = props.max, max = _b === void 0 ? defaultProps.max : _b, _c = props.min, min = _c === void 0 ? defaultProps.min : _c, tabIndex = props.tabIndex, className = props.className, style = props.style, emptyStyle = props.emptyStyle, emptyClassName = props.emptyClassName, progressStyle = props.progressStyle, progressClassName = props.progressClassName;\n var elementRef = React.useRef(null);\n var progressStatusRef = React.useRef(null);\n var progressStatusWrapRef = React.useRef(null);\n var focusElement = React.useCallback(function () {\n if (elementRef.current) {\n elementRef.current.focus();\n }\n }, []);\n React.useImperativeHandle(target, function () { return ({\n element: elementRef.current,\n progressStatusElement: progressStatusRef.current,\n progressStatusWrapElement: progressStatusWrapRef.current,\n focus: focusElement\n }); });\n var value = (props.value || defaultProps.value);\n var prevValue = usePrevious(value);\n var indeterminateProp = props.value === null;\n var dir = useRtl(elementRef, props.dir);\n var isVertical = orientation === 'vertical';\n var formattedLabel = truncateNumber(value);\n var labelProps = {\n value: value\n };\n var renderLabel = (labelVisible\n ? props.label\n ? React.createElement(\"span\", { className: 'k-progress-status' },\n React.createElement(props.label, __assign({}, labelProps)))\n : React.createElement(\"span\", { className: 'k-progress-status' }, formattedLabel)\n : undefined);\n var wrapperProps = {\n className: classNames('k-progressbar', {\n 'k-progressbar-horizontal': !isVertical,\n 'k-progressbar-vertical': isVertical,\n 'k-progressbar-reverse': reverse,\n 'k-progressbar-indeterminate': indeterminateProp,\n 'k-disabled': disabled\n }, className),\n ref: elementRef,\n dir: dir,\n tabIndex: getTabIndex(tabIndex, disabled),\n role: 'progressbar',\n 'aria-label': props.ariaLabel,\n 'aria-valuemin': min,\n 'aria-valuemax': max,\n 'aria-valuenow': indeterminateProp ? undefined : value,\n 'aria-disabled': disabled,\n style: style\n };\n var positionClasses = classNames('k-progress-status-wrap', {\n 'k-progress-start': labelPlacement === 'start',\n 'k-progress-center': labelPlacement === 'center',\n 'k-progress-end': labelPlacement === 'end' || labelPlacement === undefined\n });\n var animationDuration = typeof animation !== 'boolean' && animation !== undefined\n ? animation.duration\n : animation\n ? DEFAULT_ANIMATION_DURATION\n : NO_ANIMATION;\n var handleStart = React.useCallback(function () {\n var percentage = calculatePercentage(min, max, prevValue);\n updateProgress(progressStatusRef, progressStatusWrapRef, percentage, isVertical);\n }, [isVertical, max, min, prevValue]);\n var handleUpdate = React.useCallback(function (progress) {\n var percentage = calculatePercentage(min, max, prevValue + (value - prevValue) * progress);\n updateProgress(progressStatusRef, progressStatusWrapRef, percentage, isVertical);\n }, [min, max, prevValue, value, isVertical]);\n var handleEnd = React.useCallback(function () {\n var percentage = calculatePercentage(min, max, value);\n updateProgress(progressStatusRef, progressStatusWrapRef, percentage, isVertical);\n }, [isVertical, max, min, value]);\n useAnimation({\n duration: animationDuration,\n onStart: handleStart,\n onUpdate: handleUpdate,\n onEnd: handleEnd\n }, [value, animationDuration]);\n return (React.createElement(\"div\", __assign({}, wrapperProps),\n React.createElement(\"span\", { className: positionClasses + (emptyClassName ? ' ' + emptyClassName : ''), style: emptyStyle }, renderLabel),\n React.createElement(\"div\", { className: 'k-progressbar-value k-selected', style: progressStyle, ref: progressStatusRef },\n React.createElement(\"span\", { className: positionClasses + (progressClassName ? ' ' + progressClassName : ''), ref: progressStatusWrapRef }, renderLabel))));\n});\nProgressBar.propTypes = {\n animation: PropTypes.any,\n ariaLabel: PropTypes.string,\n disabled: PropTypes.bool,\n reverse: PropTypes.bool,\n label: PropTypes.any,\n labelVisible: PropTypes.bool,\n labelPlacement: PropTypes.oneOf(['start', 'center', 'end']),\n max: PropTypes.number,\n min: PropTypes.number,\n value: PropTypes.number,\n tabIndex: PropTypes.number,\n emptyStyle: PropTypes.object,\n emptyClassName: PropTypes.string,\n progressStyle: PropTypes.object,\n progressClassName: PropTypes.string\n};\nvar defaultProps = {\n animation: false,\n min: 0,\n max: 100,\n value: 0,\n disabled: false,\n reverse: false,\n labelVisible: true\n};\nProgressBar.defaultProps = defaultProps;\nProgressBar.displayName = 'KendoProgressBar';\n","import * as React from 'react';\n/** @hidden */\nexport var usePrevious = function (value) {\n var ref = React.useRef();\n React.useEffect(function () {\n ref.current = value;\n });\n return ref.current;\n};\n","import * as React from 'react';\n// Same as 'useDir'. Export to avoid breaking change.\n// 'useRtl' is incorrect naming, since applies that the returned value is `true` or `false`.\n// but instead, it is returning `ltr` or `rtl`.\n/**\n * @hidden\n */\nexport function useRtl(elementRef, initialDir, args) {\n // Dir prop is read only on initial rendering due to specifics of getComputedStyles - see below\n var _a = React.useState(initialDir), dir = _a[0], setDir = _a[1];\n React.useEffect(function () {\n if (!dir && window && elementRef.current) {\n // Note: getComputedStyle forces reflow\n var rtlCandidate = window.getComputedStyle(elementRef.current).direction;\n if (rtlCandidate) {\n // rerender is needed as DOM is read after first render\n setDir(rtlCandidate);\n }\n }\n }, args);\n return dir;\n}\n","/**\n * @hidden\n */\nexport var MIN_RATIO = 0.00001;\n/**\n * @hidden\n */\nexport var LABEL_DECIMALS = 3;\n/**\n * @hidden\n */\nexport var DEFAULT_ANIMATION_DURATION = 400;\n/**\n * @hidden\n */\nexport var NO_ANIMATION = 0;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { StepperContext } from './context/StepperContext';\nimport { classNames, focusFirstFocusableChild, useRtl, dispatchEvent, Keys, svgIconPropType } from '@progress/kendo-react-common';\nimport { Step } from './Step';\nimport { ProgressBar } from '@progress/kendo-react-progressbars';\nimport { DEFAULT_ANIMATION_DURATION, NO_ANIMATION } from './contants';\nimport { validatePackage } from '@progress/kendo-react-common';\nimport { packageMetadata } from '../package-metadata';\nimport { useLocalization } from '@progress/kendo-react-intl';\nimport { messages, progBarAriaLabel } from './messages';\n/**\n * Represents the [KendoReact Stepper component]({% slug overview_stepper %}).\n *\n * @example\n * ```jsx\n * const steps = [\n * { label: 'Step 1' },\n * { label: 'Step 2' },\n * { label: 'Step 3', optional: true }\n * ];\n *\n * const App = () => {\n * return (\n * \n * );\n * };\n * ReactDOM.render(, document.querySelector('my-app'));\n * ```\n */\nexport var Stepper = React.forwardRef(function (props, target) {\n validatePackage(packageMetadata);\n var animationDuration = props.animationDuration, children = props.children, className = props.className, disabled = props.disabled, errorIcon = props.errorIcon, errorSVGIcon = props.errorSVGIcon, item = props.item, items = props.items, linear = props.linear, mode = props.mode, orientation = props.orientation, style = props.style, successIcon = props.successIcon, successSVGIcon = props.successSVGIcon, onChange = props.onChange, onFocus = props.onFocus;\n var localizationService = useLocalization();\n var pbAriaLabel = localizationService.toLanguageString(progBarAriaLabel, messages[progBarAriaLabel]);\n var elementRef = React.useRef(null);\n var focusElement = React.useCallback(function () {\n if (elementRef.current) {\n focusFirstFocusableChild(elementRef.current);\n }\n }, []);\n var getImperativeHandle = React.useCallback(function () { return ({\n element: elementRef.current,\n focus: focusElement\n }); }, [focusElement]);\n React.useImperativeHandle(target, getImperativeHandle);\n var value = props.value || defaultProps.value;\n var _a = React.useState(value), focusedIdx = _a[0], setFocusedIdx = _a[1];\n var numOfSteps = items ? items.length : 0;\n var isVertical = orientation === 'vertical';\n var dir = useRtl(elementRef, props.dir);\n var animation = typeof animationDuration === 'number'\n ? animationDuration\n : animationDuration !== false\n ? DEFAULT_ANIMATION_DURATION\n : NO_ANIMATION;\n var dispatchChangeEvent = React.useCallback(function (event, val) {\n var prevIdx = val === value - 1;\n var currIdx = val === value;\n var nextIdx = val === value + 1;\n var allowClick = !linear || (prevIdx || currIdx || nextIdx);\n if (value !== val && onChange && !disabled && allowClick) {\n dispatchEvent(onChange, event, getImperativeHandle(), { value: val });\n setFocusedIdx(val);\n }\n }, [value, linear, onChange, disabled, setFocusedIdx]);\n var handleChange = React.useCallback(function (event) {\n var currentValue = event.value;\n var syntethicEvent = event.syntheticEvent;\n dispatchChangeEvent(syntethicEvent, currentValue);\n }, [dispatchChangeEvent]);\n var handleFocus = React.useCallback(function (event) {\n if (onFocus && !disabled) {\n dispatchEvent(onFocus, event.syntheticEvent, getImperativeHandle(), undefined);\n }\n }, [onFocus, disabled]);\n var handleEnter = React.useCallback(function (event) {\n dispatchChangeEvent(event, focusedIdx);\n }, [dispatchChangeEvent, focusedIdx]);\n var handleKeyDown = React.useCallback(function (event) {\n var isRtl = dir === 'rtl';\n var currIndex = focusedIdx;\n var maxNavIndex = items.length - 1;\n switch (event.keyCode) {\n case Keys.left:\n event.preventDefault();\n if (!isRtl && currIndex > 0) {\n setFocusedIdx(currIndex - 1);\n }\n if (isRtl && currIndex < maxNavIndex) {\n setFocusedIdx(currIndex + 1);\n }\n break;\n case Keys.right:\n event.preventDefault();\n if (!isRtl && currIndex < maxNavIndex) {\n setFocusedIdx(currIndex + 1);\n }\n if (isRtl && currIndex > 0) {\n setFocusedIdx(currIndex - 1);\n }\n break;\n case Keys.up:\n event.preventDefault();\n if (!isRtl && currIndex > 0) {\n setFocusedIdx(currIndex - 1);\n }\n if (isRtl && currIndex > 0) {\n setFocusedIdx(currIndex - 1);\n }\n break;\n case Keys.down:\n event.preventDefault();\n if (!isRtl && currIndex < maxNavIndex) {\n setFocusedIdx(currIndex + 1);\n }\n if (isRtl && currIndex < maxNavIndex) {\n setFocusedIdx(currIndex + 1);\n }\n break;\n case Keys.home:\n event.preventDefault();\n setFocusedIdx(0);\n break;\n case Keys.end:\n event.preventDefault();\n setFocusedIdx(maxNavIndex);\n break;\n case Keys.space:\n event.preventDefault();\n break;\n case Keys.enter:\n event.preventDefault();\n if (!items[currIndex].disabled) {\n handleEnter(event);\n }\n break;\n default:\n }\n }, [items, setFocusedIdx, focusedIdx, dir, handleEnter]);\n var stepperClasses = React.useMemo(function () { return classNames('k-stepper', {\n 'k-stepper-linear': linear\n }, className); }, [linear, className]);\n var stepperStyles = React.useMemo(function () { return (__assign({ display: 'grid', gridTemplateColumns: !isVertical ? 'repeat(' + numOfSteps * 2 + ', 1fr)' : undefined, gridTemplateRows: isVertical ? 'repeat(' + numOfSteps + ', 1fr)' : undefined }, style)); }, [isVertical, numOfSteps, style]);\n var listClasses = React.useMemo(function () { return classNames('k-step-list', {\n 'k-step-list-horizontal': !isVertical,\n 'k-step-list-vertical': isVertical\n }); }, [isVertical]);\n var listStyles = React.useMemo(function () { return ({\n gridColumnStart: !isVertical ? 1 : undefined,\n gridColumnEnd: !isVertical ? -1 : undefined,\n gridRowStart: isVertical ? 1 : undefined,\n gridRowEnd: isVertical ? -1 : undefined\n }); }, [isVertical]);\n var progressbarStyles = React.useMemo(function () { return ({\n gridColumnStart: !isVertical ? 2 : undefined,\n gridColumnEnd: !isVertical ? numOfSteps * 2 : undefined,\n gridRowStart: isVertical ? 1 : undefined,\n gridRowEnd: isVertical ? numOfSteps : undefined,\n top: isVertical ? 17 : undefined\n }); }, [isVertical, numOfSteps]);\n var steps = (items && (items.map(function (element, index) {\n var stepProps = __assign({ index: index, disabled: disabled || element.disabled, focused: index === focusedIdx, current: index === value }, element);\n var ItemComp = item || Step;\n return (React.createElement(ItemComp, __assign({ key: index }, stepProps)));\n })));\n return (React.createElement(StepperContext.Provider, { value: {\n animationDuration: animationDuration,\n isVertical: isVertical,\n item: item,\n linear: linear,\n mode: mode,\n numOfSteps: numOfSteps,\n value: value,\n successIcon: successIcon,\n successSVGIcon: successSVGIcon,\n errorIcon: errorIcon,\n errorSVGIcon: errorSVGIcon,\n onChange: handleChange,\n onFocus: handleFocus\n } },\n React.createElement(\"nav\", { className: stepperClasses, style: stepperStyles, dir: dir, onKeyDown: handleKeyDown },\n React.createElement(\"ol\", { className: listClasses, style: listStyles }, steps ? steps : children),\n React.createElement(ProgressBar, { style: progressbarStyles, animation: { duration: animation }, ariaLabel: pbAriaLabel, \"aria-hidden\": true, max: numOfSteps - 1, labelVisible: false, orientation: orientation, reverse: orientation === 'vertical', value: value, disabled: disabled, tabIndex: -1 }))));\n});\nStepper.propTypes = {\n animationDuration: PropTypes.oneOfType([PropTypes.bool, PropTypes.number]),\n children: PropTypes.any,\n className: PropTypes.string,\n dir: PropTypes.string,\n disabled: PropTypes.bool,\n errorIcon: PropTypes.string,\n errorSVGIcon: svgIconPropType,\n item: PropTypes.any,\n items: PropTypes.any,\n linear: PropTypes.bool,\n mode: PropTypes.oneOf(['steps', 'labels']),\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n style: PropTypes.object,\n successIcon: PropTypes.string,\n successSVGIcon: svgIconPropType,\n value: PropTypes.number.isRequired,\n onChange: PropTypes.func,\n onFocus: PropTypes.func\n};\nvar defaultProps = {\n value: 0\n};\nStepper.defaultProps = defaultProps;\nStepper.displayName = 'KendoStepper';\n","import * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames, focusFirstFocusableChild, guid } from '@progress/kendo-react-common';\nimport { validatePackage } from '@progress/kendo-react-common';\nimport { packageMetadata } from '../package-metadata';\n/**\n * Represents the [KendoReact AppBar component]({% slug overview_appbar %}).\n * Used to display information, actions, branding titles and additional navigation on the current screen.\n *\n * @example\n * ```jsx\n *\n * const App = () => {\n * return (\n * \n * \n * \n * \n *\n * \n *\n * \n *

{tc.text} AppBar

\n *
\n *\n * \n *\n * \n * \n * \n * \n * \n * \n *
\n * );\n * };\n * ReactDOM.render(, document.querySelector('my-app'));\n * ```\n */\nexport var AppBar = React.forwardRef(function (props, target) {\n validatePackage(packageMetadata);\n var children = props.children, className = props.className, style = props.style, id = props.id;\n var elementRef = React.useRef(null);\n var focusElement = React.useCallback(function () {\n if (elementRef.current) {\n focusFirstFocusableChild(elementRef.current);\n }\n }, []);\n var getImperativeHandle = React.useCallback(function () { return ({\n element: elementRef.current,\n focus: focusElement\n }); }, [focusElement]);\n React.useImperativeHandle(target, getImperativeHandle);\n var calculatedId = React.useMemo(function () { return guid(); }, []);\n var themeColor = React.useMemo(function () { return props.themeColor || defaultProps.themeColor; }, [props.themeColor]);\n var position = React.useMemo(function () { return props.position || defaultProps.position; }, [props.position]);\n var positionMode = React.useMemo(function () { return props.positionMode || defaultProps.positionMode; }, [props.positionMode]);\n var appbarClasses = React.useMemo(function () { return classNames('k-appbar', {\n 'k-appbar-top': position === 'top',\n 'k-appbar-bottom': position === 'bottom',\n 'k-appbar-static': positionMode === 'static',\n 'k-appbar-sticky': positionMode === 'sticky',\n 'k-appbar-fixed': positionMode === 'fixed',\n 'k-appbar-light': themeColor === 'light',\n 'k-appbar-dark': themeColor === 'dark',\n 'k-appbar-inherit': themeColor === 'inherit'\n }, className); }, [position, positionMode, themeColor, className]);\n return (React.createElement(\"div\", { className: appbarClasses, style: style, id: id || calculatedId }, children));\n});\nAppBar.propTypes = {\n children: PropTypes.any,\n className: PropTypes.string,\n style: PropTypes.object,\n id: PropTypes.string,\n themeColor: PropTypes.string,\n position: PropTypes.oneOf(['top', 'bottom']),\n positionMode: PropTypes.oneOf(['static', 'sticky', 'fixed'])\n};\nvar defaultProps = {\n themeColor: 'light',\n position: 'top',\n positionMode: 'static'\n};\nAppBar.displayName = 'KendoAppBar';\n","import * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames, focusFirstFocusableChild } from '@progress/kendo-react-common';\n/**\n * Represents the [KendoReact AppBarSection component]({% slug contentarrangement_appbar %}#toc-defining-sections).\n *\n * @example\n * ```jsx\n *\n * const App = () => {\n * return (\n * \n * \n * \n * \n *\n * \n *\n * \n *

{tc.text} AppBar

\n *
\n *\n * \n *\n * \n * \n * \n * \n * \n * \n *
\n * );\n * };\n * ReactDOM.render(, document.querySelector('my-app'));\n * ```\n */\nexport var AppBarSection = React.forwardRef(function (props, target) {\n var children = props.children, className = props.className, style = props.style;\n var elementRef = React.useRef(null);\n var focusElement = React.useCallback(function () {\n if (elementRef.current) {\n focusFirstFocusableChild(elementRef.current);\n }\n }, []);\n var getImperativeHandle = React.useCallback(function () { return ({\n element: elementRef.current,\n focus: focusElement\n }); }, [focusElement]);\n React.useImperativeHandle(target, getImperativeHandle);\n var sectionClasses = React.useMemo(function () { return classNames('k-appbar-section', className); }, [className]);\n return (React.createElement(\"div\", { className: sectionClasses, style: style }, children));\n});\nAppBarSection.propTypes = {\n children: PropTypes.any,\n className: PropTypes.string,\n style: PropTypes.object\n};\nAppBarSection.displayName = 'KendoAppBarSection';\n","import * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames, focusFirstFocusableChild } from '@progress/kendo-react-common';\n/**\n * Represents the [KendoReact AppBarSpacer component]({% slug contentarrangement_appbar %}#toc-defining-spacings).\n * Used to give additional white space between the AppBar sections and provides a way for customizing its width.\n *\n * @example\n * ```jsx\n *\n * const App = () => {\n * return (\n * \n * \n * \n * \n *\n * \n *\n * \n *

{tc.text} AppBar

\n *
\n *\n * \n *\n * \n * \n * \n * \n * \n * \n *
\n * );\n * };\n * ReactDOM.render(, document.querySelector('my-app'));\n * ```\n */\nexport var AppBarSpacer = React.forwardRef(function (props, target) {\n var children = props.children, className = props.className, style = props.style;\n var elementRef = React.useRef(null);\n var focusElement = React.useCallback(function () {\n if (elementRef.current) {\n focusFirstFocusableChild(elementRef.current);\n }\n }, []);\n var getImperativeHandle = React.useCallback(function () { return ({\n element: elementRef.current,\n focus: focusElement\n }); }, [focusElement]);\n React.useImperativeHandle(target, getImperativeHandle);\n var spacerClasses = React.useMemo(function () { return classNames('k-appbar-spacer', {\n 'k-appbar-spacer-sized': style && style.width && style.width !== null\n }, className); }, [className, style]);\n var spacerStyles = React.useMemo(function () {\n return {\n flexBasis: style && style.width ? style.width : undefined\n };\n }, [style]);\n return (React.createElement(\"span\", { className: spacerClasses, style: spacerStyles }, children));\n});\nAppBarSpacer.propTypes = {\n children: PropTypes.any,\n className: PropTypes.string,\n style: PropTypes.object\n};\nAppBarSpacer.displayName = 'KendoAppBarSpacer';\n","/**\n * @hidden\n */\nexport var FIELD_REGEX = /\\[(?:(\\d+)|['\"](.*?)['\"])\\]|((?:(?!\\[.*?\\]|\\.).)+)/g;\n","import { fieldList } from './fieldList';\nvar getterCache = {};\ngetterCache.undefined = function () { return undefined; };\n/**\n * Can be used for getting value from object using field path. For example `users[index].name`.\n *\n * @example\n * ```jsx-no-run\n * const values = {users:[{lastName: 'Doe'}]};\n * const firstUserLastName = getter('user[0].lastName');\n *\n * console.log(firstUserLastName(values))\n *\n * // result: 'Doe'\n * ```\n */\nexport function getter(field) {\n if (getterCache[field]) {\n return getterCache[field];\n }\n var fields = fieldList(field);\n getterCache[field] = function (obj) {\n var result = obj;\n for (var idx = 0; idx < fields.length && result; idx++) {\n result = result[fields[idx]];\n }\n return result;\n };\n return getterCache[field];\n}\n","import { FIELD_REGEX } from './constants';\n/**\n * @hidden\n */\nexport function fieldList(field) {\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n return fields;\n}\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport { Draggable } from '@progress/kendo-react-common';\n/**\n * @hidden\n */\nvar Handle = function (props) { return (React.createElement(Draggable, { onPress: props.onPress, onDrag: function (data) { props.onResize(data.event, false, props.d); }, onRelease: function (data) { props.onResize(data.event, true, props.d); } },\n React.createElement(\"div\", { className: 'k-resize-handle k-cursor-' + props.d + '-resize', style: __assign({ bottom: 0, right: 0 }, props.style) }))); };\n/**\n * @hidden\n */\nvar ResizeHandlers = /** @class */ (function (_super) {\n __extends(ResizeHandlers, _super);\n function ResizeHandlers() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.handleResize = function (event, isEnd, direction) {\n event.originalEvent.preventDefault();\n _this.props.onResize(event, { end: isEnd, direction: direction });\n };\n return _this;\n }\n ResizeHandlers.prototype.render = function () {\n var _a = this.props, resizable = _a.resizable, onPress = _a.onPress, rtl = _a.rtl;\n if (!resizable) {\n return null;\n }\n return (React.createElement(React.Fragment, null,\n resizable !== 'vertical' && (React.createElement(Handle, { onPress: onPress, onResize: this.handleResize, d: \"ew\", style: rtl ? { top: 0, width: 9, left: 0, right: '' } : { top: 0, width: 9, right: 0, left: '' } })),\n resizable !== 'horizontal' && (React.createElement(Handle, { onPress: onPress, onResize: this.handleResize, d: \"ns\", style: { left: 0, height: 9 } })),\n (resizable === true) && (React.createElement(Handle, { onPress: onPress, onResize: this.handleResize, d: rtl ? 'nesw' : 'nwse', style: rtl ? { width: 9, height: 9, right: '', left: 0 } : { width: 9, height: 9, right: 0, left: '' } }))));\n };\n return ResizeHandlers;\n}(React.Component));\nexport { ResizeHandlers };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames, Draggable } from '@progress/kendo-react-common';\nimport { ResizeHandlers } from './ResizeHandlers';\n/**\n * @hidden\n */\nvar ANIMATION_DURATION = 200;\n/**\n * @hidden\n */\nvar InternalTile = /** @class */ (function (_super) {\n __extends(InternalTile, _super);\n function InternalTile() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.state = {\n rtl: false\n };\n _this.oldSize = {};\n _this.draggable = null;\n _this.dragging = false;\n _this.resizing = false;\n _this.element = null;\n _this.ignoreDrag = false;\n _this.pressOffset = { x: 0, y: 0 };\n _this.pressXY = { x: 0, y: 0 };\n _this.currentTranslate = { x: 0, y: 0 };\n _this.preventDataOps = undefined;\n _this.handleResize = function (e, q) {\n if (q.end) {\n _this.handleRelease();\n return;\n }\n if (!_this.element) {\n return;\n }\n var x = e.clientX;\n var y = e.clientY;\n _this.resizing = true;\n var dX = (q.direction !== 'ns' ? x - _this.pressXY.x : 0) * (_this.state.rtl ? -1 : 1);\n var dY = q.direction !== 'ew' ? y - _this.pressXY.y : 0;\n if (_this.dragElement) {\n if (_this.state.rtl) {\n _this.dragElement.style.marginLeft = -dX + 'px';\n }\n else {\n _this.dragElement.style.marginRight = -dX + 'px';\n }\n _this.dragElement.style.height = \"calc(100% + \".concat(dY, \"px)\");\n }\n _this.element.classList.add('k-layout-item-hint', 'k-layout-item-hint-resize');\n if (_this.preventDataOps) {\n return;\n }\n var col = 0;\n var row = 0;\n var wrapBox = _this.element.getBoundingClientRect();\n if (dX > wrapBox.width / _this.props.defaultPosition.colSpan / 3) {\n col = 1;\n }\n if (dX < -wrapBox.width / _this.props.defaultPosition.colSpan / 1.25) {\n col = -1;\n }\n // vertical\n if (dY > wrapBox.height / _this.props.defaultPosition.rowSpan / 3) {\n row = 1;\n }\n if (dY < -wrapBox.height / _this.props.defaultPosition.rowSpan / 1.25) {\n row = -1;\n }\n if (col !== 0 || row !== 0) {\n _this.props.update(_this.props.index, 0, 0, row, col);\n }\n };\n _this.handlePress = function (e) {\n if (!_this.dragElement) {\n return;\n }\n _this.ignoreDrag = false;\n if (_this.props.ignoreDrag && _this.props.ignoreDrag(e.event.originalEvent)) {\n _this.ignoreDrag = true;\n return;\n }\n if (_this.element) {\n _this.element.style.zIndex = '10';\n _this.element.classList.add('k-layout-item-hint');\n }\n _this.dragElement.classList.remove('k-cursor-grab');\n _this.dragElement.classList.add('k-cursor-grabbing');\n var rec = _this.dragElement.getBoundingClientRect();\n _this.pressXY = {\n x: e.event.clientX,\n y: e.event.clientY\n };\n _this.pressOffset = {\n x: e.event.clientX - rec.x,\n y: e.event.clientY - rec.y\n };\n };\n _this.handleDrag = function (e) {\n if (_this.ignoreDrag) {\n return;\n }\n var dragElement = _this.dragElement;\n if (e.event.originalEvent.defaultPrevented || !dragElement) {\n return;\n }\n _this.dragging = true;\n e.event.originalEvent.preventDefault();\n var rec = dragElement.getBoundingClientRect();\n _this.currentTranslate = {\n x: e.event.clientX - rec.x - _this.pressOffset.x + _this.currentTranslate.x,\n y: e.event.clientY - rec.y - _this.pressOffset.y + _this.currentTranslate.y\n };\n dragElement.style.transform = \"translate(\".concat(_this.currentTranslate.x, \"px, \").concat(_this.currentTranslate.y, \"px)\");\n dragElement.style.transition = 'transform 0s';\n if (_this.preventDataOps) {\n return;\n }\n var col = 0;\n var row = 0;\n if (_this.currentTranslate.y > 0.7 * rec.height / _this.props.defaultPosition.rowSpan) {\n row = 1;\n }\n if (_this.currentTranslate.y < 0.7 * -rec.height / _this.props.defaultPosition.rowSpan) {\n row = -1;\n }\n if (_this.currentTranslate.x > 0.7 * rec.width / _this.props.defaultPosition.colSpan) {\n col = 1;\n }\n if (_this.currentTranslate.x < 0.7 * -rec.width / _this.props.defaultPosition.colSpan) {\n col = -1;\n }\n _this.props.update(_this.props.index, row, _this.state.rtl ? -col : col, 0, 0);\n };\n _this.handleRelease = function () {\n _this.dragging = _this.resizing = false;\n _this.currentTranslate = { x: 0, y: 0 };\n if (_this.element) {\n _this.element.style.zIndex = '1';\n _this.element.classList.remove('k-layout-item-hint', 'k-layout-item-hint-resize');\n }\n var dragElement = _this.dragElement;\n if (dragElement) {\n dragElement.style.transform = 'translate(0px, 0px)';\n dragElement.style.transition = \"transform \".concat(ANIMATION_DURATION, \"ms cubic-bezier(0.2, 0, 0, 1) 0s\");\n dragElement.style.marginRight = '0px';\n dragElement.style.marginLeft = '0px';\n dragElement.style.height = '100%';\n dragElement.classList.remove('k-cursor-grabbing');\n dragElement.classList.add('k-cursor-grab');\n }\n };\n return _this;\n }\n Object.defineProperty(InternalTile.prototype, \"reorderable\", {\n get: function () {\n return this.props.reorderable !== undefined ? this.props.reorderable : InternalTile.defaultProps.reorderable;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(InternalTile.prototype, \"dragElement\", {\n get: function () {\n return this.draggable ? this.draggable.element : undefined;\n },\n enumerable: false,\n configurable: true\n });\n InternalTile.prototype.componentDidMount = function () {\n if (!this.element) {\n return;\n }\n if (getComputedStyle(this.element).direction === 'rtl') {\n this.setState({\n rtl: true\n });\n }\n };\n InternalTile.prototype.render = function () {\n var _this = this;\n if (clearTimeout && typeof (clearTimeout) === 'function') {\n clearTimeout(this.preventDataOps);\n this.preventDataOps = window.setTimeout(function () { _this.preventDataOps = undefined; }, 200);\n }\n var position = this.props.defaultPosition;\n var resizable = this.props.resizable !== undefined ? this.props.resizable : InternalTile.defaultProps.resizable;\n var itemStyles = __assign({ gridColumnStart: position.col, gridColumnEnd: \"span \".concat(position.colSpan), gridRowStart: position.row, gridRowEnd: \"span \".concat(position.rowSpan), outline: 'none', order: position.order }, this.props.hintStyle);\n var card = (React.createElement(\"div\", { ref: function (e) { _this.draggable = e ? ({ element: e }) : null; }, className: classNames('k-tilelayout-item k-card', { 'k-cursor-grab': this.reorderable }, this.props.className), style: __assign({ height: '100%' }, this.props.style) },\n this.props.children,\n React.createElement(ResizeHandlers, { onPress: this.handlePress, onResize: this.handleResize, resizable: resizable, rtl: this.state.rtl })));\n return (React.createElement(\"div\", { ref: function (e) { _this.element = e; }, style: itemStyles, className: this.props.hintClassName },\n React.createElement(Draggable, { ref: function (e) { _this.draggable = e; }, onDrag: this.props.reorderable ? this.handleDrag : undefined, onRelease: this.props.reorderable ? this.handleRelease : undefined, onPress: this.props.reorderable ? this.handlePress : undefined }, card)));\n };\n /**\n * @hidden\n */\n InternalTile.prototype.getSnapshotBeforeUpdate = function (_) {\n this.oldSize = {};\n if (this.dragElement) {\n this.oldSize = this.dragElement.getBoundingClientRect();\n }\n return null;\n };\n /**\n * @hidden\n */\n InternalTile.prototype.componentDidUpdate = function (prevProps) {\n var _this = this;\n var dragElement = this.dragElement;\n if (!dragElement) {\n return;\n }\n var newBox = dragElement.getBoundingClientRect();\n var oldBox = this.oldSize;\n if (this.resizing) {\n var diffCol = newBox.width - oldBox.width;\n if (this.state.rtl) {\n var currentM = parseFloat(dragElement.style.marginLeft || '0');\n dragElement.style.marginLeft = (currentM - diffCol) + 'px';\n }\n else {\n var currentM = parseFloat(dragElement.style.marginRight || '0');\n dragElement.style.marginRight = (currentM + diffCol) + 'px';\n }\n this.pressXY.x += this.state.rtl ? -diffCol : diffCol;\n var diffRow = newBox.height - oldBox.height;\n var currentBot = parseFloat(dragElement.style.height.substring(12));\n dragElement.style.height = \"calc(100% + \".concat((currentBot + diffRow), \"px)\");\n this.pressXY.y += diffRow;\n }\n var deltaX = oldBox.left - newBox.left;\n var deltaY = oldBox.top - newBox.top;\n if (deltaX === 0 && deltaY === 0) {\n return;\n }\n if (this.dragging) {\n if ((prevProps.defaultPosition.order !== this.props.defaultPosition.order ||\n prevProps.defaultPosition.col !== this.props.defaultPosition.col)) {\n this.currentTranslate.x = 0;\n this.currentTranslate.y = 0;\n dragElement.style.transform = '';\n }\n return;\n }\n if (Math.abs(deltaY) < 15 && Math.abs(deltaX) < 15) {\n // improves performance and removes random flickering\n return;\n }\n requestAnimationFrame(function () {\n var domNode = _this.element;\n if (!domNode) {\n return;\n }\n domNode.style.transform = \"translate(\".concat(deltaX, \"px, \").concat(deltaY, \"px)\");\n domNode.style.transition = 'transform 0s';\n requestAnimationFrame(function () {\n domNode.style.transform = '';\n domNode.style.transition = \"transform \".concat(ANIMATION_DURATION, \"ms cubic-bezier(0.2, 0, 0, 1) 0s\");\n });\n });\n };\n /**\n * @hidden\n */\n InternalTile.propTypes = {\n defaultPosition: PropTypes.object.isRequired,\n style: PropTypes.object,\n className: PropTypes.string,\n hintStyle: PropTypes.object,\n hintClassName: PropTypes.string,\n header: PropTypes.any,\n body: PropTypes.any,\n item: PropTypes.any,\n resizable: PropTypes.oneOf(['horizontal', 'vertical', true, false]),\n reorderable: PropTypes.bool\n };\n /**\n * @hidden\n */\n InternalTile.displayName = 'KendoTileLayoutItem';\n /**\n * @hidden\n */\n InternalTile.defaultProps = {\n resizable: true,\n reorderable: true\n };\n return InternalTile;\n}(React.Component));\nexport { InternalTile };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { getter, classNames, dispatchEvent } from '@progress/kendo-react-common';\nimport { InternalTile } from './InternalTile';\n/**\n * @hidden\n */\nvar AUTO_FLOW_CLASSES = {\n 'column': 'k-grid-flow-col',\n 'row': 'k-grid-flow-row',\n 'column dense': 'k-grid-flow-col-dense',\n 'row dense': 'k-grid-flow-row-dense',\n 'unset': 'k-grid-flow-unset'\n};\n/**\n * Represents the [KendoReact TileLayout component]({% slug overview_tilelayout %}).\n */\nvar TileLayout = /** @class */ (function (_super) {\n __extends(TileLayout, _super);\n function TileLayout() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n /**\n * @hidden\n */\n _this._element = null;\n /**\n * @hidden\n */\n _this.state = { positions: (_this.props.items || []).map(function (p, i) { return (Object.assign({ order: i, rowSpan: 1, colSpan: 1 }, p.defaultPosition)); }) };\n /**\n * @hidden\n */\n _this.focus = function () {\n if (_this._element) {\n _this._element.focus();\n }\n };\n /**\n * @hidden\n */\n _this.update = function (index, dOrder, dCol, dRowSpan, dColSpan) {\n if (dRowSpan === void 0) { dRowSpan = 0; }\n if (dColSpan === void 0) { dColSpan = 0; }\n if (dOrder === 0 && dCol === 0 && !dColSpan && !dRowSpan) {\n return;\n }\n var shouldUpdate = false;\n var positions = _this.state.positions.map(function (p) { return Object.assign({}, p); });\n // reordering:\n var current = positions[index];\n var other = positions.find(function (item) { return (item.order === current.order + dOrder); });\n if (other && other !== current) {\n current.order += dOrder;\n other.order += -dOrder;\n shouldUpdate = true;\n }\n var proposedCol = current.col + dCol;\n if (dCol !== 0 && proposedCol >= 1 && proposedCol + current.colSpan <= (_this.props.columns || 3) + 1) {\n current.col = proposedCol;\n shouldUpdate = true;\n }\n // resizing:\n var proposedColSpan = current.colSpan + dColSpan;\n if (dColSpan && proposedColSpan >= 1 && proposedColSpan + current.col <= (_this.props.columns || 3) + 1) {\n current.colSpan = proposedColSpan;\n shouldUpdate = true;\n }\n var proposedRowSpan = current.rowSpan + dRowSpan;\n if (dRowSpan && proposedRowSpan >= 1) {\n current.rowSpan = proposedRowSpan;\n shouldUpdate = true;\n }\n if (shouldUpdate) {\n _this.setState({ positions: positions });\n dispatchEvent(_this.props.onReposition, {}, _this, { value: positions });\n }\n };\n return _this;\n }\n Object.defineProperty(TileLayout.prototype, \"element\", {\n /**\n * Gets the HTML element of the TileLayout component.\n */\n get: function () {\n return this._element;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * @hidden\n */\n TileLayout.getDerivedStateFromProps = function (props, state) {\n if (props.positions) {\n // The component is in controlled mode.\n return {\n positions: props.positions.map(function (p, i) { return (Object.assign({ order: i, rowSpan: 1, colSpan: 1 }, p)); })\n };\n }\n if (props.items && (!state.positions || (props.items.length !== state.positions.length))) {\n // The component is in uncontrolled mode.\n return {\n positions: props.items.map(function (p, i) { return (Object.assign({ order: i, rowSpan: 1, colSpan: 1 }, p.defaultPosition)); })\n };\n }\n return null;\n };\n TileLayout.prototype.render = function () {\n var _this = this;\n var _a = this.props, className = _a.className, _b = _a.columns, columns = _b === void 0 ? 3 : _b, _c = _a.columnWidth, columnWidth = _c === void 0 ? '1fr' : _c, gap = _a.gap, _d = _a.rowHeight, rowHeight = _d === void 0 ? '1fr' : _d, style = _a.style, _e = _a.autoFlow, autoFlow = _e === void 0 ? 'column' : _e, _f = _a.items, items = _f === void 0 ? [] : _f;\n var gapValue = gap\n ? \"\".concat(typeof gap.rows === 'number' ? gap.rows + 'px' : gap.rows) + ' ' + \"\".concat(typeof gap.columns === 'number' ? gap.columns + 'px' : gap.columns)\n : 16;\n var tileLayoutStyles = __assign({ gridTemplateColumns: \"repeat(\".concat(columns, \", minmax(0px, \").concat(typeof columnWidth === 'number' ? columnWidth + 'px' : columnWidth, \"))\"), gridAutoRows: \"minmax(0px, \".concat(typeof rowHeight === 'number' ? rowHeight + 'px' : rowHeight, \")\"), gap: gapValue, padding: gapValue }, style);\n return (React.createElement(\"div\", { ref: function (el) { _this._element = el; }, dir: this.props.dir, className: classNames('k-tilelayout', AUTO_FLOW_CLASSES[autoFlow], className), style: tileLayoutStyles, id: this.props.id, children: items.map(function (tile, index) {\n return (React.createElement(InternalTile, { key: _this.props.dataItemKey ? getter(_this.props.dataItemKey)(tile) : index, update: _this.update, defaultPosition: _this.state.positions[index], index: index, resizable: tile.resizable, reorderable: tile.reorderable, style: tile.style, className: tile.className, hintClassName: tile.hintClassName, hintStyle: tile.hintStyle, ignoreDrag: _this.props.ignoreDrag }, tile.item ? tile.item : (React.createElement(React.Fragment, null,\n React.createElement(\"div\", { className: \"k-tilelayout-item-header k-card-header\" }, React.isValidElement(tile.header) ? tile.header : React.createElement(\"h5\", { className: 'k-card-title' }, tile.header)),\n React.createElement(\"div\", { className: 'k-tilelayout-item-body k-card-body' }, tile.body)))));\n }) }));\n };\n /**\n * @hidden\n */\n TileLayout.propTypes = {\n id: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n dir: PropTypes.string,\n gap: PropTypes.object,\n columns: PropTypes.number,\n columnWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n rowHeight: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n dataItemKey: PropTypes.string,\n items: PropTypes.array,\n positions: PropTypes.array,\n autoFlow: PropTypes.oneOf(['column', 'row', 'column dense', 'row dense', 'unset']),\n onReposition: PropTypes.func,\n ignoreDrag: PropTypes.func\n };\n /**\n * @hidden\n */\n TileLayout.displayName = 'KendoTileLayout';\n return TileLayout;\n}(React.Component));\nexport { TileLayout };\n","/**\n * @hidden\n */\nexport var THEME_COLOR_CLASSES = {\n 'primary': 'k-bottom-nav-primary',\n 'secondary': 'k-bottom-nav-secondary',\n 'tertiary': 'k-bottom-nav-tertiary',\n 'info': 'k-bottom-nav-info',\n 'success': 'k-bottom-nav-success',\n 'warning': 'k-bottom-nav-warning',\n 'error': 'k-bottom-nav-error',\n 'dark': 'k-bottom-nav-dark',\n 'light': 'k-bottom-nav-light',\n 'inverse': 'k-bottom-nav-inverse'\n};\n/**\n * @hidden\n */\nexport var FILL_CLASSES = {\n 'flat': 'k-bottom-nav-flat',\n 'solid': 'k-bottom-nav-solid'\n};\n/**\n * @hidden\n */\nexport var ITEM_FLOW_CLASSES = {\n 'vertical': 'k-bottom-nav-item-flow-vertical',\n 'horizontal': 'k-bottom-nav-item-flow-horizontal'\n};\n/**\n * @hidden\n */\nexport var POSITION_MODE_CLASSES = {\n 'fixed': 'k-pos-fixed',\n 'sticky': 'k-pos-sticky'\n};\n","import * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { IconWrap, svgIconPropType, validatePackage } from '@progress/kendo-react-common';\nimport { packageMetadata } from '../package-metadata';\nimport { classNames } from '@progress/kendo-react-common';\n/**\n * Represents the [KendoReact BottomNavigationItem component]({% slug overview_bottomnavigation %}).\n */\nexport var BottomNavigationItem = React.forwardRef(function (props, ref) {\n validatePackage(packageMetadata);\n var elementRef = React.useRef(null);\n React.useImperativeHandle(ref, function () { return ({\n element: elementRef.current\n }); });\n var className = props.className, style = props.style, selected = props.selected, disabled = props.disabled, item = props.item, render = props.render, dataItem = props.dataItem, icon = props.icon, svgIcon = props.svgIcon, text = props.text, id = props.id, onSelect = props.onSelect, onKeyDown = props.onKeyDown, index = props.index, tabIndex = props.tabIndex;\n var itemClasses = React.useMemo(function () { return classNames('k-bottom-nav-item', {\n 'k-selected': selected,\n 'k-disabled': disabled\n }, className); }, [selected, disabled, className]);\n var handleClick = React.useCallback(function (event) {\n if (onSelect && index !== undefined && !disabled) {\n onSelect(event, index);\n }\n }, [onSelect, index, disabled]);\n var handleKeyDown = React.useCallback(function (event) {\n if (onKeyDown && index !== undefined && !disabled) {\n onKeyDown(event, index);\n }\n }, [onKeyDown, index, disabled]);\n var renderer = render;\n var ItemComp = item;\n var bottomNavItem = (React.createElement(\"span\", { ref: elementRef, className: itemClasses, style: style, role: 'link', id: id, tabIndex: tabIndex, onClick: handleClick, onKeyDown: handleKeyDown, \"aria-current\": selected, \"aria-disabled\": disabled }, ItemComp ? React.createElement(ItemComp, { itemIndex: index, item: dataItem }) :\n (React.createElement(React.Fragment, null,\n (icon || svgIcon) && React.createElement(IconWrap, { className: 'k-bottom-nav-item-icon', name: icon, icon: svgIcon, size: 'xlarge' }),\n text && React.createElement(\"span\", { className: 'k-bottom-nav-item-text', style: { userSelect: 'none' } }, text)))));\n return renderer !== undefined ? renderer.call(undefined, bottomNavItem, props) : bottomNavItem;\n});\nvar defaultProps = {\n tabIndex: 0\n};\nBottomNavigationItem.propTypes = {\n className: PropTypes.string,\n style: PropTypes.object,\n id: PropTypes.string,\n disabled: PropTypes.bool,\n selected: PropTypes.bool,\n icon: PropTypes.string,\n svgIcon: svgIconPropType,\n text: PropTypes.string,\n tabIndex: PropTypes.number\n};\nBottomNavigationItem.defaultProps = defaultProps;\nBottomNavigationItem.displayName = 'KendoReactBottomNavigationItem';\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { validatePackage } from '@progress/kendo-react-common';\nimport { packageMetadata } from '../package-metadata';\nimport { classNames, focusFirstFocusableChild, guid, useDir, dispatchEvent, Keys } from '@progress/kendo-react-common';\nimport { ITEM_FLOW_CLASSES, POSITION_MODE_CLASSES } from './models/utils';\nimport { BottomNavigationItem } from './BottomNavigationItem';\n/**\n * Represents the [KendoReact BottomNavigation component]({% slug overview_bottomnavigation %}).\n * Used to switch between primary destinations in an application.\n *\n * @example\n * ```jsx\n * const items = [\n * { text: 'Photos', icon: 'photo', selected: true },\n * { text: 'Albums', icon: 'folder' },\n * { text: 'Search', icon: 'search' },\n * { text: 'More', icon: 'more-horizontal' },\n * ];\n *\n * const App = () => {\n * return (\n * \n * );\n * };\n * ReactDOM.render(, document.querySelector('my-app'));\n * ```\n */\nexport var BottomNavigation = React.forwardRef(function (props, ref) {\n validatePackage(packageMetadata);\n var elementRef = React.useRef(null);\n var focusElement = React.useCallback(function () {\n if (elementRef.current) {\n focusFirstFocusableChild(elementRef.current);\n }\n }, []);\n var getImperativeHandle = React.useCallback(function () { return ({\n element: elementRef.current,\n focus: focusElement\n }); }, [focusElement]);\n React.useImperativeHandle(ref, getImperativeHandle);\n var _a = props.positionMode, positionMode = _a === void 0 ? defaultProps.positionMode : _a, _b = props.itemFlow, itemFlow = _b === void 0 ? defaultProps.itemFlow : _b, _c = props.border, border = _c === void 0 ? defaultProps.border : _c, className = props.className, items = props.items, item = props.item, itemRender = props.itemRender, disabled = props.disabled, style = props.style, id = props.id, onSelect = props.onSelect, onKeyDown = props.onKeyDown;\n var navId = React.useMemo(function () { return guid(); }, []);\n var dir = useDir(elementRef, props.dir);\n var fillMode = React.useMemo(function () {\n if (props.fillMode === null) {\n return null;\n }\n else if (props.fill === null) {\n return null;\n }\n else {\n return props.fill || props.fillMode || defaultProps.fillMode;\n }\n }, [props.fillMode, props.fill]);\n var themeColor = React.useMemo(function () { return props.themeColor || defaultProps.themeColor; }, [props.themeColor]);\n var navClasses = React.useMemo(function () {\n var _a;\n return classNames('k-bottom-nav', POSITION_MODE_CLASSES[positionMode], ITEM_FLOW_CLASSES[itemFlow], (_a = {},\n _a[\"k-bottom-nav-\".concat(fillMode)] = fillMode,\n _a[\"k-bottom-nav-\".concat(fillMode, \"-\").concat(themeColor)] = Boolean(fillMode && themeColor),\n _a['k-bottom-nav-border'] = border,\n _a['k-disabled'] = disabled,\n _a), className);\n }, [positionMode, themeColor, fillMode, itemFlow, border, disabled, className]);\n var dispatchSelectEvent = React.useCallback(function (dispatchedEvent, index) {\n if (!items) {\n return;\n }\n if (!items[index].disabled && onSelect) {\n dispatchEvent(onSelect, dispatchedEvent, getImperativeHandle(), {\n itemTarget: items[index],\n itemIndex: index\n });\n }\n }, [items, onSelect]);\n var handleSelect = React.useCallback(function (event, clickedItemIndex) {\n dispatchSelectEvent(event, clickedItemIndex);\n }, [dispatchSelectEvent]);\n var handleKeyDown = React.useCallback(function (event, clickedItemIndex) {\n switch (event.keyCode) {\n case Keys.enter:\n case Keys.space:\n dispatchSelectEvent(event, clickedItemIndex);\n event.preventDefault();\n break;\n default:\n break;\n }\n dispatchEvent(onKeyDown, event, getImperativeHandle(), undefined);\n }, [dispatchSelectEvent, onKeyDown]);\n return (React.createElement(\"nav\", { ref: elementRef, className: navClasses, style: style, id: id || navId, dir: dir }, items && (items.map(function (element, index) {\n return (React.createElement(BottomNavigationItem, __assign({}, element, { key: index, index: index, id: \"\".concat(id || navId, \"-\").concat(index), disabled: disabled || element.disabled, selected: element.selected, dataItem: element, item: item, render: itemRender, onSelect: handleSelect, onKeyDown: handleKeyDown })));\n }))));\n});\nvar defaultProps = {\n themeColor: 'primary',\n fillMode: 'flat',\n itemFlow: 'vertical',\n positionMode: 'fixed',\n border: true\n};\nBottomNavigation.propTypes = {\n className: PropTypes.string,\n style: PropTypes.object,\n id: PropTypes.string,\n dir: PropTypes.string,\n themeColor: PropTypes.oneOf([\n 'primary', 'secondary', 'tertiary',\n 'info', 'success', 'warning',\n 'error', 'dark', 'light', 'inverse'\n ]),\n fill: PropTypes.oneOf(['solid', 'flat']),\n fillMode: PropTypes.oneOf(['solid', 'flat']),\n itemFlow: PropTypes.oneOf(['vertical', 'horizontal']),\n border: PropTypes.bool,\n disabled: PropTypes.bool,\n selected: PropTypes.number,\n onSelect: PropTypes.func\n};\nBottomNavigation.defaultProps = defaultProps;\nBottomNavigation.displayName = 'KendoReactBottomNavigation';\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { validatePackage } from '@progress/kendo-licensing';\nimport { packageMetadata } from '../package-metadata';\nimport { classNames, guid } from '@progress/kendo-react-common';\n/**\n * Represents the [KendoReact StackLayout component]({% slug overview_stacklayout %}).\n * Arranges its inner elements horizontally, or vertically in a stack. Nesting stack layouts is supported to build more complex layouts.\n *\n * @example\n * ```jsx\n *\n * const App = () => {\n * return (\n * \n *
Box
\n *
Box
\n *
Box
\n *
Box
\n * \n * );\n * };\n * ReactDOM.render(, document.querySelector('my-app'));\n * ```\n */\nexport var StackLayout = React.forwardRef(function (props, ref) {\n validatePackage(packageMetadata);\n var elementRef = React.useRef(null);\n var getImperativeHandle = React.useCallback(function () { return ({\n element: elementRef.current\n }); }, []);\n React.useImperativeHandle(ref, getImperativeHandle);\n var className = props.className, style = props.style, id = props.id, children = props.children;\n var layoutId = React.useMemo(function () { return guid(); }, []);\n var orientation = React.useMemo(function () { return props.orientation || defaultProps.orientation; }, [props.orientation]);\n var isHorizontal = orientation === 'horizontal';\n var hAlign = React.useMemo(function () { return props.align && props.align.horizontal ? props.align.horizontal : defaultProps.hAlign; }, [props.align]);\n var vAlign = React.useMemo(function () { return props.align && props.align.vertical ? props.align.vertical : defaultProps.vAlign; }, [props.align]);\n var stackLayoutClasses = React.useMemo(function () { return classNames('k-stack-layout', {\n 'k-hstack': orientation === 'horizontal',\n 'k-vstack': orientation === 'vertical',\n 'k-justify-content-start': isHorizontal && hAlign === 'start' || !isHorizontal && vAlign === 'top',\n 'k-justify-content-center': isHorizontal && hAlign === 'center' || !isHorizontal && vAlign === 'middle',\n 'k-justify-content-end': isHorizontal && hAlign === 'end' || !isHorizontal && vAlign === 'bottom',\n 'k-justify-content-stretch': isHorizontal && hAlign === 'stretch' || !isHorizontal && vAlign === 'stretch',\n 'k-align-items-start': !isHorizontal && hAlign === 'start' || isHorizontal && vAlign === 'top',\n 'k-align-items-center': !isHorizontal && hAlign === 'center' || isHorizontal && vAlign === 'middle',\n 'k-align-items-end': !isHorizontal && hAlign === 'end' || isHorizontal && vAlign === 'bottom',\n 'k-align-items-stretch': !isHorizontal && hAlign === 'stretch' || isHorizontal && vAlign === 'stretch'\n }, className); }, [orientation, isHorizontal, hAlign, vAlign, className]);\n var stackLayoutStyles = __assign({ gap: \"\".concat(typeof props.gap === 'number' ? props.gap + 'px' : props.gap) }, style);\n return (React.createElement(\"div\", { ref: elementRef, className: stackLayoutClasses, style: stackLayoutStyles, id: id || layoutId }, children));\n});\nvar defaultProps = {\n orientation: 'horizontal',\n hAlign: 'stretch',\n vAlign: 'stretch'\n};\nStackLayout.propTypes = {\n className: PropTypes.string,\n style: PropTypes.object,\n children: PropTypes.any,\n id: PropTypes.string,\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n gap: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n align: PropTypes.shape({\n vertical: PropTypes.oneOf(['top', 'middle', 'bottom', 'stretch']),\n horizontal: PropTypes.oneOf(['start', 'center', 'end', 'stretch'])\n })\n};\nStackLayout.defaultProps = defaultProps;\nStackLayout.displayName = 'KendoReactStackLayout';\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { validatePackage } from '@progress/kendo-licensing';\nimport { packageMetadata } from '../package-metadata';\nimport { classNames, guid } from '@progress/kendo-react-common';\n/**\n * Represents the [KendoReact GridLayout component]({% slug overview_gridlayout %}).\n * Arranges the contents of the component in rows and columns in a grid structure.\n *\n * @example\n * ```jsx\n *\n * const App = () => {\n * return (\n * \n * Box\n * Box\n * Box\n * Box\n * Box\n * \n * );\n * };\n * ReactDOM.render(, document.querySelector('my-app'));\n * ```\n */\nexport var GridLayout = React.forwardRef(function (props, ref) {\n validatePackage(packageMetadata);\n var elementRef = React.useRef(null);\n var getImperativeHandle = React.useCallback(function () { return ({\n element: elementRef.current\n }); }, []);\n React.useImperativeHandle(ref, getImperativeHandle);\n var className = props.className, style = props.style, id = props.id, children = props.children, gap = props.gap;\n var layoutId = React.useMemo(function () { return guid(); }, []);\n var hAlign = React.useMemo(function () { return props.align && props.align.horizontal ? props.align.horizontal : defaultProps.hAlign; }, [props.align]);\n var vAlign = React.useMemo(function () { return props.align && props.align.vertical ? props.align.vertical : defaultProps.vAlign; }, [props.align]);\n var gridLayoutClasses = React.useMemo(function () { return classNames('k-grid-layout', {\n 'k-justify-items-start': hAlign === 'start',\n 'k-justify-items-center': hAlign === 'center',\n 'k-justify-items-end': hAlign === 'end',\n 'k-justify-items-stretch': hAlign === 'stretch',\n 'k-align-items-start': vAlign === 'top',\n 'k-align-items-center': vAlign === 'middle',\n 'k-align-items-end': vAlign === 'bottom',\n 'k-align-items-stretch': vAlign === 'stretch'\n }, className); }, [hAlign, vAlign, className]);\n var gapStyle = gap\n ? \"\".concat(typeof gap.rows === 'number' ? gap.rows + 'px' : gap.rows) + ' ' + \"\".concat(typeof gap.cols === 'number' ? gap.cols + 'px' : gap.cols)\n : undefined;\n var gridTemplateRowsStyle = props.rows && props.rows.map(function (row) { return \"\".concat(typeof row.height === 'number' ? row.height + 'px' : row.height); }).join(' ');\n var gridTemplateColumnsStyle = props.cols && props.cols.map(function (col) { return \"\".concat(typeof col.width === 'number' ? col.width + 'px' : col.width); }).join(' ');\n var gridLayoutStyles = __assign({ gap: gapStyle, gridTemplateColumns: gridTemplateColumnsStyle, gridTemplateRows: gridTemplateRowsStyle }, style);\n return (React.createElement(\"div\", { ref: elementRef, className: gridLayoutClasses, style: gridLayoutStyles, id: id || layoutId }, children));\n});\nvar defaultProps = {\n hAlign: 'stretch',\n vAlign: 'stretch',\n gap: undefined\n};\nGridLayout.propTypes = {\n className: PropTypes.string,\n style: PropTypes.object,\n children: PropTypes.any,\n id: PropTypes.string,\n gap: PropTypes.shape({\n rows: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n columns: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n }),\n align: PropTypes.shape({\n vertical: PropTypes.oneOf(['top', 'middle', 'bottom', 'stretch']),\n horizontal: PropTypes.oneOf(['start', 'center', 'end', 'stretch'])\n })\n};\nGridLayout.defaultProps = defaultProps;\nGridLayout.displayName = 'KendoReactGridLayout';\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { validatePackage } from '@progress/kendo-licensing';\nimport { packageMetadata } from '../package-metadata';\nimport { guid } from '@progress/kendo-react-common';\n/**\n * Represents the [KendoReact GridLayoutItem component]({% slug overview_gridlayout %}).\n *\n * @example\n * ```jsx\n *\n * const App = () => {\n * return (\n * \n * Box\n * Box\n * Box\n * Box\n * Box\n * \n * );\n * };\n * ReactDOM.render(, document.querySelector('my-app'));\n * ```\n */\nexport var GridLayoutItem = React.forwardRef(function (props, ref) {\n validatePackage(packageMetadata);\n var elementRef = React.useRef(null);\n var getImperativeHandle = React.useCallback(function () { return ({\n element: elementRef.current\n }); }, []);\n React.useImperativeHandle(ref, getImperativeHandle);\n var className = props.className, style = props.style, id = props.id, children = props.children, row = props.row, col = props.col, rowSpan = props.rowSpan, colSpan = props.colSpan;\n var itemId = React.useMemo(function () { return guid(); }, []);\n var gridLayoutItemStyles = __assign({ gridArea: \"\".concat(row || 'auto', \" / \").concat(col || 'auto', \" / \").concat(rowSpan ? 'span ' + rowSpan : 'auto', \" / \").concat(colSpan ? 'span ' + colSpan : 'auto') }, style);\n return (React.createElement(\"div\", { ref: elementRef, className: className, style: gridLayoutItemStyles, id: id || itemId }, children));\n});\nGridLayoutItem.propTypes = {\n className: PropTypes.string,\n style: PropTypes.object,\n children: PropTypes.any,\n id: PropTypes.string\n};\nGridLayoutItem.displayName = 'KendoReactGridLayoutItem';\n","import * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { validatePackage } from '@progress/kendo-licensing';\nimport { classNames } from '@progress/kendo-react-common';\nimport { packageMetadata } from '../package-metadata';\n/**\n * Represents the BreadcrumbListItem component.\n */\nexport var BreadcrumbListItem = React.forwardRef(function (props, ref) {\n validatePackage(packageMetadata);\n var target = React.useRef(null);\n var breadcrumbLIRef = React.useRef(null);\n var focus = React.useCallback(function () {\n if (breadcrumbLIRef.current) {\n breadcrumbLIRef.current.focus();\n }\n }, [breadcrumbLIRef]);\n React.useImperativeHandle(target, function () { return ({\n element: breadcrumbLIRef.current,\n focus: focus,\n props: props\n }); });\n React.useImperativeHandle(ref, function () { return target.current; });\n return (React.createElement(\"li\", { ref: breadcrumbLIRef, id: props.id, style: props.style, className: classNames('k-breadcrumb-item', {\n 'k-breadcrumb-root-item': props.isFirstItem,\n 'k-breadcrumb-last-item': props.isLastItem\n }, props.className) }, props.children));\n});\nvar propTypes = {\n id: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.any,\n style: PropTypes.object\n};\nBreadcrumbListItem.displayName = 'KendoReactBreadcrumbListItem';\nBreadcrumbListItem.propTypes = propTypes;\n","import * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { validatePackage } from '@progress/kendo-licensing';\nimport { IconWrap } from '@progress/kendo-react-common';\nimport { chevronLeftIcon, chevronRightIcon } from '@progress/kendo-svg-icons';\nimport { packageMetadata } from '../package-metadata';\n/**\n * Represents the BreadcrumbDelimiter component.\n */\nexport var BreadcrumbDelimiter = React.forwardRef(function (props, ref) {\n validatePackage(packageMetadata);\n var target = React.useRef(null);\n var breadcrumbDelimiterRef = React.useRef(null);\n React.useImperativeHandle(target, function () {\n var _a;\n return ({\n element: ((_a = breadcrumbDelimiterRef.current) === null || _a === void 0 ? void 0 : _a.element) || null,\n props: props\n });\n });\n React.useImperativeHandle(ref, function () { return target.current; });\n return (React.createElement(IconWrap, { ref: breadcrumbDelimiterRef, id: props.id, \"aria-hidden\": true, tabIndex: props.tabIndex, style: props.style, name: props.dir === 'rtl' ? 'chevron-left' : 'chevron-right', icon: props.dir === 'rtl' ? chevronLeftIcon : chevronRightIcon, className: \"k-breadcrumb-delimiter-icon\", size: 'xsmall' }));\n});\nvar propTypes = {\n id: PropTypes.string,\n className: PropTypes.string,\n style: PropTypes.object,\n tabIndex: PropTypes.number,\n dir: PropTypes.string\n};\nBreadcrumbDelimiter.displayName = 'KendoReactBreadcrumbDelimiter';\nBreadcrumbDelimiter.propTypes = propTypes;\n","import * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { validatePackage } from '@progress/kendo-licensing';\nimport { classNames, getTabIndex, useDir, dispatchEvent } from '@progress/kendo-react-common';\nimport { packageMetadata } from '../package-metadata';\nexport var BreadcrumbLink = React.forwardRef(function (props, ref) {\n validatePackage(packageMetadata);\n var target = React.useRef(null);\n var linkRef = React.useRef(null);\n var focus = React.useCallback(function () {\n if (linkRef.current) {\n linkRef.current.focus();\n }\n }, [linkRef]);\n React.useImperativeHandle(target, function () { return ({\n element: linkRef.current,\n focus: focus,\n props: props\n }); });\n React.useImperativeHandle(ref, function () { return target.current; });\n var handleItemSelect = React.useCallback(function (event) {\n if (props.id) {\n dispatchEvent(props.onItemSelect, event, event.target, { id: props.id });\n }\n }, [props.onItemSelect]);\n var handleKeyDown = React.useCallback(function (event) {\n if (props.id) {\n dispatchEvent(props.onKeyDown, event, event.target, { id: props.id });\n }\n }, [props.onKeyDown]);\n return (React.createElement(\"span\", { \"aria-current\": props.ariaCurrent ? props.ariaCurrent : props.isLast, role: 'link', id: props.id, ref: linkRef, style: props.style, dir: useDir(linkRef, props.dir), tabIndex: getTabIndex(props.tabIndex, props.disabled), className: classNames({\n 'k-breadcrumb-root-link': props.isFirst,\n 'k-breadcrumb-link': !props.isFirst,\n 'k-breadcrumb-icontext-link': props.iconClass !== undefined && props.text,\n 'k-breadcrumb-icon-link': props.iconClass !== undefined && !props.text,\n 'k-disabled': props.disabled\n }), onClick: handleItemSelect, onKeyDown: handleKeyDown },\n props.iconClass\n ?\n React.createElement(\"span\", { className: classNames('k-icon', props.iconClass) })\n : props.icon ? props.icon : '',\n props.text &&\n React.createElement(\"span\", { className: \"k-breadcrumb-item-text\" }, props.text)));\n});\nvar propTypes = {\n id: PropTypes.string,\n className: PropTypes.string,\n tabIndex: PropTypes.number,\n style: PropTypes.object,\n dir: PropTypes.string,\n disabled: PropTypes.bool,\n text: PropTypes.string,\n icon: PropTypes.node,\n iconClass: PropTypes.string,\n onClick: PropTypes.func,\n ariaCurrent: PropTypes.bool\n};\nBreadcrumbLink.displayName = 'KendoReactBreadcrumbLink';\n// TODO: delete casting when @types/react is updated!\nBreadcrumbLink.propTypes = propTypes;\n","import * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { validatePackage } from '@progress/kendo-licensing';\nimport { classNames, getTabIndex, useDir } from '@progress/kendo-react-common';\nimport { packageMetadata } from '../package-metadata';\n/**\n * Represents the BreadcrumbOrderedList component.\n */\nexport var BreadcrumbOrderedList = React.forwardRef(function (props, ref) {\n validatePackage(packageMetadata);\n var target = React.useRef(null);\n var orderedListRef = React.useRef(null);\n React.useImperativeHandle(target, function () { return ({\n element: orderedListRef.current,\n props: props\n }); });\n React.useImperativeHandle(ref, function () { return target.current; });\n return (React.createElement(\"ol\", { id: props.id, ref: orderedListRef, style: props.style, dir: useDir(orderedListRef, props.dir), tabIndex: getTabIndex(props.tabIndex, props.disabled), className: classNames('k-breadcrumb-container', {\n 'k-disabled': props.disabled\n }, props.className) }, props.children));\n});\nvar propTypes = {\n id: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.element,\n tabIndex: PropTypes.number,\n style: PropTypes.object,\n dir: PropTypes.string,\n disabled: PropTypes.bool\n};\nBreadcrumbOrderedList.displayName = 'KendoReactBreadcrumbOrderedList';\nBreadcrumbOrderedList.propTypes = propTypes;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { validatePackage } from '@progress/kendo-licensing';\nimport { packageMetadata } from '../package-metadata';\nimport { classNames, useDir, dispatchEvent } from '@progress/kendo-react-common';\nimport { BreadcrumbListItem } from './BreadcrumbListItem';\nimport { BreadcrumbDelimiter } from './BreadcrumbDelimiter';\nimport { BreadcrumbLink } from './BreadcrumbLink';\nimport { BreadcrumbOrderedList } from './BreadcrumbOrderedList';\n/**\n * Represents the Breadcrumb component.\n */\nexport var Breadcrumb = React.forwardRef(function (props, ref) {\n validatePackage(packageMetadata);\n var target = React.useRef(null);\n var breadcrumbRef = React.useRef(null);\n var OrderedListComponent = React.useMemo(function () { return props.breadcrumbOrderedList || BreadcrumbOrderedList; }, [props.breadcrumbOrderedList]);\n var ListItemComponent = React.useMemo(function () { return props.breadcrumbListItem || BreadcrumbListItem; }, [props.breadcrumbListItem]);\n var DelimiterComponent = React.useMemo(function () { return props.breadcrumbDelimiter || BreadcrumbDelimiter; }, [props.breadcrumbDelimiter]);\n var LinkComponent = React.useMemo(function () { return props.breadcrumbLink || BreadcrumbLink; }, [props.breadcrumbLink]);\n var focus = React.useCallback(function () {\n if (breadcrumbRef.current) {\n breadcrumbRef.current.focus();\n }\n }, [breadcrumbRef]);\n var disabled = React.useMemo(function () { return props.disabled || false; }, [props.disabled]);\n React.useImperativeHandle(target, function () { return ({\n element: breadcrumbRef.current,\n focus: focus,\n props: props\n }); });\n React.useImperativeHandle(ref, function () { return target.current; });\n var dir = useDir(breadcrumbRef, props.dir);\n var handleItemSelect = function (event) {\n if (target.current) {\n dispatchEvent(props.onItemSelect, event, event.target, { id: event.target.id });\n }\n };\n var handleKeyDown = function (event) {\n if (target.current) {\n dispatchEvent(props.onKeyDown, event, event.target, { id: event.target.id });\n }\n };\n var valueField = (props.valueField || defaultProps.valueField);\n var iconField = (props.iconField || defaultProps.iconField);\n var iconClassField = (props.iconClassField || defaultProps.iconClassField);\n var textField = (props.textField || defaultProps.textField);\n return (React.createElement(\"nav\", { \"aria-label\": props.ariaLabel, id: props.id, style: props.style, ref: breadcrumbRef, dir: dir, className: classNames('k-breadcrumb', {\n 'k-rtl': dir === 'rtl',\n 'k-disabled': disabled\n }, props.className) },\n React.createElement(OrderedListComponent, null,\n React.createElement(React.Fragment, null, props.data.map(function (item, index, data) {\n var key = item[valueField];\n return (React.createElement(ListItemComponent, { key: key, isFirstItem: index === 0, isLastItem: data.length - 1 === index },\n index !== 0 && React.createElement(DelimiterComponent, { dir: dir }),\n React.createElement(LinkComponent, __assign({ isLast: data.length - 1 === index, isFirst: index === 0, id: String(key), icon: item[iconField] || undefined, iconClass: item[iconClassField] ? String(item[iconClassField]) : undefined, text: item[textField] ? String(item[textField]) : undefined, disabled: item.disabled || false, onItemSelect: handleItemSelect, onKeyDown: handleKeyDown }, props))));\n })))));\n});\nvar propTypes = {\n id: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n breadcrumbOrderedList: PropTypes.elementType,\n breadcrumbListItem: PropTypes.elementType,\n breadcrumbDelimiter: PropTypes.elementType,\n breadcrumbLink: PropTypes.elementType,\n data: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n text: PropTypes.string,\n icon: PropTypes.any,\n iconClass: PropTypes.string\n })),\n dir: PropTypes.oneOf(['ltr', 'rtl']),\n disabled: PropTypes.bool,\n valueField: PropTypes.string,\n textField: PropTypes.string,\n iconField: PropTypes.string,\n iconClassField: PropTypes.string,\n onItemSelect: PropTypes.func,\n ariaLabel: PropTypes.string\n};\nvar defaultProps = {\n valueField: 'id',\n textField: 'text',\n iconField: 'icon',\n iconClassField: 'iconClass'\n};\nBreadcrumb.displayName = 'KendoReactBreadcrumb';\n// TODO: delete casting when @types/react is updated!\nBreadcrumb.propTypes = propTypes;\nBreadcrumb.defaultProps = defaultProps;\n","/**\n * @hidden\n */\nexport var FOCUSABLE_ELEMENTS = [\n 'input:not([disabled]):not([type=hidden])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n 'button:not([disabled])',\n 'a[href]',\n 'area[href]',\n 'summary',\n 'iframe',\n 'object',\n 'embed',\n 'audio[controls]',\n 'video[controls]',\n '[contenteditable]'\n];\n/**\n * @hidden\n */\nvar Navigation = /** @class */ (function () {\n function Navigation(options) {\n var _this = this;\n this.rovingTabIndex = true;\n this.update = function () { };\n this.focusNextIndex = function (target, indexDiff) {\n var all = _this.elements;\n var index = all.indexOf(target) + indexDiff;\n index = index < 0 ? all.length - 1 : index;\n _this.focusElement(all[index % all.length], target);\n };\n this.tabIndex = options.tabIndex || 0;\n this.root = options.root;\n this.selectors = options.selectors;\n this.rovingTabIndex = options.rovingTabIndex !== undefined ? options.rovingTabIndex : true;\n this.mouseEvents = options.mouseEvents || {};\n this.keyboardEvents = options.keyboardEvents || {};\n }\n Object.defineProperty(Navigation.prototype, \"elements\", {\n get: function () {\n return this.root.current ? Array.from(this.root.current.querySelectorAll(this.selectors.join(','))) : [];\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Navigation.prototype, \"first\", {\n get: function () {\n return (this.root.current && this.root.current.querySelector(this.selectors.join(','))) || null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Navigation.prototype, \"last\", {\n get: function () {\n var all = this.elements;\n return all[all.length - 1] || null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Navigation.prototype, \"current\", {\n get: function () {\n return this.elements.find(function (el) { return el.matches(':focus'); }) || null;\n },\n enumerable: false,\n configurable: true\n });\n Navigation.prototype.focusNext = function (target) {\n this.focusNextIndex(target, 1);\n };\n Navigation.prototype.focusPrevious = function (target) {\n this.focusNextIndex(target, -1);\n };\n Navigation.prototype.triggerKeyboardEvent = function (ev) {\n var target = ev.target instanceof Element && ev.target.closest(this.selectors.join(','));\n var key = ev.key === ' ' ? 'Space' : ev.key;\n var eventType = ev.nativeEvent.type;\n if (target && this.keyboardEvents[eventType][key]) {\n this.keyboardEvents[eventType][key].call(undefined, target, this, ev);\n }\n };\n Navigation.prototype.triggerMouseEvent = function (ev) {\n var target = ev.target instanceof Element && ev.target.closest(this.selectors.join(','));\n var eventType = ev.nativeEvent.type;\n if (target) {\n this.mouseEvents[eventType].call(undefined, target, this, ev);\n }\n };\n Navigation.prototype.focusElement = function (element, previous) {\n if (element) {\n if (previous) {\n if (this.rovingTabIndex) {\n previous.removeAttribute('tabindex');\n }\n previous.classList.remove('k-focus');\n }\n if (this.rovingTabIndex) {\n element.setAttribute('tabindex', String(this.tabIndex));\n }\n element.focus({ preventScroll: true });\n }\n };\n return Navigation;\n}());\nexport { Navigation };\n;\n","import * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames } from '@progress/kendo-react-common';\n/**\n * The KendoReact ActionSheetItem component.\n */\nexport var ActionSheetItem = function (props) {\n var itemRef = React.useRef(null);\n var onClick = React.useCallback(function (event) {\n if (props.onClick) {\n props.onClick.call(undefined, {\n syntheticEvent: event,\n item: props.item,\n title: props.title\n });\n }\n }, [props.item, props.title, props.onClick]);\n React.useEffect(function () {\n if (itemRef.current && props.focused) {\n itemRef.current.focus();\n }\n }, [props.focused]);\n return (React.createElement(\"span\", { style: props.style, tabIndex: props.tabIndex, className: classNames('k-actionsheet-item', 'k-cursor-pointer', props.disabled && 'k-disabled', props.className), ref: itemRef, role: \"button\", \"aria-disabled\": props.disabled, onClick: onClick },\n React.createElement(\"span\", { className: \"k-actionsheet-action\" },\n props.icon && React.createElement(\"span\", { className: \"k-icon-wrap\" }, props.icon),\n (props.title || props.description) && (React.createElement(\"span\", { className: \"k-actionsheet-item-text\" },\n props.title && React.createElement(\"span\", { className: \"k-actionsheet-item-title\" }, props.title),\n props.description && React.createElement(\"span\", { className: \"k-actionsheet-item-description\" }, props.description))))));\n};\nActionSheetItem.propTypes = {\n className: PropTypes.string,\n style: PropTypes.object,\n description: PropTypes.string,\n disabled: PropTypes.bool,\n group: PropTypes.oneOf(['top', 'bottom']),\n icon: PropTypes.element,\n title: PropTypes.string\n};\n","import * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames } from '@progress/kendo-react-common';\n/**\n * @hidden\n */\nexport var headerDisplayName = 'ActionSheetHeader';\n/**\n * The KendoReact ActionSheetHeader component.\n */\nexport var ActionSheetHeader = function (props) {\n return (React.createElement(\"div\", { className: classNames('k-actionsheet-titlebar', props.className) }, props.children));\n};\nActionSheetHeader.propTypes = {\n className: PropTypes.string\n};\n/**\n * @hidden\n */\nActionSheetHeader.displayName = headerDisplayName;\n/**\n * @hidden\n */\nActionSheetHeader.propTypes = {\n children: PropTypes.any\n};\n","import * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames } from '@progress/kendo-react-common';\n/**\n * @hidden\n */\nexport var footerDisplayName = 'ActionSheetFooter';\n/**\n * The KendoReact ActionSheetFooter component.\n */\nexport var ActionSheetFooter = function (props) {\n return (React.createElement(\"div\", { className: classNames('k-actionsheet-footer', props.className) }, props.children));\n};\nActionSheetFooter.propTypes = {\n className: PropTypes.string\n};\n/**\n * @hidden\n */\nActionSheetFooter.displayName = footerDisplayName;\n/**\n * @hidden\n */\nActionSheetFooter.propTypes = {\n children: PropTypes.any\n};\n","import * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames } from '@progress/kendo-react-common';\n/**\n * @hidden\n */\nexport var contentDisplayName = 'ActionSheetContent';\n/**\n * The KendoReact ActionSheetContent component.\n */\nexport var ActionSheetContent = function (props) {\n return (React.createElement(\"div\", { className: classNames('k-actionsheet-content', props.className) }, props.children));\n};\nActionSheetContent.propTypes = {\n className: PropTypes.string\n};\n/**\n * @hidden\n */\nActionSheetContent.displayName = contentDisplayName;\n/**\n * @hidden\n */\nActionSheetContent.propTypes = {\n children: PropTypes.any\n};\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { Animation } from '@progress/kendo-react-animation';\nimport { validatePackage, Navigation, FOCUSABLE_ELEMENTS, classNames } from '@progress/kendo-react-common';\nimport { packageMetadata } from '../package-metadata';\nimport { ActionSheetItem } from './ActionSheetItem';\nimport { headerDisplayName } from './ActionSheetHeader';\nimport { footerDisplayName } from './ActionSheetFooter';\nimport { contentDisplayName } from './ActionSheetContent';\n/**\n * Represents the [KendoReact ActionSheet]({% slug overview_actionsheet %}) component.\n */\nvar ActionSheet = /** @class */ (function (_super) {\n __extends(ActionSheet, _super);\n /** @hidden */\n function ActionSheet(props) {\n var _this = _super.call(this, props) || this;\n _this.actionSheetRef = React.createRef();\n _this.actionSheetTitleClass = 'k-actionsheet-title';\n _this.ariaLabeledBy = _this.actionSheetTitleClass + 1;\n _this.animationDuration = 300;\n _this.bottomPosition = { bottom: '0', width: '100%' };\n _this.handleKeyDown = function (e) {\n if (_this.props.navigatable) {\n _this.navigation.triggerKeyboardEvent(e);\n }\n };\n _this.onTab = function (target, nav, ev) {\n ev.preventDefault();\n if (ev.shiftKey) {\n nav.focusPrevious(target);\n }\n else {\n nav.focusNext(target);\n }\n };\n _this.handleOverlayClick = function (ev) {\n /** Deprecated */\n if (_this.props.onOverlayClick) {\n _this.props.onOverlayClick.call(undefined, ev);\n }\n if (_this.props.onClose) {\n _this.props.onClose.call(undefined, ev);\n }\n if (!_this.props.animation) {\n _this.hideActionSheet();\n }\n };\n _this.handleItemClick = function (ev) {\n /** Deprecated */\n if (_this.props.onItemClick) {\n _this.props.onItemClick.call(undefined, ev);\n }\n if (_this.props.onItemSelect) {\n _this.props.onItemSelect.call(undefined, ev);\n }\n if (!_this.props.animation) {\n _this.hideActionSheet();\n }\n };\n _this.onEnter = function (target, nav, ev) {\n if (target.ariaDisabled) {\n return;\n }\n var isItem = target.className && target.className.indexOf('k-actionsheet-item') !== -1;\n var allItems = nav.elements.filter(function (e) { return e.className.indexOf('k-actionsheet-item') !== -1; });\n /** Deprecated */\n if (isItem && _this.props.onItemClick) {\n ev.preventDefault();\n var item = _this.props.items[allItems.indexOf(target)];\n _this.props.onItemClick.call(undefined, {\n syntheticEvent: ev,\n item: item,\n title: item && item.title\n });\n }\n if (isItem && _this.props.onItemSelect) {\n ev.preventDefault();\n var item = _this.props.items[allItems.indexOf(target)];\n _this.props.onItemSelect.call(undefined, {\n syntheticEvent: ev,\n item: item,\n title: item && item.title\n });\n }\n if (!_this.props.animation) {\n _this.hideActionSheet();\n }\n };\n _this.onEscape = function (_target, _nav, ev) {\n /** Deprecated */\n if (_this.props.onOverlayClick) {\n ev.preventDefault();\n _this.props.onOverlayClick.call(undefined, ev);\n }\n if (_this.props.onClose) {\n ev.preventDefault();\n _this.props.onClose.call(undefined, ev);\n }\n if (!_this.props.animation) {\n _this.hideActionSheet();\n }\n };\n _this.hideActionSheet = function () {\n _this.setState({ show: false });\n };\n _this.children = function (children) {\n var components = {};\n React.Children.forEach(children, function (child) {\n if (child) {\n components[child.type.displayName] = child;\n }\n ;\n });\n return components;\n };\n _this.state = {\n show: false,\n slide: false\n };\n validatePackage(packageMetadata);\n return _this;\n }\n /** @hidden */\n ActionSheet.prototype.componentDidMount = function () {\n if (this.props.expand && !this.state.show) {\n this.setState({ show: true });\n }\n };\n /** @hidden */\n ActionSheet.prototype.componentDidUpdate = function (_prevProps, prevState) {\n var _this = this;\n var currentRef = this.actionSheetRef.current;\n if (this.props.expand && !this.state.show) {\n this.setState({ show: true });\n }\n if (this.props.expand && this.state.show && !this.state.slide) {\n this.setState({ slide: true });\n }\n if (!this.props.expand && this.state.show && this.state.slide) {\n this.setState({ slide: false });\n }\n if (prevState !== this.state && this.state.slide && currentRef && !this.props.className) {\n currentRef.style.setProperty('--kendo-actionsheet-height', 'auto');\n currentRef.style.setProperty('--kendo-actionsheet-max-height', 'none');\n }\n if (currentRef) {\n if (this.props.navigatable) {\n var innerElements = [\n '.k-actionsheet-footer',\n '.k-actionsheet-content',\n '.k-actionsheet-titlebar'\n ].map(function (selector) {\n return FOCUSABLE_ELEMENTS.concat(_this.props.navigatableElements).map(function (focusableSelector) { return \"\".concat(selector, \" \").concat(focusableSelector); });\n });\n var selectors = __spreadArray([\n '.k-actionsheet-item'\n ], innerElements.flat(), true);\n this.navigation = new Navigation({\n tabIndex: this.props.tabIndex || 0,\n root: this.actionSheetRef,\n rovingTabIndex: false,\n selectors: selectors,\n keyboardEvents: {\n keydown: {\n 'Tab': this.onTab,\n 'Enter': this.onEnter,\n 'Escape': this.onEscape\n }\n }\n });\n this.navigation.focusElement(this.navigation.first, null);\n }\n }\n };\n ;\n /** @hidden */\n ActionSheet.prototype.render = function () {\n var _this = this;\n var _a = this.props, title = _a.title, subTitle = _a.subTitle, animationStyles = _a.animationStyles, animation = _a.animation, expand = _a.expand, tabIndex = _a.tabIndex, items = _a.items;\n var topGroupItems = items === null || items === void 0 ? void 0 : items.filter(function (item) { return !item.group || item.group === 'top'; });\n var bottomGroupItems = items === null || items === void 0 ? void 0 : items.filter(function (item) { return item.group === 'bottom'; });\n var shouldRenderSeparator = (topGroupItems && topGroupItems.length > 0) && (bottomGroupItems && bottomGroupItems.length > 0);\n var children = this.children(this.props.children);\n var animationDuration = this.props.animationDuration || this.animationDuration;\n var actionSheetPanel = this.state.slide && React.createElement(\"div\", { className: classNames('k-actionsheet', this.props.className, {\n 'k-actionsheet-bottom': !this.props.className\n }), role: \"dialog\", \"aria-modal\": \"true\", \"aria-hidden\": false, \"aria-labelledby\": this.ariaLabeledBy, ref: this.actionSheetRef, onKeyDown: this.handleKeyDown },\n (children[headerDisplayName] && !title && !subTitle) && children[headerDisplayName],\n (title || subTitle) && (React.createElement(\"div\", { className: \"k-actionsheet-titlebar k-text-center\" },\n React.createElement(\"div\", { className: \"k-actionsheet-titlebar-group k-hbox\" },\n React.createElement(\"div\", { className: this.actionSheetTitleClass, id: this.ariaLabeledBy },\n title && React.createElement(\"div\", null, title),\n subTitle && React.createElement(\"div\", { className: \"k-actionsheet-subtitle\" }, subTitle))))),\n children[contentDisplayName] || React.createElement(\"div\", { className: \"k-actionsheet-content\" },\n React.createElement(\"div\", { className: \"k-list-ul\", role: \"group\" }, topGroupItems && topGroupItems.map(function (item, idx) {\n return (React.createElement(ActionSheetItem, __assign({}, item, { id: idx, key: idx, item: item, tabIndex: tabIndex || 0, onClick: _this.handleItemClick })));\n })),\n shouldRenderSeparator && React.createElement(\"hr\", { className: \"k-hr\" }),\n React.createElement(\"div\", { className: \"k-list-ul\", role: \"group\" }, bottomGroupItems && bottomGroupItems.map(function (item, idx) {\n return (React.createElement(ActionSheetItem, __assign({}, item, { id: idx + ((topGroupItems === null || topGroupItems === void 0 ? void 0 : topGroupItems.length) || 0), key: idx, item: item, tabIndex: tabIndex || 0, onClick: _this.handleItemClick })));\n }))),\n children[footerDisplayName]);\n return (React.createElement(React.Fragment, null, expand || this.state.show ? (React.createElement(React.Fragment, null,\n React.createElement(\"div\", { className: \"k-actionsheet-container\" },\n React.createElement(\"div\", { className: \"k-overlay\", onClick: this.handleOverlayClick }),\n animation ? React.createElement(Animation, { transitionName: this.state.slide ? 'slide-up' : 'slide-down', onExited: this.hideActionSheet, transitionEnterDuration: animationDuration, transitionExitDuration: animationDuration, animationEnteringStyle: animationStyles || this.bottomPosition, animationEnteredStyle: animationStyles || this.bottomPosition, animationExitingStyle: animationStyles || this.bottomPosition, exit: true, enter: true, appear: false }, actionSheetPanel)\n : actionSheetPanel)))\n : null));\n };\n ;\n /** @hidden */\n ActionSheet.displayName = 'KendoReactActionSheet';\n /** @hidden */\n ActionSheet.propTypes = {\n items: PropTypes.array,\n subTitle: PropTypes.string,\n title: PropTypes.string,\n navigatable: PropTypes.bool,\n navigatableElements: PropTypes.array\n };\n /** @hidden */\n ActionSheet.defaultProps = {\n navigatable: true,\n navigatableElements: []\n };\n return ActionSheet;\n}(React.Component));\nexport { ActionSheet };\n;\n","import * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { Card } from '../card/Card';\nimport { CardHeader } from '../card/CardHeader';\nimport { CardTitle } from '../card/CardTitle';\nimport { CardSubtitle } from '../card/CardSubtitle';\nimport { CardBody } from '../card/CardBody';\nimport { CardImage } from '../card/CardImage';\nimport { CardActions } from '../card/CardActions';\nimport { Button } from '@progress/kendo-react-buttons';\nimport { classNames } from '@progress/kendo-react-common';\nimport { Reveal } from '@progress/kendo-react-animation';\nimport { chevronRightIcon } from '@progress/kendo-svg-icons';\nexport var TimelineCard = function (props) {\n var animationDuration = 400;\n var _a = props.eventData, title = _a.title, subtitle = _a.subtitle, actions = _a.actions, images = _a.images, description = _a.description;\n var _b = React.useState(true), collapse = _b[0], setCollapse = _b[1];\n var _c = React.useState(true), collapsed = _c[0], setCollapsed = _c[1];\n var toggleCard = function (event) {\n setCollapse(!collapse);\n if (props.onChange) {\n var toggleEvent = {\n syntheticEvent: event,\n nativeEvent: event.nativeEvent,\n eventData: props.eventData\n };\n props.onChange.call(undefined, toggleEvent);\n }\n };\n var actionClick = function (event) {\n if (props.onActionClick) {\n var actionClickEvent = {\n syntheticEvent: event,\n nativeEvent: event.nativeEvent,\n eventData: props.eventData\n };\n props.onActionClick.call(undefined, actionClickEvent);\n }\n };\n var cardBody = function () { return (React.createElement(CardBody, null,\n React.createElement(\"div\", { className: \"k-card-description\" },\n React.createElement(\"p\", null, description),\n images && images.map(function (image, index) { return (React.createElement(CardImage, { key: index, src: image.src })); })),\n React.createElement(CardActions, null, actions && actions.map(function (action, index) { return (React.createElement(\"a\", { key: index, href: action.url, className: \"k-button k-button-md k-rounded-md k-button-flat k-button-flat-primary\", onClick: actionClick }, action.text)); })))); };\n return (React.createElement(\"div\", { className: classNames('k-timeline-card', { 'k-collapsed': props.collapsible && collapsed }) },\n React.createElement(Card, { className: \"k-card-with-callout\" },\n React.createElement(\"span\", { className: classNames('k-timeline-card-callout', 'k-card-callout', { 'k-callout-e': props.alternated }, { 'k-callout-w': !props.alternated }) }),\n React.createElement(\"div\", { className: \"k-card-inner\" },\n React.createElement(CardHeader, null,\n React.createElement(CardTitle, null,\n React.createElement(\"span\", { className: \"k-event-title\" }, title),\n props.collapsible && React.createElement(Button, { fillMode: 'flat', icon: 'chevron-right', svgIcon: chevronRightIcon, onClick: function (event) { return toggleCard(event); }, className: 'k-event-collapse' })),\n subtitle && React.createElement(CardSubtitle, null, subtitle)),\n props.collapsible ?\n React.createElement(Reveal, { transitionEnterDuration: animationDuration, transitionExitDuration: animationDuration, onBeforeEnter: function () { return setCollapsed(false); }, onAfterExited: function () { return setCollapsed(true); } }, !collapse ? cardBody() : null)\n : cardBody()))));\n};\nTimelineCard.propTypes = {\n onChange: PropTypes.func,\n onActionClick: PropTypes.func\n};\n","import * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { TimelineCard } from './TimelineCard';\nimport { classNames } from '@progress/kendo-react-common';\nimport { useInternationalization } from '@progress/kendo-react-intl';\nexport var Timeline = function (props) {\n var collapsibleEvents = props.collapsibleEvents, className = props.className, alterMode = props.alterMode, horizontal = props.horizontal, events = props.events, dateFormat = props.dateFormat, onChange = props.onChange, onActionClick = props.onActionClick;\n var intl = useInternationalization();\n var yearPoint = undefined;\n var setYearPoint = function (year) {\n yearPoint = year;\n return (React.createElement(\"li\", { className: \"k-timeline-flag-wrap\" },\n React.createElement(\"span\", { className: \"k-timeline-flag\" }, year)));\n };\n var timelineVertical = function () { return (React.createElement(\"ul\", null, events.map(function (eventData, index) {\n return (React.createElement(React.Fragment, { key: index },\n yearPoint !== eventData.date.getFullYear() && setYearPoint(eventData.date.getFullYear()),\n React.createElement(\"li\", { className: classNames('k-timeline-event', { 'k-reverse': index % 2 === 0 }) },\n React.createElement(\"div\", { className: \"k-timeline-date-wrap\" },\n React.createElement(\"span\", { className: \"k-timeline-date\" }, intl.formatDate(eventData.date, dateFormat))),\n React.createElement(\"a\", { className: \"k-timeline-circle\" }),\n React.createElement(TimelineCard, { eventData: eventData, alternated: alterMode && index % 2 === 0, collapsible: collapsibleEvents, onChange: onChange, onActionClick: onActionClick }))));\n }))); };\n return (React.createElement(\"div\", { className: classNames('k-timeline', 'k-timeline-collapsible', {\n 'k-timeline-collapsible': collapsibleEvents,\n 'k-timeline-vertical': !horizontal,\n 'k-timeline-alternating': alterMode,\n 'k-timeline-horizontal': horizontal\n }, className) }, timelineVertical()));\n};\nTimeline.defaultProps = {\n alterMode: false,\n collapsibleEvents: false,\n dateFormat: 'MMM dd, yyyy'\n};\nTimeline.propTypes = {\n className: PropTypes.string\n};\n","/**\n * Sort the events list based on event date.\n */\nexport var sortEventList = function (eventList) {\n var sortedEvents = eventList.sort(function (a, b) {\n return a.date.getTime() - b.date.getTime();\n });\n return sortedEvents;\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport { classNames, getActiveElement } from '@progress/kendo-react-common';\nimport { Popup } from '@progress/kendo-react-popup';\nimport { Menu } from '../menu/components/Menu';\n/**\n * Represents the [KendoReact ContextMenu component]({% slug overview_contextmenu %}).\n */\nexport var ContextMenu = function (props) {\n var menuRef = React.useRef(null);\n React.useEffect(function () {\n if (props.show) {\n setTimeout(function () {\n var element = menuRef.current && menuRef.current.element;\n var menuItem = element && element.querySelector('.k-menu-item');\n var activeElement = getActiveElement(menuItem && menuItem.ownerDocument);\n if (menuItem && menuItem !== activeElement) {\n menuItem.focus();\n }\n });\n }\n }, [props.show]);\n return (React.createElement(Popup, { show: props.show, offset: props.offset, popupClass: 'k-menu-popup', animate: false },\n React.createElement(Menu, __assign({ vertical: true }, props, { ref: menuRef, className: classNames('k-context-menu', props.className), onClose: props.onClose, role: 'menu' }), props.children)));\n};\nContextMenu.displayName = 'KendoReactContextMenu';\n","var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport * as React from 'react';\n/**\n * An utility function for asynchronous focus/blur handling.\n *\n * By default, the `onFocus` and `onBlur` callbacks are called every time a child components receives/loses focus.\n * Use this utility hook for scenarios where you need to know if the parent has received focus for the first time, or completely lost focus.\n *\n * @returns\n */\nexport function useAsyncFocusBlur(_a) {\n var onFocus = _a.onFocus, onBlur = _a.onBlur, onSyncFocus = _a.onSyncFocus, onSyncBlur = _a.onSyncBlur;\n var focused = React.useRef(false);\n var tick = React.useRef(0);\n var nextTick = React.useCallback(function (f) {\n clearTimeout(tick.current);\n tick.current = window.setTimeout(function () { return f(); });\n }, [tick]);\n var handleFocus = React.useCallback(function () {\n var event = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n event[_i] = arguments[_i];\n }\n clearTimeout(tick.current);\n if (onSyncFocus) {\n onSyncFocus.call(undefined, event[0]);\n }\n if (focused.current) {\n return;\n }\n ;\n focused.current = true;\n if (onFocus) {\n onFocus.call.apply(onFocus, __spreadArray([undefined], event, false));\n }\n }, [focused, onFocus, onSyncFocus]);\n var handleBlur = React.useCallback(function () {\n var event = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n event[_i] = arguments[_i];\n }\n if (onSyncBlur) {\n onSyncBlur.call(undefined, event[0]);\n }\n nextTick(function () {\n if (!focused.current) {\n return;\n }\n if (onBlur) {\n focused.current = false;\n onBlur.call.apply(onBlur, __spreadArray([undefined], event, false));\n }\n });\n }, [focused, nextTick, onBlur, onSyncBlur]);\n React.useEffect(function () {\n return function () {\n clearTimeout(tick.current);\n };\n }, []);\n return {\n onFocus: handleFocus,\n onBlur: handleBlur\n };\n}\n","import * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames, getTabIndex, useRtl, validatePackage, dispatchEvent, Keys, useAsyncFocusBlur, IconWrap } from '@progress/kendo-react-common';\nimport { packageMetadata } from '../package-metadata';\nimport { chevronDownIcon, chevronUpIcon } from '@progress/kendo-svg-icons';\n/**\n * Represents the [KendoReact ExpansionPanel component]({% slug overview_expansionpanel %}).\n */\nexport var ExpansionPanel = React.forwardRef(function (props, target) {\n var _a, _b;\n validatePackage(packageMetadata);\n var elementRef = React.useRef(null);\n var _c = React.useState(false), focused = _c[0], setFocused = _c[1];\n var getImperativeHandle = React.useCallback(function () { return ({ element: elementRef.current }); }, []);\n React.useImperativeHandle(target, getImperativeHandle);\n var _d = props.expanded, expanded = _d === void 0 ? false : _d, disabled = props.disabled, title = props.title, subtitle = props.subtitle, onAction = props.onAction, expandIcon = props.expandIcon, collapseIcon = props.collapseIcon, expandSVGIcon = props.expandSVGIcon, collapseSVGIcon = props.collapseSVGIcon;\n var onClick = React.useCallback(function (event) {\n dispatchEvent(onAction, event, getImperativeHandle(), { expanded: expanded });\n }, [onAction, expanded]);\n var onKeyDown = React.useCallback(function (event) {\n if (event.keyCode === Keys.enter || event.keyCode === Keys.space) {\n event.preventDefault();\n dispatchEvent(onAction, event, getImperativeHandle(), { expanded: expanded });\n }\n }, [onAction, expanded]);\n var handleFocus = React.useCallback(function () {\n if (props.disabled) {\n return;\n }\n setFocused(true);\n }, [props.disabled]);\n var handleBlur = React.useCallback(function () {\n if (props.disabled) {\n return;\n }\n setFocused(false);\n }, [props.disabled]);\n var _e = useAsyncFocusBlur({ onFocus: handleFocus, onBlur: handleBlur }), onFocus = _e.onFocus, onBlur = _e.onBlur;\n return (React.createElement(\"div\", { ref: elementRef, className: classNames('k-expander', props.className, {\n 'k-expanded': expanded,\n 'k-focus': focused && !disabled,\n 'k-disabled': disabled\n }), onFocus: onFocus, onBlur: onBlur, style: props.style, id: props.id, dir: useRtl(elementRef, props.dir), onKeyDown: disabled ? undefined : onKeyDown },\n React.createElement(\"div\", { role: 'button', \"aria-controls\": props.ariaControls, \"aria-expanded\": expanded, \"aria-disabled\": disabled, tabIndex: getTabIndex(props.tabIndex, disabled), className: \"k-expander-header\", onClick: disabled ? undefined : onClick },\n title !== undefined ? React.createElement(\"div\", { className: \"k-expander-title\" }, title) : undefined,\n React.createElement(\"span\", { className: \"k-spacer\" }),\n subtitle !== undefined ? React.createElement(\"div\", { className: \"k-expander-sub-title\" }, subtitle) : undefined,\n React.createElement(\"span\", { className: \"k-expander-indicator\" },\n React.createElement(IconWrap, { name: !expanded\n ? !expandIcon ? 'chevron-down' : undefined\n : !collapseIcon ? 'chevron-up' : undefined, icon: !expanded\n ? !expandSVGIcon ? chevronDownIcon : undefined\n : !collapseSVGIcon ? chevronUpIcon : undefined, className: classNames(expanded\n ? (_a = {},\n _a[String(collapseIcon)] = Boolean(collapseIcon),\n _a) : (_b = {},\n _b[String(expandIcon)] = Boolean(expandIcon),\n _b)) }))),\n props.children));\n});\nExpansionPanel.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n style: PropTypes.object,\n dir: PropTypes.string,\n id: PropTypes.string,\n tabIndex: PropTypes.number,\n title: PropTypes.node,\n subtitle: PropTypes.node,\n expandIcon: PropTypes.string,\n collapseIcon: PropTypes.string,\n expanded: PropTypes.bool,\n disabled: PropTypes.bool,\n onAction: PropTypes.func\n};\nExpansionPanel.displayName = 'KendoReactExpansionPanel';\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { classNames } from '@progress/kendo-react-common';\nimport * as React from 'react';\n/**\n * Represents the KendoReact ExpansionPanelContent component.\n */\nexport var ExpansionPanelContent = React.forwardRef(function (props, ref) {\n return (React.createElement(\"div\", __assign({ ref: ref }, props, { className: classNames('k-expander-content-wrapper', props.className) }),\n React.createElement(\"div\", { className: 'k-expander-content' }, props.children)));\n});\nExpansionPanelContent.displayName = 'KendoReactExpansionPanelContent';\n"],"names":["DRAG_AND_DROP_DISPATCH_ACTION","intersect","element","candidates","max","result","forEach","candidate","ration","target","elementRect","getBoundingClientRect","targetRect","top","Math","left","right","min","width","bottom","height","targetArea","entryArea","intersectionArea","Number","toFixed","getRatio","detectBrowser","ua","window","navigator","userAgent","browser","match","browserRxs","edge","webkit","safari","opera","msie","mozilla","agent","hasOwnProperty","toLowerCase","split","version","parseInt","document","DOCUMENT_NODE","getDocument","ownerDocument","scrollableRoot","support","body","documentElement","isScrollable","el","className","indexOf","overflow","getComputedStyle","getScrollableParent","root","parent","nodeType","Node","DOCUMENT_FRAGMENT_NODE","parentNode","noop","dispatchDragAndDrop","state","action","callbacks","_a","onIsPressedChange","_b","onIsScrollingChange","_c","onVelocityChange","_d","onOffsetChange","_e","onPageOffsetChange","_f","onClientOffsetChange","_g","onScrollOffsetChange","_h","onInitialScrollOffsetChange","drag","payload","hint","autoScrollDirection","overrideScrollableParent","scrollableParent","event","test","type","isTouchEvent","pageX","changedTouches","pageY","clientX","clientY","scrollX","scrollOffset","x","scrollY","y","offsetX","offset","offsetY","originalEvent","isTouch","altKey","ctrlKey","shiftKey","metaKey","isScrollEvent","pageOffset","clientOffset","normalizeEvent","POINTER_DOWN","isPrimary","button","MOUSE_DOWN","which","ignoreMouse","TOUCH_START","touches","length","START","scrollableParent_1","Window","scrollLeft","scrollTop","onPress","SCROLL","pressed","initialScrollOffset","POINTER_MOVE","MOUSE_MOVE","TOUCH_MOVE","MOVE","autoScroll","document_1","scrollableParent_2","elementFromPoint","newVelocity","mouseX","mouseY","rect","velocity","AUTO_SCROLL_AREA","autoScrollVelocity","innerHeight","innerWidth","scrollableViewPort","defaultView","getWindow","horizontal","vertical","onDragStart","onDrag","dropElement_1","drops","map","drop","filter","d","find","container","isPointerInsideContainer","onDragLeave","onDragEnter","onDragOver","POINTER_UP","MOUSE_UP","TOUCH_END","END","onRelease","onDrop","onDragEnd","POINTER_CANCEL","CONTEXT_MENU","TOUCH_CANCEL","CANCEL","vel","yIsScrollable","xIsScrollable","scrollHeight","scrollWidth","offsetHeight","offsetWidth","yDelta","yInBounds","xDelta","xInBounds","classNames","args","_i","arguments","addKeys","list","arg","Array","isArray","Object","keys","key","addLeafKeys","join","validatePackage","packageMetadata","licensing","message","concat","name","licensingDocsUrl","console","warn","useInternationalization","React","GlobalizationContext","intl","useLocalization","localization","provideIntlService","component","context","IntlService","provideLocalizationService","LocalizationService","registerForIntl","contextType","registerForLocalization","getActiveElement","activeElement","shadowRoot","SIZE_CLASSES","toIconName","iconClass","replace","svgIconPropType","PropTypes","content","viewBox","__assign","assign","t","s","i","n","p","prototype","call","apply","this","__rest","e","getOwnPropertySymbols","propertyIsEnumerable","Icon","props","ref","themeColor","size","flip","style","id","tabIndex","others","elementRef","current","sizeProp","defaultProps","flipProp","fontClassNames","toIconClass","mouseProps","extend","handleMouseDown","onMouseDown","undefined","syntheticEvent","handleMouseUp","onMouseUp","onClick","onDoubleClick","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","useMouse","role","propTypes","displayName","SvgIcon","children","svgClassName","icon","svgStyle","iconNameProp","viewBoxProp","elementClassNames","elementStyle","focusable","xmlns","dangerouslySetInnerHTML","__html","IconsContext","IconWrap","icons","fontIconProps","svg","EMPTY_ID","ZERO_LEVEL_ZERO_ITEM_ID","SEPARATOR","getItemById","itemId","items","isIdZeroLevel","rootParentItem","getRootParentId","isIdEmptyOrZeroLevel","firstSeparatorIndex","substring","getIdWithoutRootParentId","getFirstChildId","createId","childId","parentId","getDirectParentId","lastSeparatorIndex","lastIndexOf","isIdFirstLevel","getSeparatorOccurances","getShortId","getDirectSiblingIdForLevelZero","next","shortItemId","siblingsCount","toString","POPUP_ALIGN","POPUP_ALIGN_RTL","VERTICAL_COLLISION","HORIZONTAL_COLLISION","POPUP_SETTINGS_RTL","downward","anchorAlign","popupAlign","collision","leftward","POPUP_SETTINGS","rightward","getChildrenPosition","isMenuVertical","isDirectionRightToLeft","convertBoolDirectionToString","getDOMElementId","menuGuid","__extends","extendStatics","b","setPrototypeOf","__proto__","TypeError","String","__","constructor","create","MenuItemLink","_super","render","url","getMenuItemClassName","href","opened","downArrowName","rightArrowName","leftArrowName","MenuItemArrow","getIcon","verticalMenu","dir","caretAltDownIcon","caretAltRightIcon","caretAltLeftIcon","MenuItemInternal","_this","isFirstRender","item","stopPropagation","componentDidMount","focusedItemId","currentItemId","itemElement","focus","componentDidUpdate","prevProps","contains","menuItemId","cssStyle","tabbableItemId","onBlur","onFocus","disabled","Opened","text","contentRender","renderContent","renderMenuItemLink","renderPopupIfOpened","contentParentItemId","onOriginalItemNeeded","linkRender","textOrItemRender","itemRender","renderMenuIconIfApplicable","renderArrowIfApplicable","childrenPosition","getPopupSettings","Popup","anchor","show","popupClass","getPopupClassName","animate","MenuItemInternalsList","parentItemId","lastItemIdToBeOpened","svgIcon","defineProperty","get","enumerable","configurable","charAt","isLastFromSiblings","cssClass","renderChildItems","index","Keys","useInheritedState","defaultValue","contextValue","contextSetter","localValue","localSetter","DragContext","DropContext","DragsContext","DropsContext","Draggable","childRef","getElement","handlePress","handleRelease","handleDragStart","handleDrag","handleDragEnd","options","mouseOnly","_j","scrollContainer","_k","setPressed","_l","scrolling","setScrolling","_m","setDrag","_o","drags","registerDrag","deregisterDrag","scrollInterval","restoreMouseTimeout","scrollable","unmount","initialClientOffset","supportPointerEvent","Boolean","PointerEvent","pointers","getHintElement","getScrollContainer","getAutoScrollContainer","boundaryElementRef","data","getState","enabled","direction","isScrolling","handlePressedChange","value","handleScrollingChange","handleVelocityChange","handleOffsetChange","handleClientOffsetChange","handlePageOffsetChange","handleInitialClientOffsetChange","handleScrollOffsetChange","handleInitialScrollOffsetChange","dispatchDragEvent","onInitialClientOffsetChange","handlePointerDown","handlePointerMove","handlePointerCancel","handlePointerUp","handleMouseMove","handleContextMenu","preventDefault","handleTouchStart","handleTouchMove","handleTouchEnd","currentWindow","setTimeout","handleScroll","prerequisites","initialTouchAction_1","touchAction","register","clearInterval","setInterval","autoScrollElement","addEventListener","passive","capture","removeEventListener","clearTimeout","useDraggable","SplitterBar","draggable","isFirst","isLast","isStatic","isDraggable","setState","focused","onToggle","prev","collapsible","onPrevToggle","onNextToggle","onKeyDown","keyCode","isHorizontal","onKeyboardResize","idx","betweenResizablePanes","resizable","nearCollapsiblePane","nearCollapsedPane","collapsed","orientation","barClasses","ariaLabel","isRtl","caretAltUpIcon","TabStripNavigationItem","onSelect","active","title","first","last","itemClasses","DEFAULT_SCROLL_BEHAVIOR","PREV","NEXT","TabStripNavigation","itemsNavRef","onWheel","deltaY","setNewScrollPosition","arrowClickPrev","handleArrowClick","arrowClickNext","horizontalScroll","scrollEnd","increment","buttonScrollSpeed","mouseScrollSpeed","scrollPosition","nextScrollPosition","nextScrollPositionRtl","calculatePrev","scrollBehavior","calculateNext","round","clientWidth","floor","disabledPrev","disabledNext","scrollTo","behavior","clientHeight","renderArrow","directions","arrowTab","fontIcon","ButtonComponent","prevButton","nextButton","Button","fillMode","selected","scrollToSelected","tabs","count","tabPosition","tabsCount","childElements","_","array","tabProps","wrapperClasses","navClasses","tab","HTMLElement","tabOffset","listSize","tabSize","scrollDir","currentScrollOffset","offsetLeft","offsetTop","Fade","other","Animation","transitionName","childFactory","appear","enter","exit","transitionEnterDuration","transitionExitDuration","guid","random","TabStripContent","contentId","child","in","selectedTab","contentClasses","contentClassName","keepTabsMounted","renderChild","visible","contentProps","animationStyle","position","display","animation","productName","productCodes","publishDate","TabStrip","_element","keyBinding","prevNavigatableTab","nextNavigatableTab","handler","invertKeys","tabContentStyle","firstNavigatableTab","lastNavigatableTab","childrenCount","componentClasses","div","original","inverted","c","TabStripTab","PanelBarItem","handleItemClick","uniquePrivateKey","keepItemsMounted","expanded","level","headerClassName","panelBarItemAriaAttributes","panelBarItemClassName","panelBarLinkClassName","imageUrl","src","iconElement","arrow","chevronUpIcon","chevronDownIcon","Reveal","unmountOnExit","onBeforeEnter","onAfterExited","__spreadArray","to","from","pack","ar","l","slice","renderChildren","handleSelect","parentExpanded","parentPrivateKey","nestedChildren","privateKey","getId","renderState","parentUniquePrivateKey","wrapperFocused","getFirstId","firstItem","getInitialState","expandMode","push","flatVisibleItems","flattedItems","flatChildren","flattenChildren","flatVisibleChildren","flattenVisibleChildren","PanelBarUtils","isPresent","mapItemsToComponents","NavigationAction","isArrayEqual","firstArray","secondArray","every","ex","PanelBar","selectedChild","newExpanded","expandedItems","splice","step","focusedChild","ixd","activeDescendant","onNavigate","Previous","Next","Toggle","handleWrapperFocus","nextTickId","handleWrapperBlur","nextTick","handleKeyDown","rtl","currentTarget","initialState","isControlled","selectedItem","ariaProps","f","propName","prop","prop_1","Error","dispatchEvent","eventHandler","dispatchedEvent","eventData","eventBaseData","nativeEvent","MenuItem","prepareInputItemsForInternalWork","models","menuChildren","convertInputModelsToInternalOnesHelper","inputItems","getMenuItemChildComponents","inputModels","convertInputComponentsToInputModelsHelper","copyInputItemWithoutChildren","inputModel","inputComponent","components","comp","model","internalModel","copyOrCreateModelChildren","NO_WHITESPACE_REGEX","getNewItemIdUponKeyboardNavigation","sourceItems","sourceItemId","sourceItem","getIdUponRightKeyForVerticalMenu","getIdUponLeftKeyForVerticalMenu","getIdUponRightKeyForHorizontalMenu","getIdUponLeftKeyForHorizontalMenu","getPrevSiblingId","getLastChildIdForEnabledItemOrGetSameId","getNextSiblingId","getFirstChildIdForEnabledItemOrGetSameId","hasChildren","getSiblings","siblings","getIdUponEndKey","searchChar","currentItemIndex","matchedSibling","startsWith","getIdUponSearchByChar","getFirstOrLastChildIdForEnabledItemOrGetSameId","getItemByIdUtil","getSiblingId","getFirstChild","itemChildren","getLastChildId","directParentId","avatarType","cardOrientation","cardType","cardActionsLayout","DirectionHolder","phase","getIsDirectionRightToLeft","setIsDirectionRightToLeft","previousIsDirectionRightToLeft","hasDirectionChanged","MouseOverHandler","openOnClick","resetMenu","openItem","mouseDown","isMouseOverEnabled","set","handleItemSelectedViaKeyboard","handleItemMouseDown","handleItemFocus","clickedItemIsWithDefaultClose","initialItemsIds","hoveredItemId","Menu","menuWrapperEl","directionHolder","reset","clearItemHoverAndLeaveRequestsIfApplicable","currentItem","newItemId","setFocusedItemId","mouseOverHandler","dispatchSelectEventIfWired","isDefaultPrevented","location","onClose","onItemMouseOver","IsMouseOverEnabled","itemHoverRequest","setHoveredItemId","hoverOpenDelay","getHoverOpenDelay","onItemMouseLeave","isItemWithDefaultClose","itemLeaveRequest","hoverCloseDelay","getHoverCloseDelay","onItemMouseDown","onItemFocus","onItemClick","onItemBlur","relatedTarget","nodeName","activeElementId","getAttribute","includes","getInputItem","prepareItems","checkIsDirectionRightToLeft","getMenuClassName","OpenOnClick","componentWillUnmount","prevState","customCloseItemIds","SplitterPane","overlay","containsSplitter","keepMounted","fixedSize","flexBasis","paneClasses","splitBarLabel","messages","PANE_DEFAULTS","Splitter","_container","validatePanes","panesOptions","pane","mapPaneOptions","panes","panesContent","dragIndex","isDragging","paneOptions","paneContent","mapSplitterPanes","toLanguageString","splitterBar","paneKey","barKey","onBarDragResize","onBarToggle","onBarKeyboardResize","updatedState","paneProps","getPaneProps","onChange","newState","barElement","time","Date","getTime","surroudingPanes","prevElement","nextElement","startTime","originalX","originalY","originalPrevSize","elementSize","originalNextSize","delta","resetDragState","resize","containerSize","isContainer","sizeType","clamp","v","defaultPanes","panesDuringOnChange","isControlledState","previousElementSibling","nextElementSibling","isPercent","toPixels","splitterSize","prevIndex","nextIndex","prevSize","nextSize","prevOptions","nextOptions","total","px","prevDragState","initialSize","nextDragState","paneState","change","newSize","Card","customProps","chipRef","DEFAULT","HORIZONTAL","VERTICAL","CardHeader","CardTitle","CardBody","CardActions","layout","CardImage","CardSubtitle","CardFooter","kendoThemeMaps","sizeMap","small","medium","large","roundedMap","Avatar","border","rounded","TEXT","DrawerContext","mode","mini","miniWidth","getTabIndex","useDefaultTabIndexWhenDisabled","parsedTabIndex","NaN","DrawerItem","separator","focusElement","itemClassNames","handleClick","handle","drawerItemContent","targetItem","DEFAULT_ANIMATION","duration","NO_ANIMATION","DrawerNavigation","onOverlayClick","customSettings","navWidth","navMiniWidth","navigationClassNames","expandPush","opacity","WebkitTransition","transition","expandOverlay","transform","collapsePush","collapseOverlay","collapseOverlayRtl","collapseOverlayMini","WebkitTransitionDuration","transitionDuration","drawerAnimation","drawerItems","drawerItemProps","ItemComp","drawerNavigation","useDir","initialDir","setDir","rtlCandidate","Drawer","itemTarget","itemIndex","ev","drawerClassNames","Provider","DrawerContent","contentClassNames","StepperContext","linear","focusFirstFocusableChild","HTMLInputElement","querySelector","useRtl","optionalText","progBarAriaLabel","Step","isValid","label","optional","animationDuration","isVertical","numOfSteps","successIcon","errorIcon","successSVGIcon","errorSVGIcon","getImperativeHandle","allowClick","isInLabel","localizationService","optionalMessage","progressAnimation","handleFocus","itemStyles","maxWidth","maxHeight","pointerEvents","validationIconCustom","validationIcons","checkOutlineIcon","exclamationCircleIcon","stepIndicator","stepLabel","stepLink","useAnimation","config","deps","mount","animationFrame","start","skip","onStart","frame","timestamp","rate","onUpdate","requestAnimationFrame","onEnd","cancelAnimationFrame","calculatePercentage","onePercent","abs","updateProgress","progressRef","progressWrapRef","percentage","progressPercentage","progressWrapPercentage","ProgressBar","reverse","labelVisible","labelPlacement","emptyStyle","emptyClassName","progressStyle","progressClassName","progressStatusRef","progressStatusWrapRef","progressStatusElement","progressStatusWrapElement","prevValue","usePrevious","indeterminateProp","formattedLabel","numberParts","substr","truncateNumber","labelProps","renderLabel","wrapperProps","positionClasses","handleStart","handleUpdate","progress","handleEnd","Stepper","pbAriaLabel","focusedIdx","setFocusedIdx","dispatchChangeEvent","val","handleChange","currentValue","syntethicEvent","handleEnter","currIndex","maxNavIndex","stepperClasses","stepperStyles","gridTemplateColumns","gridTemplateRows","listClasses","listStyles","gridColumnStart","gridColumnEnd","gridRowStart","gridRowEnd","progressbarStyles","steps","stepProps","AppBar","calculatedId","positionMode","appbarClasses","AppBarSection","sectionClasses","AppBarSpacer","spacerClasses","spacerStyles","FIELD_REGEX","getterCache","getter","field","fields","_match","indexAccessor","fieldName","fieldList","obj","Handle","onResize","ResizeHandlers","handleResize","isEnd","end","InternalTile","oldSize","dragging","resizing","ignoreDrag","pressOffset","pressXY","currentTranslate","preventDataOps","q","dX","dY","dragElement","marginLeft","marginRight","classList","add","col","row","wrapBox","defaultPosition","colSpan","rowSpan","update","zIndex","remove","rec","defaultPrevented","reorderable","outline","order","hintStyle","card","hintClassName","getSnapshotBeforeUpdate","newBox","oldBox","diffCol","currentM","parseFloat","diffRow","currentBot","deltaX","domNode","header","AUTO_FLOW_CLASSES","TileLayout","positions","dOrder","dCol","dRowSpan","dColSpan","shouldUpdate","proposedCol","columns","proposedColSpan","proposedRowSpan","onReposition","getDerivedStateFromProps","columnWidth","gap","rowHeight","autoFlow","gapValue","rows","tileLayoutStyles","gridAutoRows","padding","tile","dataItemKey","ITEM_FLOW_CLASSES","POSITION_MODE_CLASSES","BottomNavigationItem","dataItem","renderer","bottomNavItem","userSelect","BottomNavigation","itemFlow","navId","fill","dispatchSelectEvent","clickedItemIndex","StackLayout","layoutId","hAlign","align","vAlign","stackLayoutClasses","stackLayoutStyles","GridLayout","gridLayoutClasses","gapStyle","cols","gridTemplateRowsStyle","gridTemplateColumnsStyle","gridLayoutStyles","GridLayoutItem","gridLayoutItemStyles","gridArea","BreadcrumbListItem","breadcrumbLIRef","isFirstItem","isLastItem","BreadcrumbDelimiter","breadcrumbDelimiterRef","chevronLeftIcon","chevronRightIcon","BreadcrumbLink","linkRef","handleItemSelect","onItemSelect","ariaCurrent","BreadcrumbOrderedList","orderedListRef","Breadcrumb","breadcrumbRef","OrderedListComponent","breadcrumbOrderedList","ListItemComponent","breadcrumbListItem","DelimiterComponent","breadcrumbDelimiter","LinkComponent","breadcrumbLink","valueField","iconField","iconClassField","textField","FOCUSABLE_ELEMENTS","Navigation","rovingTabIndex","focusNextIndex","indexDiff","all","elements","selectors","mouseEvents","keyboardEvents","querySelectorAll","matches","focusNext","focusPrevious","triggerKeyboardEvent","Element","closest","eventType","triggerMouseEvent","previous","removeAttribute","setAttribute","preventScroll","ActionSheetItem","itemRef","description","group","headerDisplayName","ActionSheetHeader","footerDisplayName","ActionSheetFooter","contentDisplayName","ActionSheetContent","ActionSheet","actionSheetRef","actionSheetTitleClass","ariaLabeledBy","bottomPosition","navigatable","navigation","onTab","nav","handleOverlayClick","hideActionSheet","onEnter","ariaDisabled","isItem","allItems","onEscape","_target","_nav","slide","expand","_prevProps","currentRef","setProperty","innerElements","selector","navigatableElements","focusableSelector","flat","keydown","subTitle","animationStyles","topGroupItems","bottomGroupItems","shouldRenderSeparator","actionSheetPanel","onExited","animationEnteringStyle","animationEnteredStyle","animationExitingStyle","TimelineCard","subtitle","actions","images","collapse","setCollapse","setCollapsed","actionClick","onActionClick","actionClickEvent","cardBody","image","alternated","toggleEvent","toggleCard","Timeline","collapsibleEvents","alterMode","events","dateFormat","yearPoint","date","getFullYear","year","formatDate","sortEventList","eventList","sort","a","ContextMenu","menuRef","menuItem","ExpansionPanel","setFocused","onAction","expandIcon","collapseIcon","expandSVGIcon","collapseSVGIcon","onSyncFocus","onSyncBlur","tick","handleBlur","useAsyncFocusBlur","ariaControls","ExpansionPanelContent"],"sourceRoot":""}