@ytsaurus/ui 2.5.0 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist/public/build/assets-manifest.json +37 -37
  2. package/dist/public/build/css/{9030.30b67fe6.chunk.css → 3792.a5336147.chunk.css} +1 -1
  3. package/dist/public/build/css/{9030.30b67fe6.chunk.css.map → 3792.a5336147.chunk.css.map} +1 -1
  4. package/dist/public/build/js/2142.9a9a44af.chunk.js +2 -0
  5. package/dist/public/build/js/2142.9a9a44af.chunk.js.map +1 -0
  6. package/dist/public/build/js/3225.0ca5646d.chunk.js +2 -0
  7. package/dist/public/build/js/3225.0ca5646d.chunk.js.map +1 -0
  8. package/dist/public/build/js/{9030.200c7642.chunk.js → 3792.1af8dc36.chunk.js} +2 -2
  9. package/dist/public/build/js/{9030.200c7642.chunk.js.map → 3792.1af8dc36.chunk.js.map} +1 -1
  10. package/dist/public/build/js/3848.db687afa.chunk.js +2 -0
  11. package/dist/public/build/js/3848.db687afa.chunk.js.map +1 -0
  12. package/dist/public/build/js/{9361.4389c6e7.chunk.js → 9361.632ac658.chunk.js} +3 -3
  13. package/dist/public/build/js/9361.632ac658.chunk.js.map +1 -0
  14. package/dist/public/build/js/acl.86dde5b4.chunk.js +2 -0
  15. package/dist/public/build/js/acl.86dde5b4.chunk.js.map +1 -0
  16. package/dist/public/build/js/{chart-kit.6c826f92.chunk.js → chart-kit.bc706a72.chunk.js} +2 -2
  17. package/dist/public/build/js/{chart-kit.6c826f92.chunk.js.map → chart-kit.bc706a72.chunk.js.map} +1 -1
  18. package/dist/public/build/js/{cluster-page-wrapper.24759f54.chunk.js → cluster-page-wrapper.69410672.chunk.js} +2 -2
  19. package/dist/public/build/js/{cluster-page-wrapper.24759f54.chunk.js.map → cluster-page-wrapper.69410672.chunk.js.map} +1 -1
  20. package/dist/public/build/js/{dashboard.5baf76be.chunk.js → dashboard.705aef5e.chunk.js} +2 -2
  21. package/dist/public/build/js/{dashboard.5baf76be.chunk.js.map → dashboard.705aef5e.chunk.js.map} +1 -1
  22. package/dist/public/build/js/{incarnations.db35d3e7.chunk.js → incarnations.b6c8305d.chunk.js} +2 -2
  23. package/dist/public/build/js/incarnations.b6c8305d.chunk.js.map +1 -0
  24. package/dist/public/build/js/main.2691b74a.js +3 -0
  25. package/dist/public/build/js/main.2691b74a.js.map +1 -0
  26. package/dist/public/build/js/navigation.b95d53a4.chunk.js +2 -0
  27. package/dist/public/build/js/navigation.b95d53a4.chunk.js.map +1 -0
  28. package/dist/public/build/js/{runtime.3d99db5c.js → runtime.cd2507d5.js} +2 -2
  29. package/dist/public/build/js/{runtime.3d99db5c.js.map → runtime.cd2507d5.js.map} +1 -1
  30. package/dist/public/build/js/{yt-df-dialog.3c75c1c6.chunk.js → yt-df-dialog.d8b77493.chunk.js} +3 -3
  31. package/dist/public/build/js/yt-df-dialog.d8b77493.chunk.js.map +1 -0
  32. package/dist/public/build/js/yt-queries-list.9b028808.chunk.js +2 -0
  33. package/dist/public/build/js/yt-queries-list.9b028808.chunk.js.map +1 -0
  34. package/dist/public/build/manifest.json +32 -32
  35. package/package.json +2 -2
  36. package/dist/public/build/js/2142.e3f4501e.chunk.js +0 -2
  37. package/dist/public/build/js/2142.e3f4501e.chunk.js.map +0 -1
  38. package/dist/public/build/js/3225.1bafd8e7.chunk.js +0 -2
  39. package/dist/public/build/js/3225.1bafd8e7.chunk.js.map +0 -1
  40. package/dist/public/build/js/3792.87728e87.chunk.js +0 -2
  41. package/dist/public/build/js/3792.87728e87.chunk.js.map +0 -1
  42. package/dist/public/build/js/9361.4389c6e7.chunk.js.map +0 -1
  43. package/dist/public/build/js/acl.ad72cb19.chunk.js +0 -2
  44. package/dist/public/build/js/acl.ad72cb19.chunk.js.map +0 -1
  45. package/dist/public/build/js/incarnations.db35d3e7.chunk.js.map +0 -1
  46. package/dist/public/build/js/main.10db4a06.js +0 -3
  47. package/dist/public/build/js/main.10db4a06.js.map +0 -1
  48. package/dist/public/build/js/navigation.dd0f8fc8.chunk.js +0 -2
  49. package/dist/public/build/js/navigation.dd0f8fc8.chunk.js.map +0 -1
  50. package/dist/public/build/js/yt-df-dialog.3c75c1c6.chunk.js.map +0 -1
  51. package/dist/public/build/js/yt-queries-list.e40d766e.chunk.js +0 -2
  52. package/dist/public/build/js/yt-queries-list.e40d766e.chunk.js.map +0 -1
  53. /package/dist/public/build/js/{9361.4389c6e7.chunk.js.LICENSE.txt → 9361.632ac658.chunk.js.LICENSE.txt} +0 -0
  54. /package/dist/public/build/js/{main.10db4a06.js.LICENSE.txt → main.2691b74a.js.LICENSE.txt} +0 -0
  55. /package/dist/public/build/js/{yt-df-dialog.3c75c1c6.chunk.js.LICENSE.txt → yt-df-dialog.d8b77493.chunk.js.LICENSE.txt} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"js/3225.1bafd8e7.chunk.js","mappings":"oLAMO,IAAMA,EAA4B,SAACC,GAAgB,OAAKA,EAAMC,WAAWC,gBAAiB,EACpFC,EAAyB,SAACH,GAAgB,OAAKA,EAAMC,WAAWG,aAAc,EAC9EC,EAA6B,SAACL,GAAgB,OAAKA,EAAMC,WAAWK,iBAAkB,EACtFC,EAAsB,SAACP,GAAgB,OAAKA,EAAMC,WAAWO,aAAc,EAC3EC,EAA8B,SAACT,GAAgB,OACxDA,EAAMC,WAAWS,qBAAsB,EAC9BC,EAA+B,SAACX,GAAgB,OAAKA,EAAMC,WAAWW,gBAAiB,EACvFC,EAAmB,SAACb,GAAgB,OAAKA,EAAMC,WAAWa,aAAc,C,4JCZrF,QADyB,SAAAC,GAAK,OAAIC,EAAAA,EAAAA,MAAA,OAAAC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,CAAKC,MAAM,6BAA6BC,KAAK,eAAeC,QAAQ,aAAgBL,GAAK,IAAAM,SAAA,EAAEL,EAAAA,EAAAA,MAAA,KAAGM,SAAS,8BAA6BD,SAAA,EAACE,EAAAA,EAAAA,KAAA,QAAMC,EAAE,+QAA8QD,EAAAA,EAAAA,KAAA,QAAME,OAAO,eAAeC,cAAc,QAAQC,eAAe,QAAQC,YAAa,IAAKJ,EAAE,4HAA4HD,EAAAA,EAAAA,KAAA,QAAAF,UAAME,EAAAA,EAAAA,KAAA,YAAUM,GAAG,wBAAuBR,UAACE,EAAAA,EAAAA,KAAA,QAAMC,EAAE,yBAA2C,ECCpvB,EADyB,SAAAT,GAAK,OAAIC,EAAAA,EAAAA,MAAA,OAAAC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,CAAKC,MAAM,6BAA6BC,KAAK,eAAeC,QAAQ,aAAgBL,GAAK,IAAAM,SAAA,EAAEE,EAAAA,EAAAA,KAAA,QAAMC,EAAE,+QAA8QD,EAAAA,EAAAA,KAAA,QAAME,OAAO,eAAeC,cAAc,QAAQC,eAAe,QAAQC,YAAa,IAAKJ,EAAE,0BAA8B,ECqBvgB,SAASM,EAAWC,GAA+B,IAADC,EAA5BC,EAAIF,EAAJE,KACnBC,EAAOC,EAAAA,EAAMC,cAAcH,GAC3BI,EAA0B,WAAfH,aAAI,EAAJA,EAAMI,OAAN,MAA0BJ,GAAAA,EAAMK,QAAU,gBAAkBL,aAAI,EAAJA,EAAMI,KAC/EE,EAA+C,QAA3CR,EAAGS,EAAAA,GAAUC,sCAA8B,IAAAV,OAAA,EAAxCA,EAA0CW,eAAeV,GAEhEO,IAGAA,GADOI,EAAAA,EAAAA,GAAYV,aAAI,EAAJA,EAAMW,QAASC,EAAAA,EAAAA,GAAkBZ,aAAI,EAAJA,EAAMa,aACnDxB,EAAAA,EAAAA,KAACyB,EAAAA,EAAI,CAACC,QAAQ,eAEd1B,EAAAA,EAAAA,KAACyB,EAAAA,EAAI,CAACC,SAASC,EAAAA,EAAAA,IAAmBb,EAAUH,EAAKiB,qBAG5D,IAAIC,EAAQC,EAAAA,EAAOC,OAAsB,cAAEpB,EAAKI,MAwBhD,MAvBiB,UAAbD,IACAe,EAAQ,gBAGK,kBAAbf,IACIH,SAAAA,EAAMqB,OACNH,EAAQ,iBAERA,EAAQ,cACRZ,GAAOjB,EAAAA,EAAAA,KAACyB,EAAAA,EAAI,CAACC,QAAQ,kBAIzBf,SAAAA,EAAMsB,0BACNJ,EAAQ,iBACRZ,GAAOjB,EAAAA,EAAAA,KAACkC,EAAAA,EAAW,CAACC,KAAMC,KAG1BzB,SAAAA,EAAM0B,0BACNR,EAAQ,iBACRZ,GAAOjB,EAAAA,EAAAA,KAACkC,EAAAA,EAAW,CAACC,KAAMG,MAI1BtC,EAAAA,EAAAA,KAAA,QAAMuC,UAAW,eAAgBV,MAAOA,EAAM/B,SACzCmB,GAGb,C,+HCnDA,SAASuB,EAAchC,GAAoB,IAAlBiC,EAAOjC,EAAPiC,QACfC,GAAiBC,EAAAA,EAAAA,IAAYC,EAAAA,IAE7BC,EAAgBC,EAAAA,SAAc,WAChC,IACI,OAAOC,EAAAA,EAAAA,KAAQC,EAAAA,EAAAA,GAAYP,EAASC,GACxC,CAAE,MAAAO,GACE,MACJ,CACJ,GAAG,CAACR,EAASC,IAEb,OAAOG,GACH7C,EAAAA,EAAAA,KAACkD,EAAAA,GAAQxD,EAAAA,EAAAA,GAAA,GAAKmD,KAEd7C,EAAAA,EAAAA,KAAAmD,EAAAA,SAAA,CAAArD,SAAE,8CAEV,CAEA,QAAegD,EAAAA,KAAWN,E,0KCfpBY,EAAwB,CAC1B,IAAKC,EAAAA,GACL,IAAKC,EAAAA,IAGF,SAASC,EAAqB/D,GACjC,IAAOuB,EAAQvB,EAARuB,KAEDyC,EAAaJ,EAAYrC,GAE/B,OAAOf,EAAAA,EAAAA,KAACyB,EAAAA,EAAI,CAACU,KAAMqB,EAAYC,KAAM,KACzC,C,2DChBMC,E,SAAUC,GAAcC,KAY9B,SAAeC,EAAAA,EAAAA,KAVS,SAACpF,GACrB,IAAMqF,GAAcC,EAAAA,EAAAA,IAAoBtF,EAAOiF,GAE/C,MAAO,CACHA,QAAAA,EACAI,YAAAA,EACAE,OAAOC,EAAAA,EAAAA,IAA8BxF,EAAOiF,GAEpD,GAEwC,CAACQ,mBAAAA,EAAAA,GAAoBC,yBAAAA,EAAAA,IAA7D,CACIC,EAAAA,G,qCCfEC,GAAQC,EAAAA,EAAAA,GAAG,qCAMV,SAASC,EAA8B/E,GAC1C,IAAOgF,EAAchF,EAAdgF,WAEP,OACI/E,EAAAA,EAAAA,MAACgF,EAAAA,EAAI,CAAClC,UAAW8B,IAAQvE,SAAA,CAAC,8CACsB,IAC3CgC,EAAAA,EAAOC,OAAiB,SAAEyC,EAAY,CAACE,KAAM,SAAS,qDAInE,CCTA,IAAML,GAAQC,EAAAA,EAAAA,GAAG,sBAQV,SAASK,EAAkBnF,GAC9B,IAAaoF,EAA+BpF,EAArC8B,KAAmB0C,EAAkBxE,EAAlBwE,MAAOa,EAAWrF,EAAXqF,QAE3BL,EAAa5D,EAAAA,EAAMkE,SAASd,aAAK,EAALA,EAAOe,WAAY,gBAC/CC,EAAYpE,EAAAA,EAAMkE,SAASd,aAAK,EAALA,EAAOe,WAAY,SAC9CE,EAAoD,aAAfT,EAErClD,EAAO0D,QAAAA,EAAaJ,EAEpBM,EAAiBD,EAAqC3D,GAAO6D,EAAAA,EAAAA,IAAc7D,GAEjF,OACI7B,EAAAA,EAAAA,MAAC2F,EAAAA,EAAI,CAACC,UAAW,SAAUC,IAAK,EAAExF,SAAA,EAC5BmF,IACEjF,EAAAA,EAAAA,KAACuE,EAA6B,CAACC,WAAYA,KAE/C/E,EAAAA,EAAAA,MAAC2F,EAAAA,EAAI,CAACC,UAAW,MAAOC,IAAK,EAAExF,SAAA,EAC3BE,EAAAA,EAAAA,KAACoE,EAAkB,CACfmB,gBAAiBlB,EAAM,8BACvB/C,KAAM4D,EACNL,QAASA,EACTW,YAAa,CAAC/B,KAAM,IAAKgC,MAAO,UAEpCzF,EAAAA,EAAAA,KAAC0F,EAAAA,EAAsB,CAACnD,UAAW8B,EAAM,QAASsB,KAAK,WAAW3B,MAAOA,EAAMlE,SAAC,4BAMhG,C,0BCzBa8F,EAAwB,CACjC,IAAK,CACDC,SAAU,SAACC,GACP,IAAOC,EAA+BD,EAA/BC,SAAUC,EAAqBF,EAArBE,YAAa1E,EAAQwE,EAARxE,KACxB2E,EAAaD,aAAW,EAAXA,EACbE,KAAI,SAACC,GAAkB,OAAKvF,EAAAA,EAAMkE,SAASqB,EAAK,IACjDC,KAAK,OACJC,EAAiBJ,EAAU,IAAAK,OAAOL,EAAU,KAAM,GACxD,MAAM,QAANK,OAAeP,EAAQ,mBAAAO,OAAkBD,EAAc,qBAAAC,OAAoBhF,EAAI,IACnF,GAEJ,IAAK,CACDuE,SAAU,SAACC,GACP,IAAOxE,EAAQwE,EAARxE,KACP,MAAM,SAANgF,OAAgBhF,EAAI,mBACxB,ICxBF+C,GAAQC,EAAAA,EAAAA,GAAG,oBAUjB,SAASiC,EAAY/G,GACjB,IAAOgH,EAA0ChH,EAA1CgH,QAASlF,EAAiC9B,EAAjC8B,KAAMuD,EAA2BrF,EAA3BqF,QAAS4B,EAAkBjH,EAAlBiH,KAAMC,EAAYlH,EAAZkH,SAE/B1C,EAAiB,MAATyC,GAAeE,EAAAA,EAAAA,IAAyBH,GAAYA,EAC5D3E,EDcH,SAAsBrB,EAEzBc,GACO,IAADsF,EAFL7B,EAAUvE,EAAVuE,WAAY0B,EAAIjG,EAAJiG,KAGP5E,EAAyB,QAApB+E,EAAGhB,EAAWa,UAAM,IAAAG,OAAA,EAAjBA,EAAmBf,SAAS,CACtCvE,KAAMA,GAAQ,GACdyE,SAAUnF,EAAAA,EAAMkE,SAASC,EAAY,UAAY,GACjDiB,YAAapF,EAAAA,EAAMkE,SAASC,EAAY,gBAAkB,KAG9D,OAAOlD,QAAAA,EAAS,8BACpB,CCzBkBgF,EAAanH,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAGsE,GAAK,IAAEyC,KAAAA,IAAOnF,GACxC+D,EAAoCqB,EAAW,cAAWI,EAEhE,OACIrH,EAAAA,EAAAA,MAAC2F,EAAAA,EAAI,CACDC,UAAW,SACX0B,UAAW,wEAAwEjH,SAAA,CAEzE,MAAT2G,IAAgBzG,EAAAA,EAAAA,KAACgH,EAAAA,EAAqB,CAACzE,UAAW,uBACnD9C,EAAAA,EAAAA,MAAC2F,EAAAA,EAAI,CACD7C,UAAW8B,IACX4C,eAAe,SACfC,WAAW,SACX7B,UAAWA,EACXC,IAAK,EAAExF,SAAA,EAEPE,EAAAA,EAAAA,KAACoF,EAAAA,EAAI,CAAAtF,UACDE,EAAAA,EAAAA,KAACuD,EAAoB,CAACxC,KAAM0F,OAEhChH,EAAAA,EAAAA,MAAC2F,EAAAA,EAAI,CAACC,UAAW,SAAU9C,UAAW8B,EAAM,QAASiB,IAAK,EAAExF,SAAA,EACxDE,EAAAA,EAAAA,KAACmH,EAAAA,EAAI,CAAC5E,UAAW8B,EAAM,SAASvE,SAAE+B,KAClC7B,EAAAA,EAAAA,KAACoH,EAAAA,EAAY,CAACpD,MAAOwC,KACrBxG,EAAAA,EAAAA,KAACoF,EAAAA,EAAI,CAACE,IAAK,EAAGD,UAAWA,EAAUvF,SACrB,MAAT2G,GACGzG,EAAAA,EAAAA,KAAC2E,EAAiB,CAACE,QAASA,EAASvD,KAAMA,EAAM0C,MAAOA,KAExDhE,EAAAA,EAAAA,KAAC0F,EAAAA,EAAsB,CACnBnD,UAAW8B,EAAM,QACjBsB,KAAK,WACL3B,MAAOwC,EAAQ1G,SAClB,iCAS7B,CAEA,SAASuH,EAAgB7H,GACrB,IAAOgH,EAAoBhH,EAApBgH,QAASc,EAAW9H,EAAX8H,QAEhB,OAAOtH,EAAAA,EAAAA,KAACuH,EAAAA,EAAY,CAAChF,UAAW8B,EAAM,oBAAqBL,MAAOwC,EAASc,QAASA,GACxF,CAEO,SAASE,EAAgBhI,GAC5B,IAEMiH,EDnBH,SAA6BzC,GAChC,IAAMyD,GAAYC,EAAAA,EAAAA,IAAe1D,GACjC,IAAK2D,MAAMF,GACP,OAAOA,EAGX,GAAKzD,SAAAA,EAAO4D,aAAZ,CAEA,IAEgCC,EAF1BC,EAAS9D,EAAM4D,aAAaG,GAAAC,EAAAA,EAAAA,GAERF,GAAM,IAAhC,IAAAC,EAAAE,MAAAJ,EAAAE,EAAAG,KAAAC,MAAkC,CAAC,IAAxBC,EAAWP,EAAAQ,MACZC,GAAiBZ,EAAAA,EAAAA,IAAeU,GACtC,IAAKT,MAAMW,GACP,OAAOA,EAGPF,EAAYR,cACZE,EAAOxB,OAAO8B,EAAYR,aAElC,CAAC,OAAAW,GAAAR,EAAAS,EAAAD,EAAA,SAAAR,EAAAU,GAAA,CAb+B,CAgBpC,CCHiBC,CAFKlJ,EAAXgH,SAIP,OACIxG,EAAAA,EAAAA,KAAAmD,EAAAA,SAAA,CAAArD,SACc,MAAT2G,GAAyB,MAATA,GACbzG,EAAAA,EAAAA,KAACuG,GAAW7G,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAKF,GAAK,IAAEiH,KAAMA,MAE9BzG,EAAAA,EAAAA,KAACqH,GAAe3H,EAAAA,EAAAA,GAAA,GAAKF,KAIrC,C,kRC9DMmJ,EAAyB,SAC3BC,EACAlF,GAEA,IAAOmF,EAAmB3H,EAAAA,GAAU4H,4BAA4BpF,GAAzDmF,gBACP,OAAOE,IAAKH,GAAiB,SAACjI,EAAMqI,GAChC,MAAO,CACHjI,KAAM8H,EAAgBG,GACtBC,OAAQtI,EAAKsI,OAErB,GACJ,EAAE,SAIaC,EAAyBC,EAAAC,EAAAC,GAAA,OAAAC,EAAAC,MAAC,KAADC,UAAA,UAAAF,IAuBvC,OAvBuCA,GAAAG,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAxC,SAAAC,EACIlG,EACAmG,EACAC,GAAiB,IAAAC,EAAA,OAAAL,EAAAA,EAAAA,KAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAAAF,EAAAG,GAET1G,EAAOuG,EAAAE,KAAAF,EAAAG,KACNzG,EAAAA,GAAc0G,uBAAqBJ,EAAAG,KACnCzG,EAAAA,GAAc2G,kBAAgBL,EAAAG,KAC9BzG,EAAAA,GAAcC,KAFqB,EAEjBqG,EAAAG,KAElBzG,EAAAA,GAAc4G,QAAO,EAAAN,EAAAG,KAErBzG,EAAAA,GAAc6G,KAAI,EAAAP,EAAAG,KAMlBzG,EAAAA,GAAc8G,mBAAkB,yBAAAR,EAAAS,OAAA,SAT1Bb,GAAU,cAAAI,EAAAS,OAAA,2BAAApE,OAEQuD,IAAU,cAAAI,EAAAE,KAAA,EAEJQ,EAAAA,GAAUC,IAAIC,EAAAA,GAAQC,uBAAwB,CACzExJ,KAAK,+CAADgF,OAAiDwD,EAAQ,WAAAxD,OAAUuD,EAAU,gBAClF,KAAD,EAFoB,OAAhBE,EAAgBE,EAAAc,KAAAd,EAAAS,OAAA,6BAAApE,OAGKwD,GAAQxD,OAAGyD,IAAQ,cAAAE,EAAAS,OAAA,sCAAApE,OAGVuD,IAAU,cAGhD,IAAImB,MAAM,yCAAyC,KAAD,oBAAAf,EAAAgB,OAAA,GAAArB,EAAA,MAC3DL,MAAA,KAAAC,UAAA,CAEM,SAAS0B,EAAW1K,GAIR,IAHdc,EAAId,EAAJc,KAAMoC,EAAOlD,EAAPkD,QACNyH,GADa3B,UAAA4B,OAAA,QAAAtE,IAAA0C,UAAA,GAAAA,UAAA,GAC0B,CAAC,GAAxC2B,mBACDE,EAAuC7B,UAAA4B,OAAA,QAAAtE,IAAA0C,UAAA,GAAAA,UAAA,GAAG,CAAC8B,yBAAqBxE,GAEhE,sBAAAyE,GAAA9B,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAA6B,EAAOC,EAAUC,GAAQ,IAAAjN,EAAAkN,EAAAC,EAAAC,EAAAhH,EAAAiF,EAAAjB,EAAAyC,EAAAQ,EAAAC,EAAA,OAAArC,EAAAA,EAAAA,KAAAM,MAAA,SAAAgC,GAAA,cAAAA,EAAA9B,KAAA8B,EAAA7B,MAAA,OAUF,OATpB1L,EAAQiN,IAAUC,EACMlN,EAAMwN,OAA7BL,EAAKD,EAALC,MAAKC,EAAAF,EAAE9G,QAAAA,OAAO,IAAAgH,EAAG,GAAEA,EAE1BJ,EAAS,CAAC1K,KAAMmL,EAAAA,GAAUC,QAASzI,QAAAA,IAE7BoG,EACFpG,IAAYC,EAAAA,GAAc6G,KAAOW,IAAsBiB,EAAAA,EAAAA,IAAQ3N,QAASqI,EACrE+B,EAAmB3H,EAAAA,GAAU4H,4BAA4BpF,GAAzDmF,gBAEAyC,EAAuBD,EAAvBC,oBAAmBU,EAAA9B,KAAA,EAAA8B,EAAA7B,KAAA,EAGejB,EAA0BxF,EAASpC,EAAMwI,GAAU,KAAD,EAA3D,GAAtBgC,EAAsBE,EAAAjB,MACOO,EAAmB,CAAAU,EAAA7B,KAAA,gBAAA6B,EAAA7B,KAAA,GAC1CjB,EAA0BxF,EAAS4H,EAAqBxB,GAAS,QAAAkC,EAAA5B,GAAA4B,EAAAjB,KAAAiB,EAAA7B,KAAA,iBAAA6B,EAAA5B,GACvE0B,EAAuB,KAAD,GAFI,OAA1BC,EAA0BC,EAAA5B,GAAA4B,EAAA7B,KAAA,GAInBkC,QAAQC,IAAI,EACrBC,EAAAA,EAAAA,IAAO,CACH1H,QAAAA,EACAvD,KAAAA,EACAkL,KAAM9I,EACNoG,SAAAA,EACA2C,QAASX,KAEbY,EAAAA,EAAAA,IAAuBX,EAA4BH,EAAO/C,IAC1D8D,EAAAA,EAAAA,IAAe,CACX9H,QAAAA,EACAvD,KAAAA,EACAkL,KAAM9I,EACNoG,SAAAA,EACA2C,QAASX,MAEdc,MAAK,SAAAC,GAA0C,IAADC,GAAAC,EAAAA,EAAAA,GAAAF,EAAA,GAAvCG,EAAGF,EAAA,GAAElE,EAAekE,EAAA,GAAEG,EAAWH,EAAA,GACvCrB,EAAS,CACL1K,KAAMmL,EAAAA,GAAUgB,QAChB/K,KAAM,CACFb,KAAAA,EACA6L,QAASF,EAAYE,QACrBC,SAAUH,EAAYG,SACtBrO,kBAAmBiO,EAAIhH,YACvBqH,aAAcL,EAAIM,cAClBC,WAAYP,EAAIO,WAChBN,YAAaA,EAAYA,YACzBrE,gBAAiBD,EAAuBC,EAAiBlF,GACzD8J,cAAeP,EAAYO,cAC3BC,sBAAuBR,EAAYQ,sBACnCC,aAAcT,EAAYS,aAC1BC,8BAA+BV,EAAYU,+BAE/CjK,QAAAA,GAER,IAAG,KAAD,UAAAsI,EAAAtB,OAAA,SAAAsB,EAAAjB,MAAA,QAAAiB,EAAA9B,KAAA,GAAA8B,EAAA4B,GAAA5B,EAAA,SAEFP,EAAS,CACL1K,KAAMmL,EAAAA,GAAU2B,QAChB1L,KAAM,CACF6B,MAAKgI,EAAA4B,IAETlK,QAAAA,IACD,yBAAAsI,EAAAf,OAAA,GAAAO,EAAA,mBAEV,gBAAAsC,EAAAC,GAAA,OAAAxC,EAAAhC,MAAA,KAAAC,UAAA,EA/DD,EAgEJ,CAEO,SAASwE,EAAiBC,GAQC,IAN1BC,EAAOD,EAAPC,QACAxK,EAAOuK,EAAPvK,QACApC,EAAI2M,EAAJ3M,KACA6M,EAAYF,EAAZE,aAEHhD,GAFe3B,UAAA4B,OAAA,QAAAtE,IAAA0C,UAAA,GAAAA,UAAA,GAEwB,CAAC,GAAxC2B,mBAED,sBAAAiD,GAAA3E,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAA0E,EAAO5C,EAAUC,GAAQ,IAAA4C,EAAAzJ,EAAApG,EAAAqL,EAAAyE,EAAA,OAAA7E,EAAAA,EAAAA,KAAAM,MAAA,SAAAwE,GAAA,cAAAA,EAAAtE,KAAAsE,EAAArE,MAAA,OAWyD,OAXzDmE,EACL5C,IAAWO,OAA3BpH,QAAAA,OAAO,IAAAyJ,EAAG,GAAEA,EACb7P,EAAQiN,IAEdD,EAAS,CACL1K,KAAM0N,EAAAA,GAAkBtC,QACxBhK,KAAM+L,EACNxK,QAAAA,IAGEoG,EACFpG,IAAYC,EAAAA,GAAc6G,KAAOW,IAAsBiB,EAAAA,EAAAA,IAAQ3N,QAASqI,EAAS0H,EAAAtE,KAAA,EAAAsE,EAAArE,KAAA,EAG7CjB,EAA0BxF,EAASpC,EAAMwI,GAAU,KAAD,EAA3D,OAArByE,EAAqBC,EAAAzD,KAAAyD,EAAArE,KAAA,GAEdjJ,EAAAA,GAAUwN,YAClBC,WAAW,CACRjL,QAAAA,EACAmB,QAAAA,EACAqJ,QAAAA,EACA5M,KAAAA,EACAmL,QAAS8B,EACTJ,aAAAA,IAEHvB,MAAK,WACFnB,EAAS,CACL1K,KAAM0N,EAAAA,GAAkBvB,QACxB/K,KAAM+L,EACNxK,QAAAA,GAER,IAAG,KAAD,UAAA8K,EAAA9D,OAAA,SAAA8D,EAAAzD,MAAA,WAAAyD,EAAAtE,KAAA,GAAAsE,EAAApE,GAAAoE,EAAA,WAEFI,EAAAA,EAAAA,GAAWJ,EAAApE,IAAQ,CAADoE,EAAArE,KAAA,SACqC,OAAvDsB,EAAS,CAAC1K,KAAM0N,EAAAA,GAAkBI,UAAWnL,QAAAA,IAAU8K,EAAA9D,OAAA,cAChD5D,GAAS,QAMb,OAJH2E,EAAS,CACL1K,KAAM0N,EAAAA,GAAkBZ,QACxB1L,KAAIqM,EAAApE,GACJ1G,QAAAA,IACD8K,EAAA9D,OAAA,SACI2B,QAAQyC,OAAMN,EAAApE,KAAO,yBAAAoE,EAAAvD,OAAA,GAAAoD,EAAA,mBAGvC,gBAAAU,EAAAC,GAAA,OAAAZ,EAAA7E,MAAA,KAAAC,UAAA,EA7CD,EA8CJ,CAEA,SAASyF,EAAmBC,GACxB,GAAKA,EAIL,OAAOC,KAAKC,OAAOF,EAAKG,UAAYC,KAAKC,OAAS,KAAO,GAAK,IAClE,CAeO,SAASrL,EAAkBsL,GAGf,IAFdC,EAAMD,EAANC,OAAQ/L,EAAO8L,EAAP9L,QACRyH,GADe3B,UAAA4B,OAAA,QAAAtE,IAAA0C,UAAA,GAAAA,UAAA,GACwB,CAAC,GAAxC2B,mBAED,sBAAAuE,GAAAjG,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAAgG,EAAOlE,EAAUC,GAAQ,IAAAkE,EAAAnR,EAAAoR,EAAAhL,EAAAiL,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAxI,EAAAF,EAAA2I,EAAA1G,EAAA2G,EAAA,OAAA/G,EAAAA,EAAAA,KAAAM,MAAA,SAAA0G,GAAA,cAAAA,EAAAxG,KAAAwG,EAAAvG,MAAA,OACtB1L,EAAQiN,IAAUmE,EAGpBpR,EADAwN,OAASpH,QAAAA,OAAO,IAAAgL,EAAG,GAAEA,EAGzBpE,EAAS,CACL1K,KAAM4P,EAAAA,GAAmBxE,QACzBzI,QAAAA,IACDoM,EAEoC5O,EAAAA,GAAUwN,YAAWqB,EAAAD,EAArDE,wBAAAA,OAAuB,IAAAD,EAAG,CAAC,EAACA,EAE7BE,EAAYhB,EAAmBQ,EAAOmB,UACtCV,EAAqB,GACrBC,EAAwB,GACvBC,EAAmEX,EAAnEW,iBAAkBC,EAAiDZ,EAAjDY,gBAAiBC,EAAgCb,EAAhCa,gBAAiBC,EAAed,EAAfc,YAAWxI,GAAAC,EAAAA,EAAAA,GACnDyH,EAAOoB,UAAQH,EAAAxG,KAAA,EAAAsG,GAAA9G,EAAAA,EAAAA,KAAAC,MAAA,SAAA6G,IAAA,IAAA7P,EAAAmQ,EAAAC,EAAAC,EAAA,OAAAtH,EAAAA,EAAAA,KAAAM,MAAA,SAAAiH,GAAA,cAAAA,EAAA/G,KAAA+G,EAAA9G,MAAA,OAAvBxJ,EAAIkH,EAAAQ,MACLyI,GAAUI,EAAAA,EAAAA,IAAkBvQ,GAC5BoQ,GAAUrR,EAAAA,EAAAA,GAAA,CACZoR,QAAAA,EACAK,mBAAoBlB,GAChBG,EAAmB,CAACA,iBAAAA,GAAoB,CAAC,GAEjDgB,OAAOC,QAAQrB,GAAyBsB,SAAQ,SAAAC,GAAsB,IAADC,GAAAzE,EAAAA,EAAAA,GAAAwE,EAAA,GAAnBE,EAAGD,EAAA,GAAEE,EAAQF,EAAA,GAC3DE,SAAAA,EAAUC,qBAAqBZ,EAAYV,aAAe,EAAfA,EAAkBoB,GACjE,KACMT,EAAqBY,IAAS7I,IAAK0G,EAAOzJ,eACzBoF,QACnB+E,EAAsB0B,MAAInS,EAAAA,EAAAA,GAAC,CACvBsG,YAAagL,GACVD,IAGPR,SAAAA,EAAanF,QACb+E,EAAsB0B,MAAInS,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACrByQ,EAAsBA,EAAsB/E,OAAS,IACrD2F,GAAU,IACbe,QAASvB,EACTvK,YAAa,CAAC,WAGtB+L,IAAStC,EAAOzJ,aAAa,SAACA,GAC1BkK,EAAM2B,MAAInS,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,GACLsS,EAAAA,EAAAA,IAAyB,CAAChM,YAAAA,KAC1B+K,GAEX,IACIT,GACAJ,EAAM2B,MAAInS,EAAAA,EAAAA,GAAC,CACPuS,UAAW,cACXC,gBAAiB5B,GACdS,IAEV,wBAAAE,EAAAhG,OAAA,GAAAuF,EAAA,IAAAzI,EAAAE,IAAA,YAAAJ,EAAAE,EAAAG,KAAAC,KAAA,CAAAuI,EAAAvG,KAAA,gBAAAuG,EAAAyB,cAAA3B,IAAA,iBAAAE,EAAAvG,KAAA,iBAAAuG,EAAAvG,KAAA,iBAAAuG,EAAAxG,KAAA,GAAAwG,EAAA9C,GAAA8C,EAAA,SAAA3I,EAAAS,EAAAkI,EAAA9C,IAAA,eAAA8C,EAAAxG,KAAA,GAAAnC,EAAAU,IAAAiI,EAAA0B,OAAA,YAIgF,OAD/EtI,EACFpG,IAAYC,EAAAA,GAAc6G,KAAOW,IAAsBiB,EAAAA,EAAAA,IAAQ3N,QAASqI,EAAS4J,EAAAvG,KAAA,GAEhDjB,EACjCxF,EACA+L,EAAOnO,KACPwI,GACF,KAAD,GAJ2B,OAAtB2G,EAAsBC,EAAA3F,KAAA2F,EAAAhG,OAAA,SAOrBxJ,EAAAA,GAAUwN,YACZxK,mBAAmB,CAChBW,QAAAA,EACAvD,KAAMmO,EAAOnO,KACbmL,QAASgE,EACTP,MAAAA,EACAmC,cAAelC,EAAsBjK,IAAI8L,EAAAA,IACzCM,QAAuB,QAAhB1C,EAAEH,EAAO6C,eAAO,IAAA1C,EAAAA,EAAI,GAC3BpD,KAAM9I,EACNoG,SAAAA,IAEH8C,MAAK,WACFnB,EAAS,CACL1K,KAAM4P,EAAAA,GAAmBzD,QACzBxJ,QAAAA,GAER,IAAE,OACK,SAACM,GACJ,OAAI4K,EAAAA,EAAAA,GAAY5K,QACZyH,EAAS,CAAC1K,KAAM4P,EAAAA,GAAmB9B,UAAWnL,QAAAA,KAG9C+H,EAAS,CACL1K,KAAM4P,EAAAA,GAAmB9C,QACzB1L,KAAM6B,EACNN,QAAAA,IAEG2I,QAAQyC,OAAO9K,GAE9B,KAAE,yBAAA0M,EAAAzF,OAAA,GAAA0E,EAAA,yBACT,gBAAA4C,EAAAC,GAAA,OAAA9C,EAAAnG,MAAA,KAAAC,UAAA,EAjGD,EAkGJ,CAEO,SAASrF,EAAwBsO,GAAyB,IAAvB/O,EAAO+O,EAAP/O,QACtC,MAAO,CAAC3C,KAAM4P,EAAAA,GAAmB9B,UAAWnL,QAAAA,EAChD,CAYO,SAASgP,EAASC,GAYN,IAVXrR,EAAIqR,EAAJrR,KACAmO,EAAMkD,EAANlD,OACAtC,EAAOwF,EAAPxF,QACAzJ,EAAOiP,EAAPjP,QAMHyH,GANU3B,UAAA4B,OAAA,QAAAtE,IAAA0C,UAAA,GAAAA,UAAA,GAM6B,CAAC,GAAxC2B,mBAED,OAAO,SAACM,EAAUC,GACd,IAAMjN,EAAQiN,IAGAkH,EAAVlH,IADAO,OAASpH,QAAAA,OAAO,IAAA+N,EAAG,GAAEA,EAGzBnH,EAAS,CACL1K,KAAM8R,EAAAA,GAAW1G,QACjBzI,QAAAA,IAGJ,IAAMoG,EACFpG,IAAYC,EAAAA,GAAc6G,KAAOW,IAAsBiB,EAAAA,EAAAA,IAAQ3N,QAASqI,EAC5E,OAAO5F,EAAAA,GAAUwN,YACZgE,UAAU7N,EAASvD,GAAI5B,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACjB+P,GAAM,IACTtC,QAAAA,EACAzJ,QAAAA,EACAoG,SAAAA,KAEH8C,MAAK,WACFnB,EAAS,CACL1K,KAAM8R,EAAAA,GAAW3F,QACjBxJ,QAAAA,GAER,IAAE,OACK,SAACM,GACJ,IAAI4K,EAAAA,EAAAA,GAAY5K,GACZ,OAAOyH,EAAS,CAAC1K,KAAM8R,EAAAA,GAAWhE,UAAWnL,QAAAA,IACzC,IAADoP,EACG3Q,GAAO6B,SAAe,QAAV8O,EAAL9O,EAAO+O,gBAAQ,IAAAD,OAAA,EAAfA,EAAiB3Q,QAAQ6B,aAAK,EAALA,EAAO+O,WAAY/O,EAMzD,OALAyH,EAAS,CACL1K,KAAM8R,EAAAA,GAAWhF,QACjB1L,KAAAA,EACAuB,QAAAA,IAEG2I,QAAQyC,OAAO9K,EAE9B,GACR,CACJ,CAEO,SAASgP,EAAeC,GAAoC,IAAlCvP,EAAOuP,EAAPvP,QAC7B,MAAO,CAAC3C,KAAM8R,EAAAA,GAAWhE,UAAWnL,QAAAA,EACxC,C,kLChYawP,EAA4B,SAAH1S,GAM/B,IALH2S,EAAG3S,EAAH2S,IACAC,EAAU5S,EAAV4S,WAKA,OAAID,IAAOE,EAAAA,EAAAA,IAAWF,GAZG,SAACC,EAAoBD,GAC9C,IAAAG,EAAuBH,EAAII,MAAM,KAAIC,GAAAzG,EAAAA,EAAAA,GAAAuG,EAAA,GAA3BG,GAAFD,EAAA,GAAWA,EAAA,IACnB,MAAM,uBAANlN,OAA8B8M,EAAU,6CAAA9M,OAA4C8M,EAAU,KAAA9M,OAAImN,EACtG,CAUeC,CAAqBN,EAAYD,GAhBrC,eAoBX,ECdaQ,EAA0B,SAAHnT,GAQE,IAPlCoT,EAAQpT,EAARoT,SACAtS,EAAId,EAAJc,KACA8R,EAAU5S,EAAV4S,WAMA,OAAO,SAACS,EAAGnI,GACP,IAAMoI,GAAWC,EAAAA,EAAAA,IAAYrI,KACvB+F,GAAMuC,EAAAA,EAAAA,IAAiBtI,IAAYkI,GACnCK,GAAaC,EAAAA,EAAAA,IAAcxI,KAE3ByI,EAASC,EAAAA,EAAMC,WAAW5C,EAAKqC,GAErC,OAAOM,EAAAA,EAAME,aAAa,CACtBhT,KAAAA,EACA6S,OAAAA,EACAI,cAAeN,EACfnC,QAAS,CAACsB,GACVoB,MAAO,GAEf,CACJ,EAEaC,EAA4B,SAAHC,GAQvB,IAPXC,EAAQD,EAARC,SACAxB,EAAGuB,EAAHvB,IACAC,EAAUsB,EAAVtB,WAMA,MAAM,0BAAN9M,OAAiCqO,EAAQ,MAAArO,OAAK4M,EAA0B,CAACE,WAAAA,EAAYD,IAAAA,IACzF,E,sBCxCayB,EAAyB,SAAHpU,GAQG,IAPlCc,EAAId,EAAJc,KACA8R,EAAU5S,EAAV4S,WACUpK,EAAKxI,EAAfoT,SAMA,OAAO,SAACC,EAAGnI,GACP,IAAMyI,GAASU,EAAAA,EAAAA,IAAenJ,KAExBkI,EAA6B,iBAAXO,EAAsBnL,EAAQmL,EAASnL,EAE/D,MAAM,GAAN1C,OAAUhF,EAAI,KAAAgF,QAAIwO,EAAAA,EAAAA,GAAY1B,GAAY2B,EAAAA,EAAAA,MAAe,OAAAzO,OAAMsN,EAAQ,MAAAtN,OAAKsN,EAAW,EAAC,IAC5F,CACJ,EAEaoB,EAA2B,SAAHN,GAQtB,IAPXC,EAAQD,EAARC,SACAvB,EAAUsB,EAAVtB,WACAD,EAAGuB,EAAHvB,IAMA,MAAM,kBAAN7M,OAAyBqO,EAAQ,MAAArO,OAAK4M,EAA0B,CAACE,WAAAA,EAAYD,IAAAA,IACjF,E,sBCZM8B,EAAc,SAAHzU,GAMqB,IALlC4S,EAAU5S,EAAV4S,WACAQ,EAAQpT,EAARoT,SAKA,OAAO,SAACnI,EAAUC,GACd,IAAMpK,GAAe4T,EAAAA,EAAAA,IAAQxJ,KAK7B,OAAOD,IAJW0J,EAAAA,EAAAA,IAAazJ,KAEJiI,EAA0BiB,GAE9B,CAACtT,KAAAA,EAAM8R,WAAAA,EAAYQ,SAAAA,IAC9C,CACJ,EAEMwB,EAAgB,SAAHV,GAQmB,IAPlCC,EAAQD,EAARC,SACAvB,EAAUsB,EAAVtB,WACAD,EAAGuB,EAAHvB,IAMA,OAAO,SAACkC,EAAW3J,GAKf,QAJkByJ,EAAAA,EAAAA,IAAazJ,KAER+I,EAA4BO,GAEzC,CAACL,SAAAA,EAAUvB,WAAAA,EAAYD,IAAAA,GACrC,CACJ,EAEMmC,EAAkB,SAAH/J,GAQ8C,IAP/DoJ,EAAQpJ,EAARoJ,SACAY,EAAWhK,EAAXgK,YACAC,EAAYjK,EAAZiK,aAMA,OAAO,SAACH,EAAW3J,GACf,IAAM+J,GAAYN,EAAAA,EAAAA,IAAazJ,KAEzBgK,GAAgBC,EAAAA,EAAAA,IAA8B,CAChDC,YAAaC,EAAAA,EACbN,YAAAA,IAGJ,OAAOE,GACDK,EAAAA,EAAAA,GAAiB,CACbC,WAAY,CACRL,cAAAA,EACAM,MAAOrB,GAEXa,aAAcA,QAAAA,EAAgBS,EAAAA,GAAwBC,oBAE1DC,EAAAA,EAAAA,GAAgB,CACZJ,WAAY,CAACzU,KAAMqT,EAAUe,cAAAA,GAC7BF,aAAcA,QAAAA,EAAgBS,EAAAA,GAAwBC,kBAEpE,CACJ,EAEaE,EAAgB,SAAHvJ,GAUI,IAT1BuG,EAAUvG,EAAVuG,WACAQ,EAAQ/G,EAAR+G,SACAT,EAAGtG,EAAHsG,IACAkD,EAAWxJ,EAAXwJ,YAOA,sBAAAvJ,GAAArD,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAA6B,EAAOC,EAAUC,GAAQ,IAAA6J,EAAAZ,EAAA2B,EAAAnU,EAAAoU,EAAAC,EAAAC,EAAA3C,EAAA4C,EAAArO,EAAAsO,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAA1N,EAAAA,EAAAA,KAAAM,MAAA,SAAAgC,GAAA,cAAAA,EAAA9B,KAAA8B,EAAA7B,MAAA,OAsBiB,OArBvCoL,GAAc8B,EAAAA,EAAAA,IAAkB3L,KAEhCiJ,EAAWlJ,EAASwJ,EAAY,CAAC7B,WAAAA,EAAYQ,SAAAA,KAE7C0C,EAA+B7K,EAAS2J,EAAc,CAACT,SAAAA,EAAUvB,WAAAA,EAAYD,IAAAA,KAE/EkD,EACAA,EAAYiB,eAAe,CAAClE,WAAAA,EAAYQ,SAAAA,KAExC2D,EAAAA,EAAAA,KAAM,WACF9L,EAAS,CAAC1K,KAAMyW,EAAAA,EAAarL,QAAShK,KAAM,CAACmU,qBAAAA,KAC7C7K,GAASgM,EAAAA,EAAAA,MACb,IAGEtV,EAIF,CAAC,EAEDoU,GAAoC,EAAKvK,EAAA9B,KAAA,EAAA8B,EAAA7B,KAAA,EAGhBsB,EACrB6J,EAAgB,CACZX,SAAAA,EACAY,YAAAA,EACAC,aAAca,aAAW,EAAXA,EAAaqB,oBAEjC,KAAD,GANKlB,EAAUxK,EAAAjB,MAQDwK,aACJkB,EAAkBD,EAAlBC,KAAM3C,EAAY0C,EAAZ1C,SACP4C,EAASD,EAAK,GAAGrD,GACjB/K,EAAQqO,EAAO,GACfC,EAAYD,EAAO,GAEnBE,EAA+B,CAACe,YAAY,GAAMd,EAE1Be,EAAAA,EAAQC,WAAWC,IAC7C,CAACzP,EAAOyL,aAAQ,EAARA,EAAW6C,IACnB,CACIoB,mBAAejR,EACfkR,iBAAalR,EACbmR,gBAAgB,GAEpBrB,GAPGE,EAAKD,EAALC,MAAOC,EAAMF,EAANE,OAAQC,EAAIH,EAAJG,KAUtBT,EAAeK,EAAMe,WAErBxV,EAAK2U,MAAQA,EACb3U,EAAK4U,OAASC,EAAOD,EAAOA,OAASA,EACrC5U,EAAK6U,KAAOA,IAELP,EAAQD,EAARC,KACDC,EAASD,EAAK,GAAGrD,GAEjB+D,EAAUT,GAAUA,EAAOI,MAEjC3U,EAAK2U,MAAQJ,EAAOI,MACpB3U,EAAK4U,OAASI,EAAUT,EAAOK,OAASL,EAExCH,EAAeG,EAAOwB,aAGpBd,EAAab,EACb,4FACA,uDAEFF,EACAA,EAAY8B,UAAU,CAAC/E,WAAAA,EAAYQ,SAAAA,EAAUzR,KAAMqU,IAEnD/K,EAAS,CACL1K,KAAMyW,EAAAA,EAAatK,QACnB/K,KAAM,CACFA,KAAAA,EACAiV,WAAAA,KAGXpL,EAAA7B,KAAA,iBAAA6B,EAAA9B,KAAA,GAAA8B,EAAA5B,GAAA4B,EAAA,UAEI4C,EAAAA,EAAAA,GAAW5C,EAAA5B,MACRiM,EACAA,EAAY+B,QAAQ,CAAChF,WAAAA,EAAYQ,SAAAA,EAAU5P,MAAKgI,EAAA5B,KAEhDqB,EAAS,CAAC1K,KAAMyW,EAAAA,EAAa3J,QAAS1L,KAAM,CAAC6B,MAAKgI,EAAA5B,OAEzD,yBAAA4B,EAAAf,OAAA,GAAAO,EAAA,mBAER,gBAAArC,EAAAC,GAAA,OAAA0D,EAAAvD,MAAA,KAAAC,UAAA,EA5FD,EA6FJ,C,kDC9LO,SAASjI,EAAkBC,GAC9B,OAAOA,IAAe6W,EAAAA,EAC1B,C,iJCHO,SAASC,EAAqBC,EAAMC,GAEvC,MAAMC,EAASF,EAAKG,aAAa,UACjC,OAAQH,EAAKI,QACPF,GAAqB,UAAXA,IACZF,EAAKK,SAAWC,SAASD,SACxBL,EAAKO,aAAa,cAClBN,EAAUO,UACVP,EAAUQ,UACVR,EAAUS,SACVT,EAAUU,QACnB,CACO,MAAMC,GAAI,E,SAAA,IAAM,gBCThB,SAASC,EAAe5Z,GAC3B,IAAI6Z,EACJ,MAAMC,EAAU9Z,EAAMmZ,KAAO,IAAM,OAC7BY,GAAW,EAAAC,EAAA,GAAeha,EAAO,CAAEia,WAAW,IACpD,IAAI5X,EAAQrC,EAAMqC,MACbA,GAAmC,iBAAnBrC,EAAMM,WACvB+B,EAAQrC,EAAMM,UAElB,MAAM4Z,EAAgBC,IAClB,GAAIna,EAAMoa,SAEN,YADAD,EAAME,iBAGoB,mBAAnBra,EAAMsa,UACbta,EAAMsa,WAEV,MAAMrB,EAASkB,EAAMI,cACS,mBAAnBva,EAAMwa,UAA2BvB,aAAkBwB,mBACtDza,EAAMmZ,OAASgB,EAAMO,sBAAwB5B,EAAqBG,EAAQkB,KAC1EA,EAAME,iBACNra,EAAMwa,SAASxa,EAAMmZ,KAAMnZ,EAAM2a,eAEzC,EAEEC,EAAa5a,EAAMoa,SACzB,IAAIS,EAAY,CACZxY,QACAyY,QAASZ,EACT,kBAAiBU,QAAoBtT,GA0BzC,MAxBgB,MAAZwS,GACAe,EAAU1B,KAAOnZ,EAAMmZ,KACvB0B,EAAUE,SAAW/a,EAAM+a,SAC3BF,EAAU5B,OAASjZ,EAAMiZ,OACzB4B,EAAUG,IAAuB,WAAjBhb,EAAMiZ,QAAwBjZ,EAAMgb,IAA8Bhb,EAAMgb,IAA9B,sBAC1DH,EAAUI,SAAWjb,EAAMib,SAC3BJ,EAAUK,KAAOlb,EAAMkb,KACvBL,EAAUM,eAAiBnb,EAAMmb,iBAGjCN,EAAUO,KAAO,OACjBP,EAAUQ,SAAWT,OAAatT,EAAY,EAC9CuT,EAAUS,UAAanB,IACD,UAAdA,EAAMlI,KACNiI,EAAaC,EACjB,GAGJna,EAAMub,UACNV,EAAU,gBAAmD,QAAhChB,EAAK7Z,EAAM,uBAAoC,IAAP6Z,EAAgBA,EAAK,QAEvE,SAAnB7Z,EAAMwb,WACNX,EAAY,CAAC,IAET,SAAKf,EAASlI,OAAO6J,OAAO,CAAC,EAAG1B,EAAUc,EAAW,CAAE9X,UAA8B,SAAnB/C,EAAMwb,SACtE7B,EAAE,QACFA,EAAE,OAAQ,CACR,aAAc3Z,EAAMub,QACpB,cAAeX,IAAe5a,EAAMub,UACpCjb,SAAUN,EAAMM,WAChC,CC9DO,SAASob,GAAqB,UAAEC,IACnC,OAAQ,SAAK,MAAO,CAAE,eAAe,EAAM5Y,UAAW4W,EAAE,WAAYrZ,SAAUqb,QAA6CA,EAAY,KAC3I,CD6DA/B,EAAegC,YAAc,mBC5D7BF,EAAqBE,YAAc,wB,uKCDnC,GAAe,EAAAC,EAAA,GAAoB,CAAEC,GAAE,KAAI,GADzB,mBCUlB,SAASC,EAAKC,GACV,OAAO,IACX,CACO,MAAM,EAAc,cAAiB,SAAqBhc,EAAOic,GACpE,MAAMC,EAAU,SAAa,MACvBC,GAAe,EAAAC,EAAA,GAAWH,EAAKC,GAC/BG,EAAQ,GACd,WAAevK,QAAQ9R,EAAMM,UAAU,CAACgc,EAAO9S,KACvC,iBAAqB8S,UACHhV,IAAdgV,EAAMrK,KAAmC,OAAdqK,EAAMrK,MACjCqK,EAAQ,eAAmBA,EAAO,CAAErK,IAAKzI,KAE7C6S,EAAMhK,KAAKiK,GACf,IAEJ,MAAOC,EAAmBC,GAAwB,WAAeH,EAAMzQ,SAChE6Q,EAAYC,GAAiB,YAAe,GA0D7CC,EAAe,eAAkB,KACnCD,GAAc,GACdF,EAAqBH,EAAMzQ,OAAO,GACnC,CAACyQ,EAAMzQ,UACV,EAAAgR,EAAA,GAAkB,CACdX,IAAKC,EACLW,SAAUF,IAEd,MAAMG,EAAe,SAAa,MAClC,mBAAsB,KACdL,GAAczc,EAAMM,WAAawc,EAAavB,UAC9CuB,EAAavB,QAAUvb,EAAMM,SAC7Boc,GAAc,GACdF,EAAqBH,EAAMzQ,QAC/B,GACD,CAAC6Q,EAAYJ,EAAMzQ,OAAQ5L,EAAMM,WACpC,mBAAsB,KACbmc,GA1EW,CAACM,IACjB,MAAMC,EAAOd,EAAQX,QACrB,IAAKyB,EACD,OAEJ,MAAMC,EAAYC,MAAMC,KAAKH,EAAK1c,UAClC,GAAyB,IAArB2c,EAAUrR,OACV,OAEJ,MAAMwR,EAAiBJ,EAAKK,YAC5B,IAAIC,EAAuB,EACvBC,EAAkB,EAClBC,EAAWxd,EAAMwd,UAAYC,IAC7BC,EAAY,EAChB,GAAI1d,EAAM2d,SAAU,CAChB,MAAMxc,EAAO8b,EAAUW,QACnBzc,IACAuc,EAAYvc,EAAK0c,YACjBN,GAAmBG,GAEvBJ,GACJ,CAEA,GADgBjB,EAAMzQ,OAASmR,EAClB,CACT,MAAM5b,EAAO8b,EAAUW,QACnBzc,IACAoc,GAAmBpc,EAAKkc,aAE5BG,GACJ,CACIxd,EAAM2d,UAAYJ,GAAmBH,IACrCG,GAAmBG,EACnBJ,KAEJ,MAAMQ,EAAWb,EAAUc,MACvBD,IACAP,GAAmB5N,KAAKqO,IAAIF,EAAST,YAAa,KAC9CE,EAAkBH,GAClBE,KAGR,IAAK,IAAIW,EAAIhB,EAAUrR,OAAS,EAAGqS,GAAK,IAEpCV,GADaN,EAAUgB,GACCZ,cACpBE,GAAmBH,IAHgBa,IAMvCX,IAEJA,EAAuB3N,KAAKuO,IAAIvO,KAAKqO,IAAIR,EAAUF,GAAuB,GACtEA,IAAyBf,EACzBG,GAAc,GAGdF,EAAqBc,EACzB,EAoBIa,CAAY5B,EAChB,IAEJ,MAAM,SAAE/B,GAAaxa,EACrB,IAAIoe,EAAW/B,EACf,GAAIA,EAAMzQ,OAAS2Q,EAAmB,CAClC6B,EAAW,GACX,MAAMC,EAAc,IAAIhC,GACxB,IAAIiC,EAAW/B,EACf,GAAIvc,EAAM2d,UAAYpB,EAAoB,EAAG,CACzC,MAAMgC,EAAWF,EAAYT,QACzBW,GACAH,EAAS/L,KAAKkM,GAElBD,GACJ,CACA,MAAME,EAAcH,EAAYI,MAAM,GAAIH,GACpCI,GAAY,SAAK9E,EAAgB,CAAE4B,SAAU,OAAQlb,UAAU,SAAKqe,EAAA,EAAc,CAAEtC,MAAOmC,EAAY9X,KAAI,CAACkY,EAAIpV,IACnGoI,OAAO6J,OAAO7J,OAAO6J,OAAO,CAAC,EAAGmD,EAAG5e,OAAQ,CAAE6e,KAAMD,EAAG5e,MAAMM,SAAU8Z,SAAUpa,EAAMoa,SAAUiC,MAAO,GAAI5S,OAAS0Q,IACnH,IAAIN,EAC0B,mBAAnB7Z,EAAMsa,UACbta,EAAMsa,SAA2B,QAAjBT,EAAK+E,EAAG3M,WAAwB,IAAP4H,EAAgBA,EAAKrQ,GAGlE,MAAMyP,EAASkB,EAAMI,cACG,mBAAbC,GACPvB,aAAkBwB,mBACdmE,EAAG5e,MAAMmZ,MAAQL,EAAqBG,EAAQkB,KAC9CA,EAAME,iBACNG,EAASoE,EAAG5e,MAAMmZ,KAAMyF,EAAG5e,MAAM2a,eAEzC,MAERmE,WAAY,CACZ/b,UAAW4W,EAAE,QAAS,CAClBoF,UAAgC,cAArB/e,EAAMgf,aAErBC,UAAWjf,EAAMkf,gBAClBC,eAAgB,EAAGrE,cAAe,SAAKsE,EAAA,EAAQ,CAAE/c,MAAOgd,EAAK,cAAetc,UAAW4W,EAAE,eAAgBmB,QAASA,EAAS7W,KAAM,IAAKkC,KAAM,OAAQiU,SAAUpa,EAAMoa,SAAU9Z,UAAU,SAAK8e,EAAA,EAAOnd,KAAM,CAAE3B,SAAU,cACjO8d,EAAS/L,KAAKqM,GACdN,EAAS/L,QAAQgM,EAAYI,OAAOH,GACxC,CACA,MAAMgB,EAAYlB,EAASxS,OAAS,EAC9B2T,EAAkBnB,EAAS1X,KAAI,CAAC4V,EAAO9S,KACzC,IAAIqQ,EACJ,MAAM2F,EAAYhW,IAAU8V,EACtBrN,EAA2B,QAApB4H,EAAKyC,EAAMrK,WAAwB,IAAP4H,EAAgBA,EAAKrQ,EAM9D,OAAQ,UAAM,KAAM,CAAEzG,UAAW4W,EAAE,OAAQ,CAAE8F,aAAchD,IAAenc,SAAU,EAAC,mBAAesZ,EAAgBhI,OAAO6J,OAAO,CAAC,EAAGa,EAAMtc,MAAO,CAAEiS,IAAKA,EAAKsJ,QAASiE,EAAWpF,SAAUpa,EAAMoa,UAAYkC,EAAMtc,MAAMoa,SAAUE,SALhN,KACa,mBAAnBta,EAAMsa,UACbta,EAAMsa,SAASrI,EACnB,EAEyPuI,SAAUA,IAAa8B,EAAMtc,MAAMM,UAAWkf,EAAY,MAAO,SAAK9D,EAAsB,CAAEC,UAAW3b,EAAM2b,cAAiBnS,EAAO,IAExY,OAAQ,SAAK,KAAMoI,OAAO6J,OAAO,CAAEQ,IAAKE,IAAgB,EAAAnC,EAAA,GAAeha,EAAO,CAAEia,WAAW,IAAS,CAAE,UAAWja,EAAM0f,GAAI3c,UAAW4W,EAAE,KAAM3Z,EAAM+C,WAAY4c,MAAO3f,EAAM2f,MAAOrf,SAAUif,IAClM,IACA,EAAYxD,KAAOA,EACnB,EAAYH,YAAc,c,8BC1JpBjC,GAAI7U,EAAAA,EAAAA,GAAG,oBAEA8a,EAAuD,SAAH5e,GAA8B,IAAzBV,EAAQU,EAARV,SAAaN,GAAK6f,EAAAA,EAAAA,GAAA7e,EAAA8e,GACpF,OACItf,EAAAA,EAAAA,KAACuf,GAAY7f,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAKF,GAAK,IAAE+C,UAAW4W,EAAE,KAAM3Z,EAAM+C,WAAWzC,SACxDA,IAGb,C,mLCbMuE,GAAQC,EAAAA,EAAAA,GAAG,mBAQjB,SAASkb,EAAWhf,GAAuD,IAArDif,EAASjf,EAATif,UAAWC,EAASlf,EAATkf,UAAWnd,EAAS/B,EAAT+B,UACxC,YAAkBuE,IAAd2Y,QAAyC3Y,IAAd4Y,EACpB,KAGJA,EAAa,GAChBjgB,EAAAA,EAAAA,MAAA,QAAM8C,UAAW8B,EAAM,KAAM9B,GAAWzC,SAAA,CAAC,UAC7B2f,GAAa,GAAK,EAAE,MAAIC,KAEpC,IACR,CAEA,QAAe5c,EAAAA,KAAW0c,G,0BCPpBnb,GAAQC,EAAAA,EAAAA,GAAG,iBA+CjB,SAASqb,EAAYnf,GAIyD,IAH1EkW,EAAMlW,EAANkW,OACA7U,EAAKrB,EAALqB,MACA+d,EAAUpf,EAAVof,WAEMC,EAAIhe,QAAAA,EAASie,IAAYpJ,GAE/B,MAAO,CAACqJ,YADaH,GAAaC,EACbG,aAAcH,EACvC,CA+Be,SAASI,EAAwCzgB,GAC5D,IAAO+C,EAAkF/C,EAAlF+C,UAAW2d,EAAuE1gB,EAAvE0gB,MAAOC,EAAgE3gB,EAAhE2gB,MAAOC,EAAyD5gB,EAAzD4gB,OAAQC,EAAiD7gB,EAAjD6gB,eAAgBC,EAAiC9gB,EAAjC8gB,QAASb,EAAwBjgB,EAAxBigB,UAAWC,EAAalgB,EAAbkgB,UAC5Ea,EA/BJ,SACI/gB,GAEA,QAAsBsH,IAAlBtH,EAAM6L,QAAuB,CAC7B,IAAOqL,EAA+ElX,EAA/EkX,OAAQ8J,EAAuEhhB,EAAvEghB,eAAgBC,EAAuDjhB,EAAvDihB,cAAe5e,EAAwCrC,EAAxCqC,MAAO+d,EAAiCpgB,EAAjCogB,WAAYc,EAAqBlhB,EAArBkhB,kBACjE,OAAAhhB,EAAAA,EAAAA,GAAA,CACIgX,OAAAA,EACA8J,eAAAA,EACAC,cAAAA,EACAC,kBAAAA,GACGf,EAAa,CAACjJ,OAAAA,EAAQ7U,MAAAA,EAAO+d,WAAAA,IAExC,CAEA,IAAevX,EAAqC7I,EAA7CkX,OAAerL,EAA8B7L,EAA9B6L,QAASxJ,EAAqBrC,EAArBqC,MAAO+d,EAAcpgB,EAAdogB,WAChCe,EAAatV,EAAQuV,MAAK,SAAAlM,GAAA,IAAEgC,EAAMhC,EAANgC,OAAM,OAAMrO,IAAUqO,CAAM,IAO9D,OANKiK,IACDE,EAAAA,EAAAA,IAAY,CACRvZ,QAAS,mEACTwZ,WAAYthB,KAGpBE,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,CACIqhB,UAAWpB,GAAYjgB,EAAAA,EAAAA,GAAC,CAAC,EAAGihB,KACzBA,GACAhB,EAAa,CAACjJ,OAAQ,GAAI7U,MAAAA,EAAO+d,WAAAA,IAE5C,CAYQoB,CAAcxhB,GAPdkX,EAAM6J,EAAN7J,OACA8J,EAAcD,EAAdC,eACAC,EAAaF,EAAbE,cACAV,EAAWQ,EAAXR,YACAC,EAAYO,EAAZP,aACAU,EAAiBH,EAAjBG,kBACAK,EAASR,EAATQ,UAGEE,EAAgBne,EAAAA,aAClB,SAAC0F,GACG,IAAM0Y,EAAYR,GACZS,EAAAA,EAAAA,IAAwBhB,EAAOO,IAC/BU,EAAAA,EAAAA,IAAmBjB,EAAOK,EAAgBC,GAChDL,SAAAA,EAAS1J,EAAQwK,EAAW,CACxBG,aAAclB,EACdmB,UAAW9Y,EAAEwQ,SAAWxQ,EAAEuQ,SAElC,GACA,CAACrC,EAAQyJ,EAAOC,EAAQI,EAAgBE,EAAmBD,IAGzDc,EAAWC,QAAQpB,GAEzB,OACI3gB,EAAAA,EAAAA,MAAA,OAAK8C,UAAW8B,EAAM,KAAM9B,GAAWzC,SAAA,EACnCL,EAAAA,EAAAA,MAAA,OACI8C,UAAW8B,EAAM,aAAc,CAACkd,SAAAA,EAAUrB,MAAAA,IAC1C5F,QAASiH,EAAWN,OAAgBna,EAAUhH,SAAA,EAE9CE,EAAAA,EAAAA,KAAA,QAAMuC,UAAW8B,EAAM,SAAUxC,MAAOme,EAAalgB,SAChDigB,IAEJwB,IACGvhB,EAAAA,EAAAA,KAAA,QAAMuC,UAAW8B,EAAM,QAAQvE,UAC3BE,EAAAA,EAAAA,KAACyhB,EAAAA,EAAQ,CAACtB,MAAOA,WAGLrZ,IAAnBuZ,IACG5gB,EAAAA,EAAAA,MAAA,QAAM8C,UAAW8B,EAAM,aAAavE,SAAA,CAAC,KAC3BE,EAAAA,EAAAA,KAAA,OAAAF,SAAMugB,OAGnBmB,QAAQrB,IAAUqB,QAAQT,KACvB/gB,EAAAA,EAAAA,KAACmH,EAAAA,EAAI,CACD5E,UAAW8B,EAAM,QAAS,CAAC,cAAc,IACzCqd,QAAQ,YACR7f,MAAOkf,aAAS,EAATA,EAAWf,aAClB2B,MAAM,iBAAgB7hB,SAErBihB,aAAS,EAATA,EAAWhB,kBAIxB/f,EAAAA,EAAAA,KAAC4hB,EAAiB,CAACvW,QAAS7L,EAAM6L,QAAS8U,MAAOA,EAAOC,OAAQA,SACpDtZ,IAAZwZ,IACGtgB,EAAAA,EAAAA,KAAA,OAAKuC,UAAW8B,EAAM,UAAUvE,UAC5BE,EAAAA,EAAAA,KAAC6hB,EAAAA,EAAM,CAACC,QAASxB,MAGxBkB,QAAQ9B,KACL1f,EAAAA,EAAAA,KAACwf,EAAW,CACRjd,UAAW8B,EAAM,gBACjBob,UAAWA,EACXC,UAAWA,MAK/B,CAEA,SAASkC,EAAiBrW,GAOtB,IANA4U,EAAK5U,EAAL4U,MACA9U,EAAOE,EAAPF,QACA+U,EAAM7U,EAAN6U,OAKA,OAAQ/U,GACJrL,EAAAA,EAAAA,KAACme,EAAAA,EAAY,CACTtC,MAAOxQ,EAAQnF,KAAI,SAAC6b,GAEhB,MAAO,CACH1D,KAFmBsB,EAAaoC,GAA7B/B,aAGH/W,OAAM,WACF,GAAKmX,EAAL,CAGA,IAAO1J,EAA4DqL,EAA5DrL,OAAQ8J,EAAoDuB,EAApDvB,eAAgBC,EAAoCsB,EAApCtB,cAAeC,EAAqBqB,EAArBrB,kBACxCQ,EAAYR,GACZS,EAAAA,EAAAA,IAAwBhB,EAAOO,IAC/BU,EAAAA,EAAAA,IAAmBjB,EAAOK,EAAgBC,GAChDL,EAAO1J,EAAQwK,EAAW,CACtBG,aAAclB,GANlB,CAQJ,EAER,IACAxB,eAAgB,SAAF9R,GAAA,IAAIyN,EAAOzN,EAAPyN,QAAO,OACrBta,EAAAA,EAAAA,KAAC4e,EAAAA,EAAM,CAACtE,QAASA,EAAS3U,KAAK,OAAOlC,KAAK,KAAI3D,UAC3CE,EAAAA,EAAAA,KAACyB,EAAAA,EAAI,CAACgC,KAAM,GAAItB,KAAM6f,EAAAA,KACjB,IAvBH,IA2BtB,C,kRC3LM3d,GAAQC,EAAAA,EAAAA,GAAG,2BAEX2d,EAAmB,WAiDnBC,EAAoD,CACtDC,sBAAuB,OAGrBC,EAAgB,IAAIC,IAAmC,CAAC,cAAe,oBA2Q7E,SAAeC,EAAAA,EAAAA,IAAQC,EAAAA,EAAvB,EAzQA,SAA4B/iB,GAAe,IAADgjB,EAElCC,EAeAjjB,EAfAijB,QACAX,EAcAtiB,EAdAsiB,QACAY,EAaAljB,EAbAkjB,WACAC,EAYAnjB,EAZAmjB,YACApgB,EAWA/C,EAXA+C,UACAgD,EAUA/F,EAVA+F,gBACAjE,EASA9B,EATA8B,KACAoC,EAQAlE,EARAkE,QACAQ,EAOA1E,EAPA0E,mBACAC,EAMA3E,EANA2E,yBACAH,EAKAxE,EALAwE,MACAa,EAIArF,EAJAqF,QACAwI,EAGA7N,EAHA6N,aACA7H,EAEAhG,EAFAgG,YAIEod,GAAUC,EAAAA,EAAAA,cAAY,WACxBF,IACAxe,EAAyB,CAACT,QAAAA,GAC9B,GAAG,CAACif,EAAaxe,EAA0BT,IAE3CoM,EAII5O,EAAAA,GAAUwN,YAHVoU,EAAwBhT,EAAxBgT,yBAAwB/S,EAAAD,EACxBE,wBAAAA,OAAuB,IAAAD,EAAG,CAAC,EAACA,EAC5BgT,EAAYjT,EAAZiT,aAGEC,GAAQH,EAAAA,EAAAA,cACV,SAACI,GACG,IAAMxT,GAAM/P,EAAAA,EAAAA,GAAA,GAAOujB,EAAKvX,WAAW+D,QAC7BY,EAA2C,CAAC,EAOlD,OANAe,OAAO8R,KAAKlT,GAAyBsB,SAAQ,SAAC6R,GAC1C,IAAM1R,EAAG,GAAAnL,OAAM2b,GAAgB3b,OAAG6c,GAClC9S,EAAgB8S,GAAK3B,QAAQ/R,EAAOgC,WAE7BhC,EAAOgC,EAClB,IACOvN,EAAmB,CACtBuL,QAAM/P,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAM+P,GAAM,IAAEY,gBAAAA,IACpB3M,QAAAA,GAER,GACA,CAACQ,EAAoBR,IAGnB0f,EAAc,WAAA9c,OAAkC,QAAlCkc,EAAcN,EAAYxe,UAAQ,IAAA8e,EAAAA,EAAI9e,GAC1D2f,EACIniB,EAAAA,GAAU4H,4BAA4BpF,GADnC4f,EAAoBD,EAApBC,qBAAsBC,EAAuBF,EAAvBE,wBAG7BC,EAAwD1gB,EAAAA,cAEtDgE,GAAU2c,GAAA1W,EAAAA,EAAAA,GAAAyW,EAAA,GAFLE,EAAoBD,EAAA,GAAEE,EAAuBF,EAAA,GAI9CG,GAASf,EAAAA,EAAAA,cAAWpZ,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAC,SAAA6B,IAAA,IAAAnD,EAAA,OAAAqB,EAAAA,EAAAA,KAAAM,MAAA,SAAAgC,GAAA,cAAAA,EAAA9B,KAAA8B,EAAA7B,MAAA,cAAA6B,EAAA9B,KAAA,EAAA8B,EAAA7B,KAAA,EAECoZ,aAAuB,EAAvBA,EAA0B,CAACjiB,KAAAA,IAAO,KAAD,EAA/C+G,EAAK2D,EAAAjB,KACX4Y,EAAwBtb,GAAO2D,EAAA7B,KAAA,gBAAA6B,EAAA9B,KAAA,EAAA8B,EAAA5B,GAAA4B,EAAA,SAE/B2X,OAAwB7c,GAAW,QAEtB,OAFsBkF,EAAA9B,KAAA,GAEnCwY,IAAa1W,EAAAoG,OAAA,6BAAApG,EAAAf,OAAA,GAAAO,EAAA,wBAElB,CAAClK,EAAMohB,EAAYa,IAEhBM,GAAoBngB,IAAYC,EAAAA,GAAc4G,QAE9CuZ,GAAUJ,QAAAA,EAAwBJ,EAClCtd,GAAc6d,GAuMxB,SAAqCC,GACjC,OAAKA,GAAWA,EAAQ1Y,OAAS,EACtB,CAAC,GAGZ2Y,EAAAA,EAAAA,GAAA,GACKC,EAAAA,EAAmBC,cAAcH,EAAQ,IAAMA,EAAQ,GAEhE,CA/M4CI,CAA4BJ,IAAW,KAEzEK,IAGFC,EAAAA,EAAAA,UAAQ,WACR,IAAMC,EAAkB3gB,IAAYC,EAAAA,GAAc4G,QAAU,CAAC,QAAKzD,EAClE,MAAO,CACHjC,QAAS,CACL9D,KAAM,QACNujB,QAAS,UACTC,OAAQ,CACJhiB,UAAW8B,EAAM,aAGzB/C,KAAM,CACFP,KAAM,OACNujB,QAASlB,EACTmB,OAAQ,CACJ3K,UAAW5V,IAGnBgC,YAAa,CACTjF,KAAM,cACNujB,QAAS,cACTE,UAAU,EACVC,SACIzkB,EAAAA,EAAAA,KAAAmD,EAAAA,SAAA,CAAArD,UACK4kB,EAAAA,EAAAA,KACGC,EAAAA,EAAAA,IAASzjB,EAAAA,GAAU0jB,SAAS,mBAAoB,qBAChD,uBAIZL,OAAQ,CACJT,QAASA,GACTO,gBAAAA,IAGR9T,YAAa,CACTxP,KAAM,cACNujB,QAAS,eACTE,UAAU,GAEdlU,gBAAiB,CACbvP,KAAM,mBACNujB,QAAS,oBACTE,UAAU,EACVD,OAAQ,CACJlX,aAAAA,IAGRwD,SAAU,CACN9P,KAAM,eACNujB,QAAS,WACTE,UAAU,EACVD,OAAQ,CACJM,YAAa,0CACbC,aAAc,CAAC,QAAS,SAAU,SAG1ClU,SAAU,CACN7P,KAAM,cACNujB,QAAS,YAEbS,cAAe,CACXhkB,KAAM,QACNwB,UAAW8B,EAAM,yBACjBkgB,OAAQ,CACJzkB,UACIL,EAAAA,EAAAA,MAACqD,EAAAA,SAAc,CAAAhD,SAAA,EACXE,EAAAA,EAAAA,KAAA,OAAKuC,UAAW,mBAAmBzC,SAAC,aACpCE,EAAAA,EAAAA,KAAA,OAAKuC,UAAW8B,EAAM,kBAAkBvE,SAAC,kKASzDwS,QAAS,CACLvR,KAAM,WACNwB,UAAW8B,EAAM,mBAErB+L,iBAAkB,CACdrP,KAAM,mBACNujB,QAAS,mBACTC,OAAQ,CACJ1I,MAAO9S,IAAKic,EAAAA,IAAwB,SAAC3c,GAAK,MAAM,CAC5CA,MAAOA,EACPgW,KAAMvc,EAAAA,EAAOC,OAAsB,cAAEsG,GACxC,IACD4c,WAAW,EACXC,YAAY,EACZC,KAAM,QAGd9U,gBAAiB,CACbtP,KAAM,QACNujB,QAAS,mBACTC,OAAQ,CAACzkB,SAAU,oBAG/B,GAAG,CAACgkB,GAASV,EAAgBpf,EAAON,IAE9B0hB,GAAa3C,IAAY4C,EAAAA,GAAQC,2BAEjCC,IAAenB,EAAAA,EAAAA,UAAQ,WACzB,IAAIoB,GAAc,EACZC,EAAM3C,EAAyB4C,QACjC,SAACC,EAAKC,GAEF,OADmBR,GAAuB,gBAAVQ,EAA2BxD,EAAcyD,IAAID,MAK/D,oBAAVA,IACAJ,EAAaG,EAAIva,QAGrBua,EAAI9T,MAAInS,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACHykB,GAAgByB,IAAM,IACzBE,KAAMF,MATCD,CAaf,GACA,IAGJ,IAAoB,IAAhBH,EAAmB,CACnB,IAAM5O,EAAoBxF,OAAO8R,KAAKlT,QAAAA,EAA2B,IAAI9J,KAAI,SAACuL,GACtE,IAAMC,EAAW1B,EAAwByB,GACzC,MAAO,CACH1Q,KAAM,UACNujB,QAASxiB,EAAAA,EAAOC,OAAOgkB,cAAcrU,aAAQ,EAARA,EAAU7P,OAC/CikB,KAAK,GAADxf,OAAK2b,GAAgB3b,OAAGmL,GAC5BgT,QAAS/S,EAASsU,KAClBC,aAAcvU,EAASuU,aAE/B,IACAR,EAAIS,OAAM3c,MAAVkc,EAAG,CAAQD,EAAY,GAAClf,QAAA6f,EAAAA,EAAAA,GAAKvP,IACjC,CACA,OAAO6O,CACX,GAAG,CAACtB,GAAiBrB,EAA0BsC,KAE/C1Q,GAAoEqO,QAAAA,EAAgB,CAAC,EAACqD,GAAA1R,GAA/E2R,QAAAA,QAAO,IAAAD,GAAG,WAAUA,GAAAE,GAAA5R,GAAE6R,eACvB1kB,GAAQujB,QAD6B,IAAAkB,GAAG,mBAAkBA,GACpBD,GAE5C,OAAQvC,UAAAA,GAAS1Y,QACbpL,EAAAA,EAAAA,KAACwmB,EAAAA,EAAa,CAAA1mB,UACVL,EAAAA,EAAAA,MAAA,OAAK8C,UAAW8B,EAAM,KAAM9B,GAAWzC,SAAA,EACnCE,EAAAA,EAAAA,KAAC4e,EAAAA,GAAMlf,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,CAAC6C,UAAWgD,EAAiBI,KAAK,UAAaH,GAAW,IAAE8U,QAASsJ,EAAO9jB,SAC9E+B,OAGL7B,EAAAA,EAAAA,KAACymB,EAAAA,GAAU,CACPC,qBAAmB,EACnB9D,QAASA,EACTrgB,UAAW8B,EAAM,SACjByd,QAASN,QAAQM,GACjBkB,MAAOA,EACP2D,YAAa,CACT9kB,MAAAA,IAEJ+kB,cAAe,CACXtlB,KAAAA,EACA0E,YAAAA,GACAnB,QAAAA,EACAuL,iBAAkB4U,EAAAA,GAAuB6B,wBAE7CC,SAAU,SAACrX,GACP,IACMsX,EAGF,CACAlW,cAAU/J,GAQd,OAbiB2I,EAAOoB,SAQVzF,SAEV2b,EAAgBlW,SADK,4CAIlBkW,CACX,EACAC,OAAM,GAAA1gB,QAAA6f,EAAAA,EAAAA,GAAMZ,KAAYY,EAAAA,EAAAA,IAAKc,EAAAA,EAAAA,GAAgB,CAACjjB,aAtCpC,IA2C9B,G,4FCvVA,QADqB,SAAAxE,GAAK,OAAIQ,EAAAA,EAAAA,KAAA,OAAAN,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,CAAKC,MAAM,6BAA6BC,KAAK,OAAOC,QAAQ,aAAgBL,GAAK,IAAAM,UAAEE,EAAAA,EAAAA,KAAA,QAAMJ,KAAK,UAAUK,EAAE,6lBAAkmB,ECQ1uB,IAAMkZ,GAAI9U,EAAAA,EAAAA,GAAM,cAMT,SAASI,EAAIjE,GAAoC,IAAlCV,EAAQU,EAARV,SAAUyC,EAAS/B,EAAT+B,UAC5B,OACI9C,EAAAA,EAAAA,MAAA,OAAK8C,UAAW4W,EAAE,KAAM5W,GAAWzC,SAAA,EAC/BE,EAAAA,EAAAA,KAAA,OAAKuC,UAAW4W,EAAE,QAAQrZ,UACtBE,EAAAA,EAAAA,KAACyB,EAAAA,EAAI,CAACU,KAAM+kB,OAEhBlnB,EAAAA,EAAAA,KAAA,OAAKuC,UAAW4W,EAAE,QAAQrZ,SAAEA,MAGxC,C,kDCrBO,SAASuB,EAAYC,GACxB,OAAOA,IAAS+W,EAAAA,EACpB,C,gKCIO,SAAS8O,IACZ,IAAM7lB,GAAeqB,EAAAA,EAAAA,IAAYuS,EAAAA,IAC3BrQ,GAAUlC,EAAAA,EAAAA,IAAYykB,EAAAA,IACtBriB,GAAapC,EAAAA,EAAAA,IAAY9B,EAAAA,IAE/BwmB,GAIIC,EAAAA,EAAAA,IAAmB,CAAChmB,KAAAA,EAAMuD,QAAAA,IAHpB0iB,EAAcF,EAApBllB,KACWqlB,EAAmBH,EAA9BI,UACAC,EAASL,EAATK,UAKJ,MAAO,CACHC,aAAcJ,EACdK,iBAJqBhnB,EAAAA,EAAMkE,SAASC,EAAY,oBAKhD8iB,2BAA4BrG,QAAQgG,IAAuBD,aAAc,EAAdA,EAAgBnc,SAC3E0c,oBAAqBJ,EAE7B,CCrBO,SAASK,IACZ,IAAMzmB,GAAeqB,EAAAA,EAAAA,IAAYuS,EAAAA,IAC3BrQ,GAAUlC,EAAAA,EAAAA,IAAYykB,EAAAA,IAE5BY,GACIC,EAAAA,EAAAA,IAA4B,CAACpjB,QAAAA,EAASvD,KAAAA,IAD7B4mB,EAAqBF,EAA3B7lB,KAAwCgmB,EAA2BH,EAAtCP,UAG9BW,EAAoC5G,QACtC2G,IAA+BD,aAAqB,EAArBA,EAAuBG,qBAG1D,MAAO,CACHA,mBAAoBH,aAAqB,EAArBA,EAAuBG,mBAC3CC,uBAAwBJ,aAAqB,EAArBA,EAAuBI,uBAC/CF,kCAAAA,EAER,C,0BClBaG,EAEA,UAFAA,EAGA,U,0HCGN,SAASC,IACZ,IAAMC,GAAW9lB,EAAAA,EAAAA,IAAY+lB,EAAAA,IAE7BC,ECCG,WACH,IAAMld,GAAWmd,EAAAA,EAAAA,MAEXtnB,GAAOqB,EAAAA,EAAAA,IAAYuS,EAAAA,IACnBrQ,GAAUlC,EAAAA,EAAAA,IAAYykB,EAAAA,IACtByB,GAAqBlmB,EAAAA,EAAAA,IAAYmmB,EAAAA,IAEvCC,ECZG,WACH,IAAAC,GAAuBC,EAAAA,EAAAA,MAAgCC,GAAAnc,EAAAA,EAAAA,GAAAic,EAAA,GAAhDG,EAAMD,EAAA,GAAEE,EAAIF,EAAA,GACb5nB,GAAOqB,EAAAA,EAAAA,IAAYuS,EAAAA,IAwBzB,MAAO,CAtBU,SAACmU,GAAkB,OAChCF,EAAO,CACH7oB,GAAIuK,EAAAA,GAAQye,wBACZvT,WAAY,CACRwT,SAAU,CACN,CACIC,QAAS,MACTzT,YAAY0T,EAAAA,EAAAA,IAAe,eAAgB,CACvCnoB,KAAK,GAADgF,OAAKhF,EAAI,OAEjBooB,MAAOL,KAInBM,WAAY,8BACZC,QAAS,CACLC,YAAa,oBACbC,aAAc,mBACdH,WAAY,8BAEjB,EAEWP,EACtB,CDfoCW,GAAqBC,GAAAjd,EAAAA,EAAAA,GAAAgc,EAAA,GAA9CkB,EAAQD,EAAA,GAAGtC,EAASsC,EAAA,GAATtC,UACXvlB,GAAQmlB,EAAAA,EAAAA,IAAmB,CAAChmB,KAAAA,EAAMuD,QAAAA,IAAlC1C,KAgBP,MAAO,CAAC+nB,MAdKrH,EAAAA,EAAAA,cAAY,WACrBpX,GAAS0e,EAAAA,EAAAA,MACb,GAAG,CAAC1e,IAYU2e,QAVCvH,EAAAA,EAAAA,cAAY,WACvBpX,GAAS4e,EAAAA,EAAAA,IAAsB,CAACxB,mBAAoB1mB,KACpDsJ,GAAS0e,EAAAA,EAAAA,MACb,GAAG,CAAChoB,EAAMsJ,IAOY6e,MALTzH,EAAAA,EAAAA,cAAY,WACrBoH,EAASpB,GAAsB,IAC/Bpd,GAAS0e,EAAAA,EAAAA,MACb,GAAG,CAACF,EAAUpB,EAAoBpd,IAENic,UAAAA,EAChC,CD1B4C6C,GAAjCL,EAAIvB,EAAJuB,KAAMI,EAAI3B,EAAJ2B,KAAMF,EAAMzB,EAANyB,OAAQ1C,EAASiB,EAATjB,UAE3B,OAAOe,GACHhpB,EAAAA,EAAAA,MAAC2F,EAAAA,EAAI,CAACE,IAAK,EAAExF,SAAA,EACTE,EAAAA,EAAAA,KAAC4e,EAAAA,EAAM,CAACjZ,KAAM,SAAU2U,QAASgQ,EAAMhK,QAASoH,EAAU5nB,SAAC,UAG3DE,EAAAA,EAAAA,KAAC4e,EAAAA,EAAM,CAACjZ,KAAM,OAAQ2U,QAAS8P,EAAOtqB,SAAC,eAK3CE,EAAAA,EAAAA,KAAC4e,EAAAA,EAAM,CAACjZ,KAAM,WAAY2U,QAAS4P,EAAKpqB,UACpCE,EAAAA,EAAAA,KAACyB,EAAAA,EAAI,CAACC,QAAS,YAG3B,C,eGlBO,SAAS8oB,IAAqB,IAADC,EAC1Bhf,GAAWmd,EAAAA,EAAAA,MAEX8B,GAAkB/nB,EAAAA,EAAAA,IAAYgoB,EAAAA,IAKpC,OACI3qB,EAAAA,EAAAA,KAACoF,EAAAA,EAAI,CAACC,UAAW,MAAOC,IAAK,EAAExF,UAC3BE,EAAAA,EAAAA,KAAC4qB,EAAAA,EAAW,CACRvf,QAAS,CACL,CAAChD,MAAO,KAAMwiB,QAAS,MACvB,CACIxiB,MAAO,WACPwiB,SACa,OAAT3pB,EAAAA,SAAS,IAATA,EAAAA,IAAkC,QAAzBupB,EAATvpB,EAAAA,GAAW4pB,+BAAuB,IAAAL,OAAA,EAAlCA,EAAoCM,sBAAuB,aAGvE1iB,MAAOqiB,EACPjnB,KAAM,IACNunB,SAhBK,SAAC3iB,GAAwB,OACtCoD,GAASwf,EAAAA,EAAAA,IAAmB,CAACP,gBAAiBriB,IAAS,KAmB/D,CCrBO,SAAS6iB,IAAiC,IAADT,EACrCnC,EAA0BP,IAA1BO,uBACDoC,GAAkB/nB,EAAAA,EAAAA,IAAYgoB,EAAAA,IAEpC,OACIlrB,EAAAA,EAAAA,MAAC2F,EAAAA,EAAI,CAACC,UAAW,MAAOC,IAAK,EAAG4B,WAAY,SAASpH,SAAA,EACvC,OAAToB,EAAAA,SAAS,IAATA,EAAAA,QAAS,EAATA,EAAAA,GAAW4pB,2BAA2B9qB,EAAAA,EAAAA,KAACwqB,EAAiB,IACpC,OAApBE,IAA4B1qB,EAAAA,EAAAA,KAACwoB,EAAW,IACpB,aAApBkC,IACG1qB,EAAAA,EAAAA,KAACmrB,EAAAA,EAAO,CAACN,SAAkB,OAAT3pB,EAAAA,SAAS,IAATA,EAAAA,IAAkC,QAAzBupB,EAATvpB,EAAAA,GAAW4pB,+BAAuB,IAAAL,OAAA,EAAlCA,EAAoCM,sBAAuB,GAAGjrB,UAC5EE,EAAAA,EAAAA,KAACorB,EAAAA,EAAI,CAACzS,KAAM2P,GAA0B,GAAI7P,OAAO,SAAQ3Y,UACrDE,EAAAA,EAAAA,KAAC4e,EAAAA,EAAM,CAACjZ,KAAK,WAAU7F,UACnBE,EAAAA,EAAAA,KAACyB,EAAAA,EAAI,CAACC,QAAQ,0BAO1C,C,+CCba2pB,EAAmC,SAAH7qB,GAA0C,IAArC6oB,EAAU7oB,EAAV6oB,WAAYiC,EAAQ9qB,EAAR8qB,SAAUC,EAAQ/qB,EAAR+qB,SAC9DljB,EAAQghB,GAAc,GAEtBqB,GAAkB/nB,EAAAA,EAAAA,IAAYgoB,EAAAA,IAE7BrC,EAA0BP,IAA1BO,uBAEPkD,EAA2B1oB,EAAAA,SAAc,WACrC,IAAM2T,EAAOpO,EAAMkL,MAAM,OACzB,MAAO,CACH8K,KAAM5H,EAAKwH,MAAM,EAAG,GAAG7X,KAAK,QAC5BqlB,WAAYhV,EAAKrL,QAAU,EAEnC,GAAG,CAAC/C,IANGojB,EAAUD,EAAVC,WAAYpN,EAAImN,EAAJnN,KAQnB,OAAKhW,EAAM+C,QAA8B,aAApBsf,GAKjBjrB,EAAAA,EAAAA,MAAA0D,EAAAA,SAAA,CAAArD,SAAA,EACIE,EAAAA,EAAAA,KAAC0rB,EAAAA,GAAQ,CAACrN,KAAMiN,EAAWjjB,EAAQgW,IAClCoN,EAAa,MACVzrB,EAAAA,EAAAA,KAAC2rB,EAAAA,EAAa,CAAChK,MAAO,YAAarH,QAASiR,EAASzrB,SAChDwrB,EAAW,YAAc,kBAR/BtrB,EAAAA,EAAAA,KAAC4rB,EAA0B,CAACtD,uBAAwBA,GAanE,EAEA,SAASsD,EAA0BlX,GAA+D,IAAD+V,EAAAoB,EAA5DvD,EAAsB5T,EAAtB4T,uBACjC,OACI7oB,EAAAA,EAAAA,MAAC2F,EAAAA,EAAI,CAACC,UAAW,MAAOC,IAAK,EAAGG,MAAO,MAAOwB,eAAgB,SAASnH,SAAA,EACnEE,EAAAA,EAAAA,KAACqD,EAAAA,GAAQ,CAACyoB,OAAQ,GAAIrmB,MAAO,MAC7BhG,EAAAA,EAAAA,MAAC2F,EAAAA,EAAI,CAACC,UAAW,SAAUC,IAAK,EAAExF,SAAA,EAC9BL,EAAAA,EAAAA,MAAC0H,EAAAA,EAAI,CAACua,QAAS,cAAc5hB,SAAA,CAAC,OACb,OAAToB,EAAAA,SAAS,IAATA,EAAAA,IAAkC,QAAzBupB,EAATvpB,EAAAA,GAAW4pB,+BAAuB,IAAAL,OAAA,EAAlCA,EAAoCM,sBAAuB,WAAY,IAAI,wBAGnF/qB,EAAAA,EAAAA,KAACorB,EAAAA,EAAI,CAACzS,KAAM2P,GAA0B,GAAI7P,OAAQ,SAAS3Y,UACvDL,EAAAA,EAAAA,MAACmf,EAAAA,EAAM,CAACjZ,KAAM,SAAUlC,KAAM,IAAKmW,UAAW0O,EAAuBxoB,SAAA,EACjEL,EAAAA,EAAAA,MAAC0H,EAAAA,EAAI,CAAArH,SAAA,CAAC,cACU,KACF,OAAToB,EAAAA,SAAS,IAATA,EAAAA,IAAkC,QAAzB2qB,EAAT3qB,EAAAA,GAAW4pB,+BAAuB,IAAAe,OAAA,EAAlCA,EAAoCd,sBACjC,uBAER/qB,EAAAA,EAAAA,KAACyB,EAAAA,EAAI,CAACC,QAAS,gBAAiB+B,KAAM,eAM9D,C,eCjDMY,GAAQC,EAAAA,EAAAA,GAAG,0BAgEjB,QA1DA,SAA8B9D,GAAsB,IAApB+B,EAAS/B,EAAT+B,UACtBkJ,GAAWmd,EAAAA,EAAAA,MACXmD,GAAaC,EAAAA,EAAAA,QAAuB,MAEpCnD,GAAqBlmB,EAAAA,EAAAA,IAAYmmB,EAAAA,IACjCL,GAAW9lB,EAAAA,EAAAA,IAAY+lB,EAAAA,IAE7BuD,EC9BG,WACH,IAAMxgB,GAAWmd,EAAAA,EAAAA,MAEX0C,GADa3oB,EAAAA,EAAAA,IAAYupB,EAAAA,MACC3D,EAE1B4D,GAAiBtJ,EAAAA,EAAAA,cAAY,WAC/BpX,GACI2gB,EAAAA,EAAAA,IACId,EAAW/C,EAA+BA,GAGtD,GAAG,CAAC9c,EAAU6f,IAEd,MAAO,CACHA,SAAAA,EACAa,eAAAA,EAER,CDauCE,GAA5Bf,EAAQW,EAARX,SAAUa,EAAcF,EAAdE,eAEjBG,EEhCG,WACH,IAAM7D,GAAW9lB,EAAAA,EAAAA,IAAY+lB,EAAAA,IACvBgC,GAAkB/nB,EAAAA,EAAAA,IAAYgoB,EAAAA,IAEpC4B,EAAwEpF,IAAjEQ,EAAY4E,EAAZ5E,aAAcE,EAA0B0E,EAA1B1E,2BAA4BC,EAAmByE,EAAnBzE,oBAEjD0E,EAAgEzE,IAAzDM,EAAkBmE,EAAlBnE,mBAAoBD,EAAiCoE,EAAjCpE,kCAErBqE,GAGD3E,IAAwBD,GAA8BO,GAErDsE,EAAkC,OAApBhC,EAA2B/C,EAAeU,EAI9D,OCjBG,SACHR,EACAO,GAEA,IAAM3c,GAAWmd,EAAAA,EAAAA,MAEX8B,GAAkB/nB,EAAAA,EAAAA,IAAYgoB,EAAAA,KAEpCgC,EAAAA,EAAAA,YAAU,WACN,IAAIC,EAAwClC,EAExC7C,EACA+E,EAAqB,KACdxE,IACPwE,EAAqB,YAErBA,IAAuBlC,GACvBjf,GAASwf,EAAAA,EAAAA,IAAmB,CAACP,gBAAiBkC,IAEtD,GAAG,CAAC/E,EAA4BO,GACpC,CDLIyE,CAA+BhF,EAA4BO,GAEpD,CACHtG,QAAS2K,GAAoBhE,EAC7BiC,gBAAAA,EACAgC,YAAAA,EAER,CFUoDI,GAAzCJ,EAAWJ,EAAXI,YAAahC,EAAe4B,EAAf5B,gBAAiB5I,EAAOwK,EAAPxK,QAC9B8F,EAAoBT,IAApBS,iBAEDzL,GAAe0G,EAAAA,EAAAA,cAAY,WAC7BkK,YAAW,WACPC,OAAOC,cAAc,IAAIC,MAAM,UACnC,GAAG,EACP,GAAG,IAIH,OAFA9Q,EAAAA,EAAAA,GAAkB,CAAC+Q,QAASpB,EAAWhR,QAASsB,SAAUF,IAErD2F,GAKD9hB,EAAAA,EAAAA,KAAA,OAAKyb,IAAKsQ,EAAYxpB,UAAW8B,EAAM,KAAM9B,GAAWzC,UACpDE,EAAAA,EAAAA,KAACotB,EAAAA,EAAkB,CACf7qB,UAAW8B,EAAM,cAAe,CAACinB,SAAAA,IACjCxF,KAAM,cACNuH,WAAW,EACX5pB,KAAM6pB,EAAAA,GACNC,UAAUvtB,EAAAA,EAAAA,KAACkrB,EAA6B,IAAIprB,UAE5CE,EAAAA,EAAAA,KAAA,OAAKuC,UAAW8B,EAAM,WAAWvE,SAC5B2oB,GAAgC,OAApBiC,GACT1qB,EAAAA,EAAAA,KAACwtB,EAAAA,EAAyB,CACtBC,UAAW7F,EACXvf,MAAO,CAACA,MAAOwgB,GAAsB,IACrC5C,aAAc,CAAC5d,MAAOwgB,GAAsB,IAC5C6E,SAAU,SAAFhZ,GAAA,IAAIrM,EAAKqM,EAALrM,MAAK,OACboD,GAAS4e,EAAAA,EAAAA,IAAsB,CAACxB,mBAAoBxgB,IAAQ,EAEhE9F,UAAW8B,EAAM,cACjBspB,WAAS,KAGb3tB,EAAAA,EAAAA,KAACqrB,EAAqB,CAClBhC,WAAYqD,EACZpB,SAAUA,EACVC,SAAUY,UA5BvB,IAmCf,C,6fIxDA,SAASyB,EAAoBC,GACzB,IAAM/b,EAAU/I,IAAK8kB,GAAoB,SAAC5nB,GAAU,OAAKA,EAAW6L,OAAO,IAE3E,OAAOgc,IAASC,IAAMnc,IAASE,KAAWkc,MAC9C,CAEA,SAASC,EACLC,EACAntB,GAEA,OAAOgI,IAAKmlB,GAAW,SAACpd,GACpB,IAAMqd,EAAQ,CACVptB,KAAAA,EACA8P,SAAU,CAACC,EAAQzI,OACnB+lB,YAA8B,UAAjBtd,EAAQ/P,KAAoB,OAAoB,QAC7DstB,UACqB,WAAjBvd,EAAQ/P,KACF,CAAC+kB,KAAMhV,EAAQwd,WAAYC,IAAKzd,EAAQyd,IAAKC,WAAO1nB,QACpDA,EACVmC,YAAQnC,GAEZ,OAAApH,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACOoR,GACAqd,EAEX,GACJ,CAIO,IAAMM,EAAwB,SAAChwB,EAAkBiF,GAAoB,OACxEjF,EAAMuO,IAAItJ,GAASkF,eAAgB,EACjC8lB,EAA0B,SAACjwB,EAAkBiF,GAAoB,OACnEjF,EAAMuO,IAAItJ,GAAS3E,iBAAkB,EAEnC4vB,GAA8CC,EAAAA,EAAAA,IAChD,CAACF,IA8BL,SAA6D7S,GACzD,IAAM4J,EAA8B,GAWpC,OAVA1T,IAAS8J,GAAO,SAAClb,GACb,IAAOkQ,EAAYlQ,EAAZkQ,SACHA,GAAYA,EAASzF,OAAS,EAC9B2G,IAASlB,GAAU,SAACC,EAAS9H,GACzByc,EAAI5T,MAAInS,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAGiB,GAAI,IAAEkQ,SAAU,CAACC,GAAU+d,YAAY,EAAMC,aAAc9lB,IAC5E,IAEAyc,EAAI5T,KAAKlR,EAEjB,IACO8kB,CACX,IAvCasJ,EAAgC,SAACrrB,GAC1C,OAAOkrB,EAAAA,EAAAA,IACH,CACI9vB,EAAAA,GACA,SAACL,GAAK,OAAKkwB,EAA4ClwB,EAAOiF,EAAQ,IAE1E,SAACsrB,EAAmBnT,GAChB,IAAMoT,EAAmB,IAAI5M,IACtBxZ,GAAmB3H,EAAAA,GAAU4H,4BAA4BpF,IAAY,CAAC,GAAtEmF,gBAQP,MAPA,GAAAvC,QAAA6f,EAAAA,EAAAA,GAAItd,IAAesd,EAAAA,EAAAA,GAAK6I,IAAmB1d,SAAQ,SAACrL,GAAU,OAC1DgpB,EAAiBC,IAAIjpB,EAAW,IAEpC4V,EAAMvK,SAAQ,SAAC3Q,GACX,IAAOqF,EAAerF,EAAfqF,YACPA,SAAAA,EAAasL,SAAQ,SAACrL,GAAU,OAAKgpB,EAAiBC,IAAIjpB,EAAW,GACzE,IACOkpB,KAAOhJ,EAAAA,EAAAA,GAAK8I,IAAmB,SAAChpB,GAAU,OAAKA,CAAU,GACpE,GAER,EAsBA,SAASmpB,EAEPzuB,EAAS0uB,GAAiB,IAADC,EAChBlB,EAA0BztB,EAA1BytB,YAAaC,EAAa1tB,EAAb0tB,UACpB,MAAoB,UAAhBD,EACOmB,IAAMne,OAAOC,QAAQgd,QAAAA,EAAa,CAAC,IAAI,SAAA3Z,GAAmB,IAAD8a,EAAAjkB,GAAAwB,EAAAA,EAAAA,GAAA2H,EAAA,GAAhBjD,EAAGlG,EAAA,GAAElD,EAAKkD,EAAA,GAClDkkB,EAA0BC,OAAOrnB,GAKrC,MAJY,QAARoJ,IAC4B,MAAxBge,EAAIA,EAAIrkB,OAAS,KAAYqkB,EAAMA,EAAIxR,MAAM,GAAI,IACrDwR,EAAMA,EAAIlc,MAAM,KAAKgK,QAEjB,KAAS,QAARiS,EAAKC,SAAG,IAAAD,OAAA,EAAHA,EAAKG,cAAcC,QAAQP,GAC7C,KAGI,IADMK,OAAuB,QAAjBJ,EAAC3uB,EAAKkQ,SAAS,UAAE,IAAAye,EAAAA,EAAI,IACrBK,cAAcC,QAAQP,EAC9C,CAUA,IAaaQ,GAAkCjB,EAAAA,EAAAA,IAC3C,CACID,EACA/vB,EAAAA,GACAE,EAAAA,GACAE,EAAAA,KAEJ,SAAC6c,EAAOiU,EAAed,EAAmBld,GACtC,IAAAie,EAA6CC,IACzCnU,GACA,SAAClb,GAAI,IAAAsvB,EAAA,QAAkB,QAAbA,EAACtvB,EAAKmR,eAAO,IAAAme,GAAZA,EAAc7kB,OAAM,IAClC8kB,GAAAnjB,EAAAA,EAAAA,GAAAgjB,EAAA,GAHMI,EAAeD,EAAA,GAKhBE,EALmCF,EAAA,GAKHhqB,KAAI,SAACvF,GACvC,OAAAjB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAWiB,GAAI,IAAEmR,QAASqd,IAAQxuB,EAAKmR,UAC3C,IAEMue,EAAkBP,aAAa,EAAbA,EAAeQ,oBACjCC,EAAkBF,EAClB,SAAC1vB,GAA0B,OAAKyuB,EAAuBzuB,EAAM0vB,EAAgB,OAC7EvpB,EAEA0pB,EAAuB,IAAInO,IAAwB2M,GACnDyB,EAAsBD,EAAqB/sB,KAC3C,SAAC9C,GAA0B,IAAA+vB,EAAA,OAC+B,QAD/BA,EArCN,SAAC/vB,EAA0B0uB,GAC1D,IAAOrpB,EAAerF,EAAfqF,YACH2qB,EAAa,EACjB,OAAO3qB,aAAW,EAAXA,EAAa4qB,MAAK,SAACC,GAItB,OAHIxB,EAAOxJ,IAAIgL,IACXF,IAEGA,GAActB,EAAO5rB,IAChC,GACJ,CA6BkBqtB,CAA2BnwB,EAAM6vB,UAAqB,IAAAE,GAAAA,CAAS,OACnE5pB,EAEAiqB,EAAiB,IAAI1O,IAAIvQ,GACzBkf,EAAkBD,EAAettB,KACjC,SAAAoJ,GAAsC,IAADokB,EAAnCnf,EAAOjF,EAAPiF,QACE,OAA8D,QAA9Dmf,EAAOnf,aAAO,EAAPA,EAAS8e,MAAK,SAACM,GAAO,OAAKH,EAAelL,IAAIqL,EAAQ,WAAC,IAAAD,GAAAA,CAClE,OACAnqB,EAEAqqB,EAAiBrD,IAAS,CAACyC,EAAiBE,IAC5CW,EAAoBtD,IAAS,CAACyC,EAAiBS,IACrD,MAAO,CACHb,gBAAiBgB,EAAe/lB,OAC1B+kB,EAAgBd,OAAOgC,EAAAA,YAAW9nB,WAAC,GAAD4c,EAAAA,EAAAA,GAAIgL,KACtChB,EACNtC,mBAAoBuD,EAAkBhmB,OAChCglB,EAAYf,OAAOgC,EAAAA,YAAW9nB,WAAC,GAAD4c,EAAAA,EAAAA,GAAIiL,KAClChB,EAEd,IAGSkB,GAAiC1C,EAAAA,EAAAA,IAC1C,CAACiB,EAAiCzwB,EAAAA,KAClC,SAAA0N,EAAwCzN,GAAsB,IAA5D8wB,EAAerjB,EAAfqjB,gBAAiBtC,EAAkB/gB,EAAlB+gB,mBACf,MAAO,CACHsC,iBAAezwB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACR6xB,EAAmBpB,EAAiB9wB,IAAiB,IACxDmyB,MAAOrB,EAAgB/kB,SAE3ByiB,oBAAkBnuB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACX6xB,EAAmB1D,EAAoBxuB,IAAiB,IAC3DmyB,MAAO3D,EAAmBziB,SAGtC,IAGEqmB,EAAkB,WAsBnB,OAAAC,EAAAA,EAAAA,IAZD,SAAAD,EAAYE,GACR,IAD4CC,EAAAA,EAAAA,GAAA,KAAAH,GAAA,KAThDI,aAAO,OACP/gB,aAAO,OACPghB,eAAS,OAETC,eAAiB,IAAI1P,IAA0B,KAC/CvQ,QAAU,IAAIuQ,IAAc,KAC5BsP,WAAK,OACL7xB,SAAW,IAAI4c,MAGPiV,EAAM9gB,SAASzF,OAAS,EACxB,MAAM,IAAIJ,MAAM,uDAAD1E,OAC4CqrB,EAAM9gB,SAASzK,KAAK,OAInF4rB,KAAKH,QAAUI,EAAeN,GAC9BK,KAAKF,UAAYtQ,QAAQmQ,EAAMG,WAC/BE,KAAKlhB,QAAU6gB,EAAM9gB,SAAS,GAC9BmhB,KAAKL,OAAKjyB,EAAAA,EAAAA,GAAA,GAAOiyB,GACjBK,KAAK9C,IAAIyC,EACb,GAAC,EAAAlgB,IAAA,MAAApJ,MAED,SAAI1H,GAA6B,IAADuxB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,KACtBb,EAAUI,EAAetxB,GAC/B,GAAIqxB,KAAKH,UAAYA,EACjB,MAAM,IAAI7mB,MAAM,wDAAD1E,OAC6C0rB,KAAKH,QAAO,SAAAvrB,OAAQurB,IAIpF,GAA6B,IAAzBlxB,EAAKkQ,SAASzF,OACd,MAAM,IAAIJ,MAAM,oDAAD1E,OACyCqsB,KAAKC,UAAUjyB,KAI3E,IAAMmb,GAAKpc,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAOiB,GAAI,IAAEqF,aAAWmgB,EAAAA,EAAAA,GAAuB,QAAvB+L,EAAOvxB,EAAKqF,mBAAW,IAAAksB,EAAAA,EAAI,MAC9DF,KAAKlyB,SAAS+R,KAAKiK,GAEF,QAAjBqW,EAAArW,EAAM9V,mBAAW,IAAAmsB,GAAjBA,EAAmBnE,OACF,QAAjBoE,EAAAtW,EAAM9V,mBAAW,IAAAosB,GAAjBA,EAAmB9gB,SAAQ,SAACuf,GACxB6B,EAAKX,eAAe7C,IAAI2B,EAC5B,IACY,QAAZwB,EAAA1xB,EAAKmR,eAAO,IAAAugB,GAAZA,EAAc/gB,SAAQ,SAACoF,GAAM,OAAKgc,EAAK5gB,QAAQod,IAAIxY,EAAO,KAE1D4b,EAAAN,KAAKL,OAAMkB,YAAXP,EAAWO,UAAcrR,QAAQ7gB,EAAKkyB,aACtCN,EAAAP,KAAKL,OAAMmB,iBAAXP,EAAWO,eAAmBtR,QAAQ7gB,EAAKmyB,kBAC3CN,EAAAR,KAAKL,OAAMoB,aAAXP,EAAWO,WAAevR,QAAQ7gB,EAAKoyB,cACvCN,EAAAT,KAAKL,OAAMqB,cAAXP,EAAWO,YAAgBxR,QAAQ7gB,EAAKqyB,aAC5C,GAAC,CAAAvhB,IAAA,WAAApJ,MAED,SAASijB,GAKN,IAAD2H,EAAA,KACQC,EAAelB,KAAKF,UAC1B,GAA6B,IAAzBE,KAAKlyB,SAASsL,OACd,MAAO,CAACyQ,MAAOmW,KAAKlyB,SAAUozB,aAAAA,GAGlC,IAAMvB,GAA+DjyB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAC9DsyB,KAAKL,OAAK,IACbwB,MAAO,EACP7H,SAAAA,IAEJqG,EAAM3rB,aAAcmgB,EAAAA,EAAAA,GAAI6L,KAAKD,gBAAgB/D,OAC7C2D,EAAM7f,SAAUqU,EAAAA,EAAAA,GAAI6L,KAAKlgB,SAASkc,OAElC,IAAIoF,GAAgB,EACdvX,EAASyP,EACF,CAEHqG,GAAKrrB,QAAA6f,EAAAA,EAAAA,GACFgJ,IAAQ6C,KAAKlyB,SAAU,CAAC,mBAAoB,gBAAgBoG,KAAI,SAACuX,GAEhE,OADA2V,IAAAA,EAA+B,SAAb3V,EAAExU,SACpBvJ,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAW+d,GAAC,IAAE0V,MAAO,GACzB,MANJ,CAACxB,GAkBP,OATAK,KAAKlyB,SAASwR,SAAQ,SAACmM,GACfA,EAAErN,mBAAqBuhB,EAAMvhB,mBAC7BuhB,EAAMvhB,sBAAmBtJ,GAExBusB,IAASJ,EAAKtB,MAAM2B,cAAe7V,EAAE6V,iBACtC3B,EAAM2B,mBAAgBxsB,EAE9B,IAEO,CAAC+U,MAAAA,EAAO0X,eAAe,EAAMH,cAAAA,EAAeF,aAAAA,EACvD,IAAC,CA7FmB,GAkGxB,SAASjB,EAAetxB,GACpB,IACImxB,EAEAnxB,EAFAmxB,UACWhhB,GADF/D,EAAAA,EAAAA,GAETpM,EADAkQ,SAAQ,GAAU,GAEtB,MAAM,WAANvK,OAAkBwK,EAAO,eAAAxK,OAAckb,QAAQsQ,GACnD,CAEA,SAASP,EACLiC,EACAn0B,GAEA,IAAMo0B,EAAiD,CAAC,EAExDD,EAAeliB,SAAQ,SAAC3Q,GACpB,IAAM+yB,EAASzB,EAAetxB,GACxBgzB,EAAMF,EAAWC,GAClBC,EAGDA,EAAIzE,IAAIvuB,GAFR8yB,EAAWC,GAAU,IAAIjC,EAAmB9wB,EAIpD,IAEA,IAAM8kB,EAAMrU,OAAO3B,OAAOgkB,GAAY/N,QAClC,SAACC,EAAKhlB,GACF,IAAAizB,EAA6CjzB,EAAKkzB,SAC9Cx0B,EAAiBwmB,IAAIllB,EAAKmQ,UADvB+K,EAAK+X,EAAL/X,MAAO0X,EAAaK,EAAbL,cAAeL,EAAYU,EAAZV,aAM7B,OAHAvN,EAAI9J,MAAQ8J,EAAI9J,MAAMvV,OAAOuV,GAC7B8J,EAAI4N,gBAAJ5N,EAAI4N,cAAkBA,GACtB5N,EAAIuN,eAAJvN,EAAIuN,aAAiBA,GACdvN,CACX,GACA,CAAC9J,MAAO,KAGZiY,EAA2B9D,IAAWvK,EAAI5J,OAAO,SAAClb,GAAI,OAAKA,EAAKmxB,SAAS,IAACiC,GAAAhnB,EAAAA,EAAAA,GAAA+mB,EAAA,GAAnEhC,EAASiC,EAAA,GAAEC,EAAKD,EAAA,GAEvB,OAAAr0B,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACO+lB,GAAG,IACN5J,MAAM,GAADvV,QAAA6f,EAAAA,EAAAA,GAAM2L,IAAS3L,EAAAA,EAAAA,GAAK6N,KAEjC,EAEsDpF,EAAAA,EAAAA,IAClD,CAACF,GACDuF,GAFG,IAMMC,GAA2BtF,EAAAA,EAAAA,IACpC,CAH8B,SAACnwB,EAAkBiF,GAAoB,OACrEjF,EAAMuO,IAAItJ,GAAS2J,YAAa,EAEXrO,EAAAA,GAAqBE,EAAAA,KAC1C,SAAC2c,EAAO5c,EAAek1B,GACnB,IAAMpD,EAAiB,IAAI1O,IAAIpjB,GAEzBm1B,EAAkBD,aAAU,EAAVA,EAAYxE,cAC9B0E,EAAavG,IAAS,CACxB,SAACntB,GACG,OAAQA,EAAK2zB,OACjB,EACAvD,EAAettB,KAAO,EAChB,SAAC9C,GAAoB,IAAD4zB,EAAAC,EAChB,OAA6D,QAA7DD,EAAmB,QAAnBC,EAAO7zB,EAAKmR,eAAO,IAAA0iB,OAAA,EAAZA,EAAc5D,MAAK,SAAC9K,GAAI,OAAKiL,EAAelL,IAAIC,EAAK,WAAC,IAAAyO,GAAAA,CACjE,OACAztB,EACNstB,SAAAA,EAAiBhpB,OACX,SAACzK,GAAc,IAAA8zB,EAAAC,EAAA,OACV,KAAyD,QAAxDD,EAAe,QAAfC,EAAM/zB,EAAKmlB,YAAI,IAAA4O,GAAe,QAAfA,EAATA,EAAW/E,qBAAa,IAAA+E,OAAA,EAAxBA,EAA0B9E,QAAQwE,UAAgB,IAAAK,EAAAA,GAAK,EAAE,OACrE3tB,IAEJ6tB,EAAWC,IAAQ/Y,EAAOwV,EAAAA,YAAW9nB,WAAC,GAAD4c,EAAAA,EAAAA,GAAIkO,KAAanuB,KAAI,SAACvF,GAC7D,OAAAjB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAWiB,GAAI,IAAEmR,QAASqd,IAAQxuB,EAAKmR,UAC3C,IACA,OAAOqd,IAAQwF,EAAU,CAAC,QAC9B,IAGJ,SAASV,EAOPpY,GACE,IAAMgZ,EAA6B,GAC7BC,EAA0B,GAC1BC,EAA0B,GAC1B3L,EAAqB,GAa3B,OAZArX,IAAS8J,GAAO,SAAClb,GACb,IAAOq0B,EAAwDr0B,EAAxDq0B,YAAahC,EAA2CryB,EAA3CqyB,YAAaF,EAA8BnyB,EAA9BmyB,eAAgBC,EAAcpyB,EAAdoyB,WAC7CD,EACA+B,EAAahjB,KAAKlR,GACXq0B,EACPD,EAAUljB,KAAKlR,GACRqyB,GAAeD,EACtB+B,EAAUjjB,KAAKlR,GAEfyoB,EAAKvX,KAAKlR,EAElB,IACM,GAAN2F,OAAWwuB,EAAcC,EAAcF,EAAiBzL,EAC5D,CAYA,IAAM6L,EAAmB,SAACx2B,EAAkBiF,GAAoB,OAC5DjF,EAAMuO,IAAItJ,GAAS8J,aAAc,EAC/B0nB,EAAkB,SAACz2B,EAAkBiF,GAAoB,OAAKjF,EAAMuO,IAAItJ,GAASuJ,WAAY,EAC7FkoB,EAAc,SAAC12B,EAAkBiF,GAAoB,OAAKjF,EAAMuO,IAAItJ,GAAS0J,QAAS,EAE/EgoB,GAA+BxG,EAAAA,EAAAA,IAAe,CAACqG,IAAmB,SAACznB,GAAa,OACzFonB,IAAQpnB,GAAe,SAAC6nB,GAAY,OAAMA,EAAavD,SAAS,GAAC,IAExDwD,GAA8B1G,EAAAA,EAAAA,IAAe,CAACsG,IAAkB,SAACK,GAAY,OACtFX,IAAQW,GAAc,SAACtoB,GAAW,OAAMA,EAAY6kB,SAAS,GAAC,IAErD0D,GAA0B5G,EAAAA,EAAAA,IAAe,CAACuG,IAAc,SAACM,GAAQ,OAC1Eb,IAAQa,GAAU,SAACC,GAAO,OAAMA,EAAQ5D,SAAS,GAAC,IAGhD6D,GAAkB/G,EAAAA,EAAAA,IACpB,CAACqG,EAAkBC,EAAiBC,IACpC,SAAC3nB,EAAe+nB,EAAcE,GAC1B,MAAM,GAANnvB,QAAA6f,EAAAA,EAAAA,GACO8H,EAAiBzgB,EAAe,mBAAgB2Y,EAAAA,EAAAA,GAChD8H,EAAiBsH,EAAc,iBAAcpP,EAAAA,EAAAA,GAC7C8H,EAAiBwH,EAAU,YAEtC,IAGSG,IAAkBhH,EAAAA,EAAAA,IAAe,CAAC+G,IAAkB,SAAC9Z,GAAK,OAAKA,EAAMzQ,OAAS,CAAC,IAE/EyqB,IAAuBjH,EAAAA,EAAAA,IAChC,CAAC+G,EAAiBn3B,EAAAA,KAvUtB,SAEEqd,EAAiBiU,GACf,IAAKA,EAAe,OAAOjU,EAC3B,IAAMwU,EAAkBP,EAAcH,cACtC,OAAOiF,IAAQ/Y,GAAO,SAAClb,GAAI,OAAKyuB,EAAuBzuB,EAAM0vB,EAAgB,GACjF,IAqUayF,IAAiClH,EAAAA,EAAAA,IAC1C,CAACiH,KA5CL,SACIha,GAMA,OAJYsT,IAAQtT,EAAO,CACvB,SAAClb,GAAI,OAAMA,EAAKmxB,SAAS,EACzB,SAACnxB,GAAI,OAAMA,EAAKkQ,UAAYlQ,EAAKkQ,SAAS,KAAO,CAAI,GAG7D,IA0CaklB,KAFenH,EAAAA,EAAAA,IAAe,CAAC+G,GAAkB1B,IAEhBrF,EAAAA,EAAAA,IAC1C,CAACF,IACD,SAAC3vB,GACG,IAAMi3B,EAAsBpB,IACxB71B,GACA,SAACkH,GAAU,IAAAgwB,EAAA,MAA2B,UAAtBhwB,EAAWgD,SAAwC,QAAlBgtB,EAAAhwB,EAAW6L,eAAO,IAAAmkB,OAAA,EAAlBA,EAAoB7qB,QAAU,CAAC,IAGpF,OAAOrC,IAAKitB,GAAqB,SAACr1B,GAC9B,IAAMu1B,GAAgBx2B,EAAAA,EAAAA,GAAA,GAAOiB,GAE7B,OADAu1B,EAAIn1B,KAAO,UACJm1B,CACX,GACJ,KAGEC,IAA+BvH,EAAAA,EAAAA,IACjC,CAACF,IACD,SAAC3vB,GACG,IAAMi3B,EAAsBpB,IACxB71B,GACA,SAACkH,GAAU,IAAAmwB,EAAA,MAA2B,SAAtBnwB,EAAWgD,SAAuC,QAAlBmtB,EAAAnwB,EAAW6L,eAAO,IAAAskB,OAAA,EAAlBA,EAAoBhrB,QAAU,CAAC,IAGnF,OAAOrC,IACHitB,GACA,SAAC/vB,GAAU,OAAAvG,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAEAuG,GAAU,IACblF,KAAM,WAAS,GAG/B,IAGSs1B,IAA2BzH,EAAAA,EAAAA,IACpC,CAACmH,IACDnI,GAGS0I,IAAyB1H,EAAAA,EAAAA,IAClC,CAACuH,IACDvI,GAGS7pB,IAAsB6qB,EAAAA,EAAAA,IAAe,CAAC0H,KAAyB,SAACC,GAAK,OAC9ExtB,IAAKwtB,GAAO,SAACzQ,GAAI,MAAM,CAACrU,IAAKqU,EAAMzd,MAAOyd,EAAMjkB,MAAOikB,EAAK,GAAE,IAGrD0Q,GAAsB,SAAC/3B,EAAkBiF,GAAoB,OACtEjF,EAAMuO,IAAItJ,GAAS8yB,mBAAoB,EAC9BC,GAA0B,SAACh4B,EAAkBiF,GAAoB,OAC1EjF,EAAMuO,IAAItJ,GAASgzB,aAAc,EACxBC,GAA8B,SAACl4B,EAAkBiF,GAAoB,OAC9EjF,EAAMuO,IAAItJ,GAASkzB,cAAe,EACzB3yB,GAAgC,SAACxF,EAAkBiF,GAAoB,OAChFjF,EAAMuO,IAAItJ,GAASmzB,0BAA2B,EACrCC,GAA8B,SAACr4B,EAAkBiF,GAAoB,OAC9EjF,EAAMuO,IAAItJ,GAASqzB,wBAAyB,EACnCC,GAAoB,SAACv4B,EAAkBiF,GAAoB,OACpEjF,EAAMuO,IAAItJ,GAASyJ,OAAQ,EAMlB8pB,IAAkBrI,EAAAA,EAAAA,IAC3B,CALkB,SAACnwB,EAAkBiF,GAAoB,OAAKjF,EAAMuO,IAAItJ,GAAS4c,OAAQ,EACxE,SAAC7hB,EAAkBiF,GAAoB,OAAKjF,EAAMuO,IAAItJ,GAASwzB,MAAO,EACvE,SAACz4B,EAAkBiF,GAAoB,OAAKjF,EAAMuO,IAAItJ,GAASM,KAAM,IAIrF,SAACsc,EAAS4W,EAAQlzB,GACd,OAAOmzB,EAAAA,EAAAA,IAAuB7W,EAAS4W,EAAQlzB,EACnD,G,wSCrgBiBozB,EAAQ,SAAAC,GAAA,SAAAD,IAAA,OAAAxF,EAAAA,EAAAA,GAAA,KAAAwF,IAAAE,EAAAA,EAAAA,GAAA,KAAAF,EAAA5tB,UAAA,QAAA+tB,EAAAA,EAAAA,GAAAH,EAAAC,IAAA3F,EAAAA,EAAAA,GAAA0F,EAAA,EAAA3lB,IAAA,SAAApJ,MAsBzB,WACI,IAIIxG,EAJJ21B,EAAwCxF,KAAKxyB,MAAtC6I,EAAKmvB,EAALnvB,MAAOtH,EAAIy2B,EAAJz2B,KAAM02B,EAAMD,EAANC,OAAQC,EAAQF,EAARE,SAEtBC,EAAiBP,EAASQ,kBAAkBvvB,EAAOtH,EAAM22B,GAI/D,GAAID,EAAQ,CACR,IAAMI,EAAgBzmB,OAAO6J,OAAO,CAAC,EAAGyc,EAAU,CAC9CI,QAAQ,IAGZj2B,EACwB,aAApB61B,EAAS31B,OACH6V,EAAAA,EAAQmgB,UAAU1vB,EAAOwvB,GACzBjgB,EAAAA,EAAQogB,cAAc3vB,EAAOwvB,EAC3C,CAEA,IAAMI,GAAU5zB,EAAAA,EAAAA,GAAM,kBAANA,CAAyB,CACrCozB,OAAQA,GAAU,QAGtB,OACIz3B,EAAAA,EAAAA,KAACwmB,EAAAA,EAAa,CAAA1mB,SACT43B,EAASI,QACN93B,EAAAA,EAAAA,KAAA,OAAKuC,UAAW01B,EAASp2B,MAAOA,EAAOq2B,IAAI,OAAMp4B,UAC7CE,EAAAA,EAAAA,KAAA,OACIuC,UAAU,UACV41B,wBAAyB,CAACC,OAAQT,QAI1C33B,EAAAA,EAAAA,KAAA,OACIuC,UAAW01B,EACXp2B,MAAOA,EACPq2B,IAAI,OACJC,wBAAyB,CAACC,OAAQT,MAKtD,IAAC,EAAAlmB,IAAA,oBAAApJ,MAjDD,SAAyBA,EAAgBtH,EAAwB22B,GAC7D,IAAMW,EAAW,CAAChwB,EAAOtH,GAEzB,MAA2B,aAApB22B,EAAS31B,OACV6V,EAAAA,EAAQmgB,UAAUM,EAAUX,GAC5B9f,EAAAA,EAAQogB,cAAcK,EAAUX,EAC1C,IAAC,CApBwB,CAAS50B,EAAAA,WAAjBs0B,EAQVkB,aAAe,CAClBb,QAAQ,EACRc,SAAS,EACTb,SAAUc,EAAAA,EAAKC,wB,2aC3BvB,GAAeC,EAAAA,EAAAA,IAAc,iBAAkB,CAACpd,GAAAA,EAAIqd,GAAAA,ICepD,IAAMt0B,GAAQC,EAAAA,EAAAA,GAAG,kBAEjB,SAASs0B,EAAQC,GACb,IAAMC,EAAQ,WAAWC,KAAKF,GAC9B,OAAOC,EAAQA,EAAM,GAAKD,CAC9B,CAwBO,SAASG,EAAUx4B,GAUL,IAADy4B,EAAAz4B,EAThB6H,MAAAA,OAAK,IAAA4wB,EAAG,KAAIA,EACZnlB,EAAQtT,EAARsT,SACAolB,EAAY14B,EAAZ04B,aACAC,EAAe34B,EAAf24B,gBACA52B,EAAS/B,EAAT+B,UACAqR,EAAQpT,EAARoT,SACAR,EAAU5S,EAAV4S,WACAgmB,EAAa54B,EAAb44B,cACA7jB,EAAW/U,EAAX+U,YAEA8jB,GAA8BC,EAAAA,EAAAA,WAAS,GAAMC,GAAAxsB,EAAAA,EAAAA,GAAAssB,EAAA,GAAtCG,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAIpBG,EAAa5lB,GAAYzL,EAAQyL,EAAS6lB,OAAOtxB,EAAM,UAAOvB,EAE9D8yB,EACFF,GAAcrxB,EACR+uB,EAASQ,kBAAkBvvB,EAAM,GAAIqxB,GAAUh6B,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACxCw5B,GAAY,IACfpB,QAAQ,KAEZlgB,EAAAA,EAAQiiB,YAAYxxB,GAAK3I,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAMw5B,GAAY,IAAEpB,QAAQ,KACzDH,EACF+B,GAAcrxB,GACVrI,EAAAA,EAAAA,KAACo3B,EAAQ,CAAC/uB,MAAOA,EAAM,GAAItH,KAAM24B,EAAYhC,SAAUwB,KAEvDl5B,EAAAA,EAAAA,KAACw4B,EAAAA,EAAI,CAACnwB,MAAOA,EAAOqvB,SAAUwB,IAGtC1N,EAAqD1oB,EAAAA,SAAc,WAC/D,IAEIqQ,EAFA2mB,GAAqB,EACrBC,GAAoB,EAGxB,GAAI1xB,GAASqxB,EAAY,CACrB,IAAM9iB,EAA+B,CAACe,YAAY,GAE3CX,EAAQY,EAAAA,EAAQC,WAAWC,IAAI,CAACzP,EAAM,GAAIqxB,GAAaR,EAActiB,GAArEI,KAEP+iB,EAAoBnjB,EAAMe,WAC1BmiB,EAAqBljB,EAAMe,YAAcX,EACzC7D,EAAM6D,CACV,MAAW3O,IACP0xB,EAAoBvY,QAAQnZ,EAAM6P,cAGtC,MAAO,CAAC/E,IAAAA,EAAK2mB,mBAAAA,EAAoBC,kBAAAA,EACrC,GAAG,CAAC1xB,EAAOqxB,EAAYR,IAlBhB/lB,EAAGqY,EAAHrY,IAAK2mB,EAAkBtO,EAAlBsO,mBAAoBC,EAAiBvO,EAAjBuO,kBAoB1BC,EAAWzkB,EAAclN,aAAK,EAALA,EAAQ,GAAKA,aAAK,EAALA,EAAO0O,OAE7CkjB,EAAmC,iBAAbD,EACtBE,EAAeD,GAAgBd,EACjCgB,EAActb,EAAK,kBACnBqb,IACAC,EAActb,EAAK,uBAGvB,IAAMub,EAAgBF,GAGlBl6B,EAAAA,EAAAA,KAAA,OAAKuC,UAAW,kBAAkBzC,UAC9BE,EAAAA,EAAAA,KAAA,OAAKuC,UAAW,UAAUzC,UACtBE,EAAAA,EAAAA,KAAA,QAAMuC,UAAW,SAASzC,SAAEk6B,QAJpCrC,EASJnU,EAAoD1gB,EAAAA,UAAe,GAAM2gB,GAAA1W,EAAAA,EAAAA,GAAAyW,EAAA,GAAlE6W,EAAmB5W,EAAA,GAAE6W,EAAoB7W,EAAA,GAEhD,OACIhkB,EAAAA,EAAAA,MAAA,OACI8C,UAAW8B,EAAM,KAAM9B,GACvBg4B,aA/DiB,WAAH,OAASd,GAAW,EAAM,EAgExCe,aA/DiB,WAAH,OAASf,GAAW,EAAO,EA+DV35B,SAAA,CAE9Bg6B,GACG95B,EAAAA,EAAAA,KAACy6B,EAAAA,EAAK,CAACC,MAAM,UAAUrc,KAAMQ,EAAK,kBAAmB,CAAC1L,IAAAA,MAEtDinB,GAEFZ,GAAWM,KACT95B,EAAAA,EAAAA,KAAA,OAAKuC,UAAW8B,EAAM,0BAA0BvE,UAC5CL,EAAAA,EAAAA,MAAC2F,EAAAA,EAAI,CAAC8B,WAAW,SAAQpH,SAAA,CACpBuI,IAAU0xB,IACP/5B,EAAAA,EAAAA,KAACmrB,EAAAA,EAAO,CACJN,QACKoP,GACGj6B,EAAAA,EAAAA,KAAA,QAAMuC,UAAW8B,EAAM,sBAAsBvE,SACxCq6B,SAFOrzB,EAKnBhH,UAEDE,EAAAA,EAAAA,KAAC26B,EAAAA,EAAe,CACZh1B,KAAK,iBACLlC,KAAK,IACL4a,KAAM6b,EAAeF,EAAWpB,EAAQgB,GACxCgB,OAAQ,SAACjhB,GACDA,SAAAA,EAAOT,UAAY+gB,GACnBY,IACIX,EAAetB,EAAQgB,GAAgBI,EAGnD,MAIXD,IACG/5B,EAAAA,EAAAA,KAAC4e,EAAAA,EAAM,CACHjZ,KAAK,iBACLlC,KAAK,IACLyb,GAAG,2BACH5E,SAAO7Q,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAE,SAAA6B,IAAA,OAAA9B,EAAAA,EAAAA,KAAAM,MAAA,SAAAgC,GAAA,cAAAA,EAAA9B,KAAA8B,EAAA7B,MAAA,OACsB,GAA3BmwB,GAAqB,GAAMtuB,EAAA9B,KAAA,EAElBmwB,EAAoB,CAADruB,EAAA7B,KAAA,eAAA6B,EAAA7B,KAAA,EACdivB,EAAchmB,EAAYQ,EAAUT,GAAK,KAAD,EAGtB,OAHsBnH,EAAA9B,KAAA,EAGlDowB,GAAqB,GAAOtuB,EAAAoG,OAAA,2BAAApG,EAAAf,OAAA,GAAAO,EAAA,qBAGpC8U,QAAS+Z,EAAoBv6B,UAE7BE,EAAAA,EAAAA,KAAC86B,EAAAA,EAAS,CAAC34B,KAAM44B,EAAAA,EAAKt3B,KAAK,gBAQ3D,C,wBCzKO,SAASu3B,EAAcx6B,GAkB1B,IAjBAsR,EAAOtR,EAAPsR,QACAmC,EAAUzT,EAAVyT,WACAH,EAAQtT,EAARsT,SACAolB,EAAY14B,EAAZ04B,aACA+B,EAAaz6B,EAAby6B,cACAC,EAAY16B,EAAZ06B,aACA9B,EAAa54B,EAAb44B,cACA7jB,EAAW/U,EAAX+U,YAWA,OAAOxM,IAAK+I,GAAS,SAAC4E,GAClB,IAYOykB,EAAazkB,EAAbykB,UACDC,EAAcnnB,EAAW2b,QAAQlZ,EAAOoP,OAAS,EAChDrjB,GAAWy4B,EAAaxkB,EAAOoP,OAAS,CAAC,GAAzCrjB,QACD44B,GACFr7B,EAAAA,EAAAA,KAACmrB,EAAAA,EAAO,CAACN,QAASrJ,QAAQ/e,KAAYzC,EAAAA,EAAAA,KAACwC,EAAAA,EAAc,CAACC,QAASA,IAAY3C,UACvEE,EAAAA,EAAAA,KAACw4B,EAAAA,EAAI,CAACnwB,MAAOuP,EAAAA,EAAQ0jB,iBAAiB5kB,EAAOoP,MAAO4R,SAAUwB,EAAczB,QAAM,EAAA33B,SAC7Es7B,IACGp7B,EAAAA,EAAAA,KAACyB,EAAAA,EAAI,CACDC,QACkB,eAAdy5B,EACM,iBACA,6BAO9B,OAAO/pB,OAAO6J,OAAO,CAAC,EAAGvE,EAAQ,CAAC6kB,OA9BnB,SAAH7mB,GAAA,IAAKrM,EAAKqM,EAALrM,MAAOW,EAAK0L,EAAL1L,MAAK,OACzBhJ,EAAAA,EAAAA,KAACg5B,EAAU,CACPG,gBAAiB8B,EACjB5yB,MAAOA,EACPyL,SAAUA,GAAY,GACtBolB,aAAcA,EACdtlB,SAAU5K,EACVoK,WAAYsD,EAAOoP,KACnBsT,cAAeA,EACf7jB,YAAaA,GACf,EAoBoC8lB,OAAAA,GAC9C,GACJ,C,kDClEO,SAASjf,GAAkB,IAAEX,EAAG,SAAEY,EAAQ,IAAEmf,IAC/C,aAAgB,KACZ,MAAMrO,EAAU1R,aAAiC,EAASA,EAAIV,QAC9D,IAAKoS,EACD,OAEJ,QAAqC,IAA1BH,OAAOyO,eAEd,OADAzO,OAAO0O,iBAAiB,SAAUrf,GAAU,GACrC,KACH2Q,OAAO2O,oBAAoB,SAAUtf,GAAU,EAAM,EAG7D,MAAMuf,EAAW,IAAIH,gBAAgBpqB,IAC5BA,EAAQjG,QAGbiR,GAAU,IAGd,OADAuf,EAASC,QAAQ1O,EAAS,CAAEqO,QACrB,KACHI,EAASE,YAAY,CACxB,GACF,CAACrgB,EAAKY,EAAUmf,GACvB,C","sources":["webpack://@ytsaurus/ui/./src/ui/store/selectors/acl-filters.ts","webpack://@ytsaurus/ui/./src/ui/assets/img/svg/icons/queue-consumer.svg","webpack://@ytsaurus/ui/./src/ui/assets/img/svg/icons/queue-producer.svg","webpack://@ytsaurus/ui/./src/ui/components/MapNodeIcon/MapNodeIcon.tsx","webpack://@ytsaurus/ui/./src/ui/components/SchemaDataType/SchemaDataType.tsx","webpack://@ytsaurus/ui/./src/ui/pages/navigation/Navigation/NavigationError/NavigationErrorImage.tsx","webpack://@ytsaurus/ui/./src/ui/pages/navigation/tabs/ACL/RequestPermissions/RequestPermissions.js","webpack://@ytsaurus/ui/./src/ui/pages/navigation/Navigation/NavigationError/RequestPermission/RequestPermissionIsNotAllowed.tsx","webpack://@ytsaurus/ui/./src/ui/pages/navigation/Navigation/NavigationError/RequestPermission/RequestPermission.tsx","webpack://@ytsaurus/ui/./src/ui/pages/navigation/Navigation/NavigationError/helpers/helpers.ts","webpack://@ytsaurus/ui/./src/ui/pages/navigation/Navigation/NavigationError/NavigationError.tsx","webpack://@ytsaurus/ui/./src/ui/store/actions/acl.ts","webpack://@ytsaurus/ui/./src/ui/store/actions/navigation/modals/cell-preview/format.ts","webpack://@ytsaurus/ui/./src/ui/store/actions/navigation/modals/cell-preview/dynamic-table.ts","webpack://@ytsaurus/ui/./src/ui/store/actions/navigation/modals/cell-preview/static-table.ts","webpack://@ytsaurus/ui/./src/ui/store/actions/navigation/modals/cell-preview/index.ts","webpack://@ytsaurus/ui/./src/ui/utils/navigation/isLinkToTrashNode.ts","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/build/esm/components/lab/Breadcrumbs/utils.js","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/build/esm/components/lab/Breadcrumbs/BreadcrumbItem.js","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/build/esm/components/lab/Breadcrumbs/BreadcrumbsSeparator.js","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/build/esm/components/lab/Breadcrumbs/i18n/index.js","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/build/esm/components/lab/Breadcrumbs/Breadcrumbs.js","webpack://@ytsaurus/ui/./src/ui/components/Breadcrumbs/Breadcrumbs.tsx","webpack://@ytsaurus/ui/./src/ui/components/PageCounter/PageCounter.tsx","webpack://@ytsaurus/ui/./src/ui/components/ColumnHeader/ColumnHeader.tsx","webpack://@ytsaurus/ui/./src/ui/containers/ACL/RequestPermissions/RequestPermissions.tsx","webpack://@ytsaurus/ui/./src/ui/assets/img/svg/info-icon2.svg","webpack://@ytsaurus/ui/./src/ui/components/Info/Info.tsx","webpack://@ytsaurus/ui/./src/ui/utils/navigation/isTrashNode.ts","webpack://@ytsaurus/ui/./src/ui/pages/navigation/NavigationDescription/hooks/use-yt-annotation.ts","webpack://@ytsaurus/ui/./src/ui/pages/navigation/NavigationDescription/hooks/use-external-annotation.ts","webpack://@ytsaurus/ui/./src/shared/constants/settings-ts.ts","webpack://@ytsaurus/ui/./src/ui/pages/navigation/NavigationDescription/EditButtons.tsx","webpack://@ytsaurus/ui/./src/ui/pages/navigation/NavigationDescription/hooks/use-description-actions.ts","webpack://@ytsaurus/ui/./src/ui/pages/navigation/NavigationDescription/hooks/use-update-annotaton.ts","webpack://@ytsaurus/ui/./src/ui/pages/navigation/NavigationDescription/SwitchDescription.tsx","webpack://@ytsaurus/ui/./src/ui/pages/navigation/NavigationDescription/NavigationDescriptionOverview.tsx","webpack://@ytsaurus/ui/./src/ui/pages/navigation/NavigationDescription/AnnotationWithPartial.tsx","webpack://@ytsaurus/ui/./src/ui/pages/navigation/NavigationDescription/NavigationDescription.tsx","webpack://@ytsaurus/ui/./src/ui/pages/navigation/NavigationDescription/hooks/use-description-collapse.ts","webpack://@ytsaurus/ui/./src/ui/pages/navigation/NavigationDescription/hooks/use-description.ts","webpack://@ytsaurus/ui/./src/ui/pages/navigation/NavigationDescription/hooks/use-description-type-on-load.ts","webpack://@ytsaurus/ui/./src/ui/store/selectors/acl.ts","webpack://@ytsaurus/ui/./src/ui/components/YqlValue/YqlValue.tsx","webpack://@ytsaurus/ui/./src/ui/components/ColumnCell/i18n/index.ts","webpack://@ytsaurus/ui/./src/ui/components/ColumnCell/ColumnCell.tsx","webpack://@ytsaurus/ui/./src/ui/utils/navigation/prepareColumns.tsx","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/build/esm/hooks/useResizeObserver/useResizeObserver.js"],"sourcesContent":["import {RootState} from '../reducers';\n\nexport function getExecuteBatchState(state: RootState) {\n return state.executeBatch;\n}\n\nexport const getApproversSubjectFilter = (state: RootState) => state.aclFilters.approversSubject;\nexport const getObjectSubjectFilter = (state: RootState) => state.aclFilters.objectSubject;\nexport const getObjectPermissionsFilter = (state: RootState) => state.aclFilters.objectPermissions;\nexport const getAclFilterColumns = (state: RootState) => state.aclFilters.columnsFilter;\nexport const getAclFilterColumnGroupName = (state: RootState) =>\n state.aclFilters.columnGroupNameFilter;\nexport const getAclFilterExpandedSubjects = (state: RootState) => state.aclFilters.expandedSubjects;\nexport const getAclCurrentTab = (state: RootState) => state.aclFilters.aclCurrentTab;\n","const SvgQueueConsumer = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 16 16\" {...props}><g clipPath=\"url(#queue-consumer_svg__a)\"><path d=\"M12.154 2.004A3 3 0 0 1 15 5v2H6.25v2h2.5v1.5h-2.5v2h2.5V14H4l-.154-.004a3 3 0 0 1-2.842-2.842L1 11V5a3 3 0 0 1 2.846-2.996L4 2h8zM2.5 11A1.5 1.5 0 0 0 4 12.5h.75v-2H2.5zm0-2h2.25V7H2.5zM4 3.5A1.5 1.5 0 0 0 2.5 5v.5h2.25v-2zm2.25 2h7.25V5A1.5 1.5 0 0 0 12 3.5H6.25z\" /><path stroke=\"currentColor\" strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={1.5} d=\"M15.125 11.283a.25.25 0 0 1 .055.39l-.055.044-3 1.731a.25.25 0 0 1-.375-.216V9.768a.25.25 0 0 1 .312-.243l.063.027z\" /></g><defs><clipPath id=\"queue-consumer_svg__a\"><path d=\"M0 0h16v16H0z\" /></clipPath></defs></svg>;\nexport default SvgQueueConsumer;","const SvgQueueProducer = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 16 16\" {...props}><path d=\"M12.154 2.004A3 3 0 0 1 15 5v2H6.25v2h2.5v1.5h-2.5v2h2.5V14H4l-.154-.004a3 3 0 0 1-2.842-2.842L1 11V5a3 3 0 0 1 2.846-2.996L4 2h8zM2.5 11A1.5 1.5 0 0 0 4 12.5h.75v-2H2.5zm0-2h2.25V7H2.5zM4 3.5A1.5 1.5 0 0 0 2.5 5v.5h2.25v-2zm2.25 2h7.25V5A1.5 1.5 0 0 0 12 3.5H6.25z\" /><path stroke=\"currentColor\" strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={1.5} d=\"m11 12 1.6 2 2.4-4\" /></svg>;\nexport default SvgQueueProducer;","import React from 'react';\nimport {Icon as GravityIcon} from '@gravity-ui/uikit';\n\nimport hammer from '../../common/hammer';\nimport ypath from '../../common/thor/ypath';\n\nimport Icon from '../../components/Icon/Icon';\n\nimport UIFactory from '../../UIFactory';\n\nimport {getIconNameForType} from '../../utils/navigation/path-editor';\nimport {isTrashNode} from '../../utils/navigation/isTrashNode';\nimport {isLinkToTrashNode} from '../../utils/navigation/isLinkToTrashNode';\n\nimport QueueConsumerIcon from '../../assets/img/svg/icons/queue-consumer.svg';\nimport QueueProducerIcon from '../../assets/img/svg/icons/queue-producer.svg';\n\nimport type {BaseMapNode} from '../../utils/navigation/content/map-nodes/node';\n\nimport './MapNodeIcon.scss';\n\nexport function MapNodeIcon({node}: {node: BaseMapNode}) {\n const item = ypath.getAttributes(node);\n const iconType = item?.type === 'table' && item?.dynamic ? 'table_dynamic' : item?.type;\n let icon = UIFactory.getNavigationMapNodeSettings()?.renderNodeIcon(node);\n\n if (icon) {\n // do nothing\n } else if (isTrashNode(item?.path) || isLinkToTrashNode(item?.targetPath)) {\n icon = <Icon awesome=\"trash-alt\" />;\n } else {\n icon = <Icon awesome={getIconNameForType(iconType, item.targetPathBroken)} />;\n }\n\n let title = hammer.format['ReadableField'](item.type);\n if (iconType === 'table') {\n title = 'Static table';\n }\n\n if (iconType === 'table_dynamic') {\n if (item?.sorted) {\n title = 'Dynamic table';\n } else {\n title = 'Queue table';\n icon = <Icon awesome=\"queue-table\" />;\n }\n }\n\n if (item?.treat_as_queue_consumer) {\n title = 'Queue consumer';\n icon = <GravityIcon data={QueueConsumerIcon} />;\n }\n\n if (item?.treat_as_queue_producer) {\n title = 'Queue producer';\n icon = <GravityIcon data={QueueProducerIcon} />;\n }\n\n return (\n <span className={'icon-wrapper'} title={title}>\n {icon}\n </span>\n );\n}\n","import React from 'react';\n\nimport {getPrimitiveTypesMap} from '../../store/selectors/global/supported-features';\nimport {useSelector} from 'react-redux';\nimport {getType} from './dataTypes';\nimport DataType from './DataType/DataType';\nimport {parseV3Type} from './dateTypesV3';\n\ninterface Props {\n type_v3: any;\n}\n\nfunction SchemaDataType({type_v3}: Props) {\n const primitiveTypes = useSelector(getPrimitiveTypesMap);\n\n const dataTypeProps = React.useMemo(() => {\n try {\n return getType(parseV3Type(type_v3, primitiveTypes));\n } catch {\n return undefined;\n }\n }, [type_v3, primitiveTypes]);\n\n return dataTypeProps ? (\n <DataType {...dataTypeProps} />\n ) : (\n <>There is no type description in the schema</>\n );\n}\n\nexport default React.memo(SchemaDataType);\n","import React from 'react';\nimport {Icon} from '@gravity-ui/uikit';\nimport {AccessDenied, NotFound} from '@gravity-ui/illustrations';\nimport {SVGIconData} from '@gravity-ui/uikit/build/esm/components/Icon/types';\n\nimport {ErrorCode} from './helpers';\n\ntype Props = {\n type: ErrorCode;\n};\n\ntype ImageMap = {\n [key in ErrorCode]: SVGIconData;\n};\n\nconst ErrorImages: ImageMap = {\n 500: NotFound,\n 901: AccessDenied,\n};\n\nexport function NavigationErrorImage(props: Props) {\n const {type} = props;\n\n const ErrorImage = ErrorImages[type];\n\n return <Icon data={ErrorImage} size={150} />;\n}\n","import {connect} from 'react-redux';\n\nimport RequestPermissions from '../../../../../containers/ACL/RequestPermissions/RequestPermissions';\nimport {\n getDenyColumnsItems,\n getIdmPermissionsRequestError,\n} from '../../../../../store/selectors/acl';\nimport {cancelRequestPermissions, requestPermissions} from '../../../../../store/actions/acl';\nimport {IdmObjectType} from '../../../../../constants/acl';\n\nconst idmKind = IdmObjectType.PATH;\n\nconst mapStateToProps = (state) => {\n const denyColumns = getDenyColumnsItems(state, idmKind);\n\n return {\n idmKind,\n denyColumns,\n error: getIdmPermissionsRequestError(state, idmKind),\n };\n};\n\nexport default connect(mapStateToProps, {requestPermissions, cancelRequestPermissions})(\n RequestPermissions,\n);\n","import React from 'react';\nimport cn from 'bem-cn-lite';\n\nimport hammer from '../../../../../common/hammer';\nimport {Info} from '../../../../../components/Info/Info';\n\nimport './RequestPermission.scss';\n\nconst block = cn('request-permission-is-not-allowed');\n\ntype Props = {\n objectType: any;\n};\n\nexport function RequestPermissionIsNotAllowed(props: Props) {\n const {objectType} = props;\n\n return (\n <Info className={block()}>\n It is not possible to request access to the{' '}\n {hammer.format['Readable'](objectType, {caps: 'none'})}. Please request access to the\n parent directory.\n </Info>\n );\n}\n","import React from 'react';\nimport cn from 'bem-cn-lite';\nimport {Flex} from '@gravity-ui/uikit';\nimport ypath from '../../../../../common/thor/ypath';\n\nimport {ErrorToClipboardButton} from '../../../../../components/ErrorToClipboardButton/ErrorToClipboardButton';\nimport RequestPermissions from '../../../tabs/ACL/RequestPermissions/RequestPermissions';\n\nimport {getParentPath} from '../../../../../utils/navigation';\nimport {YTError} from '../../../../../../@types/types';\n\nimport {RequestPermissionIsNotAllowed} from './RequestPermissionIsNotAllowed';\n\nimport './RequestPermission.scss';\n\nconst block = cn('request-permission');\n\ntype Props = {\n error: YTError;\n cluster: string;\n path?: string;\n};\n\nexport function RequestPermission(props: Props) {\n const {path: currentPath, error, cluster} = props;\n\n const objectType = ypath.getValue(error?.attributes, '/object_type');\n const errorPath = ypath.getValue(error?.attributes, '/path');\n const isRequestPermissionsForPathAllowed = objectType === 'map_node';\n\n const path = errorPath ?? currentPath;\n\n const pathForRequest = isRequestPermissionsForPathAllowed ? path : getParentPath(path);\n\n return (\n <Flex direction={'column'} gap={3}>\n {!isRequestPermissionsForPathAllowed && (\n <RequestPermissionIsNotAllowed objectType={objectType} />\n )}\n <Flex direction={'row'} gap={3}>\n <RequestPermissions\n buttonClassName={block('request-permissions-button')}\n path={pathForRequest}\n cluster={cluster}\n buttonProps={{size: 'l', width: 'max'}}\n />\n <ErrorToClipboardButton className={block('copy')} view=\"outlined\" error={error}>\n Copy error details\n </ErrorToClipboardButton>\n </Flex>\n </Flex>\n );\n}\n","import {getYtErrorCode} from '../../../../../utils/errors';\nimport {YTError} from '../../../../../../@types/types';\nimport {UnipikaValue} from '../../../../../components/Yson/StructuredYson/StructuredYsonTypes';\nimport ypath from '../../../../../common/thor/ypath';\n\nexport type ErrorCode = 500 | 901;\n\ntype NoAccessTitlePayload = {\n username?: string;\n permissions?: Array<UnipikaValue>;\n path?: string;\n};\n\ntype NoPathTitlePayload = {\n path: string;\n};\n\ntype TitlePayload = NoAccessTitlePayload & NoPathTitlePayload;\n\ntype ErrorInfo = {\n [key in ErrorCode]:\n | {\n getTitle: (payload: TitlePayload) => string;\n }\n | undefined;\n};\n\nexport const ErrorsInfo: ErrorInfo = {\n 901: {\n getTitle: (payload: NoAccessTitlePayload) => {\n const {username, permissions, path} = payload;\n const permission = permissions\n ?.map((perm: UnipikaValue) => ypath.getValue(perm))\n .join(' | ');\n const permissionsStr = permission ? `\"${permission}\"` : '';\n return `User ${username} does not have ${permissionsStr} access to node \"${path}\"`;\n },\n },\n 500: {\n getTitle: (payload: NoPathTitlePayload) => {\n const {path} = payload;\n return `Path \"${path}\" does not exist`;\n },\n },\n};\n\nexport function getErrorTitle(\n {attributes, code}: {code: ErrorCode} & Pick<YTError, 'attributes'>,\n path?: string,\n): string {\n const title = ErrorsInfo[code!]?.getTitle({\n path: path || '',\n username: ypath.getValue(attributes, '/user') || '',\n permissions: ypath.getValue(attributes, '/permission') || [],\n });\n\n return title ?? 'An unexpected error occurred';\n}\n\n/**\n * returns first non-undefined error code,\n * from root error to inner errors\n */\nexport function getLeadingErrorCode(error: YTError): number | undefined {\n const errorCode = getYtErrorCode(error);\n if (!isNaN(errorCode)) {\n return errorCode;\n }\n\n if (!error?.inner_errors) return;\n\n const errors = error.inner_errors;\n\n for (const inner_error of errors) {\n const innerErrorCode = getYtErrorCode(inner_error);\n if (!isNaN(innerErrorCode)) {\n return innerErrorCode;\n }\n\n if (inner_error.inner_errors) {\n errors.concat(inner_error.inner_errors);\n }\n }\n\n return;\n}\n","import React from 'react';\nimport cn from 'bem-cn-lite';\nimport {Flex, FlexProps, Text} from '@gravity-ui/uikit';\n\nimport {YTErrorBlock} from '../../../../components/Error/Error';\nimport ErrorDetails from '../../../../components/ErrorDetails/ErrorDetails';\nimport {ErrorToClipboardButton} from '../../../../components/ErrorToClipboardButton/ErrorToClipboardButton';\n\nimport NavigationDescription from '../../../../pages/navigation/NavigationDescription/NavigationDescription';\n\nimport {NavigationErrorImage} from './NavigationErrorImage';\nimport {RequestPermission} from './RequestPermission';\nimport {getPermissionDeniedError} from '../../../../utils/errors';\nimport {YTError} from '../../../../../@types/types';\nimport {ErrorCode, getErrorTitle, getLeadingErrorCode} from './helpers';\n\nimport './NavigationError.scss';\n\nconst block = cn('navigation-error');\n\ntype Props = {\n path?: string;\n details: YTError;\n cluster: string;\n message: string;\n vertical?: boolean;\n};\n\nfunction PrettyError(props: Props & {code: ErrorCode}) {\n const {details, path, cluster, code, vertical} = props;\n\n const error = code === 901 ? getPermissionDeniedError(details)! : details;\n const title = getErrorTitle({...error, code}, path);\n const direction: FlexProps['direction'] = vertical ? 'column' : undefined;\n\n return (\n <Flex\n direction={'column'}\n minHeight={'calc(100vh - 3 * var(--app-header-height) - var(--app-footer-height))'}\n >\n {code === 901 && <NavigationDescription className={'error-description'} />}\n <Flex\n className={block()}\n justifyContent=\"center\"\n alignItems=\"center\"\n direction={direction}\n gap={7}\n >\n <Flex>\n <NavigationErrorImage type={code} />\n </Flex>\n <Flex direction={'column'} className={block('info')} gap={3}>\n <Text className={block('title')}>{title}</Text>\n <ErrorDetails error={details} />\n <Flex gap={3} direction={direction}>\n {code === 901 ? (\n <RequestPermission cluster={cluster} path={path} error={error} />\n ) : (\n <ErrorToClipboardButton\n className={block('copy')}\n view=\"outlined\"\n error={details}\n >\n Copy error details\n </ErrorToClipboardButton>\n )}\n </Flex>\n </Flex>\n </Flex>\n </Flex>\n );\n}\n\nfunction UnexpectedError(props: Props) {\n const {details, message} = props;\n\n return <YTErrorBlock className={block('unexpected-error')} error={details} message={message} />;\n}\n\nexport function NavigationError(props: Props) {\n const {details} = props;\n\n const code = getLeadingErrorCode(details);\n\n return (\n <>\n {code === 500 || code === 901 ? (\n <PrettyError {...props} code={code} />\n ) : (\n <UnexpectedError {...props} />\n )}\n </>\n );\n}\n","import {ThunkAction} from 'redux-thunk';\n\nimport flatten_ from 'lodash/flatten';\nimport forEach_ from 'lodash/forEach';\nimport map_ from 'lodash/map';\n\nimport {\n DELETE_PERMISSION,\n IdmObjectType,\n LOAD_DATA,\n REQUEST_PERMISSION,\n UPDATE_ACL,\n} from '../../constants/acl';\nimport {getTree} from '../../store/selectors/scheduling/scheduling';\nimport {\n YTPermissionTypeUI,\n checkUserPermissionsUI,\n getAcl,\n getResponsible,\n} from '../../utils/acl/acl-api';\nimport {convertFromUIPermissions, prepareAclSubject} from '../../utils/acl';\nimport UIFactory from '../../UIFactory';\nimport {AclAction, HasIdmKind} from '../../store/reducers/acl/acl';\nimport {isCancelled} from '../../utils/cancel-helper';\nimport {RootState} from '../../store/reducers';\nimport {IdmKindType, PreparedAclSubject, ResponsibleType, Role} from '../../utils/acl/acl-types';\nimport {CheckPermissionResult} from '../../../shared/utils/check-permission';\nimport {YTApiId, ytApiV3Id} from '../../rum/rum-wrap-api';\n\ntype ThunkAclAction<T = unknown> = ThunkAction<T, RootState, unknown, AclAction>;\n\nconst prepareUserPermissions = (\n userPermissions: Array<CheckPermissionResult>,\n idmKind: IdmKindType,\n) => {\n const {permissionTypes} = UIFactory.getAclPermissionsSettings()[idmKind];\n return map_(userPermissions, (item, index) => {\n return {\n type: permissionTypes[index],\n action: item.action,\n };\n });\n};\n\ntype HasNormPoolTree = {normalizedPoolTree?: string};\n\nasync function getPathToCheckPermissions(\n idmKind: IdmKindType,\n entityName: string,\n poolTree?: string,\n) {\n switch (idmKind) {\n case IdmObjectType.ACCESS_CONTROL_OBJECT:\n case IdmObjectType.UI_EFFECTIVE_ACL:\n case IdmObjectType.PATH:\n return entityName;\n case IdmObjectType.ACCOUNT:\n return `//sys/accounts/${entityName}`;\n case IdmObjectType.POOL: {\n const fullPath: string = await ytApiV3Id.get(YTApiId.schedulingPoolFullPath, {\n path: `//sys/scheduler/orchid/scheduler/pool_trees/${poolTree}/pools/${entityName}/full_path`,\n });\n return `//sys/pool_trees/${poolTree}${fullPath}`;\n }\n case IdmObjectType.TABLET_CELL_BUNDLE: {\n return `//sys/tablet_cell_bundles/${entityName}`;\n }\n }\n throw new Error('Unexpected value of parameter idmKind');\n}\n\nexport function loadAclData(\n {path, idmKind}: {path: string} & HasIdmKind,\n {normalizedPoolTree}: HasNormPoolTree = {},\n options: {userPermissionsPath?: string} = {userPermissionsPath: undefined},\n): ThunkAclAction {\n return async (dispatch, getState) => {\n const state = getState();\n const {login, cluster = ''} = state.global;\n\n dispatch({type: LOAD_DATA.REQUEST, idmKind});\n\n const poolTree =\n idmKind === IdmObjectType.POOL ? normalizedPoolTree || getTree(state) : undefined;\n const {permissionTypes} = UIFactory.getAclPermissionsSettings()[idmKind];\n\n const {userPermissionsPath} = options;\n\n try {\n const pathToCheckPermissions = await getPathToCheckPermissions(idmKind, path, poolTree);\n const pathToCheckUserPermissions = userPermissionsPath\n ? await getPathToCheckPermissions(idmKind, userPermissionsPath, poolTree)\n : pathToCheckPermissions;\n\n return await Promise.all([\n getAcl({\n cluster,\n path,\n kind: idmKind,\n poolTree,\n sysPath: pathToCheckPermissions,\n }),\n checkUserPermissionsUI(pathToCheckUserPermissions, login, permissionTypes),\n getResponsible({\n cluster,\n path,\n kind: idmKind,\n poolTree,\n sysPath: pathToCheckPermissions,\n }),\n ]).then(([acl, userPermissions, responsible]) => {\n dispatch({\n type: LOAD_DATA.SUCCESS,\n data: {\n path,\n version: responsible.version,\n auditors: responsible.auditors,\n objectPermissions: acl.permissions,\n columnGroups: acl.column_groups,\n inheritAcl: acl.inheritAcl,\n responsible: responsible.responsible,\n userPermissions: prepareUserPermissions(userPermissions, idmKind),\n readApprovers: responsible.readApprovers,\n disableAclInheritance: responsible.disableAclInheritance,\n bossApproval: responsible.bossApproval,\n disableInheritanceResponsible: responsible.disableInheritanceResponsible,\n },\n idmKind,\n });\n });\n } catch (error: any) {\n dispatch({\n type: LOAD_DATA.FAILURE,\n data: {\n error,\n },\n idmKind,\n });\n }\n };\n}\n\nexport function deletePermissions(\n {\n roleKey,\n idmKind,\n path,\n itemToDelete,\n }: HasIdmKind & {path: string; roleKey: string; itemToDelete: PreparedAclSubject},\n {normalizedPoolTree}: HasNormPoolTree = {},\n): ThunkAclAction<Promise<void>> {\n return async (dispatch, getState) => {\n const {cluster = ''} = getState().global;\n const state = getState();\n\n dispatch({\n type: DELETE_PERMISSION.REQUEST,\n data: roleKey,\n idmKind,\n });\n\n const poolTree =\n idmKind === IdmObjectType.POOL ? normalizedPoolTree || getTree(state) : undefined;\n\n try {\n const deletePermissionsPath = await getPathToCheckPermissions(idmKind, path, poolTree);\n\n return await UIFactory.getAclApi()\n .deleteRole({\n idmKind,\n cluster,\n roleKey,\n path,\n sysPath: deletePermissionsPath,\n itemToDelete,\n })\n .then(() => {\n dispatch({\n type: DELETE_PERMISSION.SUCCESS,\n data: roleKey,\n idmKind,\n });\n });\n } catch (error: any) {\n if (isCancelled(error)) {\n dispatch({type: DELETE_PERMISSION.CANCELLED, idmKind});\n return undefined;\n } else {\n dispatch({\n type: DELETE_PERMISSION.FAILURE,\n data: error,\n idmKind,\n });\n return Promise.reject(error);\n }\n }\n };\n}\n\nfunction dateToDaysAfterNow(date?: Date) {\n if (!date) {\n return undefined;\n }\n\n return Math.round((date.getTime() - Date.now()) / 3600 / 24 / 1000);\n}\n\nexport type PermissionToRequest = {\n path: string;\n cluster: string;\n permissions: {[x: string]: Array<YTPermissionTypeUI>} | null;\n subjects: Array<ResponsibleType>;\n inheritance_mode?: string;\n duration?: Date;\n comment?: string;\n permissionFlags?: Record<string, boolean>;\n readColumnGroup?: string;\n readColumns?: Array<string>;\n};\n\nexport function requestPermissions(\n {values, idmKind}: {values: PermissionToRequest} & HasIdmKind,\n {normalizedPoolTree}: HasNormPoolTree = {},\n): ThunkAclAction {\n return async (dispatch, getState) => {\n const state = getState();\n const {\n global: {cluster = ''},\n } = state;\n\n dispatch({\n type: REQUEST_PERMISSION.REQUEST,\n idmKind,\n });\n\n const {requestPermissionsFlags = {}} = UIFactory.getAclApi();\n\n const daysAfter = dateToDaysAfterNow(values.duration);\n const roles: Array<Role> = [];\n const rolesGroupedBySubject = [];\n const {inheritance_mode, permissionFlags, readColumnGroup, readColumns} = values;\n for (const item of values.subjects) {\n const subject = prepareAclSubject(item);\n const commonPart = {\n subject,\n deprive_after_days: daysAfter,\n ...(inheritance_mode ? {inheritance_mode} : {}),\n };\n Object.entries(requestPermissionsFlags).forEach(([key, flagInfo]) => {\n flagInfo?.applyToRequestedRole(commonPart, permissionFlags?.[key]);\n });\n const flattenPermissions = flatten_(map_(values.permissions));\n if (flattenPermissions.length) {\n rolesGroupedBySubject.push({\n permissions: flattenPermissions,\n ...commonPart,\n });\n }\n if (readColumns?.length) {\n rolesGroupedBySubject.push({\n ...rolesGroupedBySubject[rolesGroupedBySubject.length - 1],\n ...commonPart,\n columns: readColumns,\n permissions: ['read' as const],\n });\n }\n forEach_(values.permissions, (permissions) => {\n roles.push({\n ...convertFromUIPermissions({permissions}),\n ...commonPart,\n });\n });\n if (readColumnGroup) {\n roles.push({\n role_type: 'column_read',\n column_group_id: readColumnGroup,\n ...commonPart,\n });\n }\n }\n\n const poolTree =\n idmKind === IdmObjectType.POOL ? normalizedPoolTree || getTree(state) : undefined;\n\n const requestPermissionsPath = await getPathToCheckPermissions(\n idmKind,\n values.path,\n poolTree,\n );\n\n //cluster, path, roles, comment, columns\n return UIFactory.getAclApi()\n .requestPermissions({\n cluster,\n path: values.path,\n sysPath: requestPermissionsPath,\n roles,\n roles_grouped: rolesGroupedBySubject.map(convertFromUIPermissions),\n comment: values.comment ?? '',\n kind: idmKind,\n poolTree,\n })\n .then(() => {\n dispatch({\n type: REQUEST_PERMISSION.SUCCESS,\n idmKind,\n });\n })\n .catch((error: any) => {\n if (isCancelled(error)) {\n dispatch({type: REQUEST_PERMISSION.CANCELLED, idmKind});\n return undefined;\n } else {\n dispatch({\n type: REQUEST_PERMISSION.FAILURE,\n data: error,\n idmKind,\n });\n return Promise.reject(error);\n }\n });\n };\n}\n\nexport function cancelRequestPermissions({idmKind}: HasIdmKind) {\n return {type: REQUEST_PERMISSION.CANCELLED, idmKind};\n}\n\nexport interface UpdateAclValues {\n responsible: Array<ResponsibleType>;\n auditors: Array<ResponsibleType>;\n readApprovers: Array<ResponsibleType>;\n disableInheritance: boolean;\n bossApproval: boolean;\n inheritAcl: boolean;\n comment: string;\n}\n\nexport function updateAcl(\n {\n path,\n values,\n version,\n idmKind,\n }: {\n path: string;\n values: Partial<UpdateAclValues>;\n version?: string;\n } & HasIdmKind,\n {normalizedPoolTree}: HasNormPoolTree = {},\n): ThunkAclAction {\n return (dispatch, getState) => {\n const state = getState();\n const {\n global: {cluster = ''},\n } = getState();\n\n dispatch({\n type: UPDATE_ACL.REQUEST,\n idmKind,\n });\n\n const poolTree =\n idmKind === IdmObjectType.POOL ? normalizedPoolTree || getTree(state) : undefined;\n return UIFactory.getAclApi()\n .updateAcl(cluster, path, {\n ...values,\n version,\n idmKind,\n poolTree,\n })\n .then(() => {\n dispatch({\n type: UPDATE_ACL.SUCCESS,\n idmKind,\n });\n })\n .catch((error) => {\n if (isCancelled(error)) {\n return dispatch({type: UPDATE_ACL.CANCELLED, idmKind});\n } else {\n const data = error?.response?.data || error?.response || error;\n dispatch({\n type: UPDATE_ACL.FAILURE,\n data,\n idmKind,\n });\n return Promise.reject(error);\n }\n });\n };\n}\n\nexport function cancelUpdateAcl({idmKind}: HasIdmKind): AclAction {\n return {type: UPDATE_ACL.CANCELLED, idmKind};\n}\n","import {isMediaTag} from '../../../../../utils/yql-types';\n\nconst getDefaultFormat = () => {\n return '--format json';\n};\n\nconst getImageResultFormat = (columnName: string, tag: string) => {\n const [_, extension] = tag.split('/');\n return `--format \"<columns=[${columnName}];enable_escaping=%false>schemaful_dsv\" >${columnName}.${extension}`;\n};\n\nexport const getCliCommandResultFormat = ({\n tag,\n columnName,\n}: {\n tag?: string;\n columnName: string;\n}) => {\n if (tag && isMediaTag(tag)) {\n return getImageResultFormat(columnName, tag as string);\n }\n\n return getDefaultFormat();\n};\n","import type {CellPreviewActionType} from '../../../modals/cell-preview';\nimport {\n getCurrentRowKey,\n getKeyColumns,\n getYqlTypes,\n} from '../../../../selectors/navigation/content/table-ts';\nimport Query from '../../../../../utils/navigation/content/table/query';\nimport {getCliCommandResultFormat} from './format';\n\nexport const getDynamicTableCellPath = ({\n rowIndex,\n path,\n columnName,\n}: {\n path: string;\n columnName: string;\n rowIndex: number;\n}): CellPreviewActionType<string> => {\n return (_, getState) => {\n const yqlTypes = getYqlTypes(getState());\n const key = getCurrentRowKey(getState(), rowIndex);\n const keyColumns = getKeyColumns(getState());\n\n const offset = Query.prepareKey(key, yqlTypes);\n\n return Query.prepareQuery({\n path,\n offset,\n offsetColumns: keyColumns,\n columns: [columnName],\n limit: 1,\n });\n };\n};\n\nexport const getDynamicTableCliCommand = ({\n cellPath,\n tag,\n columnName,\n}: {\n cellPath: string;\n columnName: string;\n tag?: string;\n}): string => {\n return `yt select-rows 'select ${cellPath}' ${getCliCommandResultFormat({columnName, tag})}`;\n};\n","import {type CellPreviewActionType} from '../../../modals/cell-preview';\nimport {getOffsetValue} from '../../../../selectors/navigation/content/table';\nimport {YSON_AS_TEXT, prettyPrint} from '../../../../../utils/unipika';\nimport {getCliCommandResultFormat} from './format';\n\nexport const getStaticTableCellPath = ({\n path,\n columnName,\n rowIndex: index,\n}: {\n path: string;\n columnName: string;\n rowIndex: number;\n}): CellPreviewActionType<string> => {\n return (_, getState) => {\n const offset = getOffsetValue(getState());\n\n const rowIndex = typeof offset === 'number' ? index + offset : index;\n\n return `${path}{${prettyPrint(columnName, YSON_AS_TEXT())}}[#${rowIndex}:#${rowIndex + 1}]`;\n };\n};\n\nexport const getStaticTableCliCommand = ({\n cellPath,\n columnName,\n tag,\n}: {\n cellPath: string;\n columnName: string;\n tag?: string;\n}): string => {\n return `yt read-table '${cellPath}' ${getCliCommandResultFormat({columnName, tag})}`;\n};\n","import {CancelTokenSource} from 'axios';\nimport {batch} from 'react-redux';\n\nimport {getPath} from '../../../../selectors/navigation';\nimport {getDefaultRequestOutputFormat} from '../../../../../utils/navigation/content/table/table';\nimport {CELL_PREVIEW, PREVIEW_LIMIT} from '../../../../../constants/modals/cell-preview';\nimport {isCancelled} from '../../../../../utils/cancel-helper';\nimport {\n CellPreviewActionType,\n cellPreviewCancelHelper,\n openCellPreview,\n} from '../../../modals/cell-preview';\nimport unipika from '../../../../../common/thor/unipika';\nimport {getIsDynamic} from '../../../../selectors/navigation/content/table-ts';\nimport {getDynamicTableCellPath, getDynamicTableCliCommand} from './dynamic-table';\nimport {getStaticTableCellPath, getStaticTableCliCommand} from './static-table';\nimport {isYqlTypesEnabled} from '../../../../selectors/navigation/content/table';\nimport {readStaticTable} from '../../content/table/readStaticTable';\nimport {readDynamicTable} from '../../content/table/readDynamicTable';\nimport {CellDataHandlerNavigation} from '../../../../../types/navigation/table-cell-preview';\n\nconst getCellPath = ({\n columnName,\n rowIndex,\n}: {\n columnName: string;\n rowIndex: number;\n}): CellPreviewActionType<string> => {\n return (dispatch, getState) => {\n const path: string = getPath(getState());\n const isDynamic = getIsDynamic(getState());\n\n const action = isDynamic ? getDynamicTableCellPath : getStaticTableCellPath;\n\n return dispatch(action({path, columnName, rowIndex}));\n };\n};\n\nconst getCliCommand = ({\n cellPath,\n columnName,\n tag,\n}: {\n cellPath: string;\n columnName: string;\n tag?: string;\n}): CellPreviewActionType<string> => {\n return (_dispatch, getState) => {\n const isDynamic = getIsDynamic(getState());\n\n const fn = isDynamic ? getDynamicTableCliCommand : getStaticTableCliCommand;\n\n return fn({cellPath, columnName, tag});\n };\n};\n\nconst loadCellPreview = ({\n cellPath,\n useYqlTypes,\n cancellation,\n}: {\n cellPath: string;\n useYqlTypes: boolean;\n cancellation?: (token: CancelTokenSource) => void;\n}): CellPreviewActionType<ReturnType<typeof readDynamicTable>> => {\n return (_dispatch, getState) => {\n const isDynamic = getIsDynamic(getState());\n\n const output_format = getDefaultRequestOutputFormat({\n stringLimit: PREVIEW_LIMIT,\n useYqlTypes,\n });\n\n return isDynamic\n ? readDynamicTable({\n parameters: {\n output_format,\n query: cellPath,\n },\n cancellation: cancellation ?? cellPreviewCancelHelper.removeAllAndSave,\n })\n : readStaticTable({\n parameters: {path: cellPath, output_format},\n cancellation: cancellation ?? cellPreviewCancelHelper.removeAllAndSave,\n });\n };\n};\n\nexport const onCellPreview = ({\n columnName,\n rowIndex,\n tag,\n dataHandler,\n}: {\n columnName: string;\n rowIndex: number;\n tag?: string;\n dataHandler?: CellDataHandlerNavigation;\n}): CellPreviewActionType => {\n return async (dispatch, getState) => {\n const useYqlTypes = isYqlTypesEnabled(getState());\n\n const cellPath = dispatch(getCellPath({columnName, rowIndex}));\n\n const ytCliDownloadCommand: string = dispatch(getCliCommand({cellPath, columnName, tag}));\n\n if (dataHandler) {\n dataHandler.onStartLoading({columnName, rowIndex});\n } else {\n batch(() => {\n dispatch({type: CELL_PREVIEW.REQUEST, data: {ytCliDownloadCommand}});\n dispatch(openCellPreview());\n });\n }\n\n const data: {\n $type?: string;\n $value?: any;\n $tag?: string;\n } = {};\n\n let isIncomplete: boolean | undefined = false;\n\n try {\n const loadedData = await dispatch(\n loadCellPreview({\n cellPath,\n useYqlTypes,\n cancellation: dataHandler?.saveCancellation,\n }),\n );\n\n if (loadedData.useYqlTypes) {\n const {rows, yqlTypes} = loadedData;\n const column = rows[0][columnName];\n const value = column[0];\n const typeIndex = column[1];\n\n const flags: {incomplete: boolean} = {incomplete: false};\n\n const {$type, $value, $tag} = unipika.converters.yql(\n [value, yqlTypes?.[typeIndex]],\n {\n maxStringSize: undefined,\n maxListSize: undefined,\n treatValAsData: true,\n },\n flags,\n );\n\n isIncomplete = flags.incomplete;\n\n data.$type = $type;\n data.$value = $tag ? $value.$value : $value;\n data.$tag = $tag;\n } else {\n const {rows} = loadedData;\n const column = rows[0][columnName];\n\n const hasType = column && column.$type;\n\n data.$type = column.$type;\n data.$value = hasType ? column.$value : column;\n\n isIncomplete = column.$incomplete;\n }\n\n const noticeText = isIncomplete\n ? 'Unable to load content more than 16MiB. Please use the command bellow to load it locally.'\n : 'You could use the command bellow to load it locally.';\n\n if (dataHandler) {\n dataHandler.onSuccess({columnName, rowIndex, data: loadedData});\n } else {\n dispatch({\n type: CELL_PREVIEW.SUCCESS,\n data: {\n data,\n noticeText,\n },\n });\n }\n } catch (error: any) {\n if (!isCancelled(error)) {\n if (dataHandler) {\n dataHandler.onError({columnName, rowIndex, error});\n } else {\n dispatch({type: CELL_PREVIEW.FAILURE, data: {error}});\n }\n }\n }\n };\n};\n","import {TRASH_PATH} from '../../constants/navigation';\n\nexport function isLinkToTrashNode(targetPath?: string) {\n return targetPath === TRASH_PATH;\n}\n","import { block } from '../../utils/cn';\nexport function shouldClientNavigate(link, modifiers) {\n // Use getAttribute here instead of link.target. Firefox will default link.target to \"_parent\" when inside an iframe.\n const target = link.getAttribute('target');\n return (link.href &&\n (!target || target === '_self') &&\n link.origin === location.origin &&\n !link.hasAttribute('download') &&\n !modifiers.metaKey && // open in new tab (mac)\n !modifiers.ctrlKey && // open in new tab (windows)\n !modifiers.altKey && // download\n !modifiers.shiftKey);\n}\nexport const b = block('breadcrumbs2');\n","'use client';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { filterDOMProps } from '../../utils/filterDOMProps';\nimport { b, shouldClientNavigate } from './utils';\nexport function BreadcrumbItem(props) {\n var _a;\n const Element = props.href ? 'a' : 'span';\n const domProps = filterDOMProps(props, { labelable: true });\n let title = props.title;\n if (!title && typeof props.children === 'string') {\n title = props.children;\n }\n const handleAction = (event) => {\n if (props.disabled) {\n event.preventDefault();\n return;\n }\n if (typeof props.onAction === 'function') {\n props.onAction();\n }\n const target = event.currentTarget;\n if (typeof props.navigate === 'function' && target instanceof HTMLAnchorElement) {\n if (props.href && !event.isDefaultPrevented() && shouldClientNavigate(target, event)) {\n event.preventDefault();\n props.navigate(props.href, props.routerOptions);\n }\n }\n };\n const isDisabled = props.disabled;\n let linkProps = {\n title,\n onClick: handleAction,\n 'aria-disabled': isDisabled ? true : undefined,\n };\n if (Element === 'a') {\n linkProps.href = props.href;\n linkProps.hrefLang = props.hrefLang;\n linkProps.target = props.target;\n linkProps.rel = props.target === '_blank' && !props.rel ? 'noopener noreferrer' : props.rel;\n linkProps.download = props.download;\n linkProps.ping = props.ping;\n linkProps.referrerPolicy = props.referrerPolicy;\n }\n else {\n linkProps.role = 'link';\n linkProps.tabIndex = isDisabled ? undefined : 0;\n linkProps.onKeyDown = (event) => {\n if (event.key === 'Enter') {\n handleAction(event);\n }\n };\n }\n if (props.current) {\n linkProps['aria-current'] = (_a = props['aria-current']) !== null && _a !== void 0 ? _a : 'page';\n }\n if (props.itemType === 'menu') {\n linkProps = {};\n }\n return (_jsx(Element, Object.assign({}, domProps, linkProps, { className: props.itemType === 'menu'\n ? b('menu')\n : b('link', {\n 'is-current': props.current,\n 'is-disabled': isDisabled && !props.current,\n }), children: props.children })));\n}\nBreadcrumbItem.displayName = 'Breadcrumbs.Item';\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { b } from './utils';\nexport function BreadcrumbsSeparator({ separator }) {\n return (_jsx(\"div\", { \"aria-hidden\": true, className: b('divider'), children: separator !== null && separator !== void 0 ? separator : '/' }));\n}\nBreadcrumbsSeparator.displayName = 'Breadcrumbs.Separator';\n","import { addComponentKeysets } from '../../../../i18n';\nimport en from './en.json';\nimport ru from './ru.json';\nconst COMPONENT = 'lab/Breadcrumbs';\nexport default addComponentKeysets({ en, ru }, COMPONENT);\n","'use client';\nimport { createElement as _createElement } from \"react\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport * as React from 'react';\nimport { useForkRef, useResizeObserver } from '../../../hooks';\nimport { Button } from '../../Button';\nimport { DropdownMenu } from '../../DropdownMenu';\nimport { filterDOMProps } from '../../utils/filterDOMProps';\nimport { BreadcrumbItem } from './BreadcrumbItem';\nimport { BreadcrumbsSeparator } from './BreadcrumbsSeparator';\nimport i18n from './i18n';\nimport { b, shouldClientNavigate } from './utils';\nimport './Breadcrumbs.css';\nfunction Item(_props) {\n return null;\n}\nexport const Breadcrumbs = React.forwardRef(function Breadcrumbs(props, ref) {\n const listRef = React.useRef(null);\n const containerRef = useForkRef(ref, listRef);\n const items = [];\n React.Children.forEach(props.children, (child, index) => {\n if (React.isValidElement(child)) {\n if (child.key === undefined || child.key === null) {\n child = React.cloneElement(child, { key: index });\n }\n items.push(child);\n }\n });\n const [visibleItemsCount, setVisibleItemsCount] = React.useState(items.length);\n const [calculated, setCalculated] = React.useState(false);\n const recalculate = (visibleItems) => {\n const list = listRef.current;\n if (!list) {\n return;\n }\n const listItems = Array.from(list.children);\n if (listItems.length === 0) {\n return;\n }\n const containerWidth = list.offsetWidth;\n let newVisibleItemsCount = 0;\n let calculatedWidth = 0;\n let maxItems = props.maxItems || Infinity;\n let rootWidth = 0;\n if (props.showRoot) {\n const item = listItems.shift();\n if (item) {\n rootWidth = item.scrollWidth;\n calculatedWidth += rootWidth;\n }\n newVisibleItemsCount++;\n }\n const hasMenu = items.length > visibleItems;\n if (hasMenu) {\n const item = listItems.shift();\n if (item) {\n calculatedWidth += item.offsetWidth;\n }\n maxItems--;\n }\n if (props.showRoot && calculatedWidth >= containerWidth) {\n calculatedWidth -= rootWidth;\n newVisibleItemsCount--;\n }\n const lastItem = listItems.pop();\n if (lastItem) {\n calculatedWidth += Math.min(lastItem.offsetWidth, 200);\n if (calculatedWidth < containerWidth) {\n newVisibleItemsCount++;\n }\n }\n for (let i = listItems.length - 1; i >= 0; i--) {\n const item = listItems[i];\n calculatedWidth += item.offsetWidth;\n if (calculatedWidth >= containerWidth) {\n break;\n }\n newVisibleItemsCount++;\n }\n newVisibleItemsCount = Math.max(Math.min(maxItems, newVisibleItemsCount), 1);\n if (newVisibleItemsCount === visibleItemsCount) {\n setCalculated(true);\n }\n else {\n setVisibleItemsCount(newVisibleItemsCount);\n }\n };\n const handleResize = React.useCallback(() => {\n setCalculated(false);\n setVisibleItemsCount(items.length);\n }, [items.length]);\n useResizeObserver({\n ref: listRef,\n onResize: handleResize,\n });\n const lastChildren = React.useRef(null);\n React.useLayoutEffect(() => {\n if (calculated && props.children !== lastChildren.current) {\n lastChildren.current = props.children;\n setCalculated(false);\n setVisibleItemsCount(items.length);\n }\n }, [calculated, items.length, props.children]);\n React.useLayoutEffect(() => {\n if (!calculated) {\n recalculate(visibleItemsCount);\n }\n });\n const { navigate } = props;\n let contents = items;\n if (items.length > visibleItemsCount) {\n contents = [];\n const breadcrumbs = [...items];\n let endItems = visibleItemsCount;\n if (props.showRoot && visibleItemsCount > 1) {\n const rootItem = breadcrumbs.shift();\n if (rootItem) {\n contents.push(rootItem);\n }\n endItems--;\n }\n const hiddenItems = breadcrumbs.slice(0, -endItems);\n const menuItem = (_jsx(BreadcrumbItem, { itemType: \"menu\", children: _jsx(DropdownMenu, { items: hiddenItems.map((el, index) => {\n return Object.assign(Object.assign({}, el.props), { text: el.props.children, disabled: props.disabled, items: [], action: (event) => {\n var _a;\n if (typeof props.onAction === 'function') {\n props.onAction((_a = el.key) !== null && _a !== void 0 ? _a : index);\n }\n // TODO: move this logic to DropdownMenu\n const target = event.currentTarget;\n if (typeof navigate === 'function' &&\n target instanceof HTMLAnchorElement) {\n if (el.props.href && shouldClientNavigate(target, event)) {\n event.preventDefault();\n navigate(el.props.href, el.props.routerOptions);\n }\n }\n } });\n }), popupProps: {\n className: b('popup', {\n staircase: props.popupStyle === 'staircase',\n }),\n placement: props.popupPlacement,\n }, renderSwitcher: ({ onClick }) => (_jsx(Button, { title: i18n('label_more'), className: b('more-button'), onClick: onClick, size: \"s\", view: \"flat\", disabled: props.disabled, children: _jsx(Button.Icon, { children: \"...\" }) })) }) }));\n contents.push(menuItem);\n contents.push(...breadcrumbs.slice(-endItems));\n }\n const lastIndex = contents.length - 1;\n const breadcrumbItems = contents.map((child, index) => {\n var _a;\n const isCurrent = index === lastIndex;\n const key = (_a = child.key) !== null && _a !== void 0 ? _a : index;\n const handleAction = () => {\n if (typeof props.onAction === 'function') {\n props.onAction(key);\n }\n };\n return (_jsxs(\"li\", { className: b('item', { calculating: !calculated }), children: [_createElement(BreadcrumbItem, Object.assign({}, child.props, { key: key, current: isCurrent, disabled: props.disabled || child.props.disabled, onAction: handleAction, navigate: navigate }), child.props.children), isCurrent ? null : _jsx(BreadcrumbsSeparator, { separator: props.separator })] }, index));\n });\n return (_jsx(\"ol\", Object.assign({ ref: containerRef }, filterDOMProps(props, { labelable: true }), { \"data-qa\": props.qa, className: b(null, props.className), style: props.style, children: breadcrumbItems })));\n});\nBreadcrumbs.Item = Item;\nBreadcrumbs.displayName = 'Breadcrumbs';\nexport { Item as BreadcrumbsItem };\n","import React, {FC, PropsWithChildren} from 'react';\nimport {\n unstable_BreadcrumbsProps as BreadcrumbsProps,\n unstable_Breadcrumbs as UBreadcrumbs,\n} from '@gravity-ui/uikit/unstable';\nimport './Breadcrumbs.scss';\nimport cn from 'bem-cn-lite';\n\nconst b = cn('yt-u-breadcrumbs');\n\nexport const Breadcrumbs: FC<PropsWithChildren<BreadcrumbsProps>> = ({children, ...props}) => {\n return (\n <UBreadcrumbs {...props} className={b(null, props.className)}>\n {children}\n </UBreadcrumbs>\n );\n};\n","import React from 'react';\nimport cn from 'bem-cn-lite';\n\nconst block = cn('yt-page-counter');\n\nexport interface PageCounterProps {\n className?: string;\n pageIndex?: number;\n pageCount?: number;\n}\n\nfunction PageCounter({pageIndex, pageCount, className}: PageCounterProps) {\n if (pageIndex === undefined || pageCount === undefined) {\n return null;\n }\n\n return pageCount! > 1 ? (\n <span className={block(null, className)}>\n Page: {(pageIndex || 0) + 1} / {pageCount}\n </span>\n ) : null;\n}\n\nexport default React.memo(PageCounter);\n","import React from 'react';\nimport cn from 'bem-cn-lite';\nimport capitalize_ from 'lodash/capitalize';\n\nimport barsDescendingSvg from '@gravity-ui/icons/svgs/bars-descending-align-left.svg';\nimport {Button, DropdownMenu, Icon, Text} from '@gravity-ui/uikit';\n\nimport SortIcon from '../../components/SortIcon/SortIcon';\n\nimport {OrderType, calculateNextOrderValue, nextSortOrderValue} from '../../utils/sort-helpers';\nimport PageCounter, {PageCounterProps} from '../../components/PageCounter/PageCounter';\nimport Loader from '../../components/Loader/Loader';\nimport {rumLogError} from '../../rum/rum-counter';\n\nimport './ColumnHeader.scss';\n\nconst block = cn('column-header');\n\nexport type ColumnInfo<T> = {\n column: T;\n title?: string;\n shortTitle?: string;\n /**\n * Ignored when allowedOrderTypes is defined\n */\n allowUnordered?: boolean;\n /**\n * Ignored when allowedOrderTypes is defined\n */\n withUndefined?: boolean;\n allowedOrderTypes?: Array<OrderType>;\n};\n\nexport type HasSortColumn<T> =\n | (ColumnInfo<T> & {options?: undefined})\n | ({\n title: string;\n shortTitle?: string;\n column: T;\n options: Array<ColumnInfo<T>>;\n } & Partial<Record<keyof Omit<ColumnInfo<T>, 'column' | 'title' | 'shortTitle'>, undefined>>);\n\nexport type ColumnHeaderProps<T extends string = string> = PageCounterProps &\n HasSortColumn<T> & {\n className?: string;\n order?: OrderType;\n multisortIndex?: number;\n onSort?: (\n column: T,\n nextOrder: OrderType,\n options: {currentOrder?: OrderType; multisort?: boolean},\n ) => void;\n\n loading?: boolean;\n\n align?: 'center' | 'left' | 'right';\n };\n\ntype NameTitleContent = {\n nameContent: string;\n titleContent: string;\n};\n\nfunction getNameTitle<T extends string>({\n column,\n title,\n shortTitle,\n}: Pick<ColumnInfo<T>, 'column' | 'title' | 'shortTitle'>): NameTitleContent {\n const t = title ?? capitalize_(column);\n const nameContent = !shortTitle ? t : shortTitle;\n return {nameContent, titleContent: t};\n}\n\nfunction useColumnInfo<T extends string = string>(\n props: ColumnHeaderProps<T>,\n): ColumnInfo<T> & NameTitleContent & {subColumn?: NameTitleContent} {\n if (props.options === undefined) {\n const {column, allowUnordered, withUndefined, title, shortTitle, allowedOrderTypes} = props;\n return {\n column,\n allowUnordered,\n withUndefined,\n allowedOrderTypes,\n ...getNameTitle({column, title, shortTitle}),\n };\n }\n\n const {column: value, options, title, shortTitle} = props;\n const columnData = options.find(({column}) => value === column)!;\n if (!columnData) {\n rumLogError({\n message: 'Unexpected behavior: missing value in ColumnHeader.props.options',\n additional: props,\n });\n }\n return {\n subColumn: getNameTitle({...columnData}),\n ...columnData,\n ...getNameTitle({column: '', title, shortTitle}),\n };\n}\n\nexport default function ColumnHeader<T extends string = string>(props: ColumnHeaderProps<T>) {\n const {className, align, order, onSort, multisortIndex, loading, pageIndex, pageCount} = props;\n const {\n column,\n allowUnordered,\n withUndefined,\n nameContent,\n titleContent,\n allowedOrderTypes,\n subColumn,\n } = useColumnInfo(props);\n\n const changeHandler = React.useCallback(\n (e: React.MouseEvent) => {\n const nextOrder = allowedOrderTypes\n ? calculateNextOrderValue(order, allowedOrderTypes)\n : nextSortOrderValue(order, allowUnordered, withUndefined);\n onSort?.(column, nextOrder, {\n currentOrder: order,\n multisort: e.ctrlKey || e.metaKey,\n });\n },\n [column, order, onSort, allowUnordered, allowedOrderTypes, withUndefined],\n );\n\n const sortable = Boolean(onSort);\n\n return (\n <div className={block(null, className)}>\n <div\n className={block('label-icon', {sortable, align})}\n onClick={sortable ? changeHandler : undefined}\n >\n <span className={block('label')} title={titleContent}>\n {nameContent}\n </span>\n {sortable && (\n <span className={block('icon')}>\n <SortIcon order={order} />\n </span>\n )}\n {multisortIndex !== undefined && (\n <span className={block('multisort')}>\n &nbsp;<sup>{multisortIndex}</sup>\n </span>\n )}\n {Boolean(order) && Boolean(subColumn) && (\n <Text\n className={block('label', {'sub-column': true})}\n variant=\"caption-2\"\n title={subColumn?.titleContent}\n color=\"dark-secondary\"\n >\n {subColumn?.nameContent}\n </Text>\n )}\n </div>\n <SubColumnSelector options={props.options} order={order} onSort={onSort} />\n {loading !== undefined && (\n <div className={block('loader')}>\n <Loader visible={loading} />\n </div>\n )}\n {Boolean(pageCount) && (\n <PageCounter\n className={block('page-counter')}\n pageIndex={pageIndex}\n pageCount={pageCount}\n />\n )}\n </div>\n );\n}\n\nfunction SubColumnSelector<T extends string>({\n order,\n options,\n onSort,\n}: Pick<ColumnHeaderProps<T>, 'onSort'> & {\n order?: ColumnHeaderProps<T>['order'];\n options?: Array<ColumnInfo<T>>;\n}) {\n return !options ? null : (\n <DropdownMenu\n items={options.map((x) => {\n const {titleContent} = getNameTitle(x);\n return {\n text: titleContent,\n action() {\n if (!onSort) {\n return;\n }\n const {column, allowUnordered, withUndefined, allowedOrderTypes} = x;\n const nextOrder = allowedOrderTypes\n ? calculateNextOrderValue(order, allowedOrderTypes)\n : nextSortOrderValue(order, allowUnordered, withUndefined);\n onSort(column, nextOrder, {\n currentOrder: order,\n });\n },\n };\n })}\n renderSwitcher={({onClick}) => (\n <Button onClick={onClick} view=\"flat\" size=\"xs\">\n <Icon size={12} data={barsDescendingSvg} />\n </Button>\n )}\n />\n );\n}\n","import {compose} from 'redux';\nimport cn from 'bem-cn-lite';\nimport React, {useCallback, useMemo} from 'react';\nimport {DialogField, FormApi, YTDFDialog, makeErrorFields} from '../../../components/Dialog';\nimport ErrorBoundary from '../../../components/ErrorBoundary/ErrorBoundary';\nimport {Button, ButtonProps} from '@gravity-ui/uikit';\nimport PermissionsControl from '../RequestPermissions/PermissionsControl/PermissionsControl';\n\nimport withVisible, {WithVisibleProps} from '../../../hocs/withVisible';\n\nimport './RequestPermissions.scss';\nimport {YTError} from '../../../types';\nimport {AclMode, INHERITANCE_MODE_TYPES, IdmObjectType} from '../../../constants/acl';\n\nimport UIFactory from '../../../UIFactory';\nimport hammer from '../../../common/hammer';\nimport map_ from 'lodash/map';\n\nimport {docsUrl} from '../../../config';\nimport {makeLink} from '../../../utils/utils';\nimport {AclColumnGroup, IdmKindType} from '../../../utils/acl/acl-types';\nimport {YTPermissionTypeUI} from '../../../utils/acl/acl-api';\nimport {PermissionToRequest} from '../../../store/actions/acl';\n\nconst block = cn('acl-request-permissions');\n\nconst FLAG_NAME_PREFIX = '##_flag_';\n\nexport type RequestPermissionsFieldsNames =\n | 'cluster'\n | 'path'\n | 'permissions'\n | 'subjects'\n | 'duration'\n | 'commentHeader'\n | 'comment'\n | 'inheritance_mode'\n | 'permissionFlags'\n | 'readColumns'\n | 'readColumnGroup';\n\nexport interface Props extends WithVisibleProps {\n className?: string;\n buttonClassName?: string;\n buttonProps?: ButtonProps;\n cluster?: string;\n normalizedPoolTree?: string;\n path: string;\n idmKind: IdmKindType;\n requestPermissions: (params: {\n values: PermissionToRequest;\n idmKind: IdmKindType;\n }) => Promise<void>;\n cancelRequestPermissions: (params: {idmKind: IdmKindType}) => unknown;\n error?: YTError;\n onSuccess?: () => void;\n columnGroups?: Array<AclColumnGroup>;\n aclMode?: AclMode;\n}\n\ntype FormValues = {\n path: string;\n cluster: string;\n permissions: {[x: string]: Array<YTPermissionTypeUI>} | null;\n subjects: Array<{\n value: string;\n type: 'users' | 'groups' | 'app';\n text?: string;\n }>;\n inheritance_mode?: string;\n duration?: Date;\n comment?: string;\n readColumnGroup?: string;\n} & Record<`${typeof FLAG_NAME_PREFIX}${string}`, boolean>;\n\nconst SHORT_TITLE: Partial<Record<IdmKindType, string>> = {\n access_control_object: 'ACO',\n};\n\nconst COLUMNS_FELDS = new Set<RequestPermissionsFieldsNames>(['readColumns', 'readColumnGroup']);\n\nfunction RequestPermissions(props: Props) {\n const {\n aclMode,\n visible,\n handleShow,\n handleClose,\n className,\n buttonClassName,\n path,\n idmKind,\n requestPermissions,\n cancelRequestPermissions,\n error,\n cluster,\n columnGroups,\n buttonProps,\n /*denyColumns,*/\n } = props;\n\n const onClose = useCallback(() => {\n handleClose();\n cancelRequestPermissions({idmKind});\n }, [handleClose, cancelRequestPermissions, idmKind]);\n\n const {\n requestPermissionsFields,\n requestPermissionsFlags = {},\n buttonsTitle,\n } = UIFactory.getAclApi();\n\n const onAdd = useCallback(\n (form: FormApi<FormValues, Partial<FormValues>>) => {\n const values = {...form.getState().values};\n const permissionFlags: Record<string, boolean> = {};\n Object.keys(requestPermissionsFlags).forEach((k) => {\n const key = `${FLAG_NAME_PREFIX}${k}` as keyof typeof values;\n permissionFlags[k] = Boolean(values[key]);\n\n delete values[key];\n });\n return requestPermissions({\n values: {...values, permissionFlags},\n idmKind,\n });\n },\n [requestPermissions, idmKind],\n );\n\n const currentCaption = `Current ${SHORT_TITLE[idmKind] ?? idmKind}`;\n const {permissionsToRequest, getAvailablePermissions} =\n UIFactory.getAclPermissionsSettings()[idmKind];\n\n const [availablePermissions, setAvailablePermissions] = React.useState<\n typeof permissionsToRequest | undefined\n >(undefined);\n\n const onShow = useCallback(async () => {\n try {\n const value = await getAvailablePermissions?.({path});\n setAvailablePermissions(value);\n } catch {\n setAvailablePermissions(undefined);\n } finally {\n handleShow();\n }\n }, [path, handleShow, getAvailablePermissions]);\n\n const firstItemDisabled = idmKind === IdmObjectType.ACCOUNT;\n\n const choices = availablePermissions ?? permissionsToRequest;\n const permissions = firstItemDisabled ? valueWithCheckedFirstChoice(choices) : null;\n\n const availableFields: Record<\n RequestPermissionsFieldsNames,\n Omit<DialogField, 'name'>\n > = useMemo(() => {\n const disabledChoices = idmKind === IdmObjectType.ACCOUNT ? [0] : undefined;\n return {\n cluster: {\n type: 'plain',\n caption: 'Cluster',\n extras: {\n className: block('cluster'),\n },\n },\n path: {\n type: 'text',\n caption: currentCaption,\n extras: {\n disabled: !error,\n },\n },\n permissions: {\n type: 'permissions',\n caption: 'Permissions',\n required: true,\n tooltip: (\n <>\n {docsUrl(\n makeLink(UIFactory.docsUrls['acl:permissions'], 'Permissions types'),\n 'Permissions types',\n )}\n </>\n ),\n extras: {\n choices: choices,\n disabledChoices,\n },\n },\n readColumns: {\n type: 'acl-columns',\n caption: 'Read columns',\n required: true,\n },\n readColumnGroup: {\n type: 'acl-column-group',\n caption: 'Read column group',\n required: true,\n extras: {\n columnGroups,\n },\n },\n subjects: {\n type: 'acl-subjects',\n caption: 'Subjects',\n required: true,\n extras: {\n placeholder: 'Enter group name, user name or login...',\n allowedTypes: ['users', 'groups', 'app'],\n },\n },\n duration: {\n type: 'before-date',\n caption: 'Duration',\n },\n commentHeader: {\n type: 'block',\n className: block('modal-comments-header'),\n extras: {\n children: (\n <React.Fragment>\n <div className={'is-dialog__label'}>Comment</div>\n <div className={block('comment-notice')}>\n Teams and people can be requested through the IDM after the access\n group is created. If you have a more complex case please describe it\n in the comments.\n </div>\n </React.Fragment>\n ),\n },\n },\n comment: {\n type: 'textarea',\n className: block('modal-comments'),\n },\n inheritance_mode: {\n type: 'yt-select-single',\n caption: 'Inheritance mode',\n extras: {\n items: map_(INHERITANCE_MODE_TYPES, (value) => ({\n value: value,\n text: hammer.format['ReadableField'](value),\n })),\n hideClear: true,\n hideFilter: true,\n with: 'max',\n },\n },\n permissionFlags: {\n type: 'block',\n caption: 'Permission flags',\n extras: {children: 'Not implemented'},\n },\n };\n }, [choices, currentCaption, error, idmKind]);\n\n const useColumns = aclMode === AclMode.COLUMN_GROUPS_PERMISSISONS;\n\n const dialogFields = useMemo(() => {\n let flagsIndex = -1;\n const res = requestPermissionsFields.reduce(\n (acc, field) => {\n const allowField = useColumns ? field !== 'permissions' : !COLUMNS_FELDS.has(field);\n if (!allowField) {\n return acc;\n }\n\n if (field === 'permissionFlags') {\n flagsIndex = acc.length;\n }\n\n acc.push({\n ...availableFields[field],\n name: field,\n } as DialogField<FormValues>);\n\n return acc;\n },\n [] as Array<DialogField<FormValues>>,\n );\n\n if (flagsIndex !== -1) {\n const flags: typeof res = Object.keys(requestPermissionsFlags ?? []).map((key) => {\n const flagInfo = requestPermissionsFlags[key];\n return {\n type: 'tumbler',\n caption: hammer.format.ReadableField(flagInfo?.title),\n name: `${FLAG_NAME_PREFIX}${key}`,\n tooltip: flagInfo.help,\n initialValue: flagInfo.initialValue,\n };\n });\n res.splice(flagsIndex, 1, ...flags);\n }\n return res;\n }, [availableFields, requestPermissionsFields, useColumns]);\n\n const {editAcl = 'Edit ACL', editColumnsAcl = 'Edit columns ACL'} = buttonsTitle ?? {};\n const title = useColumns ? editColumnsAcl : editAcl;\n\n return !choices?.length ? null : (\n <ErrorBoundary>\n <div className={block(null, className)}>\n <Button className={buttonClassName} view=\"action\" {...buttonProps} onClick={onShow}>\n {title}\n </Button>\n\n <YTDFDialog<FormValues>\n pristineSubmittable\n onClose={onClose}\n className={block('modal')}\n visible={Boolean(visible)}\n onAdd={onAdd}\n headerProps={{\n title,\n }}\n initialValues={{\n path,\n permissions,\n cluster,\n inheritance_mode: INHERITANCE_MODE_TYPES.OBJECT_AND_DESCENDANTS,\n }}\n validate={(values) => {\n const subjects = values.subjects;\n const validationError: Record<\n keyof Pick<FormValues, 'subjects'>,\n string | undefined\n > = {\n subjects: undefined,\n };\n\n if (!subjects.length) {\n const errorMessage = 'At least one subject should be selected.';\n validationError.subjects = errorMessage;\n }\n\n return validationError;\n }}\n fields={[...dialogFields, ...makeErrorFields([error])]}\n />\n </div>\n </ErrorBoundary>\n );\n}\n\nexport default compose(withVisible)(RequestPermissions) as unknown as React.ComponentType<\n Omit<Props, keyof WithVisibleProps>\n>;\n\nfunction valueWithCheckedFirstChoice(choices: string | any[]) {\n if (!choices || choices.length < 1) {\n return {};\n }\n\n return {\n [PermissionsControl.getChoiceName(choices[0])]: choices[0],\n };\n}\n","const SvgInfoIcon2 = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 14 14\" {...props}><path fill=\"#027BF3\" d=\"M7 .828C3.521.828.703 3.672.703 7.125A6.296 6.296 0 0 0 7 13.422c3.453 0 6.297-2.818 6.297-6.297C13.297 3.672 10.453.828 7 .828m0 11.375a5.06 5.06 0 0 1-5.078-5.078A5.077 5.077 0 0 1 7 2.047c2.793 0 5.078 2.285 5.078 5.078A5.077 5.077 0 0 1 7 12.203m0-8.582c-.61 0-1.066.483-1.066 1.067 0 .609.457 1.066 1.066 1.066.584 0 1.066-.457 1.066-1.066 0-.584-.482-1.067-1.066-1.067m1.422 6.45v-.61a.33.33 0 0 0-.305-.305h-.305V6.617a.33.33 0 0 0-.304-.304H5.883a.31.31 0 0 0-.305.304v.61c0 .177.127.304.305.304h.305v1.625h-.305a.31.31 0 0 0-.305.305v.61c0 .177.127.304.305.304h2.234a.31.31 0 0 0 .305-.305\" /></svg>;\nexport default SvgInfoIcon2;","import React, {ReactNode} from 'react';\nimport block from 'bem-cn-lite';\nimport {Icon} from '@gravity-ui/uikit';\n\nimport infoIcon from '../../assets/img/svg/info-icon2.svg';\n\nimport './Info.scss';\n\nconst b = block('info-block');\n\ninterface InfoProps {\n children: ReactNode;\n className?: string;\n}\nexport function Info({children, className}: InfoProps) {\n return (\n <div className={b(null, className)}>\n <div className={b('icon')}>\n <Icon data={infoIcon} />\n </div>\n <div className={b('body')}>{children}</div>\n </div>\n );\n}\n","import {TRASH_PATH} from '../../constants/navigation';\n\nexport function isTrashNode(path?: string) {\n return path === TRASH_PATH;\n}\n","import {useSelector} from 'react-redux';\n\nimport ypath from '../../../../common/thor/ypath';\n\nimport {getAttributes, getPath} from '../../../../store/selectors/navigation';\nimport {useAnnotationQuery} from '../../../../store/api/navigation/tabs/description';\nimport {getCluster} from '../../../../store/selectors/global';\n\nexport function useYTAnnotation() {\n const path: string = useSelector(getPath);\n const cluster = useSelector(getCluster);\n const attributes = useSelector(getAttributes);\n\n const {\n data: annotationData,\n isSuccess: isAnnotationSuccess,\n isLoading,\n } = useAnnotationQuery({path, cluster});\n\n const ytAnnotationPath = ypath.getValue(attributes, '/annotation_path');\n\n return {\n ytAnnotation: annotationData,\n ytAnnotationPath,\n isAnnotationLoadedWithData: Boolean(isAnnotationSuccess && annotationData?.length),\n isAnnotationLoading: isLoading,\n };\n}\n","import {useSelector} from 'react-redux';\n\nimport {getPath} from '../../../../store/selectors/navigation';\nimport {getCluster} from '../../../../store/selectors/global';\nimport {useExternalDescriptionQuery} from '../../../../store/api/navigation/tabs/description';\n\nexport function useExternalAnnotation() {\n const path: string = useSelector(getPath);\n const cluster = useSelector(getCluster);\n\n const {data: externalAnnotaionData, isSuccess: isExternalAnnotationSuccess} =\n useExternalDescriptionQuery({cluster, path});\n\n const isExternalAnnotatonLoadedWithData = Boolean(\n isExternalAnnotationSuccess && externalAnnotaionData?.externalAnnotation,\n );\n\n return {\n externalAnnotation: externalAnnotaionData?.externalAnnotation,\n externalAnnotationLink: externalAnnotaionData?.externalAnnotationLink,\n isExternalAnnotatonLoadedWithData,\n };\n}\n","import {ValueOf} from '../../@types/types';\n\nexport type AnnotationVisibilityType = ValueOf<typeof AnnotationVisibility>;\n\nexport const AnnotationVisibility = {\n HIDDEN: 'hidden',\n VISIBLE: 'visible',\n PARTIAL: 'partial',\n} as const;\n\nexport function normalizeAnnotationVisibility(\n value?: AnnotationVisibilityType,\n): AnnotationVisibilityType {\n return value || AnnotationVisibility.PARTIAL;\n}\n","import React from 'react';\nimport {useSelector} from 'react-redux';\nimport {Button, Flex} from '@gravity-ui/uikit';\n\nimport {getEditMode} from '../../../store/reducers/navigation/description';\n\nimport Icon from '../../../components/Icon/Icon';\n\nimport {useDescriptionActions} from './hooks/use-description-actions';\n\nexport function EditButtons() {\n const editMode = useSelector(getEditMode);\n\n const {edit, save, cancel, isLoading} = useDescriptionActions();\n\n return editMode ? (\n <Flex gap={1}>\n <Button view={'action'} onClick={save} loading={isLoading}>\n Save\n </Button>\n <Button view={'flat'} onClick={cancel}>\n Cancel\n </Button>\n </Flex>\n ) : (\n <Button view={'outlined'} onClick={edit}>\n <Icon awesome={'pencil'} />\n </Button>\n );\n}\n","import {useCallback} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\n\nimport {\n getEdittingAnnotation,\n setEdittingAnnotation,\n toggleEditMode,\n} from '../../../../store/reducers/navigation/description';\nimport {useAnnotationQuery} from '../../../../store/api/navigation/tabs/description';\nimport {getCluster} from '../../../../store/selectors/global';\nimport {getPath} from '../../../../store/selectors/navigation';\n\nimport {useUpdateAnnotation} from './use-update-annotaton';\n\nexport function useDescriptionActions() {\n const dispatch = useDispatch();\n\n const path = useSelector(getPath);\n const cluster = useSelector(getCluster);\n const edittingAnnotation = useSelector(getEdittingAnnotation);\n\n const [updateFn, {isLoading}] = useUpdateAnnotation();\n const {data} = useAnnotationQuery({path, cluster});\n\n const edit = useCallback(() => {\n dispatch(toggleEditMode());\n }, [dispatch]);\n\n const cancel = useCallback(() => {\n dispatch(setEdittingAnnotation({edittingAnnotation: data}));\n dispatch(toggleEditMode());\n }, [data, dispatch]);\n\n const save = useCallback(() => {\n updateFn(edittingAnnotation || '');\n dispatch(toggleEditMode());\n }, [updateFn, edittingAnnotation, dispatch]);\n\n return {edit, cancel, save, isLoading};\n}\n","import {useSelector} from 'react-redux';\n\nimport {YTApiId} from '../../../../rum/rum-wrap-api';\n\nimport {useUpdateBatchMutation} from '../../../../store/api/yt';\nimport {getPath} from '../../../../store/selectors/navigation';\n\nimport {prepareRequest} from '../../../../utils/navigation';\n\nexport function useUpdateAnnotation() {\n const [update, rest] = useUpdateBatchMutation<string>();\n const path = useSelector(getPath);\n\n const updateFn = (annotation: string) =>\n update({\n id: YTApiId.navigationGetAnnotation,\n parameters: {\n requests: [\n {\n command: 'set' as const,\n parameters: prepareRequest('/@annotation', {\n path: `${path}&`,\n }),\n input: annotation,\n },\n ],\n },\n errorTitle: 'Failed to update annotation',\n toaster: {\n toasterName: 'update_annotation',\n successTitle: 'Annotation saved',\n errorTitle: 'Failed to save annotation',\n },\n });\n\n return [updateFn, rest] as const;\n}\n","import React from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {Flex, RadioButton} from '@gravity-ui/uikit';\n\nimport {\n getDescriptionType,\n setDescriptionType,\n} from '../../../store/reducers/navigation/description';\n\nimport UIFactory from '../../../UIFactory';\n\nexport function SwitchDescription() {\n const dispatch = useDispatch();\n\n const descriptionType = useSelector(getDescriptionType);\n\n const onUpdate = (value: 'yt' | 'external') =>\n dispatch(setDescriptionType({descriptionType: value}));\n\n return (\n <Flex direction={'row'} gap={1}>\n <RadioButton\n options={[\n {value: 'yt', content: 'YT'},\n {\n value: 'external',\n content:\n UIFactory?.externalAnnotationSetup?.externalServiceName || 'External',\n },\n ]}\n value={descriptionType}\n size={'m'}\n onUpdate={onUpdate}\n />\n </Flex>\n );\n}\n","import React from 'react';\nimport {useSelector} from 'react-redux';\nimport {Button, Flex, Link, Tooltip} from '@gravity-ui/uikit';\n\nimport {getDescriptionType} from '../../../store/reducers/navigation/description';\n\nimport Icon from '../../../components/Icon/Icon';\n\nimport UIFactory from '../../../UIFactory';\n\nimport {useExternalAnnotation} from './hooks/use-external-annotation';\n\nimport {EditButtons} from './EditButtons';\nimport {SwitchDescription} from './SwitchDescription';\n\nexport function NavigationDescriptionOverview() {\n const {externalAnnotationLink} = useExternalAnnotation();\n const descriptionType = useSelector(getDescriptionType);\n\n return (\n <Flex direction={'row'} gap={2} alignItems={'center'}>\n {UIFactory?.externalAnnotationSetup && <SwitchDescription />}\n {descriptionType === 'yt' && <EditButtons />}\n {descriptionType === 'external' && (\n <Tooltip content={UIFactory?.externalAnnotationSetup?.externalServiceName || ''}>\n <Link href={externalAnnotationLink || ''} target=\"_blank\">\n <Button view=\"outlined\">\n <Icon awesome=\"external-link\" />\n </Button>\n </Link>\n </Tooltip>\n )}\n </Flex>\n );\n}\n","import React, {FC} from 'react';\nimport {useSelector} from 'react-redux';\nimport {Button, Flex, Link, Text} from '@gravity-ui/uikit';\nimport {NotFound} from '@gravity-ui/illustrations';\n\nimport {getDescriptionType} from '../../../store/reducers/navigation/description';\n\nimport {Markdown} from '../../../components/Markdown/Markdown';\nimport {ClickableText} from '../../../components/ClickableText/ClickableText';\nimport Icon from '../../../components/Icon/Icon';\n\nimport UIFactory from '../../../UIFactory';\n\nimport {useExternalAnnotation} from './hooks/use-external-annotation';\n\ntype Props = {\n annotation?: string;\n expanded: boolean;\n onToggle: () => void;\n};\n\nexport const AnnotationWithPartial: FC<Props> = ({annotation, expanded, onToggle}) => {\n const value = annotation || '';\n\n const descriptionType = useSelector(getDescriptionType);\n\n const {externalAnnotationLink} = useExternalAnnotation();\n\n const {isFullText, text} = React.useMemo(() => {\n const rows = value.split(/\\n+/);\n return {\n text: rows.slice(0, 3).join('\\n\\n'),\n isFullText: rows.length <= 3,\n };\n }, [value]);\n\n if (!value.length && descriptionType === 'external') {\n return <ExternalAnnotationFallback externalAnnotationLink={externalAnnotationLink} />;\n }\n\n return (\n <>\n <Markdown text={expanded ? value : text} />\n {isFullText ? null : (\n <ClickableText color={'secondary'} onClick={onToggle}>\n {expanded ? 'Hide more' : 'Show more'}\n </ClickableText>\n )}\n </>\n );\n};\n\nfunction ExternalAnnotationFallback({externalAnnotationLink}: {externalAnnotationLink?: string}) {\n return (\n <Flex direction={'row'} gap={5} width={'max'} justifyContent={'center'}>\n <NotFound height={85} width={85} />\n <Flex direction={'column'} gap={3}>\n <Text variant={'subheader-2'}>\n No {UIFactory?.externalAnnotationSetup?.externalServiceName || 'external'}{' '}\n description found\n </Text>\n <Link href={externalAnnotationLink || ''} target={'_blank'}>\n <Button view={'action'} size={'l'} disabled={!externalAnnotationLink}>\n <Text>\n Create with{' '}\n {UIFactory?.externalAnnotationSetup?.externalServiceName ||\n 'external service'}\n </Text>\n <Icon awesome={'external-link'} size={16} />\n </Button>\n </Link>\n </Flex>\n </Flex>\n );\n}\n","import React, {useCallback, useRef} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport cn from 'bem-cn-lite';\n\nimport {\n getEditMode,\n getEdittingAnnotation,\n setEdittingAnnotation,\n} from '../../../store/reducers/navigation/description';\n\nimport CollapsibleSection from '../../../components/CollapsibleSection/CollapsibleSection';\nimport {EditAnnotationWithPreview} from '../../../components/EditAnnotationWithPreview/EditAnnotationWithPreview';\n\nimport {UI_COLLAPSIBLE_SIZE} from '../../../constants/global';\n\nimport {useDescription} from './hooks/use-description';\nimport {useDescriptionCollapse} from './hooks/use-description-collapse';\nimport {useYTAnnotation} from './hooks/use-yt-annotation';\n\nimport {NavigationDescriptionOverview} from './NavigationDescriptionOverview';\nimport {AnnotationWithPartial} from './AnnotationWithPartial';\n\nimport './NavigationDescription.scss';\nimport useResizeObserver from '../../../hooks/useResizeObserver';\n\nconst block = cn('navigation-description');\n\ntype Props = {\n className?: string;\n};\n\nfunction NavigationDescription({className}: Props) {\n const dispatch = useDispatch();\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n const edittingAnnotation = useSelector(getEdittingAnnotation);\n const editMode = useSelector(getEditMode);\n\n const {expanded, toggleExpanded} = useDescriptionCollapse();\n\n const {description, descriptionType, visible} = useDescription();\n const {ytAnnotationPath} = useYTAnnotation();\n\n const handleResize = useCallback(() => {\n setTimeout(() => {\n window.dispatchEvent(new Event('resize'));\n }, 0);\n }, []);\n\n useResizeObserver({element: wrapperRef.current, onResize: handleResize});\n\n if (!visible) {\n return null;\n }\n\n return (\n <div ref={wrapperRef} className={block(null, className)}>\n <CollapsibleSection\n className={block('collapsible', {expanded})}\n name={'Description'}\n collapsed={false}\n size={UI_COLLAPSIBLE_SIZE}\n overview={<NavigationDescriptionOverview />}\n >\n <div className={block('content')}>\n {editMode && descriptionType === 'yt' ? (\n <EditAnnotationWithPreview\n valuePath={ytAnnotationPath}\n value={{value: edittingAnnotation || ''}}\n initialValue={{value: edittingAnnotation || ''}}\n onChange={({value}) =>\n dispatch(setEdittingAnnotation({edittingAnnotation: value}))\n }\n className={block('edit-block')}\n hideReset\n />\n ) : (\n <AnnotationWithPartial\n annotation={description}\n expanded={expanded}\n onToggle={toggleExpanded}\n />\n )}\n </div>\n </CollapsibleSection>\n </div>\n );\n}\n\nexport default NavigationDescription;\n","import {useCallback} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\n\nimport {setSettingAnnotationVisibility} from '../../../../store/actions/settings/settings';\nimport {getSettingAnnotationVisibility} from '../../../../store/selectors/settings';\n\nimport {AnnotationVisibility} from '../../../../../shared/constants/settings-ts';\n\nexport function useDescriptionCollapse() {\n const dispatch = useDispatch();\n const visibility = useSelector(getSettingAnnotationVisibility);\n const expanded = visibility === AnnotationVisibility.VISIBLE;\n\n const toggleExpanded = useCallback(() => {\n dispatch(\n setSettingAnnotationVisibility(\n expanded ? AnnotationVisibility.PARTIAL : AnnotationVisibility.VISIBLE,\n ),\n );\n }, [dispatch, expanded]);\n\n return {\n expanded,\n toggleExpanded,\n };\n}\n","import {useSelector} from 'react-redux';\n\nimport {getDescriptionType, getEditMode} from '../../../../store/reducers/navigation/description';\n\nimport {useYTAnnotation} from './use-yt-annotation';\nimport {useExternalAnnotation} from './use-external-annotation';\nimport {useUpdateDescriptionTypeOnLoad} from './use-description-type-on-load';\n\nexport function useDescription() {\n const editMode = useSelector(getEditMode);\n const descriptionType = useSelector(getDescriptionType);\n\n const {ytAnnotation, isAnnotationLoadedWithData, isAnnotationLoading} = useYTAnnotation();\n\n const {externalAnnotation, isExternalAnnotatonLoadedWithData} = useExternalAnnotation();\n\n const isLoadedWithData =\n // use isAnnotationLoading to ensure that internal annotation loading process completed\n // before making any rendering decision\n !isAnnotationLoading && (isAnnotationLoadedWithData || isExternalAnnotatonLoadedWithData);\n\n const description = descriptionType === 'yt' ? ytAnnotation : externalAnnotation;\n\n useUpdateDescriptionTypeOnLoad(isAnnotationLoadedWithData, isExternalAnnotatonLoadedWithData);\n\n return {\n visible: isLoadedWithData || editMode,\n descriptionType,\n description,\n };\n}\n","import {useEffect} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\n\nimport {\n getDescriptionType,\n setDescriptionType,\n} from '../../../../store/reducers/navigation/description';\n\nexport function useUpdateDescriptionTypeOnLoad(\n isAnnotationLoadedWithData: boolean,\n isExternalAnnotatonLoadedWithData: boolean,\n) {\n const dispatch = useDispatch();\n\n const descriptionType = useSelector(getDescriptionType);\n\n useEffect(() => {\n let newDescriptionType: 'yt' | 'external' = descriptionType;\n\n if (isAnnotationLoadedWithData) {\n newDescriptionType = 'yt';\n } else if (isExternalAnnotatonLoadedWithData) {\n newDescriptionType = 'external';\n }\n if (newDescriptionType !== descriptionType) {\n dispatch(setDescriptionType({descriptionType: newDescriptionType}));\n }\n }, [isAnnotationLoadedWithData, isExternalAnnotatonLoadedWithData]);\n}\n","import {createSelector} from 'reselect';\n\nimport compact_ from 'lodash/compact';\nimport filter_ from 'lodash/filter';\nimport flatten_ from 'lodash/flatten';\nimport forEach_ from 'lodash/forEach';\nimport map_ from 'lodash/map';\nimport sortBy_ from 'lodash/sortBy';\nimport uniq_ from 'lodash/uniq';\nimport partition_ from 'lodash/partition';\nimport isEqual_ from 'lodash/isEqual';\nimport some_ from 'lodash/some';\n\nimport {calculateLoadingStatus} from '../../utils/utils';\nimport {concatByAnd} from '../../common/hammer/predicate';\nimport {\n getAclFilterColumnGroupName,\n getAclFilterColumns,\n getAclFilterExpandedSubjects,\n getApproversSubjectFilter,\n getObjectPermissionsFilter,\n getObjectSubjectFilter,\n} from './acl-filters';\nimport UIFactory from '../../UIFactory';\nimport {RootState} from '../../store/reducers';\nimport {IdmKindType, PreparedAclSubject} from '../../utils/acl/acl-types';\nimport {YTPermissionTypeUI} from '../../utils/acl/acl-api';\nimport {PreparedRole} from '../../utils/acl';\n\nexport type PreparedAclSubjectColumn = Omit<PreparedAclSubject, 'type'> & {type: 'columns'};\n\nfunction prepareColumnsNames(columnsPermissions: Array<{columns?: Array<string>}>) {\n const columns = map_(columnsPermissions, (permission) => permission.columns);\n\n return compact_(uniq_(flatten_(columns))).sort();\n}\n\nfunction prepareApprovers(\n approvers: Array<PreparedRole> | undefined,\n type: 'read_approver' | 'responsible' | 'auditor',\n) {\n return map_(approvers, (subject) => {\n const extra = {\n type,\n subjects: [subject.value],\n subjectType: subject.type === 'users' ? ('user' as const) : ('group' as const),\n groupInfo:\n subject.type === 'groups'\n ? {name: subject.group_name, url: subject.url, group: undefined}\n : undefined,\n action: undefined,\n };\n return {\n ...subject,\n ...extra,\n };\n });\n}\n\nexport type PreparedApprover = ReturnType<typeof prepareApprovers>[number];\n\nexport const getAllUserPermissions = (state: RootState, idmKind: IdmKindType) =>\n state.acl[idmKind].userPermissions;\nconst getAllObjectPermissions = (state: RootState, idmKind: IdmKindType) =>\n state.acl[idmKind].objectPermissions;\n\nconst getAllObjectPermissionsWithSplittedSubjects = createSelector(\n [getAllObjectPermissions],\n splitSubjects,\n);\n\nexport const getObjectPermissionsTypesList = (idmKind: IdmKindType) => {\n return createSelector(\n [\n getObjectPermissionsFilter,\n (state) => getAllObjectPermissionsWithSplittedSubjects(state, idmKind),\n ],\n (permissionsFilter, items) => {\n const uniquePermisions = new Set<YTPermissionTypeUI>();\n const {permissionTypes} = UIFactory.getAclPermissionsSettings()[idmKind] || {};\n [...permissionTypes, ...permissionsFilter].forEach((permission) =>\n uniquePermisions.add(permission),\n );\n items.forEach((item) => {\n const {permissions} = item;\n permissions?.forEach((permission) => uniquePermisions.add(permission));\n });\n return sortBy_([...uniquePermisions], (permission) => permission);\n },\n );\n};\n\ntype HasSplitted = {\n isSplitted?: boolean;\n subjectIndex?: number;\n};\n\nfunction splitSubjects<T extends {subjects: Array<unknown>}>(items: Array<T>) {\n const res: Array<T & HasSplitted> = [];\n forEach_(items, (item) => {\n const {subjects} = item;\n if (subjects && subjects.length > 1) {\n forEach_(subjects, (subject, index) => {\n res.push({...item, subjects: [subject], isSplitted: true, subjectIndex: index});\n });\n } else {\n res.push(item);\n }\n });\n return res;\n}\n\nfunction subjectFilterPredicate<\n T extends {subjectType?: unknown; groupInfo?: unknown; subjects: Array<unknown>},\n>(item: T, filter: string) {\n const {subjectType, groupInfo} = item;\n if (subjectType === 'group') {\n return some_(Object.entries(groupInfo ?? {}), ([key, value]) => {\n let str: string | undefined = String(value);\n if (key === 'url') {\n if (str[str.length - 1] === '/') str = str.slice(0, -1);\n str = str.split('/').pop();\n }\n return -1 !== str?.toLowerCase().indexOf(filter);\n });\n }\n const value = String(item.subjects[0] ?? '');\n return -1 !== value.toLowerCase().indexOf(filter);\n}\n\nfunction FilterBySubject<\n T extends {subjectType?: unknown; groupInfo?: unknown; subjects: Array<unknown>},\n>(items: Array<T>, subjectFilter?: string) {\n if (!subjectFilter) return items;\n const lowerNameFilter = subjectFilter.toLowerCase();\n return filter_(items, (item) => subjectFilterPredicate(item, lowerNameFilter));\n}\n\nconst permissionsFilterPredicate = (item: PreparedAclSubject, filter: Set<YTPermissionTypeUI>) => {\n const {permissions} = item;\n let foundCount = 0;\n return permissions?.some((p) => {\n if (filter.has(p)) {\n foundCount++;\n }\n return foundCount >= filter.size;\n });\n};\n\ntype ObjectPermissionsRow = PreparedAclSubject & HasSplitted;\n\nexport const getAllObjectPermissionsFiltered = createSelector(\n [\n getAllObjectPermissionsWithSplittedSubjects,\n getObjectSubjectFilter,\n getObjectPermissionsFilter,\n getAclFilterColumns,\n ],\n (items, subjectFilter, permissionsFilter, columns) => {\n const [mainPermissions, columnPermissions] = partition_(\n items,\n (item) => !item.columns?.length,\n );\n\n const withColumns = columnPermissions.map((item) => {\n return {...item, columns: sortBy_(item.columns)};\n });\n\n const lowerNameFilter = subjectFilter?.toLocaleLowerCase();\n const filterBySubject = lowerNameFilter\n ? (item: ObjectPermissionsRow) => subjectFilterPredicate(item, lowerNameFilter)\n : undefined;\n\n const permissionsFilterSet = new Set<YTPermissionTypeUI>(permissionsFilter);\n const filterByPermissions = permissionsFilterSet.size\n ? (item: ObjectPermissionsRow) =>\n permissionsFilterPredicate(item, permissionsFilterSet) ?? false\n : undefined;\n\n const visibleColumns = new Set(columns);\n const filterByColumns = visibleColumns.size\n ? ({columns}: ObjectPermissionsRow) => {\n return columns?.some((colName) => visibleColumns.has(colName)) ?? false;\n }\n : undefined;\n\n const mainPredicates = compact_([filterBySubject, filterByPermissions]);\n const columnsPredicates = compact_([filterBySubject, filterByColumns]);\n return {\n mainPermissions: mainPredicates.length\n ? mainPermissions.filter(concatByAnd(...mainPredicates))\n : mainPermissions,\n columnsPermissions: columnsPredicates.length\n ? withColumns.filter(concatByAnd(...columnsPredicates))\n : withColumns,\n };\n },\n);\n\nexport const getObjectPermissionsAggregated = createSelector(\n [getAllObjectPermissionsFiltered, getAclFilterExpandedSubjects],\n ({mainPermissions, columnsPermissions}, expandedSubjects) => {\n return {\n mainPermissions: {\n ...aggregateBySubject(mainPermissions, expandedSubjects),\n count: mainPermissions.length,\n },\n columnsPermissions: {\n ...aggregateBySubject(columnsPermissions, expandedSubjects),\n count: columnsPermissions.length,\n },\n };\n },\n);\n\nclass AggregateBySubject {\n aggrKey: string;\n subject: ObjectPermissionsRow['subjects'][number];\n inherited: boolean;\n\n allPermissions = new Set<YTPermissionTypeUI>();\n columns = new Set<string>();\n first: ObjectPermissionsRow;\n children = new Array<ObjectPermissionsRow & {expanded?: boolean; level?: number}>();\n\n constructor(first: AggregateBySubject['first']) {\n if (first.subjects.length > 1) {\n throw new Error(\n `Unexpected behavior: more than one subject occured: ${first.subjects.join(',')}`,\n );\n }\n\n this.aggrKey = aggregationKey(first);\n this.inherited = Boolean(first.inherited);\n this.subject = first.subjects[0];\n this.first = {...first};\n this.add(first);\n }\n\n add(item: ObjectPermissionsRow) {\n const aggrKey = aggregationKey(item);\n if (this.aggrKey !== aggrKey) {\n throw new Error(\n `Unexpected behavior: aggregation keys are not queal: ${this.aggrKey} !== ${aggrKey}`,\n );\n }\n\n if (item.subjects.length !== 1) {\n throw new Error(\n `Unexpected behavior: item.subjects.length !== 1: ${JSON.stringify(item)}`,\n );\n }\n\n const child = {...item, permissions: [...(item.permissions ?? [])]};\n this.children.push(child);\n\n child.permissions?.sort();\n child.permissions?.forEach((p) => {\n this.allPermissions.add(p);\n });\n item.columns?.forEach((column) => this.columns.add(column));\n\n this.first.isMissing ||= Boolean(item.isMissing);\n this.first.isUnrecognized ||= Boolean(item.isUnrecognized);\n this.first.isApproved ||= Boolean(item.isApproved);\n this.first.isRequested ||= Boolean(item.isRequested);\n }\n\n getItems(expanded: boolean): {\n items: AggregateBySubject['children'];\n hasExpandable?: boolean;\n hasDenyAction?: boolean;\n hasInherited?: boolean;\n } {\n const hasInherited = this.inherited;\n if (this.children.length === 1) {\n return {items: this.children, hasInherited};\n }\n\n const first: typeof this.first & {level?: number; expanded?: boolean} = {\n ...this.first,\n level: 0,\n expanded,\n };\n first.permissions = [...this.allPermissions].sort();\n first.columns = [...this.columns].sort();\n\n let hasDenyAction = false;\n const items = !expanded\n ? [first]\n : [\n first,\n ...sortBy_(this.children, ['inheritance_mode', 'permissions']).map((i) => {\n hasDenyAction ||= i.action === 'deny';\n return {...i, level: 1};\n }),\n ];\n\n this.children.forEach((i) => {\n if (i.inheritance_mode !== first.inheritance_mode) {\n first.inheritance_mode = undefined;\n }\n if (!isEqual_(this.first.inheritedFrom, i.inheritedFrom)) {\n first.inheritedFrom = undefined;\n }\n });\n\n return {items, hasExpandable: true, hasDenyAction, hasInherited};\n }\n}\n\nexport type ObjectPermissionRowWithExpand = AggregateBySubject['children'][number];\n\nfunction aggregationKey(item: ObjectPermissionsRow) {\n const {\n inherited,\n subjects: [subject],\n } = item;\n return `subject:${subject}_inherited:${Boolean(inherited)}`;\n}\n\nfunction aggregateBySubject(\n objPermissions: Array<ObjectPermissionsRow>,\n expandedSubjects: Set<string | number>,\n) {\n const aggregated: Record<string, AggregateBySubject> = {};\n\n objPermissions.forEach((item) => {\n const aggKey = aggregationKey(item);\n const dst = aggregated[aggKey];\n if (!dst) {\n aggregated[aggKey] = new AggregateBySubject(item);\n } else {\n dst.add(item);\n }\n });\n\n const res = Object.values(aggregated).reduce(\n (acc, item) => {\n const {items, hasExpandable, hasInherited} = item.getItems(\n expandedSubjects.has(item.subject),\n );\n acc.items = acc.items.concat(items);\n acc.hasExpandable ||= hasExpandable;\n acc.hasInherited ||= hasInherited;\n return acc;\n },\n {items: []} as ReturnType<AggregateBySubject['getItems']>,\n );\n\n const [inherited, other] = partition_(res.items, (item) => item.inherited);\n\n return {\n ...res,\n items: [...inherited, ...other],\n };\n}\n\nexport const getAllObjectPermissionsOrderedByStatus = createSelector(\n [getAllObjectPermissions],\n OrderByRoleStatus,\n);\nexport const getAllColumnGroups = (state: RootState, idmKind: IdmKindType) =>\n state.acl[idmKind].columnGroups;\nexport const getAllColumnGroupsActual = createSelector(\n [getAllColumnGroups, getAclFilterColumns, getAclFilterColumnGroupName],\n (items, columnsFilter, nameFilter) => {\n const visibleColumns = new Set(columnsFilter);\n type ItemType = (typeof items)[number];\n const nameFilterLower = nameFilter?.toLowerCase();\n const predicates = compact_([\n (item: ItemType) => {\n return !item.removed;\n },\n visibleColumns.size > 0\n ? (item: ItemType) => {\n return item.columns?.some((name) => visibleColumns.has(name)) ?? false;\n }\n : undefined,\n nameFilterLower?.length\n ? (item: ItemType) =>\n -1 !== (item.name?.toLowerCase()?.indexOf(nameFilterLower) ?? -1)\n : undefined,\n ]);\n const filtered = filter_(items, concatByAnd(...predicates)).map((item) => {\n return {...item, columns: sortBy_(item.columns)};\n });\n return sortBy_(filtered, ['name']);\n },\n);\n\nfunction OrderByRoleStatus<\n T extends {\n isDepriving?: boolean;\n isRequested?: boolean;\n isUnrecognized?: boolean;\n isApproved?: boolean;\n },\n>(items: Array<T>) {\n const unrecognized: typeof items = [];\n const requested: typeof items = [];\n const depriving: typeof items = [];\n const rest: typeof items = [];\n forEach_(items, (item) => {\n const {isDepriving, isRequested, isUnrecognized, isApproved} = item;\n if (isUnrecognized) {\n unrecognized.push(item);\n } else if (isDepriving) {\n depriving.push(item);\n } else if (isRequested || isApproved) {\n requested.push(item);\n } else {\n rest.push(item);\n }\n });\n return [...requested, ...depriving, ...unrecognized, ...rest];\n}\n\nfunction OrderByInheritanceAndSubject<T extends {inherited?: boolean; subjects: Array<unknown>}>(\n items: Array<T>,\n) {\n const res = sortBy_(items, [\n (item) => !item.inherited,\n (item) => (item.subjects && item.subjects[0]) || true,\n ]);\n return res;\n}\n\nconst getReadApprovers = (state: RootState, idmKind: IdmKindType) =>\n state.acl[idmKind].readApprovers;\nconst getResponsibles = (state: RootState, idmKind: IdmKindType) => state.acl[idmKind].responsible;\nconst getAuditors = (state: RootState, idmKind: IdmKindType) => state.acl[idmKind].auditors;\n\nexport const getNotInheritedReadApprovers = createSelector([getReadApprovers], (readApprovers) =>\n filter_(readApprovers, (readApprover) => !readApprover.inherited),\n);\nexport const getNotInheritedResponsibles = createSelector([getResponsibles], (responsibles) =>\n filter_(responsibles, (responsible) => !responsible.inherited),\n);\nexport const getNotInheritedAuditors = createSelector([getAuditors], (auditros) =>\n filter_(auditros, (auditro) => !auditro.inherited),\n);\n\nconst getAllApprovers = createSelector(\n [getReadApprovers, getResponsibles, getAuditors],\n (readApprovers, responsibles, auditros) => {\n return [\n ...prepareApprovers(readApprovers, 'read_approver'),\n ...prepareApprovers(responsibles, 'responsible'),\n ...prepareApprovers(auditros, 'auditor'),\n ];\n },\n);\n\nexport const getHasApprovers = createSelector([getAllApprovers], (items) => items.length > 0);\n\nexport const getApproversFiltered = createSelector(\n [getAllApprovers, getApproversSubjectFilter],\n FilterBySubject,\n);\n\nexport const getApproversFilteredAndOrdered = createSelector(\n [getApproversFiltered],\n OrderByInheritanceAndSubject,\n);\n\nexport const getApprovers = createSelector([getAllApprovers], OrderByRoleStatus);\n\nexport const getAllAccessColumnsPermissions = createSelector(\n [getAllObjectPermissions],\n (objectPermissions) => {\n const filteredPermissions = filter_(\n objectPermissions,\n (permission) => permission.action === 'allow' && permission.columns?.length! > 0,\n );\n\n return map_(filteredPermissions, (item) => {\n const tmp: typeof item = {...item};\n tmp.type = 'columns';\n return tmp;\n });\n },\n);\n\nconst getAllDenyColumnsPermissions = createSelector(\n [getAllObjectPermissions],\n (objectPermissions) => {\n const filteredPermissions = filter_(\n objectPermissions,\n (permission) => permission.action === 'deny' && permission.columns?.length! > 0,\n );\n\n return map_(\n filteredPermissions,\n (permission) =>\n ({\n ...permission,\n type: 'columns',\n }) as PreparedAclSubjectColumn,\n );\n },\n);\n\nexport const getAllAccessColumnsNames = createSelector(\n [getAllAccessColumnsPermissions],\n prepareColumnsNames,\n);\n\nexport const getAllDenyColumnsNames = createSelector(\n [getAllDenyColumnsPermissions],\n prepareColumnsNames,\n);\n\nexport const getDenyColumnsItems = createSelector([getAllDenyColumnsNames], (names) =>\n map_(names, (name) => ({key: name, value: name, title: name})),\n);\n\nexport const isPermissionDeleted = (state: RootState, idmKind: IdmKindType) =>\n state.acl[idmKind].isPermissionDeleted;\nexport const permissionDeletionError = (state: RootState, idmKind: IdmKindType) =>\n state.acl[idmKind].deletionError;\nexport const getLastDeletedPermissionKey = (state: RootState, idmKind: IdmKindType) =>\n state.acl[idmKind].deletedItemKey;\nexport const getIdmPermissionsRequestError = (state: RootState, idmKind: IdmKindType) =>\n state.acl[idmKind].idmPermissionsRequestError;\nexport const getIdmManageAclRequestError = (state: RootState, idmKind: IdmKindType) =>\n state.acl[idmKind].idmManageAclRequestError;\nexport const getIdmPathVersion = (state: RootState, idmKind: IdmKindType) =>\n state.acl[idmKind].version;\n\nconst getAclLoading = (state: RootState, idmKind: IdmKindType) => state.acl[idmKind].loading;\nconst getAclLoaded = (state: RootState, idmKind: IdmKindType) => state.acl[idmKind].loaded;\nconst getAclError = (state: RootState, idmKind: IdmKindType) => state.acl[idmKind].error;\n\nexport const getAclLoadState = createSelector(\n [getAclLoading, getAclLoaded, getAclError],\n (loading, loaded, error) => {\n return calculateLoadingStatus(loading, loaded, error);\n },\n);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport block from 'bem-cn-lite';\nimport unipika from '../../common/thor/unipika';\n\nimport ErrorBoundary from '../../components/ErrorBoundary/ErrorBoundary';\nimport Yson from '../../components/Yson/Yson';\nimport {UnipikaSettings} from '../../components/Yson/StructuredYson/StructuredYsonTypes';\n\n/**\n * See unipika for more details\n */\nexport type UnipikaValueType = Array<string | UnipikaValueType>;\n\nexport type YqlValueProps = {\n value?: unknown;\n type: UnipikaValueType;\n settings: UnipikaSettings;\n inline?: boolean;\n};\n\nexport default class YqlValue extends React.Component<YqlValueProps> {\n static propTypes = {\n settings: PropTypes.object,\n value: PropTypes.any,\n type: PropTypes.array,\n inline: PropTypes.bool,\n };\n\n static defaultProps = {\n inline: false,\n folding: false,\n settings: Yson.defaultUnipikaSettings,\n };\n\n static getFormattedValue(value: unknown, type: UnipikaValueType, settings: UnipikaSettings) {\n const yqlValue = [value, type];\n\n return settings.format === 'raw-json'\n ? unipika.formatRaw(yqlValue, settings)\n : unipika.formatFromYQL(yqlValue, settings);\n }\n\n render() {\n const {value, type, inline, settings} = this.props;\n\n const formattedValue = YqlValue.getFormattedValue(value, type, settings);\n\n let title;\n\n if (inline) {\n const titleSettings = Object.assign({}, settings, {\n asHTML: false,\n });\n\n title =\n settings.format === 'raw-json'\n ? unipika.formatRaw(value, titleSettings)\n : unipika.formatFromYQL(value, titleSettings);\n }\n\n const classes = block('unipika-wrapper')({\n inline: inline && 'yes',\n });\n\n return (\n <ErrorBoundary>\n {settings.asHTML ? (\n <div className={classes} title={title} dir=\"auto\">\n <pre\n className=\"unipika\"\n dangerouslySetInnerHTML={{__html: formattedValue}}\n />\n </div>\n ) : (\n <div\n className={classes}\n title={title}\n dir=\"auto\"\n dangerouslySetInnerHTML={{__html: formattedValue}}\n />\n )}\n </ErrorBoundary>\n );\n }\n}\n","import {addI18Keysets} from '../../../i18n/index';\n\nimport en from './en.json';\nimport ru from './ru.json';\n\nexport default addI18Keysets('yt:column-cell', {en, ru});\n","import React, {useState} from 'react';\nimport cn from 'bem-cn-lite';\nimport copyToClipboard from 'copy-to-clipboard';\n\nimport {Button, Flex, Icon as UIKitIcon} from '@gravity-ui/uikit';\nimport {Eye} from '@gravity-ui/icons';\n\nimport unipika from '../../common/thor/unipika';\nimport ClipboardButton from '../../components/ClipboardButton/ClipboardButton';\nimport YqlValue from '../../components/YqlValue/YqlValue';\nimport Yson from '../../components/Yson/Yson';\nimport Label from '../../components/Label/Label';\nimport {TypeArray} from '../../components/SchemaDataType/dataTypes';\nimport {Tooltip} from '../../components/Tooltip/Tooltip';\nimport {UnipikaSettings} from '../../components/Yson/StructuredYson/StructuredYsonTypes';\n\nimport i18n from './i18n';\n\nimport './ColumnCell.scss';\n\nconst block = cn('yt-column-cell');\n\nfunction unquote(v: string) {\n const match = /^\"(.*)\"$/.exec(v);\n return match ? match[1] : v;\n}\n\ntype CellValueType =\n | null\n | (CellValueData & {\n $incomplete?: boolean;\n [k: number]: {inc?: boolean};\n });\n\ntype CellValueData = {$type: string; $value: string} | {$type?: undefined; $value: unknown};\n\ntype ColumnCellProps = {\n className?: string;\n\n value?: CellValueType | null;\n yqlTypes: Array<TypeArray> | null;\n ysonSettings: UnipikaSettings;\n allowRawStrings?: boolean | null;\n rowIndex: number;\n columnName: string;\n onShowPreview: (columnName: string, rowIndex: number, tag?: string) => void | Promise<void>;\n useYqlTypes?: boolean;\n};\n\nexport function ColumnCell({\n value = null,\n yqlTypes,\n ysonSettings,\n allowRawStrings,\n className,\n rowIndex,\n columnName,\n onShowPreview,\n useYqlTypes,\n}: ColumnCellProps) {\n const [hovered, setHovered] = useState(false);\n const handleMouseEnter = () => setHovered(true);\n const handleMouseLeave = () => setHovered(false);\n\n const formatType = yqlTypes && value ? yqlTypes[Number(value[1])] : undefined;\n\n const escapedValue =\n formatType && value\n ? YqlValue.getFormattedValue(value[0], formatType, {\n ...ysonSettings,\n asHTML: false,\n })\n : unipika.prettyprint(value, {...ysonSettings, asHTML: false});\n const formattedValue =\n formatType && value ? (\n <YqlValue value={value[0]} type={formatType} settings={ysonSettings} />\n ) : (\n <Yson value={value} settings={ysonSettings} />\n );\n\n const {tag, isIncompleteTagged, isIncompleteValue} = React.useMemo(() => {\n let isIncompleteTagged = false;\n let isIncompleteValue = false;\n let tag: string | undefined;\n\n if (value && formatType) {\n const flags: {incomplete: boolean} = {incomplete: false};\n\n const {$tag} = unipika.converters.yql([value[0], formatType], ysonSettings, flags);\n\n isIncompleteValue = flags.incomplete;\n isIncompleteTagged = flags.incomplete && $tag;\n tag = $tag;\n } else if (value) {\n isIncompleteValue = Boolean(value.$incomplete);\n }\n\n return {tag, isIncompleteTagged, isIncompleteValue};\n }, [value, formatType, ysonSettings]);\n\n const rawValue = useYqlTypes ? value?.[0] : value?.$value;\n\n const allowRawCopy = typeof rawValue === 'string';\n const useRawString = allowRawCopy && allowRawStrings;\n let copyTooltip = i18n('hold-shift-raw');\n if (useRawString) {\n copyTooltip = i18n('hold-shift-escaped');\n }\n\n const visibleValue = !useRawString ? (\n formattedValue\n ) : (\n <div className={'unipika-wrapper'}>\n <pre className={'unipika'}>\n <span className={'string'}>{rawValue}</span>\n </pre>\n </div>\n );\n\n const [isPreviewInProgress, setPreviewInProgress] = React.useState(false);\n\n return (\n <div\n className={block(null, className) /*dataTableBlock('value')*/}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n {isIncompleteTagged ? (\n <Label theme=\"warning\" text={i18n('incomplete-type', {tag})} />\n ) : (\n visibleValue\n )}\n {(hovered || isIncompleteTagged) && (\n <div className={block('control-button-wrapper')}>\n <Flex alignItems=\"center\">\n {value && !isIncompleteValue && (\n <Tooltip\n content={\n !allowRawCopy ? undefined : (\n <span className={block('copy-value-tooltip')}>\n {copyTooltip}\n </span>\n )\n }\n >\n <ClipboardButton\n view=\"flat-secondary\"\n size=\"m\"\n text={useRawString ? rawValue : unquote(escapedValue)}\n onCopy={(event: React.MouseEvent) => {\n if (event?.shiftKey && allowRawCopy) {\n copyToClipboard(\n useRawString ? unquote(escapedValue) : rawValue,\n );\n }\n }}\n />\n </Tooltip>\n )}\n {isIncompleteValue && (\n <Button\n view=\"flat-secondary\"\n size=\"m\"\n qa=\"truncated-preview-button\"\n onClick={async () => {\n setPreviewInProgress(true);\n try {\n if (!isPreviewInProgress) {\n await onShowPreview(columnName, rowIndex, tag);\n }\n } finally {\n setPreviewInProgress(false);\n }\n }}\n loading={isPreviewInProgress}\n >\n <UIKitIcon data={Eye} size=\"12\" />\n </Button>\n )}\n </Flex>\n </div>\n )}\n </div>\n );\n}\n","import React from 'react';\nimport {Tooltip} from '../../components/Tooltip/Tooltip';\nimport SchemaDataType from '../../components/SchemaDataType/SchemaDataType';\nimport Yson from '../../components/Yson/Yson';\nimport unipika from '../../common/thor/unipika';\nimport Icon from '../../components/Icon/Icon';\nimport {ColumnCell} from '../../components/ColumnCell/ColumnCell';\n\nimport map_ from 'lodash/map';\n\nimport {TypeArray} from '../../components/SchemaDataType/dataTypes';\nimport type {YsonSettings} from '../../store/selectors/thor/unipika';\n\nexport type NameWithSortOrder = {name: string; sortOrder?: string};\n\nexport function prepareColumns({\n columns,\n keyColumns,\n yqlTypes,\n ysonSettings,\n useRawStrings,\n schemaByName,\n onShowPreview,\n useYqlTypes,\n}: {\n columns: NameWithSortOrder[];\n keyColumns: string[];\n yqlTypes?: TypeArray[] | null;\n ysonSettings: YsonSettings;\n useRawStrings: boolean | null | undefined;\n schemaByName: Record<string, any>;\n onShowPreview: (columnName: string, rowIndex: number, tag?: string) => void;\n useYqlTypes?: boolean;\n}) {\n return map_(columns, (column) => {\n const render = ({value, index}: {value?: any; index: number; row: any}) => (\n <ColumnCell\n allowRawStrings={useRawStrings}\n value={value}\n yqlTypes={yqlTypes || []}\n ysonSettings={ysonSettings}\n rowIndex={index}\n columnName={column.name}\n onShowPreview={onShowPreview}\n useYqlTypes={useYqlTypes}\n />\n );\n const {sortOrder} = column;\n const isKeyColumn = keyColumns.indexOf(column.name) > -1;\n const {type_v3} = schemaByName[column.name] || {};\n const header = (\n <Tooltip content={Boolean(type_v3) && <SchemaDataType type_v3={type_v3} />}>\n <Yson value={unipika.unescapeKeyValue(column.name)} settings={ysonSettings} inline>\n {isKeyColumn && (\n <Icon\n awesome={\n sortOrder === 'descending'\n ? 'sort-amount-up'\n : 'sort-amount-down-alt'\n }\n />\n )}\n </Yson>\n </Tooltip>\n );\n return Object.assign({}, column, {render, header});\n });\n}\n","import * as React from 'react';\nexport function useResizeObserver({ ref, onResize, box, }) {\n React.useEffect(() => {\n const element = ref === null || ref === void 0 ? void 0 : ref.current;\n if (!element) {\n return undefined;\n }\n if (typeof window.ResizeObserver === 'undefined') {\n window.addEventListener('resize', onResize, false);\n return () => {\n window.removeEventListener('resize', onResize, false);\n };\n }\n const observer = new ResizeObserver((entries) => {\n if (!entries.length) {\n return;\n }\n onResize();\n });\n observer.observe(element, { box });\n return () => {\n observer.disconnect();\n };\n }, [ref, onResize, box]);\n}\n"],"names":["getApproversSubjectFilter","state","aclFilters","approversSubject","getObjectSubjectFilter","objectSubject","getObjectPermissionsFilter","objectPermissions","getAclFilterColumns","columnsFilter","getAclFilterColumnGroupName","columnGroupNameFilter","getAclFilterExpandedSubjects","expandedSubjects","getAclCurrentTab","aclCurrentTab","props","_jsxs","_objectSpread","xmlns","fill","viewBox","children","clipPath","_jsx","d","stroke","strokeLinecap","strokeLinejoin","strokeWidth","id","MapNodeIcon","_ref","_UIFactory$getNavigat","node","item","ypath","getAttributes","iconType","type","dynamic","icon","UIFactory","getNavigationMapNodeSettings","renderNodeIcon","isTrashNode","path","isLinkToTrashNode","targetPath","Icon","awesome","getIconNameForType","targetPathBroken","title","hammer","format","sorted","treat_as_queue_consumer","GravityIcon","data","QueueConsumerIcon","treat_as_queue_producer","QueueProducerIcon","className","SchemaDataType","type_v3","primitiveTypes","useSelector","getPrimitiveTypesMap","dataTypeProps","React","getType","parseV3Type","_unused","DataType","_Fragment","ErrorImages","NotFound","AccessDenied","NavigationErrorImage","ErrorImage","size","idmKind","IdmObjectType","PATH","connect","denyColumns","getDenyColumnsItems","error","getIdmPermissionsRequestError","requestPermissions","cancelRequestPermissions","RequestPermissions","block","cn","RequestPermissionIsNotAllowed","objectType","Info","caps","RequestPermission","currentPath","cluster","getValue","attributes","errorPath","isRequestPermissionsForPathAllowed","pathForRequest","getParentPath","Flex","direction","gap","buttonClassName","buttonProps","width","ErrorToClipboardButton","view","ErrorsInfo","getTitle","payload","username","permissions","permission","map","perm","join","permissionsStr","concat","PrettyError","details","code","vertical","getPermissionDeniedError","_ErrorsInfo","getErrorTitle","undefined","minHeight","NavigationDescription","justifyContent","alignItems","Text","ErrorDetails","UnexpectedError","message","YTErrorBlock","NavigationError","errorCode","getYtErrorCode","isNaN","inner_errors","_step","errors","_iterator","_createForOfIteratorHelper","s","n","done","inner_error","value","innerErrorCode","err","e","f","getLeadingErrorCode","prepareUserPermissions","userPermissions","permissionTypes","getAclPermissionsSettings","map_","index","action","getPathToCheckPermissions","_x","_x2","_x3","_getPathToCheckPermissions","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee4","entityName","poolTree","fullPath","wrap","_context5","prev","next","t0","ACCESS_CONTROL_OBJECT","UI_EFFECTIVE_ACL","ACCOUNT","POOL","TABLET_CELL_BUNDLE","abrupt","ytApiV3Id","get","YTApiId","schedulingPoolFullPath","sent","Error","stop","loadAclData","normalizedPoolTree","length","options","userPermissionsPath","_ref3","_callee","dispatch","getState","_state$global","login","_state$global$cluster","pathToCheckPermissions","pathToCheckUserPermissions","_context","global","LOAD_DATA","REQUEST","getTree","Promise","all","getAcl","kind","sysPath","checkUserPermissionsUI","getResponsible","then","_ref4","_ref5","_slicedToArray","acl","responsible","SUCCESS","version","auditors","columnGroups","column_groups","inheritAcl","readApprovers","disableAclInheritance","bossApproval","disableInheritanceResponsible","t1","FAILURE","_x4","_x5","deletePermissions","_ref6","roleKey","itemToDelete","_ref8","_callee2","_getState$global$clus","deletePermissionsPath","_context2","DELETE_PERMISSION","getAclApi","deleteRole","isCancelled","CANCELLED","reject","_x6","_x7","dateToDaysAfterNow","date","Math","round","getTime","Date","now","_ref9","values","_ref1","_callee3","_values$comment","_state$global$cluster2","_UIFactory$getAclApi","_UIFactory$getAclApi$","requestPermissionsFlags","daysAfter","roles","rolesGroupedBySubject","inheritance_mode","permissionFlags","readColumnGroup","readColumns","_loop","requestPermissionsPath","_context4","REQUEST_PERMISSION","duration","subjects","subject","commonPart","flattenPermissions","_context3","prepareAclSubject","deprive_after_days","Object","entries","forEach","_ref10","_ref11","key","flagInfo","applyToRequestedRole","flatten_","push","columns","forEach_","convertFromUIPermissions","role_type","column_group_id","delegateYield","finish","roles_grouped","comment","_x8","_x9","_ref12","updateAcl","_ref13","_getState$global$clus2","UPDATE_ACL","_error$response","response","cancelUpdateAcl","_ref15","getCliCommandResultFormat","tag","columnName","isMediaTag","_tag$split","split","_tag$split2","extension","getImageResultFormat","getDynamicTableCellPath","rowIndex","_","yqlTypes","getYqlTypes","getCurrentRowKey","keyColumns","getKeyColumns","offset","Query","prepareKey","prepareQuery","offsetColumns","limit","getDynamicTableCliCommand","_ref2","cellPath","getStaticTableCellPath","getOffsetValue","prettyPrint","YSON_AS_TEXT","getStaticTableCliCommand","getCellPath","getPath","getIsDynamic","getCliCommand","_dispatch","loadCellPreview","useYqlTypes","cancellation","isDynamic","output_format","getDefaultRequestOutputFormat","stringLimit","PREVIEW_LIMIT","readDynamicTable","parameters","query","cellPreviewCancelHelper","removeAllAndSave","readStaticTable","onCellPreview","dataHandler","ytCliDownloadCommand","isIncomplete","loadedData","rows","column","typeIndex","flags","_unipika$converters$y","$type","$value","$tag","_rows","_column","hasType","noticeText","isYqlTypesEnabled","onStartLoading","batch","CELL_PREVIEW","openCellPreview","saveCancellation","incomplete","unipika","converters","yql","maxStringSize","maxListSize","treatValAsData","$incomplete","onSuccess","onError","TRASH_PATH","shouldClientNavigate","link","modifiers","target","getAttribute","href","origin","location","hasAttribute","metaKey","ctrlKey","altKey","shiftKey","b","BreadcrumbItem","_a","Element","domProps","filterDOMProps","labelable","handleAction","event","disabled","preventDefault","onAction","currentTarget","navigate","HTMLAnchorElement","isDefaultPrevented","routerOptions","isDisabled","linkProps","onClick","hrefLang","rel","download","ping","referrerPolicy","role","tabIndex","onKeyDown","current","itemType","assign","BreadcrumbsSeparator","separator","displayName","addComponentKeysets","en","Item","_props","ref","listRef","containerRef","useForkRef","items","child","visibleItemsCount","setVisibleItemsCount","calculated","setCalculated","handleResize","useResizeObserver","onResize","lastChildren","visibleItems","list","listItems","Array","from","containerWidth","offsetWidth","newVisibleItemsCount","calculatedWidth","maxItems","Infinity","rootWidth","showRoot","shift","scrollWidth","lastItem","pop","min","i","max","recalculate","contents","breadcrumbs","endItems","rootItem","hiddenItems","slice","menuItem","DropdownMenu","el","text","popupProps","staircase","popupStyle","placement","popupPlacement","renderSwitcher","Button","i18n","lastIndex","breadcrumbItems","isCurrent","calculating","qa","style","Breadcrumbs","_objectWithoutProperties","_excluded","UBreadcrumbs","PageCounter","pageIndex","pageCount","getNameTitle","shortTitle","t","capitalize_","nameContent","titleContent","ColumnHeader","align","order","onSort","multisortIndex","loading","_useColumnInfo","allowUnordered","withUndefined","allowedOrderTypes","columnData","find","rumLogError","additional","subColumn","useColumnInfo","changeHandler","nextOrder","calculateNextOrderValue","nextSortOrderValue","currentOrder","multisort","sortable","Boolean","SortIcon","variant","color","SubColumnSelector","Loader","visible","x","barsDescendingSvg","FLAG_NAME_PREFIX","SHORT_TITLE","access_control_object","COLUMNS_FELDS","Set","compose","withVisible","_SHORT_TITLE$idmKind","aclMode","handleShow","handleClose","onClose","useCallback","requestPermissionsFields","buttonsTitle","onAdd","form","keys","k","currentCaption","_UIFactory$getAclPerm","permissionsToRequest","getAvailablePermissions","_React$useState","_React$useState2","availablePermissions","setAvailablePermissions","onShow","firstItemDisabled","choices","_defineProperty","PermissionsControl","getChoiceName","valueWithCheckedFirstChoice","availableFields","useMemo","disabledChoices","caption","extras","required","tooltip","docsUrl","makeLink","docsUrls","placeholder","allowedTypes","commentHeader","INHERITANCE_MODE_TYPES","hideClear","hideFilter","with","useColumns","AclMode","COLUMN_GROUPS_PERMISSISONS","dialogFields","flagsIndex","res","reduce","acc","field","has","name","ReadableField","help","initialValue","splice","_toConsumableArray","_ref2$editAcl","editAcl","_ref2$editColumnsAcl","editColumnsAcl","ErrorBoundary","YTDFDialog","pristineSubmittable","headerProps","initialValues","OBJECT_AND_DESCENDANTS","validate","validationError","fields","makeErrorFields","infoIcon","useYTAnnotation","getCluster","_useAnnotationQuery","useAnnotationQuery","annotationData","isAnnotationSuccess","isSuccess","isLoading","ytAnnotation","ytAnnotationPath","isAnnotationLoadedWithData","isAnnotationLoading","useExternalAnnotation","_useExternalDescripti","useExternalDescriptionQuery","externalAnnotaionData","isExternalAnnotationSuccess","isExternalAnnotatonLoadedWithData","externalAnnotation","externalAnnotationLink","AnnotationVisibility","EditButtons","editMode","getEditMode","_useDescriptionAction","useDispatch","edittingAnnotation","getEdittingAnnotation","_useUpdateAnnotation","_useUpdateBatchMutati","useUpdateBatchMutation","_useUpdateBatchMutati2","update","rest","annotation","navigationGetAnnotation","requests","command","prepareRequest","input","errorTitle","toaster","toasterName","successTitle","useUpdateAnnotation","_useUpdateAnnotation2","updateFn","edit","toggleEditMode","cancel","setEdittingAnnotation","save","useDescriptionActions","SwitchDescription","_UIFactory$externalAn","descriptionType","getDescriptionType","RadioButton","content","externalAnnotationSetup","externalServiceName","onUpdate","setDescriptionType","NavigationDescriptionOverview","Tooltip","Link","AnnotationWithPartial","expanded","onToggle","_React$useMemo","isFullText","Markdown","ClickableText","ExternalAnnotationFallback","_UIFactory$externalAn2","height","wrapperRef","useRef","_useDescriptionCollap","getSettingAnnotationVisibility","toggleExpanded","setSettingAnnotationVisibility","useDescriptionCollapse","_useDescription","_useYTAnnotation","_useExternalAnnotatio","isLoadedWithData","description","useEffect","newDescriptionType","useUpdateDescriptionTypeOnLoad","useDescription","setTimeout","window","dispatchEvent","Event","element","CollapsibleSection","collapsed","UI_COLLAPSIBLE_SIZE","overview","EditAnnotationWithPreview","valuePath","onChange","hideReset","prepareColumnsNames","columnsPermissions","compact_","uniq_","sort","prepareApprovers","approvers","extra","subjectType","groupInfo","group_name","url","group","getAllUserPermissions","getAllObjectPermissions","getAllObjectPermissionsWithSplittedSubjects","createSelector","isSplitted","subjectIndex","getObjectPermissionsTypesList","permissionsFilter","uniquePermisions","add","sortBy_","subjectFilterPredicate","filter","_item$subjects$","some_","_str","str","String","toLowerCase","indexOf","getAllObjectPermissionsFiltered","subjectFilter","_partition_","partition_","_item$columns","_partition_2","mainPermissions","withColumns","lowerNameFilter","toLocaleLowerCase","filterBySubject","permissionsFilterSet","filterByPermissions","_permissionsFilterPre","foundCount","some","p","permissionsFilterPredicate","visibleColumns","filterByColumns","_columns$some","colName","mainPredicates","columnsPredicates","concatByAnd","getObjectPermissionsAggregated","aggregateBySubject","count","AggregateBySubject","_createClass","first","_classCallCheck","aggrKey","inherited","allPermissions","this","aggregationKey","_item$permissions","_child$permissions","_child$permissions2","_item$columns2","_this$first","_this$first2","_this$first3","_this$first4","_this","JSON","stringify","isMissing","isUnrecognized","isApproved","isRequested","_this2","hasInherited","level","hasDenyAction","isEqual_","inheritedFrom","hasExpandable","objPermissions","aggregated","aggKey","dst","_item$getItems","getItems","_partition_3","_partition_4","other","OrderByRoleStatus","getAllColumnGroupsActual","nameFilter","nameFilterLower","predicates","removed","_item$columns$some","_item$columns3","_item$name$toLowerCas","_item$name","filtered","filter_","unrecognized","requested","depriving","isDepriving","getReadApprovers","getResponsibles","getAuditors","getNotInheritedReadApprovers","readApprover","getNotInheritedResponsibles","responsibles","getNotInheritedAuditors","auditros","auditro","getAllApprovers","getHasApprovers","getApproversFiltered","getApproversFilteredAndOrdered","getAllAccessColumnsPermissions","filteredPermissions","_permission$columns","tmp","getAllDenyColumnsPermissions","_permission$columns2","getAllAccessColumnsNames","getAllDenyColumnsNames","names","isPermissionDeleted","permissionDeletionError","deletionError","getLastDeletedPermissionKey","deletedItemKey","idmPermissionsRequestError","getIdmManageAclRequestError","idmManageAclRequestError","getIdmPathVersion","getAclLoadState","loaded","calculateLoadingStatus","YqlValue","_React$Component","_callSuper","_inherits","_this$props","inline","settings","formattedValue","getFormattedValue","titleSettings","asHTML","formatRaw","formatFromYQL","classes","dir","dangerouslySetInnerHTML","__html","yqlValue","defaultProps","folding","Yson","defaultUnipikaSettings","addI18Keysets","ru","unquote","v","match","exec","ColumnCell","_ref$value","ysonSettings","allowRawStrings","onShowPreview","_useState","useState","_useState2","hovered","setHovered","formatType","Number","escapedValue","prettyprint","isIncompleteTagged","isIncompleteValue","rawValue","allowRawCopy","useRawString","copyTooltip","visibleValue","isPreviewInProgress","setPreviewInProgress","onMouseEnter","onMouseLeave","Label","theme","ClipboardButton","onCopy","copyToClipboard","UIKitIcon","Eye","prepareColumns","useRawStrings","schemaByName","sortOrder","isKeyColumn","header","unescapeKeyValue","render","box","ResizeObserver","addEventListener","removeEventListener","observer","observe","disconnect"],"sourceRoot":""}