{"version":3,"file":"chunk.8982.fb3af5540adffd243e86.058cb49c.js","mappings":"sGAAO,IAAMA,EAA2B,8B,6DCE3BC,EAAS,SAAHC,GAA4C,IAAtCC,EAAOD,EAAPC,QAASC,EAAIF,EAAJE,KAAMC,EAAKH,EAALG,MAAOC,EAASJ,EAATI,UACrCC,GAAUC,EAAAA,EAAAA,GAAe,iBAAkBF,GACjD,OAAQG,EAAAA,EAAAA,GAAE,SAAU,CAAEC,KAAM,SAAUJ,UAAWC,EAAS,aAAcF,EAAOF,QAASA,GAAWC,EACvG,C,o+BCLO,SAASO,EAAcC,EAAKV,GAAY,IAARW,EAAIX,EAAJW,KACnC,OAAAC,EAAAA,EAAA,GACOF,GAAK,IACRG,MAAOF,EAAKE,OAEpB,C,mEACO,IAAMC,EAAW,SAACJ,GAAK,QAAOA,EAAMG,KAAK,EACnCE,EAAY,SAACL,GAAK,OAAAM,EAAA,GAASN,EAAMO,KAAOP,EAAMG,MAAK,C,2DCQhE,QAdA,WACI,IAAMK,EAAe,IAAIC,KAWzB,MAAO,CAAEC,UAVS,SAACC,EAAWC,GAC1BJ,EAAaK,GAAGF,EAAWC,EAC/B,EAQoBE,SAPH,SAACH,GAAS,QAAAI,EAAAC,UAAAC,OAAKC,EAAI,IAAAC,MAAAJ,EAAA,EAAAA,EAAA,KAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAJF,EAAIE,EAAA,GAAAJ,UAAAI,GAAA,OAAKC,aAAa,WAClDC,QAAQC,IAAI,OAAQ,kCAAmCZ,EAAWO,GAClEV,EAAagB,KAAIC,MAAjBjB,EAAY,CAAMG,GAASe,OAAKR,GACpC,EAAE,EAI4BS,YAHV,SAAChB,EAAWC,GAC5BJ,EAAaoB,IAAIjB,EAAWC,EAChC,EAEJ,ECbe,SAASiB,EAAWC,GAC/B,OAAO,SAAAxC,GAAiG,IAA9FyC,EAAOzC,EAAPyC,QAASC,EAAO1C,EAAP0C,QAASC,EAAY3C,EAAZ2C,aAAYC,EAAA5C,EAAE6C,UAAaC,EAAaF,EAAbE,cAAeC,EAAYH,EAAZG,aAAcC,EAAWJ,EAAXI,YAC1EC,EAAWC,IACXC,EAAaX,EAAW,CAC1BC,QAAAA,EACAE,aAAAA,EACAS,KAAM,CACFH,SAAAA,GAEJJ,UAAW,CACPC,cAAAA,EACAC,aAAAA,EACAC,YAAAA,KAGFK,EAAkBX,EAAQY,OAAOC,SAASC,IAAI,SAACC,GACjD,OAAOA,EAAO,CACVL,KAAM,CACFH,SAAAA,IAGZ,GACA,MAAO,CACHS,QAAO,WACHL,EAAgBM,QAAQ,SAAAF,GAAM,OAAIA,EAAOC,SAAS,GAClDP,EAAWO,SACf,EACAE,WAAU,WACNP,EAAgBM,QAAQ,SAAAF,GAAM,OAAIA,EAAOG,YAAcH,EAAOG,YAAY,GAC1ET,EAAWS,YAAcT,EAAWS,YACxC,EAER,CACJ,C,ugCClCO,IAAMC,EAAe,SAACnD,GACzB,OAAAE,EAAAA,EAAA,GAAYF,GAAK,IAAEG,MAAO,MAC9B,C,0jCCFO,IAAMJ,EAAgB,SAACC,EAAKV,GAA6B,IAAzB8D,EAAQ9D,EAAR8D,SAAUC,EAAQ/D,EAAR+D,SAC7C,OAAAnD,EAAAA,EAAA,GAAYF,GAAK,IAAEoD,SAAAA,EAAUC,SAAAA,GACjC,EACaF,EAAe,SAACnD,GACzB,OAAAE,EAAAA,EAAA,GACOF,GAAK,IACRoD,SAAU,KACVC,SAAU,MAElB,EACajD,EAAW,SAACJ,GACrB,OAAOA,EAAMoD,UAAYpD,EAAMqD,QACnC,EACahD,EAAY,SAACL,GACtB,OAAAM,EAAA,GACKN,EAAMO,KAAI,GAAAmB,OAAM1B,EAAMoD,SAAQ,KAAA1B,OAAI1B,EAAMqD,UAEjD,C,qSChBe,SAASC,EAAMhE,GAA+C,IAAA4C,EAAA5C,EAA5C6C,UAAaE,EAAYH,EAAZG,aAAcC,EAAWJ,EAAXI,YAClDiB,EAAI,e,EAAAC,G,EAAAC,IAAAA,KAAG,SAAAC,EAAO3B,GAAO,IAAA4B,EAAAC,EAAAC,EAAA7C,UAAA,OAAAyC,IAAAA,KAAA,SAAAK,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAapB,OAbsBL,EAAME,EAAA5C,OAAA,QAAAgD,IAAAJ,EAAA,GAAAA,EAAA,GAAG,CAAC,EACnCxB,IACAf,QAAQC,IAAI,OAAQ,iCAAkC,mBAAoBQ,EAAS4B,GACnFO,EAAAA,EAAKxD,UAAU,eAAgB,SAAAyD,GAAyB,I,IAAAC,G,EAAA,E,4CAAAD,I,s1BAAvBE,EAAQD,EAAA,GAAEE,EAAOF,EAAA,GAC1CG,EAAWD,aAAyC,EAASA,EAAQE,WAEzE,OADAlD,QAAQC,IAAI,OAAQ,mCAAoC,iCAAkCgD,GACtFA,GACAjD,QAAQC,IAAI,iCAAkCgD,GAC9CE,OAAOF,SAASG,KAAOH,EAChB,CAACF,EAAUC,IAGf,CAACD,EAAUC,EACtB,GAAGR,EAAAE,KAAA,EACkBE,EAAAA,EAAKS,IAAI5C,EAAS,CAAE4B,OAAAA,EAAQiB,SAAU,WAAW,OAElD,OAFdhB,EAAME,EAAAe,KACZvD,QAAQC,IAAI,OAAQ,iCAAkC,eACtDe,EAAYsB,GAAQE,EAAAgB,OAAA,SACblB,GAAM,yBAAAE,EAAAiB,OAAA,EAAArB,EAAA,G,6KAChB,gBAlBSsB,GAAA,OAAAxB,EAAA/B,MAAA,KAAAT,UAAA,KAmBV,MAAO,CAAEuC,KAAAA,EACb,C,o+BCtBO,SAAS0B,EAAoBC,EAAK5F,GAAuB,IAAViB,EAAIjB,EAAbU,MAASO,KAClD,OAAAL,EAAAA,EAAA,GAAYgF,GAAK,IACbC,iBAAgBjF,EAAAA,EAAA,GAAOgF,EAAMC,kBAAgB,GAAA7E,EAAA,GACxCC,GAAQ2E,EAAMC,iBAAiB5E,MAG5C,CACO,SAAS6E,EAA0BF,EAAOG,GACxClE,MAAMmE,QAAQD,KACfA,EAAS,CAACA,IAEd,IAAME,EAAeL,EAAMC,iBACrBK,EAAWH,EAAOI,OAAO,SAACC,EAAGlC,GAA4B,IAAxBjD,EAAIiD,EAAJjD,KAAMoF,EAAWnC,EAAXmC,YAEzC,OADAD,EAAInF,GAAQgF,EAAahF,IAASoF,EAC3BD,CACX,EAAG,CAAC,GACJ,OAAAxF,EAAAA,EAAA,GACOgF,GAAK,IACRC,iBAAkBK,GAE1B,C,uIClBO,SAASI,EAAetG,GAA2F,I,MAAxFuG,EAAWvG,EAAXuG,YAAWC,EAAAxG,EAAEI,UAAAA,OAAS,IAAAoG,EAAG,qBAAoBA,EAAAC,EAAAzG,EAAE0G,MAAAA,OAAK,IAAAD,EAAG,GAAEA,EAAAE,EAAA3G,EAAEQ,KAAAA,OAAI,IAAAmG,EAAG,UAASA,EAAE1G,EAAOD,EAAPC,QACrGI,GAAUC,EAAAA,EAAAA,GAAe,oBAAqB,KAAF8B,OAAO5B,I,EAAI,G,IAC1CkG,G,kSAAdtG,M,4FAEL,OAAOwG,EAAAA,EAAAA,IAASF,EAAO,SAAAnG,GACnB,OAAQA,EAAE,MAAO,CAAEH,UAAWC,GAC1BE,EAAE,MAAO,CAAEH,UAAW,0BAClBG,EAAE,OAAQ,CAAEH,UAAW,2BAA6B,aACpDG,EAAE,OAAQ,CAAEH,UAAW,0BAA4BmG,IACvDhG,EAAE,SAAU,CAAEC,KAAM,SAAUJ,UAAW,2BAA4B,yBAAyB,EAAMH,QAASA,GAAW,WAChI,EACJ,C,2DCVa4G,EAAU,SAAH7G,GAAgD,IAA1C8G,EAAG9G,EAAH8G,IAAKC,EAAK/G,EAAL+G,MAAOC,EAAOhH,EAAPgH,QAAS7G,EAAKH,EAALG,MAAO8G,EAAOjH,EAAPiH,QAC5C5G,GAAUC,EAAAA,EAAAA,GAAe,sBAAuB,aAAc,CAAE,UAAa2G,GAAqB,OAAVF,IAC9F,OAAOH,EAAAA,EAAAA,IAAS,aAAc,SAAArG,GAAC,OAAKA,EAAE,MAAO,CAAEH,UAAWC,EAAS6G,MAAO,CAAEJ,IAAAA,IACxEvG,EAAE,MAAO,CAAEH,UAAW,sBAClBG,EAAE,MAAO,CAAEH,UAAW,oBAClB,aAAiD2G,QAAqCA,EAAQ,IAClGxG,EAAER,EAAAA,EAAQ,CAAEG,KAAM,YAA0DC,MAAOA,EAAOF,QAAS+G,KAAY,EAC3H,E,0TCDA,IAAMG,GAAQC,EAAAA,EAAAA,GAAqBC,EAAAA,GAEtBC,EAAqB,WAAhBC,IAAIC,QACTC,EAAqB,YAAhBF,IAAIC,QAuHtB,SAtHcE,EAAAA,EAAAA,IAAoB,SAACC,GAC/B,IAAIC,EAGAC,EACAC,EAHEC,EAAyF,QAAjFH,EAAKI,SAASC,cAAc,uDAAoE,IAAPL,EAAgBA,EAAKI,SAASE,KAC/H3B,EAAcwB,EAAKI,QAAQ5B,YAI3B6B,EAAa,SAACxC,GAChB,OAAOtF,EAAAA,EAAAA,GAAe,oBAAqB,CAAE,KAAQmH,GAGrD,CAAE,SAAY7B,GAClB,EACMyC,EAAsB,SAACC,GACzBT,EAAmBS,CACvB,EACMC,EAAoB,SAACC,EAAO9H,GAAK,OAAK,WACxC+H,EAAoBd,EAAKe,WAAWC,kBACpCH,EAAMI,OAAOjD,EAAAA,EAAqB,CAAEjF,MAAAA,GACxC,CAAC,EACKmI,EAAoB,SAACL,EAAO9H,GAAK,sBAAAV,EAAA8I,EAAA3E,IAAAA,KAAK,SAAAC,EAAO2E,EAAUC,GAAO,OAAA7E,IAAAA,KAAA,SAAAK,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAChE8D,EAAMI,OAAOK,EAAAA,EAAqB,CAAEvI,MAAAA,EAAOqI,SAAAA,EAAUC,QAAAA,IAAW,wBAAAxE,EAAAiB,OAAA,EAAArB,EAAA,IACnE,gBAAAsB,EAAAwD,GAAA,OAAAlJ,EAAAmC,MAAA,KAAAT,UAAA,EAFsC,EAEtC,EACKyH,EAAmB,SAACX,EAAO9H,GAAK,sBAAAwD,EAAA4E,EAAA3E,IAAAA,KAAK,SAAAiF,EAAOL,EAAUC,GAAO,IAAApB,EAAAyB,EAAAC,EAAAC,EAAA,OAAApF,IAAAA,KAAA,SAAAqF,GAAA,cAAAA,EAAA/E,KAAA+E,EAAA9E,MAAA,OAE/D8D,EAAMI,OAAOK,EAAAA,EAAqB,CAAEvI,MAAAA,EAAOqI,SAAAA,EAAUC,QAAAA,IACrC,WAAhBzB,IAAIC,QAAuE,QAA/C6B,GAAMzB,EAAKD,EAAK8B,YAAYC,qBAAkC,IAAPL,GAAyBA,EAAGM,KAAK/B,GAAgD,QAAzC2B,GAAMD,EAAK3B,EAAK8B,YAAYzC,eAA4B,IAAPuC,GAAyBA,EAAGI,KAAKL,GAAI,wBAAAE,EAAA/D,OAAA,EAAA2D,EAAA,IACpN,gBAAAQ,EAAAC,GAAA,OAAA3F,EAAA/B,MAAA,KAAAT,UAAA,EAJqC,EAIrC,EACKoI,EAA4B,SAACC,GAAe,OAAK,WACnDpC,EAAKqC,SAAS,CAAED,iBAAkBA,GACtC,CAAC,EACKtB,EAAmB,eAAA5D,EAAAiE,EAAA3E,IAAAA,KAAG,SAAA8F,EAAOtB,GAAgB,IAAAuB,EAAAxJ,EAAAyJ,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAArG,IAAAA,KAAA,SAAAsG,GAAA,cAAAA,EAAAhG,KAAAgG,EAAA/F,MAAA,cAAA+F,EAAA/F,KAAA,EACzCgG,QAAQC,UAAS,UAClBhC,EAAgB,CAAA8B,EAAA/F,KAAA,eAAA+F,EAAAjF,OAAA,iBAEb0E,EAAkBvB,EAAlBuB,OAAQxJ,EAAUiI,EAAVjI,MAEVyJ,EAA+B,IAAtBzJ,EAAMkK,YAAoBlK,EAAQwJ,EAC3CE,EAAWD,EAAOU,wBAAwB/D,IAC1CuD,EAAcD,EAAWU,YACzBR,EAAuBD,EAAeF,EAAOY,aAAe,EAC5DR,EAAY1C,EAAiBgD,wBAAwB/D,IAAMgE,YAC3DN,EAAkBF,EAAuBC,EAC/C5C,EAAKqC,SAAS,CAAEQ,gBAAAA,IAAmB,yBAAAC,EAAAhF,OAAA,EAAAwE,EAAA,IACtC,gBAbwBe,GAAA,OAAAnG,EAAA1C,MAAA,KAAAT,UAAA,KAcnBuJ,EAAgB,SAACrF,EAAOlF,GAC1B,OAAOkF,EAAMC,iBAAiBnF,EAAMO,KACxC,EAgEA,MAAO,CACHiK,mBA5DuB,WACvBpD,GAAWqD,EAAAA,EAAAA,IAAmBpD,EAAM,SAAAjD,EAAAsG,GAAwI,IAArI5C,EAAK1D,EAAL0D,MAAO5C,EAAKd,EAALc,MAAOyF,EAAOvG,EAAPuG,QAASrE,EAAOlC,EAAPkC,QAAS0C,EAAa5E,EAAb4E,cAAmBc,EAAeY,EAAfZ,gBAAec,EAAAF,EAAErB,gBAAAA,OAAe,IAAAuB,EAAG1F,EAAMG,OAAOpE,OAxDvH,EAwDkJ2J,EAC3JC,EAAc,GACdC,EAAe,GACfzF,EAAS,GACfH,EAAMG,OAAOpC,QAAQ,SAAAjD,IACjB+K,EAAAA,EAAAA,GAAc/K,GAAS8K,EAAaE,KAAKhL,GAVhC,SAACA,GAElB,MADyB,CAAC,OAAQ,YACViL,SAASjL,EAAMkL,IAC3C,CAO8DC,CAAanL,GAAS6K,EAAYG,KAAKhL,GAASqF,EAAO2F,KAAKhL,EAClH,GACA,IAAMoL,EAAgB,SAACC,GACnB,OAAOhC,GAAmBgC,EAAa,EAhE5B,CAiEf,EACMC,EAA6B,WACX,WAAhBzE,IAAIC,SACJ6D,GACR,EACA,OAAOzE,EAAAA,EAAAA,IAAS,aAAc,SAAArG,GAAC,OAAKA,EAAE,MAAO,CAAEH,UAAWgI,GAAW,IACjE7H,EAAE,MAAO,CAAEH,UAAW,eAClBG,EAAE,MAAO,CAAE0L,MAAO,uBACd1L,EAAE,MAAO,CAAE0L,MAAO,uBACd1L,EAAE,MAAO,CAAEH,UAAW,qBAAuB,aAC7CkH,GAAO/G,EAAE+F,EAAiB,CAAE9F,KAAM,QAASkG,MAAO,aAActG,UAAW,gCAAiCmG,YAAaA,EAAatG,QAAS+L,IAC/IR,EAAahI,IAAI,SAAA9C,GAAK,OAAKH,EAAE8G,EAAAA,EAAW,CAAE3G,MAAOA,EAAOwL,SAAUjB,EAAcrF,EAAOlF,GAAQyL,cAAehD,EAAiBX,EAAO9H,GAAQ0L,cAAe,WAAQ,GAAI,GACzK7L,EAAE,MAAO,CAAEH,UAAW,qBAAsBiM,IAAKhE,GAC7CkD,EAAY/H,IAAI,SAAC9C,EAAO4L,GAAK,OAAM/L,EAAE4G,EAAO,CAAEzG,MAAOA,EAAOwL,SAAUjB,EAAcrF,EAAOlF,GAAQ6L,SAAUT,EAAcQ,GAAQH,cAAe1E,EAAK0B,EAAiBX,EAAO9H,GAASmI,EAAkBL,EAAO9H,GAAQ0L,cAAe7D,EAAkBC,EAAO9H,IAAS,GAC1QqF,EAAOvC,IAAI,SAAC9C,EAAO4L,GAAK,OAAM/L,EAAE4G,EAAO,CAAEzG,MAAOA,EAAOwL,SAAUjB,EAAcrF,EAAOlF,GAAQ6L,SAAUT,EAAcQ,GAAQH,cAAe1E,EAAK0B,EAAiBX,EAAO9H,GAASmI,EAAkBL,EAAO9H,GAAQ0L,cAAe7D,EAAkBC,EAAO9H,IAAS,GACrQ4G,GAAO/G,EAAEsG,EAAS,CAAEI,UAAWuD,GAAmB5E,EAAM4G,iBAAkB1F,IAAK0D,GAAmB,EAAGrK,MAAOyF,EAAM6G,eAAgB1F,MAAOnB,EAAMmB,MAAOC,QAASA,IAC/JM,GAAMyC,GAAoBxJ,EAAE,SAAU,CAAEH,UAAW,4BAA6BI,KAAM,SAAUP,QAAS6J,EAA0BC,IAC/HxJ,EAAE,OAAQ,KAAM,wBAChBA,EAAE,OAAQ,CAAEH,UAAW,mCAC3BqH,GApFL,IAoFW1B,EAAOpE,QAAkCpB,EAAE,SAAU,CAAEH,UAAW,4BAA6BI,KAAM,SAAUP,QAAS6J,EAA0BC,IACpJxJ,EAAE,OAAQ,KAAMwJ,EAAkB,uBAAyB,YACnExJ,EAAE,MAAO,CAAE0L,MAAO,uBACd1L,EAAER,EAAAA,EAAQ,CAAEK,UAAW,iCAAkCH,QAASyJ,EAAevJ,MAAOyF,EAAM6G,eAAgBvM,KAAM,iBAChIK,EAAE,MAAO,CAAE0L,MAAO,8BAA+BhM,QAASoL,KAAY,EAClF,EACJ,EA0BIqB,qBAzByB,WACb5E,EAAS6E,UAArB7E,EAAgC,IACpC,EAwBI8E,oBATwB,SAACC,GAAc,IAXnBC,EAAWC,EACLC,EAA6BC,EAC7BC,EAA6BC,EAU/CxE,EAAqBkE,EAAUjH,MAA/B+C,iBAZYmE,EAaDnF,EAAK8B,WAAW7D,MAbJmH,EAaWF,EAAUjH,MAZ1BoH,EAA4CF,EAA9DnE,iBAA+CsE,EAAeH,EAAjCjH,iBACXqH,EAA4CH,EAA9DpE,iBAA+CwE,EAAeJ,EAAjClH,kBAChCqH,GAEDD,IAAeE,GAEfH,IAAcE,GAOdzE,EAAoBE,EAE5B,EAKIyE,OAxBW,SAACC,EAAOC,GACnBxF,EAASsF,OAAOC,EAAOC,EAC3B,EAwBJ,E,0jCClIO,IAAM7M,EAAgB,SAACC,EAAOsI,GACjC,OAAApI,EAAAA,EAAA,GAAYF,GAAK,IAAEG,MAAOmI,EAAQnI,OACtC,EACagD,EAAe,SAACnD,GACzB,OAAAE,EAAAA,EAAA,GAAYF,GAAK,IAAEG,MAAO,MAC9B,EACaC,EAAW,SAACJ,GACrB,QAASA,EAAMG,KACnB,EACaE,EAAY,SAACL,GACtB,OAAAM,EAAA,GACKN,EAAMO,KAAOP,EAAMG,MAE5B,C,0jCCbO,IAAM0M,EAAgB,SAAC7M,GAC1B,OAAAE,EAAAA,EAAA,GAAYF,GAAK,IAAE8M,SAAU9M,EAAM8M,QAAS3M,OAAQH,EAAMG,OAC9D,EACagD,EAAe,SAACnD,GACzB,OAAAE,EAAAA,EAAA,GAAYF,GAAK,IAAE8M,SAAS,GAChC,EACa1M,EAAW,SAACJ,GACrB,OAAOA,EAAM8M,OACjB,EACazM,EAAY,SAACL,GACtB,OAAAM,EAAA,GACKN,EAAMO,KAAOP,EAAMG,MAE5B,C,q9BCPsE,IACjD4M,EAAI,SAAAC,I,qRAAAC,CAAAF,EAAAC,GAAA,I,IAAAE,E,kdAAAC,CAAAJ,GACrB,SAAAA,IAAc,IAAAK,EA6CR,O,4FA7CQC,CAAA,KAAAN,IACVK,EAAAF,EAAAzL,MAAA,KAAST,YACJkE,MAAQ,CACToI,iBAAiB,GAErBF,EAAKG,aAAe,SAACvN,EAAOC,GACxB,OAAOD,EAAMG,QAAUF,EAAKE,KAChC,EACAiN,EAAKI,eAAiB,SAACxN,EAAOC,GAAI,OAAKL,EAAAA,EAAAA,GAAe,CAClD,YAAawN,EAAKG,aAAavN,EAAOC,GACtC,eAAkBA,EAAKwN,QACzB,EACFL,EAAKM,iBAAmB,SAACzN,GAAI,OAAK,YAE9BwL,EAD0B2B,EAAKT,MAAvBlB,eACMkC,EAAAA,mBAAoB,CAAE1N,KAAAA,GACxC,CAAC,EACDmN,EAAKQ,YAAc,SAACC,IAEhBC,EADyBV,EAAKT,MAAtBmB,cACKD,EAAEE,cACnB,EACAX,EAAKY,WAAa,WACd,QAAIpH,EAAAA,MAEAwG,EAAKT,MAAMsB,QAGnB,EACAb,EAAKc,uBAAyB,WAC1Bd,EAAK9D,SAAS,SAAA8C,GAAS,MAAK,CAAEkB,iBAAkBlB,EAAUkB,gBAAiB,EAC/E,EACAF,EAAKe,iBAAmB,WAAM,IAClBnO,EAAUoN,EAAKT,MAAf3M,MACR,OAAOA,EAAMoO,WAAW3I,OAAO,SAAC7B,EAAQ3D,EAAM2L,GAC1C,IAAI1E,EACJ,OAAiC,QAA5BA,EAAKlH,EAAMqO,mBAAgC,IAAPnH,OAAgB,EAASA,EAAGoH,WACjE1C,EAAQ,EAAQhI,EAAO2K,UAAUvD,KAAK/K,GAAQ2D,EAAO4K,SAASxD,KAAK/K,GAC5D2D,IAEXA,EAAO2K,UAAUvD,KAAK/K,GACf2D,EACX,EAAG,CAAE2K,UAAW,GAAIC,SAAU,IAClC,EACApB,EAAKqB,iBAAmB,SAACxO,GAAS,IACtBD,EAAUoN,EAAKT,MAAf3M,MACR,OAAQH,EAAAA,EAAAA,GAAE6O,EAAAA,GAAa,CAAE5O,KAAM6O,EAAAA,GAAYC,MAAOC,MAAO5O,EAAK6O,MAAOhC,QAASM,EAAKG,aAAavN,EAAOC,GAAOV,QAAS6N,EAAKQ,YAAamB,SAAU3B,EAAKM,iBAAiBzN,GAAO+O,KAAM/O,EAAK+O,MAC/L,EAAE5B,CACN,CAUC,O,EAVAL,E,EAAA,EAAA7B,IAAA,SAAA/K,MAAA,WAWQ,IAAA8O,EAAA,KAAAC,EACgEC,KAAKxC,MAAlE3M,EAAKkP,EAALlP,MAAOwL,EAAQ0D,EAAR1D,SAAU4D,EAAKF,EAALE,MAAO1D,EAAawD,EAAbxD,cAAepF,EAAO4I,EAAP5I,QAAS2H,EAAQiB,EAARjB,SAChDX,EAAoB6B,KAAKjK,MAAzBoI,gBAAe+B,EACSF,KAAKhB,mBAA7BI,EAASc,EAATd,UAAWC,EAAQa,EAARb,SACnB,OAAOtI,EAAAA,EAAAA,IAAS,aAAc,SAAArG,GAAC,OAAKA,EAAE,MAAO,CAAE0L,MAAO0D,EAAKtP,QAASgM,IAAKyD,GACrEvP,EAAE,MAAO,CAAE0L,MAAO,+BAAgChM,QAASmM,GACvD7L,EAAE,MAAO,CAAE0L,MAAO,UAAYvL,EAAM8O,OACpCG,EAAKjB,cAAiBnO,EAAE,MAAO,CAAE0L,MAAO,WAAa0D,EAAKK,SAC9D9D,GAAa3L,EAAE,MAAO,KAClBA,EAAE,MAAO,CAAE0L,MAAO,uCACd0C,GAAYpO,EAAE,KAAM,CAAEH,UAAW,oBAAsBM,EAAM8O,OAC7DP,EAAUzL,IAAImM,EAAKR,kBACnBnB,GAAmBkB,EAAS1L,IAAImM,EAAKR,kBACrCR,GAAapO,EAAE,MAAO,CAAEH,UAAW,sBAC/BG,EAAER,EAAAA,EAAQ,CAAEG,KAAM,YAA0DD,QAAS+G,MAC7FkI,EAASvN,OAAS,GAAMpB,EAAE,SAAU,CAAEH,UAAW,kCAAmCI,KAAM,SAAUP,QAAS0P,EAAKf,wBAA0BZ,EAAkB,SAAW,iBAAmB,EACxM,GAAC,CAAApC,IAAA,SAAAvG,IAAA,WA1BY,IAAA4K,EACgCJ,KAAKxC,MAAtC3M,MAASoO,EAAUmB,EAAVnB,WAAYjO,EAAKoP,EAALpP,MACvBqP,EAAapB,EAAWqB,KAAK,SAAAxP,GAAI,OAAIA,EAAKE,QAAUA,CAAK,GAC/D,OAAOqP,aAA+C,EAASA,EAAWV,KAC9E,GAAC,CAAA5D,IAAA,UAAAvG,IAAA,WAEG,IAAIuC,EAAIyB,E,MAAG+G,EAC2BP,KAAKxC,MAAnCnB,EAAQkE,EAARlE,SAAUK,EAAQ6D,EAAR7D,SAAU7L,EAAK0P,EAAL1P,MAC5B,OAAOJ,EAAAA,EAAAA,GAAe,CAAC,aAAc,WAAY,SAAU,KAAF8B,OAAO1B,EAAMkL,MAAQ,CAAE,YAAaM,GAAY,CAAE,WAAcK,I,EAAU,G,EAAA,KAAAnK,OAAuC,QAA5BwF,EAAKlH,EAAMqO,mBAAgC,IAAPnH,OAAgB,EAASA,EAAGoH,U,EAA0C,QAA5B3F,EAAK3I,EAAMqO,mBAAgC,IAAP1F,OAAgB,EAASA,EAAG2F,U,qGAChS,I,uEAACvB,CAAA,CAzDoB,CAAS4C,EAAAA,W,06BCHlC,IACaC,EAAU,SAAA5C,I,qRAAAC,CAAA2C,EAAA5C,GAAA,I,IAAAE,E,kdAAAC,CAAAyC,GACnB,SAAAA,EAAYjD,GAAO,IAAAS,G,4FAAAC,CAAA,KAAAuC,IACfxC,EAAAF,EAAAjE,KAAA,KAAM0D,IACDkD,WAAa,SAACC,GAAU,IACV9P,EAAUoN,EAAKT,MAAtBmD,MACJ1M,EAAW2M,OAAOD,EAAM,KAAO9P,EAAMgQ,IACrC3M,EAAW0M,OAAOD,EAAM,KAAO9P,EAAMiQ,IAYzC,OAXI7M,EAAWC,IACXD,EAAWpD,EAAMgQ,KACjB3M,EAAWD,IACXC,EAAWrD,EAAMiQ,KACjB7M,EAAWpD,EAAMgQ,MACjB5M,EAAWpD,EAAMgQ,KACjB3M,EAAWrD,EAAMiQ,MACjB5M,EAAWrD,EAAMiQ,KACjB7M,IAAapD,EAAMgQ,KAAO3M,IAAarD,EAAMiQ,MAC7C7M,EAAWC,EAAW,MAEnB,CAAED,SAAAA,EAAUC,SAAAA,EACvB,EACA+J,EAAK8C,qBAAuB,SAACrC,EAAG1N,GAC5B,IAAMsJ,EAASoE,EAAEE,cACjB5N,EAAQA,QAAqCA,GAASsJ,EAAOtJ,MAC7D,IAAMgQ,EAAS/C,EAAKyC,WAAW,CAAC1P,EAAOiN,EAAKT,MAAMmD,MAAMzM,WACxD+J,EAAKT,MAAMyD,eAAeD,EAAQ1G,EACtC,EACA2D,EAAKiD,qBAAuB,SAACxC,EAAG1N,GAC5B,IAAMsJ,EAASoE,EAAEE,cACjB5N,EAAQA,QAAqCA,GAASsJ,EAAOtJ,MAC7D,IAAMgQ,EAAS/C,EAAKyC,WAAW,CAACzC,EAAKT,MAAMmD,MAAM1M,SAAUjD,IAC3DiN,EAAKT,MAAM2D,eAAeH,EAAQ1G,EACtC,EACA2D,EAAKmD,gBAAkB,SAACpQ,GACpBiN,EAAKoD,aAAa,CAACpD,EAAKqD,qBAAqBtQ,GAAQiN,EAAKT,MAAMmD,MAAMzM,UAC1E,EACA+J,EAAKsD,gBAAkB,SAACvQ,GACpBiN,EAAKoD,aAAa,CAACpD,EAAKT,MAAMmD,MAAM1M,SAAUgK,EAAKqD,qBAAqBtQ,IAC5E,EACAiN,EAAKoD,aAAe,SAACV,GACjB1C,EAAK9D,SAAS8D,EAAKyC,WAAWC,GAClC,EACA1C,EAAKuD,mBAAqB,SAAArR,EAAKsR,GAAYC,EAAAvR,GACvC8N,EAAKT,MAAMyD,eAAehD,EAAKlI,MAAO0L,EAC1C,EACAxD,EAAK0D,mBAAqB,SAAAtN,EAAKoN,GAAYC,EAAArN,GACvC4J,EAAKT,MAAM2D,eAAelD,EAAKlI,MAAO0L,EAC1C,EAAE,IAAAG,EACwC3D,EAAKT,MAAvCmD,MAAS1M,EAAQ2N,EAAR3N,SAAUC,EAAQ0N,EAAR1N,SACW,OAAtC+J,EAAK9D,SAAS,CAAElG,SAAAA,EAAUC,SAAAA,IAAY+J,CAC1C,CAMC,O,EANAwC,G,EAAA,EAAA1E,IAAA,uBAQD/K,MAAA,SACqB6Q,GAAS,IAClBC,EAAW9B,KAAKxC,MAAMmD,MAAtBmB,OACJrF,EAAQsF,KAAKC,KAAKH,EAAU7B,KAAKiC,WAAa,EAC9CxF,EAAQ,IACRA,EAAQ,GAAE,IAAAzH,EACO8M,EAAOrF,IAAUuD,KAAKxC,MAAMmD,MAAzCE,EAAG7L,EAAH6L,IAAKC,EAAG9L,EAAH8L,IACPoB,EAAgBL,EAAUpF,EAAQuD,KAAKiC,UACvCE,EAAiBrB,EAAMD,EAC7B,OAAOkB,KAAKK,MAAMvB,EAAOqB,EAAgBC,EAAkBnC,KAAKiC,UACpE,GAAC,CAAAlG,IAAA,uBAAA/K,MAAA,SACoBqR,GAAO,IAChBP,EAAW9B,KAAKxC,MAAMmD,MAAtBmB,OACJQ,EAAc,EAAGrN,EACA6M,EAAOxB,KAAK,SAAA/E,EAAegH,GAAM,IAAlB1B,EAAGtF,EAAHsF,IAAKC,EAAGvF,EAAHuF,IAErC,OADAwB,EAAcC,EACPF,GAASxB,GAAOwB,GAASvB,CACpC,IAAMd,KAAKxC,MAAMmD,MAHTE,EAAG5L,EAAH4L,IAAKC,EAAG7L,EAAH6L,IAIP0B,EAAgBH,EAAQxB,EACxBsB,EAAiBrB,EAAMD,EAC7B,OAAOkB,KAAKK,OAAOE,EAAcE,EAAgBL,GAAkBnC,KAAKiC,UAC5E,GAAC,CAAAlG,IAAA,qBAAA/K,MAAA,SAAAyR,GACuE,IAAAC,EAAAD,EAAnD9B,MAAmBgC,EAAOD,EAAjBzO,SAA6B2O,EAAOF,EAAjBxO,SAAQ2O,EACX7C,KAAKxC,MAAvCmD,MAAS1M,EAAQ4O,EAAR5O,SAAUC,EAAQ2O,EAAR3O,SACvByO,IAAY1O,GAAY2O,IAAY1O,GACpC8L,KAAK7F,SAAS,CAAElG,SAAAA,EAAUC,SAAAA,GAElC,GAAC,CAAA6H,IAAA,SAAA/K,MAAA,SAAA8R,GACuB,IAAAhD,EAAA,KAAfa,EAAKmC,EAALnC,MAAOhQ,EAAImS,EAAJnS,KACNsD,EAAW+L,KAAKjK,MAAM9B,eAAYa,EAClCZ,EAAW8L,KAAKjK,MAAM7B,eAAYY,EACxC,OAAOiC,EAAAA,EAAAA,IAAS,aAAc,SAAArG,GAC1B,IAAIqH,EAAIyB,EACR,OAAQ9I,EAAE,MAAO,CAAE0L,MAAO,iBACtB1L,EAAE,MAAO,CAAEH,UAAW,4BAClBG,EAAE,MAAO,CAAEH,UAAW,sBACT,WAATI,GAAqBD,EAAE,OAAQ,KAAM,MACrCA,EAAEoP,EAAKiD,cAAe,CAAErD,MAAO,KAAgB/O,KAAM,SAAUqS,MAAO,QAASnC,IAAKF,EAAME,IAAKC,IAAKH,EAAMG,IAAK9P,MAAOiD,EAAUgP,YAAkC,QAApBlL,EAAK4I,EAAME,WAAwB,IAAP9I,OAAgB,EAASA,EAAGmL,WAAYtD,SAAUE,EAAKiB,qBAAsBoC,cAAc,KACzQzS,EAAE,MAAO,CAAEH,UAAW,sBACT,WAATI,GAAqBD,EAAE,OAAQ,KAAM,MACrCA,EAAEoP,EAAKiD,cAAe,CAAErD,MAAO,KAAgB/O,KAAM,SAAUqS,MAAO,QAASnC,IAAKF,EAAME,IAAKC,IAAKH,EAAMG,IAAK9P,MAAOkD,EAAU+O,YAAkC,QAApBzJ,EAAKmH,EAAMG,WAAwB,IAAPtH,OAAgB,EAASA,EAAG0J,WAAYtD,SAAUE,EAAKoB,qBAAsBiC,cAAc,IAC5P,WAATxS,GAAqBD,EAAE,OAAQ,KAAM,QAC7C+G,EAAAA,IAAO/G,EAAE,MAAO,CAAEH,UAAW,uBACzBG,EAAE0S,EAAAA,GAAe,CAAEvC,IAAK,EAAGC,IArGrB,IAqG6C7M,SAAUA,EAAW6L,EAAKuD,qBAAqBpP,GAAYA,EAAUC,SAAUA,EAAW4L,EAAKuD,qBAAqBnP,GAAYA,EAAUoP,YAAaxD,EAAKsB,gBAAiBmC,YAAazD,EAAKyB,gBAAiBiC,eAAgB1D,EAAK0B,mBAAoBiC,eAAgB3D,EAAK6B,sBAC7U,EACJ,GAAC,CAAA5F,IAAA,gBAAAvG,IAAA,WAnDG,MAA2B,aAApBwK,KAAKxC,MAAM7M,KAAsB+S,EAAAA,GAAeC,EAAAA,EAC3D,GAAC,CAAA5H,IAAA,YAAAvG,IAAA,WAEG,OAvDkB,KAuDUwK,KAAKxC,MAAMmD,MAAMmB,OAAOhQ,QAAU,EAClE,M,oEAAC2O,CAAA,CAvDkB,CAASD,EAAAA,W,wqECA2B,IACtCoD,EAAM,SAAA/F,I,qRAAAC,CAAA8F,EAAA/F,GAAA,I,IAAAE,E,kdAAAC,CAAA4F,GACvB,SAAAA,IAAc,IAAA3F,EA8CR,O,4FA9CQC,CAAA,KAAA0F,IACV3F,EAAAF,EAAAzL,MAAA,KAAST,YACJkE,MAAQ,CACToI,iBAAiB,GAErBF,EAAKG,aAAe,SAACtN,GAAI,OAAKmN,EAAKT,MAAM3M,MAAMmQ,OAAOlF,SAAShL,EAAKE,MAAM,EAC1EiN,EAAKI,eAAiB,SAACvN,GAAI,OAAKL,EAAAA,EAAAA,GAAe,iBAAkB,CAC7D,WAAcwN,EAAKG,aAAatN,GAChC,gBAAmBA,EAAKwN,QAC1B,EACFL,EAAKY,WAAa,WACd,QAAIpH,EAAAA,MAEAwG,EAAKT,MAAMsB,QAGnB,EACAb,EAAKM,iBAAmB,SAACzN,GAAI,OAAK,SAAC4N,GAC/BT,EAAKT,MAAMmB,aAAaD,EAAEE,eAC1BX,EAAKT,MAAMlB,cAAckC,EAAAA,mBAAoB,CACzC1N,KAAIC,EAAA,GAAOD,GACX+S,UAAWnF,EAAEpE,OAAOqD,SAE5B,CAAC,EACDM,EAAK6F,YAAc,SAACpF,GAChBT,EAAKT,MAAMmB,aAAaD,EAAEE,eAC1BX,EAAKT,MAAMlB,cAActI,EAAAA,aAC7B,EACAiK,EAAKe,iBAAmB,WACpB,OAAOf,EAAKT,MAAM3M,MAAMoO,WAAW3I,OAAO,SAAC7B,EAAQ3D,EAAM2L,GACrD,OAAIhF,EAAAA,IACAhD,EAAO2K,UAAUvD,KAAK/K,GACf2D,IAEXgI,EAAQ,EAAIhI,EAAO2K,UAAUvD,KAAK/K,GAAQ2D,EAAO4K,SAASxD,KAAK/K,GACxD2D,EACX,EAAG,CAAE2K,UAAW,GAAIC,SAAU,IAClC,EACApB,EAAK8F,WAAa,SAACjT,GACf,OAAOiG,EAAAA,EAAAA,IAAS,aAAc,SAAArG,GAAC,OAAKA,EAAE,QAAS,CAAEH,UAAW0N,EAAKI,eAAevN,IAC5EJ,EAAE,QAAS,CAAEH,UAAW,sBAAuBI,KAAM,WAAYiP,SAAU3B,EAAKM,iBAAiBzN,GAAO6M,QAASM,EAAKG,aAAatN,KACnIJ,EAAE,OAAQ,CAAEH,UAAW,mBAAoB8G,MAAO,CAAE2M,gBAAiB,IAAFzR,OAAMzB,EAAKmT,MAAS,aAAcnT,EAAKE,QAC1GN,EAAE,OAAQ,KAAMI,EAAK6O,OAAO,EACpC,EACA1B,EAAKc,uBAAyB,WAC1Bd,EAAK9D,SAAS,SAAA8C,GAAS,MAAK,CAAEkB,iBAAkBlB,EAAUkB,gBAAiB,EAC/E,EAAEF,CACN,CAaC,O,EAbA2F,G,EAAA,EAAA7H,IAAA,SAAA/K,MAAA,WAcQ,IAAA8O,EAAA,KAAAC,EACgEC,KAAKxC,MAAlE3M,EAAKkP,EAALlP,MAAO0L,EAAawD,EAAbxD,cAAeF,EAAQ0D,EAAR1D,SAAU4D,EAAKF,EAALE,MAAO9I,EAAO4I,EAAP5I,QAAS2H,EAAQiB,EAARjB,SAChDX,EAAoB6B,KAAKjK,MAAzBoI,gBAAe+B,EACSF,KAAKhB,mBAA7BI,EAASc,EAATd,UAAWC,EAAQa,EAARb,SACnB,OAAOtI,EAAAA,EAAAA,IAAS,aAAc,SAAArG,GAAC,OAAKA,EAAE,MAAO,CAAEH,UAAWuP,EAAKtP,QAASgM,IAAKyD,GACzEvP,EAAE,MAAO,CAAEH,WAAWE,EAAAA,EAAAA,GAAe,oBAAqB,CAAE,WAAcI,EAAMmQ,OAAOlP,OAAS,IAAM1B,QAASmM,GAC3G7L,EAAE,MAAO,CAAEH,UAAW,UAAYM,EAAM8O,OACxCG,EAAKjB,cAAiBnO,EAAE,MAAO,CAAE0L,MAAO,WAAa0D,EAAKK,SAC9D9D,GAAa3L,EAAE,MAAO,KAClBA,EAAE,MAAO,CAAEH,UAAW,uCAClBuO,GAAYpO,EAAE,KAAM,CAAEH,UAAW,oBAAsBM,EAAM8O,OAC7DjP,EAAE,SAAU,CAAEC,KAAM,SAAUJ,UAAW,iBAAkBH,QAAS0P,EAAKgE,aAAe,aACxF1E,EAAUzL,IAAImM,EAAKiE,YACnB5F,GAAmBkB,EAAS1L,IAAImM,EAAKiE,YACrCjF,GAAapO,EAAE,MAAO,CAAEH,UAAW,sBAC/BG,EAAER,EAAAA,EAAQ,CAAEG,KAAM,YAA0DD,QAAS+G,MAC7FkI,EAASvN,OAAS,GAAMpB,EAAE,SAAU,CAAEH,UAAW,kCAAmCI,KAAM,SAAUP,QAAS0P,EAAKf,wBAA0BZ,EAAkB,SAAW,iBAAmB,EACxM,GAAC,CAAApC,IAAA,UAAAvG,IAAA,WA9Ba,IAAA+K,EACqBP,KAAKxC,MAA5BnB,EAAQkE,EAARlE,SAAUK,EAAQ6D,EAAR7D,SAClB,OAAOjM,EAAAA,EAAAA,GAAe,+BAAgC,CAAE,YAAa4L,EAAU,WAAcK,GACjG,GAAC,CAAAX,IAAA,SAAAvG,IAAA,WACY,IACD3E,EAAUmP,KAAKxC,MAAf3M,MACR,GAAIA,EAAMmQ,OAAOlP,OAAS,EACtB,OAAOjB,EAAMoO,WACRxL,OAAO,SAAA3C,GAAI,OAAID,EAAMmQ,OAAOlF,SAAShL,EAAKE,MAAM,GAChD2C,IAAI,SAAAxD,GAAQ,OAAAA,EAALwP,KAAiB,GACxBuE,KAAK,KAElB,M,oEAACN,CAAA,CA7DsB,CAASpD,EAAAA,W,2jDCGpC,IACqB2D,EAAU,SAAAtG,I,qRAAAC,CAAAqG,EAAAtG,GAAA,I,IAAAE,E,kdAAAC,CAAAmG,GAC3B,SAAAA,IAAc,IAAAlG,EA2CR,O,4FA3CQC,CAAA,KAAAiG,IACVlG,EAAAF,EAAAzL,MAAA,KAAST,YACJkE,MAAQ,CACToI,iBAAiB,GAErBF,EAAKG,aAAe,SAACtN,GAAI,OAAKmN,EAAKT,MAAM3M,MAAMmQ,OAAOlF,SAAShL,EAAKE,MAAM,EAC1EiN,EAAKM,iBAAmB,SAACzN,GAAI,OAAK,SAAC4N,GAC/BT,EAAKT,MAAMlB,cAAckC,EAAAA,mBAAoB,CACzC1N,KAAIC,EAAA,GAAOD,GACX+S,UAAWnF,EAAEpE,OAAOqD,SAE5B,CAAC,EACDM,EAAKQ,YAAc,SAACC,GAChBT,EAAKT,MAAMmB,aAAaD,EAAEE,cAC9B,EACAX,EAAKY,WAAa,WACd,QAAIpH,EAAAA,MAEAwG,EAAKT,MAAMsB,QAGnB,EACAb,EAAKc,uBAAyB,WAC1Bd,EAAK9D,SAAS,SAAA8C,GAAS,MAAK,CAAEkB,iBAAkBlB,EAAUkB,gBAAiB,EAC/E,EACAF,EAAKe,iBAAmB,WAAM,IAClBnO,EAAUoN,EAAKT,MAAf3M,MACR,OAAOA,EAAMoO,WAAW3I,OAAO,SAAC7B,EAAQ3D,EAAM2L,GAC1C,IAAI1E,EACJ,OAAIN,EAAAA,IACAhD,EAAO2K,UAAUvD,KAAK/K,GACf2D,IAEsB,QAA5BsD,EAAKlH,EAAMqO,mBAAgC,IAAPnH,OAAgB,EAASA,EAAGoH,WACjE1C,EAAQ,EAAQhI,EAAO2K,UAAUvD,KAAK/K,GAAQ2D,EAAO4K,SAASxD,KAAK/K,GAC5D2D,IAEXgI,EAAQ,EAAIhI,EAAO2K,UAAUvD,KAAK/K,GAAQ2D,EAAO4K,SAASxD,KAAK/K,GACxD2D,EACX,EAAG,CAAE2K,UAAW,GAAIC,SAAU,IAClC,EACApB,EAAKqB,iBAAmB,SAACxO,GACrB,OAAQJ,EAAAA,EAAAA,GAAE6O,EAAAA,GAAa,CAAE5O,KAAM6O,EAAAA,GAAY4E,SAAU1E,MAAO5O,EAAK6O,MAAOvP,QAAS6N,EAAKQ,YAAad,QAASM,EAAKG,aAAatN,GAAO8O,SAAU3B,EAAKM,iBAAiBzN,GAAO6O,MAAQ7O,EAAK6O,OAAS7O,EAAK6O,MAAM7N,OA5C1L,GA4C6NhB,EAAK6O,WAAQ7K,EAAW+K,KAAM/O,EAAK+O,MACvR,EAAE5B,CACN,CAcC,O,EAdAkG,G,EAAA,EAAApI,IAAA,SAAA/K,MAAA,WAeQ,IAAA8O,EAAA,KAAAC,EACgEC,KAAKxC,MAAlE3M,EAAKkP,EAALlP,MAAOwL,EAAQ0D,EAAR1D,SAAU4D,EAAKF,EAALE,MAAO1D,EAAawD,EAAbxD,cAAepF,EAAO4I,EAAP5I,QAAS2H,EAAQiB,EAARjB,SAChDX,EAAoB6B,KAAKjK,MAAzBoI,gBAAe+B,EACSF,KAAKhB,mBAA7BI,EAASc,EAATd,UAAWC,EAAQa,EAARb,SACnB,OAAOtI,EAAAA,EAAAA,IAAS,aAAc,SAAArG,GAAC,OAAKA,EAAE,MAAO,CAAE0L,MAAO0D,EAAKtP,QAASgM,IAAKyD,GACrEvP,EAAE,MAAO,CAAE0L,OAAO3L,EAAAA,EAAAA,GAAe,oBAAqB,CAAE,WAAcI,EAAMmQ,OAAOlP,OAAS,IAAM1B,QAASmM,GACvG7L,EAAE,MAAO,CAAE0L,MAAO,UACdvL,EAAM8O,MACN9O,EAAMwT,SAAY3T,EAAE,OAAQ,CAAEH,UAAW,6BACrCG,EAAE,MAAO,CAAEH,UAAW,sBAClB,IACAG,EAAE4T,EAAAA,EAAS,CAAE5E,MAAO7O,EAAMwT,aACtCvE,EAAKjB,cAAiBnO,EAAE,MAAO,CAAE0L,MAAO,WAAa0D,EAAKK,SAC9D9D,GAAa3L,EAAE,MAAO,KAClBA,EAAE,MAAO,CAAE0L,MAAO,uCACd0C,GAAYpO,EAAE,KAAM,CAAEH,UAAW,oBAAsBM,EAAM8O,OAC7DP,EAAUzL,IAAImM,EAAKR,kBACnBnB,GAAmBkB,EAAS1L,IAAImM,EAAKR,kBACrCR,GAAapO,EAAE,MAAO,CAAEH,UAAW,sBAC/BG,EAAER,EAAAA,EAAQ,CAAEG,KAAM,YAA0DD,QAAS+G,MAC7FkI,EAASvN,OAAS,GAAMpB,EAAE,SAAU,CAAEH,UAAW,kCAAmCI,KAAM,SAAUP,QAAS0P,EAAKf,wBAA0BZ,EAAkB,SAAW,iBAAmB,EACxM,GAAC,CAAApC,IAAA,SAAAvG,IAAA,WAnCY,IACD3E,EAAUmP,KAAKxC,MAAf3M,MACR,GAAIA,EAAMmQ,OAAOlP,OAAS,EACtB,OAAOjB,EAAMoO,WACRxL,OAAO,SAAA3C,GAAI,OAAID,EAAMmQ,OAAOlF,SAAShL,EAAKE,MAAM,GAChD2C,IAAI,SAAAxD,GAAQ,OAAAA,EAALwP,KAAiB,GACxBuE,KAAK,KAElB,GAAC,CAAAnI,IAAA,UAAAvG,IAAA,WAEG,IAAIuC,EAAIyB,EAAG+G,EAC2BP,KAAKxC,MAAnC3M,EAAK0P,EAAL1P,MAAOwL,EAAQkE,EAARlE,SAAUK,EAAQ6D,EAAR7D,SACzB,OAAOjM,EAAAA,EAAAA,GAAe,CAAC,aAAc,WAAY,eAAgB,KAAF8B,OAAO1B,EAAMkL,MAAQ,CAAE,YAAaM,EAAU,WAAcK,GAAUvL,EAAA,QAAAoB,OAAuC,QAA5BwF,EAAKlH,EAAMqO,mBAAgC,IAAPnH,OAAgB,EAASA,EAAGoH,UAA0C,QAA5B3F,EAAK3I,EAAMqO,mBAAgC,IAAP1F,OAAgB,EAASA,EAAG2F,UAClS,M,oEAACgF,CAAA,CA3D0B,CAAS3D,EAAAA,W,42BCLvB5P,EAAAA,cCHS,IACL2T,GAAU,SAAAC,I,sRAAA1G,CAAAyG,EAAAC,GAAA,I,IAAAzG,E,qdAAAC,CAAAuG,GAAA,SAAAA,IAAA,O,4FAAArG,CAAA,KAAAqG,GAAAxG,EAAAzL,MAAA,KAAAT,UAAA,CAM1B,O,EAN0B0S,G,EAAA,EAAAxI,IAAA,SAAA/K,MAAA,WAClB,IAAAiN,EAAA,KAAA8B,EACoBC,KAAKxC,MAAtB3M,EAAKkP,EAALlP,MAAOoP,EAAKF,EAALE,MACf,OAAOlJ,EAAAA,EAAAA,IAAS,aAAc,SAAArG,GAAC,OAAKA,EAAE,MAAO,CAAE0L,MAAO,sDAAuDI,IAAKyD,GAC9GvP,EAAE,MAAO,CAAE0L,MAAO,oBAAsBvL,EAAM8O,OAC9CjP,EAAE,MAAO,CAAE0L,MAAO,uCAAyCvL,EAAMoO,WAAWtL,IAAI,SAAA7C,GAAI,OAAKJ,EAAE6O,EAAAA,GAAa,CAAE5O,KAAM6O,EAAAA,GAAYC,MAAOC,MAAO5O,EAAK6O,MAAOhC,QAASM,EAAKG,aAAavN,EAAOC,GAAOV,QAAS6N,EAAKQ,YAAamB,SAAU3B,EAAKM,iBAAiBzN,IAAQ,IAAI,EAC9Q,M,oEAACyT,CAAA,CAN0B,CAAS3G,G,o2BCGmB,IACtC6G,GAAiB,SAAA5G,I,sRAAAC,CAAA2G,EAAA5G,GAAA,I,IAAAE,E,qdAAAC,CAAAyG,GAClC,SAAAA,IAAc,IAAAxG,EAwCR,O,4FAxCQC,CAAA,KAAAuG,IACVxG,EAAAF,EAAAzL,MAAA,KAAST,YACJkE,MAAQ,CACToI,iBAAiB,GAErBF,EAAKG,aAAe,SAACvN,EAAOC,GACxB,OAAOD,EAAMG,QAAUF,EAAKE,KAChC,EACAiN,EAAKI,eAAiB,SAACxN,EAAOC,GAAI,OAAKL,EAAAA,EAAAA,GAAe,CAClD,YAAawN,EAAKG,aAAavN,EAAOC,GACtC,eAAkBA,EAAKwN,QACzB,EACFL,EAAKM,iBAAmB,SAACzN,GAAI,OAAK,YAE9BwL,EAD0B2B,EAAKT,MAAvBlB,eACMkC,EAAAA,mBAAoB,CAAE1N,KAAAA,GACxC,CAAC,EACDmN,EAAKc,uBAAyB,WAC1Bd,EAAK9D,SAAS,SAAA8C,GAAS,MAAK,CAAEkB,iBAAkBlB,EAAUkB,gBAAiB,EAC/E,EACAF,EAAKQ,YAAc,SAACC,IAEhBC,EADyBV,EAAKT,MAAtBmB,cACKD,EAAEE,cACnB,EACAX,EAAKY,WAAa,WACd,QAAIpH,EAAAA,MAEAwG,EAAKT,MAAMsB,QAGnB,EACAb,EAAKe,iBAAmB,WAEpB,OADkBf,EAAKT,MAAf3M,MACKoO,WAAW3I,OAAO,SAAC7B,EAAQ3D,EAAM2L,GAE1C,OADAA,EAAQ,EAAQhI,EAAO2K,UAAUvD,KAAK/K,GAAQ2D,EAAO4K,SAASxD,KAAK/K,GAC5D2D,CACX,EAAG,CAAE2K,UAAW,GAAIC,SAAU,IAClC,EACApB,EAAKqB,iBAAmB,SAACxO,GAAS,IACtBD,EAAUoN,EAAKT,MAAf3M,MACR,OAAQH,EAAAA,EAAAA,GAAE6O,EAAAA,GAAa,CAAE5O,KAAM6O,EAAAA,GAAYC,MAAOC,MAAO5O,EAAK6O,MAAOhC,QAASM,EAAKG,aAAavN,EAAOC,GAAOV,QAAS6N,EAAKQ,YAAamB,SAAU3B,EAAKM,iBAAiBzN,GAAO+O,KAAM/O,EAAK+O,MAC/L,EAAE5B,CACN,CASC,O,EATAwG,G,EAAA,EAAA1I,IAAA,SAAA/K,MAAA,WAUQ,IAAA8O,EAAA,KAAAC,EACgEC,KAAKxC,MAAlE3M,EAAKkP,EAALlP,MAAOwL,EAAQ0D,EAAR1D,SAAU4D,EAAKF,EAALE,MAAO1D,EAAawD,EAAbxD,cAAepF,EAAO4I,EAAP5I,QAAS2H,EAAQiB,EAARjB,SAChDX,EAAoB6B,KAAKjK,MAAzBoI,gBAAe+B,EACSF,KAAKhB,mBAA7BI,EAASc,EAATd,UAAWC,EAAQa,EAARb,SACnB,OAAOtI,EAAAA,EAAAA,IAAS,aAAc,SAAArG,GAAC,OAAKA,EAAE,MAAO,CAAE0L,MAAO0D,EAAKtP,QAASgM,IAAKyD,EAAO5I,MAAO,iBACnF3G,EAAE,MAAO,CAAE0L,MAAO,+BAAgChM,QAASmM,GACvD7L,EAAE,MAAO,CAAE0L,MAAO,UAAYvL,EAAM8O,OACpCG,EAAKjB,cAAiBnO,EAAE,MAAO,CAAE0L,MAAO,WAAa0D,EAAKK,SAC9D9D,GAAa3L,EAAE,MAAO,KAClBA,EAAE,MAAO,CAAE0L,MAAO,uCACd0C,GAAYpO,EAAE,KAAM,CAAEH,UAAW,oBAAsBM,EAAM8O,OAC7DP,EAAUzL,IAAImM,EAAKR,kBACnBnB,GAAmBkB,EAAS1L,IAAImM,EAAKR,kBACrCR,GAAapO,EAAE,MAAO,CAAEH,UAAW,sBAC/BG,EAAER,EAAAA,EAAQ,CAAEG,KAAM,YAA0DD,QAAS+G,MAC7FkI,EAASvN,OAAS,GAAMpB,EAAE,SAAU,CAAEH,UAAW,kCAAmCI,KAAM,SAAUP,QAAS0P,EAAKf,wBAA0BZ,EAAkB,SAAW,iBAAmB,EACxM,GAAC,CAAApC,IAAA,SAAAvG,IAAA,WAzBY,IAAA4K,EACgCJ,KAAKxC,MAAtC3M,MAASoO,EAAUmB,EAAVnB,WAAYjO,EAAKoP,EAALpP,MACvBqP,EAAapB,EAAWqB,KAAK,SAAAxP,GAAI,OAAIA,EAAKE,QAAUA,CAAK,GAC/D,OAAOqP,aAA+C,EAASA,EAAWV,KAC9E,GAAC,CAAA5D,IAAA,UAAAvG,IAAA,WACa,IAAA+K,EAC4BP,KAAKxC,MAAnCnB,EAAQkE,EAARlE,SAAUK,EAAQ6D,EAAR7D,SAAU7L,EAAK0P,EAAL1P,MAC5B,OAAOJ,EAAAA,EAAAA,GAAe,CAAC,aAAc,WAAY,SAAU,KAAF8B,OAAO1B,EAAMkL,KAAG,KAAAxJ,OAAS1B,EAAMF,OAAS,CAAE,YAAa0L,GAAY,CAAE,WAAcK,GAChJ,M,qEAAC+H,CAAA,CAnDiC,CAASjE,EAAAA,W,w9BCF9B5P,EAAAA,cCQjB,IAAM8T,GAAmB,CACrBH,WAAAA,IAEEI,GAAS5T,GAAAA,GAAA,GACR2T,IAAgB,IACnB9G,KAAAA,EACAgH,MCXW,SAAczU,GAAsG,IAAA8N,EAAA,KAAnGpN,EAAKV,EAALU,MAAOwL,EAAQlM,EAARkM,SAAUK,EAAQvM,EAARuM,SAAUJ,EAAanM,EAAbmM,cAAeC,EAAapM,EAAboM,cAAeoC,EAAYxO,EAAZwO,aAAcsB,EAAK9P,EAAL8P,MAAO9I,EAAOhH,EAAPgH,QAAS2H,EAAQ3O,EAAR2O,SAC7GtO,GAAUC,EAAAA,EAAAA,GAAe,CAAC,aAAc,WAAY,WAAY,CAAE,YAAa4L,EAAU,WAAcK,IACvGmI,EAAgB,SAAClE,GACnB,OAAOjN,QAAS7C,EAAMoD,UAAY0M,EAAME,KAAOhQ,EAAMoD,UAChDpD,EAAMqD,UAAYyM,EAAMG,KAAOjQ,EAAMqD,SAC9C,EACM+M,EAAiB,SAACD,EAAQS,GAC5B9C,EAAa8C,GACbnF,EAAc1L,EAAAA,cAAeoQ,EACjC,EACMG,EAAiB,SAACH,EAAQS,GAC5B9C,EAAa8C,GACbnF,EAAc1L,EAAAA,cAAeoQ,EACjC,EA0CM8D,EAAgB,SAACnE,GAAK,OAAK,WAE7B,GADkBkE,EAAclE,GAE5B,OA9Ba,SAACA,GAClB,IAAMoE,EAAoBlU,EAAMiR,OAAOkD,UAAU,SAAAlU,GAAI,OAAIA,EAAK6O,QAAUgB,EAAMhB,KAAK,GAC7EsF,EAAuBF,EAAoB,GAAKF,EAAchU,EAAMiR,OAAOiD,EAAoB,IAC/FlU,EAAMiR,OAAOiD,EAAoB,GACjC,KACAG,EAAmBH,EAAoBlU,EAAMiR,OAAOhQ,OAAS,GAAK+S,EAAchU,EAAMiR,OAAOiD,EAAoB,IACjHlU,EAAMiR,OAAOiD,EAAoB,GACjC,KAEN,IAAIG,IAAoBD,EAAxB,CAEA,IAAMjE,EAAS,CACX/M,SAAUpD,EAAMoD,SAChBC,SAAUrD,EAAMqD,UAEhBgR,EACAlE,EAAO/M,SAAWiR,EAAiBrE,IAE9BoE,EACLjE,EAAO9M,SAAW+Q,EAAqBnE,KAGvCE,EAAO/M,SAAW,KAClB+M,EAAO9M,SAAW,MAEtBoI,EAAc1L,EAAAA,cAAeoQ,EAfnB,CAgBd,CAIemE,CAAaxE,IA5CT,SAACA,GAChB,IAAIK,EAAS,CAAE/M,SAAU,KAAMC,SAAU,MACnCkR,EAAavU,EAAMiR,OAAO,GAC1BuD,EAAYxU,EAAMiR,OAAOjR,EAAMiR,OAAOhQ,OAAS,IAC7B6O,IAAUyE,GAAcP,EAAcO,MACtDzE,IAAU0E,GAAaR,EAAcQ,MAEzCrE,EAAS,CACL/M,UAAWpD,EAAMoD,UAAY0M,EAAME,IAAMhQ,EAAMoD,SAAW0M,EAAME,IAAMhQ,EAAMoD,SAC5EC,UAAWrD,EAAMqD,UAAYyM,EAAMG,IAAMjQ,EAAMqD,SAAWyM,EAAMG,IAAMjQ,EAAMqD,WAGpFoI,EAAc1L,EAAAA,cAAeoQ,EACjC,CAgCIsE,CAAW3E,EACf,CAAC,EACK4E,EAAmB,SAAC7G,GACtBC,EAAaD,EAAEE,cACnB,EACM4G,EAA0B,UAAd3U,EAAMkL,IAAkB,WAAa,UACjD0J,EAAc5U,EAAMoD,UAAYpD,EAAMqD,SAAW,GAAH3B,OAAM1B,EAAMoD,SAAQ,OAAA1B,OAAM1B,EAAMqD,UAAa,GAQ3FwR,EAAmB,WACrBvO,GAAWA,KACXwO,EAAAA,EAAAA,GAAgB,CAAEC,MAAO,eAC7B,EACA,OAAO7O,EAAAA,EAAAA,IAAS,aAAc,SAAArG,GAAC,OAAKA,EAAE,M,2VAAKK,CAAA,CAAIqL,MAAO5L,EAASgM,IAAKyD,GAAyB,UAAdpP,EAAMkL,KAAmB,CAAE,2BAA4B,KAClIrL,EAAE,MAAO,CAAE0L,OAAO3L,EAAAA,EAAAA,GAAe,oBAAqB,CAAE,WAAcgV,IAAgBrV,QAASmM,GAC3F7L,EAAE,MAAO,CAAE0L,MAAO,UAAYvL,EAAM8O,UAZpClI,EAAAA,MAEAwG,EAAKT,MAAMsB,WAWMpO,EAAE,MAAO,CAAE0L,MAAO,WAAaqJ,IACpDpJ,GAAa3L,EAAE,MAAO,CAAE0L,MAAO,uCAC3B0C,GAAYpO,EAAE,KAAM,CAAEH,UAAW,mCAAqCM,EAAM8O,OAC5EjP,EAAE+P,EAAY,CAAE9P,KAAM6U,EAAW7E,MAAO9P,EAAOoQ,eAAgBA,EAAgBE,eAAgBA,IAC/FtQ,EAAMiR,OAAOhQ,OAAS,GAAMpB,EAAE,MAAO,CAAE0L,MAAO,mBAAqBvL,EAAMiR,OAAOnO,IAAI,SAAAgN,GAAK,OAAKjQ,EAAE6O,EAAAA,GAAa,CAAE5O,KAAM6O,EAAAA,GAAY4E,SAAU1E,MAAOiB,EAAMhB,MAAOvP,QAASmV,EAAkB5H,QAASkH,EAAclE,GAAQf,SAAUkF,EAAcnE,IAAS,IAC1P7B,GAAapO,EAAE,MAAO,CAAEH,UAAW,sBAC/BG,EAAER,EAAAA,EAAQ,CAAEG,KAAM,YAA0DD,QAASsV,MAAwB,EAC7H,ED3EIG,MEfW,SAAe1V,GAAsG,IAAA8N,EAAA,KAAnGpN,EAAKV,EAALU,MAAOyL,EAAanM,EAAbmM,cAAeC,EAAapM,EAAboM,cAAeoC,EAAYxO,EAAZwO,aAActC,EAAQlM,EAARkM,SAAUK,EAAQvM,EAARuM,SAAUuD,EAAK9P,EAAL8P,MAAO9I,EAAOhH,EAAPgH,QAAS2H,EAAQ3O,EAAR2O,SAC9GgH,EAAW,SAAChV,GACd,OAAOD,EAAMG,QAAUF,EAAKE,KAChC,EAKMR,GAAUC,EAAAA,EAAAA,GAAe,+BAAgC,CAAE,YAAa4L,EAAU,WAAcK,IAChG2B,EAAiB,SAACvN,GAAI,OAAKL,EAAAA,EAAAA,GAAe,iBAAkB,CAC9D,WAAcqV,EAAShV,GACvB,gBAAmBA,EAAKwN,QAC1B,EACIyH,EAAe,SAACjV,GAAI,OAAK,SAAC4N,GAC5BC,EAAaD,EAAEE,eACftC,EAAckC,EAAAA,mBAAoB,CAAE1N,KAAAA,GACxC,CAAC,EACKgT,EAAc,SAACpF,GACjBC,EAAaD,EAAEE,eACftC,EAActI,EAAAA,aAClB,EAQA,OAAO+C,EAAAA,EAAAA,IAAS,aAAc,SAAArG,GAAC,OAAKA,EAAE,MAAO,CAAE0L,MAAO5L,EAASgM,IAAKyD,GAChEvP,EAAE,MAAO,CAAE0L,MAAO,oBAAqBhM,QAASmM,GAC5C7L,EAAE,MAAO,CAAE0L,MAAO,UAAYvL,EAAM8O,UARpClI,EAAAA,MAEAwG,EAAKT,MAAMsB,WAOMpO,EAAE,MAAO,CAAE0L,MAAO,WAzBhCiE,OADDA,EAAaxP,EAAMoO,WAAWqB,KAAK,SAAAxP,GAAI,OAAIA,EAAKE,QAAUH,EAAMG,KAAK,SACrB,EAASqP,EAAWV,QA0B1EtD,GAAa3L,EAAE,MAAO,CAAE0L,MAAO,uCAC3B0C,GAAYpO,EAAE,KAAM,CAAEH,UAAW,oBAAsBM,EAAM8O,OAC7DjP,EAAE,IAAK,CAAE0L,MAAO,iBAAkBhM,QAAS0T,GAAe,aAC1DjT,EAAMoO,WAAWtL,IAAI,SAAA7C,GAAI,OAAKJ,EAAE,IAAK,CAAE0L,MAAOiC,EAAevN,GAAOV,QAAS2V,EAAajV,IACtFJ,EAAE,OAAQ,CAAE0L,MAAO,mBAAoB/E,MAAO,gBAAF9E,OAAkBzB,EAAKmT,KAAO,aAAcnT,EAAKE,QAC7FN,EAAE,OAAQ,CAAE0L,MAAO,uBAAyBtL,EAAK6O,OAAO,GAC5Db,GAAapO,EAAE,MAAO,CAAEH,UAAW,sBAC/BG,EAAER,EAAAA,EAAQ,CAAEG,KAAM,YAA0DD,QAAS+G,OAnC/E,IACRkJ,CAkCsG,EACpH,EFxBIuD,OAAAA,EAEAoC,QGpBW,SAAgB7V,GAAkC,IAA/BU,EAAKV,EAALU,MAAOyL,EAAanM,EAAbmM,cAAe2D,EAAK9P,EAAL8P,MAC9CgG,EAAgB,SAACnV,GACnB,OAAOL,EAAAA,EAAAA,GAAe,CAAC,gBAAiB,KAAF8B,OAAOzB,EAAKE,QAAU,CAAEkV,WAAYpV,EAAKE,QAAUH,EAAMG,OACnG,EACMyN,EAAc,SAAC3N,GAAI,OAAK,WAC1BwL,EAAc1L,EAAAA,cAAe,CAAEE,KAAAA,GACnC,CAAC,EACD,OAAOiG,EAAAA,EAAAA,IAAS,aAAc,SAAArG,GAAC,OAAKA,EAAE,MAAO,CAAEH,UAAW,gCAAiCiM,IAAKyD,GAC5FvP,EAAE,MAAO,CAAEH,UAAW,oBAAsBM,EAAMoO,WAAWtL,IAAI,SAAA7C,GAAI,OAAKJ,EAAE,MAAO,CAAEN,QAASqO,EAAY3N,GAAOP,UAAW0V,EAAcnV,IACtIJ,EAAE,OAAQ,KAAMI,EAAK6O,OAAO,IAAI,EAC5C,EHWIwG,SItBW,SAAiBhW,GAAkC,IAA/BU,EAAKV,EAALU,MAAOyL,EAAanM,EAAbmM,cAAe2D,EAAK9P,EAAL8P,MAC/CoB,EAAe,SAAC3C,GAClBpC,EAAc1L,EAAAA,cAAe,CAAEI,MAAO0N,EAAEpE,OAAOtJ,OACnD,EACA,OAAO+F,EAAAA,EAAAA,IAAS,aAAc,SAAArG,GAAC,OAAKA,EAAE,MAAO,CAAE0L,MAAO,sBAAuBI,IAAKyD,GAC9EvP,EAAE,MAAO,CAAE0L,MAAO,oBACd1L,EAAE,QAAS,CAAEC,KAAM,OAAQK,MAAOH,EAAMG,MAAOiS,YAAa,IAAKrD,SAAUyB,IAC3E3Q,EAAE,MAAO,CAAE0L,MAAO,wBAA0BvL,EAAMoS,cAAc,EAC5E,EJeImD,SKtBW,SAAiBjW,GAAmF,IAAhFU,EAAKV,EAALU,MAAOyL,EAAanM,EAAbmM,cAAeqC,EAAYxO,EAAZwO,aAAcpC,EAAapM,EAAboM,cAAeF,EAAQlM,EAARkM,SAAUK,EAAQvM,EAARuM,SAAUuD,EAAK9P,EAAL8P,MAChG8F,EAAe,SAACrH,GAClBC,EAAaD,EAAEE,eACftC,EAAcoB,EAAAA,cAClB,EACMlN,GAAUC,EAAAA,EAAAA,GAAe,iCAAkC,CAAE,YAAa4L,EAAU,WAAcK,IACxG,OAAO3F,EAAAA,EAAAA,IAAS,aAAc,SAAArG,GAAC,OAAKA,EAAE,MAAO,CAAE0L,MAAO5L,EAASgM,IAAKyD,GAChEvP,EAAE,MAAO,CAAE0L,MAAO,oBAAqBhM,QAASmM,GAC5C7L,EAAE,MAAO,CAAE0L,MAAO,UAAYvL,EAAM8O,QACxCjP,EAAE,MAAO,CAAE0L,MAAO,uCACd1L,EAAE,QAAS,CAAEH,UAAW,oBACpBG,EAAE,OAAQ,CAAEH,UAAW,kBAAoBM,EAAM8O,OACjDjP,EAAE,OAAQ,CAAEH,UAAW,6BACnBG,EAAE,QAAS,CAAEH,UAAW,iBAAkBI,KAAM,WAAYgN,QAAS9M,EAAM8M,QAASiC,SAAUmG,IAC9FrV,EAAE,OAAQ,CAAEH,UAAW,wBAAyB,EACpE,ELQI4T,WAAAA,EACAf,cJrBW,SAAsBjT,GAAsG,IAAnGU,EAAKV,EAALU,MAAOwL,EAAQlM,EAARkM,SAAUK,EAAQvM,EAARuM,SAAUH,EAAapM,EAAboM,cAAeD,EAAanM,EAAbmM,cAAeqC,EAAYxO,EAAZwO,aAAcsB,EAAK9P,EAAL8P,MAAO9I,EAAOhH,EAAPgH,QAAS2H,EAAQ3O,EAAR2O,SACrHtO,GAAUC,EAAAA,EAAAA,GAAe,CAAC,aAAc,WAAY,mBAAoB,CAAE,YAAa4L,EAAU,WAAcK,IAC/GuE,EAAiB,SAACN,GAAK,OAAK,SAAC0F,EAAa5E,GAC5C,IAAMtI,EAAU,CACZmN,UAAW3F,EAAMvP,KACjBiV,YAAAA,GAEJ1H,EAAa8C,GACbnF,EAAc1L,EAAAA,cAAeuI,EACjC,CAAC,EACKgI,EAAiB,SAACR,GAAK,OAAK,SAAC0F,EAAa5E,GAC5C,IAAMtI,EAAU,CACZmN,UAAW3F,EAAMvP,KACjBiV,YAAAA,GAEJ1H,EAAa8C,GACbnF,EAAc1L,EAAAA,cAAeuI,EACjC,CAAC,EACD,OAAOpC,EAAAA,EAAAA,IAAS,aAAc,SAAArG,GAAC,OAAKA,EAAE,MAAO,CAAE0L,MAAO5L,EAASgM,IAAKyD,GAChEvP,EAAE,MAAO,CAAE0L,MAAO,oBAAqBhM,QAASmM,GAC5C7L,EAAE,MAAO,CAAE0L,MAAO,UAAYvL,EAAM8O,QACxCtD,GAAa3L,EAAE,MAAO,CAAE0L,MAAO,uCAC3B0C,GAAYpO,EAAE,KAAM,CAAEH,UAAW,oBAAsBM,EAAM8O,OAC7D9O,EAAMiR,OAAOnO,IAAI,SAAAgN,GAAK,OAAKjQ,EAAE,MAAO,KAChCA,EAAE,MAAO,CAAEH,UAAW,kBAAoBoQ,EAAMhB,OAChDjP,EAAE+P,EAAY,CAAEE,MAAOA,EAAOQ,eAAgBA,EAAeR,GAAQM,eAAgBA,EAAeN,KAAU,GAClH7B,GAAapO,EAAE,MAAO,CAAEH,UAAW,sBAC/BG,EAAER,EAAAA,EAAQ,CAAEG,KAAM,YAA0DD,QAAS+G,MAAe,EACpH,EINIsN,kBAAAA,GACA8B,gBDvBW,SAAwBpW,GAAsG,IAAnGU,EAAKV,EAALU,MAAOwL,EAAQlM,EAARkM,SAAUK,EAAQvM,EAARuM,SAAUH,EAAapM,EAAboM,cAAeD,EAAanM,EAAbmM,cAAeqC,EAAYxO,EAAZwO,aAAcsB,EAAK9P,EAAL8P,MAAO9I,EAAOhH,EAAPgH,QAAS2H,EAAQ3O,EAAR2O,SACvHtO,GAAUC,EAAAA,EAAAA,GAAe,CAAC,aAAc,WAAY,kBAAmB,KAAF8B,OAAO1B,EAAMF,OAAS,CAAE,YAAa0L,EAAU,WAAcK,IAClIuE,EAAiB,SAACN,GAAK,OAAK,SAAC0F,EAAa5E,GAC5C,IAAMtI,EAAU,CACZmN,UAAW3F,EAAMvP,KACjBiV,YAAAA,GAEJ1H,EAAa8C,GACbnF,EAAc1L,EAAAA,cAAeuI,EACjC,CAAC,EACKgI,EAAiB,SAACR,GAAK,OAAK,SAAC0F,EAAa5E,GAC5C,IAAMtI,EAAU,CACZmN,UAAW3F,EAAMvP,KACjBiV,YAAAA,GAEJ1H,EAAa8C,GACbnF,EAAc1L,EAAAA,cAAeuI,EACjC,CAAC,EAWD,OAAOpC,EAAAA,EAAAA,IAAS,aAAc,SAAArG,GAAC,OAAKA,EAAE,MAAO,CAAE0L,MAAO5L,EAASgM,IAAKyD,GAChEvP,EAAE,MAAO,CAAE0L,MAAO,oBAAqBhM,QAASmM,GAC5C7L,EAAE,MAAO,CAAE0L,MAAO,UAAYvL,EAAM8O,QACxCtD,GAAa3L,EAAE,MAAO,CAAE0L,MAAO,uCAC3B0C,GAAYpO,EAAE,KAAM,CAAEH,UAAW,oBAAsBM,EAAM8O,OAC7DjP,EAAE,MAAO,CAAEH,UAAW,wBAA0BM,EAAM2V,YAAY7S,IAAI,SAAAgN,GAAK,OAAKjQ,EAAE,SAAU,CAAEH,WAAWE,EAAAA,EAAAA,GAAe,sBAAuB,CAAE,WAAckQ,EAAMmF,WAAanV,KAAM,SAAUP,SAf9KiE,EAe8MsM,EAfxME,EAAGxM,EAAHwM,IAAKC,EAAGzM,EAAHyM,IAAU,WAC7C,IAAM3H,EAAU,CACZmN,UAAWzV,EAAM4V,eACjBJ,YAAa,CACTpS,SAAU4M,EACV3M,SAAU4M,IAGlBxE,EAAc1L,EAAAA,cAAeuI,EACjC,IAOYzI,EAAE,MAAO,CAAEH,UAAW,yBAA0BmW,IAAK/F,EAAMgG,MAC3DjW,EAAE,IAAK,CAAEH,UAAW,4BAA8BoQ,EAAMhB,QAjBrC,IAAHtL,EAAMwM,EAAKC,CAiBoC,IACnEjQ,EAAMiR,OAAOnO,IAAI,SAAAgN,GAAK,OAAKjQ,EAAE,MAAO,CAAEH,UAAW,wBAC7CG,EAAE,MAAO,CAAEH,UAAW,kBAAoBoQ,EAAMhB,OAChDjP,EAAE+P,EAAY,CAAEE,MAAOA,EAAOhQ,KAAM,SAAUwQ,eAAgBA,EAAeR,GAAQM,eAAgBA,EAAeN,KAAU,GAClI7B,GAAapO,EAAE,MAAO,CAAEH,UAAW,sBAC/BG,EAAER,EAAAA,EAAQ,CAAEG,KAAM,YAA0DD,QAAS+G,MAAe,EACpH,IChBayP,GAAoB,SAAC/V,GAC9B,OAAO8T,GAAU9T,EAAMF,KAC3B,EACO,SAASiL,GAAc/K,GAC1B,QAAS6T,GAAiB7T,EAAMF,KACpC,C,6DM9Be,SAAS,EAACkW,GACrB,OAAO,SAAoB1W,GAAyB,IAAdiD,EAAQjD,EAAhBoD,KAAQH,SAC1B0T,EAAqBD,EAArBC,iBACFC,EAAe,SAACC,EAAOC,GACzBH,EAAiBE,GAAOrT,IAAI,SAAAU,GAAsB,IAAnB6S,EAAK7S,EAAL6S,MAAOF,EAAK3S,EAAL2S,MAClCG,sBAAsB,WAClBD,EAAM,GAAGE,mBAAmB,YAAaJ,EAAM9C,KAAK,MACpDrQ,EAAAA,EAAAA,IAAQqT,EAAM,IACdD,IAAcI,EAAAA,EAAAA,IAAiBJ,EACnC,EACJ,EACJ,EACMK,EAAgB,SAACN,EAAOC,GAC1BH,EAAiBE,GAAOrT,IAAI,SAAAqB,GAAsB,IAAnBkS,EAAKlS,EAALkS,MAAOF,EAAKhS,EAALgS,OAClCjT,EAAAA,EAAAA,IAAWmT,EAAM,IACjBC,sBAAsB,WAClBD,EAAM,GAAGK,UAAYP,EAAM9C,KAAK,KAChCrQ,EAAAA,EAAAA,IAAQqT,EAAM,IACdD,IAAcI,EAAAA,EAAAA,IAAiBJ,EACnC,EACJ,EACJ,EACA,MAAO,CACHpT,QAAO,WACHT,EAAS7B,UAAU,yBAA0B+V,GAC7ClU,EAAS7B,UAAU,wBAAyBwV,EAChD,EACAhT,WAAU,WACNX,EAASZ,YAAY,yBAA0B8U,GAC/ClU,EAASZ,YAAY,wBAAyBuU,EAClD,EAER,CACJ,C,o+BCnCe,SAAS,IACpB,OAAO,SAAkB5W,GAAyB,IAC1CqX,EAD4BpU,EAAQjD,EAAhBoD,KAAQH,SAE1BqU,EAAY,SAAC1R,GACf,IAAM2R,EAAYF,EAAgBG,KAAKC,MACvC,OAAA7W,EAAAA,EAAA,GACOgF,GAAK,IACR8R,WAAYH,EACZI,MAAO,aAEf,EACMC,EAAa,SAAH1T,GAAuB,IAAjB0B,EAAK1B,EAAL0B,MAAO4Q,EAAGtS,EAAHsS,IACzBqB,QAAQC,UAAUR,EAAU1R,GAAQ,GAAI4Q,EAC5C,EACMW,EAAgB,SAAHtS,GAAuB,IAAjBe,EAAKf,EAALe,MAAO4Q,EAAG3R,EAAH2R,IAC5BqB,QAAQE,aAAaT,EAAU1R,GAAQ,GAAI4Q,EAC/C,EACMwB,EAAkB,SAAHlT,GAA4B,IAAfoB,EAAQpB,EAAfc,MAClBM,GAAYmR,IAAkBnR,EAASwR,YAErB,cAAnBxR,EAASyR,QACT1U,EAASzB,SAAS,uBAAwB0E,GAC1CmR,EAAgBnR,EAASwR,WAEjC,EACA,MAAO,CACHhU,QAAO,WACHyB,OAAO8S,iBAAiB,WAAYD,GACpC/U,EAAS7B,UAAU,oBAAqBwW,GACxC3U,EAAS7B,UAAU,uBAAwB+V,EAC/C,EACAvT,WAAU,WACNuB,OAAO+S,oBAAoB,WAAYF,GACvC/U,EAASZ,YAAY,oBAAqBuV,GAC1C3U,EAASZ,YAAY,uBAAwB8U,EACjD,EAER,CACJ,C,kECzCe,SAAS,EAACgB,EAAO7W,GAC5B,OAAO8W,EAAAA,EAAAA,UAASD,GAAO,EAAO7W,EAClC,C,qqCCHO,IAAM+M,EAAqB,SAAC3N,EAAKV,GAA0B,I,EAAtBW,EAAIX,EAAJW,KAAM+S,EAAS1T,EAAT0T,UAC1C7C,EAASnQ,EAAMmQ,OAAOvN,OAAO,SAAAzC,GAAK,OAAIA,IAAUF,EAAKE,KAAK,GAG9D,OAFI6S,IACA7C,EAAS,GAAHzO,O,+CAAOyO,I,kjBAAM,CAAElQ,EAAKE,SAC9BD,EAAAA,EAAA,GAAYF,GAAK,IAAEmQ,OAAAA,GACvB,EACahN,EAAe,SAACnD,GAAyB,IAAhBC,GAAgBe,UAAAC,OAAA,QAAAgD,IAAAjD,UAAA,GAAAA,UAAA,GAAP,CAAC,GAAVf,KAClC,OAAAC,EAAAA,EAAA,GACOF,GAAK,IACRmQ,OAAQnQ,EAAMmQ,OAAOvN,OAAO,SAAAzC,GACxB,QAAOF,GACDE,IAAUF,EAAKE,KAEzB,IAER,EACaC,EAAW,SAACJ,GACrB,OAAOA,EAAMmQ,OAAOlP,OAAS,CACjC,EACaZ,EAAY,SAACL,GAAK,OAAAM,EAAA,GAASN,EAAMO,KAAOP,EAAMmQ,OAAM,C,+jCCnB1D,IAAMxC,EAAqB,SAAC3N,EAAKV,GAAe,IAAXW,EAAIX,EAAJW,KACxC,OAAAC,EAAAA,EAAA,GACOF,GAAK,IACRG,MAAOH,EAAMG,QAAUF,EAAKE,MACtBF,EAAKE,MACL,MAEd,EACagD,EAAe,SAACnD,GACzB,OAAAE,EAAAA,EAAA,GACOF,GAAK,IACRG,MAAO,MAEf,EACaC,EAAW,SAACJ,GACrB,QAASA,EAAMG,KACnB,EACaE,EAAY,SAACL,GACtB,OAAAM,EAAA,GACKN,EAAMO,KAAOP,EAAMG,MAE5B,C,qnCCnBO,SAASoI,EAAoBrD,EAAK5F,GAA0G,IAC3I4H,EAD2IyQ,EAAArY,EAAtGU,MAASO,EAAIoX,EAAJpX,KAAyBqX,EAAeD,EAAlCE,kBAAsCxP,EAAQ/I,EAAR+I,SAAQyP,EAAAxY,EAAEgJ,QAAWL,EAAgB6P,EAAhB7P,iBAAqB8P,E,6WAACC,CAAAF,EAAA,sBAEnIzS,EAASH,EAAMG,OAAOvC,IAAI,SAAC9C,GAAK,OAAKiY,EAAAA,EAAAA,GAAK,SAAAC,GAAK,OAAIlY,EAAMO,OAASA,CAAI,EAAE,SAAA4X,GAAG,OAAI9P,EAASrI,EAAO+X,EAAE,EAAE,SAAAG,GAAK,OAAIlY,EAAMO,OAASqX,CAAe,EAAE,SAAAO,GAAG,OAAIC,EAAAA,EAAAA,IAAWpY,EAAM,EAAE,SAAAkY,GAAK,OAAID,EAAAA,EAAKI,GAAG,EAAE,SAAAF,GAAG,OAAInY,CAAK,EAAC,GAE5M,OAEG,SAAuCkF,EAAK1B,GAAmB,I,EAAfjD,EAAIiD,EAAJjD,KAAMJ,EAAKqD,EAALrD,MACnDmY,E,+CAAuBpT,EAAMoT,mB,kjBAInC,OAHKA,EAAiBC,KAAK,SAAAtY,GAAI,OAAIA,EAAKM,OAASA,CAAI,IACjD+X,EAAiBtN,KAAK,CAAEzK,KAAAA,EAAMJ,MAAAA,IAElCD,EAAAA,EAAA,GAAYgF,GAAK,IAAEoT,iBAAAA,GACvB,CARWE,CAA6BtY,EAAAA,EAAC,CAAC,EAAIgF,GAAK,IAAE+C,iBAAAA,EAAkB5C,OAAAA,EAAQyG,kBAAkB,IAAQ,CAAEvL,KAAAA,EAAMJ,MAA+D,QAAvD+G,EAAK6Q,aAA6B,EAASA,EAAE9X,YAAyB,IAAPiH,OAAgB,EAASA,EAAG/G,OACpN,C,ikCCPe,SAASsY,EAAmBvT,EAAOwT,GAChD,OAAAxY,EAAAA,EAAA,GAAYgF,GAAK,IAAEwT,QAAAA,GACrB,C,ukCCAe,SAASC,EAAoBzT,GAC1C,IAAMwT,EAAU,CAAC,EAKjB,OAJAE,OAAOC,QAAQ3T,EAAMwT,SAASzV,QAAQ,SAAA3D,GAAsB,I,IAAAkE,G,EAAA,E,4CAAAlE,I,s1BAApBsD,EAAMY,EAAA,GAAE6B,EAAM7B,EAAA,GACpDkV,EAAQ9V,GAAUyC,EAAOvC,IAAIsV,EAAAA,GAC/B,GAEAlY,EAAAA,EAAA,GAAYgF,GAAK,IAAEwT,QAAAA,GACrB,C,wjCCTe,SAASnQ,EAAoBrD,EAAK5F,GAU9C,IATDwZ,EAAUxZ,EAAVwZ,WAGEvY,EAAIjB,EADNU,MACEO,KAGF8H,EAAQ/I,EAAR+I,SAEAC,EAAOhJ,EAAPgJ,QAEIjD,EAASH,EAAMwT,QAAQI,GAE3B,OAAA5Y,EAAAA,EAAA,GAAYgF,GAAK,IACfwT,QAAOxY,EAAAA,EAAA,GAAOgF,EAAMwT,SAAO,GAAApY,EAAA,GACxBwY,EAAazT,EAAOvC,IAAI,SAAA9C,GACvB,OAAIA,EAAMO,OAASA,EACV8H,EAASrI,EAAOsI,GAEhBtI,CAEX,MAGN,CAEO,SAAS+Y,EAAyB7T,EAAK1B,GAAgC,IAA5BxD,EAAKwD,EAALxD,MAAOqI,EAAQ7E,EAAR6E,SAAUC,EAAO9E,EAAP8E,QAAO0Q,EAC9B3Q,EAASrI,EAAOsI,GAAlC2Q,GAALD,EAAXlZ,K,6WAA6BkY,CAAAgB,EAAA,WAC/BN,EAAU,CAAC,EAQjB,OAPAE,OAAOC,QAAQ3T,EAAMwT,SAASzV,QAAQ,SAAAkB,GAAsB,I,IAAAC,G,EAAA,E,4CAAAD,I,s1BAApBvB,EAAMwB,EAAA,GAAEiB,EAAMjB,EAAA,GACpDsU,EAAQ9V,GAAUyC,EAAOvC,IAAI,SAAAoW,GAC3B,OAAIA,EAAYhO,MAAQlL,EAAMkL,IAAYgO,EAE1ChZ,EAAAA,EAAA,GAAYgZ,GAAgBD,EAC9B,EACF,GACA/Y,EAAAA,EAAA,GAAYgF,GAAK,IAAEwT,QAAAA,GACrB,C,0BCrCA,SAASS,EAAYvR,GAAI,IACbwR,EAAUxR,EAAGuC,wBAAbiP,MAAKC,EACuB5U,OAAO6U,iBAAiB1R,GAApD2R,EAAUF,EAAVE,WAAYC,EAAWH,EAAXG,YACpB,OAAOJ,EAAQK,SAASF,GAAcE,SAASD,EACnD,C,eCAA,SAAexS,EAAAA,EAAAA,IAAoB,SAAA0S,GACjC,IAYIzG,EAAc,YAGhBxH,EAFwBiO,EAAM3Q,WAAxB0C,eAEQtI,EAAAA,aAChB,EAEA,MAAO,CACLuJ,OAAQ,SAAApN,GAAA,IAAGU,EAAKV,EAALU,MAAqB,OAAAV,EAAdqa,gBAChBzT,EAAAA,EAAAA,IAAS,oBAAqB,SAAArG,GAAC,OAC7BA,EAAA,OAAK0L,MAAM,oBACT1L,EAAA,OAAK0L,MAAM,mBAAmBvL,EAAM8O,OACpCjP,EAAA,OAAK0L,MAAM,mBAjBC,WAClB,IANMvL,EAMFC,GANED,EAAU0Z,EAAM3Q,WAAhB/I,OAEOoO,WAAWqB,KAAK,SAAAxP,GAAI,OAAIA,EAAKE,QAAUH,EAAMG,KAAK,GAM/D,OAAOF,EAAOA,EAAK6O,MAAQ,EAC7B,CAasC8K,IAC9B/Z,EAAA,OAAK0L,MAAM,mBAAmBhM,QAAS0T,IACnC,EACP,EAGP,G,eC9BA,SAAejM,EAAAA,EAAAA,IAAoB,SAAA0S,GACjC,IASIzG,EAAc,YAGhBxH,EAFwBiO,EAAM3Q,WAAxB0C,eAEQtI,EAAAA,aAChB,EAEA,MAAO,CACLuJ,OAAQ,SAAApN,GAAA,IAAGU,EAAKV,EAALU,MAAqB,OAAAV,EAAdqa,gBAChBzT,EAAAA,EAAAA,IAAS,oBAAqB,SAAArG,GAAC,OAC7BA,EAAA,OAAK0L,MAAM,oBACT1L,EAAA,OAAK0L,MAAM,mBAAmBvL,EAAM8O,OACpCjP,EAAA,OAAK0L,MAAM,mBApBC,WAAM,IAClBvL,EAAU0Z,EAAM3Q,WAAhB/I,MAKN,MAAO,CAHGA,EAAMoD,UAAYpD,EAAMgQ,IACxBhQ,EAAMqD,UAAYrD,EAAMiQ,KAEhBoD,KAAK,MACzB,CAasCuG,IAC9B/Z,EAAA,OAAK0L,MAAM,mBAAmBhM,QAAS0T,IACnC,EACP,EAGP,G,eC3BA,SAAejM,EAAAA,EAAAA,IAAoB,SAAA0S,GACjC,IAcIzG,EAAc,YAGhBxH,EAFwBiO,EAAM3Q,WAAxB0C,eAEQtI,EAAAA,aAChB,EAEA,MAAO,CACLuJ,OAAQ,SAAApN,GAAA,IAAGU,EAAKV,EAALU,MAAqB,OAAAV,EAAdqa,gBAChBzT,EAAAA,EAAAA,IAAS,oBAAqB,SAAArG,GAAC,OAC7BA,EAAA,OAAK0L,MAAM,wBACT1L,EAAA,OAAK0L,MAAM,mBAAmBvL,EAAM8O,OACpCjP,EAAA,OAAK0L,MAAM,mBAnBC,WAAM,IALlBvL,EAUN,OAJgB0Z,EAAM3Q,WAAhB/I,OANAA,EAAU0Z,EAAM3Q,WAAhB/I,OAEOoO,WAAWqB,KAAK,SAAAxP,GAAI,OAAIA,EAAKE,QAAUH,EAAMG,KAAK,GAQnD2O,KACd,CAasC8K,IAC9B/Z,EAAA,OAAK0L,MAAM,mBAAmBhM,QAAS0T,IACnC,EACP,EAGP,G,eChCA,SAAejM,EAAAA,EAAAA,IAAoB,SAAA0S,GACjC,IAAIzG,EAAc,YAGhBxH,EAFwBiO,EAAM3Q,WAAxB0C,eAEQtI,EAAAA,aAChB,EAEA,MAAO,CACLuJ,OAAQ,SAAApN,GAAA,IAAGU,EAAKV,EAALU,MAAqB,OAAAV,EAAdqa,gBAChBzT,EAAAA,EAAAA,IAAS,oBAAqB,SAAArG,GAAC,OAC7BA,EAAA,OAAK0L,MAAM,wBACT1L,EAAA,OAAK0L,MAAM,mBAAmBvL,EAAM8O,OACpCjP,EAAA,OAAK0L,MAAM,mBAAmBhM,QAAS0T,IACnC,EACP,EAGP,G,eCjBA,SAAejM,EAAAA,EAAAA,IAAoB,SAAA0S,GACjC,IAcIzG,EAAc,YAGhBxH,EAFwBiO,EAAM3Q,WAAxB0C,eAEQtI,EAAAA,aAChB,EAEA,MAAO,CACLuJ,OAAQ,SAAApN,GAAA,IAAGU,EAAKV,EAALU,MAAqB,OAAAV,EAAdqa,gBAChBzT,EAAAA,EAAAA,IAAS,oBAAqB,SAAArG,GAAC,OAC7BA,EAAA,OAAK0L,MAAM,0BACT1L,EAAA,OAAK0L,MAAM,mBAAmBvL,EAAM8O,OACpCjP,EAAA,OAAK0L,MAAM,mBAjBE,WAAM,IACnBvL,EAAU0Z,EAAM3Q,WAAhB/I,MAEN,OAAOA,EAAMoO,WAAWxL,OAAO,SAAA3C,GAAI,OAAID,EAAMmQ,OAAOlF,SAAShL,EAAKE,MAAM,EAC1E,CAXoB0Z,GAGf/W,IAAI,SAAA7C,GAAI,OAAIA,EAAK6O,KAAK,GACtBuE,KAAK,OAqBFxT,EAAA,OAAK0L,MAAM,mBAAmBhM,QAAS0T,IACnC,EACP,EAGP,G,eC/BA,SAAejM,EAAAA,EAAAA,IAAoB,SAAA0S,GACjC,IAOIzG,EAAc,SAAAnD,GAAK,OAAI,YAGzBrE,EAFwBiO,EAAM3Q,WAAxB0C,eAEQqO,EAAAA,oBAAqB,CAAErE,UAAW3F,EAAMvP,MACxD,CAAC,EAQD,MAAO,CACLmM,OAAQ,SAAApN,GAAS,OAAAA,EAANya,QACT7T,EAAAA,EAAAA,IAAS,oBAAqB,SAAArG,GAAC,OAC7BA,EAAA,YARY6Z,EAAM3Q,WAAhB/I,MAEOiR,OAAOrO,OAAO,SAAAkN,GAAK,OAAI1P,EAAAA,EAAAA,UAAS0P,EAAM,GAOhChN,IAAI,SAAAgN,GAAK,OACpBjQ,EAAA,OAAK0L,MAAM,6BACT1L,EAAA,OAAK0L,MAAM,mBAAmBuE,EAAMhB,OACpCjP,EAAA,OAAK0L,MAAM,mBA1BH,SAAAuE,GAIlB,MAAO,CAHGA,EAAM1M,UAAY0M,EAAME,IACxBF,EAAMzM,UAAYyM,EAAMG,KAEhBoD,KAAK,MACzB,CAqB0CuG,CAAc9J,IAC5CjQ,EAAA,OAAK0L,MAAM,mBAAmBhM,QAAS0T,EAAYnD,KAC/C,GAEH,EACP,EAGR,GCnCA,GAAe9I,EAAAA,EAAAA,IAAoB,SAAA0S,GACjC,IAOIzG,EAAc,SAAAnD,GAAK,OAAI,YAGzBrE,EAFwBiO,EAAM3Q,WAAxB0C,eAEQqO,EAAAA,oBAAqB,CAAErE,UAAW3F,EAAMvP,MACxD,CAAC,EAQD,MAAO,CACLmM,OAAQ,SAAApN,GAAS,OAAAA,EAANya,QACT7T,EAAAA,EAAAA,IAAS,oBAAqB,SAAArG,GAAC,OAC7BA,EAAA,YARY6Z,EAAM3Q,WAAhB/I,MAEOiR,OAAOrO,OAAO,SAAAkN,GAAK,OAAI1P,EAAAA,EAAAA,UAAS0P,EAAM,GAOhChN,IAAI,SAAAgN,GAAK,OACpBjQ,EAAA,OAAK0L,MAAM,6BACT1L,EAAA,OAAK0L,MAAM,mBAAmBuE,EAAMhB,OACpCjP,EAAA,OAAK0L,MAAM,mBA1BH,SAAAuE,GAIlB,MAAO,CAHGA,EAAM1M,UAAY0M,EAAME,IACxBF,EAAMzM,UAAYyM,EAAMG,KAEhBoD,KAAK,MACzB,CAqB0CuG,CAAc9J,IAC5CjQ,EAAA,OAAK0L,MAAM,mBAAmBhM,QAAS0T,EAAYnD,KAC/C,GAEH,EACP,EAGR,GCpCA,GAAe9I,EAAAA,EAAAA,IAAoB,SAAA0S,GACjC,IAYIzG,EAAc,YAGhBxH,EAFwBiO,EAAM3Q,WAAxB0C,eAEQtI,EAAAA,aAChB,EAEA,MAAO,CACLuJ,OAAQ,SAAApN,GAAA,IAAGU,EAAKV,EAALU,MAAqB,OAAAV,EAAdqa,gBAChBzT,EAAAA,EAAAA,IAAS,oBAAqB,SAAArG,GAAC,OAC7BA,EAAA,OAAK0L,MAAM,oBACT1L,EAAA,OAAK0L,MAAM,mBAAmBvL,EAAM8O,OACpCjP,EAAA,OAAK0L,MAAM,mBAjBC,WAClB,IANMvL,EAMFC,GANED,EAAU0Z,EAAM3Q,WAAhB/I,OAEOoO,WAAWqB,KAAK,SAAAxP,GAAI,OAAIA,EAAKE,QAAUH,EAAMG,KAAK,GAM/D,OAAOF,EAAOA,EAAK6O,MAAQ,EAC7B,CAasC8K,IAC9B/Z,EAAA,OAAK0L,MAAM,mBAAmBhM,QAAS0T,IACnC,EACP,EAGP,GCzBA,IAAMa,EAAY,CAChB/G,KAAAA,EACA2G,WAAY3G,EACZgH,MAAAA,EACAhB,OAAQO,EACR0G,OAAAA,EACAzE,SAAAA,EACAjC,WAAAA,EACAf,cAAAA,EACAmD,gBAAAA,EACA9B,kBAAAA,GCNF,QATA,SAActU,GAGX,IAFDU,EAAKV,EAALU,MACAyL,EAAanM,EAAbmM,cAEIkE,EDcyB,SAAA3P,GAC7B,OAAO8T,EAAU9T,EAAMF,KACzB,CChBkBiW,CAAkB/V,GAElC,OAAOH,EAAAA,EAAAA,GAAC8P,EAAS,CAAC3P,MAAOA,EAAOyL,cAAeA,GACjD,E,41DCLA,IAAM5L,GAAIoa,EAAAA,EAAAA,IAAY,qBAETC,GAAU,SAAAlN,I,qRAAAC,CAAAiN,EAAAlN,GAAA,I,IAAAE,E,kdAAAC,CAAA+M,GAAA,SAAAA,IAAA,IAAA9M,G,4FAAAC,CAAA,KAAA6M,GAAA,QAAAnZ,EAAAC,UAAAC,OAAAC,EAAA,IAAAC,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAAF,EAAAE,GAAAJ,UAAAI,GA2EpB,OA3EoBgM,EAAAF,EAAAjE,KAAAxH,MAAAyL,EAAA,OAAAxL,OAAAR,KACrBiZ,SAAUC,EAAAA,EAAAA,aAAWhN,EACrBiN,UAAWD,EAAAA,EAAAA,aAAWhN,EACtBkN,aAAcF,EAAAA,EAAAA,aAAWhN,EACzBlI,MAAQ,CACNqV,iBAAkBnN,EAAK/H,OAAOpE,OAAS,EACvCuZ,gBAAgB,EAChBC,uBAAuB,GACxBrN,EAyDD3B,cAAgB,SAACqN,EAAY9Y,GAAK,OAAK,SAACqI,EAAUC,GAChD8E,EAAKT,MAAMlB,cAAcpD,EAAUyQ,EAAY9Y,EAAOsI,EACxD,CAAC,EAAA8E,EAEDsN,eAAiB,WACftN,EAAK9D,SAAS,CACZiR,iBAAkB,KAClBC,gBAAgB,EAChBC,uBAAuB,GAE3B,EAACrN,CAAA,CA5CA,O,EA4CA8M,E,EAAA,EAAAhP,IAAA,mBAAA/K,MAAA,WA1CkB,IAAA8O,EAAA,KACbE,KAAKjK,MAAMsV,gBAGfrL,KAAK7F,SAAS,CAAEiR,iBAAkB,MAAQ,WAExCjE,sBAAsB,WACpB,IAAMiE,EX3CP,SAAgCI,EAAWC,GAA+C,IAAnCC,EAAW7Z,UAAAC,OAAA,QAAAgD,IAAAjD,UAAA,GAAAA,UAAA,GAAG,GAAI8Z,EAAU9Z,UAAAC,OAAA,QAAAgD,IAAAjD,UAAA,GAAAA,UAAA,GAAG,GACnF+Z,EAAiBJ,EAAUxQ,wBAAwBiP,MACnD4B,EAAqBJ,EAAWhY,OAAO,SAAAgF,GAAE,OAAKiT,EAAY5P,SAASrD,EAAG,GACtEqT,EAAkBH,EAAWrV,OAAO,SAACyV,EAAKtT,GAAE,OAAKsT,EAAM/B,EAAYvR,EAAG,EAAE,GAC1EuT,EAAkBN,EAAYpV,OAAO,SAACyV,EAAKtT,GAAE,OAAKsT,EAAM/B,EAAYvR,EAAG,EAAE,GACzE2S,EAAmB,KAavB,OAZAS,EAAmBzC,KAAK,SAACtY,EAAM2L,GAC3B,IAAMwP,EAAcD,EAAkBhC,EAAYlZ,GAClD,OAAImb,EAAcL,GACdR,EAAmB3O,EACnBuP,EAAkBC,GACX,IAEPxP,IAAUoP,EAAmB/Z,OAAS,GAAOma,EAAcH,EAAmBF,IAC9ER,EAAmB3O,IAEhB,EACX,GACO2O,CACX,CWwBiCc,CACvBpM,EAAKkL,Q,yWAAOmB,CACRrM,EAAKkL,QAAQoB,UACjB,CAACtM,EAAKoL,SAAUpL,EAAKqL,aACrB,CAACrL,EAAKqL,cAGRrL,EAAK3F,SAAS,CACZiR,iBAAAA,EACAE,sBAA4C,OAArBF,GAA6BA,IAAqBtL,EAAK5J,OAAOpE,OAAS,GAElG,EACF,EACF,GAAC,CAAAiK,IAAA,oBAAA/K,MAAA,WAGCgP,KAAKqM,kBACP,GAAC,CAAAtQ,IAAA,qBAAA/K,MAAA,SAEkBsb,GACbC,KAAKC,UAAUxM,KAAKxC,MAAMtH,UAAYqW,KAAKC,UAAUF,EAAUpW,SACjE8J,KAAKqM,kBAET,GAAC,CAAAtQ,IAAA,SAAA/K,MAAA,WAcQ,IAAAyb,EAAA,KACCnB,EAA0BtL,KAAKjK,MAA/BuV,sBACAoB,EAAkB1M,KAAKxC,MAAvBkP,cAER,OACEhc,EAAA,OAAK0L,MAAM,YAAYI,IAAK,SAAA/D,GAAE,OAAIgU,EAAKzB,QAAUvS,CAAE,GAChDuH,KAAK2M,eAAe7a,OAAS,GAC5BpB,EAAA,OACE0L,MAAM,WACNI,IAAK,SAAA/D,GAAE,OAAIgU,EAAKvB,SAAWzS,CAAE,EAC7BrI,QAASsc,IAIZ1M,KAAK2M,eAAehZ,IAAI,SAAAxD,GAAA,IAAAkE,EAAAuY,EAAAzc,EAAA,GAAEwZ,EAAUtV,EAAA,GAAExD,EAAKwD,EAAA,UAC1C3D,EAAC4G,EAAK,CACJzG,MAAOA,EACPyL,cAAemQ,EAAKnQ,cAAcqN,EAAY9Y,IAC9C,GAGJH,EAAA,UACEC,KAAK,SACLyL,OAAO3L,EAAAA,EAAAA,GAAe,cAAe,CAAE,UAAa6a,IACpD9O,IAAK,SAAA/D,GAAE,OAAIgU,EAAKtB,YAAc1S,CAAE,EAChCrI,QAAS4P,KAAKuL,gBAEd7a,EAAA,OAAK0L,MAAM,sBAInB,GAAC,CAAAL,IAAA,SAAAvG,IAAA,WAjGC,OAAOwK,KAAKxC,MAAMtH,OAAOzC,OAAO,SAAAuB,GAAyB,IAAAC,EAAA2X,EAAA5X,EAAA,GAAXnE,GAAFoE,EAAA,GAAOA,EAAA,IACjD,OAAKpE,EAAMoO,YACKpO,EAAMoO,WAAWxL,OAAO,SAAA3C,GACtC,OAAID,EAAMG,MACDF,EAAKE,QAAUH,EAAMG,OACnBH,EAAMmQ,QACRnQ,EAAMmQ,OAAOlF,SAAShL,EAAKE,MAGtC,GACec,OAAS,CAC1B,EACF,GAAC,CAAAiK,IAAA,iBAAAvG,IAAA,WAEoB,IAAAqX,EAC0B7M,KAAKjK,MAA1CqV,EAAgByB,EAAhBzB,iBAAkBC,EAAcwB,EAAdxB,eAE1B,OAAyB,OAArBD,GAA6BC,EAAuBrL,KAAK9J,OAEtD8J,KAAK9J,OAAOzC,OAAO,SAACqZ,EAAGrQ,GAAK,OAAKA,GAAS2O,CAAgB,EACnE,I,uEAACL,CAAA,CA/BoB,CAASvK,EAAAA,W,s7ECPzB,SAAS8I,GAAmBvT,EAAOwT,GACtC,OAAAxY,GAAAA,GAAA,GAAYgF,GAAK,IAAEwT,QAAAA,GACvB,CACO,SAASwD,GAAqBhX,EAAOtC,EAAQyC,GAChD,OAAAnF,GAAAA,GAAA,GAAYgF,GAAK,IAAEwT,QAAOxY,GAAAA,GAAA,GAAOgF,EAAMwT,SAAO,GAAApY,GAAA,GAAGsC,EAASyC,KAC9D,CACO,SAAS8W,GAAwBjX,EAAOkX,GAC3C,OAAAlc,GAAAA,GAAA,GAAYgF,GAAK,IAAEkX,aAAAA,GACvB,CACO,SAASC,GAA0BnX,EAAOoX,EAAeC,EAAUjU,GACtE,IAAMoQ,EAAOxY,GAAA,GAAQgF,EAAMwT,SAU3B,OATAE,OAAOC,QAAQH,GAASzV,QAAQ,SAAA3D,GAAsB,I,IAAAkE,G,EAAA,E,4CAAAlE,I,w1BAApBsD,EAAMY,EAAA,GAAE6B,EAAM7B,EAAA,GACxCZ,IAAW0Z,IACX5D,EAAQ9V,GAAUyC,EAAOvC,IAAI,SAAA9C,GACzB,OAAIA,EAAMkL,MAAQqR,EACPvc,EACXE,GAAAA,GAAA,GAAYF,GAAUsI,EAC1B,GAER,GACOmQ,GAAmBvT,EAAOwT,EACrC,CACO,SAASvV,GAAa+B,GAAO,IACfsX,EAAoBtX,EAA7BwT,QACF+D,EAAiB7D,OAAO8D,KAAKF,GAAiB/W,OAAO,SAACiT,EAASiE,GAEjE,OADAjE,EAAQiE,GAAaH,EAAgBG,GAAW7Z,IAAIsV,EAAAA,IAC7CM,CACX,EAAG,CAAC,GACJ,OAAAxY,GAAAA,GAAA,GACOgF,GAAK,IACRwT,QAAS+D,GAEjB,CC7Be,SAASG,GAAW1X,GAC/B,OAAOA,EAAM2X,iBAAmBnB,KAAKC,UAAUzW,EAAMG,OACzD,C,w9BCNO,SAASyX,GAAiB5X,EAAOoD,GACpC,OAAApI,GAAAA,GAAA,GAAYgF,GAAUoD,EAC1B,C,w9BCFO,SAASyU,GAAkB7X,EAAK5F,GAAuB,IAAViB,EAAIjB,EAAbU,MAASO,KAChD,OAAAL,GAAAA,GAAA,GAAYgF,GAAK,IAAE8X,gBAAiBzc,GACxC,C,w9BCFO,SAAS0c,GAAoB/X,GAChC,OAAAhF,GAAAA,GAAA,GAAYgF,GAAK,IAAE8X,gBAAiB,MACxC,C,w9BCFO,SAASE,GAAkBhY,EAAOG,GACrC,OAAAnF,GAAAA,GAAA,GAAYgF,GAAK,IACb2X,eAAgBnB,KAAKC,UAAUtW,GAC/BA,OAAAA,GAER,C,w+BCHO,SAAS8X,GAAmBjY,EAAK5F,GAAgB,IAAZid,EAAQjd,EAARid,SACxC,OAAArc,GAAAA,GAAA,GACOgF,GAAK,IACRG,OAAQH,EAAMG,OAAOvC,IAAI,SAAC9C,GAAK,OAAKA,EAAMkL,MAAQqR,GAAWnE,EAAAA,EAAAA,IAAWpY,GAASA,CAAK,IAE9F,CACA,SAAS2Y,GAAoBzT,GACzB,OAAAhF,GAAAA,GAAA,GACOgF,GAAK,IACRG,OAAQH,EAAMG,OAAOvC,IAAIsV,EAAAA,KAEjC,CACO,SAASgF,GAAgClY,GAC5C,OAAAhF,GAAAA,GAAA,GAAYgF,GAAK,IAAEoT,iBAAkB,IACzC,CACO,SAASnV,GAAa+B,GACzB,OClBG,SAAiBmY,GAAa,QAAAtc,EAAAC,UAAAC,OAALqc,EAAG,IAAAnc,MAAAJ,EAAA,EAAAA,EAAA,KAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAHkc,EAAGlc,EAAA,GAAAJ,UAAAI,GAC/B,OAAOkc,EAAI7X,OAAO,SAAC8X,EAAQC,GAAM,OAAK,SAAArd,GAAK,OAAIod,EAAOC,EAAOrd,GAAO,GAAEkd,EAC1E,CDgBWI,CAAQ9E,GAAqByE,GAA7BK,CAA8DvY,EACzE,C,8oCEPA,IAAMwY,GAAkB,cAExB,SAASC,GAAYC,GACjB,OAAO,IAAI5T,QAAQ,SAACtE,GAAG,OAAKmY,WAAWnY,EAAKkY,EAAG,EACnD,CACO,SAASE,GAAaC,EAAGze,GAAkL,IAAA0e,EAAA1e,EAA9KqN,MAA8BsR,GAAzBD,OAAA,IAAAA,EAAuB,CAAC,EAACA,GAArBE,KAAAA,OAAI,IAAAD,EAAG,QAAOA,EAAA/b,EAAA5C,EAAS6C,UAASgc,EAAAjc,EAAIkc,sBAAAA,OAAqB,IAAAD,EAAG,SAACE,GAAc,EAACF,EAAAG,EAAApc,EAAEqc,gBAAAA,OAAe,IAAAD,EAAG,SAACD,GAAc,EAACC,EAAAE,EAAAtc,EAAEuc,oBAAAA,OAAmB,IAAAD,EAAG,SAACpd,EAAMsd,GAAe,EAACF,EACpM1W,GAAQ6W,EAAAA,EAAAA,IAAM,CACdhS,MAAO,CACH1K,aAAc,CACVoD,OAAQ,GACRwX,eAAgB,KAChBG,gBAAiB,KACjB1E,iBAAkB,GAClBvM,eAAgB,EAChB1F,MAAO,OAGflE,UAAW,CACPyc,sBAAuB,SAAC1Z,EAAOmD,EAAU4Q,GACjC5Q,IAAa+U,KAEjBhW,EAASsF,OAAOxH,IAChB+S,EAAAA,EAAAA,GAAK,SAACC,GAAK,OAAK7P,IAAa4U,EAAmB,EAAE,SAAC9E,GAC/C0G,GAAoBd,EAAKjW,EAAME,YAC/BF,EAAMI,OAAOkV,IACbW,EAAI,GAAGe,UAAUC,OAAOrB,IACpBd,GAAW1X,IACXqZ,EAAgBS,IAExB,EAAG,SAAC9G,GAAK,OAAK7P,IAAa0U,EAAiB,EAAE,SAAC5E,GAC3C4F,EAAI,GAAGe,UAAUG,IAAIvB,GACzB,EAAG,SAACxF,GAAK,OAAK7P,IAAaE,GAAAA,CAAmB,EAAE,SAAC4P,GAAQ,IACnCjN,EADmC6Q,GACxB9C,EAAa,GAArB,GAAZjZ,MAASkL,IACZ7F,EAAS2Z,IACTE,EAAe7Z,EAAOoK,KAAK,SAACzP,GAAK,OAAKA,EAAMkL,MAAQA,CAAG,GACzDgU,GACAT,EAAoBvT,EAAKgU,GAC7Bd,EAAsB/Y,EAC1B,EAAG,SAAC6S,GAAK,OAAK7P,IAAa8U,EAAkB,EAAE,SAAChF,GAAQ,IAC3CoE,EAD2CR,GAC7B9C,EAAa,GAAnB,GAARsD,SAEH2C,EADSF,IACavP,KAAK,SAACzP,GAAK,OAAKA,EAAMkL,MAAQqR,CAAQ,GAC9D2C,GACAT,EAAoBlC,EAAU2C,EACtC,GACJ,KAGFzT,EAAgB,SAACzL,GAAK,OAAK,SAACqI,EAAUC,GACxCR,EAAMI,OAAOK,GAAAA,EAAqB,CAAEvI,MAAAA,EAAOqI,SAAAA,EAAUC,QAAAA,GACzD,CAAC,EACK6W,EAAoB,e,EAAA3b,G,EAAAC,IAAAA,KAAG,SAAAC,EAAOkE,GAAE,IAAAwX,EAAAC,EAAAC,EAAAlG,EAAAmG,EAAAC,EAAAzE,EAAA0E,EAAAC,EAAAC,EAAAC,EAAA,OAAAnc,IAAAA,KAAA,SAAAK,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,UAC5B4D,GAAsB,WAAhBf,IAAIC,QAAoB,CAAAhD,EAAAE,KAAA,eAAAF,EAAAgB,OAAA,iBAGmB,GADjDsa,EAAWxX,EAAGiY,QAAQ,kCACtBR,EAAkBzX,EAAGiY,QAAQ,qBAC7BT,GAAYC,EAAe,CAAAvb,EAAAE,KAAA,eAAAF,EAAAgB,OAAA,iBAAAwa,EAETF,EAASjV,wBAAzBiP,EAAKkG,EAALlG,MAAOmG,EAAID,EAAJC,KAAIC,EACeH,EAAgBlV,wBAAnC4Q,EAAcyE,EAArBpG,MAEFsG,EAAO,GACPC,GAFFF,EAAOrG,EA3DG,IA2DsB2B,EAAiBwE,IAElC,EAAI,GAAK,EAAC,QAIR,OAFXK,EAAWH,EAAOE,EAAMD,EAAOD,EAAOC,EAAOC,EACnDN,EAAgBS,SAAS,CAAE1Z,IAAK,EAAGmZ,KAAMF,EAAgBU,WAAaH,IACtEH,GAAQG,EAAS9b,EAAAE,KAAA,GACX2Z,GAAY,GAAE,WACN,IAAT8B,EAAU,CAAA3b,EAAAE,KAAA,kCAAAF,EAAAiB,OAAA,EAAArB,EAAA,G,+KACtB,gBAlByBsB,GAAA,OAAAxB,EAAA/B,MAAA,KAAAT,UAAA,KAmBpBgf,EAAc,WAChBlY,EAAMI,OAAO+U,GACjB,EACMvR,EAAgB,SAAC1L,GAAK,OAAK,SAAC6N,GAC1BtD,EAAcvK,GACd8H,EAAMI,OAAO+U,KAGjBkC,EAAqBtR,EAAEpE,QACvB3B,EAAMI,OAAO6U,GAAmB,CAAE/c,MAAAA,IACtC,CAAC,EAKKigB,EAAY,SAACpS,GACf,IAAMpE,EAASoE,EAAEpE,OACXyW,EAAEC,SAASpC,EAAI,GAAItU,KAAWA,EAAOqV,UAAUqB,SAAS,kBALlCrY,EAAME,WAA1BgV,kBAOJlV,EAAMI,OAAO+U,IACbpP,EAAEuS,iBACFvS,EAAEwS,kBAEV,EACM9V,EAAgB,SAACvK,GAEnB,OAD4B8H,EAAME,WAA1BgV,kBACmBhd,EAAMO,IACrC,EAIMye,EAAY,WACd,OAAOlX,EAAME,WAAW3C,MAC5B,EAIM+B,GAAWqD,EAAAA,EAAAA,IAAmBsT,EAAI,GAAI,SAAC7Y,GACzC,OAAOgB,EAAAA,EAAAA,IAAS,aAAc,SAACrG,GAC3B,IAAIqH,EACJ,OAAQrH,EAAE,MAAO,CAAE0L,MAAA,6BAAA7J,OAAoCwc,IAAkC,QAAvBhX,EAAKhC,EAAMG,cAA2B,IAAP6B,OAAgB,EAASA,EAAGpE,IAAI,SAAC9C,GAAK,OAAMH,EAAE4G,GAAAA,EAAO,CAAEzG,MAAOA,EAAOsG,QAAS0Z,EAAaxU,SAAUjB,EAAcvK,GAAQ0L,cAAeA,EAAc1L,GAAQyL,cAAeA,EAAczL,GAAQiO,UAAU,GAAO,GAC3T,EACJ,GACA,MAAO,CACHqS,UAhBc,SAACjb,GACfyC,EAAMI,OAAOgV,GAAmB7X,EACpC,EAeI2Z,UAAAA,EACAuB,SAZa,SAACla,EAAO0F,GACrBjE,EAAMI,OAAO4U,GAAkB,CAAEzW,MAAAA,EAAO0F,eAAAA,GAC5C,EAWI/I,QAAS,WAELsE,SAASiQ,iBAAiB,QAAS0I,GAAW,EAClD,EACA/c,WAAY,WACRkE,EAAS6E,UACT3E,SAASkQ,oBAAoB,QAASyI,GAAW,GACjDnY,EAAQ,IACZ,EAER,C,wCCzIO,SAAS0Y,GAAwBtb,EAAOG,GAC3C,OAAOD,EAAAA,GAAAA,GAA0B8X,GAAkBhY,EAAOG,GAASA,EACvE,C,w9BCJO,SAASob,GAAkBvb,GAC9B,OAAAhF,GAAAA,GAAA,GAAYgF,GAAK,IAAEwb,eAAe,GACtC,C,w9BCFO,SAAS5D,GAAiB5X,EAAOoD,GACpC,OAAApI,GAAAA,GAAA,GAAYgF,GAAUoD,EAC1B,C,w9BCFO,SAASqY,GAAazb,GACzB,OAAAhF,GAAAA,GAAA,GACOgF,GAAK,IACRmB,MAAO,KACPyF,kBAAkB,EAClB7D,iBAAkB,MAE1B,CACO,SAAS2Y,GAAoB1b,GAChC,OAAOyb,GAAazb,EACxB,C,w9BCVO,SAAS2b,GAAmB3b,GAC/B,OAAAhF,GAAAA,GAAA,GACOgF,GAAK,IACRmB,MAAO,KACPlB,iBAAkB,CAAC,EACnB2G,kBAAkB,EAClB7D,iBAAkB,KAClByY,eAAe,GAEvB,C,iOCMO,SAASI,GAAY/C,EAAGze,GAAwJ,IAmD/KyhB,EAnD+KC,EAAA1hB,EAApJqN,MAAS+T,cAAAA,OAAa,IAAAM,GAAQA,EAAA9e,EAAA5C,EAAI6C,UAASgc,EAAAjc,EAAIkc,sBAAAA,OAAqB,IAAAD,EAAG,WAAQ,EAACA,EAAAG,EAAApc,EAAEqc,gBAAAA,OAAe,IAAAD,EAAG,WAAQ,EAACA,EAAAE,EAAAtc,EAAEuc,oBAAAA,OAAmB,IAAAD,EAAG,WAAQ,EAACA,EACvKyC,EAAmB3Z,SAASC,cAAc,0CAC5CO,GAAQ6W,EAAAA,EAAAA,IAAM,CACdhS,MAAO,CACH1K,aAAc,CACVoD,OAAQ,GACRqb,cAAAA,EACA7D,eAAgB,KAChB1X,iBAAkB,CAAC,EACnBmT,iBAAkB,GAClBxM,kBAAkB,EAClB7D,iBAAkB,KAClB8D,eAAgB,EAChB1F,MAAO,OAGflE,UAAW,CACPyc,sBAAuB,SAAC1Z,EAAOmD,EAAU4Q,GACjC5Q,IAAa+U,KAEjBhW,EAASsF,OAAOxH,IAChB+S,EAAAA,EAAAA,GAAK,SAACC,GAAK,OAAK7P,IAAaoY,EAAiB,EAAE,SAACtI,GAC7C8I,EACMA,EAAiBnC,UAAUG,IAAI,YAC/B3X,SAASE,KAAKsX,UAAUG,IAAI,iBACtC,EAAG,SAAC/G,GAAK,OAAK7P,IAAaE,GAAAA,CAAmB,EAAE,SAAC4P,GAAQ,I,IACnCjN,G,EAAW+N,E,EAAa,E,s4BAArB,GAAZjZ,MAASkL,IACZ7F,EAAS2Z,IACTE,EAAe7Z,EAAOoK,KAAK,SAACzP,GAAK,OAAKA,EAAMkL,MAAQA,CAAG,GACzDgU,GACAT,EAAoBvT,EAAKgU,GAC7Bd,EAAsB/Y,EAC1B,EAAG,SAAC6S,GAAK,OAAK7P,IAAawY,EAAkB,EAAE,SAAC1I,GAC5C8I,EACMA,EAAiBnC,UAAUC,OAAO,YAClCzX,SAASE,KAAKsX,UAAUC,OAAO,iBACzC,EAAG,SAAC7G,GAAK,OAAK7P,IAAasY,IAAgBtY,IAAauY,EAAmB,EAAE,SAACzI,GACtEyE,GAAW1X,KACX2Z,GAAoBd,EAAK7Y,GACzB4C,EAAMI,OAAOkV,IACbmB,EAAgBS,KAExB,GACJ,KASFkC,EAAU,e,EAAA1d,G,EAAAC,IAAAA,KAAG,SAAAC,IAAA,OAAAD,IAAAA,KAAA,SAAAK,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,GAETmd,EAAAA,GAAAA,GAAqB,mBAAkB,cAAArd,EAAAE,KAAA,GAC1Bod,EAAAA,GAAAA,GAAe,kBAAM,uCAA6E,GAAC,OAAtHL,EAAUjd,EAAAe,KACViD,EAAMI,OAAOuY,IAAmB,wBAAA3c,EAAAiB,OAAA,EAAArB,EAAA,G,+KACnC,kBALe,OAAAF,EAAA/B,MAAA,KAAAT,UAAA,KAMVqgB,EAAc,WAChBvZ,EAAMI,OAAO2Y,GACjB,EACM3L,EAAe,WACSpN,EAAME,WAAxB0Y,cACQW,IAAgBH,GACpC,EACMjO,EAAc,WAChBnL,EAAMI,OAAO/E,GACjB,EACM6c,EAAc,WAChBlY,EAAMI,OAAOyY,GACjB,EACMW,EAAoB,WACtBxZ,EAAMI,OAAO2Y,IACb/Y,EAAMI,OAAO0Y,GACjB,EAWM5B,EAAY,WACd,OAAOlX,EAAME,WAAW3C,MAC5B,EAYM+B,GAAWqD,EAAAA,EAAAA,IAAmBsT,EAAI,GAAI,SAAC7Y,GACzC,OAAOgB,EAAAA,EAAAA,IAAS,aAAc,SAACrG,GAAC,OAAMA,EAAE,MAAO,CAAE0L,MAAO,sBACpD1L,EAAE,MAAO,CAAE0L,OAVQgW,EAUiBrc,EAAMwb,cATxCc,GAAa5hB,EAAAA,EAAAA,GAAe,gBAAgB,GAC5C6hB,EAAc,IAAIC,YAAY,eAAgB,CAChDC,OAAQ,CAAEC,OAAQL,KAEtBja,SAASua,cAAcJ,GAChBD,GAIuDjiB,QAAS2V,EAAc,eAAgBhQ,EAAM6G,gBAAkB,UACzH7G,EAAMwb,eAAkB7gB,EAAEkhB,EAAY,CAAEjZ,MAAOA,EAAO5C,MAAOA,EAAO4c,QAAS7O,EAAa3M,QAAS0Z,EAAahX,cAAesY,EAAmB3W,QAAS0W,KAXzI,IAACE,EACjBC,EACAC,CASyK,EACnL,GACMM,EAAoB,SAAChN,GAAU,IA1DXvJ,IA2DHuJ,EAAM4M,OAAjBC,OA1DJ9Z,EAAME,WAAW0Y,gBAAkBlV,GACnC1D,EAAMI,OAAOsD,EAAWiV,GAAoBI,GA2DpD,EACA,MAAO,CACHP,UAlCc,SAACjb,GACf,IAAI6B,EAAIyB,GACmH,QAApHA,EAAmE,QAA7DzB,EAAa,OAARL,UAAwB,IAARA,SAAiB,EAASA,IAAImb,YAAyB,IAAP9a,OAAgB,EAASA,EAAG+a,eAA4B,IAAPtZ,OAAgB,EAASA,EAAGuZ,uBAC3J7c,EAASA,EAAOzC,OAAO,SAAC5C,GAAK,MAAmB,sBAAdA,EAAMkL,GAA2B,IAInEpD,EAAMI,OAAOsY,GAAyBnb,EAE9C,EA0BI2Z,UAAAA,EACAuB,SAvBa,SAACla,EAAO0F,GACrBjE,EAAMI,OAAO4U,GAAkB,CAAEzW,MAAAA,EAAO0F,eAAAA,GAC5C,EAsBI/I,QAAO,WACiB,YAAhB6D,IAAIC,SAAyB4Z,GAC7BQ,IACJhB,EAAE5Y,UAAUzG,GAAG,0BAA2BqgB,GAC1C5Z,SAASiQ,iBAAiB,mBAAoBwK,EAClD,EACA7e,WAAU,WACNoE,SAASkQ,oBAAoB,mBAAoBuK,GACjD7B,EAAE5Y,UAAU1F,IAAI,2BAChBwF,EAAS6E,UACTnE,EAAQ,IACZ,EAER,C,uHC3IA,IAAMqa,GAAwB,CAAC,iBACzBC,GAAgB,SAACpiB,GAKnB,OAAQ,GAAKA,EAAM8O,MAAM7N,OAAS,KAAO,CAC7C,EAIe,SAASohB,GAAgBhd,EAAM/F,GAAsB,IAAlBgjB,EAAchjB,EAAdgjB,eAC9C,OAAOjd,EACFzC,OAAO,SAAA5C,GAAK,OALE,SAACA,GACpB,OAAOmiB,GAAsBlX,SAASjL,EAAMF,SAAUyiB,EAAAA,EAAAA,IAAcviB,EACxE,CAGyBwiB,CAAexiB,EAAM,GACrC8C,IAAI,SAAA9C,GAAK,MAAI,CAACoiB,GAAcpiB,GAAQA,EAAM,GAC1CyF,OAAO,SAAAjC,EAAAW,GAAiD,I,IAA9CP,EAAMJ,EAANI,OAAQ6e,EAAUjf,EAAVif,WAAUre,G,EAAA,E,4CAAAD,I,w1BAAKue,EAAUte,EAAA,GAAEpE,EAAKoE,EAAA,GAInD,OAHIqe,EAAaC,EAAaJ,GAC1B1e,EAAOoH,KAAKhL,GAET,CAAE4D,OAAAA,EAAQ6e,WAAYA,EAAaC,EAC9C,EAAG,CAAE9e,OAAQ,GAAI6e,WAAY,IACxB7e,MACT,C,g7DCtBO,SAAS+e,GAAoBzd,EAAOG,GACvC,IAAIud,EAAuBvd,ECDdI,OAAO,SAACod,EAAa5iB,GAC9B,OAAAC,GAAAA,GAAA,GAAY2iB,GAAW,GAAAviB,GAAA,GAClBL,EAAQ,KAAIA,GAErB,EAAG,CAAC,GDFJ,OAAAC,GAAAA,GAAA,GAAYgF,GAAK,IACbG,OAAQH,EAAMG,OAAOvC,IAAI,SAAA9C,GACrB,OAAOA,EAAMO,QAAQqiB,EAAY1iB,GAAAA,GAAA,GACtBF,GAAU4iB,EAAa5iB,EAAMO,OAAKL,GAAA,GAClCF,EACf,IAER,CEPA,IAAM8iB,GAAoB,CACtBhF,aAAAA,GACAgD,YAAAA,GACAiC,WCAG,SAAoBhF,EAAGze,GAA4F,IAAxFqN,EAAKrN,EAALqN,MAAKzK,EAAA5C,EAAE6C,UAASgc,EAAAjc,EAAIqc,gBAAAA,OAAe,IAAAJ,EAAG,WAAQ,EAACA,EAAAG,EAAApc,EAAEkc,sBAAAA,OAAqB,IAAAE,EAAG,WAAQ,EAACA,EAC5GxW,GAAQ6W,EAAAA,EAAAA,IAAM,CACdhS,MAAO,CACH1K,aAAc,CACVoD,OAAQ,GACRwX,eAAgB,OAGxB1a,UAAW,CACPyc,sBAAuB,SAACoE,EAAQ3a,GAC5BqE,IACIrE,IAAasa,IACbpE,EAAgBS,IAExB,KAGJiE,EAAenF,GAAaC,EAAK,CACjCpR,MAAO,CACHuR,KAAM,OAEV/b,UAAW,CACPoc,gBAAe,SAAClZ,GACZ6d,EAAmB7d,EACvB,KAGJ8d,EAAcrC,GAAY/C,EAAK,CAC/BpR,MAAAA,EACAxK,UAAW,CACPic,sBAAAA,EACAG,gBAAe,SAAClZ,GACZ6d,EAAmB7d,EACvB,KAGF6d,EAAqB,SAAC7d,GACxByC,EAAMI,OAAOya,GAAqBtd,EACtC,EACM+d,GAAe1L,EAAAA,GAAAA,GAAS,IAAK,WAC/BhL,GACJ,GACMA,EAAS,WAAH,OAAS4J,sBAAsB,WACvC,IAAM+M,EAAYrE,IACZlU,EAAeuX,GAAgBgB,EAAW,CAC5Cf,eAAgBvE,EAAI3E,QAAU,MAElC6J,EAAa3C,UAAUxV,GACvBqY,EAAY7C,UAAU+C,EAC1B,EAAE,EAIIrE,EAAY,WACd,OAAOlX,EAAME,WAAW3C,MAC5B,EAKA,MAAO,CACHib,UAXc,SAACjb,GACfyC,EAAMI,OAAOgV,GAAmB7X,EACpC,EAUI2Z,UAAAA,EACAuB,SAPa,SAACla,EAAO0F,GACrBkX,EAAa1C,SAASla,EAAO0F,GAC7BoX,EAAY5C,SAASla,EAAO0F,EAChC,EAKI/I,QAAS,WACLyB,OAAO8S,iBAAiB,SAAU6L,GAClCH,EAAajgB,UACbmgB,EAAYngB,SAChB,EACAE,WAAY,WACQ+f,SAA4DA,EAAa/f,aAAzF+f,EAAuG,KACxFE,SAA0DA,EAAYjgB,aAArFigB,EAAmG,KACnGrb,EAAQ,KACRrD,OAAO+S,oBAAoB,SAAU4L,EACzC,EAER,GD1EaE,GAAkB,SAACC,GAC5B,OAAOT,GAAkBS,EAC7B,EACO,SAAS1E,GAAoBd,EAAKzV,GACrCyV,EAAIyF,QAAQ,iBAAkBlb,EAClC,C,knEECe,SAASmb,GAAczN,GAClC,OAAO,SAAA1W,GAA4B,IAC3BokB,EACAC,EAFUphB,EAAQjD,EAAhBoD,KAAQH,SAGRuF,GAAQ6W,EAAAA,EAAAA,IAAM,CAChBhS,MAAO,CACH1K,aAAc,CACVyW,QAAS,CAAC,EACV0D,aAAc,KAGtBja,UAAW,CACDyc,sBAAqB,SAAC1Z,EAAOmD,EAAU4Q,GAAe,O,EAAAxV,IAAAA,KAAA,SAAAC,IAAA,IAAAgV,EAAAkL,EAAAvd,EAAAwd,EAAA/K,EAAAgL,EAAA,OAAArgB,IAAAA,KAAA,SAAAK,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,WACpD4C,GAAAA,KAAMoP,EAAOoG,cAAgB/T,IAAa6T,GAAoB,CAAApY,EAAAE,KAAA,QACf,OAAzC0U,EAAUqL,GAAiB7e,EAAMwT,SAAQ5U,EAAAE,KAAA,EACHE,EAAAA,GAAKS,IAAIO,EAAMkX,aAAc,CACrEzY,OAAMzD,GAAA,CAAI8jB,OAAQ,QAAWtL,KAC/B,OAAAkL,EAAA9f,EAAAe,KAFsBwB,EAAKud,EAArBK,KAAQA,KAAQ5d,MAGxB6d,EAAe7d,GACf8d,EAAkB9d,EAAOuS,OAAO8D,KAAKhE,GAASzX,QAAQ,OAEtDoH,IAAagU,KAA2BwH,EAAA9H,GACnB9C,EAAa,GAA3BH,EAAU+K,EAAA,GACjBjL,OAAOC,QAAQ6K,GAAiBzgB,QAAQ,SAAAO,GAAsB,IAAAW,EAAA4X,GAAAvY,EAAA,GAApBjD,EAAI4D,EAAA,GAAEigB,EAAQjgB,EAAA,GACpD,GAAI2U,IAAevY,EAAM,CACrB,IAAM8E,EAASH,EAAMwT,QAAQnY,GAC7B6jB,EAAS9D,UAAUjb,GACnB9C,EAASzB,SAAS1B,GAAAA,EAA0BmB,EAAM8E,EACtD,CACJ,IAEAgD,IAAalF,KACLuV,EAAYxT,EAAZwT,QACR2L,EAAc3L,GACdnW,EAASzB,SAAS,2BAA4B4X,IACjD,yBAAA5U,EAAAiB,OAAA,EAAArB,EAAA,G,sLACL,KAmCF2gB,EAAgB,SAAC3L,GACnBE,OAAOC,QAAQ6K,GAAiBzgB,QAAQ,SAAAqhB,GAAsB,IAAAC,EAAAxI,GAAAuI,EAAA,GAApB/jB,EAAIgkB,EAAA,GAAUA,EAAA,GAC3CjE,UAAU5H,EAAQnY,GAC/B,GACIojB,GACAA,EAAmBa,WAAW9L,EACtC,EAuBMyL,EAAoB,SAAC9d,EAAO0F,GAC9B6M,OAAOC,QAAQ6K,GAAiBzgB,QAAQ,SAAAwhB,GAAuB,IACvDvd,EADuDwd,EAAA3I,GAAA0I,EAAA,GAAdL,GAAFM,EAAA,GAAUA,EAAA,IAExB,QAA5Bxd,EAAKkd,EAAS7D,gBAA6B,IAAPrZ,GAAyBA,EAAG+B,KAAKmb,EAAU/d,EAAO0F,EAC3F,EACJ,EACM4Y,EAAkB,SAAC7O,GACrBhO,EAAMI,OAAOiU,GAAyBrG,EAC1C,EACMoO,EAAiB,SAACU,GACpB,IAAM7P,EAAQ,IAAI2M,YAAY,4BAA6B,CAAEC,OAAQiD,IACrEtd,SAASua,cAAc9M,EAC3B,EACM8P,EAAe,SAACnM,GAClB5Q,EAAMI,OAAOuQ,GAAoBC,GACjC,IAAM3D,EAAQ,IAAI2M,YAAY,qBAAsB,CAChDC,OAAQ,CAAE7Z,MAAOA,EAAME,WAAY+b,iBAAAA,MAEvCzc,SAASua,cAAc9M,GACvBsP,EAAc3L,EAClB,EACMoM,EAAqB,SAAC/P,GACxBxS,EAASzB,SAAS,2BAA4BiU,EAAM4M,OACxD,EACA,MAAO,CACH3e,QAAO,WAtFY,IAAC0V,IAuFD1C,EAAO0C,QAtF1BgL,EAAkBhL,EACb5V,IAAI,SAAAsB,GAAiC,IAA9B7D,EAAI6D,EAAJ7D,KACF6jB,EAMO,SAAHnS,GAAoC,IAA9B1R,EAAI0R,EAAJ1R,KAAMgjB,EAAUtR,EAAVsR,WAAYlN,EAAKpE,EAALoE,MACtC,OAAOiN,GAAgBC,EAAhBD,CAA4BjN,EAAO,CACtC1J,MAAO,CACH+T,cAAe1K,EAAO0K,eAE1Bve,UAAW,CACPic,sBAAqB,SAAC/Y,GAClByC,EAAMI,OAAOgU,GAAsB3b,EAAM8E,EAC7C,EACAkZ,gBAAe,SAAClZ,GACZyC,EAAMI,OAAOgU,GAAsB3b,EAAM8E,GACzC9C,EAASzB,SAAS,2BAA0BR,GAAA,GAAKC,EAAO8E,GAC5D,EACAoZ,oBAAmB,SAACvT,EAAKlL,GACrB,IAAIkH,EACJ,GAAiC,QAA5BA,EAAK8O,EAAO+O,kBAA+B,IAAP7d,OAAgB,EAASA,EAAG+D,SAASC,GAAM,CAC9ClL,EAA1BF,KADwE,IAC/DklB,E,6WAAYhN,CAAKhY,EAAK,UACvC8H,EAAMI,OAAOmU,GAA2B9b,EAAM2K,EAAK8Z,EACvD,CACJ,IAGZ,CA5ByBC,CAAa,CAAE1kB,KAAAA,EAAMgjB,WADdnf,EAAVmf,WACoClN,MADnBjS,EAALiS,QAG1B,OADA+N,EAASphB,UACF,CAACzC,EAAM6jB,EAClB,GACK3e,OAAO,SAACyf,EAASxa,GAAA,IAAAkH,EAAAmK,GAAArR,EAAE,GAACnK,EAAIqR,EAAA,GAAEwS,EAAQxS,EAAA,UAAA1R,GAAAA,GAAA,GAAYglB,GAAS,GAAA5kB,GAAA,GAAGC,EAAO6jB,GAAQ,EAAK,CAAC,GAiF5EpO,EAAOmP,YAjDO,SAACzM,EAAO0M,GAAiB,IAAbC,EAAMD,EAANC,QAClClE,EAAAA,GAAAA,GAAqB,qBACrB,IAAMmE,EAAc5M,EACf9V,OAAO,SAAA2iB,GAAiB,OAAAA,EAAdC,cAAmC,GAC7C1iB,IAAI,SAAA2iB,GAAO,OAAAA,EAAJllB,IAAe,GAG3BojB,ECtFG,SAAoB/b,EAAEtI,GAUlC,IAAA0e,EAAA1e,EATDqN,MAAK+Y,EAAA1H,EACHsH,YAAAA,OAAW,IAAAI,EAAG,GAAEA,EAAAC,EAAA3H,EAChB+G,WAAAA,OAAU,IAAAY,EAAG,GAAEA,EAAAzjB,EAAA5C,EAGjB6C,UAASgc,EAAAjc,EACPqc,gBAAAA,OAAe,IAAAJ,EAAG,WAAO,EAACA,EAAAG,EAAApc,EAC1B0jB,eAAAA,OAAc,IAAAtH,EAAG,WAAO,EAACA,EAGvBxW,GAAQ6W,EAAAA,EAAAA,IAAM,CAChBhS,MAAO,CACL1K,aAAc,CACZyW,QAAS,CAAC,IAIdvW,UAAW,CACTyc,sBAAuB,SAAC1Z,EAAOmD,GAC7BjB,EAASsF,OAAOxH,IAEhB+S,EAAAA,EAAAA,GACE,SAAA4N,GAAI,OAAIxd,IAAaE,CAAmB,EACtC,SAAAud,GAAE,OAAIvH,EAAgBwH,IAAa,EAErC,SAAAF,GAAI,OAAIxd,IAAa0Q,CAAwB,EAC3C,SAAA+M,GAAE,OAAIvH,EAAgBwH,IAAa,EAErC,SAAAF,GAAI,OAAIxd,IAAasQ,CAAmB,EACtC,SAAAmN,GACEvH,EAAgBwH,KAChBH,GACF,EAEN,KAQAG,EAAa,WACf,OAAOje,EAAME,WAAW0Q,OAC1B,EAEIjN,EAAgB,SAACpD,EAAUyQ,EAAY9Y,EAAOsI,GAChD,GAAIyc,GAAcA,EAAW9Z,SAASjL,EAAMkL,KAC1C,OAAOpD,EAAMI,OAAO6Q,EAA0B,CAAE/Y,MAAAA,EAAOqI,SAAAA,EAAUC,QAAAA,IAEjER,EAAMI,OAAOK,EAAqB,CAAEuQ,WAAAA,EAAY9Y,MAAAA,EAAOqI,SAAAA,EAAUC,QAAAA,GAErE,EAEIuT,EAAgB,WAClB/T,EAAMI,OAAOyQ,EACf,EAsBIvR,GAAWqD,EAAAA,EAAAA,IAAmB7C,EAAI,SAAA1C,GACpC,IAAIG,EArBU,SAAAH,GACd,OAAO0T,OAAOC,QAAQ3T,EAAMwT,SACzB9V,OAAO,SAAAY,GAAA,IAAAW,EAAA4X,GAAAvY,EAAA,GAAEsV,EAAU3U,EAAA,GAAS,OAAAA,EAAA,GAC3BmhB,EAAYra,SAAS6N,EAAW,GAEjChW,IAAI,SAAAsB,GAAA,IAAAsG,EAAAqR,GAAA3X,EAAA,GAAE0U,EAAUpO,EAAA,GAAQ,OAAAA,EAAA,GAChB5H,IAAI,SAAA9C,GAAK,MAAI,CAAC8Y,EAAY9Y,EAAM,EAAC,GAEzCyF,OAAO,SAACJ,EAAQ2gB,GAAY,SAAAtkB,OAAA4Z,GACvBjW,GAAMiW,GAAK0K,GAAY,EACzB,IACHpjB,OAAO,SAAAgP,GAAA,IAAAK,EAAA8J,GAAAnK,EAAA,GAAe5R,GAAFiS,EAAA,GAAOA,EAAA,WAC1BsQ,EAAAA,EAAAA,IAAcviB,EAAM,GAGrB4C,OAAO,SAAA0hB,EAAY1Y,EAAOqa,GAAI,IAAnBjmB,EAAmB+b,GAAAuI,EAAA,GAAd,UACf2B,EAAK9R,UAAU,SAAAiR,GAAgB,OAAhBrJ,GAAAqJ,EAAA,GAAgB,GAAmBla,MAAQlL,EAAMkL,GAAG,KAAMU,CAAK,EAEpF,CAGeoT,CAAU9Z,GAEvB,OAAIG,EAAOpE,QAAU,EAAU,MAExBiF,EAAAA,EAAAA,IAAS,oBAAqB,SAAArG,GAAC,OACpCA,EAACqa,GAAU,CACT7U,OAAQA,EACRoG,cAAeA,EACfoQ,cAAeA,GACf,EAEN,GAEA,MAAO,CAAE2I,WAtDQ,SAAA9L,GACf5Q,EAAMI,OAAOuQ,EAAoBC,EACnC,EAqDF,CDRiCwN,CAAWb,EAAQ,CACpC1Y,MAAO,CACH2Y,YAAAA,EACAP,WAAY/O,EAAO+O,YAEvB5iB,UAAW,CACPoc,gBAAe,SAAC7F,GACZnW,EAASzB,SAAS,2BAA4B4X,EAClD,EACAkN,eAAc,WACVzB,EAAkB,KAAM,EAC5B,IAGZ,CA6BYgC,CAAkBnQ,EAAO0C,QAAS1C,EAAOmP,YAE7C5iB,EAAS7B,UAAU,0BAA2BmkB,GAC9CtiB,EAAS7B,UAAU,6BAA8BikB,GACjDrd,SAASiQ,iBAAiB,oBAAqBuN,EACnD,EACA5hB,WAAU,WACNX,EAASZ,YAAY,0BAA2BkjB,GAChDtiB,EAASZ,YAAY,6BAA8BgjB,GACnDrd,SAASkQ,oBAAoB,oBAAqBsN,EACtD,EAER,CACJ,CACO,IAAMf,GAAmB,SAACrL,GAE7B,OADeE,OAAOzI,OAAOuI,GAAS0N,OAEjCxjB,OAAO,SAAC5C,GAAK,OAAKuiB,EAAAA,EAAAA,IAAcviB,EAAM,GACtCyF,OAAO,SAACJ,EAAQrF,GAAK,OAAAE,GAAAA,GAAA,GAAWmF,IAAWghB,EAAAA,EAAAA,IAAermB,GAAM,EAAK,CAAC,EAC/E,C,mmCE/JO,IAAMD,EAAgB,SAACC,EAAKV,GAAiC,IAA7BmW,EAASnW,EAATmW,UAAWD,EAAWlW,EAAXkW,YAC9C,OAAAtV,EAAAA,EAAA,GACOF,GAAK,IACRiR,OAAQjR,EAAMiR,OAAOnO,IAAI,SAAAgN,GAAK,OAAIA,EAAMvP,OAASkV,EAC3C1B,EAAAA,cAAoBjE,EAAO0F,GAC3B1F,CAAK,IAEnB,EACa3M,EAAe,SAACnD,GACzB,OAAAE,EAAAA,EAAA,GACOF,GAAK,IACRiR,OAAQjR,EAAMiR,OAAOnO,IAAI,SAAAgN,GAAK,OAAIiE,EAAAA,aAAmBjE,EAAM,IAEnE,EACagK,EAAsB,SAAC9Z,EAAKwD,GAAoB,IAAhBiS,EAASjS,EAATiS,UACzC,OAAAvV,EAAAA,EAAA,GACOF,GAAK,IACRiR,OAAQjR,EAAMiR,OAAOnO,IAAI,SAAAgN,GAAK,OAAIA,EAAMvP,OAASkV,EAC3C1B,EAAAA,aAAmBjE,GACnBA,CAAK,IAEnB,EACa1P,EAAW,SAACJ,GACrB,OAAOA,EAAMiR,OAAOsH,KAAK,SAAAzI,GAAK,OAAIiE,EAAAA,SAAejE,EAAM,EAC3D,EACazP,EAAY,SAACL,GACtB,OAAOA,EAAMiR,OACRrO,OAAO,SAAAkN,GAAK,OAAIiE,EAAAA,SAAejE,EAAM,GACrCrK,OAAO,SAACwL,EAAQnB,GAAK,OAAA5P,EAAAA,EAAA,GAAW+Q,GAAW8C,EAAAA,UAAgBjE,GAAM,EAAK,CAAC,EAChF,C,s4CC7Be,SAASrJ,EAAKnH,GAAgD,IAA7CU,EAAKV,EAALU,MAAKsmB,EAAAhnB,EAAEwO,aAAAA,OAAY,IAAAwY,EAAG,WAAQ,EAACA,EAAK3Z,EAAKqL,EAAA1Y,EAAA,0BAC/DqQ,GAAYoG,EAAAA,EAAAA,GAAkB/V,GACpC,OAAQH,EAAAA,EAAAA,GAAE8P,EAASzP,EAAA,CAAIF,MAAOA,EAAO8N,aAAcA,GAAiBnB,GACxE,CACO,SAASjG,EAAqBiJ,GACjC,OAAO,SAAAnM,GAAkE,IACjE+iB,EACAC,EAFExmB,EAAKwD,EAALxD,MAAOyL,EAAajI,EAAbiI,cAA4CkB,GAA/BnJ,EAAEsK,aAAkCkK,EAAAxU,EAAA,2CAgB9D,OAAQ3D,EAAAA,EAAAA,GAAE8P,EAASzP,EAAA,CAAIF,MAAOA,EAAO8N,aAbjB,SAAC8C,GAAO,OAAK2V,EAAe3V,CAAO,EAaSnF,cAXtC,WAAa,QAAA1K,EAAAC,UAAAC,OAATC,EAAI,IAAAC,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAJF,EAAIE,GAAAJ,UAAAI,GAAA,IACvBiH,EAAqBnH,EAAI,GAAfoH,EAAWpH,EAAI,GAChCuK,EAAcpD,EAAQnI,EAAAA,EAAA,GACfoI,GAAO,IACVL,iBAAkB,CACdjI,MAAOumB,EACP/c,OAAQgd,KAGpB,EAEkGpX,MADhF,SAACxH,GAAS4e,EAAgB5e,CAAI,GACuE+E,GAC3H,CACJ,C,0gBCZMmH,EAAY,CACd/G,KAAAA,EACA2G,WAAY3G,EACZgH,MAAAA,EACAiG,OAAAA,EACAhF,MAAAA,EACAjC,OAAAA,EACAoC,QAAAA,EACAG,SAAAA,EACAC,SAAAA,EACAjC,WAAAA,EACAf,cAAAA,EACAmD,gBAAAA,EACA9B,kBAAAA,GAES6S,EAAe,SAACzmB,GACzB,OAAO8T,EAAU9T,EAAMF,KAC3B,EACayiB,EAAgB,SAACviB,GAE1B,OAAOI,EADcqmB,EAAazmB,GAA1BI,UACQJ,EACpB,EACaqmB,EAAiB,SAACrmB,GAE3B,OAAOK,EADeomB,EAAazmB,GAA3BK,WACSL,EACrB,EACaoY,EAAa,SAACpY,EAAOsI,GAE9B,OAAOnF,EADkBsjB,EAAazmB,GAA9BmD,cACYnD,EAAOsI,EAC/B,C,+jCC1CO,IAAMqF,EAAqB,SAAC3N,EAAKV,GAAe,IAAXW,EAAIX,EAAJW,KACxC,OAAAC,EAAAA,EAAA,GAAYF,GAAK,IAAEG,MAAOF,EAAKE,OACnC,EACagD,EAAe,SAACnD,GACzB,OAAAE,EAAAA,EAAA,GAAYF,GAAK,IAAEG,MAAO,MAC9B,EACaC,EAAW,SAACJ,GACrB,QAASA,EAAMG,KACnB,EACaE,EAAY,SAACL,GACtB,OAAAM,EAAA,GACKN,EAAMO,KAAOP,EAAMG,MAE5B,C","sources":["webpack:///./app/assets/javascripts/core/services/InfinityList/lists/ProductList/constants.ts","webpack:///./app/assets/javascripts/core/components/UI/Button.tsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/fields/Segment.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/PluginsMediator.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/createList.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/fields/Select.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/fields/Range.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/Loader.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/ModalFilter/commits/toggleField.ts","webpack:///./app/assets/javascripts/site/VDOMComponents/CurrentLocation.tsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/ModalFilter/components/Counter.tsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/ModalFilter/components/Modal.tsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/fields/TextLine.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/fields/Checkbox.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/common/components/fields/List.tsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/common/components/RangeInput.tsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/common/components/fields/Colors.tsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/common/components/fields/Checkboxes.tsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/common/components/fields/MultipleRange.tsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/common/components/fields/InlineList.tsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/common/components/fields/QuickFilterColors.tsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/common/components/fields/QuickFilterSize.tsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/common/components/fields/index.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/common/components/fields/Range.tsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/common/components/fields/Color.tsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/common/components/fields/Segment.tsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/common/components/fields/TextLine.tsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/common/components/fields/Checkbox.tsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/ItemsPlugin.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/UrlPlugin.ts","webpack:///./app/assets/javascripts/core/utils/throttle.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/fields/Checkboxes.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/fields/List.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/common/commits/changeField.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/ChoiceList/commits/setFilters.js","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/ChoiceList/commits/resetFields.js","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/ChoiceList/commits/changeField.js","webpack:///./app/assets/javascripts/core/utils/calcLastShowingElIndex.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/ChoiceList/components/fields/List.jsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/ChoiceList/components/fields/Range.jsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/ChoiceList/components/fields/Select.jsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/ChoiceList/components/fields/Checkbox.jsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/ChoiceList/components/fields/Checkboxes.jsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/ChoiceList/components/fields/MultipleRange.jsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/ChoiceList/components/fields/QuickFilterSize.jsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/ChoiceList/components/fields/QuickFilterColors.jsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/ChoiceList/components/fields/index.js","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/ChoiceList/components/Field.jsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/ChoiceList/components/FieldsList.jsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/commits.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/common/utils/hasChanges.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/InlineFilter/commits/setCount.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/InlineFilter/commits/openField.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/InlineFilter/commits/closeFields.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/common/commits/setFields.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/common/commits/reset.ts","webpack:///./app/assets/javascripts/core/utils/compose.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/InlineFilter/index.tsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/ModalFilter/commits/setFields.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/ModalFilter/commits/openModal.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/ModalFilter/commits/setCount.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/ModalFilter/commits/apply.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/ModalFilter/commits/closeModal.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/ModalFilter/index.tsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/MainFilter/utils/getInlineFields.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/MainFilter/commits/mergeFields.ts","webpack:///./app/assets/javascripts/core/utils/array/orderBy.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/index.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/MainFilter/index.tsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/index.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/ChoiceList/index.jsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/fields/MultipleRange.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/filters/common/components/Field.tsx","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/fields/index.ts","webpack:///./app/assets/javascripts/core/services/InfinityList/plugins/FiltersPlugin/fields/Color.ts"],"sourcesContent":["export const FILTER_PLUGIN_SYNC_EVENT = 'FiltersPlugin ~> syncChanged';\n","import { h } from 'preact';\nimport htmlClassNames from 'core/utils/htmlClassNames';\nexport const Button = ({ onClick, text, badge, className }) => {\n const classes = htmlClassNames('ui-BadgeButton', className);\n return (h(\"button\", { type: 'button', className: classes, \"data-badge\": badge, onClick: onClick }, text));\n};\n","export function COMMIT_CHANGE(field, { item }) {\n return {\n ...field,\n value: item.value\n };\n}\nexport const hasValue = (field) => !!field.value;\nexport const serialize = (field) => ({ [field.name]: field.value });\n","import EventEmitter from 'eventemitter3';\nfunction PluginsMediator() {\n const eventEmitter = new EventEmitter();\n const subscribe = (eventName, callback) => {\n eventEmitter.on(eventName, callback);\n };\n const dispatch = (eventName, ...args) => setImmediate(() => {\n console.log('%c%s', 'color: white; background: green', eventName, args);\n eventEmitter.emit(eventName, ...args);\n });\n const unsubscribe = (eventName, callback) => {\n eventEmitter.off(eventName, callback);\n };\n return { subscribe, dispatch, unsubscribe };\n}\nexport default PluginsMediator;\n","import PluginsMediator from './PluginsMediator';\nexport default function createList(Dispatcher) {\n return ({ loadUrl, plugins, initialState, callbacks: { onScrollToTop, onBeforeLoad, onAfterLoad } }) => {\n const mediator = PluginsMediator();\n const dispatcher = Dispatcher({\n loadUrl,\n initialState,\n deps: {\n mediator\n },\n callbacks: {\n onScrollToTop,\n onBeforeLoad,\n onAfterLoad\n }\n });\n const pluginInstances = plugins.filter(Boolean).map((plugin) => {\n return plugin({\n deps: {\n mediator\n }\n });\n });\n return {\n connect() {\n pluginInstances.forEach(plugin => plugin.connect());\n dispatcher.connect();\n },\n disconnect() {\n pluginInstances.forEach(plugin => plugin.disconnect && plugin.disconnect());\n dispatcher.disconnect && dispatcher.disconnect();\n }\n };\n };\n}\n","export const COMMIT_RESET = (field) => {\n return { ...field, value: null };\n};\n","export const COMMIT_CHANGE = (field, { minValue, maxValue }) => {\n return { ...field, minValue, maxValue };\n};\nexport const COMMIT_RESET = (field) => {\n return {\n ...field,\n minValue: null,\n maxValue: null\n };\n};\nexport const hasValue = (field) => {\n return field.minValue || field.maxValue;\n};\nexport const serialize = (field) => {\n return {\n [field.name]: `${field.minValue}_${field.maxValue}`\n };\n};\n","import Http from 'core/services/Http';\nexport default function Loader({ callbacks: { onBeforeLoad, onAfterLoad } }) {\n const load = async (loadUrl, params = {}) => {\n onBeforeLoad();\n console.log('%c%s', 'background: blue; color: white', 'Start request...', loadUrl, params);\n Http.subscribe('afterRequest', ([response, content]) => {\n let location = content === null || content === void 0 ? void 0 : content.redirectTo;\n console.log('%c%s', 'background: orange; color: black', 'Http interceptor: afterRequest', location);\n if (location) {\n console.log('Http interceptor: redirect to ', location);\n window.location.href = location;\n return [response, content];\n }\n // Return the original response for other interceptors in the chain\n return [response, content];\n });\n const result = await Http.get(loadUrl, { params, redirect: 'manual' });\n console.log('%c%s', 'background: blue; color: white', 'End request');\n onAfterLoad(result);\n return result;\n };\n return { load };\n}\n","export function COMMIT_TOGGLE_FIELD(state, { field: { name } }) {\n return { ...state,\n openedFieldNames: { ...state.openedFieldNames,\n [name]: !state.openedFieldNames[name]\n }\n };\n}\nexport function COMMIT_INIT_TOGGLE_FIELDS(state, fields) {\n if (!Array.isArray(fields)) {\n fields = [fields];\n }\n const currentState = state.openedFieldNames;\n const newState = fields.reduce((res, { name, defaultOpen }) => {\n res[name] = currentState[name] || defaultOpen;\n return res;\n }, {});\n return {\n ...state,\n openedFieldNames: newState\n };\n}\n","import { cssScope } from 'core/services/VDOM';\nimport htmlClassNames from 'core/utils/htmlClassNames';\nexport function CurrentLocation({ currentCity, className = 'sb-CurrentLocation', scope = '', type = 'default', onClick }) {\n const classes = htmlClassNames('b-CurrentLocation', `__${type}`, {\n [className]: !!scope\n });\n return cssScope(scope, h => {\n return (h(\"div\", { className: classes },\n h(\"div\", { className: 'b-CurrentLocation_info' },\n h(\"span\", { className: 'b-CurrentLocation_title' }, \"\\u0412\\u0430\\u0448 \\u0433\\u043E\\u0440\\u043E\\u0434\"),\n h(\"span\", { className: 'b-CurrentLocation_city' }, currentCity)),\n h(\"button\", { type: 'button', className: 'b-CurrentLocation_button', \"data-open-city-select\": true, onClick: onClick }, \"\\u0421\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C\")));\n });\n}\nexport default CurrentLocation;\n","import { cssScope } from 'core/services/VDOM';\nimport { Button } from 'core/components/UI/Button';\nimport htmlClassNames from 'core/utils/htmlClassNames';\nexport const Counter = ({ top, count, onApply, badge, visible }) => {\n const classes = htmlClassNames('sb-Features_counter', 'sb-Counter', { '__hidden': !visible || count === null });\n return cssScope('ListFilter', h => (h(\"div\", { className: classes, style: { top } },\n h(\"div\", { className: 'sb-Counter_content' },\n h(\"div\", { className: 'sb-Counter_found' },\n \"\\u041D\\u0430\\u0439\\u0434\\u0435\\u043D\\u043E - \", count !== null && count !== void 0 ? count : ''),\n h(Button, { text: '\\u041F\\u0440\\u0438\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C', badge: badge, onClick: onApply })))));\n};\n","import { createVDOMRenderer, createVDOMComponent, cssScope } from 'core/services/VDOM';\nimport htmlClassNames from 'core/utils/htmlClassNames';\nimport { CurrentLocation } from 'site/VDOMComponents/CurrentLocation';\nimport { Button } from 'core/components/UI/Button';\nimport BaseField, { withClickChangeEvent } from '../../common/components/Field';\nimport { COMMIT_CHANGE_FIELD } from '../../common/commits/changeField';\nimport { COMMIT_TOGGLE_FIELD } from '../commits/toggleField';\nimport { isInlineField } from '../../common/components/fields';\nimport { Counter } from './Counter';\nconst Field = withClickChangeEvent(BaseField);\nconst SHOWN_FIELDS_COUNT = 7;\nexport const V1 = Env.version === 'mobile';\nexport const V2 = Env.version === 'desktop';\nconst Modal = createVDOMComponent((self) => {\n var _a;\n const slot = (_a = document.querySelector('[data-el=\"ProductList/featuresFilter/aside\"]')) !== null && _a !== void 0 ? _a : document.body;\n const currentCity = slot.dataset.currentCity;\n let filtersContainer;\n let renderer;\n //props for getClasses state: IStoreState\n const getClasses = (state) => {\n return htmlClassNames('ScopeRoot __modal', { '__v2': V2 }, \n // { '__opened': state.isModalOpened },\n // Disabled old mobile filter\n { '__opened': state });\n };\n const setFiltersContainer = (el) => {\n filtersContainer = el;\n };\n const handleToggleField = (store, field) => () => {\n calcCounterPosition(self.getState().lastAppliedField);\n store.commit(COMMIT_TOGGLE_FIELD, { field });\n };\n const handleChangeField = (store, field) => async (commitFn, payload) => {\n store.commit(COMMIT_CHANGE_FIELD, { field, commitFn, payload });\n };\n const handleApplyField = (store, field) => async (commitFn, payload) => {\n var _a, _b, _c, _d;\n store.commit(COMMIT_CHANGE_FIELD, { field, commitFn, payload });\n Env.version === 'mobile' ? (_b = (_a = self.getProps()).onMobileApply) === null || _b === void 0 ? void 0 : _b.call(_a) : (_d = (_c = self.getProps()).onApply) === null || _d === void 0 ? void 0 : _d.call(_c);\n };\n const handleToggleShowingFields = (fieldsAreHidden) => () => {\n self.setState({ fieldsAreHidden: !fieldsAreHidden });\n };\n const calcCounterPosition = async (lastAppliedField) => {\n await Promise.resolve();\n if (!lastAppliedField)\n return;\n const { parent, field } = lastAppliedField;\n // clientWidth 0 means field is hidden\n const target = field.clientWidth !== 0 ? field : parent;\n const boundTop = target.getBoundingClientRect().top;\n const targetPageY = boundTop + pageYOffset;\n const middleTargetPosition = targetPageY + (target.clientHeight / 2);\n const offsetTop = filtersContainer.getBoundingClientRect().top + pageYOffset;\n const counterPosition = middleTargetPosition - offsetTop;\n self.setState({ counterPosition });\n };\n const isFieldOpened = (state, field) => {\n return state.openedFieldNames[field.name];\n };\n const isFirstField = (field) => {\n const firstFileldsKeys = ['sort', 'delivery'];\n return firstFileldsKeys.includes(field.key);\n };\n const componentWillMount = () => {\n renderer = createVDOMRenderer(slot, ({ store, state, onClose, onApply, onMobileApply }, { counterPosition, fieldsAreHidden = state.fields.length > SHOWN_FIELDS_COUNT }) => {\n const firstFields = [];\n const inlineFields = [];\n const fields = [];\n state.fields.forEach(field => {\n isInlineField(field) ? inlineFields.push(field) : isFirstField(field) ? firstFields.push(field) : fields.push(field);\n });\n const isFieldHidden = (fieldIndex) => {\n return fieldsAreHidden && fieldIndex + 1 > SHOWN_FIELDS_COUNT;\n };\n const handleClickCurrentLocation = () => {\n if (Env.version === 'mobile')\n onClose();\n };\n return cssScope('ListFilter', h => (h(\"div\", { className: getClasses(false) },\n h(\"div\", { className: 'sb-Features' },\n h(\"div\", { class: 'sb-Features_content' },\n h(\"div\", { class: 'sb-Features_wrapper' },\n h(\"div\", { className: 'sb-Features_title' }, \"\\u041F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u044B\"),\n V1 && (h(CurrentLocation, { type: 'small', scope: 'ListFilter', className: 'sb-Section sb-CurrentLocation', currentCity: currentCity, onClick: handleClickCurrentLocation })),\n inlineFields.map(field => (h(BaseField, { field: field, isOpened: isFieldOpened(state, field), onChangeField: handleApplyField(store, field), onToggleField: () => { } }))),\n h(\"div\", { className: 'sb-Features_fields', ref: setFiltersContainer },\n firstFields.map((field, index) => (h(Field, { field: field, isOpened: isFieldOpened(state, field), isHidden: isFieldHidden(index), onChangeField: V2 ? handleApplyField(store, field) : handleChangeField(store, field), onToggleField: handleToggleField(store, field) }))),\n fields.map((field, index) => (h(Field, { field: field, isOpened: isFieldOpened(state, field), isHidden: isFieldHidden(index), onChangeField: V2 ? handleApplyField(store, field) : handleChangeField(store, field), onToggleField: handleToggleField(store, field) }))),\n V1 && (h(Counter, { visible: !!counterPosition && state.isCounterVisible, top: counterPosition || 0, badge: state.appliedFilters, count: state.count, onApply: onApply })),\n V1 && fieldsAreHidden && (h(\"button\", { className: 'sb-Features_showingFields', type: 'button', onClick: handleToggleShowingFields(fieldsAreHidden) },\n h(\"span\", null, \"\\u041F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C \\u0432\\u0441\\u0435 \\u0444\\u0438\\u043B\\u044C\\u0442\\u0440\\u044B\"),\n h(\"span\", { className: 'sb-Features_showingFieldsIcon' }))),\n V2 && fields.length !== SHOWN_FIELDS_COUNT && (h(\"button\", { className: 'sb-Features_showingFields', type: 'button', onClick: handleToggleShowingFields(fieldsAreHidden) },\n h(\"span\", null, fieldsAreHidden ? 'Показать все фильтры' : 'Скрыть')))),\n h(\"div\", { class: 'sb-Features_actions' },\n h(Button, { className: 's-ListFilter_b-Features_action', onClick: onMobileApply, badge: state.appliedFilters, text: '\\u041F\\u0440\\u0438\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C' })))),\n h(\"div\", { class: 'sb-Features_overlay overlay', onClick: onClose })))));\n });\n };\n const componentWillUnmount = () => {\n renderer = (renderer.destroy(), null);\n };\n const render = (props, selfState) => {\n renderer.render(props, selfState);\n };\n const needCalcUpdate = (prevState, nextState) => {\n const { lastAppliedField: prevField, openedFieldNames: prevFields } = prevState;\n const { lastAppliedField: nextField, openedFieldNames: nextFields } = nextState;\n if (!nextField)\n return false;\n if (prevFields !== nextFields)\n return true;\n if (prevField !== nextField)\n return true;\n return false;\n };\n const componentWillUpdate = (nextProps) => {\n const { lastAppliedField } = nextProps.state;\n if (needCalcUpdate(self.getProps().state, nextProps.state)) {\n calcCounterPosition(lastAppliedField);\n }\n };\n return {\n componentWillMount,\n componentWillUnmount,\n componentWillUpdate,\n render\n };\n});\nexport default Modal;\n","export const COMMIT_CHANGE = (field, payload) => {\n return { ...field, value: payload.value };\n};\nexport const COMMIT_RESET = (field) => {\n return { ...field, value: null };\n};\nexport const hasValue = (field) => {\n return !!field.value;\n};\nexport const serialize = (field) => {\n return {\n [field.name]: field.value\n };\n};\n","export const COMMIT_TOGGLE = (field) => {\n return { ...field, checked: !field.checked, value: !field.value };\n};\nexport const COMMIT_RESET = (field) => {\n return { ...field, checked: false };\n};\nexport const hasValue = (field) => {\n return field.checked;\n};\nexport const serialize = (field) => {\n return {\n [field.name]: field.value\n };\n};\n","import { cssScope, h } from 'core/services/VDOM';\nimport { Component } from 'preact';\nimport htmlClassNames from 'core/utils/htmlClassNames';\nimport { COMMIT_TOGGLE_ITEM } from '../../../../fields/List';\nimport { SelectInput, SelectTypes } from 'core/components/UI/Inputs';\nimport { Button } from 'core/components/UI/Button';\nimport { V1 } from '../../../../filters/ModalFilter/components/Modal';\nexport default class List extends Component {\n constructor() {\n super(...arguments);\n this.state = {\n isLastPartShown: false\n };\n this.isItemActive = (field, item) => {\n return field.value === item.value;\n };\n this.getItemClasses = (field, item) => htmlClassNames({\n 'is-active': this.isItemActive(field, item),\n 'is_highlighted': item.isBold\n });\n this.handleToggleItem = (item) => () => {\n const { onChangeField } = this.props;\n onChangeField(COMMIT_TOGGLE_ITEM, { item });\n };\n this.handleClick = (e) => {\n const { onFieldClick } = this.props;\n onFieldClick(e.currentTarget);\n };\n this.showChoice = () => {\n if (V1)\n return true;\n if (this.props.isInline)\n return true;\n return false;\n };\n this.handleToggleShownItems = () => {\n this.setState(prevState => ({ isLastPartShown: !prevState.isLastPartShown }));\n };\n this.buildFieldsParts = () => {\n const { field } = this.props;\n return field.collection.reduce((result, item, index) => {\n var _a;\n if ((_a = field.viewOptions) === null || _a === void 0 ? void 0 : _a.viewType) {\n index < 3 * 2 ? result.firstPart.push(item) : result.lastPart.push(item);\n return result;\n }\n result.firstPart.push(item);\n return result;\n }, { firstPart: [], lastPart: [] });\n };\n this.buildSelectInput = (item) => {\n const { field } = this.props;\n return (h(SelectInput, { type: SelectTypes.radio, label: item.title, checked: this.isItemActive(field, item), onClick: this.handleClick, onChange: this.handleToggleItem(item), icon: item.icon }));\n };\n }\n get choice() {\n const { field: { collection, value } } = this.props;\n const activeItem = collection.find(item => item.value === value);\n return activeItem === null || activeItem === void 0 ? void 0 : activeItem.title;\n }\n get classes() {\n var _a, _b;\n const { isOpened, isHidden, field } = this.props;\n return htmlClassNames(['sb-Section', 'sb-Field', '__list', `__${field.key}`], { 'is-opened': isOpened }, { '__isHidden': isHidden }, { [`__${(_a = field.viewOptions) === null || _a === void 0 ? void 0 : _a.viewType}`]: (_b = field.viewOptions) === null || _b === void 0 ? void 0 : _b.viewType });\n }\n render() {\n const { field, isOpened, onRef, onToggleField, onApply, isInline } = this.props;\n const { isLastPartShown } = this.state;\n const { firstPart, lastPart } = this.buildFieldsParts();\n return cssScope('ListFilter', h => (h(\"div\", { class: this.classes, ref: onRef },\n h(\"div\", { class: 'sb-Section_toggle __isActive', onClick: onToggleField },\n h(\"div\", { class: '_title' }, field.title),\n this.showChoice() && (h(\"div\", { class: '_choice' }, this.choice))),\n isOpened && (h(\"div\", null,\n h(\"div\", { class: 'sb-Section_content sb-Field_content' },\n isInline && h(\"h4\", { className: 'sb-Section_title' }, field.title),\n firstPart.map(this.buildSelectInput),\n isLastPartShown && lastPart.map(this.buildSelectInput),\n isInline && (h(\"div\", { className: 'sb-Section_actions' },\n h(Button, { text: '\\u041F\\u0440\\u0438\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C', onClick: onApply })))),\n lastPart.length > 0 && (h(\"button\", { className: 'sb-Field_toggleShownItemsButton', type: 'button', onClick: this.handleToggleShownItems }, isLastPartShown ? 'Скрыть' : 'Показать все')))))));\n }\n}\n","import { Component } from 'preact';\nimport { cssScope } from 'core/services/VDOM';\nimport { Text, MultipleRange, CurrencyText } from 'core/components/UI/Inputs';\nimport { V1 } from '../../ModalFilter/components/Modal';\nconst MAX_PERCENT_VALUE = 10000;\nexport class RangeInput extends Component {\n constructor(props) {\n super(props);\n this.calcValues = (range) => {\n const { range: field } = this.props;\n let minValue = Number(range[0]) || field.min;\n let maxValue = Number(range[1]) || field.max;\n if (minValue > maxValue)\n minValue = field.min;\n if (maxValue < minValue)\n maxValue = field.max;\n if (minValue < field.min)\n minValue = field.min;\n if (maxValue > field.max)\n maxValue = field.max;\n if (minValue === field.min && maxValue === field.max) {\n minValue = maxValue = null;\n }\n return { minValue, maxValue };\n };\n this.handleInputChangeMin = (e, value) => {\n const target = e.currentTarget;\n value = value !== null && value !== void 0 ? value : +target.value;\n const values = this.calcValues([value, this.props.range.maxValue]);\n this.props.onChangeMinEnd(values, target);\n };\n this.handleInputChangeMax = (e, value) => {\n const target = e.currentTarget;\n value = value !== null && value !== void 0 ? value : +target.value;\n const values = this.calcValues([this.props.range.minValue, value]);\n this.props.onChangeMaxEnd(values, target);\n };\n this.handleChangeMin = (value) => {\n this.handleChange([this.calcPriceFromPercent(value), this.props.range.maxValue]);\n };\n this.handleChangeMax = (value) => {\n this.handleChange([this.props.range.minValue, this.calcPriceFromPercent(value)]);\n };\n this.handleChange = (range) => {\n this.setState(this.calcValues(range));\n };\n this.handleChangeMinEnd = ({}, element) => {\n this.props.onChangeMinEnd(this.state, element);\n };\n this.handleChangeMaxEnd = ({}, element) => {\n this.props.onChangeMaxEnd(this.state, element);\n };\n const { range: { minValue, maxValue } } = this.props;\n this.setState({ minValue, maxValue });\n }\n get TextComponent() {\n return this.props.type === 'currency' ? CurrencyText : Text;\n }\n get rangeStep() {\n return MAX_PERCENT_VALUE / (this.props.range.ranges.length || 1);\n }\n // calculation uses simple math ratio between percent progress inside specific range and price frames\n // rangeProgress / rangeStep = priceProgress / priceRangeDiff\n calcPriceFromPercent(percent) {\n const { ranges } = this.props.range;\n let index = Math.ceil(percent / this.rangeStep) - 1; // define range index \n if (index < 0)\n index = 0;\n const { min, max } = ranges[index] || this.props.range;\n const rangeProgress = percent - index * this.rangeStep;\n const priceRangeDiff = max - min;\n return Math.round(min + (rangeProgress * priceRangeDiff) / this.rangeStep);\n }\n calcPercentFromPrice(price) {\n const { ranges } = this.props.range;\n let targetIndex = 0; // store range index\n const { min, max } = ranges.find(({ min, max }, i) => {\n targetIndex = i;\n return price >= min && price <= max;\n }) || this.props.range;\n const priceProgress = price - min;\n const priceRangeDiff = max - min;\n return Math.round((targetIndex + priceProgress / priceRangeDiff) * this.rangeStep);\n }\n componentDidUpdate({ range: { minValue: prevMin, maxValue: prevMax } }) {\n const { range: { minValue, maxValue } } = this.props;\n if (prevMin !== minValue || prevMax !== maxValue) {\n this.setState({ minValue, maxValue });\n }\n }\n render({ range, type }) {\n const minValue = this.state.minValue || undefined;\n const maxValue = this.state.maxValue || undefined;\n return cssScope('ListFilter', h => {\n var _a, _b;\n return (h(\"div\", { class: 'sb-RangeInput' },\n h(\"div\", { className: 'sb-RangeInput_textFields' },\n h(\"div\", { className: 'sb-RangeInput_text' },\n type === 'inline' && h(\"span\", null, \"\\u043E\\u0442\"),\n h(this.TextComponent, { label: '\\u041E\\u0442', type: 'number', color: 'white', min: range.min, max: range.max, value: minValue, placeholder: (_a = range.min) === null || _a === void 0 ? void 0 : _a.toString(), onChange: this.handleInputChangeMin, isLabelFixed: true })),\n h(\"div\", { className: 'sb-RangeInput_text' },\n type === 'inline' && h(\"span\", null, \"\\u0434\\u043E\"),\n h(this.TextComponent, { label: '\\u0414\\u043E', type: 'number', color: 'white', min: range.min, max: range.max, value: maxValue, placeholder: (_b = range.max) === null || _b === void 0 ? void 0 : _b.toString(), onChange: this.handleInputChangeMax, isLabelFixed: true }),\n type === 'inline' && h(\"span\", null, \"\\u0441\\u043C\"))),\n V1 && (h(\"div\", { className: 'sb-RangeInput_range' },\n h(MultipleRange, { min: 0, max: MAX_PERCENT_VALUE, minValue: minValue ? this.calcPercentFromPrice(minValue) : minValue, maxValue: maxValue ? this.calcPercentFromPrice(maxValue) : maxValue, onMinChange: this.handleChangeMin, onMaxChange: this.handleChangeMax, onMinChangeEnd: this.handleChangeMinEnd, onMaxChangeEnd: this.handleChangeMaxEnd })))));\n });\n }\n}\n","import { cssScope } from 'core/services/VDOM';\nimport { Component } from 'preact';\nimport htmlClassNames from 'core/utils/htmlClassNames';\nimport { Button } from 'core/components/UI/Button';\nimport { COMMIT_TOGGLE_ITEM, COMMIT_RESET } from '../../../../fields/Colors';\nimport { V1 } from '../../../ModalFilter/components/Modal';\nexport default class Colors extends Component {\n constructor() {\n super(...arguments);\n this.state = {\n isLastPartShown: false\n };\n this.isItemActive = (item) => this.props.field.values.includes(item.value);\n this.getItemClasses = (item) => htmlClassNames('sb-Field_value', {\n '__isActive': this.isItemActive(item),\n '__isHighlighted': item.isBold\n });\n this.showChoice = () => {\n if (V1)\n return true;\n if (this.props.isInline)\n return true;\n return false;\n };\n this.handleToggleItem = (item) => (e) => {\n this.props.onFieldClick(e.currentTarget);\n this.props.onChangeField(COMMIT_TOGGLE_ITEM, {\n item: { ...item },\n isChecked: e.target.checked\n });\n };\n this.handleReset = (e) => {\n this.props.onFieldClick(e.currentTarget);\n this.props.onChangeField(COMMIT_RESET);\n };\n this.buildFieldsParts = () => {\n return this.props.field.collection.reduce((result, item, index) => {\n if (V1) {\n result.firstPart.push(item);\n return result;\n }\n index < 7 ? result.firstPart.push(item) : result.lastPart.push(item);\n return result;\n }, { firstPart: [], lastPart: [] });\n };\n this.buildInput = (item) => {\n return cssScope('ListFilter', h => (h(\"label\", { className: this.getItemClasses(item) },\n h(\"input\", { className: 'sb-Field_valueInput', type: 'checkbox', onChange: this.handleToggleItem(item), checked: this.isItemActive(item) }),\n h(\"span\", { className: 'sb-Field_valueBg', style: { backgroundColor: `#${item.hex}` }, \"data-color\": item.value }),\n h(\"span\", null, item.title))));\n };\n this.handleToggleShownItems = () => {\n this.setState(prevState => ({ isLastPartShown: !prevState.isLastPartShown }));\n };\n }\n get classes() {\n const { isOpened, isHidden } = this.props;\n return htmlClassNames('sb-Section sb-Field __colors', { 'is-opened': isOpened, '__isHidden': isHidden });\n }\n get choice() {\n const { field } = this.props;\n if (field.values.length > 0) {\n return field.collection\n .filter(item => field.values.includes(item.value))\n .map(({ title }) => title)\n .join(', ');\n }\n }\n render() {\n const { field, onToggleField, isOpened, onRef, onApply, isInline } = this.props;\n const { isLastPartShown } = this.state;\n const { firstPart, lastPart } = this.buildFieldsParts();\n return cssScope('ListFilter', h => (h(\"div\", { className: this.classes, ref: onRef },\n h(\"div\", { className: htmlClassNames('sb-Section_toggle', { '__isActive': field.values.length > 0 }), onClick: onToggleField },\n h(\"div\", { className: '_title' }, field.title),\n this.showChoice() && (h(\"div\", { class: '_choice' }, this.choice))),\n isOpened && (h(\"div\", null,\n h(\"div\", { className: 'sb-Section_content sb-Field_content' },\n isInline && h(\"h4\", { className: 'sb-Section_title' }, field.title),\n h(\"button\", { type: 'button', className: 'sb-Field_reset', onClick: this.handleReset }, \"\\u0412\\u0441\\u0435 \\u0446\\u0432\\u0435\\u0442\\u0430\"),\n firstPart.map(this.buildInput),\n isLastPartShown && lastPart.map(this.buildInput),\n isInline && (h(\"div\", { className: 'sb-Section_actions' },\n h(Button, { text: '\\u041F\\u0440\\u0438\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C', onClick: onApply })))),\n lastPart.length > 0 && (h(\"button\", { className: 'sb-Field_toggleShownItemsButton', type: 'button', onClick: this.handleToggleShownItems }, isLastPartShown ? 'Скрыть' : 'Показать все')))))));\n }\n}\n","import { cssScope, h } from 'core/services/VDOM';\nimport { Component } from 'preact';\nimport htmlClassNames from 'core/utils/htmlClassNames';\nimport { COMMIT_TOGGLE_ITEM } from '../../../../fields/Checkboxes';\nimport { SelectInput, SelectTypes } from 'core/components/UI/Inputs';\nimport Tooltip from 'core/components/UI/Tooltip';\nimport { Button } from 'core/components/UI/Button';\nimport { V1 } from '../../../../filters/ModalFilter/components/Modal';\n// Based on current width set by desktop's styles\nconst FIELD_TITLE_MAX_LENGTH = 23;\nexport default class Checkboxes extends Component {\n constructor() {\n super(...arguments);\n this.state = {\n isLastPartShown: false\n };\n this.isItemActive = (item) => this.props.field.values.includes(item.value);\n this.handleToggleItem = (item) => (e) => {\n this.props.onChangeField(COMMIT_TOGGLE_ITEM, {\n item: { ...item },\n isChecked: e.target.checked\n });\n };\n this.handleClick = (e) => {\n this.props.onFieldClick(e.currentTarget);\n };\n this.showChoice = () => {\n if (V1)\n return true;\n if (this.props.isInline)\n return true;\n return false;\n };\n this.handleToggleShownItems = () => {\n this.setState(prevState => ({ isLastPartShown: !prevState.isLastPartShown }));\n };\n this.buildFieldsParts = () => {\n const { field } = this.props;\n return field.collection.reduce((result, item, index) => {\n var _a;\n if (V1) {\n result.firstPart.push(item);\n return result;\n }\n if ((_a = field.viewOptions) === null || _a === void 0 ? void 0 : _a.viewType) {\n index < 3 * 2 ? result.firstPart.push(item) : result.lastPart.push(item);\n return result;\n }\n index < 7 ? result.firstPart.push(item) : result.lastPart.push(item);\n return result;\n }, { firstPart: [], lastPart: [] });\n };\n this.buildSelectInput = (item) => {\n return (h(SelectInput, { type: SelectTypes.checkbox, label: item.title, onClick: this.handleClick, checked: this.isItemActive(item), onChange: this.handleToggleItem(item), title: (item.title && item.title.length > FIELD_TITLE_MAX_LENGTH) ? item.title : undefined, icon: item.icon }));\n };\n }\n get choice() {\n const { field } = this.props;\n if (field.values.length > 0) {\n return field.collection\n .filter(item => field.values.includes(item.value))\n .map(({ title }) => title)\n .join(', ');\n }\n }\n get classes() {\n var _a, _b;\n const { field, isOpened, isHidden } = this.props;\n return htmlClassNames(['sb-Section', 'sb-Field', '__checkboxes', `__${field.key}`], { 'is-opened': isOpened, '__isHidden': isHidden }, { [`__${(_a = field.viewOptions) === null || _a === void 0 ? void 0 : _a.viewType}`]: (_b = field.viewOptions) === null || _b === void 0 ? void 0 : _b.viewType });\n }\n render() {\n const { field, isOpened, onRef, onToggleField, onApply, isInline } = this.props;\n const { isLastPartShown } = this.state;\n const { firstPart, lastPart } = this.buildFieldsParts();\n return cssScope('ListFilter', h => (h(\"div\", { class: this.classes, ref: onRef },\n h(\"div\", { class: htmlClassNames('sb-Section_toggle', { '__isActive': field.values.length > 0 }), onClick: onToggleField },\n h(\"div\", { class: '_title' },\n field.title,\n field.tooltip && (h(\"span\", { className: 'sb-Section_tooltipWrapper' },\n h(\"div\", { className: 'sb-Section_tooltip' },\n \"?\",\n h(Tooltip, { label: field.tooltip }))))),\n this.showChoice() && (h(\"div\", { class: '_choice' }, this.choice))),\n isOpened && (h(\"div\", null,\n h(\"div\", { class: 'sb-Section_content sb-Field_content' },\n isInline && h(\"h4\", { className: 'sb-Section_title' }, field.title),\n firstPart.map(this.buildSelectInput),\n isLastPartShown && lastPart.map(this.buildSelectInput),\n isInline && (h(\"div\", { className: 'sb-Section_actions' },\n h(Button, { text: '\\u041F\\u0440\\u0438\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C', onClick: onApply })))),\n lastPart.length > 0 && (h(\"button\", { className: 'sb-Field_toggleShownItemsButton', type: 'button', onClick: this.handleToggleShownItems }, isLastPartShown ? 'Скрыть' : 'Показать все')))))));\n }\n}\n","import { cssScope } from 'core/services/VDOM';\nimport htmlClassNames from 'core/utils/htmlClassNames';\nimport { Button } from 'core/components/UI/Button';\nimport { COMMIT_CHANGE } from '../../../../fields/MultipleRange';\nimport { RangeInput } from '../RangeInput';\nvoid RangeInput, COMMIT_CHANGE;\nexport default function MultipleRange({ field, isOpened, isHidden, onToggleField, onChangeField, onFieldClick, onRef, onApply, isInline }) {\n const classes = htmlClassNames(['sb-Section', 'sb-Field', '__multipleRange'], { 'is-opened': isOpened, '__isHidden': isHidden });\n const onChangeMinEnd = (range) => (rangeValues, element) => {\n const payload = {\n rangeName: range.name,\n rangeValues\n };\n onFieldClick(element);\n onChangeField(COMMIT_CHANGE, payload);\n };\n const onChangeMaxEnd = (range) => (rangeValues, element) => {\n const payload = {\n rangeName: range.name,\n rangeValues\n };\n onFieldClick(element);\n onChangeField(COMMIT_CHANGE, payload);\n };\n return cssScope('ListFilter', h => (h(\"div\", { class: classes, ref: onRef },\n h(\"div\", { class: 'sb-Section_toggle', onClick: onToggleField },\n h(\"div\", { class: '_title' }, field.title)),\n isOpened && (h(\"div\", { class: 'sb-Section_content sb-Field_content' },\n isInline && h(\"h4\", { className: 'sb-Section_title' }, field.title),\n field.ranges.map(range => (h(\"div\", null,\n h(\"div\", { className: 'sb-Field_title' }, range.title),\n h(RangeInput, { range: range, onChangeMaxEnd: onChangeMaxEnd(range), onChangeMinEnd: onChangeMinEnd(range) })))),\n isInline && (h(\"div\", { className: 'sb-Section_actions' },\n h(Button, { text: '\\u041F\\u0440\\u0438\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C', onClick: onApply }))))))));\n}\n","import { cssScope } from 'core/services/VDOM';\nimport { SelectInput, SelectTypes } from 'core/components/UI/Inputs';\nimport List from './List';\nexport default class InlineList extends List {\n render() {\n const { field, onRef } = this.props;\n return cssScope('ListFilter', h => (h(\"div\", { class: 'sb-Section __inline sb-Field __inlineList is-opened', ref: onRef },\n h(\"div\", { class: 'sb-Section_title' }, field.title),\n h(\"div\", { class: 'sb-Section_content sb-Field_content' }, field.collection.map(item => (h(SelectInput, { type: SelectTypes.radio, label: item.title, checked: this.isItemActive(field, item), onClick: this.handleClick, onChange: this.handleToggleItem(item) })))))));\n }\n}\n","import { cssScope, h } from 'core/services/VDOM';\nimport { Component } from 'preact';\nimport htmlClassNames from 'core/utils/htmlClassNames';\nimport { COMMIT_TOGGLE_ITEM } from '../../../../fields/List';\nimport { SelectInput, SelectTypes } from 'core/components/UI/Inputs';\nimport { Button } from 'core/components/UI/Button';\nimport { V1 } from '../../../ModalFilter/components/Modal';\nexport default class QuickFilterColors extends Component {\n constructor() {\n super(...arguments);\n this.state = {\n isLastPartShown: false\n };\n this.isItemActive = (field, item) => {\n return field.value === item.value;\n };\n this.getItemClasses = (field, item) => htmlClassNames({\n 'is-active': this.isItemActive(field, item),\n 'is_highlighted': item.isBold\n });\n this.handleToggleItem = (item) => () => {\n const { onChangeField } = this.props;\n onChangeField(COMMIT_TOGGLE_ITEM, { item });\n };\n this.handleToggleShownItems = () => {\n this.setState(prevState => ({ isLastPartShown: !prevState.isLastPartShown }));\n };\n this.handleClick = (e) => {\n const { onFieldClick } = this.props;\n onFieldClick(e.currentTarget);\n };\n this.showChoice = () => {\n if (V1)\n return true;\n if (this.props.isInline)\n return true;\n return false;\n };\n this.buildFieldsParts = () => {\n const { field } = this.props;\n return field.collection.reduce((result, item, index) => {\n index < 4 * 2 ? result.firstPart.push(item) : result.lastPart.push(item);\n return result;\n }, { firstPart: [], lastPart: [] });\n };\n this.buildSelectInput = (item) => {\n const { field } = this.props;\n return (h(SelectInput, { type: SelectTypes.radio, label: item.title, checked: this.isItemActive(field, item), onClick: this.handleClick, onChange: this.handleToggleItem(item), icon: item.icon }));\n };\n }\n get choice() {\n const { field: { collection, value } } = this.props;\n const activeItem = collection.find(item => item.value === value);\n return activeItem === null || activeItem === void 0 ? void 0 : activeItem.title;\n }\n get classes() {\n const { isOpened, isHidden, field } = this.props;\n return htmlClassNames(['sb-Section', 'sb-Field', '__list', `__${field.key}`, `__${field.type}`], { 'is-opened': isOpened }, { '__isHidden': isHidden });\n }\n render() {\n const { field, isOpened, onRef, onToggleField, onApply, isInline } = this.props;\n const { isLastPartShown } = this.state;\n const { firstPart, lastPart } = this.buildFieldsParts();\n return cssScope('ListFilter', h => (h(\"div\", { class: this.classes, ref: onRef, style: '--columns: 4;' },\n h(\"div\", { class: 'sb-Section_toggle __isActive', onClick: onToggleField },\n h(\"div\", { class: '_title' }, field.title),\n this.showChoice() && (h(\"div\", { class: '_choice' }, this.choice))),\n isOpened && (h(\"div\", null,\n h(\"div\", { class: 'sb-Section_content sb-Field_content' },\n isInline && h(\"h4\", { className: 'sb-Section_title' }, field.title),\n firstPart.map(this.buildSelectInput),\n isLastPartShown && lastPart.map(this.buildSelectInput),\n isInline && (h(\"div\", { className: 'sb-Section_actions' },\n h(Button, { text: '\\u041F\\u0440\\u0438\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C', onClick: onApply })))),\n lastPart.length > 0 && (h(\"button\", { className: 'sb-Field_toggleShownItemsButton', type: 'button', onClick: this.handleToggleShownItems }, isLastPartShown ? 'Скрыть' : 'Показать все')))))));\n }\n}\n","import { cssScope } from 'core/services/VDOM';\nimport htmlClassNames from 'core/utils/htmlClassNames';\nimport { Button } from 'core/components/UI/Button';\nimport { COMMIT_CHANGE } from '../../../../fields/MultipleRange';\nimport { RangeInput } from '../RangeInput';\nvoid RangeInput, COMMIT_CHANGE;\nexport default function QuickFilterSize({ field, isOpened, isHidden, onToggleField, onChangeField, onFieldClick, onRef, onApply, isInline }) {\n const classes = htmlClassNames(['sb-Section', 'sb-Field', '__multipleRange', `__${field.type}`], { 'is-opened': isOpened, '__isHidden': isHidden });\n const onChangeMinEnd = (range) => (rangeValues, element) => {\n const payload = {\n rangeName: range.name,\n rangeValues\n };\n onFieldClick(element);\n onChangeField(COMMIT_CHANGE, payload);\n };\n const onChangeMaxEnd = (range) => (rangeValues, element) => {\n const payload = {\n rangeName: range.name,\n rangeValues\n };\n onFieldClick(element);\n onChangeField(COMMIT_CHANGE, payload);\n };\n const handleQuickRangeChange = ({ min, max }) => () => {\n const payload = {\n rangeName: field.quickDimension,\n rangeValues: {\n minValue: min,\n maxValue: max\n }\n };\n onChangeField(COMMIT_CHANGE, payload);\n };\n return cssScope('ListFilter', h => (h(\"div\", { class: classes, ref: onRef },\n h(\"div\", { class: 'sb-Section_toggle', onClick: onToggleField },\n h(\"div\", { class: '_title' }, field.title)),\n isOpened && (h(\"div\", { class: 'sb-Section_content sb-Field_content' },\n isInline && h(\"h4\", { className: 'sb-Section_title' }, field.title),\n h(\"div\", { className: 'sb-Field_quickRanges' }, field.quickRanges.map(range => (h(\"button\", { className: htmlClassNames('sb-Field_quickRange', { '__isActive': range.isActive }), type: 'button', onClick: handleQuickRangeChange(range) },\n h(\"img\", { className: 'sb-Field_quickRangeImg', src: range.url }),\n h(\"p\", { className: 'sb-Field_quickRangeTitle' }, range.title))))),\n field.ranges.map(range => (h(\"div\", { className: 'sb-Field_inlineRange' },\n h(\"div\", { className: 'sb-Field_title' }, range.title),\n h(RangeInput, { range: range, type: 'inline', onChangeMaxEnd: onChangeMaxEnd(range), onChangeMinEnd: onChangeMinEnd(range) })))),\n isInline && (h(\"div\", { className: 'sb-Section_actions' },\n h(Button, { text: '\\u041F\\u0440\\u0438\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C', onClick: onApply }))))))));\n}\n","import List from './List';\nimport Range from './Range';\n// import Select from './Select'\nimport Color from './Color';\nimport Colors from './Colors';\nimport Segment from './Segment';\nimport TextLine from './TextLine';\nimport Checkbox from './Checkbox';\nimport Checkboxes from './Checkboxes';\nimport MultipleRange from './MultipleRange';\nimport InlineList from './InlineList';\nimport QuickFilterColors from './QuickFilterColors';\nimport QuickFilterSize from './QuickFilterSize';\nconst INLINE_FIELD_MAP = {\n InlineList\n};\nconst FIELD_MAP = {\n ...INLINE_FIELD_MAP,\n List,\n Range,\n Color,\n Colors,\n // Select,\n Segment,\n TextLine,\n Checkbox,\n Checkboxes,\n MultipleRange,\n QuickFilterColors,\n QuickFilterSize\n};\nexport const getFieldComponent = (field) => {\n return FIELD_MAP[field.type];\n};\nexport function isInlineField(field) {\n return !!INLINE_FIELD_MAP[field.type];\n}\n","import { cssScope } from 'core/services/VDOM';\nimport htmlClassNames from 'core/utils/htmlClassNames';\nimport { SelectInput, SelectTypes } from 'core/components/UI/Inputs';\nimport { Button } from 'core/components/UI/Button';\nimport { COMMIT_CHANGE } from '../../../../fields/Range';\nimport { RangeInput } from '../RangeInput';\nimport { V1 } from '../../../ModalFilter/components/Modal';\nimport { pushToDataLayer } from 'core/services/GTM';\nexport default function Range({ field, isOpened, isHidden, onChangeField, onToggleField, onFieldClick, onRef, onApply, isInline }) {\n const classes = htmlClassNames(['sb-Section', 'sb-Field', '__range'], { 'is-opened': isOpened, '__isHidden': isHidden });\n const isRangeActive = (range) => {\n return Boolean((field.minValue && range.min >= field.minValue) &&\n (field.maxValue && range.max <= field.maxValue));\n };\n const onChangeMinEnd = (values, element) => {\n onFieldClick(element);\n onChangeField(COMMIT_CHANGE, values);\n };\n const onChangeMaxEnd = (values, element) => {\n onFieldClick(element);\n onChangeField(COMMIT_CHANGE, values);\n };\n const checkRange = (range) => {\n let values = { minValue: null, maxValue: null };\n const firstRange = field.ranges[0];\n const lastRange = field.ranges[field.ranges.length - 1];\n const allRangeActive = (range === firstRange || isRangeActive(firstRange))\n && (range === lastRange || isRangeActive(lastRange));\n if (!allRangeActive) {\n values = {\n minValue: !field.minValue || range.min < field.minValue ? range.min : field.minValue,\n maxValue: !field.maxValue || range.max > field.maxValue ? range.max : field.maxValue\n };\n }\n onChangeField(COMMIT_CHANGE, values);\n };\n const uncheckRange = (range) => {\n const currentRangeIndex = field.ranges.findIndex(item => item.title === range.title);\n const previousCheckedRange = currentRangeIndex > 0 && isRangeActive(field.ranges[currentRangeIndex - 1])\n ? field.ranges[currentRangeIndex - 1]\n : null;\n const nextCheckedRange = currentRangeIndex < field.ranges.length - 1 && isRangeActive(field.ranges[currentRangeIndex + 1])\n ? field.ranges[currentRangeIndex + 1]\n : null;\n // An unsupported case\n if (nextCheckedRange && previousCheckedRange)\n return;\n const values = {\n minValue: field.minValue,\n maxValue: field.maxValue\n };\n if (nextCheckedRange) {\n values.minValue = nextCheckedRange.min;\n }\n else if (previousCheckedRange) {\n values.maxValue = previousCheckedRange.max;\n }\n else {\n values.minValue = null;\n values.maxValue = null;\n }\n onChangeField(COMMIT_CHANGE, values);\n };\n const onToggleRange = (range) => () => {\n const isChecked = isRangeActive(range);\n if (isChecked)\n return uncheckRange(range);\n checkRange(range);\n };\n const handleCheckClick = (e) => {\n onFieldClick(e.currentTarget);\n };\n const inputType = field.key === 'price' ? 'currency' : 'default';\n const choiceTitle = field.minValue && field.maxValue ? `${field.minValue} – ${field.maxValue}` : '';\n const showChoice = () => {\n if (V1)\n return true;\n if (this.props.isInline)\n return true;\n return false;\n };\n const handleApplyCkick = () => {\n onApply && onApply();\n pushToDataLayer({ event: 'PriceFilter' });\n };\n return cssScope('ListFilter', h => (h(\"div\", { class: classes, ref: onRef, ...(field.key === 'price' && { 'data-gtm-products-filter': '' }) },\n h(\"div\", { class: htmlClassNames('sb-Section_toggle', { '__isActive': choiceTitle }), onClick: onToggleField },\n h(\"div\", { class: '_title' }, field.title),\n showChoice() && (h(\"div\", { class: '_choice' }, choiceTitle))),\n isOpened && (h(\"div\", { class: 'sb-Section_content sb-Field_content' },\n isInline && h(\"h4\", { className: 'sb-Section_title sb-Field_title' }, field.title),\n h(RangeInput, { type: inputType, range: field, onChangeMinEnd: onChangeMinEnd, onChangeMaxEnd: onChangeMaxEnd }),\n field.ranges.length > 0 && (h(\"div\", { class: 'sb-Field_ranges' }, field.ranges.map(range => (h(SelectInput, { type: SelectTypes.checkbox, label: range.title, onClick: handleCheckClick, checked: isRangeActive(range), onChange: onToggleRange(range) }))))),\n isInline && (h(\"div\", { className: 'sb-Section_actions' },\n h(Button, { text: '\\u041F\\u0440\\u0438\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C', onClick: handleApplyCkick }))))))));\n}\n","import { cssScope } from 'core/services/VDOM';\nimport htmlClassNames from 'core/utils/htmlClassNames';\nimport { Button } from 'core/components/UI/Button';\nimport { COMMIT_TOGGLE_ITEM, COMMIT_RESET } from '../../../../fields/Color';\nimport { V1 } from '../../../ModalFilter/components/Modal';\nexport default function Colors({ field, onChangeField, onToggleField, onFieldClick, isOpened, isHidden, onRef, onApply, isInline }) {\n const isActive = (item) => {\n return field.value === item.value;\n };\n const getChoice = () => {\n const activeItem = field.collection.find(item => item.value === field.value);\n return activeItem === null || activeItem === void 0 ? void 0 : activeItem.title;\n };\n const classes = htmlClassNames('sb-Section sb-Field __colors', { 'is-opened': isOpened, '__isHidden': isHidden });\n const getItemClasses = (item) => htmlClassNames('sb-Field_value', {\n '__isActive': isActive(item),\n '__isHighlighted': item.isBold\n });\n const handleToggle = (item) => (e) => {\n onFieldClick(e.currentTarget);\n onChangeField(COMMIT_TOGGLE_ITEM, { item });\n };\n const handleReset = (e) => {\n onFieldClick(e.currentTarget);\n onChangeField(COMMIT_RESET);\n };\n const showChoice = () => {\n if (V1)\n return true;\n if (this.props.isInline)\n return true;\n return false;\n };\n return cssScope('ListFilter', h => (h(\"div\", { class: classes, ref: onRef },\n h(\"div\", { class: 'sb-Section_toggle', onClick: onToggleField },\n h(\"div\", { class: '_title' }, field.title),\n showChoice() && (h(\"div\", { class: '_choice' }, getChoice()))),\n isOpened && (h(\"div\", { class: 'sb-Section_content sb-Field_content' },\n isInline && h(\"h4\", { className: 'sb-Section_title' }, field.title),\n h(\"a\", { class: 'sb-Field_reset', onClick: handleReset }, \"\\u0412\\u0441\\u0435 \\u0446\\u0432\\u0435\\u0442\\u0430\"),\n field.collection.map(item => (h(\"a\", { class: getItemClasses(item), onClick: handleToggle(item) },\n h(\"span\", { class: 'sb-Field_valueBg', style: `background: #${item.hex}`, \"data-color\": item.value }),\n h(\"span\", { class: 'sb-Field_valueTitle' }, item.title)))),\n isInline && (h(\"div\", { className: 'sb-Section_actions' },\n h(Button, { text: '\\u041F\\u0440\\u0438\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C', onClick: onApply }))))))));\n}\n","import { cssScope } from 'core/services/VDOM';\nimport htmlClassNames from 'core/utils/htmlClassNames';\nimport { COMMIT_CHANGE } from '../../../../fields/Segment';\nexport default function Segment({ field, onChangeField, onRef }) {\n const getClassNames = (item) => {\n return htmlClassNames(['sb-Field_item', `__${item.value}`], { __isActive: item.value === field.value });\n };\n const handleClick = (item) => () => {\n onChangeField(COMMIT_CHANGE, { item });\n };\n return cssScope('ListFilter', h => (h(\"div\", { className: 'sb-Section sb-Field __segment', ref: onRef },\n h(\"div\", { className: 'sb-Field_content' }, field.collection.map(item => (h(\"div\", { onClick: handleClick(item), className: getClassNames(item) },\n h(\"span\", null, item.title))))))));\n}\n","import { cssScope } from 'core/services/VDOM';\nimport { COMMIT_CHANGE } from '../../../../fields/TextLine';\nexport default function TextLine({ field, onChangeField, onRef }) {\n const handleChange = (e) => {\n onChangeField(COMMIT_CHANGE, { value: e.target.value });\n };\n return cssScope('ListFilter', h => (h(\"div\", { class: 'sb-Field __textline', ref: onRef },\n h(\"div\", { class: 'sb-Field_content' },\n h(\"input\", { type: 'text', value: field.value, placeholder: ' ', onChange: handleChange }),\n h(\"div\", { class: 'sb-Field_placeholder' }, field.placeholder)))));\n}\n","import { cssScope } from 'core/services/VDOM';\nimport { COMMIT_TOGGLE } from '../../../../fields/Checkbox';\nimport htmlClassNames from 'core/utils/htmlClassNames';\nexport default function Checkbox({ field, onChangeField, onFieldClick, onToggleField, isOpened, isHidden, onRef }) {\n const handleToggle = (e) => {\n onFieldClick(e.currentTarget);\n onChangeField(COMMIT_TOGGLE);\n };\n const classes = htmlClassNames('sb-Section sb-Field __checkbox', { 'is-opened': isOpened, '__isHidden': isHidden });\n return cssScope('ListFilter', h => (h(\"div\", { class: classes, ref: onRef },\n h(\"div\", { class: 'sb-Section_toggle', onClick: onToggleField },\n h(\"div\", { class: '_title' }, field.title)),\n h(\"div\", { class: 'sb-Section_content sb-Field_content' },\n h(\"label\", { className: 'ui-Input __check' },\n h(\"span\", { className: 'ui-Input_label' }, field.title),\n h(\"span\", { className: 'checkbox ui-Input_wrapper' },\n h(\"input\", { className: 'ui-Input_input', type: 'checkbox', checked: field.checked, onChange: handleToggle }),\n h(\"span\", { className: 'ui-Input_ui-item' })))))));\n}\n","import { connect, disconnect } from 'core/services/Controller';\n/**\n * Items plugin replaces or appends items in $slot\n * when receives appropriate event from a mediator\n */\nimport { documentDispatch } from 'core/utils/events';\nexport default function (config) {\n return function ItemsPlugin({ deps: { mediator } }) {\n const { getSlotsForItems } = config;\n const handleAppend = (items, afterEvent) => {\n getSlotsForItems(items).map(({ $slot, items }) => {\n requestAnimationFrame(() => {\n $slot[0].insertAdjacentHTML('beforeend', items.join(''));\n connect($slot[0]);\n afterEvent && documentDispatch(afterEvent);\n });\n });\n };\n const handleReplace = (items, afterEvent) => {\n getSlotsForItems(items).map(({ $slot, items }) => {\n disconnect($slot[0]);\n requestAnimationFrame(() => {\n $slot[0].innerHTML = items.join('');\n connect($slot[0]);\n afterEvent && documentDispatch(afterEvent);\n });\n });\n };\n return {\n connect() {\n mediator.subscribe('ItemsPlugin <~ replace', handleReplace);\n mediator.subscribe('ItemsPlugin <~ append', handleAppend);\n },\n disconnect() {\n mediator.unsubscribe('ItemsPlugin <~ replace', handleReplace);\n mediator.unsubscribe('ItemsPlugin <~ append', handleAppend);\n }\n };\n };\n}\n","/**\n * Url plugin listens to \"popstate\" event and dispatches it to a mediator\n * Also pushes or replaces history state when receives appropriate event from a mediator\n */\nexport default function () {\n return function UrlPlugin({ deps: { mediator } }) {\n let lastTimestamp;\n const markState = (state) => {\n const timestamp = lastTimestamp = Date.now();\n return {\n ...state,\n _timestamp: timestamp,\n _type: 'UrlPlugin'\n };\n };\n const handlePush = ({ state, url }) => {\n history.pushState(markState(state), '', url);\n };\n const handleReplace = ({ state, url }) => {\n history.replaceState(markState(state), '', url);\n };\n const handleChangeUrl = ({ state: newState }) => {\n if (!newState || lastTimestamp === newState._timestamp)\n return;\n if (newState._type === 'UrlPlugin') {\n mediator.dispatch('UrlPlugin ~> changed', newState);\n lastTimestamp = newState._timestamp;\n }\n };\n return {\n connect() {\n window.addEventListener('popstate', handleChangeUrl);\n mediator.subscribe('UrlPlugin <~ push', handlePush);\n mediator.subscribe('UrlPlugin <~ replace', handleReplace);\n },\n disconnect() {\n window.removeEventListener('popstate', handleChangeUrl);\n mediator.unsubscribe('UrlPlugin <~ push', handlePush);\n mediator.unsubscribe('UrlPlugin <~ replace', handleReplace);\n }\n };\n };\n}\n","import { throttle } from 'throttle-debounce';\nexport default function (delay, callback) {\n return throttle(delay, false, callback);\n}\n","export const COMMIT_TOGGLE_ITEM = (field, { item, isChecked }) => {\n let values = field.values.filter(value => value !== item.value);\n if (isChecked)\n values = [...values, item.value];\n return { ...field, values };\n};\nexport const COMMIT_RESET = (field, { item } = {}) => {\n return {\n ...field,\n values: field.values.filter(value => {\n return item\n ? value !== item.value // Удаляем только определенное значение\n : false; // Удаляем все значения\n })\n };\n};\nexport const hasValue = (field) => {\n return field.values.length > 0;\n};\nexport const serialize = (field) => ({ [field.name]: field.values });\n","export const COMMIT_TOGGLE_ITEM = (field, { item }) => {\n return {\n ...field,\n value: field.value !== item.value\n ? item.value\n : null\n };\n};\nexport const COMMIT_RESET = (field) => {\n return {\n ...field,\n value: null\n };\n};\nexport const hasValue = (field) => {\n return !!field.value;\n};\nexport const serialize = (field) => {\n return {\n [field.name]: field.value\n };\n};\n","import { resetField } from '../../../fields';\nimport cond from 'core/utils/cond';\nexport function COMMIT_CHANGE_FIELD(state, { field: { name, linked_field_name: linkedFieldName }, commitFn, payload: { lastAppliedField, ...p } }) {\n var _a;\n const fields = state.fields.map((field) => cond(_when => field.name === name, _to => commitFn(field, p), _when => field.name === linkedFieldName, _to => resetField(field), _when => cond.Any, _to => field));\n // lastAppliedField и isCounterVisible не должны тут быть\n return COMMIT_ADD_CHANGED_FIELD_ITEM({ ...state, lastAppliedField, fields, isCounterVisible: true }, { name, value: (_a = p === null || p === void 0 ? void 0 : p.item) === null || _a === void 0 ? void 0 : _a.value });\n}\nexport function COMMIT_ADD_CHANGED_FIELD_ITEM(state, { name, value }) {\n const changedFieldList = [...state.changedFieldList];\n if (!changedFieldList.some(item => item.name === name)) {\n changedFieldList.push({ name, value });\n }\n return { ...state, changedFieldList };\n}\n","export default function COMMIT_SET_FILTERS(state, filters) {\n return { ...state, filters }\n}\n","import { resetField } from '../../fields'\n\nexport default function COMMIT_RESET_FIELDS(state) {\n const filters = {}\n Object.entries(state.filters).forEach(([filter, fields]) => {\n filters[filter] = fields.map(resetField)\n })\n\n return { ...state, filters }\n}\n","export default function COMMIT_CHANGE_FIELD(state, {\n filterName,\n\n field: {\n name\n },\n\n commitFn,\n\n payload\n}) {\n let fields = state.filters[filterName]\n\n return { ...state,\n filters: { ...state.filters,\n [filterName]: fields.map(field => {\n if (field.name === name) {\n return commitFn(field, payload)\n } else {\n return field\n }\n })\n }\n }\n}\n\nexport function COMMIT_CHANGE_SYNC_FIELD(state, { field, commitFn, payload }) {\n const { type: _type, ...commitPayload } = commitFn(field, payload)\n const filters = {}\n Object.entries(state.filters).forEach(([filter, fields]) => {\n filters[filter] = fields.map(filterField => {\n if (filterField.key !== field.key) return filterField\n\n return { ...filterField, ...commitPayload }\n })\n })\n return { ...state, filters }\n}\n","function calcElWidth(el) {\n const { width } = el.getBoundingClientRect();\n const { marginLeft, marginRight } = window.getComputedStyle(el);\n return width + parseInt(marginLeft) + parseInt(marginRight);\n}\nexport function calcLastShowingElIndex(container, hiddingEls, excludedEls = [], dynamicEls = []) {\n const containerWidth = container.getBoundingClientRect().width;\n const filteredHiddingEls = hiddingEls.filter(el => !excludedEls.includes(el));\n const dynamicElsWidth = dynamicEls.reduce((sum, el) => sum + calcElWidth(el), 0);\n let currentWidthSum = excludedEls.reduce((sum, el) => sum + calcElWidth(el), 0);\n let lastShowingIndex = null;\n filteredHiddingEls.some((item, index) => {\n const newWidthSum = currentWidthSum + calcElWidth(item);\n if (newWidthSum < containerWidth) {\n lastShowingIndex = index;\n currentWidthSum = newWidthSum;\n return false;\n }\n if (index === filteredHiddingEls.length - 1 && ((newWidthSum - dynamicElsWidth) < containerWidth)) {\n lastShowingIndex = index;\n }\n return true;\n });\n return lastShowingIndex;\n}\n","import { createVDOMComponent, cssScope } from 'core/services/VDOM'\n\nimport { COMMIT_RESET } from '../../../fields/List'\n\nexport default createVDOMComponent($self => {\n let getActiveItem = () => {\n let { field } = $self.getProps()\n\n return field.collection.find(item => item.value === field.value)\n }\n\n let getHumanValue = () => {\n let item = getActiveItem()\n\n return item ? item.title : ''\n }\n\n let handleReset = () => {\n let { onChangeField } = $self.getProps()\n\n onChangeField(COMMIT_RESET)\n }\n\n return {\n render: ({ field, _onChangeField }) => (\n cssScope('ListFilterChoices', h =>\n
\n
{field.title}
\n
{getHumanValue()}
\n
\n
\n )\n )\n }\n})\n","import { createVDOMComponent, cssScope } from 'core/services/VDOM';\n\nimport { COMMIT_RESET } from '../../../fields/Range';\n\nexport default createVDOMComponent($self => {\n let getHumanValue = () => {\n let { field } = $self.getProps();\n\n let min = field.minValue || field.min;\n let max = field.maxValue || field.max;\n\n return [min, max].join(' – ');\n }\n\n let handleReset = () => {\n let { onChangeField } = $self.getProps();\n\n onChangeField(COMMIT_RESET);\n }\n\n return {\n render: ({ field, _onChangeField }) => (\n cssScope('ListFilterChoices', h =>\n
\n
{field.title}
\n
{getHumanValue()}
\n
\n
\n )\n )\n }\n})\n","import { cssScope, createVDOMComponent } from 'core/services/VDOM';\n\nimport { COMMIT_RESET } from '../../../fields/Select';\n\nexport default createVDOMComponent($self => {\n let getActiveItem = () => {\n let { field } = $self.getProps();\n\n return field.collection.find(item => item.value === field.value);\n }\n\n let getHumanValue = () => {\n let { field } = $self.getProps();\n\n let item = getActiveItem(field);\n\n return item.title;\n }\n\n let handleReset = () => {\n let { onChangeField } = $self.getProps();\n\n onChangeField(COMMIT_RESET);\n }\n\n return {\n render: ({ field, _onChangeField }) => (\n cssScope('ListFilterChoices', h =>\n
\n
{field.title}
\n
{getHumanValue()}
\n
\n
\n )\n )\n }\n})\n","import { cssScope, createVDOMComponent } from 'core/services/VDOM';\n\nimport { COMMIT_RESET } from '../../../fields/Checkbox';\n\nexport default createVDOMComponent($self => {\n let handleReset = () => {\n let { onChangeField } = $self.getProps();\n\n onChangeField(COMMIT_RESET);\n }\n\n return {\n render: ({ field, _onChangeField }) => (\n cssScope('ListFilterChoices', h =>\n
\n
{field.title}
\n
\n
\n )\n )\n }\n})\n","import { cssScope, createVDOMComponent } from 'core/services/VDOM';\n\nimport { COMMIT_RESET } from '../../../fields/Checkboxes';\n\nexport default createVDOMComponent($self => {\n let getHumanValue = () => {\n let activeItems = getActiveItems();\n\n return activeItems\n .map(item => item.title)\n .join(', ');\n }\n\n let getActiveItems = () => {\n let { field } = $self.getProps();\n\n return field.collection.filter(item => field.values.includes(item.value));\n }\n\n let handleReset = () => {\n let { onChangeField } = $self.getProps();\n\n onChangeField(COMMIT_RESET)\n }\n\n return {\n render: ({ field, _onChangeField }) => (\n cssScope('ListFilterChoices', h =>\n
\n
{field.title}
\n
{getHumanValue()}
\n
\n
\n )\n )\n }\n})\n","import { createVDOMComponent, cssScope } from 'core/services/VDOM'\n\nimport { COMMIT_RESET_SINGLE } from '../../../fields/MultipleRange'\nimport { hasValue } from '../../../fields/Range'\n\nexport default createVDOMComponent($self => {\n let getHumanValue = range => {\n let min = range.minValue || range.min\n let max = range.maxValue || range.max\n\n return [min, max].join(' – ')\n }\n\n let handleReset = range => () => {\n let { onChangeField } = $self.getProps()\n\n onChangeField(COMMIT_RESET_SINGLE, { rangeName: range.name })\n }\n\n let getRanges = () => {\n let { field } = $self.getProps()\n\n return field.ranges.filter(range => hasValue(range))\n }\n\n return {\n render: ({ _field }) => (\n cssScope('ListFilterChoices', h => (\n \n {getRanges().map(range => (\n
\n
{range.title}
\n
{getHumanValue(range)}
\n
\n
\n ))}\n
\n ))\n )\n }\n})\n","import { createVDOMComponent, cssScope } from 'core/services/VDOM'\n\nimport { COMMIT_RESET_SINGLE } from '../../../fields/MultipleRange'\nimport { hasValue } from '../../../fields/Range'\n\nexport default createVDOMComponent($self => {\n let getHumanValue = range => {\n let min = range.minValue || range.min\n let max = range.maxValue || range.max\n\n return [min, max].join(' – ')\n }\n\n let handleReset = range => () => {\n let { onChangeField } = $self.getProps()\n\n onChangeField(COMMIT_RESET_SINGLE, { rangeName: range.name })\n }\n\n let getRanges = () => {\n let { field } = $self.getProps()\n\n return field.ranges.filter(range => hasValue(range))\n }\n\n return {\n render: ({ _field }) => (\n cssScope('ListFilterChoices', h => (\n \n {getRanges().map(range => (\n
\n
{range.title}
\n
{getHumanValue(range)}
\n
\n
\n ))}\n
\n ))\n )\n }\n})\n","import { createVDOMComponent, cssScope } from 'core/services/VDOM'\n\nimport { COMMIT_RESET } from '../../../fields/List'\n\nexport default createVDOMComponent($self => {\n let getActiveItem = () => {\n let { field } = $self.getProps()\n\n return field.collection.find(item => item.value === field.value)\n }\n\n let getHumanValue = () => {\n let item = getActiveItem()\n\n return item ? item.title : ''\n }\n\n let handleReset = () => {\n let { onChangeField } = $self.getProps()\n\n onChangeField(COMMIT_RESET)\n }\n\n return {\n render: ({ field, _onChangeField }) => (\n cssScope('ListFilterChoices', h =>\n
\n
{field.title}
\n
{getHumanValue()}
\n
\n
\n )\n )\n }\n})\n","import List from './List'\nimport Range from './Range'\nimport Select from './Select'\nimport Checkbox from './Checkbox'\nimport Checkboxes from './Checkboxes'\nimport MultipleRange from './MultipleRange'\nimport QuickFilterSize from './QuickFilterSize'\nimport QuickFilterColors from './QuickFilterColors'\n\nconst FIELD_MAP = {\n List,\n InlineList: List,\n Range,\n Colors: Checkboxes,\n Select,\n Checkbox,\n Checkboxes,\n MultipleRange,\n QuickFilterSize,\n QuickFilterColors\n}\n\nexport let getFieldComponent = field => {\n return FIELD_MAP[field.type]\n}\n","import { h } from 'core/services/VDOM'\n\nimport { getFieldComponent } from './fields'\n\nfunction Field({\n field,\n onChangeField,\n}) {\n let Component = getFieldComponent(field)\n\n return \n}\n\nexport default Field\n","import { Component, createRef } from 'preact'\nimport { createScope } from 'core/services/VDOM'\nimport htmlClassNames from 'core/utils/htmlClassNames'\nimport { calcLastShowingElIndex } from 'core/utils/calcLastShowingElIndex'\nimport Field from './Field'\n\nconst h = createScope('ListFilterChoices')\n\nexport class FieldsList extends Component {\n rootRef = createRef()\n resetRef = createRef()\n showMoreRef = createRef()\n state = {\n lastShowingIndex: this.fields.length - 1,\n shouldShowMore: false,\n shouldShowMoreControl: false\n }\n \n get fields() {\n return this.props.fields.filter(([filterName, field]) => {\n if (!field.collection) return true\n const matches = field.collection.filter(item => {\n if (field.value) {\n return item.value === field.value\n } else if (field.values) {\n return field.values.includes(item.value)\n }\n return true\n })\n return matches.length > 0\n })\n }\n\n get filteredFields() {\n const { lastShowingIndex, shouldShowMore } = this.state\n\n if (lastShowingIndex === null || shouldShowMore) return this.fields\n\n return this.fields.filter((_, index) => index <= lastShowingIndex)\n }\n\n recalcShowingEls() {\n if (this.state.shouldShowMore) return\n\n // We have to show all elements before calculating\n this.setState({ lastShowingIndex: null }, () => {\n // We have to wait updating of the real DOM to get real sizes\n requestAnimationFrame(() => {\n const lastShowingIndex = calcLastShowingElIndex(\n this.rootRef,\n [...this.rootRef.children],\n [this.resetRef, this.showMoreRef],\n [this.showMoreRef]\n )\n\n this.setState({\n lastShowingIndex,\n shouldShowMoreControl: lastShowingIndex !== null && lastShowingIndex !== this.fields.length - 1\n })\n })\n })\n }\n\n componentDidMount() {\n this.recalcShowingEls()\n }\n\n componentDidUpdate(prevProps) {\n if (JSON.stringify(this.props.fields) !== JSON.stringify(prevProps.fields)) {\n this.recalcShowingEls()\n }\n }\n\n onChangeField = (filterName, field) => (commitFn, payload) => {\n this.props.onChangeField(commitFn, filterName, field, payload)\n }\n\n handleShowMore = () => {\n this.setState({\n lastShowingIndex: null,\n shouldShowMore: true,\n shouldShowMoreControl: false\n })\n }\n\n render() {\n const { shouldShowMoreControl } = this.state\n const { onResetFields } = this.props\n\n return (\n
this.rootRef = el}>\n {this.filteredFields.length > 0 && (\n this.resetRef = el}\n onClick={onResetFields}\n />\n )}\n\n {this.filteredFields.map(([filterName, field]) =>\n \n )}\n\n this.showMoreRef = el}\n onClick={this.handleShowMore}\n >\n
\n \n
\n )\n }\n}\n","import { resetField } from './fields';\nexport function COMMIT_SET_FILTERS(state, filters) {\n return { ...state, filters };\n}\nexport function COMMIT_CHANGE_FILTER(state, filter, fields) {\n return { ...state, filters: { ...state.filters, [filter]: fields } };\n}\nexport function COMMIT_CHANGE_COUNT_URL(state, loadCountUrl) {\n return { ...state, loadCountUrl };\n}\nexport function COMMIT_CHANGE_SYNC_FIELDS(state, triggerFilter, fieldKey, payload) {\n const filters = { ...state.filters };\n Object.entries(filters).forEach(([filter, fields]) => {\n if (filter !== triggerFilter) {\n filters[filter] = fields.map(field => {\n if (field.key !== fieldKey)\n return field;\n return { ...field, ...payload };\n });\n }\n });\n return COMMIT_SET_FILTERS(state, filters);\n}\nexport function COMMIT_RESET(state) {\n const { filters: previousFilters } = state;\n const updatedFilters = Object.keys(previousFilters).reduce((filters, filterKey) => {\n filters[filterKey] = previousFilters[filterKey].map(resetField);\n return filters;\n }, {});\n return {\n ...state,\n filters: updatedFilters\n };\n}\n","/*\n @TODO\n Возможно стоит выделить работу со snapshots в какую-то отдельную сущность\n*/\nexport default function hasChanges(state) {\n return state.fieldsSnapshot !== JSON.stringify(state.fields);\n}\n","export function COMMIT_SET_COUNT(state, payload) {\n return { ...state, ...payload };\n}\n","export function COMMIT_OPEN_FIELD(state, { field: { name } }) {\n return { ...state, openedFieldName: name };\n}\n","export function COMMIT_CLOSE_FIELDS(state) {\n return { ...state, openedFieldName: null };\n}\n","export function COMMIT_SET_FIELDS(state, fields) {\n return { ...state,\n fieldsSnapshot: JSON.stringify(fields),\n fields\n };\n}\n","import { compose } from 'core/utils/compose';\nimport { resetField } from '../../../fields';\nexport function COMMIT_RESET_FIELD(state, { fieldKey }) {\n return {\n ...state,\n fields: state.fields.map((field) => field.key === fieldKey ? resetField(field) : field)\n };\n}\nfunction COMMIT_RESET_FIELDS(state) {\n return {\n ...state,\n fields: state.fields.map(resetField)\n };\n}\nexport function COMMIT_RESET_CHANGED_FIELD_LIST(state) {\n return { ...state, changedFieldList: [] };\n}\nexport function COMMIT_RESET(state) {\n return compose(COMMIT_RESET_FIELDS, COMMIT_RESET_CHANGED_FIELD_LIST)(state);\n}\n","export function compose(fn1, ...fns) {\n return fns.reduce((prevFn, nextFn) => value => prevFn(nextFn(value)), fn1);\n}\nexport default compose;\n","import { createVDOMRenderer, cssScope } from 'core/services/VDOM';\nimport Store from 'core/services/Store';\nimport cond from 'core/utils/cond';\nimport hasChanges from '../common/utils/hasChanges';\nimport { dispatchChangeEvent } from '..';\nimport { COMMIT_SET_COUNT } from './commits/setCount';\nimport { COMMIT_OPEN_FIELD } from './commits/openField';\nimport { COMMIT_CLOSE_FIELDS } from './commits/closeFields';\nimport { COMMIT_SET_FIELDS } from '../common/commits/setFields';\nimport { COMMIT_CHANGE_FIELD } from '../common/commits/changeField';\nimport { COMMIT_RESET_CHANGED_FIELD_LIST, COMMIT_RESET_FIELD } from '../common/commits/reset';\nimport Field from '../common/components/Field';\nconst OPEN_DROP_CLASS = '__openDrops';\nconst MOBILE_MARGIN = 20;\nfunction scrollDelay(ms) {\n return new Promise((res) => setTimeout(res, ms));\n}\nexport function InlineFilter($el, { props: { size = 'small' } = {}, callbacks: { CALLBACK_FIELD_CHANGE = (_fields) => { }, CALLBACK_CHANGE = (_fields) => { }, CALLBACK_SYNC_FIELD = (_key, _payload) => { } } }) {\n let store = Store({\n props: {\n initialState: {\n fields: [],\n fieldsSnapshot: null,\n openedFieldName: null,\n changedFieldList: [],\n appliedFilters: 0,\n count: null\n }\n },\n callbacks: {\n CALLBACK_AFTER_COMMIT: (state, commitFn, commitPayload) => {\n if (commitFn === COMMIT_RESET_CHANGED_FIELD_LIST)\n return;\n renderer.render(state);\n cond((_when) => commitFn === COMMIT_CLOSE_FIELDS, (_to) => {\n dispatchChangeEvent($el, store.getState());\n store.commit(COMMIT_RESET_CHANGED_FIELD_LIST);\n $el[0].classList.remove(OPEN_DROP_CLASS);\n if (hasChanges(state)) {\n CALLBACK_CHANGE(getFields());\n }\n }, (_when) => commitFn === COMMIT_OPEN_FIELD, (_to) => {\n $el[0].classList.add(OPEN_DROP_CLASS);\n }, (_when) => commitFn === COMMIT_CHANGE_FIELD, (_to) => {\n const [{ field: { key } }] = commitPayload;\n const fields = getFields();\n const updatedField = fields.find((field) => field.key === key);\n if (updatedField)\n CALLBACK_SYNC_FIELD(key, updatedField);\n CALLBACK_FIELD_CHANGE(fields);\n }, (_when) => commitFn === COMMIT_RESET_FIELD, (_to) => {\n const [{ fieldKey }] = commitPayload;\n const fields = getFields();\n const updatedField = fields.find((field) => field.key === fieldKey);\n if (updatedField)\n CALLBACK_SYNC_FIELD(fieldKey, updatedField);\n });\n }\n }\n });\n const onChangeField = (field) => (commitFn, payload) => {\n store.commit(COMMIT_CHANGE_FIELD, { field, commitFn, payload });\n };\n const handleScrollInToView = async (el) => {\n if (!(el && Env.version === 'mobile'))\n return;\n const toggleEl = el.closest('.s-ListFilter_b-Section_toggle');\n const scrollContainer = el.closest('.b-Filter_content');\n if (!(toggleEl && scrollContainer))\n return;\n const { width, left } = toggleEl.getBoundingClientRect();\n const { width: containerWidth } = scrollContainer.getBoundingClientRect();\n let diff = width + MOBILE_MARGIN - (containerWidth - left);\n const step = 10;\n const mod = diff > 0 ? 1 : -1;\n do {\n const stepDiff = diff * mod < step ? diff : step * mod;\n scrollContainer.scrollTo({ top: 0, left: scrollContainer.scrollLeft + stepDiff });\n diff -= stepDiff;\n await scrollDelay(5);\n } while (diff !== 0);\n };\n const handleApply = () => {\n store.commit(COMMIT_CLOSE_FIELDS);\n };\n const onToggleField = (field) => (e) => {\n if (isFieldOpened(field)) {\n store.commit(COMMIT_CLOSE_FIELDS);\n return;\n }\n handleScrollInToView(e.target);\n store.commit(COMMIT_OPEN_FIELD, { field });\n };\n const hasOpenedField = () => {\n const { openedFieldName } = store.getState();\n return !!openedFieldName;\n };\n const onOverlay = (e) => {\n const target = e.target;\n if ((!$.contains($el[0], target) || target.classList.contains('s-ListFilter')) &&\n hasOpenedField()) {\n store.commit(COMMIT_CLOSE_FIELDS);\n e.preventDefault();\n e.stopPropagation();\n }\n };\n const isFieldOpened = (field) => {\n const { openedFieldName } = store.getState();\n return openedFieldName === field.name;\n };\n const setFields = (fields) => {\n store.commit(COMMIT_SET_FIELDS, fields);\n };\n const getFields = () => {\n return store.getState().fields;\n };\n const setCount = (count, appliedFilters) => {\n store.commit(COMMIT_SET_COUNT, { count, appliedFilters });\n };\n const renderer = createVDOMRenderer($el[0], (state) => {\n return cssScope('ListFilter', (h) => {\n var _a;\n return (h(\"div\", { class: `ScopeRoot __inline __size_${size}` }, (_a = state.fields) === null || _a === void 0 ? void 0 : _a.map((field) => (h(Field, { field: field, onApply: handleApply, isOpened: isFieldOpened(field), onToggleField: onToggleField(field), onChangeField: onChangeField(field), isInline: true })))));\n });\n });\n return {\n setFields,\n getFields,\n setCount,\n connect: () => {\n // @TODO переделать на overlay service\n document.addEventListener('click', onOverlay, true);\n },\n disconnect: () => {\n renderer.destroy();\n document.removeEventListener('click', onOverlay, true);\n store = null;\n }\n };\n}\n","import { COMMIT_SET_FIELDS } from '../../common/commits/setFields';\nimport { COMMIT_INIT_TOGGLE_FIELDS } from './toggleField';\nexport function COMMIT_MODAL_SET_FIELDS(state, fields) {\n return COMMIT_INIT_TOGGLE_FIELDS(COMMIT_SET_FIELDS(state, fields), fields);\n}\n","export function COMMIT_OPEN_MODAL(state) {\n return { ...state, isModalOpened: true };\n}\n","export function COMMIT_SET_COUNT(state, payload) {\n return { ...state, ...payload };\n}\n","export function COMMIT_APPLY(state) {\n return {\n ...state,\n count: null,\n isCounterVisible: false,\n lastAppliedField: null\n };\n}\nexport function COMMIT_MOBILE_APPLY(state) {\n return COMMIT_APPLY(state);\n}\n","export function COMMIT_CLOSE_MODAL(state) {\n return {\n ...state,\n count: null,\n openedFieldNames: {},\n isCounterVisible: false,\n lastAppliedField: null,\n isModalOpened: false\n };\n}\n","import { createVDOMRenderer, cssScope } from 'core/services/VDOM';\nimport Store from 'core/services/Store';\nimport cond from 'core/utils/cond';\nimport htmlClassNames from 'core/utils/htmlClassNames';\nimport { asyncComponent } from 'core/components/Hoc/asyncComponent';\nimport { loadComponentsStyles } from 'core/utils/asyncLoadAssets';\nimport hasChanges from '../common/utils/hasChanges';\nimport { dispatchChangeEvent } from '..';\nimport { COMMIT_MODAL_SET_FIELDS } from './commits/setFields';\nimport { COMMIT_CHANGE_FIELD } from '../common/commits/changeField';\nimport { COMMIT_RESET, COMMIT_RESET_CHANGED_FIELD_LIST } from '../common/commits/reset';\nimport { COMMIT_OPEN_MODAL } from './commits/openModal';\nimport { COMMIT_SET_COUNT } from './commits/setCount';\nimport { COMMIT_APPLY, COMMIT_MOBILE_APPLY } from './commits/apply';\nimport { COMMIT_CLOSE_MODAL } from './commits/closeModal';\nexport function ModalFilter($el, { props: { isModalOpened = false }, callbacks: { CALLBACK_FIELD_CHANGE = () => { }, CALLBACK_CHANGE = () => { }, CALLBACK_SYNC_FIELD = () => { } } }) {\n const containerElement = document.querySelector('[data-el=\"ProductList/featuresFilter\"]');\n let store = Store({\n props: {\n initialState: {\n fields: [],\n isModalOpened,\n fieldsSnapshot: null,\n openedFieldNames: {},\n changedFieldList: [],\n isCounterVisible: false,\n lastAppliedField: null,\n appliedFilters: 0,\n count: null\n }\n },\n callbacks: {\n CALLBACK_AFTER_COMMIT: (state, commitFn, commitPayload) => {\n if (commitFn === COMMIT_RESET_CHANGED_FIELD_LIST)\n return;\n renderer.render(state);\n cond((_when) => commitFn === COMMIT_OPEN_MODAL, (_to) => {\n containerElement\n ? containerElement.classList.add('__opened') //desktop\n : document.body.classList.add('has-modal-open'); //mobile\n }, (_when) => commitFn === COMMIT_CHANGE_FIELD, (_to) => {\n const [{ field: { key } }] = commitPayload;\n const fields = getFields();\n const updatedField = fields.find((field) => field.key === key);\n if (updatedField)\n CALLBACK_SYNC_FIELD(key, updatedField);\n CALLBACK_FIELD_CHANGE(fields);\n }, (_when) => commitFn === COMMIT_CLOSE_MODAL, (_to) => {\n containerElement\n ? containerElement.classList.remove('__opened') //desktop\n : document.body.classList.remove('has-modal-open'); //mobile\n }, (_when) => commitFn === COMMIT_APPLY || commitFn === COMMIT_MOBILE_APPLY, (_to) => {\n if (hasChanges(state)) {\n dispatchChangeEvent($el, state);\n store.commit(COMMIT_RESET_CHANGED_FIELD_LIST);\n CALLBACK_CHANGE(getFields());\n }\n });\n }\n }\n });\n const setIsModalOpened = (isOpened) => {\n if (store.getState().isModalOpened !== isOpened) {\n store.commit(isOpened ? COMMIT_OPEN_MODAL : COMMIT_CLOSE_MODAL);\n }\n };\n let AsyncModal;\n const handleOpen = async () => {\n // Disable old mobile filter component\n await loadComponentsStyles('ListFilterModal');\n AsyncModal = await asyncComponent(() => import(/* webpackChunkName: \"site_c-ListFilterModal\" */ './components/Modal'));\n store.commit(COMMIT_OPEN_MODAL);\n };\n const handleClose = () => {\n store.commit(COMMIT_CLOSE_MODAL);\n };\n const handleToggle = () => {\n const { isModalOpened } = store.getState();\n isModalOpened ? handleClose() : handleOpen();\n };\n const handleReset = () => {\n store.commit(COMMIT_RESET);\n };\n const handleApply = () => {\n store.commit(COMMIT_APPLY);\n };\n const handleApplyMobile = () => {\n store.commit(COMMIT_CLOSE_MODAL);\n store.commit(COMMIT_MOBILE_APPLY);\n };\n const setFields = (fields) => {\n var _a, _b;\n if (!((_b = (_a = Env === null || Env === void 0 ? void 0 : Env.user) === null || _a === void 0 ? void 0 : _a.ability) === null || _b === void 0 ? void 0 : _b.showDesignerFilters)) {\n fields = fields.filter((field) => field.key !== 'has_model_archive');\n store.commit(COMMIT_MODAL_SET_FIELDS, fields);\n }\n else {\n store.commit(COMMIT_MODAL_SET_FIELDS, fields);\n }\n };\n const getFields = () => {\n return store.getState().fields;\n };\n const setCount = (count, appliedFilters) => {\n store.commit(COMMIT_SET_COUNT, { count, appliedFilters });\n };\n const buttonOpenClasses = (active) => {\n const classNames = htmlClassNames('sb-flat-Open', false && '__active');\n const filterEvent = new CustomEvent('filterToggle', {\n detail: { isOpen: active }\n });\n document.dispatchEvent(filterEvent);\n return classNames;\n };\n const renderer = createVDOMRenderer($el[0], (state) => {\n return cssScope('ListFilter', (h) => (h(\"div\", { class: 'ScopeRoot __inline' },\n h(\"div\", { class: buttonOpenClasses(state.isModalOpened), onClick: handleToggle, \"data-filters\": state.appliedFilters }, \"\\u0424\\u0438\\u043B\\u044C\\u0442\\u0440\"),\n state.isModalOpened && (h(AsyncModal, { store: store, state: state, onReset: handleReset, onApply: handleApply, onMobileApply: handleApplyMobile, onClose: handleClose })))));\n });\n const handleModalToggle = (event) => {\n const { isOpen } = event.detail;\n setIsModalOpened(isOpen);\n };\n return {\n setFields,\n getFields,\n setCount,\n connect() {\n if (Env.version === 'desktop' && isModalOpened)\n handleOpen();\n $(document).on('FloatActions:showFilter', handleOpen);\n document.addEventListener('ModalToggleEvent', handleModalToggle);\n },\n disconnect() {\n document.removeEventListener('ModalToggleEvent', handleModalToggle);\n $(document).off('FloatActions:showFilter');\n renderer.destroy();\n store = null;\n }\n };\n}\n","import { hasFieldValue } from '../../../fields';\nconst ALWAYS_VISIBLE_FIELDS = ['MultipleRange'];\nconst getFieldWidth = (field) => {\n /*\n x=9 y=210\n x=4 y=150\n */\n return (60 * field.title.length + 510) / 5;\n};\nconst isFieldVisible = (field) => {\n return ALWAYS_VISIBLE_FIELDS.includes(field.type) || !hasFieldValue(field);\n};\nexport default function getInlineFields(fields, { availableWidth }) {\n return fields\n .filter(field => isFieldVisible(field))\n .map(field => [getFieldWidth(field), field])\n .reduce(({ result, totalWidth }, [fieldWidth, field]) => {\n if (totalWidth + fieldWidth < availableWidth) {\n result.push(field);\n }\n return { result, totalWidth: totalWidth + fieldWidth };\n }, { result: [], totalWidth: 0 })\n .result;\n}\n","import orderBy from 'core/utils/array/orderBy';\nexport function COMMIT_MERGE_FIELDS(state, fields) {\n let fieldsByName = orderBy(fields, 'name');\n return { ...state,\n fields: state.fields.map(field => {\n return field.name in fieldsByName\n ? { ...field, ...fieldsByName[field.name] }\n : { ...field };\n })\n };\n}\n","export default function (items, key) {\n return items.reduce((resultItems, item) => {\n return { ...resultItems,\n [item[key]]: item\n };\n }, {});\n}\n","import { InlineFilter } from './InlineFilter';\nimport { ModalFilter } from './ModalFilter';\nimport { MainFilter } from './MainFilter';\nconst FILTER_MODULE_MAP = {\n InlineFilter,\n ModalFilter,\n MainFilter\n};\nexport const getFilterModule = (moduleName) => {\n return FILTER_MODULE_MAP[moduleName];\n};\nexport function dispatchChangeEvent($el, payload) {\n $el.trigger('Filter:changed', payload);\n}\nexport { InlineFilter, ModalFilter, MainFilter };\n","import Store from 'core/services/Store';\nimport throttle from 'core/utils/throttle';\nimport getInlineFields from './utils/getInlineFields';\nimport { COMMIT_SET_FIELDS } from '../common/commits/setFields';\nimport { COMMIT_MERGE_FIELDS } from './commits/mergeFields';\nimport { ModalFilter, InlineFilter } from '../../filters';\nexport function MainFilter($el, { props, callbacks: { CALLBACK_CHANGE = () => { }, CALLBACK_FIELD_CHANGE = () => { } } }) {\n let store = Store({\n props: {\n initialState: {\n fields: [],\n fieldsSnapshot: null\n }\n },\n callbacks: {\n CALLBACK_AFTER_COMMIT: (_state, commitFn) => {\n render();\n if (commitFn === COMMIT_MERGE_FIELDS) {\n CALLBACK_CHANGE(getFields());\n }\n }\n }\n });\n let inlineFilter = InlineFilter($el, {\n props: {\n size: 'big'\n },\n callbacks: {\n CALLBACK_CHANGE(fields) {\n handleChangeFilter(fields);\n }\n }\n });\n let modalFilter = ModalFilter($el, {\n props,\n callbacks: {\n CALLBACK_FIELD_CHANGE,\n CALLBACK_CHANGE(fields) {\n handleChangeFilter(fields);\n }\n }\n });\n const handleChangeFilter = (fields) => {\n store.commit(COMMIT_MERGE_FIELDS, fields);\n };\n const handleResize = throttle(800, () => {\n render();\n });\n const render = () => requestAnimationFrame(() => {\n const allFields = getFields();\n const inlineFields = getInlineFields(allFields, {\n availableWidth: $el.width() - 208 // all params width\n });\n inlineFilter.setFields(inlineFields);\n modalFilter.setFields(allFields);\n });\n const setFields = (fields) => {\n store.commit(COMMIT_SET_FIELDS, fields);\n };\n const getFields = () => {\n return store.getState().fields;\n };\n const setCount = (count, appliedFilters) => {\n inlineFilter.setCount(count, appliedFilters);\n modalFilter.setCount(count, appliedFilters);\n };\n return {\n setFields,\n getFields,\n setCount,\n connect: () => {\n window.addEventListener('resize', handleResize);\n inlineFilter.connect();\n modalFilter.connect();\n },\n disconnect: () => {\n inlineFilter = (inlineFilter === null || inlineFilter === void 0 ? void 0 : inlineFilter.disconnect(), null);\n modalFilter = (modalFilter === null || modalFilter === void 0 ? void 0 : modalFilter.disconnect(), null);\n store = null;\n window.removeEventListener('resize', handleResize);\n }\n };\n}\n","import Store from 'core/services/Store';\nimport { Http } from 'core/services/HttpClient';\n//@ts-ignore\nimport ChoiceList from './ChoiceList';\nimport { COMMIT_CHANGE_FILTER, COMMIT_SET_FILTERS, COMMIT_CHANGE_COUNT_URL, COMMIT_CHANGE_SYNC_FIELDS, COMMIT_RESET } from './commits';\nimport { getFilterModule } from './filters';\nimport { hasFieldValue, serializeField } from './fields';\nimport { FILTER_PLUGIN_SYNC_EVENT } from '../../lists/ProductList/constants';\n// import { loadComponentsStyles } from 'core/utils/asyncLoadAssets'\nimport { V1 } from './filters/ModalFilter/components/Modal';\nimport { loadComponentsStyles } from 'core/utils/asyncLoadAssets';\n/**\n * @TODO write plugin description\n */\nexport default function FiltersPlugin(config) {\n return ({ deps: { mediator } }) => {\n let filterInstances;\n let choiceListInstance;\n const store = Store({\n props: {\n initialState: {\n filters: {},\n loadCountUrl: ''\n }\n },\n callbacks: {\n async CALLBACK_AFTER_COMMIT(state, commitFn, commitPayload) {\n if (V1 && config.loadCountUrl && commitFn === COMMIT_CHANGE_FILTER) {\n const filters = serializeFilters(state.filters);\n const { data: { data: { count } } } = await Http.get(state.loadCountUrl, {\n params: { format: 'json', ...filters }\n });\n sendItemsCount(count);\n handleUpdateCount(count, Object.keys(filters).length);\n }\n if (commitFn === COMMIT_CHANGE_SYNC_FIELDS) {\n const [filterName] = commitPayload;\n Object.entries(filterInstances).forEach(([name, instance]) => {\n if (filterName !== name) {\n const fields = state.filters[name];\n instance.setFields(fields);\n mediator.dispatch(FILTER_PLUGIN_SYNC_EVENT, name, fields);\n }\n });\n }\n if (commitFn === COMMIT_RESET) {\n const { filters } = state;\n updateFilters(filters);\n mediator.dispatch('FiltersPlugin ~> changed', filters);\n }\n }\n }\n });\n const connectFilters = (filters) => {\n filterInstances = filters\n .map(({ name, moduleName, $slot }) => {\n const instance = createFilter({ name, moduleName, $slot });\n instance.connect();\n return [name, instance];\n })\n .reduce((instances, [name, instance]) => ({ ...instances, [name]: instance }), {});\n };\n const createFilter = ({ name, moduleName, $slot }) => {\n return getFilterModule(moduleName)($slot, {\n props: {\n isModalOpened: config.isModalOpened\n },\n callbacks: {\n CALLBACK_FIELD_CHANGE(fields) {\n store.commit(COMMIT_CHANGE_FILTER, name, fields);\n },\n CALLBACK_CHANGE(fields) {\n store.commit(COMMIT_CHANGE_FILTER, name, fields);\n mediator.dispatch('FiltersPlugin ~> changed', { [name]: fields });\n },\n CALLBACK_SYNC_FIELD(key, field) {\n var _a;\n if ((_a = config.syncFields) === null || _a === void 0 ? void 0 : _a.includes(key)) {\n const { type, ...fieldPayload } = field;\n store.commit(COMMIT_CHANGE_SYNC_FIELDS, name, key, fieldPayload);\n }\n }\n }\n });\n };\n const updateFilters = (filters) => {\n Object.entries(filterInstances).forEach(([name, instance]) => {\n instance.setFields(filters[name]);\n });\n if (choiceListInstance)\n choiceListInstance.setFilters(filters);\n };\n const connectChoiceList = (filters, { slotEl }) => {\n loadComponentsStyles('ListFilterChoices');\n const filterNames = filters\n .filter(({ collectChoices }) => collectChoices)\n .map(({ name }) => name);\n // The `ChoiceList` widget has to import sync because `choiceListInstance` has to exist before initial updating of the filter\n // Async/await brokes that flow\n choiceListInstance = ChoiceList(slotEl, {\n props: {\n filterNames,\n syncFields: config.syncFields\n },\n callbacks: {\n CALLBACK_CHANGE(filters) {\n mediator.dispatch('FiltersPlugin ~> changed', filters);\n },\n CALLBACK_RESET() {\n handleUpdateCount(null, 0);\n }\n }\n });\n };\n const handleUpdateCount = (count, appliedFilters) => {\n Object.entries(filterInstances).forEach(([_name, instance]) => {\n var _a;\n (_a = instance.setCount) === null || _a === void 0 ? void 0 : _a.call(instance, count, appliedFilters);\n });\n };\n const handleUpdateUrl = (url) => {\n store.commit(COMMIT_CHANGE_COUNT_URL, url);\n };\n const sendItemsCount = (itemsQuantity) => {\n const event = new CustomEvent('updatedFilteredItemsCount', { detail: itemsQuantity });\n document.dispatchEvent(event);\n };\n const handleUpdate = (filters) => {\n store.commit(COMMIT_SET_FILTERS, filters);\n const event = new CustomEvent('updatedFiltersData', {\n detail: { store: store.getState(), serializeFilters }\n });\n document.dispatchEvent(event);\n updateFilters(filters);\n };\n const handleFilterChange = (event) => {\n mediator.dispatch('FiltersPlugin ~> changed', event.detail);\n };\n return {\n connect() {\n connectFilters(config.filters);\n if (config.choiceList) {\n connectChoiceList(config.filters, config.choiceList);\n }\n mediator.subscribe('FiltersPlugin <~ update', handleUpdate);\n mediator.subscribe('FiltersPlugin <~ updateUrl', handleUpdateUrl);\n document.addEventListener('filterChangeEvent', handleFilterChange);\n },\n disconnect() {\n mediator.unsubscribe('FiltersPlugin <~ update', handleUpdate);\n mediator.unsubscribe('FiltersPlugin <~ updateUrl', handleUpdateUrl);\n document.removeEventListener('filterChangeEvent', handleFilterChange);\n }\n };\n };\n}\nexport const serializeFilters = (filters) => {\n const fields = Object.values(filters).flat();\n return fields\n .filter((field) => hasFieldValue(field))\n .reduce((fields, field) => ({ ...fields, ...serializeField(field) }), {});\n};\n","import { cssScope, createVDOMRenderer } from 'core/services/VDOM'\nimport Store from 'core/services/Store'\n\nimport cond from 'core/utils/cond'\n\nimport COMMIT_SET_FILTERS from './commits/setFilters'\nimport COMMIT_RESET_FIELDS from './commits/resetFields'\nimport COMMIT_CHANGE_FIELD, { COMMIT_CHANGE_SYNC_FIELD } from './commits/changeField'\n\nimport { FieldsList } from './components/FieldsList'\n\nimport { hasFieldValue } from '../fields'\n\nexport default function ChoiceList(el, {\n props: {\n filterNames = [],\n syncFields = []\n },\n\n callbacks: {\n CALLBACK_CHANGE = () => {},\n CALLBACK_RESET = () => {}\n }\n}) {\n let store = Store({\n props: {\n initialState: {\n filters: {}\n }\n },\n\n callbacks: {\n CALLBACK_AFTER_COMMIT: (state, commitFn) => {\n renderer.render(state)\n\n cond(\n when => commitFn === COMMIT_CHANGE_FIELD,\n to => CALLBACK_CHANGE(getFilters()),\n\n when => commitFn === COMMIT_CHANGE_SYNC_FIELD,\n to => CALLBACK_CHANGE(getFilters()),\n\n when => commitFn === COMMIT_RESET_FIELDS,\n to => {\n CALLBACK_CHANGE(getFilters())\n CALLBACK_RESET()\n }\n )\n }\n }\n })\n\n let setFilters = filters => {\n store.commit(COMMIT_SET_FILTERS, filters)\n }\n\n let getFilters = () => {\n return store.getState().filters\n }\n\n let onChangeField = (commitFn, filterName, field, payload) => {\n if (syncFields && syncFields.includes(field.key)) {\n return store.commit(COMMIT_CHANGE_SYNC_FIELD, { field, commitFn, payload })\n } else {\n store.commit(COMMIT_CHANGE_FIELD, { filterName, field, commitFn, payload })\n }\n }\n\n let onResetFields = () => {\n store.commit(COMMIT_RESET_FIELDS)\n }\n\n let getFields = state => {\n return Object.entries(state.filters)\n .filter(([filterName, _fields]) =>\n filterNames.includes(filterName)\n )\n .map(([filterName, fields]) =>\n fields.map(field => [filterName, field])\n )\n .reduce((fields, filterFields) =>\n [...fields, ...filterFields]\n , [])\n .filter(([_filterName, field]) =>\n hasFieldValue(field)\n )\n // Can't be used with the filter by an empty value because first an existing value can be empty\n .filter(([, field], index, list) =>\n list.findIndex(([, findingField]) => findingField.key === field.key) === index\n )\n }\n\n let renderer = createVDOMRenderer(el, state => {\n let fields = getFields(state)\n\n if (fields.length <= 0) return null\n\n return cssScope('ListFilterChoices', h =>\n \n )\n })\n\n return { setFilters }\n}\n","// @TODO надо будет пересмотреть данное решение\nimport * as Range from './Range';\nexport const COMMIT_CHANGE = (field, { rangeName, rangeValues }) => {\n return {\n ...field,\n ranges: field.ranges.map(range => range.name === rangeName\n ? Range.COMMIT_CHANGE(range, rangeValues)\n : range)\n };\n};\nexport const COMMIT_RESET = (field) => {\n return {\n ...field,\n ranges: field.ranges.map(range => Range.COMMIT_RESET(range))\n };\n};\nexport const COMMIT_RESET_SINGLE = (field, { rangeName }) => {\n return {\n ...field,\n ranges: field.ranges.map(range => range.name === rangeName\n ? Range.COMMIT_RESET(range)\n : range)\n };\n};\nexport const hasValue = (field) => {\n return field.ranges.some(range => Range.hasValue(range));\n};\nexport const serialize = (field) => {\n return field.ranges\n .filter(range => Range.hasValue(range))\n .reduce((ranges, range) => ({ ...ranges, ...Range.serialize(range) }), {});\n};\n","import { h } from 'preact';\nimport { getFieldComponent } from './fields';\nexport default function Field({ field, onFieldClick = () => { }, ...props }) {\n const Component = getFieldComponent(field);\n return (h(Component, { field: field, onFieldClick: onFieldClick, ...props }));\n}\nexport function withClickChangeEvent(Component) {\n return ({ field, onChangeField, onFieldClick = () => { }, ...props }) => {\n let fieldElement;\n let parentElement;\n const handleClick = (element) => fieldElement = element;\n // type described in IFieldProps['onChangeField']; can't use Parameters type because function if generic\n const handleChangeField = (...args) => {\n const [commitFn, payload] = args;\n onChangeField(commitFn, {\n ...payload,\n lastAppliedField: {\n field: fieldElement,\n parent: parentElement\n }\n });\n };\n const handleRef = (el) => { parentElement = el; };\n return (h(Component, { field: field, onFieldClick: handleClick, onChangeField: handleChangeField, onRef: handleRef, ...props }));\n };\n}\n","// *TODO: надо это все переписать на классы | Created at: 12.Nov.2019\nimport * as List from './List';\nimport * as Range from './Range';\nimport * as Select from './Select';\nimport * as Color from './Color';\nimport * as Colors from './Colors';\nimport * as Segment from './Segment';\nimport * as TextLine from './TextLine';\nimport * as Checkbox from './Checkbox';\nimport * as Checkboxes from './Checkboxes';\nimport * as MultipleRange from './MultipleRange';\nimport * as QuickFilterSize from './QuickFilterSize';\nimport * as QuickFilterColors from './QuickFilterColors';\nconst FIELD_MAP = {\n List,\n InlineList: List,\n Range,\n Select,\n Color,\n Colors,\n Segment,\n TextLine,\n Checkbox,\n Checkboxes,\n MultipleRange,\n QuickFilterSize,\n QuickFilterColors\n};\nexport const getFieldSpec = (field) => {\n return FIELD_MAP[field.type];\n};\nexport const hasFieldValue = (field) => {\n const { hasValue } = getFieldSpec(field);\n return hasValue(field);\n};\nexport const serializeField = (field) => {\n const { serialize } = getFieldSpec(field);\n return serialize(field);\n};\nexport const resetField = (field, payload) => {\n const { COMMIT_RESET } = getFieldSpec(field);\n return COMMIT_RESET(field, payload);\n};\n","export const COMMIT_TOGGLE_ITEM = (field, { item }) => {\n return { ...field, value: item.value };\n};\nexport const COMMIT_RESET = (field) => {\n return { ...field, value: null };\n};\nexport const hasValue = (field) => {\n return !!field.value;\n};\nexport const serialize = (field) => {\n return {\n [field.name]: field.value\n };\n};\n"],"names":["FILTER_PLUGIN_SYNC_EVENT","Button","_ref","onClick","text","badge","className","classes","htmlClassNames","h","type","COMMIT_CHANGE","field","item","_objectSpread","value","hasValue","serialize","_defineProperty","name","eventEmitter","EventEmitter","subscribe","eventName","callback","on","dispatch","_len","arguments","length","args","Array","_key","setImmediate","console","log","emit","apply","concat","unsubscribe","off","createList","Dispatcher","loadUrl","plugins","initialState","_ref$callbacks","callbacks","onScrollToTop","onBeforeLoad","onAfterLoad","mediator","PluginsMediator","dispatcher","deps","pluginInstances","filter","Boolean","map","plugin","connect","forEach","disconnect","COMMIT_RESET","minValue","maxValue","Loader","load","_ref2","_regeneratorRuntime","_callee","params","result","_args","_context","prev","next","undefined","Http","_ref3","_ref4","response","content","location","redirectTo","window","href","get","redirect","sent","abrupt","stop","_x","COMMIT_TOGGLE_FIELD","state","openedFieldNames","COMMIT_INIT_TOGGLE_FIELDS","fields","isArray","currentState","newState","reduce","res","defaultOpen","CurrentLocation","currentCity","_ref$className","_ref$scope","scope","_ref$type","cssScope","Counter","top","count","onApply","visible","style","Field","withClickChangeEvent","BaseField","V1","Env","version","V2","createVDOMComponent","self","_a","filtersContainer","renderer","slot","document","querySelector","body","dataset","getClasses","setFiltersContainer","el","handleToggleField","store","calcCounterPosition","getState","lastAppliedField","commit","handleChangeField","_asyncToGenerator","commitFn","payload","COMMIT_CHANGE_FIELD","_x2","handleApplyField","_callee2","_b","_c","_d","_context2","getProps","onMobileApply","call","_x3","_x4","handleToggleShowingFields","fieldsAreHidden","setState","_callee3","parent","target","boundTop","targetPageY","middleTargetPosition","offsetTop","counterPosition","_context3","Promise","resolve","clientWidth","getBoundingClientRect","pageYOffset","clientHeight","_x5","isFieldOpened","componentWillMount","createVDOMRenderer","_ref5","onClose","_ref5$fieldsAreHidden","firstFields","inlineFields","isInlineField","push","includes","key","isFirstField","isFieldHidden","fieldIndex","handleClickCurrentLocation","class","isOpened","onChangeField","onToggleField","ref","index","isHidden","isCounterVisible","appliedFilters","componentWillUnmount","destroy","componentWillUpdate","nextProps","prevState","nextState","prevField","prevFields","nextField","nextFields","render","props","selfState","COMMIT_TOGGLE","checked","List","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","isLastPartShown","isItemActive","getItemClasses","isBold","handleToggleItem","COMMIT_TOGGLE_ITEM","handleClick","e","onFieldClick","currentTarget","showChoice","isInline","handleToggleShownItems","buildFieldsParts","collection","viewOptions","viewType","firstPart","lastPart","buildSelectInput","SelectInput","SelectTypes","radio","label","title","onChange","icon","_this2","_this$props","this","onRef","_this$buildFieldsPart","choice","_this$props$field","activeItem","find","_this$props2","Component","RangeInput","calcValues","range","Number","min","max","handleInputChangeMin","values","onChangeMinEnd","handleInputChangeMax","onChangeMaxEnd","handleChangeMin","handleChange","calcPriceFromPercent","handleChangeMax","handleChangeMinEnd","element","_objectDestructuringEmpty","handleChangeMaxEnd","_this$props$range","percent","ranges","Math","ceil","rangeStep","rangeProgress","priceRangeDiff","round","price","targetIndex","i","priceProgress","_ref6","_ref6$range","prevMin","prevMax","_this$props$range2","_ref7","TextComponent","color","placeholder","toString","isLabelFixed","MultipleRange","calcPercentFromPrice","onMinChange","onMaxChange","onMinChangeEnd","onMaxChangeEnd","CurrencyText","Text","Colors","isChecked","handleReset","buildInput","backgroundColor","hex","join","Checkboxes","checkbox","tooltip","Tooltip","InlineList","_List","QuickFilterColors","INLINE_FIELD_MAP","FIELD_MAP","Range","isRangeActive","onToggleRange","currentRangeIndex","findIndex","previousCheckedRange","nextCheckedRange","uncheckRange","firstRange","lastRange","checkRange","handleCheckClick","inputType","choiceTitle","handleApplyCkick","pushToDataLayer","event","Color","isActive","handleToggle","Segment","getClassNames","__isActive","TextLine","Checkbox","rangeValues","rangeName","QuickFilterSize","quickRanges","quickDimension","src","url","getFieldComponent","config","getSlotsForItems","handleAppend","items","afterEvent","$slot","requestAnimationFrame","insertAdjacentHTML","documentDispatch","handleReplace","innerHTML","lastTimestamp","markState","timestamp","Date","now","_timestamp","_type","handlePush","history","pushState","replaceState","handleChangeUrl","addEventListener","removeEventListener","delay","throttle","_ref$field","linkedFieldName","linked_field_name","_ref$payload","p","_objectWithoutProperties","cond","_when","_to","resetField","Any","changedFieldList","some","COMMIT_ADD_CHANGED_FIELD_ITEM","COMMIT_SET_FILTERS","filters","COMMIT_RESET_FIELDS","Object","entries","filterName","COMMIT_CHANGE_SYNC_FIELD","_commitFn","commitPayload","filterField","calcElWidth","width","_window$getComputedSt","getComputedStyle","marginLeft","marginRight","parseInt","$self","_onChangeField","getHumanValue","getActiveItems","COMMIT_RESET_SINGLE","_field","Select","createScope","FieldsList","rootRef","createRef","resetRef","showMoreRef","lastShowingIndex","shouldShowMore","shouldShowMoreControl","handleShowMore","container","hiddingEls","excludedEls","dynamicEls","containerWidth","filteredHiddingEls","dynamicElsWidth","sum","currentWidthSum","newWidthSum","calcLastShowingElIndex","_toConsumableArray","children","recalcShowingEls","prevProps","JSON","stringify","_this3","onResetFields","filteredFields","_slicedToArray","_this$state","_","COMMIT_CHANGE_FILTER","COMMIT_CHANGE_COUNT_URL","loadCountUrl","COMMIT_CHANGE_SYNC_FIELDS","triggerFilter","fieldKey","previousFilters","updatedFilters","keys","filterKey","hasChanges","fieldsSnapshot","COMMIT_SET_COUNT","COMMIT_OPEN_FIELD","openedFieldName","COMMIT_CLOSE_FIELDS","COMMIT_SET_FIELDS","COMMIT_RESET_FIELD","COMMIT_RESET_CHANGED_FIELD_LIST","fn1","fns","prevFn","nextFn","compose","OPEN_DROP_CLASS","scrollDelay","ms","setTimeout","InlineFilter","$el","_ref$props","_ref$props$size","size","_ref$callbacks$CALLBA","CALLBACK_FIELD_CHANGE","_fields","_ref$callbacks$CALLBA2","CALLBACK_CHANGE","_ref$callbacks$CALLBA3","CALLBACK_SYNC_FIELD","_payload","Store","CALLBACK_AFTER_COMMIT","dispatchChangeEvent","classList","remove","getFields","add","updatedField","handleScrollInToView","toggleEl","scrollContainer","_toggleEl$getBounding","left","_scrollContainer$getB","diff","step","mod","stepDiff","closest","scrollTo","scrollLeft","handleApply","onOverlay","$","contains","preventDefault","stopPropagation","setFields","setCount","COMMIT_MODAL_SET_FIELDS","COMMIT_OPEN_MODAL","isModalOpened","COMMIT_APPLY","COMMIT_MOBILE_APPLY","COMMIT_CLOSE_MODAL","ModalFilter","AsyncModal","_ref$props$isModalOpe","containerElement","handleOpen","loadComponentsStyles","asyncComponent","handleClose","handleApplyMobile","active","classNames","filterEvent","CustomEvent","detail","isOpen","dispatchEvent","onReset","handleModalToggle","user","ability","showDesignerFilters","ALWAYS_VISIBLE_FIELDS","getFieldWidth","getInlineFields","availableWidth","hasFieldValue","isFieldVisible","totalWidth","fieldWidth","COMMIT_MERGE_FIELDS","fieldsByName","resultItems","FILTER_MODULE_MAP","MainFilter","_state","inlineFilter","handleChangeFilter","modalFilter","handleResize","allFields","getFilterModule","moduleName","trigger","FiltersPlugin","filterInstances","choiceListInstance","_yield$Http$get","_commitPayload","_filters","serializeFilters","format","data","sendItemsCount","handleUpdateCount","instance","updateFilters","_ref8","_ref9","setFilters","_ref11","_ref12","handleUpdateUrl","itemsQuantity","handleUpdate","handleFilterChange","syncFields","fieldPayload","createFilter","instances","choiceList","_ref0","slotEl","filterNames","_ref1","collectChoices","_ref10","_ref$props$filterName","_ref$props$syncFields","CALLBACK_RESET","when","to","getFilters","filterFields","list","ChoiceList","connectChoiceList","flat","serializeField","_ref$onFieldClick","fieldElement","parentElement","getFieldSpec"],"sourceRoot":""}