@computesdk/loops 0.1.7 → 0.1.8

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 (67) hide show
  1. package/API.md +3 -2
  2. package/README.md +9 -0
  3. package/dist/assets/{abnfDiagram-VCTEODGH-BKE3wXte.js → abnfDiagram-VCTEODGH-DvAFvtUx.js} +1 -1
  4. package/dist/assets/{arc-C6ZC2rP7.js → arc-BfT_ObJl.js} +1 -1
  5. package/dist/assets/{architectureDiagram-5GKGNRK7-BP4EuLVY.js → architectureDiagram-5GKGNRK7-BSAmaM66.js} +1 -1
  6. package/dist/assets/{blockDiagram-I7D4REHJ-BLw7XXPz.js → blockDiagram-I7D4REHJ-gs0pS4Pu.js} +1 -1
  7. package/dist/assets/{c4Diagram-7LVT6UL2-Bx80SfZM.js → c4Diagram-7LVT6UL2-DndY0BSq.js} +1 -1
  8. package/dist/assets/channel-DY5YiWiz.js +1 -0
  9. package/dist/assets/{chunk-2Q5K7J3B-BPBebY_E.js → chunk-2Q5K7J3B-D1m9_EXZ.js} +1 -1
  10. package/dist/assets/{chunk-5VM5RSS4-QL5btn2z.js → chunk-5VM5RSS4-BhIBf8_r.js} +1 -1
  11. package/dist/assets/{chunk-F27PBJKO-DwZ1yutT.js → chunk-F27PBJKO-dJNMvdyv.js} +1 -1
  12. package/dist/assets/{chunk-IMKFNOWR-D_oIgde6.js → chunk-IMKFNOWR-DgU7bzoT.js} +1 -1
  13. package/dist/assets/{chunk-JWPE2WC7-B7803oA6.js → chunk-JWPE2WC7-Lv2kYUK6.js} +1 -1
  14. package/dist/assets/{chunk-POPQ4Y6H-BVGDPtWK.js → chunk-POPQ4Y6H-BIYuA4wp.js} +1 -1
  15. package/dist/assets/{chunk-SVP7TREG-LBP3GH9l.js → chunk-SVP7TREG-Diaa6DCx.js} +1 -1
  16. package/dist/assets/{chunk-TICWLB2K-BI5m3CJb.js → chunk-TICWLB2K-CfIETJY-.js} +1 -1
  17. package/dist/assets/{chunk-XXDRQBXY-kxt8MH_7.js → chunk-XXDRQBXY-CDxADcjM.js} +1 -1
  18. package/dist/assets/classDiagram-ZZMXUADV-CqqArcQH.js +1 -0
  19. package/dist/assets/classDiagram-v2-VYDZK3BY-CqqArcQH.js +1 -0
  20. package/dist/assets/{cose-bilkent-JH36ORCC-9ujaMun3.js → cose-bilkent-JH36ORCC-0bcWM-Kb.js} +1 -1
  21. package/dist/assets/{cynefin-OW5HDTMX-D-nWdDZr.js → cynefin-OW5HDTMX-8MEtijdt.js} +1 -1
  22. package/dist/assets/{cynefinDiagram-5FMLGOSQ-CI6Scxp6.js → cynefinDiagram-5FMLGOSQ-BqhG1OLj.js} +1 -1
  23. package/dist/assets/{dagre-GXQ25YYZ-B8xNwtVY.js → dagre-GXQ25YYZ-DGjjfS3r.js} +1 -1
  24. package/dist/assets/{diagram-S7CK7UJ4-CbG9exCu.js → diagram-S7CK7UJ4-CxmbNpJp.js} +1 -1
  25. package/dist/assets/{diagram-UQ7AKVKN-DJEVVOdt.js → diagram-UQ7AKVKN-wMr5KidC.js} +1 -1
  26. package/dist/assets/{diagram-VSXAHHWV-DXqMiZ59.js → diagram-VSXAHHWV-Ctn6KmCs.js} +1 -1
  27. package/dist/assets/{diagram-VX7I27RA-BgUsFlGi.js → diagram-VX7I27RA-DIAY_rBa.js} +1 -1
  28. package/dist/assets/{diagram-Z3DM3KII-15W3Mbq6.js → diagram-Z3DM3KII-BP-C0VlN.js} +1 -1
  29. package/dist/assets/{ebnfDiagram-PWID7BFC-QnWuy49w.js → ebnfDiagram-PWID7BFC-CuETSBu4.js} +1 -1
  30. package/dist/assets/{erDiagram-RLTQ6QDP-CtFAKfHK.js → erDiagram-RLTQ6QDP-DJihq6vQ.js} +1 -1
  31. package/dist/assets/{flowDiagram-HODETNUW-BXiSgIdj.js → flowDiagram-HODETNUW-oQI1I7d_.js} +1 -1
  32. package/dist/assets/{ganttDiagram-EL5Y4UJY-0X4MJoKa.js → ganttDiagram-EL5Y4UJY-bgToJYcR.js} +1 -1
  33. package/dist/assets/{gitGraphDiagram-WWUBYQGX-D1RSU4p4.js → gitGraphDiagram-WWUBYQGX-xVnsKMuN.js} +1 -1
  34. package/dist/assets/{highlighted-body-JLMTFACH-DJpqqoLg.js → highlighted-body-JLMTFACH-DW5I3I3F.js} +1 -1
  35. package/dist/assets/{index-B3Ugq2o6.js → index-Dc10Ixdc.js} +8 -8
  36. package/dist/assets/{infoDiagram-27XIBGKW-DHPDHcTh.js → infoDiagram-27XIBGKW-BMAjnK3g.js} +1 -1
  37. package/dist/assets/{ishikawaDiagram-5VMMS53U-BaYQe1ZZ.js → ishikawaDiagram-5VMMS53U-C3k2WliB.js} +1 -1
  38. package/dist/assets/{journeyDiagram-3NMN7TZE-gQ5s_wv1.js → journeyDiagram-3NMN7TZE-Bm3s7CxV.js} +1 -1
  39. package/dist/assets/{kanban-definition-UXKFOSKX-BxwSa57H.js → kanban-definition-UXKFOSKX-wN25TjIt.js} +1 -1
  40. package/dist/assets/{layout-thi9yMYl.js → layout-CUPJrCbg.js} +1 -1
  41. package/dist/assets/{linear-C3tNDt0i.js → linear-CII0x-d9.js} +1 -1
  42. package/dist/assets/{mindmap-definition-YA3MSWOX-D4R4OXev.js → mindmap-definition-YA3MSWOX-t-OCVnG7.js} +1 -1
  43. package/dist/assets/{pegDiagram-XKGWAZYB-BnVd3_9Z.js → pegDiagram-XKGWAZYB-BHUmUuNy.js} +1 -1
  44. package/dist/assets/{pieDiagram-E7YTZNPT-CwX8mvdJ.js → pieDiagram-E7YTZNPT-B130SP36.js} +1 -1
  45. package/dist/assets/{quadrantDiagram-AXDQQJYC-CoiKagpY.js → quadrantDiagram-AXDQQJYC-WJdAbGdI.js} +1 -1
  46. package/dist/assets/{railroadDiagram-O6MQD6OU-DZCee713.js → railroadDiagram-O6MQD6OU-DyIASQMx.js} +1 -1
  47. package/dist/assets/{requirementDiagram-BXWQKSXE-BCksgH3P.js → requirementDiagram-BXWQKSXE-BCwOEVf2.js} +1 -1
  48. package/dist/assets/{sankeyDiagram-P5KCCOFB-B0xOVx2_.js → sankeyDiagram-P5KCCOFB-WZ7QJHcc.js} +1 -1
  49. package/dist/assets/{sequenceDiagram-WJ2MYXX4-8myX-w3k.js → sequenceDiagram-WJ2MYXX4-CVNkeGxk.js} +1 -1
  50. package/dist/assets/{sizeCapture-INFHLROL-DtAA6XEA.js → sizeCapture-INFHLROL-DK3Wt0TI.js} +1 -1
  51. package/dist/assets/{stateDiagram-D77RDMKH-eNo1EA8t.js → stateDiagram-D77RDMKH-BXl_44CS.js} +1 -1
  52. package/dist/assets/stateDiagram-v2-MP3YSRHH-B6Ocr83t.js +1 -0
  53. package/dist/assets/{swimlanes-42K2YHIH-CuZGWGh2.js → swimlanes-42K2YHIH-lLoitUlw.js} +1 -1
  54. package/dist/assets/swimlanesDiagram-VR7AAH4N-CMme7rlS.js +8 -0
  55. package/dist/assets/{timeline-definition-24CTP7MA-lyUBY_Xm.js → timeline-definition-24CTP7MA-DPj_1tiR.js} +1 -1
  56. package/dist/assets/{vennDiagram-4TSXK5OY-BaFKzCtR.js → vennDiagram-4TSXK5OY-JdPNY4X7.js} +1 -1
  57. package/dist/assets/{wardleyDiagram-VM6X3IG4-DMcUcLi9.js → wardleyDiagram-VM6X3IG4-lp9tl8ql.js} +1 -1
  58. package/dist/assets/{xychartDiagram-S5SC5T6Z-BVotbEcG.js → xychartDiagram-S5SC5T6Z-BPS939el.js} +1 -1
  59. package/dist/index.html +1 -1
  60. package/dist/server.mjs +92 -30
  61. package/package.json +2 -2
  62. package/src/shared/types.ts +2 -0
  63. package/dist/assets/channel-D148DRm1.js +0 -1
  64. package/dist/assets/classDiagram-ZZMXUADV-CncavLbb.js +0 -1
  65. package/dist/assets/classDiagram-v2-VYDZK3BY-CncavLbb.js +0 -1
  66. package/dist/assets/stateDiagram-v2-MP3YSRHH-BZn7zD-F.js +0 -1
  67. package/dist/assets/swimlanesDiagram-VR7AAH4N-BG9s9tCY.js +0 -8
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/angular-html-D_SYSyRt.js","assets/html-BlS82ilI.js","assets/javascript-wDzz0qaB.js","assets/css-Z72CF80r.js","assets/angular-ts-DGq0tZX5.js","assets/scss-Cw6XMfVs.js","assets/apl-ChzvTHjC.js","assets/xml-sdJ4AIDG.js","assets/java-CylS5w8V.js","assets/json-Cp-IABpG.js","assets/astro-DTjqU0_L.js","assets/typescript-BPQ3VLAy.js","assets/postcss-CXtECtnM.js","assets/tsx-COt5Ahok.js","assets/blade-k33SngOZ.js","assets/html-derivative-DZhk3IEZ.js","assets/sql-DkvoVjww.js","assets/bsl-DlhNcFeZ.js","assets/sdbl-DVxCFoDh.js","assets/cairo-KRGpt6FW.js","assets/python-B6aJPvgy.js","assets/chapel-DTp_pixX.js","assets/c-BIGW1oBm.js","assets/cobol-BBKr1ja6.js","assets/coffee-Ch7k5sss.js","assets/cpp-BMRokrvK.js","assets/regexp-CDVJQ6XC.js","assets/glsl-DplSGwfg.js","assets/crystal-LUwhHfY5.js","assets/shellscript-Yzrsuije.js","assets/edge-CJaD-t2L.js","assets/elixir-DkJLSxtU.js","assets/elm-DbKCFpqz.js","assets/erb-CSMaCouu.js","assets/ruby-C8rp0wew.js","assets/haml-GN_XdMnF.js","assets/graphql-ChdNCCLP.js","assets/jsx-g9-lgVsj.js","assets/lua-BaeVxFsk.js","assets/yaml-Buea-lGh.js","assets/erlang-DsQrWhSR.js","assets/markdown-Cvjx9yec.js","assets/fortran-fixed-form-CkoXwp7k.js","assets/fortran-free-form-BxgE0vQu.js","assets/fsharp-CXgrBDvD.js","assets/gdresource-TyuKm33G.js","assets/gdshader-DkwncUOv.js","assets/gdscript-DqcFQ5yU.js","assets/git-commit-F4YmCXRG.js","assets/diff-D97Zzqfu.js","assets/git-rebase-r7XF79zn.js","assets/glimmer-js-Drrc9bTt.js","assets/glimmer-ts-zeybXsvi.js","assets/hack-Ck6-gGSS.js","assets/handlebars-DPT5vKgj.js","assets/http-jrhK8wxY.js","assets/hurl-irOxFIW8.js","assets/csv-fuZLfV_i.js","assets/hxml-2-FPmUDs.js","assets/haxe-CfZj7gIn.js","assets/jinja-DFQZVq3b.js","assets/jison-wvAkD_A8.js","assets/julia-Cu79e8SL.js","assets/r-Cf5RLm7j.js","assets/just-CMxyWJJc.js","assets/perl-5klg-GXX.js","assets/latex-DJVikpzR.js","assets/tex-D96PA37w.js","assets/liquid-B-duXHXw.js","assets/marko-BYgDmDgU.js","assets/less-B1dDrJ26.js","assets/mdc-DF4WjDMn.js","assets/nextflow-BCxp2Aob.js","assets/nextflow-groovy-CedDknKX.js","assets/nginx-BpAMiNFr.js","assets/nim-nV83PyhX.js","assets/org-6a7ccXN_.js","assets/ini-BEwlwnbL.js","assets/make-CHLpvVh8.js","assets/php-DoruYMF0.js","assets/vb-Cu-pLBUe.js","assets/clojure-P80f7IUj.js","assets/objective-c-DXmwc3jG.js","assets/docker-BcOcwvcX.js","assets/go-C27-OAKa.js","assets/groovy-gcz8RCvz.js","assets/raku-DXvB9xmW.js","assets/rust-DPvrY3IQ.js","assets/scala-CqE71os6.js","assets/csharp-B_TYUkTI.js","assets/dart-CtKP3W-j.js","assets/ocaml-C0hk2d4L.js","assets/zig-VOosw3JB.js","assets/xsl-CtQFsRM5.js","assets/pug-BtYPkAgq.js","assets/qml-3beO22l8.js","assets/razor-CyjPwjZj.js","assets/rst-CVOjT0e7.js","assets/cmake-D1j8_8rp.js","assets/sas-BGn39htG.js","assets/shaderlab-Dg9Lc6iA.js","assets/hlsl-D3lLCCz7.js","assets/shellsession-BADoaaVG.js","assets/soy-zscZBeg6.js","assets/sparql-rVzFXLq3.js","assets/turtle-BsS91CYL.js","assets/stata-DACIj5bg.js","assets/surrealql-Cjom0U5J.js","assets/svelte-D84K1R2Q.js","assets/templ-Vpw5XpSW.js","assets/ts-tags-Ls60c9xG.js","assets/twig-D9-LOF2p.js","assets/typst-DamkJZ1Q.js","assets/bat-CickPsom.js","assets/bibtex-CHM0blh-.js","assets/jsonc-Des-eS-w.js","assets/log-2UxHyX5q.js","assets/powershell-Dd0kTxKP.js","assets/swift-C2oV4EkX.js","assets/verilog-nZwndyjY.js","assets/system-verilog-0hqHdDBg.js","assets/vue-DSqPwMUe.js","assets/vue-html-AaS7Mt5G.js","assets/vue-vine-C0RcJ6UU.js","assets/stylus-BEDo0Tqx.js","assets/dagre-GXQ25YYZ-B8xNwtVY.js","assets/layout-thi9yMYl.js","assets/cose-bilkent-JH36ORCC-9ujaMun3.js","assets/cytoscape.esm-BDkkwuE4.js","assets/c4Diagram-7LVT6UL2-Bx80SfZM.js","assets/chunk-F27PBJKO-DwZ1yutT.js","assets/flowDiagram-HODETNUW-BXiSgIdj.js","assets/chunk-5VM5RSS4-QL5btn2z.js","assets/chunk-XXDRQBXY-kxt8MH_7.js","assets/chunk-POPQ4Y6H-BVGDPtWK.js","assets/channel-D148DRm1.js","assets/swimlanesDiagram-VR7AAH4N-BG9s9tCY.js","assets/erDiagram-RLTQ6QDP-CtFAKfHK.js","assets/gitGraphDiagram-WWUBYQGX-D1RSU4p4.js","assets/chunk-2Q5K7J3B-BPBebY_E.js","assets/chunk-JWPE2WC7-B7803oA6.js","assets/cynefin-OW5HDTMX-D-nWdDZr.js","assets/ganttDiagram-EL5Y4UJY-0X4MJoKa.js","assets/linear-C3tNDt0i.js","assets/init-Gi6I4Gst.js","assets/defaultLocale-DX6XiGOO.js","assets/infoDiagram-27XIBGKW-DHPDHcTh.js","assets/pieDiagram-E7YTZNPT-CwX8mvdJ.js","assets/arc-C6ZC2rP7.js","assets/ordinal-Cboi1Yqb.js","assets/quadrantDiagram-AXDQQJYC-CoiKagpY.js","assets/xychartDiagram-S5SC5T6Z-BVotbEcG.js","assets/requirementDiagram-BXWQKSXE-BCksgH3P.js","assets/sequenceDiagram-WJ2MYXX4-8myX-w3k.js","assets/classDiagram-ZZMXUADV-CncavLbb.js","assets/chunk-TICWLB2K-BI5m3CJb.js","assets/classDiagram-v2-VYDZK3BY-CncavLbb.js","assets/stateDiagram-D77RDMKH-eNo1EA8t.js","assets/chunk-IMKFNOWR-D_oIgde6.js","assets/stateDiagram-v2-MP3YSRHH-BZn7zD-F.js","assets/journeyDiagram-3NMN7TZE-gQ5s_wv1.js","assets/timeline-definition-24CTP7MA-lyUBY_Xm.js","assets/mindmap-definition-YA3MSWOX-D4R4OXev.js","assets/kanban-definition-UXKFOSKX-BxwSa57H.js","assets/sankeyDiagram-P5KCCOFB-B0xOVx2_.js","assets/diagram-Z3DM3KII-15W3Mbq6.js","assets/diagram-UQ7AKVKN-DJEVVOdt.js","assets/blockDiagram-I7D4REHJ-BLw7XXPz.js","assets/diagram-S7CK7UJ4-CbG9exCu.js","assets/architectureDiagram-5GKGNRK7-BP4EuLVY.js","assets/diagram-VSXAHHWV-DXqMiZ59.js","assets/diagram-VX7I27RA-BgUsFlGi.js","assets/wardleyDiagram-VM6X3IG4-DMcUcLi9.js","assets/cynefinDiagram-5FMLGOSQ-CI6Scxp6.js","assets/railroadDiagram-O6MQD6OU-DZCee713.js","assets/chunk-SVP7TREG-LBP3GH9l.js","assets/ebnfDiagram-PWID7BFC-QnWuy49w.js","assets/abnfDiagram-VCTEODGH-BKE3wXte.js","assets/pegDiagram-XKGWAZYB-BnVd3_9Z.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/angular-html-D_SYSyRt.js","assets/html-BlS82ilI.js","assets/javascript-wDzz0qaB.js","assets/css-Z72CF80r.js","assets/angular-ts-DGq0tZX5.js","assets/scss-Cw6XMfVs.js","assets/apl-ChzvTHjC.js","assets/xml-sdJ4AIDG.js","assets/java-CylS5w8V.js","assets/json-Cp-IABpG.js","assets/astro-DTjqU0_L.js","assets/typescript-BPQ3VLAy.js","assets/postcss-CXtECtnM.js","assets/tsx-COt5Ahok.js","assets/blade-k33SngOZ.js","assets/html-derivative-DZhk3IEZ.js","assets/sql-DkvoVjww.js","assets/bsl-DlhNcFeZ.js","assets/sdbl-DVxCFoDh.js","assets/cairo-KRGpt6FW.js","assets/python-B6aJPvgy.js","assets/chapel-DTp_pixX.js","assets/c-BIGW1oBm.js","assets/cobol-BBKr1ja6.js","assets/coffee-Ch7k5sss.js","assets/cpp-BMRokrvK.js","assets/regexp-CDVJQ6XC.js","assets/glsl-DplSGwfg.js","assets/crystal-LUwhHfY5.js","assets/shellscript-Yzrsuije.js","assets/edge-CJaD-t2L.js","assets/elixir-DkJLSxtU.js","assets/elm-DbKCFpqz.js","assets/erb-CSMaCouu.js","assets/ruby-C8rp0wew.js","assets/haml-GN_XdMnF.js","assets/graphql-ChdNCCLP.js","assets/jsx-g9-lgVsj.js","assets/lua-BaeVxFsk.js","assets/yaml-Buea-lGh.js","assets/erlang-DsQrWhSR.js","assets/markdown-Cvjx9yec.js","assets/fortran-fixed-form-CkoXwp7k.js","assets/fortran-free-form-BxgE0vQu.js","assets/fsharp-CXgrBDvD.js","assets/gdresource-TyuKm33G.js","assets/gdshader-DkwncUOv.js","assets/gdscript-DqcFQ5yU.js","assets/git-commit-F4YmCXRG.js","assets/diff-D97Zzqfu.js","assets/git-rebase-r7XF79zn.js","assets/glimmer-js-Drrc9bTt.js","assets/glimmer-ts-zeybXsvi.js","assets/hack-Ck6-gGSS.js","assets/handlebars-DPT5vKgj.js","assets/http-jrhK8wxY.js","assets/hurl-irOxFIW8.js","assets/csv-fuZLfV_i.js","assets/hxml-2-FPmUDs.js","assets/haxe-CfZj7gIn.js","assets/jinja-DFQZVq3b.js","assets/jison-wvAkD_A8.js","assets/julia-Cu79e8SL.js","assets/r-Cf5RLm7j.js","assets/just-CMxyWJJc.js","assets/perl-5klg-GXX.js","assets/latex-DJVikpzR.js","assets/tex-D96PA37w.js","assets/liquid-B-duXHXw.js","assets/marko-BYgDmDgU.js","assets/less-B1dDrJ26.js","assets/mdc-DF4WjDMn.js","assets/nextflow-BCxp2Aob.js","assets/nextflow-groovy-CedDknKX.js","assets/nginx-BpAMiNFr.js","assets/nim-nV83PyhX.js","assets/org-6a7ccXN_.js","assets/ini-BEwlwnbL.js","assets/make-CHLpvVh8.js","assets/php-DoruYMF0.js","assets/vb-Cu-pLBUe.js","assets/clojure-P80f7IUj.js","assets/objective-c-DXmwc3jG.js","assets/docker-BcOcwvcX.js","assets/go-C27-OAKa.js","assets/groovy-gcz8RCvz.js","assets/raku-DXvB9xmW.js","assets/rust-DPvrY3IQ.js","assets/scala-CqE71os6.js","assets/csharp-B_TYUkTI.js","assets/dart-CtKP3W-j.js","assets/ocaml-C0hk2d4L.js","assets/zig-VOosw3JB.js","assets/xsl-CtQFsRM5.js","assets/pug-BtYPkAgq.js","assets/qml-3beO22l8.js","assets/razor-CyjPwjZj.js","assets/rst-CVOjT0e7.js","assets/cmake-D1j8_8rp.js","assets/sas-BGn39htG.js","assets/shaderlab-Dg9Lc6iA.js","assets/hlsl-D3lLCCz7.js","assets/shellsession-BADoaaVG.js","assets/soy-zscZBeg6.js","assets/sparql-rVzFXLq3.js","assets/turtle-BsS91CYL.js","assets/stata-DACIj5bg.js","assets/surrealql-Cjom0U5J.js","assets/svelte-D84K1R2Q.js","assets/templ-Vpw5XpSW.js","assets/ts-tags-Ls60c9xG.js","assets/twig-D9-LOF2p.js","assets/typst-DamkJZ1Q.js","assets/bat-CickPsom.js","assets/bibtex-CHM0blh-.js","assets/jsonc-Des-eS-w.js","assets/log-2UxHyX5q.js","assets/powershell-Dd0kTxKP.js","assets/swift-C2oV4EkX.js","assets/verilog-nZwndyjY.js","assets/system-verilog-0hqHdDBg.js","assets/vue-DSqPwMUe.js","assets/vue-html-AaS7Mt5G.js","assets/vue-vine-C0RcJ6UU.js","assets/stylus-BEDo0Tqx.js","assets/dagre-GXQ25YYZ-DGjjfS3r.js","assets/layout-CUPJrCbg.js","assets/cose-bilkent-JH36ORCC-0bcWM-Kb.js","assets/cytoscape.esm-BDkkwuE4.js","assets/c4Diagram-7LVT6UL2-DndY0BSq.js","assets/chunk-F27PBJKO-dJNMvdyv.js","assets/flowDiagram-HODETNUW-oQI1I7d_.js","assets/chunk-5VM5RSS4-BhIBf8_r.js","assets/chunk-XXDRQBXY-CDxADcjM.js","assets/chunk-POPQ4Y6H-BIYuA4wp.js","assets/channel-DY5YiWiz.js","assets/swimlanesDiagram-VR7AAH4N-CMme7rlS.js","assets/erDiagram-RLTQ6QDP-DJihq6vQ.js","assets/gitGraphDiagram-WWUBYQGX-xVnsKMuN.js","assets/chunk-2Q5K7J3B-D1m9_EXZ.js","assets/chunk-JWPE2WC7-Lv2kYUK6.js","assets/cynefin-OW5HDTMX-8MEtijdt.js","assets/ganttDiagram-EL5Y4UJY-bgToJYcR.js","assets/linear-CII0x-d9.js","assets/init-Gi6I4Gst.js","assets/defaultLocale-DX6XiGOO.js","assets/infoDiagram-27XIBGKW-BMAjnK3g.js","assets/pieDiagram-E7YTZNPT-B130SP36.js","assets/arc-BfT_ObJl.js","assets/ordinal-Cboi1Yqb.js","assets/quadrantDiagram-AXDQQJYC-WJdAbGdI.js","assets/xychartDiagram-S5SC5T6Z-BPS939el.js","assets/requirementDiagram-BXWQKSXE-BCwOEVf2.js","assets/sequenceDiagram-WJ2MYXX4-CVNkeGxk.js","assets/classDiagram-ZZMXUADV-CqqArcQH.js","assets/chunk-TICWLB2K-CfIETJY-.js","assets/classDiagram-v2-VYDZK3BY-CqqArcQH.js","assets/stateDiagram-D77RDMKH-BXl_44CS.js","assets/chunk-IMKFNOWR-DgU7bzoT.js","assets/stateDiagram-v2-MP3YSRHH-B6Ocr83t.js","assets/journeyDiagram-3NMN7TZE-Bm3s7CxV.js","assets/timeline-definition-24CTP7MA-DPj_1tiR.js","assets/mindmap-definition-YA3MSWOX-t-OCVnG7.js","assets/kanban-definition-UXKFOSKX-wN25TjIt.js","assets/sankeyDiagram-P5KCCOFB-WZ7QJHcc.js","assets/diagram-Z3DM3KII-BP-C0VlN.js","assets/diagram-UQ7AKVKN-wMr5KidC.js","assets/blockDiagram-I7D4REHJ-gs0pS4Pu.js","assets/diagram-S7CK7UJ4-CxmbNpJp.js","assets/architectureDiagram-5GKGNRK7-BSAmaM66.js","assets/diagram-VSXAHHWV-Ctn6KmCs.js","assets/diagram-VX7I27RA-DIAY_rBa.js","assets/wardleyDiagram-VM6X3IG4-lp9tl8ql.js","assets/cynefinDiagram-5FMLGOSQ-BqhG1OLj.js","assets/railroadDiagram-O6MQD6OU-DyIASQMx.js","assets/chunk-SVP7TREG-Diaa6DCx.js","assets/ebnfDiagram-PWID7BFC-CuETSBu4.js","assets/abnfDiagram-VCTEODGH-DvAFvtUx.js","assets/pegDiagram-XKGWAZYB-BHUmUuNy.js"])))=>i.map(i=>d[i]);
2
2
  (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const s of a.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&n(s)}).observe(document,{childList:!0,subtree:!0});function r(i){const a={};return i.integrity&&(a.integrity=i.integrity),i.referrerPolicy&&(a.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?a.credentials="include":i.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function n(i){if(i.ep)return;i.ep=!0;const a=r(i);fetch(i.href,a)}})();function I2(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Cv={exports:{}},sp={};var E9;function Hee(){if(E9)return sp;E9=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function r(n,i,a){var s=null;if(a!==void 0&&(s=""+a),i.key!==void 0&&(s=""+i.key),"key"in i){a={};for(var l in i)l!=="key"&&(a[l]=i[l])}else a=i;return i=a.ref,{$$typeof:e,type:n,key:s,ref:i!==void 0?i:null,props:a}}return sp.Fragment=t,sp.jsx=r,sp.jsxs=r,sp}var A9;function Uee(){return A9||(A9=1,Cv.exports=Hee()),Cv.exports}var C=Uee(),Tv={exports:{}},qt={};var L9;function qee(){if(L9)return qt;L9=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),a=Symbol.for("react.consumer"),s=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),h=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),f=Symbol.for("react.activity"),m=Symbol.for("react.view_transition"),y=Symbol.iterator;function b(Z){return Z===null||typeof Z!="object"?null:(Z=y&&Z[y]||Z["@@iterator"],typeof Z=="function"?Z:null)}var v={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},k=Object.assign,w={};function _(Z,pe,ce){this.props=Z,this.context=pe,this.refs=w,this.updater=ce||v}_.prototype.isReactComponent={},_.prototype.setState=function(Z,pe){if(typeof Z!="object"&&typeof Z!="function"&&Z!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,Z,pe,"setState")},_.prototype.forceUpdate=function(Z){this.updater.enqueueForceUpdate(this,Z,"forceUpdate")};function S(){}S.prototype=_.prototype;function N(Z,pe,ce){this.props=Z,this.context=pe,this.refs=w,this.updater=ce||v}var O=N.prototype=new S;O.constructor=N,k(O,_.prototype),O.isPureReactComponent=!0;var I=Array.isArray;function P(){}var D={H:null,A:null,T:null,S:null},re=Object.prototype.hasOwnProperty;function G(Z,pe,ce){var Oe=ce.ref;return{$$typeof:e,type:Z,key:pe,ref:Oe!==void 0?Oe:null,props:ce}}function J(Z,pe){return G(Z.type,pe,Z.props)}function se(Z){return typeof Z=="object"&&Z!==null&&Z.$$typeof===e}function fe(Z){var pe={"=":"=0",":":"=2"};return"$"+Z.replace(/[=:]/g,function(ce){return pe[ce]})}var ie=/\/+/g;function z(Z,pe){return typeof Z=="object"&&Z!==null&&Z.key!=null?fe(""+Z.key):pe.toString(36)}function F(Z){switch(Z.status){case"fulfilled":return Z.value;case"rejected":throw Z.reason;default:switch(typeof Z.status=="string"?Z.then(P,P):(Z.status="pending",Z.then(function(pe){Z.status==="pending"&&(Z.status="fulfilled",Z.value=pe)},function(pe){Z.status==="pending"&&(Z.status="rejected",Z.reason=pe)})),Z.status){case"fulfilled":return Z.value;case"rejected":throw Z.reason}}throw Z}function Q(Z,pe,ce,Oe,tt){var Ae=typeof Z;(Ae==="undefined"||Ae==="boolean")&&(Z=null);var Ze=!1;if(Z===null)Ze=!0;else switch(Ae){case"bigint":case"string":case"number":Ze=!0;break;case"object":switch(Z.$$typeof){case e:case t:Ze=!0;break;case d:return Ze=Z._init,Q(Ze(Z._payload),pe,ce,Oe,tt)}}if(Ze)return tt=tt(Z),Ze=Oe===""?"."+z(Z,0):Oe,I(tt)?(ce="",Ze!=null&&(ce=Ze.replace(ie,"$&/")+"/"),Q(tt,pe,ce,"",function(Wt){return Wt})):tt!=null&&(se(tt)&&(tt=J(tt,ce+(tt.key==null||Z&&Z.key===tt.key?"":(""+tt.key).replace(ie,"$&/")+"/")+Ze)),pe.push(tt)),1;Ze=0;var Ye=Oe===""?".":Oe+":";if(I(Z))for(var rt=0;rt<Z.length;rt++)Oe=Z[rt],Ae=Ye+z(Oe,rt),Ze+=Q(Oe,pe,ce,Ae,tt);else if(rt=b(Z),typeof rt=="function")for(Z=rt.call(Z),rt=0;!(Oe=Z.next()).done;)Oe=Oe.value,Ae=Ye+z(Oe,rt++),Ze+=Q(Oe,pe,ce,Ae,tt);else if(Ae==="object"){if(typeof Z.then=="function")return Q(F(Z),pe,ce,Oe,tt);throw pe=String(Z),Error("Objects are not valid as a React child (found: "+(pe==="[object Object]"?"object with keys {"+Object.keys(Z).join(", ")+"}":pe)+"). If you meant to render a collection of children, use an array instead.")}return Ze}function K(Z,pe,ce){if(Z==null)return Z;var Oe=[],tt=0;return Q(Z,Oe,"","",function(Ae){return pe.call(ce,Ae,tt++)}),Oe}function me(Z){if(Z._status===-1){var pe=Z._result,ce=pe();ce.then(function(Oe){(Z._status===0||Z._status===-1)&&(Z._status=1,Z._result=Oe,ce.status===void 0&&(ce.status="fulfilled",ce.value=Oe))},function(Oe){(Z._status===0||Z._status===-1)&&(Z._status=2,Z._result=Oe,ce.status===void 0&&(ce.status="rejected",ce.reason=Oe))}),Z._status===-1&&(Z._status=0,Z._result=ce)}if(Z._status===1)return Z._result.default;throw Z._result}var $=typeof reportError=="function"?reportError:function(Z){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var pe=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof Z=="object"&&Z!==null&&typeof Z.message=="string"?String(Z.message):String(Z),error:Z});if(!window.dispatchEvent(pe))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",Z);return}console.error(Z)};function Re(Z){var pe=D.T,ce={};ce.types=pe!==null?pe.types:null,D.T=ce;try{var Oe=Z(),tt=D.S;tt!==null&&tt(ce,Oe),typeof Oe=="object"&&Oe!==null&&typeof Oe.then=="function"&&Oe.then(P,$)}catch(Ae){$(Ae)}finally{pe!==null&&ce.types!==null&&(pe.types=ce.types),D.T=pe}}function Ge(Z){var pe=D.T;if(pe!==null){var ce=pe.types;ce===null?pe.types=[Z]:ce.indexOf(Z)===-1&&ce.push(Z)}else Re(Ge.bind(null,Z))}var W={map:K,forEach:function(Z,pe,ce){K(Z,function(){pe.apply(this,arguments)},ce)},count:function(Z){var pe=0;return K(Z,function(){pe++}),pe},toArray:function(Z){return K(Z,function(pe){return pe})||[]},only:function(Z){if(!se(Z))throw Error("React.Children.only expected to receive a single React element child.");return Z}};return qt.Activity=f,qt.Children=W,qt.Component=_,qt.Fragment=r,qt.Profiler=i,qt.PureComponent=N,qt.StrictMode=n,qt.Suspense=u,qt.ViewTransition=m,qt.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=D,qt.__COMPILER_RUNTIME={__proto__:null,c:function(Z){return D.H.useMemoCache(Z)}},qt.addTransitionType=Ge,qt.cache=function(Z){return function(){return Z.apply(null,arguments)}},qt.cacheSignal=function(){return null},qt.cloneElement=function(Z,pe,ce){if(Z==null)throw Error("The argument must be a React element, but you passed "+Z+".");var Oe=k({},Z.props),tt=Z.key;if(pe!=null)for(Ae in pe.key!==void 0&&(tt=""+pe.key),pe)!re.call(pe,Ae)||Ae==="key"||Ae==="__self"||Ae==="__source"||Ae==="ref"&&pe.ref===void 0||(Oe[Ae]=pe[Ae]);var Ae=arguments.length-2;if(Ae===1)Oe.children=ce;else if(1<Ae){for(var Ze=Array(Ae),Ye=0;Ye<Ae;Ye++)Ze[Ye]=arguments[Ye+2];Oe.children=Ze}return G(Z.type,tt,Oe)},qt.createContext=function(Z){return Z={$$typeof:s,_currentValue:Z,_currentValue2:Z,_threadCount:0,Provider:null,Consumer:null},Z.Provider=Z,Z.Consumer={$$typeof:a,_context:Z},Z},qt.createElement=function(Z,pe,ce){var Oe,tt={},Ae=null;if(pe!=null)for(Oe in pe.key!==void 0&&(Ae=""+pe.key),pe)re.call(pe,Oe)&&Oe!=="key"&&Oe!=="__self"&&Oe!=="__source"&&(tt[Oe]=pe[Oe]);var Ze=arguments.length-2;if(Ze===1)tt.children=ce;else if(1<Ze){for(var Ye=Array(Ze),rt=0;rt<Ze;rt++)Ye[rt]=arguments[rt+2];tt.children=Ye}if(Z&&Z.defaultProps)for(Oe in Ze=Z.defaultProps,Ze)tt[Oe]===void 0&&(tt[Oe]=Ze[Oe]);return G(Z,Ae,tt)},qt.createRef=function(){return{current:null}},qt.forwardRef=function(Z){return{$$typeof:l,render:Z}},qt.isValidElement=se,qt.lazy=function(Z){return{$$typeof:d,_payload:{_status:-1,_result:Z},_init:me}},qt.memo=function(Z,pe){return{$$typeof:h,type:Z,compare:pe===void 0?null:pe}},qt.startTransition=Re,qt.unstable_useCacheRefresh=function(){return D.H.useCacheRefresh()},qt.use=function(Z){return D.H.use(Z)},qt.useActionState=function(Z,pe,ce){return D.H.useActionState(Z,pe,ce)},qt.useCallback=function(Z,pe){return D.H.useCallback(Z,pe)},qt.useContext=function(Z){return D.H.useContext(Z)},qt.useDebugValue=function(){},qt.useDeferredValue=function(Z,pe){return D.H.useDeferredValue(Z,pe)},qt.useEffect=function(Z,pe){return D.H.useEffect(Z,pe)},qt.useEffectEvent=function(Z){return D.H.useEffectEvent(Z)},qt.useId=function(){return D.H.useId()},qt.useImperativeHandle=function(Z,pe,ce){return D.H.useImperativeHandle(Z,pe,ce)},qt.useInsertionEffect=function(Z,pe){return D.H.useInsertionEffect(Z,pe)},qt.useLayoutEffect=function(Z,pe){return D.H.useLayoutEffect(Z,pe)},qt.useMemo=function(Z,pe){return D.H.useMemo(Z,pe)},qt.useOptimistic=function(Z,pe){return D.H.useOptimistic(Z,pe)},qt.useReducer=function(Z,pe,ce){return D.H.useReducer(Z,pe,ce)},qt.useRef=function(Z){return D.H.useRef(Z)},qt.useState=function(Z){return D.H.useState(Z)},qt.useSyncExternalStore=function(Z,pe,ce){return D.H.useSyncExternalStore(Z,pe,ce)},qt.useTransition=function(){return D.H.useTransition()},qt.version="19.3.1",qt}var N9;function H6(){return N9||(N9=1,Tv.exports=qee()),Tv.exports}var U=H6(),kv={exports:{}},op={},wv={exports:{}},_v={};var M9;function Vee(){return M9||(M9=1,(function(e){function t(F,Q){var K=F.length;F.push(Q);e:for(;0<K;){var me=K-1>>>1,$=F[me];if(0<i($,Q))F[me]=Q,F[K]=$,K=me;else break e}}function r(F){return F.length===0?null:F[0]}function n(F){if(F.length===0)return null;var Q=F[0],K=F.pop();if(K!==Q){F[0]=K;e:for(var me=0,$=F.length,Re=$>>>1;me<Re;){var Ge=2*(me+1)-1,W=F[Ge],Z=Ge+1,pe=F[Z];if(0>i(W,K))Z<$&&0>i(pe,W)?(F[me]=pe,F[Z]=K,me=Z):(F[me]=W,F[Ge]=K,me=Ge);else if(Z<$&&0>i(pe,K))F[me]=pe,F[Z]=K,me=Z;else break e}}return Q}function i(F,Q){var K=F.sortIndex-Q.sortIndex;return K!==0?K:F.id-Q.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var s=Date,l=s.now();e.unstable_now=function(){return s.now()-l}}var u=[],h=[],d=1,f=null,m=3,y=!1,b=!1,v=!1,k=!1,w=typeof setTimeout=="function"?setTimeout:null,_=typeof clearTimeout=="function"?clearTimeout:null,S=typeof setImmediate<"u"?setImmediate:null;function N(F){for(var Q=r(h);Q!==null;){if(Q.callback===null)n(h);else if(Q.startTime<=F)n(h),Q.sortIndex=Q.expirationTime,t(u,Q);else break;Q=r(h)}}function O(F){if(v=!1,N(F),!b)if(r(u)!==null)b=!0,I||(I=!0,se());else{var Q=r(h);Q!==null&&z(O,Q.startTime-F)}}var I=!1,P=-1,D=5,re=-1;function G(){return k?!0:!(e.unstable_now()-re<D)}function J(){if(k=!1,I){var F=e.unstable_now();re=F;var Q=!0;try{e:{b=!1,v&&(v=!1,_(P),P=-1),y=!0;var K=m;try{t:{for(N(F),f=r(u);f!==null&&!(f.expirationTime>F&&G());){var me=f.callback;if(typeof me=="function"){f.callback=null,m=f.priorityLevel;var $=me(f.expirationTime<=F);if(F=e.unstable_now(),typeof $=="function"){f.callback=$,N(F),Q=!0;break t}f===r(u)&&n(u),N(F)}else n(u);f=r(u)}if(f!==null)Q=!0;else{var Re=r(h);Re!==null&&z(O,Re.startTime-F),Q=!1}}break e}finally{f=null,m=K,y=!1}Q=void 0}}finally{Q?se():I=!1}}}var se;if(typeof S=="function")se=function(){S(J)};else if(typeof MessageChannel<"u"){var fe=new MessageChannel,ie=fe.port2;fe.port1.onmessage=J,se=function(){ie.postMessage(null)}}else se=function(){w(J,0)};function z(F,Q){P=w(function(){F(e.unstable_now())},Q)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(F){F.callback=null},e.unstable_forceFrameRate=function(F){0>F||125<F?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):D=0<F?Math.floor(1e3/F):5},e.unstable_getCurrentPriorityLevel=function(){return m},e.unstable_next=function(F){switch(m){case 1:case 2:case 3:var Q=3;break;default:Q=m}var K=m;m=Q;try{return F()}finally{m=K}},e.unstable_requestPaint=function(){k=!0},e.unstable_runWithPriority=function(F,Q){switch(F){case 1:case 2:case 3:case 4:case 5:break;default:F=3}var K=m;m=F;try{return Q()}finally{m=K}},e.unstable_scheduleCallback=function(F,Q,K){var me=e.unstable_now();switch(typeof K=="object"&&K!==null?(K=K.delay,K=typeof K=="number"&&0<K?me+K:me):K=me,F){case 1:var $=-1;break;case 2:$=250;break;case 5:$=1073741823;break;case 4:$=1e4;break;default:$=5e3}return $=K+$,F={id:d++,callback:Q,priorityLevel:F,startTime:K,expirationTime:$,sortIndex:-1},K>me?(F.sortIndex=K,t(h,F),r(u)===null&&F===r(h)&&(v?(_(P),P=-1):v=!0,z(O,K-me))):(F.sortIndex=$,t(u,F),b||y||(b=!0,I||(I=!0,se()))),F},e.unstable_shouldYield=G,e.unstable_wrapCallback=function(F){var Q=m;return function(){var K=m;m=Q;try{return F.apply(this,arguments)}finally{m=K}}}})(_v)),_v}var B9;function Gee(){return B9||(B9=1,wv.exports=Vee()),wv.exports}var Sv={exports:{}},fi={};var R9;function Wee(){if(R9)return fi;R9=1;var e=H6();function t(d){var f="https://react.dev/errors/"+d;if(1<arguments.length){f+="?args[]="+encodeURIComponent(arguments[1]);for(var m=2;m<arguments.length;m++)f+="&args[]="+encodeURIComponent(arguments[m])}return"Minified React error #"+d+"; visit "+f+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function r(){}var n={d:{f:r,r:function(){throw Error(t(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},i=Symbol.for("react.portal"),a=Symbol.for("react.recoverable"),s=Symbol.for("react.optimistic_key");function l(d,f,m){var y=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:i,key:y==null?null:y===s?s:""+y,children:d,containerInfo:f,implementation:m}}var u=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function h(d,f){if(d==="font")return"";if(typeof f=="string")return f==="use-credentials"?f:""}return fi.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=n,fi.browser=function(d){return{$$typeof:a,_reason:d}},fi.createPortal=function(d,f){var m=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!f||f.nodeType!==1&&f.nodeType!==9&&f.nodeType!==11)throw Error(t(299));return l(d,f,null,m)},fi.flushSync=function(d){var f=u.T,m=n.p;try{if(u.T=null,n.p=2,d)return d()}finally{u.T=f,n.p=m,n.d.f()}},fi.preconnect=function(d,f){typeof d=="string"&&(f?(f=f.crossOrigin,f=typeof f=="string"?f==="use-credentials"?f:"":void 0):f=null,n.d.C(d,f))},fi.prefetchDNS=function(d){typeof d=="string"&&n.d.D(d)},fi.preinit=function(d,f){if(typeof d=="string"&&f&&typeof f.as=="string"){var m=f.as,y=h(m,f.crossOrigin),b=typeof f.integrity=="string"?f.integrity:void 0,v=typeof f.fetchPriority=="string"?f.fetchPriority:void 0;m==="style"?n.d.S(d,typeof f.precedence=="string"?f.precedence:void 0,{crossOrigin:y,integrity:b,fetchPriority:v}):m==="script"&&n.d.X(d,{crossOrigin:y,integrity:b,fetchPriority:v,nonce:typeof f.nonce=="string"?f.nonce:void 0})}},fi.preinitModule=function(d,f){if(typeof d=="string")if(typeof f=="object"&&f!==null){if(f.as==null||f.as==="script"){var m=h(f.as,f.crossOrigin);n.d.M(d,{crossOrigin:m,integrity:typeof f.integrity=="string"?f.integrity:void 0,nonce:typeof f.nonce=="string"?f.nonce:void 0,fetchPriority:typeof f.fetchPriority=="string"?f.fetchPriority:void 0})}}else f==null&&n.d.M(d)},fi.preload=function(d,f){if(typeof d=="string"&&typeof f=="object"&&f!==null&&typeof f.as=="string"){var m=f.as,y=h(m,f.crossOrigin);n.d.L(d,m,{crossOrigin:y,integrity:typeof f.integrity=="string"?f.integrity:void 0,nonce:typeof f.nonce=="string"?f.nonce:void 0,type:typeof f.type=="string"?f.type:void 0,fetchPriority:typeof f.fetchPriority=="string"?f.fetchPriority:void 0,referrerPolicy:typeof f.referrerPolicy=="string"?f.referrerPolicy:void 0,imageSrcSet:typeof f.imageSrcSet=="string"?f.imageSrcSet:void 0,imageSizes:typeof f.imageSizes=="string"?f.imageSizes:void 0,media:typeof f.media=="string"?f.media:void 0})}},fi.preloadModule=function(d,f){if(typeof d=="string")if(f){var m=h(f.as,f.crossOrigin);n.d.m(d,{as:typeof f.as=="string"&&f.as!=="script"?f.as:void 0,crossOrigin:m,integrity:typeof f.integrity=="string"?f.integrity:void 0,nonce:typeof f.nonce=="string"?f.nonce:void 0,fetchPriority:typeof f.fetchPriority=="string"?f.fetchPriority:void 0})}else n.d.m(d)},fi.requestFormReset=function(d){n.d.r(d)},fi.unstable_batchedUpdates=function(d,f){return d(f)},fi.useFormState=function(d,f,m){return u.H.useFormState(d,f,m)},fi.useFormStatus=function(){return u.H.useHostTransitionStatus()},fi.version="19.3.1",fi}var O9;function gP(){if(O9)return Sv.exports;O9=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),Sv.exports=Wee(),Sv.exports}var D9;function Yee(){if(D9)return op;D9=1;var e=Gee(),t=H6(),r=gP();function n(o){var c="https://react.dev/errors/"+o;if(1<arguments.length){c+="?args[]="+encodeURIComponent(arguments[1]);for(var p=2;p<arguments.length;p++)c+="&args[]="+encodeURIComponent(arguments[p])}return"Minified React error #"+o+"; visit "+c+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function i(o){return!(!o||o.nodeType!==1&&o.nodeType!==9&&o.nodeType!==11)}function a(o){for(var c=o,p=c;p&&!p.alternate;)c=p,(c.flags&4098)!==0&&(o=c.return),p=c.return;for(;c.return;)c=c.return;return c.tag===3?o:null}function s(o){if(o.tag===13){var c=o.memoizedState;if(c===null&&(o=o.alternate,o!==null&&(c=o.memoizedState)),c!==null)return c.dehydrated}return null}function l(o){if(o.tag===31){var c=o.memoizedState;if(c===null&&(o=o.alternate,o!==null&&(c=o.memoizedState)),c!==null)return c.dehydrated}return null}function u(o){if(a(o)!==o)throw Error(n(188))}function h(o){var c=o.alternate;if(!c){if(c=a(o),c===null)throw Error(n(188));return c!==o?null:o}for(var p=o,g=c;;){var x=p.return;if(x===null)break;var T=x.alternate;if(T===null){if(g=x.return,g!==null){p=g;continue}break}if(x.child===T.child){for(T=x.child;T;){if(T===p)return u(x),o;if(T===g)return u(x),c;T=T.sibling}throw Error(n(188))}if(p.return!==g.return)p=x,g=T;else{for(var B=!1,q=x.child;q;){if(q===p){B=!0,p=x,g=T;break}if(q===g){B=!0,g=x,p=T;break}q=q.sibling}if(!B){for(q=T.child;q;){if(q===p){B=!0,p=T,g=x;break}if(q===g){B=!0,g=T,p=x;break}q=q.sibling}if(!B)throw Error(n(189))}}if(p.alternate!==g)throw Error(n(190))}if(p.tag!==3)throw Error(n(188));return p.stateNode.current===p?o:c}function d(o){var c=o.tag;if(c===5||c===26||c===27||c===6)return o;for(o=o.child;o!==null;){if(c=d(o),c!==null)return c;o=o.sibling}return null}function f(o,c,p,g,x,T){for(;o!==null;){if((o.tag===5||o.tag===27||o.tag===6)&&p(o,g,x,T)||(o.tag!==22||o.memoizedState===null)&&(c||o.tag!==5&&o.tag!==27)&&f(o.child,c,p,g,x,T))return!0;o=o.sibling}return!1}function m(o){for(o=o.return;o!==null;){if(o.tag===3||o.tag===5||o.tag===27)return o;o=o.return}return null}function y(o){var c=!1;for(o=o.return;o!==null&&(o.tag===4&&(c=!0),!(o.tag===3||o.tag===5||o.tag===27));)o=o.return;return c}function b(o){var c=[null,null],p=m(o);return p===null||v(c,o,p.child,{foundSelf:!1}),c}function v(o,c,p,g){for(;p!==null;){if(p===c)g.foundSelf=!0;else if(p.tag===5||p.tag===27||p.tag===6){if(g.foundSelf)return o[1]=p,!0;o[0]=p}else if((p.tag!==22||p.memoizedState===null)&&v(o,c,p.child,g))return!0;p=p.sibling}return!1}function k(o){switch(o.tag){case 5:case 27:case 6:return o.stateNode;case 3:return o.stateNode.containerInfo;default:throw Error(n(559))}}var w=null,_=null;function S(o,c,p){return o===p?!0:o===c?(w=o,!0):!1}function N(o,c,p){return o===p?(_=o,!1):o===c?(_!==null&&(w=o),!0):!1}function O(o){if(o===null)return null;do o=o===null?null:o.return;while(o&&o.tag!==5&&o.tag!==27&&o.tag!==3);return o||null}function I(o,c,p){for(var g=0,x=o;x;x=p(x))g++;x=0;for(var T=c;T;T=p(T))x++;for(;0<g-x;)o=p(o),g--;for(;0<x-g;)c=p(c),x--;for(;g--;){if(o===c||c!==null&&o===c.alternate)return o;o=p(o),c=p(c)}return null}var P=Object.assign,D=Symbol.for("react.element"),re=Symbol.for("react.transitional.element"),G=Symbol.for("react.portal"),J=Symbol.for("react.fragment"),se=Symbol.for("react.strict_mode"),fe=Symbol.for("react.profiler"),ie=Symbol.for("react.consumer"),z=Symbol.for("react.context"),F=Symbol.for("react.forward_ref"),Q=Symbol.for("react.suspense"),K=Symbol.for("react.suspense_list"),me=Symbol.for("react.memo"),$=Symbol.for("react.lazy"),Re=Symbol.for("react.activity"),Ge=Symbol.for("react.legacy_hidden"),W=Symbol.for("react.memo_cache_sentinel"),Z=Symbol.for("react.view_transition"),pe=Symbol.for("react.recoverable"),ce=Symbol.iterator;function Oe(o){return o===null||typeof o!="object"?null:(o=ce&&o[ce]||o["@@iterator"],typeof o=="function"?o:null)}var tt=Symbol.for("react.client.reference");function Ae(o){if(o==null)return null;if(typeof o=="function")return o.$$typeof===tt?null:o.displayName||o.name||null;if(typeof o=="string")return o;switch(o){case J:return"Fragment";case fe:return"Profiler";case se:return"StrictMode";case Q:return"Suspense";case K:return"SuspenseList";case Re:return"Activity";case Z:return"ViewTransition"}if(typeof o=="object")switch(o.$$typeof){case G:return"Portal";case z:return o.displayName||"Context";case ie:return(o._context.displayName||"Context")+".Consumer";case F:var c=o.render;return o=o.displayName,o||(o=c.displayName||c.name||"",o=o!==""?"ForwardRef("+o+")":"ForwardRef"),o;case me:return c=o.displayName||null,c!==null?c:Ae(o.type)||"Memo";case $:c=o._payload,o=o._init;try{return Ae(o(c))}catch{}}return null}var Ze=Array.isArray,Ye=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,rt=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Wt={pending:!1,data:null,method:null,action:null},xr=[],Xr=-1;function It(o){return{current:o}}function Yt(o){0>Xr||(o.current=xr[Xr],xr[Xr]=null,Xr--)}function Ct(o,c){Xr++,xr[Xr]=o.current,o.current=c}var Tr=It(null),er=It(null),kr=It(null),bn=It(null);function gr(o,c){switch(Ct(kr,c),Ct(er,o),Ct(Tr,null),c.nodeType){case 9:case 11:o=(o=c.documentElement)&&(o=o.namespaceURI)?IA(o):0;break;default:if(o=c.tagName,c=c.namespaceURI)c=IA(c),o=PA(c,o);else switch(o){case"svg":o=1;break;case"math":o=2;break;default:o=0}}Yt(Tr),Ct(Tr,o)}function Kr(){Yt(Tr),Yt(er),Yt(kr)}function un(o){var c=o.memoizedState;c!==null&&(bd._currentValue=c.memoizedState,Ct(bn,o)),c=Tr.current;var p=PA(c,o.type);c!==p&&(Ct(er,o),Ct(Tr,p))}function xt(o){er.current===o&&(Yt(Tr),Yt(er)),bn.current===o&&(Yt(bn),bd._currentValue=Wt)}var we,E;function oe(o){if(we===void 0)try{throw Error()}catch(p){var c=p.stack.trim().match(/\n( *(at )?)/);we=c&&c[1]||"",E=-1<p.stack.indexOf(`
3
3
  at`)?" (<anonymous>)":-1<p.stack.indexOf("@")?"@unknown:0:0":""}return`
4
4
  `+we+o+E}var be=!1;function Be(o,c){if(!o||be)return"";be=!0;var p=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var g={DetermineComponentFrameRoot:function(){try{if(c){var Ve=function(){throw Error()};if(Object.defineProperty(Ve.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(Ve,[])}catch(ft){var ve=ft}Reflect.construct(o,[],Ve)}else{try{Ve.call()}catch(ft){ve=ft}Ve=!1;try{var Ne=Object.getOwnPropertyDescriptor(o.prototype,"props");Object.defineProperty(o.prototype,"props",{configurable:!0,set:function(){throw Error()}}),Ve=!0,new o}finally{Ve&&(Ne!==void 0?Object.defineProperty(o.prototype,"props",Ne):delete o.prototype.props)}}}else{try{throw Error()}catch(ft){ve=ft}(Ve=o())&&typeof Ve.catch=="function"&&Ve.catch(function(){})}}catch(ft){if(ft&&ve&&typeof ft.stack=="string")return[ft.stack,ve.stack]}return[null,null]}};g.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var x=Object.getOwnPropertyDescriptor(g.DetermineComponentFrameRoot,"name");x&&x.configurable&&Object.defineProperty(g.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var T=g.DetermineComponentFrameRoot(),B=T[0],q=T[1];if(B&&q){var le=B.split(`
@@ -706,7 +706,7 @@ ${a.join(`
706
706
  L0,20`)},"requirement_arrow"),Lxe=L((e,t,r)=>{const n=sn(),{themeVariables:i}=n,{strokeWidth:a}=i;e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("stroke-width",`${a}`).attr("viewBox","0 0 25 20").append("path").attr("d",`M0,0
707
707
  L20,10
708
708
  M20,10
709
- L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),Nxe=L((e,t,r)=>{const n=e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");n.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),n.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),n.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),Mxe=L((e,t,r)=>{const n=sn(),{themeVariables:i}=n,{strokeWidth:a}=i,s=e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");s.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),s.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),s.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),s.selectAll("*").attr("stroke-width",`${a}`)},"requirement_contains_neo"),Bxe={extension:cxe,composition:hxe,aggregation:dxe,dependency:fxe,lollipop:pxe,point:mxe,circle:gxe,cross:yxe,barb:bxe,barbNeo:xxe,only_one:vxe,zero_or_one:Cxe,one_or_more:Txe,zero_or_more:kxe,only_one_neo:wxe,zero_or_one_neo:_xe,one_or_more_neo:Sxe,zero_or_more_neo:Exe,requirement_arrow:Axe,requirement_contains:Nxe,requirement_arrow_neo:Lxe,requirement_contains_neo:Mxe},NV=uxe,MV=typeof global=="object"&&global&&global.Object===Object&&global,Rxe=typeof self=="object"&&self&&self.Object===Object&&self,xl=MV||Rxe||Function("return this")(),mo=xl.Symbol,BV=Object.prototype,Oxe=BV.hasOwnProperty,Dxe=BV.toString,Cp=mo?mo.toStringTag:void 0;function Ixe(e){var t=Oxe.call(e,Cp),r=e[Cp];try{e[Cp]=void 0;var n=!0}catch{}var i=Dxe.call(e);return n&&(t?e[Cp]=r:delete e[Cp]),i}var Pxe=Object.prototype,Fxe=Pxe.toString;function $xe(e){return Fxe.call(e)}var zxe="[object Null]",jxe="[object Undefined]",RB=mo?mo.toStringTag:void 0;function X0(e){return e==null?e===void 0?jxe:zxe:RB&&RB in Object(e)?Ixe(e):$xe(e)}function dh(e){return e!=null&&typeof e=="object"}var Hxe="[object Symbol]";function L_(e){return typeof e=="symbol"||dh(e)&&X0(e)==Hxe}function RV(e,t){for(var r=-1,n=e==null?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}var ha=Array.isArray,OB=mo?mo.prototype:void 0,DB=OB?OB.toString:void 0;function OV(e){if(typeof e=="string")return e;if(ha(e))return RV(e,OV)+"";if(L_(e))return DB?DB.call(e):"";var t=e+"";return t=="0"&&1/e==-1/0?"-0":t}function N_(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}function Ax(e){return e}var Uxe="[object AsyncFunction]",qxe="[object Function]",Vxe="[object GeneratorFunction]",Gxe="[object Proxy]";function h2(e){if(!N_(e))return!1;var t=X0(e);return t==qxe||t==Vxe||t==Uxe||t==Gxe}var FC=xl["__core-js_shared__"],IB=(function(){var e=/[^.]+$/.exec(FC&&FC.keys&&FC.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""})();function Wxe(e){return!!IB&&IB in e}var Yxe=Function.prototype,Xxe=Yxe.toString;function _h(e){if(e!=null){try{return Xxe.call(e)}catch{}try{return e+""}catch{}}return""}var Kxe=/[\\^$.*+?()[\]{}|]/g,Qxe=/^\[object .+?Constructor\]$/,Zxe=Function.prototype,Jxe=Object.prototype,e3e=Zxe.toString,t3e=Jxe.hasOwnProperty,r3e=RegExp("^"+e3e.call(t3e).replace(Kxe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function n3e(e){if(!N_(e)||Wxe(e))return!1;var t=h2(e)?r3e:Qxe;return t.test(_h(e))}function i3e(e,t){return e?.[t]}function Sh(e,t){var r=i3e(e,t);return n3e(r)?r:void 0}var Nk=Sh(xl,"WeakMap");function a3e(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}function s3e(){}var o3e=800,l3e=16,u3e=Date.now;function c3e(e){var t=0,r=0;return function(){var n=u3e(),i=l3e-(n-r);if(r=n,i>0){if(++t>=o3e)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function Up(e){return function(){return e}}var PB=(function(){try{var e=Sh(Object,"defineProperty");return e({},"",{}),e}catch{}})(),h3e=PB?function(e,t){return PB(e,"toString",{configurable:!0,enumerable:!1,value:Up(t),writable:!0})}:Ax,d3e=c3e(h3e);function f3e(e,t){for(var r=-1,n=e==null?0:e.length;++r<n&&t(e[r],r,e)!==!1;);return e}function p3e(e,t,r,n){for(var i=e.length,a=r+-1;++a<i;)if(t(e[a],a,e))return a;return-1}function m3e(e){return e!==e}function g3e(e,t,r){for(var n=r-1,i=e.length;++n<i;)if(e[n]===t)return n;return-1}function y3e(e,t,r){return t===t?g3e(e,t,r):p3e(e,m3e,r)}function b3e(e,t){var r=e==null?0:e.length;return!!r&&y3e(e,t,0)>-1}var x3e=9007199254740991,v3e=/^(?:0|[1-9]\d*)$/;function DV(e,t){var r=typeof e;return t=t??x3e,!!t&&(r=="number"||r!="symbol"&&v3e.test(e))&&e>-1&&e%1==0&&e<t}function IV(e,t){return e===t||e!==e&&t!==t}var FB=Math.max;function C3e(e,t,r){return t=FB(t===void 0?e.length-1:t,0),function(){for(var n=arguments,i=-1,a=FB(n.length-t,0),s=Array(a);++i<a;)s[i]=n[t+i];i=-1;for(var l=Array(t+1);++i<t;)l[i]=n[i];return l[t]=r(s),a3e(e,this,l)}}function T3e(e,t){return d3e(C3e(e,t,Ax),e+"")}var k3e=9007199254740991;function M_(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=k3e}function Lx(e){return e!=null&&M_(e.length)&&!h2(e)}var w3e=Object.prototype;function PV(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||w3e;return e===r}function _3e(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}var S3e="[object Arguments]";function $B(e){return dh(e)&&X0(e)==S3e}var FV=Object.prototype,E3e=FV.hasOwnProperty,A3e=FV.propertyIsEnumerable,Nx=$B((function(){return arguments})())?$B:function(e){return dh(e)&&E3e.call(e,"callee")&&!A3e.call(e,"callee")};function L3e(){return!1}var $V=typeof exports=="object"&&exports&&!exports.nodeType&&exports,zB=$V&&typeof module=="object"&&module&&!module.nodeType&&module,N3e=zB&&zB.exports===$V,jB=N3e?xl.Buffer:void 0,M3e=jB?jB.isBuffer:void 0,d2=M3e||L3e,B3e="[object Arguments]",R3e="[object Array]",O3e="[object Boolean]",D3e="[object Date]",I3e="[object Error]",P3e="[object Function]",F3e="[object Map]",$3e="[object Number]",z3e="[object Object]",j3e="[object RegExp]",H3e="[object Set]",U3e="[object String]",q3e="[object WeakMap]",V3e="[object ArrayBuffer]",G3e="[object DataView]",W3e="[object Float32Array]",Y3e="[object Float64Array]",X3e="[object Int8Array]",K3e="[object Int16Array]",Q3e="[object Int32Array]",Z3e="[object Uint8Array]",J3e="[object Uint8ClampedArray]",e4e="[object Uint16Array]",t4e="[object Uint32Array]",Qr={};Qr[W3e]=Qr[Y3e]=Qr[X3e]=Qr[K3e]=Qr[Q3e]=Qr[Z3e]=Qr[J3e]=Qr[e4e]=Qr[t4e]=!0;Qr[B3e]=Qr[R3e]=Qr[V3e]=Qr[O3e]=Qr[G3e]=Qr[D3e]=Qr[I3e]=Qr[P3e]=Qr[F3e]=Qr[$3e]=Qr[z3e]=Qr[j3e]=Qr[H3e]=Qr[U3e]=Qr[q3e]=!1;function r4e(e){return dh(e)&&M_(e.length)&&!!Qr[X0(e)]}function n4e(e){return function(t){return e(t)}}var zV=typeof exports=="object"&&exports&&!exports.nodeType&&exports,im=zV&&typeof module=="object"&&module&&!module.nodeType&&module,i4e=im&&im.exports===zV,$C=i4e&&MV.process,HB=(function(){try{var e=im&&im.require&&im.require("util").types;return e||$C&&$C.binding&&$C.binding("util")}catch{}})(),UB=HB&&HB.isTypedArray,B_=UB?n4e(UB):r4e,a4e=Object.prototype,s4e=a4e.hasOwnProperty;function o4e(e,t){var r=ha(e),n=!r&&Nx(e),i=!r&&!n&&d2(e),a=!r&&!n&&!i&&B_(e),s=r||n||i||a,l=s?_3e(e.length,String):[],u=l.length;for(var h in e)(t||s4e.call(e,h))&&!(s&&(h=="length"||i&&(h=="offset"||h=="parent")||a&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||DV(h,u)))&&l.push(h);return l}function l4e(e,t){return function(r){return e(t(r))}}var u4e=l4e(Object.keys,Object),c4e=Object.prototype,h4e=c4e.hasOwnProperty;function jV(e){if(!PV(e))return u4e(e);var t=[];for(var r in Object(e))h4e.call(e,r)&&r!="constructor"&&t.push(r);return t}function ao(e){return Lx(e)?o4e(e):jV(e)}var d4e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,f4e=/^\w*$/;function R_(e,t){if(ha(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||L_(e)?!0:f4e.test(e)||!d4e.test(e)||t!=null&&e in Object(t)}var Nm=Sh(Object,"create");function p4e(){this.__data__=Nm?Nm(null):{},this.size=0}function m4e(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var g4e="__lodash_hash_undefined__",y4e=Object.prototype,b4e=y4e.hasOwnProperty;function x4e(e){var t=this.__data__;if(Nm){var r=t[e];return r===g4e?void 0:r}return b4e.call(t,e)?t[e]:void 0}var v4e=Object.prototype,C4e=v4e.hasOwnProperty;function T4e(e){var t=this.__data__;return Nm?t[e]!==void 0:C4e.call(t,e)}var k4e="__lodash_hash_undefined__";function w4e(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Nm&&t===void 0?k4e:t,this}function fh(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}fh.prototype.clear=p4e;fh.prototype.delete=m4e;fh.prototype.get=x4e;fh.prototype.has=T4e;fh.prototype.set=w4e;function _4e(){this.__data__=[],this.size=0}function Mx(e,t){for(var r=e.length;r--;)if(IV(e[r][0],t))return r;return-1}var S4e=Array.prototype,E4e=S4e.splice;function A4e(e){var t=this.__data__,r=Mx(t,e);if(r<0)return!1;var n=t.length-1;return r==n?t.pop():E4e.call(t,r,1),--this.size,!0}function L4e(e){var t=this.__data__,r=Mx(t,e);return r<0?void 0:t[r][1]}function N4e(e){return Mx(this.__data__,e)>-1}function M4e(e,t){var r=this.__data__,n=Mx(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}function vl(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}vl.prototype.clear=_4e;vl.prototype.delete=A4e;vl.prototype.get=L4e;vl.prototype.has=N4e;vl.prototype.set=M4e;var Mm=Sh(xl,"Map");function B4e(){this.size=0,this.__data__={hash:new fh,map:new(Mm||vl),string:new fh}}function R4e(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}function Bx(e,t){var r=e.__data__;return R4e(t)?r[typeof t=="string"?"string":"hash"]:r.map}function O4e(e){var t=Bx(this,e).delete(e);return this.size-=t?1:0,t}function D4e(e){return Bx(this,e).get(e)}function I4e(e){return Bx(this,e).has(e)}function P4e(e,t){var r=Bx(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}function Cl(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}Cl.prototype.clear=B4e;Cl.prototype.delete=O4e;Cl.prototype.get=D4e;Cl.prototype.has=I4e;Cl.prototype.set=P4e;var F4e="Expected a function";function O_(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(F4e);var r=function(){var n=arguments,i=t?t.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var s=e.apply(this,n);return r.cache=a.set(i,s)||a,s};return r.cache=new(O_.Cache||Cl),r}O_.Cache=Cl;var $4e=500;function z4e(e){var t=O_(e,function(n){return r.size===$4e&&r.clear(),n}),r=t.cache;return t}var j4e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,H4e=/\\(\\)?/g,U4e=z4e(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(j4e,function(r,n,i,a){t.push(i?a.replace(H4e,"$1"):n||r)}),t});function q4e(e){return e==null?"":OV(e)}function HV(e,t){return ha(e)?e:R_(e,t)?[e]:U4e(q4e(e))}function Rx(e){if(typeof e=="string"||L_(e))return e;var t=e+"";return t=="0"&&1/e==-1/0?"-0":t}function UV(e,t){t=HV(t,e);for(var r=0,n=t.length;e!=null&&r<n;)e=e[Rx(t[r++])];return r&&r==n?e:void 0}function V4e(e,t,r){var n=e==null?void 0:UV(e,t);return n===void 0?r:n}function qV(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}var qB=mo?mo.isConcatSpreadable:void 0;function G4e(e){return ha(e)||Nx(e)||!!(qB&&e&&e[qB])}function W4e(e,t,r,n,i){var a=-1,s=e.length;for(r||(r=G4e),i||(i=[]);++a<s;){var l=e[a];r(l)?qV(i,l):n||(i[i.length]=l)}return i}function Y4e(e,t,r,n){var i=-1,a=e==null?0:e.length;for(n&&a&&(r=e[++i]);++i<a;)r=t(r,e[i],i,e);return r}function X4e(){this.__data__=new vl,this.size=0}function K4e(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}function Q4e(e){return this.__data__.get(e)}function Z4e(e){return this.__data__.has(e)}var J4e=200;function eve(e,t){var r=this.__data__;if(r instanceof vl){var n=r.__data__;if(!Mm||n.length<J4e-1)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new Cl(n)}return r.set(e,t),this.size=r.size,this}function cl(e){var t=this.__data__=new vl(e);this.size=t.size}cl.prototype.clear=X4e;cl.prototype.delete=K4e;cl.prototype.get=Q4e;cl.prototype.has=Z4e;cl.prototype.set=eve;function VV(e,t){for(var r=-1,n=e==null?0:e.length,i=0,a=[];++r<n;){var s=e[r];t(s,r,e)&&(a[i++]=s)}return a}function tve(){return[]}var rve=Object.prototype,nve=rve.propertyIsEnumerable,VB=Object.getOwnPropertySymbols,ive=VB?function(e){return e==null?[]:(e=Object(e),VV(VB(e),function(t){return nve.call(e,t)}))}:tve;function ave(e,t,r){var n=t(e);return ha(e)?n:qV(n,r(e))}function GB(e){return ave(e,ao,ive)}var Mk=Sh(xl,"DataView"),Bk=Sh(xl,"Promise"),Jd=Sh(xl,"Set"),WB="[object Map]",sve="[object Object]",YB="[object Promise]",XB="[object Set]",KB="[object WeakMap]",QB="[object DataView]",ove=_h(Mk),lve=_h(Mm),uve=_h(Bk),cve=_h(Jd),hve=_h(Nk),nl=X0;(Mk&&nl(new Mk(new ArrayBuffer(1)))!=QB||Mm&&nl(new Mm)!=WB||Bk&&nl(Bk.resolve())!=YB||Jd&&nl(new Jd)!=XB||Nk&&nl(new Nk)!=KB)&&(nl=function(e){var t=X0(e),r=t==sve?e.constructor:void 0,n=r?_h(r):"";if(n)switch(n){case ove:return QB;case lve:return WB;case uve:return YB;case cve:return XB;case hve:return KB}return t});var ZB=xl.Uint8Array,dve="__lodash_hash_undefined__";function fve(e){return this.__data__.set(e,dve),this}function pve(e){return this.__data__.has(e)}function Bm(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Cl;++t<r;)this.add(e[t])}Bm.prototype.add=Bm.prototype.push=fve;Bm.prototype.has=pve;function mve(e,t){for(var r=-1,n=e==null?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}function GV(e,t){return e.has(t)}var gve=1,yve=2;function WV(e,t,r,n,i,a){var s=r&gve,l=e.length,u=t.length;if(l!=u&&!(s&&u>l))return!1;var h=a.get(e),d=a.get(t);if(h&&d)return h==t&&d==e;var f=-1,m=!0,y=r&yve?new Bm:void 0;for(a.set(e,t),a.set(t,e);++f<l;){var b=e[f],v=t[f];if(n)var k=s?n(v,b,f,t,e,a):n(b,v,f,e,t,a);if(k!==void 0){if(k)continue;m=!1;break}if(y){if(!mve(t,function(w,_){if(!GV(y,_)&&(b===w||i(b,w,r,n,a)))return y.push(_)})){m=!1;break}}else if(!(b===v||i(b,v,r,n,a))){m=!1;break}}return a.delete(e),a.delete(t),m}function bve(e){var t=-1,r=Array(e.size);return e.forEach(function(n,i){r[++t]=[i,n]}),r}function D_(e){var t=-1,r=Array(e.size);return e.forEach(function(n){r[++t]=n}),r}var xve=1,vve=2,Cve="[object Boolean]",Tve="[object Date]",kve="[object Error]",wve="[object Map]",_ve="[object Number]",Sve="[object RegExp]",Eve="[object Set]",Ave="[object String]",Lve="[object Symbol]",Nve="[object ArrayBuffer]",Mve="[object DataView]",JB=mo?mo.prototype:void 0,zC=JB?JB.valueOf:void 0;function Bve(e,t,r,n,i,a,s){switch(r){case Mve:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case Nve:return!(e.byteLength!=t.byteLength||!a(new ZB(e),new ZB(t)));case Cve:case Tve:case _ve:return IV(+e,+t);case kve:return e.name==t.name&&e.message==t.message;case Sve:case Ave:return e==t+"";case wve:var l=bve;case Eve:var u=n&xve;if(l||(l=D_),e.size!=t.size&&!u)return!1;var h=s.get(e);if(h)return h==t;n|=vve,s.set(e,t);var d=WV(l(e),l(t),n,i,a,s);return s.delete(e),d;case Lve:if(zC)return zC.call(e)==zC.call(t)}return!1}var Rve=1,Ove=Object.prototype,Dve=Ove.hasOwnProperty;function Ive(e,t,r,n,i,a){var s=r&Rve,l=GB(e),u=l.length,h=GB(t),d=h.length;if(u!=d&&!s)return!1;for(var f=u;f--;){var m=l[f];if(!(s?m in t:Dve.call(t,m)))return!1}var y=a.get(e),b=a.get(t);if(y&&b)return y==t&&b==e;var v=!0;a.set(e,t),a.set(t,e);for(var k=s;++f<u;){m=l[f];var w=e[m],_=t[m];if(n)var S=s?n(_,w,m,t,e,a):n(w,_,m,e,t,a);if(!(S===void 0?w===_||i(w,_,r,n,a):S)){v=!1;break}k||(k=m=="constructor")}if(v&&!k){var N=e.constructor,O=t.constructor;N!=O&&"constructor"in e&&"constructor"in t&&!(typeof N=="function"&&N instanceof N&&typeof O=="function"&&O instanceof O)&&(v=!1)}return a.delete(e),a.delete(t),v}var Pve=1,eR="[object Arguments]",tR="[object Array]",my="[object Object]",Fve=Object.prototype,rR=Fve.hasOwnProperty;function $ve(e,t,r,n,i,a){var s=ha(e),l=ha(t),u=s?tR:nl(e),h=l?tR:nl(t);u=u==eR?my:u,h=h==eR?my:h;var d=u==my,f=h==my,m=u==h;if(m&&d2(e)){if(!d2(t))return!1;s=!0,d=!1}if(m&&!d)return a||(a=new cl),s||B_(e)?WV(e,t,r,n,i,a):Bve(e,t,u,r,n,i,a);if(!(r&Pve)){var y=d&&rR.call(e,"__wrapped__"),b=f&&rR.call(t,"__wrapped__");if(y||b){var v=y?e.value():e,k=b?t.value():t;return a||(a=new cl),i(v,k,r,n,a)}}return m?(a||(a=new cl),Ive(e,t,r,n,i,a)):!1}function I_(e,t,r,n,i){return e===t?!0:e==null||t==null||!dh(e)&&!dh(t)?e!==e&&t!==t:$ve(e,t,r,n,I_,i)}var zve=1,jve=2;function Hve(e,t,r,n){var i=r.length,a=i;if(e==null)return!a;for(e=Object(e);i--;){var s=r[i];if(s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++i<a;){s=r[i];var l=s[0],u=e[l],h=s[1];if(s[2]){if(u===void 0&&!(l in e))return!1}else{var d=new cl,f;if(!(f===void 0?I_(h,u,zve|jve,n,d):f))return!1}}return!0}function YV(e){return e===e&&!N_(e)}function Uve(e){for(var t=ao(e),r=t.length;r--;){var n=t[r],i=e[n];t[r]=[n,i,YV(i)]}return t}function XV(e,t){return function(r){return r==null?!1:r[e]===t&&(t!==void 0||e in Object(r))}}function qve(e){var t=Uve(e);return t.length==1&&t[0][2]?XV(t[0][0],t[0][1]):function(r){return r===e||Hve(r,e,t)}}function Vve(e,t){return e!=null&&t in Object(e)}function Gve(e,t,r){t=HV(t,e);for(var n=-1,i=t.length,a=!1;++n<i;){var s=Rx(t[n]);if(!(a=e!=null&&r(e,s)))break;e=e[s]}return a||++n!=i?a:(i=e==null?0:e.length,!!i&&M_(i)&&DV(s,i)&&(ha(e)||Nx(e)))}function Wve(e,t){return e!=null&&Gve(e,t,Vve)}var Yve=1,Xve=2;function Kve(e,t){return R_(e)&&YV(t)?XV(Rx(e),t):function(r){var n=V4e(r,e);return n===void 0&&n===t?Wve(r,e):I_(t,n,Yve|Xve)}}function Qve(e){return function(t){return t?.[e]}}function Zve(e){return function(t){return UV(t,e)}}function Jve(e){return R_(e)?Qve(Rx(e)):Zve(e)}function KV(e){return typeof e=="function"?e:e==null?Ax:typeof e=="object"?ha(e)?Kve(e[0],e[1]):qve(e):Jve(e)}function eCe(e){return function(t,r,n){for(var i=-1,a=Object(t),s=n(t),l=s.length;l--;){var u=s[++i];if(r(a[u],u,a)===!1)break}return t}}var tCe=eCe();function rCe(e,t){return e&&tCe(e,t,ao)}function nCe(e,t){return function(r,n){if(r==null)return r;if(!Lx(r))return e(r,n);for(var i=r.length,a=-1,s=Object(r);++a<i&&n(s[a],a,s)!==!1;);return r}}var P_=nCe(rCe);function iCe(e){return dh(e)&&Lx(e)}function aCe(e){return typeof e=="function"?e:Ax}function Ec(e,t){var r=ha(e)?f3e:P_;return r(e,aCe(t))}function sCe(e,t){var r=[];return P_(e,function(n,i,a){t(n,i,a)&&r.push(n)}),r}function gy(e,t){var r=ha(e)?VV:sCe;return r(e,KV(t))}function oCe(e,t){return RV(t,function(r){return e[r]})}function jC(e){return e==null?[]:oCe(e,ao(e))}var lCe="[object Map]",uCe="[object Set]",cCe=Object.prototype,hCe=cCe.hasOwnProperty;function nR(e){if(e==null)return!0;if(Lx(e)&&(ha(e)||typeof e=="string"||typeof e.splice=="function"||d2(e)||B_(e)||Nx(e)))return!e.length;var t=nl(e);if(t==lCe||t==uCe)return!e.size;if(PV(e))return!jV(e).length;for(var r in e)if(hCe.call(e,r))return!1;return!0}function Fd(e){return e===void 0}function dCe(e,t,r,n,i){return i(e,function(a,s,l){r=n?(n=!1,a):t(r,a,s,l)}),r}function fCe(e,t,r){var n=ha(e)?Y4e:dCe,i=arguments.length<3;return n(e,KV(t),r,i,P_)}var pCe=1/0,mCe=Jd&&1/D_(new Jd([,-0]))[1]==pCe?function(e){return new Jd(e)}:s3e,gCe=200;function yCe(e,t,r){var n=-1,i=b3e,a=e.length,s=!0,l=[],u=l;if(a>=gCe){var h=mCe(e);if(h)return D_(h);s=!1,i=GV,u=new Bm}else u=l;e:for(;++n<a;){var d=e[n],f=d;if(d=d!==0?d:0,s&&f===f){for(var m=u.length;m--;)if(u[m]===f)continue e;l.push(d)}else i(u,f,r)||(u!==l&&u.push(f),l.push(d))}return l}var bCe=T3e(function(e){return yCe(W4e(e,1,iCe,!0))}),xCe="\0",Ac="\0",iR="";class Ox{constructor(t={}){this._isDirected=Object.prototype.hasOwnProperty.call(t,"directed")?t.directed:!0,this._isMultigraph=Object.prototype.hasOwnProperty.call(t,"multigraph")?t.multigraph:!1,this._isCompound=Object.prototype.hasOwnProperty.call(t,"compound")?t.compound:!1,this._label=void 0,this._defaultNodeLabelFn=Up(void 0),this._defaultEdgeLabelFn=Up(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[Ac]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(t){return this._label=t,this}graph(){return this._label}setDefaultNodeLabel(t){return h2(t)||(t=Up(t)),this._defaultNodeLabelFn=t,this}nodeCount(){return this._nodeCount}nodes(){return ao(this._nodes)}sources(){var t=this;return gy(this.nodes(),function(r){return nR(t._in[r])})}sinks(){var t=this;return gy(this.nodes(),function(r){return nR(t._out[r])})}setNodes(t,r){var n=arguments,i=this;return Ec(t,function(a){n.length>1?i.setNode(a,r):i.setNode(a)}),this}setNode(t,r){return Object.prototype.hasOwnProperty.call(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=r),this):(this._nodes[t]=arguments.length>1?r:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=Ac,this._children[t]={},this._children[Ac][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)}node(t){return this._nodes[t]}hasNode(t){return Object.prototype.hasOwnProperty.call(this._nodes,t)}removeNode(t){if(Object.prototype.hasOwnProperty.call(this._nodes,t)){var r=n=>this.removeEdge(this._edgeObjs[n]);delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],Ec(this.children(t),n=>{this.setParent(n)}),delete this._children[t]),Ec(ao(this._in[t]),r),delete this._in[t],delete this._preds[t],Ec(ao(this._out[t]),r),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Fd(r))r=Ac;else{r+="";for(var n=r;!Fd(n);n=this.parent(n))if(n===t)throw new Error("Setting "+r+" as parent of "+t+" would create a cycle");this.setNode(r)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=r,this._children[r][t]=!0,this}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}parent(t){if(this._isCompound){var r=this._parent[t];if(r!==Ac)return r}}children(t){if(Fd(t)&&(t=Ac),this._isCompound){var r=this._children[t];if(r)return ao(r)}else{if(t===Ac)return this.nodes();if(this.hasNode(t))return[]}}predecessors(t){var r=this._preds[t];if(r)return ao(r)}successors(t){var r=this._sucs[t];if(r)return ao(r)}neighbors(t){var r=this.predecessors(t);if(r)return bCe(r,this.successors(t))}isLeaf(t){var r;return this.isDirected()?r=this.successors(t):r=this.neighbors(t),r.length===0}filterNodes(t){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var n=this;Ec(this._nodes,function(s,l){t(l)&&r.setNode(l,s)}),Ec(this._edgeObjs,function(s){r.hasNode(s.v)&&r.hasNode(s.w)&&r.setEdge(s,n.edge(s))});var i={};function a(s){var l=n.parent(s);return l===void 0||r.hasNode(l)?(i[s]=l,l):l in i?i[l]:a(l)}return this._isCompound&&Ec(r.nodes(),function(s){r.setParent(s,a(s))}),r}setDefaultEdgeLabel(t){return h2(t)||(t=Up(t)),this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return jC(this._edgeObjs)}setPath(t,r){var n=this,i=arguments;return fCe(t,function(a,s){return i.length>1?n.setEdge(a,s,r):n.setEdge(a,s),s}),this}setEdge(){var t,r,n,i,a=!1,s=arguments[0];typeof s=="object"&&s!==null&&"v"in s?(t=s.v,r=s.w,n=s.name,arguments.length===2&&(i=arguments[1],a=!0)):(t=s,r=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),t=""+t,r=""+r,Fd(n)||(n=""+n);var l=qp(this._isDirected,t,r,n);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,l))return a&&(this._edgeLabels[l]=i),this;if(!Fd(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(r),this._edgeLabels[l]=a?i:this._defaultEdgeLabelFn(t,r,n);var u=vCe(this._isDirected,t,r,n);return t=u.v,r=u.w,Object.freeze(u),this._edgeObjs[l]=u,aR(this._preds[r],t),aR(this._sucs[t],r),this._in[r][l]=u,this._out[t][l]=u,this._edgeCount++,this}edge(t,r,n){var i=arguments.length===1?HC(this._isDirected,arguments[0]):qp(this._isDirected,t,r,n);return this._edgeLabels[i]}hasEdge(t,r,n){var i=arguments.length===1?HC(this._isDirected,arguments[0]):qp(this._isDirected,t,r,n);return Object.prototype.hasOwnProperty.call(this._edgeLabels,i)}removeEdge(t,r,n){var i=arguments.length===1?HC(this._isDirected,arguments[0]):qp(this._isDirected,t,r,n),a=this._edgeObjs[i];return a&&(t=a.v,r=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],sR(this._preds[r],t),sR(this._sucs[t],r),delete this._in[r][i],delete this._out[t][i],this._edgeCount--),this}inEdges(t,r){var n=this._in[t];if(n){var i=jC(n);return r?gy(i,function(a){return a.v===r}):i}}outEdges(t,r){var n=this._out[t];if(n){var i=jC(n);return r?gy(i,function(a){return a.w===r}):i}}nodeEdges(t,r){var n=this.inEdges(t,r);if(n)return n.concat(this.outEdges(t,r))}}Ox.prototype._nodeCount=0;Ox.prototype._edgeCount=0;function aR(e,t){e[t]?e[t]++:e[t]=1}function sR(e,t){--e[t]||delete e[t]}function qp(e,t,r,n){var i=""+t,a=""+r;if(!e&&i>a){var s=i;i=a,a=s}return i+iR+a+iR+(Fd(n)?xCe:n)}function vCe(e,t,r,n){var i=""+t,a=""+r;if(!e&&i>a){var s=i;i=a,a=s}var l={v:i,w:a};return n&&(l.name=n),l}function HC(e,t){return qp(e,t.v,t.w,t.name)}function QV(e,{edgePathsClass:t="edges edgePaths"}={}){const r=e.insert("g").attr("class","root"),n=r.insert("g").attr("class","clusters"),i=r.insert("g").attr("class",t),a=r.insert("g").attr("class","edgeLabels"),s=r.insert("g").attr("class","nodes");return{clusters:n,edgePaths:i,edgeLabels:a,nodes:s,rootGroups:r}}L(QV,"createLayoutElementGroups");async function ZV(e,t){if(t.label){const{shapeSvg:r,bbox:n}=await Nt(e,t);t.labelBBox={width:n.width,height:n.height},r.remove()}else t.labelBBox={width:0,height:0}}L(ZV,"measureGroupLabel");async function JV(e,t,r){const n=await E_(e,t,r),i=n.node()?.getBBox()??{width:0,height:0};return t.width=i.width,t.height=i.height,n}L(JV,"insertMeasuredNode");async function eG(e,t){const r=new Ox({multigraph:!0,compound:!0}),n=[...t.edges],i=lr(),a=QV(e),{edgeLabels:s,nodes:l}=a,u=new Map,h=e.node()!=null;await Promise.all(t.nodes.map(async d=>{if(d.isGroup)h&&await ZV(l,d),r.setNode(d.id,{...d});else{if(h){const f=await JV(l,d,{config:i,dir:d.dir});u.set(d.id,f)}r.setNode(d.id,{...d})}}));for(const d of n)h&&_V(d)&&await A_(s,d),r.setEdge(d.start,d.end,{...d},d.id),t.edges.some(m=>m.id===d.id)||t.edges.push(d);if(globalThis.mermaidCaptureSizes){const{captureNodeSizes:d}=await Y(async()=>{const{captureNodeSizes:f}=await import("./sizeCapture-INFHLROL-DtAA6XEA.js");return{captureNodeSizes:f}},[]);d(e,t)}return{graph:r,groups:a,nodeElements:u}}L(eG,"createGraphWithElements");var yr=new Map,Gc=new Map,tG=new Map,CCe=L(()=>{Gc.clear(),tG.clear(),yr.clear()},"clear"),Rm=L((e,t)=>{const r=Gc.get(t)||[];return Me.trace("In isDescendant",t," ",e," = ",r.includes(e)),r.includes(e)},"isDescendant"),TCe=L((e,t)=>{const r=Gc.get(t)||[];return Me.info("Descendants of ",t," is ",r),Me.info("Edge is ",e),e.v===t||e.w===t?!1:r?r.includes(e.v)||Rm(e.v,t)||Rm(e.w,t)||r.includes(e.w):(Me.debug("Tilt, ",t,",not in descendants"),!1)},"edgeInCluster"),rG=L((e,t,r,n)=>{Me.debug("Copying children of ",e,"root",n,"data",t.node(e),n);const i=t.children(e)||[];e!==n&&i.push(e),Me.debug("Copying (nodes) clusterId",e,"nodes",i),i.forEach(a=>{if(t.children(a).length>0)rG(a,t,r,n);else{const s=t.node(a);Me.info("cp ",a," to ",n," with parent ",e),r.setNode(a,s),n!==t.parent(a)&&(Me.debug("Setting parent",a,t.parent(a)),r.setParent(a,t.parent(a))),e!==n&&a!==e?(Me.debug("Setting parent",a,e),r.setParent(a,e)):(Me.info("In copy ",e,"root",n,"data",t.node(e),n),Me.debug("Not Setting parent for node=",a,"cluster!==rootId",e!==n,"node!==clusterId",a!==e));const l=t.edges(a);Me.debug("Copying Edges",l),l.forEach(u=>{Me.info("Edge",u);const h=t.edge(u.v,u.w,u.name);Me.info("Edge data",h,n);try{TCe(u,n)?(Me.info("Copying as ",u.v,u.w,h,u.name),r.setEdge(u.v,u.w,h,u.name),Me.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):Me.info("Skipping copy of edge ",u.v,"-->",u.w," rootId: ",n," clusterId:",e)}catch(d){Me.error(d)}})}Me.debug("Removing node",a),t.removeNode(a)})},"copy"),nG=L((e,t)=>{const r=t.children(e);let n=[...r];for(const i of r)tG.set(i,e),n=[...n,...nG(i,t)];return n},"extractDescendants"),kCe=L((e,t,r)=>{const n=e.edges().filter(u=>u.v===t||u.w===t),i=e.edges().filter(u=>u.v===r||u.w===r),a=n.map(u=>({v:u.v===t?r:u.v,w:u.w===t?t:u.w})),s=i.map(u=>({v:u.v,w:u.w}));return a.filter(u=>s.some(h=>u.v===h.v&&u.w===h.w))},"findCommonEdges"),f2=L((e,t,r)=>{const n=t.children(e);if(Me.trace("Searching children of id ",e,n),n.length<1)return e;let i;for(const a of n){const s=f2(a,t,r),l=kCe(t,r,s);if(s)if(l.length>0)i=s;else return s}return i},"findNonClusterChild"),oR=L(e=>!yr.has(e)||!yr.get(e).externalConnections?e:yr.has(e)?yr.get(e).id:e,"getAnchorId"),Ize=L((e,t)=>{if(!e||t>10){Me.debug("Opting out, no graph ");return}else Me.debug("Opting in, graph ");e.nodes().forEach(function(r){e.children(r).length>0&&(Me.debug("Cluster identified",r," Replacement id in edges: ",f2(r,e,r)),Gc.set(r,nG(r,e)),yr.set(r,{id:f2(r,e,r),clusterData:e.node(r)}))}),e.nodes().forEach(function(r){const n=e.children(r),i=e.edges();n.length>0?(Me.debug("Cluster identified",r,Gc),i.forEach(a=>{const s=Rm(a.v,r),l=Rm(a.w,r);s^l&&(Me.debug("Edge: ",a," leaves cluster ",r),Me.debug("Descendants of XXX ",r,": ",Gc.get(r)),yr.get(r).externalConnections=!0)})):Me.debug("Not a cluster ",r,Gc)});for(let r of yr.keys()){const n=yr.get(r).id,i=e.parent(n);i!==r&&yr.has(i)&&!yr.get(i).externalConnections&&(yr.get(r).id=i);const a=e.edges().some(s=>s.v===r);if(n&&yr.get(r)?.externalConnections&&a&&sG(e,n,r)){const s=wCe(e,r,e.parent(n));s&&(yr.get(r).id=s)}}e.edges().forEach(function(r){const n=e.edge(r);Me.debug("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(r)),Me.debug("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(e.edge(r)));let i=r.v,a=r.w;if(Me.debug("Fix XXX",yr,"ids:",r.v,r.w,"Translating: ",yr.get(r.v)," --- ",yr.get(r.w)),yr.get(r.v)||yr.get(r.w)){if(Me.debug("Fixing and trying - removing XXX",r.v,r.w,r.name),i=oR(r.v),a=oR(r.w),e.removeEdge(r.v,r.w,r.name),i!==r.v){const s=e.parent(i);yr.get(s).externalConnections=!0,n.fromCluster=r.v}if(a!==r.w){const s=e.parent(a);yr.get(s).externalConnections=!0,n.toCluster=r.w}Me.debug("Fix Replacing with XXX",i,a,r.name),e.setEdge(i,a,n,r.name)}}),iG(e,0),Me.trace(yr)},"adjustClustersAndEdges"),iG=L((e,t)=>{if(t>10){Me.error("Bailing out");return}let r=e.nodes(),n=!1;for(const i of r){const a=e.children(i);n=n||a.length>0}if(!n){Me.debug("Done, no node has children",e.nodes());return}Me.debug("Nodes = ",r,t);for(const i of r)if(Me.debug("Extracting node",i,yr,yr.has(i)&&!yr.get(i).externalConnections,!e.parent(i),e.node(i),e.children("D")," Depth ",t),!yr.has(i))Me.debug("Not a cluster",i,t);else if(!yr.get(i).externalConnections&&e.children(i)&&e.children(i).length>0){Me.debug("Cluster without external connections, without a parent and with children",i,t);let s=e.graph().rankdir==="TB"?"LR":"TB";yr.get(i)?.clusterData?.dir&&(s=yr.get(i).clusterData.dir,Me.debug("Fixing dir",yr.get(i).clusterData.dir,s));const l=new Ox({multigraph:!0,compound:!0}).setGraph({rankdir:s,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});rG(i,e,l,i),e.setNode(i,{clusterNode:!0,id:i,clusterData:yr.get(i).clusterData,label:yr.get(i).label,graph:l})}else Me.debug("Cluster ** ",i," **not meeting the criteria !externalConnections:",!yr.get(i).externalConnections," no parent: ",!e.parent(i)," children ",e.children(i)&&e.children(i).length>0,e.children("D"),t),Me.debug(yr);r=e.nodes(),Me.debug("New list of nodes",r);for(const i of r){const a=e.node(i);Me.debug(" Now next level",i,a),a?.clusterNode&&iG(a.graph,t+1)}},"extractor"),aG=L((e,t)=>{if(t.length===0)return[];let r=Object.assign([],t);return t.forEach(n=>{const i=e.children(n),a=aG(e,i);r=[...r,...a]}),r},"sorter"),Pze=L(e=>aG(e,e.children()),"sortNodesByHierarchy"),sG=L((e,t,r)=>{let n=e.parent(t);for(;n&&n!==r;){const i=yr.get(n);if(i&&!i.externalConnections)return!0;n=e.parent(n)}return!1},"isNodeInExtractableCluster"),wCe=L((e,t,r)=>{const n=e.children(t)??[];for(const i of n){if(i===r||Rm(i,r))continue;const a=f2(i,e,t);if(a&&!sG(e,a,t))return a}return null},"findSafeAnchorNode");function _Ce({prepareLayout:e,measureLayout:t,runLayoutCore:r,paintLayout:n,afterPaint:i,paintOptions:a}){const s=t??lG;return L(async function(u,h,d,f){const m=h.select("g");(d?.insertMarkers??NV)(m,u.markers,u.type,u.diagramId),oG();const y={element:m,helpers:d,options:f};y.preparedLayout=await e?.(u,y);const b=await s(u,y),v=await r(u,y),k={...y,measure:b};n?await n(u,k,v):await uG(u,k,a),await i?.(u,k,v)},"render")}L(_Ce,"createCommonLayoutRenderer");function oG(){H2e(),rxe(),K2e(),CCe()}L(oG,"clearLayoutRenderState");async function lG(e,{element:t}){return await eG(t,e)}L(lG,"defaultMeasureLayout");async function uG(e,t,r={}){const{measure:n}=t,{groups:i}=n;for(const s of r.getNodes?.(e,t)??e.nodes)r.skipNode?.(s,t)||await cG(i,s,t,r);const a=dG(e.nodes);for(const s of e.edges)fG(s,r)||await pG(i,s,a,e,r,t)}L(uG,"paintLayoutData");async function cG(e,t,r,n){t.clusterNode?AB(t):hG(t,r,n)?await wV(e.clusters,t):AB(t)}L(cG,"paintLayoutNode");function hG(e,t,r){return e.isGroup===!0&&(r.isCluster?.(e,t)??!0)}L(hG,"shouldPaintAsCluster");function dG(e){const t=new Map;for(const r of e)r?.id&&t.set(r.id,r);return t}L(dG,"buildNodeLookup");function fG(e,t){return e.isLayoutOnly||!!t.skipEdge?.(e)}L(fG,"shouldSkipPaintEdge");async function pG(e,t,r,n,i,a){const s=EV(e.edgePaths,{...t},i.clusterDb??new Map,n.type,Rk(t.start,t,r,a,i),Rk(t.end,t,r,a,i),n.diagramId,mG(t,i));_V(t)&&(A0.has(t.id)||await A_(e.edgeLabels,t),gG(t,s))}L(pG,"paintLayoutEdge");function Rk(e,t,r,n,i){return i.getEdgeNode?.(e,t,n)??(e?r.get(e)??{}:{})}L(Rk,"getRenderedNode");function mG(e,t){return typeof t.skipIntersect=="function"?t.skipIntersect(e):t.skipIntersect??!1}L(mG,"shouldSkipIntersect");function gG(e,t){const r=t?.updatedPath??t?.originalPath,n=sn(),{subGraphTitleTotalMargin:i}=Sx({flowchart:n.flowchart??{}});if(e.label){const a=A0.get(e.id);let s=e.x,l=e.y;if(r){const u=Li.calcLabelPosition(r);Me.debug("Moving label "+e.label+" from (",s,",",l,") to (",u.x,",",u.y,") abc88"),t?.updatedPath&&(s=u.x,l=u.y)}a.attr("transform",`translate(${s}, ${l+i/2})`)}if(e?.startLabelLeft){const a=Tn.get(e.id).startLeft;let s=e?.x,l=e?.y;if(r){const u=Li.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(e.startLabelRight){const a=Tn.get(e.id).startRight;let s=e.x,l=e.y;if(r){const u=Li.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(e.endLabelLeft){const a=Tn.get(e.id).endLeft;let s=e.x,l=e.y;if(r){const u=Li.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(e.endLabelRight){const a=Tn.get(e.id).endRight;let s=e.x,l=e.y;if(r){const u=Li.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}}L(gG,"positionRenderedEdgeLabel");function yG(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}L(yG,"getDefaultExportFromCjs");var wi={},yy={},fu={},lR;function K0(){if(lR)return fu;lR=1;function e(s){return typeof s>"u"||s===null}L(e,"isNothing");function t(s){return typeof s=="object"&&s!==null}L(t,"isObject");function r(s){return Array.isArray(s)?s:e(s)?[]:[s]}L(r,"toArray");function n(s,l){if(l){const u=Object.keys(l);for(let h=0,d=u.length;h<d;h+=1){const f=u[h];s[f]=l[f]}}return s}L(n,"extend");function i(s,l){let u="";for(let h=0;h<l;h+=1)u+=s;return u}L(i,"repeat");function a(s){return s===0&&Number.NEGATIVE_INFINITY===1/s}return L(a,"isNegativeZero"),fu.isNothing=e,fu.isObject=t,fu.toArray=r,fu.repeat=i,fu.isNegativeZero=a,fu.extend=n,fu}L(K0,"requireCommon");var UC,uR;function Q0(){if(uR)return UC;uR=1;function e(r,n){let i="";const a=r.reason||"(unknown reason)";return r.mark?(r.mark.name&&(i+='in "'+r.mark.name+'" '),i+="("+(r.mark.line+1)+":"+(r.mark.column+1)+")",!n&&r.mark.snippet&&(i+=`
709
+ L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),Nxe=L((e,t,r)=>{const n=e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");n.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),n.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),n.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),Mxe=L((e,t,r)=>{const n=sn(),{themeVariables:i}=n,{strokeWidth:a}=i,s=e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");s.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),s.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),s.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),s.selectAll("*").attr("stroke-width",`${a}`)},"requirement_contains_neo"),Bxe={extension:cxe,composition:hxe,aggregation:dxe,dependency:fxe,lollipop:pxe,point:mxe,circle:gxe,cross:yxe,barb:bxe,barbNeo:xxe,only_one:vxe,zero_or_one:Cxe,one_or_more:Txe,zero_or_more:kxe,only_one_neo:wxe,zero_or_one_neo:_xe,one_or_more_neo:Sxe,zero_or_more_neo:Exe,requirement_arrow:Axe,requirement_contains:Nxe,requirement_arrow_neo:Lxe,requirement_contains_neo:Mxe},NV=uxe,MV=typeof global=="object"&&global&&global.Object===Object&&global,Rxe=typeof self=="object"&&self&&self.Object===Object&&self,xl=MV||Rxe||Function("return this")(),mo=xl.Symbol,BV=Object.prototype,Oxe=BV.hasOwnProperty,Dxe=BV.toString,Cp=mo?mo.toStringTag:void 0;function Ixe(e){var t=Oxe.call(e,Cp),r=e[Cp];try{e[Cp]=void 0;var n=!0}catch{}var i=Dxe.call(e);return n&&(t?e[Cp]=r:delete e[Cp]),i}var Pxe=Object.prototype,Fxe=Pxe.toString;function $xe(e){return Fxe.call(e)}var zxe="[object Null]",jxe="[object Undefined]",RB=mo?mo.toStringTag:void 0;function X0(e){return e==null?e===void 0?jxe:zxe:RB&&RB in Object(e)?Ixe(e):$xe(e)}function dh(e){return e!=null&&typeof e=="object"}var Hxe="[object Symbol]";function L_(e){return typeof e=="symbol"||dh(e)&&X0(e)==Hxe}function RV(e,t){for(var r=-1,n=e==null?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}var ha=Array.isArray,OB=mo?mo.prototype:void 0,DB=OB?OB.toString:void 0;function OV(e){if(typeof e=="string")return e;if(ha(e))return RV(e,OV)+"";if(L_(e))return DB?DB.call(e):"";var t=e+"";return t=="0"&&1/e==-1/0?"-0":t}function N_(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}function Ax(e){return e}var Uxe="[object AsyncFunction]",qxe="[object Function]",Vxe="[object GeneratorFunction]",Gxe="[object Proxy]";function h2(e){if(!N_(e))return!1;var t=X0(e);return t==qxe||t==Vxe||t==Uxe||t==Gxe}var FC=xl["__core-js_shared__"],IB=(function(){var e=/[^.]+$/.exec(FC&&FC.keys&&FC.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""})();function Wxe(e){return!!IB&&IB in e}var Yxe=Function.prototype,Xxe=Yxe.toString;function _h(e){if(e!=null){try{return Xxe.call(e)}catch{}try{return e+""}catch{}}return""}var Kxe=/[\\^$.*+?()[\]{}|]/g,Qxe=/^\[object .+?Constructor\]$/,Zxe=Function.prototype,Jxe=Object.prototype,e3e=Zxe.toString,t3e=Jxe.hasOwnProperty,r3e=RegExp("^"+e3e.call(t3e).replace(Kxe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function n3e(e){if(!N_(e)||Wxe(e))return!1;var t=h2(e)?r3e:Qxe;return t.test(_h(e))}function i3e(e,t){return e?.[t]}function Sh(e,t){var r=i3e(e,t);return n3e(r)?r:void 0}var Nk=Sh(xl,"WeakMap");function a3e(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}function s3e(){}var o3e=800,l3e=16,u3e=Date.now;function c3e(e){var t=0,r=0;return function(){var n=u3e(),i=l3e-(n-r);if(r=n,i>0){if(++t>=o3e)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function Up(e){return function(){return e}}var PB=(function(){try{var e=Sh(Object,"defineProperty");return e({},"",{}),e}catch{}})(),h3e=PB?function(e,t){return PB(e,"toString",{configurable:!0,enumerable:!1,value:Up(t),writable:!0})}:Ax,d3e=c3e(h3e);function f3e(e,t){for(var r=-1,n=e==null?0:e.length;++r<n&&t(e[r],r,e)!==!1;);return e}function p3e(e,t,r,n){for(var i=e.length,a=r+-1;++a<i;)if(t(e[a],a,e))return a;return-1}function m3e(e){return e!==e}function g3e(e,t,r){for(var n=r-1,i=e.length;++n<i;)if(e[n]===t)return n;return-1}function y3e(e,t,r){return t===t?g3e(e,t,r):p3e(e,m3e,r)}function b3e(e,t){var r=e==null?0:e.length;return!!r&&y3e(e,t,0)>-1}var x3e=9007199254740991,v3e=/^(?:0|[1-9]\d*)$/;function DV(e,t){var r=typeof e;return t=t??x3e,!!t&&(r=="number"||r!="symbol"&&v3e.test(e))&&e>-1&&e%1==0&&e<t}function IV(e,t){return e===t||e!==e&&t!==t}var FB=Math.max;function C3e(e,t,r){return t=FB(t===void 0?e.length-1:t,0),function(){for(var n=arguments,i=-1,a=FB(n.length-t,0),s=Array(a);++i<a;)s[i]=n[t+i];i=-1;for(var l=Array(t+1);++i<t;)l[i]=n[i];return l[t]=r(s),a3e(e,this,l)}}function T3e(e,t){return d3e(C3e(e,t,Ax),e+"")}var k3e=9007199254740991;function M_(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=k3e}function Lx(e){return e!=null&&M_(e.length)&&!h2(e)}var w3e=Object.prototype;function PV(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||w3e;return e===r}function _3e(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}var S3e="[object Arguments]";function $B(e){return dh(e)&&X0(e)==S3e}var FV=Object.prototype,E3e=FV.hasOwnProperty,A3e=FV.propertyIsEnumerable,Nx=$B((function(){return arguments})())?$B:function(e){return dh(e)&&E3e.call(e,"callee")&&!A3e.call(e,"callee")};function L3e(){return!1}var $V=typeof exports=="object"&&exports&&!exports.nodeType&&exports,zB=$V&&typeof module=="object"&&module&&!module.nodeType&&module,N3e=zB&&zB.exports===$V,jB=N3e?xl.Buffer:void 0,M3e=jB?jB.isBuffer:void 0,d2=M3e||L3e,B3e="[object Arguments]",R3e="[object Array]",O3e="[object Boolean]",D3e="[object Date]",I3e="[object Error]",P3e="[object Function]",F3e="[object Map]",$3e="[object Number]",z3e="[object Object]",j3e="[object RegExp]",H3e="[object Set]",U3e="[object String]",q3e="[object WeakMap]",V3e="[object ArrayBuffer]",G3e="[object DataView]",W3e="[object Float32Array]",Y3e="[object Float64Array]",X3e="[object Int8Array]",K3e="[object Int16Array]",Q3e="[object Int32Array]",Z3e="[object Uint8Array]",J3e="[object Uint8ClampedArray]",e4e="[object Uint16Array]",t4e="[object Uint32Array]",Qr={};Qr[W3e]=Qr[Y3e]=Qr[X3e]=Qr[K3e]=Qr[Q3e]=Qr[Z3e]=Qr[J3e]=Qr[e4e]=Qr[t4e]=!0;Qr[B3e]=Qr[R3e]=Qr[V3e]=Qr[O3e]=Qr[G3e]=Qr[D3e]=Qr[I3e]=Qr[P3e]=Qr[F3e]=Qr[$3e]=Qr[z3e]=Qr[j3e]=Qr[H3e]=Qr[U3e]=Qr[q3e]=!1;function r4e(e){return dh(e)&&M_(e.length)&&!!Qr[X0(e)]}function n4e(e){return function(t){return e(t)}}var zV=typeof exports=="object"&&exports&&!exports.nodeType&&exports,im=zV&&typeof module=="object"&&module&&!module.nodeType&&module,i4e=im&&im.exports===zV,$C=i4e&&MV.process,HB=(function(){try{var e=im&&im.require&&im.require("util").types;return e||$C&&$C.binding&&$C.binding("util")}catch{}})(),UB=HB&&HB.isTypedArray,B_=UB?n4e(UB):r4e,a4e=Object.prototype,s4e=a4e.hasOwnProperty;function o4e(e,t){var r=ha(e),n=!r&&Nx(e),i=!r&&!n&&d2(e),a=!r&&!n&&!i&&B_(e),s=r||n||i||a,l=s?_3e(e.length,String):[],u=l.length;for(var h in e)(t||s4e.call(e,h))&&!(s&&(h=="length"||i&&(h=="offset"||h=="parent")||a&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||DV(h,u)))&&l.push(h);return l}function l4e(e,t){return function(r){return e(t(r))}}var u4e=l4e(Object.keys,Object),c4e=Object.prototype,h4e=c4e.hasOwnProperty;function jV(e){if(!PV(e))return u4e(e);var t=[];for(var r in Object(e))h4e.call(e,r)&&r!="constructor"&&t.push(r);return t}function ao(e){return Lx(e)?o4e(e):jV(e)}var d4e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,f4e=/^\w*$/;function R_(e,t){if(ha(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||L_(e)?!0:f4e.test(e)||!d4e.test(e)||t!=null&&e in Object(t)}var Nm=Sh(Object,"create");function p4e(){this.__data__=Nm?Nm(null):{},this.size=0}function m4e(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var g4e="__lodash_hash_undefined__",y4e=Object.prototype,b4e=y4e.hasOwnProperty;function x4e(e){var t=this.__data__;if(Nm){var r=t[e];return r===g4e?void 0:r}return b4e.call(t,e)?t[e]:void 0}var v4e=Object.prototype,C4e=v4e.hasOwnProperty;function T4e(e){var t=this.__data__;return Nm?t[e]!==void 0:C4e.call(t,e)}var k4e="__lodash_hash_undefined__";function w4e(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Nm&&t===void 0?k4e:t,this}function fh(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}fh.prototype.clear=p4e;fh.prototype.delete=m4e;fh.prototype.get=x4e;fh.prototype.has=T4e;fh.prototype.set=w4e;function _4e(){this.__data__=[],this.size=0}function Mx(e,t){for(var r=e.length;r--;)if(IV(e[r][0],t))return r;return-1}var S4e=Array.prototype,E4e=S4e.splice;function A4e(e){var t=this.__data__,r=Mx(t,e);if(r<0)return!1;var n=t.length-1;return r==n?t.pop():E4e.call(t,r,1),--this.size,!0}function L4e(e){var t=this.__data__,r=Mx(t,e);return r<0?void 0:t[r][1]}function N4e(e){return Mx(this.__data__,e)>-1}function M4e(e,t){var r=this.__data__,n=Mx(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}function vl(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}vl.prototype.clear=_4e;vl.prototype.delete=A4e;vl.prototype.get=L4e;vl.prototype.has=N4e;vl.prototype.set=M4e;var Mm=Sh(xl,"Map");function B4e(){this.size=0,this.__data__={hash:new fh,map:new(Mm||vl),string:new fh}}function R4e(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}function Bx(e,t){var r=e.__data__;return R4e(t)?r[typeof t=="string"?"string":"hash"]:r.map}function O4e(e){var t=Bx(this,e).delete(e);return this.size-=t?1:0,t}function D4e(e){return Bx(this,e).get(e)}function I4e(e){return Bx(this,e).has(e)}function P4e(e,t){var r=Bx(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}function Cl(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}Cl.prototype.clear=B4e;Cl.prototype.delete=O4e;Cl.prototype.get=D4e;Cl.prototype.has=I4e;Cl.prototype.set=P4e;var F4e="Expected a function";function O_(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(F4e);var r=function(){var n=arguments,i=t?t.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var s=e.apply(this,n);return r.cache=a.set(i,s)||a,s};return r.cache=new(O_.Cache||Cl),r}O_.Cache=Cl;var $4e=500;function z4e(e){var t=O_(e,function(n){return r.size===$4e&&r.clear(),n}),r=t.cache;return t}var j4e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,H4e=/\\(\\)?/g,U4e=z4e(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(j4e,function(r,n,i,a){t.push(i?a.replace(H4e,"$1"):n||r)}),t});function q4e(e){return e==null?"":OV(e)}function HV(e,t){return ha(e)?e:R_(e,t)?[e]:U4e(q4e(e))}function Rx(e){if(typeof e=="string"||L_(e))return e;var t=e+"";return t=="0"&&1/e==-1/0?"-0":t}function UV(e,t){t=HV(t,e);for(var r=0,n=t.length;e!=null&&r<n;)e=e[Rx(t[r++])];return r&&r==n?e:void 0}function V4e(e,t,r){var n=e==null?void 0:UV(e,t);return n===void 0?r:n}function qV(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}var qB=mo?mo.isConcatSpreadable:void 0;function G4e(e){return ha(e)||Nx(e)||!!(qB&&e&&e[qB])}function W4e(e,t,r,n,i){var a=-1,s=e.length;for(r||(r=G4e),i||(i=[]);++a<s;){var l=e[a];r(l)?qV(i,l):n||(i[i.length]=l)}return i}function Y4e(e,t,r,n){var i=-1,a=e==null?0:e.length;for(n&&a&&(r=e[++i]);++i<a;)r=t(r,e[i],i,e);return r}function X4e(){this.__data__=new vl,this.size=0}function K4e(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}function Q4e(e){return this.__data__.get(e)}function Z4e(e){return this.__data__.has(e)}var J4e=200;function eve(e,t){var r=this.__data__;if(r instanceof vl){var n=r.__data__;if(!Mm||n.length<J4e-1)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new Cl(n)}return r.set(e,t),this.size=r.size,this}function cl(e){var t=this.__data__=new vl(e);this.size=t.size}cl.prototype.clear=X4e;cl.prototype.delete=K4e;cl.prototype.get=Q4e;cl.prototype.has=Z4e;cl.prototype.set=eve;function VV(e,t){for(var r=-1,n=e==null?0:e.length,i=0,a=[];++r<n;){var s=e[r];t(s,r,e)&&(a[i++]=s)}return a}function tve(){return[]}var rve=Object.prototype,nve=rve.propertyIsEnumerable,VB=Object.getOwnPropertySymbols,ive=VB?function(e){return e==null?[]:(e=Object(e),VV(VB(e),function(t){return nve.call(e,t)}))}:tve;function ave(e,t,r){var n=t(e);return ha(e)?n:qV(n,r(e))}function GB(e){return ave(e,ao,ive)}var Mk=Sh(xl,"DataView"),Bk=Sh(xl,"Promise"),Jd=Sh(xl,"Set"),WB="[object Map]",sve="[object Object]",YB="[object Promise]",XB="[object Set]",KB="[object WeakMap]",QB="[object DataView]",ove=_h(Mk),lve=_h(Mm),uve=_h(Bk),cve=_h(Jd),hve=_h(Nk),nl=X0;(Mk&&nl(new Mk(new ArrayBuffer(1)))!=QB||Mm&&nl(new Mm)!=WB||Bk&&nl(Bk.resolve())!=YB||Jd&&nl(new Jd)!=XB||Nk&&nl(new Nk)!=KB)&&(nl=function(e){var t=X0(e),r=t==sve?e.constructor:void 0,n=r?_h(r):"";if(n)switch(n){case ove:return QB;case lve:return WB;case uve:return YB;case cve:return XB;case hve:return KB}return t});var ZB=xl.Uint8Array,dve="__lodash_hash_undefined__";function fve(e){return this.__data__.set(e,dve),this}function pve(e){return this.__data__.has(e)}function Bm(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Cl;++t<r;)this.add(e[t])}Bm.prototype.add=Bm.prototype.push=fve;Bm.prototype.has=pve;function mve(e,t){for(var r=-1,n=e==null?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}function GV(e,t){return e.has(t)}var gve=1,yve=2;function WV(e,t,r,n,i,a){var s=r&gve,l=e.length,u=t.length;if(l!=u&&!(s&&u>l))return!1;var h=a.get(e),d=a.get(t);if(h&&d)return h==t&&d==e;var f=-1,m=!0,y=r&yve?new Bm:void 0;for(a.set(e,t),a.set(t,e);++f<l;){var b=e[f],v=t[f];if(n)var k=s?n(v,b,f,t,e,a):n(b,v,f,e,t,a);if(k!==void 0){if(k)continue;m=!1;break}if(y){if(!mve(t,function(w,_){if(!GV(y,_)&&(b===w||i(b,w,r,n,a)))return y.push(_)})){m=!1;break}}else if(!(b===v||i(b,v,r,n,a))){m=!1;break}}return a.delete(e),a.delete(t),m}function bve(e){var t=-1,r=Array(e.size);return e.forEach(function(n,i){r[++t]=[i,n]}),r}function D_(e){var t=-1,r=Array(e.size);return e.forEach(function(n){r[++t]=n}),r}var xve=1,vve=2,Cve="[object Boolean]",Tve="[object Date]",kve="[object Error]",wve="[object Map]",_ve="[object Number]",Sve="[object RegExp]",Eve="[object Set]",Ave="[object String]",Lve="[object Symbol]",Nve="[object ArrayBuffer]",Mve="[object DataView]",JB=mo?mo.prototype:void 0,zC=JB?JB.valueOf:void 0;function Bve(e,t,r,n,i,a,s){switch(r){case Mve:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case Nve:return!(e.byteLength!=t.byteLength||!a(new ZB(e),new ZB(t)));case Cve:case Tve:case _ve:return IV(+e,+t);case kve:return e.name==t.name&&e.message==t.message;case Sve:case Ave:return e==t+"";case wve:var l=bve;case Eve:var u=n&xve;if(l||(l=D_),e.size!=t.size&&!u)return!1;var h=s.get(e);if(h)return h==t;n|=vve,s.set(e,t);var d=WV(l(e),l(t),n,i,a,s);return s.delete(e),d;case Lve:if(zC)return zC.call(e)==zC.call(t)}return!1}var Rve=1,Ove=Object.prototype,Dve=Ove.hasOwnProperty;function Ive(e,t,r,n,i,a){var s=r&Rve,l=GB(e),u=l.length,h=GB(t),d=h.length;if(u!=d&&!s)return!1;for(var f=u;f--;){var m=l[f];if(!(s?m in t:Dve.call(t,m)))return!1}var y=a.get(e),b=a.get(t);if(y&&b)return y==t&&b==e;var v=!0;a.set(e,t),a.set(t,e);for(var k=s;++f<u;){m=l[f];var w=e[m],_=t[m];if(n)var S=s?n(_,w,m,t,e,a):n(w,_,m,e,t,a);if(!(S===void 0?w===_||i(w,_,r,n,a):S)){v=!1;break}k||(k=m=="constructor")}if(v&&!k){var N=e.constructor,O=t.constructor;N!=O&&"constructor"in e&&"constructor"in t&&!(typeof N=="function"&&N instanceof N&&typeof O=="function"&&O instanceof O)&&(v=!1)}return a.delete(e),a.delete(t),v}var Pve=1,eR="[object Arguments]",tR="[object Array]",my="[object Object]",Fve=Object.prototype,rR=Fve.hasOwnProperty;function $ve(e,t,r,n,i,a){var s=ha(e),l=ha(t),u=s?tR:nl(e),h=l?tR:nl(t);u=u==eR?my:u,h=h==eR?my:h;var d=u==my,f=h==my,m=u==h;if(m&&d2(e)){if(!d2(t))return!1;s=!0,d=!1}if(m&&!d)return a||(a=new cl),s||B_(e)?WV(e,t,r,n,i,a):Bve(e,t,u,r,n,i,a);if(!(r&Pve)){var y=d&&rR.call(e,"__wrapped__"),b=f&&rR.call(t,"__wrapped__");if(y||b){var v=y?e.value():e,k=b?t.value():t;return a||(a=new cl),i(v,k,r,n,a)}}return m?(a||(a=new cl),Ive(e,t,r,n,i,a)):!1}function I_(e,t,r,n,i){return e===t?!0:e==null||t==null||!dh(e)&&!dh(t)?e!==e&&t!==t:$ve(e,t,r,n,I_,i)}var zve=1,jve=2;function Hve(e,t,r,n){var i=r.length,a=i;if(e==null)return!a;for(e=Object(e);i--;){var s=r[i];if(s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++i<a;){s=r[i];var l=s[0],u=e[l],h=s[1];if(s[2]){if(u===void 0&&!(l in e))return!1}else{var d=new cl,f;if(!(f===void 0?I_(h,u,zve|jve,n,d):f))return!1}}return!0}function YV(e){return e===e&&!N_(e)}function Uve(e){for(var t=ao(e),r=t.length;r--;){var n=t[r],i=e[n];t[r]=[n,i,YV(i)]}return t}function XV(e,t){return function(r){return r==null?!1:r[e]===t&&(t!==void 0||e in Object(r))}}function qve(e){var t=Uve(e);return t.length==1&&t[0][2]?XV(t[0][0],t[0][1]):function(r){return r===e||Hve(r,e,t)}}function Vve(e,t){return e!=null&&t in Object(e)}function Gve(e,t,r){t=HV(t,e);for(var n=-1,i=t.length,a=!1;++n<i;){var s=Rx(t[n]);if(!(a=e!=null&&r(e,s)))break;e=e[s]}return a||++n!=i?a:(i=e==null?0:e.length,!!i&&M_(i)&&DV(s,i)&&(ha(e)||Nx(e)))}function Wve(e,t){return e!=null&&Gve(e,t,Vve)}var Yve=1,Xve=2;function Kve(e,t){return R_(e)&&YV(t)?XV(Rx(e),t):function(r){var n=V4e(r,e);return n===void 0&&n===t?Wve(r,e):I_(t,n,Yve|Xve)}}function Qve(e){return function(t){return t?.[e]}}function Zve(e){return function(t){return UV(t,e)}}function Jve(e){return R_(e)?Qve(Rx(e)):Zve(e)}function KV(e){return typeof e=="function"?e:e==null?Ax:typeof e=="object"?ha(e)?Kve(e[0],e[1]):qve(e):Jve(e)}function eCe(e){return function(t,r,n){for(var i=-1,a=Object(t),s=n(t),l=s.length;l--;){var u=s[++i];if(r(a[u],u,a)===!1)break}return t}}var tCe=eCe();function rCe(e,t){return e&&tCe(e,t,ao)}function nCe(e,t){return function(r,n){if(r==null)return r;if(!Lx(r))return e(r,n);for(var i=r.length,a=-1,s=Object(r);++a<i&&n(s[a],a,s)!==!1;);return r}}var P_=nCe(rCe);function iCe(e){return dh(e)&&Lx(e)}function aCe(e){return typeof e=="function"?e:Ax}function Ec(e,t){var r=ha(e)?f3e:P_;return r(e,aCe(t))}function sCe(e,t){var r=[];return P_(e,function(n,i,a){t(n,i,a)&&r.push(n)}),r}function gy(e,t){var r=ha(e)?VV:sCe;return r(e,KV(t))}function oCe(e,t){return RV(t,function(r){return e[r]})}function jC(e){return e==null?[]:oCe(e,ao(e))}var lCe="[object Map]",uCe="[object Set]",cCe=Object.prototype,hCe=cCe.hasOwnProperty;function nR(e){if(e==null)return!0;if(Lx(e)&&(ha(e)||typeof e=="string"||typeof e.splice=="function"||d2(e)||B_(e)||Nx(e)))return!e.length;var t=nl(e);if(t==lCe||t==uCe)return!e.size;if(PV(e))return!jV(e).length;for(var r in e)if(hCe.call(e,r))return!1;return!0}function Fd(e){return e===void 0}function dCe(e,t,r,n,i){return i(e,function(a,s,l){r=n?(n=!1,a):t(r,a,s,l)}),r}function fCe(e,t,r){var n=ha(e)?Y4e:dCe,i=arguments.length<3;return n(e,KV(t),r,i,P_)}var pCe=1/0,mCe=Jd&&1/D_(new Jd([,-0]))[1]==pCe?function(e){return new Jd(e)}:s3e,gCe=200;function yCe(e,t,r){var n=-1,i=b3e,a=e.length,s=!0,l=[],u=l;if(a>=gCe){var h=mCe(e);if(h)return D_(h);s=!1,i=GV,u=new Bm}else u=l;e:for(;++n<a;){var d=e[n],f=d;if(d=d!==0?d:0,s&&f===f){for(var m=u.length;m--;)if(u[m]===f)continue e;l.push(d)}else i(u,f,r)||(u!==l&&u.push(f),l.push(d))}return l}var bCe=T3e(function(e){return yCe(W4e(e,1,iCe,!0))}),xCe="\0",Ac="\0",iR="";class Ox{constructor(t={}){this._isDirected=Object.prototype.hasOwnProperty.call(t,"directed")?t.directed:!0,this._isMultigraph=Object.prototype.hasOwnProperty.call(t,"multigraph")?t.multigraph:!1,this._isCompound=Object.prototype.hasOwnProperty.call(t,"compound")?t.compound:!1,this._label=void 0,this._defaultNodeLabelFn=Up(void 0),this._defaultEdgeLabelFn=Up(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[Ac]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(t){return this._label=t,this}graph(){return this._label}setDefaultNodeLabel(t){return h2(t)||(t=Up(t)),this._defaultNodeLabelFn=t,this}nodeCount(){return this._nodeCount}nodes(){return ao(this._nodes)}sources(){var t=this;return gy(this.nodes(),function(r){return nR(t._in[r])})}sinks(){var t=this;return gy(this.nodes(),function(r){return nR(t._out[r])})}setNodes(t,r){var n=arguments,i=this;return Ec(t,function(a){n.length>1?i.setNode(a,r):i.setNode(a)}),this}setNode(t,r){return Object.prototype.hasOwnProperty.call(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=r),this):(this._nodes[t]=arguments.length>1?r:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=Ac,this._children[t]={},this._children[Ac][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)}node(t){return this._nodes[t]}hasNode(t){return Object.prototype.hasOwnProperty.call(this._nodes,t)}removeNode(t){if(Object.prototype.hasOwnProperty.call(this._nodes,t)){var r=n=>this.removeEdge(this._edgeObjs[n]);delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],Ec(this.children(t),n=>{this.setParent(n)}),delete this._children[t]),Ec(ao(this._in[t]),r),delete this._in[t],delete this._preds[t],Ec(ao(this._out[t]),r),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Fd(r))r=Ac;else{r+="";for(var n=r;!Fd(n);n=this.parent(n))if(n===t)throw new Error("Setting "+r+" as parent of "+t+" would create a cycle");this.setNode(r)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=r,this._children[r][t]=!0,this}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}parent(t){if(this._isCompound){var r=this._parent[t];if(r!==Ac)return r}}children(t){if(Fd(t)&&(t=Ac),this._isCompound){var r=this._children[t];if(r)return ao(r)}else{if(t===Ac)return this.nodes();if(this.hasNode(t))return[]}}predecessors(t){var r=this._preds[t];if(r)return ao(r)}successors(t){var r=this._sucs[t];if(r)return ao(r)}neighbors(t){var r=this.predecessors(t);if(r)return bCe(r,this.successors(t))}isLeaf(t){var r;return this.isDirected()?r=this.successors(t):r=this.neighbors(t),r.length===0}filterNodes(t){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var n=this;Ec(this._nodes,function(s,l){t(l)&&r.setNode(l,s)}),Ec(this._edgeObjs,function(s){r.hasNode(s.v)&&r.hasNode(s.w)&&r.setEdge(s,n.edge(s))});var i={};function a(s){var l=n.parent(s);return l===void 0||r.hasNode(l)?(i[s]=l,l):l in i?i[l]:a(l)}return this._isCompound&&Ec(r.nodes(),function(s){r.setParent(s,a(s))}),r}setDefaultEdgeLabel(t){return h2(t)||(t=Up(t)),this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return jC(this._edgeObjs)}setPath(t,r){var n=this,i=arguments;return fCe(t,function(a,s){return i.length>1?n.setEdge(a,s,r):n.setEdge(a,s),s}),this}setEdge(){var t,r,n,i,a=!1,s=arguments[0];typeof s=="object"&&s!==null&&"v"in s?(t=s.v,r=s.w,n=s.name,arguments.length===2&&(i=arguments[1],a=!0)):(t=s,r=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),t=""+t,r=""+r,Fd(n)||(n=""+n);var l=qp(this._isDirected,t,r,n);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,l))return a&&(this._edgeLabels[l]=i),this;if(!Fd(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(r),this._edgeLabels[l]=a?i:this._defaultEdgeLabelFn(t,r,n);var u=vCe(this._isDirected,t,r,n);return t=u.v,r=u.w,Object.freeze(u),this._edgeObjs[l]=u,aR(this._preds[r],t),aR(this._sucs[t],r),this._in[r][l]=u,this._out[t][l]=u,this._edgeCount++,this}edge(t,r,n){var i=arguments.length===1?HC(this._isDirected,arguments[0]):qp(this._isDirected,t,r,n);return this._edgeLabels[i]}hasEdge(t,r,n){var i=arguments.length===1?HC(this._isDirected,arguments[0]):qp(this._isDirected,t,r,n);return Object.prototype.hasOwnProperty.call(this._edgeLabels,i)}removeEdge(t,r,n){var i=arguments.length===1?HC(this._isDirected,arguments[0]):qp(this._isDirected,t,r,n),a=this._edgeObjs[i];return a&&(t=a.v,r=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],sR(this._preds[r],t),sR(this._sucs[t],r),delete this._in[r][i],delete this._out[t][i],this._edgeCount--),this}inEdges(t,r){var n=this._in[t];if(n){var i=jC(n);return r?gy(i,function(a){return a.v===r}):i}}outEdges(t,r){var n=this._out[t];if(n){var i=jC(n);return r?gy(i,function(a){return a.w===r}):i}}nodeEdges(t,r){var n=this.inEdges(t,r);if(n)return n.concat(this.outEdges(t,r))}}Ox.prototype._nodeCount=0;Ox.prototype._edgeCount=0;function aR(e,t){e[t]?e[t]++:e[t]=1}function sR(e,t){--e[t]||delete e[t]}function qp(e,t,r,n){var i=""+t,a=""+r;if(!e&&i>a){var s=i;i=a,a=s}return i+iR+a+iR+(Fd(n)?xCe:n)}function vCe(e,t,r,n){var i=""+t,a=""+r;if(!e&&i>a){var s=i;i=a,a=s}var l={v:i,w:a};return n&&(l.name=n),l}function HC(e,t){return qp(e,t.v,t.w,t.name)}function QV(e,{edgePathsClass:t="edges edgePaths"}={}){const r=e.insert("g").attr("class","root"),n=r.insert("g").attr("class","clusters"),i=r.insert("g").attr("class",t),a=r.insert("g").attr("class","edgeLabels"),s=r.insert("g").attr("class","nodes");return{clusters:n,edgePaths:i,edgeLabels:a,nodes:s,rootGroups:r}}L(QV,"createLayoutElementGroups");async function ZV(e,t){if(t.label){const{shapeSvg:r,bbox:n}=await Nt(e,t);t.labelBBox={width:n.width,height:n.height},r.remove()}else t.labelBBox={width:0,height:0}}L(ZV,"measureGroupLabel");async function JV(e,t,r){const n=await E_(e,t,r),i=n.node()?.getBBox()??{width:0,height:0};return t.width=i.width,t.height=i.height,n}L(JV,"insertMeasuredNode");async function eG(e,t){const r=new Ox({multigraph:!0,compound:!0}),n=[...t.edges],i=lr(),a=QV(e),{edgeLabels:s,nodes:l}=a,u=new Map,h=e.node()!=null;await Promise.all(t.nodes.map(async d=>{if(d.isGroup)h&&await ZV(l,d),r.setNode(d.id,{...d});else{if(h){const f=await JV(l,d,{config:i,dir:d.dir});u.set(d.id,f)}r.setNode(d.id,{...d})}}));for(const d of n)h&&_V(d)&&await A_(s,d),r.setEdge(d.start,d.end,{...d},d.id),t.edges.some(m=>m.id===d.id)||t.edges.push(d);if(globalThis.mermaidCaptureSizes){const{captureNodeSizes:d}=await Y(async()=>{const{captureNodeSizes:f}=await import("./sizeCapture-INFHLROL-DK3Wt0TI.js");return{captureNodeSizes:f}},[]);d(e,t)}return{graph:r,groups:a,nodeElements:u}}L(eG,"createGraphWithElements");var yr=new Map,Gc=new Map,tG=new Map,CCe=L(()=>{Gc.clear(),tG.clear(),yr.clear()},"clear"),Rm=L((e,t)=>{const r=Gc.get(t)||[];return Me.trace("In isDescendant",t," ",e," = ",r.includes(e)),r.includes(e)},"isDescendant"),TCe=L((e,t)=>{const r=Gc.get(t)||[];return Me.info("Descendants of ",t," is ",r),Me.info("Edge is ",e),e.v===t||e.w===t?!1:r?r.includes(e.v)||Rm(e.v,t)||Rm(e.w,t)||r.includes(e.w):(Me.debug("Tilt, ",t,",not in descendants"),!1)},"edgeInCluster"),rG=L((e,t,r,n)=>{Me.debug("Copying children of ",e,"root",n,"data",t.node(e),n);const i=t.children(e)||[];e!==n&&i.push(e),Me.debug("Copying (nodes) clusterId",e,"nodes",i),i.forEach(a=>{if(t.children(a).length>0)rG(a,t,r,n);else{const s=t.node(a);Me.info("cp ",a," to ",n," with parent ",e),r.setNode(a,s),n!==t.parent(a)&&(Me.debug("Setting parent",a,t.parent(a)),r.setParent(a,t.parent(a))),e!==n&&a!==e?(Me.debug("Setting parent",a,e),r.setParent(a,e)):(Me.info("In copy ",e,"root",n,"data",t.node(e),n),Me.debug("Not Setting parent for node=",a,"cluster!==rootId",e!==n,"node!==clusterId",a!==e));const l=t.edges(a);Me.debug("Copying Edges",l),l.forEach(u=>{Me.info("Edge",u);const h=t.edge(u.v,u.w,u.name);Me.info("Edge data",h,n);try{TCe(u,n)?(Me.info("Copying as ",u.v,u.w,h,u.name),r.setEdge(u.v,u.w,h,u.name),Me.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):Me.info("Skipping copy of edge ",u.v,"-->",u.w," rootId: ",n," clusterId:",e)}catch(d){Me.error(d)}})}Me.debug("Removing node",a),t.removeNode(a)})},"copy"),nG=L((e,t)=>{const r=t.children(e);let n=[...r];for(const i of r)tG.set(i,e),n=[...n,...nG(i,t)];return n},"extractDescendants"),kCe=L((e,t,r)=>{const n=e.edges().filter(u=>u.v===t||u.w===t),i=e.edges().filter(u=>u.v===r||u.w===r),a=n.map(u=>({v:u.v===t?r:u.v,w:u.w===t?t:u.w})),s=i.map(u=>({v:u.v,w:u.w}));return a.filter(u=>s.some(h=>u.v===h.v&&u.w===h.w))},"findCommonEdges"),f2=L((e,t,r)=>{const n=t.children(e);if(Me.trace("Searching children of id ",e,n),n.length<1)return e;let i;for(const a of n){const s=f2(a,t,r),l=kCe(t,r,s);if(s)if(l.length>0)i=s;else return s}return i},"findNonClusterChild"),oR=L(e=>!yr.has(e)||!yr.get(e).externalConnections?e:yr.has(e)?yr.get(e).id:e,"getAnchorId"),Ize=L((e,t)=>{if(!e||t>10){Me.debug("Opting out, no graph ");return}else Me.debug("Opting in, graph ");e.nodes().forEach(function(r){e.children(r).length>0&&(Me.debug("Cluster identified",r," Replacement id in edges: ",f2(r,e,r)),Gc.set(r,nG(r,e)),yr.set(r,{id:f2(r,e,r),clusterData:e.node(r)}))}),e.nodes().forEach(function(r){const n=e.children(r),i=e.edges();n.length>0?(Me.debug("Cluster identified",r,Gc),i.forEach(a=>{const s=Rm(a.v,r),l=Rm(a.w,r);s^l&&(Me.debug("Edge: ",a," leaves cluster ",r),Me.debug("Descendants of XXX ",r,": ",Gc.get(r)),yr.get(r).externalConnections=!0)})):Me.debug("Not a cluster ",r,Gc)});for(let r of yr.keys()){const n=yr.get(r).id,i=e.parent(n);i!==r&&yr.has(i)&&!yr.get(i).externalConnections&&(yr.get(r).id=i);const a=e.edges().some(s=>s.v===r);if(n&&yr.get(r)?.externalConnections&&a&&sG(e,n,r)){const s=wCe(e,r,e.parent(n));s&&(yr.get(r).id=s)}}e.edges().forEach(function(r){const n=e.edge(r);Me.debug("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(r)),Me.debug("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(e.edge(r)));let i=r.v,a=r.w;if(Me.debug("Fix XXX",yr,"ids:",r.v,r.w,"Translating: ",yr.get(r.v)," --- ",yr.get(r.w)),yr.get(r.v)||yr.get(r.w)){if(Me.debug("Fixing and trying - removing XXX",r.v,r.w,r.name),i=oR(r.v),a=oR(r.w),e.removeEdge(r.v,r.w,r.name),i!==r.v){const s=e.parent(i);yr.get(s).externalConnections=!0,n.fromCluster=r.v}if(a!==r.w){const s=e.parent(a);yr.get(s).externalConnections=!0,n.toCluster=r.w}Me.debug("Fix Replacing with XXX",i,a,r.name),e.setEdge(i,a,n,r.name)}}),iG(e,0),Me.trace(yr)},"adjustClustersAndEdges"),iG=L((e,t)=>{if(t>10){Me.error("Bailing out");return}let r=e.nodes(),n=!1;for(const i of r){const a=e.children(i);n=n||a.length>0}if(!n){Me.debug("Done, no node has children",e.nodes());return}Me.debug("Nodes = ",r,t);for(const i of r)if(Me.debug("Extracting node",i,yr,yr.has(i)&&!yr.get(i).externalConnections,!e.parent(i),e.node(i),e.children("D")," Depth ",t),!yr.has(i))Me.debug("Not a cluster",i,t);else if(!yr.get(i).externalConnections&&e.children(i)&&e.children(i).length>0){Me.debug("Cluster without external connections, without a parent and with children",i,t);let s=e.graph().rankdir==="TB"?"LR":"TB";yr.get(i)?.clusterData?.dir&&(s=yr.get(i).clusterData.dir,Me.debug("Fixing dir",yr.get(i).clusterData.dir,s));const l=new Ox({multigraph:!0,compound:!0}).setGraph({rankdir:s,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});rG(i,e,l,i),e.setNode(i,{clusterNode:!0,id:i,clusterData:yr.get(i).clusterData,label:yr.get(i).label,graph:l})}else Me.debug("Cluster ** ",i," **not meeting the criteria !externalConnections:",!yr.get(i).externalConnections," no parent: ",!e.parent(i)," children ",e.children(i)&&e.children(i).length>0,e.children("D"),t),Me.debug(yr);r=e.nodes(),Me.debug("New list of nodes",r);for(const i of r){const a=e.node(i);Me.debug(" Now next level",i,a),a?.clusterNode&&iG(a.graph,t+1)}},"extractor"),aG=L((e,t)=>{if(t.length===0)return[];let r=Object.assign([],t);return t.forEach(n=>{const i=e.children(n),a=aG(e,i);r=[...r,...a]}),r},"sorter"),Pze=L(e=>aG(e,e.children()),"sortNodesByHierarchy"),sG=L((e,t,r)=>{let n=e.parent(t);for(;n&&n!==r;){const i=yr.get(n);if(i&&!i.externalConnections)return!0;n=e.parent(n)}return!1},"isNodeInExtractableCluster"),wCe=L((e,t,r)=>{const n=e.children(t)??[];for(const i of n){if(i===r||Rm(i,r))continue;const a=f2(i,e,t);if(a&&!sG(e,a,t))return a}return null},"findSafeAnchorNode");function _Ce({prepareLayout:e,measureLayout:t,runLayoutCore:r,paintLayout:n,afterPaint:i,paintOptions:a}){const s=t??lG;return L(async function(u,h,d,f){const m=h.select("g");(d?.insertMarkers??NV)(m,u.markers,u.type,u.diagramId),oG();const y={element:m,helpers:d,options:f};y.preparedLayout=await e?.(u,y);const b=await s(u,y),v=await r(u,y),k={...y,measure:b};n?await n(u,k,v):await uG(u,k,a),await i?.(u,k,v)},"render")}L(_Ce,"createCommonLayoutRenderer");function oG(){H2e(),rxe(),K2e(),CCe()}L(oG,"clearLayoutRenderState");async function lG(e,{element:t}){return await eG(t,e)}L(lG,"defaultMeasureLayout");async function uG(e,t,r={}){const{measure:n}=t,{groups:i}=n;for(const s of r.getNodes?.(e,t)??e.nodes)r.skipNode?.(s,t)||await cG(i,s,t,r);const a=dG(e.nodes);for(const s of e.edges)fG(s,r)||await pG(i,s,a,e,r,t)}L(uG,"paintLayoutData");async function cG(e,t,r,n){t.clusterNode?AB(t):hG(t,r,n)?await wV(e.clusters,t):AB(t)}L(cG,"paintLayoutNode");function hG(e,t,r){return e.isGroup===!0&&(r.isCluster?.(e,t)??!0)}L(hG,"shouldPaintAsCluster");function dG(e){const t=new Map;for(const r of e)r?.id&&t.set(r.id,r);return t}L(dG,"buildNodeLookup");function fG(e,t){return e.isLayoutOnly||!!t.skipEdge?.(e)}L(fG,"shouldSkipPaintEdge");async function pG(e,t,r,n,i,a){const s=EV(e.edgePaths,{...t},i.clusterDb??new Map,n.type,Rk(t.start,t,r,a,i),Rk(t.end,t,r,a,i),n.diagramId,mG(t,i));_V(t)&&(A0.has(t.id)||await A_(e.edgeLabels,t),gG(t,s))}L(pG,"paintLayoutEdge");function Rk(e,t,r,n,i){return i.getEdgeNode?.(e,t,n)??(e?r.get(e)??{}:{})}L(Rk,"getRenderedNode");function mG(e,t){return typeof t.skipIntersect=="function"?t.skipIntersect(e):t.skipIntersect??!1}L(mG,"shouldSkipIntersect");function gG(e,t){const r=t?.updatedPath??t?.originalPath,n=sn(),{subGraphTitleTotalMargin:i}=Sx({flowchart:n.flowchart??{}});if(e.label){const a=A0.get(e.id);let s=e.x,l=e.y;if(r){const u=Li.calcLabelPosition(r);Me.debug("Moving label "+e.label+" from (",s,",",l,") to (",u.x,",",u.y,") abc88"),t?.updatedPath&&(s=u.x,l=u.y)}a.attr("transform",`translate(${s}, ${l+i/2})`)}if(e?.startLabelLeft){const a=Tn.get(e.id).startLeft;let s=e?.x,l=e?.y;if(r){const u=Li.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(e.startLabelRight){const a=Tn.get(e.id).startRight;let s=e.x,l=e.y;if(r){const u=Li.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(e.endLabelLeft){const a=Tn.get(e.id).endLeft;let s=e.x,l=e.y;if(r){const u=Li.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(e.endLabelRight){const a=Tn.get(e.id).endRight;let s=e.x,l=e.y;if(r){const u=Li.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}}L(gG,"positionRenderedEdgeLabel");function yG(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}L(yG,"getDefaultExportFromCjs");var wi={},yy={},fu={},lR;function K0(){if(lR)return fu;lR=1;function e(s){return typeof s>"u"||s===null}L(e,"isNothing");function t(s){return typeof s=="object"&&s!==null}L(t,"isObject");function r(s){return Array.isArray(s)?s:e(s)?[]:[s]}L(r,"toArray");function n(s,l){if(l){const u=Object.keys(l);for(let h=0,d=u.length;h<d;h+=1){const f=u[h];s[f]=l[f]}}return s}L(n,"extend");function i(s,l){let u="";for(let h=0;h<l;h+=1)u+=s;return u}L(i,"repeat");function a(s){return s===0&&Number.NEGATIVE_INFINITY===1/s}return L(a,"isNegativeZero"),fu.isNothing=e,fu.isObject=t,fu.toArray=r,fu.repeat=i,fu.isNegativeZero=a,fu.extend=n,fu}L(K0,"requireCommon");var UC,uR;function Q0(){if(uR)return UC;uR=1;function e(r,n){let i="";const a=r.reason||"(unknown reason)";return r.mark?(r.mark.name&&(i+='in "'+r.mark.name+'" '),i+="("+(r.mark.line+1)+":"+(r.mark.column+1)+")",!n&&r.mark.snippet&&(i+=`
710
710
 
711
711
  `+r.mark.snippet),a+" "+i):a}L(e,"formatError");function t(r,n){Error.call(this),this.name="YAMLException",this.reason=r,this.mark=n,this.message=e(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}return L(t,"YAMLException2"),t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t.prototype.toString=L(function(n){return this.name+": "+e(this,n)},"toString"),UC=t,UC}L(Q0,"requireException");var qC,cR;function bG(){if(cR)return qC;cR=1;const e=K0();function t(i,a,s,l,u){let h="",d="";const f=Math.floor(u/2)-1;return l-a>f&&(h=" ... ",a=l-f+h.length),s-l>f&&(d=" ...",s=l+f-d.length),{str:h+i.slice(a,s).replace(/\t/g,"→")+d,pos:l-a+h.length}}L(t,"getLine");function r(i,a){return e.repeat(" ",a-i.length)+i}L(r,"padStart");function n(i,a){if(a=Object.create(a||null),!i.buffer)return null;a.maxLength||(a.maxLength=79),typeof a.indent!="number"&&(a.indent=1),typeof a.linesBefore!="number"&&(a.linesBefore=3),typeof a.linesAfter!="number"&&(a.linesAfter=2);const s=/\r?\n|\r|\0/g,l=[0],u=[];let h,d=-1;for(;h=s.exec(i.buffer);)u.push(h.index),l.push(h.index+h[0].length),i.position<=h.index&&d<0&&(d=l.length-2);d<0&&(d=l.length-1);let f="";const m=Math.min(i.line+a.linesAfter,u.length).toString().length,y=a.maxLength-(a.indent+m+3);for(let v=1;v<=a.linesBefore&&!(d-v<0);v++){const k=t(i.buffer,l[d-v],u[d-v],i.position-(l[d]-l[d-v]),y);f=e.repeat(" ",a.indent)+r((i.line-v+1).toString(),m)+" | "+k.str+`
712
712
  `+f}const b=t(i.buffer,l[d],u[d],i.position,y);f+=e.repeat(" ",a.indent)+r((i.line+1).toString(),m)+" | "+b.str+`
@@ -737,8 +737,8 @@ ${a.join(`
737
737
  `+V.slice(He,Ue),He=Ue+1),qe=dt;return st+=`
738
738
  `,V.length-He>Se&&qe>He?st+=V.slice(He,qe)+`
739
739
  `+V.slice(qe+1):st+=V.slice(He),st.slice(1)}L(gr,"foldLine");function Kr(V){let Se="",We=0;for(let ze=0;ze<V.length;We>=65536?ze+=2:ze++){We=Ye(V,ze);const He=ie[We];!He&&ce(We)?(Se+=V[ze],We>=65536&&(Se+=V[ze+1])):Se+=He||K(We)}return Se}L(Kr,"escapeString");function un(V,Se,We){let ze="";const He=V.tag;for(let Ue=0,qe=We.length;Ue<qe;Ue+=1){let dt=We[Ue];V.replacer&&(dt=V.replacer.call(We,String(Ue),dt)),(be(V,Se,dt,!1,!1)||typeof dt>"u"&&be(V,Se,null,!1,!1))&&(ze!==""&&(ze+=","+(V.condenseFlow?"":" ")),ze+=V.dump)}V.tag=He,V.dump="["+ze+"]"}L(un,"writeFlowSequence");function xt(V,Se,We,ze){let He="";const Ue=V.tag;for(let qe=0,dt=We.length;qe<dt;qe+=1){let st=We[qe];V.replacer&&(st=V.replacer.call(We,String(qe),st)),(be(V,Se+1,st,!0,!0,!1,!0)||typeof st>"u"&&be(V,Se+1,null,!0,!0,!1,!0))&&((!ze||He!=="")&&(He+=W(V,Se)),V.dump&&l===V.dump.charCodeAt(0)?He+="-":He+="- ",He+=V.dump)}V.tag=Ue,V.dump=He||"[]"}L(xt,"writeBlockSequence");function we(V,Se,We){let ze="";const He=V.tag,Ue=Object.keys(We);for(let qe=0,dt=Ue.length;qe<dt;qe+=1){let st="";ze!==""&&(st+=", "),V.condenseFlow&&(st+='"');const mt=Ue[qe];let Lt=We[mt];V.replacer&&(Lt=V.replacer.call(We,mt,Lt)),be(V,Se,mt,!1,!1)&&(V.dump.length>1024&&(st+="? "),st+=V.dump+(V.condenseFlow?'"':"")+":"+(V.condenseFlow?"":" "),be(V,Se,Lt,!1,!1)&&(st+=V.dump,ze+=st))}V.tag=He,V.dump="{"+ze+"}"}L(we,"writeFlowMapping");function E(V,Se,We,ze){let He="";const Ue=V.tag,qe=Object.keys(We);if(V.sortKeys===!0)qe.sort();else if(typeof V.sortKeys=="function")qe.sort(V.sortKeys);else if(V.sortKeys)throw new t("sortKeys must be a boolean or a function");for(let dt=0,st=qe.length;dt<st;dt+=1){let mt="";(!ze||He!=="")&&(mt+=W(V,Se));const Lt=qe[dt];let $t=We[Lt];if(V.replacer&&($t=V.replacer.call(We,Lt,$t)),!be(V,Se+1,Lt,!0,!0,!0))continue;const ne=V.tag!==null&&V.tag!=="?"||V.dump&&V.dump.length>1024;ne&&(V.dump&&l===V.dump.charCodeAt(0)?mt+="?":mt+="? "),mt+=V.dump,ne&&(mt+=W(V,Se)),be(V,Se+1,$t,!0,ne)&&(V.dump&&l===V.dump.charCodeAt(0)?mt+=":":mt+=": ",mt+=V.dump,He+=mt)}V.tag=Ue,V.dump=He||"{}"}L(E,"writeBlockMapping");function oe(V,Se,We){const ze=We?V.explicitTypes:V.implicitTypes;for(let He=0,Ue=ze.length;He<Ue;He+=1){const qe=ze[He];if((qe.instanceOf||qe.predicate)&&(!qe.instanceOf||typeof Se=="object"&&Se instanceof qe.instanceOf)&&(!qe.predicate||qe.predicate(Se))){if(We?qe.multi&&qe.representName?V.tag=qe.representName(Se):V.tag=qe.tag:V.tag="?",qe.represent){const dt=V.styleMap[qe.tag]||qe.defaultStyle;let st;if(n.call(qe.represent)==="[object Function]")st=qe.represent(Se,dt);else if(i.call(qe.represent,dt))st=qe.represent[dt](Se,dt);else throw new t("!<"+qe.tag+'> tag resolver accepts not "'+dt+'" style');V.dump=st}return!0}}return!1}L(oe,"detectType");function be(V,Se,We,ze,He,Ue,qe){V.tag=null,V.dump=We,oe(V,We,!1)||oe(V,We,!0);const dt=n.call(V.dump),st=ze;ze&&(ze=V.flowLevel<0||V.flowLevel>Se);const mt=dt==="[object Object]"||dt==="[object Array]";let Lt,$t;if(mt&&(Lt=V.duplicates.indexOf(We),$t=Lt!==-1),(V.tag!==null&&V.tag!=="?"||$t||V.indent!==2&&Se>0)&&(He=!1),$t&&V.usedDuplicates[Lt])V.dump="*ref_"+Lt;else{if(mt&&$t&&!V.usedDuplicates[Lt]&&(V.usedDuplicates[Lt]=!0),dt==="[object Object]")ze&&Object.keys(V.dump).length!==0?(E(V,Se,V.dump,He),$t&&(V.dump="&ref_"+Lt+V.dump)):(we(V,Se,V.dump),$t&&(V.dump="&ref_"+Lt+" "+V.dump));else if(dt==="[object Array]")ze&&V.dump.length!==0?(V.noArrayIndent&&!qe&&Se>0?xt(V,Se-1,V.dump,He):xt(V,Se,V.dump,He),$t&&(V.dump="&ref_"+Lt+V.dump)):(un(V,Se,V.dump),$t&&(V.dump="&ref_"+Lt+" "+V.dump));else if(dt==="[object String]")V.tag!=="?"&&Tr(V,V.dump,Se,Ue,st);else{if(dt==="[object Undefined]")return!1;if(V.skipInvalid)return!1;throw new t("unacceptable kind of an object to dump "+dt)}if(V.tag!==null&&V.tag!=="?"){let ne=encodeURI(V.tag[0]==="!"?V.tag.slice(1):V.tag).replace(/!/g,"%21");V.tag[0]==="!"?ne="!"+ne:ne.slice(0,18)==="tag:yaml.org,2002:"?ne="!!"+ne.slice(18):ne="!<"+ne+">",V.dump=ne+" "+V.dump}}return!0}L(be,"writeNode");function Be(V,Se){const We=[],ze=[];_e(V,We,ze);const He=ze.length;for(let Ue=0;Ue<He;Ue+=1)Se.duplicates.push(We[ze[Ue]]);Se.usedDuplicates=new Array(He)}L(Be,"getDuplicateReferences");function _e(V,Se,We){if(V!==null&&typeof V=="object"){const ze=Se.indexOf(V);if(ze!==-1)We.indexOf(ze)===-1&&We.push(ze);else if(Se.push(V),Array.isArray(V))for(let He=0,Ue=V.length;He<Ue;He+=1)_e(V[He],Se,We);else{const He=Object.keys(V);for(let Ue=0,qe=He.length;Ue<qe;Ue+=1)_e(V[He[Ue]],Se,We)}}}L(_e,"inspectNode");function Xe(V,Se){Se=Se||{};const We=new Re(Se);We.noRefs||Be(V,We);let ze=V;return We.replacer&&(ze=We.replacer.call({"":ze},"",ze)),be(We,0,ze,!0,!0)?We.dump+`
740
- `:""}return L(Xe,"dump2"),c5.dump=Xe,c5}L(vG,"requireDumper");var BR;function CG(){if(BR)return wi;BR=1;const e=xG(),t=vG();function r(n,i){return function(){throw new Error("Function yaml."+n+" is removed in js-yaml 4. Use yaml."+i+" instead, which is now safe by default.")}}return L(r,"renamed"),wi.Type=Ri(),wi.Schema=F_(),wi.FAILSAFE_SCHEMA=H_(),wi.JSON_SCHEMA=W_(),wi.CORE_SCHEMA=Y_(),wi.DEFAULT_SCHEMA=Dx(),wi.load=e.load,wi.loadAll=e.loadAll,wi.dump=t.dump,wi.YAMLException=Q0(),wi.types={binary:Q_(),float:G_(),map:j_(),null:U_(),pairs:J_(),set:eS(),timestamp:X_(),bool:q_(),int:V_(),merge:K_(),omap:Z_(),seq:z_(),str:$_()},wi.safeLoad=r("safeLoad","load"),wi.safeLoadAll=r("safeLoadAll","loadAll"),wi.safeDump=r("safeDump","dump"),wi}L(CG,"requireJsYaml");var SCe=CG(),ECe=yG(SCe),{Type:Fze,Schema:$ze,FAILSAFE_SCHEMA:zze,JSON_SCHEMA:ACe,CORE_SCHEMA:jze,DEFAULT_SCHEMA:Hze,load:LCe,loadAll:Uze,dump:qze,YAMLException:Vze,types:Gze,safeLoad:Wze,safeLoadAll:Yze,safeDump:Xze}=ECe,NCe={common:eg,getConfig:sn,insertCluster:wV,insertEdge:EV,insertEdgeLabel:A_,insertMarkers:NV,insertNode:E_,interpolateToCurve:i_,labelHelper:Nt,log:Me,positionEdgeLabel:nxe},Om={},TG=L(e=>{for(const t of e)Om[t.name]=t},"registerLayoutLoaders"),MCe=L(()=>{TG([{name:"dagre",loader:L(async()=>await Y(()=>import("./dagre-GXQ25YYZ-B8xNwtVY.js"),__vite__mapDeps([125,126])),"loader")},{name:"swimlane",loader:L(async()=>await Y(()=>import("./swimlanes-42K2YHIH-CuZGWGh2.js"),[]),"loader")},{name:"cose-bilkent",loader:L(async()=>await Y(()=>import("./cose-bilkent-JH36ORCC-9ujaMun3.js"),__vite__mapDeps([127,128])),"loader")}])},"registerDefaultLayoutLoaders");MCe();var Kze=L(async(e,t)=>{if(!(e.layoutAlgorithm in Om))throw new Error(`Unknown layout algorithm: ${e.layoutAlgorithm}`);if(e.diagramId)for(const d of e.nodes){const f=d.domId||d.id;d.domId=`${e.diagramId}-${f}`}const r=Om[e.layoutAlgorithm],n=await r.loader(),{theme:i,themeVariables:a}=e.config,{useGradient:s,gradientStart:l,gradientStop:u}=a,h=t.attr("id");if(t.append("defs").append("filter").attr("id",`${h}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${i?.includes("dark")?"#FFFFFF":"#000000"}`),t.append("defs").append("filter").attr("id",`${h}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${i?.includes("dark")?"#FFFFFF":"#000000"}`),s){const d=t.append("linearGradient").attr("id",t.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");d.append("svg:stop").attr("offset","0%").attr("stop-color",l).attr("stop-opacity",1),d.append("svg:stop").attr("offset","100%").attr("stop-color",u).attr("stop-opacity",1)}return n.render(e,t,NCe,{algorithm:r.algorithm})},"render"),Qze=L((e="",{fallback:t="dagre"}={})=>{if(e in Om)return e;if(t in Om)return Me.warn(`Layout algorithm ${e} is not registered. Using ${t} as fallback.`),t;throw new Error(`Both layout algorithms ${e} and ${t} are not registered.`)},"getRegisteredLayoutAlgorithm"),tS="comm",kG="rule",wG="decl",BCe="@media",RCe="@import",OCe="@supports",DCe="@namespace",Ok="@keyframes",_G="@layer",ICe="@scope",PCe=Math.abs,am=String.fromCharCode;function SG(e){return e.trim()}function Dk(e,t,r){return e.replace(t,r)}function e0(e,t){return e.charCodeAt(t)|0}function L0(e,t,r){return e.slice(t,r)}function no(e){return e.length}function EG(e){return e.length}function by(e,t){return t.push(e),e}var Ix=1,N0=1,AG=0,ts=0,Mn=0,Z0="";function rS(e,t,r,n,i,a,s,l){return{value:e,root:t,parent:r,type:n,props:i,children:a,line:Ix,column:N0,length:s,return:"",siblings:l}}function FCe(){return Mn}function $Ce(){return Mn=ts>0?e0(Z0,--ts):0,N0--,Mn===10&&(N0=1,Ix--),Mn}function ws(){return Mn=ts<AG?e0(Z0,ts++):0,N0++,Mn===10&&(N0=1,Ix++),Mn}function Au(){return e0(Z0,ts)}function Xy(){return ts}function Px(e,t){return L0(Z0,e,t)}function Dm(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function zCe(e){return Ix=N0=1,AG=no(Z0=e),ts=0,[]}function jCe(e){return Z0="",e}function h5(e){return SG(Px(ts-1,Ik(e===91?e+2:e===40?e+1:e)))}function HCe(e){for(;(Mn=Au())&&Mn<33;)ws();return Dm(e)>2||Dm(Mn)>3?"":" "}function UCe(e,t){for(;--t&&ws()&&!(Mn<48||Mn>102||Mn>57&&Mn<65||Mn>70&&Mn<97););return Px(e,Xy()+(t<6&&Au()==32&&ws()==32))}function Ik(e){for(;ws();)switch(Mn){case e:return ts;case 34:case 39:e!==34&&e!==39&&Ik(Mn);break;case 40:e===41&&Ik(e);break;case 92:ws();break}return ts}function qCe(e,t){for(;ws()&&e+Mn!==57;)if(e+Mn===84&&Au()===47)break;return"/*"+Px(t,ts-1)+"*"+am(e===47?e:ws())}function VCe(e){for(;!Dm(Au());)ws();return Px(e,ts)}function GCe(e){return jCe(Ky("",null,null,null,[""],e=zCe(e),0,[0],e))}function Ky(e,t,r,n,i,a,s,l,u){for(var h=0,d=0,f=s,m=0,y=0,b=0,v=1,k=1,w=1,_=0,S=0,N="",O=i,I=a,P=n,D=N;k;)switch(b=S,S=ws()){case 40:b!=108&&e0(D,f-1)==58?(_++,D+="("):D+=h5(S);break;case 41:_--,D+=")";break;case 34:case 39:case 91:D+=h5(S);break;case 9:case 10:case 13:case 32:if(_>0){D+=am(S);break}D+=HCe(b);break;case 92:D+=UCe(Xy()-1,7);continue;case 47:switch(Au()){case 42:case 47:by(WCe(qCe(ws(),Xy()),t,r,u),u),(Dm(b||1)==5||Dm(Au()||1)==5)&&no(D)&&L0(D,-1,void 0)!==" "&&(D+=" ");break;default:D+="/"}break;case 123*v:l[h++]=no(D)*w;case 125*v:case 59:case 0:if(_>0&&S){D+=am(S);break}switch(S){case 0:case 125:k=0;case 59+d:w==-1&&(D=Dk(D,/\f/g,"")),y>0&&(no(D)-f||v===0)&&by(y>32?OR(D+";",n,r,f-1,u):OR(Dk(D," ","")+";",n,r,f-2,u),u);break;case 59:D+=";";default:if(by(P=RR(D,t,r,h,d,i,l,N,O=[],I=[],f,a),a),S===123)if(d===0)Ky(D,t,P,P,O,a,f,l,I);else{switch(m){case 99:if(e0(D,3)===110)break;case 108:if(e0(D,2)===97)break;default:d=0;case 100:case 109:case 115:}d?Ky(e,P,P,n&&by(RR(e,P,P,0,0,i,l,N,i,O=[],f,I),I),i,I,f,l,n?O:I):Ky(D,P,P,P,[""],I,0,l,I)}}h=d=y=0,v=w=1,N=D="",f=s;break;case 58:f=1+no(D),y=b;default:if(v<1){if(S==123)--v;else if(S==125&&v++==0&&$Ce()==125)continue}switch(D+=am(S),S*v){case 38:w=d>0?1:(D+="\f",-1);break;case 44:if(_>0)break;l[h++]=(no(D)-1)*w,w=1;break;case 64:Au()===45&&(D+=h5(ws())),m=Au(),d=f=no(N=D+=VCe(Xy())),S++;break;case 45:b===45&&no(D)==2&&(v=0)}}return a}function RR(e,t,r,n,i,a,s,l,u,h,d,f){for(var m=i-1,y=i===0?a:[""],b=EG(y),v=0,k=0,w=0;v<n;++v)for(var _=0,S=L0(e,m+1,m=PCe(k=s[v])),N=e;_<b;++_)(N=SG(k>0?y[_]+" "+S:Dk(S,/&\f/g,y[_])))&&(u[w++]=N);return rS(e,t,r,i===0?kG:l,u,h,d,f)}function WCe(e,t,r,n){return rS(e,t,r,tS,am(FCe()),L0(e,2,-2),0,n)}function OR(e,t,r,n,i){return rS(e,t,r,wG,L0(e,0,n),L0(e,n+1,-1),n,i)}function Pk(e,t){for(var r="",n=0;n<e.length;n++)r+=t(e[n],n,e,t)||"";return r}function YCe(e,t,r,n){switch(e.type){case _G:if(e.children.length)break;case RCe:case DCe:case wG:return e.return=e.return||e.value;case tS:return"";case Ok:return e.return=e.value+"{"+Pk(e.children,n)+"}";case kG:if(!no(e.value=e.props.join(",")))return""}return no(r=Pk(e.children,n))?e.return=e.value+"{"+r+"}":""}function XCe(e){var t=EG(e);return function(r,n,i,a){for(var s="",l=0;l<t;l++)s+=e[l](r,n,i,a)||"";return s}}var LG="c4",KCe=L(e=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),"detector"),QCe=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./c4Diagram-7LVT6UL2-Bx80SfZM.js");return{diagram:t}},__vite__mapDeps([129,130]));return{id:LG,diagram:e}},"loader"),ZCe={id:LG,detector:KCe,loader:QCe},JCe=ZCe,NG="flowchart",e5e=L((e,t)=>t?.flowchart?.defaultRenderer==="dagre-wrapper"||t?.flowchart?.defaultRenderer==="elk"?!1:/^\s*graph/.test(e),"detector"),t5e=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./flowDiagram-HODETNUW-BXiSgIdj.js").then(r=>r.f);return{diagram:t}},__vite__mapDeps([131,132,133,134,130,135]));return{id:NG,diagram:e}},"loader"),r5e={id:NG,detector:e5e,loader:t5e},n5e=r5e,MG="flowchart-v2",i5e=L((e,t)=>t?.flowchart?.defaultRenderer==="dagre-d3"?!1:(t?.flowchart?.defaultRenderer==="elk"&&(t.layout="elk"),/^\s*graph/.test(e)&&t?.flowchart?.defaultRenderer==="dagre-wrapper"?!0:/^\s*flowchart/.test(e)),"detector"),a5e=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./flowDiagram-HODETNUW-BXiSgIdj.js").then(r=>r.f);return{diagram:t}},__vite__mapDeps([131,132,133,134,130,135]));return{id:MG,diagram:e}},"loader"),s5e={id:MG,detector:i5e,loader:a5e},o5e=s5e,BG="swimlane",l5e=L(e=>/^\s*swimlane-beta\b/.test(e),"detector"),u5e=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./swimlanesDiagram-VR7AAH4N-BG9s9tCY.js");return{diagram:t}},__vite__mapDeps([136,131,132,133,134,130,135]));return{id:BG,diagram:e}},"loader"),c5e={id:BG,detector:l5e,loader:u5e},h5e=c5e,RG="er",d5e=L(e=>/^\s*erDiagram/.test(e),"detector"),f5e=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./erDiagram-RLTQ6QDP-CtFAKfHK.js");return{diagram:t}},__vite__mapDeps([137,133,134,135]));return{id:RG,diagram:e}},"loader"),p5e={id:RG,detector:d5e,loader:f5e},m5e=p5e,OG="gitGraph",g5e=L(e=>/^\s*gitGraph/.test(e),"detector"),y5e=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./gitGraphDiagram-WWUBYQGX-D1RSU4p4.js");return{diagram:t}},__vite__mapDeps([138,139,140,141]));return{id:OG,diagram:e}},"loader"),b5e={id:OG,detector:g5e,loader:y5e},x5e=b5e,DG="gantt",v5e=L(e=>/^\s*gantt/.test(e),"detector"),C5e=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./ganttDiagram-EL5Y4UJY-0X4MJoKa.js");return{diagram:t}},__vite__mapDeps([142,143,144,145]));return{id:DG,diagram:e}},"loader"),T5e={id:DG,detector:v5e,loader:C5e},k5e=T5e,IG="info",w5e=L(e=>/^\s*info/.test(e),"detector"),_5e=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./infoDiagram-27XIBGKW-DHPDHcTh.js");return{diagram:t}},__vite__mapDeps([146,141]));return{id:IG,diagram:e}},"loader"),S5e={id:IG,detector:w5e,loader:_5e},PG="pie",E5e=L(e=>/^\s*pie/.test(e),"detector"),A5e=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./pieDiagram-E7YTZNPT-CwX8mvdJ.js");return{diagram:t}},__vite__mapDeps([147,140,141,148,149,144]));return{id:PG,diagram:e}},"loader"),L5e={id:PG,detector:E5e,loader:A5e},FG="quadrantChart",N5e=L(e=>/^\s*quadrantChart/.test(e),"detector"),M5e=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./quadrantDiagram-AXDQQJYC-CoiKagpY.js");return{diagram:t}},__vite__mapDeps([150,143,144,145]));return{id:FG,diagram:e}},"loader"),B5e={id:FG,detector:N5e,loader:M5e},R5e=B5e,$G="xychart",O5e=L(e=>/^\s*xychart(-beta)?/.test(e),"detector"),D5e=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./xychartDiagram-S5SC5T6Z-BVotbEcG.js");return{diagram:t}},__vite__mapDeps([151,144,149,143,145]));return{id:$G,diagram:e}},"loader"),I5e={id:$G,detector:O5e,loader:D5e},P5e=I5e,zG="requirement",F5e=L(e=>/^\s*requirement(Diagram)?/.test(e),"detector"),$5e=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./requirementDiagram-BXWQKSXE-BCksgH3P.js");return{diagram:t}},__vite__mapDeps([152,133,134]));return{id:zG,diagram:e}},"loader"),z5e={id:zG,detector:F5e,loader:$5e},j5e=z5e,jG="sequence",H5e=L(e=>/^\s*sequenceDiagram/.test(e),"detector"),U5e=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./sequenceDiagram-WJ2MYXX4-8myX-w3k.js");return{diagram:t}},__vite__mapDeps([153,139,130]));return{id:jG,diagram:e}},"loader"),q5e={id:jG,detector:H5e,loader:U5e},V5e=q5e,HG="class",G5e=L((e,t)=>t?.class?.defaultRenderer==="dagre-wrapper"?!1:/^\s*classDiagram/.test(e),"detector"),W5e=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./classDiagram-ZZMXUADV-CncavLbb.js");return{diagram:t}},__vite__mapDeps([154,155,132,133,134,130]));return{id:HG,diagram:e}},"loader"),Y5e={id:HG,detector:G5e,loader:W5e},X5e=Y5e,UG="classDiagram",K5e=L((e,t)=>/^\s*classDiagram/.test(e)&&t?.class?.defaultRenderer==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(e),"detector"),Q5e=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./classDiagram-v2-VYDZK3BY-CncavLbb.js");return{diagram:t}},__vite__mapDeps([156,155,132,133,134,130]));return{id:UG,diagram:e}},"loader"),Z5e={id:UG,detector:K5e,loader:Q5e},J5e=Z5e,qG="state",eTe=L((e,t)=>t?.state?.defaultRenderer==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(e),"detector"),tTe=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./stateDiagram-D77RDMKH-eNo1EA8t.js");return{diagram:t}},__vite__mapDeps([157,158,133,134,130,126]));return{id:qG,diagram:e}},"loader"),rTe={id:qG,detector:eTe,loader:tTe},nTe=rTe,VG="stateDiagram",iTe=L((e,t)=>!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&t?.state?.defaultRenderer==="dagre-wrapper"),"detector"),aTe=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./stateDiagram-v2-MP3YSRHH-BZn7zD-F.js");return{diagram:t}},__vite__mapDeps([159,158,133,134,130]));return{id:VG,diagram:e}},"loader"),sTe={id:VG,detector:iTe,loader:aTe},oTe=sTe,GG="journey",lTe=L(e=>/^\s*journey/.test(e),"detector"),uTe=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./journeyDiagram-3NMN7TZE-gQ5s_wv1.js");return{diagram:t}},__vite__mapDeps([160,132,130,148]));return{id:GG,diagram:e}},"loader"),cTe={id:GG,detector:lTe,loader:uTe},hTe=cTe,dTe=L((e,t,r)=>{Me.debug(`rendering svg for syntax error
741
- `);const n=M1e(t),i=n.append("g");n.attr("viewBox","0 0 2412 512"),tH(n,100,512,!0),i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),WG={draw:dTe},fTe=WG,pTe={db:{},renderer:WG,parser:{parse:L(()=>{},"parse")}},mTe=pTe,YG="flowchart-elk",gTe=L((e,t={})=>/^\s*flowchart-elk/.test(e)||/^\s*(flowchart|graph)/.test(e)&&t?.flowchart?.defaultRenderer==="elk"?(t.layout="elk",!0):!1,"detector"),yTe=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./flowDiagram-HODETNUW-BXiSgIdj.js").then(r=>r.f);return{diagram:t}},__vite__mapDeps([131,132,133,134,130,135]));return{id:YG,diagram:e}},"loader"),bTe={id:YG,detector:gTe,loader:yTe},xTe=bTe,XG="timeline",vTe=L(e=>/^\s*timeline/.test(e),"detector"),CTe=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./timeline-definition-24CTP7MA-lyUBY_Xm.js");return{diagram:t}},__vite__mapDeps([161,148]));return{id:XG,diagram:e}},"loader"),TTe={id:XG,detector:vTe,loader:CTe},kTe=TTe,KG="mindmap",wTe=L(e=>/^\s*mindmap/.test(e),"detector"),_Te=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./mindmap-definition-YA3MSWOX-D4R4OXev.js");return{diagram:t}},__vite__mapDeps([162,133,134]));return{id:KG,diagram:e}},"loader"),STe={id:KG,detector:wTe,loader:_Te},ETe=STe,QG="kanban",ATe=L(e=>/^\s*kanban/.test(e),"detector"),LTe=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./kanban-definition-UXKFOSKX-BxwSa57H.js");return{diagram:t}},__vite__mapDeps([163,132]));return{id:QG,diagram:e}},"loader"),NTe={id:QG,detector:ATe,loader:LTe},MTe=NTe,ZG="sankey",BTe=L(e=>/^\s*sankey(-beta)?/.test(e),"detector"),RTe=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./sankeyDiagram-P5KCCOFB-B0xOVx2_.js");return{diagram:t}},__vite__mapDeps([164,149,144]));return{id:ZG,diagram:e}},"loader"),OTe={id:ZG,detector:BTe,loader:RTe},DTe=OTe,JG="packet",ITe=L(e=>/^\s*packet(-beta)?/.test(e),"detector"),PTe=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./diagram-Z3DM3KII-15W3Mbq6.js");return{diagram:t}},__vite__mapDeps([165,140,141]));return{id:JG,diagram:e}},"loader"),FTe={id:JG,detector:ITe,loader:PTe},eW="radar",$Te=L(e=>/^\s*radar-beta/.test(e),"detector"),zTe=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./diagram-UQ7AKVKN-DJEVVOdt.js");return{diagram:t}},__vite__mapDeps([166,140,141]));return{id:eW,diagram:e}},"loader"),jTe={id:eW,detector:$Te,loader:zTe},tW="block",HTe=L(e=>/^\s*block(-beta)?/.test(e),"detector"),UTe=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./blockDiagram-I7D4REHJ-BLw7XXPz.js");return{diagram:t}},__vite__mapDeps([167,132,135]));return{id:tW,diagram:e}},"loader"),qTe={id:tW,detector:HTe,loader:UTe},VTe=qTe,rW="treeView",GTe=L(e=>/^\s*treeView-beta/.test(e),"detector"),WTe=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./diagram-S7CK7UJ4-CbG9exCu.js");return{diagram:t}},__vite__mapDeps([168,139,140,141]));return{id:rW,diagram:e}},"loader"),YTe={id:rW,detector:GTe,loader:WTe},XTe=YTe,nW="architecture",KTe=L(e=>/^\s*architecture/.test(e),"detector"),QTe=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./architectureDiagram-5GKGNRK7-BP4EuLVY.js");return{diagram:t}},__vite__mapDeps([169,140,141,128]));return{id:nW,diagram:e}},"loader"),ZTe={id:nW,detector:KTe,loader:QTe},JTe=ZTe,iW="eventmodeling",eke=L(e=>/^\s*eventmodeling/.test(e),"detector"),tke=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./diagram-VSXAHHWV-DXqMiZ59.js");return{diagram:t}},__vite__mapDeps([170,140,141]));return{id:iW,diagram:e}},"loader"),rke={id:iW,detector:eke,loader:tke},nke=rke,aW="ishikawa",ike=L(e=>/^\s*ishikawa(-beta)?\b/i.test(e),"detector"),ake=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./ishikawaDiagram-5VMMS53U-BaYQe1ZZ.js");return{diagram:t}},[]);return{id:aW,diagram:e}},"loader"),ske={id:aW,detector:ike,loader:ake},sW="venn",oke=L(e=>/^\s*venn-beta/.test(e),"detector"),lke=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./vennDiagram-4TSXK5OY-BaFKzCtR.js");return{diagram:t}},[]);return{id:sW,diagram:e}},"loader"),uke={id:sW,detector:oke,loader:lke},cke=uke,oW="treemap",hke=L(e=>/^\s*treemap/.test(e),"detector"),dke=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./diagram-VX7I27RA-BgUsFlGi.js");return{diagram:t}},__vite__mapDeps([171,140,134,141,145,149,144]));return{id:oW,diagram:e}},"loader"),fke={id:oW,detector:hke,loader:dke},lW="wardley",pke=L(e=>/^\s*wardley-beta/i.test(e),"detector"),mke=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./wardleyDiagram-VM6X3IG4-DMcUcLi9.js");return{diagram:t}},__vite__mapDeps([172,140,141]));return{id:lW,diagram:e}},"loader"),gke={id:lW,detector:pke,loader:mke},yke=gke,uW="cynefin",bke=L(e=>/^\s*cynefin-beta(?:[\s:]|$)/.test(e),"detector"),xke=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./cynefinDiagram-5FMLGOSQ-CI6Scxp6.js");return{diagram:t}},__vite__mapDeps([173,140,141]));return{id:uW,diagram:e}},"loader"),vke={id:uW,detector:bke,loader:xke},cW="railroad",Cke=L(e=>/^\s*railroad-beta/i.test(e),"detector"),Tke=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./railroadDiagram-O6MQD6OU-DZCee713.js");return{diagram:t}},__vite__mapDeps([174,175,140,141]));return{id:cW,diagram:e}},"loader"),kke={id:cW,detector:Cke,loader:Tke},hW="railroadEbnf",wke=L(e=>/^\s*railroad-ebnf-beta/i.test(e),"detector"),_ke=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./ebnfDiagram-PWID7BFC-QnWuy49w.js");return{diagram:t}},__vite__mapDeps([176,175,140,141]));return{id:hW,diagram:e}},"loader"),Ske={id:hW,detector:wke,loader:_ke},dW="railroadAbnf",Eke=L(e=>/^\s*railroad-abnf-beta/i.test(e),"detector"),Ake=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./abnfDiagram-VCTEODGH-BKE3wXte.js");return{diagram:t}},__vite__mapDeps([177,175,140,141]));return{id:dW,diagram:e}},"loader"),Lke={id:dW,detector:Eke,loader:Ake},fW="railroadPeg",Nke=L(e=>/^\s*railroad-peg-beta/i.test(e),"detector"),Mke=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./pegDiagram-XKGWAZYB-BnVd3_9Z.js");return{diagram:t}},__vite__mapDeps([178,175,140,141]));return{id:fW,diagram:e}},"loader"),Bke={id:fW,detector:Nke,loader:Mke},DR=!1,Fx=L(()=>{DR||(DR=!0,Gb("error",mTe,e=>e.toLowerCase().trim()==="error"),Gb("---",{db:{clear:L(()=>{},"clear")},styles:{},renderer:{draw:L(()=>{},"draw")},parser:{parse:L(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:L(()=>null,"init")},e=>e.toLowerCase().trimStart().startsWith("---")),JT(xTe,ETe,JTe),JT(JCe,MTe,J5e,X5e,m5e,k5e,S5e,L5e,j5e,V5e,h5e,o5e,n5e,kTe,x5e,oTe,nTe,hTe,R5e,DTe,FTe,P5e,VTe,nke,XTe,jTe,ske,fke,kke,Ske,Lke,Bke,cke,yke,vke))},"addDiagrams"),Rke=L(async()=>{Me.debug("Loading registered diagrams");const t=(await Promise.allSettled(Object.entries(lh).map(async([r,{detector:n,loader:i}])=>{if(i)try{nk(r)}catch{try{const{diagram:a,id:s}=await i();Gb(s,a,n)}catch(a){throw Me.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete lh[r],a}}}))).filter(r=>r.status==="rejected");if(t.length>0){Me.error(`Failed to load ${t.length} external diagrams`);for(const r of t)Me.error(r);throw new Error(`Failed to load ${t.length} external diagrams`)}},"loadRegisteredDiagrams"),Oke="graphics-document document";function pW(e,t){e.attr("role",Oke),t!==""&&e.attr("aria-roledescription",t)}L(pW,"setA11yDiagramInfo");function mW(e,t,r,n){if(e.insert!==void 0){if(r){const i=`chart-desc-${n}`;e.attr("aria-describedby",i),e.insert("desc",":first-child").attr("id",i).text(r)}if(t){const i=`chart-title-${n}`;e.attr("aria-labelledby",i),e.insert("title",":first-child").attr("id",i).text(t)}}}L(mW,"addSVGa11yTitleDescription");var rh,Fk=(rh=class{constructor(t,r,n,i,a){this.type=t,this.text=r,this.db=n,this.parser=i,this.renderer=a}static async fromText(t,r={}){const n=sn(),i=Fw(t,n);t=ebe(t)+`
740
+ `:""}return L(Xe,"dump2"),c5.dump=Xe,c5}L(vG,"requireDumper");var BR;function CG(){if(BR)return wi;BR=1;const e=xG(),t=vG();function r(n,i){return function(){throw new Error("Function yaml."+n+" is removed in js-yaml 4. Use yaml."+i+" instead, which is now safe by default.")}}return L(r,"renamed"),wi.Type=Ri(),wi.Schema=F_(),wi.FAILSAFE_SCHEMA=H_(),wi.JSON_SCHEMA=W_(),wi.CORE_SCHEMA=Y_(),wi.DEFAULT_SCHEMA=Dx(),wi.load=e.load,wi.loadAll=e.loadAll,wi.dump=t.dump,wi.YAMLException=Q0(),wi.types={binary:Q_(),float:G_(),map:j_(),null:U_(),pairs:J_(),set:eS(),timestamp:X_(),bool:q_(),int:V_(),merge:K_(),omap:Z_(),seq:z_(),str:$_()},wi.safeLoad=r("safeLoad","load"),wi.safeLoadAll=r("safeLoadAll","loadAll"),wi.safeDump=r("safeDump","dump"),wi}L(CG,"requireJsYaml");var SCe=CG(),ECe=yG(SCe),{Type:Fze,Schema:$ze,FAILSAFE_SCHEMA:zze,JSON_SCHEMA:ACe,CORE_SCHEMA:jze,DEFAULT_SCHEMA:Hze,load:LCe,loadAll:Uze,dump:qze,YAMLException:Vze,types:Gze,safeLoad:Wze,safeLoadAll:Yze,safeDump:Xze}=ECe,NCe={common:eg,getConfig:sn,insertCluster:wV,insertEdge:EV,insertEdgeLabel:A_,insertMarkers:NV,insertNode:E_,interpolateToCurve:i_,labelHelper:Nt,log:Me,positionEdgeLabel:nxe},Om={},TG=L(e=>{for(const t of e)Om[t.name]=t},"registerLayoutLoaders"),MCe=L(()=>{TG([{name:"dagre",loader:L(async()=>await Y(()=>import("./dagre-GXQ25YYZ-DGjjfS3r.js"),__vite__mapDeps([125,126])),"loader")},{name:"swimlane",loader:L(async()=>await Y(()=>import("./swimlanes-42K2YHIH-lLoitUlw.js"),[]),"loader")},{name:"cose-bilkent",loader:L(async()=>await Y(()=>import("./cose-bilkent-JH36ORCC-0bcWM-Kb.js"),__vite__mapDeps([127,128])),"loader")}])},"registerDefaultLayoutLoaders");MCe();var Kze=L(async(e,t)=>{if(!(e.layoutAlgorithm in Om))throw new Error(`Unknown layout algorithm: ${e.layoutAlgorithm}`);if(e.diagramId)for(const d of e.nodes){const f=d.domId||d.id;d.domId=`${e.diagramId}-${f}`}const r=Om[e.layoutAlgorithm],n=await r.loader(),{theme:i,themeVariables:a}=e.config,{useGradient:s,gradientStart:l,gradientStop:u}=a,h=t.attr("id");if(t.append("defs").append("filter").attr("id",`${h}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${i?.includes("dark")?"#FFFFFF":"#000000"}`),t.append("defs").append("filter").attr("id",`${h}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${i?.includes("dark")?"#FFFFFF":"#000000"}`),s){const d=t.append("linearGradient").attr("id",t.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");d.append("svg:stop").attr("offset","0%").attr("stop-color",l).attr("stop-opacity",1),d.append("svg:stop").attr("offset","100%").attr("stop-color",u).attr("stop-opacity",1)}return n.render(e,t,NCe,{algorithm:r.algorithm})},"render"),Qze=L((e="",{fallback:t="dagre"}={})=>{if(e in Om)return e;if(t in Om)return Me.warn(`Layout algorithm ${e} is not registered. Using ${t} as fallback.`),t;throw new Error(`Both layout algorithms ${e} and ${t} are not registered.`)},"getRegisteredLayoutAlgorithm"),tS="comm",kG="rule",wG="decl",BCe="@media",RCe="@import",OCe="@supports",DCe="@namespace",Ok="@keyframes",_G="@layer",ICe="@scope",PCe=Math.abs,am=String.fromCharCode;function SG(e){return e.trim()}function Dk(e,t,r){return e.replace(t,r)}function e0(e,t){return e.charCodeAt(t)|0}function L0(e,t,r){return e.slice(t,r)}function no(e){return e.length}function EG(e){return e.length}function by(e,t){return t.push(e),e}var Ix=1,N0=1,AG=0,ts=0,Mn=0,Z0="";function rS(e,t,r,n,i,a,s,l){return{value:e,root:t,parent:r,type:n,props:i,children:a,line:Ix,column:N0,length:s,return:"",siblings:l}}function FCe(){return Mn}function $Ce(){return Mn=ts>0?e0(Z0,--ts):0,N0--,Mn===10&&(N0=1,Ix--),Mn}function ws(){return Mn=ts<AG?e0(Z0,ts++):0,N0++,Mn===10&&(N0=1,Ix++),Mn}function Au(){return e0(Z0,ts)}function Xy(){return ts}function Px(e,t){return L0(Z0,e,t)}function Dm(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function zCe(e){return Ix=N0=1,AG=no(Z0=e),ts=0,[]}function jCe(e){return Z0="",e}function h5(e){return SG(Px(ts-1,Ik(e===91?e+2:e===40?e+1:e)))}function HCe(e){for(;(Mn=Au())&&Mn<33;)ws();return Dm(e)>2||Dm(Mn)>3?"":" "}function UCe(e,t){for(;--t&&ws()&&!(Mn<48||Mn>102||Mn>57&&Mn<65||Mn>70&&Mn<97););return Px(e,Xy()+(t<6&&Au()==32&&ws()==32))}function Ik(e){for(;ws();)switch(Mn){case e:return ts;case 34:case 39:e!==34&&e!==39&&Ik(Mn);break;case 40:e===41&&Ik(e);break;case 92:ws();break}return ts}function qCe(e,t){for(;ws()&&e+Mn!==57;)if(e+Mn===84&&Au()===47)break;return"/*"+Px(t,ts-1)+"*"+am(e===47?e:ws())}function VCe(e){for(;!Dm(Au());)ws();return Px(e,ts)}function GCe(e){return jCe(Ky("",null,null,null,[""],e=zCe(e),0,[0],e))}function Ky(e,t,r,n,i,a,s,l,u){for(var h=0,d=0,f=s,m=0,y=0,b=0,v=1,k=1,w=1,_=0,S=0,N="",O=i,I=a,P=n,D=N;k;)switch(b=S,S=ws()){case 40:b!=108&&e0(D,f-1)==58?(_++,D+="("):D+=h5(S);break;case 41:_--,D+=")";break;case 34:case 39:case 91:D+=h5(S);break;case 9:case 10:case 13:case 32:if(_>0){D+=am(S);break}D+=HCe(b);break;case 92:D+=UCe(Xy()-1,7);continue;case 47:switch(Au()){case 42:case 47:by(WCe(qCe(ws(),Xy()),t,r,u),u),(Dm(b||1)==5||Dm(Au()||1)==5)&&no(D)&&L0(D,-1,void 0)!==" "&&(D+=" ");break;default:D+="/"}break;case 123*v:l[h++]=no(D)*w;case 125*v:case 59:case 0:if(_>0&&S){D+=am(S);break}switch(S){case 0:case 125:k=0;case 59+d:w==-1&&(D=Dk(D,/\f/g,"")),y>0&&(no(D)-f||v===0)&&by(y>32?OR(D+";",n,r,f-1,u):OR(Dk(D," ","")+";",n,r,f-2,u),u);break;case 59:D+=";";default:if(by(P=RR(D,t,r,h,d,i,l,N,O=[],I=[],f,a),a),S===123)if(d===0)Ky(D,t,P,P,O,a,f,l,I);else{switch(m){case 99:if(e0(D,3)===110)break;case 108:if(e0(D,2)===97)break;default:d=0;case 100:case 109:case 115:}d?Ky(e,P,P,n&&by(RR(e,P,P,0,0,i,l,N,i,O=[],f,I),I),i,I,f,l,n?O:I):Ky(D,P,P,P,[""],I,0,l,I)}}h=d=y=0,v=w=1,N=D="",f=s;break;case 58:f=1+no(D),y=b;default:if(v<1){if(S==123)--v;else if(S==125&&v++==0&&$Ce()==125)continue}switch(D+=am(S),S*v){case 38:w=d>0?1:(D+="\f",-1);break;case 44:if(_>0)break;l[h++]=(no(D)-1)*w,w=1;break;case 64:Au()===45&&(D+=h5(ws())),m=Au(),d=f=no(N=D+=VCe(Xy())),S++;break;case 45:b===45&&no(D)==2&&(v=0)}}return a}function RR(e,t,r,n,i,a,s,l,u,h,d,f){for(var m=i-1,y=i===0?a:[""],b=EG(y),v=0,k=0,w=0;v<n;++v)for(var _=0,S=L0(e,m+1,m=PCe(k=s[v])),N=e;_<b;++_)(N=SG(k>0?y[_]+" "+S:Dk(S,/&\f/g,y[_])))&&(u[w++]=N);return rS(e,t,r,i===0?kG:l,u,h,d,f)}function WCe(e,t,r,n){return rS(e,t,r,tS,am(FCe()),L0(e,2,-2),0,n)}function OR(e,t,r,n,i){return rS(e,t,r,wG,L0(e,0,n),L0(e,n+1,-1),n,i)}function Pk(e,t){for(var r="",n=0;n<e.length;n++)r+=t(e[n],n,e,t)||"";return r}function YCe(e,t,r,n){switch(e.type){case _G:if(e.children.length)break;case RCe:case DCe:case wG:return e.return=e.return||e.value;case tS:return"";case Ok:return e.return=e.value+"{"+Pk(e.children,n)+"}";case kG:if(!no(e.value=e.props.join(",")))return""}return no(r=Pk(e.children,n))?e.return=e.value+"{"+r+"}":""}function XCe(e){var t=EG(e);return function(r,n,i,a){for(var s="",l=0;l<t;l++)s+=e[l](r,n,i,a)||"";return s}}var LG="c4",KCe=L(e=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),"detector"),QCe=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./c4Diagram-7LVT6UL2-DndY0BSq.js");return{diagram:t}},__vite__mapDeps([129,130]));return{id:LG,diagram:e}},"loader"),ZCe={id:LG,detector:KCe,loader:QCe},JCe=ZCe,NG="flowchart",e5e=L((e,t)=>t?.flowchart?.defaultRenderer==="dagre-wrapper"||t?.flowchart?.defaultRenderer==="elk"?!1:/^\s*graph/.test(e),"detector"),t5e=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./flowDiagram-HODETNUW-oQI1I7d_.js").then(r=>r.f);return{diagram:t}},__vite__mapDeps([131,132,133,134,130,135]));return{id:NG,diagram:e}},"loader"),r5e={id:NG,detector:e5e,loader:t5e},n5e=r5e,MG="flowchart-v2",i5e=L((e,t)=>t?.flowchart?.defaultRenderer==="dagre-d3"?!1:(t?.flowchart?.defaultRenderer==="elk"&&(t.layout="elk"),/^\s*graph/.test(e)&&t?.flowchart?.defaultRenderer==="dagre-wrapper"?!0:/^\s*flowchart/.test(e)),"detector"),a5e=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./flowDiagram-HODETNUW-oQI1I7d_.js").then(r=>r.f);return{diagram:t}},__vite__mapDeps([131,132,133,134,130,135]));return{id:MG,diagram:e}},"loader"),s5e={id:MG,detector:i5e,loader:a5e},o5e=s5e,BG="swimlane",l5e=L(e=>/^\s*swimlane-beta\b/.test(e),"detector"),u5e=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./swimlanesDiagram-VR7AAH4N-CMme7rlS.js");return{diagram:t}},__vite__mapDeps([136,131,132,133,134,130,135]));return{id:BG,diagram:e}},"loader"),c5e={id:BG,detector:l5e,loader:u5e},h5e=c5e,RG="er",d5e=L(e=>/^\s*erDiagram/.test(e),"detector"),f5e=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./erDiagram-RLTQ6QDP-DJihq6vQ.js");return{diagram:t}},__vite__mapDeps([137,133,134,135]));return{id:RG,diagram:e}},"loader"),p5e={id:RG,detector:d5e,loader:f5e},m5e=p5e,OG="gitGraph",g5e=L(e=>/^\s*gitGraph/.test(e),"detector"),y5e=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./gitGraphDiagram-WWUBYQGX-xVnsKMuN.js");return{diagram:t}},__vite__mapDeps([138,139,140,141]));return{id:OG,diagram:e}},"loader"),b5e={id:OG,detector:g5e,loader:y5e},x5e=b5e,DG="gantt",v5e=L(e=>/^\s*gantt/.test(e),"detector"),C5e=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./ganttDiagram-EL5Y4UJY-bgToJYcR.js");return{diagram:t}},__vite__mapDeps([142,143,144,145]));return{id:DG,diagram:e}},"loader"),T5e={id:DG,detector:v5e,loader:C5e},k5e=T5e,IG="info",w5e=L(e=>/^\s*info/.test(e),"detector"),_5e=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./infoDiagram-27XIBGKW-BMAjnK3g.js");return{diagram:t}},__vite__mapDeps([146,141]));return{id:IG,diagram:e}},"loader"),S5e={id:IG,detector:w5e,loader:_5e},PG="pie",E5e=L(e=>/^\s*pie/.test(e),"detector"),A5e=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./pieDiagram-E7YTZNPT-B130SP36.js");return{diagram:t}},__vite__mapDeps([147,140,141,148,149,144]));return{id:PG,diagram:e}},"loader"),L5e={id:PG,detector:E5e,loader:A5e},FG="quadrantChart",N5e=L(e=>/^\s*quadrantChart/.test(e),"detector"),M5e=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./quadrantDiagram-AXDQQJYC-WJdAbGdI.js");return{diagram:t}},__vite__mapDeps([150,143,144,145]));return{id:FG,diagram:e}},"loader"),B5e={id:FG,detector:N5e,loader:M5e},R5e=B5e,$G="xychart",O5e=L(e=>/^\s*xychart(-beta)?/.test(e),"detector"),D5e=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./xychartDiagram-S5SC5T6Z-BPS939el.js");return{diagram:t}},__vite__mapDeps([151,144,149,143,145]));return{id:$G,diagram:e}},"loader"),I5e={id:$G,detector:O5e,loader:D5e},P5e=I5e,zG="requirement",F5e=L(e=>/^\s*requirement(Diagram)?/.test(e),"detector"),$5e=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./requirementDiagram-BXWQKSXE-BCwOEVf2.js");return{diagram:t}},__vite__mapDeps([152,133,134]));return{id:zG,diagram:e}},"loader"),z5e={id:zG,detector:F5e,loader:$5e},j5e=z5e,jG="sequence",H5e=L(e=>/^\s*sequenceDiagram/.test(e),"detector"),U5e=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./sequenceDiagram-WJ2MYXX4-CVNkeGxk.js");return{diagram:t}},__vite__mapDeps([153,139,130]));return{id:jG,diagram:e}},"loader"),q5e={id:jG,detector:H5e,loader:U5e},V5e=q5e,HG="class",G5e=L((e,t)=>t?.class?.defaultRenderer==="dagre-wrapper"?!1:/^\s*classDiagram/.test(e),"detector"),W5e=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./classDiagram-ZZMXUADV-CqqArcQH.js");return{diagram:t}},__vite__mapDeps([154,155,132,133,134,130]));return{id:HG,diagram:e}},"loader"),Y5e={id:HG,detector:G5e,loader:W5e},X5e=Y5e,UG="classDiagram",K5e=L((e,t)=>/^\s*classDiagram/.test(e)&&t?.class?.defaultRenderer==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(e),"detector"),Q5e=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./classDiagram-v2-VYDZK3BY-CqqArcQH.js");return{diagram:t}},__vite__mapDeps([156,155,132,133,134,130]));return{id:UG,diagram:e}},"loader"),Z5e={id:UG,detector:K5e,loader:Q5e},J5e=Z5e,qG="state",eTe=L((e,t)=>t?.state?.defaultRenderer==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(e),"detector"),tTe=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./stateDiagram-D77RDMKH-BXl_44CS.js");return{diagram:t}},__vite__mapDeps([157,158,133,134,130,126]));return{id:qG,diagram:e}},"loader"),rTe={id:qG,detector:eTe,loader:tTe},nTe=rTe,VG="stateDiagram",iTe=L((e,t)=>!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&t?.state?.defaultRenderer==="dagre-wrapper"),"detector"),aTe=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./stateDiagram-v2-MP3YSRHH-B6Ocr83t.js");return{diagram:t}},__vite__mapDeps([159,158,133,134,130]));return{id:VG,diagram:e}},"loader"),sTe={id:VG,detector:iTe,loader:aTe},oTe=sTe,GG="journey",lTe=L(e=>/^\s*journey/.test(e),"detector"),uTe=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./journeyDiagram-3NMN7TZE-Bm3s7CxV.js");return{diagram:t}},__vite__mapDeps([160,132,130,148]));return{id:GG,diagram:e}},"loader"),cTe={id:GG,detector:lTe,loader:uTe},hTe=cTe,dTe=L((e,t,r)=>{Me.debug(`rendering svg for syntax error
741
+ `);const n=M1e(t),i=n.append("g");n.attr("viewBox","0 0 2412 512"),tH(n,100,512,!0),i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),WG={draw:dTe},fTe=WG,pTe={db:{},renderer:WG,parser:{parse:L(()=>{},"parse")}},mTe=pTe,YG="flowchart-elk",gTe=L((e,t={})=>/^\s*flowchart-elk/.test(e)||/^\s*(flowchart|graph)/.test(e)&&t?.flowchart?.defaultRenderer==="elk"?(t.layout="elk",!0):!1,"detector"),yTe=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./flowDiagram-HODETNUW-oQI1I7d_.js").then(r=>r.f);return{diagram:t}},__vite__mapDeps([131,132,133,134,130,135]));return{id:YG,diagram:e}},"loader"),bTe={id:YG,detector:gTe,loader:yTe},xTe=bTe,XG="timeline",vTe=L(e=>/^\s*timeline/.test(e),"detector"),CTe=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./timeline-definition-24CTP7MA-DPj_1tiR.js");return{diagram:t}},__vite__mapDeps([161,148]));return{id:XG,diagram:e}},"loader"),TTe={id:XG,detector:vTe,loader:CTe},kTe=TTe,KG="mindmap",wTe=L(e=>/^\s*mindmap/.test(e),"detector"),_Te=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./mindmap-definition-YA3MSWOX-t-OCVnG7.js");return{diagram:t}},__vite__mapDeps([162,133,134]));return{id:KG,diagram:e}},"loader"),STe={id:KG,detector:wTe,loader:_Te},ETe=STe,QG="kanban",ATe=L(e=>/^\s*kanban/.test(e),"detector"),LTe=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./kanban-definition-UXKFOSKX-wN25TjIt.js");return{diagram:t}},__vite__mapDeps([163,132]));return{id:QG,diagram:e}},"loader"),NTe={id:QG,detector:ATe,loader:LTe},MTe=NTe,ZG="sankey",BTe=L(e=>/^\s*sankey(-beta)?/.test(e),"detector"),RTe=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./sankeyDiagram-P5KCCOFB-WZ7QJHcc.js");return{diagram:t}},__vite__mapDeps([164,149,144]));return{id:ZG,diagram:e}},"loader"),OTe={id:ZG,detector:BTe,loader:RTe},DTe=OTe,JG="packet",ITe=L(e=>/^\s*packet(-beta)?/.test(e),"detector"),PTe=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./diagram-Z3DM3KII-BP-C0VlN.js");return{diagram:t}},__vite__mapDeps([165,140,141]));return{id:JG,diagram:e}},"loader"),FTe={id:JG,detector:ITe,loader:PTe},eW="radar",$Te=L(e=>/^\s*radar-beta/.test(e),"detector"),zTe=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./diagram-UQ7AKVKN-wMr5KidC.js");return{diagram:t}},__vite__mapDeps([166,140,141]));return{id:eW,diagram:e}},"loader"),jTe={id:eW,detector:$Te,loader:zTe},tW="block",HTe=L(e=>/^\s*block(-beta)?/.test(e),"detector"),UTe=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./blockDiagram-I7D4REHJ-gs0pS4Pu.js");return{diagram:t}},__vite__mapDeps([167,132,135]));return{id:tW,diagram:e}},"loader"),qTe={id:tW,detector:HTe,loader:UTe},VTe=qTe,rW="treeView",GTe=L(e=>/^\s*treeView-beta/.test(e),"detector"),WTe=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./diagram-S7CK7UJ4-CxmbNpJp.js");return{diagram:t}},__vite__mapDeps([168,139,140,141]));return{id:rW,diagram:e}},"loader"),YTe={id:rW,detector:GTe,loader:WTe},XTe=YTe,nW="architecture",KTe=L(e=>/^\s*architecture/.test(e),"detector"),QTe=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./architectureDiagram-5GKGNRK7-BSAmaM66.js");return{diagram:t}},__vite__mapDeps([169,140,141,128]));return{id:nW,diagram:e}},"loader"),ZTe={id:nW,detector:KTe,loader:QTe},JTe=ZTe,iW="eventmodeling",eke=L(e=>/^\s*eventmodeling/.test(e),"detector"),tke=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./diagram-VSXAHHWV-Ctn6KmCs.js");return{diagram:t}},__vite__mapDeps([170,140,141]));return{id:iW,diagram:e}},"loader"),rke={id:iW,detector:eke,loader:tke},nke=rke,aW="ishikawa",ike=L(e=>/^\s*ishikawa(-beta)?\b/i.test(e),"detector"),ake=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./ishikawaDiagram-5VMMS53U-C3k2WliB.js");return{diagram:t}},[]);return{id:aW,diagram:e}},"loader"),ske={id:aW,detector:ike,loader:ake},sW="venn",oke=L(e=>/^\s*venn-beta/.test(e),"detector"),lke=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./vennDiagram-4TSXK5OY-JdPNY4X7.js");return{diagram:t}},[]);return{id:sW,diagram:e}},"loader"),uke={id:sW,detector:oke,loader:lke},cke=uke,oW="treemap",hke=L(e=>/^\s*treemap/.test(e),"detector"),dke=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./diagram-VX7I27RA-DIAY_rBa.js");return{diagram:t}},__vite__mapDeps([171,140,134,141,145,149,144]));return{id:oW,diagram:e}},"loader"),fke={id:oW,detector:hke,loader:dke},lW="wardley",pke=L(e=>/^\s*wardley-beta/i.test(e),"detector"),mke=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./wardleyDiagram-VM6X3IG4-lp9tl8ql.js");return{diagram:t}},__vite__mapDeps([172,140,141]));return{id:lW,diagram:e}},"loader"),gke={id:lW,detector:pke,loader:mke},yke=gke,uW="cynefin",bke=L(e=>/^\s*cynefin-beta(?:[\s:]|$)/.test(e),"detector"),xke=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./cynefinDiagram-5FMLGOSQ-BqhG1OLj.js");return{diagram:t}},__vite__mapDeps([173,140,141]));return{id:uW,diagram:e}},"loader"),vke={id:uW,detector:bke,loader:xke},cW="railroad",Cke=L(e=>/^\s*railroad-beta/i.test(e),"detector"),Tke=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./railroadDiagram-O6MQD6OU-DyIASQMx.js");return{diagram:t}},__vite__mapDeps([174,175,140,141]));return{id:cW,diagram:e}},"loader"),kke={id:cW,detector:Cke,loader:Tke},hW="railroadEbnf",wke=L(e=>/^\s*railroad-ebnf-beta/i.test(e),"detector"),_ke=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./ebnfDiagram-PWID7BFC-CuETSBu4.js");return{diagram:t}},__vite__mapDeps([176,175,140,141]));return{id:hW,diagram:e}},"loader"),Ske={id:hW,detector:wke,loader:_ke},dW="railroadAbnf",Eke=L(e=>/^\s*railroad-abnf-beta/i.test(e),"detector"),Ake=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./abnfDiagram-VCTEODGH-DvAFvtUx.js");return{diagram:t}},__vite__mapDeps([177,175,140,141]));return{id:dW,diagram:e}},"loader"),Lke={id:dW,detector:Eke,loader:Ake},fW="railroadPeg",Nke=L(e=>/^\s*railroad-peg-beta/i.test(e),"detector"),Mke=L(async()=>{const{diagram:e}=await Y(async()=>{const{diagram:t}=await import("./pegDiagram-XKGWAZYB-BHUmUuNy.js");return{diagram:t}},__vite__mapDeps([178,175,140,141]));return{id:fW,diagram:e}},"loader"),Bke={id:fW,detector:Nke,loader:Mke},DR=!1,Fx=L(()=>{DR||(DR=!0,Gb("error",mTe,e=>e.toLowerCase().trim()==="error"),Gb("---",{db:{clear:L(()=>{},"clear")},styles:{},renderer:{draw:L(()=>{},"draw")},parser:{parse:L(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:L(()=>null,"init")},e=>e.toLowerCase().trimStart().startsWith("---")),JT(xTe,ETe,JTe),JT(JCe,MTe,J5e,X5e,m5e,k5e,S5e,L5e,j5e,V5e,h5e,o5e,n5e,kTe,x5e,oTe,nTe,hTe,R5e,DTe,FTe,P5e,VTe,nke,XTe,jTe,ske,fke,kke,Ske,Lke,Bke,cke,yke,vke))},"addDiagrams"),Rke=L(async()=>{Me.debug("Loading registered diagrams");const t=(await Promise.allSettled(Object.entries(lh).map(async([r,{detector:n,loader:i}])=>{if(i)try{nk(r)}catch{try{const{diagram:a,id:s}=await i();Gb(s,a,n)}catch(a){throw Me.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete lh[r],a}}}))).filter(r=>r.status==="rejected");if(t.length>0){Me.error(`Failed to load ${t.length} external diagrams`);for(const r of t)Me.error(r);throw new Error(`Failed to load ${t.length} external diagrams`)}},"loadRegisteredDiagrams"),Oke="graphics-document document";function pW(e,t){e.attr("role",Oke),t!==""&&e.attr("aria-roledescription",t)}L(pW,"setA11yDiagramInfo");function mW(e,t,r,n){if(e.insert!==void 0){if(r){const i=`chart-desc-${n}`;e.attr("aria-describedby",i),e.insert("desc",":first-child").attr("id",i).text(r)}if(t){const i=`chart-title-${n}`;e.attr("aria-labelledby",i),e.insert("title",":first-child").attr("id",i).text(t)}}}L(mW,"addSVGa11yTitleDescription");var rh,Fk=(rh=class{constructor(t,r,n,i,a){this.type=t,this.text=r,this.db=n,this.parser=i,this.renderer=a}static async fromText(t,r={}){const n=sn(),i=Fw(t,n);t=ebe(t)+`
742
742
  `;try{nk(i)}catch{const h=_fe(i);if(!h)throw new Xj(`Diagram ${i} not found.`);const{id:d,diagram:f}=await h();Gb(d,f)}const{db:a,parser:s,renderer:l,init:u}=nk(i);return s.parser&&(s.parser.yy=a),a.clear?.(),u?.(n),r.title&&a.setDiagramTitle?.(r.title),await s.parse(t),new rh(i,t,a,s,l)}async render(t,r){await this.renderer.draw(this.text,t,r,this)}getParser(){return this.parser}getType(){return this.type}},L(rh,"Diagram"),rh),IR=[],Dke=L(()=>{IR.forEach(e=>{e()}),IR=[]},"attachFunctions"),Ike=L(e=>e.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function gW(e){const t=e.match(Yj);if(!t)return{text:e,metadata:{}};const r=t[1],n=r?t[2].split(`
743
743
  `).map(s=>s.startsWith(r)?s.slice(r.length):s).join(`
744
744
  `):t[2];let i=LCe(n,{schema:ACe})??{};i=typeof i=="object"&&!Array.isArray(i)?i:{};const a={};return i.displayMode&&(a.displayMode=i.displayMode.toString()),i.title&&(a.title=i.title.toString()),i.config&&(a.config=i.config),{text:e.slice(t[0].length),metadata:a}}L(gW,"extractFrontMatter");var Pke=L(e=>e.replace(/\r\n?/g,`
@@ -853,7 +853,7 @@ ${e}</tr>
853
853
  `}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${eo(e,!0)}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:r}){let n=this.parser.parseInline(r),i=GO(e);if(i===null)return n;e=i;let a='<a href="'+e+'"';return t&&(a+=' title="'+eo(t)+'"'),a+=">"+n+"</a>",a}image({href:e,title:t,text:r,tokens:n}){n&&(r=this.parser.parseInline(n,this.parser.textRenderer));let i=GO(e);if(i===null)return eo(r);e=i;let a=`<img src="${e}" alt="${eo(r)}"`;return t&&(a+=` title="${eo(t)}"`),a+=">",a}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:eo(e.text)}},RS=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}checkbox({raw:e}){return e}},ys=class t6{options;renderer;textRenderer;constructor(t){this.options=t||Lh,this.options.renderer=this.options.renderer||new k2,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new RS}static parse(t,r){return new t6(r).parse(t)}static parseInline(t,r){return new t6(r).parseInline(t)}parse(t){this.renderer.parser=this;let r="";for(let n=0;n<t.length;n++){let i=t[n];if(this.options.extensions?.renderers?.[i.type]){let s=i,l=this.options.extensions.renderers[s.type].call({parser:this},s);if(l!==!1||!["space","hr","heading","code","table","blockquote","list","checkbox","html","def","paragraph","text"].includes(s.type)){r+=l||"";continue}}let a=i;switch(a.type){case"space":{r+=this.renderer.space(a);break}case"hr":{r+=this.renderer.hr(a);break}case"heading":{r+=this.renderer.heading(a);break}case"code":{r+=this.renderer.code(a);break}case"table":{r+=this.renderer.table(a);break}case"blockquote":{r+=this.renderer.blockquote(a);break}case"list":{r+=this.renderer.list(a);break}case"checkbox":{r+=this.renderer.checkbox(a);break}case"html":{r+=this.renderer.html(a);break}case"def":{r+=this.renderer.def(a);break}case"paragraph":{r+=this.renderer.paragraph(a);break}case"text":{r+=this.renderer.text(a);break}default:{let s='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(s),"";throw new Error(s)}}}return r}parseInline(t,r=this.renderer){this.renderer.parser=this;let n="";for(let i=0;i<t.length;i++){let a=t[i];if(this.options.extensions?.renderers?.[a.type]){let l=this.options.extensions.renderers[a.type].call({parser:this},a);if(l!==!1||!["escape","html","link","image","checkbox","strong","em","codespan","br","del","text"].includes(a.type)){n+=l||"";continue}}let s=a;switch(s.type){case"escape":{n+=r.text(s);break}case"html":{n+=r.html(s);break}case"link":{n+=r.link(s);break}case"image":{n+=r.image(s);break}case"checkbox":{n+=r.checkbox(s);break}case"strong":{n+=r.strong(s);break}case"em":{n+=r.em(s);break}case"codespan":{n+=r.codespan(s);break}case"br":{n+=r.br(s);break}case"del":{n+=r.del(s);break}case"text":{n+=r.text(s);break}default:{let l='Token with "'+s.type+'" type was not found.';if(this.options.silent)return console.error(l),"";throw new Error(l)}}}return n}},Gp=class{options;block;constructor(e){this.options=e||Lh}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(e=this.block){return e?Ga.lex:Ga.lexInline}provideParser(e=this.block){return e?ys.parse:ys.parseInline}},oMe=class{defaults=SS();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=ys;Renderer=k2;TextRenderer=RS;Lexer=Ga;Tokenizer=T2;Hooks=Gp;constructor(...e){this.use(...e)}walkTokens(e,t){let r=[];for(let n of e)switch(r=r.concat(t.call(this,n)),n.type){case"table":{let i=n;for(let a of i.header)r=r.concat(this.walkTokens(a.tokens,t));for(let a of i.rows)for(let s of a)r=r.concat(this.walkTokens(s.tokens,t));break}case"list":{let i=n;r=r.concat(this.walkTokens(i.items,t));break}default:{let i=n;this.defaults.extensions?.childTokens?.[i.type]?this.defaults.extensions.childTokens[i.type].forEach(a=>{let s=i[a].flat(1/0);r=r.concat(this.walkTokens(s,t))}):i.tokens&&(r=r.concat(this.walkTokens(i.tokens,t)))}}return r}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(r=>{let n={...r};if(n.async=this.defaults.async||n.async||!1,r.extensions&&(r.extensions.forEach(i=>{if(!i.name)throw new Error("extension name required");if("renderer"in i){let a=t.renderers[i.name];a?t.renderers[i.name]=function(...s){let l=i.renderer.apply(this,s);return l===!1&&(l=a.apply(this,s)),l}:t.renderers[i.name]=i.renderer}if("tokenizer"in i){if(!i.level||i.level!=="block"&&i.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let a=t[i.level];a?a.unshift(i.tokenizer):t[i.level]=[i.tokenizer],i.start&&(i.level==="block"?t.startBlock?t.startBlock.push(i.start):t.startBlock=[i.start]:i.level==="inline"&&(t.startInline?t.startInline.push(i.start):t.startInline=[i.start]))}"childTokens"in i&&i.childTokens&&(t.childTokens[i.name]=i.childTokens)}),n.extensions=t),r.renderer){let i=this.defaults.renderer||new k2(this.defaults);for(let a in r.renderer){if(!(a in i))throw new Error(`renderer '${a}' does not exist`);if(["options","parser"].includes(a))continue;let s=a,l=r.renderer[s],u=i[s];i[s]=(...h)=>{let d=l.apply(i,h);return d===!1&&(d=u.apply(i,h)),d||""}}n.renderer=i}if(r.tokenizer){let i=this.defaults.tokenizer||new T2(this.defaults);for(let a in r.tokenizer){if(!(a in i))throw new Error(`tokenizer '${a}' does not exist`);if(["options","rules","lexer"].includes(a))continue;let s=a,l=r.tokenizer[s],u=i[s];i[s]=(...h)=>{let d=l.apply(i,h);return d===!1&&(d=u.apply(i,h)),d}}n.tokenizer=i}if(r.hooks){let i=this.defaults.hooks||new Gp;for(let a in r.hooks){if(!(a in i))throw new Error(`hook '${a}' does not exist`);if(["options","block"].includes(a))continue;let s=a,l=r.hooks[s],u=i[s];Gp.passThroughHooks.has(a)?i[s]=h=>{if(this.defaults.async&&Gp.passThroughHooksRespectAsync.has(a))return(async()=>{let f=await l.call(i,h);return u.call(i,f)})();let d=l.call(i,h);return u.call(i,d)}:i[s]=(...h)=>{if(this.defaults.async)return(async()=>{let f=await l.apply(i,h);return f===!1&&(f=await u.apply(i,h)),f})();let d=l.apply(i,h);return d===!1&&(d=u.apply(i,h)),d}}n.hooks=i}if(r.walkTokens){let i=this.defaults.walkTokens,a=r.walkTokens;n.walkTokens=function(s){let l=[];return l.push(a.call(this,s)),i&&(l=l.concat(i.call(this,s))),l}}this.defaults={...this.defaults,...n}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return Ga.lex(e,t??this.defaults)}parser(e,t){return ys.parse(e,t??this.defaults)}parseMarkdown(e){return(t,r)=>{let n={...r},i={...this.defaults,...n},a=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&n.async===!1)return a(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof t>"u"||t===null)return a(new Error("marked(): input parameter is undefined or null"));if(typeof t!="string")return a(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));if(i.hooks&&(i.hooks.options=i,i.hooks.block=e),i.async)return(async()=>{let s=i.hooks?await i.hooks.preprocess(t):t,l=await(i.hooks?await i.hooks.provideLexer(e):e?Ga.lex:Ga.lexInline)(s,i),u=i.hooks?await i.hooks.processAllTokens(l):l;i.walkTokens&&await Promise.all(this.walkTokens(u,i.walkTokens));let h=await(i.hooks?await i.hooks.provideParser(e):e?ys.parse:ys.parseInline)(u,i);return i.hooks?await i.hooks.postprocess(h):h})().catch(a);try{i.hooks&&(t=i.hooks.preprocess(t));let s=(i.hooks?i.hooks.provideLexer(e):e?Ga.lex:Ga.lexInline)(t,i);i.hooks&&(s=i.hooks.processAllTokens(s)),i.walkTokens&&this.walkTokens(s,i.walkTokens);let l=(i.hooks?i.hooks.provideParser(e):e?ys.parse:ys.parseInline)(s,i);return i.hooks&&(l=i.hooks.postprocess(l)),l}catch(s){return a(s)}}}onError(e,t){return r=>{if(r.message+=`
854
854
  Please report this to https://github.com/markedjs/marked.`,e){let n="<p>An error occurred:</p><pre>"+eo(r.message+"",!0)+"</pre>";return t?Promise.resolve(n):n}if(t)return Promise.reject(r);throw r}}},gh=new oMe;function Hr(e,t){return gh.parse(e,t)}Hr.options=Hr.setOptions=function(e){return gh.setOptions(e),Hr.defaults=gh.defaults,eX(Hr.defaults),Hr};Hr.getDefaults=SS;Hr.defaults=Lh;function lMe(...e){return gh.use(...e),Hr.defaults=gh.defaults,eX(Hr.defaults),Hr}Hr.use=lMe;Hr.walkTokens=function(e,t){return gh.walkTokens(e,t)};Hr.parseInline=gh.parseInline;Hr.Parser=ys;Hr.parser=ys.parse;Hr.Renderer=k2;Hr.TextRenderer=RS;Hr.Lexer=Ga;Hr.lexer=Ga.lex;Hr.Tokenizer=T2;Hr.Hooks=Gp;Hr.parse=Hr;Hr.options;Hr.setOptions;Hr.walkTokens;Hr.parseInline;ys.parse;Ga.lex;var uMe=300,cMe="300px",hMe=500;function dMe(e={}){let{immediate:t=!1,debounceDelay:r=uMe,rootMargin:n=cMe,idleTimeout:i=hMe}=e,[a,s]=U.useState(!1),l=U.useRef(null),u=U.useRef(null),h=U.useRef(null),d=U.useMemo(()=>y=>{let b=Date.now();return window.setTimeout(()=>{y({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-b))})},1)},[]),f=U.useMemo(()=>typeof window<"u"&&window.requestIdleCallback?(y,b)=>window.requestIdleCallback(y,b):d,[d]),m=U.useMemo(()=>typeof window<"u"&&window.cancelIdleCallback?y=>window.cancelIdleCallback(y):y=>{clearTimeout(y)},[]);return U.useEffect(()=>{if(t){s(!0);return}let y=l.current;if(!y)return;u.current&&(clearTimeout(u.current),u.current=null),h.current&&(m(h.current),h.current=null);let b=()=>{u.current&&(clearTimeout(u.current),u.current=null),h.current&&(m(h.current),h.current=null)},v=S=>{h.current=f(N=>{N.timeRemaining()>0||N.didTimeout?(s(!0),S.disconnect()):h.current=f(()=>{s(!0),S.disconnect()},{timeout:i/2})},{timeout:i})},k=S=>{b(),u.current=window.setTimeout(()=>{var N,O;let I=S.takeRecords();(I.length===0||(O=(N=I.at(-1))==null?void 0:N.isIntersecting)!=null&&O)&&v(S)},r)},w=(S,N)=>{S.isIntersecting?k(N):b()},_=new IntersectionObserver(S=>{for(let N of S)w(N,_)},{rootMargin:n,threshold:0});return _.observe(y),()=>{u.current&&clearTimeout(u.current),h.current&&m(h.current),_.disconnect()}},[t,r,n,i,m,f]),{shouldRender:a,containerRef:l}}var fMe=320,pMe=4,cX=()=>typeof performance>"u"?Date.now():performance.now();function KO(e){var t,r;let n=(t=e?.now)!=null?t:cX,i=(r=e?.maxBacklogMs)!=null?r:fMe,a=0,s=0;return{now:n,beginPass(l){s=Math.min(Math.max(a,l),l+i)},mark(){return s},rewind(l){s=l},take(l,u,h){if(l<=0)return{baseDelay:0,step:Math.max(0,u)};let d=Math.max(0,u),f=d===0?0:Math.min(d,pMe),m=Math.max(s,h),y=h+i,b=m+Math.max(0,l-1)*d,v=d;if(b>y&&l>1)if(m<y){let w=y-m;v=Math.max(f,w/(l-1))}else v=f;let k=Math.max(0,Math.round(m-h));return s=m+l*v,{baseDelay:k,step:v}},commitPass(){a=s}}}var hX=/\s/,mMe=/[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\u3000-\u303F\uFF00-\uFFEF]/u,OS=/^\s+$/,gMe=new Set(["pre","svg","math","annotation"]),yMe=new Set(["img","hr"]),pg=e=>typeof e=="object"&&e!==null&&"type"in e&&e.type==="element",DS=e=>e.some(t=>pg(t)&&gMe.has(t.tagName)),bMe=e=>{for(let t=e.length-1;t>=0;t--){let r=e[t];if(pg(r)&&r.tagName==="li")return r}},xMe=(e,t,r,n)=>{e.properties!=null||(e.properties={}),e.properties["data-sd-animate-marker"]=!0;let i=typeof e.properties.style=="string"?`${e.properties.style};`:"";e.properties.style=`${i}--sd-marker-duration:${t}ms;--sd-marker-delay:${Math.round(r)}ms;--sd-marker-easing:${n}`},vMe=new Set(["ul","ol","li"]),dX=e=>{for(let t of e.children)if(pg(t)){if(t.tagName==="input")return t;if(vMe.has(t.tagName))continue;let r=dX(t);if(r)return r}},fX=(e,t,r,n)=>{e.properties!=null||(e.properties={}),e.properties["data-sd-animate"]=!0;let i=typeof e.properties.style=="string"?`${e.properties.style};`:"";e.properties.style=`${i}--sd-animation:sd-${t.animation};--sd-duration:${r}ms;--sd-easing:${t.easing};--sd-delay:${Math.round(n)}ms`},CMe=(e,t,r,n)=>{let i=dX(e);i&&fX(i,t,r,n)},TMe=(e,t,r,n,i,a)=>{if(DS(t))return;let s=n.prevContentLength,l=i.count;i.count+=1;let u=s>0&&l<s,h=u?0:a.baseDelay+i.newIndex++*a.step;fX(e,r,u?0:r.duration,h)},kMe=e=>{var t;for(let r=e.length-1;r>=0;r-=1){let n=e[r];if(pg(n)){if((t=n.properties)!=null&&t["data-sd-animated"])break;n.properties={...n.properties,"data-sd-animated":!0}}}},pX=e=>{let t=[],r="",n=!1,i=!1;for(let a of e){let s=hX.test(a),l=!s&&mMe.test(a);if(!s&&r!==""&&(l||i))t.push(r),r="",n=!1;else if(s!==n&&r){if(s){r+=a,n=!0;continue}t.push(r),r=""}r+=a,n=s,i=l}return r&&t.push(r),t},mX=e=>{let t=[],r="";for(let n of e)hX.test(n)?t.length>0&&!OS.test(t.at(-1))?t[t.length-1]+=n:r+=n:(r&&(t.push(r),r=""),t.push(n));return r&&(t.length>0?t[t.length-1]+=r:t.push(r)),t},QO=/^[^\s;:'"\\/](?:[^;:'"\\/\r\n]*[^\s;:'"\\/])?$/,wMe=(e,t,r,n)=>{let i=`sd-${t.animation}`,a=`${r?0:t.duration}ms`,s;return t.styleObjects?(s={"--sd-animation":i,"--sd-duration":a,"--sd-easing":t.easing},n&&(s["--sd-delay"]=`${Math.round(n)}ms`)):(s=`--sd-animation:${i};--sd-duration:${a};--sd-easing:${t.easing}`,n&&(s+=`;--sd-delay:${Math.round(n)}ms`)),{type:"element",tagName:"span",properties:{"data-sd-animate":!0,style:s},children:[{type:"text",value:e}]}},ZO=(e,t)=>!(e>0&&t<e),r6=e=>pg(e)&&yMe.has(e.tagName),_Me=(e,t,r)=>{let n=0,i=0;return x0(e,a=>a.type==="text"||r6(a),(a,s)=>{if(DS(s))return lo;if(r6(a)){ZO(r,i)&&(n+=1),i+=1;return}let l=a.value;if(!l.trim()){i+=l.length;return}let u=t.sep==="char"?mX(l):pX(l);for(let h of u){let d=i;i+=h.length,!OS.test(h)&&ZO(r,d)&&(n+=1)}}),n},SMe=(e,t,r,n,i,a)=>{var s;let l=t.at(-1);if(!(l&&"children"in l))return;if(DS(t))return lo;let u=l,h=u.children.indexOf(e);if(h===-1)return;let d=e.value;if(!d.trim()){i.count+=d.length;return}let f=r.sep==="char"?mX(d):pX(d),m=n.prevContentLength,y=!1,b=bMe(t),v=!!(b&&!((s=b.properties)!=null&&s["data-sd-animate-marker"])),k=!1,w=f.map(_=>{let S=i.count;if(i.count+=_.length,OS.test(_))return{type:"text",value:_};let N=m>0&&S<m,O=N?0:a.baseDelay+i.newIndex++*a.step;if(y=!0,b&&v&&!k){let I=N?0:r.duration;xMe(b,I,O,r.easing),CMe(b,r,I,O),k=!0}return wMe(_,r,N,O)});return y&&kMe(t),u.children.splice(h,1,...w),h+w.length},EMe=0;function AMe(e){return gX(e,!1)}var LMe=e=>gX(e,!0);function gX(e,t){var r,n,i,a,s;let l=(r=e?.animation)!=null?r:"fadeIn",u=(n=e?.easing)!=null?n:"ease",h={animation:l,duration:(i=e?.duration)!=null?i:150,easing:u,sep:(a=e?.sep)!=null?a:"word",stagger:(s=e?.stagger)!=null?s:40,styleObjects:t&&QO.test(l)&&QO.test(u),timeline:e?.timeline},d={committedCharCount:0,prevContentLength:0,lastRenderCharCount:0,pendingMark:null},f=EMe++,m=()=>y=>{var b;let v={count:0,newIndex:0};d.prevContentLength=d.committedCharCount;let k=h.timeline,w=(b=k?.now())!=null?b:cX();k&&(d.pendingMark===null?d.pendingMark=k.mark():k.rewind(d.pendingMark));let _=k?k.take(_Me(y,h,d.prevContentLength),h.stagger,w):{baseDelay:0,step:h.stagger};x0(y,S=>S.type==="text"||r6(S),(S,N)=>{if(S.type==="text")return SMe(S,N,h,d,v,_);TMe(S,N,h,d,v,_)}),d.lastRenderCharCount=v.count,d.prevContentLength=0};return Object.defineProperty(m,"name",{value:`rehypeAnimate$${f}`}),{name:"animate",type:"animate",rehypePlugin:m,setPrevContentLength(y){d.committedCharCount=y,d.prevContentLength=y},getLastRenderCharCount(){return d.lastRenderCharCount},commit(){d.committedCharCount=d.lastRenderCharCount,d.pendingMark=null}}}AMe();var yX=U.createContext(!1),bX=()=>U.useContext(yX),Wx=(...e)=>W6(q6(e)),NMe=(e,t)=>{if(!e||!t)return t;let r=`${e}:`;return t.split(/\s+/).filter(Boolean).map(n=>n.startsWith(r)?n:`${e}:${n}`).join(" ")},MMe=e=>e?(...t)=>NMe(e,W6(q6(t))):Wx,t0=(e,t,r)=>{let n=typeof t=="string"&&r.startsWith("text/csv")?"\uFEFF":"",i=typeof t=="string"?new Blob([n+t],{type:r}):t,a=URL.createObjectURL(i),s=document.createElement("a");s.href=a,s.download=e,document.body.appendChild(s),s.click(),document.body.removeChild(s),URL.revokeObjectURL(a)},n6=U.createContext(Wx),ur=()=>U.useContext(n6),BMe=8,xX=e=>{if(!(e===void 0||e===0||e===Number.POSITIVE_INFINITY)){if(typeof e=="number")return Number.isFinite(e)&&e>0?`${e}px`:void 0;if(!(e==="0"||e==="none"||e==="Infinity"))return e}},vX=(e,t,r)=>{let n=U.useRef(null),i=U.useRef(!0),a=U.useRef(!1),s=U.useRef(null);return U.useEffect(()=>{let l=n.current;if(!(l&&t))return;let u=()=>{let h=l.scrollHeight-l.scrollTop-l.clientHeight<BMe;i.current=h};return l.addEventListener("scroll",u,{passive:!0}),()=>l.removeEventListener("scroll",u)},[t]),U.useEffect(()=>{e&&!a.current&&(i.current=!0),e||(i.current=!0),a.current=e},[e]),U.useEffect(()=>()=>{s.current!==null&&cancelAnimationFrame(s.current)},[]),U.useEffect(()=>{let l=n.current;!(l&&t&&e&&i.current)||s.current!==null||(s.current=requestAnimationFrame(()=>{s.current=null,i.current&&l.scrollTo({top:l.scrollHeight,behavior:"instant"})}))},[e,t,r]),n},RMe=Wx("block"),OMe=Wx("block","before:content-[counter(line)]","before:inline-block","before:[counter-increment:line]","before:w-6","before:mr-4","before:text-[13px]","before:text-right","before:text-muted-foreground/50","before:font-mono","before:select-none"),DMe=e=>{let t={};for(let r of e.split(";")){let n=r.indexOf(":");if(n>0){let i=r.slice(0,n).trim(),a=r.slice(n+1).trim();i&&a&&(t[i]=a)}}return t},IMe=U.memo(({children:e,result:t,language:r,className:n,maxHeight:i,startLine:a,lineNumbers:s=!0,...l})=>{let u=ur(),{isAnimating:h}=U.useContext(si),d=xX(i),f=vX(h,!!d,t),m=U.useMemo(()=>u(OMe),[u]),y=U.useMemo(()=>u(RMe),[u]),b=U.useMemo(()=>{let v={};return t.bg&&(v["--sdm-bg"]=t.bg),t.fg&&(v["--sdm-fg"]=t.fg),t.rootStyle&&Object.assign(v,DMe(t.rootStyle)),v},[t.bg,t.fg,t.rootStyle]);return C.jsx("div",{className:u(n,d?"overflow-y-auto":null,"overflow-x-auto rounded-md border border-border bg-background p-4 text-sm"),"data-language":r,"data-streamdown":"code-block-body",ref:f,style:d?{maxHeight:d}:void 0,...l,children:C.jsx("pre",{className:u(n,"bg-[var(--sdm-bg,inherit)]","dark:bg-[var(--shiki-dark-bg,var(--sdm-bg,inherit))]"),style:b,children:C.jsx("code",{className:s?u("[counter-increment:line_0] [counter-reset:line]"):void 0,style:s&&a&&a>1?{counterReset:`line ${a-1}`}:void 0,children:t.tokens.map((v,k)=>C.jsx("span",{className:s?m:y,children:v.length===0||v.length===1&&v[0].content===""?`
855
855
  `:v.map((w,_)=>{let S={},N=!!w.bgColor;if(w.color&&(S["--sdm-c"]=w.color),w.bgColor&&(S["--sdm-tbg"]=w.bgColor),w.htmlStyle)for(let[O,I]of Object.entries(w.htmlStyle))O==="color"?S["--sdm-c"]=I:O==="background-color"?(S["--sdm-tbg"]=I,N=!0):S[O]=I;return C.jsx("span",{className:u("text-[var(--sdm-c,inherit)]","dark:text-[var(--shiki-dark,var(--sdm-c,inherit))]",N&&"bg-[var(--sdm-tbg)]",N&&"dark:bg-[var(--shiki-dark-bg,var(--sdm-tbg))]"),style:S,...w.htmlAttrs,children:w.content},_)})},k))})})})}),PMe=({className:e,language:t,style:r,isIncomplete:n,...i})=>{let a=ur();return C.jsx("div",{className:a("relative my-4 flex w-full flex-col gap-2 rounded-xl border border-border bg-sidebar p-2",e),"data-incomplete":n||void 0,"data-language":t,"data-streamdown":"code-block",style:{contentVisibility:"auto",containIntrinsicSize:"auto 200px",...r},...i})},CX=U.createContext({code:""}),TX=()=>U.useContext(CX),FMe=({language:e})=>{let t=ur();return C.jsx("div",{className:t("flex h-8 items-center text-muted-foreground text-xs"),"data-language":e,"data-streamdown":"code-block-header",children:C.jsx("span",{className:t("ml-1 font-mono lowercase"),children:e})})},$Me=e=>{let t=e.length;for(;t>0&&e[t-1]===`
856
- `;)t--;return e.slice(0,t)},zMe=U.lazy(()=>Y(()=>import("./highlighted-body-JLMTFACH-DJpqqoLg.js"),[]).then(e=>({default:e.HighlightedCodeBlockBody}))),jMe=({code:e,language:t,className:r,children:n,isIncomplete:i=!1,startLine:a,lineNumbers:s,...l})=>{let u=ur(),{codeBlockMaxHeight:h}=U.useContext(si),d=U.useMemo(()=>$Me(e),[e]),f=U.useMemo(()=>({bg:"transparent",fg:"inherit",tokens:d.split(`
856
+ `;)t--;return e.slice(0,t)},zMe=U.lazy(()=>Y(()=>import("./highlighted-body-JLMTFACH-DW5I3I3F.js"),[]).then(e=>({default:e.HighlightedCodeBlockBody}))),jMe=({code:e,language:t,className:r,children:n,isIncomplete:i=!1,startLine:a,lineNumbers:s,...l})=>{let u=ur(),{codeBlockMaxHeight:h}=U.useContext(si),d=U.useMemo(()=>$Me(e),[e]),f=U.useMemo(()=>({bg:"transparent",fg:"inherit",tokens:d.split(`
857
857
  `).map(m=>[{content:m,color:"inherit",bgColor:"transparent",htmlStyle:{},offset:0}])}),[d]);return C.jsx(CX.Provider,{value:{code:e},children:C.jsxs(PMe,{dir:"ltr",isIncomplete:i,language:t,children:[C.jsx(FMe,{language:t}),n?C.jsx("div",{className:u("pointer-events-none absolute top-2 right-2 z-10 flex items-center"),children:C.jsx("div",{className:u("pointer-events-auto flex shrink-0 items-center gap-2 rounded-md border border-sidebar bg-sidebar/80 px-1.5 py-1 supports-[backdrop-filter]:bg-sidebar/70 supports-[backdrop-filter]:backdrop-blur"),"data-streamdown":"code-block-actions",children:n})}):null,C.jsx(U.Suspense,{fallback:C.jsx(IMe,{className:r,language:t,lineNumbers:s,maxHeight:h,result:f,startLine:a,...l}),children:C.jsx(zMe,{className:r,code:d,isIncomplete:i,language:t,lineNumbers:s,maxHeight:h,raw:f,startLine:a,...l})})]})})},HMe=e=>C.jsx("svg",{"aria-hidden":"true",color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:C.jsx("path",{clipRule:"evenodd",d:"M15.5607 3.99999L15.0303 4.53032L6.23744 13.3232C5.55403 14.0066 4.44599 14.0066 3.76257 13.3232L4.2929 12.7929L3.76257 13.3232L0.969676 10.5303L0.439346 9.99999L1.50001 8.93933L2.03034 9.46966L4.82323 12.2626C4.92086 12.3602 5.07915 12.3602 5.17678 12.2626L13.9697 3.46966L14.5 2.93933L15.5607 3.99999Z",fill:"currentColor",fillRule:"evenodd"})}),UMe=e=>C.jsx("svg",{"aria-hidden":"true",color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:C.jsx("path",{clipRule:"evenodd",d:"M2.75 0.5C1.7835 0.5 1 1.2835 1 2.25V9.75C1 10.7165 1.7835 11.5 2.75 11.5H3.75H4.5V10H3.75H2.75C2.61193 10 2.5 9.88807 2.5 9.75V2.25C2.5 2.11193 2.61193 2 2.75 2H8.25C8.38807 2 8.5 2.11193 8.5 2.25V3H10V2.25C10 1.2835 9.2165 0.5 8.25 0.5H2.75ZM7.75 4.5C6.7835 4.5 6 5.2835 6 6.25V13.75C6 14.7165 6.7835 15.5 7.75 15.5H13.25C14.2165 15.5 15 14.7165 15 13.75V6.25C15 5.2835 14.2165 4.5 13.25 4.5H7.75ZM7.5 6.25C7.5 6.11193 7.61193 6 7.75 6H13.25C13.3881 6 13.5 6.11193 13.5 6.25V13.75C13.5 13.8881 13.3881 14 13.25 14H7.75C7.61193 14 7.5 13.8881 7.5 13.75V6.25Z",fill:"currentColor",fillRule:"evenodd"})}),qMe=e=>C.jsx("svg",{"aria-hidden":"true",color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:C.jsx("path",{clipRule:"evenodd",d:"M8.75 1V1.75V8.68934L10.7197 6.71967L11.25 6.18934L12.3107 7.25L11.7803 7.78033L8.70711 10.8536C8.31658 11.2441 7.68342 11.2441 7.29289 10.8536L4.21967 7.78033L3.68934 7.25L4.75 6.18934L5.28033 6.71967L7.25 8.68934V1.75V1H8.75ZM13.5 9.25V13.5H2.5V9.25V8.5H1V9.25V14C1 14.5523 1.44771 15 2 15H14C14.5523 15 15 14.5523 15 14V9.25V8.5H13.5V9.25Z",fill:"currentColor",fillRule:"evenodd"})}),VMe=e=>C.jsxs("svg",{"aria-hidden":"true",color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:[C.jsx("path",{d:"M8 0V4",stroke:"currentColor",strokeWidth:"1.5"}),C.jsx("path",{d:"M8 16V12",opacity:"0.5",stroke:"currentColor",strokeWidth:"1.5"}),C.jsx("path",{d:"M3.29773 1.52783L5.64887 4.7639",opacity:"0.9",stroke:"currentColor",strokeWidth:"1.5"}),C.jsx("path",{d:"M12.7023 1.52783L10.3511 4.7639",opacity:"0.1",stroke:"currentColor",strokeWidth:"1.5"}),C.jsx("path",{d:"M12.7023 14.472L10.3511 11.236",opacity:"0.4",stroke:"currentColor",strokeWidth:"1.5"}),C.jsx("path",{d:"M3.29773 14.472L5.64887 11.236",opacity:"0.6",stroke:"currentColor",strokeWidth:"1.5"}),C.jsx("path",{d:"M15.6085 5.52783L11.8043 6.7639",opacity:"0.2",stroke:"currentColor",strokeWidth:"1.5"}),C.jsx("path",{d:"M0.391602 10.472L4.19583 9.23598",opacity:"0.7",stroke:"currentColor",strokeWidth:"1.5"}),C.jsx("path",{d:"M15.6085 10.4722L11.8043 9.2361",opacity:"0.3",stroke:"currentColor",strokeWidth:"1.5"}),C.jsx("path",{d:"M0.391602 5.52783L4.19583 6.7639",opacity:"0.8",stroke:"currentColor",strokeWidth:"1.5"})]}),GMe=e=>C.jsx("svg",{"aria-hidden":"true",color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:C.jsx("path",{clipRule:"evenodd",d:"M1 5.25V6H2.5V5.25V2.5H5.25H6V1H5.25H2C1.44772 1 1 1.44772 1 2V5.25ZM5.25 14.9994H6V13.4994H5.25H2.5V10.7494V9.99939H1V10.7494V13.9994C1 14.5517 1.44772 14.9994 2 14.9994H5.25ZM15 10V10.75V14C15 14.5523 14.5523 15 14 15H10.75H10V13.5H10.75H13.5V10.75V10H15ZM10.75 1H10V2.5H10.75H13.5V5.25V6H15V5.25V2C15 1.44772 14.5523 1 14 1H10.75Z",fill:"currentColor",fillRule:"evenodd"})}),WMe=e=>C.jsx("svg",{"aria-hidden":"true",color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:C.jsx("path",{clipRule:"evenodd",d:"M13.5 8C13.5 4.96643 11.0257 2.5 7.96452 2.5C5.42843 2.5 3.29365 4.19393 2.63724 6.5H5.25H6V8H5.25H0.75C0.335787 8 0 7.66421 0 7.25V2.75V2H1.5V2.75V5.23347C2.57851 2.74164 5.06835 1 7.96452 1C11.8461 1 15 4.13001 15 8C15 11.87 11.8461 15 7.96452 15C5.62368 15 3.54872 13.8617 2.27046 12.1122L1.828 11.5066L3.03915 10.6217L3.48161 11.2273C4.48831 12.6051 6.12055 13.5 7.96452 13.5C11.0257 13.5 13.5 11.0336 13.5 8Z",fill:"currentColor",fillRule:"evenodd"})}),YMe=e=>C.jsx("svg",{"aria-hidden":"true",color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:C.jsx("path",{clipRule:"evenodd",d:"M12.4697 13.5303L13 14.0607L14.0607 13L13.5303 12.4697L9.06065 7.99999L13.5303 3.53032L14.0607 2.99999L13 1.93933L12.4697 2.46966L7.99999 6.93933L3.53032 2.46966L2.99999 1.93933L1.93933 2.99999L2.46966 3.53032L6.93933 7.99999L2.46966 12.4697L1.93933 13L2.99999 14.0607L3.53032 13.5303L7.99999 9.06065L12.4697 13.5303Z",fill:"currentColor",fillRule:"evenodd"})}),XMe=e=>C.jsx("svg",{"aria-hidden":"true",color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:C.jsx("path",{clipRule:"evenodd",d:"M13.5 10.25V13.25C13.5 13.3881 13.3881 13.5 13.25 13.5H2.75C2.61193 13.5 2.5 13.3881 2.5 13.25L2.5 2.75C2.5 2.61193 2.61193 2.5 2.75 2.5H5.75H6.5V1H5.75H2.75C1.7835 1 1 1.7835 1 2.75V13.25C1 14.2165 1.7835 15 2.75 15H13.25C14.2165 15 15 14.2165 15 13.25V10.25V9.5H13.5V10.25ZM9 1H9.75H14.2495C14.6637 1 14.9995 1.33579 14.9995 1.75V6.25V7H13.4995V6.25V3.56066L8.53033 8.52978L8 9.06011L6.93934 7.99945L7.46967 7.46912L12.4388 2.5H9.75H9V1Z",fill:"currentColor",fillRule:"evenodd"})}),KMe=e=>C.jsx("svg",{"aria-hidden":"true",color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:C.jsx("path",{clipRule:"evenodd",d:"M1.5 6.5C1.5 3.73858 3.73858 1.5 6.5 1.5C9.26142 1.5 11.5 3.73858 11.5 6.5C11.5 9.26142 9.26142 11.5 6.5 11.5C3.73858 11.5 1.5 9.26142 1.5 6.5ZM6.5 0C2.91015 0 0 2.91015 0 6.5C0 10.0899 2.91015 13 6.5 13C8.02469 13 9.42677 12.475 10.5353 11.596L13.9697 15.0303L14.5 15.5607L15.5607 14.5L15.0303 13.9697L11.596 10.5353C12.475 9.42677 13 8.02469 13 6.5C13 2.91015 10.0899 0 6.5 0ZM4.125 5.875H4.75H5.875V4.75V4.125H7.125V4.75V5.875H8.25H8.875V7.125H8.25H7.125V8.25V8.875H5.875V8.25V7.125H4.75H4.125V5.875Z",fill:"currentColor",fillRule:"evenodd"})}),QMe=e=>C.jsx("svg",{"aria-hidden":"true",color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:C.jsx("path",{clipRule:"evenodd",d:"M1.5 6.5C1.5 3.73858 3.73858 1.5 6.5 1.5C9.26142 1.5 11.5 3.73858 11.5 6.5C11.5 9.26142 9.26142 11.5 6.5 11.5C3.73858 11.5 1.5 9.26142 1.5 6.5ZM6.5 0C2.91015 0 0 2.91015 0 6.5C0 10.0899 2.91015 13 6.5 13C8.02469 13 9.42677 12.475 10.5353 11.596L13.9697 15.0303L14.5 15.5607L15.5607 14.5L15.0303 13.9697L11.596 10.5353C12.475 9.42677 13 8.02469 13 6.5C13 2.91015 10.0899 0 6.5 0ZM4.125 5.875H4.75H8.25H8.875V7.125H8.25H4.75H4.125V5.875Z",fill:"currentColor",fillRule:"evenodd"})}),Wp={CheckIcon:HMe,CopyIcon:UMe,DownloadIcon:qMe,ExternalLinkIcon:XMe,Loader2Icon:VMe,Maximize2Icon:GMe,RotateCcwIcon:WMe,XIcon:YMe,ZoomInIcon:KMe,ZoomOutIcon:QMe},kX=U.createContext(Wp),ZMe=(e,t)=>{if(e===t)return!0;if(!(e&&t))return e===t;let r=Object.keys(e),n=Object.keys(t);return r.length!==n.length?!1:r.every(i=>e[i]===t[i])},JO=({icons:e,children:t})=>{let r=U.useRef(e),n=U.useRef(e?{...Wp,...e}:Wp);ZMe(r.current,e)||(r.current=e,n.current=e?{...Wp,...e}:Wp);let i=n.current;return C.jsx(kX.Provider,{value:i,children:t})},Rs=()=>U.useContext(kX),wX={copyCode:"Copy Code",downloadFile:"Download file",downloadDiagram:"Download diagram",downloadDiagramAsSvg:"Download diagram as SVG",downloadDiagramAsPng:"Download diagram as PNG",downloadDiagramAsMmd:"Download diagram as MMD",viewFullscreen:"View fullscreen",exitFullscreen:"Exit fullscreen",mermaidFormatSvg:"SVG",mermaidFormatPng:"PNG",mermaidFormatMmd:"MMD",zoomIn:"Zoom in",zoomOut:"Zoom out",resetView:"Reset zoom and pan",mermaidAriaLabel:"Mermaid chart",errorMermaid:"Failed to render Mermaid chart",copyTable:"Copy table",copyTableAsMarkdown:"Copy table as Markdown",copyTableAsCsv:"Copy table as CSV",copyTableAsTsv:"Copy table as TSV",downloadTable:"Download table",downloadTableAsCsv:"Download table as CSV",downloadTableAsMarkdown:"Download table as Markdown",tableFormatMarkdown:"Markdown",tableFormatCsv:"CSV",tableFormatTsv:"TSV",imageNotAvailable:"Image not available",downloadImage:"Download image",openExternalLink:"Open external link?",externalLinkWarning:"You're about to visit an external website.",close:"Close",copyLink:"Copy link",copied:"Copied",openLink:"Open link"},i6=U.createContext(wX),Os=()=>U.useContext(i6),a6=({onCopy:e,onError:t,timeout:r=2e3,children:n,className:i,code:a,...s})=>{let l=ur(),[u,h]=U.useState(!1),d=U.useRef(0),{code:f}=TX(),{isAnimating:m}=U.useContext(si),y=Os(),b=a??f,v=async()=>{var _;if(typeof window>"u"||!((_=navigator?.clipboard)!=null&&_.writeText)){t?.(new Error("Clipboard API not available"));return}try{u||(await navigator.clipboard.writeText(b),h(!0),e?.(),d.current=window.setTimeout(()=>h(!1),r))}catch(S){t?.(S)}};U.useEffect(()=>()=>{window.clearTimeout(d.current)},[]);let k=Rs(),w=u?k.CheckIcon:k.CopyIcon;return C.jsxs(C.Fragment,{children:[C.jsx("button",{"aria-label":y.copyCode,className:l("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",i),"data-streamdown":"code-block-copy-button",disabled:m,onClick:v,title:y.copyCode,type:"button",...s,children:n??C.jsx(w,{"aria-hidden":"true",size:14})}),u&&C.jsx("output",{"aria-live":"polite",className:"sr-only",children:y.copied})]})},IS=(e,t,r)=>{if(typeof e=="boolean")return r;let n=e[t];if(typeof n!="object")return r;let i=n.download;return typeof i!="object"?r:i.filename||r},eD=(e,t)=>{if(typeof e=="boolean")return{};let r=e[t];if(typeof r!="object")return{};let n=r.copy;return typeof n!="object"||n===null?{}:{onCopy:n.onCopy,onError:n.onError}},tD={"1c":"1c","1c-query":"1cq",abap:"abap","actionscript-3":"as",ada:"ada",adoc:"adoc","angular-html":"html","angular-ts":"ts",apache:"conf",apex:"cls",apl:"apl",applescript:"applescript",ara:"ara",asciidoc:"adoc",asm:"asm",astro:"astro",awk:"awk",ballerina:"bal",bash:"sh",bat:"bat",batch:"bat",be:"be",beancount:"beancount",berry:"berry",bibtex:"bib",bicep:"bicep",blade:"blade.php",bsl:"bsl",c:"c","c#":"cs","c++":"cpp",cadence:"cdc",cairo:"cairo",cdc:"cdc",clarity:"clar",clj:"clj",clojure:"clj","closure-templates":"soy",cmake:"cmake",cmd:"cmd",cobol:"cob",codeowners:"CODEOWNERS",codeql:"ql",coffee:"coffee",coffeescript:"coffee","common-lisp":"lisp",console:"sh",coq:"v",cpp:"cpp",cql:"cql",crystal:"cr",cs:"cs",csharp:"cs",css:"css",csv:"csv",cue:"cue",cypher:"cql",d:"d",dart:"dart",dax:"dax",desktop:"desktop",diff:"diff",docker:"dockerfile",dockerfile:"dockerfile",dotenv:"env","dream-maker":"dm",edge:"edge",elisp:"el",elixir:"ex",elm:"elm","emacs-lisp":"el",erb:"erb",erl:"erl",erlang:"erl",f:"f","f#":"fs",f03:"f03",f08:"f08",f18:"f18",f77:"f77",f90:"f90",f95:"f95",fennel:"fnl",fish:"fish",fluent:"ftl",for:"for","fortran-fixed-form":"f","fortran-free-form":"f90",fs:"fs",fsharp:"fs",fsl:"fsl",ftl:"ftl",gdresource:"tres",gdscript:"gd",gdshader:"gdshader",genie:"gs",gherkin:"feature","git-commit":"gitcommit","git-rebase":"gitrebase",gjs:"js",gleam:"gleam","glimmer-js":"js","glimmer-ts":"ts",glsl:"glsl",gnuplot:"plt",go:"go",gql:"gql",graphql:"graphql",groovy:"groovy",gts:"gts",hack:"hack",haml:"haml",handlebars:"hbs",haskell:"hs",haxe:"hx",hbs:"hbs",hcl:"hcl",hjson:"hjson",hlsl:"hlsl",hs:"hs",html:"html","html-derivative":"html",http:"http",hxml:"hxml",hy:"hy",imba:"imba",ini:"ini",jade:"jade",java:"java",javascript:"js",jinja:"jinja",jison:"jison",jl:"jl",js:"js",json:"json",json5:"json5",jsonc:"jsonc",jsonl:"jsonl",jsonnet:"jsonnet",jssm:"jssm",jsx:"jsx",julia:"jl",kotlin:"kt",kql:"kql",kt:"kt",kts:"kts",kusto:"kql",latex:"tex",lean:"lean",lean4:"lean",less:"less",liquid:"liquid",lisp:"lisp",lit:"lit",llvm:"ll",log:"log",logo:"logo",lua:"lua",luau:"luau",make:"mak",makefile:"mak",markdown:"md",marko:"marko",matlab:"m",md:"md",mdc:"mdc",mdx:"mdx",mediawiki:"wiki",mermaid:"mmd",mips:"s",mipsasm:"s",mmd:"mmd",mojo:"mojo",move:"move",nar:"nar",narrat:"narrat",nextflow:"nf",nf:"nf",nginx:"conf",nim:"nim",nix:"nix",nu:"nu",nushell:"nu",objc:"m","objective-c":"m","objective-cpp":"mm",ocaml:"ml",pascal:"pas",perl:"pl",perl6:"p6",php:"php",plsql:"pls",po:"po",polar:"polar",postcss:"pcss",pot:"pot",potx:"potx",powerquery:"pq",powershell:"ps1",prisma:"prisma",prolog:"pl",properties:"properties",proto:"proto",protobuf:"proto",ps:"ps",ps1:"ps1",pug:"pug",puppet:"pp",purescript:"purs",py:"py",python:"py",ql:"ql",qml:"qml",qmldir:"qmldir",qss:"qss",r:"r",racket:"rkt",raku:"raku",razor:"cshtml",rb:"rb",reg:"reg",regex:"regex",regexp:"regexp",rel:"rel",riscv:"s",rs:"rs",rst:"rst",ruby:"rb",rust:"rs",sas:"sas",sass:"sass",scala:"scala",scheme:"scm",scss:"scss",sdbl:"sdbl",sh:"sh",shader:"shader",shaderlab:"shader",shell:"sh",shellscript:"sh",shellsession:"sh",smalltalk:"st",solidity:"sol",soy:"soy",sparql:"rq",spl:"spl",splunk:"spl",sql:"sql","ssh-config":"config",stata:"do",styl:"styl",stylus:"styl",svelte:"svelte",swift:"swift","system-verilog":"sv",systemd:"service",talon:"talon",talonscript:"talon",tasl:"tasl",tcl:"tcl",templ:"templ",terraform:"tf",tex:"tex",tf:"tf",tfvars:"tfvars",toml:"toml",ts:"ts","ts-tags":"ts",tsp:"tsp",tsv:"tsv",tsx:"tsx",turtle:"ttl",twig:"twig",typ:"typ",typescript:"ts",typespec:"tsp",typst:"typ",v:"v",vala:"vala",vb:"vb",verilog:"v",vhdl:"vhdl",vim:"vim",viml:"vim",vimscript:"vim",vue:"vue","vue-html":"html","vue-vine":"vine",vy:"vy",vyper:"vy",wasm:"wasm",wenyan:"wy",wgsl:"wgsl",wiki:"wiki",wikitext:"wiki",wit:"wit",wl:"wl",wolfram:"wl",xml:"xml",xsl:"xsl",yaml:"yaml",yml:"yml",zenscript:"zs",zig:"zig",zsh:"zsh",文言:"wy"},JMe=({onDownload:e,onError:t,language:r,children:n,className:i,code:a,...s})=>{let l=ur(),{code:u}=TX(),{isAnimating:h,controls:d}=U.useContext(si),f=Os(),m=Rs(),y=a??u,b=r&&r in tD?tD[r]:"txt",v=`${IS(d,"code","file")}.${b}`,k="text/plain",w=()=>{try{t0(v,y,k),e?.()}catch(_){t?.(_)}};return C.jsx("button",{"aria-label":f.downloadFile,className:l("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",i),"data-streamdown":"code-block-download-button",disabled:h,onClick:w,title:f.downloadFile,type:"button",...s,children:n??C.jsx(m.DownloadIcon,{size:14})})},rD=()=>{let{Loader2Icon:e}=Rs(),t=ur();return C.jsxs("div",{className:t("w-full divide-y divide-border overflow-hidden rounded-xl border border-border"),children:[C.jsx("div",{className:t("h-[46px] w-full bg-muted/80")}),C.jsx("div",{className:t("flex w-full items-center justify-center p-4"),children:C.jsx(e,{className:t("size-4 animate-spin")})})]})},eBe=/\.[^/.]+$/,tBe=({node:e,className:t,src:r,alt:n,onLoad:i,onError:a,showControls:s=!0,showDownloadControl:l=!0,...u})=>{let{DownloadIcon:h}=Rs(),d=ur(),f=U.useRef(null),[m,y]=U.useState(!1),[b,v]=U.useState(!1),k=Os(),w=u.width!=null||u.height!=null,_=(m||w)&&!b&&s&&l,S=b&&!w;U.useEffect(()=>{let P=f.current;if(P!=null&&P.complete){let D=P.naturalWidth>0;y(D),v(!D)}},[]);let N=U.useCallback(P=>{y(!0),v(!1),i?.(P)},[i]),O=U.useCallback(P=>{y(!1),v(!0),a?.(P)},[a]),I=async()=>{if(r)try{let P=await(await fetch(r)).blob(),D=new URL(r,window.location.origin).pathname.split("/").pop()||"",re=D.split(".").pop(),G=D.includes(".")&&re!==void 0&&re.length<=4,J="";if(G)J=D;else{let se=P.type,fe="png";se.includes("jpeg")||se.includes("jpg")?fe="jpg":se.includes("png")?fe="png":se.includes("svg")?fe="svg":se.includes("gif")?fe="gif":se.includes("webp")&&(fe="webp"),J=`${(n||D||"image").replace(eBe,"")}.${fe}`}t0(J,P,P.type)}catch{window.open(r,"_blank")}};return r?r===Pm?C.jsx("div",{className:d("group relative my-4 inline-block"),"data-incomplete":"true","data-streamdown":"image-wrapper",children:C.jsx("div",{className:d("h-24 w-48 animate-pulse rounded-lg bg-muted"),"data-streamdown":"image-placeholder"})}):C.jsxs("div",{className:d("group relative my-4 inline-block"),"data-streamdown":"image-wrapper",children:[C.jsx("img",{alt:n,className:d("max-w-full rounded-lg",S&&"hidden",t),"data-streamdown":"image",onError:O,onLoad:N,ref:f,src:r,...u}),S&&C.jsx("span",{className:d("text-muted-foreground text-xs italic"),"data-streamdown":"image-fallback",children:k.imageNotAvailable}),s&&C.jsx("div",{className:d("pointer-events-none absolute inset-0 hidden rounded-lg bg-black/10 group-hover:block"),"data-streamdown":"image-overlay"}),_&&C.jsx("button",{className:d("absolute right-2 bottom-2 flex h-8 w-8 cursor-pointer items-center justify-center rounded-md border border-border bg-background/90 shadow-sm backdrop-blur-sm transition-all duration-200 hover:bg-background","opacity-0 group-hover:opacity-100"),onClick:I,title:k.downloadImage,type:"button",children:C.jsx(h,{size:14})})]}):null},PS=e=>{let t=typeof e=="function"?e():e;return t??document.body},pm=0,FS=()=>{pm+=1,pm===1&&(document.body.style.overflow="hidden")},$S=()=>{pm=Math.max(0,pm-1),pm===0&&(document.body.style.overflow="")},rBe=({url:e,isOpen:t,onClose:r,onConfirm:n})=>{let{CheckIcon:i,CopyIcon:a,ExternalLinkIcon:s,XIcon:l}=Rs(),u=ur(),[h,d]=U.useState(!1),f=Os(),{portal:m}=U.useContext(si),y=U.useCallback(async()=>{try{await navigator.clipboard.writeText(e),d(!0),setTimeout(()=>d(!1),2e3)}catch{}},[e]),b=U.useCallback(()=>{n(),r()},[n,r]);if(U.useEffect(()=>{if(t){FS();let k=w=>{w.key==="Escape"&&r()};return document.addEventListener("keydown",k),()=>{document.removeEventListener("keydown",k),$S()}}},[t,r]),!t||typeof document>"u")return null;let v=C.jsx("div",{className:u("fixed inset-0 z-50 flex items-center justify-center bg-background/50 backdrop-blur-sm"),"data-streamdown":"link-safety-modal",onClick:r,onKeyDown:k=>{k.key==="Escape"&&r()},role:"button",tabIndex:0,children:C.jsxs("div",{className:u("relative mx-4 flex w-full max-w-md flex-col gap-4 rounded-xl border bg-background p-6 shadow-lg"),onClick:k=>k.stopPropagation(),onKeyDown:k=>k.stopPropagation(),role:"presentation",children:[C.jsx("button",{className:u("absolute top-4 right-4 rounded-md p-1 text-muted-foreground transition-all hover:bg-muted hover:text-foreground"),onClick:r,title:f.close,type:"button",children:C.jsx(l,{size:16})}),C.jsxs("div",{className:u("flex flex-col gap-2"),children:[C.jsxs("div",{className:u("flex items-center gap-2 font-semibold text-lg"),children:[C.jsx(s,{size:20}),C.jsx("span",{children:f.openExternalLink})]}),C.jsx("p",{className:u("text-muted-foreground text-sm"),children:f.externalLinkWarning})]}),C.jsx("div",{className:u("break-all rounded-md bg-muted p-3 font-mono text-sm",e.length>100&&"max-h-32 overflow-y-auto"),children:e}),C.jsxs("div",{className:u("flex gap-2"),children:[C.jsx("button",{className:u("flex flex-1 items-center justify-center gap-2 rounded-md border bg-background px-4 py-2 font-medium text-sm transition-all hover:bg-muted"),onClick:y,type:"button",children:h?C.jsxs(C.Fragment,{children:[C.jsx(i,{size:14}),C.jsx("span",{children:f.copied})]}):C.jsxs(C.Fragment,{children:[C.jsx(a,{size:14}),C.jsx("span",{children:f.copyLink})]})}),C.jsxs("button",{className:u("flex flex-1 items-center justify-center gap-2 rounded-md bg-primary px-4 py-2 font-medium text-primary-foreground text-sm transition-all hover:bg-primary/90"),onClick:b,type:"button",children:[C.jsx(s,{size:14}),C.jsx("span",{children:f.openLink})]})]})]})});return CS.createPortal(v,PS(m))},s6=U.createContext(null),zS=()=>U.useContext(s6),Jze=()=>{var e;let t=zS();return(e=t?.code)!=null?e:null},jS=()=>{var e;let t=zS();return(e=t?.mermaid)!=null?e:null},nBe=e=>{var t;let r=zS();return r!=null&&r.renderers&&e&&(t=r.renderers.find(n=>Array.isArray(n.language)?n.language.includes(e):n.language===e))!=null?t:null},_X=/<svg\b[^>]*>/i,iBe=/\bviewBox=(['"])(.*?)\1/i,aBe=/[\s,]+/,sBe=/\swidth=(['"]).*?\1/gi,oBe=/\sheight=(['"]).*?\1/gi,nD=/\sstyle=(['"])(.*?)\1/i,lBe=/^width\s*:/i,uBe=/^height\s*:/i,cBe=/^max-width\s*:/i,iD=/^<svg/i,SX=e=>{let t=e.match(_X);if(!t)return null;let r=t[0].match(iBe),n=r?.[2];if(!n)return null;let i=n.trim().split(aBe).map(l=>Number.parseFloat(l));if(i.length<4||i.slice(0,4).some(Number.isNaN))return null;let a=i[2],s=i[3];return a>0&&s>0?{height:s,width:a}:null},hBe=e=>{let t=e.match(_X);if(!t)return e;try{let r=t[0],n=SX(e);if(!n)return e;let{width:i,height:a}=n,s=r.replace(sBe,"").replace(oBe,""),l=s.match(nD),u=`width:${i}px;height:${a}px;max-width:none;`;if(l){let h=l[1],d=l[2].split(";").map(m=>m.trim()).filter(Boolean).filter(m=>!(lBe.test(m)||uBe.test(m)||cBe.test(m))).join(";"),f=`${u}${d?`${d};`:""}`;s=s.replace(nD,` style=${h}${f}${h}`)}else s=s.replace(iD,`<svg style="${u}"`);return s=s.replace(iD,`<svg width="${i}" height="${a}"`),e.replace(r,s)}catch{return e}},dBe=e=>{if(typeof DOMParser>"u"||typeof XMLSerializer>"u")return e;let t=new DOMParser().parseFromString(e,"text/html").querySelector("svg");return t?new XMLSerializer().serializeToString(t):e},fBe=(e,t)=>{var r;let n=(r=void 0)!=null?r:5;return new Promise((i,a)=>{let s="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(e))),l=new Image;l.crossOrigin="anonymous",l.onload=()=>{let u=document.createElement("canvas"),h=l.width*n,d=l.height*n;u.width=h,u.height=d;let f=u.getContext("2d");if(!f){a(new Error("Failed to create 2D canvas context for PNG export"));return}f.drawImage(l,0,0,h,d),u.toBlob(m=>{if(!m){a(new Error("Failed to create PNG blob"));return}i(m)},"image/png")},l.onerror=()=>a(new Error("Failed to load SVG image")),l.src=s})},EX=({chart:e,children:t,className:r,onDownload:n,config:i,onError:a})=>{let s=ur(),[l,u]=U.useState(!1),h=U.useRef(null),{isAnimating:d,controls:f}=U.useContext(si),m=Rs(),y=jS(),b=Os(),v=IS(f,"mermaid","diagram"),k=async w=>{try{if(w==="mmd"){let P=`${v}.mmd`;t0(P,e,"text/plain"),u(!1),n?.(w);return}if(!y){a?.(new Error("Mermaid plugin not available"));return}let _=y.getMermaid(i),S=e.split("").reduce((P,D)=>(P<<5)-P+D.charCodeAt(0)|0,0),N=`mermaid-${Math.abs(S)}-${Date.now()}-${Math.random().toString(36).substring(2,9)}`,{svg:O}=await _.render(N,e);if(!O){a?.(new Error("SVG not found. Please wait for the diagram to render."));return}let I=dBe(O);if(w==="svg"){let P=`${v}.svg`;t0(P,I,"image/svg+xml"),u(!1),n?.(w);return}if(w==="png"){let P=await fBe(I);t0(`${v}.png`,P,"image/png"),n?.(w),u(!1);return}}catch(_){a?.(_)}};return U.useEffect(()=>{let w=_=>{let S=_.composedPath();h.current&&!S.includes(h.current)&&u(!1)};return document.addEventListener("mousedown",w),()=>{document.removeEventListener("mousedown",w)}},[]),C.jsxs("div",{className:s("relative"),ref:h,children:[C.jsx("button",{"aria-label":b.downloadDiagram,className:s("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",r),disabled:d,onClick:()=>u(!l),title:b.downloadDiagram,type:"button",children:t??C.jsx(m.DownloadIcon,{"aria-hidden":"true",size:14})}),l?C.jsxs("div",{className:s("absolute top-full right-0 z-10 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg"),children:[C.jsx("button",{"aria-label":b.downloadDiagramAsSvg,className:s("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>k("svg"),title:b.downloadDiagramAsSvg,type:"button",children:b.mermaidFormatSvg}),C.jsx("button",{"aria-label":b.downloadDiagramAsPng,className:s("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>k("png"),title:b.downloadDiagramAsPng,type:"button",children:b.mermaidFormatPng}),C.jsx("button",{"aria-label":b.downloadDiagramAsMmd,className:s("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>k("mmd"),title:b.downloadDiagramAsMmd,type:"button",children:b.mermaidFormatMmd})]}):null]})},pBe=({chart:e,config:t,onFullscreen:r,onExit:n,className:i,...a})=>{let{Maximize2Icon:s,XIcon:l}=Rs(),u=ur(),[h,d]=U.useState(!1),{isAnimating:f,controls:m,portal:y}=U.useContext(si),b=Os(),v=(()=>{if(typeof m=="boolean")return m;let S=m.mermaid;return S===!1?!1:S===!0||S===void 0?!0:S.panZoom!==!1})(),k=(()=>{if(typeof m=="boolean")return m;let S=m.mermaid;return S===!1?!1:S===!0||S===void 0?!0:S.download!==!1})(),w=(()=>{if(typeof m=="boolean")return m;let S=m.mermaid;return S===!1?!1:S===!0||S===void 0?!0:S.copy!==!1})(),_=()=>{d(!h)};return U.useEffect(()=>{if(h){FS();let S=N=>{N.key==="Escape"&&d(!1)};return document.addEventListener("keydown",S),()=>{document.removeEventListener("keydown",S),$S()}}},[h]),U.useEffect(()=>{h?r?.():n&&n()},[h,r,n]),C.jsxs(C.Fragment,{children:[C.jsx("button",{className:u("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",i),disabled:f,onClick:_,title:b.viewFullscreen,type:"button",...a,"aria-label":b.viewFullscreen,children:C.jsx(s,{"aria-hidden":"true",size:14})}),h?CS.createPortal(C.jsxs("div",{"aria-label":b.viewFullscreen,"aria-modal":"true",className:u("fixed inset-0 z-50 flex items-center justify-center bg-background/95 backdrop-blur-sm"),"data-streamdown":"mermaid-fullscreen",onClick:_,onKeyDown:S=>{S.key==="Escape"&&_()},role:"dialog",children:[C.jsxs("div",{className:u("absolute top-4 right-4 z-10 flex items-center gap-1"),onClick:S=>S.stopPropagation(),onKeyDown:S=>S.stopPropagation(),role:"presentation",children:[k?C.jsx(EX,{chart:e,config:t}):null,w?C.jsx(a6,{code:e}):null,C.jsx("button",{"aria-label":b.exitFullscreen,className:u("rounded-md p-2 text-muted-foreground transition-all hover:bg-muted hover:text-foreground"),onClick:_,title:b.exitFullscreen,type:"button",children:C.jsx(l,{"aria-hidden":"true",size:20})})]}),C.jsx("div",{className:u("flex size-full items-center justify-center p-4"),onClick:S=>S.stopPropagation(),onKeyDown:S=>S.stopPropagation(),role:"presentation",children:C.jsx(gK,{chart:e,className:u("size-full [&_svg]:h-auto [&_svg]:w-auto"),config:t,fullscreen:!0,showControls:v})})]}),PS(y)):null]})};function o6(e){var t;if(e.nodeType===Node.TEXT_NODE)return(t=e.textContent)!=null?t:"";if(e.nodeType!==Node.ELEMENT_NODE)return"";let r=e;return r.tagName==="BR"?`
858
858
  `:Array.from(r.childNodes).map(o6).join("")}var AX=e=>{let t=[],r=[],n=e.querySelectorAll("thead th");for(let a of n)t.push(o6(a).trim());let i=e.querySelectorAll("tbody tr");for(let a of i){let s=[],l=a.querySelectorAll("td");for(let u of l)s.push(o6(u).trim());r.push(s)}return{headers:t,rows:r}},LX=e=>{var t;if(typeof e!="object")return",";let r=e.table;return typeof r!="object"?",":(t=r.csvSeparator)!=null?t:","},NX=(e,t=",")=>{let r;t==="auto"?Intl.NumberFormat().format(1.1).includes(",")?r=";":r=",":r=t;let{headers:n,rows:i}=e,a=h=>{let d=!1;for(let f of h)if(f===r||f==='"'||f===`
859
859
  `||f==="\r"){d=!0;break}return d?`"${h.replace(/"/g,'""')}"`:h},s=n.length>0?i.length+1:i.length,l=new Array(s),u=0;n.length>0&&(l[u]=n.map(a).join(r),u+=1);for(let h of i)l[u]=h.map(a).join(r),u+=1;return l.join(`
@@ -893,10 +893,10 @@ ${f}`,i=e.length;break}return i===0?e:n+e.slice(i)},oRe=(e,t)=>{if(!t.length)ret
893
893
 
894
894
  `))>=0;){const y=h.slice(0,m);h=h.slice(m+2);let b="message",v="",k;for(const _ of y.split(`
895
895
  `)){if(_.startsWith(":"))continue;const S=_.indexOf(":"),N=S<0?_:_.slice(0,S),O=S<0?"":_.slice(S+1).replace(/^ /,"");N==="event"?b=O:N==="data"?v+=O:N==="id"&&(k=O)}if(k&&(n=k),!v)continue;let w=v;try{w=JSON.parse(v)}catch{}b==="state"?t.state(w):b==="proposals"?t.proposals?.(w):b==="error"&&t.error?.(String(w?.error??w))}}}catch(l){if(r)return;(!(l instanceof Error)||l.name!=="AbortError")&&t.error?.(String(l.message??l))}if(r)return;await new Promise(l=>setTimeout(l,Math.min(5e3,300*2**i++)))}})(),()=>{r=!0,a?.abort()}}function l$e(e){const t=[],r=e.split(`
896
- `);let n=0,i=0,a=!1,s=!1;for(const h of r){if(h.startsWith("diff ")){const d=h.match(/^(diff --git )(.*)$/);t.push({kind:"file",text:h,head:d?.[1]??"",paths:d?.[2]??h,adds:0,dels:0}),a=!0,s=!0;continue}if(!a){t.push({kind:"pre",text:h});continue}if(h.startsWith("@@")){const d=h.match(/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/);d&&(n=Number(d[1]),i=Number(d[2])),t.push({kind:"hunk",text:h,adds:0,dels:0}),s=!1;continue}if(s){t.push({kind:"meta",text:h});continue}h.startsWith("+")?(t.push({kind:"add",text:h.slice(1),newNo:i}),i+=1):h.startsWith("-")?(t.push({kind:"del",text:h.slice(1),oldNo:n}),n+=1):h.startsWith("\\")?t.push({kind:"note",text:h}):(t.push({kind:"ctx",text:h.slice(1),oldNo:n,newNo:i}),n+=1,i+=1)}let l=null,u=null;for(const h of t)h.kind==="file"?(l=h,u=null):h.kind==="hunk"?u=h:h.kind==="add"?(l&&(l.adds+=1),u&&(u.adds+=1)):h.kind==="del"&&(l&&(l.dels+=1),u&&(u.dels+=1));return t}function nP({adds:e,dels:t}){return!e&&!t?null:C.jsxs("span",{className:"flex shrink-0 items-center gap-1 font-sans text-[10px] font-medium leading-none",children:[e>0&&C.jsxs("span",{className:"rounded bg-emerald-100 px-1.5 py-0.5 text-emerald-700",children:["+",e]}),t>0&&C.jsxs("span",{className:"rounded bg-red-100 px-1.5 py-0.5 text-red-700",children:["−",t]})]})}function z6({run:e,name:t,version:r,className:n=""}){const i=JSON.stringify([e,t,r]),[a,s]=U.useState(null),[l,u]=U.useState(0);U.useEffect(()=>{let m=!1;const y=new AbortController;return s({key:i}),s$e(`/api/diff?run=${encodeURIComponent(e)}&name=${encodeURIComponent(t)}`,{signal:y.signal}).then(b=>{m||s({key:i,text:b})}).catch(b=>{m||s({key:i,error:b instanceof Error?b.message:String(b)})}),()=>{m=!0,y.abort()}},[i,l]);const h=a?.key===i?a:null;if(h?.error)return C.jsxs("div",{role:"alert",className:`p-3 text-xs [overflow-wrap:anywhere] ${n}`,children:[C.jsxs("p",{children:["Could not load diff: ",h.error]}),C.jsx("button",{onClick:()=>u(m=>m+1),className:"mt-2 underline",children:"Retry diff"})]});const d=h?.text;if(d==null)return C.jsx("div",{role:"status",className:`p-3 text-xs text-muted-foreground ${n}`,children:"Loading diff…"});if(!d.trim())return C.jsx("div",{className:`p-3 text-xs text-muted-foreground ${n}`,children:"no code changes"});const f=l$e(d);return C.jsx("pre",{className:`overflow-auto bg-background font-mono text-[11px] leading-[1.55] ${n}`,children:f.map((m,y)=>{if(m.kind==="file")return C.jsxs("div",{className:"sticky top-0 z-20 flex w-max min-w-full items-center gap-2 border-y border-border bg-muted px-3 py-1.5",children:[C.jsx(cte,{className:"size-3.5 shrink-0 text-muted-foreground","aria-hidden":!0}),C.jsxs("span",{className:"whitespace-pre",children:[C.jsx("span",{className:"text-[10px] text-muted-foreground",children:m.head}),C.jsx("span",{className:"text-xs font-semibold text-foreground",children:m.paths})]}),C.jsx(nP,{adds:m.adds,dels:m.dels})]},y);if(m.kind==="meta")return C.jsx("div",{className:"w-max min-w-full whitespace-pre bg-muted/40 px-3 py-0.5 text-[10px] leading-[1.4] text-neutral-400",children:m.text},y);if(m.kind==="hunk")return C.jsxs("div",{className:"flex w-max min-w-full items-center gap-2.5 border-y border-blue-100 bg-blue-50 px-3 py-1",children:[C.jsx("span",{className:"whitespace-pre font-semibold text-blue-700",children:m.text}),C.jsx(nP,{adds:m.adds,dels:m.dels})]},y);if(m.kind==="pre")return C.jsx("div",{className:"w-max min-w-full whitespace-pre px-3 py-0.5 text-[10px] leading-[1.4] text-neutral-400",children:m.text},y);if(m.kind==="note")return C.jsx("div",{className:"flex w-max min-w-full whitespace-pre bg-muted/40 px-3 py-0.5 italic text-muted-foreground",children:m.text},y);const b=m.kind==="add",v=m.kind==="del";return C.jsxs("div",{className:`flex w-max min-w-full ${b?"bg-emerald-50":v?"bg-red-50":"bg-background"}`,children:[C.jsxs("div",{className:`sticky left-0 z-10 flex shrink-0 border-r ${b||v?"":"bg-muted"}`,children:[C.jsx("span",{className:`w-9 pr-2 text-right text-[10px] tabular-nums text-neutral-400 ${v?"bg-red-100":b?"bg-emerald-50":"bg-muted"}`,children:m.oldNo??""}),C.jsx("span",{className:`w-9 pr-2 text-right text-[10px] tabular-nums text-neutral-400 ${b?"bg-emerald-100":v?"bg-red-50":"bg-muted"}`,children:m.newNo??""})]}),C.jsx("span",{className:`w-5 shrink-0 text-center font-bold ${b?"bg-emerald-200/70 text-emerald-700":v?"bg-red-200/60 text-red-600":"text-neutral-300"}`,children:b?"+":v?"−":" "}),C.jsx("span",{className:`whitespace-pre pr-4 ${b||v?"":"text-neutral-500"}`,children:m.text||" "})]},y)})})}function u$e(e){const t=e.rounds[e.rounds.length-1];if(e.status==="paused")return`Paused before round ${e.rounds.length+1}`;if(e.alive&&t?.inProgress){if(t.judging)return`Round ${t.n} · judging`;const r=t.attempts.filter(n=>n.status!=="running").length;return`Round ${t.n} · ${r}/${t.attempts.length} attempts done`}return e.alive?"Starting next round":AE(e)}const F0=(e,t)=>t==null?"–":e.kind==="bench"?`${t<10?t.toFixed(1):Math.round(t)} ${e.metric?.unit??""}`.trim():t.toFixed(1),cZ=(e,t)=>{if(t==null)return"–";if(e.kind!=="bench")return t.toFixed(1);const r=Math.abs(t);return`${r!==0&&r<1?t.toFixed(3):r<10?t.toFixed(2):Math.round(t)} ${e.metric?.unit??""}`.trim()},e3=(e,t)=>{if(e.kind!=="bench"||t==null||!e.baseline)return"";const r=e.metric?.better==="higher"?t/e.baseline:e.baseline/t;return r>=1?`${r<10?r.toFixed(1):Math.round(r)}× ${e.metric?.better==="higher"?"better":"faster"}`:`${(1/r).toFixed(1)}× worse`};function t3(e){const t=e.rounds.flatMap(r=>r.attempts);return!e.alive&&t.length>0&&t.every(r=>!["done","unchanged","no-change"].includes(r.status))}function j6(e){const t=e.rounds.at(-1);return!e.alive&&!!t&&(!!t.inconclusive||!!t.unseen?.length||t.attempts.some(r=>r.status==="done"&&!!r.commit&&r.score==null&&!r.humanPick&&!r.vetoed&&r.bench?.passed!==!1))}function AE(e){const t=e.rounds[e.rounds.length-1];return e.status==="paused"?"Paused":e.alive&&t?.inProgress?t.judging?`Round ${t.n}: comparing versions…`:`Round ${t.n}: making candidates…`:e.alive?"Starting the next round…":e.status==="error"?`Error: ${e.stopReason||"run failed"}`:e.status==="stalled"?"Interrupted — no signal from the round":e.stopReason==="aborted"?"Stopped — worktrees kept":j6(e)?"Inconclusive — judging incomplete":t3(e)?"No candidates completed":e.rounds.length?`Done after ${e.rounds.length} round${e.rounds.length===1?"":"s"}`:"No usable result — no rounds completed"}function c$e({text:e}){const[t,r]=U.useState(!1),n=e.startsWith("Message from the human"),i=e.replace(/^Message from the human reviewing your work: /,"You: ").replace(/\nMake the change in index.html[\s\S]*$/,"");return C.jsx("button",{onClick:()=>r(!t),className:`w-full whitespace-pre-wrap rounded-md px-3 py-2 text-left text-xs ${n?"bg-violet-50 text-violet-900":"bg-muted text-muted-foreground"} ${t||n?"":"line-clamp-3"}`,children:n?i:C.jsxs(C.Fragment,{children:[C.jsx("span",{className:"font-medium text-foreground/70",children:"from parent: "}),i]})})}function h$e({run:e,round:t,a:r,onBack:n,steer:i}){const[a,s]=U.useState(null),[l,u]=U.useState([]),[h,d]=U.useState(!1),[f,m]=U.useState("desktop"),[y,b]=U.useState(""),[v,k]=U.useState(0),w=l.some(D=>D.status==="running");U.useEffect(()=>{let D=!1;const re=async()=>{const J=`run=${e.id}&name=${r.name}`,[se,fe]=await Promise.all([Fr(`/api/session?${J}`),Fr(`/api/talk?${J}`)]);D||(s(se),u(ie=>(ie.some(z=>z.status==="running")&&!fe.some(z=>z.status==="running")&&k(Date.now()),fe)))};re();const G=setInterval(re,3e3);return()=>{D=!0,clearInterval(G)}},[e.id,r.name,r.status]);const _=a?.filter(D=>D.inherited)??[],S=a?.filter(D=>!D.inherited)??[],N=(r.live??"")+(v?`?v=${v}`:""),O=556,I=f==="desktop"?{w:1280,h:800,s:O/1280}:{w:390,h:780,s:.4},P=({l:D})=>D.t==="tool"?C.jsxs("div",{className:"flex items-center gap-1.5 font-mono text-[11px] text-muted-foreground",children:[C.jsx(Ste,{className:"size-3 shrink-0"})," ",D.name,C.jsxs("span",{className:"truncate opacity-70",children:["(",D.args,")"]}),D.out&&C.jsxs("span",{className:"ml-1 truncate text-foreground/60",children:["→ ",D.out]})]}):D.t==="user"?C.jsx(c$e,{text:D.text}):C.jsx("p",{className:"whitespace-pre-wrap",children:D.text});return C.jsxs("div",{className:"flex h-full flex-col animate-in fade-in slide-in-from-right-4",onClick:D=>D.stopPropagation(),children:[C.jsxs("div",{className:"mb-3 flex items-center gap-2 text-xs text-muted-foreground",children:[C.jsxs("button",{onClick:n,className:"inline-flex items-center gap-1 hover:text-foreground",children:[C.jsx(xP,{className:"size-3"})," ",e.name," · R",t.n]}),C.jsx("span",{children:"/"}),C.jsxs("span",{className:"text-foreground",children:[r.label," · ",r.model," · ",r.style]}),C.jsx("span",{className:"font-mono",children:F0(e,r.score)}),e.kind!=="bench"&&C.jsxs(C.Fragment,{children:[C.jsx("span",{className:"ml-auto flex gap-1",children:["desktop","mobile"].map(D=>C.jsx("button",{onClick:()=>m(D),className:`rounded px-1.5 ${f===D?"bg-muted text-foreground":""}`,children:D},D))}),C.jsxs("a",{href:r.live,target:"_blank",className:"inline-flex items-center gap-1 hover:text-foreground",children:["open ",C.jsx(EP,{className:"size-3"})]})]})]}),e.kind==="bench"?r.status==="running"?C.jsx("div",{className:"flex h-[230px] shrink-0 items-center justify-center rounded-md border bg-muted text-xs text-muted-foreground",children:C.jsx("span",{className:"animate-pulse",children:"child is working…"})}):C.jsxs("div",{className:"shrink-0 rounded-md border",children:[C.jsx(d$e,{run:e,a:r}),C.jsx(z6,{run:e.id,name:r.name,version:r.score,className:"max-h-[260px] border-t"})]}):C.jsxs("div",{className:"relative shrink-0 overflow-hidden rounded-md border bg-muted",style:{width:O,height:230},children:[r.status==="running"?C.jsx("div",{className:"flex h-full items-center justify-center text-xs text-muted-foreground",children:C.jsx("span",{className:"animate-pulse",children:"child is working…"})}):C.jsx("iframe",{src:N,title:"live",className:"absolute left-0 top-0 origin-top-left",style:{width:I.w,height:I.h,transform:`scale(${I.s})`,left:f==="mobile"?(O-I.w*I.s)/2:0}},N+f),w&&C.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-background/60 text-xs backdrop-blur-[1px]",children:C.jsx("span",{className:"animate-pulse",children:"applying your feedback…"})})]}),C.jsxs("div",{className:"mt-2 flex items-center gap-2 text-[11px] text-muted-foreground",children:[r.reason&&C.jsxs("span",{className:"flex-1",children:["Judge: ",r.reason]}),!r.kept&&!r.humanPick&&r.status==="done"&&!!r.commit&&!t.inProgress&&C.jsx("button",{onClick:()=>i(e.id,{action:"pick",attempt:r.name}),className:"shrink-0 rounded border px-2 py-0.5 text-foreground hover:bg-muted",children:"Continue the loop from this one"}),r.humanPick&&C.jsx("span",{className:"text-violet-600",children:"your pick: the loop continues from this one"})]}),C.jsxs("div",{className:"mt-3 min-h-0 flex-1 space-y-2.5 overflow-auto pr-2 text-[13px]",children:[a===null&&C.jsx("div",{className:"text-xs text-muted-foreground",children:"loading session…"}),_.length>0&&C.jsxs("button",{onClick:()=>d(!h),className:"flex w-full items-center gap-1.5 border-b border-dashed pb-2 text-left text-[11px] text-muted-foreground hover:text-foreground",children:[C.jsx(fte,{className:"size-3"})," forked from R",t.from.round," ",t.from.label,": ",_.length," earlier steps inherited",C.jsx(U6,{className:`ml-auto size-3 transition ${h?"rotate-90":""}`})]}),h&&C.jsx("div",{className:"space-y-2.5 border-l-2 border-dashed pl-3 opacity-60",children:_.map((D,re)=>C.jsx(P,{l:D},"i"+re))}),S.map((D,re)=>C.jsx(P,{l:D},re)),l.filter(D=>D.status==="running"&&!S.some(re=>re.t==="user"&&re.text.includes(D.text))).map(D=>C.jsxs("div",{className:"rounded-md bg-muted px-3 py-2 text-xs text-muted-foreground",children:["You: ",D.text," ",C.jsx("span",{className:"animate-pulse",children:"· working…"})]},D.t)),C.jsx("form",{className:"pt-2",onSubmit:async D=>{if(D.preventDefault(),!y.trim())return;const re=y.trim();b(""),u(G=>[...G,{t:Date.now(),text:re,status:"running"}]),await Fr("/api/talk",{method:"POST",json:{run:e.id,name:r.name,text:re}})},children:C.jsx("input",{value:y,onChange:D=>b(D.target.value),disabled:r.status==="running"||w,placeholder:r.status==="running"?"wait for this child to finish…":`Message ${r.model} about this attempt (it edits its own copy)…`,className:"w-full rounded-md border bg-background px-3 py-2 text-xs outline-none focus:ring-1 focus:ring-foreground/30 disabled:opacity-50"})})]})]})}function d$e({run:e,a:t}){const r=t.bench;return r?C.jsxs("div",{className:"grid grid-cols-3 gap-3 px-3 py-2 text-xs",children:[C.jsxs("div",{children:[C.jsx("div",{className:"text-[10px] uppercase tracking-wide text-muted-foreground",children:"tests"}),C.jsx("div",{className:r.passed?"text-emerald-700":"text-red-600",children:r.passed?"✓ "+(r.tests??"pass"):"✗ failing"})]}),C.jsxs("div",{children:[C.jsx("div",{className:"text-[10px] uppercase tracking-wide text-muted-foreground",children:e.metric?.label??"benchmark"}),C.jsx("div",{className:"font-mono",children:r.value!=null?`${F0(e,r.value)} · ${e3(e,r.value)}`:r.error?"failed":"–"})]}),C.jsxs("div",{children:[C.jsx("div",{className:"text-[10px] uppercase tracking-wide text-muted-foreground",children:"review"}),C.jsx("div",{className:t.vetoed?"text-red-600":"",children:t.review?(t.review.ok?"✓ ":"✗ ")+t.review.note:"–"})]}),!r.passed&&r.tests&&C.jsx("pre",{className:"col-span-3 max-h-24 overflow-auto whitespace-pre-wrap rounded bg-red-500/5 p-2 font-mono text-[10px] text-red-800",children:r.tests})]}):C.jsx("div",{className:"px-3 py-2 text-xs text-muted-foreground",children:t.status==="done"?"waiting to be measured…":t.status})}function Mc({tone:e,children:t}){const r={ok:"bg-emerald-600/10 text-emerald-700",bad:"bg-red-500/10 text-red-600",pending:"bg-amber-500/15 text-amber-700",plain:"bg-muted text-muted-foreground"};return C.jsx("span",{className:`inline-flex max-w-full items-center gap-1 rounded-full px-2 py-0.5 text-[11px] font-medium ${r[e]}`,children:t})}function f$e({run:e}){if(e.alive||e.status!=="done"||e.rounds.some(f=>f.inProgress))return null;if(e.best.round===0)return C.jsx("div",{"aria-label":"Loop results summary",className:"min-w-0 basis-full border-t pt-3 text-xs text-muted-foreground",children:t3(e)?"No candidate completed. Inspect the round before trying again.":"No improved candidate was kept. Inspect a round for details."});const r=e.rounds.find(f=>f.n===e.best.round)?.attempts.find(f=>f.name===e.best.label),n=r?.bench,i=e.winnerFiles?[...new Set([...e.winnerFiles.changed,...e.winnerFiles.added,...e.winnerFiles.removed])]:[],a=e.questions.filter(f=>f.kind==="apply"&&!f.expired&&(f.round==null||f.round===e.best.round)&&(!f.label||f.label===e.best.label||f.label===r?.style)).at(-1),s=!!a&&!a.answered,l=e.best.applied?.trim(),u=!!(e.winnerFiles?.added.length||e.winnerFiles?.removed.length),h=r?.summary||r?.review?.note||r?.reason,d=l?u?"Added and removed files are not included in the tracked-file apply. Review them separately.":"Next: keep iterating, or clean up the worktrees.":s&&a?`Next: review “${a.text}” in the conversation.`:a?.answered?"No successful apply is recorded. Check the conversation before applying again.":"Next: inspect the changes, then ask the agent to apply the winner.";return C.jsxs("div",{"aria-label":"Loop results summary",className:"min-w-0 basis-full border-t pt-3",children:[C.jsxs("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1.5",children:[n&&(n.passed?C.jsxs(Mc,{tone:"ok",children:[C.jsx(nh,{className:"size-3 shrink-0"})," Candidate check passed"]}):C.jsxs(Mc,{tone:"bad",children:[C.jsx(ol,{className:"size-3 shrink-0"})," Candidate check failed"]})),!n&&C.jsx(Mc,{tone:"plain",children:"Candidate check not recorded"}),i.length>0&&C.jsxs(Mc,{tone:"plain",children:[C.jsxs("span",{className:"shrink-0",children:[i.length," file",i.length===1?"":"s"," changed"]}),C.jsx("span",{className:"min-w-0 max-w-[160px] truncate font-mono",title:i.join(", "),children:i.join(", ")})]}),l?C.jsxs(Mc,{tone:"ok",children:[C.jsx(nh,{className:"size-3 shrink-0"})," Tracked edits applied ",C.jsx("span",{className:"font-mono",title:l,children:l.slice(0,7)})]}):s?C.jsxs(Mc,{tone:"pending",children:[C.jsx("span",{className:"size-1.5 shrink-0 rounded-full bg-amber-600"})," Awaiting apply decision"]}):C.jsx(Mc,{tone:"plain",children:"Application unconfirmed"})]}),h&&C.jsx("div",{className:"mt-1.5 line-clamp-2 text-xs text-muted-foreground",title:h,children:h}),d&&C.jsx("div",{className:"mt-1.5 text-xs font-medium",children:d})]})}const _u=(e,t)=>t==null?"–":e.kind==="bench"?`${t<10?t.toFixed(1):Math.round(t)} ${e.metric?.unit??""}`.trim():t.toFixed(1),p$e=(e,t)=>t==null?"–":e.kind==="bench"?t<10?t.toFixed(1):`${Math.round(t)}`:t.toFixed(1),m$e=e=>e>=1e6?`${(e/1e6).toFixed(1)}M`:`${Math.round(e/1e3)}k`,gm=(e,t)=>{if(e.kind!=="bench"||t==null||!e.baseline)return"";const r=e.metric?.better==="higher"?t/e.baseline:e.baseline/t;return r>=1?`${r<10?r.toFixed(1):Math.round(r)}× ${e.metric?.better==="higher"?"better":"faster"}`:`${(1/r).toFixed(1)}× worse`};function g$e(){const e=U.useRef(null),[t,r]=U.useState(0);return U.useLayoutEffect(()=>{if(!e.current)return;const n=new ResizeObserver(([i])=>r(i.contentRect.width));return n.observe(e.current),()=>n.disconnect()},[]),[e,t]}function y$e({run:e,h:t=76}){const[r,n]=g$e(),i=e.kind==="bench"&&e.metric?.better!=="higher",a=e.kind==="bench"?[[0,e.baseline??NaN]]:[];e.rounds.filter(S=>!S.inProgress).forEach((S,N)=>a.push([S.n,e.scores[N]]));const s=e.rounds.flatMap(S=>S.attempts.filter(N=>N.status!=="running").flatMap(N=>{const O=N.score??N.bench?.value??void 0;return O==null&&(S.inProgress||N.status==="no-change")?[]:[{x:S.n,y:O,bad:O==null,rejected:N.score==null&&O!=null,kept:!!(N.kept||N.humanPick)}]})),l=[...a.map(S=>S[1]),...s.map(S=>S.y)].filter(S=>S!=null&&isFinite(S)&&S>0);if(!l.length)return C.jsx("div",{ref:r,style:{height:t}});const u=Math.log(Math.min(...l))-.15,h=Math.log(Math.max(...l))+.15,d=Math.max(e.maxRounds,e.rounds.length,1),f=20,m=S=>f+S/d*(n-f*2),y=S=>{const N=(Math.log(S)-u)/(h-u||1);return 16+(i?N:1-N)*(t-34)},b=a.filter(S=>isFinite(S[1])),v=b.map((S,N)=>`${N?"L":"M"}${m(S[0])},${y(S[1])}`).join(" "),k=b.length>1?`${v} L${m(b[b.length-1][0])},${t-14} L${m(b[0][0])},${t-14} Z`:"",w=Array.from({length:d+1},(S,N)=>N).filter(S=>e.kind==="bench"||S>0),_=e.kind==="bench"&&e.baseline&&isFinite(e.baseline)?e.baseline:null;return C.jsx("div",{ref:r,style:{height:t},className:"w-full",children:n>0&&C.jsxs("svg",{width:n,height:t,className:"overflow-visible",children:[C.jsxs("text",{x:2,y:9,className:"fill-muted-foreground text-[9px]",children:["● accepted · ",C.jsx("tspan",{className:"fill-red-500",children:"○ rejected · × failed"})]}),_!=null&&C.jsx("line",{x1:f,x2:n-f,y1:y(_),y2:y(_),strokeDasharray:"3 3",className:"stroke-muted-foreground/40",strokeWidth:1}),k&&C.jsx("path",{d:k,className:"fill-blue-500/[0.06]",stroke:"none"}),s.map((S,N)=>S.bad?C.jsx("text",{x:m(S.x)+(N%3-1)*6,y:24,textAnchor:"middle",className:"fill-red-500 text-[10px]",children:"×"},N):S.rejected?C.jsx("circle",{cx:m(S.x)+(N%3-1)*5,cy:y(S.y),r:3.5,className:"fill-none stroke-red-500",strokeWidth:1.5},N):C.jsx("circle",{cx:m(S.x)+(N%3-1)*5,cy:y(S.y),r:2.5,className:S.kept?"fill-foreground":"fill-foreground/25"},N)),C.jsx("path",{d:v,fill:"none",stroke:"currentColor",strokeWidth:1.5,className:"text-blue-600"}),b.map((S,N)=>C.jsxs("g",{children:[C.jsx("circle",{cx:m(S[0]),cy:y(S[1]),r:3,className:"fill-blue-600"}),N===b.length-1&&C.jsx("circle",{cx:m(S[0]),cy:y(S[1]),r:5.5,className:"fill-none stroke-blue-600/30",strokeWidth:2}),(N===0||N===b.length-1)&&C.jsx("text",{x:m(S[0]),y:y(S[1])-8,textAnchor:"middle",className:"fill-foreground font-mono text-[9px]",children:_u(e,S[1])})]},N)),w.map(S=>C.jsx("text",{x:m(S),y:t-4,textAnchor:"middle",className:"fill-muted-foreground text-[9px]",children:S===0?"start":`R${S}`},S))]})})}function b$e({run:e}){return e.alive?C.jsxs("span",{className:"inline-flex shrink-0 items-center gap-1.5 rounded-md bg-blue-50 px-2 py-0.5 text-xs font-medium text-blue-700",children:[C.jsx("span",{className:"size-1.5 animate-pulse rounded-full bg-blue-500"}),"Running"]}):e.status==="paused"?C.jsxs("span",{className:"inline-flex shrink-0 items-center gap-1.5 rounded-md bg-amber-50 px-2 py-0.5 text-xs font-medium text-amber-700",children:[C.jsx("span",{className:"size-1.5 rounded-full bg-amber-500"}),"Paused"]}):e.stopReason==="aborted"?C.jsx("span",{className:"rounded-md bg-amber-50 px-2 py-0.5 text-xs font-medium text-amber-700",children:"Stopped"}):t3(e)||e.status==="error"||e.status==="stalled"?C.jsx("span",{className:"inline-flex shrink-0 items-center rounded-md bg-red-50 px-2 py-0.5 text-xs font-medium text-red-700",children:e.status==="stalled"?"Interrupted":"Failed"}):j6(e)||!e.rounds.length?C.jsx("span",{className:"rounded-md bg-amber-50 px-2 py-0.5 text-xs font-medium text-amber-700",children:j6(e)?"Inconclusive":"No result"}):C.jsxs("span",{className:"inline-flex shrink-0 items-center gap-1 rounded-md bg-green-50 px-2 py-0.5 text-xs font-medium text-green-700",children:[C.jsx(nh,{className:"size-3"}),"Done"]})}function x$e({a:e,roundInProgress:t}){if(e.status==="running")return C.jsx("span",{className:"size-1.5 animate-pulse rounded-full bg-blue-500",title:`${e.label} · ${e.model} · running`});const r=e.score??e.bench?.value,n=`${e.label} · ${e.model}`;return e.kept||e.humanPick?C.jsx("span",{className:"size-1.5 rounded-full bg-foreground",title:`${n} · kept`}):r==null?e.status==="no-change"||t&&e.status==="done"?C.jsx("span",{className:"size-1.5 rounded-full border border-muted-foreground/40",title:`${n} · no change`}):C.jsx("span",{className:"text-[9px] font-medium leading-none text-red-500",title:`${n} · failed`,children:"×"}):e.score==null?C.jsx("span",{className:"size-1.5 rounded-full border border-red-500",title:`${n} · rejected`}):C.jsx("span",{className:"size-1.5 rounded-full bg-foreground/25",title:`${n} · not kept`})}function v$e({run:e}){const t=e.best.score;if(e.kind==="bench")return t==null||e.baseline==null?C.jsx("span",{className:"rounded-md bg-muted px-2 py-0.5 text-xs font-medium text-muted-foreground",children:e.baseline==null?"baseline not measured":"candidate not measured"}):t===0||e.baseline===0?C.jsxs("span",{className:"rounded-md bg-muted px-2 py-0.5 text-xs font-medium text-muted-foreground",children:[_u(e,e.baseline)," → ",_u(e,t)]}):(e.metric?.better==="higher"?t/e.baseline:e.baseline/t)>=1?C.jsx("span",{className:"rounded-md bg-green-50 px-2 py-0.5 text-xs font-medium text-green-700",children:gm(e,t)}):C.jsx("span",{className:"rounded-md bg-red-50 px-2 py-0.5 text-xs font-medium text-red-600",children:gm(e,t)});const r=e.rounds[0]?.current?.score??e.scores[0];if(r==null||t==null)return C.jsx("span",{className:"rounded-md bg-muted px-2 py-0.5 text-xs font-medium text-muted-foreground",children:r==null?"baseline not measured":"candidate not measured"});const n=t!=null&&r!=null?t-r:0;return n>0?C.jsxs("span",{className:"rounded-md bg-green-50 px-2 py-0.5 text-xs font-medium text-green-700",title:`started at ${r?.toFixed(1)}`,children:["+",n.toFixed(1)," since start"]}):C.jsx("span",{className:"rounded-md bg-muted px-2 py-0.5 text-xs font-medium text-muted-foreground",children:"no gain yet"})}function C$e({run:e,selectedRound:t,onSelectRound:r,children:n,title:i,actions:a}){const s=U.useRef(null);U.useEffect(()=>{s.current?.scrollTo({left:99999})},[e.id]);const l=e.kind==="bench"&&e.metric?.better!=="higher",u=e.best.round===0?"baseline":`R${e.best.round}`;return C.jsxs("div",{className:"relative flex h-full flex-col",children:[C.jsx("div",{className:"px-4 pr-11 pt-4",children:C.jsxs("div",{className:"@container flex flex-wrap items-center gap-x-5 gap-y-3 rounded-xl border bg-card px-4 py-3",children:[C.jsxs("div",{className:"min-w-0 basis-[200px] grow",children:[C.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[C.jsx(b$e,{run:e}),i??C.jsx("span",{className:"truncate text-sm font-medium text-foreground",children:e.name}),C.jsx("span",{className:"shrink-0 rounded-md bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground max-2xl:hidden",children:e.kind==="bench"?`benchmark · ${e.metric?.unit??"ms"}`:"visual · score /10"}),a&&C.jsx("span",{className:"ml-auto flex shrink-0 items-center gap-1 text-xs text-muted-foreground",children:a})]}),C.jsx("div",{className:"mt-1 truncate text-xs text-muted-foreground",children:AE(e)}),C.jsx("div",{className:"mt-0.5 truncate text-xs text-muted-foreground/70",title:e.goal,children:e.goal})]}),C.jsxs("div",{className:"min-w-0 max-w-full",children:[C.jsxs("div",{className:"flex flex-wrap items-baseline gap-2",children:[C.jsx("span",{className:"font-mono text-[26px] font-semibold leading-none tracking-tight text-foreground",children:p$e(e,e.best.score)}),C.jsx("span",{className:"text-xs text-muted-foreground",children:e.kind==="bench"?e.metric?.unit:"/ 10"}),C.jsx(v$e,{run:e})]}),C.jsxs("div",{className:"mt-1.5 text-[11px] text-muted-foreground",children:[e.kind==="bench"&&e.baseline!=null&&C.jsxs(C.Fragment,{children:["started at ",_u(e,e.baseline)," · "]}),"best in ",u," of ",e.maxRounds," · ",l?"lower":"higher"," is better"]})]}),C.jsx("div",{className:"h-[76px] min-w-[180px] flex-1 rounded-lg border bg-background px-1 @max-[820px]:hidden",children:C.jsx(y$e,{run:e})}),!t&&C.jsx(f$e,{run:e})]})}),C.jsx("div",{className:"min-h-0 flex-1 px-4 py-3",children:n}),C.jsxs("div",{className:"border-t px-4 pb-3 pt-2",children:[C.jsxs("div",{className:"mb-1.5 flex flex-wrap items-baseline justify-between gap-2",children:[C.jsxs("span",{className:"text-[11px] uppercase tracking-wide text-muted-foreground/70",children:["How it got here",C.jsx("span",{className:"normal-case tracking-normal text-muted-foreground/50",children:" · click a round to inspect it"})]}),C.jsxs("span",{className:"text-[11px] text-muted-foreground",children:[C.jsx(eT,{className:"mr-1 inline size-3 text-green-600"}),"best · ",u," · ",C.jsx("span",{className:"font-mono text-foreground",children:_u(e,e.best.score)}),e.kind==="bench"&&e.best.round>0&&e.baseline!==0&&e.best.score!==0&&gm(e,e.best.score)&&C.jsxs(C.Fragment,{children:[" · ",gm(e,e.best.score)]}),C.jsxs("span",{className:"text-muted-foreground/60",children:[" · ",m$e(e.tokens)," tokens"]})]})]}),C.jsxs("div",{ref:s,className:"flex gap-1.5 overflow-x-auto pb-1",children:[e.rounds.map(h=>{const d=h.attempts.find(b=>b.kept||b.humanPick),f=t===h.n,m=e.best.round===h.n&&h.n>0,y=!h.inProgress&&h.attempts.every(b=>b.status.startsWith("error"));return C.jsxs("button",{onClick:()=>r(f?void 0:h.n),title:h.why??void 0,className:`w-24 shrink-0 rounded-lg border bg-card p-1 text-left transition ${f?"border-blue-500 ring-1 ring-blue-500/60":m?"border-green-600/50 hover:border-green-600":"hover:border-foreground/40"}`,children:[C.jsxs("div",{className:"flex items-center justify-between px-0.5",children:[C.jsxs("span",{className:`text-[11px] leading-4 ${m?"font-semibold text-foreground":"font-medium text-muted-foreground"}`,children:["R",h.n]}),h.inProgress?C.jsx(DP,{className:"size-3 animate-spin text-blue-600"}):m?C.jsx(eT,{className:"size-3 text-green-600"}):d?C.jsx(CP,{className:"size-3 text-muted-foreground/70"}):C.jsx(mte,{className:"size-3 text-muted-foreground/40"})]}),C.jsx("div",{className:"mt-1 h-11 overflow-hidden rounded bg-muted",children:h.inProgress?C.jsx("div",{className:"flex h-full items-center justify-center text-[10px] text-muted-foreground",children:C.jsx("span",{className:"animate-pulse",children:"working…"})}):e.kind==="bench"?d?C.jsxs("div",{className:"flex h-full flex-col items-center justify-center bg-background",children:[C.jsx("div",{className:"font-mono text-[13px] font-semibold leading-4",children:_u(e,d.score)}),C.jsx("div",{className:"font-mono text-[9px] text-muted-foreground",children:gm(e,d.score)})]}):C.jsx("div",{className:"flex h-full items-center justify-center px-1 text-center text-[10px] leading-3 text-muted-foreground",children:y?"all failed":"no change"}):d?d.shot?C.jsx("img",{src:d.shot,alt:"",className:"h-full w-full object-cover object-top"}):C.jsx("div",{className:"flex h-full items-center justify-center bg-background font-mono text-[13px] font-semibold",children:_u(e,d.score)}):C.jsx("div",{className:"flex h-full items-center justify-center text-[10px] text-muted-foreground",children:y?"all failed":"no change"})}),C.jsx("div",{className:`mt-1 truncate px-0.5 text-[10px] leading-4 ${m?"font-medium text-green-700":"text-muted-foreground"}`,children:h.inProgress?h.judging?"judging":"round running":d?C.jsxs(C.Fragment,{children:[d.label,d.humanPick?" (you)":""," · ",C.jsx("span",{className:"font-mono",children:_u(e,d.score)}),m&&" · best"]}):y?"failed":"kept previous"}),C.jsx("div",{className:"mt-1 flex h-2 items-center gap-[3px] px-0.5",children:h.attempts.map(b=>C.jsx(x$e,{a:b,roundInProgress:h.inProgress},b.name))})]},h.n)}),Array.from({length:Math.min(Math.max(0,e.maxRounds-e.rounds.length),3)},(h,d)=>{const f=e.rounds.length+d+1;return C.jsxs("div",{className:"w-24 shrink-0 rounded-lg border border-dashed p-1",children:[C.jsx("div",{className:"flex items-center justify-between px-0.5",children:C.jsxs("span",{className:"text-[11px] font-medium leading-4 text-muted-foreground/60",children:["R",f]})}),C.jsx("div",{className:"mt-1 flex h-11 items-center justify-center rounded text-[10px] text-muted-foreground/50",children:"upcoming"}),C.jsx("div",{className:"mt-1 px-0.5 text-[10px] leading-4 text-muted-foreground/50",children:"—"}),C.jsx("div",{className:"mt-1 h-2"})]},`upcoming-${f}`)}),e.maxRounds-e.rounds.length>3&&C.jsxs("div",{className:"flex shrink-0 items-center px-1 text-[10px] text-muted-foreground/50",children:["+",e.maxRounds-e.rounds.length-3," more"]})]})]})]})}function hZ(){const e=U.useRef(null),[t,r]=U.useState(0);return U.useLayoutEffect(()=>{if(!e.current)return;const n=new ResizeObserver(([i])=>r(i.contentRect.width));return n.observe(e.current),()=>n.disconnect()},[]),[e,t]}function T$e({src:e,shot:t,mobile:r}){const[n,i]=hZ(),[a,s]=U.useState(0);U.useEffect(()=>{if(!n.current)return;const h=new ResizeObserver(([d])=>s(d.contentRect.height));return h.observe(n.current),()=>h.disconnect()},[n]);const l=r?390:1280,u=r?Math.min(1,a/844):i/l;return!e&&t?C.jsx("div",{ref:n,className:"relative h-full w-full overflow-hidden",children:C.jsx("img",{src:t,alt:"",className:`mx-auto block h-full w-full rounded-lg border object-contain object-top ${r?"max-w-[390px]":""}`})}):C.jsx("div",{ref:n,className:"relative h-full w-full overflow-hidden",children:e&&i>0&&C.jsx("div",{className:"absolute top-0 overflow-hidden rounded-lg border bg-white shadow-sm",style:{width:l*u,height:r?844*u:a,left:r?(i-l*u)/2:0},children:C.jsx("iframe",{src:e,title:"preview",referrerPolicy:"no-referrer",sandbox:"allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox",className:"origin-top-left",style:{width:l,height:r?844:a/u,transform:`scale(${u})`}},e)})})}function k$e({run:e,h:t=200,mini:r=!1}){const[n,i]=hZ(),a=e.metric?.better!=="higher",s=[[0,e.baseline??NaN]];e.rounds.filter(w=>!w.inProgress).forEach((w,_)=>s.push([w.n,e.scores[_]]));const u=e.rounds.flatMap(w=>w.attempts.filter(_=>_.status!=="running").map(_=>{const S=_.score??_.bench?.value;return{x:w.n,y:S,bad:S==null,rejected:_.score==null&&S!=null,kept:!!(_.kept||_.humanPick)}})),h=[...s.map(w=>w[1]),...u.map(w=>w.y)].filter(w=>w!=null&&isFinite(w)&&w>0);if(!h.length)return C.jsx("div",{ref:n,style:{height:t}});const d=Math.log(Math.min(...h))-.15,f=Math.log(Math.max(...h))+.15,m=Math.max(e.maxRounds,e.rounds.length,1),y=r?4:28,b=w=>y+w/m*(i-y*2),v=w=>{const _=(Math.log(w)-d)/(f-d||1);return r?4+(a?_:1-_)*(t-8):14+(a?_:1-_)*(t-36)},k=s.filter(w=>isFinite(w[1])).map((w,_)=>`${_?"L":"M"}${b(w[0])},${v(w[1])}`).join(" ");return C.jsx("div",{ref:n,style:{height:t},className:"w-full",children:i>0&&C.jsxs("svg",{width:i,height:t,className:"overflow-visible",children:[!r&&Array.from({length:m+1},(w,_)=>C.jsx("text",{x:b(_),y:t-6,textAnchor:"middle",className:"fill-muted-foreground text-[10px]",children:_===0?"start":`R${_}`},_)),!r&&C.jsxs("text",{x:4,y:10,className:"fill-muted-foreground text-[10px]",children:[a?"↓ lower is better":"↑ higher is better"," · log scale · ",C.jsx("tspan",{className:"fill-blue-600",children:"— best"})," · ● accepted · ",C.jsx("tspan",{className:"fill-red-500",children:"○ rejected · × failed"})]}),u.map((w,_)=>w.bad?C.jsx("text",{x:b(w.x)+(_%3-1)*6,y:r?6:24,textAnchor:"middle",className:"fill-red-500 text-[10px]",children:"×"},_):w.rejected?C.jsx("circle",{cx:b(w.x)+(_%3-1)*5,cy:v(w.y),r:r?1.5:3.5,className:"fill-none stroke-red-500",strokeWidth:1.5,children:C.jsx("title",{children:"measured but rejected"})},_):C.jsx("circle",{cx:b(w.x)+(_%3-1)*5,cy:v(w.y),r:r?1.5:3,className:w.kept?"fill-foreground":"fill-foreground/25"},_)),C.jsx("path",{d:k,fill:"none",stroke:"currentColor",strokeWidth:r?1.5:2,className:"text-blue-600"}),s.filter(w=>isFinite(w[1])).map((w,_)=>!r&&C.jsxs("g",{children:[C.jsx("circle",{cx:b(w[0]),cy:v(w[1]),r:3.5,className:"fill-blue-600"}),C.jsx("text",{x:b(w[0]),y:v(w[1])-8,textAnchor:"middle",className:"fill-foreground font-mono text-[10px]",children:F0(e,w[1])})]},_))]})})}function iP({run:e,className:t=""}){return C.jsx("div",{className:`aspect-[16/10] shrink-0 overflow-hidden rounded-md border bg-muted ${t}`,children:e.kind==="bench"?C.jsxs("div",{className:"relative h-full bg-background p-1",children:[C.jsx(k$e,{run:e,h:58,mini:!0}),C.jsx("div",{className:"absolute bottom-1 right-2 font-mono text-[10px]",children:e.best.round>0?e3(e,e.best.score):""})]}):e.best.shot&&C.jsx("img",{src:e.best.shot,alt:"",className:"w-full"})})}function w$e({run:e,runs:t,focus:r,setFocus:n,steer:i,onLiveChange:a}){const[s,l]=U.useState(!1),u=r.round?e.rounds.find(N=>N.n===r.round):void 0,h=u?.attempts.find(N=>N.name===r.attempt),d=u?C.jsxs("button",{onClick:()=>n(h?{loop:e.id,round:u.n}:{loop:e.id}),className:"inline-flex min-w-0 items-center gap-1 truncate text-sm text-muted-foreground hover:text-foreground",children:[C.jsx(xP,{className:"size-3.5 shrink-0"})," ",h?`Round ${u.n}`:e.name]}):t.length>1?C.jsxs("span",{className:"relative inline-flex min-w-0 items-center overflow-hidden",children:[C.jsx("select",{value:e.id,onChange:N=>n({loop:N.target.value}),style:{fieldSizing:"content"},className:"max-w-full cursor-pointer appearance-none truncate rounded-md bg-transparent py-0.5 pl-1 pr-5 text-sm font-medium hover:bg-muted focus:outline-none",title:"Switch loop",children:t.map(N=>C.jsx("option",{value:N.id,children:N.name},N.id))}),C.jsx(ute,{className:"pointer-events-none absolute right-1 size-3.5 text-muted-foreground"})]}):void 0,f=e.rounds.flatMap(N=>N.attempts).filter(N=>N.dir&&!N.cleaned),m=!u&&!e.alive&&f.length>0?C.jsx("button",{onClick:async()=>{const{bytes:N}=await Fr(`/api/size?run=${encodeURIComponent(e.id)}`).catch(()=>({bytes:0})),O=Math.round(N/1e6);confirm(`Remove ${f.length} attempt worktree${f.length===1?"":"s"}${O?` (~${O} MB)`:""}?
896
+ `);let n=0,i=0,a=!1,s=!1;for(const h of r){if(h.startsWith("diff ")){const d=h.match(/^(diff --git )(.*)$/);t.push({kind:"file",text:h,head:d?.[1]??"",paths:d?.[2]??h,adds:0,dels:0}),a=!0,s=!0;continue}if(!a){t.push({kind:"pre",text:h});continue}if(h.startsWith("@@")){const d=h.match(/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/);d&&(n=Number(d[1]),i=Number(d[2])),t.push({kind:"hunk",text:h,adds:0,dels:0}),s=!1;continue}if(s){t.push({kind:"meta",text:h});continue}h.startsWith("+")?(t.push({kind:"add",text:h.slice(1),newNo:i}),i+=1):h.startsWith("-")?(t.push({kind:"del",text:h.slice(1),oldNo:n}),n+=1):h.startsWith("\\")?t.push({kind:"note",text:h}):(t.push({kind:"ctx",text:h.slice(1),oldNo:n,newNo:i}),n+=1,i+=1)}let l=null,u=null;for(const h of t)h.kind==="file"?(l=h,u=null):h.kind==="hunk"?u=h:h.kind==="add"?(l&&(l.adds+=1),u&&(u.adds+=1)):h.kind==="del"&&(l&&(l.dels+=1),u&&(u.dels+=1));return t}function nP({adds:e,dels:t}){return!e&&!t?null:C.jsxs("span",{className:"flex shrink-0 items-center gap-1 font-sans text-[10px] font-medium leading-none",children:[e>0&&C.jsxs("span",{className:"rounded bg-emerald-100 px-1.5 py-0.5 text-emerald-700",children:["+",e]}),t>0&&C.jsxs("span",{className:"rounded bg-red-100 px-1.5 py-0.5 text-red-700",children:["−",t]})]})}function z6({run:e,name:t,version:r,className:n=""}){const i=JSON.stringify([e,t,r]),[a,s]=U.useState(null),[l,u]=U.useState(0);U.useEffect(()=>{let m=!1;const y=new AbortController;return s({key:i}),s$e(`/api/diff?run=${encodeURIComponent(e)}&name=${encodeURIComponent(t)}`,{signal:y.signal}).then(b=>{m||s({key:i,text:b})}).catch(b=>{m||s({key:i,error:b instanceof Error?b.message:String(b)})}),()=>{m=!0,y.abort()}},[i,l]);const h=a?.key===i?a:null;if(h?.error)return C.jsxs("div",{role:"alert",className:`p-3 text-xs [overflow-wrap:anywhere] ${n}`,children:[C.jsxs("p",{children:["Could not load diff: ",h.error]}),C.jsx("button",{onClick:()=>u(m=>m+1),className:"mt-2 underline",children:"Retry diff"})]});const d=h?.text;if(d==null)return C.jsx("div",{role:"status",className:`p-3 text-xs text-muted-foreground ${n}`,children:"Loading diff…"});if(!d.trim())return C.jsx("div",{className:`p-3 text-xs text-muted-foreground ${n}`,children:"no code changes"});const f=l$e(d);return C.jsx("pre",{className:`overflow-auto bg-background font-mono text-[11px] leading-[1.55] ${n}`,children:f.map((m,y)=>{if(m.kind==="file")return C.jsxs("div",{className:"sticky top-0 z-20 flex w-max min-w-full items-center gap-2 border-y border-border bg-muted px-3 py-1.5",children:[C.jsx(cte,{className:"size-3.5 shrink-0 text-muted-foreground","aria-hidden":!0}),C.jsxs("span",{className:"whitespace-pre",children:[C.jsx("span",{className:"text-[10px] text-muted-foreground",children:m.head}),C.jsx("span",{className:"text-xs font-semibold text-foreground",children:m.paths})]}),C.jsx(nP,{adds:m.adds,dels:m.dels})]},y);if(m.kind==="meta")return C.jsx("div",{className:"w-max min-w-full whitespace-pre bg-muted/40 px-3 py-0.5 text-[10px] leading-[1.4] text-neutral-400",children:m.text},y);if(m.kind==="hunk")return C.jsxs("div",{className:"flex w-max min-w-full items-center gap-2.5 border-y border-blue-100 bg-blue-50 px-3 py-1",children:[C.jsx("span",{className:"whitespace-pre font-semibold text-blue-700",children:m.text}),C.jsx(nP,{adds:m.adds,dels:m.dels})]},y);if(m.kind==="pre")return C.jsx("div",{className:"w-max min-w-full whitespace-pre px-3 py-0.5 text-[10px] leading-[1.4] text-neutral-400",children:m.text},y);if(m.kind==="note")return C.jsx("div",{className:"flex w-max min-w-full whitespace-pre bg-muted/40 px-3 py-0.5 italic text-muted-foreground",children:m.text},y);const b=m.kind==="add",v=m.kind==="del";return C.jsxs("div",{className:`flex w-max min-w-full ${b?"bg-emerald-50":v?"bg-red-50":"bg-background"}`,children:[C.jsxs("div",{className:`sticky left-0 z-10 flex shrink-0 border-r ${b||v?"":"bg-muted"}`,children:[C.jsx("span",{className:`w-9 pr-2 text-right text-[10px] tabular-nums text-neutral-400 ${v?"bg-red-100":b?"bg-emerald-50":"bg-muted"}`,children:m.oldNo??""}),C.jsx("span",{className:`w-9 pr-2 text-right text-[10px] tabular-nums text-neutral-400 ${b?"bg-emerald-100":v?"bg-red-50":"bg-muted"}`,children:m.newNo??""})]}),C.jsx("span",{className:`w-5 shrink-0 text-center font-bold ${b?"bg-emerald-200/70 text-emerald-700":v?"bg-red-200/60 text-red-600":"text-neutral-300"}`,children:b?"+":v?"−":" "}),C.jsx("span",{className:`whitespace-pre pr-4 ${b||v?"":"text-neutral-500"}`,children:m.text||" "})]},y)})})}function u$e(e){const t=e.rounds[e.rounds.length-1];if(e.status==="paused")return`Paused before round ${e.rounds.length+1}`;if(e.alive&&t?.inProgress){if(t.judging)return`Round ${t.n} · judging`;const r=t.attempts.filter(n=>n.status!=="running").length;return`Round ${t.n} · ${r}/${t.attempts.length} attempts done`}return e.alive?"Starting next round":AE(e)}const F0=(e,t)=>t==null?"–":e.kind==="bench"?`${t<10?t.toFixed(1):Math.round(t)} ${e.metric?.unit??""}`.trim():t.toFixed(1),cZ=(e,t)=>{if(t==null)return"–";if(e.kind!=="bench")return t.toFixed(1);const r=Math.abs(t);return`${r!==0&&r<1?t.toFixed(3):r<10?t.toFixed(2):Math.round(t)} ${e.metric?.unit??""}`.trim()},e3=(e,t)=>{if(e.kind!=="bench"||t==null||!e.baseline)return"";const r=e.metric?.better==="higher"?t/e.baseline:e.baseline/t;return r>=1?`${r<10?r.toFixed(1):Math.round(r)}× ${e.metric?.better==="higher"?"better":"faster"}`:`${(1/r).toFixed(1)}× worse`};function t3(e){const t=e.rounds.flatMap(r=>r.attempts);return!e.alive&&t.length>0&&t.every(r=>!["done","unchanged","no-change"].includes(r.status))}function j6(e){const t=e.rounds.at(-1);return!e.alive&&!!t&&(!!t.inconclusive||!!t.unseen?.length||t.attempts.some(r=>r.status==="done"&&!!r.commit&&r.score==null&&!r.humanPick&&!r.vetoed&&r.bench?.passed!==!1))}function AE(e){const t=e.rounds[e.rounds.length-1];return e.status==="paused"?"Paused":e.alive&&t?.inProgress?t.judging?`Round ${t.n}: comparing versions…`:`Round ${t.n}: making candidates…`:e.alive?"Starting the next round…":e.status==="error"?`Error: ${e.stopReason||"run failed"}`:e.status==="stalled"?"Interrupted — no signal from the round":e.stopReason==="aborted"?"Stopped — worktrees kept":j6(e)?"Inconclusive — judging incomplete":t3(e)?"No candidates completed":e.rounds.length?`Done after ${e.rounds.length} round${e.rounds.length===1?"":"s"}`:"No usable result — no rounds completed"}function c$e({text:e}){const[t,r]=U.useState(!1),n=e.startsWith("Message from the human"),i=e.replace(/^Message from the human reviewing your work: /,"You: ").replace(/\nMake the change in index.html[\s\S]*$/,"");return C.jsx("button",{onClick:()=>r(!t),className:`w-full whitespace-pre-wrap rounded-md px-3 py-2 text-left text-xs ${n?"bg-violet-50 text-violet-900":"bg-muted text-muted-foreground"} ${t||n?"":"line-clamp-3"}`,children:n?i:C.jsxs(C.Fragment,{children:[C.jsx("span",{className:"font-medium text-foreground/70",children:"from parent: "}),i]})})}function h$e({run:e,round:t,a:r,onBack:n,steer:i}){const[a,s]=U.useState(null),[l,u]=U.useState([]),[h,d]=U.useState(!1),[f,m]=U.useState("desktop"),[y,b]=U.useState(""),[v,k]=U.useState(0),w=l.some(D=>D.status==="running");U.useEffect(()=>{let D=!1;const re=async()=>{const J=`run=${e.id}&name=${r.name}`,[se,fe]=await Promise.all([Fr(`/api/session?${J}`),Fr(`/api/talk?${J}`)]);D||(s(se),u(ie=>(ie.some(z=>z.status==="running")&&!fe.some(z=>z.status==="running")&&k(Date.now()),fe)))};re();const G=setInterval(re,3e3);return()=>{D=!0,clearInterval(G)}},[e.id,r.name,r.status]);const _=a?.filter(D=>D.inherited)??[],S=a?.filter(D=>!D.inherited)??[],N=(r.live??"")+(v?`?v=${v}`:""),O=556,I=f==="desktop"?{w:1280,h:800,s:O/1280}:{w:390,h:780,s:.4},P=({l:D})=>D.t==="tool"?C.jsxs("div",{className:"flex items-center gap-1.5 font-mono text-[11px] text-muted-foreground",children:[C.jsx(Ste,{className:"size-3 shrink-0"})," ",D.name,C.jsxs("span",{className:"truncate opacity-70",children:["(",D.args,")"]}),D.out&&C.jsxs("span",{className:"ml-1 truncate text-foreground/60",children:["→ ",D.out]})]}):D.t==="user"?C.jsx(c$e,{text:D.text}):C.jsx("p",{className:"whitespace-pre-wrap",children:D.text});return C.jsxs("div",{className:"flex h-full flex-col animate-in fade-in slide-in-from-right-4",onClick:D=>D.stopPropagation(),children:[C.jsxs("div",{className:"mb-3 flex items-center gap-2 text-xs text-muted-foreground",children:[C.jsxs("button",{onClick:n,className:"inline-flex items-center gap-1 hover:text-foreground",children:[C.jsx(xP,{className:"size-3"})," ",e.name," · R",t.n]}),C.jsx("span",{children:"/"}),C.jsxs("span",{className:"text-foreground",children:[r.label," · ",r.model," · ",r.style]}),C.jsx("span",{className:"font-mono",children:F0(e,r.score)}),e.kind!=="bench"&&C.jsxs(C.Fragment,{children:[C.jsx("span",{className:"ml-auto flex gap-1",children:["desktop","mobile"].map(D=>C.jsx("button",{onClick:()=>m(D),className:`rounded px-1.5 ${f===D?"bg-muted text-foreground":""}`,children:D},D))}),C.jsxs("a",{href:r.live,target:"_blank",className:"inline-flex items-center gap-1 hover:text-foreground",children:["open ",C.jsx(EP,{className:"size-3"})]})]})]}),e.kind==="bench"?r.status==="running"?C.jsx("div",{className:"flex h-[230px] shrink-0 items-center justify-center rounded-md border bg-muted text-xs text-muted-foreground",children:C.jsx("span",{className:"animate-pulse",children:"child is working…"})}):C.jsxs("div",{className:"shrink-0 rounded-md border",children:[C.jsx(d$e,{run:e,a:r}),C.jsx(z6,{run:e.id,name:r.name,version:r.score,className:"max-h-[260px] border-t"})]}):C.jsxs("div",{className:"relative shrink-0 overflow-hidden rounded-md border bg-muted",style:{width:O,height:230},children:[r.status==="running"?C.jsx("div",{className:"flex h-full items-center justify-center text-xs text-muted-foreground",children:C.jsx("span",{className:"animate-pulse",children:"child is working…"})}):C.jsx("iframe",{src:N,title:"live",className:"absolute left-0 top-0 origin-top-left",style:{width:I.w,height:I.h,transform:`scale(${I.s})`,left:f==="mobile"?(O-I.w*I.s)/2:0}},N+f),w&&C.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-background/60 text-xs backdrop-blur-[1px]",children:C.jsx("span",{className:"animate-pulse",children:"applying your feedback…"})})]}),C.jsxs("div",{className:"mt-2 flex items-center gap-2 text-[11px] text-muted-foreground",children:[r.reason&&C.jsxs("span",{className:"flex-1",children:["Judge: ",r.reason]}),!r.kept&&!r.humanPick&&r.status==="done"&&!!r.commit&&!t.inProgress&&C.jsx("button",{onClick:()=>i(e.id,{action:"pick",attempt:r.name}),className:"shrink-0 rounded border px-2 py-0.5 text-foreground hover:bg-muted",children:"Continue the loop from this one"}),r.humanPick&&C.jsx("span",{className:"text-violet-600",children:"your pick: the loop continues from this one"})]}),C.jsxs("div",{className:"mt-3 min-h-0 flex-1 space-y-2.5 overflow-auto pr-2 text-[13px]",children:[a===null&&C.jsx("div",{className:"text-xs text-muted-foreground",children:"loading session…"}),_.length>0&&C.jsxs("button",{onClick:()=>d(!h),className:"flex w-full items-center gap-1.5 border-b border-dashed pb-2 text-left text-[11px] text-muted-foreground hover:text-foreground",children:[C.jsx(fte,{className:"size-3"})," forked from R",t.from.round," ",t.from.label,": ",_.length," earlier steps inherited",C.jsx(U6,{className:`ml-auto size-3 transition ${h?"rotate-90":""}`})]}),h&&C.jsx("div",{className:"space-y-2.5 border-l-2 border-dashed pl-3 opacity-60",children:_.map((D,re)=>C.jsx(P,{l:D},"i"+re))}),S.map((D,re)=>C.jsx(P,{l:D},re)),l.filter(D=>D.status==="running"&&!S.some(re=>re.t==="user"&&re.text.includes(D.text))).map(D=>C.jsxs("div",{className:"rounded-md bg-muted px-3 py-2 text-xs text-muted-foreground",children:["You: ",D.text," ",C.jsx("span",{className:"animate-pulse",children:"· working…"})]},D.t)),C.jsx("form",{className:"pt-2",onSubmit:async D=>{if(D.preventDefault(),!y.trim())return;const re=y.trim();b(""),u(G=>[...G,{t:Date.now(),text:re,status:"running"}]),await Fr("/api/talk",{method:"POST",json:{run:e.id,name:r.name,text:re}})},children:C.jsx("input",{value:y,onChange:D=>b(D.target.value),disabled:r.status==="running"||w,placeholder:r.status==="running"?"wait for this child to finish…":`Message ${r.model} about this attempt (it edits its own copy)…`,className:"w-full rounded-md border bg-background px-3 py-2 text-xs outline-none focus:ring-1 focus:ring-foreground/30 disabled:opacity-50"})})]})]})}function d$e({run:e,a:t}){const r=t.bench;return r?C.jsxs("div",{className:"grid grid-cols-3 gap-3 px-3 py-2 text-xs",children:[C.jsxs("div",{children:[C.jsx("div",{className:"text-[10px] uppercase tracking-wide text-muted-foreground",children:"tests"}),C.jsx("div",{className:r.passed?"text-emerald-700":"text-red-600",children:r.passed?"✓ "+(r.tests??"pass"):"✗ failing"})]}),C.jsxs("div",{children:[C.jsx("div",{className:"text-[10px] uppercase tracking-wide text-muted-foreground",children:e.metric?.label??"benchmark"}),C.jsx("div",{className:"font-mono",children:r.value!=null?`${F0(e,r.value)} · ${e3(e,r.value)}`:r.error?"failed":"–"})]}),C.jsxs("div",{children:[C.jsx("div",{className:"text-[10px] uppercase tracking-wide text-muted-foreground",children:"review"}),C.jsx("div",{className:t.vetoed?"text-red-600":"",children:t.review?(t.review.ok?"✓ ":"✗ ")+t.review.note:"–"})]}),!r.passed&&r.tests&&C.jsx("pre",{className:"col-span-3 max-h-24 overflow-auto whitespace-pre-wrap rounded bg-red-500/5 p-2 font-mono text-[10px] text-red-800",children:r.tests})]}):C.jsx("div",{className:"px-3 py-2 text-xs text-muted-foreground",children:t.status==="done"?"waiting to be measured…":t.status})}function Mc({tone:e,children:t}){const r={ok:"bg-emerald-600/10 text-emerald-700",bad:"bg-red-500/10 text-red-600",pending:"bg-amber-500/15 text-amber-700",plain:"bg-muted text-muted-foreground"};return C.jsx("span",{className:`inline-flex max-w-full items-center gap-1 rounded-full px-2 py-0.5 text-[11px] font-medium ${r[e]}`,children:t})}function f$e({run:e}){if(e.alive||e.status!=="done"||e.rounds.some(f=>f.inProgress))return null;if(e.best.round===0)return C.jsx("div",{"aria-label":"Loop results summary",className:"min-w-0 basis-full border-t pt-3 text-xs text-muted-foreground",children:t3(e)?"No candidate completed. Inspect the round before trying again.":"No improved candidate was kept. Inspect a round for details."});const r=e.rounds.find(f=>f.n===e.best.round)?.attempts.find(f=>f.name===e.best.label),n=r?.bench,i=e.winnerFiles?[...new Set([...e.winnerFiles.changed,...e.winnerFiles.added,...e.winnerFiles.removed])]:[],a=e.questions.filter(f=>f.kind==="apply"&&!f.expired&&!f.superseded&&(f.round==null||f.round===e.best.round)&&(!f.label||f.label===e.best.label||f.label===r?.style)).at(-1),s=!!a&&!a.answered,l=e.best.applied?.trim(),u=!!(e.winnerFiles?.added.length||e.winnerFiles?.removed.length),h=r?.summary||r?.review?.note||r?.reason,d=l?u?"Added and removed files are not included in the tracked-file apply. Review them separately.":"Next: keep iterating, or clean up the worktrees.":s&&a?`Next: review “${a.text}” in the conversation.`:a?.answered?"No successful apply is recorded. Check the conversation before applying again.":"Next: inspect the changes, then ask the agent to apply the winner.";return C.jsxs("div",{"aria-label":"Loop results summary",className:"min-w-0 basis-full border-t pt-3",children:[C.jsxs("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1.5",children:[n&&(n.passed?C.jsxs(Mc,{tone:"ok",children:[C.jsx(nh,{className:"size-3 shrink-0"})," Candidate check passed"]}):C.jsxs(Mc,{tone:"bad",children:[C.jsx(ol,{className:"size-3 shrink-0"})," Candidate check failed"]})),!n&&C.jsx(Mc,{tone:"plain",children:"Candidate check not recorded"}),i.length>0&&C.jsxs(Mc,{tone:"plain",children:[C.jsxs("span",{className:"shrink-0",children:[i.length," file",i.length===1?"":"s"," changed"]}),C.jsx("span",{className:"min-w-0 max-w-[160px] truncate font-mono",title:i.join(", "),children:i.join(", ")})]}),l?C.jsxs(Mc,{tone:"ok",children:[C.jsx(nh,{className:"size-3 shrink-0"})," Tracked edits applied ",C.jsx("span",{className:"font-mono",title:l,children:l.slice(0,7)})]}):s?C.jsxs(Mc,{tone:"pending",children:[C.jsx("span",{className:"size-1.5 shrink-0 rounded-full bg-amber-600"})," Awaiting apply decision"]}):C.jsx(Mc,{tone:"plain",children:"Application unconfirmed"})]}),h&&C.jsx("div",{className:"mt-1.5 line-clamp-2 text-xs text-muted-foreground",title:h,children:h}),d&&C.jsx("div",{className:"mt-1.5 text-xs font-medium",children:d})]})}const _u=(e,t)=>t==null?"–":e.kind==="bench"?`${t<10?t.toFixed(1):Math.round(t)} ${e.metric?.unit??""}`.trim():t.toFixed(1),p$e=(e,t)=>t==null?"–":e.kind==="bench"?t<10?t.toFixed(1):`${Math.round(t)}`:t.toFixed(1),m$e=e=>e>=1e6?`${(e/1e6).toFixed(1)}M`:`${Math.round(e/1e3)}k`,gm=(e,t)=>{if(e.kind!=="bench"||t==null||!e.baseline)return"";const r=e.metric?.better==="higher"?t/e.baseline:e.baseline/t;return r>=1?`${r<10?r.toFixed(1):Math.round(r)}× ${e.metric?.better==="higher"?"better":"faster"}`:`${(1/r).toFixed(1)}× worse`};function g$e(){const e=U.useRef(null),[t,r]=U.useState(0);return U.useLayoutEffect(()=>{if(!e.current)return;const n=new ResizeObserver(([i])=>r(i.contentRect.width));return n.observe(e.current),()=>n.disconnect()},[]),[e,t]}function y$e({run:e,h:t=76}){const[r,n]=g$e(),i=e.kind==="bench"&&e.metric?.better!=="higher",a=e.kind==="bench"?[[0,e.baseline??NaN]]:[];e.rounds.filter(S=>!S.inProgress).forEach((S,N)=>a.push([S.n,e.scores[N]]));const s=e.rounds.flatMap(S=>S.attempts.filter(N=>N.status!=="running").flatMap(N=>{const O=N.score??N.bench?.value??void 0;return O==null&&(S.inProgress||N.status==="no-change")?[]:[{x:S.n,y:O,bad:O==null,rejected:N.score==null&&O!=null,kept:!!(N.kept||N.humanPick)}]})),l=[...a.map(S=>S[1]),...s.map(S=>S.y)].filter(S=>S!=null&&isFinite(S)&&S>0);if(!l.length)return C.jsx("div",{ref:r,style:{height:t}});const u=Math.log(Math.min(...l))-.15,h=Math.log(Math.max(...l))+.15,d=Math.max(e.maxRounds,e.rounds.length,1),f=20,m=S=>f+S/d*(n-f*2),y=S=>{const N=(Math.log(S)-u)/(h-u||1);return 16+(i?N:1-N)*(t-34)},b=a.filter(S=>isFinite(S[1])),v=b.map((S,N)=>`${N?"L":"M"}${m(S[0])},${y(S[1])}`).join(" "),k=b.length>1?`${v} L${m(b[b.length-1][0])},${t-14} L${m(b[0][0])},${t-14} Z`:"",w=Array.from({length:d+1},(S,N)=>N).filter(S=>e.kind==="bench"||S>0),_=e.kind==="bench"&&e.baseline&&isFinite(e.baseline)?e.baseline:null;return C.jsx("div",{ref:r,style:{height:t},className:"w-full",children:n>0&&C.jsxs("svg",{width:n,height:t,className:"overflow-visible",children:[C.jsxs("text",{x:2,y:9,className:"fill-muted-foreground text-[9px]",children:["● accepted · ",C.jsx("tspan",{className:"fill-red-500",children:"○ rejected · × failed"})]}),_!=null&&C.jsx("line",{x1:f,x2:n-f,y1:y(_),y2:y(_),strokeDasharray:"3 3",className:"stroke-muted-foreground/40",strokeWidth:1}),k&&C.jsx("path",{d:k,className:"fill-blue-500/[0.06]",stroke:"none"}),s.map((S,N)=>S.bad?C.jsx("text",{x:m(S.x)+(N%3-1)*6,y:24,textAnchor:"middle",className:"fill-red-500 text-[10px]",children:"×"},N):S.rejected?C.jsx("circle",{cx:m(S.x)+(N%3-1)*5,cy:y(S.y),r:3.5,className:"fill-none stroke-red-500",strokeWidth:1.5},N):C.jsx("circle",{cx:m(S.x)+(N%3-1)*5,cy:y(S.y),r:2.5,className:S.kept?"fill-foreground":"fill-foreground/25"},N)),C.jsx("path",{d:v,fill:"none",stroke:"currentColor",strokeWidth:1.5,className:"text-blue-600"}),b.map((S,N)=>C.jsxs("g",{children:[C.jsx("circle",{cx:m(S[0]),cy:y(S[1]),r:3,className:"fill-blue-600"}),N===b.length-1&&C.jsx("circle",{cx:m(S[0]),cy:y(S[1]),r:5.5,className:"fill-none stroke-blue-600/30",strokeWidth:2}),(N===0||N===b.length-1)&&C.jsx("text",{x:m(S[0]),y:y(S[1])-8,textAnchor:"middle",className:"fill-foreground font-mono text-[9px]",children:_u(e,S[1])})]},N)),w.map(S=>C.jsx("text",{x:m(S),y:t-4,textAnchor:"middle",className:"fill-muted-foreground text-[9px]",children:S===0?"start":`R${S}`},S))]})})}function b$e({run:e}){return e.alive?C.jsxs("span",{className:"inline-flex shrink-0 items-center gap-1.5 rounded-md bg-blue-50 px-2 py-0.5 text-xs font-medium text-blue-700",children:[C.jsx("span",{className:"size-1.5 animate-pulse rounded-full bg-blue-500"}),"Running"]}):e.status==="paused"?C.jsxs("span",{className:"inline-flex shrink-0 items-center gap-1.5 rounded-md bg-amber-50 px-2 py-0.5 text-xs font-medium text-amber-700",children:[C.jsx("span",{className:"size-1.5 rounded-full bg-amber-500"}),"Paused"]}):e.stopReason==="aborted"?C.jsx("span",{className:"rounded-md bg-amber-50 px-2 py-0.5 text-xs font-medium text-amber-700",children:"Stopped"}):t3(e)||e.status==="error"||e.status==="stalled"?C.jsx("span",{className:"inline-flex shrink-0 items-center rounded-md bg-red-50 px-2 py-0.5 text-xs font-medium text-red-700",children:e.status==="stalled"?"Interrupted":"Failed"}):j6(e)||!e.rounds.length?C.jsx("span",{className:"rounded-md bg-amber-50 px-2 py-0.5 text-xs font-medium text-amber-700",children:j6(e)?"Inconclusive":"No result"}):C.jsxs("span",{className:"inline-flex shrink-0 items-center gap-1 rounded-md bg-green-50 px-2 py-0.5 text-xs font-medium text-green-700",children:[C.jsx(nh,{className:"size-3"}),"Done"]})}function x$e({a:e,roundInProgress:t}){if(e.status==="running")return C.jsx("span",{className:"size-1.5 animate-pulse rounded-full bg-blue-500",title:`${e.label} · ${e.model} · running`});const r=e.score??e.bench?.value,n=`${e.label} · ${e.model}`;return e.kept||e.humanPick?C.jsx("span",{className:"size-1.5 rounded-full bg-foreground",title:`${n} · kept`}):r==null?e.status==="no-change"||t&&e.status==="done"?C.jsx("span",{className:"size-1.5 rounded-full border border-muted-foreground/40",title:`${n} · no change`}):C.jsx("span",{className:"text-[9px] font-medium leading-none text-red-500",title:`${n} · failed`,children:"×"}):e.score==null?C.jsx("span",{className:"size-1.5 rounded-full border border-red-500",title:`${n} · rejected`}):C.jsx("span",{className:"size-1.5 rounded-full bg-foreground/25",title:`${n} · not kept`})}function v$e({run:e}){const t=e.best.score;if(e.kind==="bench")return t==null||e.baseline==null?C.jsx("span",{className:"rounded-md bg-muted px-2 py-0.5 text-xs font-medium text-muted-foreground",children:e.baseline==null?"baseline not measured":"candidate not measured"}):t===0||e.baseline===0?C.jsxs("span",{className:"rounded-md bg-muted px-2 py-0.5 text-xs font-medium text-muted-foreground",children:[_u(e,e.baseline)," → ",_u(e,t)]}):(e.metric?.better==="higher"?t/e.baseline:e.baseline/t)>=1?C.jsx("span",{className:"rounded-md bg-green-50 px-2 py-0.5 text-xs font-medium text-green-700",children:gm(e,t)}):C.jsx("span",{className:"rounded-md bg-red-50 px-2 py-0.5 text-xs font-medium text-red-600",children:gm(e,t)});const r=e.rounds[0]?.current?.score??e.scores[0];if(r==null||t==null)return C.jsx("span",{className:"rounded-md bg-muted px-2 py-0.5 text-xs font-medium text-muted-foreground",children:r==null?"baseline not measured":"candidate not measured"});const n=t!=null&&r!=null?t-r:0;return n>0?C.jsxs("span",{className:"rounded-md bg-green-50 px-2 py-0.5 text-xs font-medium text-green-700",title:`started at ${r?.toFixed(1)}`,children:["+",n.toFixed(1)," since start"]}):C.jsx("span",{className:"rounded-md bg-muted px-2 py-0.5 text-xs font-medium text-muted-foreground",children:"no gain yet"})}function C$e({run:e,selectedRound:t,onSelectRound:r,children:n,title:i,actions:a}){const s=U.useRef(null);U.useEffect(()=>{s.current?.scrollTo({left:99999})},[e.id]);const l=e.kind==="bench"&&e.metric?.better!=="higher",u=e.best.round===0?"baseline":`R${e.best.round}`;return C.jsxs("div",{className:"relative flex h-full flex-col",children:[C.jsx("div",{className:"px-4 pr-11 pt-4",children:C.jsxs("div",{className:"@container flex flex-wrap items-center gap-x-5 gap-y-3 rounded-xl border bg-card px-4 py-3",children:[C.jsxs("div",{className:"min-w-0 basis-[200px] grow",children:[C.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[C.jsx(b$e,{run:e}),i??C.jsx("span",{className:"truncate text-sm font-medium text-foreground",children:e.name}),C.jsx("span",{className:"shrink-0 rounded-md bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground max-2xl:hidden",children:e.kind==="bench"?`benchmark · ${e.metric?.unit??"ms"}`:"visual · score /10"}),a&&C.jsx("span",{className:"ml-auto flex shrink-0 items-center gap-1 text-xs text-muted-foreground",children:a})]}),C.jsx("div",{className:"mt-1 truncate text-xs text-muted-foreground",children:AE(e)}),C.jsx("div",{className:"mt-0.5 truncate text-xs text-muted-foreground/70",title:e.goal,children:e.goal})]}),C.jsxs("div",{className:"min-w-0 max-w-full",children:[C.jsxs("div",{className:"flex flex-wrap items-baseline gap-2",children:[C.jsx("span",{className:"font-mono text-[26px] font-semibold leading-none tracking-tight text-foreground",children:p$e(e,e.best.score)}),C.jsx("span",{className:"text-xs text-muted-foreground",children:e.kind==="bench"?e.metric?.unit:"/ 10"}),C.jsx(v$e,{run:e})]}),C.jsxs("div",{className:"mt-1.5 text-[11px] text-muted-foreground",children:[e.kind==="bench"&&e.baseline!=null&&C.jsxs(C.Fragment,{children:["started at ",_u(e,e.baseline)," · "]}),"best in ",u," of ",e.maxRounds," · ",l?"lower":"higher"," is better"]})]}),C.jsx("div",{className:"h-[76px] min-w-[180px] flex-1 rounded-lg border bg-background px-1 @max-[820px]:hidden",children:C.jsx(y$e,{run:e})}),!t&&C.jsx(f$e,{run:e})]})}),C.jsx("div",{className:"min-h-0 flex-1 px-4 py-3",children:n}),C.jsxs("div",{className:"border-t px-4 pb-3 pt-2",children:[C.jsxs("div",{className:"mb-1.5 flex flex-wrap items-baseline justify-between gap-2",children:[C.jsxs("span",{className:"text-[11px] uppercase tracking-wide text-muted-foreground/70",children:["How it got here",C.jsx("span",{className:"normal-case tracking-normal text-muted-foreground/50",children:" · click a round to inspect it"})]}),C.jsxs("span",{className:"text-[11px] text-muted-foreground",children:[C.jsx(eT,{className:"mr-1 inline size-3 text-green-600"}),"best · ",u," · ",C.jsx("span",{className:"font-mono text-foreground",children:_u(e,e.best.score)}),e.kind==="bench"&&e.best.round>0&&e.baseline!==0&&e.best.score!==0&&gm(e,e.best.score)&&C.jsxs(C.Fragment,{children:[" · ",gm(e,e.best.score)]}),C.jsxs("span",{className:"text-muted-foreground/60",children:[" · ",m$e(e.tokens)," tokens"]})]})]}),C.jsxs("div",{ref:s,className:"flex gap-1.5 overflow-x-auto pb-1",children:[e.rounds.map(h=>{const d=h.attempts.find(b=>b.kept||b.humanPick),f=t===h.n,m=e.best.round===h.n&&h.n>0,y=!h.inProgress&&h.attempts.every(b=>b.status.startsWith("error"));return C.jsxs("button",{onClick:()=>r(f?void 0:h.n),title:h.why??void 0,className:`w-24 shrink-0 rounded-lg border bg-card p-1 text-left transition ${f?"border-blue-500 ring-1 ring-blue-500/60":m?"border-green-600/50 hover:border-green-600":"hover:border-foreground/40"}`,children:[C.jsxs("div",{className:"flex items-center justify-between px-0.5",children:[C.jsxs("span",{className:`text-[11px] leading-4 ${m?"font-semibold text-foreground":"font-medium text-muted-foreground"}`,children:["R",h.n]}),h.inProgress?C.jsx(DP,{className:"size-3 animate-spin text-blue-600"}):m?C.jsx(eT,{className:"size-3 text-green-600"}):d?C.jsx(CP,{className:"size-3 text-muted-foreground/70"}):C.jsx(mte,{className:"size-3 text-muted-foreground/40"})]}),C.jsx("div",{className:"mt-1 h-11 overflow-hidden rounded bg-muted",children:h.inProgress?C.jsx("div",{className:"flex h-full items-center justify-center text-[10px] text-muted-foreground",children:C.jsx("span",{className:"animate-pulse",children:"working…"})}):e.kind==="bench"?d?C.jsxs("div",{className:"flex h-full flex-col items-center justify-center bg-background",children:[C.jsx("div",{className:"font-mono text-[13px] font-semibold leading-4",children:_u(e,d.score)}),C.jsx("div",{className:"font-mono text-[9px] text-muted-foreground",children:gm(e,d.score)})]}):C.jsx("div",{className:"flex h-full items-center justify-center px-1 text-center text-[10px] leading-3 text-muted-foreground",children:y?"all failed":"no change"}):d?d.shot?C.jsx("img",{src:d.shot,alt:"",className:"h-full w-full object-cover object-top"}):C.jsx("div",{className:"flex h-full items-center justify-center bg-background font-mono text-[13px] font-semibold",children:_u(e,d.score)}):C.jsx("div",{className:"flex h-full items-center justify-center text-[10px] text-muted-foreground",children:y?"all failed":"no change"})}),C.jsx("div",{className:`mt-1 truncate px-0.5 text-[10px] leading-4 ${m?"font-medium text-green-700":"text-muted-foreground"}`,children:h.inProgress?h.judging?"judging":"round running":d?C.jsxs(C.Fragment,{children:[d.label,d.humanPick?" (you)":""," · ",C.jsx("span",{className:"font-mono",children:_u(e,d.score)}),m&&" · best"]}):y?"failed":"kept previous"}),C.jsx("div",{className:"mt-1 flex h-2 items-center gap-[3px] px-0.5",children:h.attempts.map(b=>C.jsx(x$e,{a:b,roundInProgress:h.inProgress},b.name))})]},h.n)}),Array.from({length:Math.min(Math.max(0,e.maxRounds-e.rounds.length),3)},(h,d)=>{const f=e.rounds.length+d+1;return C.jsxs("div",{className:"w-24 shrink-0 rounded-lg border border-dashed p-1",children:[C.jsx("div",{className:"flex items-center justify-between px-0.5",children:C.jsxs("span",{className:"text-[11px] font-medium leading-4 text-muted-foreground/60",children:["R",f]})}),C.jsx("div",{className:"mt-1 flex h-11 items-center justify-center rounded text-[10px] text-muted-foreground/50",children:"upcoming"}),C.jsx("div",{className:"mt-1 px-0.5 text-[10px] leading-4 text-muted-foreground/50",children:"—"}),C.jsx("div",{className:"mt-1 h-2"})]},`upcoming-${f}`)}),e.maxRounds-e.rounds.length>3&&C.jsxs("div",{className:"flex shrink-0 items-center px-1 text-[10px] text-muted-foreground/50",children:["+",e.maxRounds-e.rounds.length-3," more"]})]})]})]})}function hZ(){const e=U.useRef(null),[t,r]=U.useState(0);return U.useLayoutEffect(()=>{if(!e.current)return;const n=new ResizeObserver(([i])=>r(i.contentRect.width));return n.observe(e.current),()=>n.disconnect()},[]),[e,t]}function T$e({src:e,shot:t,mobile:r}){const[n,i]=hZ(),[a,s]=U.useState(0);U.useEffect(()=>{if(!n.current)return;const h=new ResizeObserver(([d])=>s(d.contentRect.height));return h.observe(n.current),()=>h.disconnect()},[n]);const l=r?390:1280,u=r?Math.min(1,a/844):i/l;return!e&&t?C.jsx("div",{ref:n,className:"relative h-full w-full overflow-hidden",children:C.jsx("img",{src:t,alt:"",className:`mx-auto block h-full w-full rounded-lg border object-contain object-top ${r?"max-w-[390px]":""}`})}):C.jsx("div",{ref:n,className:"relative h-full w-full overflow-hidden",children:e&&i>0&&C.jsx("div",{className:"absolute top-0 overflow-hidden rounded-lg border bg-white shadow-sm",style:{width:l*u,height:r?844*u:a,left:r?(i-l*u)/2:0},children:C.jsx("iframe",{src:e,title:"preview",referrerPolicy:"no-referrer",sandbox:"allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox",className:"origin-top-left",style:{width:l,height:r?844:a/u,transform:`scale(${u})`}},e)})})}function k$e({run:e,h:t=200,mini:r=!1}){const[n,i]=hZ(),a=e.metric?.better!=="higher",s=[[0,e.baseline??NaN]];e.rounds.filter(w=>!w.inProgress).forEach((w,_)=>s.push([w.n,e.scores[_]]));const u=e.rounds.flatMap(w=>w.attempts.filter(_=>_.status!=="running").map(_=>{const S=_.score??_.bench?.value;return{x:w.n,y:S,bad:S==null,rejected:_.score==null&&S!=null,kept:!!(_.kept||_.humanPick)}})),h=[...s.map(w=>w[1]),...u.map(w=>w.y)].filter(w=>w!=null&&isFinite(w)&&w>0);if(!h.length)return C.jsx("div",{ref:n,style:{height:t}});const d=Math.log(Math.min(...h))-.15,f=Math.log(Math.max(...h))+.15,m=Math.max(e.maxRounds,e.rounds.length,1),y=r?4:28,b=w=>y+w/m*(i-y*2),v=w=>{const _=(Math.log(w)-d)/(f-d||1);return r?4+(a?_:1-_)*(t-8):14+(a?_:1-_)*(t-36)},k=s.filter(w=>isFinite(w[1])).map((w,_)=>`${_?"L":"M"}${b(w[0])},${v(w[1])}`).join(" ");return C.jsx("div",{ref:n,style:{height:t},className:"w-full",children:i>0&&C.jsxs("svg",{width:i,height:t,className:"overflow-visible",children:[!r&&Array.from({length:m+1},(w,_)=>C.jsx("text",{x:b(_),y:t-6,textAnchor:"middle",className:"fill-muted-foreground text-[10px]",children:_===0?"start":`R${_}`},_)),!r&&C.jsxs("text",{x:4,y:10,className:"fill-muted-foreground text-[10px]",children:[a?"↓ lower is better":"↑ higher is better"," · log scale · ",C.jsx("tspan",{className:"fill-blue-600",children:"— best"})," · ● accepted · ",C.jsx("tspan",{className:"fill-red-500",children:"○ rejected · × failed"})]}),u.map((w,_)=>w.bad?C.jsx("text",{x:b(w.x)+(_%3-1)*6,y:r?6:24,textAnchor:"middle",className:"fill-red-500 text-[10px]",children:"×"},_):w.rejected?C.jsx("circle",{cx:b(w.x)+(_%3-1)*5,cy:v(w.y),r:r?1.5:3.5,className:"fill-none stroke-red-500",strokeWidth:1.5,children:C.jsx("title",{children:"measured but rejected"})},_):C.jsx("circle",{cx:b(w.x)+(_%3-1)*5,cy:v(w.y),r:r?1.5:3,className:w.kept?"fill-foreground":"fill-foreground/25"},_)),C.jsx("path",{d:k,fill:"none",stroke:"currentColor",strokeWidth:r?1.5:2,className:"text-blue-600"}),s.filter(w=>isFinite(w[1])).map((w,_)=>!r&&C.jsxs("g",{children:[C.jsx("circle",{cx:b(w[0]),cy:v(w[1]),r:3.5,className:"fill-blue-600"}),C.jsx("text",{x:b(w[0]),y:v(w[1])-8,textAnchor:"middle",className:"fill-foreground font-mono text-[10px]",children:F0(e,w[1])})]},_))]})})}function iP({run:e,className:t=""}){return C.jsx("div",{className:`aspect-[16/10] shrink-0 overflow-hidden rounded-md border bg-muted ${t}`,children:e.kind==="bench"?C.jsxs("div",{className:"relative h-full bg-background p-1",children:[C.jsx(k$e,{run:e,h:58,mini:!0}),C.jsx("div",{className:"absolute bottom-1 right-2 font-mono text-[10px]",children:e.best.round>0?e3(e,e.best.score):""})]}):e.best.shot&&C.jsx("img",{src:e.best.shot,alt:"",className:"w-full"})})}function w$e({run:e,runs:t,focus:r,setFocus:n,steer:i,onLiveChange:a}){const[s,l]=U.useState(!1),u=r.round?e.rounds.find(N=>N.n===r.round):void 0,h=u?.attempts.find(N=>N.name===r.attempt),d=u?C.jsxs("button",{onClick:()=>n(h?{loop:e.id,round:u.n}:{loop:e.id}),className:"inline-flex min-w-0 items-center gap-1 truncate text-sm text-muted-foreground hover:text-foreground",children:[C.jsx(xP,{className:"size-3.5 shrink-0"})," ",h?`Round ${u.n}`:e.name]}):t.length>1?C.jsxs("span",{className:"relative inline-flex min-w-0 items-center overflow-hidden",children:[C.jsx("select",{value:e.id,onChange:N=>n({loop:N.target.value}),style:{fieldSizing:"content"},className:"max-w-full cursor-pointer appearance-none truncate rounded-md bg-transparent py-0.5 pl-1 pr-5 text-sm font-medium hover:bg-muted focus:outline-none",title:"Switch loop",children:t.map(N=>C.jsx("option",{value:N.id,children:N.name},N.id))}),C.jsx(ute,{className:"pointer-events-none absolute right-1 size-3.5 text-muted-foreground"})]}):void 0,f=e.rounds.flatMap(N=>N.attempts).filter(N=>N.dir&&!N.cleaned),m=!u&&!e.alive&&f.length>0?C.jsx("button",{onClick:async()=>{const{bytes:N}=await Fr(`/api/size?run=${encodeURIComponent(e.id)}`).catch(()=>({bytes:0})),O=Math.round(N/1e6);confirm(`Remove ${f.length} attempt worktree${f.length===1?"":"s"}${O?` (~${O} MB)`:""}?
897
897
 
898
898
  Commits, branches of the winner, screenshots and the run itself stay.`)&&i(e.id,{action:"clean"})},className:"ml-1 inline-flex items-center gap-1 hover:text-foreground",title:"Free the attempt worktrees (the commits stay)",children:"clean up"}):null,[y,b]=U.useState(null),[v,k]=U.useState(!1),w=async N=>{k(!0),b(null);try{const O=await Fr(N?"/api/live":"/api/live/stop",{method:"POST",json:{run:e.id}});O.ok||b(O.error??"could not start the app")}catch(O){b(String(O))}k(!1),a?.()},_=e.kind!=="bench"&&!e.alive?C.jsx("button",{onClick:()=>w(!e.best.live),disabled:v,className:`ml-1 inline-flex items-center gap-1 rounded px-1.5 py-0.5 transition ${e.best.live?"bg-muted text-foreground":"hover:text-foreground"} disabled:opacity-50`,title:e.best.live?"Stop the app":"Run the winner (one server at a time)",children:e.best.live?C.jsxs(C.Fragment,{children:[C.jsx(kte,{className:"size-3"})," stop"]}):C.jsxs(C.Fragment,{children:[C.jsx(bte,{className:"size-3"})," ",v?"starting…":"run it"]})}):null,S=u?void 0:C.jsxs(C.Fragment,{children:[e.kind!=="bench"&&C.jsxs(C.Fragment,{children:[C.jsx("button",{onClick:()=>l(!1),className:`rounded p-1 ${s?"":"bg-muted text-foreground"}`,title:"desktop",children:C.jsx(gte,{className:"size-3.5"})}),C.jsx("button",{onClick:()=>l(!0),className:`rounded p-1 ${s?"bg-muted text-foreground":""}`,title:"phone",children:C.jsx(Tte,{className:"size-3.5"})}),C.jsxs("a",{href:e.best.live,target:"_blank",className:"ml-1 inline-flex items-center gap-1 hover:text-foreground",children:["open ",C.jsx(EP,{className:"size-3"})]})]}),_,m]});return C.jsxs("div",{className:"relative h-full",children:[C.jsx(C$e,{run:e,selectedRound:r.round,onSelectRound:N=>n({loop:e.id,round:N}),title:d,actions:S,children:u?C.jsxs("div",{className:"flex h-full flex-col overflow-y-auto pb-2 animate-in fade-in",children:[C.jsx(n$e,{run:e,round:u,onOpen:N=>n({loop:e.id,round:u.n,attempt:N}),onPick:N=>i(e.id,{action:"pick",attempt:N})}),e.kind==="bench"&&(()=>{const N=u.attempts.find(O=>O.kept||O.humanPick);return N?C.jsxs(C.Fragment,{children:[C.jsxs("div",{className:"mb-2 mt-4 text-[11px] uppercase tracking-wide text-muted-foreground/70",children:["What ",N.model,"’s kept version changed"]}),C.jsx(z6,{run:e.id,name:N.name,version:N.score,className:"min-h-[300px] flex-1 rounded-lg border"})]}):null})()]}):e.kind==="bench"?C.jsxs("div",{className:"flex h-full flex-col gap-2",children:[C.jsx("div",{className:"text-[11px] uppercase tracking-wide text-muted-foreground/70",children:"Best version vs. original"}),C.jsx(z6,{run:e.id,name:"best",version:`${e.best.round}${e.best.label}`,className:"min-h-0 flex-1 rounded-lg border"})]}):C.jsx(T$e,{src:e.best.live,shot:e.best.shot??e.rounds.at(-1)?.attempts.find(N=>N.kept)?.shot,mobile:s})}),u&&h&&C.jsxs("div",{className:"absolute inset-y-0 right-0 z-10 w-[620px] max-w-full border-l bg-background p-8 shadow-2xl animate-in slide-in-from-right-8",children:[C.jsx("button",{onClick:()=>n({loop:e.id,round:u.n}),className:"absolute right-4 top-4 text-muted-foreground hover:text-foreground",children:C.jsx(ol,{className:"size-4"})}),C.jsx(h$e,{run:e,round:u,a:h,onBack:()=>n({loop:e.id,round:u.n}),steer:i})]})]})}function _$e({runs:e,focus:t,setFocus:r,steer:n,onClose:i,onLiveChange:a}){const s=e.find(l=>l.id===t.loop);return U.useEffect(()=>{const l=u=>{u.key==="Escape"&&(t.attempt?r({loop:t.loop,round:t.round}):t.round?r({loop:t.loop}):t.loop?r({}):i?.())};return window.addEventListener("keydown",l),()=>window.removeEventListener("keydown",l)}),s?C.jsx(w$e,{run:s,runs:e,focus:t,setFocus:r,steer:n,onLiveChange:a}):null}const S$e=[{state:["needs"],title:"Needs you"},{state:["running"],title:"Running"},{state:["new","stuck"],title:"New results"},{state:["done","idle"],title:"Earlier"}],E$e={needs:"font-semibold text-amber-950",running:"font-medium text-foreground",new:"font-medium text-foreground",stuck:"font-medium text-foreground",done:"text-muted-foreground",idle:"text-muted-foreground"},A$e={needs:"text-amber-700",running:"text-muted-foreground",new:"text-muted-foreground",stuck:"text-red-600",done:"text-muted-foreground/70",idle:"text-muted-foreground/70"};function L$e({rows:e,activeId:t,onOpen:r,onNew:n,canCreate:i=!0,workspaces:a,activeWs:s,onSwitchWs:l,onAddFolder:u,onDelete:h,loading:d,footer:f,onRename:m,renaming:y,onRenameChange:b,onRenameSubmit:v,onRenameCancel:k}){return C.jsxs("div",{className:"flex h-full min-h-0 flex-col",children:[C.jsx("div",{className:"px-3 pb-2 pt-4 text-[11px] font-medium uppercase tracking-wide text-muted-foreground/70",children:"Chats"}),C.jsxs("button",{onClick:n,disabled:!i,title:i?void 0:"Open a workspace before creating a chat",className:"mx-2 mb-1 flex min-h-9 items-center justify-center gap-1.5 rounded-lg border bg-background px-3 text-[13px] font-medium text-foreground transition-colors hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-40",children:[C.jsx(UP,{className:"size-4"})," New chat"]}),C.jsxs("nav",{className:"min-h-0 flex-1 overflow-auto px-2 pb-4",children:[d&&C.jsx("div",{className:"space-y-1.5 px-1 pt-1",children:[0,1,2].map(w=>C.jsxs("div",{className:"animate-pulse rounded-lg bg-muted/60 px-2.5 py-2",children:[C.jsx("div",{className:"h-2.5 w-2/3 rounded bg-muted-foreground/20"}),C.jsx("div",{className:"mt-1.5 h-2 w-1/2 rounded bg-muted-foreground/10"})]},w))}),S$e.map(w=>{const _=e.filter(N=>w.state.includes(N.state));if(!_.length)return null;const S=_.reduce((N,O)=>N+O.asks,0);return C.jsxs("section",{className:"mt-3 border-t border-border/60 pt-2 first:mt-2 first:border-t-0 first:pt-0",children:[C.jsxs("div",{className:"mb-1 flex items-center justify-between gap-2 px-2.5",children:[C.jsx("span",{className:"text-[11px] font-medium uppercase tracking-wide text-muted-foreground",children:w.title}),w.state[0]==="needs"&&S>0&&C.jsx("span",{className:"rounded-md bg-amber-100 px-1.5 py-px text-[11px] font-semibold tabular-nums text-amber-800",children:S})]}),_.map(N=>{const O=N.id===t,I=N.progress!=null?Math.round(N.progress*100):null,P=O?N.state==="needs"?"bg-amber-50 ring-1 ring-amber-200 shadow-sm":"bg-card ring-1 ring-border shadow-sm":N.state==="needs"?"bg-amber-50/70 hover:bg-amber-100/70":"hover:bg-muted";return C.jsxs("button",{onClick:()=>r(N.id),"aria-current":O?"page":void 0,title:N.title,className:`group/row relative mb-0.5 flex min-h-9 w-full items-center gap-2 rounded-lg px-2.5 py-1.5 text-left transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring ${P}`,children:[O&&C.jsx("span",{className:"absolute left-0.5 top-2 bottom-2 w-[3px] rounded-full bg-blue-500","aria-hidden":!0}),C.jsxs("span",{className:"min-w-0 flex-1",children:[y?.id===N.id?C.jsx("input",{autoFocus:!0,value:y.value,onChange:D=>b?.(D.target.value),onClick:D=>D.stopPropagation(),onKeyDown:D=>{D.stopPropagation(),D.key==="Enter"&&v?.(),D.key==="Escape"&&k?.()},onBlur:()=>v?.(),className:"block w-full rounded border bg-background px-1.5 py-0.5 text-[13px] outline-none focus-visible:ring-1 focus-visible:ring-foreground/20"}):C.jsx("span",{className:`block truncate text-[13px] leading-5 ${O?"font-medium text-foreground":E$e[N.state]}`,children:N.title}),N.line&&C.jsx("span",{className:`block truncate text-[12px] leading-4 ${A$e[N.state]}`,children:N.line}),N.state==="running"&&I!=null&&C.jsx("span",{className:"mt-1.5 block h-1.5 overflow-hidden rounded-full bg-border",children:C.jsx("span",{className:"block h-full rounded-full bg-blue-500",style:{width:`${I}%`}})})]}),N.state==="needs"&&N.asks>0&&C.jsxs("span",{className:"inline-flex shrink-0 items-center gap-1 rounded-md bg-amber-100 px-1.5 py-0.5 text-[11px] font-semibold tabular-nums text-amber-800",children:[C.jsx(pte,{className:"size-3"}),N.asks]}),N.state==="running"&&I!=null&&C.jsxs("span",{className:"shrink-0 text-[11px] font-medium tabular-nums text-muted-foreground",children:[I,"%"]}),N.state==="new"&&C.jsx("span",{className:"shrink-0 rounded-md bg-green-50 px-1.5 py-0.5 text-[11px] font-medium text-green-700",children:"New"}),N.state==="stuck"&&C.jsx(_te,{className:"size-3.5 shrink-0 text-red-500","aria-label":"Errored"}),h&&C.jsx("span",{role:"button",title:"Delete this chat (its loops stay in the repo)",onClick:D=>{D.stopPropagation(),h(N.id)},className:"shrink-0 rounded p-0.5 text-muted-foreground/40 opacity-0 transition group-hover/row:opacity-100 hover:bg-red-50 hover:text-red-600",children:"✕"}),m&&O&&C.jsx("span",{role:"button",title:"Rename",onClick:D=>{D.stopPropagation(),m(N.id,N.title)},className:"shrink-0 rounded p-0.5 text-muted-foreground/60 hover:bg-muted hover:text-foreground",children:C.jsx(yte,{className:"size-3"})})]},N.id)})]},w.title)})]}),f&&C.jsx("div",{className:"border-t px-2 py-2",children:f})]})}const N$e=["A","B","C"];function M$e(e){const t=e.split(new RegExp("(?<=[.!?])\\s+(?=[A-Z])")).filter(Boolean),r=t.findIndex(n=>/\?$/.test(n.trim()));return r===-1?{pre:"",ask:e,post:""}:{pre:t.slice(0,r).join(" "),ask:t[r],post:t.slice(r+1).join(" ")}}function B$e({text:e}){return C.jsx("div",{className:"mt-1.5 space-y-1 rounded-lg border border-neutral-100 bg-neutral-50 px-2.5 py-2 text-[13px] leading-5 text-neutral-500",children:e.split(`
899
- `).map((t,r)=>{const n=t.match(/^([A-Z]):\s+(.*)$/),i=t.match(/^([A-Za-z][A-Za-z ]{0,9}:)\s+(.*)$/);return C.jsx("p",{className:"flex items-start gap-1.5",children:n?C.jsxs(C.Fragment,{children:[C.jsx("span",{className:"flex size-5 shrink-0 items-center justify-center rounded-md bg-neutral-100 text-[11px] font-medium text-neutral-500",children:n[1]}),C.jsx("span",{className:"min-w-0",children:n[2]})]}):i?C.jsxs(C.Fragment,{children:[C.jsx("span",{className:"font-medium text-neutral-700",children:i[1]}),C.jsx("span",{className:"min-w-0",children:i[2]})]}):C.jsx("span",{children:t})},r)})})}function R$e({runName:e,q:t,onAnswer:r,onOpen:n,compare:i}){const[a,s]=U.useState(null),l=t.answered?.i!=null?t.options[t.answered.i]?.label:void 0;if(t.answered)return C.jsxs("div",{className:"flex items-start gap-1.5 text-[13px] leading-5 text-muted-foreground",children:[C.jsx(nh,{className:"mt-0.5 size-3.5 shrink-0 text-neutral-400"}),C.jsxs("p",{className:"min-w-0",children:[C.jsx("button",{onClick:n,className:"font-medium text-neutral-600 underline-offset-2 hover:text-foreground hover:underline",children:e}),C.jsx("span",{className:"text-neutral-300",children:" · "}),t.text.replace(/ (Which|What|Was).*$/,""),C.jsx("span",{className:"text-neutral-300",children:" → "}),C.jsx("span",{className:"font-medium text-neutral-700",children:l??t.answered.auto})]})]});const{pre:u,ask:h,post:d}=M$e(t.text);return C.jsxs("div",{className:"rounded-xl border border-neutral-200 border-l-2 border-l-amber-400 bg-white shadow-sm",children:[C.jsxs("div",{className:"flex items-center gap-2 px-3.5 py-2",children:[C.jsx("span",{className:"size-1.5 shrink-0 rounded-full bg-amber-500"}),C.jsx("span",{className:"text-[11px] font-medium uppercase tracking-wide text-neutral-500",children:"Needs you"}),C.jsxs("button",{onClick:n,className:"-my-1 ml-auto -mr-1 flex items-center gap-1 rounded-md px-1.5 py-1 text-[11px] text-neutral-500 transition hover:bg-neutral-100 hover:text-neutral-900",children:[e,t.round?` · round ${t.round}`:"",C.jsx(CP,{className:"size-3"})]})]}),C.jsxs("div",{className:"px-3.5 pb-3",children:[u&&C.jsx("p",{className:"text-[13px] leading-5 text-neutral-500",children:u}),C.jsx("p",{className:`${u?"mt-1":""} text-sm font-medium leading-5 text-neutral-900`,children:h}),d&&C.jsx("p",{className:"mt-1 text-[13px] leading-5 text-neutral-500",children:d}),!i&&t.detail&&C.jsx(B$e,{text:t.detail}),i?.(a,f=>{s(f),r(f)})]}),!i&&C.jsx("div",{className:"flex flex-col gap-1 border-t border-neutral-100 px-3.5 py-2.5",children:t.options.map((f,m)=>C.jsxs("button",{disabled:a!=null,onClick:()=>{s(m),r(m)},className:`flex min-h-9 w-full items-center gap-2.5 rounded-md px-2.5 py-1.5 text-left text-sm font-medium transition disabled:opacity-50 ${m===0?"bg-neutral-950 text-white hover:bg-neutral-800":"border border-neutral-200 bg-white text-neutral-900 hover:bg-neutral-50"}`,children:[C.jsx("span",{className:`flex size-5 shrink-0 items-center justify-center rounded-md text-[11px] font-medium ${m===0?"bg-white/15 text-white":"bg-neutral-100 text-neutral-500"}`,children:N$e[m]}),C.jsx("span",{className:"min-w-0 flex-1",children:a===m?"…":f.label}),m===0&&C.jsx("span",{className:"shrink-0 text-[10px] font-normal uppercase tracking-wide text-white/60",children:"Suggested"})]},m))})]})}const LE=(e,t)=>{const r=e.rounds.find(n=>n.n===t.round)?.attempts??[];return r.find(n=>n.name===t.label)??r.find(n=>n.style===String(t.label??"").replace(/^R\d+-/,""))},NE=(e,t)=>{const r=e.rounds.find(i=>i.n===t.round);return r?.attempts.find(i=>(i.kept||i.humanPick)&&!i.name?.includes(String(t.label??"#")))??r?.attempts.find(i=>(i.kept||i.humanPick)&&!i.vetoed)};function O$e({run:e,q:t,busy:r,onPick:n,onOpenAttempt:i}){const a=e.rounds.find(d=>d.n===t.round),s=LE(e,t),l=NE(e,t);if(!a||!s)return null;const u=l?.score??a.current?.score,h=[{key:"kept",title:l?l.model:a.from.round>0?`R${a.from.round} ${a.from.label}`:"the original",tag:l?"kept now":"before this round",time:u,ok:!0,note:l?.review?.note??a.current?.reason??"the version this round started from",open:l?.name,i:0,btn:"Reviewer was right"},{key:"rej",title:s.model,tag:"rejected by review",time:s.bench?.value??s.score,ok:!1,note:s.review?.note,open:s.name,i:1,btn:`Use ${s.label} anyway`}];return C.jsx("div",{className:"mt-3 grid grid-cols-2 gap-2.5",children:h.map(d=>C.jsxs("div",{className:"flex min-w-0 flex-col rounded-lg border bg-background p-2.5",children:[C.jsxs("div",{className:"flex items-baseline gap-1.5 text-sm",children:[C.jsx("span",{className:"font-medium",children:d.title}),C.jsx("span",{className:`text-[11px] ${d.ok?"text-muted-foreground":"text-red-600"}`,children:d.tag})]}),C.jsxs("div",{className:"mt-1.5 flex items-baseline gap-2",children:[C.jsx("span",{className:"font-mono text-xl font-semibold",children:cZ(e,d.time)}),d.time!=null&&e.baseline&&Math.abs(Math.log(d.time/e.baseline))>.05&&C.jsx("span",{className:"font-mono text-[11px] text-muted-foreground",children:e3(e,d.time)})]}),d.note&&C.jsxs("p",{className:`mt-1 line-clamp-3 text-xs leading-snug ${d.ok?"text-muted-foreground":"text-red-700/80"}`,children:[d.ok?"":"Reviewer: ",d.note]}),d.open&&C.jsx("button",{onClick:()=>i(d.open),className:"mb-2 mt-1.5 w-fit text-[11px] text-muted-foreground underline decoration-dotted underline-offset-2 hover:text-foreground",children:"see the code change →"}),C.jsx("button",{disabled:r!=null,onClick:()=>n(d.i),className:`mt-auto min-h-9 translate-y-0 rounded-md border text-xs font-medium transition disabled:opacity-50 ${d.i===0?"border-foreground bg-foreground text-background hover:opacity-90":"bg-background hover:bg-muted"}`,children:r===d.i?"…":d.btn})]},d.key))})}function D$e({run:e,q:t,busy:r,onPick:n,onOpenAttempt:i}){const a=e.rounds.find(h=>h.n===t.round),s=NE(e,t),l=LE(e,t);if(!a||!s||!l||!s.shot||!l.shot)return null;const u=[{a:s,i:0,tag:"kept now"},{a:l,i:1,tag:"runner-up"}];return C.jsx("div",{className:"mt-3 grid grid-cols-2 gap-2.5",children:u.map(({a:h,i:d,tag:f})=>C.jsxs("div",{className:"flex min-w-0 flex-col rounded-lg border bg-background p-1.5",children:[C.jsxs("button",{onClick:()=>i(h.name),title:"Open this version",className:"group relative block aspect-[16/10] overflow-hidden rounded-md border bg-muted",children:[C.jsx("img",{src:h.shot,alt:"",className:"h-full w-full object-cover object-top transition group-hover:scale-[1.02]"}),C.jsx("span",{className:"absolute left-1.5 top-1.5 flex size-5 items-center justify-center rounded-md bg-foreground text-[11px] font-semibold text-background",children:h.label})]}),C.jsxs("div",{className:"mt-1.5 flex items-baseline gap-1.5 px-0.5 text-sm",children:[C.jsx("span",{className:"font-medium",children:h.model}),C.jsx("span",{className:"text-[11px] text-muted-foreground",children:f}),C.jsx("span",{className:"ml-auto font-mono text-xs",children:cZ(e,h.score)})]}),h.reason&&C.jsx("p",{className:"mt-0.5 line-clamp-2 px-0.5 text-xs leading-snug text-muted-foreground",children:h.reason}),C.jsx("button",{disabled:r!=null,onClick:()=>n(d),className:`mt-2 min-h-9 rounded-md border text-xs font-medium transition disabled:opacity-50 ${d===0?"border-foreground bg-foreground text-background hover:opacity-90":"bg-background hover:bg-muted"}`,children:r===d?"…":d===0?`Keep ${h.label}`:`Switch to ${h.label}`})]},h.name))})}function aP({run:e,q:t,onAnswer:r,onOpen:n,onOpenAttempt:i}){const a=LE(e,t),s=NE(e,t),l=e.rounds.find(d=>d.n===t.round),u=!t.answered&&t.kind==="veto"&&e.kind==="bench"&&!!a&&l?.attempts.some(d=>d.kept||d.humanPick),h=!t.answered&&t.kind==="close"&&!!a?.shot&&!!s?.shot;return C.jsx(R$e,{runName:e.name,q:t,onAnswer:r,onOpen:n,compare:u?(d,f)=>C.jsx(O$e,{run:e,q:t,busy:d,onPick:f,onOpenAttempt:i}):h?(d,f)=>C.jsx(D$e,{run:e,q:t,busy:d,onPick:f,onOpenAttempt:i}):void 0})}const I$e=["serve","check","bench","attempts","rounds","timeoutMin","tokenBudget","judgeSamples","judgePairs"],P$e=new Set(["serve","check","bench","metric","protect"]),Z5=e=>e==null?"—":typeof e=="object"?JSON.stringify(e):String(e);function F$e({chat:e,onClose:t,onPrompt:r}){const[n,i]=U.useState(null),[a,s]=U.useState(!0),[l,u]=U.useState({}),h=U.useRef(new Set),[d,f]=U.useState({}),[m,y]=U.useState(null),[b,v]=U.useState(null),[k,w]=U.useState(!1),[_,S]=U.useState(null),[N,O]=U.useState(null),[I,P]=U.useState({}),[D,re]=U.useState({}),G=U.useCallback(async()=>{s(!0);try{const z=await Fr(`/api/config?chat=${encodeURIComponent(e)}`);if(z.error)throw new Error(z.error);i(z.keys??[])}catch(z){S(z instanceof Error?z.message:String(z))}finally{s(!1)}},[e]);U.useEffect(()=>{G()},[G]);const J=U.useCallback(async()=>{const z=await Fr("/api/credentials").catch(()=>null);z&&!z.error&&O(z.providers??[])},[]);U.useEffect(()=>{J()},[J]);const se=async z=>{const F=(I[z]??"").trim();if(!F)return;re(me=>({...me,[z]:{text:"saving…"}}));const Q=await Fr("/api/credentials",{method:"POST",json:{provider:z,key:F}}).catch(me=>({error:String(me)}));P(me=>{const $={...me};return delete $[z],$});const K=Q.error?{text:"failed",detail:String(Q.error)}:Q.verified?.ok?{text:"saved · verified",detail:`${Q.verified.model} — ${Q.verified.detail}`}:Q.verified?{text:"saved · test failed",detail:`${Q.verified.model} — ${Q.verified.detail}`}:{text:"saved",detail:"no model was available to test it with; the first round will tell"};re(me=>({...me,[z]:K})),await J()},fe=async z=>{const F=d[z];if(F===void 0||h.current.has(z))return;h.current.add(z),u(K=>({...K,[z]:!0})),S(null);let Q=F.trim();["attempts","rounds","timeoutMin","judgeSamples","judgePairs"].includes(z)&&(Q=F.trim()===""?null:Number(F)),z==="tokenBudget"&&(Q=F.trim()===""?null:F.trim());try{const K=await Fr("/api/config",{method:"POST",json:{chat:e,key:z,value:Q}});if(!K.ok)throw new Error(K.error||"Could not save this setting.");f(me=>{if(me[z]!==F)return me;const $={...me};return delete $[z],$}),await G()}catch(K){S(K instanceof Error?K.message:String(K))}finally{h.current.delete(z),u(K=>({...K,[z]:!1}))}},ie=async()=>{w(!0),y(null),v(null);try{const z=await Fr("/api/doctor",{method:"POST",json:{chat:e}});y(z.checks??[]),v(z.verdict??null)}catch(z){S(String(z))}w(!1)};return C.jsx("div",{className:"absolute inset-0 z-30 flex justify-end bg-black/10 animate-in fade-in",children:C.jsxs("div",{className:"h-full w-[420px] max-w-full overflow-y-auto border-l bg-background p-4 shadow-2xl",children:[C.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[C.jsx(YP,{className:"size-4 text-muted-foreground"}),C.jsx("span",{className:"text-sm font-medium",children:"Loop settings"}),C.jsx("button",{onClick:t,className:"ml-auto rounded p-1 text-muted-foreground hover:bg-muted",title:"Close",children:C.jsx(ol,{className:"size-4"})})]}),_&&C.jsx("div",{role:"alert",className:"mb-3 rounded-md border border-red-200 bg-red-50 px-2.5 py-1.5 text-[12px] text-red-700",children:_}),C.jsxs("div",{className:"mb-4 rounded-xl border p-3",children:[C.jsxs("div",{className:"mb-2 flex items-center gap-2",children:[C.jsx("span",{className:"text-[11px] font-medium uppercase tracking-wide text-muted-foreground",children:"Can this repo run a round?"}),C.jsxs("button",{onClick:ie,disabled:k,className:"ml-auto inline-flex items-center gap-1 rounded-md border px-2 py-1 text-[11px] hover:bg-muted disabled:opacity-50",children:[C.jsx(xte,{className:`size-3 ${k?"animate-spin":""}`})," ",k?"checking…":"run checks"]})]}),b&&C.jsx("div",{className:`mb-2 rounded-md px-2 py-1 text-[11px] font-medium ${b==="ready"?"bg-emerald-50 text-emerald-700":b==="will-fail"?"bg-red-50 text-red-700":"bg-amber-50 text-amber-800"}`,children:b==="ready"?"ready":b==="will-fail"?"a round would fail":"running, but blind in places"}),!m&&!k&&C.jsx("p",{className:"text-[12px] text-muted-foreground",children:"Boots the app, runs the tests, and asks the judge to read a code off a generated image."}),(m??[]).map(z=>C.jsxs("div",{className:"mt-1.5 flex items-start gap-1.5 text-[12px] leading-5",children:[z.ok?C.jsx(nh,{className:"mt-0.5 size-3.5 shrink-0 text-emerald-600"}):C.jsx(ol,{className:"mt-0.5 size-3.5 shrink-0 text-red-500"}),C.jsxs("span",{className:"min-w-0",children:[C.jsx("span",{className:z.ok?"text-foreground":"font-medium text-foreground",children:z.name}),C.jsxs("span",{className:"text-muted-foreground",children:[" — ",z.detail]}),z.ms>0&&C.jsxs("span",{className:"ml-1 font-mono text-[10px] text-muted-foreground/70",children:[z.ms,"ms"]})]})]},z.name))]}),C.jsxs("div",{className:"mb-4 rounded-xl border p-3",children:[C.jsx("div",{className:"mb-2 text-[11px] font-medium uppercase tracking-wide text-muted-foreground",children:"Model keys"}),C.jsxs("p",{className:"mb-2 text-[12px] leading-5 text-muted-foreground",children:["Written to ",C.jsx("span",{className:"font-mono",children:"~/.pi/agent/auth.json"})," and never read back. Pi uses it for chats started after this."]}),(N??[]).map(z=>C.jsxs("div",{className:"mt-1.5 flex items-center gap-1.5 text-[12px]",children:[z.configured?C.jsx(nh,{className:"size-3.5 shrink-0 text-emerald-600"}):C.jsx(ol,{className:"size-3.5 shrink-0 text-muted-foreground/40"}),C.jsx("span",{className:"w-24 shrink-0",children:z.label}),z.configured?C.jsxs("span",{className:"truncate text-[11px] text-muted-foreground",children:["set",z.source==="env"?` via ${z.env}`:""]}):C.jsxs(C.Fragment,{children:[C.jsx("input",{type:"password",value:I[z.id]??"",onChange:F=>P(Q=>({...Q,[z.id]:F.target.value})),onKeyDown:F=>{F.key==="Enter"&&se(z.id)},placeholder:"paste the API key",autoComplete:"off",className:"min-w-0 flex-1 rounded-md border bg-background px-2 py-1 font-mono text-[12px] outline-none focus-visible:ring-1 focus-visible:ring-foreground/20"}),I[z.id]?.trim()&&C.jsx("button",{onClick:()=>{se(z.id)},className:"rounded-md bg-foreground px-2 py-1 text-[11px] font-medium text-background",children:"save"})]}),D[z.id]&&C.jsx("span",{title:D[z.id].detail,className:"ml-auto shrink-0 text-[10px] text-muted-foreground",children:D[z.id].text})]},z.id)),C.jsxs("p",{className:"mt-2 text-[11px] leading-4 text-muted-foreground/80",children:["OAuth providers still need ",C.jsx("span",{className:"font-mono",children:"pi"})," then ",C.jsx("span",{className:"font-mono",children:"/login"})," in a terminal — Pi's flow wants the redirect URL pasted back."]})]}),C.jsx("div",{className:"mb-1 text-[11px] font-medium uppercase tracking-wide text-muted-foreground",children:"In force"}),a&&C.jsx("p",{role:"status",className:"mb-2 text-xs text-muted-foreground",children:"Loading settings…"}),!a&&n===null&&C.jsx("button",{onClick:()=>{G()},className:"mb-2 text-xs underline",children:"Retry loading settings"}),C.jsx("div",{className:"divide-y rounded-xl border",children:(n??[]).map(z=>C.jsxs("div",{className:"px-3 py-2",children:[C.jsxs("div",{className:"flex items-baseline gap-2",children:[C.jsx("span",{className:`font-mono text-[12px] ${P$e.has(z.key)?"text-foreground":"text-muted-foreground"}`,children:z.key}),C.jsx("span",{className:`rounded px-1 text-[10px] ${z.source==="project"?"bg-foreground/10 text-foreground":z.source==="user"?"bg-muted text-muted-foreground":"text-muted-foreground/70"}`,children:z.source}),z.key==="models"&&C.jsx("button",{onClick:()=>r("/loop models"),className:"ml-auto rounded-md border px-2 py-0.5 text-[11px] hover:bg-muted",title:"The engine asks for each role in turn",children:"pick…"})]}),z.key==="models"?C.jsx("div",{className:"mt-1 space-y-0.5",children:Object.entries(z.value??{}).filter(([F])=>F!=="pool").map(([F,Q])=>C.jsxs("div",{className:"flex gap-2 text-[12px]",children:[C.jsx("span",{className:"w-12 shrink-0 text-muted-foreground",children:F}),C.jsx("span",{className:"truncate font-mono",children:Z5(Q)})]},F))}):I$e.includes(z.key)?C.jsxs("div",{className:"mt-1 flex gap-1.5",children:[C.jsx("input",{"aria-label":`${z.key} setting`,value:d[z.key]??Z5(z.value),onChange:F=>f(Q=>({...Q,[z.key]:F.target.value})),onKeyDown:F=>{F.key==="Enter"&&fe(z.key)},placeholder:z.key==="tokenBudget"?"e.g. 800k":"",className:"min-w-0 flex-1 rounded-md border bg-background px-2 py-1 font-mono text-[12px] outline-none focus-visible:ring-1 focus-visible:ring-foreground/20"}),d[z.key]!==void 0&&C.jsx("button",{"aria-label":`Save ${z.key}`,disabled:l[z.key],onClick:()=>{fe(z.key)},className:"rounded-md bg-foreground px-2 py-1 text-[11px] font-medium text-background disabled:opacity-50",children:l[z.key]?"saving…":"save"})]}):C.jsx("div",{className:"mt-0.5 break-words font-mono text-[12px] text-muted-foreground",children:Z5(z.value)})]},z.key))}),C.jsxs("p",{className:"mt-3 text-[11px] leading-4 text-muted-foreground",children:["Written to ",C.jsx("span",{className:"font-mono",children:".pi/loops.json"})," (this repo). Your defaults live in ",C.jsx("span",{className:"font-mono",children:"~/.pi/agent/loops.json"}),". Models are picked by the engine so a judge can never be a model that cannot see."]})]})})}function $$e({workspaces:e,active:t,onSwitch:r,onAdd:n,onRemove:i}){return C.jsxs("div",{className:"flex shrink-0 items-stretch gap-0 overflow-x-auto border-b bg-muted/20 [scrollbar-width:none]",children:[e.map(a=>{const s=a.id===t;return C.jsxs("div",{className:fo("group/tab relative flex min-w-0 shrink-0 items-center",s?"bg-background":"hover:bg-muted/50"),children:[C.jsx("button",{onClick:()=>r(a.id),disabled:a.available===!1,title:a.available===!1?`${a.path} (unavailable)`:a.path,className:fo("flex h-9 min-w-0 max-w-[220px] items-center gap-1.5 pl-3 text-[12px] transition-colors",e.length>1?"pr-2":"pr-3",s?"font-medium text-foreground":"text-muted-foreground","disabled:opacity-40"),children:C.jsxs("span",{className:"truncate",children:[a.title,e.some(l=>l.id!==a.id&&l.title===a.title)?` · ${a.path.split("/").filter(Boolean).slice(-2,-1)[0]??"/"}`:"",a.available===!1?" · unavailable":""]})}),C.jsx("button",{onClick:()=>i(a.id),title:`Close ${a.title} (its loops stay on disk)`,"aria-label":`Close ${a.title}`,className:"-ml-0.5 mr-1.5 rounded p-0.5 text-muted-foreground/50 hover:bg-muted hover:text-red-600",children:C.jsx(ol,{className:"size-3"})}),s&&C.jsx("span",{className:"absolute inset-x-0 -bottom-px h-[2px] bg-foreground","aria-hidden":!0})]},a.id)}),C.jsx("button",{onClick:n,title:"Open workspace","aria-label":"Open workspace",className:"flex h-9 w-9 shrink-0 items-center justify-center text-muted-foreground hover:bg-muted/60 hover:text-foreground",children:C.jsx(UP,{className:"size-3.5"})})]})}function z$e(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.path=="string"&&(typeof t.parent=="string"||t.parent===null)&&typeof t.home=="string"&&typeof t.truncated=="boolean"&&typeof t.loopable=="boolean"&&Array.isArray(t.entries)&&t.entries.every(r=>{if(!r||typeof r!="object")return!1;const n=r;return typeof n.name=="string"&&typeof n.path=="string"&&typeof n.symlink=="boolean"})}function j$e(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.id=="string"&&!!t.id&&typeof t.path=="string"&&typeof t.title=="string"&&typeof t.sessionDir=="string"}function H$e({workspaces:e,onOpen:t}){const[r,n]=U.useState(null),[i,a]=U.useState(""),[s,l]=U.useState(!1),[u,h]=U.useState(!1),[d,f]=U.useState(!1),[m,y]=U.useState(null),b=U.useRef(0),v=U.useRef(!0),k=jc()||location.origin,w=async(N,O=s)=>{const I=++b.current;h(!0),y(null);try{const P=new URLSearchParams;N&&P.set("path",N),O&&P.set("hidden","1");const D=await Fr(`/api/directories?${P}`);if(!z$e(D))throw new Error("The server returned an invalid directory response. The server may be outdated; restart the Loops server and try again.");I===b.current&&(n(D),a(D.path))}catch(P){I===b.current&&(n(null),N!==void 0&&a(N),y(P instanceof Error?P.message:String(P)))}finally{I===b.current&&h(!1)}};U.useEffect(()=>(v.current=!0,w(),()=>{v.current=!1,b.current++}),[]);const _=async N=>{f(!0),y(null);try{const O=await Fr("/api/workspaces",{method:"POST",json:{path:N}});if(!O?.ok)throw new Error(O?.error||"Unable to open workspace");if(!j$e(O.workspace))throw new Error("The server returned an invalid workspace response. Restart the Loops server and try again.");v.current&&t(O.workspace)}catch(O){v.current&&y(O instanceof Error?O.message:String(O))}finally{v.current&&f(!1)}},S=r?.path.split("/").filter(Boolean)??[];return C.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto",children:C.jsxs("div",{className:"mx-auto max-w-3xl space-y-6 px-6 py-8",children:[C.jsxs("div",{children:[C.jsx("h1",{className:"text-xl font-semibold",children:"Open a workspace"}),C.jsxs("p",{className:"mt-1 text-muted-foreground",children:["Choose a directory on ",C.jsx("span",{className:"font-medium text-foreground break-all",children:k}),". Opening it won't start a chat."]})]}),e.length>0&&C.jsxs("section",{children:[C.jsx("h2",{className:"mb-2 text-sm font-medium",children:"Recent workspaces"}),C.jsx("div",{className:"rounded-lg border",children:e.map(N=>C.jsxs("div",{className:"flex items-center gap-3 border-b p-3 last:border-0",children:[C.jsx(hte,{className:"size-4 shrink-0 text-muted-foreground"}),C.jsxs("div",{className:"min-w-0 flex-1",children:[C.jsxs("div",{className:"font-medium",children:[N.title,N.open!==!1&&C.jsx("span",{className:"ml-2 text-xs font-normal text-muted-foreground",children:"Open"}),N.available===!1&&C.jsx("span",{className:"ml-2 text-xs text-amber-700",children:"Unavailable"})]}),C.jsx("div",{className:"break-all text-xs text-muted-foreground",children:N.path})]}),C.jsx("button",{disabled:N.available===!1||d,onClick:()=>{_(N.path)},className:"rounded-md border px-3 py-1.5 text-xs hover:bg-muted disabled:opacity-40",children:"Open"})]},N.id))})]}),C.jsxs("section",{className:"space-y-3",children:[C.jsx("h2",{className:"font-medium",children:"Browse directories"}),C.jsxs("form",{onSubmit:N=>{if(N.preventDefault(),!i.trim()){b.current++,h(!1),n(null),y("Enter a directory path.");return}w(i.trim())},className:"flex gap-2",children:[C.jsx("label",{htmlFor:"workspace-path",className:"sr-only",children:"Directory path"}),C.jsx("input",{id:"workspace-path",value:i,onChange:N=>a(N.target.value),placeholder:"Absolute path or ~",className:"min-w-0 flex-1 rounded-md border bg-background px-3 py-2 font-mono text-xs"}),C.jsx("button",{className:"rounded-md border px-3 text-xs hover:bg-muted",children:"Go"})]}),C.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs",children:[C.jsx("button",{onClick:()=>{w(r?.home)},className:"rounded border px-2 py-1 hover:bg-muted",children:"Home"}),C.jsx("button",{disabled:!r?.parent,onClick:()=>{w(r?.parent??void 0)},className:"rounded border px-2 py-1 hover:bg-muted disabled:opacity-40",children:"Up"}),C.jsxs("nav",{"aria-label":"Directory breadcrumbs",className:"flex min-w-0 max-w-full items-center gap-1 overflow-x-auto whitespace-nowrap",children:[C.jsx("button",{onClick:()=>{w("/")},className:"hover:underline",children:"/"}),S.map((N,O)=>C.jsxs("span",{children:[C.jsx("button",{onClick:()=>{w("/"+S.slice(0,O+1).join("/"))},className:"hover:underline",children:N})," /"]},O))]}),C.jsxs("label",{className:"ml-auto flex items-center gap-1",children:[C.jsx("input",{type:"checkbox",checked:s,onChange:N=>{l(N.target.checked),w(r?.path,N.target.checked)}})," Show hidden"]})]}),m&&C.jsx("p",{role:"alert",className:"text-sm text-red-600",children:m}),C.jsx("div",{"aria-busy":u,className:"max-h-64 overflow-y-auto rounded-lg border",children:u?C.jsx("p",{className:"p-3 text-muted-foreground",children:"Loading directories…"}):r?.entries.length?r.entries.map(N=>C.jsxs("button",{onClick:()=>{w(N.path)},className:"flex w-full items-center gap-2 border-b px-3 py-2 text-left text-sm last:border-0 hover:bg-muted",children:[C.jsx(dte,{className:"size-4 shrink-0 text-muted-foreground"}),C.jsx("span",{className:"break-all",children:N.name}),N.symlink&&C.jsx("span",{className:"ml-2 text-xs text-muted-foreground",children:"symlink"})]},N.path)):C.jsx("p",{className:"p-3 text-muted-foreground",children:r?"No directories found.":"Enter a path to browse directories."})}),r?.truncated&&C.jsx("p",{className:"text-xs text-muted-foreground",children:"Directory list truncated."}),r&&C.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[C.jsx("p",{className:"flex-1 text-xs text-muted-foreground",children:r.loopable?"Git repository ready for loops.":"Not a git repository with a commit. You can open it, but loops need git to be ready."}),C.jsx("button",{disabled:u||d||i!==r.path,onClick:()=>{_(r.path)},className:"rounded-md bg-foreground px-4 py-2 text-xs font-medium text-background disabled:opacity-40",children:d?"Opening…":"Open workspace"})]})]})]})})}function U$e(e){const t=[];let r="",n=null;for(let i=0;i<e.length;i++){const a=e[i];n?(r+=a,a===n&&(n=null)):a==='"'||a==="'"?(n=a,r+=a):(a==="&"||a==="|")&&e[i+1]===a?(t.push(r),r="",i++):a===";"||a==="|"?(t.push(r),r=""):r+=a}return t.push(r),t.filter(i=>i.trim())}function sP(e){const t=[],r=/"([^"]*)"|'([^']*)'|(\S+)/g;let n;for(;n=r.exec(e);)t.push(n[1]??n[2]??n[3]);return t}const oP=e=>/\s/.test(e)?`"${e}"`:e,q$e=e=>/^\d*[<>]/.test(e)||/^\d*>&\d*$/.test(e);function dZ(e){const t=[];for(const r of U$e(e)){const n=sP(r.trim()),i=n.indexOf("factory"),a=n[i+1];if(i<0||!a||a.startsWith("-"))continue;const s=n.slice(i+2).filter(l=>!q$e(l));t.push({sub:a,detail:s.map(oP).join(" ")})}return t.length?{sub:t[0].sub,detail:t[0].detail,extra:t.length-1}:{detail:sP(e.trim()).map(oP).join(" "),extra:0}}function V$e(e){const t=e.map(n=>dZ(n.cmd));if(e.length<=2)return t.map(n=>(n.sub??n.detail.split(" ")[0])+(n.sub&&n.detail?` ${n.detail.split(" ")[0]}`:"")).join(" · ");const r=new Map;for(const n of t){const i=n.sub??n.detail.split(" ")[0];r.set(i,(r.get(i)??0)+1)}return[...r].map(([n,i])=>i>1?`${n} ×${i}`:n).join(" · ")}function G$e({cmd:e,out:t,running:r,open:n}){const[i,a]=U.useState(!!n),{sub:s,detail:l,extra:u}=dZ(e);return C.jsxs("li",{children:[C.jsxs("button",{type:"button","aria-expanded":i,title:e,onClick:()=>a(!i),className:"grid w-full grid-cols-[1fr_auto] items-center gap-2.5 px-3 py-1.5 text-left transition-colors hover:bg-muted/50 focus-visible:bg-muted/50 focus-visible:outline-none",children:[C.jsx("span",{className:"flex min-w-0 items-center gap-1.5",children:s?C.jsxs(C.Fragment,{children:[C.jsx("span",{className:"shrink-0 font-mono text-[12px] text-muted-foreground/70",children:"factory"}),C.jsx("span",{className:"shrink-0 font-mono text-[12px] font-medium text-foreground",children:s}),l&&C.jsx("span",{className:"truncate text-[12.5px] text-muted-foreground",children:l})]}):C.jsx("span",{className:"truncate font-mono text-[12px] text-muted-foreground",children:l})}),C.jsxs("span",{className:"flex shrink-0 items-center gap-2",children:[u>0&&C.jsxs("span",{title:`${u} more command${u===1?"":"s"} in this call`,className:"rounded bg-muted px-1 font-mono text-[10px] leading-4 text-muted-foreground",children:["+",u]}),r&&C.jsxs("span",{className:"flex items-center gap-1 text-[11px] font-medium text-blue-600",children:[C.jsx("span",{className:"size-1.5 animate-pulse rounded-full bg-blue-500"}),"running"]}),C.jsx(U6,{className:`size-3.5 text-muted-foreground/40 transition-transform ${i?"rotate-90":""}`})]})]}),i&&C.jsxs("div",{className:"border-t border-border/70 px-3 pb-2.5 pt-1.5",children:[C.jsxs("div",{className:"flex items-start gap-1.5 font-mono text-[11px] leading-4 text-muted-foreground",children:[C.jsx("span",{className:"select-none text-muted-foreground/40",children:"$"}),C.jsx("span",{className:"min-w-0 break-all",children:e})]}),t?C.jsx("pre",{className:"mt-1.5 max-h-64 overflow-auto whitespace-pre-wrap break-words rounded-md bg-muted px-2.5 py-2 font-mono text-[11px] leading-5 text-foreground/80",children:t}):r?C.jsx("div",{className:"mt-1 text-[11px] italic text-muted-foreground/60",children:"waiting for output…"}):null]})]})}function lP({calls:e,defaultOpen:t}){const[r,n]=U.useState(!0);if(!e.length)return null;const i=e.filter(a=>a.running).length;return C.jsxs("div",{className:"overflow-hidden rounded-xl border border-border bg-card text-[13px]",children:[C.jsxs("button",{type:"button","aria-expanded":r,onClick:()=>n(!r),className:"flex w-full items-center gap-2.5 px-3 py-2 text-left transition-colors hover:bg-muted/50 focus-visible:bg-muted/50 focus-visible:outline-none",children:[C.jsx(wte,{className:"size-3.5 shrink-0 text-muted-foreground/60"}),C.jsxs("span",{className:"shrink-0 text-[12px] font-medium text-foreground/80",children:[e.length," tool call",e.length===1?"":"s"]}),C.jsx("span",{className:"min-w-0 flex-1 truncate font-mono text-[11px] text-muted-foreground/70",children:V$e(e)}),i>0&&C.jsxs("span",{className:"flex shrink-0 items-center gap-1 text-[11px] font-medium text-blue-600",children:[C.jsx("span",{className:"size-1.5 animate-pulse rounded-full bg-blue-500"}),i," running"]}),C.jsx(U6,{className:`size-3.5 shrink-0 text-muted-foreground/40 transition-transform ${r?"rotate-90":""}`})]}),r&&C.jsx("ul",{className:"divide-y divide-border/70 border-t border-border/70",children:e.map((a,s)=>C.jsx(G$e,{...a,open:s===t},s))})]})}function W$e({dialog:e,onAnswer:t}){const[r,n]=U.useState(e.value??e.prefill??""),[i,a]=U.useState(!1),[s,l]=U.useState(""),u=U.useRef(!1),h=async m=>{if(!u.current){u.current=!0,a(!0),l("");try{await t(m)}catch(y){u.current=!1,a(!1),l(y instanceof Error?y.message:"Could not send your answer. Please try again.")}}},d=e.options??[],f=String(e.title??e.message??"").split(`
899
+ `).map((t,r)=>{const n=t.match(/^([A-Z]):\s+(.*)$/),i=t.match(/^([A-Za-z][A-Za-z ]{0,9}:)\s+(.*)$/);return C.jsx("p",{className:"flex items-start gap-1.5",children:n?C.jsxs(C.Fragment,{children:[C.jsx("span",{className:"flex size-5 shrink-0 items-center justify-center rounded-md bg-neutral-100 text-[11px] font-medium text-neutral-500",children:n[1]}),C.jsx("span",{className:"min-w-0",children:n[2]})]}):i?C.jsxs(C.Fragment,{children:[C.jsx("span",{className:"font-medium text-neutral-700",children:i[1]}),C.jsx("span",{className:"min-w-0",children:i[2]})]}):C.jsx("span",{children:t})},r)})})}function R$e({runName:e,q:t,onAnswer:r,onOpen:n,compare:i}){const[a,s]=U.useState(null),l=t.answered?.i!=null?t.options[t.answered.i]?.label:void 0;if(!t.answered&&(t.superseded||t.expired))return C.jsxs("div",{className:"text-[13px] leading-5 text-muted-foreground",children:[C.jsx("button",{onClick:n,className:"font-medium underline-offset-2 hover:underline",children:e})," · ",t.text,C.jsx("span",{className:"block text-xs",children:t.superseded?`Superseded — ${t.superseded}`:"Expired — decision deadline passed."})]});if(t.answered)return C.jsxs("div",{className:"flex items-start gap-1.5 text-[13px] leading-5 text-muted-foreground",children:[C.jsx(nh,{className:"mt-0.5 size-3.5 shrink-0 text-neutral-400"}),C.jsxs("p",{className:"min-w-0",children:[C.jsx("button",{onClick:n,className:"font-medium text-neutral-600 underline-offset-2 hover:text-foreground hover:underline",children:e}),C.jsx("span",{className:"text-neutral-300",children:" · "}),t.text.replace(/ (Which|What|Was).*$/,""),C.jsx("span",{className:"text-neutral-300",children:" → "}),C.jsx("span",{className:"font-medium text-neutral-700",children:l??t.answered.auto})]})]});const{pre:u,ask:h,post:d}=M$e(t.text);return C.jsxs("div",{className:"rounded-xl border border-neutral-200 border-l-2 border-l-amber-400 bg-white shadow-sm",children:[C.jsxs("div",{className:"flex items-center gap-2 px-3.5 py-2",children:[C.jsx("span",{className:"size-1.5 shrink-0 rounded-full bg-amber-500"}),C.jsx("span",{className:"text-[11px] font-medium uppercase tracking-wide text-neutral-500",children:"Needs you"}),C.jsxs("button",{onClick:n,className:"-my-1 ml-auto -mr-1 flex items-center gap-1 rounded-md px-1.5 py-1 text-[11px] text-neutral-500 transition hover:bg-neutral-100 hover:text-neutral-900",children:[e,t.round?` · round ${t.round}`:"",C.jsx(CP,{className:"size-3"})]})]}),C.jsxs("div",{className:"px-3.5 pb-3",children:[u&&C.jsx("p",{className:"text-[13px] leading-5 text-neutral-500",children:u}),C.jsx("p",{className:`${u?"mt-1":""} text-sm font-medium leading-5 text-neutral-900`,children:h}),d&&C.jsx("p",{className:"mt-1 text-[13px] leading-5 text-neutral-500",children:d}),!i&&t.detail&&C.jsx(B$e,{text:t.detail}),i?.(a,f=>{s(f),r(f)})]}),!i&&C.jsx("div",{className:"flex flex-col gap-1 border-t border-neutral-100 px-3.5 py-2.5",children:t.options.map((f,m)=>C.jsxs("button",{disabled:a!=null,onClick:()=>{s(m),r(m)},className:`flex min-h-9 w-full items-center gap-2.5 rounded-md px-2.5 py-1.5 text-left text-sm font-medium transition disabled:opacity-50 ${m===0?"bg-neutral-950 text-white hover:bg-neutral-800":"border border-neutral-200 bg-white text-neutral-900 hover:bg-neutral-50"}`,children:[C.jsx("span",{className:`flex size-5 shrink-0 items-center justify-center rounded-md text-[11px] font-medium ${m===0?"bg-white/15 text-white":"bg-neutral-100 text-neutral-500"}`,children:N$e[m]}),C.jsx("span",{className:"min-w-0 flex-1",children:a===m?"…":f.label}),m===0&&C.jsx("span",{className:"shrink-0 text-[10px] font-normal uppercase tracking-wide text-white/60",children:"Suggested"})]},m))})]})}const LE=(e,t)=>{const r=e.rounds.find(n=>n.n===t.round)?.attempts??[];return r.find(n=>n.name===t.label)??r.find(n=>n.style===String(t.label??"").replace(/^R\d+-/,""))},NE=(e,t)=>{const r=e.rounds.find(i=>i.n===t.round);return r?.attempts.find(i=>(i.kept||i.humanPick)&&!i.name?.includes(String(t.label??"#")))??r?.attempts.find(i=>(i.kept||i.humanPick)&&!i.vetoed)};function O$e({run:e,q:t,busy:r,onPick:n,onOpenAttempt:i}){const a=e.rounds.find(d=>d.n===t.round),s=LE(e,t),l=NE(e,t);if(!a||!s)return null;const u=l?.score??a.current?.score,h=[{key:"kept",title:l?l.model:a.from.round>0?`R${a.from.round} ${a.from.label}`:"the original",tag:l?"kept now":"before this round",time:u,ok:!0,note:l?.review?.note??a.current?.reason??"the version this round started from",open:l?.name,i:0,btn:"Reviewer was right"},{key:"rej",title:s.model,tag:"rejected by review",time:s.bench?.value??s.score,ok:!1,note:s.review?.note,open:s.name,i:1,btn:`Use ${s.label} anyway`}];return C.jsx("div",{className:"mt-3 grid grid-cols-2 gap-2.5",children:h.map(d=>C.jsxs("div",{className:"flex min-w-0 flex-col rounded-lg border bg-background p-2.5",children:[C.jsxs("div",{className:"flex items-baseline gap-1.5 text-sm",children:[C.jsx("span",{className:"font-medium",children:d.title}),C.jsx("span",{className:`text-[11px] ${d.ok?"text-muted-foreground":"text-red-600"}`,children:d.tag})]}),C.jsxs("div",{className:"mt-1.5 flex items-baseline gap-2",children:[C.jsx("span",{className:"font-mono text-xl font-semibold",children:cZ(e,d.time)}),d.time!=null&&e.baseline&&Math.abs(Math.log(d.time/e.baseline))>.05&&C.jsx("span",{className:"font-mono text-[11px] text-muted-foreground",children:e3(e,d.time)})]}),d.note&&C.jsxs("p",{className:`mt-1 line-clamp-3 text-xs leading-snug ${d.ok?"text-muted-foreground":"text-red-700/80"}`,children:[d.ok?"":"Reviewer: ",d.note]}),d.open&&C.jsx("button",{onClick:()=>i(d.open),className:"mb-2 mt-1.5 w-fit text-[11px] text-muted-foreground underline decoration-dotted underline-offset-2 hover:text-foreground",children:"see the code change →"}),C.jsx("button",{disabled:r!=null,onClick:()=>n(d.i),className:`mt-auto min-h-9 translate-y-0 rounded-md border text-xs font-medium transition disabled:opacity-50 ${d.i===0?"border-foreground bg-foreground text-background hover:opacity-90":"bg-background hover:bg-muted"}`,children:r===d.i?"…":d.btn})]},d.key))})}function D$e({run:e,q:t,busy:r,onPick:n,onOpenAttempt:i}){const a=e.rounds.find(h=>h.n===t.round),s=NE(e,t),l=LE(e,t);if(!a||!s||!l||!s.shot||!l.shot)return null;const u=[{a:s,i:0,tag:"kept now"},{a:l,i:1,tag:"runner-up"}];return C.jsx("div",{className:"mt-3 grid grid-cols-2 gap-2.5",children:u.map(({a:h,i:d,tag:f})=>C.jsxs("div",{className:"flex min-w-0 flex-col rounded-lg border bg-background p-1.5",children:[C.jsxs("button",{onClick:()=>i(h.name),title:"Open this version",className:"group relative block aspect-[16/10] overflow-hidden rounded-md border bg-muted",children:[C.jsx("img",{src:h.shot,alt:"",className:"h-full w-full object-cover object-top transition group-hover:scale-[1.02]"}),C.jsx("span",{className:"absolute left-1.5 top-1.5 flex size-5 items-center justify-center rounded-md bg-foreground text-[11px] font-semibold text-background",children:h.label})]}),C.jsxs("div",{className:"mt-1.5 flex items-baseline gap-1.5 px-0.5 text-sm",children:[C.jsx("span",{className:"font-medium",children:h.model}),C.jsx("span",{className:"text-[11px] text-muted-foreground",children:f}),C.jsx("span",{className:"ml-auto font-mono text-xs",children:cZ(e,h.score)})]}),h.reason&&C.jsx("p",{className:"mt-0.5 line-clamp-2 px-0.5 text-xs leading-snug text-muted-foreground",children:h.reason}),C.jsx("button",{disabled:r!=null,onClick:()=>n(d),className:`mt-2 min-h-9 rounded-md border text-xs font-medium transition disabled:opacity-50 ${d===0?"border-foreground bg-foreground text-background hover:opacity-90":"bg-background hover:bg-muted"}`,children:r===d?"…":d===0?`Keep ${h.label}`:`Switch to ${h.label}`})]},h.name))})}function aP({run:e,q:t,onAnswer:r,onOpen:n,onOpenAttempt:i}){const a=LE(e,t),s=NE(e,t),l=e.rounds.find(d=>d.n===t.round),u=!t.answered&&t.kind==="veto"&&e.kind==="bench"&&!!a&&l?.attempts.some(d=>d.kept||d.humanPick),h=!t.answered&&t.kind==="close"&&!!a?.shot&&!!s?.shot;return C.jsx(R$e,{runName:e.name,q:t,onAnswer:r,onOpen:n,compare:u?(d,f)=>C.jsx(O$e,{run:e,q:t,busy:d,onPick:f,onOpenAttempt:i}):h?(d,f)=>C.jsx(D$e,{run:e,q:t,busy:d,onPick:f,onOpenAttempt:i}):void 0})}const I$e=["serve","check","bench","attempts","rounds","timeoutMin","tokenBudget","judgeSamples","judgePairs"],P$e=new Set(["serve","check","bench","metric","protect"]),Z5=e=>e==null?"—":typeof e=="object"?JSON.stringify(e):String(e);function F$e({chat:e,onClose:t,onPrompt:r}){const[n,i]=U.useState(null),[a,s]=U.useState(!0),[l,u]=U.useState({}),h=U.useRef(new Set),[d,f]=U.useState({}),[m,y]=U.useState(null),[b,v]=U.useState(null),[k,w]=U.useState(!1),[_,S]=U.useState(null),[N,O]=U.useState(null),[I,P]=U.useState({}),[D,re]=U.useState({}),G=U.useCallback(async()=>{s(!0);try{const z=await Fr(`/api/config?chat=${encodeURIComponent(e)}`);if(z.error)throw new Error(z.error);i(z.keys??[])}catch(z){S(z instanceof Error?z.message:String(z))}finally{s(!1)}},[e]);U.useEffect(()=>{G()},[G]);const J=U.useCallback(async()=>{const z=await Fr("/api/credentials").catch(()=>null);z&&!z.error&&O(z.providers??[])},[]);U.useEffect(()=>{J()},[J]);const se=async z=>{const F=(I[z]??"").trim();if(!F)return;re(me=>({...me,[z]:{text:"saving…"}}));const Q=await Fr("/api/credentials",{method:"POST",json:{provider:z,key:F}}).catch(me=>({error:String(me)}));P(me=>{const $={...me};return delete $[z],$});const K=Q.error?{text:"failed",detail:String(Q.error)}:Q.verified?.ok?{text:"saved · verified",detail:`${Q.verified.model} — ${Q.verified.detail}`}:Q.verified?{text:"saved · test failed",detail:`${Q.verified.model} — ${Q.verified.detail}`}:{text:"saved",detail:"no model was available to test it with; the first round will tell"};re(me=>({...me,[z]:K})),await J()},fe=async z=>{const F=d[z];if(F===void 0||h.current.has(z))return;h.current.add(z),u(K=>({...K,[z]:!0})),S(null);let Q=F.trim();["attempts","rounds","timeoutMin","judgeSamples","judgePairs"].includes(z)&&(Q=F.trim()===""?null:Number(F)),z==="tokenBudget"&&(Q=F.trim()===""?null:F.trim());try{const K=await Fr("/api/config",{method:"POST",json:{chat:e,key:z,value:Q}});if(!K.ok)throw new Error(K.error||"Could not save this setting.");f(me=>{if(me[z]!==F)return me;const $={...me};return delete $[z],$}),await G()}catch(K){S(K instanceof Error?K.message:String(K))}finally{h.current.delete(z),u(K=>({...K,[z]:!1}))}},ie=async()=>{w(!0),y(null),v(null);try{const z=await Fr("/api/doctor",{method:"POST",json:{chat:e}});y(z.checks??[]),v(z.verdict??null)}catch(z){S(String(z))}w(!1)};return C.jsx("div",{className:"absolute inset-0 z-30 flex justify-end bg-black/10 animate-in fade-in",children:C.jsxs("div",{className:"h-full w-[420px] max-w-full overflow-y-auto border-l bg-background p-4 shadow-2xl",children:[C.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[C.jsx(YP,{className:"size-4 text-muted-foreground"}),C.jsx("span",{className:"text-sm font-medium",children:"Loop settings"}),C.jsx("button",{onClick:t,className:"ml-auto rounded p-1 text-muted-foreground hover:bg-muted",title:"Close",children:C.jsx(ol,{className:"size-4"})})]}),_&&C.jsx("div",{role:"alert",className:"mb-3 rounded-md border border-red-200 bg-red-50 px-2.5 py-1.5 text-[12px] text-red-700",children:_}),C.jsxs("div",{className:"mb-4 rounded-xl border p-3",children:[C.jsxs("div",{className:"mb-2 flex items-center gap-2",children:[C.jsx("span",{className:"text-[11px] font-medium uppercase tracking-wide text-muted-foreground",children:"Can this repo run a round?"}),C.jsxs("button",{onClick:ie,disabled:k,className:"ml-auto inline-flex items-center gap-1 rounded-md border px-2 py-1 text-[11px] hover:bg-muted disabled:opacity-50",children:[C.jsx(xte,{className:`size-3 ${k?"animate-spin":""}`})," ",k?"checking…":"run checks"]})]}),b&&C.jsx("div",{className:`mb-2 rounded-md px-2 py-1 text-[11px] font-medium ${b==="ready"?"bg-emerald-50 text-emerald-700":b==="will-fail"?"bg-red-50 text-red-700":"bg-amber-50 text-amber-800"}`,children:b==="ready"?"ready":b==="will-fail"?"a round would fail":"running, but blind in places"}),!m&&!k&&C.jsx("p",{className:"text-[12px] text-muted-foreground",children:"Boots the app, runs the tests, and asks the judge to read a code off a generated image."}),(m??[]).map(z=>C.jsxs("div",{className:"mt-1.5 flex items-start gap-1.5 text-[12px] leading-5",children:[z.ok?C.jsx(nh,{className:"mt-0.5 size-3.5 shrink-0 text-emerald-600"}):C.jsx(ol,{className:"mt-0.5 size-3.5 shrink-0 text-red-500"}),C.jsxs("span",{className:"min-w-0",children:[C.jsx("span",{className:z.ok?"text-foreground":"font-medium text-foreground",children:z.name}),C.jsxs("span",{className:"text-muted-foreground",children:[" — ",z.detail]}),z.ms>0&&C.jsxs("span",{className:"ml-1 font-mono text-[10px] text-muted-foreground/70",children:[z.ms,"ms"]})]})]},z.name))]}),C.jsxs("div",{className:"mb-4 rounded-xl border p-3",children:[C.jsx("div",{className:"mb-2 text-[11px] font-medium uppercase tracking-wide text-muted-foreground",children:"Model keys"}),C.jsxs("p",{className:"mb-2 text-[12px] leading-5 text-muted-foreground",children:["Written to ",C.jsx("span",{className:"font-mono",children:"~/.pi/agent/auth.json"})," and never read back. Pi uses it for chats started after this."]}),(N??[]).map(z=>C.jsxs("div",{className:"mt-1.5 flex items-center gap-1.5 text-[12px]",children:[z.configured?C.jsx(nh,{className:"size-3.5 shrink-0 text-emerald-600"}):C.jsx(ol,{className:"size-3.5 shrink-0 text-muted-foreground/40"}),C.jsx("span",{className:"w-24 shrink-0",children:z.label}),z.configured?C.jsxs("span",{className:"truncate text-[11px] text-muted-foreground",children:["set",z.source==="env"?` via ${z.env}`:""]}):C.jsxs(C.Fragment,{children:[C.jsx("input",{type:"password",value:I[z.id]??"",onChange:F=>P(Q=>({...Q,[z.id]:F.target.value})),onKeyDown:F=>{F.key==="Enter"&&se(z.id)},placeholder:"paste the API key",autoComplete:"off",className:"min-w-0 flex-1 rounded-md border bg-background px-2 py-1 font-mono text-[12px] outline-none focus-visible:ring-1 focus-visible:ring-foreground/20"}),I[z.id]?.trim()&&C.jsx("button",{onClick:()=>{se(z.id)},className:"rounded-md bg-foreground px-2 py-1 text-[11px] font-medium text-background",children:"save"})]}),D[z.id]&&C.jsx("span",{title:D[z.id].detail,className:"ml-auto shrink-0 text-[10px] text-muted-foreground",children:D[z.id].text})]},z.id)),C.jsxs("p",{className:"mt-2 text-[11px] leading-4 text-muted-foreground/80",children:["OAuth providers still need ",C.jsx("span",{className:"font-mono",children:"pi"})," then ",C.jsx("span",{className:"font-mono",children:"/login"})," in a terminal — Pi's flow wants the redirect URL pasted back."]})]}),C.jsx("div",{className:"mb-1 text-[11px] font-medium uppercase tracking-wide text-muted-foreground",children:"In force"}),a&&C.jsx("p",{role:"status",className:"mb-2 text-xs text-muted-foreground",children:"Loading settings…"}),!a&&n===null&&C.jsx("button",{onClick:()=>{G()},className:"mb-2 text-xs underline",children:"Retry loading settings"}),C.jsx("div",{className:"divide-y rounded-xl border",children:(n??[]).map(z=>C.jsxs("div",{className:"px-3 py-2",children:[C.jsxs("div",{className:"flex items-baseline gap-2",children:[C.jsx("span",{className:`font-mono text-[12px] ${P$e.has(z.key)?"text-foreground":"text-muted-foreground"}`,children:z.key}),C.jsx("span",{className:`rounded px-1 text-[10px] ${z.source==="project"?"bg-foreground/10 text-foreground":z.source==="user"?"bg-muted text-muted-foreground":"text-muted-foreground/70"}`,children:z.source}),z.key==="models"&&C.jsx("button",{onClick:()=>r("/loop models"),className:"ml-auto rounded-md border px-2 py-0.5 text-[11px] hover:bg-muted",title:"The engine asks for each role in turn",children:"pick…"})]}),z.key==="models"?C.jsx("div",{className:"mt-1 space-y-0.5",children:Object.entries(z.value??{}).filter(([F])=>F!=="pool").map(([F,Q])=>C.jsxs("div",{className:"flex gap-2 text-[12px]",children:[C.jsx("span",{className:"w-12 shrink-0 text-muted-foreground",children:F}),C.jsx("span",{className:"truncate font-mono",children:Z5(Q)})]},F))}):I$e.includes(z.key)?C.jsxs("div",{className:"mt-1 flex gap-1.5",children:[C.jsx("input",{"aria-label":`${z.key} setting`,value:d[z.key]??Z5(z.value),onChange:F=>f(Q=>({...Q,[z.key]:F.target.value})),onKeyDown:F=>{F.key==="Enter"&&fe(z.key)},placeholder:z.key==="tokenBudget"?"e.g. 800k":"",className:"min-w-0 flex-1 rounded-md border bg-background px-2 py-1 font-mono text-[12px] outline-none focus-visible:ring-1 focus-visible:ring-foreground/20"}),d[z.key]!==void 0&&C.jsx("button",{"aria-label":`Save ${z.key}`,disabled:l[z.key],onClick:()=>{fe(z.key)},className:"rounded-md bg-foreground px-2 py-1 text-[11px] font-medium text-background disabled:opacity-50",children:l[z.key]?"saving…":"save"})]}):C.jsx("div",{className:"mt-0.5 break-words font-mono text-[12px] text-muted-foreground",children:Z5(z.value)})]},z.key))}),C.jsxs("p",{className:"mt-3 text-[11px] leading-4 text-muted-foreground",children:["Written to ",C.jsx("span",{className:"font-mono",children:".pi/loops.json"})," (this repo). Your defaults live in ",C.jsx("span",{className:"font-mono",children:"~/.pi/agent/loops.json"}),". Models are picked by the engine so a judge can never be a model that cannot see."]})]})})}function $$e({workspaces:e,active:t,onSwitch:r,onAdd:n,onRemove:i}){return C.jsxs("div",{className:"flex shrink-0 items-stretch gap-0 overflow-x-auto border-b bg-muted/20 [scrollbar-width:none]",children:[e.map(a=>{const s=a.id===t;return C.jsxs("div",{className:fo("group/tab relative flex min-w-0 shrink-0 items-center",s?"bg-background":"hover:bg-muted/50"),children:[C.jsx("button",{onClick:()=>r(a.id),disabled:a.available===!1,title:a.available===!1?`${a.path} (unavailable)`:a.path,className:fo("flex h-9 min-w-0 max-w-[220px] items-center gap-1.5 pl-3 text-[12px] transition-colors",e.length>1?"pr-2":"pr-3",s?"font-medium text-foreground":"text-muted-foreground","disabled:opacity-40"),children:C.jsxs("span",{className:"truncate",children:[a.title,e.some(l=>l.id!==a.id&&l.title===a.title)?` · ${a.path.split("/").filter(Boolean).slice(-2,-1)[0]??"/"}`:"",a.available===!1?" · unavailable":""]})}),C.jsx("button",{onClick:()=>i(a.id),title:`Close ${a.title} (its loops stay on disk)`,"aria-label":`Close ${a.title}`,className:"-ml-0.5 mr-1.5 rounded p-0.5 text-muted-foreground/50 hover:bg-muted hover:text-red-600",children:C.jsx(ol,{className:"size-3"})}),s&&C.jsx("span",{className:"absolute inset-x-0 -bottom-px h-[2px] bg-foreground","aria-hidden":!0})]},a.id)}),C.jsx("button",{onClick:n,title:"Open workspace","aria-label":"Open workspace",className:"flex h-9 w-9 shrink-0 items-center justify-center text-muted-foreground hover:bg-muted/60 hover:text-foreground",children:C.jsx(UP,{className:"size-3.5"})})]})}function z$e(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.path=="string"&&(typeof t.parent=="string"||t.parent===null)&&typeof t.home=="string"&&typeof t.truncated=="boolean"&&typeof t.loopable=="boolean"&&Array.isArray(t.entries)&&t.entries.every(r=>{if(!r||typeof r!="object")return!1;const n=r;return typeof n.name=="string"&&typeof n.path=="string"&&typeof n.symlink=="boolean"})}function j$e(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.id=="string"&&!!t.id&&typeof t.path=="string"&&typeof t.title=="string"&&typeof t.sessionDir=="string"}function H$e({workspaces:e,onOpen:t}){const[r,n]=U.useState(null),[i,a]=U.useState(""),[s,l]=U.useState(!1),[u,h]=U.useState(!1),[d,f]=U.useState(!1),[m,y]=U.useState(null),b=U.useRef(0),v=U.useRef(!0),k=jc()||location.origin,w=async(N,O=s)=>{const I=++b.current;h(!0),y(null);try{const P=new URLSearchParams;N&&P.set("path",N),O&&P.set("hidden","1");const D=await Fr(`/api/directories?${P}`);if(!z$e(D))throw new Error("The server returned an invalid directory response. The server may be outdated; restart the Loops server and try again.");I===b.current&&(n(D),a(D.path))}catch(P){I===b.current&&(n(null),N!==void 0&&a(N),y(P instanceof Error?P.message:String(P)))}finally{I===b.current&&h(!1)}};U.useEffect(()=>(v.current=!0,w(),()=>{v.current=!1,b.current++}),[]);const _=async N=>{f(!0),y(null);try{const O=await Fr("/api/workspaces",{method:"POST",json:{path:N}});if(!O?.ok)throw new Error(O?.error||"Unable to open workspace");if(!j$e(O.workspace))throw new Error("The server returned an invalid workspace response. Restart the Loops server and try again.");v.current&&t(O.workspace)}catch(O){v.current&&y(O instanceof Error?O.message:String(O))}finally{v.current&&f(!1)}},S=r?.path.split("/").filter(Boolean)??[];return C.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto",children:C.jsxs("div",{className:"mx-auto max-w-3xl space-y-6 px-6 py-8",children:[C.jsxs("div",{children:[C.jsx("h1",{className:"text-xl font-semibold",children:"Open a workspace"}),C.jsxs("p",{className:"mt-1 text-muted-foreground",children:["Choose a directory on ",C.jsx("span",{className:"font-medium text-foreground break-all",children:k}),". Opening it won't start a chat."]})]}),e.length>0&&C.jsxs("section",{children:[C.jsx("h2",{className:"mb-2 text-sm font-medium",children:"Recent workspaces"}),C.jsx("div",{className:"rounded-lg border",children:e.map(N=>C.jsxs("div",{className:"flex items-center gap-3 border-b p-3 last:border-0",children:[C.jsx(hte,{className:"size-4 shrink-0 text-muted-foreground"}),C.jsxs("div",{className:"min-w-0 flex-1",children:[C.jsxs("div",{className:"font-medium",children:[N.title,N.open!==!1&&C.jsx("span",{className:"ml-2 text-xs font-normal text-muted-foreground",children:"Open"}),N.available===!1&&C.jsx("span",{className:"ml-2 text-xs text-amber-700",children:"Unavailable"})]}),C.jsx("div",{className:"break-all text-xs text-muted-foreground",children:N.path})]}),C.jsx("button",{disabled:N.available===!1||d,onClick:()=>{_(N.path)},className:"rounded-md border px-3 py-1.5 text-xs hover:bg-muted disabled:opacity-40",children:"Open"})]},N.id))})]}),C.jsxs("section",{className:"space-y-3",children:[C.jsx("h2",{className:"font-medium",children:"Browse directories"}),C.jsxs("form",{onSubmit:N=>{if(N.preventDefault(),!i.trim()){b.current++,h(!1),n(null),y("Enter a directory path.");return}w(i.trim())},className:"flex gap-2",children:[C.jsx("label",{htmlFor:"workspace-path",className:"sr-only",children:"Directory path"}),C.jsx("input",{id:"workspace-path",value:i,onChange:N=>a(N.target.value),placeholder:"Absolute path or ~",className:"min-w-0 flex-1 rounded-md border bg-background px-3 py-2 font-mono text-xs"}),C.jsx("button",{className:"rounded-md border px-3 text-xs hover:bg-muted",children:"Go"})]}),C.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs",children:[C.jsx("button",{onClick:()=>{w(r?.home)},className:"rounded border px-2 py-1 hover:bg-muted",children:"Home"}),C.jsx("button",{disabled:!r?.parent,onClick:()=>{w(r?.parent??void 0)},className:"rounded border px-2 py-1 hover:bg-muted disabled:opacity-40",children:"Up"}),C.jsxs("nav",{"aria-label":"Directory breadcrumbs",className:"flex min-w-0 max-w-full items-center gap-1 overflow-x-auto whitespace-nowrap",children:[C.jsx("button",{onClick:()=>{w("/")},className:"hover:underline",children:"/"}),S.map((N,O)=>C.jsxs("span",{children:[C.jsx("button",{onClick:()=>{w("/"+S.slice(0,O+1).join("/"))},className:"hover:underline",children:N})," /"]},O))]}),C.jsxs("label",{className:"ml-auto flex items-center gap-1",children:[C.jsx("input",{type:"checkbox",checked:s,onChange:N=>{l(N.target.checked),w(r?.path,N.target.checked)}})," Show hidden"]})]}),m&&C.jsx("p",{role:"alert",className:"text-sm text-red-600",children:m}),C.jsx("div",{"aria-busy":u,className:"max-h-64 overflow-y-auto rounded-lg border",children:u?C.jsx("p",{className:"p-3 text-muted-foreground",children:"Loading directories…"}):r?.entries.length?r.entries.map(N=>C.jsxs("button",{onClick:()=>{w(N.path)},className:"flex w-full items-center gap-2 border-b px-3 py-2 text-left text-sm last:border-0 hover:bg-muted",children:[C.jsx(dte,{className:"size-4 shrink-0 text-muted-foreground"}),C.jsx("span",{className:"break-all",children:N.name}),N.symlink&&C.jsx("span",{className:"ml-2 text-xs text-muted-foreground",children:"symlink"})]},N.path)):C.jsx("p",{className:"p-3 text-muted-foreground",children:r?"No directories found.":"Enter a path to browse directories."})}),r?.truncated&&C.jsx("p",{className:"text-xs text-muted-foreground",children:"Directory list truncated."}),r&&C.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[C.jsx("p",{className:"flex-1 text-xs text-muted-foreground",children:r.loopable?"Git repository ready for loops.":"Not a git repository with a commit. You can open it, but loops need git to be ready."}),C.jsx("button",{disabled:u||d||i!==r.path,onClick:()=>{_(r.path)},className:"rounded-md bg-foreground px-4 py-2 text-xs font-medium text-background disabled:opacity-40",children:d?"Opening…":"Open workspace"})]})]})]})})}function U$e(e){const t=[];let r="",n=null;for(let i=0;i<e.length;i++){const a=e[i];n?(r+=a,a===n&&(n=null)):a==='"'||a==="'"?(n=a,r+=a):(a==="&"||a==="|")&&e[i+1]===a?(t.push(r),r="",i++):a===";"||a==="|"?(t.push(r),r=""):r+=a}return t.push(r),t.filter(i=>i.trim())}function sP(e){const t=[],r=/"([^"]*)"|'([^']*)'|(\S+)/g;let n;for(;n=r.exec(e);)t.push(n[1]??n[2]??n[3]);return t}const oP=e=>/\s/.test(e)?`"${e}"`:e,q$e=e=>/^\d*[<>]/.test(e)||/^\d*>&\d*$/.test(e);function dZ(e){const t=[];for(const r of U$e(e)){const n=sP(r.trim()),i=n.indexOf("factory"),a=n[i+1];if(i<0||!a||a.startsWith("-"))continue;const s=n.slice(i+2).filter(l=>!q$e(l));t.push({sub:a,detail:s.map(oP).join(" ")})}return t.length?{sub:t[0].sub,detail:t[0].detail,extra:t.length-1}:{detail:sP(e.trim()).map(oP).join(" "),extra:0}}function V$e(e){const t=e.map(n=>dZ(n.cmd));if(e.length<=2)return t.map(n=>(n.sub??n.detail.split(" ")[0])+(n.sub&&n.detail?` ${n.detail.split(" ")[0]}`:"")).join(" · ");const r=new Map;for(const n of t){const i=n.sub??n.detail.split(" ")[0];r.set(i,(r.get(i)??0)+1)}return[...r].map(([n,i])=>i>1?`${n} ×${i}`:n).join(" · ")}function G$e({cmd:e,out:t,running:r,open:n}){const[i,a]=U.useState(!!n),{sub:s,detail:l,extra:u}=dZ(e);return C.jsxs("li",{children:[C.jsxs("button",{type:"button","aria-expanded":i,title:e,onClick:()=>a(!i),className:"grid w-full grid-cols-[1fr_auto] items-center gap-2.5 px-3 py-1.5 text-left transition-colors hover:bg-muted/50 focus-visible:bg-muted/50 focus-visible:outline-none",children:[C.jsx("span",{className:"flex min-w-0 items-center gap-1.5",children:s?C.jsxs(C.Fragment,{children:[C.jsx("span",{className:"shrink-0 font-mono text-[12px] text-muted-foreground/70",children:"factory"}),C.jsx("span",{className:"shrink-0 font-mono text-[12px] font-medium text-foreground",children:s}),l&&C.jsx("span",{className:"truncate text-[12.5px] text-muted-foreground",children:l})]}):C.jsx("span",{className:"truncate font-mono text-[12px] text-muted-foreground",children:l})}),C.jsxs("span",{className:"flex shrink-0 items-center gap-2",children:[u>0&&C.jsxs("span",{title:`${u} more command${u===1?"":"s"} in this call`,className:"rounded bg-muted px-1 font-mono text-[10px] leading-4 text-muted-foreground",children:["+",u]}),r&&C.jsxs("span",{className:"flex items-center gap-1 text-[11px] font-medium text-blue-600",children:[C.jsx("span",{className:"size-1.5 animate-pulse rounded-full bg-blue-500"}),"running"]}),C.jsx(U6,{className:`size-3.5 text-muted-foreground/40 transition-transform ${i?"rotate-90":""}`})]})]}),i&&C.jsxs("div",{className:"border-t border-border/70 px-3 pb-2.5 pt-1.5",children:[C.jsxs("div",{className:"flex items-start gap-1.5 font-mono text-[11px] leading-4 text-muted-foreground",children:[C.jsx("span",{className:"select-none text-muted-foreground/40",children:"$"}),C.jsx("span",{className:"min-w-0 break-all",children:e})]}),t?C.jsx("pre",{className:"mt-1.5 max-h-64 overflow-auto whitespace-pre-wrap break-words rounded-md bg-muted px-2.5 py-2 font-mono text-[11px] leading-5 text-foreground/80",children:t}):r?C.jsx("div",{className:"mt-1 text-[11px] italic text-muted-foreground/60",children:"waiting for output…"}):null]})]})}function lP({calls:e,defaultOpen:t}){const[r,n]=U.useState(!0);if(!e.length)return null;const i=e.filter(a=>a.running).length;return C.jsxs("div",{className:"overflow-hidden rounded-xl border border-border bg-card text-[13px]",children:[C.jsxs("button",{type:"button","aria-expanded":r,onClick:()=>n(!r),className:"flex w-full items-center gap-2.5 px-3 py-2 text-left transition-colors hover:bg-muted/50 focus-visible:bg-muted/50 focus-visible:outline-none",children:[C.jsx(wte,{className:"size-3.5 shrink-0 text-muted-foreground/60"}),C.jsxs("span",{className:"shrink-0 text-[12px] font-medium text-foreground/80",children:[e.length," tool call",e.length===1?"":"s"]}),C.jsx("span",{className:"min-w-0 flex-1 truncate font-mono text-[11px] text-muted-foreground/70",children:V$e(e)}),i>0&&C.jsxs("span",{className:"flex shrink-0 items-center gap-1 text-[11px] font-medium text-blue-600",children:[C.jsx("span",{className:"size-1.5 animate-pulse rounded-full bg-blue-500"}),i," running"]}),C.jsx(U6,{className:`size-3.5 shrink-0 text-muted-foreground/40 transition-transform ${r?"rotate-90":""}`})]}),r&&C.jsx("ul",{className:"divide-y divide-border/70 border-t border-border/70",children:e.map((a,s)=>C.jsx(G$e,{...a,open:s===t},s))})]})}function W$e({dialog:e,onAnswer:t}){const[r,n]=U.useState(e.value??e.prefill??""),[i,a]=U.useState(!1),[s,l]=U.useState(""),u=U.useRef(!1),h=async m=>{if(!u.current){u.current=!0,a(!0),l("");try{await t(m)}catch(y){u.current=!1,a(!1),l(y instanceof Error?y.message:"Could not send your answer. Please try again.")}}},d=e.options??[],f=String(e.title??e.message??"").split(`
900
900
  `);return C.jsxs("div",{className:"mb-3 rounded-xl border border-amber-200 bg-amber-50/60 p-3 shadow-sm",children:[C.jsxs("div",{className:"mb-2 flex items-start justify-between gap-3",children:[C.jsx("p",{className:"text-[11px] font-medium uppercase tracking-wide text-amber-800",children:e.method==="select"?"A decision":e.method==="confirm"?"Confirm":e.method==="editor"?"Read":"Input"}),C.jsx("button",{disabled:i,onClick:()=>{h({cancelled:!0})},className:"rounded p-0.5 text-amber-900/60 hover:bg-amber-100 hover:text-amber-900 disabled:opacity-50",title:"Cancel (esc)",children:C.jsx(ol,{className:"size-3.5"})})]}),C.jsx("div",{className:"space-y-1 whitespace-pre-wrap font-mono text-[12px] leading-relaxed text-foreground",children:f.map((m,y)=>C.jsx("div",{children:m||" "},y))}),e.method==="input"&&C.jsx("input",{autoFocus:!0,disabled:i,value:r,onChange:m=>n(m.target.value),placeholder:e.placeholder,onKeyDown:m=>{m.key==="Enter"&&h({value:r})},className:"mt-2 w-full rounded-md border bg-background px-2.5 py-1.5 text-sm outline-none focus-visible:ring-1 focus-visible:ring-foreground/20"}),e.method==="editor"&&C.jsx("textarea",{autoFocus:!0,disabled:i,value:r,onChange:m=>n(m.target.value),placeholder:e.placeholder,className:"mt-2 w-full rounded-md border bg-background px-2.5 py-1.5 text-sm outline-none focus-visible:ring-1 focus-visible:ring-foreground/20"}),s&&C.jsxs("p",{role:"alert",className:"mt-2 text-xs text-red-700",children:["Could not send your answer: ",s]}),C.jsxs("div",{className:"mt-2.5 flex flex-wrap gap-1.5",children:[e.method==="confirm"&&C.jsxs(C.Fragment,{children:[C.jsx("button",{disabled:i,onClick:()=>{h({confirmed:!0})},className:"rounded-md bg-foreground px-3 py-1.5 text-xs font-medium text-background disabled:opacity-50",children:"Yes"}),C.jsx("button",{disabled:i,onClick:()=>{h({confirmed:!1})},className:"rounded-md border px-3 py-1.5 text-xs font-medium hover:bg-muted disabled:opacity-50",children:"No"})]}),d.map((m,y)=>C.jsx("button",{disabled:i,onClick:()=>{h({value:m})},className:`rounded-md px-3 py-1.5 text-xs font-medium disabled:opacity-50 ${y===0?"bg-foreground text-background":"border bg-background hover:bg-muted"}`,children:m},m)),(e.method==="input"||e.method==="editor")&&C.jsx("button",{disabled:i,onClick:()=>{h({value:r})},className:"rounded-md bg-foreground px-3 py-1.5 text-xs font-medium text-background disabled:opacity-50",children:"Send"})]})]})}function uP({label:e,active:t,title:r,request:n}){const[i,a]=U.useState(!1),[s,l]=U.useState(""),u=U.useRef(!1),h=U.useRef(!0),d=U.useRef(void 0);U.useEffect(()=>(h.current=!0,()=>{h.current=!1,clearTimeout(d.current)}),[]),U.useEffect(()=>{t||(clearTimeout(d.current),u.current=!1,a(!1),l(""))},[t]);const f=async()=>{if(!(!t||u.current)){u.current=!0,a(!0),l("");try{await n(),h.current&&u.current&&(d.current=setTimeout(()=>{l("Stop was requested, but the session has not confirmed stopping yet. Check the connection or reload to recover the latest state.")},1e4))}catch(m){h.current&&(u.current=!1,a(!1),l(m instanceof Error?m.message:String(m)))}}};return C.jsxs("div",{className:"min-w-0",children:[C.jsxs("button",{type:"button",onClick:()=>{f()},disabled:!t||i,title:r,"aria-label":e,className:"rounded-md border px-2 py-1 text-xs hover:bg-muted disabled:opacity-40",children:[e,i?" · stopping…":""]}),i&&C.jsx("p",{role:"status",className:"mt-1 text-xs text-muted-foreground",children:"Waiting for session state…"}),s&&C.jsx("p",{role:"alert",className:"mt-1 text-xs text-red-600 [overflow-wrap:anywhere]",children:s})]})}function cP({chat:e,busy:t,runs:r,selected:n}){const i=n?r.filter(a=>a.id===n):r.filter(a=>a.alive);return C.jsxs("div",{"aria-label":"Stop controls",className:"flex flex-wrap items-start gap-2 border-b bg-background px-3 py-2",children:[C.jsx(uP,{label:"Stop agent",active:t,title:"Abort this chat's parent turn. Background loops are independent.",request:()=>Fr("/api/abort",{method:"POST",signal:AbortSignal.timeout(2e4),json:{chat:e}})}),i.map(a=>C.jsx(uP,{label:n||i.length===1?"Stop loop":`Stop loop: ${a.name}`,active:a.alive,title:`Stop background loop ${a.id}, not the parent turn. Its worktrees are kept.`,request:()=>Fr("/api/steer",{method:"POST",signal:AbortSignal.timeout(2e4),json:{chat:e,run:a.id,action:"stop"}})},a.id)),C.jsx("p",{className:"w-full text-[11px] text-muted-foreground",children:"Agent stops the parent turn; loop stops only the selected background run."})]})}function Y$e({run:e,event:t}){const r=e.rounds.find(s=>s.n===t.round);if(r?.status==="aborted")return C.jsx("span",{children:"stopped before comparison completed."});if(r?.status==="error")return C.jsx("span",{children:"failed before comparison completed."});if(!t.pick||r?.inProgress||r?.inconclusive||r?.unseen?.length||r?.status==="running")return C.jsx("span",{children:"no completed comparison."});if(t.pick==="CURRENT"){const s=r?.attempts??[],l=[s.filter(u=>u.vetoed).length&&`${s.filter(u=>u.vetoed).length} rejected by review`,s.filter(u=>u.bench&&!u.bench.passed).length&&`${s.filter(u=>u.bench&&!u.bench.passed).length} failed tests`,s.filter(u=>!["done","unchanged","no-change"].includes(u.status)).length&&`${s.filter(u=>!["done","unchanged","no-change"].includes(u.status)).length} didn’t finish`].filter(Boolean);return C.jsx("span",{className:"text-muted-foreground",children:l.length?`nothing accepted (${l.join(", ")}), kept the previous best.`:"no improvement, kept the previous best."})}const n=r?.attempts.find(s=>s.name===t.pick||s.style===t.pick?.replace(/^R\d+-/,""));if(!n)return C.jsxs("span",{children:["recorded selection ",t.pick,"; candidate details unavailable."]});const i=t.scores?.[t.pick],a=e3(e,i);return C.jsxs(C.Fragment,{children:["kept ",n.model,"’s version",i!=null&&C.jsxs("span",{className:"font-mono text-xs text-muted-foreground",children:[" ",F0(e,i),a&&` · ${a}`]})]})}const hP=()=>({draft:"",revision:0,submitting:!1,pending:[],failures:[]});function X$e(e,t,r){const n=U.useRef(new Map),[,i]=U.useState(0),a=t?`loops-composer:${JSON.stringify([e,t])}`:null;let s=a?n.current.get(a):void 0;if(a&&!s){s=hP();try{const m=JSON.parse(localStorage.getItem(a)||"null");typeof m?.draft=="string"&&(s.draft=m.draft),Array.isArray(m?.failures)&&(s.failures=m.failures.filter(y=>typeof y?.text=="string"&&typeof y?.error=="string"))}catch{}n.current.set(a,s)}const l=s??hP(),u=(m,y)=>{try{m.draft||m.failures.length?localStorage.setItem(y,JSON.stringify({draft:m.draft,failures:m.failures})):localStorage.removeItem(y)}catch{}i(b=>b+1)},h=m=>{a&&(l.draft=m,l.revision++,u(l,a))},d=async m=>{const y=(m??l.draft).trim();if(!a||!t||!y||r||l.submitting)return;l.submitting=!0,l.pending=[y];const b=l.revision;u(l,a);try{await Fr("/api/prompt",{method:"POST",json:{chat:t,text:y}}),m===void 0&&b===l.revision&&(l.draft="",l.revision++),l.failures=l.failures.filter(v=>v.text!==y)}catch(v){const k={text:y,error:v instanceof Error?v.message:String(v)};l.failures=[...l.failures.filter(w=>w.text!==y),k]}finally{l.submitting=!1,l.pending=[],u(l,a)}},f=m=>{a&&(l.draft.trim()!==m.text&&(l.draft=l.draft?`${l.draft}
901
901
 
902
- ${m.text}`:m.text,l.revision++),l.failures=l.failures.filter(y=>y!==m),u(l,a))};return{input:l.draft,setInput:h,pending:l.pending,submitting:l.submitting,failures:l.failures,restore:f,send:d}}const gu=e=>e.questions.filter(t=>!t.answered),dP={close:e=>`Close call in round ${e.round}`,veto:e=>`Reviewer veto in round ${e.round}`,stall:()=>"Stuck: what next?",apply:()=>"Done: apply the winner?",ask:()=>"A question for you"},fP=e=>e.log[e.log.length-1]?.t??0;function K$e(e,t,r=[]){const n=e.summary;if(!n||!n.loops)return{id:e.id,title:e.title,state:"idle",asks:0};if(n.open&&n.question){const u=(dP[n.question.kind]??dP.ask)(n.question);return{id:e.id,title:e.title,state:"needs",asks:n.open,line:n.open>1?`${n.open} questions · ${u.toLowerCase()}`:u}}if(n.running)return{id:e.id,title:e.title,state:"running",asks:0,progress:.5,line:n.running>1?`${n.running} loops running`:`Round ${Math.max(1,n.latest?.rounds??1)} · working`};const i=r.reduce((u,h)=>!u||fP(h)>fP(u)?h:u,void 0);if(i&&i.name===n.latest?.name&&t3(i))return{id:e.id,title:e.title,state:"stuck",asks:0,line:n.latest?.outcome??"No candidates completed"};if(n.latest?.status==="error")return{id:e.id,title:e.title,state:"stuck",asks:0,line:n.latest.outcome??`${n.latest.name} failed`};if(n.latest?.status==="stalled")return{id:e.id,title:e.title,state:"stuck",asks:0,line:`${n.latest.name} interrupted — no signal from the round`};if(n.latest?.outcome)return{id:e.id,title:e.title,state:"stuck",asks:0,line:n.latest.outcome};const a=t[e.id]!=null&&n.lastT>t[e.id],s=n.latest?.score,l=n.latest?`Done · ${n.latest.name}`:"Done";return{id:e.id,title:e.title,state:a?"new":"done",asks:0,line:s!=null?`${l} · ${n.latest.kind==="bench"?`${Math.round(s)} ${n.latest.unit??""}`.trim():s.toFixed(1)}`:l}}const Q$e=new Set(["pick","pause","resume","stop","more","unrule"]);function Z$e(){return C.jsxs("div",{className:"space-y-6","aria-busy":"true","aria-label":"Loading chat",children:[C.jsxs("div",{className:"space-y-2 animate-pulse",children:[C.jsx("div",{className:"h-3 w-1/4 rounded bg-muted-foreground/20"}),C.jsx("div",{className:"h-3 w-full rounded bg-muted-foreground/10"}),C.jsx("div",{className:"h-3 w-11/12 rounded bg-muted-foreground/10"}),C.jsx("div",{className:"h-3 w-2/3 rounded bg-muted-foreground/10"})]}),C.jsx("div",{className:"ml-auto w-3/5 animate-pulse rounded-lg bg-muted/60 px-4 py-3",children:C.jsx("div",{className:"h-3 w-3/4 rounded bg-muted-foreground/15"})}),C.jsxs("div",{className:"space-y-2 animate-pulse",children:[C.jsx("div",{className:"h-3 w-1/3 rounded bg-muted-foreground/20"}),C.jsx("div",{className:"h-3 w-10/12 rounded bg-muted-foreground/10"})]})]})}function J$e(e,t,r=0){const n=[];for(const a of e)a.log.forEach((s,l)=>{const h=Q$e.has(s.kind)||s.kind==="rule"&&s.source&&s.source!=="config"?s.source==="parent"?"applied":"user":s.kind==="round"?"tool":"parent";s.t>=r&&n.push({key:`${a.id}-${l}`,t:s.t,run:a,ev:s,who:h})});for(const a of e)a.pending.forEach((s,l)=>{s.source!=="parent"&&n.push({key:`${a.id}-q${l}`,t:s.t,run:a,ev:s,who:"user",queued:!0})});t.forEach((a,s)=>n.push({key:`c${s}`,t:a.ts,who:"chat",item:a}));for(const a of e)a.questions.forEach(s=>{s.answered&&n.push({key:`${a.id}-ask-${s.id}`,t:s.t,who:"ask",run:a,q:s})});n.sort((a,s)=>a.t-s.t);const i=[];for(const a of n)if(a.who==="chat"&&a.item.t==="tool"){const s={cmd:a.item.cmd,out:a.item.out},l=i[i.length-1];l?.who==="tools"?l.calls.push(s):i.push({key:a.key,t:a.t,who:"tools",calls:[s]})}else{if(a.who==="tool"&&i[i.length-1]?.who==="tools")continue;i.push(a)}return i}function pP(e){switch(e.kind){case"pick":return`Continue from round ${e.round}, ${e.label}.${e.note?" "+e.note:""}`;case"rule":return e.text;case"unrule":return`Drop the rule “${e.text}”.`;case"pause":return"Pause.";case"resume":return"Resume.";case"stop":return"Stop after this round.";case"more":return`Run ${e.text.replace(/\D/g,"")||2} more rounds.`;default:return e.text}}function mP(e){for(const t of e.runs??[]){t.best?.shot&&(t.best.shot=My(t.best.shot));for(const r of t.rounds??[]){r.sheet&&(r.sheet=My(r.sheet)),r.current?.shot&&(r.current.shot=My(r.current.shot));for(const n of r.attempts??[])n.shot&&(n.shot=My(n.shot))}}return e}function eze(){const[e,t]=U.useState(null),[r,n]=U.useState(null),[i,a]=U.useState({}),[s,l]=U.useState(!1),[u,h]=U.useState(!1),d=ne=>{a(ne),ne.loop&&l(!0)},f=()=>{l(!1),a({})},[m,y]=U.useState([]),[b,v]=U.useState([]),[k,w]=U.useState(),[_,S]=U.useState(!0),[N,O]=U.useState({}),[I,P]=U.useState(null),[D,re]=U.useState(!1),[G,J]=U.useState(null),se=U.useRef(!1),fe=U.useRef(null),ie=U.useCallback(ne=>{let $e={};try{$e=JSON.parse(localStorage.getItem("loops-seen")||"{}")}catch{}ne&&($e[ne]=Date.now(),localStorage.setItem("loops-seen",JSON.stringify($e))),O($e)},[]),z=U.useRef(0),F=()=>jc()||location.origin,Q=()=>`loops-ws:${F()}`,K=ne=>`loops-chat:${F()}:${ne}`,me=()=>{h(!1),l(!1),a({}),t(null),n(null),P(null),re(!1),J(null),se.current=!1,We(!1)},$=U.useCallback(async(ne,$e)=>{const ot=$e??k;if(!ne&&!ot)return;const nr=++z.current;me(),S(!0);try{const vr=await Fr("/api/chat",{method:"POST",json:ne?{id:ne}:{ws:ot}});if(nr!==z.current)return;if(ot&&vr.ws&&vr.ws!==ot)throw new Error("This chat belongs to a different workspace. Refresh the chat list and try again.");n(vr.chat),ie(vr.chat),ot&&localStorage.setItem(K(ot),vr.chat)}catch(vr){nr===z.current&&P(vr instanceof Error?vr.message:String(vr))}finally{nr===z.current&&S(!1)}},[ie,k]),Re=U.useCallback(async ne=>{const $e=++z.current;me(),w(ne),y([]),S(!0),localStorage.setItem(Q(),ne);try{const ot=await Fr(`/api/chats?ws=${encodeURIComponent(ne)}`);if($e!==z.current)return;const nr=Array.isArray(ot)?ot:[];y(nr);const vr=localStorage.getItem(K(ne));if(vr&&nr.some(Er=>Er.id===vr)){const Er=await Fr("/api/chat",{method:"POST",json:{id:vr}});if($e!==z.current)return;if(Er.ws&&Er.ws!==ne)throw new Error("The saved chat belongs to a different workspace. Choose another chat.");n(Er.chat),ie(Er.chat)}}catch(ot){$e===z.current&&P(ot instanceof Error?ot.message:String(ot))}finally{$e===z.current&&S(!1)}},[ie]);U.useEffect(()=>{a$e();const ne=++z.current;return Fr("/api/workspaces").then($e=>{if(ne!==z.current)return;const ot=Array.isArray($e)?$e:[];v(ot);const nr=ot.filter(is=>is.open!==!1&&is.available!==!1),vr=localStorage.getItem(Q()),Er=nr.find(is=>is.id===vr)??nr[0];Er?Re(Er.id):S(!1)}).catch($e=>{ne===z.current&&(P($e instanceof Error?$e.message:String($e)),S(!1))}),()=>{z.current++}},[Re]);const Ge=U.useCallback(async ne=>{if(!ne)return;const $e=z.current;try{const ot=await Fr(`/api/chats?ws=${encodeURIComponent(ne)}`);$e===z.current&&y(Array.isArray(ot)?ot:[])}catch(ot){$e===z.current&&P(ot instanceof Error?ot.message:String(ot))}},[]);U.useEffect(()=>{const ne=m.reduce(($e,ot)=>$e+(ot.summary?.open??0),0);document.title=ne?`(${ne}) Loops`:"Loops"},[m]),U.useEffect(()=>{if(!r)return;const ne=z.current;return o$e(r,{state:$e=>{ne===z.current&&(t(mP($e)),$e.chats&&y($e.chats.filter(ot=>!ot.ws||ot.ws===k)),P($e.error??null))},proposals:$e=>{ne===z.current&&t(ot=>ot&&{...ot,proposals:$e})},error:$e=>{ne===z.current&&P($e)}})},[r,k]);const W=U.useMemo(()=>e?.runs??[],[e]),Z=U.useMemo(()=>e?.items??[],[e]),pe=e?.live??null,{input:ce,setInput:Oe,pending:tt,submitting:Ae,failures:Ze,restore:Ye,send:rt}=X$e(F(),r,!!pe),Wt=e?.dialogs??[],xr=async()=>{if(!r||se.current)return;const ne=z.current;se.current=!0,re(!0),J(null);try{const $e=await Fr("/api/chat/retry",{method:"POST",json:{chat:r}});if(!$e?.ok)throw new Error($e?.error||"Unable to retry the agent.")}catch($e){ne===z.current&&J($e instanceof Error?$e.message:String($e))}finally{ne===z.current&&(se.current=!1,re(!1))}},[Xr,It]=U.useState(null),Yt=U.useRef(new Set),Ct=U.useCallback(async(ne,$e)=>{if(!r)return;const ot=`${r}:${ne}:${$e.action}`;if(!Yt.current.has(ot)){Yt.current.add(ot),It(null);try{await Fr("/api/steer",{method:"POST",json:{chat:r,run:ne,...$e}})}catch(nr){It({chat:r,error:nr instanceof Error?nr.message:String(nr)})}finally{Yt.current.delete(ot)}}},[r]),Tr=U.useCallback(async()=>{if(!r)return;const ne=z.current,$e=await Fr(`/api/state?chat=${encodeURIComponent(r)}`).catch(()=>null);!$e||ne!==z.current||(t(mP($e)),y(($e.chats??[]).filter(ot=>!ot.ws||ot.ws===k)))},[r,k]),[er,kr]=U.useState(null),bn=U.useCallback((ne,$e)=>kr({id:ne,value:$e}),[]),gr=U.useCallback(()=>{const ne=er;kr(null),!(!ne||!ne.value.trim())&&(y($e=>$e.map(ot=>ot.id===ne.id?{...ot,title:ne.value.trim()}:ot)),Fr("/api/rename",{method:"POST",json:{chat:ne.id,name:ne.value.trim()}}).then(()=>(Ge(k),Tr())))},[er,Tr]),Kr=()=>{++z.current,me(),w(void 0),y([]),S(!1),localStorage.removeItem(Q())},un=async ne=>{const $e=z.current;try{const ot=await Fr("/api/workspaces/remove",{method:"POST",json:{id:ne}});if(!ot.ok)throw new Error(ot.error||"Could not close workspace");const nr=b.map(vr=>vr.id===ne?{...vr,open:!1}:vr);if(v(nr),ne===k&&$e===z.current){const vr=nr.find(Er=>Er.open!==!1&&Er.available!==!1);vr?Re(vr.id):Kr()}}catch(ot){P(ot instanceof Error?ot.message:String(ot))}},xt=async(ne,$e,ot)=>{await Fr("/api/answer",{method:"POST",json:{chat:r,question:$e.id,choice:$e.options[ot]?.label??""}}).catch(()=>{})},we=async(ne,$e)=>{await Fr("/api/ui",{method:"POST",json:{chat:r,id:ne,response:$e}})},E=m.find(ne=>ne.id===r),oe=!s&&W.length>0?"md:pr-[172px] xl:pr-[220px]":"",be=U.useMemo(()=>J$e(W,Z),[W,Z]),Be=U.useMemo(()=>W.flatMap(ne=>gu(ne).map($e=>({run:ne,q:$e}))).sort((ne,$e)=>$e.q.t-ne.q.t),[W]),[_e,Xe]=U.useState(!1),V=async(ne,$e)=>{await Fr(`/api/proposals/${encodeURIComponent(ne)}/${$e}`,{method:"POST"}).catch(()=>{}),await Tr()},[Se,We]=U.useState(!1),ze=U.useMemo(()=>{const ne=new Set;let $e;for(const ot of be){if(ot.who==="chat"||ot.who==="ask"||ot.who==="tools"){$e=void 0;continue}!("run"in ot)||!ot.run||($e===ot.run.id&&ne.add(ot.key),$e=ot.run.id)}return ne},[be]),He=m.map(ne=>K$e(ne,N,ne.id===r?W:[])),Ue=W.filter(ne=>ne.alive).length,qe=W.reduce((ne,$e)=>ne+$e.tokens,0),dt=W.reduce((ne,$e)=>ne+gu($e).length,0),st=_||r!=null&&e==null&&!I,mt=({run:ne,round:$e,children:ot})=>C.jsx("button",{onClick:()=>d({loop:ne.id,round:$e}),className:"font-semibold underline decoration-foreground/30 decoration-dotted underline-offset-4 hover:decoration-foreground",children:ot}),Lt=({run:ne,ev:$e,key:ot})=>{switch($e.kind){case"start":return C.jsxs("p",{children:["Started ",C.jsx(mt,{run:ne,children:ne.name}),": “",ne.goal,"”. Each round uses the configured attempt models and styles to create candidates from the current best, then evaluates them against the loop’s rules and checks."]});case"judged":return C.jsxs("p",{children:[C.jsx(mt,{run:ne,round:$e.round,children:ze.has(ot)?`Round ${$e.round}`:`${ne.name} · round ${$e.round}`})," ",C.jsx(Y$e,{run:ne,event:$e})]});case"rule":return C.jsxs("p",{className:"inline-flex items-center gap-1.5 text-xs",children:[C.jsx(F9,{className:"size-3 text-violet-500"})," New rule: ",$e.text]});case"done":return C.jsxs("p",{className:"text-muted-foreground",children:[C.jsx(mt,{run:ne,children:ne.name}),": ",$e.text.replace(/^Finished: /,"finished: ")]});default:return C.jsx("p",{children:$e.text})}},$t=C.jsxs(C.Fragment,{children:[Xr?.chat===r&&C.jsx("p",{role:"alert",className:"px-3 py-2 text-red-600",children:Xr.error}),(e?.notices??[]).filter(ne=>ne.level==="error").slice(-2).map((ne,$e)=>C.jsx("p",{role:"alert",className:"px-3 py-1 text-xs text-red-600",children:ne.message},`${ne.t}-${$e}`)),(e?.configErrors??[]).map(ne=>C.jsx("p",{role:"alert",className:"px-3 py-2 text-xs text-red-600 [overflow-wrap:anywhere]",children:ne.error},ne.ws))]});return C.jsxs("div",{className:"relative flex h-dvh overflow-hidden bg-background text-sm",children:[u&&C.jsx("div",{className:"fixed inset-0 z-30 bg-black/20 lg:hidden",onClick:()=>h(!1)}),C.jsxs("aside",{id:"chat-sessions","aria-label":"Chat sessions",className:`flex w-56 shrink-0 flex-col border-r bg-muted/30 max-lg:fixed max-lg:inset-y-0 max-lg:left-0 max-lg:z-40 max-lg:bg-background max-lg:shadow-xl max-lg:transition-transform ${u?"":"max-lg:-translate-x-full"}`,children:[C.jsx(L$e,{rows:He,activeId:r,loading:st,canCreate:!!k&&!_,onOpen:ne=>$(ne),onNew:()=>{k&&$(void 0,k)},onRename:bn,renaming:er,onRenameChange:ne=>kr($e=>$e&&{...$e,value:ne}),onRenameSubmit:gr,onRenameCancel:()=>kr(null)}),C.jsxs("div",{className:"mx-2 mb-2 mt-1 flex items-center gap-1",children:[C.jsxs("button",{disabled:!r,onClick:()=>We(!0),className:"flex items-center gap-1.5 rounded-lg px-2.5 py-1.5 text-[12px] text-muted-foreground hover:bg-muted hover:text-foreground disabled:opacity-40",title:"Loop settings (this repo)",children:[C.jsx(YP,{className:"size-3.5"})," settings"]}),C.jsxs("button",{onClick:()=>{const ne=jc()||location.origin,$e=prompt("Server to attach to (leave empty for this one):",ne===location.origin?"":ne);if($e===null)return;const ot=prompt("Token (printed when the server started; empty for a loopback server):","");ot!==null&&(uZ($e,ot),location.reload())},className:"ml-auto flex min-w-0 items-center gap-1 rounded-lg px-2 py-1.5 text-[11px] text-muted-foreground hover:bg-muted hover:text-foreground",title:`Attached to ${jc()||location.origin}`,children:[C.jsx(vte,{className:"size-3"}),C.jsx("span",{className:"truncate",children:jc()?jc().replace(/^https?:\/\//,""):"this server"})]})]})]}),C.jsxs("div",{className:`relative flex h-full min-h-0 flex-col transition-[width] duration-300 ${s?"w-[40%] min-w-[360px] border-r max-lg:hidden":"min-w-0 flex-1"}`,children:[C.jsx($$e,{workspaces:b.filter(ne=>ne.open!==!1),active:k,onSwitch:ne=>{Re(ne)},onAdd:Kr,onRemove:ne=>{un(ne)}}),k&&C.jsx("div",{className:"truncate border-b px-4 py-1.5 font-mono text-xs text-muted-foreground",title:b.find(ne=>ne.id===k)?.path,children:b.find(ne=>ne.id===k)?.path}),C.jsxs("div",{className:"flex items-center gap-2 border-b px-3 py-2 lg:hidden",children:[!s&&C.jsx("button",{onClick:()=>h(!0),className:"rounded-md p-1.5 text-muted-foreground hover:bg-muted","aria-label":"Chats","aria-expanded":u,"aria-controls":"chat-sessions",children:C.jsx(P9,{className:"size-4"})}),C.jsx("span",{className:"truncate font-medium",children:E?.title??(st?"Loading…":k?"Chats":"Workspaces")})]}),!k&&!_?C.jsxs(C.Fragment,{children:[C.jsx(H$e,{workspaces:b,onOpen:ne=>{v($e=>[...$e.filter(ot=>ot.id!==ne.id),{...ne,open:!0,available:!0}]),Re(ne.id)}}),I&&C.jsx("p",{role:"alert",className:"px-6 pb-3 text-red-600",children:I})]}):!r&&!_?C.jsxs("div",{className:"flex flex-1 flex-col items-center justify-center gap-3",children:[C.jsx("p",{className:"font-medium",children:"No chat selected"}),C.jsx("p",{className:"text-muted-foreground",children:"Choose a chat from the sidebar or start a new one."}),C.jsx("button",{onClick:()=>{$(void 0,k)},className:"rounded-md bg-foreground px-4 py-2 text-background",children:"New chat"}),I&&C.jsx("p",{role:"alert",className:"text-red-600",children:I})]}):C.jsxs(C.Fragment,{children:[!s&&r&&C.jsx(cP,{chat:r,busy:!!pe,runs:W},r),!s&&$t,!s&&W.length>0&&C.jsx("ul",{className:"pointer-events-none absolute right-3 top-0 z-10 flex max-h-full w-[208px] flex-col gap-5 overflow-y-auto py-8 pr-3 [scrollbar-width:none] max-xl:w-[160px] max-md:hidden",children:W.map(ne=>C.jsx("li",{children:C.jsxs("button",{onClick:()=>d({loop:ne.id}),className:"group pointer-events-auto block w-full text-left",children:[C.jsxs("div",{className:"relative transition group-hover:-translate-y-0.5 group-hover:shadow-md",children:[C.jsx(iP,{run:ne,className:"w-full"}),gu(ne).length>0?C.jsx("span",{className:"absolute right-1.5 top-1.5 rounded-full bg-amber-500 px-1.5 py-px text-[10px] font-medium text-white ring-2 ring-background",children:"needs you"}):ne.alive&&C.jsx("span",{className:"absolute right-1.5 top-1.5 size-2 animate-pulse rounded-full bg-blue-500 ring-2 ring-background"})]}),C.jsxs("div",{className:"mt-1.5 flex items-baseline gap-2 text-xs",children:[C.jsx("span",{className:"min-w-0 flex-1 truncate font-medium",children:ne.name}),C.jsx("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground",children:F0(ne,ne.best.score)})]}),C.jsx("div",{className:`truncate text-[11px] ${gu(ne).length?"text-amber-700 dark:text-amber-400":"text-muted-foreground"}`,children:gu(ne).length?`${gu(ne).length} question${gu(ne).length>1?"s":""} for you`:AE(ne)})]})},ne.id))}),W.length>0&&C.jsx("div",{className:"flex gap-3 overflow-x-auto border-b px-3 py-2 md:hidden",children:W.map(ne=>C.jsxs("button",{onClick:()=>d({loop:ne.id}),className:"w-28 shrink-0 text-left",children:[C.jsxs("div",{className:"relative",children:[C.jsx(iP,{run:ne,className:"w-full"}),gu(ne).length>0&&C.jsx("span",{className:"absolute right-1 top-1 size-2.5 rounded-full bg-amber-500 ring-2 ring-background"})]}),C.jsxs("div",{className:"mt-1 flex gap-1 text-[11px]",children:[C.jsx("span",{className:"min-w-0 flex-1 truncate",children:ne.name}),C.jsx("span",{className:"font-mono text-muted-foreground",children:F0(ne,ne.best.score)})]})]},ne.id))}),C.jsxs(Ere,{className:"min-h-0 flex-1",children:[C.jsxs(Are,{scrollClassName:oe,className:`mx-auto w-full gap-5 py-8 ${s?"px-5":"max-w-2xl px-6"}`,children:[st&&C.jsx(Z$e,{}),!st&&Z.length===0&&!pe&&tt.length===0&&C.jsxs("div",{className:"space-y-1.5",children:[C.jsx("p",{className:"font-medium text-foreground",children:W.length?"This chat has no messages":"Start with a goal"}),C.jsx("p",{className:"text-muted-foreground",children:W.length?`It has ${W.length} loop${W.length===1?"":"s"}. Ask how they're going, or steer them.`:"Say what to improve and how to measure it, and the agent will start a loop (e.g. “make search.mjs faster, results must stay identical”)."})]}),be.map(ne=>ne.who==="ask"?C.jsx(aP,{run:ne.run,q:ne.q,onAnswer:$e=>xt(ne.run,ne.q,$e),onOpen:()=>d({loop:ne.run.id,round:ne.q.round,attempt:ne.q.label&&ne.q.round?`r${ne.q.round}-${ne.q.label}`:void 0}),onOpenAttempt:$e=>d({loop:ne.run.id,round:ne.q.round,attempt:$e})},ne.key):ne.who==="chat"?ne.item.t==="user"?C.jsx(Md,{from:"user",children:C.jsx(Bd,{children:ne.item.text})},ne.key):ne.item.t==="tool"?null:C.jsx(Md,{from:"assistant",children:C.jsx(Bd,{className:"w-full leading-relaxed",children:C.jsx(h6,{children:ne.item.text})})},ne.key):ne.who==="tools"?C.jsx(lP,{calls:ne.calls},ne.key):ne.who==="applied"?C.jsxs("div",{className:"-my-2 flex items-center gap-1.5 text-[11px] text-muted-foreground",children:[C.jsx(F9,{className:"size-3 text-violet-500"})," ",ne.run.name,": ",ne.ev.kind==="rule"?`rule now active: “${ne.ev.text}”`:pP(ne.ev).replace(/\.$/,"")+" (applied)"]},ne.key):ne.who==="tool"?null:ne.who==="user"?C.jsx(Md,{from:"user",children:C.jsxs(Bd,{children:[C.jsx("span",{className:"mb-0.5 block text-[10px] uppercase tracking-wide text-muted-foreground",children:ne.run.name}),pP(ne.ev),ne.queued&&C.jsx("span",{className:"mt-1 block text-[10px] text-muted-foreground",children:ne.run.alive?"queued · applies at the start of the next round":"queued"})]})},ne.key):C.jsx(Md,{from:"assistant",children:C.jsx(Bd,{className:"w-full space-y-2 leading-relaxed",children:Lt(ne)})},ne.key)),tt.filter(ne=>!Z.some($e=>$e.t==="user"&&$e.text===ne)).map((ne,$e)=>C.jsx(Md,{from:"user",children:C.jsx(Bd,{className:"opacity-60",children:ne})},"p"+$e)),pe&&C.jsxs("div",{className:"space-y-2",children:[(()=>{const ne=pe.tools.filter($e=>!Z.some(ot=>ot.t==="tool"&&ot.cmd===$e.cmd&&ot.ts>=pe.startedAt)).map($e=>({cmd:$e.cmd,running:!$e.done}));return ne.length?C.jsx(lP,{calls:ne}):null})(),pe.text?C.jsx(Md,{from:"assistant",children:C.jsx(Bd,{className:"w-full leading-relaxed",children:C.jsx(h6,{children:pe.text})})}):C.jsx("div",{className:"text-xs text-muted-foreground",children:C.jsx(rP,{children:"parent is thinking…"})})]}),(I||e?.error||G)&&C.jsxs("div",{role:"alert",className:"space-y-2 text-xs text-red-600",children:[e?.error&&C.jsx("p",{children:e.error}),I&&I!==e?.error&&C.jsx("p",{children:I}),G&&C.jsx("p",{children:G}),e?.error&&C.jsx("button",{disabled:D,onClick:()=>{xr()},className:"rounded-md border px-3 py-1.5 font-medium hover:bg-muted disabled:opacity-40",children:D?"Retrying agent…":"Retry agent"})]}),W.filter(ne=>ne.alive).map(ne=>C.jsx("div",{className:"text-xs text-muted-foreground",children:C.jsx("button",{onClick:()=>d({loop:ne.id,round:ne.rounds[ne.rounds.length-1]?.n}),children:C.jsx(rP,{children:`${ne.name} · ${u$e(ne)}`})})},ne.id))]}),C.jsx(Lre,{})]}),C.jsx("div",{className:`${oe} w-full`,children:C.jsxs("div",{className:`mx-auto w-full pb-[max(1rem,env(safe-area-inset-bottom))] ${s?"px-4":"max-w-2xl px-6"}`,children:[(e?.proposals??[]).map(ne=>C.jsxs("div",{className:"mb-2 rounded-xl border border-amber-200 bg-amber-50/70 p-3",children:[C.jsxs("div",{className:"mb-1.5 flex items-center gap-2",children:[C.jsx("span",{className:"size-1.5 rounded-full bg-amber-500"}),C.jsx("span",{className:"text-[11px] font-medium uppercase tracking-wide text-amber-800",children:"Approval needed"}),C.jsx("span",{className:"ml-auto font-mono text-[11px] text-amber-900/60",children:ne.file})]}),C.jsx("p",{className:"text-[13px] font-medium text-amber-950",children:"An agent changed the settings that decide how loops are judged"}),C.jsx("div",{className:"mt-1.5 space-y-1 rounded-lg border border-amber-200/70 bg-background px-2.5 py-2 font-mono text-[11px] leading-4 text-muted-foreground",children:ne.changes.map($e=>C.jsxs("div",{className:"break-all",children:[C.jsx("span",{className:"text-foreground",children:$e.key})," ",$e.from," ",C.jsx("span",{className:"text-amber-700",children:"→"})," ",$e.to]},$e.key))}),C.jsx("p",{className:"mt-1.5 text-[11px] text-amber-800/80",children:"Held: the file still has the old values, so no round can run on this."}),C.jsxs("div",{className:"mt-2 flex gap-1.5",children:[C.jsx("button",{onClick:()=>{V(ne.id,"apply")},className:"rounded-md bg-foreground px-3 py-1.5 text-xs font-medium text-background",children:"A Apply"}),C.jsx("button",{onClick:()=>{V(ne.id,"keep")},className:"rounded-md border bg-background px-3 py-1.5 text-xs font-medium hover:bg-muted",children:"B Keep previous"})]})]},ne.id)),Wt.filter(ne=>["select","confirm","input","editor"].includes(ne.method)).slice(0,1).map(ne=>C.jsx(W$e,{dialog:ne,onAnswer:$e=>we(ne.id,$e)},ne.id)),Be.length>0&&C.jsxs("div",{className:"mb-3 max-h-[55dvh] space-y-2 overflow-y-auto",children:[(_e?Be:Be.slice(0,1)).map(({run:ne,q:$e})=>C.jsx(aP,{run:ne,q:$e,onAnswer:ot=>xt(ne,$e,ot),onOpen:()=>d({loop:ne.id,round:$e.round,attempt:$e.label&&$e.round?`r${$e.round}-${$e.label}`:void 0}),onOpenAttempt:ot=>d({loop:ne.id,round:$e.round,attempt:ot})},`${ne.id}-${$e.id}`)),Be.length>1&&C.jsx("button",{onClick:()=>Xe(!_e),className:"text-xs text-amber-700 hover:underline dark:text-amber-400",children:_e?"Show only the newest question":`+${Be.length-1} more question${Be.length>2?"s":""}`})]}),(W.length>0||i.loop)&&C.jsxs("div",{className:"mb-2 flex items-center gap-3 text-xs text-muted-foreground",children:[C.jsxs("span",{className:"inline-flex shrink-0 items-center gap-1.5 whitespace-nowrap",children:[Ue>0&&C.jsx("span",{className:"size-1.5 animate-pulse rounded-full bg-blue-500"})," ",W.length," loop",W.length===1?"":"s"," · ",Ue," running"]}),dt>0&&C.jsxs("span",{className:"shrink-0 whitespace-nowrap font-medium text-amber-700 dark:text-amber-400",children:[dt," need",dt===1?"s":""," you"]}),C.jsxs("span",{className:"shrink-0 whitespace-nowrap font-mono",children:[(qe/1e6).toFixed(2),"M tokens"]}),i.loop&&C.jsxs("span",{className:"ml-auto truncate",children:["👁 ",C.jsx("b",{className:"text-foreground",children:W.find(ne=>ne.id===i.loop)?.name}),i.round?` R${i.round}`:""]})]}),C.jsx("div",{className:"mb-2 flex flex-wrap gap-1.5",children:(W.length?["How are the loops doing?","What got rejected, and why?","What kinds of loops can you start?"]:["What kinds of loops can you start?","Make a slow function faster","Improve a landing page"]).map(ne=>C.jsx("button",{onClick:()=>rt(ne),disabled:!!pe||Ae,className:"rounded-full border px-2.5 py-0.5 text-xs text-muted-foreground hover:bg-muted hover:text-foreground",children:ne},ne))}),Ze.map(ne=>C.jsxs("div",{role:"alert",className:"mb-2 rounded-lg border border-red-500/30 px-3 py-2 text-sm [overflow-wrap:anywhere]",children:[C.jsxs("p",{children:["Could not confirm sending: ",ne.error]}),C.jsx("p",{className:"text-xs text-muted-foreground",children:"Your message is saved. Review the chat before retrying."}),ce.trim()!==ne.text&&C.jsx("p",{className:"mt-1 whitespace-pre-wrap break-words text-xs",children:ne.text}),C.jsx("button",{type:"button",onClick:()=>Ye(ne),className:"mt-1 text-xs underline",children:ce.trim()===ne.text?"Keep draft and dismiss error":"Add saved message to draft"})]},ne.text)),C.jsxs("form",{onSubmit:ne=>{ne.preventDefault(),rt()},className:"relative rounded-xl border bg-background shadow-xs focus-within:ring-1 focus-within:ring-foreground/20",children:[C.jsx("textarea",{ref:fe,value:ce,onChange:ne=>Oe(ne.target.value),onKeyDown:ne=>{ne.key==="Enter"&&!ne.shiftKey&&(ne.preventDefault(),rt())},placeholder:pe?"working…":"Ask how the loops are going, give feedback, change direction…",rows:2,className:"block w-full resize-none bg-transparent px-3.5 py-3 pr-12 outline-none placeholder:text-muted-foreground/70"}),C.jsx("button",{type:"submit","aria-label":Ae?"Sending message":"Send message",className:"absolute bottom-2.5 right-2.5 flex size-8 items-center justify-center rounded-lg bg-foreground text-background disabled:opacity-30",disabled:!ce.trim()||!!pe||Ae,children:C.jsx(lte,{className:"size-4"})})]})]})})]})]}),Se&&C.jsx(F$e,{chat:r??"",onClose:()=>We(!1),onPrompt:ne=>{We(!1),rt(ne)}}),s&&C.jsxs("div",{className:"relative flex min-w-0 flex-1 flex-col bg-muted/20 animate-in fade-in slide-in-from-right-4",children:[C.jsxs("div",{className:"flex shrink-0 items-center gap-2 border-b px-3 py-2 pr-12 lg:hidden",children:[C.jsx("button",{onClick:()=>h(!0),className:"rounded-md p-1.5 text-muted-foreground hover:bg-muted","aria-label":"Chats","aria-expanded":u,"aria-controls":"chat-sessions",children:C.jsx(P9,{className:"size-4"})}),C.jsx("span",{className:"truncate text-xs text-muted-foreground",children:"Chat sessions"})]}),C.jsx("button",{onClick:f,title:"Close (Esc)",className:"absolute right-3 top-3 z-20 rounded-md p-1.5 text-muted-foreground hover:bg-muted hover:text-foreground",children:C.jsx(ol,{className:"size-4"})}),r&&C.jsx(cP,{chat:r,busy:!!pe,runs:W,selected:i.loop},r),$t,C.jsx("div",{className:"min-h-0 flex-1",children:C.jsx(_$e,{runs:W,focus:i,setFocus:ne=>ne.loop?a(ne):f(),steer:Ct,onClose:f,onLiveChange:Tr})})]})]})}Kee.createRoot(document.getElementById("root")).render(C.jsx(U.StrictMode,{children:C.jsx(eze,{})}));const tze=Object.freeze(Object.defineProperty({__proto__:null,Mermaid:gK},Symbol.toStringTag,{value:"Module"}));export{vze as $,Kze as A,Li as B,po as C,sn as D,Zfe as E,u_ as F,Hj as G,Gye as H,IMe as I,M1e as J,b1e as K,BM as L,MM as M,xze as N,pze as O,yze as P,gze as Q,si as R,dze as S,Qw as T,Ut as U,bze as V,Jze as W,fze as X,wd as Y,Cze as Z,L as _,Gfe as a,Sye as a$,mze as a0,Z0e as a1,uze as a2,LCe as a3,ACe as a4,_m as a5,lze as a6,vx as a7,Pye as a8,Bfe as a9,f2 as aA,JV as aB,Sx as aC,A_ as aD,EV as aE,nxe as aF,Ei as aG,Ybe as aH,r_ as aI,nU as aJ,UM as aK,rm as aL,Tye as aM,Cye as aN,vye as aO,xye as aP,hye as aQ,iU as aR,pye as aS,cye as aT,yye as aU,aU as aV,fye as aW,_ye as aX,wye as aY,kye as aZ,Eye as a_,eH as aa,w0 as ab,dM as ac,Ox as ad,T1e as ae,fk as af,Vye as ag,Ls as ah,Ie as ai,Pe as aj,zfe as ak,rH as al,wV as am,E_ as an,AB as ao,ng as ap,rye as aq,o_ as ar,bt as as,Pze as at,Ize as au,_Ce as av,yr as aw,QV as ax,vt as ay,Dze as az,Vfe as b,p3e as b$,dye as b0,sU as b1,bye as b2,gye as b3,mye as b4,oU as b5,NV as b6,mU as b7,Rj as b8,x1e as b9,T3e as bA,PV as bB,o4e as bC,W4e as bD,d3e as bE,C3e as bF,l4e as bG,dh as bH,X0 as bI,xl as bJ,ZB as bK,mo as bL,nl as bM,n4e as bN,HB as bO,d2 as bP,cl as bQ,f3e as bR,ha as bS,GB as bT,B_ as bU,iCe as bV,Nx as bW,h2 as bX,tCe as bY,KV as bZ,ao as b_,oze as ba,I2 as bb,Ms as bc,tye as bd,cze as be,Ww as bf,Tu as bg,Am as bh,_M as bi,Zme as bj,kt as bk,ZH as bl,ca as bm,Vme as bn,Gw as bo,gH as bp,rg as bq,xH as br,hze as bs,l0e as bt,L_ as bu,N_ as bv,PB as bw,IV as bx,Lx as by,DV as bz,lr as c,P_ as c0,RV as c1,aCe as c2,rCe as c3,Gve as c4,Ax as c5,HV as c6,Rx as c7,UV as c8,Wve as c9,q4e as ca,Ec as cb,Up as cc,Fd as cd,gy as ce,jC as cf,fCe as cg,j2e as ch,Y as ci,tH as d,ri as e,fl as f,Yfe as g,CV as h,es as i,C as j,Xt as k,Me as l,eg as m,yU as n,Jm as o,sye as p,Xfe as q,U as r,Wfe as s,Kfe as t,qfe as u,Tze as v,Xye as w,Mu as x,i0e as y,Qze as z};
902
+ ${m.text}`:m.text,l.revision++),l.failures=l.failures.filter(y=>y!==m),u(l,a))};return{input:l.draft,setInput:h,pending:l.pending,submitting:l.submitting,failures:l.failures,restore:f,send:d}}const gu=e=>e.questions.filter(t=>!t.answered&&!t.expired&&!t.superseded),dP={close:e=>`Close call in round ${e.round}`,veto:e=>`Reviewer veto in round ${e.round}`,stall:()=>"Stuck: what next?",apply:()=>"Done: apply the winner?",ask:()=>"A question for you"},fP=e=>e.log[e.log.length-1]?.t??0;function K$e(e,t,r=[]){const n=e.summary;if(!n||!n.loops)return{id:e.id,title:e.title,state:"idle",asks:0};if(n.open&&n.question){const u=(dP[n.question.kind]??dP.ask)(n.question);return{id:e.id,title:e.title,state:"needs",asks:n.open,line:n.open>1?`${n.open} questions · ${u.toLowerCase()}`:u}}if(n.running)return{id:e.id,title:e.title,state:"running",asks:0,progress:.5,line:n.running>1?`${n.running} loops running`:`Round ${Math.max(1,n.latest?.rounds??1)} · working`};const i=r.reduce((u,h)=>!u||fP(h)>fP(u)?h:u,void 0);if(i&&i.name===n.latest?.name&&t3(i))return{id:e.id,title:e.title,state:"stuck",asks:0,line:n.latest?.outcome??"No candidates completed"};if(n.latest?.status==="error")return{id:e.id,title:e.title,state:"stuck",asks:0,line:n.latest.outcome??`${n.latest.name} failed`};if(n.latest?.status==="stalled")return{id:e.id,title:e.title,state:"stuck",asks:0,line:`${n.latest.name} interrupted — no signal from the round`};if(n.latest?.outcome)return{id:e.id,title:e.title,state:"stuck",asks:0,line:n.latest.outcome};const a=t[e.id]!=null&&n.lastT>t[e.id],s=n.latest?.score,l=n.latest?`Done · ${n.latest.name}`:"Done";return{id:e.id,title:e.title,state:a?"new":"done",asks:0,line:s!=null?`${l} · ${n.latest.kind==="bench"?`${Math.round(s)} ${n.latest.unit??""}`.trim():s.toFixed(1)}`:l}}const Q$e=new Set(["pick","pause","resume","stop","more","unrule"]);function Z$e(){return C.jsxs("div",{className:"space-y-6","aria-busy":"true","aria-label":"Loading chat",children:[C.jsxs("div",{className:"space-y-2 animate-pulse",children:[C.jsx("div",{className:"h-3 w-1/4 rounded bg-muted-foreground/20"}),C.jsx("div",{className:"h-3 w-full rounded bg-muted-foreground/10"}),C.jsx("div",{className:"h-3 w-11/12 rounded bg-muted-foreground/10"}),C.jsx("div",{className:"h-3 w-2/3 rounded bg-muted-foreground/10"})]}),C.jsx("div",{className:"ml-auto w-3/5 animate-pulse rounded-lg bg-muted/60 px-4 py-3",children:C.jsx("div",{className:"h-3 w-3/4 rounded bg-muted-foreground/15"})}),C.jsxs("div",{className:"space-y-2 animate-pulse",children:[C.jsx("div",{className:"h-3 w-1/3 rounded bg-muted-foreground/20"}),C.jsx("div",{className:"h-3 w-10/12 rounded bg-muted-foreground/10"})]})]})}function J$e(e,t,r=0){const n=[];for(const a of e)a.log.forEach((s,l)=>{const h=Q$e.has(s.kind)||s.kind==="rule"&&s.source&&s.source!=="config"?s.source==="parent"?"applied":"user":s.kind==="round"?"tool":"parent";s.t>=r&&n.push({key:`${a.id}-${l}`,t:s.t,run:a,ev:s,who:h})});for(const a of e)a.pending.forEach((s,l)=>{s.source!=="parent"&&n.push({key:`${a.id}-q${l}`,t:s.t,run:a,ev:s,who:"user",queued:!0})});t.forEach((a,s)=>n.push({key:`c${s}`,t:a.ts,who:"chat",item:a}));for(const a of e)a.questions.forEach(s=>{(s.answered||s.expired||s.superseded)&&n.push({key:`${a.id}-ask-${s.id}`,t:s.t,who:"ask",run:a,q:s})});n.sort((a,s)=>a.t-s.t);const i=[];for(const a of n)if(a.who==="chat"&&a.item.t==="tool"){const s={cmd:a.item.cmd,out:a.item.out},l=i[i.length-1];l?.who==="tools"?l.calls.push(s):i.push({key:a.key,t:a.t,who:"tools",calls:[s]})}else{if(a.who==="tool"&&i[i.length-1]?.who==="tools")continue;i.push(a)}return i}function pP(e){switch(e.kind){case"pick":return`Continue from round ${e.round}, ${e.label}.${e.note?" "+e.note:""}`;case"rule":return e.text;case"unrule":return`Drop the rule “${e.text}”.`;case"pause":return"Pause.";case"resume":return"Resume.";case"stop":return"Stop after this round.";case"more":return`Run ${e.text.replace(/\D/g,"")||2} more rounds.`;default:return e.text}}function mP(e){for(const t of e.runs??[]){t.best?.shot&&(t.best.shot=My(t.best.shot));for(const r of t.rounds??[]){r.sheet&&(r.sheet=My(r.sheet)),r.current?.shot&&(r.current.shot=My(r.current.shot));for(const n of r.attempts??[])n.shot&&(n.shot=My(n.shot))}}return e}function eze(){const[e,t]=U.useState(null),[r,n]=U.useState(null),[i,a]=U.useState({}),[s,l]=U.useState(!1),[u,h]=U.useState(!1),d=ne=>{a(ne),ne.loop&&l(!0)},f=()=>{l(!1),a({})},[m,y]=U.useState([]),[b,v]=U.useState([]),[k,w]=U.useState(),[_,S]=U.useState(!0),[N,O]=U.useState({}),[I,P]=U.useState(null),[D,re]=U.useState(!1),[G,J]=U.useState(null),se=U.useRef(!1),fe=U.useRef(null),ie=U.useCallback(ne=>{let $e={};try{$e=JSON.parse(localStorage.getItem("loops-seen")||"{}")}catch{}ne&&($e[ne]=Date.now(),localStorage.setItem("loops-seen",JSON.stringify($e))),O($e)},[]),z=U.useRef(0),F=()=>jc()||location.origin,Q=()=>`loops-ws:${F()}`,K=ne=>`loops-chat:${F()}:${ne}`,me=()=>{h(!1),l(!1),a({}),t(null),n(null),P(null),re(!1),J(null),se.current=!1,We(!1)},$=U.useCallback(async(ne,$e)=>{const ot=$e??k;if(!ne&&!ot)return;const nr=++z.current;me(),S(!0);try{const vr=await Fr("/api/chat",{method:"POST",json:ne?{id:ne}:{ws:ot}});if(nr!==z.current)return;if(ot&&vr.ws&&vr.ws!==ot)throw new Error("This chat belongs to a different workspace. Refresh the chat list and try again.");n(vr.chat),ie(vr.chat),ot&&localStorage.setItem(K(ot),vr.chat)}catch(vr){nr===z.current&&P(vr instanceof Error?vr.message:String(vr))}finally{nr===z.current&&S(!1)}},[ie,k]),Re=U.useCallback(async ne=>{const $e=++z.current;me(),w(ne),y([]),S(!0),localStorage.setItem(Q(),ne);try{const ot=await Fr(`/api/chats?ws=${encodeURIComponent(ne)}`);if($e!==z.current)return;const nr=Array.isArray(ot)?ot:[];y(nr);const vr=localStorage.getItem(K(ne));if(vr&&nr.some(Er=>Er.id===vr)){const Er=await Fr("/api/chat",{method:"POST",json:{id:vr}});if($e!==z.current)return;if(Er.ws&&Er.ws!==ne)throw new Error("The saved chat belongs to a different workspace. Choose another chat.");n(Er.chat),ie(Er.chat)}}catch(ot){$e===z.current&&P(ot instanceof Error?ot.message:String(ot))}finally{$e===z.current&&S(!1)}},[ie]);U.useEffect(()=>{a$e();const ne=++z.current;return Fr("/api/workspaces").then($e=>{if(ne!==z.current)return;const ot=Array.isArray($e)?$e:[];v(ot);const nr=ot.filter(is=>is.open!==!1&&is.available!==!1),vr=localStorage.getItem(Q()),Er=nr.find(is=>is.id===vr)??nr[0];Er?Re(Er.id):S(!1)}).catch($e=>{ne===z.current&&(P($e instanceof Error?$e.message:String($e)),S(!1))}),()=>{z.current++}},[Re]);const Ge=U.useCallback(async ne=>{if(!ne)return;const $e=z.current;try{const ot=await Fr(`/api/chats?ws=${encodeURIComponent(ne)}`);$e===z.current&&y(Array.isArray(ot)?ot:[])}catch(ot){$e===z.current&&P(ot instanceof Error?ot.message:String(ot))}},[]);U.useEffect(()=>{const ne=m.reduce(($e,ot)=>$e+(ot.summary?.open??0),0);document.title=ne?`(${ne}) Loops`:"Loops"},[m]),U.useEffect(()=>{if(!r)return;const ne=z.current;return o$e(r,{state:$e=>{ne===z.current&&(t(mP($e)),$e.chats&&y($e.chats.filter(ot=>!ot.ws||ot.ws===k)),P($e.error??null))},proposals:$e=>{ne===z.current&&t(ot=>ot&&{...ot,proposals:$e})},error:$e=>{ne===z.current&&P($e)}})},[r,k]);const W=U.useMemo(()=>e?.runs??[],[e]),Z=U.useMemo(()=>e?.items??[],[e]),pe=e?.live??null,{input:ce,setInput:Oe,pending:tt,submitting:Ae,failures:Ze,restore:Ye,send:rt}=X$e(F(),r,!!pe),Wt=e?.dialogs??[],xr=async()=>{if(!r||se.current)return;const ne=z.current;se.current=!0,re(!0),J(null);try{const $e=await Fr("/api/chat/retry",{method:"POST",json:{chat:r}});if(!$e?.ok)throw new Error($e?.error||"Unable to retry the agent.")}catch($e){ne===z.current&&J($e instanceof Error?$e.message:String($e))}finally{ne===z.current&&(se.current=!1,re(!1))}},[Xr,It]=U.useState(null),Yt=U.useRef(new Set),Ct=U.useCallback(async(ne,$e)=>{if(!r)return;const ot=`${r}:${ne}:${$e.action}`;if(!Yt.current.has(ot)){Yt.current.add(ot),It(null);try{await Fr("/api/steer",{method:"POST",json:{chat:r,run:ne,...$e}})}catch(nr){It({chat:r,error:nr instanceof Error?nr.message:String(nr)})}finally{Yt.current.delete(ot)}}},[r]),Tr=U.useCallback(async()=>{if(!r)return;const ne=z.current,$e=await Fr(`/api/state?chat=${encodeURIComponent(r)}`).catch(()=>null);!$e||ne!==z.current||(t(mP($e)),y(($e.chats??[]).filter(ot=>!ot.ws||ot.ws===k)))},[r,k]),[er,kr]=U.useState(null),bn=U.useCallback((ne,$e)=>kr({id:ne,value:$e}),[]),gr=U.useCallback(()=>{const ne=er;kr(null),!(!ne||!ne.value.trim())&&(y($e=>$e.map(ot=>ot.id===ne.id?{...ot,title:ne.value.trim()}:ot)),Fr("/api/rename",{method:"POST",json:{chat:ne.id,name:ne.value.trim()}}).then(()=>(Ge(k),Tr())))},[er,Tr]),Kr=()=>{++z.current,me(),w(void 0),y([]),S(!1),localStorage.removeItem(Q())},un=async ne=>{const $e=z.current;try{const ot=await Fr("/api/workspaces/remove",{method:"POST",json:{id:ne}});if(!ot.ok)throw new Error(ot.error||"Could not close workspace");const nr=b.map(vr=>vr.id===ne?{...vr,open:!1}:vr);if(v(nr),ne===k&&$e===z.current){const vr=nr.find(Er=>Er.open!==!1&&Er.available!==!1);vr?Re(vr.id):Kr()}}catch(ot){P(ot instanceof Error?ot.message:String(ot))}},xt=async(ne,$e,ot)=>{await Fr("/api/answer",{method:"POST",json:{chat:r,question:$e.id,choice:$e.options[ot]?.label??""}}).catch(()=>{})},we=async(ne,$e)=>{await Fr("/api/ui",{method:"POST",json:{chat:r,id:ne,response:$e}})},E=m.find(ne=>ne.id===r),oe=!s&&W.length>0?"md:pr-[172px] xl:pr-[220px]":"",be=U.useMemo(()=>J$e(W,Z),[W,Z]),Be=U.useMemo(()=>W.flatMap(ne=>gu(ne).map($e=>({run:ne,q:$e}))).sort((ne,$e)=>$e.q.t-ne.q.t),[W]),[_e,Xe]=U.useState(!1),V=async(ne,$e)=>{await Fr(`/api/proposals/${encodeURIComponent(ne)}/${$e}`,{method:"POST"}).catch(()=>{}),await Tr()},[Se,We]=U.useState(!1),ze=U.useMemo(()=>{const ne=new Set;let $e;for(const ot of be){if(ot.who==="chat"||ot.who==="ask"||ot.who==="tools"){$e=void 0;continue}!("run"in ot)||!ot.run||($e===ot.run.id&&ne.add(ot.key),$e=ot.run.id)}return ne},[be]),He=m.map(ne=>K$e(ne,N,ne.id===r?W:[])),Ue=W.filter(ne=>ne.alive).length,qe=W.reduce((ne,$e)=>ne+$e.tokens,0),dt=W.reduce((ne,$e)=>ne+gu($e).length,0),st=_||r!=null&&e==null&&!I,mt=({run:ne,round:$e,children:ot})=>C.jsx("button",{onClick:()=>d({loop:ne.id,round:$e}),className:"font-semibold underline decoration-foreground/30 decoration-dotted underline-offset-4 hover:decoration-foreground",children:ot}),Lt=({run:ne,ev:$e,key:ot})=>{switch($e.kind){case"start":return C.jsxs("p",{children:["Started ",C.jsx(mt,{run:ne,children:ne.name}),": “",ne.goal,"”. Each round uses the configured attempt models and styles to create candidates from the current best, then evaluates them against the loop’s rules and checks."]});case"judged":return C.jsxs("p",{children:[C.jsx(mt,{run:ne,round:$e.round,children:ze.has(ot)?`Round ${$e.round}`:`${ne.name} · round ${$e.round}`})," ",C.jsx(Y$e,{run:ne,event:$e})]});case"rule":return C.jsxs("p",{className:"inline-flex items-center gap-1.5 text-xs",children:[C.jsx(F9,{className:"size-3 text-violet-500"})," New rule: ",$e.text]});case"done":return C.jsxs("p",{className:"text-muted-foreground",children:[C.jsx(mt,{run:ne,children:ne.name}),": ",$e.text.replace(/^Finished: /,"finished: ")]});default:return C.jsx("p",{children:$e.text})}},$t=C.jsxs(C.Fragment,{children:[Xr?.chat===r&&C.jsx("p",{role:"alert",className:"px-3 py-2 text-red-600",children:Xr.error}),(e?.notices??[]).filter(ne=>ne.level==="error").slice(-2).map((ne,$e)=>C.jsx("p",{role:"alert",className:"px-3 py-1 text-xs text-red-600",children:ne.message},`${ne.t}-${$e}`)),(e?.configErrors??[]).map(ne=>C.jsx("p",{role:"alert",className:"px-3 py-2 text-xs text-red-600 [overflow-wrap:anywhere]",children:ne.error},ne.ws))]});return C.jsxs("div",{className:"relative flex h-dvh overflow-hidden bg-background text-sm",children:[u&&C.jsx("div",{className:"fixed inset-0 z-30 bg-black/20 lg:hidden",onClick:()=>h(!1)}),C.jsxs("aside",{id:"chat-sessions","aria-label":"Chat sessions",className:`flex w-56 shrink-0 flex-col border-r bg-muted/30 max-lg:fixed max-lg:inset-y-0 max-lg:left-0 max-lg:z-40 max-lg:bg-background max-lg:shadow-xl max-lg:transition-transform ${u?"":"max-lg:-translate-x-full"}`,children:[C.jsx(L$e,{rows:He,activeId:r,loading:st,canCreate:!!k&&!_,onOpen:ne=>$(ne),onNew:()=>{k&&$(void 0,k)},onRename:bn,renaming:er,onRenameChange:ne=>kr($e=>$e&&{...$e,value:ne}),onRenameSubmit:gr,onRenameCancel:()=>kr(null)}),C.jsxs("div",{className:"mx-2 mb-2 mt-1 flex items-center gap-1",children:[C.jsxs("button",{disabled:!r,onClick:()=>We(!0),className:"flex items-center gap-1.5 rounded-lg px-2.5 py-1.5 text-[12px] text-muted-foreground hover:bg-muted hover:text-foreground disabled:opacity-40",title:"Loop settings (this repo)",children:[C.jsx(YP,{className:"size-3.5"})," settings"]}),C.jsxs("button",{onClick:()=>{const ne=jc()||location.origin,$e=prompt("Server to attach to (leave empty for this one):",ne===location.origin?"":ne);if($e===null)return;const ot=prompt("Token (printed when the server started; empty for a loopback server):","");ot!==null&&(uZ($e,ot),location.reload())},className:"ml-auto flex min-w-0 items-center gap-1 rounded-lg px-2 py-1.5 text-[11px] text-muted-foreground hover:bg-muted hover:text-foreground",title:`Attached to ${jc()||location.origin}`,children:[C.jsx(vte,{className:"size-3"}),C.jsx("span",{className:"truncate",children:jc()?jc().replace(/^https?:\/\//,""):"this server"})]})]})]}),C.jsxs("div",{className:`relative flex h-full min-h-0 flex-col transition-[width] duration-300 ${s?"w-[40%] min-w-[360px] border-r max-lg:hidden":"min-w-0 flex-1"}`,children:[C.jsx($$e,{workspaces:b.filter(ne=>ne.open!==!1),active:k,onSwitch:ne=>{Re(ne)},onAdd:Kr,onRemove:ne=>{un(ne)}}),k&&C.jsx("div",{className:"truncate border-b px-4 py-1.5 font-mono text-xs text-muted-foreground",title:b.find(ne=>ne.id===k)?.path,children:b.find(ne=>ne.id===k)?.path}),C.jsxs("div",{className:"flex items-center gap-2 border-b px-3 py-2 lg:hidden",children:[!s&&C.jsx("button",{onClick:()=>h(!0),className:"rounded-md p-1.5 text-muted-foreground hover:bg-muted","aria-label":"Chats","aria-expanded":u,"aria-controls":"chat-sessions",children:C.jsx(P9,{className:"size-4"})}),C.jsx("span",{className:"truncate font-medium",children:E?.title??(st?"Loading…":k?"Chats":"Workspaces")})]}),!k&&!_?C.jsxs(C.Fragment,{children:[C.jsx(H$e,{workspaces:b,onOpen:ne=>{v($e=>[...$e.filter(ot=>ot.id!==ne.id),{...ne,open:!0,available:!0}]),Re(ne.id)}}),I&&C.jsx("p",{role:"alert",className:"px-6 pb-3 text-red-600",children:I})]}):!r&&!_?C.jsxs("div",{className:"flex flex-1 flex-col items-center justify-center gap-3",children:[C.jsx("p",{className:"font-medium",children:"No chat selected"}),C.jsx("p",{className:"text-muted-foreground",children:"Choose a chat from the sidebar or start a new one."}),C.jsx("button",{onClick:()=>{$(void 0,k)},className:"rounded-md bg-foreground px-4 py-2 text-background",children:"New chat"}),I&&C.jsx("p",{role:"alert",className:"text-red-600",children:I})]}):C.jsxs(C.Fragment,{children:[!s&&r&&C.jsx(cP,{chat:r,busy:!!pe,runs:W},r),!s&&$t,!s&&W.length>0&&C.jsx("ul",{className:"pointer-events-none absolute right-3 top-0 z-10 flex max-h-full w-[208px] flex-col gap-5 overflow-y-auto py-8 pr-3 [scrollbar-width:none] max-xl:w-[160px] max-md:hidden",children:W.map(ne=>C.jsx("li",{children:C.jsxs("button",{onClick:()=>d({loop:ne.id}),className:"group pointer-events-auto block w-full text-left",children:[C.jsxs("div",{className:"relative transition group-hover:-translate-y-0.5 group-hover:shadow-md",children:[C.jsx(iP,{run:ne,className:"w-full"}),gu(ne).length>0?C.jsx("span",{className:"absolute right-1.5 top-1.5 rounded-full bg-amber-500 px-1.5 py-px text-[10px] font-medium text-white ring-2 ring-background",children:"needs you"}):ne.alive&&C.jsx("span",{className:"absolute right-1.5 top-1.5 size-2 animate-pulse rounded-full bg-blue-500 ring-2 ring-background"})]}),C.jsxs("div",{className:"mt-1.5 flex items-baseline gap-2 text-xs",children:[C.jsx("span",{className:"min-w-0 flex-1 truncate font-medium",children:ne.name}),C.jsx("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground",children:F0(ne,ne.best.score)})]}),C.jsx("div",{className:`truncate text-[11px] ${gu(ne).length?"text-amber-700 dark:text-amber-400":"text-muted-foreground"}`,children:gu(ne).length?`${gu(ne).length} question${gu(ne).length>1?"s":""} for you`:AE(ne)})]})},ne.id))}),W.length>0&&C.jsx("div",{className:"flex gap-3 overflow-x-auto border-b px-3 py-2 md:hidden",children:W.map(ne=>C.jsxs("button",{onClick:()=>d({loop:ne.id}),className:"w-28 shrink-0 text-left",children:[C.jsxs("div",{className:"relative",children:[C.jsx(iP,{run:ne,className:"w-full"}),gu(ne).length>0&&C.jsx("span",{className:"absolute right-1 top-1 size-2.5 rounded-full bg-amber-500 ring-2 ring-background"})]}),C.jsxs("div",{className:"mt-1 flex gap-1 text-[11px]",children:[C.jsx("span",{className:"min-w-0 flex-1 truncate",children:ne.name}),C.jsx("span",{className:"font-mono text-muted-foreground",children:F0(ne,ne.best.score)})]})]},ne.id))}),C.jsxs(Ere,{className:"min-h-0 flex-1",children:[C.jsxs(Are,{scrollClassName:oe,className:`mx-auto w-full gap-5 py-8 ${s?"px-5":"max-w-2xl px-6"}`,children:[st&&C.jsx(Z$e,{}),!st&&Z.length===0&&!pe&&tt.length===0&&C.jsxs("div",{className:"space-y-1.5",children:[C.jsx("p",{className:"font-medium text-foreground",children:W.length?"This chat has no messages":"Start with a goal"}),C.jsx("p",{className:"text-muted-foreground",children:W.length?`It has ${W.length} loop${W.length===1?"":"s"}. Ask how they're going, or steer them.`:"Say what to improve and how to measure it, and the agent will start a loop (e.g. “make search.mjs faster, results must stay identical”)."})]}),be.map(ne=>ne.who==="ask"?C.jsx(aP,{run:ne.run,q:ne.q,onAnswer:$e=>xt(ne.run,ne.q,$e),onOpen:()=>d({loop:ne.run.id,round:ne.q.round,attempt:ne.q.label&&ne.q.round?`r${ne.q.round}-${ne.q.label}`:void 0}),onOpenAttempt:$e=>d({loop:ne.run.id,round:ne.q.round,attempt:$e})},ne.key):ne.who==="chat"?ne.item.t==="user"?C.jsx(Md,{from:"user",children:C.jsx(Bd,{children:ne.item.text})},ne.key):ne.item.t==="tool"?null:C.jsx(Md,{from:"assistant",children:C.jsx(Bd,{className:"w-full leading-relaxed",children:C.jsx(h6,{children:ne.item.text})})},ne.key):ne.who==="tools"?C.jsx(lP,{calls:ne.calls},ne.key):ne.who==="applied"?C.jsxs("div",{className:"-my-2 flex items-center gap-1.5 text-[11px] text-muted-foreground",children:[C.jsx(F9,{className:"size-3 text-violet-500"})," ",ne.run.name,": ",ne.ev.kind==="rule"?`rule now active: “${ne.ev.text}”`:pP(ne.ev).replace(/\.$/,"")+" (applied)"]},ne.key):ne.who==="tool"?null:ne.who==="user"?C.jsx(Md,{from:"user",children:C.jsxs(Bd,{children:[C.jsx("span",{className:"mb-0.5 block text-[10px] uppercase tracking-wide text-muted-foreground",children:ne.run.name}),pP(ne.ev),ne.queued&&C.jsx("span",{className:"mt-1 block text-[10px] text-muted-foreground",children:ne.run.alive?"queued · applies at the start of the next round":"queued"})]})},ne.key):C.jsx(Md,{from:"assistant",children:C.jsx(Bd,{className:"w-full space-y-2 leading-relaxed",children:Lt(ne)})},ne.key)),tt.filter(ne=>!Z.some($e=>$e.t==="user"&&$e.text===ne)).map((ne,$e)=>C.jsx(Md,{from:"user",children:C.jsx(Bd,{className:"opacity-60",children:ne})},"p"+$e)),pe&&C.jsxs("div",{className:"space-y-2",children:[(()=>{const ne=pe.tools.filter($e=>!Z.some(ot=>ot.t==="tool"&&ot.cmd===$e.cmd&&ot.ts>=pe.startedAt)).map($e=>({cmd:$e.cmd,running:!$e.done}));return ne.length?C.jsx(lP,{calls:ne}):null})(),pe.text?C.jsx(Md,{from:"assistant",children:C.jsx(Bd,{className:"w-full leading-relaxed",children:C.jsx(h6,{children:pe.text})})}):C.jsx("div",{className:"text-xs text-muted-foreground",children:C.jsx(rP,{children:"parent is thinking…"})})]}),(I||e?.error||G)&&C.jsxs("div",{role:"alert",className:"space-y-2 text-xs text-red-600",children:[e?.error&&C.jsx("p",{children:e.error}),I&&I!==e?.error&&C.jsx("p",{children:I}),G&&C.jsx("p",{children:G}),e?.error&&C.jsx("button",{disabled:D,onClick:()=>{xr()},className:"rounded-md border px-3 py-1.5 font-medium hover:bg-muted disabled:opacity-40",children:D?"Retrying agent…":"Retry agent"})]}),W.filter(ne=>ne.alive).map(ne=>C.jsx("div",{className:"text-xs text-muted-foreground",children:C.jsx("button",{onClick:()=>d({loop:ne.id,round:ne.rounds[ne.rounds.length-1]?.n}),children:C.jsx(rP,{children:`${ne.name} · ${u$e(ne)}`})})},ne.id))]}),C.jsx(Lre,{})]}),C.jsx("div",{className:`${oe} w-full`,children:C.jsxs("div",{className:`mx-auto w-full pb-[max(1rem,env(safe-area-inset-bottom))] ${s?"px-4":"max-w-2xl px-6"}`,children:[(e?.proposals??[]).map(ne=>C.jsxs("div",{className:"mb-2 rounded-xl border border-amber-200 bg-amber-50/70 p-3",children:[C.jsxs("div",{className:"mb-1.5 flex items-center gap-2",children:[C.jsx("span",{className:"size-1.5 rounded-full bg-amber-500"}),C.jsx("span",{className:"text-[11px] font-medium uppercase tracking-wide text-amber-800",children:"Approval needed"}),C.jsx("span",{className:"ml-auto font-mono text-[11px] text-amber-900/60",children:ne.file})]}),C.jsx("p",{className:"text-[13px] font-medium text-amber-950",children:"An agent changed the settings that decide how loops are judged"}),C.jsx("div",{className:"mt-1.5 space-y-1 rounded-lg border border-amber-200/70 bg-background px-2.5 py-2 font-mono text-[11px] leading-4 text-muted-foreground",children:ne.changes.map($e=>C.jsxs("div",{className:"break-all",children:[C.jsx("span",{className:"text-foreground",children:$e.key})," ",$e.from," ",C.jsx("span",{className:"text-amber-700",children:"→"})," ",$e.to]},$e.key))}),C.jsx("p",{className:"mt-1.5 text-[11px] text-amber-800/80",children:"Held: the file still has the old values, so no round can run on this."}),C.jsxs("div",{className:"mt-2 flex gap-1.5",children:[C.jsx("button",{onClick:()=>{V(ne.id,"apply")},className:"rounded-md bg-foreground px-3 py-1.5 text-xs font-medium text-background",children:"A Apply"}),C.jsx("button",{onClick:()=>{V(ne.id,"keep")},className:"rounded-md border bg-background px-3 py-1.5 text-xs font-medium hover:bg-muted",children:"B Keep previous"})]})]},ne.id)),Wt.filter(ne=>["select","confirm","input","editor"].includes(ne.method)).slice(0,1).map(ne=>C.jsx(W$e,{dialog:ne,onAnswer:$e=>we(ne.id,$e)},ne.id)),Be.length>0&&C.jsxs("div",{className:"mb-3 max-h-[55dvh] space-y-2 overflow-y-auto",children:[(_e?Be:Be.slice(0,1)).map(({run:ne,q:$e})=>C.jsx(aP,{run:ne,q:$e,onAnswer:ot=>xt(ne,$e,ot),onOpen:()=>d({loop:ne.id,round:$e.round,attempt:$e.label&&$e.round?`r${$e.round}-${$e.label}`:void 0}),onOpenAttempt:ot=>d({loop:ne.id,round:$e.round,attempt:ot})},`${ne.id}-${$e.id}`)),Be.length>1&&C.jsx("button",{onClick:()=>Xe(!_e),className:"text-xs text-amber-700 hover:underline dark:text-amber-400",children:_e?"Show only the newest question":`+${Be.length-1} more question${Be.length>2?"s":""}`})]}),(W.length>0||i.loop)&&C.jsxs("div",{className:"mb-2 flex items-center gap-3 text-xs text-muted-foreground",children:[C.jsxs("span",{className:"inline-flex shrink-0 items-center gap-1.5 whitespace-nowrap",children:[Ue>0&&C.jsx("span",{className:"size-1.5 animate-pulse rounded-full bg-blue-500"})," ",W.length," loop",W.length===1?"":"s"," · ",Ue," running"]}),dt>0&&C.jsxs("span",{className:"shrink-0 whitespace-nowrap font-medium text-amber-700 dark:text-amber-400",children:[dt," need",dt===1?"s":""," you"]}),C.jsxs("span",{className:"shrink-0 whitespace-nowrap font-mono",children:[(qe/1e6).toFixed(2),"M tokens"]}),i.loop&&C.jsxs("span",{className:"ml-auto truncate",children:["👁 ",C.jsx("b",{className:"text-foreground",children:W.find(ne=>ne.id===i.loop)?.name}),i.round?` R${i.round}`:""]})]}),C.jsx("div",{className:"mb-2 flex flex-wrap gap-1.5",children:(W.length?["How are the loops doing?","What got rejected, and why?","What kinds of loops can you start?"]:["What kinds of loops can you start?","Make a slow function faster","Improve a landing page"]).map(ne=>C.jsx("button",{onClick:()=>rt(ne),disabled:!!pe||Ae,className:"rounded-full border px-2.5 py-0.5 text-xs text-muted-foreground hover:bg-muted hover:text-foreground",children:ne},ne))}),Ze.map(ne=>C.jsxs("div",{role:"alert",className:"mb-2 rounded-lg border border-red-500/30 px-3 py-2 text-sm [overflow-wrap:anywhere]",children:[C.jsxs("p",{children:["Could not confirm sending: ",ne.error]}),C.jsx("p",{className:"text-xs text-muted-foreground",children:"Your message is saved. Review the chat before retrying."}),ce.trim()!==ne.text&&C.jsx("p",{className:"mt-1 whitespace-pre-wrap break-words text-xs",children:ne.text}),C.jsx("button",{type:"button",onClick:()=>Ye(ne),className:"mt-1 text-xs underline",children:ce.trim()===ne.text?"Keep draft and dismiss error":"Add saved message to draft"})]},ne.text)),C.jsxs("form",{onSubmit:ne=>{ne.preventDefault(),rt()},className:"relative rounded-xl border bg-background shadow-xs focus-within:ring-1 focus-within:ring-foreground/20",children:[C.jsx("textarea",{ref:fe,value:ce,onChange:ne=>Oe(ne.target.value),onKeyDown:ne=>{ne.key==="Enter"&&!ne.shiftKey&&(ne.preventDefault(),rt())},placeholder:pe?"working…":"Ask how the loops are going, give feedback, change direction…",rows:2,className:"block w-full resize-none bg-transparent px-3.5 py-3 pr-12 outline-none placeholder:text-muted-foreground/70"}),C.jsx("button",{type:"submit","aria-label":Ae?"Sending message":"Send message",className:"absolute bottom-2.5 right-2.5 flex size-8 items-center justify-center rounded-lg bg-foreground text-background disabled:opacity-30",disabled:!ce.trim()||!!pe||Ae,children:C.jsx(lte,{className:"size-4"})})]})]})})]})]}),Se&&C.jsx(F$e,{chat:r??"",onClose:()=>We(!1),onPrompt:ne=>{We(!1),rt(ne)}}),s&&C.jsxs("div",{className:"relative flex min-w-0 flex-1 flex-col bg-muted/20 animate-in fade-in slide-in-from-right-4",children:[C.jsxs("div",{className:"flex shrink-0 items-center gap-2 border-b px-3 py-2 pr-12 lg:hidden",children:[C.jsx("button",{onClick:()=>h(!0),className:"rounded-md p-1.5 text-muted-foreground hover:bg-muted","aria-label":"Chats","aria-expanded":u,"aria-controls":"chat-sessions",children:C.jsx(P9,{className:"size-4"})}),C.jsx("span",{className:"truncate text-xs text-muted-foreground",children:"Chat sessions"})]}),C.jsx("button",{onClick:f,title:"Close (Esc)",className:"absolute right-3 top-3 z-20 rounded-md p-1.5 text-muted-foreground hover:bg-muted hover:text-foreground",children:C.jsx(ol,{className:"size-4"})}),r&&C.jsx(cP,{chat:r,busy:!!pe,runs:W,selected:i.loop},r),$t,C.jsx("div",{className:"min-h-0 flex-1",children:C.jsx(_$e,{runs:W,focus:i,setFocus:ne=>ne.loop?a(ne):f(),steer:Ct,onClose:f,onLiveChange:Tr})})]})]})}Kee.createRoot(document.getElementById("root")).render(C.jsx(U.StrictMode,{children:C.jsx(eze,{})}));const tze=Object.freeze(Object.defineProperty({__proto__:null,Mermaid:gK},Symbol.toStringTag,{value:"Module"}));export{vze as $,Kze as A,Li as B,po as C,sn as D,Zfe as E,u_ as F,Hj as G,Gye as H,IMe as I,M1e as J,b1e as K,BM as L,MM as M,xze as N,pze as O,yze as P,gze as Q,si as R,dze as S,Qw as T,Ut as U,bze as V,Jze as W,fze as X,wd as Y,Cze as Z,L as _,Gfe as a,Sye as a$,mze as a0,Z0e as a1,uze as a2,LCe as a3,ACe as a4,_m as a5,lze as a6,vx as a7,Pye as a8,Bfe as a9,f2 as aA,JV as aB,Sx as aC,A_ as aD,EV as aE,nxe as aF,Ei as aG,Ybe as aH,r_ as aI,nU as aJ,UM as aK,rm as aL,Tye as aM,Cye as aN,vye as aO,xye as aP,hye as aQ,iU as aR,pye as aS,cye as aT,yye as aU,aU as aV,fye as aW,_ye as aX,wye as aY,kye as aZ,Eye as a_,eH as aa,w0 as ab,dM as ac,Ox as ad,T1e as ae,fk as af,Vye as ag,Ls as ah,Ie as ai,Pe as aj,zfe as ak,rH as al,wV as am,E_ as an,AB as ao,ng as ap,rye as aq,o_ as ar,bt as as,Pze as at,Ize as au,_Ce as av,yr as aw,QV as ax,vt as ay,Dze as az,Vfe as b,p3e as b$,dye as b0,sU as b1,bye as b2,gye as b3,mye as b4,oU as b5,NV as b6,mU as b7,Rj as b8,x1e as b9,T3e as bA,PV as bB,o4e as bC,W4e as bD,d3e as bE,C3e as bF,l4e as bG,dh as bH,X0 as bI,xl as bJ,ZB as bK,mo as bL,nl as bM,n4e as bN,HB as bO,d2 as bP,cl as bQ,f3e as bR,ha as bS,GB as bT,B_ as bU,iCe as bV,Nx as bW,h2 as bX,tCe as bY,KV as bZ,ao as b_,oze as ba,I2 as bb,Ms as bc,tye as bd,cze as be,Ww as bf,Tu as bg,Am as bh,_M as bi,Zme as bj,kt as bk,ZH as bl,ca as bm,Vme as bn,Gw as bo,gH as bp,rg as bq,xH as br,hze as bs,l0e as bt,L_ as bu,N_ as bv,PB as bw,IV as bx,Lx as by,DV as bz,lr as c,P_ as c0,RV as c1,aCe as c2,rCe as c3,Gve as c4,Ax as c5,HV as c6,Rx as c7,UV as c8,Wve as c9,q4e as ca,Ec as cb,Up as cc,Fd as cd,gy as ce,jC as cf,fCe as cg,j2e as ch,Y as ci,tH as d,ri as e,fl as f,Yfe as g,CV as h,es as i,C as j,Xt as k,Me as l,eg as m,yU as n,Jm as o,sye as p,Xfe as q,U as r,Wfe as s,Kfe as t,qfe as u,Tze as v,Xye as w,Mu as x,i0e as y,Qze as z};