diffing 0.10.4 → 0.10.5

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 (158) hide show
  1. package/dist/{cli-agent-BBHx1lLJ.mjs → cli-agent-BJiATn11.mjs} +10 -8
  2. package/dist/{cli-gh-B8HybRWZ.mjs → cli-gh-_bkDCxhh.mjs} +1 -1
  3. package/dist/cli.mjs +213 -12
  4. package/dist/client/assets/{angular-html-Bn7xcK-X.js → angular-html-CBcwKYDC.js} +1 -1
  5. package/dist/client/assets/{angular-ts-qK80FnOc.js → angular-ts-DRBYUaJA.js} +1 -1
  6. package/dist/client/assets/{apl-BhBHq9NH.js → apl-BM0X8jeL.js} +1 -1
  7. package/dist/client/assets/{arc-BbRWqKdi.js → arc-DTkmmKl3.js} +1 -1
  8. package/dist/client/assets/{architectureDiagram-3BPJPVTR-DkAZjTe2.js → architectureDiagram-3BPJPVTR-Cw75ay7q.js} +1 -1
  9. package/dist/client/assets/{astro--A8NjYkS.js → astro-DKTNkoRZ.js} +1 -1
  10. package/dist/client/assets/{blade-DUJ_WZzW.js → blade-DaM7a9Zp.js} +1 -1
  11. package/dist/client/assets/{blockDiagram-GPEHLZMM-BJnX6alY.js → blockDiagram-GPEHLZMM-DAzINMr_.js} +1 -1
  12. package/dist/client/assets/{c-Ddzn0JTQ.js → c-B3C0Or4o.js} +1 -1
  13. package/dist/client/assets/{c4Diagram-AAUBKEIU-B_JFq-Tk.js → c4Diagram-AAUBKEIU-C7SsS28g.js} +1 -1
  14. package/dist/client/assets/channel-lsVHTuYR.js +1 -0
  15. package/dist/client/assets/{chunk-2J33WTMH-CCnCUy9H.js → chunk-2J33WTMH-DHOUGWx8.js} +1 -1
  16. package/dist/client/assets/{chunk-3OPIFGDE-CJvhnVzd.js → chunk-3OPIFGDE-D8d2scLX.js} +1 -1
  17. package/dist/client/assets/{chunk-4BX2VUAB-7gGFn4DW.js → chunk-4BX2VUAB-BSC-E5yg.js} +1 -1
  18. package/dist/client/assets/{chunk-55IACEB6-CRirC3B0.js → chunk-55IACEB6-27pC5pKn.js} +1 -1
  19. package/dist/client/assets/{chunk-5ZQYHXKU-DSagYOhc.js → chunk-5ZQYHXKU-BM60x82y.js} +1 -1
  20. package/dist/client/assets/{chunk-727SXJPM-2fqFvPdL.js → chunk-727SXJPM-CHCF96vE.js} +1 -1
  21. package/dist/client/assets/{chunk-AQP2D5EJ-8l-kDb0Q.js → chunk-AQP2D5EJ-BoVsvmTa.js} +1 -1
  22. package/dist/client/assets/{chunk-BSJP7CBP-BjTEoy7R.js → chunk-BSJP7CBP-Iip4uSio.js} +1 -1
  23. package/dist/client/assets/{chunk-CSCIHK7Q-CeHxe0Uf.js → chunk-CSCIHK7Q-DuIWPyay.js} +1 -1
  24. package/dist/client/assets/{chunk-FMBD7UC4-X-OwPNTB.js → chunk-FMBD7UC4-Du6rtd2k.js} +1 -1
  25. package/dist/client/assets/{chunk-KSCS5N6A-rYccR2Ju.js → chunk-KSCS5N6A-BBq105vI.js} +1 -1
  26. package/dist/client/assets/{chunk-L5ZTLDWV-8JMoad-S.js → chunk-L5ZTLDWV-0DmB5Qp8.js} +1 -1
  27. package/dist/client/assets/{chunk-LZXEDZCA-DOvCLema.js → chunk-LZXEDZCA-CoRsjUfr.js} +2 -2
  28. package/dist/client/assets/{chunk-ND2GUHAM-CQQJmqC8.js → chunk-ND2GUHAM-tX8cKEls.js} +1 -1
  29. package/dist/client/assets/{chunk-NZK2D7GU-DPwHQE2m.js → chunk-NZK2D7GU-BoJGgPic.js} +1 -1
  30. package/dist/client/assets/{chunk-O5CBEL6O-Bvzv6QAN.js → chunk-O5CBEL6O-mlwCWs97.js} +1 -1
  31. package/dist/client/assets/chunk-QZHKN3VN-AHUiTM0z.js +1 -0
  32. package/dist/client/assets/chunk-WU5MYG2G-D41j4yxb.js +1 -0
  33. package/dist/client/assets/{chunk-XPW4576I-DY1teoyy.js → chunk-XPW4576I-B5efww8M.js} +1 -1
  34. package/dist/client/assets/classDiagram-4FO5ZUOK-D1Eo3kly.js +1 -0
  35. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-bAMsbsfB.js +1 -0
  36. package/dist/client/assets/{cobol-EaVCzYAO.js → cobol-De9QR_Td.js} +1 -1
  37. package/dist/client/assets/{coffee-CbmPxJhz.js → coffee-Ct_GvuHP.js} +1 -1
  38. package/dist/client/assets/{cose-bilkent-S5V4N54A-zMLfkB6c.js → cose-bilkent-S5V4N54A-ATaJZGF7.js} +1 -1
  39. package/dist/client/assets/{cpp-1v8ov4EG.js → cpp-Dw52w9cj.js} +1 -1
  40. package/dist/client/assets/{crystal-B88NqWAb.js → crystal-Dx8ADdsd.js} +1 -1
  41. package/dist/client/assets/{css-QFeW3BCZ.js → css-CZ13XvDU.js} +1 -1
  42. package/dist/client/assets/{dagre-BM42HDAG-DxGKZBBq.js → dagre-BM42HDAG-aDltuYut.js} +1 -1
  43. package/dist/client/assets/{diagram-2AECGRRQ-CiUL7Dov.js → diagram-2AECGRRQ-DGWnHVMJ.js} +1 -1
  44. package/dist/client/assets/{diagram-5GNKFQAL-DCs97wXn.js → diagram-5GNKFQAL-Dd7eZBKe.js} +1 -1
  45. package/dist/client/assets/{diagram-KO2AKTUF-BsSJWXqr.js → diagram-KO2AKTUF-DWThXREf.js} +1 -1
  46. package/dist/client/assets/{diagram-LMA3HP47-LDuP4WAy.js → diagram-LMA3HP47-CXR4Bjtc.js} +1 -1
  47. package/dist/client/assets/{diagram-OG6HWLK6-CKjIVoHx.js → diagram-OG6HWLK6-D4Cbf0nW.js} +1 -1
  48. package/dist/client/assets/{dist-BvtPW002.js → dist-CUDhrHNw.js} +1 -1
  49. package/dist/client/assets/{edge-5UREsVXQ.js → edge-CQCjdJKj.js} +1 -1
  50. package/dist/client/assets/{elixir-B_Yali6w.js → elixir-bkjwPazA.js} +1 -1
  51. package/dist/client/assets/{elm-STYz8ayI.js → elm-CCweX5Cq.js} +1 -1
  52. package/dist/client/assets/{erDiagram-TEJ5UH35-D7iBLlYp.js → erDiagram-TEJ5UH35-BmAyt7SU.js} +1 -1
  53. package/dist/client/assets/{erb-CHRx3Beu.js → erb-D-Z-KBLp.js} +1 -1
  54. package/dist/client/assets/{flowDiagram-I6XJVG4X-Dr2J9T5z.js → flowDiagram-I6XJVG4X-C6nIFUVc.js} +1 -1
  55. package/dist/client/assets/{ganttDiagram-6RSMTGT7-Bb1v2M1H.js → ganttDiagram-6RSMTGT7-DMlxThBf.js} +1 -1
  56. package/dist/client/assets/{git-rebase-CFmRpmLK.js → git-rebase-BdoFdenB.js} +1 -1
  57. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-DP9xmnTA.js → gitGraphDiagram-PVQCEYII-JaIFkAIT.js} +1 -1
  58. package/dist/client/assets/{glimmer-js-CdrEdtzi.js → glimmer-js-CZQrBJKq.js} +1 -1
  59. package/dist/client/assets/{glimmer-ts-CzrwZqCl.js → glimmer-ts-CBYW46D4.js} +1 -1
  60. package/dist/client/assets/{glsl-Cb4XetAc.js → glsl-wxixKkY_.js} +1 -1
  61. package/dist/client/assets/{graphql-mqi9K2_l.js → graphql-CqZ0Lo5a.js} +1 -1
  62. package/dist/client/assets/{hack-DaFJ7htO.js → hack-rqWymQRV.js} +1 -1
  63. package/dist/client/assets/{haml-Bw7q4nKg.js → haml-DFw_IoGM.js} +1 -1
  64. package/dist/client/assets/{handlebars-mj81MoXX.js → handlebars-3VmTVMYt.js} +1 -1
  65. package/dist/client/assets/{html-LHrj0-2t.js → html-C0Li76jB.js} +1 -1
  66. package/dist/client/assets/{html-derivative-L3_OYrFu.js → html-derivative-CO-RQW8y.js} +1 -1
  67. package/dist/client/assets/{http-DE0OFe2c.js → http-sPrZOeBY.js} +1 -1
  68. package/dist/client/assets/{hurl-CNbk7fqf.js → hurl-DUoPe4Lc.js} +1 -1
  69. package/dist/client/assets/{index-DHt5Hu--.js → index-BN_-di_r.js} +24 -24
  70. package/dist/client/assets/{infoDiagram-5YYISTIA-wxqSmRV0.js → infoDiagram-5YYISTIA-B6AZ5SCV.js} +1 -1
  71. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-CJa0qhXu.js → ishikawaDiagram-YF4QCWOH-CytMrpo8.js} +1 -1
  72. package/dist/client/assets/{java-DAwMoXxA.js → java-Cj0G6QRg.js} +1 -1
  73. package/dist/client/assets/{javascript-_a2prAz7.js → javascript-d5SUuyWD.js} +1 -1
  74. package/dist/client/assets/{jinja-JKFA3bu8.js → jinja-BTw9k0vO.js} +1 -1
  75. package/dist/client/assets/{jison-UbTjhW7k.js → jison-9xSVvR1q.js} +1 -1
  76. package/dist/client/assets/{journeyDiagram-JHISSGLW-Bh5L3OBN.js → journeyDiagram-JHISSGLW-Bd4jZUYI.js} +1 -1
  77. package/dist/client/assets/{json-D74F0BDU.js → json-DjAt53ka.js} +1 -1
  78. package/dist/client/assets/{jsx-BsH2-gDN.js → jsx-BX5KmQ7d.js} +1 -1
  79. package/dist/client/assets/{julia-DyIO_Gy0.js → julia-CLLx1dHC.js} +1 -1
  80. package/dist/client/assets/{just-VQTFAZJr.js → just-C0v80bKe.js} +1 -1
  81. package/dist/client/assets/{kanban-definition-UN3LZRKU-BB2voi9I.js → kanban-definition-UN3LZRKU-Ds4pXHJa.js} +1 -1
  82. package/dist/client/assets/{latex-D0ONGfIo.js → latex-DY-oQfwO.js} +1 -1
  83. package/dist/client/assets/{line-BkbHeSM4.js → line-BbSLfOl6.js} +1 -1
  84. package/dist/client/assets/{linear-BYUYqOy1.js → linear-BMIZJAAR.js} +1 -1
  85. package/dist/client/assets/{liquid-BnYpmfMl.js → liquid-DDHDgbZx.js} +1 -1
  86. package/dist/client/assets/{lua-WlA-m2lC.js → lua-CXymerKS.js} +1 -1
  87. package/dist/client/assets/{marko-Bd44681W.js → marko-DoPFsptl.js} +1 -1
  88. package/dist/client/assets/{mdc-DhosSoGv.js → mdc-BxSmTphd.js} +1 -1
  89. package/dist/client/assets/{mermaid-parser.core-Dq0EOOjQ.js → mermaid-parser.core-CcYSvN4q.js} +1 -1
  90. package/dist/client/assets/{mermaid.core-qcl7ght-.js → mermaid.core-COTNtqgQ.js} +3 -3
  91. package/dist/client/assets/{mindmap-definition-RKZ34NQL-DrZ9di3F.js → mindmap-definition-RKZ34NQL-BTxraRzn.js} +1 -1
  92. package/dist/client/assets/{nginx-sYwNRk-F.js → nginx-Bma0jNOT.js} +1 -1
  93. package/dist/client/assets/{nim-DrXU2tn9.js → nim-DMBpjygU.js} +1 -1
  94. package/dist/client/assets/{perl-TEELuyd-.js → perl-CrnrV-AJ.js} +1 -1
  95. package/dist/client/assets/{php-Dy_Y1r8j.js → php-CDYxzX6t.js} +1 -1
  96. package/dist/client/assets/{pieDiagram-4H26LBE5-Aev8QdJC.js → pieDiagram-4H26LBE5-DglRmzer.js} +1 -1
  97. package/dist/client/assets/{pug-vancrY0a.js → pug-DNewy3GU.js} +1 -1
  98. package/dist/client/assets/{qml-BA5z-zbf.js → qml-COjcnZ-W.js} +1 -1
  99. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-DhEDvxx7.js → quadrantDiagram-W4KKPZXB-BjSmyES7.js} +1 -1
  100. package/dist/client/assets/{r-BR0O4N-s.js → r-CrCaMxLS.js} +1 -1
  101. package/dist/client/assets/{razor-DXiNCb-5.js → razor-jeuOZIar.js} +1 -1
  102. package/dist/client/assets/{regexp-BhjJa9MI.js → regexp-DSHVUX08.js} +1 -1
  103. package/dist/client/assets/{requirementDiagram-4Y6WPE33-DPS5siTy.js → requirementDiagram-4Y6WPE33-B4f430jS.js} +1 -1
  104. package/dist/client/assets/{review-export-DABY3y7y.js → review-export-Cen1WEcX.js} +1 -1
  105. package/dist/client/assets/{rst-Bi3zId1d.js → rst-CIDgytzc.js} +1 -1
  106. package/dist/client/assets/{ruby-BURiJKuD.js → ruby-DtuseoNq.js} +1 -1
  107. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-CjZF2AQd.js → sankeyDiagram-5OEKKPKP-TQPPlxc6.js} +1 -1
  108. package/dist/client/assets/{sas-BO_W1LuL.js → sas-C72Theia.js} +1 -1
  109. package/dist/client/assets/{scss-BPUTinXb.js → scss-ClECtwRk.js} +1 -1
  110. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-0rsTmBLB.js → sequenceDiagram-3UESZ5HK-D1tx07Wg.js} +1 -1
  111. package/dist/client/assets/{shellscript-B4rfo4qg.js → shellscript-BCwBsi2k.js} +1 -1
  112. package/dist/client/assets/{shellsession-DLX-O8m7.js → shellsession-BrOddEl5.js} +1 -1
  113. package/dist/client/assets/{soy-BEUiwSVD.js → soy-Dcs0GWFW.js} +1 -1
  114. package/dist/client/assets/{sql-CwSA8v_H.js → sql-BAjA7Gv7.js} +1 -1
  115. package/dist/client/assets/{src-Cn22-GjE.js → src-CYYhkqTK.js} +1 -1
  116. package/dist/client/assets/{stata-XfdBiAnW.js → stata-19ngQtzR.js} +1 -1
  117. package/dist/client/assets/{stateDiagram-AJRCARHV-BVvCsgjA.js → stateDiagram-AJRCARHV-BZRCEzb5.js} +1 -1
  118. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-Da-mGMA2.js +1 -0
  119. package/dist/client/assets/{surrealql-COaehKkS.js → surrealql-Ce2TBRjE.js} +1 -1
  120. package/dist/client/assets/{svelte-B0kTIq0J.js → svelte-DQ_1eGZz.js} +1 -1
  121. package/dist/client/assets/{templ-DGxWfDf-.js → templ-Cw2DDxWF.js} +1 -1
  122. package/dist/client/assets/{tex-C9X3gjZ2.js → tex-myDSO2eP.js} +1 -1
  123. package/dist/client/assets/{timeline-definition-PNZ67QCA-B535P7_e.js → timeline-definition-PNZ67QCA-CP0OZhBT.js} +1 -1
  124. package/dist/client/assets/{ts-tags-By9ETsTC.js → ts-tags-rh39ZwVs.js} +1 -1
  125. package/dist/client/assets/{tsx-CvVX506n.js → tsx-B0-26jrU.js} +1 -1
  126. package/dist/client/assets/{twig-CjLWv7eu.js → twig-CgasHzPb.js} +1 -1
  127. package/dist/client/assets/{typescript-BEq3u3Bc.js → typescript-Dq3T0c-m.js} +1 -1
  128. package/dist/client/assets/{vennDiagram-CIIHVFJN-CTV9H1N2.js → vennDiagram-CIIHVFJN-DHaKHj0j.js} +1 -1
  129. package/dist/client/assets/{vue-DYazforU.js → vue-CzFVh92-.js} +1 -1
  130. package/dist/client/assets/{vue-html-92z_Aqn0.js → vue-html-Bv2uFkTH.js} +1 -1
  131. package/dist/client/assets/{vue-vine-VY7raYSI.js → vue-vine-DzieBk9Y.js} +1 -1
  132. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-BzJaykc6.js → wardleyDiagram-YWT4CUSO-Dky7jxlZ.js} +1 -1
  133. package/dist/client/assets/{xml-hd7OQ798.js → xml-wcdHRHN8.js} +1 -1
  134. package/dist/client/assets/{xsl-MkuT76g1.js → xsl-CXrwsLG9.js} +1 -1
  135. package/dist/client/assets/{xychartDiagram-2RQKCTM6-D36D8smx.js → xychartDiagram-2RQKCTM6-BQ2hG60h.js} +1 -1
  136. package/dist/client/assets/{yaml-D6zRzOR2.js → yaml-lO6lK6Xe.js} +1 -1
  137. package/dist/client/index.html +1 -1
  138. package/dist/{completions-Csvfqctx.mjs → completions-3UF8uzhx.mjs} +2 -0
  139. package/dist/{doctor-B3Nrydc0.mjs → doctor-BGYZNIYP.mjs} +2 -2
  140. package/dist/{github-Cf5blBty.mjs → github-CEjtGd41.mjs} +47 -5
  141. package/dist/github-DKT0lJXv.mjs +2 -0
  142. package/dist/github-attachments-Cf17YWp4.mjs +351 -0
  143. package/dist/handoff-DPoIyeWn.mjs +11 -0
  144. package/dist/{mcp-DwnYjFS0.mjs → mcp-Dq7J5QOP.mjs} +31 -18
  145. package/dist/{server-CZeMCHEa.mjs → server-C9i4V36o.mjs} +38 -10
  146. package/dist/{server-lock-uqSdDYeR.mjs → server-lock-Dd_ss_Il.mjs} +1 -1
  147. package/package.json +1 -1
  148. package/dist/client/assets/channel-BcJKoISM.js +0 -1
  149. package/dist/client/assets/chunk-QZHKN3VN-90aaHYyK.js +0 -1
  150. package/dist/client/assets/chunk-WU5MYG2G-CfaWSqjJ.js +0 -1
  151. package/dist/client/assets/classDiagram-4FO5ZUOK-CsDELGUF.js +0 -1
  152. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-R5SygY4h.js +0 -1
  153. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-Bo6SeNmU.js +0 -1
  154. package/dist/github-DWgPIcKC.mjs +0 -2
  155. /package/dist/{apply-suggestion-BAuyCYk6.mjs → apply-suggestion-DNNsC5gx.mjs} +0 -0
  156. /package/dist/{diff-fingerprint-CWa-soYD.mjs → diff-fingerprint-C8YO3TTE.mjs} +0 -0
  157. /package/dist/{review-export-DjxKBeIZ.mjs → review-export-BBDWvftT.mjs} +0 -0
  158. /package/dist/{update-check-fe0tR8tx.mjs → update-check-DUuHmPeZ.mjs} +0 -0
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/angular-html-Bn7xcK-X.js","assets/html-LHrj0-2t.js","assets/css-QFeW3BCZ.js","assets/javascript-_a2prAz7.js","assets/angular-ts-qK80FnOc.js","assets/scss-BPUTinXb.js","assets/apl-BhBHq9NH.js","assets/json-D74F0BDU.js","assets/xml-hd7OQ798.js","assets/java-DAwMoXxA.js","assets/astro--A8NjYkS.js","assets/postcss-BHCm7Qae.js","assets/tsx-CvVX506n.js","assets/typescript-BEq3u3Bc.js","assets/blade-DUJ_WZzW.js","assets/html-derivative-L3_OYrFu.js","assets/sql-CwSA8v_H.js","assets/bsl-BrHd4RA2.js","assets/sdbl-AL_m-RO_.js","assets/cairo-BDZ6TRZS.js","assets/python-D1NFioGW.js","assets/cobol-EaVCzYAO.js","assets/coffee-CbmPxJhz.js","assets/cpp-1v8ov4EG.js","assets/glsl-Cb4XetAc.js","assets/c-Ddzn0JTQ.js","assets/regexp-BhjJa9MI.js","assets/crystal-B88NqWAb.js","assets/shellscript-B4rfo4qg.js","assets/edge-5UREsVXQ.js","assets/elixir-B_Yali6w.js","assets/elm-STYz8ayI.js","assets/erb-CHRx3Beu.js","assets/ruby-BURiJKuD.js","assets/graphql-mqi9K2_l.js","assets/jsx-BsH2-gDN.js","assets/haml-Bw7q4nKg.js","assets/lua-WlA-m2lC.js","assets/yaml-D6zRzOR2.js","assets/erlang-cuhwpmsu.js","assets/markdown-DXxotAxn.js","assets/fortran-fixed-form-DWr0EnJn.js","assets/fortran-free-form-Br4jRtSc.js","assets/fsharp-CQ5iYSPA.js","assets/gdresource-CN-lsNu5.js","assets/gdscript-hSAZM1eh.js","assets/gdshader-D4XNAEs9.js","assets/git-commit-6e79eN7Q.js","assets/diff-CW0RWGd9.js","assets/git-rebase-CFmRpmLK.js","assets/glimmer-js-CdrEdtzi.js","assets/glimmer-ts-CzrwZqCl.js","assets/hack-DaFJ7htO.js","assets/handlebars-mj81MoXX.js","assets/http-DE0OFe2c.js","assets/hurl-CNbk7fqf.js","assets/csv-BBwiVr0X.js","assets/hxml-nwJci6H5.js","assets/haxe-DMg0jS3a.js","assets/jinja-JKFA3bu8.js","assets/jison-UbTjhW7k.js","assets/julia-DyIO_Gy0.js","assets/r-BR0O4N-s.js","assets/just-VQTFAZJr.js","assets/perl-TEELuyd-.js","assets/latex-D0ONGfIo.js","assets/tex-C9X3gjZ2.js","assets/liquid-BnYpmfMl.js","assets/marko-Bd44681W.js","assets/less-DyHub3ow.js","assets/mdc-DhosSoGv.js","assets/nextflow-DSfydIxt.js","assets/nextflow-groovy-DV4H3hok.js","assets/nginx-sYwNRk-F.js","assets/nim-DrXU2tn9.js","assets/php-Dy_Y1r8j.js","assets/pug-vancrY0a.js","assets/qml-BA5z-zbf.js","assets/razor-DXiNCb-5.js","assets/csharp-C3YlYcLV.js","assets/rst-Bi3zId1d.js","assets/cmake-DaqQuj4A.js","assets/sas-BO_W1LuL.js","assets/shaderlab-CbbQwRPF.js","assets/hlsl-DPe9L0Dt.js","assets/shellsession-DLX-O8m7.js","assets/soy-BEUiwSVD.js","assets/sparql-DEoxFJ5d.js","assets/turtle-BM-MG8WY.js","assets/stata-XfdBiAnW.js","assets/surrealql-COaehKkS.js","assets/svelte-B0kTIq0J.js","assets/templ-DGxWfDf-.js","assets/go-BJpWXZEs.js","assets/ts-tags-By9ETsTC.js","assets/twig-CjLWv7eu.js","assets/vue-DYazforU.js","assets/vue-html-92z_Aqn0.js","assets/vue-vine-VY7raYSI.js","assets/stylus-B_iq45Sj.js","assets/xsl-MkuT76g1.js","assets/mermaid.core-qcl7ght-.js","assets/chunk-O5CBEL6O-Bvzv6QAN.js","assets/src-Cn22-GjE.js","assets/chunk-5ZQYHXKU-DSagYOhc.js","assets/dist-BvtPW002.js","assets/chunk-CSCIHK7Q-CeHxe0Uf.js","assets/chunk-3OPIFGDE-CJvhnVzd.js","assets/chunk-L5ZTLDWV-8JMoad-S.js","assets/chunk-NZK2D7GU-DPwHQE2m.js","assets/rough.esm-BBrzuQ0N.js","assets/chunk-BSJP7CBP-BjTEoy7R.js","assets/chunk-KSCS5N6A-rYccR2Ju.js","assets/line-BkbHeSM4.js","assets/path-g3G46IZB.js","assets/array-CkF66D10.js","assets/chunk-LZXEDZCA-DOvCLema.js","assets/chunk-WU5MYG2G-CfaWSqjJ.js","assets/chunk-XPW4576I-DY1teoyy.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/angular-html-CBcwKYDC.js","assets/html-C0Li76jB.js","assets/css-CZ13XvDU.js","assets/javascript-d5SUuyWD.js","assets/angular-ts-DRBYUaJA.js","assets/scss-ClECtwRk.js","assets/apl-BM0X8jeL.js","assets/json-DjAt53ka.js","assets/xml-wcdHRHN8.js","assets/java-Cj0G6QRg.js","assets/astro-DKTNkoRZ.js","assets/postcss-BHCm7Qae.js","assets/tsx-B0-26jrU.js","assets/typescript-Dq3T0c-m.js","assets/blade-DaM7a9Zp.js","assets/html-derivative-CO-RQW8y.js","assets/sql-BAjA7Gv7.js","assets/bsl-BrHd4RA2.js","assets/sdbl-AL_m-RO_.js","assets/cairo-BDZ6TRZS.js","assets/python-D1NFioGW.js","assets/cobol-De9QR_Td.js","assets/coffee-Ct_GvuHP.js","assets/cpp-Dw52w9cj.js","assets/glsl-wxixKkY_.js","assets/c-B3C0Or4o.js","assets/regexp-DSHVUX08.js","assets/crystal-Dx8ADdsd.js","assets/shellscript-BCwBsi2k.js","assets/edge-CQCjdJKj.js","assets/elixir-bkjwPazA.js","assets/elm-CCweX5Cq.js","assets/erb-D-Z-KBLp.js","assets/ruby-DtuseoNq.js","assets/graphql-CqZ0Lo5a.js","assets/jsx-BX5KmQ7d.js","assets/haml-DFw_IoGM.js","assets/lua-CXymerKS.js","assets/yaml-lO6lK6Xe.js","assets/erlang-cuhwpmsu.js","assets/markdown-DXxotAxn.js","assets/fortran-fixed-form-DWr0EnJn.js","assets/fortran-free-form-Br4jRtSc.js","assets/fsharp-CQ5iYSPA.js","assets/gdresource-CN-lsNu5.js","assets/gdscript-hSAZM1eh.js","assets/gdshader-D4XNAEs9.js","assets/git-commit-6e79eN7Q.js","assets/diff-CW0RWGd9.js","assets/git-rebase-BdoFdenB.js","assets/glimmer-js-CZQrBJKq.js","assets/glimmer-ts-CBYW46D4.js","assets/hack-rqWymQRV.js","assets/handlebars-3VmTVMYt.js","assets/http-sPrZOeBY.js","assets/hurl-DUoPe4Lc.js","assets/csv-BBwiVr0X.js","assets/hxml-nwJci6H5.js","assets/haxe-DMg0jS3a.js","assets/jinja-BTw9k0vO.js","assets/jison-9xSVvR1q.js","assets/julia-CLLx1dHC.js","assets/r-CrCaMxLS.js","assets/just-C0v80bKe.js","assets/perl-CrnrV-AJ.js","assets/latex-DY-oQfwO.js","assets/tex-myDSO2eP.js","assets/liquid-DDHDgbZx.js","assets/marko-DoPFsptl.js","assets/less-DyHub3ow.js","assets/mdc-BxSmTphd.js","assets/nextflow-DSfydIxt.js","assets/nextflow-groovy-DV4H3hok.js","assets/nginx-Bma0jNOT.js","assets/nim-DMBpjygU.js","assets/php-CDYxzX6t.js","assets/pug-DNewy3GU.js","assets/qml-COjcnZ-W.js","assets/razor-jeuOZIar.js","assets/csharp-C3YlYcLV.js","assets/rst-CIDgytzc.js","assets/cmake-DaqQuj4A.js","assets/sas-C72Theia.js","assets/shaderlab-CbbQwRPF.js","assets/hlsl-DPe9L0Dt.js","assets/shellsession-BrOddEl5.js","assets/soy-Dcs0GWFW.js","assets/sparql-DEoxFJ5d.js","assets/turtle-BM-MG8WY.js","assets/stata-19ngQtzR.js","assets/surrealql-Ce2TBRjE.js","assets/svelte-DQ_1eGZz.js","assets/templ-Cw2DDxWF.js","assets/go-BJpWXZEs.js","assets/ts-tags-rh39ZwVs.js","assets/twig-CgasHzPb.js","assets/vue-CzFVh92-.js","assets/vue-html-Bv2uFkTH.js","assets/vue-vine-DzieBk9Y.js","assets/stylus-B_iq45Sj.js","assets/xsl-CXrwsLG9.js","assets/mermaid.core-COTNtqgQ.js","assets/chunk-O5CBEL6O-mlwCWs97.js","assets/src-CYYhkqTK.js","assets/chunk-5ZQYHXKU-BM60x82y.js","assets/dist-CUDhrHNw.js","assets/chunk-CSCIHK7Q-DuIWPyay.js","assets/chunk-3OPIFGDE-D8d2scLX.js","assets/chunk-L5ZTLDWV-0DmB5Qp8.js","assets/chunk-NZK2D7GU-BoJGgPic.js","assets/rough.esm-BBrzuQ0N.js","assets/chunk-BSJP7CBP-Iip4uSio.js","assets/chunk-KSCS5N6A-BBq105vI.js","assets/line-BbSLfOl6.js","assets/path-g3G46IZB.js","assets/array-CkF66D10.js","assets/chunk-LZXEDZCA-CoRsjUfr.js","assets/chunk-WU5MYG2G-D41j4yxb.js","assets/chunk-XPW4576I-B5efww8M.js"])))=>i.map(i=>d[i]);
2
2
  var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,a)=>(a=n==null?{}:e(i(n)),c(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var u=o((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}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 o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,S||(S=!0,O());else{var t=n(l);t!==null&&j(x,t.startTime-e)}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-T<w)}function D(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&j(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?O():S=!1}}}var O;if(typeof y==`function`)O=function(){y(D)};else if(typeof MessageChannel<`u`){var k=new MessageChannel,A=k.port2;k.port1.onmessage=D,O=function(){A.postMessage(null)}}else O=function(){_(D,0)};function j(t,n){C=_(function(){t(e.unstable_now())},n)}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(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,j(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,O()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),d=o(((e,t)=>{t.exports=u()})),f=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=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,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function j(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function M(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function N(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,N(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+j(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),N(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+j(a,u),c+=N(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+j(a,u++),c+=N(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return N(M(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function P(e,t,n){if(e==null)return e;var r=[],i=0;return N(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function F(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var I=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},L={map:P,forEach:function(e,t,n){P(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return P(e,function(){t++}),t},toArray:function(e){return P(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=L,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:F}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,I)}catch(e){I(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.4`})),p=o(((e,t)=>{t.exports=f()})),m=o((e=>{var t=p();function n(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function r(){}var i={d:{f:r,r:function(){throw Error(n(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},a=Symbol.for(`react.portal`);function o(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:a,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}var s=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,e.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(n(299));return o(e,t,null,r)},e.flushSync=function(e){var t=s.T,n=i.p;try{if(s.T=null,i.p=2,e)return e()}finally{s.T=t,i.p=n,i.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,i.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&i.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin),a=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?i.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:a,fetchPriority:o}):n===`script`&&i.d.X(e,{crossOrigin:r,integrity:a,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`)if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=c(t.as,t.crossOrigin);i.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0})}}else t??i.d.M(e)},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin);i.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`)if(t){var n=c(t.as,t.crossOrigin);i.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0})}else i.d.m(e)},e.requestFormReset=function(e){i.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return s.H.useFormState(e,t,n)},e.useFormStatus=function(){return s.H.useHostTransitionStatus()},e.version=`19.2.4`})),h=o(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=m()})),g=o((e=>{var t=d(),n=p(),r=h();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function s(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function c(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function l(e){if(o(e)!==e)throw Error(i(188))}function u(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return l(a),e;if(s===r)return l(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,u=a.child;u;){if(u===n){c=!0,n=a,r=s;break}if(u===r){c=!0,r=a,n=s;break}u=u.sibling}if(!c){for(u=s.child;u;){if(u===n){c=!0,n=s,r=a;break}if(u===r){c=!0,r=s,n=a;break}u=u.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function f(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=f(e),t!==null)return t;e=e.sibling}return null}var m=Object.assign,g=Symbol.for(`react.element`),_=Symbol.for(`react.transitional.element`),v=Symbol.for(`react.portal`),y=Symbol.for(`react.fragment`),b=Symbol.for(`react.strict_mode`),x=Symbol.for(`react.profiler`),S=Symbol.for(`react.consumer`),C=Symbol.for(`react.context`),w=Symbol.for(`react.forward_ref`),T=Symbol.for(`react.suspense`),E=Symbol.for(`react.suspense_list`),D=Symbol.for(`react.memo`),O=Symbol.for(`react.lazy`),k=Symbol.for(`react.activity`),A=Symbol.for(`react.memo_cache_sentinel`),j=Symbol.iterator;function M(e){return typeof e!=`object`||!e?null:(e=j&&e[j]||e[`@@iterator`],typeof e==`function`?e:null)}var N=Symbol.for(`react.client.reference`);function P(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===N?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case y:return`Fragment`;case x:return`Profiler`;case b:return`StrictMode`;case T:return`Suspense`;case E:return`SuspenseList`;case k:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case v:return`Portal`;case C:return e.displayName||`Context`;case S:return(e._context.displayName||`Context`)+`.Consumer`;case w:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case D:return t=e.displayName||null,t===null?P(e.type)||`Memo`:t;case O:t=e._payload,e=e._init;try{return P(e(t))}catch{}}return null}var F=Array.isArray,I=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,L=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,R={pending:!1,data:null,method:null,action:null},z=[],ee=-1;function te(e){return{current:e}}function ne(e){0>ee||(e.current=z[ee],z[ee]=null,ee--)}function B(e,t){ee++,z[ee]=e.current,e.current=t}var V=te(null),re=te(null),ie=te(null),ae=te(null);function oe(e,t){switch(B(ie,t),B(re,e),B(V,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Kd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Kd(t),e=qd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}ne(V),B(V,e)}function se(){ne(V),ne(re),ne(ie)}function ce(e){e.memoizedState!==null&&B(ae,e);var t=V.current,n=qd(t,e.type);t!==n&&(B(re,e),B(V,n))}function H(e){re.current===e&&(ne(V),ne(re)),ae.current===e&&(ne(ae),rp._currentValue=R)}var le,ue;function U(e){if(le===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);le=t&&t[1]||``,ue=-1<e.stack.indexOf(`
3
3
  at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
4
4
  `+le+e+ue}var de=!1;function fe(e,t){if(!e||de)return``;de=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,`props`,{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,`name`,{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`
@@ -18,7 +18,7 @@ Error generating stack: `+e.message+`
18
18
  \f\r "&'<=>\``.split(``)],[`\0
19
19
  \f\r "&'<=>\``.split(``),`\0
20
20
  \f\r "&'<=>\``.split(``)]],single:[[`&'`.split(``),`"&'\``.split(``)],[`\0&'`.split(``),`\0"&'\``.split(``)]],double:[[`"&`.split(``),`"&'\``.split(``)],[`\0"&`.split(``),`\0"&'\``.split(``)]]};function Oo(e,t,n,r){let i=r.schema,a=i.space===`svg`?!1:r.settings.omitOptionalTags,o=i.space===`svg`?r.settings.closeEmptyElements:r.settings.voids.includes(e.tagName.toLowerCase()),s=[],c;i.space===`html`&&e.tagName===`svg`&&(r.schema=ga);let l=ko(r,e.properties),u=r.all(i.space===`html`&&e.tagName===`template`?e.content:e);return r.schema=i,u&&(o=!1),(l||!a||!xo(e,t,n))&&(s.push(`<`,e.tagName,l?` `+l:``),o&&(i.space===`svg`||r.settings.closeSelfClosing)&&(c=l.charAt(l.length-1),(!r.settings.tightSelfClosing||c===`/`||c&&c!==`"`&&c!==`'`)&&s.push(` `),s.push(`/`)),s.push(`>`)),s.push(u),!o&&(!a||!io(e,t,n))&&s.push(`</`+e.tagName+`>`),s.join(``)}function ko(e,t){let n=[],r=-1,i;if(t){for(i in t)if(t[i]!==null&&t[i]!==void 0){let r=Ao(e,i,t[i]);r&&n.push(r)}}for(;++r<n.length;){let t=e.settings.tightAttributes?n[r].charAt(n[r].length-1):void 0;r!==n.length-1&&t!==`"`&&t!==`'`&&(n[r]+=` `)}return n.join(``)}function Ao(e,t,n){let r=fa(e.schema,t),i=e.settings.allowParseErrors&&e.schema.space===`html`?0:1,a=e.settings.allowDangerousCharacters?0:1,o=e.quote,s;if(r.overloadedBoolean&&(n===r.attribute||n===``)?n=!0:(r.boolean||r.overloadedBoolean)&&(typeof n!=`string`||n===r.attribute||n===``)&&(n=!!n),n==null||n===!1||typeof n==`number`&&Number.isNaN(n))return``;let c=Ba(r.attribute,Object.assign({},e.settings.characterReferences,{subset:Do.name[i][a]}));return n===!0||(n=Array.isArray(n)?(r.commaSeparated?qa:Ja)(n,{padLeft:!e.settings.tightCommaSeparatedLists}):String(n),e.settings.collapseEmptyAttributes&&!n)?c:(e.settings.preferUnquoted&&(s=Ba(n,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:Do.unquoted[i][a]}))),s!==n&&(e.settings.quoteSmart&&Ka(n,o)>Ka(n,e.alternative)&&(o=e.alternative),s=o+Ba(n,Object.assign({},e.settings.characterReferences,{subset:(o===`'`?Do.single:Do.double)[i][a],attribute:!0}))+o),c+(s&&`=`+s))}var jo=[`<`,`&`];function Mo(e,t,n,r){return n&&n.type===`element`&&(n.tagName===`script`||n.tagName===`style`)?e.value:Ba(e.value,Object.assign({},r.settings.characterReferences,{subset:jo}))}function No(e,t,n,r){return r.settings.allowDangerousHtml?e.value:Mo(e,t,n,r)}function Po(e,t,n,r){return r.all(e)}var Fo=va(`type`,{invalid:Io,unknown:Lo,handlers:{comment:Wa,doctype:Ga,element:Oo,raw:No,root:Po,text:Mo}});function Io(e){throw Error("Expected node, not `"+e+"`")}function Lo(e){throw Error("Cannot compile unknown node `"+e.type+"`")}var Ro={},zo={},Bo=[];function Vo(e,t){let n=t||Ro,r=n.quote||`"`,i=r===`"`?`'`:`"`;if(r!==`"`&&r!==`'`)throw Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:Ho,all:Uo,settings:{omitOptionalTags:n.omitOptionalTags||!1,allowParseErrors:n.allowParseErrors||!1,allowDangerousCharacters:n.allowDangerousCharacters||!1,quoteSmart:n.quoteSmart||!1,preferUnquoted:n.preferUnquoted||!1,tightAttributes:n.tightAttributes||!1,upperDoctype:n.upperDoctype||!1,tightDoctype:n.tightDoctype||!1,bogusComments:n.bogusComments||!1,tightCommaSeparatedLists:n.tightCommaSeparatedLists||!1,tightSelfClosing:n.tightSelfClosing||!1,collapseEmptyAttributes:n.collapseEmptyAttributes||!1,allowDangerousHtml:n.allowDangerousHtml||!1,voids:n.voids||Ii,characterReferences:n.characterReferences||zo,closeSelfClosing:n.closeSelfClosing||!1,closeEmptyElements:n.closeEmptyElements||!1},schema:n.space===`svg`?ga:ha,quote:r,alternative:i}.one(Array.isArray(e)?{type:`root`,children:e}:e,void 0,void 0)}function Ho(e,t,n){return Fo(e,t,n,this)}function Uo(e){let t=[],n=e&&e.children||Bo,r=-1;for(;++r<n.length;)t[r]=this.one(n[r],r,e);return t.join(``)}function Wo(e,t){let n=typeof e==`string`?{}:{...e.colorReplacements},r=typeof e==`string`?e:e.name;for(let[e,i]of Object.entries(t?.colorReplacements||{}))typeof i==`string`?n[e]=i:e===r&&Object.assign(n,i);return n}function Go(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function Ko(e){return Array.isArray(e)?e:[e]}async function qo(e){return Promise.resolve(typeof e==`function`?e():e).then(e=>e.default||e)}function Jo(e){return!e||[`plaintext`,`txt`,`text`,`plain`].includes(e)}function Yo(e){return e===`ansi`||Jo(e)}function Xo(e){return e===`none`}function Zo(e){return Xo(e)}function Qo(e,t){if(!t)return e;e.properties||={},e.properties.class||=[],typeof e.properties.class==`string`&&(e.properties.class=e.properties.class.split(/\s+/g)),Array.isArray(e.properties.class)||(e.properties.class=[]);let n=Array.isArray(t)?t:t.split(/\s+/g);for(let t of n)t&&!e.properties.class.includes(t)&&e.properties.class.push(t);return e}function $o(e,t=!1){if(e.length===0)return[[``,0]];let n=e.split(/(\r?\n)/g),r=0,i=[];for(let e=0;e<n.length;e+=2){let a=t?n[e]+(n[e+1]||``):n[e];i.push([a,r]),r+=n[e].length,r+=n[e+1]?.length||0}return i}function es(e){let t=$o(e,!0).map(([e])=>e);function n(n){if(n===e.length)return{line:t.length-1,character:t[t.length-1].length};let r=n,i=0;for(let e of t){if(r<e.length)break;r-=e.length,i++}return{line:i,character:r}}function r(e,n){let r=0;for(let n=0;n<e;n++)r+=t[n].length;return r+=n,r}return{lines:t,indexToPos:n,posToIndex:r}}function ts(e,t,n){let r=new Set;for(let t of e.matchAll(/:?lang=["']([^"']+)["']/g)){let e=t[1].toLowerCase().trim();e&&r.add(e)}for(let t of e.matchAll(/(?:```|~~~)([\w-]+)/g)){let e=t[1].toLowerCase().trim();e&&r.add(e)}for(let t of e.matchAll(/\\begin\{([\w-]+)\}/g)){let e=t[1].toLowerCase().trim();e&&r.add(e)}for(let t of e.matchAll(/<script\s+(?:type|lang)=["']([^"']+)["']/gi)){let e=t[1].toLowerCase().trim(),n=e.includes(`/`)?e.split(`/`).pop():e;n&&r.add(n)}if(!n)return Array.from(r);let i=n.getBundledLanguages();return Array.from(r).filter(e=>e&&i[e])}var ns=`light-dark()`,rs=[`color`,`background-color`];function is(e,t){let n=0,r=[];for(let i of t)i>n&&r.push({...e,content:e.content.slice(n,i),offset:e.offset+n}),n=i;return n<e.content.length&&r.push({...e,content:e.content.slice(n),offset:e.offset+n}),r}function as(e,t){let n=Array.from(t instanceof Set?t:new Set(t)).sort((e,t)=>e-t);return n.length?e.map(e=>e.flatMap(e=>{let t=n.filter(t=>e.offset<t&&t<e.offset+e.content.length).map(t=>t-e.offset).sort((e,t)=>e-t);return t.length?is(e,t):e})):e}function os(e,t,n,r,i=`css-vars`){let a={content:e.content,explanation:e.explanation,offset:e.offset},o=t.map(t=>ss(e.variants[t])),s=new Set(o.flatMap(e=>Object.keys(e))),c={},l=(e,r)=>{let i=r===`color`?``:r===`background-color`?`-bg`:`-${r}`;return n+t[e]+(r===`color`?``:i)};return o.forEach((e,n)=>{for(let a of s){let s=e[a]||`inherit`;if(n===0&&r&&rs.includes(a))if(r===ns&&o.length>1){let e=t.findIndex(e=>e===`light`),r=t.findIndex(e=>e===`dark`);if(e===-1||r===-1)throw new Qn('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');c[a]=`light-dark(${o[e][a]||`inherit`}, ${o[r][a]||`inherit`})`,i===`css-vars`&&(c[l(n,a)]=s)}else c[a]=s;else i===`css-vars`&&(c[l(n,a)]=s)}}),a.htmlStyle=c,a}function ss(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t[`background-color`]=e.bgColor),e.fontStyle){e.fontStyle&yr.Italic&&(t[`font-style`]=`italic`),e.fontStyle&yr.Bold&&(t[`font-weight`]=`bold`);let n=[];e.fontStyle&yr.Underline&&n.push(`underline`),e.fontStyle&yr.Strikethrough&&n.push(`line-through`),n.length&&(t[`text-decoration`]=n.join(` `))}return t}function cs(e){return typeof e==`string`?e:Object.entries(e).map(([e,t])=>`${e}:${t}`).join(`;`)}var ls=new WeakMap;function us(e,t){ls.set(e,t)}function ds(e){return ls.get(e)}var fs=class e{_stacks={};lang;get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,n){return new e(Object.fromEntries(Ko(n).map(e=>[e,Fi])),t)}constructor(...e){if(e.length===2){let[t,n]=e;this.lang=n,this._stacks=t}else{let[t,n,r]=e;this.lang=n,this._stacks={[r]:t}}}getInternalStack(e=this.theme){return this._stacks[e]}getScopes(e=this.theme){return ps(this._stacks[e])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function ps(e){let t=[],n=new Set;function r(e){if(n.has(e))return;n.add(e);let i=e?.nameScopesList?.scopeName;i&&t.push(i),e.parent&&r(e.parent)}return r(e),t}function ms(e,t){if(!(e instanceof fs))throw new Qn(`Invalid grammar state`);return e.getInternalStack(t)}function hs(){let e=new WeakMap;function t(t){if(!e.has(t.meta)){let n=function(e){if(typeof e==`number`){if(e<0||e>t.source.length)throw new Qn(`Invalid decoration offset: ${e}. Code length: ${t.source.length}`);return{...r.indexToPos(e),offset:e}}else{let t=r.lines[e.line];if(t===void 0)throw new Qn(`Invalid decoration position ${JSON.stringify(e)}. Lines length: ${r.lines.length}`);let n=e.character;if(n<0&&(n=t.length+n),n<0||n>t.length)throw new Qn(`Invalid decoration position ${JSON.stringify(e)}. Line ${e.line} length: ${t.length}`);return{...e,character:n,offset:r.posToIndex(e.line,n)}}},r=es(t.source),i=(t.options.decorations||[]).map(e=>({...e,start:n(e.start),end:n(e.end)}));gs(i),e.set(t.meta,{decorations:i,converter:r,source:t.source})}return e.get(t.meta)}return{name:`shiki:decorations`,tokens(e){if(this.options.decorations?.length)return as(e,t(this).decorations.flatMap(e=>[e.start.offset,e.end.offset]))},code(e){if(!this.options.decorations?.length)return;let n=t(this),r=Array.from(e.children).filter(e=>e.type===`element`&&e.tagName===`span`);if(r.length!==n.converter.lines.length)throw new Qn(`Number of lines in code element (${r.length}) does not match the number of lines in the source (${n.converter.lines.length}). Failed to apply decorations.`);function i(e,t,n,i){let a=r[e],s=``,c=-1,l=-1;if(t===0&&(c=0),n===0&&(l=0),n===1/0&&(l=a.children.length),c===-1||l===-1)for(let e=0;e<a.children.length;e++)s+=_s(a.children[e]),c===-1&&s.length===t&&(c=e+1),l===-1&&s.length===n&&(l=e+1);if(c===-1)throw new Qn(`Failed to find start index for decoration ${JSON.stringify(i.start)}`);if(l===-1)throw new Qn(`Failed to find end index for decoration ${JSON.stringify(i.end)}`);let u=a.children.slice(c,l);if(!i.alwaysWrap&&u.length===a.children.length)o(a,i,`line`);else if(!i.alwaysWrap&&u.length===1&&u[0].type===`element`)o(u[0],i,`token`);else{let e={type:`element`,tagName:`span`,properties:{},children:u};o(e,i,`wrapper`),a.children.splice(c,u.length,e)}}function a(e,t){r[e]=o(r[e],t,`line`)}function o(e,t,n){let r=t.properties||{},i=t.transform||(e=>e);return e.tagName=t.tagName||`span`,e.properties={...e.properties,...r,class:e.properties.class},t.properties?.class&&Qo(e,t.properties.class),e=i(e,n)||e,e}let s=[],c=n.decorations.sort((e,t)=>t.start.offset-e.start.offset||e.end.offset-t.end.offset);for(let e of c){let{start:t,end:n}=e;if(t.line===n.line)i(t.line,t.character,n.character,e);else if(t.line<n.line){i(t.line,t.character,1/0,e);for(let r=t.line+1;r<n.line;r++)s.unshift(()=>a(r,e));i(n.line,0,n.character,e)}}s.forEach(e=>e())}}}function gs(e){for(let t=0;t<e.length;t++){let n=e[t];if(n.start.offset>n.end.offset)throw new Qn(`Invalid decoration range: ${JSON.stringify(n.start)} - ${JSON.stringify(n.end)}`);for(let r=t+1;r<e.length;r++){let t=e[r],i=n.start.offset<=t.start.offset&&t.start.offset<n.end.offset,a=n.start.offset<t.end.offset&&t.end.offset<=n.end.offset,o=t.start.offset<=n.start.offset&&n.start.offset<t.end.offset,s=t.start.offset<n.end.offset&&n.end.offset<=t.end.offset;if(i||a||o||s){if(i&&a||o&&s||o&&n.start.offset===n.end.offset||a&&t.start.offset===t.end.offset)continue;throw new Qn(`Decorations ${JSON.stringify(n.start)} and ${JSON.stringify(t.start)} intersect.`)}}}}function _s(e){return e.type===`text`?e.value:e.type===`element`?e.children.map(_s).join(``):``}var vs=[hs()];function ys(e){let t=bs(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...vs]}function bs(e){let t=[],n=[],r=[];for(let i of e)switch(i.enforce){case`pre`:t.push(i);break;case`post`:n.push(i);break;default:r.push(i)}return{pre:t,post:n,normal:r}}var xs=[`black`,`red`,`green`,`yellow`,`blue`,`magenta`,`cyan`,`white`,`brightBlack`,`brightRed`,`brightGreen`,`brightYellow`,`brightBlue`,`brightMagenta`,`brightCyan`,`brightWhite`],Ss={1:`bold`,2:`dim`,3:`italic`,4:`underline`,7:`reverse`,8:`hidden`,9:`strikethrough`};function Cs(e,t){let n=e.indexOf(`\x1B`,t);if(n!==-1&&e[n+1]===`[`){let t=e.indexOf(`m`,n);if(t!==-1)return{sequence:e.substring(n+2,t).split(`;`),startPosition:n,position:t+1}}return{position:e.length}}function ws(e){let t=e.shift();if(t===`2`){let t=e.splice(0,3).map(e=>Number.parseInt(e));return t.length!==3||t.some(e=>Number.isNaN(e))?void 0:{type:`rgb`,rgb:t}}else if(t===`5`){let t=e.shift();if(t)return{type:`table`,index:Number(t)}}}function Ts(e){let t=[];for(;e.length>0;){let n=e.shift();if(!n)continue;let r=Number.parseInt(n);if(!Number.isNaN(r))if(r===0)t.push({type:`resetAll`});else if(r<=9)Ss[r]&&t.push({type:`setDecoration`,value:Ss[r]});else if(r<=29){let e=Ss[r-20];e&&(t.push({type:`resetDecoration`,value:e}),e===`dim`&&t.push({type:`resetDecoration`,value:`bold`}))}else if(r<=37)t.push({type:`setForegroundColor`,value:{type:`named`,name:xs[r-30]}});else if(r===38){let n=ws(e);n&&t.push({type:`setForegroundColor`,value:n})}else if(r===39)t.push({type:`resetForegroundColor`});else if(r<=47)t.push({type:`setBackgroundColor`,value:{type:`named`,name:xs[r-40]}});else if(r===48){let n=ws(e);n&&t.push({type:`setBackgroundColor`,value:n})}else r===49?t.push({type:`resetBackgroundColor`}):r===53?t.push({type:`setDecoration`,value:`overline`}):r===55?t.push({type:`resetDecoration`,value:`overline`}):r>=90&&r<=97?t.push({type:`setForegroundColor`,value:{type:`named`,name:xs[r-90+8]}}):r>=100&&r<=107&&t.push({type:`setBackgroundColor`,value:{type:`named`,name:xs[r-100+8]}})}return t}function Es(){let e=null,t=null,n=new Set;return{parse(r){let i=[],a=0;do{let o=Cs(r,a),s=o.sequence?r.substring(a,o.startPosition):r.substring(a);if(s.length>0&&i.push({value:s,foreground:e,background:t,decorations:new Set(n)}),o.sequence){let r=Ts(o.sequence);for(let i of r)i.type===`resetAll`?(e=null,t=null,n.clear()):i.type===`resetForegroundColor`?e=null:i.type===`resetBackgroundColor`?t=null:i.type===`resetDecoration`&&n.delete(i.value);for(let i of r)i.type===`setForegroundColor`?e=i.value:i.type===`setBackgroundColor`?t=i.value:i.type===`setDecoration`&&n.add(i.value)}a=o.position}while(a<r.length);return i}}}var Ds={black:`#000000`,red:`#bb0000`,green:`#00bb00`,yellow:`#bbbb00`,blue:`#0000bb`,magenta:`#ff00ff`,cyan:`#00bbbb`,white:`#eeeeee`,brightBlack:`#555555`,brightRed:`#ff5555`,brightGreen:`#00ff00`,brightYellow:`#ffff55`,brightBlue:`#5555ff`,brightMagenta:`#ff55ff`,brightCyan:`#55ffff`,brightWhite:`#ffffff`};function Os(e=Ds){function t(t){return e[t]}function n(e){return`#${e.map(e=>Math.max(0,Math.min(e,255)).toString(16).padStart(2,`0`)).join(``)}`}let r;function i(){if(r)return r;r=[];for(let e=0;e<xs.length;e++)r.push(t(xs[e]));let e=[0,95,135,175,215,255];for(let t=0;t<6;t++)for(let i=0;i<6;i++)for(let a=0;a<6;a++)r.push(n([e[t],e[i],e[a]]));let i=8;for(let e=0;e<24;e++,i+=10)r.push(n([i,i,i]));return r}function a(e){return i()[e]}function o(e){switch(e.type){case`named`:return t(e.name);case`rgb`:return n(e.rgb);case`table`:return a(e.index)}}return{value:o}}var ks={black:`#000000`,red:`#cd3131`,green:`#0DBC79`,yellow:`#E5E510`,blue:`#2472C8`,magenta:`#BC3FBC`,cyan:`#11A8CD`,white:`#E5E5E5`,brightBlack:`#666666`,brightRed:`#F14C4C`,brightGreen:`#23D18B`,brightYellow:`#F5F543`,brightBlue:`#3B8EEA`,brightMagenta:`#D670D6`,brightCyan:`#29B8DB`,brightWhite:`#FFFFFF`};function As(e,t,n){let r=Wo(e,n),i=$o(t),a=Os(Object.fromEntries(xs.map(t=>{let n=`terminal.ansi${t[0].toUpperCase()}${t.substring(1)}`;return[t,e.colors?.[n]||ks[t]]}))),o=Es();return i.map(t=>o.parse(t[0]).map(n=>{let i,o;n.decorations.has(`reverse`)?(i=n.background?a.value(n.background):e.bg,o=n.foreground?a.value(n.foreground):e.fg):(i=n.foreground?a.value(n.foreground):e.fg,o=n.background?a.value(n.background):void 0),i=Go(i,r),o=Go(o,r),n.decorations.has(`dim`)&&(i=js(i));let s=yr.None;return n.decorations.has(`bold`)&&(s|=yr.Bold),n.decorations.has(`italic`)&&(s|=yr.Italic),n.decorations.has(`underline`)&&(s|=yr.Underline),n.decorations.has(`strikethrough`)&&(s|=yr.Strikethrough),{content:n.value,offset:t[1],color:i,bgColor:o,fontStyle:s}}))}function js(e){let t=e.match(/#([0-9a-f]{3,8})/i);if(t){let e=t[1];if(e.length===8){let t=Math.round(Number.parseInt(e.slice(6,8),16)/2).toString(16).padStart(2,`0`);return`#${e.slice(0,6)}${t}`}else if(e.length===6)return`#${e}80`;else if(e.length===4){let t=e[0],n=e[1],r=e[2],i=e[3];return`#${t}${t}${n}${n}${r}${r}${Math.round(Number.parseInt(`${i}${i}`,16)/2).toString(16).padStart(2,`0`)}`}else if(e.length===3){let t=e[0],n=e[1],r=e[2];return`#${t}${t}${n}${n}${r}${r}80`}}let n=e.match(/var\((--[\w-]+-ansi-[\w-]+)\)/);return n?`var(${n[1]}-dim)`:e}function Ms(e,t,n={}){let{theme:r=e.getLoadedThemes()[0]}=n,i=e.resolveLangAlias(n.lang||`text`);if(Jo(i)||Xo(r))return $o(t).map(e=>[{content:e[0],offset:e[1]}]);let{theme:a,colorMap:o}=e.setTheme(r);if(i===`ansi`)return As(a,t,n);let s=e.getLanguage(n.lang||`text`);if(n.grammarState){if(n.grammarState.lang!==s.name)throw new Qn(`Grammar state language "${n.grammarState.lang}" does not match highlight language "${s.name}"`);if(!n.grammarState.themes.includes(a.name))throw new Qn(`Grammar state themes "${n.grammarState.themes}" do not contain highlight theme "${a.name}"`)}return Ps(t,s,a,o,n)}function Ns(...e){if(e.length===2)return ds(e[1]);let[t,n,r={}]=e,{lang:i=`text`,theme:a=t.getLoadedThemes()[0]}=r;if(Jo(i)||Xo(a))throw new Qn(`Plain language does not have grammar state`);if(i===`ansi`)throw new Qn(`ANSI language does not have grammar state`);let{theme:o,colorMap:s}=t.setTheme(a),c=t.getLanguage(i);return new fs(Fs(n,c,o,s,r).stateStack,c.name,o.name)}function Ps(e,t,n,r,i){let a=Fs(e,t,n,r,i),o=new fs(a.stateStack,t.name,n.name);return us(a.tokens,o),a.tokens}function Fs(e,t,n,r,i){let a=Wo(n,i),{tokenizeMaxLineLength:o=0,tokenizeTimeLimit:s=500}=i,c=$o(e),l=i.grammarState?ms(i.grammarState,n.name)??Fi:i.grammarContextCode==null?Fi:Fs(i.grammarContextCode,t,n,r,{...i,grammarState:void 0,grammarContextCode:void 0}).stateStack,u=[],d=[];for(let e=0,f=c.length;e<f;e++){let[f,p]=c[e];if(f===``){u=[],d.push([]);continue}if(o>0&&f.length>=o){u=[],d.push([{content:f,offset:p,color:``,fontStyle:0}]);continue}let m,h,g;i.includeExplanation&&(m=t.tokenizeLine(f,l,s),h=m.tokens,g=0);let _=t.tokenizeLine2(f,l,s),v=_.tokens.length/2;for(let e=0;e<v;e++){let t=_.tokens[2*e],o=e+1<v?_.tokens[2*e+2]:f.length;if(t===o)continue;let s=_.tokens[2*e+1],c=Go(r[Tr.getForeground(s)],a),l=Tr.getFontStyle(s),d={content:f.substring(t,o),offset:p+t,color:c,fontStyle:l};if(i.includeExplanation){let e=[];if(i.includeExplanation!==`scopeName`)for(let t of n.settings){let n;switch(typeof t.scope){case`string`:n=t.scope.split(/,/).map(e=>e.trim());break;case`object`:n=t.scope;break;default:continue}e.push({settings:t,selectors:n.map(e=>e.split(/ /))})}d.explanation=[];let r=0;for(;t+r<o;){let t=h[g],n=f.substring(t.startIndex,t.endIndex);r+=n.length,d.explanation.push({content:n,scopes:i.includeExplanation===`scopeName`?Is(t.scopes):Ls(e,t.scopes)}),g+=1}}u.push(d)}d.push(u),u=[],l=_.ruleStack}return{tokens:d,stateStack:l}}function Is(e){return e.map(e=>({scopeName:e}))}function Ls(e,t){let n=[];for(let r=0,i=t.length;r<i;r++){let i=t[r];n[r]={scopeName:i,themeMatches:Bs(e,i,t.slice(0,r))}}return n}function Rs(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]===`.`}function zs(e,t,n){if(!Rs(e[e.length-1],t))return!1;let r=e.length-2,i=n.length-1;for(;r>=0&&i>=0;)Rs(e[r],n[i])&&--r,--i;return r===-1}function Bs(e,t,n){let r=[];for(let{selectors:i,settings:a}of e)for(let e of i)if(zs(e,t,n)){r.push(a);break}return r}function Vs(e,t,n){let r=Object.entries(n.themes).filter(e=>e[1]).map(e=>({color:e[0],theme:e[1]})),i=r.map(r=>{let i=Ms(e,t,{...n,theme:r.theme});return{tokens:i,state:ds(i),theme:typeof r.theme==`string`?r.theme:r.theme.name}}),a=Hs(...i.map(e=>e.tokens)),o=a[0].map((e,t)=>e.map((e,i)=>{let o={content:e.content,variants:{},offset:e.offset};return`includeExplanation`in n&&n.includeExplanation&&(o.explanation=e.explanation),a.forEach((e,n)=>{let{content:a,explanation:s,offset:c,...l}=e[t][i];o.variants[r[n].color]=l}),o})),s=i[0].state?new fs(Object.fromEntries(i.map(e=>[e.theme,e.state?.getInternalStack(e.theme)])),i[0].state.lang):void 0;return s&&us(o,s),o}function Hs(...e){let t=e.map(()=>[]),n=e.length;for(let r=0;r<e[0].length;r++){let i=e.map(e=>e[r]),a=t.map(()=>[]);t.forEach((e,t)=>e.push(a[t]));let o=i.map(()=>0),s=i.map(e=>e[0]);for(;s.every(e=>e);){let e=Math.min(...s.map(e=>e.content.length));for(let t=0;t<n;t++){let n=s[t];n.content.length===e?(a[t].push(n),o[t]+=1,s[t]=i[t][o[t]]):(a[t].push({...n,content:n.content.slice(0,e)}),s[t]={...n,content:n.content.slice(e),offset:n.offset+e})}}}return t}function Us(e,t,n){let r,i,a,o,s,c;if(`themes`in n){let{defaultColor:l=`light`,cssVariablePrefix:u=`--shiki-`,colorsRendering:d=`css-vars`}=n,f=Object.entries(n.themes).filter(e=>e[1]).map(e=>({color:e[0],theme:e[1]})).sort((e,t)=>e.color===l?-1:t.color===l?1:0);if(f.length===0)throw new Qn("`themes` option must not be empty");let p=Vs(e,t,n);if(c=ds(p),l&&ns!==l&&!f.find(e=>e.color===l))throw new Qn(`\`themes\` option must contain the defaultColor key \`${l}\``);let m=f.map(t=>e.getTheme(t.theme)),h=f.map(e=>e.color);a=p.map(e=>e.map(e=>os(e,h,u,l,d))),c&&us(a,c);let g=f.map(e=>Wo(e.theme,n));i=Ws(f,m,g,u,l,`fg`,d),r=Ws(f,m,g,u,l,`bg`,d),o=`shiki-themes ${m.map(e=>e.name).join(` `)}`,s=l?void 0:[i,r].join(`;`)}else if(`theme`in n){let s=Wo(n.theme,n);a=Ms(e,t,n);let l=e.getTheme(n.theme);r=Go(l.bg,s),i=Go(l.fg,s),o=l.name,c=ds(a)}else throw new Qn("Invalid options, either `theme` or `themes` must be provided");return{tokens:a,fg:i,bg:r,themeName:o,rootStyle:s,grammarState:c}}function Ws(e,t,n,r,i,a,o){return e.map((s,c)=>{let l=Go(t[c][a],n[c])||`inherit`,u=`${r+s.color}${a===`bg`?`-bg`:``}:${l}`;if(c===0&&i){if(i===ns&&e.length>1){let r=e.findIndex(e=>e.color===`light`),i=e.findIndex(e=>e.color===`dark`);if(r===-1||i===-1)throw new Qn('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');return`light-dark(${Go(t[r][a],n[r])||`inherit`}, ${Go(t[i][a],n[i])||`inherit`});${u}`}return l}return o===`css-vars`?u:null}).filter(e=>!!e).join(`;`)}function Gs(e,t,n,r={meta:{},options:n,codeToHast:(t,n)=>Gs(e,t,n),codeToTokens:(t,n)=>Us(e,t,n)}){let i=t;for(let e of ys(n))i=e.preprocess?.call(r,i,n)||i;let{tokens:a,fg:o,bg:s,themeName:c,rootStyle:l,grammarState:u}=Us(e,i,n),{mergeWhitespaces:d=!0,mergeSameStyleTokens:f=!1}=n;d===!0?a=qs(a):d===`never`&&(a=Js(a)),f&&(a=Ys(a));let p={...r,get source(){return i}};for(let e of ys(n))a=e.tokens?.call(p,a)||a;return Ks(a,{...n,fg:o,bg:s,themeName:c,rootStyle:n.rootStyle===!1?!1:n.rootStyle??l},p,u)}function Ks(e,t,n,r=ds(e)){let i=ys(t),a=[],o={type:`root`,children:[]},{structure:s=`classic`,tabindex:c=`0`}=t,l={class:`shiki ${t.themeName||``}`};t.rootStyle!==!1&&(t.rootStyle==null?l.style=`background-color:${t.bg};color:${t.fg}`:l.style=t.rootStyle),c!==!1&&c!=null&&(l.tabindex=c.toString());for(let[e,n]of Object.entries(t.meta||{}))e.startsWith(`_`)||(l[e]=n);let u={type:`element`,tagName:`pre`,properties:l,children:[],data:t.data},d={type:`element`,tagName:`code`,properties:{},children:a},f=[],p={...n,structure:s,addClassToHast:Qo,get source(){return n.source},get tokens(){return e},get options(){return t},get root(){return o},get pre(){return u},get code(){return d},get lines(){return f}};if(e.forEach((e,t)=>{t&&(s===`inline`?o.children.push({type:`element`,tagName:`br`,properties:{},children:[]}):s===`classic`&&a.push({type:`text`,value:`
21
- `}));let n={type:`element`,tagName:`span`,properties:{class:`line`},children:[]},r=0;for(let a of e){let e={type:`element`,tagName:`span`,properties:{...a.htmlAttrs},children:[{type:`text`,value:a.content}]},c=cs(a.htmlStyle||ss(a));c&&(e.properties.style=c);for(let o of i)e=o?.span?.call(p,e,t+1,r,n,a)||e;s===`inline`?o.children.push(e):s===`classic`&&n.children.push(e),r+=a.content.length}if(s===`classic`){for(let e of i)n=e?.line?.call(p,n,t+1)||n;f.push(n),a.push(n)}else s===`inline`&&f.push(n)}),s===`classic`){for(let e of i)d=e?.code?.call(p,d)||d;u.children.push(d);for(let e of i)u=e?.pre?.call(p,u)||u;o.children.push(u)}else if(s===`inline`){let e=[],t={type:`element`,tagName:`span`,properties:{class:`line`},children:[]};for(let n of o.children)n.type===`element`&&n.tagName===`br`?(e.push(t),t={type:`element`,tagName:`span`,properties:{class:`line`},children:[]}):(n.type===`element`||n.type===`text`)&&t.children.push(n);e.push(t);let n={type:`element`,tagName:`code`,properties:{},children:e};for(let e of i)n=e?.code?.call(p,n)||n;o.children=[];for(let e=0;e<n.children.length;e++){e>0&&o.children.push({type:`element`,tagName:`br`,properties:{},children:[]});let t=n.children[e];t.type===`element`&&o.children.push(...t.children)}}let m=o;for(let e of i)m=e?.root?.call(p,m)||m;return r&&us(m,r),m}function qs(e){return e.map(e=>{let t=[],n=``,r;return e.forEach((i,a)=>{let o=!(i.fontStyle&&(i.fontStyle&yr.Underline||i.fontStyle&yr.Strikethrough));o&&i.content.match(/^\s+$/)&&e[a+1]?(r===void 0&&(r=i.offset),n+=i.content):n?(o?t.push({...i,offset:r,content:n+i.content}):t.push({content:n,offset:r},i),r=void 0,n=``):t.push(i)}),t})}function Js(e){return e.map(e=>e.flatMap(e=>{if(e.content.match(/^\s+$/))return e;let t=e.content.match(/^(\s*)(.*?)(\s*)$/);if(!t)return e;let[,n,r,i]=t;if(!n&&!i)return e;let a=[{...e,offset:e.offset+n.length,content:r}];return n&&a.unshift({content:n,offset:e.offset}),i&&a.push({content:i,offset:e.offset+n.length+r.length}),a}))}function Ys(e){return e.map(e=>{let t=[];for(let n of e){if(t.length===0){t.push({...n});continue}let e=t[t.length-1],r=cs(e.htmlStyle||ss(e)),i=cs(n.htmlStyle||ss(n)),a=e.fontStyle&&(e.fontStyle&yr.Underline||e.fontStyle&yr.Strikethrough),o=n.fontStyle&&(n.fontStyle&yr.Underline||n.fontStyle&yr.Strikethrough);!a&&!o&&r===i?e.content+=n.content:t.push({...n})}return t})}var Xs=Vo;function Zs(e,t,n){let r={meta:{},options:n,codeToHast:(t,n)=>Gs(e,t,n),codeToTokens:(t,n)=>Us(e,t,n)},i=Xs(Gs(e,t,n,r));for(let e of ys(n))i=e.postprocess?.call(r,i,n)||i;return i}var Qs={light:`#333333`,dark:`#bbbbbb`},$s={light:`#fffffe`,dark:`#1e1e1e`},ec=`__shiki_resolved`;function tc(e){if(e?.[ec])return e;let t={...e};t.tokenColors&&!t.settings&&(t.settings=t.tokenColors,delete t.tokenColors),t.type||=`dark`,t.colorReplacements={...t.colorReplacements},t.settings||=[];let{bg:n,fg:r}=t;if(!n||!r){let e=t.settings?t.settings.find(e=>!e.name&&!e.scope):void 0;e?.settings?.foreground&&(r=e.settings.foreground),e?.settings?.background&&(n=e.settings.background),!r&&t?.colors?.[`editor.foreground`]&&(r=t.colors[`editor.foreground`]),!n&&t?.colors?.[`editor.background`]&&(n=t.colors[`editor.background`]),r||=t.type===`light`?Qs.light:Qs.dark,n||=t.type===`light`?$s.light:$s.dark,t.fg=r,t.bg=n}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let i=0,a=new Map;function o(e){if(a.has(e))return a.get(e);i+=1;let n=`#${i.toString(16).padStart(8,`0`).toLowerCase()}`;return t.colorReplacements?.[`#${n}`]?o(e):(a.set(e,n),n)}t.settings=t.settings.map(e=>{let n=e.settings?.foreground&&!e.settings.foreground.startsWith(`#`),r=e.settings?.background&&!e.settings.background.startsWith(`#`);if(!n&&!r)return e;let i={...e,settings:{...e.settings}};if(n){let n=o(e.settings.foreground);t.colorReplacements[n]=e.settings.foreground,i.settings.foreground=n}if(r){let n=o(e.settings.background);t.colorReplacements[n]=e.settings.background,i.settings.background=n}return i});for(let e of Object.keys(t.colors||{}))if((e===`editor.foreground`||e===`editor.background`||e.startsWith(`terminal.ansi`))&&!t.colors[e]?.startsWith(`#`)){let n=o(t.colors[e]);t.colorReplacements[n]=t.colors[e],t.colors[e]=n}return Object.defineProperty(t,ec,{enumerable:!1,writable:!1,value:!0}),t}async function nc(e){return Array.from(new Set((await Promise.all(e.filter(e=>!Yo(e)).map(async e=>await qo(e).then(e=>Array.isArray(e)?e:[e])))).flat()))}async function rc(e){return(await Promise.all(e.map(async e=>Zo(e)?null:tc(await qo(e))))).filter(e=>!!e)}var ic=3,ac=!1;function oc(e,t=3){if(ic&&!(typeof ic==`number`&&t>ic)){if(ac)throw Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var sc=class extends Error{constructor(e){super(e),this.name=`ShikiError`}};function cc(e,t){if(!t)return e;if(t[e]){let n=new Set([e]);for(;t[e];){if(e=t[e],n.has(e))throw new sc(`Circular alias \`${Array.from(n).join(` -> `)} -> ${e}\``);n.add(e)}}return e}var lc=class extends Pi{constructor(e,t,n,r={}){super(e),this._resolver=e,this._themes=t,this._langs=n,this._alias=r,this._themes.map(e=>this.loadTheme(e)),this.loadLanguages(this._langs)}_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;getTheme(e){return typeof e==`string`?this._resolvedThemes.get(e):this.loadTheme(e)}loadTheme(e){let t=tc(e);return t.name&&(this._resolvedThemes.set(t.name,t),this._loadedThemesCache=null),t}getLoadedThemes(){return this._loadedThemesCache||=[...this._resolvedThemes.keys()],this._loadedThemesCache}setTheme(e){let t=this._textmateThemeCache.get(e);t||(t=fr.createFromRawTheme(e),this._textmateThemeCache.set(e,t)),this._syncRegistry.setTheme(t)}getGrammar(e){return e=cc(e,this._alias),this._resolvedGrammars.get(e)}loadLanguage(e){if(this.getGrammar(e.name))return;let t=new Set([...this._langMap.values()].filter(t=>t.embeddedLangsLazy?.includes(e.name)));this._resolver.addLanguage(e);let n={balancedBracketSelectors:e.balancedBracketSelectors||[`*`],unbalancedBracketSelectors:e.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(e.scopeName,e);let r=this.loadGrammarWithConfiguration(e.scopeName,1,n);if(r.name=e.name,this._resolvedGrammars.set(e.name,r),e.aliases&&e.aliases.forEach(t=>{this._alias[t]=e.name}),this._loadedLanguagesCache=null,t.size)for(let e of t)this._resolvedGrammars.delete(e.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(e.scopeName),this._syncRegistry?._grammars?.delete(e.scopeName),this.loadLanguage(this._langMap.get(e.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(e){for(let t of e)this.resolveEmbeddedLanguages(t);let t=Array.from(this._langGraph.entries()),n=t.filter(([e,t])=>!t);if(n.length){let e=t.filter(([e,t])=>t?(t.embeddedLanguages||t.embeddedLangs)?.some(e=>n.map(([e])=>e).includes(e)):!1).filter(e=>!n.includes(e));throw new sc(`Missing languages ${n.map(([e])=>`\`${e}\``).join(`, `)}, required by ${e.map(([e])=>`\`${e}\``).join(`, `)}`)}for(let[e,n]of t)this._resolver.addLanguage(n);for(let[e,n]of t)this.loadLanguage(n)}getLoadedLanguages(){return this._loadedLanguagesCache||=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])],this._loadedLanguagesCache}resolveEmbeddedLanguages(e){this._langMap.set(e.name,e),this._langGraph.set(e.name,e);let t=e.embeddedLanguages??e.embeddedLangs;if(t)for(let e of t)this._langGraph.set(e,this._langMap.get(e))}},uc=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(e,t){this._onigLib={createOnigScanner:t=>e.createScanner(t),createOnigString:t=>e.createString(t)},t.forEach(e=>this.addLanguage(e))}get onigLib(){return this._onigLib}getLangRegistration(e){return this._langs.get(e)}loadGrammar(e){return this._scopeToLang.get(e)}addLanguage(e){this._langs.set(e.name,e),e.aliases&&e.aliases.forEach(t=>{this._langs.set(t,e)}),this._scopeToLang.set(e.scopeName,e),e.injectTo&&e.injectTo.forEach(t=>{this._injections.get(t)||this._injections.set(t,[]),this._injections.get(t).push(e.scopeName)})}getInjections(e){let t=e.split(`.`),n=[];for(let e=1;e<=t.length;e++){let r=t.slice(0,e).join(`.`);n=[...n,...this._injections.get(r)||[]]}return n}},dc=0;function fc(e){dc+=1,e.warnings!==!1&&dc>=10&&dc%10==0&&console.warn(`[Shiki] ${dc} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);let t=!1;if(!e.engine)throw new sc("`engine` option is required for synchronous mode");let n=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(tc),i=new lc(new uc(e.engine,n),r,n,e.langAlias),a;function o(t){return cc(t,e.langAlias)}function s(e){g();let t=i.getGrammar(typeof e==`string`?e:e.name);if(!t)throw new sc(`Language \`${e}\` not found, you may need to load it first`);return t}function c(e){if(e===`none`)return{bg:``,fg:``,name:`none`,settings:[],type:`dark`};g();let t=i.getTheme(e);if(!t)throw new sc(`Theme \`${e}\` not found, you may need to load it first`);return t}function l(e){g();let t=c(e);return a!==e&&(i.setTheme(t),a=e),{theme:t,colorMap:i.getColorMap()}}function u(){return g(),i.getLoadedThemes()}function d(){return g(),i.getLoadedLanguages()}function f(...e){g(),i.loadLanguages(e.flat(1))}async function p(...e){return f(await nc(e))}function m(...e){g();for(let t of e.flat(1))i.loadTheme(t)}async function h(...e){return g(),m(await rc(e))}function g(){if(t)throw new sc(`Shiki instance has been disposed`)}function _(){t||(t=!0,i.dispose(),--dc)}return{setTheme:l,getTheme:c,getLanguage:s,getLoadedThemes:u,getLoadedLanguages:d,resolveLangAlias:o,loadLanguage:p,loadLanguageSync:f,loadTheme:h,loadThemeSync:m,dispose:_,[Symbol.dispose]:_}}async function pc(e){e.engine||oc("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,n,r]=await Promise.all([rc(e.themes||[]),nc(e.langs||[]),e.engine]);return fc({...e,themes:t,langs:n,engine:r})}async function mc(e){let t=await pc(e);return{getLastGrammarState:(...e)=>Ns(t,...e),codeToTokensBase:(e,n)=>Ms(t,e,n),codeToTokensWithThemes:(e,n)=>Vs(t,e,n),codeToTokens:(e,n)=>Us(t,e,n),codeToHast:(e,n)=>Gs(t,e,n),codeToHtml:(e,n)=>Zs(t,e,n),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function hc(e){let t=e.langs,n=e.themes,r=e.engine;async function i(e){function i(n){if(typeof n==`string`){if(n=e.langAlias?.[n]||n,Yo(n))return[];let r=t[n];if(!r)throw new Qn(`Language \`${n}\` is not included in this bundle. You may want to load it from external source.`);return r}return n}function a(e){if(Zo(e))return`none`;if(typeof e==`string`){let t=n[e];if(!t)throw new Qn(`Theme \`${e}\` is not included in this bundle. You may want to load it from external source.`);return t}return e}let o=(e.themes??[]).map(e=>a(e)),s=(e.langs??[]).map(e=>i(e)),c=await mc({engine:e.engine??r(),...e,themes:o,langs:s});return{...c,loadLanguage(...e){return c.loadLanguage(...e.map(i))},loadTheme(...e){return c.loadTheme(...e.map(a))},getBundledLanguages(){return t},getBundledThemes(){return n}}}return i}function gc(e){let t;async function n(n={}){if(t){let e=await t;return await Promise.all([e.loadTheme(...n.themes||[]),e.loadLanguage(...n.langs||[])]),e}else{t=e({...n,themes:[],langs:[]});let r=await t;return await Promise.all([r.loadTheme(...n.themes||[]),r.loadLanguage(...n.langs||[])]),r}}return n}function _c(e,t){let n=gc(e);async function r(e,r){let i=await n({langs:[r.lang],themes:`theme`in r?[r.theme]:Object.values(r.themes)}),a=await t?.guessEmbeddedLanguages?.(e,r.lang,i);return a&&await i.loadLanguage(...a),i}return{getSingletonHighlighter(e){return n(e)},async codeToHtml(e,t){return(await r(e,t)).codeToHtml(e,t)},async codeToHast(e,t){return(await r(e,t)).codeToHast(e,t)},async codeToTokens(e,t){return(await r(e,t)).codeToTokens(e,t)},async codeToTokensBase(e,t){return(await r(e,t)).codeToTokensBase(e,t)},async codeToTokensWithThemes(e,t){return(await r(e,t)).codeToTokensWithThemes(e,t)},async getLastGrammarState(e,t){return(await n({langs:[t.lang],themes:[t.theme]})).getLastGrammarState(e,t)}}}var vc=`modulepreload`,yc=function(e){return`/`+e},bc={},J=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=yc(t,n),t in bc)return;bc[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:vc,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},xc=[{id:`abap`,name:`ABAP`,import:(()=>J(()=>import(`./abap-cWYhO34H.js`),[]))},{id:`actionscript-3`,name:`ActionScript`,import:(()=>J(()=>import(`./actionscript-3-B80ndJsD.js`),[]))},{id:`ada`,name:`Ada`,import:(()=>J(()=>import(`./ada-C0C0SoYB.js`),[]))},{id:`angular-html`,name:`Angular HTML`,import:(()=>J(()=>import(`./angular-html-Bn7xcK-X.js`).then(e=>e.n),__vite__mapDeps([0,1,2,3])))},{id:`angular-ts`,name:`Angular TypeScript`,import:(()=>J(()=>import(`./angular-ts-qK80FnOc.js`),__vite__mapDeps([4,0,1,2,3,5])))},{id:`apache`,name:`Apache Conf`,import:(()=>J(()=>import(`./apache-DBwBm4bB.js`),[]))},{id:`apex`,name:`Apex`,import:(()=>J(()=>import(`./apex-FcV7UxQi.js`),[]))},{id:`apl`,name:`APL`,import:(()=>J(()=>import(`./apl-BhBHq9NH.js`),__vite__mapDeps([6,2,1,3,7,8,9])))},{id:`applescript`,name:`AppleScript`,import:(()=>J(()=>import(`./applescript-hQs8VNpS.js`),[]))},{id:`ara`,name:`Ara`,import:(()=>J(()=>import(`./ara-BOadBOZg.js`),[]))},{id:`asciidoc`,name:`AsciiDoc`,aliases:[`adoc`],import:(()=>J(()=>import(`./asciidoc-BsfqiBck.js`),[]))},{id:`asm`,name:`Assembly`,import:(()=>J(()=>import(`./asm-C2vUqzqz.js`),[]))},{id:`astro`,name:`Astro`,import:(()=>J(()=>import(`./astro--A8NjYkS.js`),__vite__mapDeps([10,2,3,7,11,12,13])))},{id:`awk`,name:`AWK`,import:(()=>J(()=>import(`./awk-D4e-eeZT.js`),[]))},{id:`ballerina`,name:`Ballerina`,import:(()=>J(()=>import(`./ballerina-BzvFqbha.js`),[]))},{id:`bat`,name:`Batch File`,aliases:[`batch`],import:(()=>J(()=>import(`./bat-CFyw2ERn.js`),[]))},{id:`beancount`,name:`Beancount`,import:(()=>J(()=>import(`./beancount-a6Gsu5WX.js`),[]))},{id:`berry`,name:`Berry`,aliases:[`be`],import:(()=>J(()=>import(`./berry-C2jyz4Ah.js`),[]))},{id:`bibtex`,name:`BibTeX`,import:(()=>J(()=>import(`./bibtex-Dyet-B83.js`),[]))},{id:`bicep`,name:`Bicep`,import:(()=>J(()=>import(`./bicep-CghvUIvy.js`),[]))},{id:`bird2`,name:`BIRD2 Configuration`,aliases:[`bird`],import:(()=>J(()=>import(`./bird2-nHigvs-R.js`),[]))},{id:`blade`,name:`Blade`,import:(()=>J(()=>import(`./blade-DUJ_WZzW.js`),__vite__mapDeps([14,2,15,1,3,7,16,8,9])))},{id:`bsl`,name:`1C (Enterprise)`,aliases:[`1c`],import:(()=>J(()=>import(`./bsl-BrHd4RA2.js`),__vite__mapDeps([17,18])))},{id:`c`,name:`C`,import:(()=>J(()=>import(`./c-Ddzn0JTQ.js`).then(e=>e.n),[]))},{id:`c3`,name:`C3`,import:(()=>J(()=>import(`./c3-9ZrcmAmr.js`),[]))},{id:`cadence`,name:`Cadence`,aliases:[`cdc`],import:(()=>J(()=>import(`./cadence-BPDgYNWy.js`),[]))},{id:`cairo`,name:`Cairo`,import:(()=>J(()=>import(`./cairo-BDZ6TRZS.js`),__vite__mapDeps([19,20])))},{id:`clarity`,name:`Clarity`,import:(()=>J(()=>import(`./clarity-Cmao5KSK.js`),[]))},{id:`clojure`,name:`Clojure`,aliases:[`clj`],import:(()=>J(()=>import(`./clojure-D2dPuTkk.js`),[]))},{id:`cmake`,name:`CMake`,import:(()=>J(()=>import(`./cmake-DaqQuj4A.js`),[]))},{id:`cobol`,name:`COBOL`,import:(()=>J(()=>import(`./cobol-EaVCzYAO.js`),__vite__mapDeps([21,1,2,3,9])))},{id:`codeowners`,name:`CODEOWNERS`,import:(()=>J(()=>import(`./codeowners-B748jmvc.js`),[]))},{id:`codeql`,name:`CodeQL`,aliases:[`ql`],import:(()=>J(()=>import(`./codeql-CXb_8gHR.js`),[]))},{id:`coffee`,name:`CoffeeScript`,aliases:[`coffeescript`],import:(()=>J(()=>import(`./coffee-CbmPxJhz.js`),__vite__mapDeps([22,3])))},{id:`common-lisp`,name:`Common Lisp`,aliases:[`lisp`],import:(()=>J(()=>import(`./common-lisp-UZn9nc_5.js`),[]))},{id:`coq`,name:`Coq`,import:(()=>J(()=>import(`./coq-DtO6yBIf.js`),[]))},{id:`cpp`,name:`C++`,aliases:[`c++`],import:(()=>J(()=>import(`./cpp-1v8ov4EG.js`).then(e=>e.n),__vite__mapDeps([23,24,25,26,16])))},{id:`crystal`,name:`Crystal`,import:(()=>J(()=>import(`./crystal-B88NqWAb.js`),__vite__mapDeps([27,25,2,1,3,28,16])))},{id:`csharp`,name:`C#`,aliases:[`c#`,`cs`],import:(()=>J(()=>import(`./csharp-C3YlYcLV.js`),[]))},{id:`css`,name:`CSS`,import:(()=>J(()=>import(`./css-QFeW3BCZ.js`).then(e=>e.n),[]))},{id:`csv`,name:`CSV`,import:(()=>J(()=>import(`./csv-BBwiVr0X.js`),[]))},{id:`cue`,name:`CUE`,import:(()=>J(()=>import(`./cue-ScBFXY5f.js`),[]))},{id:`cypher`,name:`Cypher`,aliases:[`cql`],import:(()=>J(()=>import(`./cypher-CGStaC1X.js`),[]))},{id:`d`,name:`D`,import:(()=>J(()=>import(`./d-CuTCIvnX.js`),[]))},{id:`dart`,name:`Dart`,import:(()=>J(()=>import(`./dart-CqEodbm2.js`),[]))},{id:`dax`,name:`DAX`,import:(()=>J(()=>import(`./dax-UdE5S0Dh.js`),[]))},{id:`desktop`,name:`Desktop`,import:(()=>J(()=>import(`./desktop-DfmsfHJA.js`),[]))},{id:`diff`,name:`Diff`,import:(()=>J(()=>import(`./diff-CW0RWGd9.js`),[]))},{id:`docker`,name:`Dockerfile`,aliases:[`dockerfile`],import:(()=>J(()=>import(`./docker-B1qtW4ha.js`),[]))},{id:`dotenv`,name:`dotEnv`,import:(()=>J(()=>import(`./dotenv-BUzOh1k8.js`),[]))},{id:`dream-maker`,name:`Dream Maker`,import:(()=>J(()=>import(`./dream-maker-CBvk18nW.js`),[]))},{id:`edge`,name:`Edge`,import:(()=>J(()=>import(`./edge-5UREsVXQ.js`),__vite__mapDeps([29,15,1,2,3,13])))},{id:`elixir`,name:`Elixir`,import:(()=>J(()=>import(`./elixir-B_Yali6w.js`),__vite__mapDeps([30,1,2,3])))},{id:`elm`,name:`Elm`,import:(()=>J(()=>import(`./elm-STYz8ayI.js`),__vite__mapDeps([31,24,25])))},{id:`emacs-lisp`,name:`Emacs Lisp`,aliases:[`elisp`],import:(()=>J(()=>import(`./emacs-lisp-DvSgLhDc.js`),[]))},{id:`erb`,name:`ERB`,import:(()=>J(()=>import(`./erb-CHRx3Beu.js`),__vite__mapDeps([32,1,2,3,33,25,23,24,26,16,34,35,12,13,36,37,28,8,9,38])))},{id:`erlang`,name:`Erlang`,aliases:[`erl`],import:(()=>J(()=>import(`./erlang-cuhwpmsu.js`),__vite__mapDeps([39,40])))},{id:`fennel`,name:`Fennel`,import:(()=>J(()=>import(`./fennel-C-1kWlGf.js`),[]))},{id:`fish`,name:`Fish`,import:(()=>J(()=>import(`./fish-CCpdtwqS.js`),[]))},{id:`fluent`,name:`Fluent`,aliases:[`ftl`],import:(()=>J(()=>import(`./fluent-BLg032oD.js`),[]))},{id:`fortran-fixed-form`,name:`Fortran (Fixed Form)`,aliases:[`f`,`for`,`f77`],import:(()=>J(()=>import(`./fortran-fixed-form-DWr0EnJn.js`),__vite__mapDeps([41,42])))},{id:`fortran-free-form`,name:`Fortran (Free Form)`,aliases:[`f90`,`f95`,`f03`,`f08`,`f18`],import:(()=>J(()=>import(`./fortran-free-form-Br4jRtSc.js`),[]))},{id:`fsharp`,name:`F#`,aliases:[`f#`,`fs`],import:(()=>J(()=>import(`./fsharp-CQ5iYSPA.js`),__vite__mapDeps([43,40])))},{id:`gdresource`,name:`GDResource`,aliases:[`tscn`,`tres`],import:(()=>J(()=>import(`./gdresource-CN-lsNu5.js`),__vite__mapDeps([44,45,46])))},{id:`gdscript`,name:`GDScript`,aliases:[`gd`],import:(()=>J(()=>import(`./gdscript-hSAZM1eh.js`),[]))},{id:`gdshader`,name:`GDShader`,import:(()=>J(()=>import(`./gdshader-D4XNAEs9.js`),[]))},{id:`genie`,name:`Genie`,import:(()=>J(()=>import(`./genie-DmN-ICAN.js`),[]))},{id:`gherkin`,name:`Gherkin`,import:(()=>J(()=>import(`./gherkin-cuHHmRcX.js`),[]))},{id:`git-commit`,name:`Git Commit Message`,import:(()=>J(()=>import(`./git-commit-6e79eN7Q.js`),__vite__mapDeps([47,48])))},{id:`git-rebase`,name:`Git Rebase Message`,import:(()=>J(()=>import(`./git-rebase-CFmRpmLK.js`),__vite__mapDeps([49,28])))},{id:`gleam`,name:`Gleam`,import:(()=>J(()=>import(`./gleam-D8VhqPDN.js`),[]))},{id:`glimmer-js`,name:`Glimmer JS`,aliases:[`gjs`],import:(()=>J(()=>import(`./glimmer-js-CdrEdtzi.js`),__vite__mapDeps([50,2,1,3,13])))},{id:`glimmer-ts`,name:`Glimmer TS`,aliases:[`gts`],import:(()=>J(()=>import(`./glimmer-ts-CzrwZqCl.js`),__vite__mapDeps([51,2,1,3,13])))},{id:`glsl`,name:`GLSL`,import:(()=>J(()=>import(`./glsl-Cb4XetAc.js`).then(e=>e.n),__vite__mapDeps([24,25])))},{id:`gn`,name:`GN`,import:(()=>J(()=>import(`./gn-BjGRlX27.js`),[]))},{id:`gnuplot`,name:`Gnuplot`,import:(()=>J(()=>import(`./gnuplot-BZCXuE4q.js`),[]))},{id:`go`,name:`Go`,import:(()=>J(()=>import(`./go-BJpWXZEs.js`),[]))},{id:`graphql`,name:`GraphQL`,aliases:[`gql`],import:(()=>J(()=>import(`./graphql-mqi9K2_l.js`).then(e=>e.n),__vite__mapDeps([34,3,35,12,13])))},{id:`groovy`,name:`Groovy`,import:(()=>J(()=>import(`./groovy-D9w3Dn-z.js`),[]))},{id:`hack`,name:`Hack`,import:(()=>J(()=>import(`./hack-DaFJ7htO.js`),__vite__mapDeps([52,1,2,3,16])))},{id:`haml`,name:`Ruby Haml`,import:(()=>J(()=>import(`./haml-Bw7q4nKg.js`).then(e=>e.n),__vite__mapDeps([36,2,3])))},{id:`handlebars`,name:`Handlebars`,aliases:[`hbs`],import:(()=>J(()=>import(`./handlebars-mj81MoXX.js`),__vite__mapDeps([53,2,1,3,38])))},{id:`haskell`,name:`Haskell`,aliases:[`hs`],import:(()=>J(()=>import(`./haskell-DqDdKEgk.js`),[]))},{id:`haxe`,name:`Haxe`,import:(()=>J(()=>import(`./haxe-DMg0jS3a.js`),[]))},{id:`hcl`,name:`HashiCorp HCL`,import:(()=>J(()=>import(`./hcl-SZIZUK_X.js`),[]))},{id:`hjson`,name:`Hjson`,import:(()=>J(()=>import(`./hjson-DF1VspiE.js`),[]))},{id:`hlsl`,name:`HLSL`,import:(()=>J(()=>import(`./hlsl-DPe9L0Dt.js`),[]))},{id:`html`,name:`HTML`,import:(()=>J(()=>import(`./html-LHrj0-2t.js`).then(e=>e.n),__vite__mapDeps([1,2,3])))},{id:`html-derivative`,name:`HTML (Derivative)`,import:(()=>J(()=>import(`./html-derivative-L3_OYrFu.js`),__vite__mapDeps([15,1,2,3])))},{id:`http`,name:`HTTP`,import:(()=>J(()=>import(`./http-DE0OFe2c.js`),__vite__mapDeps([54,34,3,35,12,13,7,28,8,9])))},{id:`hurl`,name:`Hurl`,import:(()=>J(()=>import(`./hurl-CNbk7fqf.js`),__vite__mapDeps([55,56,34,3,35,12,13,8,9])))},{id:`hxml`,name:`HXML`,import:(()=>J(()=>import(`./hxml-nwJci6H5.js`),__vite__mapDeps([57,58])))},{id:`hy`,name:`Hy`,import:(()=>J(()=>import(`./hy-B0f-B1mH.js`),[]))},{id:`imba`,name:`Imba`,import:(()=>J(()=>import(`./imba-Bq3j1cW5.js`),[]))},{id:`ini`,name:`INI`,aliases:[`properties`],import:(()=>J(()=>import(`./ini-BayloP2U.js`),[]))},{id:`java`,name:`Java`,import:(()=>J(()=>import(`./java-DAwMoXxA.js`).then(e=>e.n),[]))},{id:`javascript`,name:`JavaScript`,aliases:[`js`,`cjs`,`mjs`],import:(()=>J(()=>import(`./javascript-_a2prAz7.js`).then(e=>e.n),[]))},{id:`jinja`,name:`Jinja`,import:(()=>J(()=>import(`./jinja-JKFA3bu8.js`),__vite__mapDeps([59,1,2,3])))},{id:`jison`,name:`Jison`,import:(()=>J(()=>import(`./jison-UbTjhW7k.js`),__vite__mapDeps([60,3])))},{id:`json`,name:`JSON`,import:(()=>J(()=>import(`./json-D74F0BDU.js`).then(e=>e.n),[]))},{id:`json5`,name:`JSON5`,import:(()=>J(()=>import(`./json5-CRSfdIrY.js`),[]))},{id:`jsonc`,name:`JSON with Comments`,import:(()=>J(()=>import(`./jsonc-y4g9DQPx.js`),[]))},{id:`jsonl`,name:`JSON Lines`,import:(()=>J(()=>import(`./jsonl-D2paVn9r.js`),[]))},{id:`jsonnet`,name:`Jsonnet`,import:(()=>J(()=>import(`./jsonnet-CLH27mtz.js`),[]))},{id:`jssm`,name:`JSSM`,aliases:[`fsl`],import:(()=>J(()=>import(`./jssm-CPPYaqX-.js`),[]))},{id:`jsx`,name:`JSX`,import:(()=>J(()=>import(`./jsx-BsH2-gDN.js`).then(e=>e.n),[]))},{id:`julia`,name:`Julia`,aliases:[`jl`],import:(()=>J(()=>import(`./julia-DyIO_Gy0.js`),__vite__mapDeps([61,23,24,25,26,16,3,20,62])))},{id:`just`,name:`Just`,import:(()=>J(()=>import(`./just-VQTFAZJr.js`),__vite__mapDeps([63,3,64,2,1,16,8,9,20,33,25,23,24,26,34,35,12,13,36,37,28,38])))},{id:`kdl`,name:`KDL`,import:(()=>J(()=>import(`./kdl-D1BQjjnw.js`),[]))},{id:`kotlin`,name:`Kotlin`,aliases:[`kt`,`kts`],import:(()=>J(()=>import(`./kotlin-ndCaDnf0.js`),[]))},{id:`kusto`,name:`Kusto`,aliases:[`kql`],import:(()=>J(()=>import(`./kusto-D-4nbkD3.js`),[]))},{id:`latex`,name:`LaTeX`,import:(()=>J(()=>import(`./latex-D0ONGfIo.js`),__vite__mapDeps([65,66,62])))},{id:`lean`,name:`Lean 4`,aliases:[`lean4`],import:(()=>J(()=>import(`./lean-YmtAsB0p.js`),[]))},{id:`less`,name:`Less`,import:(()=>J(()=>import(`./less-DyHub3ow.js`),[]))},{id:`liquid`,name:`Liquid`,import:(()=>J(()=>import(`./liquid-BnYpmfMl.js`),__vite__mapDeps([67,2,1,3,7])))},{id:`llvm`,name:`LLVM IR`,import:(()=>J(()=>import(`./llvm-DCcqrY0D.js`),[]))},{id:`log`,name:`Log file`,import:(()=>J(()=>import(`./log-DWAAMNbe.js`),[]))},{id:`logo`,name:`Logo`,import:(()=>J(()=>import(`./logo-ClQMGkNL.js`),[]))},{id:`lua`,name:`Lua`,import:(()=>J(()=>import(`./lua-WlA-m2lC.js`).then(e=>e.n),__vite__mapDeps([37,25])))},{id:`luau`,name:`Luau`,import:(()=>J(()=>import(`./luau-CmcXFvLt.js`),[]))},{id:`make`,name:`Makefile`,aliases:[`makefile`],import:(()=>J(()=>import(`./make-DcfJyUzm.js`),[]))},{id:`markdown`,name:`Markdown`,aliases:[`md`],import:(()=>J(()=>import(`./markdown-DXxotAxn.js`),[]))},{id:`marko`,name:`Marko`,import:(()=>J(()=>import(`./marko-Bd44681W.js`),__vite__mapDeps([68,2,69,5,13])))},{id:`matlab`,name:`MATLAB`,import:(()=>J(()=>import(`./matlab-BlfbTznR.js`),[]))},{id:`mdc`,name:`MDC`,import:(()=>J(()=>import(`./mdc-DhosSoGv.js`),__vite__mapDeps([70,15,1,2,3,40,38])))},{id:`mdx`,name:`MDX`,import:(()=>J(()=>import(`./mdx-H8fyPQd8.js`),[]))},{id:`mermaid`,name:`Mermaid`,aliases:[`mmd`],import:(()=>J(()=>import(`./mermaid-CWAV2dmV.js`),[]))},{id:`mipsasm`,name:`MIPS Assembly`,aliases:[`mips`],import:(()=>J(()=>import(`./mipsasm-BWYFAm2s.js`),[]))},{id:`mojo`,name:`Mojo`,import:(()=>J(()=>import(`./mojo-DZcPJEIN.js`),[]))},{id:`moonbit`,name:`MoonBit`,aliases:[`mbt`,`mbti`],import:(()=>J(()=>import(`./moonbit-6eslNlJL.js`),[]))},{id:`move`,name:`Move`,import:(()=>J(()=>import(`./move-DxFc9-QU.js`),[]))},{id:`narrat`,name:`Narrat Language`,aliases:[`nar`],import:(()=>J(()=>import(`./narrat-gv38dJOT.js`),[]))},{id:`nextflow`,name:`Nextflow`,aliases:[`nf`],import:(()=>J(()=>import(`./nextflow-DSfydIxt.js`),__vite__mapDeps([71,72])))},{id:`nextflow-groovy`,name:`nextflow-groovy`,import:(()=>J(()=>import(`./nextflow-groovy-DV4H3hok.js`),[]))},{id:`nginx`,name:`Nginx`,import:(()=>J(()=>import(`./nginx-sYwNRk-F.js`),__vite__mapDeps([73,37,25])))},{id:`nim`,name:`Nim`,import:(()=>J(()=>import(`./nim-DrXU2tn9.js`),__vite__mapDeps([74,25,2,24,1,3,40,8,9])))},{id:`nix`,name:`Nix`,import:(()=>J(()=>import(`./nix-NlOz3HGM.js`),[]))},{id:`nushell`,name:`nushell`,aliases:[`nu`],import:(()=>J(()=>import(`./nushell-D86Z8aFF.js`),[]))},{id:`objective-c`,name:`Objective-C`,aliases:[`objc`],import:(()=>J(()=>import(`./objective-c-iuJvUjCv.js`),[]))},{id:`objective-cpp`,name:`Objective-C++`,import:(()=>J(()=>import(`./objective-cpp-C62JvfMT.js`),[]))},{id:`ocaml`,name:`OCaml`,import:(()=>J(()=>import(`./ocaml-Rbryo9lg.js`),[]))},{id:`odin`,name:`Odin`,import:(()=>J(()=>import(`./odin-CfaOVNP_.js`),[]))},{id:`openscad`,name:`OpenSCAD`,aliases:[`scad`],import:(()=>J(()=>import(`./openscad-DCRhgheK.js`),[]))},{id:`pascal`,name:`Pascal`,import:(()=>J(()=>import(`./pascal-CTesTHtV.js`),[]))},{id:`perl`,name:`Perl`,import:(()=>J(()=>import(`./perl-TEELuyd-.js`),__vite__mapDeps([64,2,1,3,16,8,9])))},{id:`php`,name:`PHP`,import:(()=>J(()=>import(`./php-Dy_Y1r8j.js`),__vite__mapDeps([75,2,1,3,7,16,8,9])))},{id:`pkl`,name:`Pkl`,import:(()=>J(()=>import(`./pkl-BjUMjQkt.js`),[]))},{id:`plsql`,name:`PL/SQL`,import:(()=>J(()=>import(`./plsql-BgKEZSSo.js`),[]))},{id:`po`,name:`Gettext PO`,aliases:[`pot`,`potx`],import:(()=>J(()=>import(`./po-C5s_CVt8.js`),[]))},{id:`polar`,name:`Polar`,import:(()=>J(()=>import(`./polar-y4hX8qM0.js`),[]))},{id:`postcss`,name:`PostCSS`,import:(()=>J(()=>import(`./postcss-BHCm7Qae.js`),[]))},{id:`powerquery`,name:`PowerQuery`,import:(()=>J(()=>import(`./powerquery-C2vMt8aZ.js`),[]))},{id:`powershell`,name:`PowerShell`,aliases:[`ps`,`ps1`],import:(()=>J(()=>import(`./powershell-DEcjmg1c.js`),[]))},{id:`prisma`,name:`Prisma`,import:(()=>J(()=>import(`./prisma-Ba-Tcxy5.js`),[]))},{id:`prolog`,name:`Prolog`,import:(()=>J(()=>import(`./prolog-B4o261Jv.js`),[]))},{id:`proto`,name:`Protocol Buffer 3`,aliases:[`protobuf`],import:(()=>J(()=>import(`./proto-o3IZKiMR.js`),[]))},{id:`pug`,name:`Pug`,aliases:[`jade`],import:(()=>J(()=>import(`./pug-vancrY0a.js`),__vite__mapDeps([76,2,1,3])))},{id:`puppet`,name:`Puppet`,import:(()=>J(()=>import(`./puppet-BC0dqZ31.js`),[]))},{id:`purescript`,name:`PureScript`,import:(()=>J(()=>import(`./purescript-CLDw1y5G.js`),[]))},{id:`python`,name:`Python`,aliases:[`py`],import:(()=>J(()=>import(`./python-D1NFioGW.js`),[]))},{id:`qml`,name:`QML`,import:(()=>J(()=>import(`./qml-BA5z-zbf.js`),__vite__mapDeps([77,3])))},{id:`qmldir`,name:`QML Directory`,import:(()=>J(()=>import(`./qmldir-B7i9e9Vn.js`),[]))},{id:`qss`,name:`Qt Style Sheets`,import:(()=>J(()=>import(`./qss-DIe6oKX8.js`),[]))},{id:`r`,name:`R`,import:(()=>J(()=>import(`./r-BR0O4N-s.js`).then(e=>e.n),[]))},{id:`racket`,name:`Racket`,import:(()=>J(()=>import(`./racket-CAOC_yyk.js`),[]))},{id:`raku`,name:`Raku`,aliases:[`perl6`],import:(()=>J(()=>import(`./raku-Ccua3vW6.js`),[]))},{id:`razor`,name:`ASP.NET Razor`,import:(()=>J(()=>import(`./razor-DXiNCb-5.js`),__vite__mapDeps([78,79,1,2,3])))},{id:`reg`,name:`Windows Registry Script`,import:(()=>J(()=>import(`./reg-CAYZT9kE.js`),[]))},{id:`regexp`,name:`RegExp`,aliases:[`regex`],import:(()=>J(()=>import(`./regexp-BhjJa9MI.js`).then(e=>e.n),[]))},{id:`rel`,name:`Rel`,import:(()=>J(()=>import(`./rel-cvB6F5nO.js`),[]))},{id:`riscv`,name:`RISC-V`,import:(()=>J(()=>import(`./riscv-SYGtE4EN.js`),[]))},{id:`ron`,name:`RON`,import:(()=>J(()=>import(`./ron-CRt869SB.js`),[]))},{id:`rosmsg`,name:`ROS Interface`,import:(()=>J(()=>import(`./rosmsg-BwrfJ66Z.js`),[]))},{id:`rst`,name:`reStructuredText`,import:(()=>J(()=>import(`./rst-Bi3zId1d.js`),__vite__mapDeps([80,81,23,24,25,26,16,15,1,2,3,20,33,34,35,12,13,36,37,28,8,9,38])))},{id:`ruby`,name:`Ruby`,aliases:[`rb`],import:(()=>J(()=>import(`./ruby-BURiJKuD.js`),__vite__mapDeps([33,25,23,24,26,16,2,34,3,35,12,13,36,1,37,28,8,9,38])))},{id:`rust`,name:`Rust`,aliases:[`rs`],import:(()=>J(()=>import(`./rust-DCKTTPxN.js`),[]))},{id:`sas`,name:`SAS`,import:(()=>J(()=>import(`./sas-BO_W1LuL.js`),__vite__mapDeps([82,16])))},{id:`sass`,name:`Sass`,import:(()=>J(()=>import(`./sass-CorcwySt.js`),[]))},{id:`scala`,name:`Scala`,import:(()=>J(()=>import(`./scala-DlI-OmYj.js`),[]))},{id:`scheme`,name:`Scheme`,import:(()=>J(()=>import(`./scheme-CcNEGkZH.js`),[]))},{id:`scss`,name:`SCSS`,import:(()=>J(()=>import(`./scss-BPUTinXb.js`).then(e=>e.n),__vite__mapDeps([5,2])))},{id:`sdbl`,name:`1C (Query)`,aliases:[`1c-query`],import:(()=>J(()=>import(`./sdbl-AL_m-RO_.js`),[]))},{id:`shaderlab`,name:`ShaderLab`,aliases:[`shader`],import:(()=>J(()=>import(`./shaderlab-CbbQwRPF.js`),__vite__mapDeps([83,84])))},{id:`shellscript`,name:`Shell`,aliases:[`bash`,`sh`,`shell`,`zsh`],import:(()=>J(()=>import(`./shellscript-B4rfo4qg.js`).then(e=>e.n),[]))},{id:`shellsession`,name:`Shell Session`,aliases:[`console`],import:(()=>J(()=>import(`./shellsession-DLX-O8m7.js`),__vite__mapDeps([85,28])))},{id:`smalltalk`,name:`Smalltalk`,import:(()=>J(()=>import(`./smalltalk-Y2ogrfbk.js`),[]))},{id:`solidity`,name:`Solidity`,import:(()=>J(()=>import(`./solidity-Bfbm9QZQ.js`),[]))},{id:`soy`,name:`Closure Templates`,aliases:[`closure-templates`],import:(()=>J(()=>import(`./soy-BEUiwSVD.js`),__vite__mapDeps([86,1,2,3])))},{id:`sparql`,name:`SPARQL`,import:(()=>J(()=>import(`./sparql-DEoxFJ5d.js`),__vite__mapDeps([87,88])))},{id:`splunk`,name:`Splunk Query Language`,aliases:[`spl`],import:(()=>J(()=>import(`./splunk-6DJA2XFa.js`),[]))},{id:`sql`,name:`SQL`,import:(()=>J(()=>import(`./sql-CwSA8v_H.js`).then(e=>e.n),[]))},{id:`ssh-config`,name:`SSH Config`,import:(()=>J(()=>import(`./ssh-config-CbQtdF-u.js`),[]))},{id:`stata`,name:`Stata`,import:(()=>J(()=>import(`./stata-XfdBiAnW.js`),__vite__mapDeps([89,16])))},{id:`stylus`,name:`Stylus`,aliases:[`styl`],import:(()=>J(()=>import(`./stylus-B_iq45Sj.js`),[]))},{id:`surrealql`,name:`SurrealQL`,aliases:[`surql`],import:(()=>J(()=>import(`./surrealql-COaehKkS.js`),__vite__mapDeps([90,3])))},{id:`svelte`,name:`Svelte`,import:(()=>J(()=>import(`./svelte-B0kTIq0J.js`),__vite__mapDeps([91,2,3,11,13])))},{id:`swift`,name:`Swift`,import:(()=>J(()=>import(`./swift-C7KIgN-p.js`),[]))},{id:`system-verilog`,name:`SystemVerilog`,import:(()=>J(()=>import(`./system-verilog-C3G9wERd.js`),[]))},{id:`systemd`,name:`Systemd Units`,import:(()=>J(()=>import(`./systemd-CwxGrojj.js`),[]))},{id:`talonscript`,name:`TalonScript`,aliases:[`talon`],import:(()=>J(()=>import(`./talonscript-DqnSo1EO.js`),[]))},{id:`tasl`,name:`Tasl`,import:(()=>J(()=>import(`./tasl-T8ethp86.js`),[]))},{id:`tcl`,name:`Tcl`,import:(()=>J(()=>import(`./tcl-Ccl366o0.js`),[]))},{id:`templ`,name:`Templ`,import:(()=>J(()=>import(`./templ-DGxWfDf-.js`),__vite__mapDeps([92,2,93,3])))},{id:`terraform`,name:`Terraform`,aliases:[`tf`,`tfvars`],import:(()=>J(()=>import(`./terraform-BBf6ZI_0.js`),[]))},{id:`tex`,name:`TeX`,import:(()=>J(()=>import(`./tex-C9X3gjZ2.js`),__vite__mapDeps([66,62])))},{id:`toml`,name:`TOML`,import:(()=>J(()=>import(`./toml-C5Z_BR4r.js`),[]))},{id:`ts-tags`,name:`TypeScript with Tags`,aliases:[`lit`],import:(()=>J(()=>import(`./ts-tags-By9ETsTC.js`),__vite__mapDeps([94,2,24,25,1,3,16,13,8,9])))},{id:`tsv`,name:`TSV`,import:(()=>J(()=>import(`./tsv-rX8sUJs7.js`),[]))},{id:`tsx`,name:`TSX`,import:(()=>J(()=>import(`./tsx-CvVX506n.js`).then(e=>e.n),[]))},{id:`turtle`,name:`Turtle`,import:(()=>J(()=>import(`./turtle-BM-MG8WY.js`),[]))},{id:`twig`,name:`Twig`,import:(()=>J(()=>import(`./twig-CjLWv7eu.js`),__vite__mapDeps([95,2,3,75,1,7,16,8,9,20,33,25,23,24,26,34,35,12,13,36,37,28,38,5])))},{id:`typescript`,name:`TypeScript`,aliases:[`ts`,`cts`,`mts`],import:(()=>J(()=>import(`./typescript-BEq3u3Bc.js`).then(e=>e.n),[]))},{id:`typespec`,name:`TypeSpec`,aliases:[`tsp`],import:(()=>J(()=>import(`./typespec-C5gKydvR.js`),[]))},{id:`typst`,name:`Typst`,aliases:[`typ`],import:(()=>J(()=>import(`./typst--_5VchrY.js`),[]))},{id:`v`,name:`V`,import:(()=>J(()=>import(`./v-C6PwpmTC.js`),[]))},{id:`vala`,name:`Vala`,import:(()=>J(()=>import(`./vala-4pTaceSj.js`),[]))},{id:`vb`,name:`Visual Basic`,aliases:[`cmd`],import:(()=>J(()=>import(`./vb-DhoR5A6S.js`),[]))},{id:`verilog`,name:`Verilog`,import:(()=>J(()=>import(`./verilog-B9f_1lPn.js`),[]))},{id:`vhdl`,name:`VHDL`,import:(()=>J(()=>import(`./vhdl-Cy4RAmOe.js`),[]))},{id:`viml`,name:`Vim Script`,aliases:[`vim`,`vimscript`],import:(()=>J(()=>import(`./viml-CFQW-CcD.js`),[]))},{id:`vue`,name:`Vue`,import:(()=>J(()=>import(`./vue-DYazforU.js`),__vite__mapDeps([96,2,15,1,3,7,13])))},{id:`vue-html`,name:`Vue HTML`,import:(()=>J(()=>import(`./vue-html-92z_Aqn0.js`),__vite__mapDeps([97,3])))},{id:`vue-vine`,name:`Vue Vine`,import:(()=>J(()=>import(`./vue-vine-VY7raYSI.js`),__vite__mapDeps([98,2,3,69,11,5,99])))},{id:`vyper`,name:`Vyper`,aliases:[`vy`],import:(()=>J(()=>import(`./vyper-BW5zj9bE.js`),[]))},{id:`wasm`,name:`WebAssembly`,import:(()=>J(()=>import(`./wasm-BigxSLnm.js`),[]))},{id:`wenyan`,name:`Wenyan`,aliases:[`文言`],import:(()=>J(()=>import(`./wenyan-BZzM1SQT.js`),[]))},{id:`wgsl`,name:`WGSL`,import:(()=>J(()=>import(`./wgsl-xBPHbLlq.js`),[]))},{id:`wikitext`,name:`Wikitext`,aliases:[`mediawiki`,`wiki`],import:(()=>J(()=>import(`./wikitext-BXJWUNJK.js`),[]))},{id:`wit`,name:`WebAssembly Interface Types`,import:(()=>J(()=>import(`./wit-2GnUs67P.js`),[]))},{id:`wolfram`,name:`Wolfram`,aliases:[`wl`],import:(()=>J(()=>import(`./wolfram-DIFDmw-g.js`),[]))},{id:`xml`,name:`XML`,import:(()=>J(()=>import(`./xml-hd7OQ798.js`).then(e=>e.n),__vite__mapDeps([8,9])))},{id:`xsl`,name:`XSL`,import:(()=>J(()=>import(`./xsl-MkuT76g1.js`),__vite__mapDeps([100,8,9])))},{id:`yaml`,name:`YAML`,aliases:[`yml`],import:(()=>J(()=>import(`./yaml-D6zRzOR2.js`).then(e=>e.n),[]))},{id:`zenscript`,name:`ZenScript`,import:(()=>J(()=>import(`./zenscript-DQaUUjbx.js`),[]))},{id:`zig`,name:`Zig`,import:(()=>J(()=>import(`./zig-BDepRvBi.js`),[]))}],Sc=Object.fromEntries(xc.map(e=>[e.id,e.import])),Cc=Object.fromEntries(xc.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),wc={...Sc,...Cc},Tc=Object.fromEntries([{id:`andromeeda`,displayName:`Andromeeda`,type:`dark`,import:(()=>J(()=>import(`./andromeeda-Ch2kWS7s.js`),[]))},{id:`aurora-x`,displayName:`Aurora X`,type:`dark`,import:(()=>J(()=>import(`./aurora-x-BHLqzt7j.js`),[]))},{id:`ayu-dark`,displayName:`Ayu Dark`,type:`dark`,import:(()=>J(()=>import(`./ayu-dark-DCotN_ZT.js`),[]))},{id:`ayu-light`,displayName:`Ayu Light`,type:`light`,import:(()=>J(()=>import(`./ayu-light-CKB6o_im.js`),[]))},{id:`ayu-mirage`,displayName:`Ayu Mirage`,type:`dark`,import:(()=>J(()=>import(`./ayu-mirage-B38lW-C5.js`),[]))},{id:`catppuccin-frappe`,displayName:`Catppuccin Frappé`,type:`dark`,import:(()=>J(()=>import(`./catppuccin-frappe-BY_2ofjk.js`),[]))},{id:`catppuccin-latte`,displayName:`Catppuccin Latte`,type:`light`,import:(()=>J(()=>import(`./catppuccin-latte-D6GXPBmA.js`),[]))},{id:`catppuccin-macchiato`,displayName:`Catppuccin Macchiato`,type:`dark`,import:(()=>J(()=>import(`./catppuccin-macchiato-BuW8_cyo.js`),[]))},{id:`catppuccin-mocha`,displayName:`Catppuccin Mocha`,type:`dark`,import:(()=>J(()=>import(`./catppuccin-mocha-znex9DPe.js`),[]))},{id:`dark-plus`,displayName:`Dark Plus`,type:`dark`,import:(()=>J(()=>import(`./dark-plus-BvePH-r3.js`),[]))},{id:`dracula`,displayName:`Dracula Theme`,type:`dark`,import:(()=>J(()=>import(`./dracula-kJQjC_Gy.js`),[]))},{id:`dracula-soft`,displayName:`Dracula Theme Soft`,type:`dark`,import:(()=>J(()=>import(`./dracula-soft-B3XhEjCl.js`),[]))},{id:`everforest-dark`,displayName:`Everforest Dark`,type:`dark`,import:(()=>J(()=>import(`./everforest-dark-u0zLn75q.js`),[]))},{id:`everforest-light`,displayName:`Everforest Light`,type:`light`,import:(()=>J(()=>import(`./everforest-light-D3syIoAR.js`),[]))},{id:`github-dark`,displayName:`GitHub Dark`,type:`dark`,import:(()=>J(()=>import(`./github-dark-CEBLh0--.js`),[]))},{id:`github-dark-default`,displayName:`GitHub Dark Default`,type:`dark`,import:(()=>J(()=>import(`./github-dark-default-Dq0Z4Xai.js`),[]))},{id:`github-dark-dimmed`,displayName:`GitHub Dark Dimmed`,type:`dark`,import:(()=>J(()=>import(`./github-dark-dimmed-D90YmS4w.js`),[]))},{id:`github-dark-high-contrast`,displayName:`GitHub Dark High Contrast`,type:`dark`,import:(()=>J(()=>import(`./github-dark-high-contrast-B6BWv1iC.js`),[]))},{id:`github-light`,displayName:`GitHub Light`,type:`light`,import:(()=>J(()=>import(`./github-light-lXSVSq5T.js`),[]))},{id:`github-light-default`,displayName:`GitHub Light Default`,type:`light`,import:(()=>J(()=>import(`./github-light-default-DsPWmj4v.js`),[]))},{id:`github-light-high-contrast`,displayName:`GitHub Light High Contrast`,type:`light`,import:(()=>J(()=>import(`./github-light-high-contrast-C7aLb3kp.js`),[]))},{id:`gruvbox-dark-hard`,displayName:`Gruvbox Dark Hard`,type:`dark`,import:(()=>J(()=>import(`./gruvbox-dark-hard-_deksD0U.js`),[]))},{id:`gruvbox-dark-medium`,displayName:`Gruvbox Dark Medium`,type:`dark`,import:(()=>J(()=>import(`./gruvbox-dark-medium-CT31284j.js`),[]))},{id:`gruvbox-dark-soft`,displayName:`Gruvbox Dark Soft`,type:`dark`,import:(()=>J(()=>import(`./gruvbox-dark-soft-BZuEUCbj.js`),[]))},{id:`gruvbox-light-hard`,displayName:`Gruvbox Light Hard`,type:`light`,import:(()=>J(()=>import(`./gruvbox-light-hard-dxv4n_ZS.js`),[]))},{id:`gruvbox-light-medium`,displayName:`Gruvbox Light Medium`,type:`light`,import:(()=>J(()=>import(`./gruvbox-light-medium-BsW_fVfR.js`),[]))},{id:`gruvbox-light-soft`,displayName:`Gruvbox Light Soft`,type:`light`,import:(()=>J(()=>import(`./gruvbox-light-soft-BiGy99gD.js`),[]))},{id:`horizon`,displayName:`Horizon`,type:`dark`,import:(()=>J(()=>import(`./horizon-Ngud75Kn.js`),[]))},{id:`horizon-bright`,displayName:`Horizon Bright`,type:`dark`,import:(()=>J(()=>import(`./horizon-bright-Cnljd0XD.js`),[]))},{id:`houston`,displayName:`Houston`,type:`dark`,import:(()=>J(()=>import(`./houston-BenZxlMr.js`),[]))},{id:`kanagawa-dragon`,displayName:`Kanagawa Dragon`,type:`dark`,import:(()=>J(()=>import(`./kanagawa-dragon-Bt5mhLu1.js`),[]))},{id:`kanagawa-lotus`,displayName:`Kanagawa Lotus`,type:`light`,import:(()=>J(()=>import(`./kanagawa-lotus-FGA3pRJk.js`),[]))},{id:`kanagawa-wave`,displayName:`Kanagawa Wave`,type:`dark`,import:(()=>J(()=>import(`./kanagawa-wave-DnLVZPAD.js`),[]))},{id:`laserwave`,displayName:`LaserWave`,type:`dark`,import:(()=>J(()=>import(`./laserwave-D2qAZkaG.js`),[]))},{id:`light-plus`,displayName:`Light Plus`,type:`light`,import:(()=>J(()=>import(`./light-plus-CP13QUvm.js`),[]))},{id:`material-theme`,displayName:`Material Theme`,type:`dark`,import:(()=>J(()=>import(`./material-theme-JFoPTBSr.js`),[]))},{id:`material-theme-darker`,displayName:`Material Theme Darker`,type:`dark`,import:(()=>J(()=>import(`./material-theme-darker-BHaqZ19v.js`),[]))},{id:`material-theme-lighter`,displayName:`Material Theme Lighter`,type:`light`,import:(()=>J(()=>import(`./material-theme-lighter-CGnnS2bs.js`),[]))},{id:`material-theme-ocean`,displayName:`Material Theme Ocean`,type:`dark`,import:(()=>J(()=>import(`./material-theme-ocean-Drhewjqf.js`),[]))},{id:`material-theme-palenight`,displayName:`Material Theme Palenight`,type:`dark`,import:(()=>J(()=>import(`./material-theme-palenight-DbUypmpb.js`),[]))},{id:`min-dark`,displayName:`Min Dark`,type:`dark`,import:(()=>J(()=>import(`./min-dark-BEelvXUB.js`),[]))},{id:`min-light`,displayName:`Min Light`,type:`light`,import:(()=>J(()=>import(`./min-light-CTPBOACR.js`),[]))},{id:`monokai`,displayName:`Monokai`,type:`dark`,import:(()=>J(()=>import(`./monokai-DQlZXbkg.js`),[]))},{id:`night-owl`,displayName:`Night Owl`,type:`dark`,import:(()=>J(()=>import(`./night-owl-BLcrYhaC.js`),[]))},{id:`night-owl-light`,displayName:`Night Owl Light`,type:`light`,import:(()=>J(()=>import(`./night-owl-light-BG-tBJOz.js`),[]))},{id:`nord`,displayName:`Nord`,type:`dark`,import:(()=>J(()=>import(`./nord-Dm2F5_QB.js`),[]))},{id:`one-dark-pro`,displayName:`One Dark Pro`,type:`dark`,import:(()=>J(()=>import(`./one-dark-pro-DC9SHdX0.js`),[]))},{id:`one-light`,displayName:`One Light`,type:`light`,import:(()=>J(()=>import(`./one-light-Doo39p0H.js`),[]))},{id:`plastic`,displayName:`Plastic`,type:`dark`,import:(()=>J(()=>import(`./plastic-B3CcSpon.js`),[]))},{id:`poimandres`,displayName:`Poimandres`,type:`dark`,import:(()=>J(()=>import(`./poimandres-BsK70ma5.js`),[]))},{id:`red`,displayName:`Red`,type:`dark`,import:(()=>J(()=>import(`./red-DtDH206x.js`),[]))},{id:`rose-pine`,displayName:`Rosé Pine`,type:`dark`,import:(()=>J(()=>import(`./rose-pine-CjBfSJ5b.js`),[]))},{id:`rose-pine-dawn`,displayName:`Rosé Pine Dawn`,type:`light`,import:(()=>J(()=>import(`./rose-pine-dawn-C0xwy7iJ.js`),[]))},{id:`rose-pine-moon`,displayName:`Rosé Pine Moon`,type:`dark`,import:(()=>J(()=>import(`./rose-pine-moon-BSNy9Ty0.js`),[]))},{id:`slack-dark`,displayName:`Slack Dark`,type:`dark`,import:(()=>J(()=>import(`./slack-dark-rMhrfPm6.js`),[]))},{id:`slack-ochin`,displayName:`Slack Ochin`,type:`light`,import:(()=>J(()=>import(`./slack-ochin-9w8X74hU.js`),[]))},{id:`snazzy-light`,displayName:`Snazzy Light`,type:`light`,import:(()=>J(()=>import(`./snazzy-light-DHr9ygpP.js`),[]))},{id:`solarized-dark`,displayName:`Solarized Dark`,type:`dark`,import:(()=>J(()=>import(`./solarized-dark-UPcKev9Q.js`),[]))},{id:`solarized-light`,displayName:`Solarized Light`,type:`light`,import:(()=>J(()=>import(`./solarized-light-DUsjROvl.js`),[]))},{id:`synthwave-84`,displayName:`Synthwave '84`,type:`dark`,import:(()=>J(()=>import(`./synthwave-84-lf_Wt0K_.js`),[]))},{id:`tokyo-night`,displayName:`Tokyo Night`,type:`dark`,import:(()=>J(()=>import(`./tokyo-night-BF5ata25.js`),[]))},{id:`vesper`,displayName:`Vesper`,type:`dark`,import:(()=>J(()=>import(`./vesper-CmBi_iCT.js`),[]))},{id:`vitesse-black`,displayName:`Vitesse Black`,type:`dark`,import:(()=>J(()=>import(`./vitesse-black-CE8RoBJP.js`),[]))},{id:`vitesse-dark`,displayName:`Vitesse Dark`,type:`dark`,import:(()=>J(()=>import(`./vitesse-dark-BpF142p_.js`),[]))},{id:`vitesse-light`,displayName:`Vitesse Light`,type:`light`,import:(()=>J(()=>import(`./vitesse-light-CMwxPBrg.js`),[]))}].map(e=>[e.id,e.import])),Ec=class extends Error{constructor(e){super(e),this.name=`ShikiError`}};function Dc(){return 2147483648}function Oc(){return typeof performance<`u`?performance.now():Date.now()}var kc=(e,t)=>e+(t-e%t)%t;async function Ac(e){let t,n,r={};function i(e){n=e,r.HEAPU8=new Uint8Array(e),r.HEAPU32=new Uint32Array(e)}function a(e,t,n){r.HEAPU8.copyWithin(e,t,t+n)}function o(e){try{return t.grow(e-n.byteLength+65535>>>16),i(t.buffer),1}catch{}}function s(e){let t=r.HEAPU8.length;e>>>=0;let n=Dc();if(e>n)return!1;for(let r=1;r<=4;r*=2){let i=t*(1+.2/r);if(i=Math.min(i,e+100663296),o(Math.min(n,kc(Math.max(e,i),65536))))return!0}return!1}let c=typeof TextDecoder<`u`?new TextDecoder(`utf8`):void 0;function l(e,t,n=1024){let r=t+n,i=t;for(;e[i]&&!(i>=r);)++i;if(i-t>16&&e.buffer&&c)return c.decode(e.subarray(t,i));let a=``;for(;t<i;){let n=e[t++];if(!(n&128)){a+=String.fromCharCode(n);continue}let r=e[t++]&63;if((n&224)==192){a+=String.fromCharCode((n&31)<<6|r);continue}let i=e[t++]&63;if(n=(n&240)==224?(n&15)<<12|r<<6|i:(n&7)<<18|r<<12|i<<6|e[t++]&63,n<65536)a+=String.fromCharCode(n);else{let e=n-65536;a+=String.fromCharCode(55296|e>>10,56320|e&1023)}}return a}function u(e,t){return e?l(r.HEAPU8,e,t):``}let d={emscripten_get_now:Oc,emscripten_memcpy_big:a,emscripten_resize_heap:s,fd_write:()=>0};async function f(){let n=await e({env:d,wasi_snapshot_preview1:d});t=n.memory,i(t.buffer),Object.assign(r,n),r.UTF8ToString=u}return await f(),r}var jc=Object.defineProperty,Mc=(e,t,n)=>t in e?jc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Nc=(e,t,n)=>Mc(e,typeof t==`symbol`?t:t+``,n),Pc=null;function Fc(e){throw new Ec(e.UTF8ToString(e.getLastOnigError()))}var Ic=class e{constructor(t){Nc(this,`utf16Length`),Nc(this,`utf8Length`),Nc(this,`utf16Value`),Nc(this,`utf8Value`),Nc(this,`utf16OffsetToUtf8`),Nc(this,`utf8OffsetToUtf16`);let n=t.length,r=e._utf8ByteLength(t),i=r!==n,a=i?new Uint32Array(n+1):null;i&&(a[n]=r);let o=i?new Uint32Array(r+1):null;i&&(o[r]=n);let s=new Uint8Array(r),c=0;for(let e=0;e<n;e++){let r=t.charCodeAt(e),l=r,u=!1;if(r>=55296&&r<=56319&&e+1<n){let n=t.charCodeAt(e+1);n>=56320&&n<=57343&&(l=(r-55296<<10)+65536|n-56320,u=!0)}i&&(a[e]=c,u&&(a[e+1]=c),l<=127?o[c+0]=e:l<=2047?(o[c+0]=e,o[c+1]=e):l<=65535?(o[c+0]=e,o[c+1]=e,o[c+2]=e):(o[c+0]=e,o[c+1]=e,o[c+2]=e,o[c+3]=e)),l<=127?s[c++]=l:l<=2047?(s[c++]=192|(l&1984)>>>6,s[c++]=128|(l&63)>>>0):l<=65535?(s[c++]=224|(l&61440)>>>12,s[c++]=128|(l&4032)>>>6,s[c++]=128|(l&63)>>>0):(s[c++]=240|(l&1835008)>>>18,s[c++]=128|(l&258048)>>>12,s[c++]=128|(l&4032)>>>6,s[c++]=128|(l&63)>>>0),u&&e++}this.utf16Length=n,this.utf8Length=r,this.utf16Value=t,this.utf8Value=s,this.utf16OffsetToUtf8=a,this.utf8OffsetToUtf16=o}static _utf8ByteLength(e){let t=0;for(let n=0,r=e.length;n<r;n++){let i=e.charCodeAt(n),a=i,o=!1;if(i>=55296&&i<=56319&&n+1<r){let t=e.charCodeAt(n+1);t>=56320&&t<=57343&&(a=(i-55296<<10)+65536|t-56320,o=!0)}a<=127?t+=1:a<=2047?t+=2:a<=65535?t+=3:t+=4,o&&n++}return t}createString(e){let t=e.omalloc(this.utf8Length);return e.HEAPU8.set(this.utf8Value,t),t}},Lc=class e{constructor(t){if(Nc(this,`id`,++e.LAST_ID),Nc(this,`_onigBinding`),Nc(this,`content`),Nc(this,`utf16Length`),Nc(this,`utf8Length`),Nc(this,`utf16OffsetToUtf8`),Nc(this,`utf8OffsetToUtf16`),Nc(this,`ptr`),!Pc)throw new Ec(`Must invoke loadWasm first.`);this._onigBinding=Pc,this.content=t;let n=new Ic(t);this.utf16Length=n.utf16Length,this.utf8Length=n.utf8Length,this.utf16OffsetToUtf8=n.utf16OffsetToUtf8,this.utf8OffsetToUtf16=n.utf8OffsetToUtf16,this.utf8Length<1e4&&!e._sharedPtrInUse?(e._sharedPtr||=Pc.omalloc(1e4),e._sharedPtrInUse=!0,Pc.HEAPU8.set(n.utf8Value,e._sharedPtr),this.ptr=e._sharedPtr):this.ptr=n.createString(Pc)}convertUtf8OffsetToUtf16(e){return this.utf8OffsetToUtf16?e<0?0:e>this.utf8Length?this.utf16Length:this.utf8OffsetToUtf16[e]:e}convertUtf16OffsetToUtf8(e){return this.utf16OffsetToUtf8?e<0?0:e>this.utf16Length?this.utf8Length:this.utf16OffsetToUtf8[e]:e}dispose(){this.ptr===e._sharedPtr?e._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};Nc(Lc,`LAST_ID`,0),Nc(Lc,`_sharedPtr`,0),Nc(Lc,`_sharedPtrInUse`,!1);var Rc=Lc,zc=class{constructor(e){if(Nc(this,`_onigBinding`),Nc(this,`_ptr`),!Pc)throw new Ec(`Must invoke loadWasm first.`);let t=[],n=[];for(let r=0,i=e.length;r<i;r++){let i=new Ic(e[r]);t[r]=i.createString(Pc),n[r]=i.utf8Length}let r=Pc.omalloc(4*e.length);Pc.HEAPU32.set(t,r/4);let i=Pc.omalloc(4*e.length);Pc.HEAPU32.set(n,i/4);let a=Pc.createOnigScanner(r,i,e.length);for(let n=0,r=e.length;n<r;n++)Pc.ofree(t[n]);Pc.ofree(i),Pc.ofree(r),a===0&&Fc(Pc),this._onigBinding=Pc,this._ptr=a}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(e,t,n){let r=0;if(typeof n==`number`&&(r=n),typeof e==`string`){e=new Rc(e);let n=this._findNextMatchSync(e,t,!1,r);return e.dispose(),n}return this._findNextMatchSync(e,t,!1,r)}_findNextMatchSync(e,t,n,r){let i=this._onigBinding,a=i.findNextOnigScannerMatch(this._ptr,e.id,e.ptr,e.utf8Length,e.convertUtf16OffsetToUtf8(t),r);if(a===0)return null;let o=i.HEAPU32,s=a/4,c=o[s++],l=o[s++],u=[];for(let t=0;t<l;t++){let n=e.convertUtf8OffsetToUtf16(o[s++]),r=e.convertUtf8OffsetToUtf16(o[s++]);u[t]={start:n,end:r,length:r-n}}return{index:c,captureIndices:u}}};function Bc(e){return typeof e.instantiator==`function`}function Vc(e){return typeof e.default==`function`}function Hc(e){return e.data!==void 0}function Uc(e){return typeof Response<`u`&&e instanceof Response}function Wc(e){return typeof ArrayBuffer<`u`&&(e instanceof ArrayBuffer||ArrayBuffer.isView(e))||typeof Buffer<`u`&&Buffer.isBuffer?.(e)||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer||typeof Uint32Array<`u`&&e instanceof Uint32Array}var Gc;function Kc(e){if(Gc)return Gc;async function t(){Pc=await Ac(async t=>{let n=e;return n=await n,typeof n==`function`&&(n=await n(t)),typeof n==`function`&&(n=await n(t)),Bc(n)?n=await n.instantiator(t):Vc(n)?n=await n.default(t):(Hc(n)&&(n=n.data),Uc(n)?n=typeof WebAssembly.instantiateStreaming==`function`?await Jc(n)(t):await Yc(n)(t):Wc(n)||n instanceof WebAssembly.Module?n=await qc(n)(t):`default`in n&&n.default instanceof WebAssembly.Module&&(n=await qc(n.default)(t))),`instance`in n&&(n=n.instance),`exports`in n&&(n=n.exports),n})}return Gc=t(),Gc}function qc(e){return t=>WebAssembly.instantiate(e,t)}function Jc(e){return t=>WebAssembly.instantiateStreaming(e,t)}function Yc(e){return async t=>{let n=await e.arrayBuffer();return WebAssembly.instantiate(n,t)}}async function Xc(e){return e&&await Kc(e),{createScanner(e){return new zc(e.map(e=>typeof e==`string`?e:e.source))},createString(e){return new Rc(e)}}}var Zc=hc({langs:wc,themes:Tc,engine:()=>Xc(J(()=>import(`./wasm-CSccDuAq.js`),[]))}),{codeToHtml:Qc,codeToHast:$c,codeToTokens:el,codeToTokensBase:tl,codeToTokensWithThemes:nl,getSingletonHighlighter:rl,getLastGrammarState:il}=_c(Zc,{guessEmbeddedLanguages:ts});function al(e){if([...e].length!==1)throw Error(`Expected "${e}" to be a single code point`);return e.codePointAt(0)}function ol(e,t,n){return e.has(t)||e.set(t,n),e.get(t)}var sl=new Set([`alnum`,`alpha`,`ascii`,`blank`,`cntrl`,`digit`,`graph`,`lower`,`print`,`punct`,`space`,`upper`,`word`,`xdigit`]),cl=String.raw;function ll(e,t){if(e==null)throw Error(t??`Value expected`);return e}var ul=cl`\[\^?`,dl=`c.? | C(?:-.?)?|${cl`[pP]\{(?:\^?[-\x20_]*[A-Za-z][-\x20\w]*\})?`}|${cl`x[89A-Fa-f]\p{AHex}(?:\\x[89A-Fa-f]\p{AHex})*`}|${cl`u(?:\p{AHex}{4})? | x\{[^\}]*\}? | x\p{AHex}{0,2}`}|${cl`o\{[^\}]*\}?`}|${cl`\d{1,3}`}`,fl=/[?*+][?+]?|\{(?:\d+(?:,\d*)?|,\d+)\}\??/,pl=new RegExp(cl`
21
+ `}));let n={type:`element`,tagName:`span`,properties:{class:`line`},children:[]},r=0;for(let a of e){let e={type:`element`,tagName:`span`,properties:{...a.htmlAttrs},children:[{type:`text`,value:a.content}]},c=cs(a.htmlStyle||ss(a));c&&(e.properties.style=c);for(let o of i)e=o?.span?.call(p,e,t+1,r,n,a)||e;s===`inline`?o.children.push(e):s===`classic`&&n.children.push(e),r+=a.content.length}if(s===`classic`){for(let e of i)n=e?.line?.call(p,n,t+1)||n;f.push(n),a.push(n)}else s===`inline`&&f.push(n)}),s===`classic`){for(let e of i)d=e?.code?.call(p,d)||d;u.children.push(d);for(let e of i)u=e?.pre?.call(p,u)||u;o.children.push(u)}else if(s===`inline`){let e=[],t={type:`element`,tagName:`span`,properties:{class:`line`},children:[]};for(let n of o.children)n.type===`element`&&n.tagName===`br`?(e.push(t),t={type:`element`,tagName:`span`,properties:{class:`line`},children:[]}):(n.type===`element`||n.type===`text`)&&t.children.push(n);e.push(t);let n={type:`element`,tagName:`code`,properties:{},children:e};for(let e of i)n=e?.code?.call(p,n)||n;o.children=[];for(let e=0;e<n.children.length;e++){e>0&&o.children.push({type:`element`,tagName:`br`,properties:{},children:[]});let t=n.children[e];t.type===`element`&&o.children.push(...t.children)}}let m=o;for(let e of i)m=e?.root?.call(p,m)||m;return r&&us(m,r),m}function qs(e){return e.map(e=>{let t=[],n=``,r;return e.forEach((i,a)=>{let o=!(i.fontStyle&&(i.fontStyle&yr.Underline||i.fontStyle&yr.Strikethrough));o&&i.content.match(/^\s+$/)&&e[a+1]?(r===void 0&&(r=i.offset),n+=i.content):n?(o?t.push({...i,offset:r,content:n+i.content}):t.push({content:n,offset:r},i),r=void 0,n=``):t.push(i)}),t})}function Js(e){return e.map(e=>e.flatMap(e=>{if(e.content.match(/^\s+$/))return e;let t=e.content.match(/^(\s*)(.*?)(\s*)$/);if(!t)return e;let[,n,r,i]=t;if(!n&&!i)return e;let a=[{...e,offset:e.offset+n.length,content:r}];return n&&a.unshift({content:n,offset:e.offset}),i&&a.push({content:i,offset:e.offset+n.length+r.length}),a}))}function Ys(e){return e.map(e=>{let t=[];for(let n of e){if(t.length===0){t.push({...n});continue}let e=t[t.length-1],r=cs(e.htmlStyle||ss(e)),i=cs(n.htmlStyle||ss(n)),a=e.fontStyle&&(e.fontStyle&yr.Underline||e.fontStyle&yr.Strikethrough),o=n.fontStyle&&(n.fontStyle&yr.Underline||n.fontStyle&yr.Strikethrough);!a&&!o&&r===i?e.content+=n.content:t.push({...n})}return t})}var Xs=Vo;function Zs(e,t,n){let r={meta:{},options:n,codeToHast:(t,n)=>Gs(e,t,n),codeToTokens:(t,n)=>Us(e,t,n)},i=Xs(Gs(e,t,n,r));for(let e of ys(n))i=e.postprocess?.call(r,i,n)||i;return i}var Qs={light:`#333333`,dark:`#bbbbbb`},$s={light:`#fffffe`,dark:`#1e1e1e`},ec=`__shiki_resolved`;function tc(e){if(e?.[ec])return e;let t={...e};t.tokenColors&&!t.settings&&(t.settings=t.tokenColors,delete t.tokenColors),t.type||=`dark`,t.colorReplacements={...t.colorReplacements},t.settings||=[];let{bg:n,fg:r}=t;if(!n||!r){let e=t.settings?t.settings.find(e=>!e.name&&!e.scope):void 0;e?.settings?.foreground&&(r=e.settings.foreground),e?.settings?.background&&(n=e.settings.background),!r&&t?.colors?.[`editor.foreground`]&&(r=t.colors[`editor.foreground`]),!n&&t?.colors?.[`editor.background`]&&(n=t.colors[`editor.background`]),r||=t.type===`light`?Qs.light:Qs.dark,n||=t.type===`light`?$s.light:$s.dark,t.fg=r,t.bg=n}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let i=0,a=new Map;function o(e){if(a.has(e))return a.get(e);i+=1;let n=`#${i.toString(16).padStart(8,`0`).toLowerCase()}`;return t.colorReplacements?.[`#${n}`]?o(e):(a.set(e,n),n)}t.settings=t.settings.map(e=>{let n=e.settings?.foreground&&!e.settings.foreground.startsWith(`#`),r=e.settings?.background&&!e.settings.background.startsWith(`#`);if(!n&&!r)return e;let i={...e,settings:{...e.settings}};if(n){let n=o(e.settings.foreground);t.colorReplacements[n]=e.settings.foreground,i.settings.foreground=n}if(r){let n=o(e.settings.background);t.colorReplacements[n]=e.settings.background,i.settings.background=n}return i});for(let e of Object.keys(t.colors||{}))if((e===`editor.foreground`||e===`editor.background`||e.startsWith(`terminal.ansi`))&&!t.colors[e]?.startsWith(`#`)){let n=o(t.colors[e]);t.colorReplacements[n]=t.colors[e],t.colors[e]=n}return Object.defineProperty(t,ec,{enumerable:!1,writable:!1,value:!0}),t}async function nc(e){return Array.from(new Set((await Promise.all(e.filter(e=>!Yo(e)).map(async e=>await qo(e).then(e=>Array.isArray(e)?e:[e])))).flat()))}async function rc(e){return(await Promise.all(e.map(async e=>Zo(e)?null:tc(await qo(e))))).filter(e=>!!e)}var ic=3,ac=!1;function oc(e,t=3){if(ic&&!(typeof ic==`number`&&t>ic)){if(ac)throw Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var sc=class extends Error{constructor(e){super(e),this.name=`ShikiError`}};function cc(e,t){if(!t)return e;if(t[e]){let n=new Set([e]);for(;t[e];){if(e=t[e],n.has(e))throw new sc(`Circular alias \`${Array.from(n).join(` -> `)} -> ${e}\``);n.add(e)}}return e}var lc=class extends Pi{constructor(e,t,n,r={}){super(e),this._resolver=e,this._themes=t,this._langs=n,this._alias=r,this._themes.map(e=>this.loadTheme(e)),this.loadLanguages(this._langs)}_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;getTheme(e){return typeof e==`string`?this._resolvedThemes.get(e):this.loadTheme(e)}loadTheme(e){let t=tc(e);return t.name&&(this._resolvedThemes.set(t.name,t),this._loadedThemesCache=null),t}getLoadedThemes(){return this._loadedThemesCache||=[...this._resolvedThemes.keys()],this._loadedThemesCache}setTheme(e){let t=this._textmateThemeCache.get(e);t||(t=fr.createFromRawTheme(e),this._textmateThemeCache.set(e,t)),this._syncRegistry.setTheme(t)}getGrammar(e){return e=cc(e,this._alias),this._resolvedGrammars.get(e)}loadLanguage(e){if(this.getGrammar(e.name))return;let t=new Set([...this._langMap.values()].filter(t=>t.embeddedLangsLazy?.includes(e.name)));this._resolver.addLanguage(e);let n={balancedBracketSelectors:e.balancedBracketSelectors||[`*`],unbalancedBracketSelectors:e.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(e.scopeName,e);let r=this.loadGrammarWithConfiguration(e.scopeName,1,n);if(r.name=e.name,this._resolvedGrammars.set(e.name,r),e.aliases&&e.aliases.forEach(t=>{this._alias[t]=e.name}),this._loadedLanguagesCache=null,t.size)for(let e of t)this._resolvedGrammars.delete(e.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(e.scopeName),this._syncRegistry?._grammars?.delete(e.scopeName),this.loadLanguage(this._langMap.get(e.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(e){for(let t of e)this.resolveEmbeddedLanguages(t);let t=Array.from(this._langGraph.entries()),n=t.filter(([e,t])=>!t);if(n.length){let e=t.filter(([e,t])=>t?(t.embeddedLanguages||t.embeddedLangs)?.some(e=>n.map(([e])=>e).includes(e)):!1).filter(e=>!n.includes(e));throw new sc(`Missing languages ${n.map(([e])=>`\`${e}\``).join(`, `)}, required by ${e.map(([e])=>`\`${e}\``).join(`, `)}`)}for(let[e,n]of t)this._resolver.addLanguage(n);for(let[e,n]of t)this.loadLanguage(n)}getLoadedLanguages(){return this._loadedLanguagesCache||=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])],this._loadedLanguagesCache}resolveEmbeddedLanguages(e){this._langMap.set(e.name,e),this._langGraph.set(e.name,e);let t=e.embeddedLanguages??e.embeddedLangs;if(t)for(let e of t)this._langGraph.set(e,this._langMap.get(e))}},uc=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(e,t){this._onigLib={createOnigScanner:t=>e.createScanner(t),createOnigString:t=>e.createString(t)},t.forEach(e=>this.addLanguage(e))}get onigLib(){return this._onigLib}getLangRegistration(e){return this._langs.get(e)}loadGrammar(e){return this._scopeToLang.get(e)}addLanguage(e){this._langs.set(e.name,e),e.aliases&&e.aliases.forEach(t=>{this._langs.set(t,e)}),this._scopeToLang.set(e.scopeName,e),e.injectTo&&e.injectTo.forEach(t=>{this._injections.get(t)||this._injections.set(t,[]),this._injections.get(t).push(e.scopeName)})}getInjections(e){let t=e.split(`.`),n=[];for(let e=1;e<=t.length;e++){let r=t.slice(0,e).join(`.`);n=[...n,...this._injections.get(r)||[]]}return n}},dc=0;function fc(e){dc+=1,e.warnings!==!1&&dc>=10&&dc%10==0&&console.warn(`[Shiki] ${dc} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);let t=!1;if(!e.engine)throw new sc("`engine` option is required for synchronous mode");let n=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(tc),i=new lc(new uc(e.engine,n),r,n,e.langAlias),a;function o(t){return cc(t,e.langAlias)}function s(e){g();let t=i.getGrammar(typeof e==`string`?e:e.name);if(!t)throw new sc(`Language \`${e}\` not found, you may need to load it first`);return t}function c(e){if(e===`none`)return{bg:``,fg:``,name:`none`,settings:[],type:`dark`};g();let t=i.getTheme(e);if(!t)throw new sc(`Theme \`${e}\` not found, you may need to load it first`);return t}function l(e){g();let t=c(e);return a!==e&&(i.setTheme(t),a=e),{theme:t,colorMap:i.getColorMap()}}function u(){return g(),i.getLoadedThemes()}function d(){return g(),i.getLoadedLanguages()}function f(...e){g(),i.loadLanguages(e.flat(1))}async function p(...e){return f(await nc(e))}function m(...e){g();for(let t of e.flat(1))i.loadTheme(t)}async function h(...e){return g(),m(await rc(e))}function g(){if(t)throw new sc(`Shiki instance has been disposed`)}function _(){t||(t=!0,i.dispose(),--dc)}return{setTheme:l,getTheme:c,getLanguage:s,getLoadedThemes:u,getLoadedLanguages:d,resolveLangAlias:o,loadLanguage:p,loadLanguageSync:f,loadTheme:h,loadThemeSync:m,dispose:_,[Symbol.dispose]:_}}async function pc(e){e.engine||oc("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,n,r]=await Promise.all([rc(e.themes||[]),nc(e.langs||[]),e.engine]);return fc({...e,themes:t,langs:n,engine:r})}async function mc(e){let t=await pc(e);return{getLastGrammarState:(...e)=>Ns(t,...e),codeToTokensBase:(e,n)=>Ms(t,e,n),codeToTokensWithThemes:(e,n)=>Vs(t,e,n),codeToTokens:(e,n)=>Us(t,e,n),codeToHast:(e,n)=>Gs(t,e,n),codeToHtml:(e,n)=>Zs(t,e,n),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function hc(e){let t=e.langs,n=e.themes,r=e.engine;async function i(e){function i(n){if(typeof n==`string`){if(n=e.langAlias?.[n]||n,Yo(n))return[];let r=t[n];if(!r)throw new Qn(`Language \`${n}\` is not included in this bundle. You may want to load it from external source.`);return r}return n}function a(e){if(Zo(e))return`none`;if(typeof e==`string`){let t=n[e];if(!t)throw new Qn(`Theme \`${e}\` is not included in this bundle. You may want to load it from external source.`);return t}return e}let o=(e.themes??[]).map(e=>a(e)),s=(e.langs??[]).map(e=>i(e)),c=await mc({engine:e.engine??r(),...e,themes:o,langs:s});return{...c,loadLanguage(...e){return c.loadLanguage(...e.map(i))},loadTheme(...e){return c.loadTheme(...e.map(a))},getBundledLanguages(){return t},getBundledThemes(){return n}}}return i}function gc(e){let t;async function n(n={}){if(t){let e=await t;return await Promise.all([e.loadTheme(...n.themes||[]),e.loadLanguage(...n.langs||[])]),e}else{t=e({...n,themes:[],langs:[]});let r=await t;return await Promise.all([r.loadTheme(...n.themes||[]),r.loadLanguage(...n.langs||[])]),r}}return n}function _c(e,t){let n=gc(e);async function r(e,r){let i=await n({langs:[r.lang],themes:`theme`in r?[r.theme]:Object.values(r.themes)}),a=await t?.guessEmbeddedLanguages?.(e,r.lang,i);return a&&await i.loadLanguage(...a),i}return{getSingletonHighlighter(e){return n(e)},async codeToHtml(e,t){return(await r(e,t)).codeToHtml(e,t)},async codeToHast(e,t){return(await r(e,t)).codeToHast(e,t)},async codeToTokens(e,t){return(await r(e,t)).codeToTokens(e,t)},async codeToTokensBase(e,t){return(await r(e,t)).codeToTokensBase(e,t)},async codeToTokensWithThemes(e,t){return(await r(e,t)).codeToTokensWithThemes(e,t)},async getLastGrammarState(e,t){return(await n({langs:[t.lang],themes:[t.theme]})).getLastGrammarState(e,t)}}}var vc=`modulepreload`,yc=function(e){return`/`+e},bc={},J=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=yc(t,n),t in bc)return;bc[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:vc,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},xc=[{id:`abap`,name:`ABAP`,import:(()=>J(()=>import(`./abap-cWYhO34H.js`),[]))},{id:`actionscript-3`,name:`ActionScript`,import:(()=>J(()=>import(`./actionscript-3-B80ndJsD.js`),[]))},{id:`ada`,name:`Ada`,import:(()=>J(()=>import(`./ada-C0C0SoYB.js`),[]))},{id:`angular-html`,name:`Angular HTML`,import:(()=>J(()=>import(`./angular-html-CBcwKYDC.js`).then(e=>e.n),__vite__mapDeps([0,1,2,3])))},{id:`angular-ts`,name:`Angular TypeScript`,import:(()=>J(()=>import(`./angular-ts-DRBYUaJA.js`),__vite__mapDeps([4,0,1,2,3,5])))},{id:`apache`,name:`Apache Conf`,import:(()=>J(()=>import(`./apache-DBwBm4bB.js`),[]))},{id:`apex`,name:`Apex`,import:(()=>J(()=>import(`./apex-FcV7UxQi.js`),[]))},{id:`apl`,name:`APL`,import:(()=>J(()=>import(`./apl-BM0X8jeL.js`),__vite__mapDeps([6,2,1,3,7,8,9])))},{id:`applescript`,name:`AppleScript`,import:(()=>J(()=>import(`./applescript-hQs8VNpS.js`),[]))},{id:`ara`,name:`Ara`,import:(()=>J(()=>import(`./ara-BOadBOZg.js`),[]))},{id:`asciidoc`,name:`AsciiDoc`,aliases:[`adoc`],import:(()=>J(()=>import(`./asciidoc-BsfqiBck.js`),[]))},{id:`asm`,name:`Assembly`,import:(()=>J(()=>import(`./asm-C2vUqzqz.js`),[]))},{id:`astro`,name:`Astro`,import:(()=>J(()=>import(`./astro-DKTNkoRZ.js`),__vite__mapDeps([10,2,3,7,11,12,13])))},{id:`awk`,name:`AWK`,import:(()=>J(()=>import(`./awk-D4e-eeZT.js`),[]))},{id:`ballerina`,name:`Ballerina`,import:(()=>J(()=>import(`./ballerina-BzvFqbha.js`),[]))},{id:`bat`,name:`Batch File`,aliases:[`batch`],import:(()=>J(()=>import(`./bat-CFyw2ERn.js`),[]))},{id:`beancount`,name:`Beancount`,import:(()=>J(()=>import(`./beancount-a6Gsu5WX.js`),[]))},{id:`berry`,name:`Berry`,aliases:[`be`],import:(()=>J(()=>import(`./berry-C2jyz4Ah.js`),[]))},{id:`bibtex`,name:`BibTeX`,import:(()=>J(()=>import(`./bibtex-Dyet-B83.js`),[]))},{id:`bicep`,name:`Bicep`,import:(()=>J(()=>import(`./bicep-CghvUIvy.js`),[]))},{id:`bird2`,name:`BIRD2 Configuration`,aliases:[`bird`],import:(()=>J(()=>import(`./bird2-nHigvs-R.js`),[]))},{id:`blade`,name:`Blade`,import:(()=>J(()=>import(`./blade-DaM7a9Zp.js`),__vite__mapDeps([14,2,15,1,3,7,16,8,9])))},{id:`bsl`,name:`1C (Enterprise)`,aliases:[`1c`],import:(()=>J(()=>import(`./bsl-BrHd4RA2.js`),__vite__mapDeps([17,18])))},{id:`c`,name:`C`,import:(()=>J(()=>import(`./c-B3C0Or4o.js`).then(e=>e.n),[]))},{id:`c3`,name:`C3`,import:(()=>J(()=>import(`./c3-9ZrcmAmr.js`),[]))},{id:`cadence`,name:`Cadence`,aliases:[`cdc`],import:(()=>J(()=>import(`./cadence-BPDgYNWy.js`),[]))},{id:`cairo`,name:`Cairo`,import:(()=>J(()=>import(`./cairo-BDZ6TRZS.js`),__vite__mapDeps([19,20])))},{id:`clarity`,name:`Clarity`,import:(()=>J(()=>import(`./clarity-Cmao5KSK.js`),[]))},{id:`clojure`,name:`Clojure`,aliases:[`clj`],import:(()=>J(()=>import(`./clojure-D2dPuTkk.js`),[]))},{id:`cmake`,name:`CMake`,import:(()=>J(()=>import(`./cmake-DaqQuj4A.js`),[]))},{id:`cobol`,name:`COBOL`,import:(()=>J(()=>import(`./cobol-De9QR_Td.js`),__vite__mapDeps([21,1,2,3,9])))},{id:`codeowners`,name:`CODEOWNERS`,import:(()=>J(()=>import(`./codeowners-B748jmvc.js`),[]))},{id:`codeql`,name:`CodeQL`,aliases:[`ql`],import:(()=>J(()=>import(`./codeql-CXb_8gHR.js`),[]))},{id:`coffee`,name:`CoffeeScript`,aliases:[`coffeescript`],import:(()=>J(()=>import(`./coffee-Ct_GvuHP.js`),__vite__mapDeps([22,3])))},{id:`common-lisp`,name:`Common Lisp`,aliases:[`lisp`],import:(()=>J(()=>import(`./common-lisp-UZn9nc_5.js`),[]))},{id:`coq`,name:`Coq`,import:(()=>J(()=>import(`./coq-DtO6yBIf.js`),[]))},{id:`cpp`,name:`C++`,aliases:[`c++`],import:(()=>J(()=>import(`./cpp-Dw52w9cj.js`).then(e=>e.n),__vite__mapDeps([23,24,25,26,16])))},{id:`crystal`,name:`Crystal`,import:(()=>J(()=>import(`./crystal-Dx8ADdsd.js`),__vite__mapDeps([27,25,2,1,3,28,16])))},{id:`csharp`,name:`C#`,aliases:[`c#`,`cs`],import:(()=>J(()=>import(`./csharp-C3YlYcLV.js`),[]))},{id:`css`,name:`CSS`,import:(()=>J(()=>import(`./css-CZ13XvDU.js`).then(e=>e.n),[]))},{id:`csv`,name:`CSV`,import:(()=>J(()=>import(`./csv-BBwiVr0X.js`),[]))},{id:`cue`,name:`CUE`,import:(()=>J(()=>import(`./cue-ScBFXY5f.js`),[]))},{id:`cypher`,name:`Cypher`,aliases:[`cql`],import:(()=>J(()=>import(`./cypher-CGStaC1X.js`),[]))},{id:`d`,name:`D`,import:(()=>J(()=>import(`./d-CuTCIvnX.js`),[]))},{id:`dart`,name:`Dart`,import:(()=>J(()=>import(`./dart-CqEodbm2.js`),[]))},{id:`dax`,name:`DAX`,import:(()=>J(()=>import(`./dax-UdE5S0Dh.js`),[]))},{id:`desktop`,name:`Desktop`,import:(()=>J(()=>import(`./desktop-DfmsfHJA.js`),[]))},{id:`diff`,name:`Diff`,import:(()=>J(()=>import(`./diff-CW0RWGd9.js`),[]))},{id:`docker`,name:`Dockerfile`,aliases:[`dockerfile`],import:(()=>J(()=>import(`./docker-B1qtW4ha.js`),[]))},{id:`dotenv`,name:`dotEnv`,import:(()=>J(()=>import(`./dotenv-BUzOh1k8.js`),[]))},{id:`dream-maker`,name:`Dream Maker`,import:(()=>J(()=>import(`./dream-maker-CBvk18nW.js`),[]))},{id:`edge`,name:`Edge`,import:(()=>J(()=>import(`./edge-CQCjdJKj.js`),__vite__mapDeps([29,15,1,2,3,13])))},{id:`elixir`,name:`Elixir`,import:(()=>J(()=>import(`./elixir-bkjwPazA.js`),__vite__mapDeps([30,1,2,3])))},{id:`elm`,name:`Elm`,import:(()=>J(()=>import(`./elm-CCweX5Cq.js`),__vite__mapDeps([31,24,25])))},{id:`emacs-lisp`,name:`Emacs Lisp`,aliases:[`elisp`],import:(()=>J(()=>import(`./emacs-lisp-DvSgLhDc.js`),[]))},{id:`erb`,name:`ERB`,import:(()=>J(()=>import(`./erb-D-Z-KBLp.js`),__vite__mapDeps([32,1,2,3,33,25,23,24,26,16,34,35,12,13,36,37,28,8,9,38])))},{id:`erlang`,name:`Erlang`,aliases:[`erl`],import:(()=>J(()=>import(`./erlang-cuhwpmsu.js`),__vite__mapDeps([39,40])))},{id:`fennel`,name:`Fennel`,import:(()=>J(()=>import(`./fennel-C-1kWlGf.js`),[]))},{id:`fish`,name:`Fish`,import:(()=>J(()=>import(`./fish-CCpdtwqS.js`),[]))},{id:`fluent`,name:`Fluent`,aliases:[`ftl`],import:(()=>J(()=>import(`./fluent-BLg032oD.js`),[]))},{id:`fortran-fixed-form`,name:`Fortran (Fixed Form)`,aliases:[`f`,`for`,`f77`],import:(()=>J(()=>import(`./fortran-fixed-form-DWr0EnJn.js`),__vite__mapDeps([41,42])))},{id:`fortran-free-form`,name:`Fortran (Free Form)`,aliases:[`f90`,`f95`,`f03`,`f08`,`f18`],import:(()=>J(()=>import(`./fortran-free-form-Br4jRtSc.js`),[]))},{id:`fsharp`,name:`F#`,aliases:[`f#`,`fs`],import:(()=>J(()=>import(`./fsharp-CQ5iYSPA.js`),__vite__mapDeps([43,40])))},{id:`gdresource`,name:`GDResource`,aliases:[`tscn`,`tres`],import:(()=>J(()=>import(`./gdresource-CN-lsNu5.js`),__vite__mapDeps([44,45,46])))},{id:`gdscript`,name:`GDScript`,aliases:[`gd`],import:(()=>J(()=>import(`./gdscript-hSAZM1eh.js`),[]))},{id:`gdshader`,name:`GDShader`,import:(()=>J(()=>import(`./gdshader-D4XNAEs9.js`),[]))},{id:`genie`,name:`Genie`,import:(()=>J(()=>import(`./genie-DmN-ICAN.js`),[]))},{id:`gherkin`,name:`Gherkin`,import:(()=>J(()=>import(`./gherkin-cuHHmRcX.js`),[]))},{id:`git-commit`,name:`Git Commit Message`,import:(()=>J(()=>import(`./git-commit-6e79eN7Q.js`),__vite__mapDeps([47,48])))},{id:`git-rebase`,name:`Git Rebase Message`,import:(()=>J(()=>import(`./git-rebase-BdoFdenB.js`),__vite__mapDeps([49,28])))},{id:`gleam`,name:`Gleam`,import:(()=>J(()=>import(`./gleam-D8VhqPDN.js`),[]))},{id:`glimmer-js`,name:`Glimmer JS`,aliases:[`gjs`],import:(()=>J(()=>import(`./glimmer-js-CZQrBJKq.js`),__vite__mapDeps([50,2,1,3,13])))},{id:`glimmer-ts`,name:`Glimmer TS`,aliases:[`gts`],import:(()=>J(()=>import(`./glimmer-ts-CBYW46D4.js`),__vite__mapDeps([51,2,1,3,13])))},{id:`glsl`,name:`GLSL`,import:(()=>J(()=>import(`./glsl-wxixKkY_.js`).then(e=>e.n),__vite__mapDeps([24,25])))},{id:`gn`,name:`GN`,import:(()=>J(()=>import(`./gn-BjGRlX27.js`),[]))},{id:`gnuplot`,name:`Gnuplot`,import:(()=>J(()=>import(`./gnuplot-BZCXuE4q.js`),[]))},{id:`go`,name:`Go`,import:(()=>J(()=>import(`./go-BJpWXZEs.js`),[]))},{id:`graphql`,name:`GraphQL`,aliases:[`gql`],import:(()=>J(()=>import(`./graphql-CqZ0Lo5a.js`).then(e=>e.n),__vite__mapDeps([34,3,35,12,13])))},{id:`groovy`,name:`Groovy`,import:(()=>J(()=>import(`./groovy-D9w3Dn-z.js`),[]))},{id:`hack`,name:`Hack`,import:(()=>J(()=>import(`./hack-rqWymQRV.js`),__vite__mapDeps([52,1,2,3,16])))},{id:`haml`,name:`Ruby Haml`,import:(()=>J(()=>import(`./haml-DFw_IoGM.js`).then(e=>e.n),__vite__mapDeps([36,2,3])))},{id:`handlebars`,name:`Handlebars`,aliases:[`hbs`],import:(()=>J(()=>import(`./handlebars-3VmTVMYt.js`),__vite__mapDeps([53,2,1,3,38])))},{id:`haskell`,name:`Haskell`,aliases:[`hs`],import:(()=>J(()=>import(`./haskell-DqDdKEgk.js`),[]))},{id:`haxe`,name:`Haxe`,import:(()=>J(()=>import(`./haxe-DMg0jS3a.js`),[]))},{id:`hcl`,name:`HashiCorp HCL`,import:(()=>J(()=>import(`./hcl-SZIZUK_X.js`),[]))},{id:`hjson`,name:`Hjson`,import:(()=>J(()=>import(`./hjson-DF1VspiE.js`),[]))},{id:`hlsl`,name:`HLSL`,import:(()=>J(()=>import(`./hlsl-DPe9L0Dt.js`),[]))},{id:`html`,name:`HTML`,import:(()=>J(()=>import(`./html-C0Li76jB.js`).then(e=>e.n),__vite__mapDeps([1,2,3])))},{id:`html-derivative`,name:`HTML (Derivative)`,import:(()=>J(()=>import(`./html-derivative-CO-RQW8y.js`),__vite__mapDeps([15,1,2,3])))},{id:`http`,name:`HTTP`,import:(()=>J(()=>import(`./http-sPrZOeBY.js`),__vite__mapDeps([54,34,3,35,12,13,7,28,8,9])))},{id:`hurl`,name:`Hurl`,import:(()=>J(()=>import(`./hurl-DUoPe4Lc.js`),__vite__mapDeps([55,56,34,3,35,12,13,8,9])))},{id:`hxml`,name:`HXML`,import:(()=>J(()=>import(`./hxml-nwJci6H5.js`),__vite__mapDeps([57,58])))},{id:`hy`,name:`Hy`,import:(()=>J(()=>import(`./hy-B0f-B1mH.js`),[]))},{id:`imba`,name:`Imba`,import:(()=>J(()=>import(`./imba-Bq3j1cW5.js`),[]))},{id:`ini`,name:`INI`,aliases:[`properties`],import:(()=>J(()=>import(`./ini-BayloP2U.js`),[]))},{id:`java`,name:`Java`,import:(()=>J(()=>import(`./java-Cj0G6QRg.js`).then(e=>e.n),[]))},{id:`javascript`,name:`JavaScript`,aliases:[`js`,`cjs`,`mjs`],import:(()=>J(()=>import(`./javascript-d5SUuyWD.js`).then(e=>e.n),[]))},{id:`jinja`,name:`Jinja`,import:(()=>J(()=>import(`./jinja-BTw9k0vO.js`),__vite__mapDeps([59,1,2,3])))},{id:`jison`,name:`Jison`,import:(()=>J(()=>import(`./jison-9xSVvR1q.js`),__vite__mapDeps([60,3])))},{id:`json`,name:`JSON`,import:(()=>J(()=>import(`./json-DjAt53ka.js`).then(e=>e.n),[]))},{id:`json5`,name:`JSON5`,import:(()=>J(()=>import(`./json5-CRSfdIrY.js`),[]))},{id:`jsonc`,name:`JSON with Comments`,import:(()=>J(()=>import(`./jsonc-y4g9DQPx.js`),[]))},{id:`jsonl`,name:`JSON Lines`,import:(()=>J(()=>import(`./jsonl-D2paVn9r.js`),[]))},{id:`jsonnet`,name:`Jsonnet`,import:(()=>J(()=>import(`./jsonnet-CLH27mtz.js`),[]))},{id:`jssm`,name:`JSSM`,aliases:[`fsl`],import:(()=>J(()=>import(`./jssm-CPPYaqX-.js`),[]))},{id:`jsx`,name:`JSX`,import:(()=>J(()=>import(`./jsx-BX5KmQ7d.js`).then(e=>e.n),[]))},{id:`julia`,name:`Julia`,aliases:[`jl`],import:(()=>J(()=>import(`./julia-CLLx1dHC.js`),__vite__mapDeps([61,23,24,25,26,16,3,20,62])))},{id:`just`,name:`Just`,import:(()=>J(()=>import(`./just-C0v80bKe.js`),__vite__mapDeps([63,3,64,2,1,16,8,9,20,33,25,23,24,26,34,35,12,13,36,37,28,38])))},{id:`kdl`,name:`KDL`,import:(()=>J(()=>import(`./kdl-D1BQjjnw.js`),[]))},{id:`kotlin`,name:`Kotlin`,aliases:[`kt`,`kts`],import:(()=>J(()=>import(`./kotlin-ndCaDnf0.js`),[]))},{id:`kusto`,name:`Kusto`,aliases:[`kql`],import:(()=>J(()=>import(`./kusto-D-4nbkD3.js`),[]))},{id:`latex`,name:`LaTeX`,import:(()=>J(()=>import(`./latex-DY-oQfwO.js`),__vite__mapDeps([65,66,62])))},{id:`lean`,name:`Lean 4`,aliases:[`lean4`],import:(()=>J(()=>import(`./lean-YmtAsB0p.js`),[]))},{id:`less`,name:`Less`,import:(()=>J(()=>import(`./less-DyHub3ow.js`),[]))},{id:`liquid`,name:`Liquid`,import:(()=>J(()=>import(`./liquid-DDHDgbZx.js`),__vite__mapDeps([67,2,1,3,7])))},{id:`llvm`,name:`LLVM IR`,import:(()=>J(()=>import(`./llvm-DCcqrY0D.js`),[]))},{id:`log`,name:`Log file`,import:(()=>J(()=>import(`./log-DWAAMNbe.js`),[]))},{id:`logo`,name:`Logo`,import:(()=>J(()=>import(`./logo-ClQMGkNL.js`),[]))},{id:`lua`,name:`Lua`,import:(()=>J(()=>import(`./lua-CXymerKS.js`).then(e=>e.n),__vite__mapDeps([37,25])))},{id:`luau`,name:`Luau`,import:(()=>J(()=>import(`./luau-CmcXFvLt.js`),[]))},{id:`make`,name:`Makefile`,aliases:[`makefile`],import:(()=>J(()=>import(`./make-DcfJyUzm.js`),[]))},{id:`markdown`,name:`Markdown`,aliases:[`md`],import:(()=>J(()=>import(`./markdown-DXxotAxn.js`),[]))},{id:`marko`,name:`Marko`,import:(()=>J(()=>import(`./marko-DoPFsptl.js`),__vite__mapDeps([68,2,69,5,13])))},{id:`matlab`,name:`MATLAB`,import:(()=>J(()=>import(`./matlab-BlfbTznR.js`),[]))},{id:`mdc`,name:`MDC`,import:(()=>J(()=>import(`./mdc-BxSmTphd.js`),__vite__mapDeps([70,15,1,2,3,40,38])))},{id:`mdx`,name:`MDX`,import:(()=>J(()=>import(`./mdx-H8fyPQd8.js`),[]))},{id:`mermaid`,name:`Mermaid`,aliases:[`mmd`],import:(()=>J(()=>import(`./mermaid-CWAV2dmV.js`),[]))},{id:`mipsasm`,name:`MIPS Assembly`,aliases:[`mips`],import:(()=>J(()=>import(`./mipsasm-BWYFAm2s.js`),[]))},{id:`mojo`,name:`Mojo`,import:(()=>J(()=>import(`./mojo-DZcPJEIN.js`),[]))},{id:`moonbit`,name:`MoonBit`,aliases:[`mbt`,`mbti`],import:(()=>J(()=>import(`./moonbit-6eslNlJL.js`),[]))},{id:`move`,name:`Move`,import:(()=>J(()=>import(`./move-DxFc9-QU.js`),[]))},{id:`narrat`,name:`Narrat Language`,aliases:[`nar`],import:(()=>J(()=>import(`./narrat-gv38dJOT.js`),[]))},{id:`nextflow`,name:`Nextflow`,aliases:[`nf`],import:(()=>J(()=>import(`./nextflow-DSfydIxt.js`),__vite__mapDeps([71,72])))},{id:`nextflow-groovy`,name:`nextflow-groovy`,import:(()=>J(()=>import(`./nextflow-groovy-DV4H3hok.js`),[]))},{id:`nginx`,name:`Nginx`,import:(()=>J(()=>import(`./nginx-Bma0jNOT.js`),__vite__mapDeps([73,37,25])))},{id:`nim`,name:`Nim`,import:(()=>J(()=>import(`./nim-DMBpjygU.js`),__vite__mapDeps([74,25,2,24,1,3,40,8,9])))},{id:`nix`,name:`Nix`,import:(()=>J(()=>import(`./nix-NlOz3HGM.js`),[]))},{id:`nushell`,name:`nushell`,aliases:[`nu`],import:(()=>J(()=>import(`./nushell-D86Z8aFF.js`),[]))},{id:`objective-c`,name:`Objective-C`,aliases:[`objc`],import:(()=>J(()=>import(`./objective-c-iuJvUjCv.js`),[]))},{id:`objective-cpp`,name:`Objective-C++`,import:(()=>J(()=>import(`./objective-cpp-C62JvfMT.js`),[]))},{id:`ocaml`,name:`OCaml`,import:(()=>J(()=>import(`./ocaml-Rbryo9lg.js`),[]))},{id:`odin`,name:`Odin`,import:(()=>J(()=>import(`./odin-CfaOVNP_.js`),[]))},{id:`openscad`,name:`OpenSCAD`,aliases:[`scad`],import:(()=>J(()=>import(`./openscad-DCRhgheK.js`),[]))},{id:`pascal`,name:`Pascal`,import:(()=>J(()=>import(`./pascal-CTesTHtV.js`),[]))},{id:`perl`,name:`Perl`,import:(()=>J(()=>import(`./perl-CrnrV-AJ.js`),__vite__mapDeps([64,2,1,3,16,8,9])))},{id:`php`,name:`PHP`,import:(()=>J(()=>import(`./php-CDYxzX6t.js`),__vite__mapDeps([75,2,1,3,7,16,8,9])))},{id:`pkl`,name:`Pkl`,import:(()=>J(()=>import(`./pkl-BjUMjQkt.js`),[]))},{id:`plsql`,name:`PL/SQL`,import:(()=>J(()=>import(`./plsql-BgKEZSSo.js`),[]))},{id:`po`,name:`Gettext PO`,aliases:[`pot`,`potx`],import:(()=>J(()=>import(`./po-C5s_CVt8.js`),[]))},{id:`polar`,name:`Polar`,import:(()=>J(()=>import(`./polar-y4hX8qM0.js`),[]))},{id:`postcss`,name:`PostCSS`,import:(()=>J(()=>import(`./postcss-BHCm7Qae.js`),[]))},{id:`powerquery`,name:`PowerQuery`,import:(()=>J(()=>import(`./powerquery-C2vMt8aZ.js`),[]))},{id:`powershell`,name:`PowerShell`,aliases:[`ps`,`ps1`],import:(()=>J(()=>import(`./powershell-DEcjmg1c.js`),[]))},{id:`prisma`,name:`Prisma`,import:(()=>J(()=>import(`./prisma-Ba-Tcxy5.js`),[]))},{id:`prolog`,name:`Prolog`,import:(()=>J(()=>import(`./prolog-B4o261Jv.js`),[]))},{id:`proto`,name:`Protocol Buffer 3`,aliases:[`protobuf`],import:(()=>J(()=>import(`./proto-o3IZKiMR.js`),[]))},{id:`pug`,name:`Pug`,aliases:[`jade`],import:(()=>J(()=>import(`./pug-DNewy3GU.js`),__vite__mapDeps([76,2,1,3])))},{id:`puppet`,name:`Puppet`,import:(()=>J(()=>import(`./puppet-BC0dqZ31.js`),[]))},{id:`purescript`,name:`PureScript`,import:(()=>J(()=>import(`./purescript-CLDw1y5G.js`),[]))},{id:`python`,name:`Python`,aliases:[`py`],import:(()=>J(()=>import(`./python-D1NFioGW.js`),[]))},{id:`qml`,name:`QML`,import:(()=>J(()=>import(`./qml-COjcnZ-W.js`),__vite__mapDeps([77,3])))},{id:`qmldir`,name:`QML Directory`,import:(()=>J(()=>import(`./qmldir-B7i9e9Vn.js`),[]))},{id:`qss`,name:`Qt Style Sheets`,import:(()=>J(()=>import(`./qss-DIe6oKX8.js`),[]))},{id:`r`,name:`R`,import:(()=>J(()=>import(`./r-CrCaMxLS.js`).then(e=>e.n),[]))},{id:`racket`,name:`Racket`,import:(()=>J(()=>import(`./racket-CAOC_yyk.js`),[]))},{id:`raku`,name:`Raku`,aliases:[`perl6`],import:(()=>J(()=>import(`./raku-Ccua3vW6.js`),[]))},{id:`razor`,name:`ASP.NET Razor`,import:(()=>J(()=>import(`./razor-jeuOZIar.js`),__vite__mapDeps([78,79,1,2,3])))},{id:`reg`,name:`Windows Registry Script`,import:(()=>J(()=>import(`./reg-CAYZT9kE.js`),[]))},{id:`regexp`,name:`RegExp`,aliases:[`regex`],import:(()=>J(()=>import(`./regexp-DSHVUX08.js`).then(e=>e.n),[]))},{id:`rel`,name:`Rel`,import:(()=>J(()=>import(`./rel-cvB6F5nO.js`),[]))},{id:`riscv`,name:`RISC-V`,import:(()=>J(()=>import(`./riscv-SYGtE4EN.js`),[]))},{id:`ron`,name:`RON`,import:(()=>J(()=>import(`./ron-CRt869SB.js`),[]))},{id:`rosmsg`,name:`ROS Interface`,import:(()=>J(()=>import(`./rosmsg-BwrfJ66Z.js`),[]))},{id:`rst`,name:`reStructuredText`,import:(()=>J(()=>import(`./rst-CIDgytzc.js`),__vite__mapDeps([80,81,23,24,25,26,16,15,1,2,3,20,33,34,35,12,13,36,37,28,8,9,38])))},{id:`ruby`,name:`Ruby`,aliases:[`rb`],import:(()=>J(()=>import(`./ruby-DtuseoNq.js`),__vite__mapDeps([33,25,23,24,26,16,2,34,3,35,12,13,36,1,37,28,8,9,38])))},{id:`rust`,name:`Rust`,aliases:[`rs`],import:(()=>J(()=>import(`./rust-DCKTTPxN.js`),[]))},{id:`sas`,name:`SAS`,import:(()=>J(()=>import(`./sas-C72Theia.js`),__vite__mapDeps([82,16])))},{id:`sass`,name:`Sass`,import:(()=>J(()=>import(`./sass-CorcwySt.js`),[]))},{id:`scala`,name:`Scala`,import:(()=>J(()=>import(`./scala-DlI-OmYj.js`),[]))},{id:`scheme`,name:`Scheme`,import:(()=>J(()=>import(`./scheme-CcNEGkZH.js`),[]))},{id:`scss`,name:`SCSS`,import:(()=>J(()=>import(`./scss-ClECtwRk.js`).then(e=>e.n),__vite__mapDeps([5,2])))},{id:`sdbl`,name:`1C (Query)`,aliases:[`1c-query`],import:(()=>J(()=>import(`./sdbl-AL_m-RO_.js`),[]))},{id:`shaderlab`,name:`ShaderLab`,aliases:[`shader`],import:(()=>J(()=>import(`./shaderlab-CbbQwRPF.js`),__vite__mapDeps([83,84])))},{id:`shellscript`,name:`Shell`,aliases:[`bash`,`sh`,`shell`,`zsh`],import:(()=>J(()=>import(`./shellscript-BCwBsi2k.js`).then(e=>e.n),[]))},{id:`shellsession`,name:`Shell Session`,aliases:[`console`],import:(()=>J(()=>import(`./shellsession-BrOddEl5.js`),__vite__mapDeps([85,28])))},{id:`smalltalk`,name:`Smalltalk`,import:(()=>J(()=>import(`./smalltalk-Y2ogrfbk.js`),[]))},{id:`solidity`,name:`Solidity`,import:(()=>J(()=>import(`./solidity-Bfbm9QZQ.js`),[]))},{id:`soy`,name:`Closure Templates`,aliases:[`closure-templates`],import:(()=>J(()=>import(`./soy-Dcs0GWFW.js`),__vite__mapDeps([86,1,2,3])))},{id:`sparql`,name:`SPARQL`,import:(()=>J(()=>import(`./sparql-DEoxFJ5d.js`),__vite__mapDeps([87,88])))},{id:`splunk`,name:`Splunk Query Language`,aliases:[`spl`],import:(()=>J(()=>import(`./splunk-6DJA2XFa.js`),[]))},{id:`sql`,name:`SQL`,import:(()=>J(()=>import(`./sql-BAjA7Gv7.js`).then(e=>e.n),[]))},{id:`ssh-config`,name:`SSH Config`,import:(()=>J(()=>import(`./ssh-config-CbQtdF-u.js`),[]))},{id:`stata`,name:`Stata`,import:(()=>J(()=>import(`./stata-19ngQtzR.js`),__vite__mapDeps([89,16])))},{id:`stylus`,name:`Stylus`,aliases:[`styl`],import:(()=>J(()=>import(`./stylus-B_iq45Sj.js`),[]))},{id:`surrealql`,name:`SurrealQL`,aliases:[`surql`],import:(()=>J(()=>import(`./surrealql-Ce2TBRjE.js`),__vite__mapDeps([90,3])))},{id:`svelte`,name:`Svelte`,import:(()=>J(()=>import(`./svelte-DQ_1eGZz.js`),__vite__mapDeps([91,2,3,11,13])))},{id:`swift`,name:`Swift`,import:(()=>J(()=>import(`./swift-C7KIgN-p.js`),[]))},{id:`system-verilog`,name:`SystemVerilog`,import:(()=>J(()=>import(`./system-verilog-C3G9wERd.js`),[]))},{id:`systemd`,name:`Systemd Units`,import:(()=>J(()=>import(`./systemd-CwxGrojj.js`),[]))},{id:`talonscript`,name:`TalonScript`,aliases:[`talon`],import:(()=>J(()=>import(`./talonscript-DqnSo1EO.js`),[]))},{id:`tasl`,name:`Tasl`,import:(()=>J(()=>import(`./tasl-T8ethp86.js`),[]))},{id:`tcl`,name:`Tcl`,import:(()=>J(()=>import(`./tcl-Ccl366o0.js`),[]))},{id:`templ`,name:`Templ`,import:(()=>J(()=>import(`./templ-Cw2DDxWF.js`),__vite__mapDeps([92,2,93,3])))},{id:`terraform`,name:`Terraform`,aliases:[`tf`,`tfvars`],import:(()=>J(()=>import(`./terraform-BBf6ZI_0.js`),[]))},{id:`tex`,name:`TeX`,import:(()=>J(()=>import(`./tex-myDSO2eP.js`),__vite__mapDeps([66,62])))},{id:`toml`,name:`TOML`,import:(()=>J(()=>import(`./toml-C5Z_BR4r.js`),[]))},{id:`ts-tags`,name:`TypeScript with Tags`,aliases:[`lit`],import:(()=>J(()=>import(`./ts-tags-rh39ZwVs.js`),__vite__mapDeps([94,2,24,25,1,3,16,13,8,9])))},{id:`tsv`,name:`TSV`,import:(()=>J(()=>import(`./tsv-rX8sUJs7.js`),[]))},{id:`tsx`,name:`TSX`,import:(()=>J(()=>import(`./tsx-B0-26jrU.js`).then(e=>e.n),[]))},{id:`turtle`,name:`Turtle`,import:(()=>J(()=>import(`./turtle-BM-MG8WY.js`),[]))},{id:`twig`,name:`Twig`,import:(()=>J(()=>import(`./twig-CgasHzPb.js`),__vite__mapDeps([95,2,3,75,1,7,16,8,9,20,33,25,23,24,26,34,35,12,13,36,37,28,38,5])))},{id:`typescript`,name:`TypeScript`,aliases:[`ts`,`cts`,`mts`],import:(()=>J(()=>import(`./typescript-Dq3T0c-m.js`).then(e=>e.n),[]))},{id:`typespec`,name:`TypeSpec`,aliases:[`tsp`],import:(()=>J(()=>import(`./typespec-C5gKydvR.js`),[]))},{id:`typst`,name:`Typst`,aliases:[`typ`],import:(()=>J(()=>import(`./typst--_5VchrY.js`),[]))},{id:`v`,name:`V`,import:(()=>J(()=>import(`./v-C6PwpmTC.js`),[]))},{id:`vala`,name:`Vala`,import:(()=>J(()=>import(`./vala-4pTaceSj.js`),[]))},{id:`vb`,name:`Visual Basic`,aliases:[`cmd`],import:(()=>J(()=>import(`./vb-DhoR5A6S.js`),[]))},{id:`verilog`,name:`Verilog`,import:(()=>J(()=>import(`./verilog-B9f_1lPn.js`),[]))},{id:`vhdl`,name:`VHDL`,import:(()=>J(()=>import(`./vhdl-Cy4RAmOe.js`),[]))},{id:`viml`,name:`Vim Script`,aliases:[`vim`,`vimscript`],import:(()=>J(()=>import(`./viml-CFQW-CcD.js`),[]))},{id:`vue`,name:`Vue`,import:(()=>J(()=>import(`./vue-CzFVh92-.js`),__vite__mapDeps([96,2,15,1,3,7,13])))},{id:`vue-html`,name:`Vue HTML`,import:(()=>J(()=>import(`./vue-html-Bv2uFkTH.js`),__vite__mapDeps([97,3])))},{id:`vue-vine`,name:`Vue Vine`,import:(()=>J(()=>import(`./vue-vine-DzieBk9Y.js`),__vite__mapDeps([98,2,3,69,11,5,99])))},{id:`vyper`,name:`Vyper`,aliases:[`vy`],import:(()=>J(()=>import(`./vyper-BW5zj9bE.js`),[]))},{id:`wasm`,name:`WebAssembly`,import:(()=>J(()=>import(`./wasm-BigxSLnm.js`),[]))},{id:`wenyan`,name:`Wenyan`,aliases:[`文言`],import:(()=>J(()=>import(`./wenyan-BZzM1SQT.js`),[]))},{id:`wgsl`,name:`WGSL`,import:(()=>J(()=>import(`./wgsl-xBPHbLlq.js`),[]))},{id:`wikitext`,name:`Wikitext`,aliases:[`mediawiki`,`wiki`],import:(()=>J(()=>import(`./wikitext-BXJWUNJK.js`),[]))},{id:`wit`,name:`WebAssembly Interface Types`,import:(()=>J(()=>import(`./wit-2GnUs67P.js`),[]))},{id:`wolfram`,name:`Wolfram`,aliases:[`wl`],import:(()=>J(()=>import(`./wolfram-DIFDmw-g.js`),[]))},{id:`xml`,name:`XML`,import:(()=>J(()=>import(`./xml-wcdHRHN8.js`).then(e=>e.n),__vite__mapDeps([8,9])))},{id:`xsl`,name:`XSL`,import:(()=>J(()=>import(`./xsl-CXrwsLG9.js`),__vite__mapDeps([100,8,9])))},{id:`yaml`,name:`YAML`,aliases:[`yml`],import:(()=>J(()=>import(`./yaml-lO6lK6Xe.js`).then(e=>e.n),[]))},{id:`zenscript`,name:`ZenScript`,import:(()=>J(()=>import(`./zenscript-DQaUUjbx.js`),[]))},{id:`zig`,name:`Zig`,import:(()=>J(()=>import(`./zig-BDepRvBi.js`),[]))}],Sc=Object.fromEntries(xc.map(e=>[e.id,e.import])),Cc=Object.fromEntries(xc.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),wc={...Sc,...Cc},Tc=Object.fromEntries([{id:`andromeeda`,displayName:`Andromeeda`,type:`dark`,import:(()=>J(()=>import(`./andromeeda-Ch2kWS7s.js`),[]))},{id:`aurora-x`,displayName:`Aurora X`,type:`dark`,import:(()=>J(()=>import(`./aurora-x-BHLqzt7j.js`),[]))},{id:`ayu-dark`,displayName:`Ayu Dark`,type:`dark`,import:(()=>J(()=>import(`./ayu-dark-DCotN_ZT.js`),[]))},{id:`ayu-light`,displayName:`Ayu Light`,type:`light`,import:(()=>J(()=>import(`./ayu-light-CKB6o_im.js`),[]))},{id:`ayu-mirage`,displayName:`Ayu Mirage`,type:`dark`,import:(()=>J(()=>import(`./ayu-mirage-B38lW-C5.js`),[]))},{id:`catppuccin-frappe`,displayName:`Catppuccin Frappé`,type:`dark`,import:(()=>J(()=>import(`./catppuccin-frappe-BY_2ofjk.js`),[]))},{id:`catppuccin-latte`,displayName:`Catppuccin Latte`,type:`light`,import:(()=>J(()=>import(`./catppuccin-latte-D6GXPBmA.js`),[]))},{id:`catppuccin-macchiato`,displayName:`Catppuccin Macchiato`,type:`dark`,import:(()=>J(()=>import(`./catppuccin-macchiato-BuW8_cyo.js`),[]))},{id:`catppuccin-mocha`,displayName:`Catppuccin Mocha`,type:`dark`,import:(()=>J(()=>import(`./catppuccin-mocha-znex9DPe.js`),[]))},{id:`dark-plus`,displayName:`Dark Plus`,type:`dark`,import:(()=>J(()=>import(`./dark-plus-BvePH-r3.js`),[]))},{id:`dracula`,displayName:`Dracula Theme`,type:`dark`,import:(()=>J(()=>import(`./dracula-kJQjC_Gy.js`),[]))},{id:`dracula-soft`,displayName:`Dracula Theme Soft`,type:`dark`,import:(()=>J(()=>import(`./dracula-soft-B3XhEjCl.js`),[]))},{id:`everforest-dark`,displayName:`Everforest Dark`,type:`dark`,import:(()=>J(()=>import(`./everforest-dark-u0zLn75q.js`),[]))},{id:`everforest-light`,displayName:`Everforest Light`,type:`light`,import:(()=>J(()=>import(`./everforest-light-D3syIoAR.js`),[]))},{id:`github-dark`,displayName:`GitHub Dark`,type:`dark`,import:(()=>J(()=>import(`./github-dark-CEBLh0--.js`),[]))},{id:`github-dark-default`,displayName:`GitHub Dark Default`,type:`dark`,import:(()=>J(()=>import(`./github-dark-default-Dq0Z4Xai.js`),[]))},{id:`github-dark-dimmed`,displayName:`GitHub Dark Dimmed`,type:`dark`,import:(()=>J(()=>import(`./github-dark-dimmed-D90YmS4w.js`),[]))},{id:`github-dark-high-contrast`,displayName:`GitHub Dark High Contrast`,type:`dark`,import:(()=>J(()=>import(`./github-dark-high-contrast-B6BWv1iC.js`),[]))},{id:`github-light`,displayName:`GitHub Light`,type:`light`,import:(()=>J(()=>import(`./github-light-lXSVSq5T.js`),[]))},{id:`github-light-default`,displayName:`GitHub Light Default`,type:`light`,import:(()=>J(()=>import(`./github-light-default-DsPWmj4v.js`),[]))},{id:`github-light-high-contrast`,displayName:`GitHub Light High Contrast`,type:`light`,import:(()=>J(()=>import(`./github-light-high-contrast-C7aLb3kp.js`),[]))},{id:`gruvbox-dark-hard`,displayName:`Gruvbox Dark Hard`,type:`dark`,import:(()=>J(()=>import(`./gruvbox-dark-hard-_deksD0U.js`),[]))},{id:`gruvbox-dark-medium`,displayName:`Gruvbox Dark Medium`,type:`dark`,import:(()=>J(()=>import(`./gruvbox-dark-medium-CT31284j.js`),[]))},{id:`gruvbox-dark-soft`,displayName:`Gruvbox Dark Soft`,type:`dark`,import:(()=>J(()=>import(`./gruvbox-dark-soft-BZuEUCbj.js`),[]))},{id:`gruvbox-light-hard`,displayName:`Gruvbox Light Hard`,type:`light`,import:(()=>J(()=>import(`./gruvbox-light-hard-dxv4n_ZS.js`),[]))},{id:`gruvbox-light-medium`,displayName:`Gruvbox Light Medium`,type:`light`,import:(()=>J(()=>import(`./gruvbox-light-medium-BsW_fVfR.js`),[]))},{id:`gruvbox-light-soft`,displayName:`Gruvbox Light Soft`,type:`light`,import:(()=>J(()=>import(`./gruvbox-light-soft-BiGy99gD.js`),[]))},{id:`horizon`,displayName:`Horizon`,type:`dark`,import:(()=>J(()=>import(`./horizon-Ngud75Kn.js`),[]))},{id:`horizon-bright`,displayName:`Horizon Bright`,type:`dark`,import:(()=>J(()=>import(`./horizon-bright-Cnljd0XD.js`),[]))},{id:`houston`,displayName:`Houston`,type:`dark`,import:(()=>J(()=>import(`./houston-BenZxlMr.js`),[]))},{id:`kanagawa-dragon`,displayName:`Kanagawa Dragon`,type:`dark`,import:(()=>J(()=>import(`./kanagawa-dragon-Bt5mhLu1.js`),[]))},{id:`kanagawa-lotus`,displayName:`Kanagawa Lotus`,type:`light`,import:(()=>J(()=>import(`./kanagawa-lotus-FGA3pRJk.js`),[]))},{id:`kanagawa-wave`,displayName:`Kanagawa Wave`,type:`dark`,import:(()=>J(()=>import(`./kanagawa-wave-DnLVZPAD.js`),[]))},{id:`laserwave`,displayName:`LaserWave`,type:`dark`,import:(()=>J(()=>import(`./laserwave-D2qAZkaG.js`),[]))},{id:`light-plus`,displayName:`Light Plus`,type:`light`,import:(()=>J(()=>import(`./light-plus-CP13QUvm.js`),[]))},{id:`material-theme`,displayName:`Material Theme`,type:`dark`,import:(()=>J(()=>import(`./material-theme-JFoPTBSr.js`),[]))},{id:`material-theme-darker`,displayName:`Material Theme Darker`,type:`dark`,import:(()=>J(()=>import(`./material-theme-darker-BHaqZ19v.js`),[]))},{id:`material-theme-lighter`,displayName:`Material Theme Lighter`,type:`light`,import:(()=>J(()=>import(`./material-theme-lighter-CGnnS2bs.js`),[]))},{id:`material-theme-ocean`,displayName:`Material Theme Ocean`,type:`dark`,import:(()=>J(()=>import(`./material-theme-ocean-Drhewjqf.js`),[]))},{id:`material-theme-palenight`,displayName:`Material Theme Palenight`,type:`dark`,import:(()=>J(()=>import(`./material-theme-palenight-DbUypmpb.js`),[]))},{id:`min-dark`,displayName:`Min Dark`,type:`dark`,import:(()=>J(()=>import(`./min-dark-BEelvXUB.js`),[]))},{id:`min-light`,displayName:`Min Light`,type:`light`,import:(()=>J(()=>import(`./min-light-CTPBOACR.js`),[]))},{id:`monokai`,displayName:`Monokai`,type:`dark`,import:(()=>J(()=>import(`./monokai-DQlZXbkg.js`),[]))},{id:`night-owl`,displayName:`Night Owl`,type:`dark`,import:(()=>J(()=>import(`./night-owl-BLcrYhaC.js`),[]))},{id:`night-owl-light`,displayName:`Night Owl Light`,type:`light`,import:(()=>J(()=>import(`./night-owl-light-BG-tBJOz.js`),[]))},{id:`nord`,displayName:`Nord`,type:`dark`,import:(()=>J(()=>import(`./nord-Dm2F5_QB.js`),[]))},{id:`one-dark-pro`,displayName:`One Dark Pro`,type:`dark`,import:(()=>J(()=>import(`./one-dark-pro-DC9SHdX0.js`),[]))},{id:`one-light`,displayName:`One Light`,type:`light`,import:(()=>J(()=>import(`./one-light-Doo39p0H.js`),[]))},{id:`plastic`,displayName:`Plastic`,type:`dark`,import:(()=>J(()=>import(`./plastic-B3CcSpon.js`),[]))},{id:`poimandres`,displayName:`Poimandres`,type:`dark`,import:(()=>J(()=>import(`./poimandres-BsK70ma5.js`),[]))},{id:`red`,displayName:`Red`,type:`dark`,import:(()=>J(()=>import(`./red-DtDH206x.js`),[]))},{id:`rose-pine`,displayName:`Rosé Pine`,type:`dark`,import:(()=>J(()=>import(`./rose-pine-CjBfSJ5b.js`),[]))},{id:`rose-pine-dawn`,displayName:`Rosé Pine Dawn`,type:`light`,import:(()=>J(()=>import(`./rose-pine-dawn-C0xwy7iJ.js`),[]))},{id:`rose-pine-moon`,displayName:`Rosé Pine Moon`,type:`dark`,import:(()=>J(()=>import(`./rose-pine-moon-BSNy9Ty0.js`),[]))},{id:`slack-dark`,displayName:`Slack Dark`,type:`dark`,import:(()=>J(()=>import(`./slack-dark-rMhrfPm6.js`),[]))},{id:`slack-ochin`,displayName:`Slack Ochin`,type:`light`,import:(()=>J(()=>import(`./slack-ochin-9w8X74hU.js`),[]))},{id:`snazzy-light`,displayName:`Snazzy Light`,type:`light`,import:(()=>J(()=>import(`./snazzy-light-DHr9ygpP.js`),[]))},{id:`solarized-dark`,displayName:`Solarized Dark`,type:`dark`,import:(()=>J(()=>import(`./solarized-dark-UPcKev9Q.js`),[]))},{id:`solarized-light`,displayName:`Solarized Light`,type:`light`,import:(()=>J(()=>import(`./solarized-light-DUsjROvl.js`),[]))},{id:`synthwave-84`,displayName:`Synthwave '84`,type:`dark`,import:(()=>J(()=>import(`./synthwave-84-lf_Wt0K_.js`),[]))},{id:`tokyo-night`,displayName:`Tokyo Night`,type:`dark`,import:(()=>J(()=>import(`./tokyo-night-BF5ata25.js`),[]))},{id:`vesper`,displayName:`Vesper`,type:`dark`,import:(()=>J(()=>import(`./vesper-CmBi_iCT.js`),[]))},{id:`vitesse-black`,displayName:`Vitesse Black`,type:`dark`,import:(()=>J(()=>import(`./vitesse-black-CE8RoBJP.js`),[]))},{id:`vitesse-dark`,displayName:`Vitesse Dark`,type:`dark`,import:(()=>J(()=>import(`./vitesse-dark-BpF142p_.js`),[]))},{id:`vitesse-light`,displayName:`Vitesse Light`,type:`light`,import:(()=>J(()=>import(`./vitesse-light-CMwxPBrg.js`),[]))}].map(e=>[e.id,e.import])),Ec=class extends Error{constructor(e){super(e),this.name=`ShikiError`}};function Dc(){return 2147483648}function Oc(){return typeof performance<`u`?performance.now():Date.now()}var kc=(e,t)=>e+(t-e%t)%t;async function Ac(e){let t,n,r={};function i(e){n=e,r.HEAPU8=new Uint8Array(e),r.HEAPU32=new Uint32Array(e)}function a(e,t,n){r.HEAPU8.copyWithin(e,t,t+n)}function o(e){try{return t.grow(e-n.byteLength+65535>>>16),i(t.buffer),1}catch{}}function s(e){let t=r.HEAPU8.length;e>>>=0;let n=Dc();if(e>n)return!1;for(let r=1;r<=4;r*=2){let i=t*(1+.2/r);if(i=Math.min(i,e+100663296),o(Math.min(n,kc(Math.max(e,i),65536))))return!0}return!1}let c=typeof TextDecoder<`u`?new TextDecoder(`utf8`):void 0;function l(e,t,n=1024){let r=t+n,i=t;for(;e[i]&&!(i>=r);)++i;if(i-t>16&&e.buffer&&c)return c.decode(e.subarray(t,i));let a=``;for(;t<i;){let n=e[t++];if(!(n&128)){a+=String.fromCharCode(n);continue}let r=e[t++]&63;if((n&224)==192){a+=String.fromCharCode((n&31)<<6|r);continue}let i=e[t++]&63;if(n=(n&240)==224?(n&15)<<12|r<<6|i:(n&7)<<18|r<<12|i<<6|e[t++]&63,n<65536)a+=String.fromCharCode(n);else{let e=n-65536;a+=String.fromCharCode(55296|e>>10,56320|e&1023)}}return a}function u(e,t){return e?l(r.HEAPU8,e,t):``}let d={emscripten_get_now:Oc,emscripten_memcpy_big:a,emscripten_resize_heap:s,fd_write:()=>0};async function f(){let n=await e({env:d,wasi_snapshot_preview1:d});t=n.memory,i(t.buffer),Object.assign(r,n),r.UTF8ToString=u}return await f(),r}var jc=Object.defineProperty,Mc=(e,t,n)=>t in e?jc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Nc=(e,t,n)=>Mc(e,typeof t==`symbol`?t:t+``,n),Pc=null;function Fc(e){throw new Ec(e.UTF8ToString(e.getLastOnigError()))}var Ic=class e{constructor(t){Nc(this,`utf16Length`),Nc(this,`utf8Length`),Nc(this,`utf16Value`),Nc(this,`utf8Value`),Nc(this,`utf16OffsetToUtf8`),Nc(this,`utf8OffsetToUtf16`);let n=t.length,r=e._utf8ByteLength(t),i=r!==n,a=i?new Uint32Array(n+1):null;i&&(a[n]=r);let o=i?new Uint32Array(r+1):null;i&&(o[r]=n);let s=new Uint8Array(r),c=0;for(let e=0;e<n;e++){let r=t.charCodeAt(e),l=r,u=!1;if(r>=55296&&r<=56319&&e+1<n){let n=t.charCodeAt(e+1);n>=56320&&n<=57343&&(l=(r-55296<<10)+65536|n-56320,u=!0)}i&&(a[e]=c,u&&(a[e+1]=c),l<=127?o[c+0]=e:l<=2047?(o[c+0]=e,o[c+1]=e):l<=65535?(o[c+0]=e,o[c+1]=e,o[c+2]=e):(o[c+0]=e,o[c+1]=e,o[c+2]=e,o[c+3]=e)),l<=127?s[c++]=l:l<=2047?(s[c++]=192|(l&1984)>>>6,s[c++]=128|(l&63)>>>0):l<=65535?(s[c++]=224|(l&61440)>>>12,s[c++]=128|(l&4032)>>>6,s[c++]=128|(l&63)>>>0):(s[c++]=240|(l&1835008)>>>18,s[c++]=128|(l&258048)>>>12,s[c++]=128|(l&4032)>>>6,s[c++]=128|(l&63)>>>0),u&&e++}this.utf16Length=n,this.utf8Length=r,this.utf16Value=t,this.utf8Value=s,this.utf16OffsetToUtf8=a,this.utf8OffsetToUtf16=o}static _utf8ByteLength(e){let t=0;for(let n=0,r=e.length;n<r;n++){let i=e.charCodeAt(n),a=i,o=!1;if(i>=55296&&i<=56319&&n+1<r){let t=e.charCodeAt(n+1);t>=56320&&t<=57343&&(a=(i-55296<<10)+65536|t-56320,o=!0)}a<=127?t+=1:a<=2047?t+=2:a<=65535?t+=3:t+=4,o&&n++}return t}createString(e){let t=e.omalloc(this.utf8Length);return e.HEAPU8.set(this.utf8Value,t),t}},Lc=class e{constructor(t){if(Nc(this,`id`,++e.LAST_ID),Nc(this,`_onigBinding`),Nc(this,`content`),Nc(this,`utf16Length`),Nc(this,`utf8Length`),Nc(this,`utf16OffsetToUtf8`),Nc(this,`utf8OffsetToUtf16`),Nc(this,`ptr`),!Pc)throw new Ec(`Must invoke loadWasm first.`);this._onigBinding=Pc,this.content=t;let n=new Ic(t);this.utf16Length=n.utf16Length,this.utf8Length=n.utf8Length,this.utf16OffsetToUtf8=n.utf16OffsetToUtf8,this.utf8OffsetToUtf16=n.utf8OffsetToUtf16,this.utf8Length<1e4&&!e._sharedPtrInUse?(e._sharedPtr||=Pc.omalloc(1e4),e._sharedPtrInUse=!0,Pc.HEAPU8.set(n.utf8Value,e._sharedPtr),this.ptr=e._sharedPtr):this.ptr=n.createString(Pc)}convertUtf8OffsetToUtf16(e){return this.utf8OffsetToUtf16?e<0?0:e>this.utf8Length?this.utf16Length:this.utf8OffsetToUtf16[e]:e}convertUtf16OffsetToUtf8(e){return this.utf16OffsetToUtf8?e<0?0:e>this.utf16Length?this.utf8Length:this.utf16OffsetToUtf8[e]:e}dispose(){this.ptr===e._sharedPtr?e._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};Nc(Lc,`LAST_ID`,0),Nc(Lc,`_sharedPtr`,0),Nc(Lc,`_sharedPtrInUse`,!1);var Rc=Lc,zc=class{constructor(e){if(Nc(this,`_onigBinding`),Nc(this,`_ptr`),!Pc)throw new Ec(`Must invoke loadWasm first.`);let t=[],n=[];for(let r=0,i=e.length;r<i;r++){let i=new Ic(e[r]);t[r]=i.createString(Pc),n[r]=i.utf8Length}let r=Pc.omalloc(4*e.length);Pc.HEAPU32.set(t,r/4);let i=Pc.omalloc(4*e.length);Pc.HEAPU32.set(n,i/4);let a=Pc.createOnigScanner(r,i,e.length);for(let n=0,r=e.length;n<r;n++)Pc.ofree(t[n]);Pc.ofree(i),Pc.ofree(r),a===0&&Fc(Pc),this._onigBinding=Pc,this._ptr=a}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(e,t,n){let r=0;if(typeof n==`number`&&(r=n),typeof e==`string`){e=new Rc(e);let n=this._findNextMatchSync(e,t,!1,r);return e.dispose(),n}return this._findNextMatchSync(e,t,!1,r)}_findNextMatchSync(e,t,n,r){let i=this._onigBinding,a=i.findNextOnigScannerMatch(this._ptr,e.id,e.ptr,e.utf8Length,e.convertUtf16OffsetToUtf8(t),r);if(a===0)return null;let o=i.HEAPU32,s=a/4,c=o[s++],l=o[s++],u=[];for(let t=0;t<l;t++){let n=e.convertUtf8OffsetToUtf16(o[s++]),r=e.convertUtf8OffsetToUtf16(o[s++]);u[t]={start:n,end:r,length:r-n}}return{index:c,captureIndices:u}}};function Bc(e){return typeof e.instantiator==`function`}function Vc(e){return typeof e.default==`function`}function Hc(e){return e.data!==void 0}function Uc(e){return typeof Response<`u`&&e instanceof Response}function Wc(e){return typeof ArrayBuffer<`u`&&(e instanceof ArrayBuffer||ArrayBuffer.isView(e))||typeof Buffer<`u`&&Buffer.isBuffer?.(e)||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer||typeof Uint32Array<`u`&&e instanceof Uint32Array}var Gc;function Kc(e){if(Gc)return Gc;async function t(){Pc=await Ac(async t=>{let n=e;return n=await n,typeof n==`function`&&(n=await n(t)),typeof n==`function`&&(n=await n(t)),Bc(n)?n=await n.instantiator(t):Vc(n)?n=await n.default(t):(Hc(n)&&(n=n.data),Uc(n)?n=typeof WebAssembly.instantiateStreaming==`function`?await Jc(n)(t):await Yc(n)(t):Wc(n)||n instanceof WebAssembly.Module?n=await qc(n)(t):`default`in n&&n.default instanceof WebAssembly.Module&&(n=await qc(n.default)(t))),`instance`in n&&(n=n.instance),`exports`in n&&(n=n.exports),n})}return Gc=t(),Gc}function qc(e){return t=>WebAssembly.instantiate(e,t)}function Jc(e){return t=>WebAssembly.instantiateStreaming(e,t)}function Yc(e){return async t=>{let n=await e.arrayBuffer();return WebAssembly.instantiate(n,t)}}async function Xc(e){return e&&await Kc(e),{createScanner(e){return new zc(e.map(e=>typeof e==`string`?e:e.source))},createString(e){return new Rc(e)}}}var Zc=hc({langs:wc,themes:Tc,engine:()=>Xc(J(()=>import(`./wasm-CSccDuAq.js`),[]))}),{codeToHtml:Qc,codeToHast:$c,codeToTokens:el,codeToTokensBase:tl,codeToTokensWithThemes:nl,getSingletonHighlighter:rl,getLastGrammarState:il}=_c(Zc,{guessEmbeddedLanguages:ts});function al(e){if([...e].length!==1)throw Error(`Expected "${e}" to be a single code point`);return e.codePointAt(0)}function ol(e,t,n){return e.has(t)||e.set(t,n),e.get(t)}var sl=new Set([`alnum`,`alpha`,`ascii`,`blank`,`cntrl`,`digit`,`graph`,`lower`,`print`,`punct`,`space`,`upper`,`word`,`xdigit`]),cl=String.raw;function ll(e,t){if(e==null)throw Error(t??`Value expected`);return e}var ul=cl`\[\^?`,dl=`c.? | C(?:-.?)?|${cl`[pP]\{(?:\^?[-\x20_]*[A-Za-z][-\x20\w]*\})?`}|${cl`x[89A-Fa-f]\p{AHex}(?:\\x[89A-Fa-f]\p{AHex})*`}|${cl`u(?:\p{AHex}{4})? | x\{[^\}]*\}? | x\p{AHex}{0,2}`}|${cl`o\{[^\}]*\}?`}|${cl`\d{1,3}`}`,fl=/[?*+][?+]?|\{(?:\d+(?:,\d*)?|,\d+)\}\??/,pl=new RegExp(cl`
22
22
  \\ (?:
23
23
  ${dl}
24
24
  | [gk]<[^>]*>?
@@ -1879,7 +1879,7 @@ XID_Start XIDS`.split(/\s/).map(e=>[Nu(e),e])),Dd=new Map([[`s`,dd(383)],[dd(383
1879
1879
  `),r=``;r=n?`\n${e.lineContent.split(`
1880
1880
  `).map(e=>`${t} ${e}`).join(`
1881
1881
  `)}\n`:`${t} ${e.lineContent}`,c.push(` <code><![CDATA[${r}]]></code>`)}if(c.push(` <body><![CDATA[${e.body}]]></body>`),e.replies&&e.replies.length>0){c.push(` <replies>`);for(let t of e.replies){let e=new Date(t.createdAt).toISOString(),n=t.role?` role="${t.role}"`:` role="agent"`,r=t.model?` model="${t.model}"`:``;c.push(` <reply id="${t.id}" created-at="${e}"${n}${r}>`),c.push(` <![CDATA[${t.body}]]>`),c.push(` </reply>`)}c.push(` </replies>`)}c.push(` </comment>`)}c.push(` </file>`)}return c.push(`</code-review-comments>`),c.join(`
1882
- `)}var yE=[`comments`];async function bE(){return(await fetch(`/api/comments`)).json()}function xE(){let e=Ve(),{data:t=[],isLoading:n}=nt({queryKey:yE,queryFn:bE});(0,W.useEffect)(()=>fE(`comments`,()=>{e.invalidateQueries({queryKey:yE})}),[e]);let[r,i]=(0,W.useState)({round:0,waiters:0,lastSentAt:null,lastDecision:void 0,lastOpenCount:void 0});(0,W.useEffect)(()=>{let e=!1;fetch(`/api/review/status`).then(e=>e.json()).then(t=>{e||i(t)}).catch(()=>{});let t=fE(`agent-status`,e=>{try{i(JSON.parse(e))}catch{}});return()=>{e=!0,t()}},[]);let a=(0,W.useRef)(null),[o,s]=(0,W.useState)(null);(0,W.useEffect)(()=>{if(n)return;let e=a.current===null;a.current===null&&(a.current=new Set);let r=a.current,i=null;for(let n of t)for(let t of n.replies??[])r.has(t.id)||(r.add(t.id),!e&&n.status!==`resolved`&&(t.role===`agent`||t.role==null&&t.model)&&(!i||t.createdAt>i.at)&&(i={at:t.createdAt,commentId:n.id,filePath:n.filePath,model:t.model,body:t.body}));i&&s(i)},[t,n]);let c=rt({mutationFn:async e=>(await fetch(`/api/comments`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)})).json(),onSuccess:t=>{e.setQueryData(yE,(e=[])=>[...e,t])}}),l=rt({mutationFn:async e=>(await fetch(`/api/comments/${e}`,{method:`DELETE`}),e),onSuccess:t=>{e.setQueryData(yE,(e=[])=>e.filter(e=>e.id!==t))}}),u=rt({mutationFn:async({id:e,body:t,status:n})=>(await fetch(`/api/comments/${e}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:t,status:n})})).json(),onSuccess:t=>{e.setQueryData(yE,(e=[])=>e.map(e=>e.id===t.id?t:e))}}),d=rt({mutationFn:async({id:e,body:t})=>(await fetch(`/api/comments/${e}/replies`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:t,role:`user`})})).json(),onSuccess:t=>{e.setQueryData(yE,(e=[])=>e.map(e=>e.id===t.id?t:e))}}),f=rt({mutationFn:async({commentId:e,replyId:t})=>(await fetch(`/api/comments/${e}/replies/${t}`,{method:`DELETE`})).json(),onSuccess:t=>{e.setQueryData(yE,(e=[])=>e.map(e=>e.id===t.id?t:e))}}),p=rt({mutationFn:async({commentId:e,replyId:t,body:n})=>(await fetch(`/api/comments/${e}/replies/${t}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:n})})).json(),onSuccess:t=>{e.setQueryData(yE,(e=[])=>e.map(e=>e.id===t.id?t:e))}}),m=rt({mutationFn:async({decision:e,generalComment:t,mode:n,force:r})=>{let i=await fetch(`/api/review/send`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({decision:e,generalComment:t?.trim()||void 0,mode:n,force:!!r})});if(i.status===400){let e=await i.json().catch(()=>null);if(e?.error===`secrets-detected`){let t=Error(`Secrets detected`);throw t.kind=`secrets`,t.findings=e.findings??[],t}}if(!i.ok)throw Error(`Failed to send to agent`);return i.json()}}),h=rt({mutationFn:async e=>{let t=await fetch(`/api/comments/${e}/apply-suggestion`,{method:`POST`});if(!t.ok){let e=await t.json();throw Error(e.error||`Failed to apply suggestion`)}return t.json()},onSuccess:()=>{e.invalidateQueries({queryKey:yE})}}),g=(0,W.useCallback)((e,t,n,r,i,a,o)=>{c.mutate({filePath:e,side:t,lineNumber:n,startLineNumber:a,lineContent:r,body:i,severity:o&&o!==`none`?o:void 0})},[c.mutate]),_=(0,W.useCallback)(e=>{l.mutate(e)},[l.mutate]),v=(0,W.useCallback)((e,t)=>{u.mutate({id:e,body:t})},[u.mutate]),y=(0,W.useCallback)(e=>{u.mutate({id:e,status:`resolved`})},[u.mutate]),b=(0,W.useCallback)(e=>{u.mutate({id:e,status:`open`})},[u.mutate]),x=(0,W.useCallback)((e,t)=>{d.mutate({id:e,body:t})},[d.mutate]),S=(0,W.useCallback)((e,t)=>{f.mutate({commentId:e,replyId:t})},[f.mutate]),C=(0,W.useCallback)((e,t,n)=>{p.mutate({commentId:e,replyId:t,body:n})},[p.mutate]),w=(0,W.useCallback)(async e=>{await h.mutateAsync(e)},[h.mutateAsync]),T=(0,W.useCallback)(()=>vE(t),[t]),E=(0,W.useCallback)(e=>t.filter(t=>t.filePath===e).map(e=>({side:e.side,lineNumber:e.lineNumber,metadata:e})),[t]),D=(0,W.useCallback)(async()=>{let e=T();await navigator.clipboard.writeText(e)},[T]),O=(0,W.useCallback)(async()=>{let{formatCommentsMarkdown:e}=await J(async()=>{let{formatCommentsMarkdown:e}=await import(`./review-export-DABY3y7y.js`);return{formatCommentsMarkdown:e}},[]),n=e(t);n&&await navigator.clipboard.writeText(n)},[t]),k=(0,W.useCallback)((e,t,n,r)=>m.mutateAsync({decision:e,generalComment:t,mode:n,force:r}),[m.mutateAsync]),A=rt({mutationFn:async()=>{let e=await fetch(`/api/comments/resolve-all`,{method:`POST`});if(!e.ok)throw Error(`Failed to resolve all comments`);return await e.json()},onSuccess:()=>{e.invalidateQueries({queryKey:yE})}}),j=(0,W.useCallback)(()=>A.mutateAsync(),[A]);return{comments:t,addComment:g,removeComment:_,editComment:v,resolveComment:y,unresolveComment:b,addReply:x,removeReply:S,editReply:C,applySuggestion:w,getAnnotationsForFile:E,formatAllComments:T,copyAllComments:D,copyAllCommentsMarkdown:O,agentActivity:o,clearAgentActivity:(0,W.useCallback)(()=>s(null),[]),sendToAgent:k,sending:m.isPending,agentWaiting:r.waiters>0||(r.agents?.length??0)>0,waitingAgents:r.agents??[],lastSend:r.lastSentAt==null?null:{round:r.round,sentAt:r.lastSentAt,decision:r.lastDecision,openCount:r.lastOpenCount??null},resolveAllOpen:j,resolvingAll:A.isPending}}var SE=[`plans`];async function CE(){return(await fetch(`/api/plans`)).json()}function wE(){let e=Ve(),{data:t=[],isLoading:n}=nt({queryKey:SE,queryFn:CE});(0,W.useEffect)(()=>fE(`plans`,()=>{e.invalidateQueries({queryKey:SE})}),[e]);let[r,i]=(0,W.useState)({round:0,waiters:0,lastDecidedAt:null});(0,W.useEffect)(()=>{let e=!1;fetch(`/api/plan-review/status`).then(e=>e.json()).then(t=>{e||i(t)}).catch(()=>{});let t=fE(`plan-review-status`,e=>{try{i(JSON.parse(e))}catch{}});return()=>{e=!0,t()}},[]);let a=(0,W.useRef)(null),[o,s]=(0,W.useState)(null);(0,W.useEffect)(()=>{if(n)return;let e=a.current===null;a.current===null&&(a.current=new Set);let r=a.current,i=null;for(let n of t)for(let t of n.comments??[])for(let a of t.replies??[])r.has(a.id)||(r.add(a.id),!e&&t.status!==`resolved`&&(a.role===`agent`||a.role==null&&a.model)&&(!i||a.createdAt>i.at)&&(i={at:a.createdAt,planId:n.id,commentId:t.id,model:a.model,body:a.body}));i&&s(i)},[t,n]);let c=(0,W.useCallback)(t=>{e.setQueryData(SE,(e=[])=>e.some(e=>e.id===t.id)?e.map(e=>e.id===t.id?t:e):[...e,t])},[e]),l=rt({mutationFn:async({planId:e,...t})=>(await fetch(`/api/plans/${e}/comments`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)})).json(),onSuccess:c}),u=rt({mutationFn:async({planId:e,commentId:t,body:n,status:r})=>(await fetch(`/api/plans/${e}/comments/${t}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:n,status:r})})).json(),onSuccess:c}),d=rt({mutationFn:async({planId:e,commentId:t})=>(await fetch(`/api/plans/${e}/comments/${t}`,{method:`DELETE`})).json(),onSuccess:c}),f=rt({mutationFn:async({planId:e,commentId:t,body:n})=>(await fetch(`/api/plans/${e}/comments/${t}/replies`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:n,role:`user`})})).json(),onSuccess:c}),p=rt({mutationFn:async({planId:e,commentId:t,replyId:n,body:r})=>(await fetch(`/api/plans/${e}/comments/${t}/replies/${n}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:r})})).json(),onSuccess:c}),m=rt({mutationFn:async({planId:e,commentId:t,replyId:n})=>(await fetch(`/api/plans/${e}/comments/${t}/replies/${n}`,{method:`DELETE`})).json(),onSuccess:c}),h=rt({mutationFn:async({planId:e,decision:t,decisionComment:n,mode:r})=>{let i=await fetch(`/api/plans/${e}/decision`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({decision:t,decisionComment:n?.trim()||void 0,mode:r})});if(!i.ok)throw Error(`Failed to submit plan decision`);return i.json()},onSuccess:()=>e.invalidateQueries({queryKey:SE})}),g=rt({mutationFn:async e=>(await fetch(`/api/plans/${e}`,{method:`DELETE`}),e),onSuccess:t=>{e.setQueryData(SE,(e=[])=>e.filter(e=>e.id!==t))}}),_=rt({mutationFn:async({planId:e,title:t,body:n,source:r,model:i})=>{let a=await fetch(`/api/plans/${e}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({title:t,body:n,source:r,model:i})});if(!a.ok){let e=await a.json().catch(()=>({}));throw Error(typeof e.error==`string`?e.error:`Failed to update plan (${a.status})`)}return a.json()},onSuccess:c}),v=rt({mutationFn:async({planId:e,title:t,body:n,source:r,model:i})=>{let a=await fetch(`/api/plans`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({id:e,title:t,body:n,source:r,model:i})});if(!a.ok){let e=await a.json().catch(()=>({}));throw Error(typeof e.error==`string`?e.error:`Failed to save plan version (${a.status})`)}return a.json()},onSuccess:c});return{plans:t,getPlan:(0,W.useCallback)(e=>t.find(t=>t.id===e)??null,[t]),addPlanComment:(0,W.useCallback)(e=>l.mutate(e),[l.mutate]),editPlanComment:(0,W.useCallback)((e,t,n)=>u.mutate({planId:e,commentId:t,body:n}),[u.mutate]),resolvePlanComment:(0,W.useCallback)((e,t)=>u.mutate({planId:e,commentId:t,status:`resolved`}),[u.mutate]),unresolvePlanComment:(0,W.useCallback)((e,t)=>u.mutate({planId:e,commentId:t,status:`open`}),[u.mutate]),removePlanComment:(0,W.useCallback)((e,t)=>d.mutate({planId:e,commentId:t}),[d.mutate]),addPlanReply:(0,W.useCallback)((e,t,n)=>f.mutate({planId:e,commentId:t,body:n}),[f.mutate]),editPlanReply:(0,W.useCallback)((e,t,n,r)=>p.mutate({planId:e,commentId:t,replyId:n,body:r}),[p.mutate]),removePlanReply:(0,W.useCallback)((e,t,n)=>m.mutate({planId:e,commentId:t,replyId:n}),[m.mutate]),removePlan:(0,W.useCallback)(e=>g.mutate(e),[g.mutate]),updatePlan:(0,W.useCallback)((e,t)=>_.mutateAsync({planId:e,...t}),[_.mutateAsync]),submitPlanVersion:(0,W.useCallback)((e,t)=>v.mutateAsync({planId:e,...t}),[v.mutateAsync]),updatingPlan:_.isPending,submittingPlanVersion:v.isPending,submitDecision:(0,W.useCallback)((e,t,n,r)=>h.mutateAsync({planId:e,decision:t,decisionComment:n,mode:r}),[h.mutateAsync]),submitting:h.isPending,agentWaiting:r.waiters>0,agentActivity:o,clearAgentActivity:(0,W.useCallback)(()=>s(null),[]),isLoading:n}}var TE=new Set;function EE(){for(let e of TE)e()}function DE(e,t={}){e!==window.location.pathname+window.location.search&&(t.replace?window.history.replaceState(null,``,e):window.history.pushState(null,``,e),EE())}function OE(e){return TE.add(e),window.addEventListener(`popstate`,e),()=>{TE.delete(e),window.removeEventListener(`popstate`,e)}}function kE(){return window.location.pathname}function AE(){return`/`}function jE(){return(0,W.useSyncExternalStore)(OE,kE,AE)}function ME(e){let[t,n]=(0,W.useState)({inMerge:!1,conflicts:[]}),r=(0,W.useCallback)(()=>{fetch(`/api/merge-status`).then(e=>e.ok?e.json():{inMerge:!1,conflicts:[]}).then(n).catch(()=>n({inMerge:!1,conflicts:[]}))},[]);return(0,W.useEffect)(()=>{r()},[r,e]),{status:t,refresh:r}}var NE={staged:!0,untracked:!0,diffStyle:`split`,defaultTabSize:4,theme:`rose-pine`,editorIDE:`default`,lineDiffType:`word`,lineWrap:!1,diffIndicators:`classic`,showLineNumbers:!0,hunkSeparators:`line-info`,lineHoverHighlight:`both`,fontSize:13,expandContextByDefault:!1,collapsedContextThreshold:10,expansionLineCount:20,haptics:!0,sounds:!0,uiFont:null,monoFont:null,density:`comfortable`,autoCollapseLineThreshold:400,requireViewAllBeforeSend:!1,showStatusBar:!0,savedReplies:[],ignoreSpaceChange:!1,ignoreAllSpace:!1},PE=`ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace`;function FE(e){return e?`"${e}", ${PE}`:`"JetBrains Mono", ${PE}`}function IE(){let[e,t]=(0,W.useState)(NE),[n,r]=(0,W.useState)(!1),i=(0,W.useRef)(!0);return(0,W.useEffect)(()=>{fetch(`/api/settings`).then(e=>e.json()).then(e=>{i.current=!0,t({...NE,...e}),r(!0)}).catch(()=>r(!0))},[]),(0,W.useEffect)(()=>{if(i.current){i.current=!1;return}let t=setTimeout(()=>{fetch(`/api/settings`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)}).catch(()=>{})},300);return()=>clearTimeout(t)},[e]),{settings:e,loaded:n,updateSettings:(0,W.useCallback)(e=>{t(t=>({...t,...e}))},[])}}function LE(e,t,n){(0,W.useEffect)(()=>{let r=`, ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace`;if(!e)return;let i=`gfonts-preconnect`,a=`gfonts-preconnect-static`,o=`gfonts-link`,s=`diffing-fonts-override`,c=()=>{if(!document.getElementById(i)){let e=document.createElement(`link`);e.id=i,e.rel=`preconnect`,e.href=`https://fonts.googleapis.com`,document.head.appendChild(e)}if(!document.getElementById(a)){let e=document.createElement(`link`);e.id=a,e.rel=`preconnect`,e.href=`https://fonts.gstatic.com`,e.crossOrigin=`anonymous`,document.head.appendChild(e)}},l=e=>encodeURIComponent(e.trim()).replace(/%20/g,`+`),u=t?.trim()?l(t):`Geist+Mono:ital,wght@0,100..900;1,100..900`,d=n?.trim()?l(n):`JetBrains+Mono:ital,wght@0,100..800;1,100..800`,f=[...new Set([u,d].filter(Boolean))];c();let p=`https://fonts.googleapis.com/css2?family=${f.join(`&family=`)}&display=swap`,m=document.getElementById(o);m||(m=document.createElement(`link`),m.id=o,m.rel=`stylesheet`,document.head.appendChild(m)),m.getAttribute(`href`)!==p&&m.setAttribute(`href`,p);let h=document.getElementById(s);h||(h=document.createElement(`style`),h.id=s,document.head.appendChild(h));let g=t?`"${t}"`:`"Geist Mono"`,_=n?`"${n}"`:`"JetBrains Mono"`;return h.innerHTML=`
1882
+ `)}var yE=[`comments`];async function bE(){return(await fetch(`/api/comments`)).json()}function xE(){let e=Ve(),{data:t=[],isLoading:n}=nt({queryKey:yE,queryFn:bE});(0,W.useEffect)(()=>fE(`comments`,()=>{e.invalidateQueries({queryKey:yE})}),[e]);let[r,i]=(0,W.useState)({round:0,waiters:0,lastSentAt:null,lastDecision:void 0,lastOpenCount:void 0});(0,W.useEffect)(()=>{let e=!1;fetch(`/api/review/status`).then(e=>e.json()).then(t=>{e||i(t)}).catch(()=>{});let t=fE(`agent-status`,e=>{try{i(JSON.parse(e))}catch{}});return()=>{e=!0,t()}},[]);let a=(0,W.useRef)(null),[o,s]=(0,W.useState)(null);(0,W.useEffect)(()=>{if(n)return;let e=a.current===null;a.current===null&&(a.current=new Set);let r=a.current,i=null;for(let n of t)for(let t of n.replies??[])r.has(t.id)||(r.add(t.id),!e&&n.status!==`resolved`&&(t.role===`agent`||t.role==null&&t.model)&&(!i||t.createdAt>i.at)&&(i={at:t.createdAt,commentId:n.id,filePath:n.filePath,model:t.model,body:t.body}));i&&s(i)},[t,n]);let c=rt({mutationFn:async e=>(await fetch(`/api/comments`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)})).json(),onSuccess:t=>{e.setQueryData(yE,(e=[])=>[...e,t])}}),l=rt({mutationFn:async e=>(await fetch(`/api/comments/${e}`,{method:`DELETE`}),e),onSuccess:t=>{e.setQueryData(yE,(e=[])=>e.filter(e=>e.id!==t))}}),u=rt({mutationFn:async({id:e,body:t,status:n})=>(await fetch(`/api/comments/${e}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:t,status:n})})).json(),onSuccess:t=>{e.setQueryData(yE,(e=[])=>e.map(e=>e.id===t.id?t:e))}}),d=rt({mutationFn:async({id:e,body:t})=>(await fetch(`/api/comments/${e}/replies`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:t,role:`user`})})).json(),onSuccess:t=>{e.setQueryData(yE,(e=[])=>e.map(e=>e.id===t.id?t:e))}}),f=rt({mutationFn:async({commentId:e,replyId:t})=>(await fetch(`/api/comments/${e}/replies/${t}`,{method:`DELETE`})).json(),onSuccess:t=>{e.setQueryData(yE,(e=[])=>e.map(e=>e.id===t.id?t:e))}}),p=rt({mutationFn:async({commentId:e,replyId:t,body:n})=>(await fetch(`/api/comments/${e}/replies/${t}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:n})})).json(),onSuccess:t=>{e.setQueryData(yE,(e=[])=>e.map(e=>e.id===t.id?t:e))}}),m=rt({mutationFn:async({decision:e,generalComment:t,mode:n,force:r})=>{let i=await fetch(`/api/review/send`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({decision:e,generalComment:t?.trim()||void 0,mode:n,force:!!r})});if(i.status===400){let e=await i.json().catch(()=>null);if(e?.error===`secrets-detected`){let t=Error(`Secrets detected`);throw t.kind=`secrets`,t.findings=e.findings??[],t}}if(!i.ok)throw Error(`Failed to send to agent`);return i.json()}}),h=rt({mutationFn:async e=>{let t=await fetch(`/api/comments/${e}/apply-suggestion`,{method:`POST`});if(!t.ok){let e=await t.json();throw Error(e.error||`Failed to apply suggestion`)}return t.json()},onSuccess:()=>{e.invalidateQueries({queryKey:yE})}}),g=(0,W.useCallback)((e,t,n,r,i,a,o)=>{c.mutate({filePath:e,side:t,lineNumber:n,startLineNumber:a,lineContent:r,body:i,severity:o&&o!==`none`?o:void 0})},[c.mutate]),_=(0,W.useCallback)(e=>{l.mutate(e)},[l.mutate]),v=(0,W.useCallback)((e,t)=>{u.mutate({id:e,body:t})},[u.mutate]),y=(0,W.useCallback)(e=>{u.mutate({id:e,status:`resolved`})},[u.mutate]),b=(0,W.useCallback)(e=>{u.mutate({id:e,status:`open`})},[u.mutate]),x=(0,W.useCallback)((e,t)=>{d.mutate({id:e,body:t})},[d.mutate]),S=(0,W.useCallback)((e,t)=>{f.mutate({commentId:e,replyId:t})},[f.mutate]),C=(0,W.useCallback)((e,t,n)=>{p.mutate({commentId:e,replyId:t,body:n})},[p.mutate]),w=(0,W.useCallback)(async e=>{await h.mutateAsync(e)},[h.mutateAsync]),T=(0,W.useCallback)(()=>vE(t),[t]),E=(0,W.useCallback)(e=>t.filter(t=>t.filePath===e).map(e=>({side:e.side,lineNumber:e.lineNumber,metadata:e})),[t]),D=(0,W.useCallback)(async()=>{let e=T();await navigator.clipboard.writeText(e)},[T]),O=(0,W.useCallback)(async()=>{let{formatCommentsMarkdown:e}=await J(async()=>{let{formatCommentsMarkdown:e}=await import(`./review-export-Cen1WEcX.js`);return{formatCommentsMarkdown:e}},[]),n=e(t);n&&await navigator.clipboard.writeText(n)},[t]),k=(0,W.useCallback)((e,t,n,r)=>m.mutateAsync({decision:e,generalComment:t,mode:n,force:r}),[m.mutateAsync]),A=rt({mutationFn:async()=>{let e=await fetch(`/api/comments/resolve-all`,{method:`POST`});if(!e.ok)throw Error(`Failed to resolve all comments`);return await e.json()},onSuccess:()=>{e.invalidateQueries({queryKey:yE})}}),j=(0,W.useCallback)(()=>A.mutateAsync(),[A]);return{comments:t,addComment:g,removeComment:_,editComment:v,resolveComment:y,unresolveComment:b,addReply:x,removeReply:S,editReply:C,applySuggestion:w,getAnnotationsForFile:E,formatAllComments:T,copyAllComments:D,copyAllCommentsMarkdown:O,agentActivity:o,clearAgentActivity:(0,W.useCallback)(()=>s(null),[]),sendToAgent:k,sending:m.isPending,agentWaiting:r.waiters>0||(r.agents?.length??0)>0,waitingAgents:r.agents??[],lastSend:r.lastSentAt==null?null:{round:r.round,sentAt:r.lastSentAt,decision:r.lastDecision,openCount:r.lastOpenCount??null},resolveAllOpen:j,resolvingAll:A.isPending}}var SE=[`plans`];async function CE(){return(await fetch(`/api/plans`)).json()}function wE(){let e=Ve(),{data:t=[],isLoading:n}=nt({queryKey:SE,queryFn:CE});(0,W.useEffect)(()=>fE(`plans`,()=>{e.invalidateQueries({queryKey:SE})}),[e]);let[r,i]=(0,W.useState)({round:0,waiters:0,lastDecidedAt:null});(0,W.useEffect)(()=>{let e=!1;fetch(`/api/plan-review/status`).then(e=>e.json()).then(t=>{e||i(t)}).catch(()=>{});let t=fE(`plan-review-status`,e=>{try{i(JSON.parse(e))}catch{}});return()=>{e=!0,t()}},[]);let a=(0,W.useRef)(null),[o,s]=(0,W.useState)(null);(0,W.useEffect)(()=>{if(n)return;let e=a.current===null;a.current===null&&(a.current=new Set);let r=a.current,i=null;for(let n of t)for(let t of n.comments??[])for(let a of t.replies??[])r.has(a.id)||(r.add(a.id),!e&&t.status!==`resolved`&&(a.role===`agent`||a.role==null&&a.model)&&(!i||a.createdAt>i.at)&&(i={at:a.createdAt,planId:n.id,commentId:t.id,model:a.model,body:a.body}));i&&s(i)},[t,n]);let c=(0,W.useCallback)(t=>{e.setQueryData(SE,(e=[])=>e.some(e=>e.id===t.id)?e.map(e=>e.id===t.id?t:e):[...e,t])},[e]),l=rt({mutationFn:async({planId:e,...t})=>(await fetch(`/api/plans/${e}/comments`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)})).json(),onSuccess:c}),u=rt({mutationFn:async({planId:e,commentId:t,body:n,status:r})=>(await fetch(`/api/plans/${e}/comments/${t}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:n,status:r})})).json(),onSuccess:c}),d=rt({mutationFn:async({planId:e,commentId:t})=>(await fetch(`/api/plans/${e}/comments/${t}`,{method:`DELETE`})).json(),onSuccess:c}),f=rt({mutationFn:async({planId:e,commentId:t,body:n})=>(await fetch(`/api/plans/${e}/comments/${t}/replies`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:n,role:`user`})})).json(),onSuccess:c}),p=rt({mutationFn:async({planId:e,commentId:t,replyId:n,body:r})=>(await fetch(`/api/plans/${e}/comments/${t}/replies/${n}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:r})})).json(),onSuccess:c}),m=rt({mutationFn:async({planId:e,commentId:t,replyId:n})=>(await fetch(`/api/plans/${e}/comments/${t}/replies/${n}`,{method:`DELETE`})).json(),onSuccess:c}),h=rt({mutationFn:async({planId:e,decision:t,decisionComment:n,mode:r})=>{let i=await fetch(`/api/plans/${e}/decision`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({decision:t,decisionComment:n?.trim()||void 0,mode:r})});if(!i.ok)throw Error(`Failed to submit plan decision`);return i.json()},onSuccess:()=>e.invalidateQueries({queryKey:SE})}),g=rt({mutationFn:async e=>(await fetch(`/api/plans/${e}`,{method:`DELETE`}),e),onSuccess:t=>{e.setQueryData(SE,(e=[])=>e.filter(e=>e.id!==t))}}),_=rt({mutationFn:async({planId:e,title:t,body:n,source:r,model:i})=>{let a=await fetch(`/api/plans/${e}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({title:t,body:n,source:r,model:i})});if(!a.ok){let e=await a.json().catch(()=>({}));throw Error(typeof e.error==`string`?e.error:`Failed to update plan (${a.status})`)}return a.json()},onSuccess:c}),v=rt({mutationFn:async({planId:e,title:t,body:n,source:r,model:i})=>{let a=await fetch(`/api/plans`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({id:e,title:t,body:n,source:r,model:i})});if(!a.ok){let e=await a.json().catch(()=>({}));throw Error(typeof e.error==`string`?e.error:`Failed to save plan version (${a.status})`)}return a.json()},onSuccess:c});return{plans:t,getPlan:(0,W.useCallback)(e=>t.find(t=>t.id===e)??null,[t]),addPlanComment:(0,W.useCallback)(e=>l.mutate(e),[l.mutate]),editPlanComment:(0,W.useCallback)((e,t,n)=>u.mutate({planId:e,commentId:t,body:n}),[u.mutate]),resolvePlanComment:(0,W.useCallback)((e,t)=>u.mutate({planId:e,commentId:t,status:`resolved`}),[u.mutate]),unresolvePlanComment:(0,W.useCallback)((e,t)=>u.mutate({planId:e,commentId:t,status:`open`}),[u.mutate]),removePlanComment:(0,W.useCallback)((e,t)=>d.mutate({planId:e,commentId:t}),[d.mutate]),addPlanReply:(0,W.useCallback)((e,t,n)=>f.mutate({planId:e,commentId:t,body:n}),[f.mutate]),editPlanReply:(0,W.useCallback)((e,t,n,r)=>p.mutate({planId:e,commentId:t,replyId:n,body:r}),[p.mutate]),removePlanReply:(0,W.useCallback)((e,t,n)=>m.mutate({planId:e,commentId:t,replyId:n}),[m.mutate]),removePlan:(0,W.useCallback)(e=>g.mutate(e),[g.mutate]),updatePlan:(0,W.useCallback)((e,t)=>_.mutateAsync({planId:e,...t}),[_.mutateAsync]),submitPlanVersion:(0,W.useCallback)((e,t)=>v.mutateAsync({planId:e,...t}),[v.mutateAsync]),updatingPlan:_.isPending,submittingPlanVersion:v.isPending,submitDecision:(0,W.useCallback)((e,t,n,r)=>h.mutateAsync({planId:e,decision:t,decisionComment:n,mode:r}),[h.mutateAsync]),submitting:h.isPending,agentWaiting:r.waiters>0,agentActivity:o,clearAgentActivity:(0,W.useCallback)(()=>s(null),[]),isLoading:n}}var TE=new Set;function EE(){for(let e of TE)e()}function DE(e,t={}){e!==window.location.pathname+window.location.search&&(t.replace?window.history.replaceState(null,``,e):window.history.pushState(null,``,e),EE())}function OE(e){return TE.add(e),window.addEventListener(`popstate`,e),()=>{TE.delete(e),window.removeEventListener(`popstate`,e)}}function kE(){return window.location.pathname}function AE(){return`/`}function jE(){return(0,W.useSyncExternalStore)(OE,kE,AE)}function ME(e){let[t,n]=(0,W.useState)({inMerge:!1,conflicts:[]}),r=(0,W.useCallback)(()=>{fetch(`/api/merge-status`).then(e=>e.ok?e.json():{inMerge:!1,conflicts:[]}).then(n).catch(()=>n({inMerge:!1,conflicts:[]}))},[]);return(0,W.useEffect)(()=>{r()},[r,e]),{status:t,refresh:r}}var NE={staged:!0,untracked:!0,diffStyle:`split`,defaultTabSize:4,theme:`rose-pine`,editorIDE:`default`,lineDiffType:`word`,lineWrap:!1,diffIndicators:`classic`,showLineNumbers:!0,hunkSeparators:`line-info`,lineHoverHighlight:`both`,fontSize:13,expandContextByDefault:!1,collapsedContextThreshold:10,expansionLineCount:20,haptics:!0,sounds:!0,uiFont:null,monoFont:null,density:`comfortable`,autoCollapseLineThreshold:400,requireViewAllBeforeSend:!1,showStatusBar:!0,savedReplies:[],ignoreSpaceChange:!1,ignoreAllSpace:!1},PE=`ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace`;function FE(e){return e?`"${e}", ${PE}`:`"JetBrains Mono", ${PE}`}function IE(){let[e,t]=(0,W.useState)(NE),[n,r]=(0,W.useState)(!1),i=(0,W.useRef)(!0);return(0,W.useEffect)(()=>{fetch(`/api/settings`).then(e=>e.json()).then(e=>{i.current=!0,t({...NE,...e}),r(!0)}).catch(()=>r(!0))},[]),(0,W.useEffect)(()=>{if(i.current){i.current=!1;return}let t=setTimeout(()=>{fetch(`/api/settings`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)}).catch(()=>{})},300);return()=>clearTimeout(t)},[e]),{settings:e,loaded:n,updateSettings:(0,W.useCallback)(e=>{t(t=>({...t,...e}))},[])}}function LE(e,t,n){(0,W.useEffect)(()=>{let r=`, ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace`;if(!e)return;let i=`gfonts-preconnect`,a=`gfonts-preconnect-static`,o=`gfonts-link`,s=`diffing-fonts-override`,c=()=>{if(!document.getElementById(i)){let e=document.createElement(`link`);e.id=i,e.rel=`preconnect`,e.href=`https://fonts.googleapis.com`,document.head.appendChild(e)}if(!document.getElementById(a)){let e=document.createElement(`link`);e.id=a,e.rel=`preconnect`,e.href=`https://fonts.gstatic.com`,e.crossOrigin=`anonymous`,document.head.appendChild(e)}},l=e=>encodeURIComponent(e.trim()).replace(/%20/g,`+`),u=t?.trim()?l(t):`Geist+Mono:ital,wght@0,100..900;1,100..900`,d=n?.trim()?l(n):`JetBrains+Mono:ital,wght@0,100..800;1,100..800`,f=[...new Set([u,d].filter(Boolean))];c();let p=`https://fonts.googleapis.com/css2?family=${f.join(`&family=`)}&display=swap`,m=document.getElementById(o);m||(m=document.createElement(`link`),m.id=o,m.rel=`stylesheet`,document.head.appendChild(m)),m.getAttribute(`href`)!==p&&m.setAttribute(`href`,p);let h=document.getElementById(s);h||(h=document.createElement(`style`),h.id=s,document.head.appendChild(h));let g=t?`"${t}"`:`"Geist Mono"`,_=n?`"${n}"`:`"JetBrains Mono"`;return h.innerHTML=`
1883
1883
  :root {
1884
1884
  --font-sans: ${g}${r} !important;
1885
1885
  --font-mono: ${_}${r} !important;
@@ -1929,7 +1929,7 @@ XID_Start XIDS`.split(/\s/).map(e=>[Nu(e),e])),Dd=new Map([[`s`,dd(383)],[dd(383
1929
1929
  `},l]}}var pB=e=>({IMPORTANT:{scope:`meta`,begin:`!important`},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:`number`,begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:`built_in`,begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:`selector-attr`,begin:/\[/,end:/\]/,illegal:`$`,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:`number`,begin:e.NUMBER_RE+`(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?`,relevance:0},CSS_VARIABLE:{className:`attr`,begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),mB=`a.abbr.address.article.aside.audio.b.blockquote.body.button.canvas.caption.cite.code.dd.del.details.dfn.div.dl.dt.em.fieldset.figcaption.figure.footer.form.h1.h2.h3.h4.h5.h6.header.hgroup.html.i.iframe.img.input.ins.kbd.label.legend.li.main.mark.menu.nav.object.ol.optgroup.option.p.picture.q.quote.samp.section.select.source.span.strong.summary.sup.table.tbody.td.textarea.tfoot.th.thead.time.tr.ul.var.video`.split(`.`),hB=`defs.g.marker.mask.pattern.svg.switch.symbol.feBlend.feColorMatrix.feComponentTransfer.feComposite.feConvolveMatrix.feDiffuseLighting.feDisplacementMap.feFlood.feGaussianBlur.feImage.feMerge.feMorphology.feOffset.feSpecularLighting.feTile.feTurbulence.linearGradient.radialGradient.stop.circle.ellipse.image.line.path.polygon.polyline.rect.text.use.textPath.tspan.foreignObject.clipPath`.split(`.`),gB=[...mB,...hB],_B=`any-hover.any-pointer.aspect-ratio.color.color-gamut.color-index.device-aspect-ratio.device-height.device-width.display-mode.forced-colors.grid.height.hover.inverted-colors.monochrome.orientation.overflow-block.overflow-inline.pointer.prefers-color-scheme.prefers-contrast.prefers-reduced-motion.prefers-reduced-transparency.resolution.scan.scripting.update.width.min-width.max-width.min-height.max-height`.split(`.`).sort().reverse(),vB=`active.any-link.blank.checked.current.default.defined.dir.disabled.drop.empty.enabled.first.first-child.first-of-type.fullscreen.future.focus.focus-visible.focus-within.has.host.host-context.hover.indeterminate.in-range.invalid.is.lang.last-child.last-of-type.left.link.local-link.not.nth-child.nth-col.nth-last-child.nth-last-col.nth-last-of-type.nth-of-type.only-child.only-of-type.optional.out-of-range.past.placeholder-shown.read-only.read-write.required.right.root.scope.target.target-within.user-invalid.valid.visited.where`.split(`.`).sort().reverse(),yB=[`after`,`backdrop`,`before`,`cue`,`cue-region`,`first-letter`,`first-line`,`grammar-error`,`marker`,`part`,`placeholder`,`selection`,`slotted`,`spelling-error`].sort().reverse(),bB=`accent-color.align-content.align-items.align-self.alignment-baseline.all.anchor-name.animation.animation-composition.animation-delay.animation-direction.animation-duration.animation-fill-mode.animation-iteration-count.animation-name.animation-play-state.animation-range.animation-range-end.animation-range-start.animation-timeline.animation-timing-function.appearance.aspect-ratio.backdrop-filter.backface-visibility.background.background-attachment.background-blend-mode.background-clip.background-color.background-image.background-origin.background-position.background-position-x.background-position-y.background-repeat.background-size.baseline-shift.block-size.border.border-block.border-block-color.border-block-end.border-block-end-color.border-block-end-style.border-block-end-width.border-block-start.border-block-start-color.border-block-start-style.border-block-start-width.border-block-style.border-block-width.border-bottom.border-bottom-color.border-bottom-left-radius.border-bottom-right-radius.border-bottom-style.border-bottom-width.border-collapse.border-color.border-end-end-radius.border-end-start-radius.border-image.border-image-outset.border-image-repeat.border-image-slice.border-image-source.border-image-width.border-inline.border-inline-color.border-inline-end.border-inline-end-color.border-inline-end-style.border-inline-end-width.border-inline-start.border-inline-start-color.border-inline-start-style.border-inline-start-width.border-inline-style.border-inline-width.border-left.border-left-color.border-left-style.border-left-width.border-radius.border-right.border-right-color.border-right-style.border-right-width.border-spacing.border-start-end-radius.border-start-start-radius.border-style.border-top.border-top-color.border-top-left-radius.border-top-right-radius.border-top-style.border-top-width.border-width.bottom.box-align.box-decoration-break.box-direction.box-flex.box-flex-group.box-lines.box-ordinal-group.box-orient.box-pack.box-shadow.box-sizing.break-after.break-before.break-inside.caption-side.caret-color.clear.clip.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.color-scheme.column-count.column-fill.column-gap.column-rule.column-rule-color.column-rule-style.column-rule-width.column-span.column-width.columns.contain.contain-intrinsic-block-size.contain-intrinsic-height.contain-intrinsic-inline-size.contain-intrinsic-size.contain-intrinsic-width.container.container-name.container-type.content.content-visibility.counter-increment.counter-reset.counter-set.cue.cue-after.cue-before.cursor.cx.cy.direction.display.dominant-baseline.empty-cells.enable-background.field-sizing.fill.fill-opacity.fill-rule.filter.flex.flex-basis.flex-direction.flex-flow.flex-grow.flex-shrink.flex-wrap.float.flood-color.flood-opacity.flow.font.font-display.font-family.font-feature-settings.font-kerning.font-language-override.font-optical-sizing.font-palette.font-size.font-size-adjust.font-smooth.font-smoothing.font-stretch.font-style.font-synthesis.font-synthesis-position.font-synthesis-small-caps.font-synthesis-style.font-synthesis-weight.font-variant.font-variant-alternates.font-variant-caps.font-variant-east-asian.font-variant-emoji.font-variant-ligatures.font-variant-numeric.font-variant-position.font-variation-settings.font-weight.forced-color-adjust.gap.glyph-orientation-horizontal.glyph-orientation-vertical.grid.grid-area.grid-auto-columns.grid-auto-flow.grid-auto-rows.grid-column.grid-column-end.grid-column-start.grid-gap.grid-row.grid-row-end.grid-row-start.grid-template.grid-template-areas.grid-template-columns.grid-template-rows.hanging-punctuation.height.hyphenate-character.hyphenate-limit-chars.hyphens.icon.image-orientation.image-rendering.image-resolution.ime-mode.initial-letter.initial-letter-align.inline-size.inset.inset-area.inset-block.inset-block-end.inset-block-start.inset-inline.inset-inline-end.inset-inline-start.isolation.justify-content.justify-items.justify-self.kerning.left.letter-spacing.lighting-color.line-break.line-height.line-height-step.list-style.list-style-image.list-style-position.list-style-type.margin.margin-block.margin-block-end.margin-block-start.margin-bottom.margin-inline.margin-inline-end.margin-inline-start.margin-left.margin-right.margin-top.margin-trim.marker.marker-end.marker-mid.marker-start.marks.mask.mask-border.mask-border-mode.mask-border-outset.mask-border-repeat.mask-border-slice.mask-border-source.mask-border-width.mask-clip.mask-composite.mask-image.mask-mode.mask-origin.mask-position.mask-repeat.mask-size.mask-type.masonry-auto-flow.math-depth.math-shift.math-style.max-block-size.max-height.max-inline-size.max-width.min-block-size.min-height.min-inline-size.min-width.mix-blend-mode.nav-down.nav-index.nav-left.nav-right.nav-up.none.normal.object-fit.object-position.offset.offset-anchor.offset-distance.offset-path.offset-position.offset-rotate.opacity.order.orphans.outline.outline-color.outline-offset.outline-style.outline-width.overflow.overflow-anchor.overflow-block.overflow-clip-margin.overflow-inline.overflow-wrap.overflow-x.overflow-y.overlay.overscroll-behavior.overscroll-behavior-block.overscroll-behavior-inline.overscroll-behavior-x.overscroll-behavior-y.padding.padding-block.padding-block-end.padding-block-start.padding-bottom.padding-inline.padding-inline-end.padding-inline-start.padding-left.padding-right.padding-top.page.page-break-after.page-break-before.page-break-inside.paint-order.pause.pause-after.pause-before.perspective.perspective-origin.place-content.place-items.place-self.pointer-events.position.position-anchor.position-visibility.print-color-adjust.quotes.r.resize.rest.rest-after.rest-before.right.rotate.row-gap.ruby-align.ruby-position.scale.scroll-behavior.scroll-margin.scroll-margin-block.scroll-margin-block-end.scroll-margin-block-start.scroll-margin-bottom.scroll-margin-inline.scroll-margin-inline-end.scroll-margin-inline-start.scroll-margin-left.scroll-margin-right.scroll-margin-top.scroll-padding.scroll-padding-block.scroll-padding-block-end.scroll-padding-block-start.scroll-padding-bottom.scroll-padding-inline.scroll-padding-inline-end.scroll-padding-inline-start.scroll-padding-left.scroll-padding-right.scroll-padding-top.scroll-snap-align.scroll-snap-stop.scroll-snap-type.scroll-timeline.scroll-timeline-axis.scroll-timeline-name.scrollbar-color.scrollbar-gutter.scrollbar-width.shape-image-threshold.shape-margin.shape-outside.shape-rendering.speak.speak-as.src.stop-color.stop-opacity.stroke.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke-width.tab-size.table-layout.text-align.text-align-all.text-align-last.text-anchor.text-combine-upright.text-decoration.text-decoration-color.text-decoration-line.text-decoration-skip.text-decoration-skip-ink.text-decoration-style.text-decoration-thickness.text-emphasis.text-emphasis-color.text-emphasis-position.text-emphasis-style.text-indent.text-justify.text-orientation.text-overflow.text-rendering.text-shadow.text-size-adjust.text-transform.text-underline-offset.text-underline-position.text-wrap.text-wrap-mode.text-wrap-style.timeline-scope.top.touch-action.transform.transform-box.transform-origin.transform-style.transition.transition-behavior.transition-delay.transition-duration.transition-property.transition-timing-function.translate.unicode-bidi.user-modify.user-select.vector-effect.vertical-align.view-timeline.view-timeline-axis.view-timeline-inset.view-timeline-name.view-transition-name.visibility.voice-balance.voice-duration.voice-family.voice-pitch.voice-range.voice-rate.voice-stress.voice-volume.white-space.white-space-collapse.widows.width.will-change.word-break.word-spacing.word-wrap.writing-mode.x.y.z-index.zoom`.split(`.`).sort().reverse(),xB=vB.concat(yB).sort().reverse();function SB(e){let t=pB(e),n=xB,r=`[\\w-]+`,i=`(`+r+`|@\\{[\\w-]+\\})`,a=[],o=[],s=function(e){return{className:`string`,begin:`~?`+e+`.*?`+e}},c=function(e,t,n){return{className:e,begin:t,relevance:n}},l={$pattern:/[a-z-]+/,keyword:`and or not only`,attribute:_B.join(` `)},u={begin:`\\(`,end:`\\)`,contains:o,keywords:l,relevance:0};o.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s(`'`),s(`"`),t.CSS_NUMBER_MODE,{begin:`(url|data-uri)\\(`,starts:{className:`string`,end:`[\\)\\n]`,excludeEnd:!0}},t.HEXCOLOR,u,c(`variable`,`@@?`+r,10),c(`variable`,`@\\{`+r+`\\}`),c(`built_in`,"~?`[^`]*?`"),{className:`attribute`,begin:r+`\\s*:`,end:`:`,returnBegin:!0,excludeEnd:!0},t.IMPORTANT,{beginKeywords:`and not`},t.FUNCTION_DISPATCH);let d=o.concat({begin:/\{/,end:/\}/,contains:a}),f={beginKeywords:`when`,endsWithParent:!0,contains:[{beginKeywords:`and not`}].concat(o)},p={begin:i+`\\s*:`,returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},t.CSS_VARIABLE,{className:`attribute`,begin:`\\b(`+bB.join(`|`)+`)\\b`,end:/(?=:)/,starts:{endsWithParent:!0,illegal:`[<=$]`,relevance:0,contains:o}}]},m={className:`keyword`,begin:`@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b`,starts:{end:`[;{}]`,keywords:l,returnEnd:!0,contains:o,relevance:0}},h={className:`variable`,variants:[{begin:`@`+r+`\\s*:`,relevance:15},{begin:`@`+r}],starts:{end:`[;}]`,returnEnd:!0,contains:d}},g={variants:[{begin:`[\\.#:&\\[>]`,end:`[;{}]`},{begin:i,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,f,c(`keyword`,`all\\b`),c(`variable`,`@\\{`+r+`\\}`),{begin:`\\b(`+gB.join(`|`)+`)\\b`,className:`selector-tag`},t.CSS_NUMBER_MODE,c(`selector-tag`,i,0),c(`selector-id`,`#`+i),c(`selector-class`,`\\.`+i,0),c(`selector-tag`,`&`,0),t.ATTRIBUTE_SELECTOR_MODE,{className:`selector-pseudo`,begin:`:(`+vB.join(`|`)+`)`},{className:`selector-pseudo`,begin:`:(:)?(`+yB.join(`|`)+`)`},{begin:/\(/,end:/\)/,relevance:0,contains:d},{begin:`!important`},t.FUNCTION_DISPATCH]},_={begin:`[\\w-]+:(:)?(${n.join(`|`)})`,returnBegin:!0,contains:[g]};return a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,m,h,_,p,g,f,t.FUNCTION_DISPATCH),{name:`Less`,case_insensitive:!0,illegal:`[=>'/<($"]`,contains:a}}function CB(e){let t=`\\[=*\\[`,n=`\\]=*\\]`,r={begin:t,end:n,contains:[`self`]},i=[e.COMMENT(`--(?!`+t+`)`,`$`),e.COMMENT(`--`+t,n,{contains:[r],relevance:10})];return{name:`Lua`,aliases:[`pluto`],keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:`true false nil`,keyword:`and break do else elseif end for goto if in local not or repeat return then until while`,built_in:`_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove`},contains:i.concat([{className:`function`,beginKeywords:`function`,end:`\\)`,contains:[e.inherit(e.TITLE_MODE,{begin:`([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*`}),{className:`params`,begin:`\\(`,endsWithParent:!0,contains:i}].concat(i)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:`string`,begin:t,end:n,contains:[r],relevance:5}])}}function wB(e){let t={className:`variable`,variants:[{begin:`\\$\\(`+e.UNDERSCORE_IDENT_RE+`\\)`,contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},n={className:`string`,begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,t]},r={className:`variable`,begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:`subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value`},contains:[t,n]},i={begin:`^`+e.UNDERSCORE_IDENT_RE+`\\s*(?=[:+?]?=)`},a={className:`meta`,begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:`.PHONY`}},o={className:`section`,begin:/^[^\s]+:/,end:/$/,contains:[t]};return{name:`Makefile`,aliases:[`mk`,`mak`,`make`],keywords:{$pattern:/[\w-]+/,keyword:`define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath`},contains:[e.HASH_COMMENT_MODE,t,n,r,i,a,o]}}function TB(e){let t=e.regex,n={begin:/<\/?[A-Za-z_]/,end:`>`,subLanguage:`xml`,relevance:0},r={begin:`^[-\\*]{3,}`,end:`$`},i={className:`code`,variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:`(~{3,})[^~](.|\\n)*?\\1~*[ ]*`},{begin:"```",end:"```+[ ]*$"},{begin:`~~~`,end:`~~~+[ ]*$`},{begin:"`.+?`"},{begin:`(?=^( {4}|\\t))`,contains:[{begin:`^( {4}|\\t)`,end:`(\\n)$`}],relevance:0}]},a={className:`bullet`,begin:`^[ ]*([*+-]|(\\d+\\.))(?=\\s+)`,end:`\\s+`,excludeEnd:!0},o={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:`symbol`,begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:`link`,begin:/:\s*/,end:/$/,excludeBegin:!0}]},s={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:`string`,relevance:0,begin:`\\[`,end:`\\]`,excludeBegin:!0,returnEnd:!0},{className:`link`,relevance:0,begin:`\\]\\(`,end:`\\)`,excludeBegin:!0,excludeEnd:!0},{className:`symbol`,relevance:0,begin:`\\]\\[`,end:`\\]`,excludeBegin:!0,excludeEnd:!0}]},c={className:`strong`,contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},l={className:`emphasis`,contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},u=e.inherit(c,{contains:[]}),d=e.inherit(l,{contains:[]});c.contains.push(d),l.contains.push(u);let f=[n,s];return[c,l,u,d].forEach(e=>{e.contains=e.contains.concat(f)}),f=f.concat(c,l),{name:`Markdown`,aliases:[`md`,`mkdown`,`mkd`],contains:[{className:`section`,variants:[{begin:`^#{1,6}`,end:`$`,contains:f},{begin:`(?=^.+?\\n[=-]{2,}$)`,contains:[{begin:`^[=-]*$`},{begin:`^`,end:`\\n`,contains:f}]}]},n,a,c,l,{className:`quote`,begin:`^>\\s+`,contains:f,end:`$`},i,r,s,o,{scope:`literal`,match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function EB(e){let t={className:`built_in`,begin:`\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+`},n=/[a-zA-Z@][a-zA-Z0-9_]*/,r=[`int`,`float`,`char`,`unsigned`,`signed`,`short`,`long`,`double`,`wchar_t`,`unichar`,`void`,`bool`,`BOOL`,`id|0`,`_Bool`],i=`while.export.sizeof.typedef.const.struct.for.union.volatile.static.mutable.if.do.return.goto.enum.else.break.extern.asm.case.default.register.explicit.typename.switch.continue.inline.readonly.assign.readwrite.self.@synchronized.id.typeof.nonatomic.IBOutlet.IBAction.strong.weak.copy.in.out.inout.bycopy.byref.oneway.__strong.__weak.__block.__autoreleasing.@private.@protected.@public.@try.@property.@end.@throw.@catch.@finally.@autoreleasepool.@synthesize.@dynamic.@selector.@optional.@required.@encode.@package.@import.@defs.@compatibility_alias.__bridge.__bridge_transfer.__bridge_retained.__bridge_retain.__covariant.__contravariant.__kindof._Nonnull._Nullable._Null_unspecified.__FUNCTION__.__PRETTY_FUNCTION__.__attribute__.getter.setter.retain.unsafe_unretained.nonnull.nullable.null_unspecified.null_resettable.class.instancetype.NS_DESIGNATED_INITIALIZER.NS_UNAVAILABLE.NS_REQUIRES_SUPER.NS_RETURNS_INNER_POINTER.NS_INLINE.NS_AVAILABLE.NS_DEPRECATED.NS_ENUM.NS_OPTIONS.NS_SWIFT_UNAVAILABLE.NS_ASSUME_NONNULL_BEGIN.NS_ASSUME_NONNULL_END.NS_REFINED_FOR_SWIFT.NS_SWIFT_NAME.NS_SWIFT_NOTHROW.NS_DURING.NS_HANDLER.NS_ENDHANDLER.NS_VALUERETURN.NS_VOIDRETURN`.split(`.`),a=[`false`,`true`,`FALSE`,`TRUE`,`nil`,`YES`,`NO`,`NULL`],o=[`dispatch_once_t`,`dispatch_queue_t`,`dispatch_sync`,`dispatch_async`,`dispatch_once`],s={"variable.language":[`this`,`super`],$pattern:n,keyword:i,literal:a,built_in:o,type:r},c={$pattern:n,keyword:[`@interface`,`@class`,`@protocol`,`@implementation`]};return{name:`Objective-C`,aliases:[`mm`,`objc`,`obj-c`,`obj-c++`,`objective-c++`],keywords:s,illegal:`</`,contains:[t,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:`string`,variants:[{begin:`@"`,end:`"`,illegal:`\\n`,contains:[e.BACKSLASH_ESCAPE]}]},{className:`meta`,begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:`if else elif endif define undef warning error line pragma ifdef ifndef include`},contains:[{begin:/\\\n/,relevance:0},e.inherit(e.QUOTE_STRING_MODE,{className:`string`}),{className:`string`,begin:/<.*?>/,end:/$/,illegal:`\\n`},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:`class`,begin:`(`+c.keyword.join(`|`)+`)\\b`,end:/(\{|$)/,excludeEnd:!0,keywords:c,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:`\\.`+e.UNDERSCORE_IDENT_RE,relevance:0}]}}function DB(e){let t=e.regex,n=`abs.accept.alarm.and.atan2.bind.binmode.bless.break.caller.chdir.chmod.chomp.chop.chown.chr.chroot.class.close.closedir.connect.continue.cos.crypt.dbmclose.dbmopen.defined.delete.die.do.dump.each.else.elsif.endgrent.endhostent.endnetent.endprotoent.endpwent.endservent.eof.eval.exec.exists.exit.exp.fcntl.field.fileno.flock.for.foreach.fork.format.formline.getc.getgrent.getgrgid.getgrnam.gethostbyaddr.gethostbyname.gethostent.getlogin.getnetbyaddr.getnetbyname.getnetent.getpeername.getpgrp.getpriority.getprotobyname.getprotobynumber.getprotoent.getpwent.getpwnam.getpwuid.getservbyname.getservbyport.getservent.getsockname.getsockopt.given.glob.gmtime.goto.grep.gt.hex.if.index.int.ioctl.join.keys.kill.last.lc.lcfirst.length.link.listen.local.localtime.log.lstat.lt.ma.map.method.mkdir.msgctl.msgget.msgrcv.msgsnd.my.ne.next.no.not.oct.open.opendir.or.ord.our.pack.package.pipe.pop.pos.print.printf.prototype.push.q|0.qq.quotemeta.qw.qx.rand.read.readdir.readline.readlink.readpipe.recv.redo.ref.rename.require.reset.return.reverse.rewinddir.rindex.rmdir.say.scalar.seek.seekdir.select.semctl.semget.semop.send.setgrent.sethostent.setnetent.setpgrp.setpriority.setprotoent.setpwent.setservent.setsockopt.shift.shmctl.shmget.shmread.shmwrite.shutdown.sin.sleep.socket.socketpair.sort.splice.split.sprintf.sqrt.srand.stat.state.study.sub.substr.symlink.syscall.sysopen.sysread.sysseek.system.syswrite.tell.telldir.tie.tied.time.times.tr.truncate.uc.ucfirst.umask.undef.unless.unlink.unpack.unshift.untie.until.use.utime.values.vec.wait.waitpid.wantarray.warn.when.while.write.x|0.xor.y|0`.split(`.`),r=/[dualxmsipngr]{0,12}/,i={$pattern:/[\w.]+/,keyword:n.join(` `)},a={className:`subst`,begin:`[$@]\\{`,end:`\\}`,keywords:i},o={begin:/->\{/,end:/\}/},s={scope:`attr`,match:/\s+:\s*\w+(\s*\(.*?\))?/},c={scope:`variable`,variants:[{begin:/\$\d/},{begin:t.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,`(?![A-Za-z])(?![@$%])`)},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[s]},l={className:`number`,variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},u=[e.BACKSLASH_ESCAPE,a,c],d=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],f=(e,n,i=`\\1`)=>{let a=i===`\\1`?i:t.concat(i,n);return t.concat(t.concat(`(?:`,e,`)`),n,/(?:\\.|[^\\\/])*?/,a,/(?:\\.|[^\\\/])*?/,i,r)},p=(e,n,i)=>t.concat(t.concat(`(?:`,e,`)`),n,/(?:\\.|[^\\\/])*?/,i,r),m=[c,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),o,{className:`string`,contains:u,variants:[{begin:`q[qwxr]?\\s*\\(`,end:`\\)`,relevance:5},{begin:`q[qwxr]?\\s*\\[`,end:`\\]`,relevance:5},{begin:`q[qwxr]?\\s*\\{`,end:`\\}`,relevance:5},{begin:`q[qwxr]?\\s*\\|`,end:`\\|`,relevance:5},{begin:`q[qwxr]?\\s*<`,end:`>`,relevance:5},{begin:`qw\\s+q`,end:`q`,relevance:5},{begin:`'`,end:`'`,contains:[e.BACKSLASH_ESCAPE]},{begin:`"`,end:`"`},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:`-?\\w+\\s*=>`,relevance:0}]},l,{begin:`(\\/\\/|`+e.RE_STARTERS_RE+`|\\b(split|return|print|reverse|grep)\\b)\\s*`,keywords:`split return print reverse grep`,relevance:0,contains:[e.HASH_COMMENT_MODE,{className:`regexp`,variants:[{begin:f(`s|tr|y`,t.either(...d,{capture:!0}))},{begin:f(`s|tr|y`,`\\(`,`\\)`)},{begin:f(`s|tr|y`,`\\[`,`\\]`)},{begin:f(`s|tr|y`,`\\{`,`\\}`)}],relevance:2},{className:`regexp`,variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:p(`(?:m|qr)?`,/\//,/\//)},{begin:p(`m|qr`,t.either(...d,{capture:!0}),/\1/)},{begin:p(`m|qr`,/\(/,/\)/)},{begin:p(`m|qr`,/\[/,/\]/)},{begin:p(`m|qr`,/\{/,/\}/)}]}]},{className:`function`,beginKeywords:`sub method`,end:`(\\s*\\(.*?\\))?[;{]`,excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,s]},{className:`class`,beginKeywords:`class`,end:`[;{]`,excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,s,l]},{begin:`-\\w\\b`,relevance:0},{begin:`^__DATA__$`,end:`^__END__$`,subLanguage:`mojolicious`,contains:[{begin:`^@@.*`,end:`$`,className:`comment`}]}];return a.contains=m,o.contains=m,{name:`Perl`,aliases:[`pl`,`pm`],keywords:i,contains:m}}function OB(e){let t=e.regex,n=/(?![A-Za-z0-9])(?![$])/,r=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),i=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),a=t.concat(/[A-Z]+/,n),o={scope:`variable`,match:`\\$+`+r},s={scope:`meta`,variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},c={scope:`subst`,variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},l=e.inherit(e.APOS_STRING_MODE,{illegal:null}),u=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(c)}),d={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(c),"on:begin":(e,t)=>{t.data._beginMatch=e[1]||e[2]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}},f=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),p=`[
1930
1930
  ]`,m={scope:`string`,variants:[u,l,d,f]},h={scope:`number`,variants:[{begin:`\\b0[bB][01]+(?:_[01]+)*\\b`},{begin:`\\b0[oO][0-7]+(?:_[0-7]+)*\\b`},{begin:`\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b`},{begin:`(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?`}],relevance:0},g=[`false`,`null`,`true`],_=`__CLASS__.__DIR__.__FILE__.__FUNCTION__.__COMPILER_HALT_OFFSET__.__LINE__.__METHOD__.__NAMESPACE__.__TRAIT__.die.echo.exit.include.include_once.print.require.require_once.array.abstract.and.as.binary.bool.boolean.break.callable.case.catch.class.clone.const.continue.declare.default.do.double.else.elseif.empty.enddeclare.endfor.endforeach.endif.endswitch.endwhile.enum.eval.extends.final.finally.float.for.foreach.from.global.goto.if.implements.instanceof.insteadof.int.integer.interface.isset.iterable.list.match|0.mixed.new.never.object.or.private.protected.public.readonly.real.return.string.switch.throw.trait.try.unset.use.var.void.while.xor.yield`.split(`.`),v=`Error|0.AppendIterator.ArgumentCountError.ArithmeticError.ArrayIterator.ArrayObject.AssertionError.BadFunctionCallException.BadMethodCallException.CachingIterator.CallbackFilterIterator.CompileError.Countable.DirectoryIterator.DivisionByZeroError.DomainException.EmptyIterator.ErrorException.Exception.FilesystemIterator.FilterIterator.GlobIterator.InfiniteIterator.InvalidArgumentException.IteratorIterator.LengthException.LimitIterator.LogicException.MultipleIterator.NoRewindIterator.OutOfBoundsException.OutOfRangeException.OuterIterator.OverflowException.ParentIterator.ParseError.RangeException.RecursiveArrayIterator.RecursiveCachingIterator.RecursiveCallbackFilterIterator.RecursiveDirectoryIterator.RecursiveFilterIterator.RecursiveIterator.RecursiveIteratorIterator.RecursiveRegexIterator.RecursiveTreeIterator.RegexIterator.RuntimeException.SeekableIterator.SplDoublyLinkedList.SplFileInfo.SplFileObject.SplFixedArray.SplHeap.SplMaxHeap.SplMinHeap.SplObjectStorage.SplObserver.SplPriorityQueue.SplQueue.SplStack.SplSubject.SplTempFileObject.TypeError.UnderflowException.UnexpectedValueException.UnhandledMatchError.ArrayAccess.BackedEnum.Closure.Fiber.Generator.Iterator.IteratorAggregate.Serializable.Stringable.Throwable.Traversable.UnitEnum.WeakReference.WeakMap.Directory.__PHP_Incomplete_Class.parent.php_user_filter.self.static.stdClass`.split(`.`),y={keyword:_,literal:(e=>{let t=[];return e.forEach(e=>{t.push(e),e.toLowerCase()===e?t.push(e.toUpperCase()):t.push(e.toLowerCase())}),t})(g),built_in:v},b=e=>e.map(e=>e.replace(/\|\d+$/,``)),x={variants:[{match:[/new/,t.concat(p,`+`),t.concat(`(?!`,b(v).join(`\\b|`),`\\b)`),i],scope:{1:`keyword`,4:`title.class`}}]},S=t.concat(r,`\\b(?!\\()`),C={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),S],scope:{2:`variable.constant`}},{match:[/::/,/class/],scope:{2:`variable.language`}},{match:[i,t.concat(/::/,t.lookahead(/(?!class\b)/)),S],scope:{1:`title.class`,3:`variable.constant`}},{match:[i,t.concat(`::`,t.lookahead(/(?!class\b)/))],scope:{1:`title.class`}},{match:[i,/::/,/class/],scope:{1:`title.class`,3:`variable.language`}}]},w={scope:`attr`,match:t.concat(r,t.lookahead(`:`),t.lookahead(/(?!::)/))},T={relevance:0,begin:/\(/,end:/\)/,keywords:y,contains:[w,o,C,e.C_BLOCK_COMMENT_MODE,m,h,x]},E={relevance:0,match:[/\b/,t.concat(`(?!fn\\b|function\\b|`,b(_).join(`\\b|`),`|`,b(v).join(`\\b|`),`\\b)`),r,t.concat(p,`*`),t.lookahead(/(?=\()/)],scope:{3:`title.function.invoke`},contains:[T]};T.contains.push(E);let D=[w,C,e.C_BLOCK_COMMENT_MODE,m,h,x],O={begin:t.concat(/#\[\s*\\?/,t.either(i,a)),beginScope:`meta`,end:/]/,endScope:`meta`,keywords:{literal:g,keyword:[`new`,`array`]},contains:[{begin:/\[/,end:/]/,keywords:{literal:g,keyword:[`new`,`array`]},contains:[`self`,...D]},...D,{scope:`meta`,variants:[{match:i},{match:a}]}]};return{case_insensitive:!1,keywords:y,contains:[O,e.HASH_COMMENT_MODE,e.COMMENT(`//`,`$`),e.COMMENT(`/\\*`,`\\*/`,{contains:[{scope:`doctag`,match:`@[A-Za-z]+`}]}),{match:/__halt_compiler\(\);/,keywords:`__halt_compiler`,starts:{scope:`comment`,end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:`meta`,endsParent:!0}]}},s,{scope:`variable.language`,match:/\$this\b/},o,E,C,{match:[/const/,/\s/,r],scope:{1:`keyword`,3:`variable.constant`}},x,{scope:`function`,relevance:0,beginKeywords:`fn function`,end:/[;{]/,excludeEnd:!0,illegal:`[$%\\[]`,contains:[{beginKeywords:`use`},e.UNDERSCORE_TITLE_MODE,{begin:`=>`,endsParent:!0},{scope:`params`,begin:`\\(`,end:`\\)`,excludeBegin:!0,excludeEnd:!0,keywords:y,contains:[`self`,O,o,C,e.C_BLOCK_COMMENT_MODE,m,h]}]},{scope:`class`,variants:[{beginKeywords:`enum`,illegal:/[($"]/},{beginKeywords:`class interface trait`,illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:`extends implements`},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:`namespace`,relevance:0,end:`;`,illegal:/[.']/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:`title.class`})]},{beginKeywords:`use`,relevance:0,end:`;`,contains:[{match:/\b(as|const|function)\b/,scope:`keyword`},e.UNDERSCORE_TITLE_MODE]},m,h]}}function kB(e){return{name:`PHP template`,subLanguage:`xml`,contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:`php`,contains:[{begin:`/\\*`,end:`\\*/`,skip:!0},{begin:`b"`,end:`"`,skip:!0},{begin:`b'`,end:`'`,skip:!0},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}function AB(e){return{name:`Plain text`,aliases:[`text`,`txt`],disableAutodetect:!0}}function jB(e){let t=e.regex,n=/[\p{XID_Start}_]\p{XID_Continue}*/u,r=`and.as.assert.async.await.break.case.class.continue.def.del.elif.else.except.finally.for.from.global.if.import.in.is.lambda.match.nonlocal|10.not.or.pass.raise.return.try.while.with.yield`.split(`.`),i={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:r,built_in:`__import__.abs.all.any.ascii.bin.bool.breakpoint.bytearray.bytes.callable.chr.classmethod.compile.complex.delattr.dict.dir.divmod.enumerate.eval.exec.filter.float.format.frozenset.getattr.globals.hasattr.hash.help.hex.id.input.int.isinstance.issubclass.iter.len.list.locals.map.max.memoryview.min.next.object.oct.open.ord.pow.print.property.range.repr.reversed.round.set.setattr.slice.sorted.staticmethod.str.sum.super.tuple.type.vars.zip`.split(`.`),literal:[`__debug__`,`Ellipsis`,`False`,`None`,`NotImplemented`,`True`],type:[`Any`,`Callable`,`Coroutine`,`Dict`,`List`,`Literal`,`Generic`,`Optional`,`Sequence`,`Set`,`Tuple`,`Type`,`Union`]},a={className:`meta`,begin:/^(>>>|\.\.\.) /},o={className:`subst`,begin:/\{/,end:/\}/,keywords:i,illegal:/#/},s={begin:/\{\{/,relevance:0},c={className:`string`,contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a,s,o]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a,s,o]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,s,o]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,o]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},l=`[0-9](_?[0-9])*`,u=`(\\b(${l}))?\\.(${l})|\\b(${l})\\.`,d=`\\b|${r.join(`|`)}`,f={className:`number`,relevance:0,variants:[{begin:`(\\b(${l})|(${u}))[eE][+-]?(${l})[jJ]?(?=${d})`},{begin:`(${u})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${d})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${d})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${d})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${d})`},{begin:`\\b(${l})[jJ](?=${d})`}]},p={className:`comment`,begin:t.lookahead(/# type:/),end:/$/,keywords:i,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},m={className:`params`,variants:[{className:``,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:[`self`,a,f,c,e.HASH_COMMENT_MODE]}]};return o.contains=[c,f,a],{name:`Python`,aliases:[`py`,`gyp`,`ipython`],unicodeRegex:!0,keywords:i,illegal:/(<\/|\?)|=>/,contains:[a,f,{scope:`variable.language`,match:/\bself\b/},{beginKeywords:`if`,relevance:0},{match:/\bor\b/,scope:`keyword`},c,p,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:`keyword`,3:`title.function`},contains:[m]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:`keyword`,3:`title.class`,6:`title.class.inherited`}},{className:`meta`,begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[f,m,c]}]}}function MB(e){return{aliases:[`pycon`],contains:[{className:`meta.prompt`,starts:{end:/ |$/,starts:{end:`$`,subLanguage:`python`}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}function NB(e){let t=e.regex,n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,r=t.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),i=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,a=t.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:`R`,keywords:{$pattern:n,keyword:`function if in break next repeat else for while`,literal:`NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10`,built_in:`LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm`},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:`doctag`,match:/@examples/,starts:{end:t.lookahead(t.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:`doctag`,begin:`@param`,end:/$/,contains:[{scope:`variable`,variants:[{match:n},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:`doctag`,match:/@[a-zA-Z]+/},{scope:`keyword`,match:/\\[a-zA-Z]+/}]}),e.HASH_COMMENT_MODE,{scope:`string`,contains:[e.BACKSLASH_ESCAPE],variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:`"`,end:`"`,relevance:0},{begin:`'`,end:`'`,relevance:0}]},{relevance:0,variants:[{scope:{1:`operator`,2:`number`},match:[i,r]},{scope:{1:`operator`,2:`number`},match:[/%[^%]*%/,r]},{scope:{1:`punctuation`,2:`number`},match:[a,r]},{scope:{2:`number`},match:[/[^a-zA-Z0-9._]|^/,r]}]},{scope:{3:`operator`},match:[n,/\s+/,/<-/,/\s+/]},{scope:`operator`,relevance:0,variants:[{match:i},{match:/%[^%]*%/}]},{scope:`punctuation`,relevance:0,match:a},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}function PB(e){let t=e.regex,n="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",r=t.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=t.concat(r,/(::\w+)*/),a=[`include`,`extend`,`prepend`,`public`,`private`,`protected`,`raise`,`throw`],o={"variable.constant":[`__FILE__`,`__LINE__`,`__ENCODING__`],"variable.language":[`self`,`super`],keyword:[`alias`,`and`,`begin`,`BEGIN`,`break`,`case`,`class`,`defined`,`do`,`else`,`elsif`,`end`,`END`,`ensure`,`for`,`if`,`in`,`module`,`next`,`not`,`or`,`redo`,`require`,`rescue`,`retry`,`return`,`then`,`undef`,`unless`,`until`,`when`,`while`,`yield`,...a],built_in:[`proc`,`lambda`,`attr_accessor`,`attr_reader`,`attr_writer`,`define_method`,`private_constant`,`module_function`],literal:[`true`,`false`,`nil`]},s={className:`doctag`,begin:`@[A-Za-z]+`},c={begin:`#<`,end:`>`},l=[e.COMMENT(`#`,`$`,{contains:[s]}),e.COMMENT(`^=begin`,`^=end`,{contains:[s],relevance:10}),e.COMMENT(`^__END__`,e.MATCH_NOTHING_RE)],u={className:`subst`,begin:/#\{/,end:/\}/,keywords:o},d={className:`string`,contains:[e.BACKSLASH_ESCAPE,u],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:t.concat(/<<[-~]?'?/,t.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,u]})]}]},f=`[0-9](_?[0-9])*`,p={className:`number`,relevance:0,variants:[{begin:`\\b([1-9](_?[0-9])*|0)(\\.(${f}))?([eE][+-]?(${f})|r)?i?\\b`},{begin:`\\b0[dD][0-9](_?[0-9])*r?i?\\b`},{begin:`\\b0[bB][0-1](_?[0-1])*r?i?\\b`},{begin:`\\b0[oO][0-7](_?[0-7])*r?i?\\b`},{begin:`\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b`},{begin:`\\b0(_?[0-7])+r?i?\\b`}]},m={variants:[{match:/\(\)/},{className:`params`,begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:o}]},h={match:[/(include|extend)\s+/,i],scope:{2:`title.class`},keywords:o},g={variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{match:[/\b(class|module)\s+/,i]}],scope:{2:`title.class`,4:`title.class.inherited`},keywords:o},_={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:`variable.constant`},v={match:[/def/,/\s+/,n],scope:{1:`keyword`,3:`title.function`},contains:[m]},y=[d,g,h,{relevance:0,match:[i,/\.new[. (]/],scope:{1:`title.class`}},_,{relevance:0,match:r,scope:`title.class`},v,{begin:e.IDENT_RE+`::`},{className:`symbol`,begin:e.UNDERSCORE_IDENT_RE+`(!|\\?)?:`,relevance:0},{className:`symbol`,begin:`:(?!\\s)`,contains:[d,{begin:n}],relevance:0},p,{className:`variable`,begin:`(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])`},{className:`params`,begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:o},{begin:`(`+e.RE_STARTERS_RE+`|unless)\\s*`,keywords:`unless`,contains:[{className:`regexp`,contains:[e.BACKSLASH_ESCAPE,u],illegal:/\n/,variants:[{begin:`/`,end:`/[a-z]*`},{begin:/%r\{/,end:/\}[a-z]*/},{begin:`%r\\(`,end:`\\)[a-z]*`},{begin:`%r!`,end:`![a-z]*`},{begin:`%r\\[`,end:`\\][a-z]*`}]}].concat(c,l),relevance:0}].concat(c,l);u.contains=y,m.contains=y;let b=[{begin:/^\s*=>/,starts:{end:`$`,contains:y}},{className:`meta.prompt`,begin:`^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])`,starts:{end:`$`,keywords:o,contains:y}}];return l.unshift(c),{name:`Ruby`,aliases:[`rb`,`gemspec`,`podspec`,`thor`,`irb`],keywords:o,illegal:/\/\*/,contains:[e.SHEBANG({binary:`ruby`})].concat(b,l,y)}}function FB(e){let t=e.regex,n=/(r#)?/,r=t.concat(n,e.UNDERSCORE_IDENT_RE),i=t.concat(n,e.IDENT_RE),a={className:`title.function.invoke`,relevance:0,begin:t.concat(/\b/,/(?!let|for|while|if|else|match\b)/,i,t.lookahead(/\s*\(/))},o=`([ui](8|16|32|64|128|size)|f(32|64))?`,s=`abstract.as.async.await.become.box.break.const.continue.crate.do.dyn.else.enum.extern.false.final.fn.for.if.impl.in.let.loop.macro.match.mod.move.mut.override.priv.pub.ref.return.self.Self.static.struct.super.trait.true.try.type.typeof.union.unsafe.unsized.use.virtual.where.while.yield`.split(`.`),c=[`true`,`false`,`Some`,`None`,`Ok`,`Err`],l=`drop .Copy.Send.Sized.Sync.Drop.Fn.FnMut.FnOnce.ToOwned.Clone.Debug.PartialEq.PartialOrd.Eq.Ord.AsRef.AsMut.Into.From.Default.Iterator.Extend.IntoIterator.DoubleEndedIterator.ExactSizeIterator.SliceConcatExt.ToString.assert!.assert_eq!.bitflags!.bytes!.cfg!.col!.concat!.concat_idents!.debug_assert!.debug_assert_eq!.env!.eprintln!.panic!.file!.format!.format_args!.include_bytes!.include_str!.line!.local_data_key!.module_path!.option_env!.print!.println!.select!.stringify!.try!.unimplemented!.unreachable!.vec!.write!.writeln!.macro_rules!.assert_ne!.debug_assert_ne!`.split(`.`),u=[`i8`,`i16`,`i32`,`i64`,`i128`,`isize`,`u8`,`u16`,`u32`,`u64`,`u128`,`usize`,`f32`,`f64`,`str`,`char`,`bool`,`Box`,`Option`,`Result`,`String`,`Vec`];return{name:`Rust`,aliases:[`rs`],keywords:{$pattern:e.IDENT_RE+`!?`,type:u,keyword:s,literal:c,built_in:l},illegal:`</`,contains:[e.C_LINE_COMMENT_MODE,e.COMMENT(`/\\*`,`\\*/`,{contains:[`self`]}),e.inherit(e.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:`symbol`,begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:`string`,variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{scope:`char.escape`,match:/\\('|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{className:`number`,variants:[{begin:`\\b0b([01_]+)`+o},{begin:`\\b0o([0-7_]+)`+o},{begin:`\\b0x([A-Fa-f0-9_]+)`+o},{begin:`\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)`+o}],relevance:0},{begin:[/fn/,/\s+/,r],className:{1:`keyword`,3:`title.function`}},{className:`meta`,begin:`#!?\\[`,end:`\\]`,contains:[{className:`string`,begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE]}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,r],className:{1:`keyword`,3:`keyword`,4:`variable`}},{begin:[/for/,/\s+/,r,/\s+/,/in/],className:{1:`keyword`,3:`variable`,5:`keyword`}},{begin:[/type/,/\s+/,r],className:{1:`keyword`,3:`title.class`}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,r],className:{1:`keyword`,3:`title.class`}},{begin:e.IDENT_RE+`::`,keywords:{keyword:`Self`,built_in:l,type:u}},{className:`punctuation`,begin:`->`},a]}}var IB=e=>({IMPORTANT:{scope:`meta`,begin:`!important`},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:`number`,begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:`built_in`,begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:`selector-attr`,begin:/\[/,end:/\]/,illegal:`$`,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:`number`,begin:e.NUMBER_RE+`(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?`,relevance:0},CSS_VARIABLE:{className:`attr`,begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),LB=`a.abbr.address.article.aside.audio.b.blockquote.body.button.canvas.caption.cite.code.dd.del.details.dfn.div.dl.dt.em.fieldset.figcaption.figure.footer.form.h1.h2.h3.h4.h5.h6.header.hgroup.html.i.iframe.img.input.ins.kbd.label.legend.li.main.mark.menu.nav.object.ol.optgroup.option.p.picture.q.quote.samp.section.select.source.span.strong.summary.sup.table.tbody.td.textarea.tfoot.th.thead.time.tr.ul.var.video`.split(`.`),RB=`defs.g.marker.mask.pattern.svg.switch.symbol.feBlend.feColorMatrix.feComponentTransfer.feComposite.feConvolveMatrix.feDiffuseLighting.feDisplacementMap.feFlood.feGaussianBlur.feImage.feMerge.feMorphology.feOffset.feSpecularLighting.feTile.feTurbulence.linearGradient.radialGradient.stop.circle.ellipse.image.line.path.polygon.polyline.rect.text.use.textPath.tspan.foreignObject.clipPath`.split(`.`),zB=[...LB,...RB],BB=`any-hover.any-pointer.aspect-ratio.color.color-gamut.color-index.device-aspect-ratio.device-height.device-width.display-mode.forced-colors.grid.height.hover.inverted-colors.monochrome.orientation.overflow-block.overflow-inline.pointer.prefers-color-scheme.prefers-contrast.prefers-reduced-motion.prefers-reduced-transparency.resolution.scan.scripting.update.width.min-width.max-width.min-height.max-height`.split(`.`).sort().reverse(),VB=`active.any-link.blank.checked.current.default.defined.dir.disabled.drop.empty.enabled.first.first-child.first-of-type.fullscreen.future.focus.focus-visible.focus-within.has.host.host-context.hover.indeterminate.in-range.invalid.is.lang.last-child.last-of-type.left.link.local-link.not.nth-child.nth-col.nth-last-child.nth-last-col.nth-last-of-type.nth-of-type.only-child.only-of-type.optional.out-of-range.past.placeholder-shown.read-only.read-write.required.right.root.scope.target.target-within.user-invalid.valid.visited.where`.split(`.`).sort().reverse(),HB=[`after`,`backdrop`,`before`,`cue`,`cue-region`,`first-letter`,`first-line`,`grammar-error`,`marker`,`part`,`placeholder`,`selection`,`slotted`,`spelling-error`].sort().reverse(),UB=`accent-color.align-content.align-items.align-self.alignment-baseline.all.anchor-name.animation.animation-composition.animation-delay.animation-direction.animation-duration.animation-fill-mode.animation-iteration-count.animation-name.animation-play-state.animation-range.animation-range-end.animation-range-start.animation-timeline.animation-timing-function.appearance.aspect-ratio.backdrop-filter.backface-visibility.background.background-attachment.background-blend-mode.background-clip.background-color.background-image.background-origin.background-position.background-position-x.background-position-y.background-repeat.background-size.baseline-shift.block-size.border.border-block.border-block-color.border-block-end.border-block-end-color.border-block-end-style.border-block-end-width.border-block-start.border-block-start-color.border-block-start-style.border-block-start-width.border-block-style.border-block-width.border-bottom.border-bottom-color.border-bottom-left-radius.border-bottom-right-radius.border-bottom-style.border-bottom-width.border-collapse.border-color.border-end-end-radius.border-end-start-radius.border-image.border-image-outset.border-image-repeat.border-image-slice.border-image-source.border-image-width.border-inline.border-inline-color.border-inline-end.border-inline-end-color.border-inline-end-style.border-inline-end-width.border-inline-start.border-inline-start-color.border-inline-start-style.border-inline-start-width.border-inline-style.border-inline-width.border-left.border-left-color.border-left-style.border-left-width.border-radius.border-right.border-right-color.border-right-style.border-right-width.border-spacing.border-start-end-radius.border-start-start-radius.border-style.border-top.border-top-color.border-top-left-radius.border-top-right-radius.border-top-style.border-top-width.border-width.bottom.box-align.box-decoration-break.box-direction.box-flex.box-flex-group.box-lines.box-ordinal-group.box-orient.box-pack.box-shadow.box-sizing.break-after.break-before.break-inside.caption-side.caret-color.clear.clip.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.color-scheme.column-count.column-fill.column-gap.column-rule.column-rule-color.column-rule-style.column-rule-width.column-span.column-width.columns.contain.contain-intrinsic-block-size.contain-intrinsic-height.contain-intrinsic-inline-size.contain-intrinsic-size.contain-intrinsic-width.container.container-name.container-type.content.content-visibility.counter-increment.counter-reset.counter-set.cue.cue-after.cue-before.cursor.cx.cy.direction.display.dominant-baseline.empty-cells.enable-background.field-sizing.fill.fill-opacity.fill-rule.filter.flex.flex-basis.flex-direction.flex-flow.flex-grow.flex-shrink.flex-wrap.float.flood-color.flood-opacity.flow.font.font-display.font-family.font-feature-settings.font-kerning.font-language-override.font-optical-sizing.font-palette.font-size.font-size-adjust.font-smooth.font-smoothing.font-stretch.font-style.font-synthesis.font-synthesis-position.font-synthesis-small-caps.font-synthesis-style.font-synthesis-weight.font-variant.font-variant-alternates.font-variant-caps.font-variant-east-asian.font-variant-emoji.font-variant-ligatures.font-variant-numeric.font-variant-position.font-variation-settings.font-weight.forced-color-adjust.gap.glyph-orientation-horizontal.glyph-orientation-vertical.grid.grid-area.grid-auto-columns.grid-auto-flow.grid-auto-rows.grid-column.grid-column-end.grid-column-start.grid-gap.grid-row.grid-row-end.grid-row-start.grid-template.grid-template-areas.grid-template-columns.grid-template-rows.hanging-punctuation.height.hyphenate-character.hyphenate-limit-chars.hyphens.icon.image-orientation.image-rendering.image-resolution.ime-mode.initial-letter.initial-letter-align.inline-size.inset.inset-area.inset-block.inset-block-end.inset-block-start.inset-inline.inset-inline-end.inset-inline-start.isolation.justify-content.justify-items.justify-self.kerning.left.letter-spacing.lighting-color.line-break.line-height.line-height-step.list-style.list-style-image.list-style-position.list-style-type.margin.margin-block.margin-block-end.margin-block-start.margin-bottom.margin-inline.margin-inline-end.margin-inline-start.margin-left.margin-right.margin-top.margin-trim.marker.marker-end.marker-mid.marker-start.marks.mask.mask-border.mask-border-mode.mask-border-outset.mask-border-repeat.mask-border-slice.mask-border-source.mask-border-width.mask-clip.mask-composite.mask-image.mask-mode.mask-origin.mask-position.mask-repeat.mask-size.mask-type.masonry-auto-flow.math-depth.math-shift.math-style.max-block-size.max-height.max-inline-size.max-width.min-block-size.min-height.min-inline-size.min-width.mix-blend-mode.nav-down.nav-index.nav-left.nav-right.nav-up.none.normal.object-fit.object-position.offset.offset-anchor.offset-distance.offset-path.offset-position.offset-rotate.opacity.order.orphans.outline.outline-color.outline-offset.outline-style.outline-width.overflow.overflow-anchor.overflow-block.overflow-clip-margin.overflow-inline.overflow-wrap.overflow-x.overflow-y.overlay.overscroll-behavior.overscroll-behavior-block.overscroll-behavior-inline.overscroll-behavior-x.overscroll-behavior-y.padding.padding-block.padding-block-end.padding-block-start.padding-bottom.padding-inline.padding-inline-end.padding-inline-start.padding-left.padding-right.padding-top.page.page-break-after.page-break-before.page-break-inside.paint-order.pause.pause-after.pause-before.perspective.perspective-origin.place-content.place-items.place-self.pointer-events.position.position-anchor.position-visibility.print-color-adjust.quotes.r.resize.rest.rest-after.rest-before.right.rotate.row-gap.ruby-align.ruby-position.scale.scroll-behavior.scroll-margin.scroll-margin-block.scroll-margin-block-end.scroll-margin-block-start.scroll-margin-bottom.scroll-margin-inline.scroll-margin-inline-end.scroll-margin-inline-start.scroll-margin-left.scroll-margin-right.scroll-margin-top.scroll-padding.scroll-padding-block.scroll-padding-block-end.scroll-padding-block-start.scroll-padding-bottom.scroll-padding-inline.scroll-padding-inline-end.scroll-padding-inline-start.scroll-padding-left.scroll-padding-right.scroll-padding-top.scroll-snap-align.scroll-snap-stop.scroll-snap-type.scroll-timeline.scroll-timeline-axis.scroll-timeline-name.scrollbar-color.scrollbar-gutter.scrollbar-width.shape-image-threshold.shape-margin.shape-outside.shape-rendering.speak.speak-as.src.stop-color.stop-opacity.stroke.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke-width.tab-size.table-layout.text-align.text-align-all.text-align-last.text-anchor.text-combine-upright.text-decoration.text-decoration-color.text-decoration-line.text-decoration-skip.text-decoration-skip-ink.text-decoration-style.text-decoration-thickness.text-emphasis.text-emphasis-color.text-emphasis-position.text-emphasis-style.text-indent.text-justify.text-orientation.text-overflow.text-rendering.text-shadow.text-size-adjust.text-transform.text-underline-offset.text-underline-position.text-wrap.text-wrap-mode.text-wrap-style.timeline-scope.top.touch-action.transform.transform-box.transform-origin.transform-style.transition.transition-behavior.transition-delay.transition-duration.transition-property.transition-timing-function.translate.unicode-bidi.user-modify.user-select.vector-effect.vertical-align.view-timeline.view-timeline-axis.view-timeline-inset.view-timeline-name.view-transition-name.visibility.voice-balance.voice-duration.voice-family.voice-pitch.voice-range.voice-rate.voice-stress.voice-volume.white-space.white-space-collapse.widows.width.will-change.word-break.word-spacing.word-wrap.writing-mode.x.y.z-index.zoom`.split(`.`).sort().reverse();function WB(e){let t=IB(e),n=HB,r=VB,i=`@[a-z-]+`,a={className:`variable`,begin:`(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b`,relevance:0};return{name:`SCSS`,case_insensitive:!0,illegal:`[=/|']`,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t.CSS_NUMBER_MODE,{className:`selector-id`,begin:`#[A-Za-z0-9_-]+`,relevance:0},{className:`selector-class`,begin:`\\.[A-Za-z0-9_-]+`,relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:`selector-tag`,begin:`\\b(`+zB.join(`|`)+`)\\b`,relevance:0},{className:`selector-pseudo`,begin:`:(`+r.join(`|`)+`)`},{className:`selector-pseudo`,begin:`:(:)?(`+n.join(`|`)+`)`},a,{begin:/\(/,end:/\)/,contains:[t.CSS_NUMBER_MODE]},t.CSS_VARIABLE,{className:`attribute`,begin:`\\b(`+UB.join(`|`)+`)\\b`},{begin:`\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b`},{begin:/:/,end:/[;}{]/,relevance:0,contains:[t.BLOCK_COMMENT,a,t.HEXCOLOR,t.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.IMPORTANT,t.FUNCTION_DISPATCH]},{begin:`@(page|font-face)`,keywords:{$pattern:i,keyword:`@page @font-face`}},{begin:`@`,end:`[{;]`,returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:`and or not only`,attribute:BB.join(` `)},contains:[{begin:i,className:`keyword`},{begin:/[a-z-]+(?=:)/,className:`attribute`},a,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.HEXCOLOR,t.CSS_NUMBER_MODE]},t.FUNCTION_DISPATCH]}}function GB(e){return{name:`Shell Session`,aliases:[`console`,`shellsession`],contains:[{className:`meta.prompt`,begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:`bash`}}]}}function KB(e){let t=e.regex,n=e.COMMENT(`--`,`$`),r={scope:`string`,variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},i={begin:/"/,end:/"/,contains:[{match:/""/}]},a=[`true`,`false`,`unknown`],o=[`double precision`,`large object`,`with timezone`,`without timezone`],s=`bigint.binary.blob.boolean.char.character.clob.date.dec.decfloat.decimal.float.int.integer.interval.nchar.nclob.national.numeric.real.row.smallint.time.timestamp.varchar.varying.varbinary`.split(`.`),c=[`add`,`asc`,`collation`,`desc`,`final`,`first`,`last`,`view`],l=`abs.acos.all.allocate.alter.and.any.are.array.array_agg.array_max_cardinality.as.asensitive.asin.asymmetric.at.atan.atomic.authorization.avg.begin.begin_frame.begin_partition.between.bigint.binary.blob.boolean.both.by.call.called.cardinality.cascaded.case.cast.ceil.ceiling.char.char_length.character.character_length.check.classifier.clob.close.coalesce.collate.collect.column.commit.condition.connect.constraint.contains.convert.copy.corr.corresponding.cos.cosh.count.covar_pop.covar_samp.create.cross.cube.cume_dist.current.current_catalog.current_date.current_default_transform_group.current_path.current_role.current_row.current_schema.current_time.current_timestamp.current_path.current_role.current_transform_group_for_type.current_user.cursor.cycle.date.day.deallocate.dec.decimal.decfloat.declare.default.define.delete.dense_rank.deref.describe.deterministic.disconnect.distinct.double.drop.dynamic.each.element.else.empty.end.end_frame.end_partition.end-exec.equals.escape.every.except.exec.execute.exists.exp.external.extract.false.fetch.filter.first_value.float.floor.for.foreign.frame_row.free.from.full.function.fusion.get.global.grant.group.grouping.groups.having.hold.hour.identity.in.indicator.initial.inner.inout.insensitive.insert.int.integer.intersect.intersection.interval.into.is.join.json_array.json_arrayagg.json_exists.json_object.json_objectagg.json_query.json_table.json_table_primitive.json_value.lag.language.large.last_value.lateral.lead.leading.left.like.like_regex.listagg.ln.local.localtime.localtimestamp.log.log10.lower.match.match_number.match_recognize.matches.max.member.merge.method.min.minute.mod.modifies.module.month.multiset.national.natural.nchar.nclob.new.no.none.normalize.not.nth_value.ntile.null.nullif.numeric.octet_length.occurrences_regex.of.offset.old.omit.on.one.only.open.or.order.out.outer.over.overlaps.overlay.parameter.partition.pattern.per.percent.percent_rank.percentile_cont.percentile_disc.period.portion.position.position_regex.power.precedes.precision.prepare.primary.procedure.ptf.range.rank.reads.real.recursive.ref.references.referencing.regr_avgx.regr_avgy.regr_count.regr_intercept.regr_r2.regr_slope.regr_sxx.regr_sxy.regr_syy.release.result.return.returns.revoke.right.rollback.rollup.row.row_number.rows.running.savepoint.scope.scroll.search.second.seek.select.sensitive.session_user.set.show.similar.sin.sinh.skip.smallint.some.specific.specifictype.sql.sqlexception.sqlstate.sqlwarning.sqrt.start.static.stddev_pop.stddev_samp.submultiset.subset.substring.substring_regex.succeeds.sum.symmetric.system.system_time.system_user.table.tablesample.tan.tanh.then.time.timestamp.timezone_hour.timezone_minute.to.trailing.translate.translate_regex.translation.treat.trigger.trim.trim_array.true.truncate.uescape.union.unique.unknown.unnest.update.upper.user.using.value.values.value_of.var_pop.var_samp.varbinary.varchar.varying.versioning.when.whenever.where.width_bucket.window.with.within.without.year`.split(`.`),u=`abs.acos.array_agg.asin.atan.avg.cast.ceil.ceiling.coalesce.corr.cos.cosh.count.covar_pop.covar_samp.cume_dist.dense_rank.deref.element.exp.extract.first_value.floor.json_array.json_arrayagg.json_exists.json_object.json_objectagg.json_query.json_table.json_table_primitive.json_value.lag.last_value.lead.listagg.ln.log.log10.lower.max.min.mod.nth_value.ntile.nullif.percent_rank.percentile_cont.percentile_disc.position.position_regex.power.rank.regr_avgx.regr_avgy.regr_count.regr_intercept.regr_r2.regr_slope.regr_sxx.regr_sxy.regr_syy.row_number.sin.sinh.sqrt.stddev_pop.stddev_samp.substring.substring_regex.sum.tan.tanh.translate.translate_regex.treat.trim.trim_array.unnest.upper.value_of.var_pop.var_samp.width_bucket`.split(`.`),d=[`current_catalog`,`current_date`,`current_default_transform_group`,`current_path`,`current_role`,`current_schema`,`current_transform_group_for_type`,`current_user`,`session_user`,`system_time`,`system_user`,`current_time`,`localtime`,`current_timestamp`,`localtimestamp`],f=[`create table`,`insert into`,`primary key`,`foreign key`,`not null`,`alter table`,`add constraint`,`grouping sets`,`on overflow`,`character set`,`respect nulls`,`ignore nulls`,`nulls first`,`nulls last`,`depth first`,`breadth first`],p=u,m=[...l,...c].filter(e=>!u.includes(e)),h={scope:`variable`,match:/@[a-z0-9][a-z0-9_]*/},g={scope:`operator`,match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},_={match:t.concat(/\b/,t.either(...p),/\s*\(/),relevance:0,keywords:{built_in:p}};function v(e){return t.concat(/\b/,t.either(...e.map(e=>e.replace(/\s+/,`\\s+`))),/\b/)}let y={scope:`keyword`,match:v(f),relevance:0};function b(e,{exceptions:t,when:n}={}){let r=n;return t||=[],e.map(e=>e.match(/\|\d+$/)||t.includes(e)?e:r(e)?`${e}|0`:e)}return{name:`SQL`,case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:b(m,{when:e=>e.length<3}),literal:a,type:s,built_in:d},contains:[{scope:`type`,match:v(o)},y,_,h,r,i,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,g]}}function qB(e){return e?typeof e==`string`?e:e.source:null}function JB(e){return YB(`(?=`,e,`)`)}function YB(...e){return e.map(e=>qB(e)).join(``)}function XB(e){let t=e[e.length-1];return typeof t==`object`&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function ZB(...e){return`(`+(XB(e).capture?``:`?:`)+e.map(e=>qB(e)).join(`|`)+`)`}var QB=e=>YB(/\b/,e,/\w$/.test(e)?/\b/:/\B/),$B=[`Protocol`,`Type`].map(QB),eV=[`init`,`self`].map(QB),tV=[`Any`,`Self`],nV=[`actor`,`any`,`associatedtype`,`async`,`await`,/as\?/,/as!/,`as`,`borrowing`,`break`,`case`,`catch`,`class`,`consume`,`consuming`,`continue`,`convenience`,`copy`,`default`,`defer`,`deinit`,`didSet`,`distributed`,`do`,`dynamic`,`each`,`else`,`enum`,`extension`,`fallthrough`,/fileprivate\(set\)/,`fileprivate`,`final`,`for`,`func`,`get`,`guard`,`if`,`import`,`indirect`,`infix`,/init\?/,/init!/,`inout`,/internal\(set\)/,`internal`,`in`,`is`,`isolated`,`nonisolated`,`lazy`,`let`,`macro`,`mutating`,`nonmutating`,/open\(set\)/,`open`,`operator`,`optional`,`override`,`package`,`postfix`,`precedencegroup`,`prefix`,/private\(set\)/,`private`,`protocol`,/public\(set\)/,`public`,`repeat`,`required`,`rethrows`,`return`,`set`,`some`,`static`,`struct`,`subscript`,`super`,`switch`,`throws`,`throw`,/try\?/,/try!/,`try`,`typealias`,/unowned\(safe\)/,/unowned\(unsafe\)/,`unowned`,`var`,`weak`,`where`,`while`,`willSet`],rV=[`false`,`nil`,`true`],iV=[`assignment`,`associativity`,`higherThan`,`left`,`lowerThan`,`none`,`right`],aV=[`#colorLiteral`,`#column`,`#dsohandle`,`#else`,`#elseif`,`#endif`,`#error`,`#file`,`#fileID`,`#fileLiteral`,`#filePath`,`#function`,`#if`,`#imageLiteral`,`#keyPath`,`#line`,`#selector`,`#sourceLocation`,`#warning`],oV=`abs.all.any.assert.assertionFailure.debugPrint.dump.fatalError.getVaList.isKnownUniquelyReferenced.max.min.numericCast.pointwiseMax.pointwiseMin.precondition.preconditionFailure.print.readLine.repeatElement.sequence.stride.swap.swift_unboxFromSwiftValueWithType.transcode.type.unsafeBitCast.unsafeDowncast.withExtendedLifetime.withUnsafeMutablePointer.withUnsafePointer.withVaList.withoutActuallyEscaping.zip`.split(`.`),sV=ZB(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),cV=ZB(sV,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),lV=YB(sV,cV,`*`),uV=ZB(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),dV=ZB(uV,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),fV=YB(uV,dV,`*`),pV=YB(/[A-Z]/,dV,`*`),mV=[`attached`,`autoclosure`,YB(/convention\(/,ZB(`swift`,`block`,`c`),/\)/),`discardableResult`,`dynamicCallable`,`dynamicMemberLookup`,`escaping`,`freestanding`,`frozen`,`GKInspectable`,`IBAction`,`IBDesignable`,`IBInspectable`,`IBOutlet`,`IBSegueAction`,`inlinable`,`main`,`nonobjc`,`NSApplicationMain`,`NSCopying`,`NSManaged`,YB(/objc\(/,fV,/\)/),`objc`,`objcMembers`,`propertyWrapper`,`requires_stored_property_inits`,`resultBuilder`,`Sendable`,`testable`,`UIApplicationMain`,`unchecked`,`unknown`,`usableFromInline`,`warn_unqualified_access`],hV=[`iOS`,`iOSApplicationExtension`,`macOS`,`macOSApplicationExtension`,`macCatalyst`,`macCatalystApplicationExtension`,`watchOS`,`watchOSApplicationExtension`,`tvOS`,`tvOSApplicationExtension`,`swift`];function gV(e){let t={match:/\s+/,relevance:0},n=e.COMMENT(`/\\*`,`\\*/`,{contains:[`self`]}),r=[e.C_LINE_COMMENT_MODE,n],i={match:[/\./,ZB(...$B,...eV)],className:{2:`keyword`}},a={match:YB(/\./,ZB(...nV)),relevance:0},o=nV.filter(e=>typeof e==`string`).concat([`_|0`]),s={variants:[{className:`keyword`,match:ZB(...nV.filter(e=>typeof e!=`string`).concat(tV).map(QB),...eV)}]},c={$pattern:ZB(/\b\w+/,/#\w+/),keyword:o.concat(aV),literal:rV},l=[i,a,s],u=[{match:YB(/\./,ZB(...oV)),relevance:0},{className:`built_in`,match:YB(/\b/,ZB(...oV),/(?=\()/)}],d={match:/->/,relevance:0},f=[d,{className:`operator`,relevance:0,variants:[{match:lV},{match:`\\.(\\.|${cV})+`}]}],p=`([0-9]_*)+`,m=`([0-9a-fA-F]_*)+`,h={className:`number`,relevance:0,variants:[{match:`\\b(${p})(\\.(${p}))?([eE][+-]?(${p}))?\\b`},{match:`\\b0x(${m})(\\.(${m}))?([pP][+-]?(${p}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},g=(e=``)=>({className:`subst`,variants:[{match:YB(/\\/,e,/[0\\tnr"']/)},{match:YB(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}]}),_=(e=``)=>({className:`subst`,match:YB(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/)}),v=(e=``)=>({className:`subst`,label:`interpol`,begin:YB(/\\/,e,/\(/),end:/\)/}),y=(e=``)=>({begin:YB(e,/"""/),end:YB(/"""/,e),contains:[g(e),_(e),v(e)]}),b=(e=``)=>({begin:YB(e,/"/),end:YB(/"/,e),contains:[g(e),v(e)]}),x={className:`string`,variants:[y(),y(`#`),y(`##`),y(`###`),b(),b(`#`),b(`##`),b(`###`)]},S=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}],C={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:S},w=e=>{let t=YB(e,/\//),n=YB(/\//,e);return{begin:t,end:n,contains:[...S,{scope:`comment`,begin:`#(?!.*${n})`,end:/$/}]}},T={scope:`regexp`,variants:[w(`###`),w(`##`),w(`#`),C]},E={match:YB(/`/,fV,/`/)},D=[E,{className:`variable`,match:/\$\d+/},{className:`variable`,match:`\\$${dV}+`}],O=[{match:/(@|#(un)?)available/,scope:`keyword`,starts:{contains:[{begin:/\(/,end:/\)/,keywords:hV,contains:[...f,h,x]}]}},{scope:`keyword`,match:YB(/@/,ZB(...mV),JB(ZB(/\(/,/\s+/)))},{scope:`meta`,match:YB(/@/,fV)}],k={match:JB(/\b[A-Z]/),relevance:0,contains:[{className:`type`,match:YB(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,dV,`+`)},{className:`type`,match:pV,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:YB(/\s+&\s+/,JB(pV)),relevance:0}]},A={begin:/</,end:/>/,keywords:c,contains:[...r,...l,...O,d,k]};k.contains.push(A);let j={begin:/\(/,end:/\)/,relevance:0,keywords:c,contains:[`self`,{match:YB(fV,/\s*:/),keywords:`_|0`,relevance:0},...r,T,...l,...u,...f,h,x,...D,...O,k]},M={begin:/</,end:/>/,keywords:`repeat each`,contains:[...r,k]},N={begin:/\(/,end:/\)/,keywords:c,contains:[{begin:ZB(JB(YB(fV,/\s*:/)),JB(YB(fV,/\s+/,fV,/\s*:/))),end:/:/,relevance:0,contains:[{className:`keyword`,match:/\b_\b/},{className:`params`,match:fV}]},...r,...l,...f,h,x,...O,k,j],endsParent:!0,illegal:/["']/},P={match:[/(func|macro)/,/\s+/,ZB(E.match,fV,lV)],className:{1:`keyword`,3:`title.function`},contains:[M,N,t],illegal:[/\[/,/%/]},F={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:`keyword`},contains:[M,N,t],illegal:/\[|%/},I={match:[/operator/,/\s+/,lV],className:{1:`keyword`,3:`title`}},L={begin:[/precedencegroup/,/\s+/,pV],className:{1:`keyword`,3:`title`},contains:[k],keywords:[...iV,...rV],end:/}/},R={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:`keyword`,3:`keyword`,5:`title.function`}},z={match:[/class\b/,/\s+/,/var\b/],scope:{1:`keyword`,3:`keyword`}},ee={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,fV,/\s*/],beginScope:{1:`keyword`,3:`title.class`},keywords:c,contains:[M,...l,{begin:/:/,end:/\{/,keywords:c,contains:[{scope:`title.class.inherited`,match:pV},...l],relevance:0}]};for(let e of x.variants){let t=e.contains.find(e=>e.label===`interpol`);t.keywords=c;let n=[...l,...u,...f,h,x,...D];t.contains=[...n,{begin:/\(/,end:/\)/,contains:[`self`,...n]}]}return{name:`Swift`,keywords:c,contains:[...r,P,F,R,z,ee,I,L,{beginKeywords:`import`,end:/$/,contains:[...r],relevance:0},T,...l,...u,...f,h,x,...D,...O,k,j]}}var _V=`[A-Za-z$_][0-9A-Za-z$_]*`,vV=`as.in.of.if.for.while.finally.var.new.function.do.return.void.else.break.catch.instanceof.with.throw.case.default.try.switch.continue.typeof.delete.let.yield.const.class.debugger.async.await.static.import.from.export.extends.using`.split(`.`),yV=[`true`,`false`,`null`,`undefined`,`NaN`,`Infinity`],bV=`Object.Function.Boolean.Symbol.Math.Date.Number.BigInt.String.RegExp.Array.Float32Array.Float64Array.Int8Array.Uint8Array.Uint8ClampedArray.Int16Array.Int32Array.Uint16Array.Uint32Array.BigInt64Array.BigUint64Array.Set.Map.WeakSet.WeakMap.ArrayBuffer.SharedArrayBuffer.Atomics.DataView.JSON.Promise.Generator.GeneratorFunction.AsyncFunction.Reflect.Proxy.Intl.WebAssembly`.split(`.`),xV=[`Error`,`EvalError`,`InternalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`],SV=[`setInterval`,`setTimeout`,`clearInterval`,`clearTimeout`,`require`,`exports`,`eval`,`isFinite`,`isNaN`,`parseFloat`,`parseInt`,`decodeURI`,`decodeURIComponent`,`encodeURI`,`encodeURIComponent`,`escape`,`unescape`],CV=[`arguments`,`this`,`super`,`console`,`window`,`document`,`localStorage`,`sessionStorage`,`module`,`global`],wV=[].concat(SV,bV,xV);function TV(e){let t=e.regex,n=(e,{after:t})=>{let n=`</`+e[0].slice(1);return e.input.indexOf(n,t)!==-1},r=_V,i={begin:`<>`,end:`</>`},a=/<[A-Za-z0-9\\._:-]+\s*\/>/,o={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,t)=>{let r=e[0].length+e.index,i=e.input[r];if(i===`<`||i===`,`){t.ignoreMatch();return}i===`>`&&(n(e,{after:r})||t.ignoreMatch());let a,o=e.input.substring(r);if(a=o.match(/^\s*=/)){t.ignoreMatch();return}if((a=o.match(/^\s+extends\s+/))&&a.index===0){t.ignoreMatch();return}}},s={$pattern:_V,keyword:vV,literal:yV,built_in:wV,"variable.language":CV},c=`[0-9](_?[0-9])*`,l=`\\.(${c})`,u=`0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`,d={className:`number`,variants:[{begin:`(\\b(${u})((${l})|\\.)?|(${l}))[eE][+-]?(${c})\\b`},{begin:`\\b(${u})\\b((${l})\\b|\\.)?|(${l})\\b`},{begin:`\\b(0|[1-9](_?[0-9])*)n\\b`},{begin:`\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b`},{begin:`\\b0[bB][0-1](_?[0-1])*n?\\b`},{begin:`\\b0[oO][0-7](_?[0-7])*n?\\b`},{begin:`\\b0[0-7]+n?\\b`}],relevance:0},f={className:`subst`,begin:`\\$\\{`,end:`\\}`,keywords:s,contains:[]},p={begin:".?html`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:`xml`}},m={begin:".?css`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:`css`}},h={begin:".?gql`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:`graphql`}},g={className:`string`,begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,f]},_={className:`comment`,variants:[e.COMMENT(/\/\*\*(?!\/)/,`\\*/`,{relevance:0,contains:[{begin:`(?=@[A-Za-z]+)`,relevance:0,contains:[{className:`doctag`,begin:`@[A-Za-z]+`},{className:`type`,begin:`\\{`,end:`\\}`,excludeEnd:!0,excludeBegin:!0,relevance:0},{className:`variable`,begin:r+`(?=\\s*(-)|$)`,endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},v=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,h,g,{match:/\$\d+/},d];f.contains=v.concat({begin:/\{/,end:/\}/,keywords:s,contains:[`self`].concat(v)});let y=[].concat(_,f.contains),b=y.concat([{begin:/(\s*)\(/,end:/\)/,keywords:s,contains:[`self`].concat(y)}]),x={className:`params`,begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,contains:b},S={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,`(`,t.concat(/\./,r),`)*`)],scope:{1:`keyword`,3:`title.class`,5:`keyword`,7:`title.class.inherited`}},{match:[/class/,/\s+/,r],scope:{1:`keyword`,3:`title.class`}}]},C={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:`title.class`,keywords:{_:[...bV,...xV]}},w={label:`use_strict`,className:`meta`,relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},T={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:`keyword`,3:`title.function`},label:`func.def`,contains:[x],illegal:/%/},E={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:`variable.constant`};function D(e){return t.concat(`(?!`,e.join(`|`),`)`)}let O={match:t.concat(/\b/,D([...SV,`super`,`import`].map(e=>`${e}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:`title.function`,relevance:0},k={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:`prototype`,className:`property`,relevance:0},A={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:`keyword`,3:`title.function`},contains:[{begin:/\(\)/},x]},j=`(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|`+e.UNDERSCORE_IDENT_RE+`)\\s*=>`,M={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(j)],keywords:`async`,className:{1:`keyword`,3:`title.function`},contains:[x]};return{name:`JavaScript`,aliases:[`js`,`jsx`,`mjs`,`cjs`],keywords:s,exports:{PARAMS_CONTAINS:b,CLASS_REFERENCE:C},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:`shebang`,binary:`node`,relevance:5}),w,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,h,g,_,{match:/\$\d+/},d,C,{scope:`attr`,match:r+t.lookahead(`:`),relevance:0},M,{begin:`(`+e.RE_STARTERS_RE+`|\\b(case|return|throw)\\b)\\s*`,keywords:`return throw case`,relevance:0,contains:[_,e.REGEXP_MODE,{className:`function`,begin:j,returnBegin:!0,end:`\\s*=>`,contains:[{className:`params`,variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,contains:b}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:i.begin,end:i.end},{match:a},{begin:o.begin,"on:begin":o.isTrulyOpeningTag,end:o.end}],subLanguage:`xml`,contains:[{begin:o.begin,end:o.end,skip:!0,contains:[`self`]}]}]},T,{beginKeywords:`while if switch catch for`},{begin:`\\b(?!function)`+e.UNDERSCORE_IDENT_RE+`\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{`,returnBegin:!0,label:`func.def`,contains:[x,e.inherit(e.TITLE_MODE,{begin:r,className:`title.function`})]},{match:/\.\.\./,relevance:0},k,{match:`\\$`+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:`title.function`},contains:[x]},O,E,S,A,{match:/\$[(.]/}]}}function EV(e){let t=e.regex,n=TV(e),r=_V,i=[`any`,`void`,`number`,`boolean`,`string`,`object`,`never`,`symbol`,`bigint`,`unknown`],a={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:`keyword`,3:`title.class`}},o={beginKeywords:`interface`,end:/\{/,excludeEnd:!0,keywords:{keyword:`interface extends`,built_in:i},contains:[n.exports.CLASS_REFERENCE]},s={className:`meta`,relevance:10,begin:/^\s*['"]use strict['"]/},c={$pattern:_V,keyword:vV.concat([`type`,`interface`,`public`,`private`,`protected`,`implements`,`declare`,`abstract`,`readonly`,`enum`,`override`,`satisfies`]),literal:yV,built_in:wV.concat(i),"variable.language":CV},l={className:`meta`,begin:`@`+r},u=(e,t,n)=>{let r=e.contains.findIndex(e=>e.label===t);if(r===-1)throw Error(`can not find mode to replace`);e.contains.splice(r,1,n)};Object.assign(n.keywords,c),n.exports.PARAMS_CONTAINS.push(l);let d=n.contains.find(e=>e.scope===`attr`),f=Object.assign({},d,{match:t.concat(r,t.lookahead(/\s*\?:/))});n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,d,f]),n.contains=n.contains.concat([l,a,o,f]),u(n,`shebang`,e.SHEBANG()),u(n,`use_strict`,s);let p=n.contains.find(e=>e.label===`func.def`);return p.relevance=0,Object.assign(n,{name:`TypeScript`,aliases:[`ts`,`tsx`,`mts`,`cts`]}),n}function DV(e){let t=e.regex,n={className:`string`,begin:/"(""|[^/n])"C\b/},r={className:`string`,begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},i=/\d{1,2}\/\d{1,2}\/\d{4}/,a=/\d{4}-\d{1,2}-\d{1,2}/,o=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,s=/\d{1,2}(:\d{1,2}){1,2}/,c={className:`literal`,variants:[{begin:t.concat(/# */,t.either(a,i),/ *#/)},{begin:t.concat(/# */,s,/ *#/)},{begin:t.concat(/# */,o,/ *#/)},{begin:t.concat(/# */,t.either(a,i),/ +/,t.either(o,s),/ *#/)}]},l={className:`number`,relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},u={className:`label`,begin:/^\w+:/},d=e.COMMENT(/'''/,/$/,{contains:[{className:`doctag`,begin:/<\/?/,end:/>/}]}),f=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:`Visual Basic .NET`,aliases:[`vb`],case_insensitive:!0,classNameAliases:{label:`symbol`},keywords:{keyword:`addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield`,built_in:`addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort`,type:`boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort`,literal:`true false nothing`},illegal:`//|\\{|\\}|endif|gosub|variant|wend|^\\$ `,contains:[n,r,c,l,u,d,f,{className:`meta`,begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:`const disable else elseif enable end externalsource if region then`},contains:[f]}]}}function OV(e){e.regex;let t=e.COMMENT(/\(;/,/;\)/);t.contains.push(`self`);let n=e.COMMENT(/;;/,/$/),r=`anyfunc,block,br,br_if,br_table,call,call_indirect,data,drop,elem,else,end,export,func,global.get,global.set,local.get,local.set,local.tee,get_global,get_local,global,if,import,local,loop,memory,memory.grow,memory.size,module,mut,nop,offset,param,result,return,select,set_global,set_local,start,table,tee_local,then,type,unreachable`.split(`,`),i={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:`keyword`,3:`title.function`}},a={className:`variable`,begin:/\$[\w_]+/},o={match:/(\((?!;)|\))+/,className:`punctuation`,relevance:0},s={className:`number`,relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/},c={match:/(i32|i64|f32|f64)(?!\.)/,className:`type`},l={className:`keyword`,match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/};return{name:`WebAssembly`,keywords:{$pattern:/[\w.]+/,keyword:r},contains:[n,t,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:`keyword`,3:`operator`}},a,o,i,e.QUOTE_STRING_MODE,c,l,s]}}function kV(e){let t=e.regex,n=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),r=/[\p{L}0-9._:-]+/u,i={className:`symbol`,begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},a={begin:/\s/,contains:[{className:`keyword`,begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},o=e.inherit(a,{begin:/\(/,end:/\)/}),s=e.inherit(e.APOS_STRING_MODE,{className:`string`}),c=e.inherit(e.QUOTE_STRING_MODE,{className:`string`}),l={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:`attr`,begin:r,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:`string`,endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[i]},{begin:/'/,end:/'/,contains:[i]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:`HTML, XML`,aliases:[`html`,`xhtml`,`rss`,`atom`,`xjb`,`xsd`,`xsl`,`plist`,`wsf`,`svg`],case_insensitive:!0,unicodeRegex:!0,contains:[{className:`meta`,begin:/<![a-z]/,end:/>/,relevance:10,contains:[a,c,s,o,{begin:/\[/,end:/\]/,contains:[{className:`meta`,begin:/<![a-z]/,end:/>/,contains:[a,o,c,s]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},i,{className:`meta`,end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[c]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:`tag`,begin:/<style(?=\s|>)/,end:/>/,keywords:{name:`style`},contains:[l],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:[`css`,`xml`]}},{className:`tag`,begin:/<script(?=\s|>)/,end:/>/,keywords:{name:`script`},contains:[l],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:[`javascript`,`handlebars`,`xml`]}},{className:`tag`,begin:/<>|<\/>/},{className:`tag`,begin:t.concat(/</,t.lookahead(t.concat(n,t.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:`name`,begin:n,relevance:0,starts:l}]},{className:`tag`,begin:t.concat(/<\//,t.lookahead(t.concat(n,/>/))),contains:[{className:`name`,begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function AV(e){let t=`true false yes no null`,n=`[\\w#;/?:@&=+$,.~*'()[\\]]+`,r={className:`attr`,variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},i={className:`template-variable`,variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},a={className:`string`,relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:`char.escape`,relevance:0}]},o={className:`string`,relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,i]},s=e.inherit(o,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),c={className:`number`,begin:`\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b`},l={end:`,`,endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},u={begin:/\{/,end:/\}/,contains:[l],illegal:`\\n`,relevance:0},d={begin:`\\[`,end:`\\]`,contains:[l],illegal:`\\n`,relevance:0},f=[r,{className:`meta`,begin:`^---\\s*$`,relevance:10},{className:`string`,begin:`[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*`},{begin:`<%[%=-]?`,end:`[%-]?%>`,subLanguage:`ruby`,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:`type`,begin:`!\\w+!`+n},{className:`type`,begin:`!<`+n+`>`},{className:`type`,begin:`!`+n},{className:`type`,begin:`!!`+n},{className:`meta`,begin:`&`+e.UNDERSCORE_IDENT_RE+`$`},{className:`meta`,begin:`\\*`+e.UNDERSCORE_IDENT_RE+`$`},{className:`bullet`,begin:`-(?=[ ]|$)`,relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},c,{className:`number`,begin:e.C_NUMBER_RE+`\\b`,relevance:0},u,d,a,o],p=[...f];return p.pop(),p.push(s),l.contains=p,{name:`YAML`,case_insensitive:!0,aliases:[`yml`],contains:f}}var jV={arduino:Oz,bash:kz,c:Az,cpp:jz,csharp:Mz,css:Vz,diff:Hz,go:Uz,graphql:Wz,ini:Gz,java:Zz,javascript:oB,json:sB,kotlin:fB,less:SB,lua:CB,makefile:wB,markdown:TB,objectivec:EB,perl:DB,php:OB,"php-template":kB,plaintext:AB,python:jB,"python-repl":MB,r:NB,ruby:PB,rust:FB,scss:WB,shell:GB,sql:KB,swift:gV,typescript:EV,vbnet:DV,wasm:OV,xml:kV,yaml:AV},MV=l(o(((e,t)=>{function n(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw Error(`map is read-only`)}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw Error(`set is read-only`)}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{let r=e[t],i=typeof r;(i===`object`||i===`function`)&&!Object.isFrozen(r)&&n(r)}),e}var r=class{constructor(e){e.data===void 0&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function i(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#x27;`)}function a(e,...t){let n=Object.create(null);for(let t in e)n[t]=e[t];return t.forEach(function(e){for(let t in e)n[t]=e[t]}),n}var o=`</span>`,s=e=>!!e.scope,c=(e,{prefix:t})=>{if(e.startsWith(`language:`))return e.replace(`language:`,`language-`);if(e.includes(`.`)){let n=e.split(`.`);return[`${t}${n.shift()}`,...n.map((e,t)=>`${e}${`_`.repeat(t+1)}`)].join(` `)}return`${t}${e}`},l=class{constructor(e,t){this.buffer=``,this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=i(e)}openNode(e){if(!s(e))return;let t=c(e.scope,{prefix:this.classPrefix});this.span(t)}closeNode(e){s(e)&&(this.buffer+=o)}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}},u=(e={})=>{let t={children:[]};return Object.assign(t,e),t},d=class e{constructor(){this.rootNode=u(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){let t=u({scope:e});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return typeof t==`string`?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(t=>this._walk(e,t)),e.closeNode(t)),e}static _collapse(t){typeof t!=`string`&&t.children&&(t.children.every(e=>typeof e==`string`)?t.children=[t.children.join(``)]:t.children.forEach(t=>{e._collapse(t)}))}},f=class extends d{constructor(e){super(),this.options=e}addText(e){e!==``&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,t){let n=e.root;t&&(n.scope=`language:${t}`),this.add(n)}toHTML(){return new l(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function p(e){return e?typeof e==`string`?e:e.source:null}function m(e){return _(`(?=`,e,`)`)}function h(e){return _(`(?:`,e,`)*`)}function g(e){return _(`(?:`,e,`)?`)}function _(...e){return e.map(e=>p(e)).join(``)}function v(e){let t=e[e.length-1];return typeof t==`object`&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function y(...e){return`(`+(v(e).capture?``:`?:`)+e.map(e=>p(e)).join(`|`)+`)`}function b(e){return RegExp(e.toString()+`|`).exec(``).length-1}function x(e,t){let n=e&&e.exec(t);return n&&n.index===0}var S=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function C(e,{joinWith:t}){let n=0;return e.map(e=>{n+=1;let t=n,r=p(e),i=``;for(;r.length>0;){let e=S.exec(r);if(!e){i+=r;break}i+=r.substring(0,e.index),r=r.substring(e.index+e[0].length),e[0][0]===`\\`&&e[1]?i+=`\\`+String(Number(e[1])+t):(i+=e[0],e[0]===`(`&&n++)}return i}).map(e=>`(${e})`).join(t)}var w=/\b\B/,T=`[a-zA-Z]\\w*`,E=`[a-zA-Z_]\\w*`,D=`\\b\\d+(\\.\\d+)?`,O=`(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)`,k=`\\b(0b[01]+)`,A=`!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~`,j=(e={})=>{let t=/^#![ ]*\//;return e.binary&&(e.begin=_(t,/.*\b/,e.binary,/\b.*/)),a({scope:`meta`,begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{e.index!==0&&t.ignoreMatch()}},e)},M={begin:`\\\\[\\s\\S]`,relevance:0},N={scope:`string`,begin:`'`,end:`'`,illegal:`\\n`,contains:[M]},P={scope:`string`,begin:`"`,end:`"`,illegal:`\\n`,contains:[M]},F={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},I=function(e,t,n={}){let r=a({scope:`comment`,begin:e,end:t,contains:[]},n);r.contains.push({scope:`doctag`,begin:`[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)`,end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let i=y(`I`,`a`,`is`,`so`,`us`,`to`,`at`,`if`,`in`,`it`,`on`,/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return r.contains.push({begin:_(/[ ]+/,`(`,i,/[.]?[:]?([.][ ]|[ ])/,`){3}`)}),r},L=I(`//`,`$`),R=I(`/\\*`,`\\*/`),z=I(`#`,`$`),ee={scope:`number`,begin:D,relevance:0},te={scope:`number`,begin:O,relevance:0},ne={scope:`number`,begin:k,relevance:0},B={scope:`regexp`,begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[M,{begin:/\[/,end:/\]/,relevance:0,contains:[M]}]},V={scope:`title`,begin:T,relevance:0},re={scope:`title`,begin:E,relevance:0},ie={begin:`\\.\\s*`+E,relevance:0},ae=Object.freeze({__proto__:null,APOS_STRING_MODE:N,BACKSLASH_ESCAPE:M,BINARY_NUMBER_MODE:ne,BINARY_NUMBER_RE:k,COMMENT:I,C_BLOCK_COMMENT_MODE:R,C_LINE_COMMENT_MODE:L,C_NUMBER_MODE:te,C_NUMBER_RE:O,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})},HASH_COMMENT_MODE:z,IDENT_RE:T,MATCH_NOTHING_RE:w,METHOD_GUARD:ie,NUMBER_MODE:ee,NUMBER_RE:D,PHRASAL_WORDS_MODE:F,QUOTE_STRING_MODE:P,REGEXP_MODE:B,RE_STARTERS_RE:A,SHEBANG:j,TITLE_MODE:V,UNDERSCORE_IDENT_RE:E,UNDERSCORE_TITLE_MODE:re});function oe(e,t){e.input[e.index-1]===`.`&&t.ignoreMatch()}function se(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function ce(e,t){t&&e.beginKeywords&&(e.begin=`\\b(`+e.beginKeywords.split(` `).join(`|`)+`)(?!\\.)(?=\\b|\\s)`,e.__beforeBegin=oe,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function H(e,t){Array.isArray(e.illegal)&&(e.illegal=y(...e.illegal))}function le(e,t){if(e.match){if(e.begin||e.end)throw Error(`begin & end are not supported with match`);e.begin=e.match,delete e.match}}function ue(e,t){e.relevance===void 0&&(e.relevance=1)}var U=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw Error(`beforeMatch cannot be used with starts`);let n=Object.assign({},e);Object.keys(e).forEach(t=>{delete e[t]}),e.keywords=n.keywords,e.begin=_(n.beforeMatch,m(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},de=[`of`,`and`,`for`,`in`,`not`,`or`,`if`,`then`,`parent`,`list`,`value`],fe=`keyword`;function pe(e,t,n=fe){let r=Object.create(null);return typeof e==`string`?i(n,e.split(` `)):Array.isArray(e)?i(n,e):Object.keys(e).forEach(function(n){Object.assign(r,pe(e[n],t,n))}),r;function i(e,n){t&&(n=n.map(e=>e.toLowerCase())),n.forEach(function(t){let n=t.split(`|`);r[n[0]]=[e,me(n[0],n[1])]})}}function me(e,t){return t?Number(t):he(e)?0:1}function he(e){return de.includes(e.toLowerCase())}var ge={},_e=e=>{console.error(e)},ve=(e,...t)=>{console.log(`WARN: ${e}`,...t)},ye=(e,t)=>{ge[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),ge[`${e}/${t}`]=!0)},be=Error();function xe(e,t,{key:n}){let r=0,i=e[n],a={},o={};for(let e=1;e<=t.length;e++)o[e+r]=i[e],a[e+r]=!0,r+=b(t[e-1]);e[n]=o,e[n]._emit=a,e[n]._multi=!0}function Se(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw _e(`skip, excludeBegin, returnBegin not compatible with beginScope: {}`),be;if(typeof e.beginScope!=`object`||e.beginScope===null)throw _e(`beginScope must be object`),be;xe(e,e.begin,{key:`beginScope`}),e.begin=C(e.begin,{joinWith:``})}}function Ce(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw _e(`skip, excludeEnd, returnEnd not compatible with endScope: {}`),be;if(typeof e.endScope!=`object`||e.endScope===null)throw _e(`endScope must be object`),be;xe(e,e.end,{key:`endScope`}),e.end=C(e.end,{joinWith:``})}}function we(e){e.scope&&typeof e.scope==`object`&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function Te(e){we(e),typeof e.beginScope==`string`&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope==`string`&&(e.endScope={_wrap:e.endScope}),Se(e),Ce(e)}function Ee(e){function t(t,n){return new RegExp(p(t),`m`+(e.case_insensitive?`i`:``)+(e.unicodeRegex?`u`:``)+(n?`g`:``))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=b(e)+1}compile(){this.regexes.length===0&&(this.exec=()=>null),this.matcherRe=t(C(this.regexes.map(e=>e[1]),{joinWith:`|`}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;let t=this.matcherRe.exec(e);if(!t)return null;let n=t.findIndex((e,t)=>t>0&&e!==void 0),r=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,r)}}class r{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];let t=new n;return this.rules.slice(e).forEach(([e,n])=>t.addRule(e,n)),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),t.type===`begin`&&this.count++}exec(e){let t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let n=t.exec(e);if(this.resumingScanAtSamePosition()&&!(n&&n.index===this.lastIndex)){let t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&this.considerAll()),n}}function i(e){let t=new r;return e.contains.forEach(e=>t.addRule(e.begin,{rule:e,type:`begin`})),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:`end`}),e.illegal&&t.addRule(e.illegal,{type:`illegal`}),t}function o(n,r){let a=n;if(n.isCompiled)return a;[se,le,Te,U].forEach(e=>e(n,r)),e.compilerExtensions.forEach(e=>e(n,r)),n.__beforeBegin=null,[ce,H,ue].forEach(e=>e(n,r)),n.isCompiled=!0;let s=null;return typeof n.keywords==`object`&&n.keywords.$pattern&&(n.keywords=Object.assign({},n.keywords),s=n.keywords.$pattern,delete n.keywords.$pattern),s||=/\w+/,n.keywords&&=pe(n.keywords,e.case_insensitive),a.keywordPatternRe=t(s,!0),r&&(n.begin||=/\B|\b/,a.beginRe=t(a.begin),!n.end&&!n.endsWithParent&&(n.end=/\B|\b/),n.end&&(a.endRe=t(a.end)),a.terminatorEnd=p(a.end)||``,n.endsWithParent&&r.terminatorEnd&&(a.terminatorEnd+=(n.end?`|`:``)+r.terminatorEnd)),n.illegal&&(a.illegalRe=t(n.illegal)),n.contains||=[],n.contains=[].concat(...n.contains.map(function(e){return Oe(e===`self`?n:e)})),n.contains.forEach(function(e){o(e,a)}),n.starts&&o(n.starts,r),a.matcher=i(a),a}if(e.compilerExtensions||=[],e.contains&&e.contains.includes(`self`))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=a(e.classNameAliases||{}),o(e)}function De(e){return e?e.endsWithParent||De(e.starts):!1}function Oe(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return a(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:De(e)?a(e,{starts:e.starts?a(e.starts):null}):Object.isFrozen(e)?a(e):e}var ke=`11.11.1`,Ae=class extends Error{constructor(e,t){super(e),this.name=`HTMLInjectionError`,this.html=t}},je=i,Me=a,Ne=Symbol(`nomatch`),Pe=7,Fe=function(e){let t=Object.create(null),i=Object.create(null),a=[],o=!0,s=`Could not find the language '{}', did you forget to load/include a language module?`,c={disableAutodetect:!0,name:`Plain text`,contains:[]},l={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:`hljs-`,cssSelector:`pre code`,languages:null,__emitter:f};function u(e){return l.noHighlightRe.test(e)}function d(e){let t=e.className+` `;t+=e.parentNode?e.parentNode.className:``;let n=l.languageDetectRe.exec(t);if(n){let t=N(n[1]);return t||(ve(s.replace(`{}`,n[1])),ve(`Falling back to no-highlight mode for this block.`,e)),t?n[1]:`no-highlight`}return t.split(/\s+/).find(e=>u(e)||N(e))}function p(e,t,n){let r=``,i=``;typeof t==`object`?(r=e,n=t.ignoreIllegals,i=t.language):(ye(`10.7.0`,`highlight(lang, code, ...args) has been deprecated.`),ye(`10.7.0`,`Please use highlight(code, options) instead.
1931
1931
  https://github.com/highlightjs/highlight.js/issues/2277`),i=e,r=t),n===void 0&&(n=!0);let a={code:r,language:i};z(`before:highlight`,a);let o=a.result?a.result:v(a.language,a.code,n);return o.code=a.code,z(`after:highlight`,o),o}function v(e,n,i,a){let c=Object.create(null);function u(e,t){return e.keywords[t]}function d(){if(!A.keywords){M.addText(P);return}let e=0;A.keywordPatternRe.lastIndex=0;let t=A.keywordPatternRe.exec(P),n=``;for(;t;){n+=P.substring(e,t.index);let r=D.case_insensitive?t[0].toLowerCase():t[0],i=u(A,r);if(i){let[e,a]=i;if(M.addText(n),n=``,c[r]=(c[r]||0)+1,c[r]<=Pe&&(F+=a),e.startsWith(`_`))n+=t[0];else{let n=D.classNameAliases[e]||e;m(t[0],n)}}else n+=t[0];e=A.keywordPatternRe.lastIndex,t=A.keywordPatternRe.exec(P)}n+=P.substring(e),M.addText(n)}function f(){if(P===``)return;let e=null;if(typeof A.subLanguage==`string`){if(!t[A.subLanguage]){M.addText(P);return}e=v(A.subLanguage,P,!0,j[A.subLanguage]),j[A.subLanguage]=e._top}else e=S(P,A.subLanguage.length?A.subLanguage:null);A.relevance>0&&(F+=e.relevance),M.__addSublanguage(e._emitter,e.language)}function p(){A.subLanguage==null?d():f(),P=``}function m(e,t){e!==``&&(M.startScope(t),M.addText(e),M.endScope())}function h(e,t){let n=1,r=t.length-1;for(;n<=r;){if(!e._emit[n]){n++;continue}let r=D.classNameAliases[e[n]]||e[n],i=t[n];r?m(i,r):(P=i,d(),P=``),n++}}function g(e,t){return e.scope&&typeof e.scope==`string`&&M.openNode(D.classNameAliases[e.scope]||e.scope),e.beginScope&&(e.beginScope._wrap?(m(P,D.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap),P=``):e.beginScope._multi&&(h(e.beginScope,t),P=``)),A=Object.create(e,{parent:{value:A}}),A}function _(e,t,n){let i=x(e.endRe,n);if(i){if(e[`on:end`]){let n=new r(e);e[`on:end`](t,n),n.isMatchIgnored&&(i=!1)}if(i){for(;e.endsParent&&e.parent;)e=e.parent;return e}}if(e.endsWithParent)return _(e.parent,t,n)}function y(e){return A.matcher.regexIndex===0?(P+=e[0],1):(R=!0,0)}function b(e){let t=e[0],n=e.rule,i=new r(n),a=[n.__beforeBegin,n[`on:begin`]];for(let n of a)if(n&&(n(e,i),i.isMatchIgnored))return y(t);return n.skip?P+=t:(n.excludeBegin&&(P+=t),p(),!n.returnBegin&&!n.excludeBegin&&(P=t)),g(n,e),n.returnBegin?0:t.length}function C(e){let t=e[0],r=n.substring(e.index),i=_(A,e,r);if(!i)return Ne;let a=A;A.endScope&&A.endScope._wrap?(p(),m(t,A.endScope._wrap)):A.endScope&&A.endScope._multi?(p(),h(A.endScope,e)):a.skip?P+=t:(a.returnEnd||a.excludeEnd||(P+=t),p(),a.excludeEnd&&(P=t));do A.scope&&M.closeNode(),!A.skip&&!A.subLanguage&&(F+=A.relevance),A=A.parent;while(A!==i.parent);return i.starts&&g(i.starts,e),a.returnEnd?0:t.length}function w(){let e=[];for(let t=A;t!==D;t=t.parent)t.scope&&e.unshift(t.scope);e.forEach(e=>M.openNode(e))}let T={};function E(t,r){let a=r&&r[0];if(P+=t,a==null)return p(),0;if(T.type===`begin`&&r.type===`end`&&T.index===r.index&&a===``){if(P+=n.slice(r.index,r.index+1),!o){let t=Error(`0 width match regex (${e})`);throw t.languageName=e,t.badRule=T.rule,t}return 1}if(T=r,r.type===`begin`)return b(r);if(r.type===`illegal`&&!i){let e=Error(`Illegal lexeme "`+a+`" for mode "`+(A.scope||`<unnamed>`)+`"`);throw e.mode=A,e}else if(r.type===`end`){let e=C(r);if(e!==Ne)return e}if(r.type===`illegal`&&a===``)return P+=`
1932
- `,1;if(L>1e5&&L>r.index*3)throw Error(`potential infinite loop, way more iterations than matches`);return P+=a,a.length}let D=N(e);if(!D)throw _e(s.replace(`{}`,e)),Error(`Unknown language: "`+e+`"`);let O=Ee(D),k=``,A=a||O,j={},M=new l.__emitter(l);w();let P=``,F=0,I=0,L=0,R=!1;try{if(D.__emitTokens)D.__emitTokens(n,M);else{for(A.matcher.considerAll();;){L++,R?R=!1:A.matcher.considerAll(),A.matcher.lastIndex=I;let e=A.matcher.exec(n);if(!e)break;let t=E(n.substring(I,e.index),e);I=e.index+t}E(n.substring(I))}return M.finalize(),k=M.toHTML(),{language:e,value:k,relevance:F,illegal:!1,_emitter:M,_top:A}}catch(t){if(t.message&&t.message.includes(`Illegal`))return{language:e,value:je(n),illegal:!0,relevance:0,_illegalBy:{message:t.message,index:I,context:n.slice(I-100,I+100),mode:t.mode,resultSoFar:k},_emitter:M};if(o)return{language:e,value:je(n),illegal:!1,relevance:0,errorRaised:t,_emitter:M,_top:A};throw t}}function b(e){let t={value:je(e),illegal:!1,relevance:0,_top:c,_emitter:new l.__emitter(l)};return t._emitter.addText(e),t}function S(e,n){n=n||l.languages||Object.keys(t);let r=b(e),i=n.filter(N).filter(F).map(t=>v(t,e,!1));i.unshift(r);let[a,o]=i.sort((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if(N(e.language).supersetOf===t.language)return 1;if(N(t.language).supersetOf===e.language)return-1}return 0}),s=a;return s.secondBest=o,s}function C(e,t,n){let r=t&&i[t]||n;e.classList.add(`hljs`),e.classList.add(`language-${r}`)}function w(e){let t=null,n=d(e);if(u(n))return;if(z(`before:highlightElement`,{el:e,language:n}),e.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",e);return}if(e.children.length>0&&(l.ignoreUnescapedHTML||(console.warn(`One of your code blocks includes unescaped HTML. This is a potentially serious security risk.`),console.warn(`https://github.com/highlightjs/highlight.js/wiki/security`),console.warn(`The element with unescaped HTML:`),console.warn(e)),l.throwUnescapedHTML))throw new Ae(`One of your code blocks includes unescaped HTML.`,e.innerHTML);t=e;let r=t.textContent,i=n?p(r,{language:n,ignoreIllegals:!0}):S(r);e.innerHTML=i.value,e.dataset.highlighted=`yes`,C(e,n,i.language),e.result={language:i.language,re:i.relevance,relevance:i.relevance},i.secondBest&&(e.secondBest={language:i.secondBest.language,relevance:i.secondBest.relevance}),z(`after:highlightElement`,{el:e,result:i,text:r})}function T(e){l=Me(l,e)}let E=()=>{k(),ye(`10.6.0`,`initHighlighting() deprecated. Use highlightAll() now.`)};function D(){k(),ye(`10.6.0`,`initHighlightingOnLoad() deprecated. Use highlightAll() now.`)}let O=!1;function k(){function e(){k()}if(document.readyState===`loading`){O||window.addEventListener(`DOMContentLoaded`,e,!1),O=!0;return}document.querySelectorAll(l.cssSelector).forEach(w)}function A(n,r){let i=null;try{i=r(e)}catch(e){if(_e(`Language definition for '{}' could not be registered.`.replace(`{}`,n)),o)_e(e);else throw e;i=c}i.name||=n,t[n]=i,i.rawDefinition=r.bind(null,e),i.aliases&&P(i.aliases,{languageName:n})}function j(e){delete t[e];for(let t of Object.keys(i))i[t]===e&&delete i[t]}function M(){return Object.keys(t)}function N(e){return e=(e||``).toLowerCase(),t[e]||t[i[e]]}function P(e,{languageName:t}){typeof e==`string`&&(e=[e]),e.forEach(e=>{i[e.toLowerCase()]=t})}function F(e){let t=N(e);return t&&!t.disableAutodetect}function I(e){e[`before:highlightBlock`]&&!e[`before:highlightElement`]&&(e[`before:highlightElement`]=t=>{e[`before:highlightBlock`](Object.assign({block:t.el},t))}),e[`after:highlightBlock`]&&!e[`after:highlightElement`]&&(e[`after:highlightElement`]=t=>{e[`after:highlightBlock`](Object.assign({block:t.el},t))})}function L(e){I(e),a.push(e)}function R(e){let t=a.indexOf(e);t!==-1&&a.splice(t,1)}function z(e,t){let n=e;a.forEach(function(e){e[n]&&e[n](t)})}function ee(e){return ye(`10.7.0`,`highlightBlock will be removed entirely in v12.0`),ye(`10.7.0`,`Please use highlightElement now.`),w(e)}Object.assign(e,{highlight:p,highlightAuto:S,highlightAll:k,highlightElement:w,highlightBlock:ee,configure:T,initHighlighting:E,initHighlightingOnLoad:D,registerLanguage:A,unregisterLanguage:j,listLanguages:M,getLanguage:N,registerAliases:P,autoDetection:F,inherit:Me,addPlugin:L,removePlugin:R}),e.debugMode=function(){o=!1},e.safeMode=function(){o=!0},e.versionString=ke,e.regex={concat:_,lookahead:m,either:y,optional:g,anyNumberOfTimes:h};for(let e in ae)typeof ae[e]==`object`&&n(ae[e]);return Object.assign(e,ae),e},Ie=Fe({});Ie.newInstance=()=>Fe({}),t.exports=Ie,Ie.HighlightJS=Ie,Ie.default=Ie}))()).default,NV={},PV=`hljs-`;function FV(e){let t=MV.newInstance();return e&&a(e),{highlight:n,highlightAuto:r,listLanguages:i,register:a,registerAlias:o,registered:s};function n(e,n,r){let i=r||NV,a=typeof i.prefix==`string`?i.prefix:PV;if(!t.getLanguage(e))throw Error("Unknown language: `"+e+"` is not registered");t.configure({__emitter:IV,classPrefix:a});let o=t.highlight(n,{ignoreIllegals:!0,language:e});if(o.errorRaised)throw Error("Could not highlight with `Highlight.js`",{cause:o.errorRaised});let s=o._emitter.root,c=s.data;return c.language=o.language,c.relevance=o.relevance,s}function r(e,r){let a=(r||NV).subset||i(),o=-1,s=0,c;for(;++o<a.length;){let i=a[o];if(!t.getLanguage(i))continue;let l=n(i,e,r);l.data&&l.data.relevance!==void 0&&l.data.relevance>s&&(s=l.data.relevance,c=l)}return c||{type:`root`,children:[],data:{language:void 0,relevance:s}}}function i(){return t.listLanguages()}function a(e,n){if(typeof e==`string`)t.registerLanguage(e,n);else{let n;for(n in e)Object.hasOwn(e,n)&&t.registerLanguage(n,e[n])}}function o(e,n){if(typeof e==`string`)t.registerAliases(typeof n==`string`?n:[...n],{languageName:e});else{let n;for(n in e)if(Object.hasOwn(e,n)){let r=e[n];t.registerAliases(typeof r==`string`?r:[...r],{languageName:n})}}}function s(e){return!!t.getLanguage(e)}}var IV=class{constructor(e){this.options=e,this.root={type:`root`,children:[],data:{language:void 0,relevance:0}},this.stack=[this.root]}addText(e){if(e===``)return;let t=this.stack[this.stack.length-1],n=t.children[t.children.length-1];n&&n.type===`text`?n.value+=e:t.children.push({type:`text`,value:e})}startScope(e){this.openNode(String(e))}endScope(){this.closeNode()}__addSublanguage(e,t){let n=this.stack[this.stack.length-1],r=e.root.children;t?n.children.push({type:`element`,tagName:`span`,properties:{className:[t]},children:r}):n.children.push(...r)}openNode(e){let t=this,n=e.split(`.`).map(function(e,n){return n?e+`_`.repeat(n):t.options.classPrefix+e}),r=this.stack[this.stack.length-1],i={type:`element`,tagName:`span`,properties:{className:n},children:[]};r.children.push(i),this.stack.push(i)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return``}},LV={};function RV(e){let t=e||LV,n=t.aliases,r=t.detect||!1,i=t.languages||jV,a=t.plainText,o=t.prefix,s=t.subset,c=`hljs`,l=FV(i);if(n&&l.registerAlias(n),o){let e=o.indexOf(`-`);c=e===-1?o:o.slice(0,e)}return function(e,t){ZP(e,`element`,function(e,n,i){if(e.tagName!==`code`||!i||i.type!==`element`||i.tagName!==`pre`)return;let u=zV(e);if(u===!1||!u&&!r||u&&a&&a.includes(u))return;Array.isArray(e.properties.className)||(e.properties.className=[]),e.properties.className.includes(c)||e.properties.className.unshift(c);let d=_z(e,{whitespace:`pre`}),f;try{f=u?l.highlight(u,d,{prefix:o}):l.highlightAuto(d,{prefix:o,subset:s})}catch(n){let r=n;if(u&&/Unknown language/.test(r.message)){t.message("Cannot highlight as `"+u+"`, it’s not registered",{ancestors:[i,e],cause:r,place:e.position,ruleId:`missing-language`,source:`rehype-highlight`});return}throw r}!u&&f.data&&f.data.language&&e.properties.className.push(`language-`+f.data.language),f.children.length>0&&(e.children=f.children)})}}function zV(e){let t=e.properties.className,n=-1;if(!Array.isArray(t))return;let r;for(;++n<t.length;){let e=String(t[n]);if(e===`no-highlight`||e===`nohighlight`)return!1;!r&&e.slice(0,5)===`lang-`&&(r=e.slice(5)),!r&&e.slice(0,9)===`language-`&&(r=e.slice(9))}return r}var BV=[`ariaDescribedBy`,`ariaLabel`,`ariaLabelledBy`],VV={ancestors:{tbody:[`table`],td:[`table`],th:[`table`],thead:[`table`],tfoot:[`table`],tr:[`table`]},attributes:{a:[...BV,`dataFootnoteBackref`,`dataFootnoteRef`,[`className`,`data-footnote-backref`],`href`],blockquote:[`cite`],code:[[`className`,/^language-./]],del:[`cite`],div:[`itemScope`,`itemType`],dl:[...BV],h2:[[`className`,`sr-only`]],img:[...BV,`longDesc`,`src`],input:[[`disabled`,!0],[`type`,`checkbox`]],ins:[`cite`],li:[[`className`,`task-list-item`]],ol:[...BV,[`className`,`contains-task-list`]],q:[`cite`],section:[`dataFootnotes`,[`className`,`footnotes`]],source:[`srcSet`],summary:[...BV],table:[...BV],ul:[...BV,[`className`,`contains-task-list`]],"*":`abbr.accept.acceptCharset.accessKey.action.align.alt.axis.border.cellPadding.cellSpacing.char.charOff.charSet.checked.clear.colSpan.color.cols.compact.coords.dateTime.dir.encType.frame.hSpace.headers.height.hrefLang.htmlFor.id.isMap.itemProp.label.lang.maxLength.media.method.multiple.name.noHref.noShade.noWrap.open.prompt.readOnly.rev.rowSpan.rows.rules.scope.selected.shape.size.span.start.summary.tabIndex.title.useMap.vAlign.value.width`.split(`.`)},clobber:[`ariaDescribedBy`,`ariaLabelledBy`,`id`,`name`],clobberPrefix:`user-content-`,protocols:{cite:[`http`,`https`],href:[`http`,`https`,`irc`,`ircs`,`mailto`,`xmpp`],longDesc:[`http`,`https`],src:[`http`,`https`]},required:{input:{disabled:!0,type:`checkbox`}},strip:[`script`],tagNames:`a.b.blockquote.br.code.dd.del.details.div.dl.dt.em.h1.h2.h3.h4.h5.h6.hr.i.img.input.ins.kbd.li.ol.p.picture.pre.q.rp.rt.ruby.s.samp.section.source.span.strike.strong.sub.summary.sup.table.tbody.td.tfoot.th.thead.tr.tt.ul.var`.split(`.`)},HV={}.hasOwnProperty;function UV(e,t){let n={type:`root`,children:[]},r=WV({schema:t?{...VV,...t}:VV,stack:[]},e);return r&&(Array.isArray(r)?r.length===1?n=r[0]:n.children=r:n=r),n}function WV(e,t){if(t&&typeof t==`object`){let n=t;switch(typeof n.type==`string`?n.type:``){case`comment`:return GV(e,n);case`doctype`:return KV(e,n);case`element`:return qV(e,n);case`root`:return JV(e,n);case`text`:return YV(e,n);default:}}}function GV(e,t){if(e.schema.allowComments){let e=typeof t.value==`string`?t.value:``,n=e.indexOf(`-->`),r={type:`comment`,value:n<0?e:e.slice(0,n)};return nH(r,t),r}}function KV(e,t){if(e.schema.allowDoctypes){let e={type:`doctype`};return nH(e,t),e}}function qV(e,t){let n=typeof t.tagName==`string`?t.tagName:``;e.stack.push(n);let r=XV(e,t.children),i=ZV(e,t.properties);e.stack.pop();let a=!1;if(n&&n!==`*`&&(!e.schema.tagNames||e.schema.tagNames.includes(n))&&(a=!0,e.schema.ancestors&&HV.call(e.schema.ancestors,n))){let t=e.schema.ancestors[n],r=-1;for(a=!1;++r<t.length;)e.stack.includes(t[r])&&(a=!0)}if(!a)return e.schema.strip&&!e.schema.strip.includes(n)?r:void 0;let o={type:`element`,tagName:n,properties:i,children:r};return nH(o,t),o}function JV(e,t){let n={type:`root`,children:XV(e,t.children)};return nH(n,t),n}function YV(e,t){let n={type:`text`,value:typeof t.value==`string`?t.value:``};return nH(n,t),n}function XV(e,t){let n=[];if(Array.isArray(t)){let r=t,i=-1;for(;++i<r.length;){let t=WV(e,r[i]);t&&(Array.isArray(t)?n.push(...t):n.push(t))}}return n}function ZV(e,t){let n=e.stack[e.stack.length-1],r=e.schema.attributes,i=e.schema.required,a=r&&HV.call(r,n)?r[n]:void 0,o=r&&HV.call(r,`*`)?r[`*`]:void 0,s=t&&typeof t==`object`?t:{},c={},l;for(l in s)if(HV.call(s,l)){let t=s[l],n=QV(e,rH(a,l),l,t);n??=QV(e,rH(o,l),l,t),n!=null&&(c[l]=n)}if(i&&HV.call(i,n)){let e=i[n];for(l in e)HV.call(e,l)&&!HV.call(c,l)&&(c[l]=e[l])}return c}function QV(e,t,n,r){return t?Array.isArray(r)?$V(e,t,n,r):eH(e,t,n,r):void 0}function $V(e,t,n,r){let i=-1,a=[];for(;++i<r.length;){let o=eH(e,t,n,r[i]);(typeof o==`number`||typeof o==`string`)&&a.push(o)}return a}function eH(e,t,n,r){if(!(typeof r!=`boolean`&&typeof r!=`number`&&typeof r!=`string`)&&tH(e,n,r)){if(typeof t==`object`&&t.length>1){let e=!1,n=0;for(;++n<t.length;){let i=t[n];if(i&&typeof i==`object`&&`flags`in i){if(i.test(String(r))){e=!0;break}}else if(i===r){e=!0;break}}if(!e)return}return e.schema.clobber&&e.schema.clobberPrefix&&e.schema.clobber.includes(n)?e.schema.clobberPrefix+r:r}}function tH(e,t,n){let r=e.schema.protocols&&HV.call(e.schema.protocols,t)?e.schema.protocols[t]:void 0;if(!r||r.length===0)return!0;let i=String(n),a=i.indexOf(`:`),o=i.indexOf(`?`),s=i.indexOf(`#`),c=i.indexOf(`/`);if(a<0||c>-1&&a>c||o>-1&&a>o||s>-1&&a>s)return!0;let l=-1;for(;++l<r.length;){let e=r[l];if(a===e.length&&i.slice(0,e.length)===e)return!0}return!1}function nH(e,t){let n=uA(t);t.data&&(e.data=IP(t.data)),n&&(e.position=n)}function rH(e,t){let n,r=-1;if(e)for(;++r<e.length;){let i=e[r],a=typeof i==`string`?i:i[0];if(a===t)return i;a===`data*`&&(n=i)}if(t.length>4&&t.slice(0,4).toLowerCase()===`data`)return n}function iH(e){return function(t){return UV(t,e)}}function aH(){return typeof document>`u`?`dark`:(nE[document.documentElement.getAttribute(`data-theme`)||`rose-pine`]?.type??`dark`)===`light`?`default`:`dark`}function oH({chart:e}){let t=(0,W.useRef)(null),n=`mermaid-${(0,W.useId)().replace(/[^a-zA-Z0-9]/g,``)}`,[r,i]=(0,W.useState)(null);return(0,W.useEffect)(()=>{let r=!1;if(t.current)return(async()=>{try{let a=(await J(async()=>{let{default:e}=await import(`./mermaid.core-qcl7ght-.js`);return{default:e}},__vite__mapDeps([101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118]))).default;a.initialize({startOnLoad:!1,securityLevel:`strict`,theme:aH()});let{svg:o,bindFunctions:s}=await a.render(n,e);if(r||!t.current)return;t.current.innerHTML=o,s?.(t.current),i(null)}catch(e){r||i(e instanceof Error?e.message:String(e))}})(),()=>{r=!0}},[e,n]),r?(0,G.jsxs)(`div`,{className:`mermaid-error`,children:[(0,G.jsxs)(`div`,{className:`mermaid-error-note`,children:[`Failed to render diagram: `,r]}),(0,G.jsx)(`pre`,{children:(0,G.jsx)(`code`,{children:e})})]}):(0,G.jsx)(`div`,{className:`mermaid`,ref:t,role:`img`,"aria-label":`Mermaid diagram`})}var sH=[QR,tz],cH=[[iH,{...VV,protocols:{...VV.protocols,href:[...VV.protocols?.href??[],`file`,`file-mention`]},attributes:{...VV.attributes,h1:[...VV.attributes?.h1??[],`id`],h2:[...VV.attributes?.h2??[],`id`],h3:[...VV.attributes?.h3??[],`id`],h4:[...VV.attributes?.h4??[],`id`],h5:[...VV.attributes?.h5??[],`id`],h6:[...VV.attributes?.h6??[],`id`]}}],[RV,{ignoreMissing:!0,plainText:[`mermaid`,`suggestion`]}]];function lH(e){return e.startsWith(`file://`)||e.startsWith(`file-mention://`)?e:$F(e)}function uH(e){return e==null||e===!1||e===!0?``:typeof e==`string`||typeof e==`number`?String(e):Array.isArray(e)?e.map(uH).join(``):(0,W.isValidElement)(e)?uH(e.props.children):``}function dH(e){return typeof e==`string`?/language-([\w-]+)/.exec(e)?.[1]??null:null}function fH(e){return e.toLowerCase().trim().replace(/[`*_~[\]()#.!?,:'"]/g,``).replace(/[^\w\s-]/g,``).replace(/\s+/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``).slice(0,80)||`section`}function pH({language:e,codeText:t,children:n}){let[r,i]=(0,W.useState)(!1),a=(0,W.useCallback)(()=>{typeof navigator>`u`||!navigator.clipboard||navigator.clipboard.writeText(t).then(()=>{i(!0),window.setTimeout(()=>i(!1),1400)},()=>{})},[t]);return(0,G.jsxs)(`div`,{className:`md-code-block`,children:[(0,G.jsxs)(`div`,{className:`md-code-toolbar`,children:[(0,G.jsx)(`span`,{className:`md-code-lang`,children:e||`code`}),(0,G.jsx)(`button`,{type:`button`,className:`md-code-copy`,onClick:a,"aria-label":`Copy code`,children:r?`Copied`:`Copy`})]}),(0,G.jsx)(`pre`,{children:n})]})}function mH(e){return{pre({children:e}){let t=dH((0,W.isValidElement)(e)?e.props.className:void 0);return t===`mermaid`?(0,G.jsx)(oH,{chart:uH(e).replace(/\n$/,``)}):t===`suggestion`?null:(0,G.jsx)(pH,{language:t,codeText:uH(e).replace(/\n$/,``),children:e})},a({href:e,children:t}){return typeof e==`string`&&e.startsWith(`file-mention://`)?(0,G.jsx)(`span`,{className:`mention-file`,title:e.slice(15),children:t}):(0,G.jsx)(`a`,{href:e,...typeof e==`string`&&/^https?:\/\//.test(e)?{target:`_blank`,rel:`noopener noreferrer`}:{},children:t})},h1:hH(`h1`,e),h2:hH(`h2`,e),h3:hH(`h3`,e),h4:hH(`h4`,e),h5:hH(`h5`,e),h6:hH(`h6`,e)}}function hH(e,t){return function({children:n,...r}){let i=uH(n),a=fH(i),o=t.get(a)??0;return t.set(a,o+1),o>0&&(a=`${a}-${o+1}`),(0,G.jsxs)(e,{id:a,className:`md-heading`,...r,children:[(0,G.jsx)(`a`,{href:`#${a}`,className:`md-heading-anchor`,"aria-label":`Link to ${i}`,children:`#`}),n]})}}function gH({content:e,className:t}){return(0,G.jsx)(`div`,{className:t,children:(0,G.jsx)(YF,{remarkPlugins:sH,rehypePlugins:cH,urlTransform:lH,components:mH(new Map),children:e})})}function _H(e,t){let n=e.slice(0,t);for(let e=t-1;e>=0;e--){let t=n[e];if(t===`@`){if(e===0||/\s/.test(n[e-1])){let t=n.slice(e+1);if(!/\s/.test(t))return{atStart:e,query:t}}return null}if(t===`
1932
+ `,1;if(L>1e5&&L>r.index*3)throw Error(`potential infinite loop, way more iterations than matches`);return P+=a,a.length}let D=N(e);if(!D)throw _e(s.replace(`{}`,e)),Error(`Unknown language: "`+e+`"`);let O=Ee(D),k=``,A=a||O,j={},M=new l.__emitter(l);w();let P=``,F=0,I=0,L=0,R=!1;try{if(D.__emitTokens)D.__emitTokens(n,M);else{for(A.matcher.considerAll();;){L++,R?R=!1:A.matcher.considerAll(),A.matcher.lastIndex=I;let e=A.matcher.exec(n);if(!e)break;let t=E(n.substring(I,e.index),e);I=e.index+t}E(n.substring(I))}return M.finalize(),k=M.toHTML(),{language:e,value:k,relevance:F,illegal:!1,_emitter:M,_top:A}}catch(t){if(t.message&&t.message.includes(`Illegal`))return{language:e,value:je(n),illegal:!0,relevance:0,_illegalBy:{message:t.message,index:I,context:n.slice(I-100,I+100),mode:t.mode,resultSoFar:k},_emitter:M};if(o)return{language:e,value:je(n),illegal:!1,relevance:0,errorRaised:t,_emitter:M,_top:A};throw t}}function b(e){let t={value:je(e),illegal:!1,relevance:0,_top:c,_emitter:new l.__emitter(l)};return t._emitter.addText(e),t}function S(e,n){n=n||l.languages||Object.keys(t);let r=b(e),i=n.filter(N).filter(F).map(t=>v(t,e,!1));i.unshift(r);let[a,o]=i.sort((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if(N(e.language).supersetOf===t.language)return 1;if(N(t.language).supersetOf===e.language)return-1}return 0}),s=a;return s.secondBest=o,s}function C(e,t,n){let r=t&&i[t]||n;e.classList.add(`hljs`),e.classList.add(`language-${r}`)}function w(e){let t=null,n=d(e);if(u(n))return;if(z(`before:highlightElement`,{el:e,language:n}),e.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",e);return}if(e.children.length>0&&(l.ignoreUnescapedHTML||(console.warn(`One of your code blocks includes unescaped HTML. This is a potentially serious security risk.`),console.warn(`https://github.com/highlightjs/highlight.js/wiki/security`),console.warn(`The element with unescaped HTML:`),console.warn(e)),l.throwUnescapedHTML))throw new Ae(`One of your code blocks includes unescaped HTML.`,e.innerHTML);t=e;let r=t.textContent,i=n?p(r,{language:n,ignoreIllegals:!0}):S(r);e.innerHTML=i.value,e.dataset.highlighted=`yes`,C(e,n,i.language),e.result={language:i.language,re:i.relevance,relevance:i.relevance},i.secondBest&&(e.secondBest={language:i.secondBest.language,relevance:i.secondBest.relevance}),z(`after:highlightElement`,{el:e,result:i,text:r})}function T(e){l=Me(l,e)}let E=()=>{k(),ye(`10.6.0`,`initHighlighting() deprecated. Use highlightAll() now.`)};function D(){k(),ye(`10.6.0`,`initHighlightingOnLoad() deprecated. Use highlightAll() now.`)}let O=!1;function k(){function e(){k()}if(document.readyState===`loading`){O||window.addEventListener(`DOMContentLoaded`,e,!1),O=!0;return}document.querySelectorAll(l.cssSelector).forEach(w)}function A(n,r){let i=null;try{i=r(e)}catch(e){if(_e(`Language definition for '{}' could not be registered.`.replace(`{}`,n)),o)_e(e);else throw e;i=c}i.name||=n,t[n]=i,i.rawDefinition=r.bind(null,e),i.aliases&&P(i.aliases,{languageName:n})}function j(e){delete t[e];for(let t of Object.keys(i))i[t]===e&&delete i[t]}function M(){return Object.keys(t)}function N(e){return e=(e||``).toLowerCase(),t[e]||t[i[e]]}function P(e,{languageName:t}){typeof e==`string`&&(e=[e]),e.forEach(e=>{i[e.toLowerCase()]=t})}function F(e){let t=N(e);return t&&!t.disableAutodetect}function I(e){e[`before:highlightBlock`]&&!e[`before:highlightElement`]&&(e[`before:highlightElement`]=t=>{e[`before:highlightBlock`](Object.assign({block:t.el},t))}),e[`after:highlightBlock`]&&!e[`after:highlightElement`]&&(e[`after:highlightElement`]=t=>{e[`after:highlightBlock`](Object.assign({block:t.el},t))})}function L(e){I(e),a.push(e)}function R(e){let t=a.indexOf(e);t!==-1&&a.splice(t,1)}function z(e,t){let n=e;a.forEach(function(e){e[n]&&e[n](t)})}function ee(e){return ye(`10.7.0`,`highlightBlock will be removed entirely in v12.0`),ye(`10.7.0`,`Please use highlightElement now.`),w(e)}Object.assign(e,{highlight:p,highlightAuto:S,highlightAll:k,highlightElement:w,highlightBlock:ee,configure:T,initHighlighting:E,initHighlightingOnLoad:D,registerLanguage:A,unregisterLanguage:j,listLanguages:M,getLanguage:N,registerAliases:P,autoDetection:F,inherit:Me,addPlugin:L,removePlugin:R}),e.debugMode=function(){o=!1},e.safeMode=function(){o=!0},e.versionString=ke,e.regex={concat:_,lookahead:m,either:y,optional:g,anyNumberOfTimes:h};for(let e in ae)typeof ae[e]==`object`&&n(ae[e]);return Object.assign(e,ae),e},Ie=Fe({});Ie.newInstance=()=>Fe({}),t.exports=Ie,Ie.HighlightJS=Ie,Ie.default=Ie}))()).default,NV={},PV=`hljs-`;function FV(e){let t=MV.newInstance();return e&&a(e),{highlight:n,highlightAuto:r,listLanguages:i,register:a,registerAlias:o,registered:s};function n(e,n,r){let i=r||NV,a=typeof i.prefix==`string`?i.prefix:PV;if(!t.getLanguage(e))throw Error("Unknown language: `"+e+"` is not registered");t.configure({__emitter:IV,classPrefix:a});let o=t.highlight(n,{ignoreIllegals:!0,language:e});if(o.errorRaised)throw Error("Could not highlight with `Highlight.js`",{cause:o.errorRaised});let s=o._emitter.root,c=s.data;return c.language=o.language,c.relevance=o.relevance,s}function r(e,r){let a=(r||NV).subset||i(),o=-1,s=0,c;for(;++o<a.length;){let i=a[o];if(!t.getLanguage(i))continue;let l=n(i,e,r);l.data&&l.data.relevance!==void 0&&l.data.relevance>s&&(s=l.data.relevance,c=l)}return c||{type:`root`,children:[],data:{language:void 0,relevance:s}}}function i(){return t.listLanguages()}function a(e,n){if(typeof e==`string`)t.registerLanguage(e,n);else{let n;for(n in e)Object.hasOwn(e,n)&&t.registerLanguage(n,e[n])}}function o(e,n){if(typeof e==`string`)t.registerAliases(typeof n==`string`?n:[...n],{languageName:e});else{let n;for(n in e)if(Object.hasOwn(e,n)){let r=e[n];t.registerAliases(typeof r==`string`?r:[...r],{languageName:n})}}}function s(e){return!!t.getLanguage(e)}}var IV=class{constructor(e){this.options=e,this.root={type:`root`,children:[],data:{language:void 0,relevance:0}},this.stack=[this.root]}addText(e){if(e===``)return;let t=this.stack[this.stack.length-1],n=t.children[t.children.length-1];n&&n.type===`text`?n.value+=e:t.children.push({type:`text`,value:e})}startScope(e){this.openNode(String(e))}endScope(){this.closeNode()}__addSublanguage(e,t){let n=this.stack[this.stack.length-1],r=e.root.children;t?n.children.push({type:`element`,tagName:`span`,properties:{className:[t]},children:r}):n.children.push(...r)}openNode(e){let t=this,n=e.split(`.`).map(function(e,n){return n?e+`_`.repeat(n):t.options.classPrefix+e}),r=this.stack[this.stack.length-1],i={type:`element`,tagName:`span`,properties:{className:n},children:[]};r.children.push(i),this.stack.push(i)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return``}},LV={};function RV(e){let t=e||LV,n=t.aliases,r=t.detect||!1,i=t.languages||jV,a=t.plainText,o=t.prefix,s=t.subset,c=`hljs`,l=FV(i);if(n&&l.registerAlias(n),o){let e=o.indexOf(`-`);c=e===-1?o:o.slice(0,e)}return function(e,t){ZP(e,`element`,function(e,n,i){if(e.tagName!==`code`||!i||i.type!==`element`||i.tagName!==`pre`)return;let u=zV(e);if(u===!1||!u&&!r||u&&a&&a.includes(u))return;Array.isArray(e.properties.className)||(e.properties.className=[]),e.properties.className.includes(c)||e.properties.className.unshift(c);let d=_z(e,{whitespace:`pre`}),f;try{f=u?l.highlight(u,d,{prefix:o}):l.highlightAuto(d,{prefix:o,subset:s})}catch(n){let r=n;if(u&&/Unknown language/.test(r.message)){t.message("Cannot highlight as `"+u+"`, it’s not registered",{ancestors:[i,e],cause:r,place:e.position,ruleId:`missing-language`,source:`rehype-highlight`});return}throw r}!u&&f.data&&f.data.language&&e.properties.className.push(`language-`+f.data.language),f.children.length>0&&(e.children=f.children)})}}function zV(e){let t=e.properties.className,n=-1;if(!Array.isArray(t))return;let r;for(;++n<t.length;){let e=String(t[n]);if(e===`no-highlight`||e===`nohighlight`)return!1;!r&&e.slice(0,5)===`lang-`&&(r=e.slice(5)),!r&&e.slice(0,9)===`language-`&&(r=e.slice(9))}return r}var BV=[`ariaDescribedBy`,`ariaLabel`,`ariaLabelledBy`],VV={ancestors:{tbody:[`table`],td:[`table`],th:[`table`],thead:[`table`],tfoot:[`table`],tr:[`table`]},attributes:{a:[...BV,`dataFootnoteBackref`,`dataFootnoteRef`,[`className`,`data-footnote-backref`],`href`],blockquote:[`cite`],code:[[`className`,/^language-./]],del:[`cite`],div:[`itemScope`,`itemType`],dl:[...BV],h2:[[`className`,`sr-only`]],img:[...BV,`longDesc`,`src`],input:[[`disabled`,!0],[`type`,`checkbox`]],ins:[`cite`],li:[[`className`,`task-list-item`]],ol:[...BV,[`className`,`contains-task-list`]],q:[`cite`],section:[`dataFootnotes`,[`className`,`footnotes`]],source:[`srcSet`],summary:[...BV],table:[...BV],ul:[...BV,[`className`,`contains-task-list`]],"*":`abbr.accept.acceptCharset.accessKey.action.align.alt.axis.border.cellPadding.cellSpacing.char.charOff.charSet.checked.clear.colSpan.color.cols.compact.coords.dateTime.dir.encType.frame.hSpace.headers.height.hrefLang.htmlFor.id.isMap.itemProp.label.lang.maxLength.media.method.multiple.name.noHref.noShade.noWrap.open.prompt.readOnly.rev.rowSpan.rows.rules.scope.selected.shape.size.span.start.summary.tabIndex.title.useMap.vAlign.value.width`.split(`.`)},clobber:[`ariaDescribedBy`,`ariaLabelledBy`,`id`,`name`],clobberPrefix:`user-content-`,protocols:{cite:[`http`,`https`],href:[`http`,`https`,`irc`,`ircs`,`mailto`,`xmpp`],longDesc:[`http`,`https`],src:[`http`,`https`]},required:{input:{disabled:!0,type:`checkbox`}},strip:[`script`],tagNames:`a.b.blockquote.br.code.dd.del.details.div.dl.dt.em.h1.h2.h3.h4.h5.h6.hr.i.img.input.ins.kbd.li.ol.p.picture.pre.q.rp.rt.ruby.s.samp.section.source.span.strike.strong.sub.summary.sup.table.tbody.td.tfoot.th.thead.tr.tt.ul.var`.split(`.`)},HV={}.hasOwnProperty;function UV(e,t){let n={type:`root`,children:[]},r=WV({schema:t?{...VV,...t}:VV,stack:[]},e);return r&&(Array.isArray(r)?r.length===1?n=r[0]:n.children=r:n=r),n}function WV(e,t){if(t&&typeof t==`object`){let n=t;switch(typeof n.type==`string`?n.type:``){case`comment`:return GV(e,n);case`doctype`:return KV(e,n);case`element`:return qV(e,n);case`root`:return JV(e,n);case`text`:return YV(e,n);default:}}}function GV(e,t){if(e.schema.allowComments){let e=typeof t.value==`string`?t.value:``,n=e.indexOf(`-->`),r={type:`comment`,value:n<0?e:e.slice(0,n)};return nH(r,t),r}}function KV(e,t){if(e.schema.allowDoctypes){let e={type:`doctype`};return nH(e,t),e}}function qV(e,t){let n=typeof t.tagName==`string`?t.tagName:``;e.stack.push(n);let r=XV(e,t.children),i=ZV(e,t.properties);e.stack.pop();let a=!1;if(n&&n!==`*`&&(!e.schema.tagNames||e.schema.tagNames.includes(n))&&(a=!0,e.schema.ancestors&&HV.call(e.schema.ancestors,n))){let t=e.schema.ancestors[n],r=-1;for(a=!1;++r<t.length;)e.stack.includes(t[r])&&(a=!0)}if(!a)return e.schema.strip&&!e.schema.strip.includes(n)?r:void 0;let o={type:`element`,tagName:n,properties:i,children:r};return nH(o,t),o}function JV(e,t){let n={type:`root`,children:XV(e,t.children)};return nH(n,t),n}function YV(e,t){let n={type:`text`,value:typeof t.value==`string`?t.value:``};return nH(n,t),n}function XV(e,t){let n=[];if(Array.isArray(t)){let r=t,i=-1;for(;++i<r.length;){let t=WV(e,r[i]);t&&(Array.isArray(t)?n.push(...t):n.push(t))}}return n}function ZV(e,t){let n=e.stack[e.stack.length-1],r=e.schema.attributes,i=e.schema.required,a=r&&HV.call(r,n)?r[n]:void 0,o=r&&HV.call(r,`*`)?r[`*`]:void 0,s=t&&typeof t==`object`?t:{},c={},l;for(l in s)if(HV.call(s,l)){let t=s[l],n=QV(e,rH(a,l),l,t);n??=QV(e,rH(o,l),l,t),n!=null&&(c[l]=n)}if(i&&HV.call(i,n)){let e=i[n];for(l in e)HV.call(e,l)&&!HV.call(c,l)&&(c[l]=e[l])}return c}function QV(e,t,n,r){return t?Array.isArray(r)?$V(e,t,n,r):eH(e,t,n,r):void 0}function $V(e,t,n,r){let i=-1,a=[];for(;++i<r.length;){let o=eH(e,t,n,r[i]);(typeof o==`number`||typeof o==`string`)&&a.push(o)}return a}function eH(e,t,n,r){if(!(typeof r!=`boolean`&&typeof r!=`number`&&typeof r!=`string`)&&tH(e,n,r)){if(typeof t==`object`&&t.length>1){let e=!1,n=0;for(;++n<t.length;){let i=t[n];if(i&&typeof i==`object`&&`flags`in i){if(i.test(String(r))){e=!0;break}}else if(i===r){e=!0;break}}if(!e)return}return e.schema.clobber&&e.schema.clobberPrefix&&e.schema.clobber.includes(n)?e.schema.clobberPrefix+r:r}}function tH(e,t,n){let r=e.schema.protocols&&HV.call(e.schema.protocols,t)?e.schema.protocols[t]:void 0;if(!r||r.length===0)return!0;let i=String(n),a=i.indexOf(`:`),o=i.indexOf(`?`),s=i.indexOf(`#`),c=i.indexOf(`/`);if(a<0||c>-1&&a>c||o>-1&&a>o||s>-1&&a>s)return!0;let l=-1;for(;++l<r.length;){let e=r[l];if(a===e.length&&i.slice(0,e.length)===e)return!0}return!1}function nH(e,t){let n=uA(t);t.data&&(e.data=IP(t.data)),n&&(e.position=n)}function rH(e,t){let n,r=-1;if(e)for(;++r<e.length;){let i=e[r],a=typeof i==`string`?i:i[0];if(a===t)return i;a===`data*`&&(n=i)}if(t.length>4&&t.slice(0,4).toLowerCase()===`data`)return n}function iH(e){return function(t){return UV(t,e)}}function aH(){return typeof document>`u`?`dark`:(nE[document.documentElement.getAttribute(`data-theme`)||`rose-pine`]?.type??`dark`)===`light`?`default`:`dark`}var oH=(0,W.memo)(function({chart:e}){let t=(0,W.useRef)(null),n=`mermaid-${(0,W.useId)().replace(/[^a-zA-Z0-9]/g,``)}`,[r,i]=(0,W.useState)(null),[a,o]=(0,W.useState)(null);return(0,W.useEffect)(()=>{let r=!1;return(async()=>{try{let a=(await J(async()=>{let{default:e}=await import(`./mermaid.core-COTNtqgQ.js`);return{default:e}},__vite__mapDeps([101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118]))).default;a.initialize({startOnLoad:!1,securityLevel:`strict`,theme:aH()});let{svg:s,bindFunctions:c}=await a.render(n,e);if(r)return;o(s),i(null),requestAnimationFrame(()=>{r||!t.current||c?.(t.current)})}catch(e){r||i(e instanceof Error?e.message:String(e))}})(),()=>{r=!0}},[e,n]),r?(0,G.jsxs)(`div`,{className:`mermaid-error`,children:[(0,G.jsxs)(`div`,{className:`mermaid-error-note`,children:[`Failed to render diagram: `,r]}),(0,G.jsx)(`pre`,{children:(0,G.jsx)(`code`,{children:e})})]}):(0,G.jsx)(`div`,{className:`mermaid`,ref:t,role:`img`,"aria-label":`Mermaid diagram`,dangerouslySetInnerHTML:a?{__html:a}:void 0})}),sH=[QR,tz],cH=[[iH,{...VV,protocols:{...VV.protocols,href:[...VV.protocols?.href??[],`file`,`file-mention`]},attributes:{...VV.attributes,h1:[...VV.attributes?.h1??[],`id`],h2:[...VV.attributes?.h2??[],`id`],h3:[...VV.attributes?.h3??[],`id`],h4:[...VV.attributes?.h4??[],`id`],h5:[...VV.attributes?.h5??[],`id`],h6:[...VV.attributes?.h6??[],`id`]}}],[RV,{ignoreMissing:!0,plainText:[`mermaid`,`suggestion`]}]];function lH(e){return e.startsWith(`file://`)||e.startsWith(`file-mention://`)?e:$F(e)}function uH(e){return e==null||e===!1||e===!0?``:typeof e==`string`||typeof e==`number`?String(e):Array.isArray(e)?e.map(uH).join(``):(0,W.isValidElement)(e)?uH(e.props.children):``}function dH(e){return typeof e==`string`?/language-([\w-]+)/.exec(e)?.[1]??null:null}function fH(e){return e.toLowerCase().trim().replace(/[`*_~[\]()#.!?,:'"]/g,``).replace(/[^\w\s-]/g,``).replace(/\s+/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``).slice(0,80)||`section`}function pH({language:e,codeText:t,children:n}){let[r,i]=(0,W.useState)(!1),a=(0,W.useCallback)(()=>{typeof navigator>`u`||!navigator.clipboard||navigator.clipboard.writeText(t).then(()=>{i(!0),window.setTimeout(()=>i(!1),1400)},()=>{})},[t]);return(0,G.jsxs)(`div`,{className:`md-code-block`,children:[(0,G.jsxs)(`div`,{className:`md-code-toolbar`,children:[(0,G.jsx)(`span`,{className:`md-code-lang`,children:e||`code`}),(0,G.jsx)(`button`,{type:`button`,className:`md-code-copy`,onClick:a,"aria-label":`Copy code`,children:r?`Copied`:`Copy`})]}),(0,G.jsx)(`pre`,{children:n})]})}function mH(e){return{pre({children:e}){let t=dH((0,W.isValidElement)(e)?e.props.className:void 0);return t===`mermaid`?(0,G.jsx)(oH,{chart:uH(e).replace(/\n$/,``)}):t===`suggestion`?null:(0,G.jsx)(pH,{language:t,codeText:uH(e).replace(/\n$/,``),children:e})},a({href:e,children:t}){return typeof e==`string`&&e.startsWith(`file-mention://`)?(0,G.jsx)(`span`,{className:`mention-file`,title:e.slice(15),children:t}):(0,G.jsx)(`a`,{href:e,...typeof e==`string`&&/^https?:\/\//.test(e)?{target:`_blank`,rel:`noopener noreferrer`}:{},children:t})},h1:hH(`h1`,e),h2:hH(`h2`,e),h3:hH(`h3`,e),h4:hH(`h4`,e),h5:hH(`h5`,e),h6:hH(`h6`,e)}}function hH(e,t){return function({children:n,...r}){let i=uH(n),a=fH(i),o=t.get(a)??0;return t.set(a,o+1),o>0&&(a=`${a}-${o+1}`),(0,G.jsxs)(e,{id:a,className:`md-heading`,...r,children:[(0,G.jsx)(`a`,{href:`#${a}`,className:`md-heading-anchor`,"aria-label":`Link to ${i}`,children:`#`}),n]})}}function gH({content:e,className:t}){return(0,G.jsx)(`div`,{className:t,children:(0,G.jsx)(YF,{remarkPlugins:sH,rehypePlugins:cH,urlTransform:lH,components:(0,W.useMemo)(()=>mH(new Map),[e]),children:e})})}function _H(e,t){let n=e.slice(0,t);for(let e=t-1;e>=0;e--){let t=n[e];if(t===`@`){if(e===0||/\s/.test(n[e-1])){let t=n.slice(e+1);if(!/\s/.test(t))return{atStart:e,query:t}}return null}if(t===`
1933
1933
  `)return null}return null}function vH(e,t){let n=(0,W.useRef)(null),[r,i]=(0,W.useState)(null),[a,o]=(0,W.useState)(null),[s,c]=(0,W.useState)(0),[l,u]=(0,W.useState)(0),d=(0,W.useRef)(0),f=(0,W.useRef)(e);(0,W.useEffect)(()=>{f.current=e},[e]);let p=(0,W.useCallback)(e=>{n.current=e,i(e)},[]),m=(0,W.useCallback)(()=>{let e=n.current;if(!e)return;let t=e.selectionStart;d.current=t;let r=f.current,i=_H(r,t);if(o(i),!i)return;c(0);let a=getComputedStyle(e),s=parseFloat(a.lineHeight);Number.isFinite(s)||(s=(parseFloat(a.fontSize)||14)*1.5);let l=(r.slice(0,t).match(/\n/g)||[]).length;u((parseFloat(a.paddingTop)||0)+(l+1)*s-e.scrollTop+4)},[]);(0,W.useEffect)(()=>{m()},[e,m]),(0,W.useEffect)(()=>{if(!r)return;let e=()=>m();return r.addEventListener(`scroll`,e),r.addEventListener(`select`,e),r.addEventListener(`click`,e),()=>{r.removeEventListener(`scroll`,e),r.removeEventListener(`select`,e),r.removeEventListener(`click`,e)}},[r,m]);let h=a?.query??``,g=nt({queryKey:[`file-mention`,h],enabled:a!==null,placeholderData:B,staleTime:5e3,queryFn:async({signal:e})=>{let t=await fetch(`/api/search`,{method:`POST`,headers:{"content-type":`application/json`},signal:e,body:JSON.stringify({scope:`files`,query:h})});if(!t.ok)throw Error(`Search failed (${t.status})`);return await t.json()}}),_=g.data?.items??[],v=a!==null&&(_.length>0||g.isFetching),y=(0,W.useCallback)(r=>{if(!a)return;let i=n.current;if(!i)return;let s=e.slice(0,a.atStart),c=e.slice(d.current),l=`@${r} `;t(s+l+c),o(null),requestAnimationFrame(()=>{i.selectionStart=i.selectionEnd=(s+l).length,i.focus()})},[a,e,t]),b=(0,W.useCallback)(e=>{if(!v)return!1;if(e.key===`ArrowDown`){e.preventDefault();let t=_.length;return t>0&&c(e=>(e+1)%t),!0}if(e.key===`ArrowUp`){e.preventDefault();let t=_.length;return t>0&&c(e=>e===0?t-1:e-1),!0}return(e.key===`Enter`||e.key===`Tab`)&&_[s]?(e.preventDefault(),y(_[s].path),!0):e.key===`Escape`?(e.preventDefault(),o(null),!0):!1},[v,_,s,y]),x=(0,W.useCallback)(e=>y(e),[y]);return{isOpen:v,results:_,focusedIndex:s,query:h,isFetching:g.isFetching,cursorTop:l,handleKeyDown:b,onSelect:x,setFocusedIndex:c,setTextareaRef:p}}function yH(e,t){let n=t.trim().toLowerCase();if(!n)return[];let r=e.toLowerCase(),i=[],a=0;for(let e=0;e<r.length&&a<n.length;e++)if(r[e]===n[a]){let t=i[i.length-1];t&&t[1]===e?t[1]=e+1:i.push([e,e+1]),a++}return a===n.length?i:[]}function bH({text:e,ranges:t}){if(!t.length)return(0,G.jsx)(G.Fragment,{children:e});let n=[],r=0;return t.forEach(([t,i],a)=>{t>r&&n.push(e.slice(r,t)),n.push((0,G.jsx)(`mark`,{className:`mention-highlight`,children:e.slice(t,i)},a)),r=i}),r<e.length&&n.push(e.slice(r)),(0,G.jsx)(G.Fragment,{children:n})}var xH=e=>{let t=e.lastIndexOf(`/`);return t===-1?``:e.slice(0,t+1)},SH=e=>{let t=e.lastIndexOf(`/`);return t===-1?e:e.slice(t+1)};function CH({results:e,focusedIndex:t,query:n,cursorTop:r,onSelect:i,onHover:a}){let o=(0,W.useRef)(null);return(0,W.useEffect)(()=>{(o.current?.querySelector(`[data-focused="true"]`))?.scrollIntoView({block:`nearest`})},[t]),e.length===0?null:(0,G.jsx)(`div`,{className:`mention-dropdown`,ref:o,role:`listbox`,"aria-label":`File suggestions`,style:{top:r},children:e.map((e,r)=>{let o=SH(e.path),s=yH(o,n),c=r===t;return(0,G.jsxs)(`div`,{role:`option`,"aria-selected":c,"data-focused":c,className:`mention-item ${c?`mention-item-focused`:``}`,onMouseDown:t=>{t.preventDefault(),i(e.path)},onMouseEnter:()=>a(r),children:[(0,G.jsx)(`span`,{className:`mention-icon`,children:(0,G.jsx)(fO,{size:13})}),(0,G.jsxs)(`div`,{className:`mention-info`,children:[(0,G.jsx)(`span`,{className:`mention-name`,children:(0,G.jsx)(bH,{text:o,ranges:s})}),(0,G.jsx)(`span`,{className:`mention-dir`,children:xH(e.path)||`./`})]})]},e.path)})})}function wH(e){return e.replace(/@([^\s@]+)/g,(e,t)=>`[${t.split(`/`).pop()||t}](file-mention://${t})`)}function TH({id:e,value:t,onChange:n,placeholder:r,rows:i=3,ariaLabel:a,textareaClassName:o,onSubmitShortcut:s}){let[c,l]=(0,W.useState)(`write`),u=(0,W.useRef)(null),d=(0,W.useRef)(null),f=vH(t,n),p=(0,W.useRef)(t);(0,W.useEffect)(()=>{p.current=t},[t]),(0,W.useEffect)(()=>{c===`preview`&&d.current?.focus()},[c]);let m=async e=>{let r=e.clipboardData.items,i=null;for(let e=0;e<r.length;e++){let t=r[e];if(t.kind===`file`&&t.type.startsWith(`image/`)){i=t.getAsFile();break}}if(!i)return;e.preventDefault();let a=u.current;if(!a)return;let o=a.selectionStart,s=a.selectionEnd,c=Math.random().toString(36).slice(2,8),l=`![Uploading image… ${c}]()`,d=t.slice(0,o)+l+t.slice(s);n(d),p.current=d;try{let e=new FormData;e.append(`file`,i,i.name||`pasted-${c}.png`);let t=await fetch(`/api/attachments`,{method:`POST`,body:e});if(!t.ok)throw Error(`HTTP ${t.status}`);let r=await t.json();if(!r.url)throw Error(r.error||`Upload failed`);n(p.current.replace(l,`![pasted image](${r.url})`))}catch(e){console.error(`Image upload failed:`,e),n(p.current.replace(l,`![upload failed]()`))}};return(0,G.jsxs)(`div`,{className:`md-field`,children:[(0,G.jsxs)(`div`,{className:`comment-form-tabs`,role:`tablist`,"aria-label":`Markdown editor mode`,children:[(0,G.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":c===`write`,onClick:()=>l(`write`),onKeyDown:e=>{e.key===`ArrowRight`&&(e.preventDefault(),l(`preview`))},className:`comment-form-tab-btn ${c===`write`?`comment-form-tab-btn-active`:`comment-form-tab-btn-inactive`}`,children:`Write`}),(0,G.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":c===`preview`,onClick:()=>l(`preview`),onKeyDown:e=>{e.key===`ArrowLeft`&&(e.preventDefault(),l(`write`))},className:`comment-form-tab-btn ${c===`preview`?`comment-form-tab-btn-active`:`comment-form-tab-btn-inactive`}`,children:`Preview`})]}),c===`write`?(0,G.jsxs)(`div`,{style:{position:`relative`},children:[(0,G.jsx)(`textarea`,{id:e,ref:e=>{u.current=e,f.setTextareaRef(e)},className:o,value:t,rows:i,placeholder:r,"aria-label":a,onChange:e=>n(e.target.value),onPaste:m,onKeyDown:e=>{f.handleKeyDown(e)||(e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),s?.()),e.key===`p`&&(e.metaKey||e.ctrlKey)&&e.shiftKey&&(e.preventDefault(),l(e=>e===`write`?`preview`:`write`)))}}),f.isOpen&&(0,G.jsx)(CH,{results:f.results,focusedIndex:f.focusedIndex,query:f.query,cursorTop:f.cursorTop,onSelect:f.onSelect,onHover:f.setFocusedIndex})]}):(0,G.jsx)(`div`,{ref:d,className:`md-field-preview markdown-body`,role:`tabpanel`,"aria-label":`Markdown preview`,tabIndex:0,onKeyDown:e=>{e.key===`p`&&(e.metaKey||e.ctrlKey)&&e.shiftKey&&(e.preventDefault(),l(`write`))},children:t.trim()?(0,G.jsx)(gH,{content:wH(t)}):(0,G.jsx)(`span`,{className:`md-field-empty`,children:`Nothing to preview`})})]})}var EH=`diffing-submit-panel-height`,DH=`diffing-submit-panel-width`,OH=[{label:`S`,width:420,height:340},{label:`M`,width:480,height:440},{label:`L`,width:560,height:560},{label:`XL`,width:640,height:760}],kH=480,AH=520;function jH(e){return Number.isFinite(e)?Math.max(280,Math.min(760,e)):kH}function MH(e){return Number.isFinite(e)?Math.max(360,Math.min(720,e)):AH}function NH(){let e=CD(EH);if(e==null)return kH;let t=Number(e);return Number.isFinite(t)?jH(t):kH}function PH(){let e=CD(DH);if(e==null)return AH;let t=Number(e);return Number.isFinite(t)?MH(t):AH}function FH(e,t){if(!(!e||typeof e.setPointerCapture!=`function`))try{e.setPointerCapture(t)}catch{}}function IH(e,t){if(!(!e||typeof e.releasePointerCapture!=`function`))try{e.hasPointerCapture?.(t)&&e.releasePointerCapture(t)}catch{}}function LH(){let[e,t]=(0,W.useState)(()=>NH()),[n,r]=(0,W.useState)(()=>PH()),i=(0,W.useRef)(null),a=(0,W.useRef)(e);a.current=e;let o=(0,W.useRef)(n);o.current=n;let s=(0,W.useRef)(!1),c=(0,W.useRef)(0),l=(0,W.useCallback)(()=>{s.current=!0,c.current=1/0},[]),u=(0,W.useCallback)(()=>{s.current=!1,c.current=Date.now()+200},[]),d=(0,W.useCallback)(()=>s.current||Date.now()<c.current,[]),f=(0,W.useCallback)((e,t,n)=>{if(!e&&d()){t?.cancel?.();return}n(e)},[d]),p=(0,W.useCallback)(e=>{let n=jH(e);t(n),DD(EH,String(n))},[]),m=(0,W.useCallback)(e=>{let t=MH(e);r(t),DD(DH,String(t))},[]),h=(0,W.useCallback)(e=>{m(e.width),p(e.height)},[m,p]),g=(()=>{for(let t=0;t<OH.length;t++){let r=OH[t];if(Math.abs(e-r.height)<1&&Math.abs(n-r.width)<1)return t}return-1})(),_=(0,W.useCallback)(e=>{if(e.button!==0)return;e.preventDefault();let n=i.current;if(!n)return;let r=e.currentTarget,o=e.pointerId;FH(r,o),l();let s=e.clientY,c=a.current,d=c,f=0,p=()=>{f=0,n.style.setProperty(`--submit-panel-height`,`${d}px`)},m=e=>{e.pointerId===o&&(d=jH(c+(e.clientY-s)),f||=requestAnimationFrame(p))},h=e=>{e.pointerId===o&&(f&&cancelAnimationFrame(f),t(d),DD(EH,String(d)),IH(r,o),u(),document.removeEventListener(`pointermove`,m),document.removeEventListener(`pointerup`,h),document.removeEventListener(`pointercancel`,h),document.body.style.cursor=``,document.body.style.userSelect=``)};document.addEventListener(`pointermove`,m),document.addEventListener(`pointerup`,h),document.addEventListener(`pointercancel`,h),document.body.style.cursor=`row-resize`,document.body.style.userSelect=`none`},[l,u]),v=(0,W.useCallback)(e=>{if(e.button!==0)return;e.preventDefault();let t=i.current;if(!t)return;let n=e.currentTarget,a=e.pointerId;FH(n,a),l();let s=e.clientX,c=o.current,d=c,f=0,p=()=>{f=0,t.style.setProperty(`--submit-panel-width`,`${d}px`)},m=e=>{e.pointerId===a&&(d=MH(c+(s-e.clientX)),f||=requestAnimationFrame(p))},h=e=>{e.pointerId===a&&(f&&cancelAnimationFrame(f),r(d),DD(DH,String(d)),IH(n,a),u(),document.removeEventListener(`pointermove`,m),document.removeEventListener(`pointerup`,h),document.removeEventListener(`pointercancel`,h),document.body.style.cursor=``,document.body.style.userSelect=``)};document.addEventListener(`pointermove`,m),document.addEventListener(`pointerup`,h),document.addEventListener(`pointercancel`,h),document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`},[l,u]),y=(0,W.useCallback)(e=>{if(e.button!==0)return;e.preventDefault();let n=i.current;if(!n)return;let s=e.currentTarget,c=e.pointerId;FH(s,c),l();let d=e.clientX,f=e.clientY,p=o.current,m=a.current,h=p,g=m,_=0,v=()=>{_=0,n.style.setProperty(`--submit-panel-width`,`${h}px`),n.style.setProperty(`--submit-panel-height`,`${g}px`)},y=e=>{if(e.pointerId!==c)return;let t=d-e.clientX,n=e.clientY-f;h=MH(p+t),g=jH(m+n),_||=requestAnimationFrame(v)},b=e=>{e.pointerId===c&&(_&&cancelAnimationFrame(_),r(h),t(g),DD(DH,String(h)),DD(EH,String(g)),IH(s,c),u(),document.removeEventListener(`pointermove`,y),document.removeEventListener(`pointerup`,b),document.removeEventListener(`pointercancel`,b),document.body.style.cursor=``,document.body.style.userSelect=``)};document.addEventListener(`pointermove`,y),document.addEventListener(`pointerup`,b),document.addEventListener(`pointercancel`,b),document.body.style.cursor=`nesw-resize`,document.body.style.userSelect=`none`},[l,u]);return(0,W.useEffect)(()=>()=>{document.body.style.cursor=``,document.body.style.userSelect=``},[]),{height:e,width:n,setHeight:p,setWidth:m,applyPreset:h,activePreset:g,startResize:_,startLeftResize:v,startCornerResize:y,handleOpenChange:f,popoverStyle:{"--submit-panel-height":`${e}px`,"--submit-panel-width":`${n}px`},panelRef:i}}var RH=[{value:`approved`,label:`Approve`,description:`The changes look good — the agent can proceed.`,icon:UD,className:`plan-verdict-approve`},{value:`changes-requested`,label:`Request edits`,description:`The agent should address the comments and apply edits.`,icon:NO,className:`plan-verdict-changes`},{value:`rejected`,label:`Reject`,description:`Don't keep building on this — the approach needs rethinking.`,icon:ck,className:`plan-verdict-reject`},{value:`comment-only`,label:`Comment only`,description:`Agent must NOT edit files — only reply to comments. General note goes to chat.`,icon:PO,className:`plan-verdict-comment-only`}];function zH({comments:e,totalFileCount:t,viewedFileCount:n,requireViewAllBeforeSend:r,onEditComment:i,onDeleteComment:a,onSend:o,sending:s,agentWaiting:c,waitingAgents:l=[],onCopyComments:u,onCopyMarkdown:d}){let{haptic:f,sound:p}=pD(),[m,h]=(0,W.useState)(!1),[g,_]=(0,W.useState)(``),[v,y]=(0,W.useState)(null),[b,x]=(0,W.useState)(!1),[S,C]=(0,W.useState)(null),[w,T]=(0,W.useState)(!1),{popoverStyle:E,activePreset:D,applyPreset:O,startResize:k,startLeftResize:A,startCornerResize:j,handleOpenChange:M,panelRef:N}=LH(),P=async()=>{u&&(await u(),x(!0),setTimeout(()=>x(!1),2e3))},F=e.length,I=(0,W.useMemo)(()=>[...e].sort((e,t)=>e.createdAt-t.createdAt),[e]),L=Math.max(0,t-n),R=async()=>{if(!v)return;if(r&&L>0&&!w){if(f(`medium`),!(!(typeof window>`u`)&&window.confirm(`${L} file${L===1?``:`s`} ${L===1?`is`:`are`} still unviewed. Send the review to the agent anyway?`))){T(!1),h(!0);return}T(!0)}f(`heavy`),p(`send`);let e=v===`comment-only`?`comment-only`:`standard`;try{await o(v,g,e,w),_(``),y(null),h(!1),C(null),T(!1)}catch(e){if(e?.kind===`secrets`){C(e.findings),T(!1);return}throw e}};return(0,G.jsx)(Qk,{open:m,onOpenChange:(e,t)=>M(e,t,h),ariaLabel:`Submit your review to the agent`,className:`send-review-popover`,trigger:(0,G.jsxs)(`button`,{className:`btn btn-primary btn-sm send-review-btn`,disabled:s,title:l.length>0?`Waiting: ${l.map(e=>e.label||e.model||e.id.slice(0,8)).join(`, `)}`:c?`Agent waiting for your review`:`Submit review to agent`,"aria-label":s?`Sending review`:F>0?`Send review with ${F} comment${F===1?``:`s`}`:`Send review to agent`,children:[c&&(0,G.jsx)(`span`,{className:`agent-waiting-dot`,"aria-hidden":`true`}),(0,G.jsx)(VD,{size:14,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:`btn-label`,children:s?`Sending…`:l.length>1?`Send (${l.length})`:F>0?`Send (${F})`:`Send review`})]}),children:(0,G.jsxs)(`div`,{className:`srp`,ref:N,style:E,children:[(0,G.jsx)(`div`,{className:`srp-resize-handle-left`,onPointerDown:A,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize submit panel width`,tabIndex:0}),(0,G.jsxs)(`div`,{className:`srp-head`,children:[(0,G.jsx)(VD,{size:15,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:`srp-title`,children:`Submit review`}),(0,G.jsx)(`div`,{className:`srp-size-presets`,role:`group`,"aria-label":`Panel size`,children:OH.map((e,t)=>(0,G.jsx)(`button`,{className:`srp-preset-btn`,role:`radio`,"aria-checked":D===t,"aria-pressed":D===t,onClick:()=>O(e),title:`${e.width}×${e.height}px`,children:e.label},e.label))}),F>0&&(0,G.jsxs)(`span`,{className:`srp-count`,children:[F,` comment`,F===1?``:`s`]})]}),l.length>0&&(0,G.jsxs)(`div`,{className:`srp-agents`,"aria-label":`Waiting agents`,children:[(0,G.jsx)(`span`,{className:`srp-agents-label`,children:l.length===1?`Agent waiting`:`${l.length} agents waiting`}),(0,G.jsx)(`ul`,{className:`srp-agents-list`,children:l.map(e=>(0,G.jsxs)(`li`,{className:`srp-agent-chip`,title:e.id,children:[(0,G.jsx)(`span`,{className:`agent-waiting-dot`,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:`srp-agent-name`,children:e.label||e.model||e.id.slice(0,8)}),e.model&&e.label&&(0,G.jsx)(`span`,{className:`srp-agent-model`,children:e.model})]},e.id))})]}),(0,G.jsxs)(`div`,{className:`srp-scroll`,children:[(0,G.jsx)(`div`,{className:`plan-verdict-options`,role:`radiogroup`,"aria-label":`Verdict`,children:RH.map(e=>{let t=e.icon,n=v===e.value;return(0,G.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":n,className:`plan-verdict-option ${e.className} ${n?`plan-verdict-option-selected`:``}`,onClick:()=>y(e.value),children:[(0,G.jsx)(`span`,{className:`plan-verdict-icon`,children:(0,G.jsx)(t,{size:15,"aria-hidden":`true`})}),(0,G.jsxs)(`span`,{className:`plan-verdict-text`,children:[(0,G.jsx)(`span`,{className:`plan-verdict-label`,children:e.label}),(0,G.jsx)(`span`,{className:`plan-verdict-desc`,children:e.description})]}),(0,G.jsx)(`span`,{className:`plan-verdict-radio`,"aria-hidden":`true`})]},e.value)})}),F>0?(0,G.jsx)(`ul`,{className:`srp-list`,"aria-label":`Comments to send`,children:I.map(e=>(0,G.jsx)(BH,{comment:e,onEdit:i,onDelete:a},e.id))}):(0,G.jsx)(`p`,{className:`srp-empty`,children:`No inline comments — your verdict and overall note will be sent on their own.`}),L>0&&(0,G.jsx)(`div`,{className:`srp-warning`,role:`note`,"data-tone":`muted`,children:(0,G.jsxs)(`span`,{children:[(0,G.jsx)(`strong`,{children:L}),` of `,(0,G.jsx)(`strong`,{children:t}),` file`,t===1?``:`s`,` still unviewed.`,r&&(0,G.jsx)(G.Fragment,{children:` Sending will require an extra confirmation.`})]})}),S&&(0,G.jsxs)(`div`,{className:`srp-warning srp-warning-danger`,role:`alert`,"data-tone":`danger`,children:[(0,G.jsxs)(`div`,{className:`srp-warning-head`,children:[(0,G.jsx)($O,{size:14,"aria-hidden":`true`}),(0,G.jsxs)(`strong`,{children:[S.length,` possible secret`,S.length===1?``:`s`,` detected`]})]}),(0,G.jsx)(`ul`,{className:`srp-warning-list`,children:S.map((e,t)=>(0,G.jsxs)(`li`,{children:[(0,G.jsx)(`code`,{children:e.rule}),`: `,(0,G.jsx)(`code`,{children:e.snippet}),` `,(0,G.jsxs)(`span`,{className:`srp-warning-source`,children:[`in `,e.source]})]},t))}),(0,G.jsxs)(`div`,{className:`srp-warning-actions`,children:[(0,G.jsx)(`button`,{className:`btn btn-sm`,onClick:()=>C(null),disabled:s,children:`Cancel & edit`}),(0,G.jsx)(`button`,{className:`btn btn-sm btn-danger`,onClick:()=>{T(!0),C(null),R()},disabled:s,children:`Send anyway`})]})]}),(0,G.jsxs)(`div`,{className:`srp-general`,children:[(0,G.jsxs)(`label`,{className:`srp-general-label`,htmlFor:`srp-general-input`,children:[`Overall comment `,(0,G.jsx)(`span`,{className:`srp-optional`,children:`(optional · Markdown)`})]}),(0,G.jsx)(TH,{id:`srp-general-input`,value:g,onChange:_,textareaClassName:`srp-general-input`,placeholder:`Add an overall note for the agent that applies to the whole review…`,rows:3,ariaLabel:`Overall review comment`,onSubmitShortcut:R})]})]}),(0,G.jsxs)(`div`,{className:`srp-footer`,children:[u&&(0,G.jsxs)(`div`,{style:{marginRight:`auto`,display:`flex`,gap:6},children:[(0,G.jsx)(`button`,{className:`btn btn-sm`,onClick:P,disabled:F===0,children:b?`Copied!`:`Copy XML`}),d&&(0,G.jsx)(`button`,{className:`btn btn-sm`,onClick:async()=>{try{await d(),x(!0),setTimeout(()=>x(!1),1500)}catch{}},disabled:F===0,title:`Copy review as Markdown`,children:`Copy MD`})]}),(0,G.jsx)(`button`,{className:`btn btn-sm`,onClick:()=>h(!1),disabled:s,children:`Cancel`}),(0,G.jsx)(`button`,{className:`btn btn-primary btn-sm`,onClick:R,disabled:!v||s,children:s?`Sending…`:`Send review`})]}),(0,G.jsx)(`div`,{className:`srp-resize-handle`,onPointerDown:k,role:`separator`,"aria-orientation":`horizontal`,"aria-label":`Resize submit panel`,tabIndex:0}),(0,G.jsx)(`div`,{className:`srp-resize-handle-corner`,onPointerDown:j,role:`separator`,"aria-label":`Resize submit panel width and height`,tabIndex:0})]})})}function BH({comment:e,onEdit:t,onDelete:n}){let[r,i]=(0,W.useState)(!1),[a,o]=(0,W.useState)(e.body),s=(0,W.useRef)(null);(0,W.useEffect)(()=>{r&&(s.current?.focus(),s.current?.select())},[r]);let c=e.lineNumber>0?e.startLineNumber&&e.startLineNumber!==e.lineNumber?`:${e.startLineNumber}-${e.lineNumber}`:`:${e.lineNumber}`:` · file`,l=()=>{let n=a.trim();n&&n!==e.body&&t(e.id,n),i(!1)};return(0,G.jsxs)(`li`,{className:`srp-item`,children:[(0,G.jsxs)(`div`,{className:`srp-item-top`,children:[(0,G.jsxs)(`span`,{className:`srp-item-loc`,children:[(0,G.jsx)(`span`,{className:`srp-item-file`,children:tE(e.filePath)}),(0,G.jsx)(`span`,{className:`srp-item-line`,children:c})]}),e.status===`resolved`&&(0,G.jsx)(`span`,{className:`srp-item-resolved`,children:`resolved`}),(0,G.jsxs)(`span`,{className:`srp-item-actions`,children:[r?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`button`,{className:`srp-icon-btn`,onClick:l,title:`Save edit`,children:(0,G.jsx)(UD,{size:13,"aria-hidden":`true`})}),(0,G.jsx)(`button`,{className:`srp-icon-btn`,onClick:()=>{o(e.body),i(!1)},title:`Cancel edit`,children:(0,G.jsx)(ck,{size:13,"aria-hidden":`true`})})]}):(0,G.jsx)(`button`,{className:`srp-icon-btn`,onClick:()=>i(!0),title:`Edit comment`,children:(0,G.jsx)(GO,{size:13,"aria-hidden":`true`})}),(0,G.jsx)(`button`,{className:`srp-icon-btn srp-icon-btn-danger`,onClick:()=>n(e.id),title:`Remove from review`,children:(0,G.jsx)(rk,{size:13,"aria-hidden":`true`})})]})]}),e.lineContent?.trim()&&(0,G.jsx)(`code`,{className:`srp-item-code`,children:e.lineContent.trim().slice(0,160)}),r?(0,G.jsx)(`textarea`,{ref:s,className:`srp-item-edit`,value:a,rows:2,onChange:e=>o(e.target.value),onKeyDown:t=>{t.key===`Enter`&&(t.metaKey||t.ctrlKey)?(t.preventDefault(),l()):t.key===`Escape`&&(t.preventDefault(),o(e.body),i(!1))}}):(0,G.jsx)(`p`,{className:`srp-item-body`,children:e.body})]})}function VH({lastRound:e}){let{data:t=[],isFetching:n,refetch:r}=nt({queryKey:[`review-history`],queryFn:async()=>{let e=await fetch(`/api/review/history`);return e.ok?(await e.json()).rounds??[]:[]},enabled:!1});return!e||e<1?null:(0,G.jsxs)(Qk,{side:`bottom`,align:`start`,ariaLabel:`Review history`,className:`review-history-popup`,onOpenChange:e=>{e&&r()},trigger:(0,G.jsxs)(`button`,{type:`button`,className:`toolbar-last-send toolbar-last-send-btn`,title:`Review history — past handoff rounds`,"aria-label":`Open review history`,children:[(0,G.jsx)(xO,{size:12,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:`toolbar-last-send-dot`,"aria-hidden":`true`}),`Round `,e]}),children:[(0,G.jsxs)(`div`,{className:`review-history-header`,children:[(0,G.jsx)(xO,{size:14}),(0,G.jsx)(`strong`,{children:`Review history`}),n&&(0,G.jsx)(`span`,{className:`review-history-loading`,children:`Loading…`})]}),t.length===0?(0,G.jsx)(`p`,{className:`review-history-empty`,children:`No handoffs recorded yet (history is in-memory).`}):(0,G.jsx)(`ul`,{className:`review-history-list`,children:t.map(e=>(0,G.jsxs)(`li`,{className:`review-history-item`,children:[(0,G.jsxs)(`div`,{className:`review-history-item-top`,children:[(0,G.jsxs)(`span`,{className:`review-history-round`,children:[`Round `,e.round]}),e.decision&&(0,G.jsx)(`span`,{className:`review-history-decision`,"data-decision":e.decision,children:e.decision}),e.mode&&e.mode!==`standard`&&(0,G.jsx)(`span`,{className:`review-history-mode`,children:e.mode}),(0,G.jsx)(`span`,{className:`review-history-time`,title:new Date(e.sentAt).toLocaleString(),children:eE(e.sentAt)})]}),(0,G.jsxs)(`div`,{className:`review-history-item-meta`,children:[e.openCount,` open · `,e.filePaths.length,` file`,e.filePaths.length===1?``:`s`]}),e.filePaths.length>0&&(0,G.jsxs)(`div`,{className:`review-history-files`,children:[e.filePaths.slice(0,6).map(e=>(0,G.jsxs)(`span`,{className:`review-history-file`,title:e,children:[(0,G.jsx)(uO,{size:10}),e.split(`/`).pop()]},e)),e.filePaths.length>6&&(0,G.jsxs)(`span`,{className:`review-history-file-more`,children:[`+`,e.filePaths.length-6]})]})]},e.round))})]})}var HH=(0,W.memo)(function({size:e=22,className:t,decorative:n=!0}){return(0,G.jsx)(`img`,{className:t??`brand-mark`,src:`/favicon.svg`,alt:n?``:`diffing`,width:e,height:e,draggable:!1})});function UH(e){let t=W.useRef(!0);t.current&&(t.current=!1,e())}function WH({controlled:e,default:t,name:n,state:r=`value`}){let{current:i}=W.useRef(e!==void 0),[a,o]=W.useState(t);return[i?e:a,W.useCallback(e=>{i||o(e)},[])]}var GH=W.createContext(null),KH=W.createContext(null);function qH(){let e=W.useContext(GH);if(e===null)throw Error(j_(60));return e}function JH(){let e=W.useContext(KH);if(e===null)throw Error(j_(61));return e}var YH=function(e){return e.disabled=`data-disabled`,e.valid=`data-valid`,e.invalid=`data-invalid`,e.touched=`data-touched`,e.dirty=`data-dirty`,e.filled=`data-filled`,e.focused=`data-focused`,e}({}),XH={badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valid:null,valueMissing:!1},ZH={valid(e){return e===null?null:e?{[YH.valid]:``}:{[YH.invalid]:``}}},QH=W.createContext({invalid:void 0,name:void 0,validityData:{state:XH,errors:[],error:``,value:``,initialValue:null},setValidityData:zb,disabled:void 0,touched:!1,setTouched:zb,dirty:!1,setDirty:zb,filled:!1,setFilled:zb,focused:!1,setFocused:zb,validate:()=>null,validationMode:`onSubmit`,validationDebounceTime:0,shouldValidateOnChange:()=>!1,state:{disabled:!1,valid:null,touched:!1,dirty:!1,filled:!1,focused:!1},markedDirtyRef:{current:!1},validation:{getValidationProps:(e=Vb)=>e,getInputValidationProps:(e=Vb)=>e,inputRef:{current:null},commit:async()=>{}}});function $H(e=!0){let t=W.useContext(QH);if(t.setValidityData===zb&&!e)throw Error(j_(28));return t}var eU=W.createContext({controlId:void 0,setControlId:zb,labelId:void 0,setLabelId:zb,messageIds:[],setMessageIds:zb,getDescriptionProps:e=>e});function tU(){return W.useContext(eU)}function nU(e={}){let{id:t,implicit:n=!1,controlRef:r}=e,{controlId:i,setControlId:a}=tU(),o=bT(t);return Y(()=>{if(!(!n&&!t||a===zb)){if(n){let e=r?.current;K_(e)&&e.closest(`label`)!=null?a(t??null):a(i??o)}else t&&a(t);return()=>{t&&a(void 0)}}},[t,r,i,a,n,o]),i??o}var rU=(e,t)=>Object.is(e,t);function iU(e,t,n){return e==null||t==null?Object.is(e,t):n(e,t)}function aU(e,t,n){return!e||e.length===0?!1:e.some(e=>e===void 0?!1:iU(e,t,n))}function oU(e,t,n){return!e||e.length===0?-1:e.findIndex(e=>e===void 0?!1:iU(e,t,n))}function sU(e,t,n){return e.filter(e=>!iU(e,t,n))}function cU(e){if(e==null)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}}function lU(e){return e!=null&&e.length>0&&typeof e[0]==`object`&&e[0]!=null&&`items`in e[0]}function uU(e,t){if(t&&e!=null)return t(e)??``;if(e&&typeof e==`object`){if(`label`in e&&e.label!=null)return String(e.label);if(`value`in e)return String(e.value)}return cU(e)}function dU(e,t){return t&&e!=null?t(e)??``:e&&typeof e==`object`&&`value`in e&&`label`in e?cU(e.value):cU(e)}function fU(e,t,n){if(n&&e!=null)return n(e);if(e&&typeof e==`object`&&`label`in e&&e.label!=null)return e.label;if(t&&!Array.isArray(t))return t[e]??uU(e,n);if(Array.isArray(t)){let r=lU(t)?t.flatMap(e=>e.items):t;if(e==null){let t=r.find(e=>e.value==null);return t&&t.label!=null?t.label:uU(e,n)}if(typeof e!=`object`){let t=r.find(t=>t&&t.value===e);return t&&t.label!=null?t.label:uU(e,n)}if(`value`in e){let t=r.find(t=>t&&t.value===e.value);if(t&&t.label!=null)return t.label}}return uU(e,n)}function pU(e,t){return!Array.isArray(e)||e.length===0?``:e.map(e=>uU(e,t)).join(`, `)}var mU={id:Z(e=>e.id),modal:Z(e=>e.modal),multiple:Z(e=>e.multiple),items:Z(e=>e.items),itemToStringLabel:Z(e=>e.itemToStringLabel),itemToStringValue:Z(e=>e.itemToStringValue),isItemEqualToValue:Z(e=>e.isItemEqualToValue),value:Z(e=>e.value),open:Z(e=>e.open),mounted:Z(e=>e.mounted),forceMount:Z(e=>e.forceMount),transitionStatus:Z(e=>e.transitionStatus),touchModality:Z(e=>e.touchModality),activeIndex:Z(e=>e.activeIndex),selectedIndex:Z(e=>e.selectedIndex),isActive:Z((e,t)=>e.activeIndex===t),isSelected:Z((e,t,n)=>{let r=e.isItemEqualToValue,i=e.value;return e.multiple?Array.isArray(i)&&i.some(e=>iU(e,n,r)):e.selectedIndex===t&&e.selectedIndex!==null?!0:iU(i,n,r)}),isSelectedByFocus:Z((e,t)=>e.selectedIndex===t),popupProps:Z(e=>e.popupProps),triggerProps:Z(e=>e.triggerProps),triggerElement:Z(e=>e.triggerElement),positionerElement:Z(e=>e.positionerElement),listElement:Z(e=>e.listElement),scrollUpArrowVisible:Z(e=>e.scrollUpArrowVisible),scrollDownArrowVisible:Z(e=>e.scrollDownArrowVisible),hasScrollArrows:Z(e=>e.hasScrollArrows),serializedValue:Z(e=>{let{multiple:t,value:n,itemToStringValue:r}=e;return t&&Array.isArray(n)&&n.length===0?``:dU(n,r)})},hU=W.createContext({formRef:{current:{fields:new Map}},errors:{},clearErrors:zb,validationMode:`onSubmit`,submitAttemptedRef:{current:!1}});function gU(){return W.useContext(hU)}function _U(e,t){return{...e,state:{...e.state,valid:!t&&e.state.valid}}}function vU(e){let{enabled:t=!0,value:n,id:r,name:i,controlRef:a,commit:o}=e,{formRef:s}=gU(),{invalid:c,markedDirtyRef:l,validityData:u,setValidityData:d}=$H(),f=X(e.getValue);Y(()=>{if(!t)return;let e=n;e===void 0&&(e=f()),u.initialValue===null&&e!==null&&d(t=>({...t,initialValue:e}))},[t,d,n,u.initialValue,f]),Y(()=>{!t||!r||s.current.fields.set(r,{getValue:f,name:i,controlRef:a,validityData:_U(u,c),validate(){let e=n;e===void 0&&(e=f()),l.current=!0,aS.flushSync(()=>o(e))}})},[o,a,t,s,f,r,c,l,i,u,n]),Y(()=>{let e=s.current.fields;return()=>{r&&e.delete(r)}},[s,r])}function yU(e,t){let n=W.useRef(e),r=X(t);Y(()=>{n.current!==e&&r(n.current)},[e,r]),Y(()=>{n.current=e},[e])}function bU(e){let{id:t,value:n,defaultValue:r=null,onValueChange:i,open:a,defaultOpen:o=!1,onOpenChange:s,name:c,disabled:l=!1,readOnly:u=!1,required:d=!1,modal:f=!0,actionsRef:p,inputRef:m,onOpenChangeComplete:h,items:g,multiple:_=!1,itemToStringLabel:v,itemToStringValue:y,isItemEqualToValue:b=rU,highlightItemOnHover:x=!0,children:S}=e,{clearErrors:C}=gU(),{setDirty:w,shouldValidateOnChange:T,validityData:E,setFilled:D,name:O,disabled:k,validation:A}=$H(),{controlId:j}=tU(),M=nU({id:t}),N=k||l,P=O??c,[F,I]=WH({controlled:n,default:_?r??Bb:r,name:`Select`,state:`value`}),[L,R]=WH({controlled:a,default:o,name:`Select`,state:`open`}),z=W.useRef([]),ee=W.useRef([]),te=W.useRef(null),ne=W.useRef(null),B=W.useRef(0),V=W.useRef(null),re=W.useRef([]),ie=W.useRef(!1),ae=W.useRef(!1),oe=W.useRef(null),se=W.useRef({allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1}),ce=W.useRef(!1),{mounted:H,setMounted:le,transitionStatus:ue}=pw(L),U=F_(()=>new lw({id:M,modal:f,multiple:_,itemToStringLabel:v,itemToStringValue:y,isItemEqualToValue:b,value:F,open:L,mounted:H,transitionStatus:ue,items:g,forceMount:!1,touchModality:!1,activeIndex:null,selectedIndex:null,popupProps:{},triggerProps:{},triggerElement:null,positionerElement:null,listElement:null,scrollUpArrowVisible:!1,scrollDownArrowVisible:!1,hasScrollArrows:!1})).current,de=ow(U,mU.activeIndex),fe=ow(U,mU.selectedIndex),pe=ow(U,mU.triggerElement),me=ow(U,mU.positionerElement),he=W.useMemo(()=>_&&Array.isArray(F)&&F.length===0?``:dU(F,y),[_,F,y]),ge=fv(U.state.triggerElement);vU({id:M,commit:A.commit,value:F,controlRef:ge,name:P,getValue:()=>F});let _e=W.useRef(F);Y(()=>{F!==_e.current&&U.set(`forceMount`,!0)},[U,F]),Y(()=>{D(F!==null)},[F,D]),Y(function(){if(L)return;let e=re.current;if(_){let t=Array.isArray(F)?F:[];if(t.length===0){U.set(`selectedIndex`,null);return}let n=t[t.length-1],r=oU(e,n,b);U.set(`selectedIndex`,r===-1?null:r);return}let t=oU(e,F,b);U.set(`selectedIndex`,t===-1?null:t)},[_,L,F,re,b,U]),yU(F,()=>{C(P),w(F!==E.initialValue),T()?A.commit(F):A.commit(F,!0)});let ve=X((e,t)=>{if(s?.(e,t),!t.isCanceled&&(R(e),!e&&U.state.activeIndex!==null)){let e=z.current[U.state.activeIndex];queueMicrotask(()=>{e?.setAttribute(`tabindex`,`-1`)})}}),ye=X(()=>{le(!1),U.set(`activeIndex`,null),h?.(!1)});hw({enabled:!p,open:L,ref:te,onComplete(){L||ye()}}),W.useImperativeHandle(p,()=>({unmount:ye}),[ye]);let be=X((e,t)=>{i?.(e,t),!t.isCanceled&&I(e)}),xe=X(()=>{let e=U.state.listElement||te.current;if(!e)return;let t=e.scrollTop,n=e.scrollTop+e.clientHeight,r=t>1,i=n<e.scrollHeight-1;U.state.scrollUpArrowVisible!==r&&U.set(`scrollUpArrowVisible`,r),U.state.scrollDownArrowVisible!==i&&U.set(`scrollDownArrowVisible`,i)}),Se=ww({open:L,onOpenChange:ve,elements:{reference:pe,floating:me}}),{getReferenceProps:Ce,getFloatingProps:we,getItemProps:Te}=zw([SS(Se,{enabled:!u&&!N,event:`mousedown`}),LC(Se,{bubbles:!1}),Jw(Se,{enabled:!u&&!N,listRef:z,activeIndex:de,selectedIndex:fe,disabledIndices:Bb,onNavigate(e){e===null&&!L||U.set(`activeIndex`,e)},focusItemOnHover:!1}),Zw(Se,{enabled:!u&&!N&&(L||!_),listRef:ee,activeIndex:de,selectedIndex:fe,onMatch(e){L?U.set(`activeIndex`,e):be(re.current[e],ox(`none`))},onTypingChange(e){ie.current=e}})]);UH(()=>{U.update({popupProps:we(),triggerProps:Ce()})}),Y(()=>{U.update({id:M,modal:f,multiple:_,value:F,open:L,mounted:H,transitionStatus:ue,popupProps:we(),triggerProps:Ce(),items:g,itemToStringLabel:v,itemToStringValue:y,isItemEqualToValue:b})},[U,M,f,_,F,L,H,ue,we,Ce,g,v,y,b]);let Ee=W.useMemo(()=>({store:U,name:P,required:d,disabled:N,readOnly:u,multiple:_,itemToStringLabel:v,itemToStringValue:y,highlightItemOnHover:x,setValue:be,setOpen:ve,listRef:z,popupRef:te,scrollHandlerRef:ne,handleScrollArrowVisibility:xe,scrollArrowsMountedCountRef:B,getItemProps:Te,events:Se.context.events,valueRef:V,valuesRef:re,labelsRef:ee,typingRef:ie,selectionRef:se,selectedItemTextRef:oe,validation:A,onOpenChangeComplete:h,keyboardActiveRef:ae,alignItemWithTriggerActiveRef:ce,initialValueRef:_e}),[U,P,d,N,u,_,v,y,x,be,ve,Te,Se.context.events,A,h,xe]),De=fx(m,A.inputRef),Oe=_&&Array.isArray(F)&&F.length>0,ke=W.useMemo(()=>!_||!Array.isArray(F)||!P?null:F.map(e=>{let t=dU(e,y);return(0,G.jsx)(`input`,{type:`hidden`,name:P,value:t},t)}),[_,F,P,y]);return(0,G.jsx)(GH.Provider,{value:Ee,children:(0,G.jsxs)(KH.Provider,{value:Se,children:[S,(0,G.jsx)(`input`,{...A.getInputValidationProps({onFocus(){U.state.triggerElement?.focus()},onChange(e){if(e.nativeEvent.defaultPrevented)return;let t=e.target.value,n=ox(qb,e.nativeEvent);function r(){if(_)return;let e=re.current.find(e=>dU(e,y).toLowerCase()===t.toLowerCase());e!=null&&(w(e!==E.initialValue),be(e,n),T()&&A.commit(e))}U.set(`forceMount`,!0),queueMicrotask(r)}}),id:t||j||void 0,name:_?void 0:P,value:he,disabled:N,required:d&&!Oe,readOnly:u,ref:De,style:vx,tabIndex:-1,"aria-hidden":!0}),ke]})})}function xU(e){let t=e.getBoundingClientRect(),n=window.getComputedStyle(e,`::before`),r=window.getComputedStyle(e,`::after`);if(!(n.content!==`none`||r.content!==`none`))return t;let i=parseFloat(n.width)||0,a=parseFloat(n.height)||0,o=parseFloat(r.width)||0,s=parseFloat(r.height)||0,c=Math.max(t.width,i,o),l=Math.max(t.height,a,s),u=c-t.width,d=l-t.height;return{left:t.left-u/2,right:t.right+u/2,top:t.top-d/2,bottom:t.bottom+d/2}}var SU=2,CU={...vT,...ZH,value:()=>null},wU=W.forwardRef(function(e,t){let{render:n,className:r,disabled:i=!1,nativeButton:a=!0,...o}=e,{setTouched:s,setFocused:c,validationMode:l,state:u,disabled:d}=$H(),{labelId:f}=tU(),{store:p,setOpen:m,selectionRef:h,validation:g,readOnly:_,alignItemWithTriggerActiveRef:v,disabled:y,keyboardActiveRef:b}=qH(),x=d||y||i,S=ow(p,mU.open),C=ow(p,mU.value),w=ow(p,mU.triggerProps),T=ow(p,mU.positionerElement),E=ow(p,mU.listElement),D=ow(p,mU.serializedValue),O=fv(T),k=W.useRef(null),A=B_(),j=B_(),{getButtonProps:M,buttonRef:N}=kk({disabled:x,native:a}),P=fx(t,k,N,X(e=>{p.set(`triggerElement`,e)})),F=B_(),I=B_();W.useEffect(()=>{if(S)return I.start(200,()=>{h.current.allowUnselectedMouseUp=!0,F.start(200,()=>{h.current.allowSelectedMouseUp=!0})}),()=>{F.clear(),I.clear()};h.current={allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1},j.clear()},[S,h,j,F,I]);let L=W.useMemo(()=>E?.id??Kv(T)?.id,[E,T]),R=Wx(w,{role:`combobox`,"aria-expanded":S?`true`:`false`,"aria-haspopup":`listbox`,"aria-controls":S?L:void 0,"aria-labelledby":f,"aria-readonly":_||void 0,tabIndex:x?-1:0,ref:P,onFocus(e){c(!0),S&&v.current&&m(!1,ox($b,e.nativeEvent)),A.start(0,()=>{p.set(`forceMount`,!0)})},onBlur(){s(!0),c(!1),l===`onBlur`&&g.commit(C)},onPointerMove({pointerType:e}){b.current=!1,p.set(`touchModality`,e===`touch`)},onPointerDown({pointerType:e}){p.set(`touchModality`,e===`touch`)},onKeyDown(){b.current=!0},onMouseDown(e){if(S)return;let t=Cx(e.currentTarget);function n(e){if(!k.current)return;let t=e.target;if(Rv(k.current,t)||Rv(O.current,t)||t===k.current)return;let n=xU(k.current);e.clientX>=n.left-SU&&e.clientX<=n.right+SU&&e.clientY>=n.top-SU&&e.clientY<=n.bottom+SU||m(!1,ox(nx,e))}j.start(0,()=>{t.addEventListener(`mouseup`,n,{once:!0})})}},g.getValidationProps,o,M);R.role=`combobox`;let z=W.useMemo(()=>({...u,open:S,disabled:x,value:C,readOnly:_,placeholder:!D}),[u,S,x,C,_,D]);return tS(`button`,e,{ref:[t,k],state:z,stateAttributesMapping:CU,props:R})}),TU={value:()=>null},EU=W.forwardRef(function(e,t){let{className:n,render:r,children:i,...a}=e,{store:o,valueRef:s}=qH(),c=ow(o,mU.value),l=ow(o,mU.items),u=ow(o,mU.itemToStringLabel),d=ow(o,mU.serializedValue),f=W.useMemo(()=>({value:c,placeholder:!d}),[c,d]),p=typeof i==`function`?i(c):i??(Array.isArray(c)?pU(c,u):fU(c,l,u));return tS(`span`,e,{state:f,ref:[t,s],props:[{children:p},a],stateAttributesMapping:TU})}),DU=W.forwardRef(function(e,t){let{className:n,render:r,...i}=e,{store:a}=qH(),o=ow(a,mU.open);return tS(`span`,e,{state:W.useMemo(()=>({open:o}),[o]),ref:t,props:[{"aria-hidden":!0,children:`▼`},i],stateAttributesMapping:_T})}),OU=W.createContext(void 0),kU=W.forwardRef(function(e,t){let{store:n}=qH(),r=ow(n,mU.mounted),i=ow(n,mU.forceMount);return r||i?(0,G.jsx)(OU.Provider,{value:!0,children:(0,G.jsx)(uS,{ref:t,...e})}):null}),AU=W.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},elementsRef:{current:[]},nextIndexRef:{current:0}});function jU(){return W.useContext(AU)}function MU(e){let{children:t,elementsRef:n,labelsRef:r,onMapChange:i}=e,a=X(i),o=W.useRef(0),s=F_(PU).current,c=F_(NU).current,[l,u]=W.useState(0),d=W.useRef(l),f=X((e,t)=>{c.set(e,t??null),d.current+=1,u(d.current)}),p=X(e=>{c.delete(e),d.current+=1,u(d.current)}),m=W.useMemo(()=>{let e=new Map;return Array.from(c.keys()).filter(e=>e.isConnected).sort(FU).forEach((t,n)=>{let r=c.get(t)??{};e.set(t,{...r,index:n})}),e},[c,l]);Y(()=>{if(typeof MutationObserver!=`function`||m.size===0)return;let e=new MutationObserver(e=>{let t=new Set,n=e=>t.has(e)?t.delete(e):t.add(e);e.forEach(e=>{e.removedNodes.forEach(n),e.addedNodes.forEach(n)}),t.size===0&&(d.current+=1,u(d.current))});return m.forEach((t,n)=>{n.parentElement&&e.observe(n.parentElement,{childList:!0})}),()=>{e.disconnect()}},[m]),Y(()=>{d.current===l&&(n.current.length!==m.size&&(n.current.length=m.size),r&&r.current.length!==m.size&&(r.current.length=m.size),o.current=m.size),a(m)},[a,m,n,r,l]),Y(()=>()=>{n.current=[]},[n]),Y(()=>()=>{r&&(r.current=[])},[r]);let h=X(e=>(s.add(e),()=>{s.delete(e)}));Y(()=>{s.forEach(e=>e(m))},[s,m]);let g=W.useMemo(()=>({register:f,unregister:p,subscribeMapChange:h,elementsRef:n,labelsRef:r,nextIndexRef:o}),[f,p,h,n,r,o]);return(0,G.jsx)(AU.Provider,{value:g,children:t})}function NU(){return new Map}function PU(){return new Set}function FU(e,t){let n=e.compareDocumentPosition(t);return n&Node.DOCUMENT_POSITION_FOLLOWING||n&Node.DOCUMENT_POSITION_CONTAINED_BY?-1:n&Node.DOCUMENT_POSITION_PRECEDING||n&Node.DOCUMENT_POSITION_CONTAINS?1:0}var IU=W.createContext(void 0);function LU(){let e=W.useContext(IU);if(!e)throw Error(j_(59));return e}function RU(e,t){e&&Object.assign(e.style,t)}var zU={position:`relative`,maxHeight:`100%`,overflowX:`hidden`,overflowY:`auto`},BU={position:`fixed`},VU=W.forwardRef(function(e,t){let{anchor:n,positionMethod:r=`absolute`,className:i,render:a,side:o=`bottom`,align:s=`center`,sideOffset:c=0,alignOffset:l=0,collisionBoundary:u=`clipping-ancestors`,collisionPadding:d,arrowPadding:f=5,sticky:p=!1,disableAnchorTracking:m,alignItemWithTrigger:h=!0,collisionAvoidance:g=Wb,..._}=e,{store:v,listRef:y,labelsRef:b,alignItemWithTriggerActiveRef:x,selectedItemTextRef:S,valuesRef:C,initialValueRef:w,popupRef:T,setValue:E}=qH(),D=JH(),O=ow(v,mU.open),k=ow(v,mU.mounted),A=ow(v,mU.modal),j=ow(v,mU.value),M=ow(v,mU.touchModality),N=ow(v,mU.positionerElement),P=ow(v,mU.triggerElement),F=ow(v,mU.isItemEqualToValue),I=W.useRef(null),L=W.useRef(null),[R,z]=W.useState(h),ee=k&&R&&!M;!k&&R!==h&&z(h),Y(()=>{k||(mU.scrollUpArrowVisible(v.state)&&v.set(`scrollUpArrowVisible`,!1),mU.scrollDownArrowVisible(v.state)&&v.set(`scrollDownArrowVisible`,!1))},[v,k]),W.useImperativeHandle(x,()=>ee),gk((ee||A)&&O&&!M,P);let te=zT({anchor:n,floatingRootContext:D,positionMethod:r,mounted:k,side:o,sideOffset:c,align:s,alignOffset:l,arrowPadding:f,collisionBoundary:u,collisionPadding:d,sticky:p,disableAnchorTracking:m??ee,collisionAvoidance:g,keepMounted:!0}),ne=ee?`none`:te.side,B=ee?BU:te.positionerStyles,V=W.useMemo(()=>{let e={};return O||(e.pointerEvents=`none`),{role:`presentation`,hidden:!k,style:{...B,...e}}},[O,k,B]),re=W.useMemo(()=>({open:O,side:ne,align:te.align,anchorHidden:te.anchorHidden}),[O,ne,te.align,te.anchorHidden]),ie=tS(`div`,e,{ref:[t,X(e=>{v.set(`positionerElement`,e)})],state:re,stateAttributesMapping:yT,props:[V,_]}),ae=W.useRef(0),oe=X(e=>{if(e.size===0&&ae.current===0||C.current.length===0)return;let t=ae.current;if(ae.current=e.size,e.size===t)return;let n=ox(qb);if(t!==0&&!v.state.multiple&&j!==null&&oU(C.current,j,F)===-1){let e=w.current,t=e!=null&&aU(C.current,e,F)?e:null;E(t,n),t===null&&(v.set(`selectedIndex`,null),S.current=null)}if(t!==0&&v.state.multiple&&Array.isArray(j)){let e=j.filter(e=>aU(C.current,e,F));(e.length!==j.length||e.some(e=>!aU(j,e,F)))&&(E(e,n),e.length===0&&(v.set(`selectedIndex`,null),S.current=null))}if(O&&ee){v.update({scrollUpArrowVisible:!1,scrollDownArrowVisible:!1});let e={height:``};RU(N,e),RU(T.current,e)}}),se=W.useMemo(()=>({...te,side:ne,alignItemWithTriggerActive:ee,setControlledAlignItemWithTrigger:z,scrollUpArrowRef:I,scrollDownArrowRef:L}),[te,ne,ee,z]);return(0,G.jsx)(MU,{elementsRef:y,labelsRef:b,onMapChange:oe,children:(0,G.jsxs)(IU.Provider,{value:se,children:[k&&A&&(0,G.jsx)(Lk,{inert:ZT(!O),cutout:P}),ie]})})});function HU(e){let t=e.currentTarget.getBoundingClientRect();return t.top+1<=e.clientY&&e.clientY<=t.bottom-1&&t.left+1<=e.clientX&&e.clientX<=t.right-1}var UU=`base-ui-disable-scrollbar`,WU={className:UU,element:(0,G.jsx)(`style`,{href:UU,precedence:`base-ui:low`,children:`.${UU}{scrollbar-width:none}.${UU}::-webkit-scrollbar{display:none}`})},GU={...yT,...lT},KU=W.forwardRef(function(e,t){let{render:n,className:r,...i}=e,{store:a,popupRef:o,onOpenChangeComplete:s,setOpen:c,valueRef:l,selectedItemTextRef:u,keyboardActiveRef:d,multiple:f,handleScrollArrowVisibility:p,scrollHandlerRef:m}=qH(),{side:h,align:g,alignItemWithTriggerActive:_,setControlledAlignItemWithTrigger:v,scrollDownArrowRef:y,scrollUpArrowRef:b}=LU(),x=Yk(!0)!=null,S=JH(),C=B_(),w=ow(a,mU.id),T=ow(a,mU.open),E=ow(a,mU.mounted),D=ow(a,mU.popupProps),O=ow(a,mU.transitionStatus),k=ow(a,mU.triggerElement),A=ow(a,mU.positionerElement),j=ow(a,mU.listElement),M=W.useRef(0),N=W.useRef(!1),P=W.useRef(0),F=W.useRef(!1),I=W.useRef({}),L=Sx(),R=X(e=>{if(!A||!o.current||!F.current)return;if(N.current||!_){p();return}let t=A.style.top===`0px`,n=A.style.bottom===`0px`,r=A.getBoundingClientRect().height,i=Cx(A),a=getComputedStyle(A),s=parseFloat(a.marginTop),c=parseFloat(a.marginBottom),l=i.documentElement.clientHeight-s-c,u=e.scrollTop,d=e.scrollHeight-e.clientHeight,f=null,m=null,h=!1;if(t){let e=r+(d-u),t=Math.min(e,l);f=t,t===l?h=!0:m=d}else if(n){let e=u-0,t=r+e,n=Math.min(t,l),i=t-l;f=n,n===l?(h=!0,u<d&&(m=u-(e-i))):m=0}f!=null&&(A.style.height=`${f}px`),m!=null&&(e.scrollTop=m),h&&(N.current=!0),p()});W.useImperativeHandle(m,()=>R,[R]),hw({open:T,ref:o,onComplete(){T&&s?.(!0)}});let z=W.useMemo(()=>({open:T,transitionStatus:O,side:h,align:g}),[T,O,h,g]);Y(()=>{!A||!o.current||Object.keys(I.current).length||(I.current={top:A.style.top||`0`,left:A.style.left||`0`,right:A.style.right,height:A.style.height,bottom:A.style.bottom,minHeight:A.style.minHeight,maxHeight:A.style.maxHeight,marginTop:A.style.marginTop,marginBottom:A.style.marginBottom})},[o,A]),Y(()=>{E||_||(F.current=!1,N.current=!1,M.current=0,P.current=0,RU(A,I.current))},[E,_,A,o]),Y(()=>{let e=o.current;if(!(!E||!k||!A||!e)){if(!_){F.current=!0,L.request(p);return}queueMicrotask(()=>{let t=getComputedStyle(A),n=getComputedStyle(e),r=Cx(k),i=U_(A),a=k.getBoundingClientRect(),o=A.getBoundingClientRect(),s=a.left,c=a.height,d=j||e,f=d.scrollHeight,m=parseFloat(n.borderBottomWidth),h=parseFloat(t.marginTop)||10,g=parseFloat(t.marginBottom)||10,_=parseFloat(t.minHeight)||100,y=r.documentElement.clientHeight-h-g,b=r.documentElement.clientWidth,x=y-a.bottom+c,S=u.current,C=l.current,w=0,T=0;if(S&&C){let e=C.getBoundingClientRect(),t=S.getBoundingClientRect(),n=e.left-s,r=t.left-o.left,i=e.top-a.top+e.height/2,c=t.top-o.top+t.height/2;w=n-r,T=c-i}let E=x+T+g+m,D=Math.min(y,E),O=y-h-g,P=E-D,L=Math.max(5,s+w),R=b-5,z=Math.max(0,L+o.width-R);A.style.left=`${L-z}px`,A.style.height=`${D}px`,A.style.maxHeight=`auto`,A.style.marginTop=`${h}px`,A.style.marginBottom=`${g}px`,e.style.height=`100%`;let ee=d.scrollHeight-d.clientHeight,te=P>=ee;te&&(D=Math.min(y,o.height)-(P-ee));let ne=a.top<20||a.bottom>y-20||D<Math.min(f,_),B=(i.visualViewport?.scale??1)!==1&&Sv;if(ne||B){F.current=!0,RU(A,I.current),aS.flushSync(()=>v(!1));return}if(te){let e=Math.max(0,y-E);A.style.top=o.height>=O?`0`:`${e}px`,A.style.height=`${D}px`,d.scrollTop=d.scrollHeight-d.clientHeight,M.current=Math.max(_,D)}else A.style.bottom=`0`,M.current=Math.max(_,D),d.scrollTop=P;M.current===y&&(N.current=!0),p(),setTimeout(()=>{F.current=!0})})}},[a,E,A,k,l,u,o,p,_,v,L,y,b,j]),W.useEffect(()=>{if(!_||!A||!E)return;let e=U_(A);function t(e){c(!1,ox(ax,e))}return e.addEventListener(`resize`,t),()=>{e.removeEventListener(`resize`,t)}},[c,_,A,E]);let ee={...j?{role:`presentation`,"aria-orientation":void 0}:{role:`listbox`,"aria-multiselectable":f||void 0,id:`${w}-list`},onKeyDown(e){d.current=!0,x&&qk.has(e.key)&&e.stopPropagation()},onMouseMove(){d.current=!1},onPointerLeave(e){if(HU(e)||e.pointerType===`touch`)return;let t=e.currentTarget;C.start(0,()=>{a.set(`activeIndex`,null),t.focus({preventScroll:!0})})},onScroll(e){j||m.current?.(e.currentTarget)},..._&&{style:j?{height:`100%`}:zU}},te=tS(`div`,e,{ref:[t,o],state:z,stateAttributesMapping:GU,props:[D,ee,VT(O),{className:!j&&_?WU.className:void 0},i]});return(0,G.jsxs)(W.Fragment,{children:[WU.element,(0,G.jsx)(xS,{context:S,modal:!1,disabled:!E,restoreFocus:!0,children:te})]})}),qU=function(e){return e[e.None=0]=`None`,e[e.GuessFromOrder=1]=`GuessFromOrder`,e}({});function JU(e={}){let{label:t,metadata:n,textRef:r,indexGuessBehavior:i,index:a}=e,{register:o,unregister:s,subscribeMapChange:c,elementsRef:l,labelsRef:u,nextIndexRef:d}=jU(),f=W.useRef(-1),[p,m]=W.useState(a??(i===qU.GuessFromOrder?()=>{if(f.current===-1){let e=d.current;d.current+=1,f.current=e}return f.current}:-1)),h=W.useRef(null),g=W.useCallback(e=>{if(h.current=e,p!==-1&&e!==null&&(l.current[p]=e,u)){let n=t!==void 0;u.current[p]=n?t:r?.current?.textContent??e.textContent}},[p,l,u,t,r]);return Y(()=>{if(a!=null)return;let e=h.current;if(e)return o(e,n),()=>{s(e)}},[a,o,s,n]),Y(()=>{if(a==null)return c(e=>{let t=h.current?e.get(h.current)?.index:null;t!=null&&m(t)})},[a,c,m]),W.useMemo(()=>({ref:g,index:p}),[p,g])}var YU=W.createContext(void 0);function XU(){let e=W.useContext(YU);if(!e)throw Error(j_(57));return e}var ZU=W.memo(W.forwardRef(function(e,t){let{render:n,className:r,value:i=null,label:a,disabled:o=!1,nativeButton:s=!1,...c}=e,l=W.useRef(null),u=JU({label:a,textRef:l,indexGuessBehavior:qU.GuessFromOrder}),{store:d,getItemProps:f,setOpen:p,setValue:m,selectionRef:h,typingRef:g,valuesRef:_,keyboardActiveRef:v,multiple:y,highlightItemOnHover:b}=qH(),x=B_(),S=ow(d,mU.isActive,u.index),C=ow(d,mU.isSelected,u.index,i),w=ow(d,mU.isSelectedByFocus,u.index),T=ow(d,mU.isItemEqualToValue),E=u.index,D=E!==-1,O=W.useRef(null),k=fv(E);Y(()=>{if(!D)return;let e=_.current;return e[E]=i,()=>{delete e[E]}},[D,E,i,_]),Y(()=>{if(!D)return;let e=d.state.value,t=e;y&&Array.isArray(e)&&e.length>0&&(t=e[e.length-1]),t!==void 0&&iU(t,i,T)&&d.set(`selectedIndex`,E)},[D,E,y,T,d,i]);let A=W.useMemo(()=>({disabled:o,selected:C,highlighted:S}),[o,C,S]),j=f({active:S,selected:C});j.onFocus=void 0,j.id=void 0;let M=W.useRef(null),N=W.useRef(`mouse`),P=W.useRef(!1),{getButtonProps:F,buttonRef:I}=kk({disabled:o,focusableWhenDisabled:!0,native:s});function L(e){let t=d.state.value;if(y){let n=Array.isArray(t)?t:[];m(C?sU(n,i,T):[...n,i],ox(Qb,e))}else m(i,ox(Qb,e)),p(!1,ox(Qb,e))}let R={role:`option`,"aria-selected":C,"aria-disabled":o||void 0,tabIndex:S?0:-1,onFocus(){d.set(`activeIndex`,E)},onMouseEnter(){!v.current&&d.state.selectedIndex===null&&d.set(`activeIndex`,E)},onMouseMove(){b&&d.set(`activeIndex`,E)},onMouseLeave(e){!b||v.current||HU(e)||x.start(0,()=>{d.state.activeIndex===E&&d.set(`activeIndex`,null)})},onTouchStart(){h.current={allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1}},onKeyDown(e){M.current=e.key,d.set(`activeIndex`,E)},onClick(e){P.current=!1,!(e.type===`keydown`&&M.current===null)&&(o||M.current===` `&&g.current||N.current!==`touch`&&!S||(M.current=null,L(e.nativeEvent)))},onPointerEnter(e){N.current=e.pointerType},onPointerDown(e){N.current=e.pointerType,P.current=!0},onMouseUp(e){if(o)return;if(P.current){P.current=!1;return}let t=!h.current.allowSelectedMouseUp&&C,n=!h.current.allowUnselectedMouseUp&&!C;t||n||N.current!==`touch`&&!S||L(e.nativeEvent)}},z=tS(`div`,e,{ref:[I,t,u.ref,O],state:A,props:[j,R,c,F]}),ee=W.useMemo(()=>({selected:C,indexRef:k,textRef:l,selectedByFocus:w,hasRegistered:D}),[C,k,l,w,D]);return(0,G.jsx)(YU.Provider,{value:ee,children:z})})),QU=W.forwardRef(function(e,t){let n=e.keepMounted??!1,{selected:r}=XU();return n||r?(0,G.jsx)($U,{...e,ref:t}):null}),$U=W.memo(W.forwardRef((e,t)=>{let{render:n,className:r,keepMounted:i,...a}=e,{selected:o}=XU(),s=W.useRef(null),{transitionStatus:c,setMounted:l}=pw(o),u=W.useMemo(()=>({selected:o,transitionStatus:c}),[o,c]),d=tS(`span`,e,{ref:[t,s],state:u,props:[{"aria-hidden":!0,children:`✔️`},a],stateAttributesMapping:lT});return hw({open:o,ref:s,onComplete(){o||l(!1)}}),d})),eW=W.memo(W.forwardRef(function(e,t){let{indexRef:n,textRef:r,selectedByFocus:i,hasRegistered:a}=XU(),{selectedItemTextRef:o}=qH(),{className:s,render:c,...l}=e;return tS(`div`,e,{ref:[W.useCallback(e=>{if(!e||!a)return;let t=o.current===null||!o.current.isConnected;(i||t&&n.current===0)&&(o.current=e)},[o,n,i,a]),t,r],props:l})}));function tW({value:e,onValueChange:t,options:n,ariaLabel:r,className:i}){return(0,G.jsxs)(bU,{value:e,onValueChange:e=>t(e),modal:!1,children:[(0,G.jsxs)(wU,{className:`ui-select-trigger ${i??``}`,"aria-label":r,children:[(0,G.jsx)(EU,{children:e=>n.find(t=>t.value===e)?.label??e}),(0,G.jsx)(DU,{className:`ui-select-icon`,children:(0,G.jsx)(qD,{size:12})})]}),(0,G.jsx)(kU,{children:(0,G.jsx)(VU,{className:`ui-select-positioner`,sideOffset:4,align:`end`,side:`bottom`,alignItemWithTrigger:!1,children:(0,G.jsx)(KU,{className:`ui-select-popup`,children:n.map(e=>(0,G.jsxs)(ZU,{value:e.value,className:`ui-select-item`,children:[(0,G.jsx)(eW,{children:e.label}),(0,G.jsx)(QU,{className:`ui-select-indicator`,children:(0,G.jsx)(UD,{size:13})})]},e.value))})})})]})}var nW=[{value:`word`,label:`Word`},{value:`word-alt`,label:`Word (alt)`},{value:`char`,label:`Character`},{value:`none`,label:`None`}],rW=[{value:`classic`,label:`Classic (+/−)`},{value:`bars`,label:`Bars`},{value:`none`,label:`None`}],iW=[{value:`line-info`,label:`Line info + context`},{value:`line-info-basic`,label:`Line info`},{value:`metadata`,label:`Metadata only`},{value:`simple`,label:`Simple`}],aW=[{value:`both`,label:`Both`},{value:`line`,label:`Line only`},{value:`number`,label:`Number only`},{value:`disabled`,label:`Disabled`}],oW=[11,12,13,14,15,16].map(e=>({value:String(e),label:`${e}px`})),sW=[2,4,8].map(e=>({value:String(e),label:String(e)})),cW=[{value:`comfortable`,label:`Comfortable`},{value:`compact`,label:`Compact`}],lW=[{value:`0`,label:`Disabled`},{value:`100`,label:`100 lines`},{value:`200`,label:`200 lines`},{value:`400`,label:`400 lines`},{value:`800`,label:`800 lines`}],uW=[{value:``,label:`Default`},{value:`chrome`,label:`Chrome`},{value:`firefox`,label:`Firefox`},{value:`edge`,label:`Edge`},{value:`brave`,label:`Brave`}],dW=[{value:`default`,label:`Default / System`},{value:`vscode`,label:`VS Code`},{value:`zed`,label:`Zed`},{value:`vim`,label:`Vim`},{value:`neovim`,label:`Neovim`}];function fW({diffStyle:e,diffOptions:t,defaultTabSize:n,browser:r,editorIDE:i,lineDiffType:a,lineWrap:o,diffIndicators:s,showLineNumbers:c,hunkSeparators:l,lineHoverHighlight:u,fontSize:d,haptics:f,sounds:p,uiFont:m,monoFont:h,density:g,autoCollapseLineThreshold:_,requireViewAllBeforeSend:v=!1,showStatusBar:y,ignoreSpaceChange:b=!1,ignoreAllSpace:x=!1,onDiffStyleChange:S,onDiffOptionsChange:C,onDefaultTabSizeChange:w,onBrowserChange:T,onOpenThemeModal:E,onEditorIDEChange:D,onLineDiffTypeChange:O,onLineWrapChange:k,onDiffIndicatorsChange:A,onShowLineNumbersChange:j,onHunkSeparatorsChange:M,onLineHoverHighlightChange:N,onFontSizeChange:P,onHapticsChange:F,onSoundsChange:I,onDensityChange:L,onAutoCollapseLineThresholdChange:R,onRequireViewAllBeforeSendChange:z,onShowStatusBarChange:ee,onIgnoreSpaceChange:te,onIgnoreAllSpaceChange:ne,onOpenUiFontModal:B,onOpenMonoFontModal:V,showSource:re=!0,showWhitespace:ie=!0,showExternalTools:ae=!0,showSendPolicy:oe=!0}){let[se,ce]=(0,W.useState)(!1);return(0,W.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&(e.key===`,`||e.code===`Comma`)&&(e.preventDefault(),ce(e=>!e))};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[]),(0,G.jsx)(Qk,{open:se,onOpenChange:ce,ariaLabel:`Settings`,className:`settings-popover`,trigger:(0,G.jsxs)(`button`,{className:`btn btn-sm settings-btn ${se?`btn-active`:``}`,title:`Settings (⌘,)`,"aria-label":`Settings`,children:[(0,G.jsx)(QO,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:`Settings`})]}),children:(0,G.jsxs)(`div`,{className:`popover-scroll settings-panel`,children:[re&&t&&C&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`settings-section-label`,children:`Source`}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:t.staged,onChange:e=>C({...t,staged:e.target.checked})}),`Show staged`]}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:t.untracked,onChange:e=>C({...t,untracked:e.target.checked})}),`Show untracked`]})]}),(0,G.jsx)(`div`,{className:`settings-section-label`,children:`Display`}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Inline diff`}),(0,G.jsx)(tW,{value:a,onValueChange:e=>O(e),options:nW,ariaLabel:`Inline diff style`})]}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:o,onChange:e=>k(e.target.checked)}),`Wrap long lines`]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Diff indicators`}),(0,G.jsx)(tW,{value:s,onValueChange:e=>A(e),options:rW,ariaLabel:`Diff indicators`})]}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:c,onChange:e=>j(e.target.checked)}),`Show line numbers`]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Hunk separator`}),(0,G.jsx)(tW,{value:l,onValueChange:e=>M(e),options:iW,ariaLabel:`Hunk separator style`})]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Hover highlight`}),(0,G.jsx)(tW,{value:u,onValueChange:e=>N(e),options:aW,ariaLabel:`Hover highlight`})]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Font size`}),(0,G.jsx)(tW,{value:String(d),onValueChange:e=>P(Number(e)),options:oW,ariaLabel:`Font size`})]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Default tab size`}),(0,G.jsx)(tW,{value:String(n),onValueChange:e=>w(Number(e)),options:sW,ariaLabel:`Default tab size`})]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`UI font`}),(0,G.jsxs)(`button`,{className:`btn btn-sm settings-btn`,onClick:()=>{ce(!1),B()},title:m??`Default (Geist Mono)`,children:[(0,G.jsx)(ak,{size:13}),(0,G.jsx)(`span`,{className:`settings-value-label`,children:m??`Default…`})]})]}),(0,G.jsx)(`div`,{className:`settings-section-label`,children:`Comfort`}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Density`}),(0,G.jsx)(tW,{value:g,onValueChange:e=>L(e),options:cW,ariaLabel:`UI density`})]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Auto-collapse huge files`}),(0,G.jsx)(tW,{value:String(_),onValueChange:e=>R(Number(e)),options:lW,ariaLabel:`Auto-collapse line threshold`})]}),oe&&z&&(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:v,onChange:e=>z(e.target.checked)}),(0,G.jsxs)(`span`,{className:`settings-icon-label`,children:[(0,G.jsx)(ek,{size:12}),` Warn before sending if files are unviewed`]})]}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:y,onChange:e=>ee(e.target.checked)}),(0,G.jsxs)(`span`,{className:`settings-icon-label`,children:[(0,G.jsx)(wO,{size:12}),` Show status bar`]})]}),ie&&te&&ne&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`settings-section-label`,children:`Whitespace`}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:b,onChange:e=>te(e.target.checked)}),`Ignore space-change (-b)`]}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:x,onChange:e=>ne(e.target.checked)}),`Ignore all space (-w)`]})]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Code font`}),(0,G.jsxs)(`button`,{className:`btn btn-sm settings-btn`,onClick:()=>{ce(!1),V()},title:h??`Default (JetBrains Mono)`,children:[(0,G.jsx)(ak,{size:13}),(0,G.jsx)(`span`,{className:`settings-value-label`,children:h??`Default…`})]})]}),ae&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`settings-section-label`,children:`External tools`}),T&&(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Browser`}),(0,G.jsx)(tW,{value:r||``,onValueChange:T,options:uW,ariaLabel:`Browser`})]}),D&&(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Preferred IDE`}),(0,G.jsx)(tW,{value:i||`default`,onValueChange:D,options:dW,ariaLabel:`Preferred IDE`})]})]}),(0,G.jsx)(`div`,{className:`settings-section-label`,children:`Appearance`}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Diff style`}),(0,G.jsx)(tW,{value:e,onValueChange:e=>S(e),options:[{value:`split`,label:`Split`},{value:`unified`,label:`Unified`}],ariaLabel:`Diff style`})]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Theme`}),(0,G.jsxs)(`button`,{className:`btn btn-sm settings-btn`,onClick:()=>{ce(!1),E()},children:[(0,G.jsx)(VO,{size:14}),` Switch Theme…`]})]}),(0,G.jsx)(`div`,{className:`settings-section-label`,children:`Feedback`}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:f,onChange:e=>F(e.target.checked)}),`Haptic feedback`]}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:p,onChange:e=>I(e.target.checked)}),`Sound effects`]})]})})}var pW=(0,W.memo)(function({repoName:e,branch:t,fileCount:n,totalFileCount:r,additions:i,deletions:a,commentCount:o,planCount:s,pendingPlanCount:c,lastSend:l,onOpenPlans:u,diffStyle:d,diffOptions:f,defaultTabSize:p,browser:m,theme:h,editorIDE:g,customMode:_,showMode:v,showCommitCount:y,lineDiffType:b,lineWrap:x,diffIndicators:S,showLineNumbers:C,hunkSeparators:w,lineHoverHighlight:T,fontSize:E,haptics:D,sounds:O,uiFont:k,monoFont:A,density:j,autoCollapseLineThreshold:M,requireViewAllBeforeSend:N,showStatusBar:P,ignoreSpaceChange:F,ignoreAllSpace:I,onDiffStyleChange:L,onDiffOptionsChange:R,onDefaultTabSizeChange:z,onBrowserChange:ee,onOpenThemeModal:te,onEditorIDEChange:ne,onLineDiffTypeChange:B,onLineWrapChange:V,onDiffIndicatorsChange:re,onShowLineNumbersChange:ie,onHunkSeparatorsChange:ae,onLineHoverHighlightChange:oe,onFontSizeChange:se,onHapticsChange:ce,onSoundsChange:H,onDensityChange:le,onAutoCollapseLineThresholdChange:ue,onRequireViewAllBeforeSendChange:U,onShowStatusBarChange:de,onIgnoreSpaceChange:fe,onIgnoreAllSpaceChange:pe,onResolveAllOpen:me,onOpenUiFontModal:he,onOpenMonoFontModal:ge,onOpenSearch:_e,onCopyComments:ve,onCopyMarkdown:ye,onSendToAgent:be,agentWaiting:xe,waitingAgents:Se=[],sending:Ce,comments:we,viewedFileCount:Te,onEditComment:Ee,onDeleteComment:De,sidebarCollapsed:Oe,onToggleSidebar:ke}){let Ae=v?`${y} commit${y===1?``:`s`}`:n===r?`${n} file${n===1?``:`s`}`:`${n}/${r} files`;return(0,G.jsxs)(`header`,{className:`toolbar diff-app-toolbar`,role:`banner`,children:[(0,G.jsxs)(`div`,{className:`toolbar-left`,children:[ke&&(0,G.jsx)(`button`,{className:`toolbar-mobile-toggle`,onClick:ke,"aria-label":Oe?`Open file tree`:`Close file tree`,"aria-expanded":!Oe,title:Oe?`Open sidebar · b`:`Close sidebar · b`,children:(0,G.jsx)(AO,{size:18})}),(0,G.jsxs)(`div`,{className:`toolbar-brand`,children:[(0,G.jsx)(HH,{size:20,className:`toolbar-brand-mark`}),(0,G.jsxs)(`div`,{className:`toolbar-brand-text`,children:[(0,G.jsx)(`h1`,{className:`toolbar-title`,children:e||`diffing`}),t&&(0,G.jsxs)(`span`,{className:`toolbar-branch-inline`,title:t,children:[(0,G.jsx)(hO,{size:11,"aria-hidden":`true`}),t]})]})]}),(0,G.jsxs)(`div`,{className:`toolbar-meta`,"aria-label":`Diff summary`,children:[(0,G.jsx)(`span`,{className:`toolbar-chip`,children:Ae}),(i>0||a>0)&&(0,G.jsxs)(`span`,{className:`toolbar-chip toolbar-chip-diff`,children:[i>0&&(0,G.jsxs)(`span`,{className:`stat-additions`,children:[`+`,i]}),a>0&&(0,G.jsxs)(`span`,{className:`stat-deletions`,children:[`−`,a]})]}),o>0&&(0,G.jsxs)(`span`,{className:`toolbar-chip toolbar-chip-comments`,children:[o,` open`]}),l&&l.round>0&&(0,G.jsx)(VH,{lastRound:l.round})]})]}),(0,G.jsxs)(`div`,{className:`toolbar-right`,children:[(0,G.jsxs)(`button`,{className:`btn btn-sm toolbar-search-btn`,onClick:_e,title:`Search files, text, symbols (⌘K)`,"aria-label":`Search`,children:[(0,G.jsx)(ZO,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:`Search`}),(0,G.jsx)(`kbd`,{className:`toolbar-search-kbd`,children:`⌘K`})]}),s>0&&(0,G.jsxs)(`button`,{className:`btn btn-sm toolbar-plans-btn ${c>0?`toolbar-plans-btn-pending`:``}`,onClick:u,title:c>0?`${c} plan${c===1?``:`s`} awaiting review`:`Open plan review`,children:[c>0&&(0,G.jsx)(`span`,{className:`agent-waiting-dot`,"aria-hidden":`true`}),(0,G.jsx)(tO,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:`Plans`}),c>0&&(0,G.jsx)(`span`,{className:`toolbar-plans-badge`,children:c})]}),o>0&&(0,G.jsxs)(`button`,{className:`btn btn-sm toolbar-resolve-all-btn`,onClick:()=>{typeof window>`u`||window.confirm(`Resolve all ${o} open comment${o===1?``:`s`}? This marks every open thread as resolved in one move.`)&&me()},title:`Resolve all open comments`,children:[(0,G.jsx)(HD,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:`Resolve all`})]}),(0,G.jsx)(fW,{diffStyle:d,diffOptions:f,defaultTabSize:p,browser:m,editorIDE:g,lineDiffType:b,lineWrap:x,diffIndicators:S,showLineNumbers:C,hunkSeparators:w,lineHoverHighlight:T,fontSize:E,haptics:D,sounds:O,uiFont:k,monoFont:A,density:j,autoCollapseLineThreshold:M,requireViewAllBeforeSend:N,showStatusBar:P,ignoreSpaceChange:F,ignoreAllSpace:I,onDiffStyleChange:L,onDiffOptionsChange:R,onDefaultTabSizeChange:z,onBrowserChange:ee,onOpenThemeModal:te,onEditorIDEChange:ne,onLineDiffTypeChange:B,onLineWrapChange:V,onDiffIndicatorsChange:re,onShowLineNumbersChange:ie,onHunkSeparatorsChange:ae,onLineHoverHighlightChange:oe,onFontSizeChange:se,onHapticsChange:ce,onSoundsChange:H,onDensityChange:le,onAutoCollapseLineThresholdChange:ue,onRequireViewAllBeforeSendChange:U,onShowStatusBarChange:de,onIgnoreSpaceChange:fe,onIgnoreAllSpaceChange:pe,onOpenUiFontModal:he,onOpenMonoFontModal:ge,showSource:!_}),(0,G.jsx)(zH,{comments:we,totalFileCount:r,viewedFileCount:Te,requireViewAllBeforeSend:N,onEditComment:Ee,onDeleteComment:De,onSend:be,sending:Ce,agentWaiting:xe,waitingAgents:Se,onCopyComments:ve,onCopyMarkdown:ye})]})]})});function mW({overview:e,commits:t}){let[n,r]=(0,W.useState)(!1),i=e.commitSubjects.length>0,a=e.truncated>0,o=!!e.subtitle||a||i;return(0,G.jsxs)(`section`,{className:`diff-overview-banner`,"data-kind":e.kind,"aria-label":`Diff overview: ${e.headline}`,children:[(0,G.jsxs)(`header`,{className:`diff-overview-banner-header`,children:[(0,G.jsxs)(`div`,{className:`diff-overview-banner-line`,children:[(0,G.jsx)(vW,{kind:e.kind}),(0,G.jsx)(`h2`,{className:`diff-overview-banner-headline`,children:e.headline})]}),o&&(0,G.jsxs)(`div`,{className:`diff-overview-banner-meta`,children:[e.subtitle&&(0,G.jsx)(`span`,{className:`diff-overview-banner-subtitle`,children:e.subtitle}),a&&(0,G.jsxs)(`span`,{className:`diff-overview-banner-truncated-badge`,title:`${e.truncated} additional ${e.truncated===1?`commit`:`commits`} not shown`,children:[`+`,e.truncated]}),i&&(0,G.jsxs)(`button`,{type:`button`,className:`diff-overview-banner-details-toggle`,onClick:()=>r(e=>!e),"aria-expanded":n,"aria-controls":`diff-overview-banner-details`,children:[n?(0,G.jsx)(WD,{size:14}):(0,G.jsx)(KD,{size:14}),(0,G.jsx)(fO,{size:13,"aria-hidden":`true`}),(0,G.jsxs)(`span`,{children:[n?`Hide`:`Show`,` `,e.commitSubjects.length,` `,`commit`,e.commitSubjects.length===1?``:`s`]})]})]})]}),i&&n&&(0,G.jsx)(hW,{overview:e,commits:t,id:`diff-overview-banner-details`})]})}function hW({overview:e,commits:t,id:n}){return t&&t.length>0?(0,G.jsxs)(`ul`,{id:n,className:`diff-overview-banner-subjects`,children:[t.map((e,n)=>(0,G.jsx)(gW,{commit:e,index:n,total:t.length},e.sha)),e.truncated>0&&(0,G.jsxs)(`li`,{className:`diff-overview-banner-truncated`,role:`status`,children:[`+ `,e.truncated,` more commit`,e.truncated===1?``:`s`,` not shown`]})]}):(0,G.jsx)(`ul`,{id:n,className:`diff-overview-banner-subjects`,children:e.commitSubjects.map((t,n)=>{let r=n===0||n===e.commitSubjects.length-1;return(0,G.jsxs)(`li`,{className:`diff-overview-banner-subject-row`,children:[(0,G.jsx)(gO,{size:12,className:`diff-overview-banner-subject-icon`,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:`diff-overview-banner-subject-text`,children:t}),r&&e.fromDate&&e.toDate&&(0,G.jsx)(`span`,{className:`diff-overview-banner-subject-dates`,children:n===0?e.fromDate:e.toDate})]},`${n}-${t}`)})})}function gW({commit:e,index:t,total:n}){let[r,i]=(0,W.useState)(!1),[a,o]=(0,W.useState)(!1),s=async()=>{try{await navigator.clipboard.writeText(e.sha),i(!0),setTimeout(()=>i(!1),1500)}catch{}},c=e.body.trim().length>0,l=e.parents.length>1,u=n>1?`Commit ${t+1} of ${n}: ${e.subject}`:`Commit: ${e.subject}`;return(0,G.jsxs)(`li`,{className:`diff-overview-banner-commit-row`,"aria-label":u,children:[(0,G.jsxs)(`div`,{className:`diff-overview-banner-commit-line`,children:[(0,G.jsx)(gO,{size:12,className:`diff-overview-banner-subject-icon`,"aria-hidden":`true`}),(0,G.jsxs)(`button`,{type:`button`,className:`diff-overview-banner-commit-sha`,onClick:s,title:r?`Copied full SHA`:`Click to copy full SHA`,"aria-label":`Copy full SHA ${e.sha}`,children:[(0,G.jsx)(`span`,{children:e.shortSha}),r?(0,G.jsx)(UD,{size:12,"aria-hidden":`true`}):(0,G.jsx)(oO,{size:12,"aria-hidden":`true`})]}),l&&(0,G.jsx)(`span`,{className:`diff-overview-banner-merge-badge`,title:`Merge commit with ${e.parents.length} parents`,children:`merge`}),(0,G.jsx)(`span`,{className:`diff-overview-banner-commit-subject`,children:e.subject})]}),(0,G.jsxs)(`div`,{className:`diff-overview-banner-commit-meta`,children:[(0,G.jsxs)(`span`,{className:`diff-overview-banner-commit-author`,children:[(0,G.jsx)(`span`,{className:`diff-overview-banner-commit-author-name`,children:e.authorName}),(0,G.jsxs)(`span`,{className:`diff-overview-banner-commit-author-email`,children:[`<`,e.authorEmail,`>`]})]}),(0,G.jsx)(`span`,{className:`diff-overview-banner-commit-date`,title:e.authorDate,children:_W(e.authorDate)}),e.committerName!==e.authorName||e.committerEmail!==e.authorEmail?(0,G.jsxs)(`span`,{className:`diff-overview-banner-commit-committer`,title:`Committed by ${e.committerName} <${e.committerEmail}> at ${e.committerDate}`,children:[(0,G.jsx)(`span`,{className:`diff-overview-banner-commit-committer-label`,children:`committed by`}),` `,(0,G.jsx)(`span`,{children:e.committerName})]}):null]}),c&&(0,G.jsxs)(`div`,{className:`diff-overview-banner-commit-body`,children:[(0,G.jsxs)(`button`,{type:`button`,className:`diff-overview-banner-commit-body-toggle`,onClick:()=>o(e=>!e),"aria-expanded":a,"aria-controls":`diff-overview-commit-body-${e.shortSha}`,children:[a?(0,G.jsx)(WD,{size:14}):(0,G.jsx)(KD,{size:14}),(0,G.jsx)(fO,{size:13,"aria-hidden":`true`}),(0,G.jsx)(`span`,{children:a?`Hide message`:`Show message`})]}),a&&(0,G.jsx)(`pre`,{id:`diff-overview-commit-body-${e.shortSha}`,className:`diff-overview-banner-commit-body-pre`,children:e.body})]})]})}function _W(e){try{let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString(void 0,{year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}catch{return e}}function vW({kind:e}){let t={size:14,className:`diff-overview-banner-icon`,"aria-hidden":!0};switch(e){case`working-tree`:case`staged-only`:return(0,G.jsx)(CO,{...t});case`range`:return(0,G.jsx)(hO,{...t});case`commit-single`:case`commit-series`:return(0,G.jsx)(gO,{...t});case`pr`:return(0,G.jsx)(yO,{...t})}}function yW(e,t){return JSON.stringify(e.overview)===JSON.stringify(t.overview)&&JSON.stringify(e.commits)===JSON.stringify(t.commits)}var bW=(0,W.memo)(mW,yW),xW=W.createContext(void 0);function SW(e){let t=W.useContext(xW);if(e===!1&&t===void 0)throw Error(j_(27));return t}var CW={...yT,...lT},wW=W.forwardRef(function(e,t){let{render:n,className:r,forceRender:i=!1,...a}=e,{store:o}=SW(),s=o.useState(`open`),c=o.useState(`nested`),l=o.useState(`mounted`),u=o.useState(`transitionStatus`);return tS(`div`,e,{state:W.useMemo(()=>({open:s,transitionStatus:u}),[s,u]),ref:[o.context.backdropRef,t],stateAttributesMapping:CW,props:[{role:`presentation`,hidden:!l,style:{userSelect:`none`,WebkitUserSelect:`none`}},a],enabled:i||!c})}),TW=function(e){return e.nestedDialogs=`--nested-dialogs`,e}({}),EW=function(e){return e[e.open=uT.open]=`open`,e[e.closed=uT.closed]=`closed`,e[e.startingStyle=uT.startingStyle]=`startingStyle`,e[e.endingStyle=uT.endingStyle]=`endingStyle`,e.nested=`data-nested`,e.nestedDialogOpen=`data-nested-dialog-open`,e}({}),DW=W.createContext(void 0);function OW(){let e=W.useContext(DW);if(e===void 0)throw Error(j_(26));return e}var kW={...yT,...lT,nestedDialogOpen(e){return e?{[EW.nestedDialogOpen]:``}:null}},AW=W.forwardRef(function(e,t){let{className:n,finalFocus:r,initialFocus:i,render:a,...o}=e,{store:s}=SW(),c=s.useState(`descriptionElementId`),l=s.useState(`disablePointerDismissal`),u=s.useState(`floatingRootContext`),d=s.useState(`popupProps`),f=s.useState(`modal`),p=s.useState(`mounted`),m=s.useState(`nested`),h=s.useState(`nestedOpenDialogCount`),g=s.useState(`open`),_=s.useState(`openMethod`),v=s.useState(`titleElementId`),y=s.useState(`transitionStatus`),b=s.useState(`role`);OW(),hw({open:g,ref:s.context.popupRef,onComplete(){g&&s.context.onOpenChangeComplete?.(!0)}});function x(e){return e===`touch`?s.context.popupRef.current:!0}let S=i===void 0?x:i,C=h>0,w=tS(`div`,e,{state:W.useMemo(()=>({open:g,nested:m,transitionStatus:y,nestedDialogOpen:C}),[g,m,y,C]),props:[d,{"aria-labelledby":v??void 0,"aria-describedby":c??void 0,role:b,tabIndex:-1,hidden:!p,onKeyDown(e){qk.has(e.key)&&e.stopPropagation()},style:{[TW.nestedDialogs]:h}},o],ref:[t,s.context.popupRef,s.useStateSetter(`popupElement`)],stateAttributesMapping:kW});return(0,G.jsx)(xS,{context:u,openInteractionType:_,disabled:!p,closeOnFocusOut:!l,initialFocus:S,returnFocus:r,modal:f!==!1,restoreFocus:`popup`,children:w})}),jW=W.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e,{store:i}=SW(),a=i.useState(`mounted`),o=i.useState(`modal`);return a||n?(0,G.jsx)(DW.Provider,{value:n,children:(0,G.jsxs)(uS,{ref:t,...r,children:[a&&o===!0&&(0,G.jsx)(Lk,{ref:i.context.internalBackdropRef,inert:ZT(!open)}),e.children]})}):null});function MW(e){let{store:t,parentContext:n,actionsRef:r}=e,i=t.useState(`open`),a=t.useState(`disablePointerDismissal`),o=t.useState(`modal`),s=t.useState(`popupElement`),{openMethod:c,triggerProps:l,reset:u}=Ck(i);vw(t);let{forceUnmount:d}=yw(i,t,()=>{u()}),f=X(e=>{let n=ox(e);return n.preventUnmountOnClose=()=>{t.set(`preventUnmountingOnClose`,!0)},n}),p=W.useCallback(()=>{t.setOpen(!1,f(ix))},[t,f]);W.useImperativeHandle(r,()=>({unmount:d,close:p}),[d,p]);let m=Ew({popupStore:t,onOpenChange:t.setOpen,treatPopupAsFloatingElement:!0,noEmit:!0}),[h,g]=W.useState(0),_=h===0,v=Xw(m),y=LC(m,{outsidePressEvent(){return t.context.internalBackdropRef.current||t.context.backdropRef.current?`intentional`:{mouse:o===`trap-focus`?`sloppy`:`intentional`,touch:`sloppy`}},outsidePress(e){if(`button`in e&&e.button!==0||`touches`in e&&e.touches.length!==1)return!1;let n=zv(e);if(_&&!a){let e=n;return o&&(t.context.internalBackdropRef.current||t.context.backdropRef.current)?t.context.internalBackdropRef.current===e||t.context.backdropRef.current===e||Rv(e,s)&&!e?.hasAttribute(`data-base-ui-portal`):!0}return!1},escapeKey:_});gk(i&&o===!0,s);let{getReferenceProps:b,getFloatingProps:x,getTriggerProps:S}=zw([v,y]);t.useContextCallback(`onNestedDialogOpen`,e=>{g(e+1)}),t.useContextCallback(`onNestedDialogClose`,()=>{g(0)}),W.useEffect(()=>(n?.onNestedDialogOpen&&i&&n.onNestedDialogOpen(h),n?.onNestedDialogClose&&!i&&n.onNestedDialogClose(),()=>{n?.onNestedDialogClose&&i&&n.onNestedDialogClose()}),[i,n,h]);let C=W.useMemo(()=>b(l),[b,l]),w=W.useMemo(()=>S(l),[S,l]),T=W.useMemo(()=>x(),[x]);t.useSyncedValues({openMethod:c,activeTriggerProps:C,inactiveTriggerProps:w,popupProps:T,floatingRootContext:m,nestedOpenDialogCount:h})}var NW={...Cw,modal:Z(e=>e.modal),nested:Z(e=>e.nested),nestedOpenDialogCount:Z(e=>e.nestedOpenDialogCount),disablePointerDismissal:Z(e=>e.disablePointerDismissal),openMethod:Z(e=>e.openMethod),descriptionElementId:Z(e=>e.descriptionElementId),titleElementId:Z(e=>e.titleElementId),viewportElement:Z(e=>e.viewportElement),role:Z(e=>e.role)},PW=class extends uw{constructor(e){super(FW(e),{popupRef:W.createRef(),backdropRef:W.createRef(),internalBackdropRef:W.createRef(),triggerElements:new bw,onOpenChange:void 0,onOpenChangeComplete:void 0},NW)}setOpen=(e,t)=>{if(t.preventUnmountOnClose=()=>{this.set(`preventUnmountingOnClose`,!0)},!e&&t.trigger==null&&this.state.activeTriggerId!=null&&(t.trigger=this.state.activeTriggerElement??void 0),this.context.onOpenChange?.(e,t),t.isCanceled)return;let n={open:e,nativeEvent:t.event,reason:t.reason,nested:this.state.nested};this.state.floatingRootContext.context.events?.emit(`openchange`,n);let r={open:e},i=t.trigger?.id??null;(i||e)&&(r.activeTriggerId=i,r.activeTriggerElement=t.trigger??null),this.update(r)}};function FW(e={}){return{...Sw(),modal:!0,disablePointerDismissal:!1,popupElement:null,viewportElement:null,descriptionElementId:void 0,titleElementId:void 0,openMethod:null,nested:!1,nestedOpenDialogCount:0,role:`dialog`,...e}}function IW(e){let{children:t,open:n,defaultOpen:r=!1,onOpenChange:i,onOpenChangeComplete:a,disablePointerDismissal:o=!1,modal:s=!0,actionsRef:c,handle:l,triggerId:u,defaultTriggerId:d=null}=e,f=SW(!0),p=!!f,m=F_(()=>l?.store??new PW({open:n??r,activeTriggerId:u===void 0?d:u,modal:s,disablePointerDismissal:o,nested:p})).current;m.useControlledProp(`open`,n,r),m.useControlledProp(`activeTriggerId`,u,d),m.useSyncedValues({disablePointerDismissal:o,nested:p,modal:s}),m.useContextCallback(`onOpenChange`,i),m.useContextCallback(`onOpenChangeComplete`,a);let h=m.useState(`payload`);MW({store:m,actionsRef:c,parentContext:f?.store.context,onOpenChange:i,triggerIdProp:u});let g=W.useMemo(()=>({store:m}),[m]);return(0,G.jsx)(xW.Provider,{value:g,children:typeof t==`function`?t({payload:h}):t})}function LW({open:e,onClose:t,className:n,ariaLabel:r,initialFocus:i,onKeyDown:a,children:o}){return(0,G.jsx)(IW,{open:e,onOpenChange:e=>{e||t()},children:(0,G.jsxs)(jW,{children:[(0,G.jsx)(wW,{className:`ui-modal-backdrop`}),(0,G.jsx)(AW,{className:`ui-modal-popup ${n??``}`,"aria-label":r,initialFocus:i,onKeyDown:a,children:o})]})})}async function RW(e,t){let n=await fetch(`/api/file-text?path=${encodeURIComponent(e)}&version=${t}`);if(!n.ok){if(n.status===404)return null;throw Error(`HTTP ${n.status} fetching ${t} ${e}`)}let r=await n.json();if(r.missing)return null;if(r.error)throw Error(r.error);return r.content??``}function zW(e,t,n=e){let[r,i]=(0,W.useState)({loading:!1,error:null,oldContent:null,newContent:null});return(0,W.useEffect)(()=>{if(!t||!e)return;let r=!1;return i(e=>({...e,loading:!0,error:null})),Promise.all([RW(n,`old`),RW(e,`new`)]).then(([e,t])=>{r||i({loading:!1,error:null,oldContent:e,newContent:t})}).catch(e=>{r||i({loading:!1,error:e.message,oldContent:null,newContent:null})}),()=>{r=!0}},[e,n,t]),r}var BW=`diffing-draft-`,VW=10080*60*1e3;function HW(...e){return BW+e.join(`:`)}function UW(...e){try{let t=CD(HW(...e));if(!t)return null;let n=JSON.parse(t);return Date.now()-n.timestamp>VW?(OD(HW(...e)),null):n.body}catch{return null}}var WW={};function GW(e,...t){let n=HW(...t);WW[n]&&clearTimeout(WW[n]),WW[n]=setTimeout(()=>{KW(e,...t),delete WW[n]},500)}function KW(e,...t){let n=HW(...t);try{e.trim()?DD(n,JSON.stringify({body:e,timestamp:Date.now()})):OD(n)}catch{}}function qW(...e){try{OD(HW(...e))}catch{}}function JW(e){return e.replace(/@([^\s@]+)/g,(e,t)=>`[${t.split(`/`).pop()||t}](file-mention://${t})`)}var YW=[{value:`none`,label:`None`,hint:`Untriaged`,icon:(0,G.jsx)(LO,{size:13})},{value:`blocking`,label:`Blocking`,hint:`Must fix before merge`,icon:(0,G.jsx)(BO,{size:13})},{value:`nit`,label:`Nit`,hint:`Optional polish`,icon:(0,G.jsx)(XD,{size:13})},{value:`question`,label:`Question`,hint:`Needs an answer`,icon:(0,G.jsx)(QD,{size:13})},{value:`praise`,label:`Praise`,hint:`No change required`,icon:(0,G.jsx)(ek,{size:13})}];function XW({value:e,onChange:t}){let n=YW.find(t=>t.value===e)??YW[0];return(0,G.jsxs)(bU,{value:e,onValueChange:e=>t(e),modal:!1,children:[(0,G.jsxs)(wU,{className:`ui-select-trigger comment-severity-trigger comment-severity-trigger-${e}`,"aria-label":`Comment severity`,"data-severity":e,children:[(0,G.jsxs)(`span`,{className:`comment-severity-trigger-inner`,children:[(0,G.jsx)(`span`,{className:`comment-severity-icon`,"data-severity":e,"aria-hidden":`true`,children:n.icon}),(0,G.jsx)(EU,{children:e=>YW.find(t=>t.value===e)?.label??e})]}),(0,G.jsx)(DU,{className:`ui-select-icon`,children:(0,G.jsx)(qD,{size:12})})]}),(0,G.jsx)(kU,{children:(0,G.jsx)(VU,{className:`ui-select-positioner comment-severity-positioner`,sideOffset:4,align:`start`,side:`top`,alignItemWithTrigger:!1,children:(0,G.jsx)(KU,{className:`ui-select-popup comment-severity-popup`,"aria-label":`Severity`,children:YW.map(e=>(0,G.jsxs)(ZU,{value:e.value,className:`ui-select-item comment-severity-item comment-severity-item-${e.value}`,children:[(0,G.jsxs)(`span`,{className:`comment-severity-item-main`,children:[(0,G.jsx)(`span`,{className:`comment-severity-icon`,"data-severity":e.value,"aria-hidden":`true`,children:e.icon}),(0,G.jsxs)(`span`,{className:`comment-severity-item-text`,children:[(0,G.jsx)(eW,{className:`comment-severity-item-label`,children:e.label}),(0,G.jsx)(`span`,{className:`comment-severity-item-hint`,children:e.hint})]})]}),(0,G.jsx)(QU,{className:`ui-select-indicator`,children:(0,G.jsx)(UD,{size:13})})]},e.value))})})})]})}function ZW({initialBody:e,lineContent:t,lineLabel:n,range:r,onAdjustStart:i,onAdjustEnd:a,draftKey:o,onSubmit:s,onCancel:c,showSeverity:l=!0}){let{haptic:u,sound:d}=pD(),{settings:f,updateSettings:p}=IE(),m=f.savedReplies??[],[h,g]=(0,W.useState)(()=>{if(o){let e=UW(o);if(e)return e}return e||``}),[_,v]=(0,W.useState)(`none`),[y,b]=(0,W.useState)(`write`),[x,S]=(0,W.useState)(!1),C=(0,W.useRef)(null),w=(0,W.useRef)(null),T=vH(h,g),E=e=>{g(t=>t.trim()?`${t.trimEnd()}\n\n${e.body}`:e.body),S(!1),b(`write`),requestAnimationFrame(()=>C.current?.focus())},D=()=>{let e=h.trim();if(!e)return;let t=window.prompt(`Template title`,e.slice(0,40))?.trim();t&&p({savedReplies:[...m,{id:crypto.randomUUID(),title:t,body:e}]})};(0,W.useEffect)(()=>{y===`write`?C.current?.focus():w.current?.focus()},[y]),(0,W.useEffect)(()=>{o&&GW(h,o)},[h,o]);let O=()=>{let e=h.trim();e&&(o&&qW(o),u(`success`),d(`success`),s(e,_===`none`?void 0:_))},k=()=>{if(!t)return;let e=`\`\`\`suggestion\n${t.split(`
1934
1934
  `).map(e=>e.replace(/^[+\- ]/,``)).join(`
1935
1935
  `)}\n\`\`\`\n`;g(t=>t.trim()?t.includes("```suggestion")?t:`${t.trimEnd()}\n\n${e}`:e),b(`write`),requestAnimationFrame(()=>C.current?.focus())},A=e=>{if(!T.handleKeyDown(e)&&(e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),O()),e.key===`p`&&(e.metaKey||e.ctrlKey)&&e.shiftKey&&(e.preventDefault(),b(e=>e===`write`?`preview`:`write`)),e.key===`Escape`)){if(h.includes(`
@@ -3869,41 +3869,41 @@ https://github.com/highlightjs/highlight.js/issues/2277`),i=e,r=t),n===void 0&&(
3869
3869
  `).map(e=>e.replace(/^[+\- ]/,``)).join(`
3870
3870
  `).trimEnd()}function G2(e,t){if(e.lineNumber===0)return!1;let n=W2(e.lineContent??``);if(!n||t==null||t===``)return!1;let r=n.replace(/\r\n/g,`
3871
3871
  `);return!t.replace(/\r\n/g,`
3872
- `).includes(r)}function K2(e,t){return e.map(e=>{let n=t.get(e.filePath);if(n===void 0)return e;let r=G2(e,n);return e.outdated===r?e:{...e,outdated:r}})}function q2(e){let t=new URLSearchParams(e.startsWith(`?`)?e.slice(1):e),n=t.get(`file`)||void 0,r=t.get(`line`),i=r!=null&&r!==``?Number(r):void 0,a=t.get(`side`),o=a===`additions`||a===`deletions`?a:void 0,s=t.get(`comment`)||void 0;return{file:n,line:i!=null&&Number.isFinite(i)?i:void 0,side:o,comment:s}}function J2(e,t,n){if(t<2)return e;let r=e===null,i=e??0;return n===`next`?r?0:i>=t-1?null:i+1:r?t-1:i<=0?null:i-1}function Y2({commits:e,activeIndex:t,onChange:n}){if(e.length<2)return null;let r=e.length,i=t===null,a=t??0,o=i?null:e[a],s=()=>n(J2(t,r,`prev`)),c=()=>n(J2(t,r,`next`));return(0,G.jsxs)(`div`,{className:`commit-walk-bar`,role:`navigation`,"aria-label":`Walk commits`,children:[(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm commit-walk-btn`,onClick:s,"aria-label":`Previous commit`,title:`Previous commit ([)`,children:(0,G.jsx)(GD,{size:14})}),(0,G.jsxs)(`div`,{className:`commit-walk-center`,children:[(0,G.jsx)(gO,{size:14,"aria-hidden":`true`}),i?(0,G.jsxs)(`span`,{className:`commit-walk-label`,children:[`All `,r,` commits`]}):(0,G.jsxs)(`span`,{className:`commit-walk-label`,title:o?.subject,children:[(0,G.jsxs)(`span`,{className:`commit-walk-count`,children:[a+1,` / `,r]}),(0,G.jsx)(`code`,{className:`commit-walk-sha`,children:o?.shortSha??o?.sha.slice(0,7)}),(0,G.jsx)(`span`,{className:`commit-walk-subject`,children:o?.subject})]})]}),(0,G.jsxs)(`div`,{className:`commit-walk-trailing`,children:[(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm commit-walk-all`,onClick:()=>n(null),disabled:i,title:i?void 0:`Show all commits`,"aria-label":`Show all commits`,children:`Show all`}),(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm commit-walk-btn`,onClick:c,"aria-label":`Next commit`,title:`Next commit (])`,children:(0,G.jsx)(KD,{size:14})})]})]})}function X2(){let[e,t]=(0,W.useState)(null);return(0,W.useEffect)(()=>fE(`agent-progress`,e=>{try{t(JSON.parse(e))}catch{}}),[]),(0,W.useEffect)(()=>{if(!e)return;let n=setTimeout(()=>t(null),1e4);return()=>clearTimeout(n)},[e]),e?(0,G.jsxs)(`div`,{className:`agent-progress-toast`,role:`status`,"aria-live":`polite`,children:[(0,G.jsx)(`div`,{className:`agent-progress-toast-icon`,children:(0,G.jsx)(VD,{size:16})}),(0,G.jsxs)(`div`,{className:`agent-progress-toast-body`,children:[(0,G.jsxs)(`div`,{className:`agent-progress-toast-title`,children:[e.model||e.agentId||`Agent`,e.pct!=null&&(0,G.jsxs)(`span`,{className:`agent-progress-toast-pct`,children:[Math.round(e.pct),`%`]})]}),(0,G.jsx)(`div`,{className:`agent-progress-toast-msg`,children:e.message}),e.pct!=null&&(0,G.jsx)(`div`,{className:`agent-progress-bar`,"aria-hidden":`true`,children:(0,G.jsx)(`div`,{className:`agent-progress-bar-fill`,style:{width:`${e.pct}%`}})})]}),(0,G.jsx)(`button`,{type:`button`,className:`agent-progress-toast-close`,onClick:()=>t(null),"aria-label":`Dismiss`,children:(0,G.jsx)(ck,{size:14})})]}):null}var Z2=[`review-since-last`];function Q2(e=!0){let t=Ve(),n=nt({queryKey:Z2,queryFn:async()=>{let e=await fetch(`/api/review/since-last`);return e.ok?e.json():{hasBaseline:!1,round:0,changed:[],added:[],removed:[],reviewFiles:[]}},enabled:e,staleTime:2e3});(0,W.useEffect)(()=>{if(!e)return;let n=()=>{t.invalidateQueries({queryKey:Z2})},r=fE(`change`,n),i=fE(`agent-status`,n);return()=>{r(),i()}},[e,t]);let r=n.data,i=(0,W.useMemo)(()=>new Set(r?.reviewFiles??[]),[r?.reviewFiles]);return{sinceLast:r??null,reviewSet:i,hasBaseline:!!r?.hasBaseline,loading:n.isLoading,refetch:n.refetch}}function $2(){let e=Am(),{settings:t,loaded:n,updateSettings:r}=IE(),[,i]=(0,W.useTransition)(),{patch:a,repoName:o,branch:s,customMode:c,showMode:l,commits:u,truncated:d,binaryFiles:f,tabSizeMap:p,untrackedFiles:m,overview:h,loading:g,refreshing:_,error:v}=gE({staged:t.staged,untracked:t.untracked},!0),{comments:y,addComment:b,removeComment:x,resolveComment:S,unresolveComment:C,addReply:w,editComment:T,editReply:E,removeReply:D,copyAllComments:O,copyAllCommentsMarkdown:k,agentActivity:A,clearAgentActivity:j,sendToAgent:M,sending:N,agentWaiting:P,waitingAgents:F,resolveAllOpen:I,lastSend:L}=xE(),R=(0,W.useMemo)(()=>{if(!a)return y;let e=new Map;for(let t of y)e.has(t.filePath)||e.set(t.filePath,a);return K2(y,e)},[y,a]),{plans:z}=wE(),ee=(0,W.useMemo)(()=>z.filter(e=>e.decision===`pending`).length,[z]),{status:te,refresh:ne}=ME(a),[B,V]=(0,W.useState)(null),[re,ie]=(0,W.useState)(()=>{try{let e=CD(`diffing-sidebar-collapsed`);if(e!=null)return e===`true`}catch{}return typeof window<`u`&&window.innerWidth<=768}),[ae,oe]=(0,W.useState)(()=>{try{let e=CD(`diffing-sidebar-width`);return e?Number(e):320}catch{return 320}}),[se,ce]=(0,W.useState)(()=>{try{return mD(CD(`diffing-extension-filter`)??``)}catch{return[]}});(0,W.useEffect)(()=>{DD(`diffing-extension-filter`,se.join(`,`))},[se]);let[H,le]=(0,W.useState)(()=>{try{let e=CD(`diffing-chip-filter`);if(e===`unviewed`||e===`has-comments`||e===`all`||e===`since-last`)return e}catch{}return`all`});(0,W.useEffect)(()=>{DD(`diffing-chip-filter`,H)},[H]);let{reviewSet:ue,hasBaseline:U}=Q2(!0);(0,W.useEffect)(()=>{!U&&H===`since-last`&&le(`all`)},[U,H]);let[de,fe]=(0,W.useState)(null);(0,W.useEffect)(()=>{fe(null)},[u]);let pe=(0,W.useRef)(ae);pe.current=ae;let me=(0,W.useRef)(null),he=(0,W.useRef)(null),ge=(0,W.useRef)(null),_e=(0,W.useCallback)(e=>{e.preventDefault();let t=e.clientX,n=pe.current,r=he.current,i=ge.current,a=r?r.getBoundingClientRect().left:0,o=n,s=0,c=()=>{s=0,i&&(i.style.transform=`translateX(${a+o}px)`)};i&&(i.style.transform=`translateX(${a+n}px)`,i.classList.add(`sidebar-resize-guide-active`));let l=e=>{let r=e.clientX-t;o=Math.max(240,Math.min(640,n+r)),s||=requestAnimationFrame(c)},u=()=>{s&&cancelAnimationFrame(s),i&&i.classList.remove(`sidebar-resize-guide-active`),oe(o);try{DD(`diffing-sidebar-width`,String(o))}catch{}document.removeEventListener(`mousemove`,l),document.removeEventListener(`mouseup`,u),document.body.style.cursor=``,document.body.style.userSelect=``};document.addEventListener(`mousemove`,l),document.addEventListener(`mouseup`,u),document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`},[]),[ve,ye]=(0,W.useState)({open:!1,scope:`files`}),be=(0,W.useCallback)(e=>ye({open:!0,scope:e}),[]),xe=(0,W.useCallback)(()=>ye(e=>({...e,open:!1})),[]),[Se,Ce]=(0,W.useState)(!1),[we,Te]=(0,W.useState)(!1),[Ee,De]=(0,W.useState)(!1),[Oe,ke]=(0,W.useState)(!1),[Ae,je]=(0,W.useState)(()=>{try{let e=CD(`diffing-comment-panel-height`);return e?Number(e):220}catch{return 220}}),Me=(0,W.useRef)(Ae);Me.current=Ae;let Ne=(0,W.useCallback)(e=>{e.preventDefault();let t=e.clientY,n=Me.current,r=me.current,i=n,a=0,o=()=>{a=0,r?.style.setProperty(`--comment-panel-height`,`${i}px`)},s=e=>{let r=t-e.clientY;i=Math.max(100,Math.min(600,n+r)),a||=requestAnimationFrame(o)},c=()=>{a&&cancelAnimationFrame(a),je(i);try{DD(`diffing-comment-panel-height`,String(i))}catch{}document.removeEventListener(`mousemove`,s),document.removeEventListener(`mouseup`,c),document.body.style.cursor=``,document.body.style.userSelect=``};document.addEventListener(`mousemove`,s),document.addEventListener(`mouseup`,c),document.body.style.cursor=`row-resize`,document.body.style.userSelect=`none`},[]);(0,W.useEffect)(()=>{try{DD(`diffing-comment-panel-height`,String(Ae))}catch{}},[Ae]);let{viewedFiles:Pe,setViewed:Fe}=VE(),Ie=(0,W.useRef)(null);un([`G`,`S`],()=>be(`symbols`)),un([`G`,`F`],()=>be(`all`)),un([`G`,`V`],()=>be(`files`)),(0,W.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&(e.key===`k`||e.key===`K`)&&(e.preventDefault(),ye(e=>e.open?{...e,open:!1}:{open:!0,scope:`all`}))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]),(0,W.useEffect)(()=>{try{DD(`diffing-sidebar-collapsed`,String(re))}catch{}},[re]);let Le=(0,W.useMemo)(()=>new Set(m),[m]),Re=(0,W.useRef)([]),ze=(0,W.useMemo)(()=>l&&de!=null&&u[de]?.patch?u[de].patch:a,[l,de,u,a]),Be=(0,W.useMemo)(()=>{if(!ze)return[];try{let e=Pg(ze).flatMap(e=>e.files),t=new Set(e.map(e=>e.name));for(let n of f)if(!t.has(n.path)){let t={name:n.path,type:n.type===`added`||n.type===`untracked`?`new`:n.type===`deleted`?`deleted`:`change`,hunks:[],splitLineCount:0,unifiedLineCount:0,isPartial:!0,deletionLines:[],additionLines:[]};e.push(t)}let n=new Set,r=e.filter(e=>n.has(e.name)?!1:(n.add(e.name),!0)).map(e=>{let t=Re.current.find(t=>t.name===e.name);return t&&t.type===e.type&&t.isPartial===e.isPartial&&t.deletionLines.length===e.deletionLines.length&&t.additionLines.length===e.additionLines.length&&JSON.stringify(t.hunks)===JSON.stringify(e.hunks)?t:e});return Re.current=r,r}catch{return[]}},[ze,f]),Ve=(0,W.useMemo)(()=>{let e={};for(let t of R)e[t.filePath]=(e[t.filePath]??0)+1;return e},[R]),He=(0,W.useMemo)(()=>[...Be].sort(AG),[Be]),Ue=(0,W.useMemo)(()=>{let e=Be;return se.length>0&&(e=e.filter(e=>_D(e.name,se))),H===`unviewed`?e=e.filter(e=>!Pe.has(e.name)):H===`has-comments`?e=e.filter(e=>(Ve[e.name]??0)>0):H===`since-last`&&(e=e.filter(e=>ue.has(e.name))),e},[Be,se,H,Pe,Ve,ue]),We=(0,W.useMemo)(()=>[...Ue].sort(AG),[Ue]),Ge=(0,W.useRef)(!1);(0,W.useEffect)(()=>{if(Ge.current||g||We.length===0||typeof window>`u`)return;let e=q2(window.location.search);!e.file&&!e.comment||(Ge.current=!0,e.file&&(V(e.file),e.line!=null&&requestAnimationFrame(()=>{oE(e.file,e.line,e.side??`additions`)})),e.comment&&requestAnimationFrame(()=>{document.getElementById(`comment-${e.comment}`)?.scrollIntoView({behavior:`smooth`,block:`center`})}))},[g,We.length]);let Ke=WE(We),qe=kD(We),Je=(0,W.useMemo)(()=>{let e=0,t=0;for(let n of Ue)e+=n.additionLines.length,t+=n.deletionLines.length;return{additions:e,deletions:t}},[Ue]),Ye=(0,W.useMemo)(()=>{let e=new Map;for(let t of f)e.set(t.path,t);return e},[f]),Xe=(0,W.useRef)(new Map),Ze=(0,W.useMemo)(()=>{let e=new Map,t=new Map;for(let e of R){let n=t.get(e.filePath);n||(n=[],t.set(e.filePath,n)),n.push(e)}for(let[n,r]of t){let t=r.map(e=>({side:e.side,lineNumber:e.lineNumber,metadata:e})),i=Xe.current.get(n);i&&JSON.stringify(i)===JSON.stringify(t)?e.set(n,i):e.set(n,t)}return Xe.current=e,e},[R]),Qe=(0,W.useCallback)(e=>{V(e);let t=document.getElementById(`file-${e}`);t&&t.scrollIntoView({block:`start`})},[]),$e=(0,W.useCallback)(e=>{i(()=>{ce(hD(e))})},[]),et=(0,W.useCallback)((e,t)=>{Fe(e,t),t&&Ke(e)},[Fe,Ke]),tt=(0,W.useCallback)(e=>{i(()=>{r({diffStyle:e})})},[r]),nt=(0,W.useCallback)(e=>{i(()=>{r(e)})},[r]),rt=(0,W.useCallback)(e=>{i(()=>{r({defaultTabSize:e})})},[r]),it=(0,W.useCallback)(e=>{i(()=>{r({browser:e})})},[r]),at=(0,W.useCallback)(e=>{i(()=>{r({theme:e})})},[r]),ot=(0,W.useCallback)(e=>{i(()=>{r({editorIDE:e})})},[r]),st=(0,W.useCallback)(e=>{i(()=>{r({lineDiffType:e})})},[r]),ct=(0,W.useCallback)(e=>{i(()=>{r({lineWrap:e})})},[r]),lt=(0,W.useCallback)(e=>{i(()=>{r({diffIndicators:e})})},[r]),ut=(0,W.useCallback)(e=>{i(()=>{r({showLineNumbers:e})})},[r]),dt=(0,W.useCallback)(e=>{i(()=>{r({hunkSeparators:e})})},[r]),ft=(0,W.useCallback)(e=>{i(()=>{r({lineHoverHighlight:e})})},[r]),pt=(0,W.useCallback)(e=>{i(()=>{r({fontSize:e})})},[r]),mt=(0,W.useCallback)(e=>{r({haptics:e})},[r]),ht=(0,W.useCallback)(e=>{r({sounds:e})},[r]),gt=(0,W.useCallback)(e=>{r({uiFont:e})},[r]),_t=(0,W.useCallback)(e=>{r({monoFont:e})},[r]),vt=(0,W.useCallback)(e=>{r({density:e})},[r]),yt=(0,W.useCallback)(e=>{r({autoCollapseLineThreshold:e})},[r]),bt=(0,W.useCallback)(e=>{r({requireViewAllBeforeSend:e})},[r]),xt=(0,W.useCallback)(e=>{r({showStatusBar:e})},[r]),St=(0,W.useCallback)(e=>{r({ignoreSpaceChange:e})},[r]),Ct=(0,W.useCallback)(e=>{r({ignoreAllSpace:e})},[r]);(0,W.useCallback)(e=>{r({showVimStatusBar:e})},[r]);let wt=(0,W.useCallback)(async()=>{try{let e=await I();dD(`selection`,`toggle`),e.resolved}catch{}},[I,dD]),Tt=(0,W.useCallback)(()=>{ct(!t.lineWrap)},[t.lineWrap,ct]),Et=(0,W.useCallback)(()=>{ut(!t.showLineNumbers)},[t.showLineNumbers,ut]),Dt=(0,W.useCallback)(()=>{let e=[`classic`,`bars`,`none`],n=t.diffIndicators||`classic`,r=e[(e.indexOf(n)+1)%e.length];lt(r)},[t.diffIndicators,lt]),Ot=(0,W.useCallback)(()=>{let e=[`word`,`word-alt`,`char`,`none`],n=t.lineDiffType||`word`,r=e[(e.indexOf(n)+1)%e.length];st(r)},[t.lineDiffType,st]),kt=(0,W.useCallback)(()=>{ie(e=>!e)},[]),At=(0,W.useCallback)(e=>{if(Be.length===0)return;let t=0;if(B){let n=Be.findIndex(e=>e.name===B);n!==-1&&(t=e===`next`?Math.min(n+1,Be.length-1):Math.max(n-1,0))}let n=Be[t].name;V(n);let r=document.getElementById(`file-${n}`);r&&r.scrollIntoView({block:`start`})},[Be,B,V]),jt=(0,W.useCallback)(e=>{!l||u.length<2||fe(t=>J2(t,u.length,e))},[l,u.length]),Mt=(0,W.useCallback)(()=>{if(!B)return;let e=Pe.has(B);Fe(B,!e),e||Ke(B)},[B,Pe,Fe,Ke]),Nt=(0,W.useCallback)((e,t)=>{t&&Ke(e)},[Ke]),K=(0,W.useCallback)(()=>{tt(t.diffStyle===`split`?`unified`:`split`)},[t.diffStyle,tt]),Pt=(0,W.useCallback)(()=>{let e=[2,4,8],n=t.defaultTabSize||4;rt(e[(e.indexOf(n)+1)%e.length])},[t.defaultTabSize,rt]),Ft=(0,W.useCallback)(()=>{kt()},[kt]);(0,W.useEffect)(()=>{let e=``,t,n=0,r=r=>{let i=document.activeElement;if(i){let e=i.tagName.toLowerCase();if(e===`input`||e===`textarea`||i.hasAttribute(`contenteditable`))return}clearTimeout(t);let a=r.key;if((r.metaKey||r.ctrlKey)&&(a===`?`||a===`/`&&r.shiftKey||r.code===`Slash`&&r.shiftKey)){r.preventDefault(),Ce(!0),dD(`medium`,`open`),e=``;return}if(r.ctrlKey){a===`d`?(r.preventDefault(),window.scrollBy({top:window.innerHeight/2,behavior:`auto`}),dD(`selection`,`navigate`),e=``):a===`u`&&(r.preventDefault(),window.scrollBy({top:-window.innerHeight/2,behavior:`auto`}),dD(`selection`,`navigate`),e=``);return}if(!(a.length>1&&a!==`Escape`&&a!==`Enter`))if(e+=a,t=setTimeout(()=>{e=``},800),e===`j`){r.preventDefault(),window.scrollBy({top:100,behavior:`auto`});let t=Date.now();t-n>80&&(lD(`navigate`),n=t),e=``}else if(e===`k`){r.preventDefault(),window.scrollBy({top:-100,behavior:`auto`});let t=Date.now();t-n>80&&(lD(`navigate`),n=t),e=``}else e===`gg`?(r.preventDefault(),window.scrollTo({top:0,behavior:`auto`}),dD(`selection`,`navigate`),e=``):e===`G`?(r.preventDefault(),window.scrollTo({top:document.documentElement.scrollHeight,behavior:`auto`}),dD(`selection`,`navigate`),e=``):e===`J`?(r.preventDefault(),At(`next`),dD(`selection`,`navigate`),e=``):e===`K`?(r.preventDefault(),At(`prev`),dD(`selection`,`navigate`),e=``):e===`]`?(r.preventDefault(),jt(`next`),dD(`selection`,`navigate`),e=``):e===`[`?(r.preventDefault(),jt(`prev`),dD(`selection`,`navigate`),e=``):e===`v`?(r.preventDefault(),Mt(),dD(`selection`,`toggle`),e=``):e===`m`?(r.preventDefault(),K(),dD(`selection`,`toggle`),e=``):e===`t`?(r.preventDefault(),Pt(),dD(`selection`,`toggle`),e=``):e===`b`?(r.preventDefault(),Ft(),dD(`selection`,`toggle`),e=``):e===`w`?(r.preventDefault(),Tt(),dD(`selection`,`toggle`),e=``):e===`n`?(r.preventDefault(),Et(),dD(`selection`,`toggle`),e=``):e===`i`?(r.preventDefault(),Dt(),dD(`selection`,`toggle`),e=``):e===`I`?(r.preventDefault(),Ot(),dD(`selection`,`toggle`),e=``):e===`/`?(r.preventDefault(),be(`text`),dD(`medium`,`open`),e=``):e===`s`?(r.preventDefault(),be(`symbols`),dD(`medium`,`open`),e=``):e===`gv`?(r.preventDefault(),be(`files`),dD(`medium`,`open`),e=``):e===`gt`?(r.preventDefault(),Te(!0),dD(`medium`,`open`),e=``):e===`?`?(r.preventDefault(),Ce(!0),dD(`medium`,`open`),e=``):e.length>=2&&(e=``)};return window.addEventListener(`keydown`,r),()=>{window.removeEventListener(`keydown`,r),clearTimeout(t)}},[Be,B,Pe,t.diffStyle,t.defaultTabSize,At,jt,Mt,K,Pt,Ft,Tt,Et,Dt,Ot,Te]);let It=(0,W.useMemo)(()=>({staged:t.staged,untracked:t.untracked}),[t.staged,t.untracked]);(0,W.useEffect)(()=>{let e=t.theme||`rose-pine`,n=document.documentElement;n.classList.add(`theme-switching`),n.setAttribute(`data-theme`,e),n.setAttribute(`data-density`,t.density||`comfortable`);let r=requestAnimationFrame(()=>{requestAnimationFrame(()=>n.classList.remove(`theme-switching`))});return()=>cancelAnimationFrame(r)},[t.theme,t.density]),LE(n,t.uiFont,t.monoFont);let Lt=(0,W.useMemo)(()=>FE(t.monoFont),[t.monoFont]),Rt=(0,W.useMemo)(()=>nE[t.theme||`rose-pine`]||nE[`rose-pine`],[t.theme]);return(0,W.useEffect)(()=>{e&&e.setRenderOptions({theme:{dark:Rt.type===`dark`?Rt.themeName:`rose-pine`,light:Rt.type===`light`?Rt.themeName:`github-light`}}).catch(e=>{console.error(`Failed to set worker pool render options:`,e)})},[e,Rt]),(0,W.useEffect)(()=>{let e=Rt.type===`dark`?Rt.themeName:`rose-pine`,t=Rt.type===`light`?Rt.themeName:`github-light`;Uf({themes:Array.from(new Set([e,t])),langs:[]}).catch(()=>{})},[Rt]),(0,W.useEffect)(()=>{let e=[o,s].filter(Boolean);return document.title=e.length>0?`${e.join(` · `)} · diffing`:`diffing`,()=>{document.title=`diffing`}},[o,s]),g?(0,G.jsxs)(`div`,{className:`app skeleton-app`,style:{"--sidebar-width":`${ae}px`,"--comment-panel-height":`${Ae}px`},children:[(0,G.jsxs)(`header`,{className:`skeleton-toolbar`,children:[(0,G.jsx)(`div`,{className:`skeleton-item skeleton-logo`}),(0,G.jsx)(`div`,{className:`skeleton-item skeleton-stats`}),(0,G.jsx)(`div`,{className:`skeleton-item skeleton-actions`})]}),(0,G.jsxs)(`div`,{className:`app-body`,children:[(0,G.jsx)(`aside`,{className:`sidebar skeleton-sidebar ${re?`sidebar-collapsed`:``}`,children:!re&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`skeleton-search`}),(0,G.jsx)(`div`,{className:`skeleton-tree-nodes`,children:Array.from({length:8}).map((e,t)=>(0,G.jsxs)(`div`,{className:`skeleton-tree-node`,style:{paddingLeft:`${t%3*16+16}px`},children:[(0,G.jsx)(`div`,{className:`skeleton-node-icon`}),(0,G.jsx)(`div`,{className:`skeleton-node-text`,style:{width:`${60+t*12%60}px`}})]},t))})]})}),!re&&(0,G.jsx)(`div`,{className:`sidebar-resize-handle`,style:{cursor:`default`}}),(0,G.jsx)(`main`,{className:`main skeleton-main`,children:(0,G.jsx)(`div`,{className:`diff-viewer`,children:Array.from({length:3}).map((e,t)=>(0,G.jsxs)(`div`,{className:`file-diff-card skeleton-card`,children:[(0,G.jsxs)(`div`,{className:`skeleton-card-header`,children:[(0,G.jsx)(`div`,{className:`skeleton-card-title`,style:{width:`${120+t*45%150}px`}}),(0,G.jsx)(`div`,{className:`skeleton-card-badge`})]}),(0,G.jsx)(`div`,{className:`skeleton-card-body`,children:Array.from({length:5}).map((e,t)=>(0,G.jsx)(`div`,{className:`skeleton-code-line`,style:{width:`${50+t*15%45}%`}},t))})]},t))})})]})]}):v?(0,G.jsxs)(`div`,{className:`error empty-state`,role:`alert`,children:[(0,G.jsx)(`div`,{className:`empty-state-icon empty-state-icon-danger`,"aria-hidden":`true`,children:(0,G.jsx)(ik,{size:24,strokeWidth:1.75})}),(0,G.jsx)(`p`,{className:`empty-state-title`,children:`Couldn't load the diff`}),(0,G.jsx)(`p`,{className:`empty-state-hint`,children:v})]}):(0,G.jsx)(fD,{enabled:t.haptics??!0,soundsEnabled:t.sounds??!0,children:(0,G.jsxs)(`div`,{className:`app`,ref:me,style:{"--sidebar-width":`${ae}px`,"--comment-panel-height":`${Ae}px`},children:[(0,G.jsx)(`a`,{href:`#diff-main`,className:`skip-to-main`,children:`Skip to diff`}),_&&(0,G.jsx)(`div`,{className:`refresh-bar`,role:`status`,"aria-live":`polite`,"aria-label":`Refreshing diff`}),(0,G.jsx)(`div`,{className:`sidebar-resize-guide`,ref:ge,"aria-hidden":`true`}),(0,G.jsx)(pW,{repoName:o,branch:s,fileCount:Ue.length,totalFileCount:Be.length,additions:Je.additions,deletions:Je.deletions,commentCount:R.length,planCount:z.length,pendingPlanCount:ee,lastSend:L,onOpenPlans:()=>DE(`/plan`),diffStyle:t.diffStyle,diffOptions:It,defaultTabSize:t.defaultTabSize,browser:t.browser,theme:t.theme||`rose-pine`,editorIDE:t.editorIDE,customMode:c,showMode:l,showCommitCount:u.length,lineDiffType:t.lineDiffType,lineWrap:t.lineWrap,diffIndicators:t.diffIndicators,showLineNumbers:t.showLineNumbers,hunkSeparators:t.hunkSeparators,lineHoverHighlight:t.lineHoverHighlight,fontSize:t.fontSize,haptics:t.haptics??!0,sounds:t.sounds??!0,uiFont:t.uiFont,monoFont:t.monoFont,sidebarCollapsed:re,onToggleSidebar:kt,onDiffStyleChange:tt,onDiffOptionsChange:nt,onDefaultTabSizeChange:rt,onBrowserChange:it,onOpenThemeModal:()=>Te(!0),onEditorIDEChange:ot,onLineDiffTypeChange:st,onLineWrapChange:ct,onDiffIndicatorsChange:lt,onShowLineNumbersChange:ut,onHunkSeparatorsChange:dt,onLineHoverHighlightChange:ft,onFontSizeChange:pt,onHapticsChange:mt,onSoundsChange:ht,density:t.density,autoCollapseLineThreshold:t.autoCollapseLineThreshold,requireViewAllBeforeSend:t.requireViewAllBeforeSend,showStatusBar:t.showStatusBar??!0,ignoreSpaceChange:t.ignoreSpaceChange??!1,ignoreAllSpace:t.ignoreAllSpace??!1,onDensityChange:vt,onAutoCollapseLineThresholdChange:yt,onRequireViewAllBeforeSendChange:bt,onShowStatusBarChange:xt,onIgnoreSpaceChange:St,onIgnoreAllSpaceChange:Ct,onResolveAllOpen:wt,onOpenUiFontModal:()=>De(!0),onOpenMonoFontModal:()=>ke(!0),onOpenSearch:()=>be(`all`),onCopyComments:O,onCopyMarkdown:k,onSendToAgent:M,agentWaiting:P,waitingAgents:F,sending:N,comments:R,viewedFileCount:Pe.size,onEditComment:T,onDeleteComment:x}),!re&&(0,G.jsx)(`div`,{className:`sidebar-mobile-backdrop`,onClick:kt,"aria-hidden":`true`}),(0,G.jsxs)(`div`,{className:`app-body`,children:[(0,G.jsxs)(`aside`,{ref:he,className:`sidebar ${re?`sidebar-collapsed`:``}`,children:[(0,G.jsx)(`div`,{style:{flex:1,minHeight:0,overflow:`hidden`},children:(0,G.jsx)(Z0,{files:He,activeFile:B,commentCounts:Ve,viewedFiles:Pe,untrackedFiles:Le,onFileClick:Qe,collapsed:re,onToggleCollapse:kt,appliedExtensions:se,onApplyExtensions:$e,chipFilter:H,onChipFilterChange:le,sinceLastFiles:ue,sinceLastAvailable:U})}),!re&&R.length>0&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`ct-resize-handle`,onMouseDown:Ne,role:`separator`,"aria-label":`Resize comments panel`,"aria-orientation":`horizontal`,tabIndex:0}),(0,G.jsx)(`div`,{className:`ct-wrapper`,style:{flexShrink:0},children:(0,G.jsx)(t2,{comments:R,resolveComment:S,unresolveComment:C,removeComment:x,addReply:w,editComment:T,editReply:E,removeReply:D})})]})]}),!re&&(0,G.jsx)(`div`,{className:`sidebar-resize-handle`,onMouseDown:_e,role:`separator`,"aria-label":`Resize sidebar`,"aria-orientation":`vertical`,tabIndex:0}),(0,G.jsxs)(`main`,{className:`main`,ref:Ie,id:`diff-main`,tabIndex:-1,children:[h&&(0,G.jsx)(bW,{overview:h,commits:l?u:void 0}),l&&u.length>1&&(0,G.jsx)(Y2,{commits:u,activeIndex:de,onChange:fe}),te.inMerge&&te.conflicts.length>0&&(0,G.jsxs)(`div`,{className:`merge-conflict-banner`,children:[(0,G.jsx)(`strong`,{children:`Merge in progress`}),(0,G.jsxs)(`span`,{children:[te.conflicts.length,` unresolved file`,te.conflicts.length===1?``:`s`,` below. Use the inline buttons to accept current/incoming/both, then "Save & stage".`]})]}),te.conflicts.map(e=>(0,G.jsx)(NG,{filePath:e,theme:t.theme||`rose-pine`,fontSize:t.fontSize,monoFontFamily:Lt,tabSize:p[e]??t.defaultTabSize,onSaved:()=>{ne()}},e)),(0,G.jsx)(jG,{files:We,diffStyle:t.diffStyle,tabSizeMap:p,defaultTabSize:t.defaultTabSize,viewedFiles:Pe,binaryFiles:Ye,theme:t.theme||`rose-pine`,editorIDE:t.editorIDE,lineDiffType:t.lineDiffType,lineWrap:t.lineWrap,diffIndicators:t.diffIndicators,showLineNumbers:t.showLineNumbers,hunkSeparators:t.hunkSeparators,lineHoverHighlight:t.lineHoverHighlight,fontSize:t.fontSize,monoFontFamily:Lt,expandContextByDefault:t.expandContextByDefault,collapsedContextThreshold:t.collapsedContextThreshold,expansionLineCount:t.expansionLineCount,autoCollapseLineThreshold:t.autoCollapseLineThreshold,onViewedChange:et,fileAnnotationsMap:Ze,onAddComment:b,onDeleteComment:x,onCardToggleCollapse:Nt})]})]}),(0,G.jsx)(O2,{isOpen:ve.open,onClose:xe,initialScope:ve.scope,files:Ue,changedEntries:qe,customMode:c,staged:t.staged,onNavigateFile:Qe,theme:t.theme||`rose-pine`,fontSize:t.fontSize,monoFontFamily:Lt,defaultTabSize:t.defaultTabSize,lineWrap:t.lineWrap,showLineNumbers:t.showLineNumbers,lineHoverHighlight:t.lineHoverHighlight}),(0,G.jsx)(I2,{activeFile:B,onShowHelp:()=>Ce(!0),visible:t.showStatusBar??!0,placeholder:l&&u.length>1?`No active file (J/K files · [ / ] commits)`:void 0}),(0,G.jsx)(L2,{isOpen:Se,onClose:()=>Ce(!1)}),(0,G.jsx)(B2,{open:we,activeTheme:t.theme||`rose-pine`,onThemeChange:at,onClose:()=>Te(!1)}),(0,G.jsx)(U2,{open:Ee,title:`Select UI Font`,defaultLabel:`Default (Geist Mono, from CDN)`,activeFont:t.uiFont,onFontChange:gt,onClose:()=>De(!1)}),(0,G.jsx)(U2,{open:Oe,title:`Select Code Font`,defaultLabel:`Default (JetBrains Mono, from CDN)`,activeFont:t.monoFont,onFontChange:_t,onClose:()=>ke(!1)}),(0,G.jsx)(R2,{activity:A,onDismiss:j,onJump:Qe}),(0,G.jsx)(X2,{})]})})}function e4(e,t){if(t<1)return;let n=e.split(`
3873
- `),r=Math.min(t,n.length);for(let e=r-1;e>=0;e--){let t=/^\s{0,3}(#{1,6})\s+(.*?)\s*#*\s*$/.exec(n[e]);if(t)return t[2].trim()}}function t4(e,t,n){if(t<1)return``;let r=e.split(`
3872
+ `).includes(r)}function K2(e,t){return e.map(e=>{let n=t.get(e.filePath);if(n===void 0)return e;let r=G2(e,n);return e.outdated===r?e:{...e,outdated:r}})}function q2(e){let t=new URLSearchParams(e.startsWith(`?`)?e.slice(1):e),n=t.get(`file`)||void 0,r=t.get(`line`),i=r!=null&&r!==``?Number(r):void 0,a=t.get(`side`),o=a===`additions`||a===`deletions`?a:void 0,s=t.get(`comment`)||void 0;return{file:n,line:i!=null&&Number.isFinite(i)?i:void 0,side:o,comment:s}}function J2(e,t,n){if(t<2)return e;let r=e===null,i=e??0;return n===`next`?r?0:i>=t-1?null:i+1:r?t-1:i<=0?null:i-1}function Y2({commits:e,activeIndex:t,onChange:n}){if(e.length<2)return null;let r=e.length,i=t===null,a=t??0,o=i?null:e[a],s=()=>n(J2(t,r,`prev`)),c=()=>n(J2(t,r,`next`));return(0,G.jsxs)(`div`,{className:`commit-walk-bar`,role:`navigation`,"aria-label":`Walk commits`,children:[(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm commit-walk-btn`,onClick:s,"aria-label":`Previous commit`,title:`Previous commit ([)`,children:(0,G.jsx)(GD,{size:14})}),(0,G.jsxs)(`div`,{className:`commit-walk-center`,children:[(0,G.jsx)(gO,{size:14,"aria-hidden":`true`}),i?(0,G.jsxs)(`span`,{className:`commit-walk-label`,children:[`All `,r,` commits`]}):(0,G.jsxs)(`span`,{className:`commit-walk-label`,title:o?.subject,children:[(0,G.jsxs)(`span`,{className:`commit-walk-count`,children:[a+1,` / `,r]}),(0,G.jsx)(`code`,{className:`commit-walk-sha`,children:o?.shortSha??o?.sha.slice(0,7)}),(0,G.jsx)(`span`,{className:`commit-walk-subject`,children:o?.subject})]})]}),(0,G.jsxs)(`div`,{className:`commit-walk-trailing`,children:[(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm commit-walk-all`,onClick:()=>n(null),disabled:i,title:i?void 0:`Show all commits`,"aria-label":`Show all commits`,children:`Show all`}),(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm commit-walk-btn`,onClick:c,"aria-label":`Next commit`,title:`Next commit (])`,children:(0,G.jsx)(KD,{size:14})})]})]})}function X2(){let[e,t]=(0,W.useState)(null);return(0,W.useEffect)(()=>fE(`agent-progress`,e=>{try{t(JSON.parse(e))}catch{}}),[]),(0,W.useEffect)(()=>{if(!e)return;let n=setTimeout(()=>t(null),1e4);return()=>clearTimeout(n)},[e]),e?(0,G.jsxs)(`div`,{className:`agent-progress-toast`,role:`status`,"aria-live":`polite`,children:[(0,G.jsx)(`div`,{className:`agent-progress-toast-icon`,children:(0,G.jsx)(VD,{size:16})}),(0,G.jsxs)(`div`,{className:`agent-progress-toast-body`,children:[(0,G.jsxs)(`div`,{className:`agent-progress-toast-title`,children:[e.model||e.agentId||`Agent`,e.pct!=null&&(0,G.jsxs)(`span`,{className:`agent-progress-toast-pct`,children:[Math.round(e.pct),`%`]})]}),(0,G.jsx)(`div`,{className:`agent-progress-toast-msg`,children:e.message}),e.pct!=null&&(0,G.jsx)(`div`,{className:`agent-progress-bar`,"aria-hidden":`true`,children:(0,G.jsx)(`div`,{className:`agent-progress-bar-fill`,style:{width:`${e.pct}%`}})})]}),(0,G.jsx)(`button`,{type:`button`,className:`agent-progress-toast-close`,onClick:()=>t(null),"aria-label":`Dismiss`,children:(0,G.jsx)(ck,{size:14})})]}):null}var Z2=[`review-since-last`];function Q2(e=!0){let t=Ve(),n=nt({queryKey:Z2,queryFn:async()=>{let e=await fetch(`/api/review/since-last`);return e.ok?e.json():{hasBaseline:!1,round:0,changed:[],added:[],removed:[],reviewFiles:[]}},enabled:e,staleTime:2e3});(0,W.useEffect)(()=>{if(!e)return;let n=()=>{t.invalidateQueries({queryKey:Z2})},r=fE(`change`,n),i=fE(`agent-status`,n);return()=>{r(),i()}},[e,t]);let r=n.data,i=(0,W.useMemo)(()=>new Set(r?.reviewFiles??[]),[r?.reviewFiles]);return{sinceLast:r??null,reviewSet:i,hasBaseline:!!r?.hasBaseline,loading:n.isLoading,refetch:n.refetch}}function $2(){let e=Am(),{settings:t,loaded:n,updateSettings:r}=IE(),[,i]=(0,W.useTransition)(),{patch:a,repoName:o,branch:s,customMode:c,showMode:l,commits:u,truncated:d,binaryFiles:f,tabSizeMap:p,untrackedFiles:m,overview:h,loading:g,refreshing:_,error:v}=gE({staged:t.staged,untracked:t.untracked},!0),{comments:y,addComment:b,removeComment:x,resolveComment:S,unresolveComment:C,addReply:w,editComment:T,editReply:E,removeReply:D,copyAllComments:O,copyAllCommentsMarkdown:k,agentActivity:A,clearAgentActivity:j,sendToAgent:M,sending:N,agentWaiting:P,waitingAgents:F,resolveAllOpen:I,lastSend:L}=xE(),R=(0,W.useMemo)(()=>{if(!a)return y;let e=new Map;for(let t of y)e.has(t.filePath)||e.set(t.filePath,a);return K2(y,e)},[y,a]),{plans:z}=wE(),ee=(0,W.useMemo)(()=>z.filter(e=>e.decision===`pending`).length,[z]),{status:te,refresh:ne}=ME(a),[B,V]=(0,W.useState)(null),[re,ie]=(0,W.useState)(()=>{try{let e=CD(`diffing-sidebar-collapsed`);if(e!=null)return e===`true`}catch{}return typeof window<`u`&&window.innerWidth<=768}),[ae,oe]=(0,W.useState)(()=>{try{let e=CD(`diffing-sidebar-width`);return e?Number(e):320}catch{return 320}}),[se,ce]=(0,W.useState)(()=>{try{return mD(CD(`diffing-extension-filter`)??``)}catch{return[]}});(0,W.useEffect)(()=>{DD(`diffing-extension-filter`,se.join(`,`))},[se]);let[H,le]=(0,W.useState)(()=>{try{let e=CD(`diffing-chip-filter`);if(e===`unviewed`||e===`has-comments`||e===`all`||e===`since-last`)return e}catch{}return`all`});(0,W.useEffect)(()=>{DD(`diffing-chip-filter`,H)},[H]);let{reviewSet:ue,hasBaseline:U}=Q2(!0);(0,W.useEffect)(()=>{!U&&H===`since-last`&&le(`all`)},[U,H]);let[de,fe]=(0,W.useState)(null);(0,W.useEffect)(()=>{fe(null)},[u]);let pe=(0,W.useRef)(ae);pe.current=ae;let me=(0,W.useRef)(null),he=(0,W.useRef)(null),ge=(0,W.useRef)(null),_e=(0,W.useCallback)(e=>{e.preventDefault();let t=e.clientX,n=pe.current,r=he.current,i=ge.current,a=r?r.getBoundingClientRect().left:0,o=n,s=0,c=()=>{s=0,i&&(i.style.transform=`translateX(${a+o}px)`)};i&&(i.style.transform=`translateX(${a+n}px)`,i.classList.add(`sidebar-resize-guide-active`));let l=e=>{let r=e.clientX-t;o=Math.max(240,Math.min(640,n+r)),s||=requestAnimationFrame(c)},u=()=>{s&&cancelAnimationFrame(s),i&&i.classList.remove(`sidebar-resize-guide-active`),oe(o);try{DD(`diffing-sidebar-width`,String(o))}catch{}document.removeEventListener(`mousemove`,l),document.removeEventListener(`mouseup`,u),document.body.style.cursor=``,document.body.style.userSelect=``};document.addEventListener(`mousemove`,l),document.addEventListener(`mouseup`,u),document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`},[]),[ve,ye]=(0,W.useState)({open:!1,scope:`files`}),be=(0,W.useCallback)(e=>ye({open:!0,scope:e}),[]),xe=(0,W.useCallback)(()=>ye(e=>({...e,open:!1})),[]),[Se,Ce]=(0,W.useState)(!1),[we,Te]=(0,W.useState)(!1),[Ee,De]=(0,W.useState)(!1),[Oe,ke]=(0,W.useState)(!1),[Ae,je]=(0,W.useState)(()=>{try{let e=CD(`diffing-comment-panel-height`);return e?Number(e):220}catch{return 220}}),Me=(0,W.useRef)(Ae);Me.current=Ae;let Ne=(0,W.useCallback)(e=>{e.preventDefault();let t=e.clientY,n=Me.current,r=me.current,i=n,a=0,o=()=>{a=0,r?.style.setProperty(`--comment-panel-height`,`${i}px`)},s=e=>{let r=t-e.clientY;i=Math.max(100,Math.min(600,n+r)),a||=requestAnimationFrame(o)},c=()=>{a&&cancelAnimationFrame(a),je(i);try{DD(`diffing-comment-panel-height`,String(i))}catch{}document.removeEventListener(`mousemove`,s),document.removeEventListener(`mouseup`,c),document.body.style.cursor=``,document.body.style.userSelect=``};document.addEventListener(`mousemove`,s),document.addEventListener(`mouseup`,c),document.body.style.cursor=`row-resize`,document.body.style.userSelect=`none`},[]);(0,W.useEffect)(()=>{try{DD(`diffing-comment-panel-height`,String(Ae))}catch{}},[Ae]);let{viewedFiles:Pe,setViewed:Fe}=VE(),Ie=(0,W.useRef)(null);un([`G`,`S`],()=>be(`symbols`)),un([`G`,`F`],()=>be(`all`)),un([`G`,`V`],()=>be(`files`)),(0,W.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&(e.key===`k`||e.key===`K`)&&(e.preventDefault(),ye(e=>e.open?{...e,open:!1}:{open:!0,scope:`all`}))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]),(0,W.useEffect)(()=>{try{DD(`diffing-sidebar-collapsed`,String(re))}catch{}},[re]);let Le=(0,W.useMemo)(()=>new Set(m),[m]),Re=(0,W.useRef)([]),ze=(0,W.useMemo)(()=>l&&de!=null&&u[de]?.patch?u[de].patch:a,[l,de,u,a]),Be=(0,W.useMemo)(()=>{if(!ze)return[];try{let e=Pg(ze).flatMap(e=>e.files),t=new Set(e.map(e=>e.name));for(let n of f)if(!t.has(n.path)){let t={name:n.path,type:n.type===`added`||n.type===`untracked`?`new`:n.type===`deleted`?`deleted`:`change`,hunks:[],splitLineCount:0,unifiedLineCount:0,isPartial:!0,deletionLines:[],additionLines:[]};e.push(t)}let n=new Set,r=e.filter(e=>n.has(e.name)?!1:(n.add(e.name),!0)).map(e=>{let t=Re.current.find(t=>t.name===e.name);return t&&t.type===e.type&&t.isPartial===e.isPartial&&t.deletionLines.length===e.deletionLines.length&&t.additionLines.length===e.additionLines.length&&JSON.stringify(t.hunks)===JSON.stringify(e.hunks)?t:e});return Re.current=r,r}catch{return[]}},[ze,f]),Ve=(0,W.useMemo)(()=>{let e={};for(let t of R)e[t.filePath]=(e[t.filePath]??0)+1;return e},[R]),He=(0,W.useMemo)(()=>[...Be].sort(AG),[Be]),Ue=(0,W.useMemo)(()=>{let e=Be;return se.length>0&&(e=e.filter(e=>_D(e.name,se))),H===`unviewed`?e=e.filter(e=>!Pe.has(e.name)):H===`has-comments`?e=e.filter(e=>(Ve[e.name]??0)>0):H===`since-last`&&(e=e.filter(e=>ue.has(e.name))),e},[Be,se,H,Pe,Ve,ue]),We=(0,W.useMemo)(()=>[...Ue].sort(AG),[Ue]),Ge=(0,W.useRef)(!1);(0,W.useEffect)(()=>{if(Ge.current||g||We.length===0||typeof window>`u`)return;let e=q2(window.location.search);!e.file&&!e.comment||(Ge.current=!0,e.file&&(V(e.file),e.line!=null&&requestAnimationFrame(()=>{oE(e.file,e.line,e.side??`additions`)})),e.comment&&requestAnimationFrame(()=>{document.getElementById(`comment-${e.comment}`)?.scrollIntoView({behavior:`smooth`,block:`center`})}))},[g,We.length]);let Ke=WE(We),qe=kD(We),Je=(0,W.useMemo)(()=>{let e=0,t=0;for(let n of Ue)e+=n.additionLines.length,t+=n.deletionLines.length;return{additions:e,deletions:t}},[Ue]),Ye=(0,W.useMemo)(()=>{let e=new Map;for(let t of f)e.set(t.path,t);return e},[f]),Xe=(0,W.useRef)(new Map),Ze=(0,W.useMemo)(()=>{let e=new Map,t=new Map;for(let e of R){let n=t.get(e.filePath);n||(n=[],t.set(e.filePath,n)),n.push(e)}for(let[n,r]of t){let t=r.map(e=>({side:e.side,lineNumber:e.lineNumber,metadata:e})),i=Xe.current.get(n);i&&JSON.stringify(i)===JSON.stringify(t)?e.set(n,i):e.set(n,t)}return Xe.current=e,e},[R]),Qe=(0,W.useCallback)(e=>{V(e);let t=document.getElementById(`file-${e}`);t&&t.scrollIntoView({block:`start`})},[]),$e=(0,W.useCallback)(e=>{i(()=>{ce(hD(e))})},[]),et=(0,W.useCallback)((e,t)=>{Fe(e,t),t&&Ke(e)},[Fe,Ke]),tt=(0,W.useCallback)(e=>{i(()=>{r({diffStyle:e})})},[r]),nt=(0,W.useCallback)(e=>{i(()=>{r(e)})},[r]),rt=(0,W.useCallback)(e=>{i(()=>{r({defaultTabSize:e})})},[r]),it=(0,W.useCallback)(e=>{i(()=>{r({browser:e})})},[r]),at=(0,W.useCallback)(e=>{i(()=>{r({theme:e})})},[r]),ot=(0,W.useCallback)(e=>{i(()=>{r({editorIDE:e})})},[r]),st=(0,W.useCallback)(e=>{i(()=>{r({lineDiffType:e})})},[r]),ct=(0,W.useCallback)(e=>{i(()=>{r({lineWrap:e})})},[r]),lt=(0,W.useCallback)(e=>{i(()=>{r({diffIndicators:e})})},[r]),ut=(0,W.useCallback)(e=>{i(()=>{r({showLineNumbers:e})})},[r]),dt=(0,W.useCallback)(e=>{i(()=>{r({hunkSeparators:e})})},[r]),ft=(0,W.useCallback)(e=>{i(()=>{r({lineHoverHighlight:e})})},[r]),pt=(0,W.useCallback)(e=>{i(()=>{r({fontSize:e})})},[r]),mt=(0,W.useCallback)(e=>{r({haptics:e})},[r]),ht=(0,W.useCallback)(e=>{r({sounds:e})},[r]),gt=(0,W.useCallback)(e=>{r({uiFont:e})},[r]),_t=(0,W.useCallback)(e=>{r({monoFont:e})},[r]),vt=(0,W.useCallback)(e=>{r({density:e})},[r]),yt=(0,W.useCallback)(e=>{r({autoCollapseLineThreshold:e})},[r]),bt=(0,W.useCallback)(e=>{r({requireViewAllBeforeSend:e})},[r]),xt=(0,W.useCallback)(e=>{r({showStatusBar:e})},[r]),St=(0,W.useCallback)(e=>{r({ignoreSpaceChange:e})},[r]),Ct=(0,W.useCallback)(e=>{r({ignoreAllSpace:e})},[r]);(0,W.useCallback)(e=>{r({showVimStatusBar:e})},[r]);let wt=(0,W.useCallback)(async()=>{try{let e=await I();dD(`selection`,`toggle`),e.resolved}catch{}},[I,dD]),Tt=(0,W.useCallback)(()=>{ct(!t.lineWrap)},[t.lineWrap,ct]),Et=(0,W.useCallback)(()=>{ut(!t.showLineNumbers)},[t.showLineNumbers,ut]),Dt=(0,W.useCallback)(()=>{let e=[`classic`,`bars`,`none`],n=t.diffIndicators||`classic`,r=e[(e.indexOf(n)+1)%e.length];lt(r)},[t.diffIndicators,lt]),Ot=(0,W.useCallback)(()=>{let e=[`word`,`word-alt`,`char`,`none`],n=t.lineDiffType||`word`,r=e[(e.indexOf(n)+1)%e.length];st(r)},[t.lineDiffType,st]),kt=(0,W.useCallback)(()=>{ie(e=>!e)},[]),At=(0,W.useCallback)(e=>{if(Be.length===0)return;let t=0;if(B){let n=Be.findIndex(e=>e.name===B);n!==-1&&(t=e===`next`?Math.min(n+1,Be.length-1):Math.max(n-1,0))}let n=Be[t].name;V(n);let r=document.getElementById(`file-${n}`);r&&r.scrollIntoView({block:`start`})},[Be,B,V]),jt=(0,W.useCallback)(e=>{!l||u.length<2||fe(t=>J2(t,u.length,e))},[l,u.length]),Mt=(0,W.useCallback)(()=>{if(!B)return;let e=Pe.has(B);Fe(B,!e),e||Ke(B)},[B,Pe,Fe,Ke]),Nt=(0,W.useCallback)((e,t)=>{t&&Ke(e)},[Ke]),K=(0,W.useCallback)(()=>{tt(t.diffStyle===`split`?`unified`:`split`)},[t.diffStyle,tt]),Pt=(0,W.useCallback)(()=>{let e=[2,4,8],n=t.defaultTabSize||4;rt(e[(e.indexOf(n)+1)%e.length])},[t.defaultTabSize,rt]),Ft=(0,W.useCallback)(()=>{kt()},[kt]);(0,W.useEffect)(()=>{let e=``,t,n=0,r=r=>{let i=document.activeElement;if(i){let e=i.tagName.toLowerCase();if(e===`input`||e===`textarea`||i.hasAttribute(`contenteditable`))return}clearTimeout(t);let a=r.key;if((r.metaKey||r.ctrlKey)&&(a===`?`||a===`/`&&r.shiftKey||r.code===`Slash`&&r.shiftKey)){r.preventDefault(),Ce(!0),dD(`medium`,`open`),e=``;return}if(r.ctrlKey){a===`d`?(r.preventDefault(),window.scrollBy({top:window.innerHeight/2,behavior:`auto`}),dD(`selection`,`navigate`),e=``):a===`u`&&(r.preventDefault(),window.scrollBy({top:-window.innerHeight/2,behavior:`auto`}),dD(`selection`,`navigate`),e=``);return}if(!(a.length>1&&a!==`Escape`&&a!==`Enter`))if(e+=a,t=setTimeout(()=>{e=``},800),e===`j`){r.preventDefault(),window.scrollBy({top:100,behavior:`auto`});let t=Date.now();t-n>80&&(lD(`navigate`),n=t),e=``}else if(e===`k`){r.preventDefault(),window.scrollBy({top:-100,behavior:`auto`});let t=Date.now();t-n>80&&(lD(`navigate`),n=t),e=``}else e===`gg`?(r.preventDefault(),window.scrollTo({top:0,behavior:`auto`}),dD(`selection`,`navigate`),e=``):e===`G`?(r.preventDefault(),window.scrollTo({top:document.documentElement.scrollHeight,behavior:`auto`}),dD(`selection`,`navigate`),e=``):e===`J`?(r.preventDefault(),At(`next`),dD(`selection`,`navigate`),e=``):e===`K`?(r.preventDefault(),At(`prev`),dD(`selection`,`navigate`),e=``):e===`]`?(r.preventDefault(),jt(`next`),dD(`selection`,`navigate`),e=``):e===`[`?(r.preventDefault(),jt(`prev`),dD(`selection`,`navigate`),e=``):e===`v`?(r.preventDefault(),Mt(),dD(`selection`,`toggle`),e=``):e===`m`?(r.preventDefault(),K(),dD(`selection`,`toggle`),e=``):e===`t`?(r.preventDefault(),Pt(),dD(`selection`,`toggle`),e=``):e===`b`?(r.preventDefault(),Ft(),dD(`selection`,`toggle`),e=``):e===`w`?(r.preventDefault(),Tt(),dD(`selection`,`toggle`),e=``):e===`n`?(r.preventDefault(),Et(),dD(`selection`,`toggle`),e=``):e===`i`?(r.preventDefault(),Dt(),dD(`selection`,`toggle`),e=``):e===`I`?(r.preventDefault(),Ot(),dD(`selection`,`toggle`),e=``):e===`/`?(r.preventDefault(),be(`text`),dD(`medium`,`open`),e=``):e===`s`?(r.preventDefault(),be(`symbols`),dD(`medium`,`open`),e=``):e===`gv`?(r.preventDefault(),be(`files`),dD(`medium`,`open`),e=``):e===`gt`?(r.preventDefault(),Te(!0),dD(`medium`,`open`),e=``):e===`?`?(r.preventDefault(),Ce(!0),dD(`medium`,`open`),e=``):e.length>=2&&(e=``)};return window.addEventListener(`keydown`,r),()=>{window.removeEventListener(`keydown`,r),clearTimeout(t)}},[Be,B,Pe,t.diffStyle,t.defaultTabSize,At,jt,Mt,K,Pt,Ft,Tt,Et,Dt,Ot,Te]);let It=(0,W.useMemo)(()=>({staged:t.staged,untracked:t.untracked}),[t.staged,t.untracked]);(0,W.useEffect)(()=>{let e=t.theme||`rose-pine`,n=document.documentElement;n.classList.add(`theme-switching`),n.setAttribute(`data-theme`,e),n.setAttribute(`data-density`,t.density||`comfortable`);let r=requestAnimationFrame(()=>{requestAnimationFrame(()=>n.classList.remove(`theme-switching`))});return()=>cancelAnimationFrame(r)},[t.theme,t.density]),LE(n,t.uiFont,t.monoFont);let Lt=(0,W.useMemo)(()=>FE(t.monoFont),[t.monoFont]),Rt=(0,W.useMemo)(()=>nE[t.theme||`rose-pine`]||nE[`rose-pine`],[t.theme]);return(0,W.useEffect)(()=>{e&&e.setRenderOptions({theme:{dark:Rt.type===`dark`?Rt.themeName:`rose-pine`,light:Rt.type===`light`?Rt.themeName:`github-light`}}).catch(e=>{console.error(`Failed to set worker pool render options:`,e)})},[e,Rt]),(0,W.useEffect)(()=>{let e=Rt.type===`dark`?Rt.themeName:`rose-pine`,t=Rt.type===`light`?Rt.themeName:`github-light`;Uf({themes:Array.from(new Set([e,t])),langs:[]}).catch(()=>{})},[Rt]),(0,W.useEffect)(()=>{let e=[o,s].filter(Boolean);return document.title=e.length>0?`${e.join(` · `)} · diffing`:`diffing`,()=>{document.title=`diffing`}},[o,s]),g?(0,G.jsxs)(`div`,{className:`app skeleton-app`,style:{"--sidebar-width":`${ae}px`,"--comment-panel-height":`${Ae}px`},children:[(0,G.jsxs)(`header`,{className:`skeleton-toolbar`,children:[(0,G.jsx)(`div`,{className:`skeleton-item skeleton-logo`}),(0,G.jsx)(`div`,{className:`skeleton-item skeleton-stats`}),(0,G.jsx)(`div`,{className:`skeleton-item skeleton-actions`})]}),(0,G.jsxs)(`div`,{className:`app-body`,children:[(0,G.jsx)(`aside`,{className:`sidebar skeleton-sidebar ${re?`sidebar-collapsed`:``}`,children:!re&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`skeleton-search`}),(0,G.jsx)(`div`,{className:`skeleton-tree-nodes`,children:Array.from({length:8}).map((e,t)=>(0,G.jsxs)(`div`,{className:`skeleton-tree-node`,style:{paddingLeft:`${t%3*16+16}px`},children:[(0,G.jsx)(`div`,{className:`skeleton-node-icon`}),(0,G.jsx)(`div`,{className:`skeleton-node-text`,style:{width:`${60+t*12%60}px`}})]},t))})]})}),!re&&(0,G.jsx)(`div`,{className:`sidebar-resize-handle`,style:{cursor:`default`}}),(0,G.jsx)(`main`,{className:`main skeleton-main`,children:(0,G.jsx)(`div`,{className:`diff-viewer`,children:Array.from({length:3}).map((e,t)=>(0,G.jsxs)(`div`,{className:`file-diff-card skeleton-card`,children:[(0,G.jsxs)(`div`,{className:`skeleton-card-header`,children:[(0,G.jsx)(`div`,{className:`skeleton-card-title`,style:{width:`${120+t*45%150}px`}}),(0,G.jsx)(`div`,{className:`skeleton-card-badge`})]}),(0,G.jsx)(`div`,{className:`skeleton-card-body`,children:Array.from({length:5}).map((e,t)=>(0,G.jsx)(`div`,{className:`skeleton-code-line`,style:{width:`${50+t*15%45}%`}},t))})]},t))})})]})]}):v?(0,G.jsxs)(`div`,{className:`error empty-state`,role:`alert`,children:[(0,G.jsx)(`div`,{className:`empty-state-icon empty-state-icon-danger`,"aria-hidden":`true`,children:(0,G.jsx)(ik,{size:24,strokeWidth:1.75})}),(0,G.jsx)(`p`,{className:`empty-state-title`,children:`Couldn't load the diff`}),(0,G.jsx)(`p`,{className:`empty-state-hint`,children:v})]}):(0,G.jsx)(fD,{enabled:t.haptics??!0,soundsEnabled:t.sounds??!0,children:(0,G.jsxs)(`div`,{className:`app`,ref:me,style:{"--sidebar-width":`${ae}px`,"--comment-panel-height":`${Ae}px`},children:[(0,G.jsx)(`a`,{href:`#diff-main`,className:`skip-to-main`,children:`Skip to diff`}),_&&(0,G.jsx)(`div`,{className:`refresh-bar`,role:`status`,"aria-live":`polite`,"aria-label":`Refreshing diff`}),(0,G.jsx)(`div`,{className:`sidebar-resize-guide`,ref:ge,"aria-hidden":`true`}),(0,G.jsx)(pW,{repoName:o,branch:s,fileCount:Ue.length,totalFileCount:Be.length,additions:Je.additions,deletions:Je.deletions,commentCount:R.length,planCount:z.length,pendingPlanCount:ee,lastSend:L,onOpenPlans:()=>DE(`/plan`),diffStyle:t.diffStyle,diffOptions:It,defaultTabSize:t.defaultTabSize,browser:t.browser,theme:t.theme||`rose-pine`,editorIDE:t.editorIDE,customMode:c,showMode:l,showCommitCount:u.length,lineDiffType:t.lineDiffType,lineWrap:t.lineWrap,diffIndicators:t.diffIndicators,showLineNumbers:t.showLineNumbers,hunkSeparators:t.hunkSeparators,lineHoverHighlight:t.lineHoverHighlight,fontSize:t.fontSize,haptics:t.haptics??!0,sounds:t.sounds??!0,uiFont:t.uiFont,monoFont:t.monoFont,sidebarCollapsed:re,onToggleSidebar:kt,onDiffStyleChange:tt,onDiffOptionsChange:nt,onDefaultTabSizeChange:rt,onBrowserChange:it,onOpenThemeModal:()=>Te(!0),onEditorIDEChange:ot,onLineDiffTypeChange:st,onLineWrapChange:ct,onDiffIndicatorsChange:lt,onShowLineNumbersChange:ut,onHunkSeparatorsChange:dt,onLineHoverHighlightChange:ft,onFontSizeChange:pt,onHapticsChange:mt,onSoundsChange:ht,density:t.density,autoCollapseLineThreshold:t.autoCollapseLineThreshold,requireViewAllBeforeSend:t.requireViewAllBeforeSend,showStatusBar:t.showStatusBar??!0,ignoreSpaceChange:t.ignoreSpaceChange??!1,ignoreAllSpace:t.ignoreAllSpace??!1,onDensityChange:vt,onAutoCollapseLineThresholdChange:yt,onRequireViewAllBeforeSendChange:bt,onShowStatusBarChange:xt,onIgnoreSpaceChange:St,onIgnoreAllSpaceChange:Ct,onResolveAllOpen:wt,onOpenUiFontModal:()=>De(!0),onOpenMonoFontModal:()=>ke(!0),onOpenSearch:()=>be(`all`),onCopyComments:O,onCopyMarkdown:k,onSendToAgent:M,agentWaiting:P,waitingAgents:F,sending:N,comments:R,viewedFileCount:Pe.size,onEditComment:T,onDeleteComment:x}),!re&&(0,G.jsx)(`div`,{className:`sidebar-mobile-backdrop`,onClick:kt,"aria-hidden":`true`}),(0,G.jsxs)(`div`,{className:`app-body`,children:[(0,G.jsxs)(`aside`,{ref:he,className:`sidebar ${re?`sidebar-collapsed`:``}`,children:[(0,G.jsx)(`div`,{style:{flex:1,minHeight:0,overflow:`hidden`},children:(0,G.jsx)(Z0,{files:He,activeFile:B,commentCounts:Ve,viewedFiles:Pe,untrackedFiles:Le,onFileClick:Qe,collapsed:re,onToggleCollapse:kt,appliedExtensions:se,onApplyExtensions:$e,chipFilter:H,onChipFilterChange:le,sinceLastFiles:ue,sinceLastAvailable:U})}),!re&&R.length>0&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`ct-resize-handle`,onMouseDown:Ne,role:`separator`,"aria-label":`Resize comments panel`,"aria-orientation":`horizontal`,tabIndex:0}),(0,G.jsx)(`div`,{className:`ct-wrapper`,style:{flexShrink:0},children:(0,G.jsx)(t2,{comments:R,resolveComment:S,unresolveComment:C,removeComment:x,addReply:w,editComment:T,editReply:E,removeReply:D})})]})]}),!re&&(0,G.jsx)(`div`,{className:`sidebar-resize-handle`,onMouseDown:_e,role:`separator`,"aria-label":`Resize sidebar`,"aria-orientation":`vertical`,tabIndex:0}),(0,G.jsxs)(`main`,{className:`main`,ref:Ie,id:`diff-main`,tabIndex:-1,children:[h&&(0,G.jsx)(bW,{overview:h,commits:l?u:void 0}),l&&u.length>1&&(0,G.jsx)(Y2,{commits:u,activeIndex:de,onChange:fe}),te.inMerge&&te.conflicts.length>0&&(0,G.jsxs)(`div`,{className:`merge-conflict-banner`,children:[(0,G.jsx)(`strong`,{children:`Merge in progress`}),(0,G.jsxs)(`span`,{children:[te.conflicts.length,` unresolved file`,te.conflicts.length===1?``:`s`,` below. Use the inline buttons to accept current/incoming/both, then "Save & stage".`]})]}),te.conflicts.map(e=>(0,G.jsx)(NG,{filePath:e,theme:t.theme||`rose-pine`,fontSize:t.fontSize,monoFontFamily:Lt,tabSize:p[e]??t.defaultTabSize,onSaved:()=>{ne()}},e)),(0,G.jsx)(jG,{files:We,diffStyle:t.diffStyle,tabSizeMap:p,defaultTabSize:t.defaultTabSize,viewedFiles:Pe,binaryFiles:Ye,theme:t.theme||`rose-pine`,editorIDE:t.editorIDE,lineDiffType:t.lineDiffType,lineWrap:t.lineWrap,diffIndicators:t.diffIndicators,showLineNumbers:t.showLineNumbers,hunkSeparators:t.hunkSeparators,lineHoverHighlight:t.lineHoverHighlight,fontSize:t.fontSize,monoFontFamily:Lt,expandContextByDefault:t.expandContextByDefault,collapsedContextThreshold:t.collapsedContextThreshold,expansionLineCount:t.expansionLineCount,autoCollapseLineThreshold:t.autoCollapseLineThreshold,onViewedChange:et,fileAnnotationsMap:Ze,onAddComment:b,onDeleteComment:x,onCardToggleCollapse:Nt})]})]}),(0,G.jsx)(O2,{isOpen:ve.open,onClose:xe,initialScope:ve.scope,files:Ue,changedEntries:qe,customMode:c,staged:t.staged,onNavigateFile:Qe,theme:t.theme||`rose-pine`,fontSize:t.fontSize,monoFontFamily:Lt,defaultTabSize:t.defaultTabSize,lineWrap:t.lineWrap,showLineNumbers:t.showLineNumbers,lineHoverHighlight:t.lineHoverHighlight}),(0,G.jsx)(I2,{activeFile:B,onShowHelp:()=>Ce(!0),visible:t.showStatusBar??!0,placeholder:l&&u.length>1?`No active file (J/K files · [ / ] commits)`:void 0}),(0,G.jsx)(L2,{isOpen:Se,onClose:()=>Ce(!1)}),(0,G.jsx)(B2,{open:we,activeTheme:t.theme||`rose-pine`,onThemeChange:at,onClose:()=>Te(!1)}),(0,G.jsx)(U2,{open:Ee,title:`Select UI Font`,defaultLabel:`Default (Geist Mono, from CDN)`,activeFont:t.uiFont,onFontChange:gt,onClose:()=>De(!1)}),(0,G.jsx)(U2,{open:Oe,title:`Select Code Font`,defaultLabel:`Default (JetBrains Mono, from CDN)`,activeFont:t.monoFont,onFontChange:_t,onClose:()=>ke(!1)}),(0,G.jsx)(R2,{activity:A,onDismiss:j,onJump:Qe}),(0,G.jsx)(X2,{})]})})}function e4(e){(0,W.useEffect)(()=>{let t=``,n,r=0,i=()=>{t=``,clearTimeout(n)},a=a=>{let o=document.activeElement;if(o){let e=o.tagName.toLowerCase();if(e===`input`||e===`textarea`||o.hasAttribute(`contenteditable`))return}if(a.metaKey||a.altKey)return;clearTimeout(n);let s=a.key;if(a.ctrlKey){(s===`d`||s===`u`)&&(a.preventDefault(),window.scrollBy({top:s===`d`?window.innerHeight/2:-window.innerHeight/2,behavior:`auto`}),dD(`selection`,`navigate`),i());return}if(s.length>1&&s!==`Escape`&&s!==`Enter`)return;t+=s,n=setTimeout(()=>{t=``},800);let c=(e,t=`toggle`)=>{a.preventDefault(),e(),dD(t===`open`?`medium`:`selection`,t),i()};if(t===`j`||t===`k`){a.preventDefault(),window.scrollBy({top:t===`j`?100:-100,behavior:`auto`});let e=Date.now();e-r>80&&(lD(`navigate`),r=e),i()}else t===`gg`?c(()=>window.scrollTo({top:0,behavior:`auto`}),`navigate`):t===`G`?c(()=>window.scrollTo({top:document.documentElement.scrollHeight,behavior:`auto`}),`navigate`):t===`J`?c(()=>e.onNavigatePlan(`next`),`navigate`):t===`K`?c(()=>e.onNavigatePlan(`prev`),`navigate`):t===`m`?c(e.onToggleViewMode):t===`z`?c(e.onToggleZenMode):t===`c`?c(e.onToggleCommentsRail):t===`o`?c(e.onToggleOutline):t===`t`?c(e.onCycleTabSize):t===`b`?c(e.onToggleSidebar):t===`w`?c(e.onToggleLineWrap):t===`n`?c(e.onToggleLineNumbers):t===`gt`?c(e.onOpenTheme,`open`):t===`?`?c(e.onOpenShortcuts,`open`):t.length>=2&&i()};return window.addEventListener(`keydown`,a),()=>{window.removeEventListener(`keydown`,a),clearTimeout(n)}},[e])}function t4(e,t){if(t<1)return;let n=e.split(`
3873
+ `),r=Math.min(t,n.length);for(let e=r-1;e>=0;e--){let t=/^\s{0,3}(#{1,6})\s+(.*?)\s*#*\s*$/.exec(n[e]);if(t)return t[2].trim()}}function n4(e,t,n){if(t<1)return``;let r=e.split(`
3874
3874
  `),i=Math.max(1,t),a=Math.min(n,r.length);return a<i?``:r.slice(i-1,a).join(`
3875
- `)}function n4({role:e,size:t=16}){return e===`agent`?(0,G.jsx)(`div`,{className:`comment-avatar-circle comment-avatar-agent`,style:{width:`${t*2}px`,height:`${t*2}px`},children:(0,G.jsx)(VD,{size:t,"aria-hidden":`true`})}):(0,G.jsx)(`div`,{className:`comment-avatar-circle comment-avatar-user`,style:{width:`${t*2}px`,height:`${t*2}px`},children:(0,G.jsx)(sk,{size:t,"aria-hidden":`true`})})}function r4({comment:e,onResolve:t,onUnresolve:n,onDelete:r,onEdit:i,onReply:a,onEditReply:o,onDeleteReply:s}){let[,c]=(0,W.useState)(0),l=e.status===`resolved`,[u,d]=(0,W.useState)(l),[f,p]=(0,W.useState)(!1),[m,h]=(0,W.useState)(!1),[g,_]=(0,W.useState)(!1),[v,y]=(0,W.useState)(null),[b,x]=(0,W.useState)(null),S=(0,G.jsxs)(`div`,{className:`comment-delete-confirm`,style:{display:`flex`,alignItems:`center`,gap:`4px`},children:[(0,G.jsxs)(`button`,{type:`button`,className:`comment-node-btn comment-node-btn-delete`,onClick:()=>{_(!1),r()},title:`Confirm delete`,"aria-label":`Confirm delete comment`,style:{color:`var(--danger)`,background:`var(--feedback-danger-bg)`,fontWeight:600,fontSize:`11px`,border:`1px solid var(--feedback-danger-border)`,padding:`2px 6px`,width:`auto`,height:`auto`,display:`flex`,alignItems:`center`,gap:`2px`},children:[(0,G.jsx)(ik,{size:11}),`Delete?`]}),(0,G.jsx)(`button`,{type:`button`,className:`comment-node-btn`,onClick:()=>_(!1),title:`Cancel delete`,"aria-label":`Cancel delete`,style:{fontSize:`11px`,padding:`2px 6px`,width:`auto`,height:`auto`},children:`Cancel`})]});(0,W.useEffect)(()=>{e.status===`resolved`&&d(!0)},[e.status]),(0,W.useEffect)(()=>{let e=setInterval(()=>c(e=>e+1),3e4);return()=>clearInterval(e)},[]);let C=e.lineNumber===0,w=e.startLineNumber&&e.startLineNumber!==e.lineNumber,T=e.body.replace(/\s+/g,` `).trim().slice(0,72),E=e.replies?.length??0,D=e.lineContent&&e.lineContent.trim()!==e.selectedQuote?.trim()?e.lineContent:``,O=!!(e.selectedQuote||D),k=Math.max(1,(D||e.selectedQuote||``).split(`
3876
- `).filter(e=>e.length>0).length),[A,j]=(0,W.useState)(k<=1),M=(0,G.jsxs)(G.Fragment,{children:[e.sectionTitle&&(0,G.jsxs)(`span`,{className:`plan-comment-section-chip`,title:`Section: ${e.sectionTitle}`,children:[`§\xA0`,e.sectionTitle]}),C?(0,G.jsx)(`span`,{className:`plan-comment-line-chip plan-comment-line-chip-general`,children:`Whole plan`}):(0,G.jsx)(`span`,{className:`plan-comment-line-chip`,children:w?`L${e.startLineNumber}–${e.lineNumber}`:`L${e.lineNumber}`}),e.severity&&e.severity!==`none`&&(0,G.jsx)(`span`,{className:`plan-comment-severity plan-comment-severity-${e.severity}`,children:e.severity})]});return u&&!m?(0,G.jsxs)(`div`,{className:`comment-collapsed-bar ${l?`comment-collapsed-bar-resolved`:``}`,id:`plan-comment-${e.id}`,role:`article`,children:[(0,G.jsx)(`button`,{type:`button`,className:`comment-collapsed-toggle`,onClick:()=>d(!1),"aria-expanded":!1,"aria-label":`Expand comment thread`,title:`Expand`,children:(0,G.jsx)(KD,{size:14,"aria-hidden":`true`})}),(0,G.jsxs)(`div`,{className:`comment-collapsed-main`,children:[l?(0,G.jsx)(YD,{size:14,className:`comment-collapsed-resolved-icon`,"aria-hidden":`true`}):(0,G.jsx)(n4,{role:`user`,size:11}),(0,G.jsx)(`span`,{className:`comment-collapsed-label`,children:l?`Resolved`:`User`}),M,(0,G.jsxs)(`span`,{className:`comment-collapsed-preview`,title:e.body,children:[T,e.body.length>72?`…`:``]}),(0,G.jsx)(`span`,{className:`comment-collapsed-meta`,children:E>0?`${E+1} comments`:`1 comment`})]}),(0,G.jsxs)(`div`,{className:`comment-collapsed-actions`,children:[g?S:(0,G.jsx)(`button`,{type:`button`,className:`comment-node-btn comment-node-btn-delete`,onClick:()=>_(!0),title:`Delete comment`,"aria-label":`Delete comment`,children:(0,G.jsx)(rk,{size:13,"aria-hidden":`true`})}),(0,G.jsx)(`button`,{type:`button`,className:`comment-collapsed-expand-btn`,onClick:()=>d(!1),children:`Expand`})]})]}):(0,G.jsxs)(`div`,{className:`comment-bubble-canvas ${l?`comment-bubble-canvas-resolved`:``}`,id:`plan-comment-${e.id}`,role:`article`,children:[(0,G.jsxs)(`div`,{className:`comment-node ${l?`comment-node-resolved`:``}`,children:[(0,G.jsx)(`div`,{className:`comment-avatar-col`,children:(0,G.jsx)(n4,{role:`user`,size:16})}),(0,G.jsxs)(`div`,{className:`comment-content-col`,children:[(0,G.jsxs)(`div`,{className:`comment-node-header`,children:[(0,G.jsx)(`button`,{type:`button`,className:`comment-collapse-btn`,onClick:()=>d(!0),"aria-expanded":!0,"aria-label":`Collapse comment thread`,title:`Collapse`,children:(0,G.jsx)(WD,{size:14,"aria-hidden":`true`})}),(0,G.jsx)(`span`,{className:`comment-node-author`,children:`User`}),(0,G.jsx)(`span`,{className:`comment-node-badge comment-node-badge-user`,children:`User`}),(0,G.jsxs)(`span`,{className:`comment-node-time`,style:{display:`flex`,alignItems:`center`,gap:`8px`,flexWrap:`wrap`},children:[eE(e.createdAt),M]}),l&&(0,G.jsxs)(`span`,{className:`comment-canvas-resolved-banner`,style:{marginLeft:`8px`},children:[(0,G.jsx)(YD,{size:13}),`Resolved`]}),!m&&(0,G.jsxs)(`div`,{className:`comment-node-actions`,children:[!l&&(0,G.jsx)(`button`,{type:`button`,className:`comment-node-btn`,onClick:()=>h(!0),title:`Edit comment`,"aria-label":`Edit comment`,children:(0,G.jsx)(GO,{size:13,"aria-hidden":`true`})}),g?S:(0,G.jsx)(`button`,{type:`button`,className:`comment-node-btn comment-node-btn-delete`,onClick:()=>_(!0),title:`Delete comment`,"aria-label":`Delete comment`,children:(0,G.jsx)(rk,{size:13,"aria-hidden":`true`})})]})]}),O&&!m&&(0,G.jsxs)(`div`,{className:`comment-context-block`,children:[(0,G.jsxs)(`button`,{type:`button`,className:`comment-context-toggle`,onClick:()=>j(e=>!e),"aria-expanded":A,title:A?`Hide source preview`:`Show source preview`,children:[A?(0,G.jsx)(WD,{size:13,"aria-hidden":`true`}):(0,G.jsx)(KD,{size:13,"aria-hidden":`true`}),(0,G.jsxs)(`span`,{className:`comment-context-toggle-label`,children:[A?`Hide`:`Show`,` source`]}),(0,G.jsxs)(`span`,{className:`comment-context-toggle-meta`,children:[k,` line`,k===1?``:`s`,w?` · L${e.startLineNumber}–${e.lineNumber}`:e.lineNumber>0?` · L${e.lineNumber}`:``]})]}),A&&(0,G.jsxs)(`div`,{className:`plan-comment-context`,title:`Anchored plan context for the agent`,children:[e.selectedQuote&&(0,G.jsxs)(`blockquote`,{className:`plan-comment-quote`,children:[`“`,e.selectedQuote,`”`]}),D?(0,G.jsx)(`pre`,{className:`plan-comment-source`,children:D}):null]})]}),m?(0,G.jsx)(`div`,{style:{marginTop:`8px`},children:(0,G.jsx)(ZW,{draftKey:`plan-edit:${e.id}`,initialBody:e.body,lineContent:e.selectedQuote?`Selected: “${e.selectedQuote}”\nSource:\n${e.lineContent}`:e.lineContent,onSubmit:e=>{i(e),h(!1)},onCancel:()=>h(!1)})}):(0,G.jsx)(gH,{content:e.body,className:`comment-node-body markdown-body ${l?`comment-resolved-line`:``}`})]})]}),e.replies?.length>0&&(0,G.jsx)(`div`,{className:`comment-replies`,role:`list`,"aria-label":`Replies`,children:e.replies.map((t,n)=>{let r=t.role===`agent`,i=b===t.id;return(0,G.jsxs)(`div`,{className:`comment-node ${r?`comment-node-agent`:`comment-node-user`} ${l?`comment-node-resolved`:``}`,role:`listitem`,"aria-label":`${r?`Agent`:`User`} reply ${n+1}`,children:[(0,G.jsx)(`div`,{className:`comment-avatar-col`,children:(0,G.jsx)(n4,{role:r?`agent`:`user`,size:14})}),(0,G.jsxs)(`div`,{className:`comment-content-col`,children:[(0,G.jsxs)(`div`,{className:`comment-node-header`,children:[(0,G.jsx)(`span`,{className:`comment-node-author`,children:r?`Agent`:`User`}),(0,G.jsx)(`span`,{className:`comment-node-badge ${r?`comment-node-badge-agent`:`comment-node-badge-user`}`,children:r?`Agent`:`User`}),r&&t.model&&(0,G.jsx)(`span`,{style:{fontSize:`10px`,fontWeight:600,padding:`1px 5px`,borderRadius:`4px`,background:`var(--bg-tertiary)`,color:`var(--text-secondary)`,fontFamily:`var(--font-mono)`},children:t.model}),(0,G.jsx)(`span`,{className:`comment-node-time`,children:eE(t.createdAt)}),(0,G.jsxs)(`div`,{className:`comment-node-actions`,children:[!l&&(0,G.jsx)(`button`,{type:`button`,className:`comment-node-btn`,onClick:()=>x(t.id),title:`Edit reply`,"aria-label":`Edit reply`,children:(0,G.jsx)(GO,{size:12,"aria-hidden":`true`})}),v===t.id?(0,G.jsxs)(`div`,{className:`comment-delete-confirm`,style:{display:`flex`,alignItems:`center`,gap:`4px`},children:[(0,G.jsxs)(`button`,{type:`button`,className:`comment-node-btn comment-node-btn-delete`,onClick:()=>{y(null),s(t.id)},title:`Confirm delete reply`,"aria-label":`Confirm delete reply`,style:{color:`var(--danger)`,background:`var(--feedback-danger-bg)`,fontWeight:600,fontSize:`11px`,border:`1px solid var(--feedback-danger-border)`,padding:`2px 6px`,width:`auto`,height:`auto`,display:`flex`,alignItems:`center`,gap:`2px`},children:[(0,G.jsx)(ik,{size:11}),`Delete?`]}),(0,G.jsx)(`button`,{type:`button`,className:`comment-node-btn`,onClick:()=>y(null),title:`Cancel delete`,"aria-label":`Cancel delete reply`,style:{fontSize:`11px`,padding:`2px 6px`,width:`auto`,height:`auto`},children:`Cancel`})]}):(0,G.jsx)(`button`,{type:`button`,className:`comment-node-btn comment-node-btn-delete`,onClick:()=>y(t.id),title:`Delete reply`,"aria-label":`Delete reply`,children:(0,G.jsx)(rk,{size:12,"aria-hidden":`true`})})]})]}),i?(0,G.jsx)(`div`,{style:{background:`var(--bg-secondary)`,borderRadius:`var(--radius-md)`,border:`1px solid var(--border-color)`,marginTop:`6px`},children:(0,G.jsx)(ZW,{draftKey:`plan-reply-edit:${e.id}:${t.id}`,initialBody:t.body,onSubmit:e=>{o(t.id,e),x(null)},onCancel:()=>x(null)})}):(0,G.jsx)(gH,{content:t.body,className:`comment-node-body markdown-body`})]})]},t.id)})}),(0,G.jsxs)(`div`,{className:`comment-canvas-footer`,children:[!f&&(0,G.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,alignItems:`center`},children:[(0,G.jsxs)(`button`,{onClick:()=>p(!0),className:`comment-reply-trigger`,style:{width:`100%`,maxWidth:`320px`},children:[(0,G.jsx)(JO,{size:14,"aria-hidden":`true`}),`Reply...`]}),l?(0,G.jsxs)(`div`,{style:{display:`flex`,gap:`6px`,marginLeft:`12px`},children:[(0,G.jsx)(`button`,{className:`btn btn-secondary btn-sm`,onClick:()=>d(!0),style:{fontSize:`12px`,padding:`4px 10px`},children:`Hide`}),(0,G.jsx)(`button`,{className:`btn btn-secondary btn-sm`,onClick:n,style:{fontSize:`12px`,padding:`4px 10px`},children:`Unresolve`})]}):(0,G.jsx)(`button`,{className:`btn btn-secondary btn-sm`,onClick:t,style:{fontSize:`12px`,padding:`4px 10px`,marginLeft:`12px`},children:`Resolve`})]}),f&&(0,G.jsx)(`div`,{style:{background:`var(--bg-secondary)`,borderRadius:`var(--radius-md)`,border:`1px solid var(--border-color)`,marginTop:`4px`},children:(0,G.jsx)(ZW,{draftKey:`plan-reply:${e.id}`,onSubmit:e=>{a(e),p(!1)},onCancel:()=>p(!1)})})]})]})}function i4(e,t){if(!e.length||t<1)return null;let n=null;for(let r of e)if(r.line<=t)n=r;else break;return n}function a4(e){return e.lineNumber<=0?`General`:e.startLineNumber!=null&&e.startLineNumber!==e.lineNumber?`L${Math.min(e.startLineNumber,e.lineNumber)}–L${Math.max(e.startLineNumber,e.lineNumber)}`:`L${e.lineNumber}`}function o4(e,t,n){let r=e.replace(/\r\n/g,`
3875
+ `)}function r4({role:e,size:t=16}){return e===`agent`?(0,G.jsx)(`div`,{className:`comment-avatar-circle comment-avatar-agent`,style:{width:`${t*2}px`,height:`${t*2}px`},children:(0,G.jsx)(VD,{size:t,"aria-hidden":`true`})}):(0,G.jsx)(`div`,{className:`comment-avatar-circle comment-avatar-user`,style:{width:`${t*2}px`,height:`${t*2}px`},children:(0,G.jsx)(sk,{size:t,"aria-hidden":`true`})})}function i4({comment:e,onResolve:t,onUnresolve:n,onDelete:r,onEdit:i,onReply:a,onEditReply:o,onDeleteReply:s}){let[,c]=(0,W.useState)(0),l=e.status===`resolved`,[u,d]=(0,W.useState)(l),[f,p]=(0,W.useState)(!1),[m,h]=(0,W.useState)(!1),[g,_]=(0,W.useState)(!1),[v,y]=(0,W.useState)(null),[b,x]=(0,W.useState)(null),S=(0,G.jsxs)(`div`,{className:`comment-delete-confirm`,style:{display:`flex`,alignItems:`center`,gap:`4px`},children:[(0,G.jsxs)(`button`,{type:`button`,className:`comment-node-btn comment-node-btn-delete`,onClick:()=>{_(!1),r()},title:`Confirm delete`,"aria-label":`Confirm delete comment`,style:{color:`var(--danger)`,background:`var(--feedback-danger-bg)`,fontWeight:600,fontSize:`11px`,border:`1px solid var(--feedback-danger-border)`,padding:`2px 6px`,width:`auto`,height:`auto`,display:`flex`,alignItems:`center`,gap:`2px`},children:[(0,G.jsx)(ik,{size:11}),`Delete?`]}),(0,G.jsx)(`button`,{type:`button`,className:`comment-node-btn`,onClick:()=>_(!1),title:`Cancel delete`,"aria-label":`Cancel delete`,style:{fontSize:`11px`,padding:`2px 6px`,width:`auto`,height:`auto`},children:`Cancel`})]});(0,W.useEffect)(()=>{e.status===`resolved`&&d(!0)},[e.status]),(0,W.useEffect)(()=>{let e=setInterval(()=>c(e=>e+1),3e4);return()=>clearInterval(e)},[]);let C=e.lineNumber===0,w=e.startLineNumber&&e.startLineNumber!==e.lineNumber,T=e.body.replace(/\s+/g,` `).trim().slice(0,72),E=e.replies?.length??0,D=e.lineContent&&e.lineContent.trim()!==e.selectedQuote?.trim()?e.lineContent:``,O=!!(e.selectedQuote||D),k=Math.max(1,(D||e.selectedQuote||``).split(`
3876
+ `).filter(e=>e.length>0).length),[A,j]=(0,W.useState)(k<=1),M=(0,G.jsxs)(G.Fragment,{children:[e.sectionTitle&&(0,G.jsxs)(`span`,{className:`plan-comment-section-chip`,title:`Section: ${e.sectionTitle}`,children:[`§\xA0`,e.sectionTitle]}),C?(0,G.jsx)(`span`,{className:`plan-comment-line-chip plan-comment-line-chip-general`,children:`Whole plan`}):(0,G.jsx)(`span`,{className:`plan-comment-line-chip`,children:w?`L${e.startLineNumber}–${e.lineNumber}`:`L${e.lineNumber}`}),e.severity&&e.severity!==`none`&&(0,G.jsx)(`span`,{className:`plan-comment-severity plan-comment-severity-${e.severity}`,children:e.severity})]});return u&&!m?(0,G.jsxs)(`div`,{className:`comment-collapsed-bar ${l?`comment-collapsed-bar-resolved`:``}`,id:`plan-comment-${e.id}`,role:`article`,children:[(0,G.jsx)(`button`,{type:`button`,className:`comment-collapsed-toggle`,onClick:()=>d(!1),"aria-expanded":!1,"aria-label":`Expand comment thread`,title:`Expand`,children:(0,G.jsx)(KD,{size:14,"aria-hidden":`true`})}),(0,G.jsxs)(`div`,{className:`comment-collapsed-main`,children:[l?(0,G.jsx)(YD,{size:14,className:`comment-collapsed-resolved-icon`,"aria-hidden":`true`}):(0,G.jsx)(r4,{role:`user`,size:11}),(0,G.jsx)(`span`,{className:`comment-collapsed-label`,children:l?`Resolved`:`User`}),M,(0,G.jsxs)(`span`,{className:`comment-collapsed-preview`,title:e.body,children:[T,e.body.length>72?`…`:``]}),(0,G.jsx)(`span`,{className:`comment-collapsed-meta`,children:E>0?`${E+1} comments`:`1 comment`})]}),(0,G.jsxs)(`div`,{className:`comment-collapsed-actions`,children:[g?S:(0,G.jsx)(`button`,{type:`button`,className:`comment-node-btn comment-node-btn-delete`,onClick:()=>_(!0),title:`Delete comment`,"aria-label":`Delete comment`,children:(0,G.jsx)(rk,{size:13,"aria-hidden":`true`})}),(0,G.jsx)(`button`,{type:`button`,className:`comment-collapsed-expand-btn`,onClick:()=>d(!1),children:`Expand`})]})]}):(0,G.jsxs)(`div`,{className:`comment-bubble-canvas ${l?`comment-bubble-canvas-resolved`:``}`,id:`plan-comment-${e.id}`,role:`article`,children:[(0,G.jsxs)(`div`,{className:`comment-node ${l?`comment-node-resolved`:``}`,children:[(0,G.jsx)(`div`,{className:`comment-avatar-col`,children:(0,G.jsx)(r4,{role:`user`,size:16})}),(0,G.jsxs)(`div`,{className:`comment-content-col`,children:[(0,G.jsxs)(`div`,{className:`comment-node-header`,children:[(0,G.jsx)(`button`,{type:`button`,className:`comment-collapse-btn`,onClick:()=>d(!0),"aria-expanded":!0,"aria-label":`Collapse comment thread`,title:`Collapse`,children:(0,G.jsx)(WD,{size:14,"aria-hidden":`true`})}),(0,G.jsx)(`span`,{className:`comment-node-author`,children:`User`}),(0,G.jsx)(`span`,{className:`comment-node-badge comment-node-badge-user`,children:`User`}),(0,G.jsxs)(`span`,{className:`comment-node-time`,style:{display:`flex`,alignItems:`center`,gap:`8px`,flexWrap:`wrap`},children:[eE(e.createdAt),M]}),l&&(0,G.jsxs)(`span`,{className:`comment-canvas-resolved-banner`,style:{marginLeft:`8px`},children:[(0,G.jsx)(YD,{size:13}),`Resolved`]}),!m&&(0,G.jsxs)(`div`,{className:`comment-node-actions`,children:[!l&&(0,G.jsx)(`button`,{type:`button`,className:`comment-node-btn`,onClick:()=>h(!0),title:`Edit comment`,"aria-label":`Edit comment`,children:(0,G.jsx)(GO,{size:13,"aria-hidden":`true`})}),g?S:(0,G.jsx)(`button`,{type:`button`,className:`comment-node-btn comment-node-btn-delete`,onClick:()=>_(!0),title:`Delete comment`,"aria-label":`Delete comment`,children:(0,G.jsx)(rk,{size:13,"aria-hidden":`true`})})]})]}),O&&!m&&(0,G.jsxs)(`div`,{className:`comment-context-block`,children:[(0,G.jsxs)(`button`,{type:`button`,className:`comment-context-toggle`,onClick:()=>j(e=>!e),"aria-expanded":A,title:A?`Hide source preview`:`Show source preview`,children:[A?(0,G.jsx)(WD,{size:13,"aria-hidden":`true`}):(0,G.jsx)(KD,{size:13,"aria-hidden":`true`}),(0,G.jsxs)(`span`,{className:`comment-context-toggle-label`,children:[A?`Hide`:`Show`,` source`]}),(0,G.jsxs)(`span`,{className:`comment-context-toggle-meta`,children:[k,` line`,k===1?``:`s`,w?` · L${e.startLineNumber}–${e.lineNumber}`:e.lineNumber>0?` · L${e.lineNumber}`:``]})]}),A&&(0,G.jsxs)(`div`,{className:`plan-comment-context`,title:`Anchored plan context for the agent`,children:[e.selectedQuote&&(0,G.jsxs)(`blockquote`,{className:`plan-comment-quote`,children:[`“`,e.selectedQuote,`”`]}),D?(0,G.jsx)(`pre`,{className:`plan-comment-source`,children:D}):null]})]}),m?(0,G.jsx)(`div`,{style:{marginTop:`8px`},children:(0,G.jsx)(ZW,{draftKey:`plan-edit:${e.id}`,initialBody:e.body,lineContent:e.selectedQuote?`Selected: “${e.selectedQuote}”\nSource:\n${e.lineContent}`:e.lineContent,onSubmit:e=>{i(e),h(!1)},onCancel:()=>h(!1)})}):(0,G.jsx)(gH,{content:e.body,className:`comment-node-body markdown-body ${l?`comment-resolved-line`:``}`})]})]}),e.replies?.length>0&&(0,G.jsx)(`div`,{className:`comment-replies`,role:`list`,"aria-label":`Replies`,children:e.replies.map((t,n)=>{let r=t.role===`agent`,i=b===t.id;return(0,G.jsxs)(`div`,{className:`comment-node ${r?`comment-node-agent`:`comment-node-user`} ${l?`comment-node-resolved`:``}`,role:`listitem`,"aria-label":`${r?`Agent`:`User`} reply ${n+1}`,children:[(0,G.jsx)(`div`,{className:`comment-avatar-col`,children:(0,G.jsx)(r4,{role:r?`agent`:`user`,size:14})}),(0,G.jsxs)(`div`,{className:`comment-content-col`,children:[(0,G.jsxs)(`div`,{className:`comment-node-header`,children:[(0,G.jsx)(`span`,{className:`comment-node-author`,children:r?`Agent`:`User`}),(0,G.jsx)(`span`,{className:`comment-node-badge ${r?`comment-node-badge-agent`:`comment-node-badge-user`}`,children:r?`Agent`:`User`}),r&&t.model&&(0,G.jsx)(`span`,{style:{fontSize:`10px`,fontWeight:600,padding:`1px 5px`,borderRadius:`4px`,background:`var(--bg-tertiary)`,color:`var(--text-secondary)`,fontFamily:`var(--font-mono)`},children:t.model}),(0,G.jsx)(`span`,{className:`comment-node-time`,children:eE(t.createdAt)}),(0,G.jsxs)(`div`,{className:`comment-node-actions`,children:[!l&&(0,G.jsx)(`button`,{type:`button`,className:`comment-node-btn`,onClick:()=>x(t.id),title:`Edit reply`,"aria-label":`Edit reply`,children:(0,G.jsx)(GO,{size:12,"aria-hidden":`true`})}),v===t.id?(0,G.jsxs)(`div`,{className:`comment-delete-confirm`,style:{display:`flex`,alignItems:`center`,gap:`4px`},children:[(0,G.jsxs)(`button`,{type:`button`,className:`comment-node-btn comment-node-btn-delete`,onClick:()=>{y(null),s(t.id)},title:`Confirm delete reply`,"aria-label":`Confirm delete reply`,style:{color:`var(--danger)`,background:`var(--feedback-danger-bg)`,fontWeight:600,fontSize:`11px`,border:`1px solid var(--feedback-danger-border)`,padding:`2px 6px`,width:`auto`,height:`auto`,display:`flex`,alignItems:`center`,gap:`2px`},children:[(0,G.jsx)(ik,{size:11}),`Delete?`]}),(0,G.jsx)(`button`,{type:`button`,className:`comment-node-btn`,onClick:()=>y(null),title:`Cancel delete`,"aria-label":`Cancel delete reply`,style:{fontSize:`11px`,padding:`2px 6px`,width:`auto`,height:`auto`},children:`Cancel`})]}):(0,G.jsx)(`button`,{type:`button`,className:`comment-node-btn comment-node-btn-delete`,onClick:()=>y(t.id),title:`Delete reply`,"aria-label":`Delete reply`,children:(0,G.jsx)(rk,{size:12,"aria-hidden":`true`})})]})]}),i?(0,G.jsx)(`div`,{style:{background:`var(--bg-secondary)`,borderRadius:`var(--radius-md)`,border:`1px solid var(--border-color)`,marginTop:`6px`},children:(0,G.jsx)(ZW,{draftKey:`plan-reply-edit:${e.id}:${t.id}`,initialBody:t.body,onSubmit:e=>{o(t.id,e),x(null)},onCancel:()=>x(null)})}):(0,G.jsx)(gH,{content:t.body,className:`comment-node-body markdown-body`})]})]},t.id)})}),(0,G.jsxs)(`div`,{className:`comment-canvas-footer`,children:[!f&&(0,G.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,alignItems:`center`},children:[(0,G.jsxs)(`button`,{onClick:()=>p(!0),className:`comment-reply-trigger`,style:{width:`100%`,maxWidth:`320px`},children:[(0,G.jsx)(JO,{size:14,"aria-hidden":`true`}),`Reply...`]}),l?(0,G.jsxs)(`div`,{style:{display:`flex`,gap:`6px`,marginLeft:`12px`},children:[(0,G.jsx)(`button`,{className:`btn btn-secondary btn-sm`,onClick:()=>d(!0),style:{fontSize:`12px`,padding:`4px 10px`},children:`Hide`}),(0,G.jsx)(`button`,{className:`btn btn-secondary btn-sm`,onClick:n,style:{fontSize:`12px`,padding:`4px 10px`},children:`Unresolve`})]}):(0,G.jsx)(`button`,{className:`btn btn-secondary btn-sm`,onClick:t,style:{fontSize:`12px`,padding:`4px 10px`,marginLeft:`12px`},children:`Resolve`})]}),f&&(0,G.jsx)(`div`,{style:{background:`var(--bg-secondary)`,borderRadius:`var(--radius-md)`,border:`1px solid var(--border-color)`,marginTop:`4px`},children:(0,G.jsx)(ZW,{draftKey:`plan-reply:${e.id}`,onSubmit:e=>{a(e),p(!1)},onCancel:()=>p(!1)})})]})]})}function a4(e,t){if(!e.length||t<1)return null;let n=null;for(let r of e)if(r.line<=t)n=r;else break;return n}function o4(e){return e.lineNumber<=0?`General`:e.startLineNumber!=null&&e.startLineNumber!==e.lineNumber?`L${Math.min(e.startLineNumber,e.lineNumber)}–L${Math.max(e.startLineNumber,e.lineNumber)}`:`L${e.lineNumber}`}function s4(e,t,n){let r=e.replace(/\r\n/g,`
3877
3877
  `).split(`
3878
- `),i=Math.max(1,r.length),a=n.filter(e=>e.lineNumber>0),o=[];if(t.length===0)o.push({key:`preamble`,startLine:1,endLine:i});else{t[0].line>1&&o.push({key:`preamble`,startLine:1,endLine:t[0].line-1});for(let e=0;e<t.length;e++){let n=t[e],r=t[e+1];o.push({key:n.id,startLine:n.line,endLine:r?r.line-1:i})}}let s=new Map;for(let e of o)s.set(e.key,[]);for(let e of a){let n=e.lineNumber,r=i4(t,n)?.id??`preamble`;s.has(r)||(r=o.find(e=>n>=e.startLine&&n<=e.endLine)?.key??o[o.length-1].key),s.get(r).push(e)}for(let e of s.values())e.sort((e,t)=>{if(e.status!==t.status)return e.status===`open`?-1:1;let n=e.startLineNumber??e.lineNumber,r=t.startLineNumber??t.lineNumber;return n===r?e.lineNumber-t.lineNumber:n-r});return o.map(e=>{let t=r.slice(e.startLine-1,e.endLine).join(`
3879
- `);return{key:e.key,startLine:e.startLine,endLine:e.endLine,markdown:t,comments:s.get(e.key)??[]}})}function s4({body:e,outline:t,comments:n,onResolve:r,onUnresolve:i,onDelete:a,onEdit:o,onReply:s,onEditReply:c,onDeleteReply:l}){let u=(0,W.useMemo)(()=>n.filter(e=>e.lineNumber>0),[n]),d=(0,W.useMemo)(()=>o4(e,t,u),[e,t,u]);if(d.length===0){let t=Math.max(1,e.replace(/\r\n/g,`
3878
+ `),i=Math.max(1,r.length),a=n.filter(e=>e.lineNumber>0),o=[];if(t.length===0)o.push({key:`preamble`,startLine:1,endLine:i});else{t[0].line>1&&o.push({key:`preamble`,startLine:1,endLine:t[0].line-1});for(let e=0;e<t.length;e++){let n=t[e],r=t[e+1];o.push({key:n.id,startLine:n.line,endLine:r?r.line-1:i})}}let s=new Map;for(let e of o)s.set(e.key,[]);for(let e of a){let n=e.lineNumber,r=a4(t,n)?.id??`preamble`;s.has(r)||(r=o.find(e=>n>=e.startLine&&n<=e.endLine)?.key??o[o.length-1].key),s.get(r).push(e)}for(let e of s.values())e.sort((e,t)=>{if(e.status!==t.status)return e.status===`open`?-1:1;let n=e.startLineNumber??e.lineNumber,r=t.startLineNumber??t.lineNumber;return n===r?e.lineNumber-t.lineNumber:n-r});return o.map(e=>{let t=r.slice(e.startLine-1,e.endLine).join(`
3879
+ `);return{key:e.key,startLine:e.startLine,endLine:e.endLine,markdown:t,comments:s.get(e.key)??[]}})}function c4({body:e,outline:t,comments:n,onResolve:r,onUnresolve:i,onDelete:a,onEdit:o,onReply:s,onEditReply:c,onDeleteReply:l}){let u=(0,W.useMemo)(()=>n.filter(e=>e.lineNumber>0),[n]),d=(0,W.useMemo)(()=>s4(e,t,u),[e,t,u]);if(d.length===0){let t=Math.max(1,e.replace(/\r\n/g,`
3880
3880
  `).split(`
3881
- `).length);return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`plan-read-segment`,"data-plan-segment":`body`,"data-plan-source-start":1,"data-plan-source-end":t,children:(0,G.jsx)(gH,{content:e})}),u.map(e=>(0,G.jsx)(`div`,{className:`plan-read-comment-host`,"data-plan-read-comment-host":e.id,children:(0,G.jsx)(`div`,{className:`plan-read-comment-slot`,children:(0,G.jsx)(r4,{comment:e,onResolve:()=>r(e.id),onUnresolve:()=>i(e.id),onDelete:()=>a(e.id),onEdit:t=>o(e.id,t),onReply:t=>s(e.id,t),onEditReply:(t,n)=>c(e.id,t,n),onDeleteReply:t=>l(e.id,t)})})},e.id))]})}return(0,G.jsx)(G.Fragment,{children:d.map(e=>(0,G.jsxs)(`div`,{className:`plan-read-segment`,"data-plan-segment":e.key,"data-plan-source-start":e.startLine,"data-plan-source-end":e.endLine,children:[e.markdown.trim().length>0&&(0,G.jsx)(gH,{content:e.markdown}),e.comments.map(e=>(0,G.jsx)(`div`,{className:`plan-read-comment-host`,"data-plan-read-comment-host":e.id,children:(0,G.jsx)(`div`,{className:`plan-read-comment-slot`,"data-plan-line":e.lineNumber,"data-plan-line-start":e.startLineNumber!=null&&e.startLineNumber!==e.lineNumber?e.startLineNumber:void 0,children:(0,G.jsx)(r4,{comment:e,onResolve:()=>r(e.id),onUnresolve:()=>i(e.id),onDelete:()=>a(e.id),onEdit:t=>o(e.id,t),onReply:t=>s(e.id,t),onEditReply:(t,n)=>c(e.id,t,n),onDeleteReply:t=>l(e.id,t)})})},e.id))]},e.key))})}var c4=(0,W.memo)(function({isOpen:e,filePath:t,onClose:n}){let{data:r,isLoading:i,error:a}=c2(t),o=t?t.split(`/`).pop():``;return(0,G.jsxs)(LW,{open:e,onClose:n,className:`shortcuts-modal file-preview-modal`,ariaLabel:`File preview`,children:[(0,G.jsxs)(`div`,{className:`shortcuts-header`,children:[(0,G.jsxs)(`div`,{className:`shortcuts-header-title`,children:[(0,G.jsx)(fO,{size:18,className:`shortcuts-icon`}),(0,G.jsxs)(`h2`,{children:[`Preview: `,o]}),(0,G.jsx)(`span`,{style:{fontSize:`11px`,color:`var(--text-muted)`,marginLeft:`8px`},children:t})]}),(0,G.jsx)(`button`,{className:`shortcuts-close-btn`,onClick:n,"aria-label":`Close dialog`,children:(0,G.jsx)(ck,{size:16})})]}),(0,G.jsxs)(`div`,{className:`shortcuts-body`,style:{maxHeight:`60vh`,display:`flex`,flexDirection:`column`},children:[i&&(0,G.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`center`,padding:`40px`,gap:`8px`,color:`var(--text-muted)`},children:[(0,G.jsx)(DO,{size:16,className:`spin`}),(0,G.jsx)(`span`,{children:`Loading file content...`})]}),a&&(0,G.jsxs)(`div`,{style:{padding:`20px`,color:`var(--danger)`,background:`var(--feedback-danger-bg)`,borderRadius:`6px`},children:[`Failed to load file: `,a.message||String(a)]}),r&&(0,G.jsx)(`div`,{style:{flex:1,overflow:`auto`,background:`var(--bg-secondary)`,borderRadius:`6px`,border:`1px solid var(--border-normal)`},children:r.binary?(0,G.jsx)(`div`,{style:{padding:`40px`,textAlign:`center`,color:`var(--text-muted)`},children:`Binary file cannot be previewed.`}):r.missing?(0,G.jsx)(`div`,{style:{padding:`40px`,textAlign:`center`,color:`var(--text-muted)`},children:`File does not exist or has been deleted.`}):(0,G.jsx)(`pre`,{style:{margin:0,padding:`16px`,fontFamily:`var(--font-mono)`,fontSize:`13px`,lineHeight:`1.6`,overflowX:`auto`,whiteSpace:`pre-wrap`,wordBreak:`break-all`},children:(0,G.jsx)(`code`,{children:r.content})})})]}),(0,G.jsx)(`div`,{className:`shortcuts-footer`,style:{justifyContent:`flex-end`},children:(0,G.jsx)(`button`,{className:`btn btn-sm btn-primary`,onClick:n,children:`Close Preview`})})]})});function l4(e){return e.toLowerCase().trim().replace(/[`*_~[\]()#.!?,:'"]/g,``).replace(/[^\w\s-]/g,``).replace(/\s+/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``).slice(0,80)||`section`}function u4(e){let t=e.replace(/\r\n/g,`
3881
+ `).length);return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`plan-read-segment`,"data-plan-segment":`body`,"data-plan-source-start":1,"data-plan-source-end":t,children:(0,G.jsx)(gH,{content:e})}),u.map(e=>(0,G.jsx)(`div`,{className:`plan-read-comment-host`,"data-plan-read-comment-host":e.id,children:(0,G.jsx)(`div`,{className:`plan-read-comment-slot`,children:(0,G.jsx)(i4,{comment:e,onResolve:()=>r(e.id),onUnresolve:()=>i(e.id),onDelete:()=>a(e.id),onEdit:t=>o(e.id,t),onReply:t=>s(e.id,t),onEditReply:(t,n)=>c(e.id,t,n),onDeleteReply:t=>l(e.id,t)})})},e.id))]})}return(0,G.jsx)(G.Fragment,{children:d.map(e=>(0,G.jsxs)(`div`,{className:`plan-read-segment`,"data-plan-segment":e.key,"data-plan-source-start":e.startLine,"data-plan-source-end":e.endLine,children:[e.markdown.trim().length>0&&(0,G.jsx)(gH,{content:e.markdown}),e.comments.map(e=>(0,G.jsx)(`div`,{className:`plan-read-comment-host`,"data-plan-read-comment-host":e.id,children:(0,G.jsx)(`div`,{className:`plan-read-comment-slot`,"data-plan-line":e.lineNumber,"data-plan-line-start":e.startLineNumber!=null&&e.startLineNumber!==e.lineNumber?e.startLineNumber:void 0,children:(0,G.jsx)(i4,{comment:e,onResolve:()=>r(e.id),onUnresolve:()=>i(e.id),onDelete:()=>a(e.id),onEdit:t=>o(e.id,t),onReply:t=>s(e.id,t),onEditReply:(t,n)=>c(e.id,t,n),onDeleteReply:t=>l(e.id,t)})})},e.id))]},e.key))})}var l4=(0,W.memo)(function({isOpen:e,filePath:t,onClose:n}){let{data:r,isLoading:i,error:a}=c2(t),o=t?t.split(`/`).pop():``;return(0,G.jsxs)(LW,{open:e,onClose:n,className:`shortcuts-modal file-preview-modal`,ariaLabel:`File preview`,children:[(0,G.jsxs)(`div`,{className:`shortcuts-header`,children:[(0,G.jsxs)(`div`,{className:`shortcuts-header-title`,children:[(0,G.jsx)(fO,{size:18,className:`shortcuts-icon`}),(0,G.jsxs)(`h2`,{children:[`Preview: `,o]}),(0,G.jsx)(`span`,{style:{fontSize:`11px`,color:`var(--text-muted)`,marginLeft:`8px`},children:t})]}),(0,G.jsx)(`button`,{className:`shortcuts-close-btn`,onClick:n,"aria-label":`Close dialog`,children:(0,G.jsx)(ck,{size:16})})]}),(0,G.jsxs)(`div`,{className:`shortcuts-body`,style:{maxHeight:`60vh`,display:`flex`,flexDirection:`column`},children:[i&&(0,G.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`center`,padding:`40px`,gap:`8px`,color:`var(--text-muted)`},children:[(0,G.jsx)(DO,{size:16,className:`spin`}),(0,G.jsx)(`span`,{children:`Loading file content...`})]}),a&&(0,G.jsxs)(`div`,{style:{padding:`20px`,color:`var(--danger)`,background:`var(--feedback-danger-bg)`,borderRadius:`6px`},children:[`Failed to load file: `,a.message||String(a)]}),r&&(0,G.jsx)(`div`,{style:{flex:1,overflow:`auto`,background:`var(--bg-secondary)`,borderRadius:`6px`,border:`1px solid var(--border-normal)`},children:r.binary?(0,G.jsx)(`div`,{style:{padding:`40px`,textAlign:`center`,color:`var(--text-muted)`},children:`Binary file cannot be previewed.`}):r.missing?(0,G.jsx)(`div`,{style:{padding:`40px`,textAlign:`center`,color:`var(--text-muted)`},children:`File does not exist or has been deleted.`}):(0,G.jsx)(`pre`,{style:{margin:0,padding:`16px`,fontFamily:`var(--font-mono)`,fontSize:`13px`,lineHeight:`1.6`,overflowX:`auto`,whiteSpace:`pre-wrap`,wordBreak:`break-all`},children:(0,G.jsx)(`code`,{children:r.content})})})]}),(0,G.jsx)(`div`,{className:`shortcuts-footer`,style:{justifyContent:`flex-end`},children:(0,G.jsx)(`button`,{className:`btn btn-sm btn-primary`,onClick:n,children:`Close Preview`})})]})});function u4(e){return e.toLowerCase().trim().replace(/[`*_~[\]()#.!?,:'"]/g,``).replace(/[^\w\s-]/g,``).replace(/\s+/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``).slice(0,80)||`section`}function d4(e){let t=e.replace(/\r\n/g,`
3882
3882
  `).split(`
3883
- `),n=[],r=new Map;for(let e=0;e<t.length;e++){let i=/^(#{1,6})\s+(.+?)\s*#*\s*$/.exec(t[e]);if(!i)continue;let a=i[1].length,o=i[2].replace(/\s+#+\s*$/,``).trim();if(!o)continue;let s=l4(o),c=r.get(s)??0;r.set(s,c+1),c>0&&(s=`${s}-${c+1}`),n.push({level:a,text:o,id:s,line:e+1})}return n}function d4(e){return e.replace(/\u00a0/g,` `).replace(/\u200b/g,``).replace(/\r\n/g,`
3883
+ `),n=[],r=new Map;for(let e=0;e<t.length;e++){let i=/^(#{1,6})\s+(.+?)\s*#*\s*$/.exec(t[e]);if(!i)continue;let a=i[1].length,o=i[2].replace(/\s+#+\s*$/,``).trim();if(!o)continue;let s=u4(o),c=r.get(s)??0;r.set(s,c+1),c>0&&(s=`${s}-${c+1}`),n.push({level:a,text:o,id:s,line:e+1})}return n}function f4(e){return e.replace(/\u00a0/g,` `).replace(/\u200b/g,``).replace(/\r\n/g,`
3884
3884
  `).replace(/[ \t]+\n/g,`
3885
- `).trim()}function f4(e,t){if(!e.rangeCount)return!1;try{let n=e.getRangeAt(0);if(t.contains(n.commonAncestorContainer)||e.anchorNode&&t.contains(e.anchorNode)||e.focusNode&&t.contains(e.focusNode))return!0;let r=document.createRange();return r.selectNodeContents(t),n.compareBoundaryPoints(Range.START_TO_END,r)<0&&n.compareBoundaryPoints(Range.END_TO_START,r)>0}catch{return!1}}function p4(e,t){if(!e.rangeCount)return null;try{let n=e.getRangeAt(0).cloneRange();if(t.contains(n.commonAncestorContainer))return n;let r=document.createRange();return r.selectNodeContents(t),t.contains(n.startContainer)||n.setStart(r.startContainer,r.startOffset),t.contains(n.endContainer)||n.setEnd(r.endContainer,r.endOffset),n.collapsed||!t.contains(n.commonAncestorContainer)&&!f4(e,t)?null:n}catch{return null}}function m4(e,t){return t<=0?1:e.slice(0,t).split(`
3886
- `).length}function h4(e,t){let n=d4(t);if(!n)return null;let r=e.replace(/\r\n/g,`
3887
- `),i=r.indexOf(n);if(i!==-1){let e=m4(r,i);return{text:n,startLine:e,endLine:e+n.split(`
3888
- `).length-1}}let a=n.replace(/\s+/g,` `).trim();if(a){let e=r.replace(/\s+/g,` `).indexOf(a);if(e!==-1){let t=g4(r,e);if(t!==-1){let e=m4(r,t),i=e+Math.max(0,n.split(`
3885
+ `).trim()}function p4(e,t){if(!e.rangeCount)return!1;try{let n=e.getRangeAt(0);if(t.contains(n.commonAncestorContainer)||e.anchorNode&&t.contains(e.anchorNode)||e.focusNode&&t.contains(e.focusNode))return!0;let r=document.createRange();return r.selectNodeContents(t),n.compareBoundaryPoints(Range.START_TO_END,r)<0&&n.compareBoundaryPoints(Range.END_TO_START,r)>0}catch{return!1}}function m4(e,t){if(!e.rangeCount)return null;try{let n=e.getRangeAt(0).cloneRange();if(t.contains(n.commonAncestorContainer))return n;let r=document.createRange();return r.selectNodeContents(t),t.contains(n.startContainer)||n.setStart(r.startContainer,r.startOffset),t.contains(n.endContainer)||n.setEnd(r.endContainer,r.endOffset),n.collapsed||!t.contains(n.commonAncestorContainer)&&!p4(e,t)?null:n}catch{return null}}function h4(e,t){return t<=0?1:e.slice(0,t).split(`
3886
+ `).length}function g4(e,t){let n=f4(t);if(!n)return null;let r=e.replace(/\r\n/g,`
3887
+ `),i=r.indexOf(n);if(i!==-1){let e=h4(r,i);return{text:n,startLine:e,endLine:e+n.split(`
3888
+ `).length-1}}let a=n.replace(/\s+/g,` `).trim();if(a){let e=r.replace(/\s+/g,` `).indexOf(a);if(e!==-1){let t=_4(r,e);if(t!==-1){let e=h4(r,t),i=e+Math.max(0,n.split(`
3889
3889
  `).length-1);return{text:n,startLine:e,endLine:Math.min(i,r.split(`
3890
3890
  `).length)}}}}let o=n.split(`
3891
3891
  `).find(e=>e.trim())?.trim()??``;if(o.length>=1){let e=r.split(`
3892
3892
  `);for(let t=0;t<e.length;t++){let r=e[t],i=r.replace(/^\s*([-*+]|\d+\.)\s+/,``).trim();if(r.includes(o)||i.includes(o)||o.includes(i)&&i.length>=2){let r=n.split(`
3893
- `).filter(e=>e.trim()).length||1,i=t+1;return{text:n,startLine:i,endLine:Math.min(e.length,i+r-1)}}}}if(a.replace(/\s+/g,``).length>=3){let e=a.slice(0,Math.min(32,a.length)),t=new RegExp(e.split(``).map(e=>/[.*+?^${}()|[\]\\]/.test(e)?`\\${e}`:e).join(`\\s*`),`i`).exec(r);if(t&&t.index!=null){let e=m4(r,t.index);return{text:n,startLine:e,endLine:e}}}return null}function g4(e,t){let n=0,r=0,i=!1;for(;r<e.length&&n<t;){let t=e[r];/\s/.test(t)?(i||=(n+=1,!0),r+=1):(i=!1,n+=1,r+=1)}for(;r<e.length&&/\s/.test(e[r]);)r+=1;return r<e.length?r:-1}function _4(e){return e?!!e.closest([`.plan-read-comment-host`,`.plan-float-highlights`,`.plan-float-highlight`,`.plan-selection-comment`,`.plan-selection-popup`,`.comment-bubble-canvas`,`.comment-collapsed-bar`,`.plan-toc`,`button`,`textarea`,`input`].join(`,`)):!0}function v4(e){let t=window.scrollX,n=window.scrollY;return Array.from(e.getClientRects()).filter(e=>e.width>0&&e.height>0).map(e=>({top:e.top+n,left:e.left+t,width:e.width,height:e.height}))}function y4(e,t){let n=t.trim();if(!n||n.length<2)return[];let r=[],i=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,{acceptNode(e){let t=e.parentElement;return _4(t)?NodeFilter.FILTER_REJECT:e.textContent?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}}),a;for(;a=i.nextNode();)r.push(a);if(r.length===0)return[];let o=``,s=[];for(let e of r){let t=e.textContent||``;s.push({node:e,start:o.length,end:o.length+t.length}),o+=t}let c=[n,...n.split(`
3893
+ `).filter(e=>e.trim()).length||1,i=t+1;return{text:n,startLine:i,endLine:Math.min(e.length,i+r-1)}}}}if(a.replace(/\s+/g,``).length>=3){let e=a.slice(0,Math.min(32,a.length)),t=new RegExp(e.split(``).map(e=>/[.*+?^${}()|[\]\\]/.test(e)?`\\${e}`:e).join(`\\s*`),`i`).exec(r);if(t&&t.index!=null){let e=h4(r,t.index);return{text:n,startLine:e,endLine:e}}}return null}function _4(e,t){let n=0,r=0,i=!1;for(;r<e.length&&n<t;){let t=e[r];/\s/.test(t)?(i||=(n+=1,!0),r+=1):(i=!1,n+=1,r+=1)}for(;r<e.length&&/\s/.test(e[r]);)r+=1;return r<e.length?r:-1}function v4(e){return e?!!e.closest([`.plan-read-comment-host`,`.plan-float-highlights`,`.plan-float-highlight`,`.plan-selection-comment`,`.plan-selection-popup`,`.comment-bubble-canvas`,`.comment-collapsed-bar`,`.plan-toc`,`button`,`textarea`,`input`].join(`,`)):!0}function y4(e){let t=window.scrollX,n=window.scrollY;return Array.from(e.getClientRects()).filter(e=>e.width>0&&e.height>0).map(e=>({top:e.top+n,left:e.left+t,width:e.width,height:e.height}))}function b4(e,t){let n=t.trim();if(!n||n.length<2)return[];let r=[],i=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,{acceptNode(e){let t=e.parentElement;return v4(t)?NodeFilter.FILTER_REJECT:e.textContent?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}}),a;for(;a=i.nextNode();)r.push(a);if(r.length===0)return[];let o=``,s=[];for(let e of r){let t=e.textContent||``;s.push({node:e,start:o.length,end:o.length+t.length}),o+=t}let c=[n,...n.split(`
3894
3894
  `).map(e=>e.trim()).filter(e=>e.length>=3)],l=-1,u=-1;for(let e of c){let t=o.indexOf(e);if(t>=0){l=t,u=t+e.length;break}}if(l<0){let e=o.replace(/\s+/g,` `),t=n.replace(/\s+/g,` `);if(e.indexOf(t)<0)return[];let r=n.split(`
3895
- `).map(e=>e.trim()).find(e=>e.length>=3);if(!r)return[];let i=o.indexOf(r);if(i<0)return[];l=i,u=i+r.length}let d=s.find(e=>l>=e.start&&l<e.end),f=s.find(e=>u>e.start&&u<=e.end)??s.find(e=>u>e.start&&u-1<e.end);if(!d||!f)return[];try{let e=document.createRange();return e.setStart(d.node,l-d.start),e.setEnd(f.node,Math.min(f.node.textContent.length,u-f.start)),v4(e)}catch{return[]}}var b4={viewMode:`diffing-plan-view-mode`,tocOpen:`diffing-plan-toc-open`,commentsRail:`diffing-plan-comments-rail`,decisionFilter:`diffing-plan-decision-filter`,splitRatio:`diffing-plan-split-ratio`,zenMode:`diffing-plan-zen-mode`};function x4(e,t){try{let t=CD(e);if(t===`true`)return!0;if(t===`false`)return!1}catch{}return t}function S4(e=50){try{let e=CD(b4.splitRatio);if(e!=null&&e!==``){let t=Number(e);if(Number.isFinite(t))return C4(t)}}catch{}return C4(e)}function C4(e){return Math.max(20,Math.min(80,Math.round(e*10)/10))}function w4({open:e,title:t,description:n,detail:r,confirmLabel:i=`Confirm`,cancelLabel:a=`Cancel`,variant:o=`danger`,onConfirm:s,onCancel:c}){return(0,G.jsxs)(LW,{open:e,onClose:c,className:`confirm-dialog`,ariaLabel:t,children:[(0,G.jsxs)(`div`,{className:`confirm-dialog-header`,children:[(0,G.jsx)(`span`,{className:`confirm-dialog-icon confirm-dialog-icon-${o}`,"aria-hidden":`true`,children:(0,G.jsx)(ik,{size:18})}),(0,G.jsx)(`h2`,{className:`confirm-dialog-title`,children:t})]}),n&&(0,G.jsx)(`p`,{className:`confirm-dialog-desc`,children:n}),r?.trim()&&(0,G.jsx)(`blockquote`,{className:`confirm-dialog-detail`,title:r,children:r.trim()}),(0,G.jsxs)(`div`,{className:`confirm-dialog-footer`,children:[(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm confirm-dialog-cancel`,onClick:c,children:a}),(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm confirm-dialog-confirm confirm-dialog-confirm-${o}`,onClick:s,autoFocus:!0,children:i})]})]})}var T4=300,E4=240,D4=12;function O4(e,t,n,r){let i=Math.max(T4,window.innerWidth-D4*2),a=Math.max(E4,window.innerHeight-D4*2),o=Math.min(Math.max(T4,n),i),s=Math.min(Math.max(E4,r),a),c=e,l=t;return c+o>window.innerWidth-D4&&(c=window.innerWidth-D4-o),l+s>window.innerHeight-D4&&(l=window.innerHeight-D4-s),c<D4&&(c=D4),l<D4&&(l=D4),o=Math.min(o,window.innerWidth-D4-c),s=Math.min(s,window.innerHeight-D4-l),o=Math.max(T4,o),s=Math.max(E4,s),{left:c,top:l,width:o,height:s}}function k4(e,t,n=400,r=420){let i=O4(e,t,n,r);return{left:i.left,top:i.top}}function A4(e){let t=window.scrollX,n=window.scrollY;return Array.from(e.getClientRects()).filter(e=>e.width>0&&e.height>0).map(e=>({top:e.top+n,left:e.left+t,width:e.width,height:e.height}))}function j4(e,t){return`plan-float:${e}:${t}`}function M4(e,t){let n=UW(j4(e,t));return!!(n&&n.trim())}function N4({planId:e,composers:t,onChange:n,onSubmit:r,planBody:i,buildSourceContext:a,renderedRootRef:o,layoutEpoch:s}){let c=(0,W.useRef)(null),l=(0,W.useRef)(null),[u,d]=(0,W.useState)(null),f=(0,W.useCallback)((e,t)=>{n(n=>n.map(n=>n.id===e?{...n,...t}:n))},[n]),p=(0,W.useMemo)(()=>{if(!i)return;let e=i.replace(/\r\n/g,`
3895
+ `).map(e=>e.trim()).find(e=>e.length>=3);if(!r)return[];let i=o.indexOf(r);if(i<0)return[];l=i,u=i+r.length}let d=s.find(e=>l>=e.start&&l<e.end),f=s.find(e=>u>e.start&&u<=e.end)??s.find(e=>u>e.start&&u-1<e.end);if(!d||!f)return[];try{let e=document.createRange();return e.setStart(d.node,l-d.start),e.setEnd(f.node,Math.min(f.node.textContent.length,u-f.start)),y4(e)}catch{return[]}}var x4={viewMode:`diffing-plan-view-mode`,tocOpen:`diffing-plan-toc-open`,commentsRail:`diffing-plan-comments-rail`,decisionFilter:`diffing-plan-decision-filter`,splitRatio:`diffing-plan-split-ratio`,zenMode:`diffing-plan-zen-mode`};function S4(e,t){try{let t=CD(e);if(t===`true`)return!0;if(t===`false`)return!1}catch{}return t}function C4(e=50){try{let e=CD(x4.splitRatio);if(e!=null&&e!==``){let t=Number(e);if(Number.isFinite(t))return w4(t)}}catch{}return w4(e)}function w4(e){return Math.max(20,Math.min(80,Math.round(e*10)/10))}function T4({open:e,title:t,description:n,detail:r,confirmLabel:i=`Confirm`,cancelLabel:a=`Cancel`,variant:o=`danger`,onConfirm:s,onCancel:c}){return(0,G.jsxs)(LW,{open:e,onClose:c,className:`confirm-dialog`,ariaLabel:t,children:[(0,G.jsxs)(`div`,{className:`confirm-dialog-header`,children:[(0,G.jsx)(`span`,{className:`confirm-dialog-icon confirm-dialog-icon-${o}`,"aria-hidden":`true`,children:(0,G.jsx)(ik,{size:18})}),(0,G.jsx)(`h2`,{className:`confirm-dialog-title`,children:t})]}),n&&(0,G.jsx)(`p`,{className:`confirm-dialog-desc`,children:n}),r?.trim()&&(0,G.jsx)(`blockquote`,{className:`confirm-dialog-detail`,title:r,children:r.trim()}),(0,G.jsxs)(`div`,{className:`confirm-dialog-footer`,children:[(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm confirm-dialog-cancel`,onClick:c,children:a}),(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm confirm-dialog-confirm confirm-dialog-confirm-${o}`,onClick:s,autoFocus:!0,children:i})]})]})}var E4=300,D4=240,O4=12;function k4(e,t,n,r){let i=Math.max(E4,window.innerWidth-O4*2),a=Math.max(D4,window.innerHeight-O4*2),o=Math.min(Math.max(E4,n),i),s=Math.min(Math.max(D4,r),a),c=e,l=t;return c+o>window.innerWidth-O4&&(c=window.innerWidth-O4-o),l+s>window.innerHeight-O4&&(l=window.innerHeight-O4-s),c<O4&&(c=O4),l<O4&&(l=O4),o=Math.min(o,window.innerWidth-O4-c),s=Math.min(s,window.innerHeight-O4-l),o=Math.max(E4,o),s=Math.max(D4,s),{left:c,top:l,width:o,height:s}}function A4(e,t,n=400,r=420){let i=k4(e,t,n,r);return{left:i.left,top:i.top}}function j4(e){let t=window.scrollX,n=window.scrollY;return Array.from(e.getClientRects()).filter(e=>e.width>0&&e.height>0).map(e=>({top:e.top+n,left:e.left+t,width:e.width,height:e.height}))}function M4(e,t){return`plan-float:${e}:${t}`}function N4(e,t){let n=UW(M4(e,t));return!!(n&&n.trim())}function P4({planId:e,composers:t,onChange:n,onSubmit:r,planBody:i,buildSourceContext:a,renderedRootRef:o,layoutEpoch:s}){let c=(0,W.useRef)(null),l=(0,W.useRef)(null),[u,d]=(0,W.useState)(null),f=(0,W.useCallback)((e,t)=>{n(n=>n.map(n=>n.id===e?{...n,...t}:n))},[n]),p=(0,W.useMemo)(()=>{if(!i)return;let e=i.replace(/\r\n/g,`
3896
3896
  `).split(`
3897
- `).length;return{min:1,max:Math.max(1,e)}},[i]),m=(0,W.useCallback)((e,t,n)=>{if(!i||!p)return;let r=uG({side:`additions`,lineNumber:e.lineNumber,startLineNumber:e.startLineNumber}),o=t===`start`?gG(r,n,p):_G(r,n,p),s=o.startLineNumber??o.lineNumber,c=o.lineNumber,l=t4(i,s,c);f(e.id,{lineNumber:c,startLineNumber:o.startLineNumber,exactLines:l,sourceContext:a?a(s,c):l})},[i,p,a,f]),h=(0,W.useCallback)(t=>{qW(j4(e,t)),n(e=>e.filter(e=>e.id!==t))},[n,e]),g=(0,W.useCallback)(n=>{let r=t.find(e=>e.id===n);if(r){if(M4(e,n)){d({id:n,quote:r.selectedQuote});return}h(n)}},[t,e,h]),_=(0,W.useCallback)(()=>{u&&(h(u.id),d(null))},[u,h]),v=(0,W.useCallback)((e,r)=>{if(r.target.closest(`button, input, textarea, select, a, .plan-float-resize`))return;let i=t.find(t=>t.id===e);if(!i||i.minimized)return;r.preventDefault(),c.current={id:e,startX:r.clientX,startY:r.clientY,origLeft:i.panelPos.left,origTop:i.panelPos.top};let a=t=>{if(!c.current||c.current.id!==e)return;let r=c.current.origLeft+(t.clientX-c.current.startX),i=c.current.origTop+(t.clientY-c.current.startY);n(t=>t.map(t=>{if(t.id!==e)return t;let n=t.panelSize??{width:400,height:420},a=O4(r,i,n.width,n.height);return{...t,panelPos:{left:a.left,top:a.top},panelSize:{width:a.width,height:a.height}}}))},o=()=>{c.current=null,window.removeEventListener(`mousemove`,a),window.removeEventListener(`mouseup`,o)};window.addEventListener(`mousemove`,a),window.addEventListener(`mouseup`,o)},[t,n]),y=(0,W.useCallback)((e,r,i)=>{i.preventDefault(),i.stopPropagation();let a=t.find(t=>t.id===e);if(!a||a.minimized)return;let o=a.panelSize??{width:400,height:420};l.current={id:e,edge:r,startX:i.clientX,startY:i.clientY,origLeft:a.panelPos.left,origTop:a.panelPos.top,origW:o.width,origH:o.height};let s=t=>{let r=l.current;if(!r||r.id!==e)return;let i=t.clientX-r.startX,a=t.clientY-r.startY,o=r.origLeft,s=r.origTop,c=r.origW,u=r.origH;r.edge.includes(`e`)&&(c=r.origW+i),r.edge.includes(`s`)&&(u=r.origH+a),r.edge.includes(`w`)&&(c=r.origW-i,o=r.origLeft+i),r.edge.includes(`n`)&&(u=r.origH-a,s=r.origTop+a),c<T4&&(r.edge.includes(`w`)&&(o=r.origLeft+r.origW-T4),c=T4),u<E4&&(r.edge.includes(`n`)&&(s=r.origTop+r.origH-E4),u=E4);let d=O4(o,s,c,u);n(t=>t.map(t=>t.id===e?{...t,panelPos:{left:d.left,top:d.top},panelSize:{width:d.width,height:d.height}}:t))},c=()=>{l.current=null,window.removeEventListener(`mousemove`,s),window.removeEventListener(`mouseup`,c)};window.addEventListener(`mousemove`,s),window.addEventListener(`mouseup`,c)},[t,n]);if((0,W.useEffect)(()=>{let e=e=>{if(e.key!==`Escape`)return;let n=[...t].reverse().find(e=>!e.minimized);n&&(e.preventDefault(),e.stopPropagation(),g(n.id))};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[t,g]),(0,W.useEffect)(()=>{if(t.length===0)return;let e=()=>{n(e=>e.map(e=>{let t=e.panelSize??{width:400,height:420},n=O4(e.panelPos.left,e.panelPos.top,t.width,t.height);return{...e,panelPos:{left:n.left,top:n.top},panelSize:{width:n.width,height:n.height}}}))};return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[t.length,n]),(0,W.useEffect)(()=>{if(t.length===0)return;let e=o?.current;if(!e)return;let r=0,i=()=>{n(t=>{let n=!1,r=t.map(t=>{let r=(t.selectedQuote||t.exactLines||``).trim();if(!r)return t;let i=y4(e,r);return i.length===0||i.length===t.highlightRects.length&&i.every((e,n)=>{let r=t.highlightRects[n];return r&&Math.abs(r.top-e.top)<.5&&Math.abs(r.left-e.left)<.5&&Math.abs(r.width-e.width)<.5&&Math.abs(r.height-e.height)<.5})?t:(n=!0,{...t,highlightRects:i})});return n?r:t})};return r=requestAnimationFrame(()=>{r=requestAnimationFrame(i)}),()=>cancelAnimationFrame(r)},[s,t.length,o,n]),t.length===0||typeof document>`u`)return null;let b=t.filter(e=>e.minimized),x=t.filter(e=>!e.minimized),S=[`n`,`s`,`e`,`w`,`ne`,`nw`,`se`,`sw`];return(0,aS.createPortal)((0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`plan-float-highlights`,"aria-hidden":`true`,children:t.map(e=>e.highlightRects.map((t,n)=>(0,G.jsx)(`div`,{className:`plan-float-highlight`,style:{top:t.top,left:t.left,width:t.width,height:t.height}},`${e.id}-hl-${n}`)))}),x.map((t,a)=>{let o=t.sectionTitle,s=t.panelSize??{width:400,height:420};return(0,G.jsxs)(`div`,{className:`plan-selection-comment plan-selection-comment-floating`,role:`dialog`,"aria-label":`Add plan comment ${a+1}`,style:{left:t.panelPos.left,top:t.panelPos.top,width:s.width,height:s.height,zIndex:110+a},children:[S.map(e=>(0,G.jsx)(`div`,{className:`plan-float-resize plan-float-resize-${e}`,onMouseDown:n=>y(t.id,e,n),"aria-hidden":`true`},e)),(0,G.jsxs)(`div`,{className:`plan-selection-comment-drag`,onMouseDown:e=>v(t.id,e),title:`Drag to move`,children:[(0,G.jsx)(bO,{size:14,"aria-hidden":`true`}),(0,G.jsxs)(`span`,{className:`plan-selection-comment-meta`,children:[`Commenting on`,` `,t.startLineNumber&&t.startLineNumber!==t.lineNumber?`L${t.startLineNumber}–L${t.lineNumber}`:`L${t.lineNumber}`,o?` · § ${o}`:``]}),(0,G.jsx)(`button`,{type:`button`,className:`plan-selection-comment-close`,"aria-label":`Minimize`,title:`Minimize`,onClick:()=>f(t.id,{minimized:!0}),children:(0,G.jsx)(LO,{size:14})}),(0,G.jsx)(`button`,{type:`button`,className:`plan-selection-comment-close`,"aria-label":`Close comment form`,title:`Close (Esc)`,onClick:()=>g(t.id),children:(0,G.jsx)(ck,{size:14})})]}),(0,G.jsxs)(`div`,{className:`plan-selection-comment-body`,children:[(0,G.jsxs)(`div`,{className:`plan-selection-comment-context`,children:[t.selectedQuote.trim()?(0,G.jsxs)(`blockquote`,{className:`plan-comment-quote`,cite:`L${t.lineNumber}`,children:[`“`,t.selectedQuote.trim(),`”`]}):null,(0,G.jsx)(`pre`,{className:`plan-comment-source`,"aria-label":`Source context for agent`,children:t.sourceContext||t.exactLines||`(no source lines)`})]}),(0,G.jsx)(`div`,{className:`plan-selection-comment-form`,children:(0,G.jsx)(ZW,{draftKey:j4(e,t.id),lineContent:t.exactLines,lineLabel:t.startLineNumber&&t.startLineNumber!==t.lineNumber?`L${t.startLineNumber}–L${t.lineNumber} · source`:`L${t.lineNumber} · source`,showSeverity:!0,range:i&&p?(()=>{let e=uG({side:`additions`,lineNumber:t.lineNumber,startLineNumber:t.startLineNumber}),n=mG(e);return{start:n.start,end:n.end,sideLabel:`source`,canAdjustStart:t=>vG(e,t,p),canAdjustEnd:t=>yG(e,t,p)}})():void 0,onAdjustStart:i?e=>m(t,`start`,e):void 0,onAdjustEnd:i?e=>m(t,`end`,e):void 0,onSubmit:(i,a)=>{r(t,i,a),qW(j4(e,t.id)),n(e=>e.filter(e=>e.id!==t.id))},onCancel:()=>g(t.id)})})]})]},t.id)}),b.length>0&&(0,G.jsx)(`div`,{className:`plan-float-tray`,role:`toolbar`,"aria-label":`Minimized comment drafts`,children:b.map(e=>(0,G.jsxs)(`div`,{className:`plan-float-tray-chip-wrap`,children:[(0,G.jsxs)(`button`,{type:`button`,className:`plan-float-tray-chip`,title:e.selectedQuote,onClick:()=>f(e.id,{minimized:!1}),children:[(0,G.jsx)(MO,{size:12,"aria-hidden":`true`}),(0,G.jsxs)(`span`,{className:`plan-float-tray-line`,children:[`L`,e.startLineNumber&&e.startLineNumber!==e.lineNumber?`${e.startLineNumber}–${e.lineNumber}`:e.lineNumber]}),(0,G.jsxs)(`span`,{className:`plan-float-tray-quote`,children:[e.selectedQuote.slice(0,28),e.selectedQuote.length>28?`…`:``]}),(0,G.jsx)(kO,{size:12,"aria-hidden":`true`})]}),(0,G.jsx)(`button`,{type:`button`,className:`plan-float-tray-close`,"aria-label":`Close draft`,title:`Close`,onClick:()=>g(e.id),children:(0,G.jsx)(ck,{size:12})})]},e.id))}),(0,G.jsx)(w4,{open:!!u,title:`Discard comment draft?`,description:`Unsaved text in this floating comment will be lost.`,detail:u?.quote?`“${u.quote.slice(0,120)}${u.quote.length>120?`…`:``}”`:void 0,confirmLabel:`Discard`,cancelLabel:`Keep editing`,variant:`danger`,onConfirm:_,onCancel:()=>d(null)})]}),document.body)}function P4(e,t){if(!e||t<=0)return 1;let n=Math.min(t,e.length),r=1;for(let t=0;t<n;t++)e.charCodeAt(t)===10&&r++;return r}function F4(e,t){if(!e.length||t<1)return null;for(let n of e)if(t>=n.startLine&&t<=n.endLine)return n;let n=null,r=1/0;for(let i of e){let e=t<i.startLine?i.startLine-t:t>i.endLine?t-i.endLine:0;e<r&&(r=e,n=i)}return n}function I4(e,t){let n=e.endLine-e.startLine;if(n<=0)return 0;let r=(t-e.startLine)/n;return Math.max(0,Math.min(1,r))}function L4(e){if(!e||typeof window>`u`)return null;let t=e.parentElement;for(;t&&t!==document.body&&t!==document.documentElement;){let e=window.getComputedStyle(t).overflowY,n=e===`auto`||e===`scroll`||e===`overlay`;if(n&&t.scrollHeight>t.clientHeight+1||n&&(t.classList.contains(`plan-rendered-layout`)||t.classList.contains(`plan-file`)||t.hasAttribute(`data-plan-scroll-pane`)))return t;t=t.parentElement}return null}function R4(e,t,n,r){let i=e.getBoundingClientRect(),a=t.getBoundingClientRect(),o=Math.max(0,Math.min(1,n)),s=a.top-i.top+e.scrollTop+a.height*o;return Math.max(0,s-r)}function z4(e,t,n,r=48){let i=e.getBoundingClientRect(),a=t.getBoundingClientRect(),o=Math.max(0,Math.min(1,n)),s=a.top+a.height*o;return s>=i.top+r&&s<=i.bottom-r}function B4(e){if(!e)return[];let t=e.querySelectorAll(`[data-plan-source-start]`),n=[];for(let e of t){let t=Number(e.getAttribute(`data-plan-source-start`)),r=Number(e.getAttribute(`data-plan-source-end`)??t);!Number.isFinite(t)||t<1||n.push({startLine:t,endLine:Number.isFinite(r)&&r>=t?r:t,element:e})}return n.sort((e,t)=>e.startLine-t.startLine),n}function V4(e,t,n={}){let{scrollContainer:r=null,onlyIfOutOfView:i=!0,behavior:a=`auto`}=n,o=B4(e);if(!o.length)return!1;let s=F4(o.map(({startLine:e,endLine:t})=>({startLine:e,endLine:t})),t);if(!s)return!1;let c=o.find(e=>e.startLine===s.startLine&&e.endLine===s.endLine);if(!c)return!1;let l=r??L4(c.element)??c.element.closest(`.plan-rendered-layout`);if(!l||l===document.documentElement||l===document.body)return!1;let u=I4(s,t);if(i&&z4(l,c.element,u))return!1;let d=n.anchorY??Math.max(32,Math.round(l.clientHeight*.22)),f=R4(l,c.element,u,d),p=Math.max(0,l.scrollHeight-l.clientHeight),m=Math.max(0,Math.min(p,f));return Math.abs(l.scrollTop-m)<1?!1:(a===`smooth`&&typeof l.scrollTo==`function`?l.scrollTo({top:m,behavior:`smooth`}):l.scrollTop=m,!0)}function H4({value:e,onChange:t,onActiveLineChange:n,fontSize:r,monoFontFamily:i,defaultTabSize:a,lineWrap:o,showLineNumbers:s,ariaLabel:c=`Plan source editor`,className:l}){let u=(0,W.useRef)(null),d=(0,W.useRef)(null),f=(0,W.useRef)(1),p=(0,W.useMemo)(()=>e?e.replace(/\r\n/g,`
3897
+ `).length;return{min:1,max:Math.max(1,e)}},[i]),m=(0,W.useCallback)((e,t,n)=>{if(!i||!p)return;let r=uG({side:`additions`,lineNumber:e.lineNumber,startLineNumber:e.startLineNumber}),o=t===`start`?gG(r,n,p):_G(r,n,p),s=o.startLineNumber??o.lineNumber,c=o.lineNumber,l=n4(i,s,c);f(e.id,{lineNumber:c,startLineNumber:o.startLineNumber,exactLines:l,sourceContext:a?a(s,c):l})},[i,p,a,f]),h=(0,W.useCallback)(t=>{qW(M4(e,t)),n(e=>e.filter(e=>e.id!==t))},[n,e]),g=(0,W.useCallback)(n=>{let r=t.find(e=>e.id===n);if(r){if(N4(e,n)){d({id:n,quote:r.selectedQuote});return}h(n)}},[t,e,h]),_=(0,W.useCallback)(()=>{u&&(h(u.id),d(null))},[u,h]),v=(0,W.useCallback)((e,r)=>{if(r.target.closest(`button, input, textarea, select, a, .plan-float-resize`))return;let i=t.find(t=>t.id===e);if(!i||i.minimized)return;r.preventDefault(),c.current={id:e,startX:r.clientX,startY:r.clientY,origLeft:i.panelPos.left,origTop:i.panelPos.top};let a=t=>{if(!c.current||c.current.id!==e)return;let r=c.current.origLeft+(t.clientX-c.current.startX),i=c.current.origTop+(t.clientY-c.current.startY);n(t=>t.map(t=>{if(t.id!==e)return t;let n=t.panelSize??{width:400,height:420},a=k4(r,i,n.width,n.height);return{...t,panelPos:{left:a.left,top:a.top},panelSize:{width:a.width,height:a.height}}}))},o=()=>{c.current=null,window.removeEventListener(`mousemove`,a),window.removeEventListener(`mouseup`,o)};window.addEventListener(`mousemove`,a),window.addEventListener(`mouseup`,o)},[t,n]),y=(0,W.useCallback)((e,r,i)=>{i.preventDefault(),i.stopPropagation();let a=t.find(t=>t.id===e);if(!a||a.minimized)return;let o=a.panelSize??{width:400,height:420};l.current={id:e,edge:r,startX:i.clientX,startY:i.clientY,origLeft:a.panelPos.left,origTop:a.panelPos.top,origW:o.width,origH:o.height};let s=t=>{let r=l.current;if(!r||r.id!==e)return;let i=t.clientX-r.startX,a=t.clientY-r.startY,o=r.origLeft,s=r.origTop,c=r.origW,u=r.origH;r.edge.includes(`e`)&&(c=r.origW+i),r.edge.includes(`s`)&&(u=r.origH+a),r.edge.includes(`w`)&&(c=r.origW-i,o=r.origLeft+i),r.edge.includes(`n`)&&(u=r.origH-a,s=r.origTop+a),c<E4&&(r.edge.includes(`w`)&&(o=r.origLeft+r.origW-E4),c=E4),u<D4&&(r.edge.includes(`n`)&&(s=r.origTop+r.origH-D4),u=D4);let d=k4(o,s,c,u);n(t=>t.map(t=>t.id===e?{...t,panelPos:{left:d.left,top:d.top},panelSize:{width:d.width,height:d.height}}:t))},c=()=>{l.current=null,window.removeEventListener(`mousemove`,s),window.removeEventListener(`mouseup`,c)};window.addEventListener(`mousemove`,s),window.addEventListener(`mouseup`,c)},[t,n]);if((0,W.useEffect)(()=>{let e=e=>{if(e.key!==`Escape`)return;let n=[...t].reverse().find(e=>!e.minimized);n&&(e.preventDefault(),e.stopPropagation(),g(n.id))};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[t,g]),(0,W.useEffect)(()=>{if(t.length===0)return;let e=()=>{n(e=>e.map(e=>{let t=e.panelSize??{width:400,height:420},n=k4(e.panelPos.left,e.panelPos.top,t.width,t.height);return{...e,panelPos:{left:n.left,top:n.top},panelSize:{width:n.width,height:n.height}}}))};return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[t.length,n]),(0,W.useEffect)(()=>{if(t.length===0)return;let e=o?.current;if(!e)return;let r=0,i=()=>{n(t=>{let n=!1,r=t.map(t=>{let r=(t.selectedQuote||t.exactLines||``).trim();if(!r)return t;let i=b4(e,r);return i.length===0||i.length===t.highlightRects.length&&i.every((e,n)=>{let r=t.highlightRects[n];return r&&Math.abs(r.top-e.top)<.5&&Math.abs(r.left-e.left)<.5&&Math.abs(r.width-e.width)<.5&&Math.abs(r.height-e.height)<.5})?t:(n=!0,{...t,highlightRects:i})});return n?r:t})};return r=requestAnimationFrame(()=>{r=requestAnimationFrame(i)}),()=>cancelAnimationFrame(r)},[s,t.length,o,n]),t.length===0||typeof document>`u`)return null;let b=t.filter(e=>e.minimized),x=t.filter(e=>!e.minimized),S=[`n`,`s`,`e`,`w`,`ne`,`nw`,`se`,`sw`];return(0,aS.createPortal)((0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`plan-float-highlights`,"aria-hidden":`true`,children:t.map(e=>e.highlightRects.map((t,n)=>(0,G.jsx)(`div`,{className:`plan-float-highlight`,style:{top:t.top,left:t.left,width:t.width,height:t.height}},`${e.id}-hl-${n}`)))}),x.map((t,a)=>{let o=t.sectionTitle,s=t.panelSize??{width:400,height:420};return(0,G.jsxs)(`div`,{className:`plan-selection-comment plan-selection-comment-floating`,role:`dialog`,"aria-label":`Add plan comment ${a+1}`,style:{left:t.panelPos.left,top:t.panelPos.top,width:s.width,height:s.height,zIndex:110+a},children:[S.map(e=>(0,G.jsx)(`div`,{className:`plan-float-resize plan-float-resize-${e}`,onMouseDown:n=>y(t.id,e,n),"aria-hidden":`true`},e)),(0,G.jsxs)(`div`,{className:`plan-selection-comment-drag`,onMouseDown:e=>v(t.id,e),title:`Drag to move`,children:[(0,G.jsx)(bO,{size:14,"aria-hidden":`true`}),(0,G.jsxs)(`span`,{className:`plan-selection-comment-meta`,children:[`Commenting on`,` `,t.startLineNumber&&t.startLineNumber!==t.lineNumber?`L${t.startLineNumber}–L${t.lineNumber}`:`L${t.lineNumber}`,o?` · § ${o}`:``]}),(0,G.jsx)(`button`,{type:`button`,className:`plan-selection-comment-close`,"aria-label":`Minimize`,title:`Minimize`,onClick:()=>f(t.id,{minimized:!0}),children:(0,G.jsx)(LO,{size:14})}),(0,G.jsx)(`button`,{type:`button`,className:`plan-selection-comment-close`,"aria-label":`Close comment form`,title:`Close (Esc)`,onClick:()=>g(t.id),children:(0,G.jsx)(ck,{size:14})})]}),(0,G.jsxs)(`div`,{className:`plan-selection-comment-body`,children:[(0,G.jsxs)(`div`,{className:`plan-selection-comment-context`,children:[t.selectedQuote.trim()?(0,G.jsxs)(`blockquote`,{className:`plan-comment-quote`,cite:`L${t.lineNumber}`,children:[`“`,t.selectedQuote.trim(),`”`]}):null,(0,G.jsx)(`pre`,{className:`plan-comment-source`,"aria-label":`Source context for agent`,children:t.sourceContext||t.exactLines||`(no source lines)`})]}),(0,G.jsx)(`div`,{className:`plan-selection-comment-form`,children:(0,G.jsx)(ZW,{draftKey:M4(e,t.id),lineContent:t.exactLines,lineLabel:t.startLineNumber&&t.startLineNumber!==t.lineNumber?`L${t.startLineNumber}–L${t.lineNumber} · source`:`L${t.lineNumber} · source`,showSeverity:!0,range:i&&p?(()=>{let e=uG({side:`additions`,lineNumber:t.lineNumber,startLineNumber:t.startLineNumber}),n=mG(e);return{start:n.start,end:n.end,sideLabel:`source`,canAdjustStart:t=>vG(e,t,p),canAdjustEnd:t=>yG(e,t,p)}})():void 0,onAdjustStart:i?e=>m(t,`start`,e):void 0,onAdjustEnd:i?e=>m(t,`end`,e):void 0,onSubmit:(i,a)=>{r(t,i,a),qW(M4(e,t.id)),n(e=>e.filter(e=>e.id!==t.id))},onCancel:()=>g(t.id)})})]})]},t.id)}),b.length>0&&(0,G.jsx)(`div`,{className:`plan-float-tray`,role:`toolbar`,"aria-label":`Minimized comment drafts`,children:b.map(e=>(0,G.jsxs)(`div`,{className:`plan-float-tray-chip-wrap`,children:[(0,G.jsxs)(`button`,{type:`button`,className:`plan-float-tray-chip`,title:e.selectedQuote,onClick:()=>f(e.id,{minimized:!1}),children:[(0,G.jsx)(MO,{size:12,"aria-hidden":`true`}),(0,G.jsxs)(`span`,{className:`plan-float-tray-line`,children:[`L`,e.startLineNumber&&e.startLineNumber!==e.lineNumber?`${e.startLineNumber}–${e.lineNumber}`:e.lineNumber]}),(0,G.jsxs)(`span`,{className:`plan-float-tray-quote`,children:[e.selectedQuote.slice(0,28),e.selectedQuote.length>28?`…`:``]}),(0,G.jsx)(kO,{size:12,"aria-hidden":`true`})]}),(0,G.jsx)(`button`,{type:`button`,className:`plan-float-tray-close`,"aria-label":`Close draft`,title:`Close`,onClick:()=>g(e.id),children:(0,G.jsx)(ck,{size:12})})]},e.id))}),(0,G.jsx)(T4,{open:!!u,title:`Discard comment draft?`,description:`Unsaved text in this floating comment will be lost.`,detail:u?.quote?`“${u.quote.slice(0,120)}${u.quote.length>120?`…`:``}”`:void 0,confirmLabel:`Discard`,cancelLabel:`Keep editing`,variant:`danger`,onConfirm:_,onCancel:()=>d(null)})]}),document.body)}function F4(e,t){if(!e||t<=0)return 1;let n=Math.min(t,e.length),r=1;for(let t=0;t<n;t++)e.charCodeAt(t)===10&&r++;return r}function I4(e,t){if(!e.length||t<1)return null;for(let n of e)if(t>=n.startLine&&t<=n.endLine)return n;let n=null,r=1/0;for(let i of e){let e=t<i.startLine?i.startLine-t:t>i.endLine?t-i.endLine:0;e<r&&(r=e,n=i)}return n}function L4(e,t){let n=e.endLine-e.startLine;if(n<=0)return 0;let r=(t-e.startLine)/n;return Math.max(0,Math.min(1,r))}function R4(e){if(!e||typeof window>`u`)return null;let t=e.parentElement;for(;t&&t!==document.body&&t!==document.documentElement;){let e=window.getComputedStyle(t).overflowY,n=e===`auto`||e===`scroll`||e===`overlay`;if(n&&t.scrollHeight>t.clientHeight+1||n&&(t.classList.contains(`plan-rendered-layout`)||t.classList.contains(`plan-file`)||t.hasAttribute(`data-plan-scroll-pane`)))return t;t=t.parentElement}return null}function z4(e,t,n,r){let i=e.getBoundingClientRect(),a=t.getBoundingClientRect(),o=Math.max(0,Math.min(1,n)),s=a.top-i.top+e.scrollTop+a.height*o;return Math.max(0,s-r)}function B4(e,t,n,r=48){let i=e.getBoundingClientRect(),a=t.getBoundingClientRect(),o=Math.max(0,Math.min(1,n)),s=a.top+a.height*o;return s>=i.top+r&&s<=i.bottom-r}function V4(e){if(!e)return[];let t=e.querySelectorAll(`[data-plan-source-start]`),n=[];for(let e of t){let t=Number(e.getAttribute(`data-plan-source-start`)),r=Number(e.getAttribute(`data-plan-source-end`)??t);!Number.isFinite(t)||t<1||n.push({startLine:t,endLine:Number.isFinite(r)&&r>=t?r:t,element:e})}return n.sort((e,t)=>e.startLine-t.startLine),n}function H4(e,t,n={}){let{scrollContainer:r=null,onlyIfOutOfView:i=!0,behavior:a=`auto`}=n,o=V4(e);if(!o.length)return!1;let s=I4(o.map(({startLine:e,endLine:t})=>({startLine:e,endLine:t})),t);if(!s)return!1;let c=o.find(e=>e.startLine===s.startLine&&e.endLine===s.endLine);if(!c)return!1;let l=r??R4(c.element)??c.element.closest(`.plan-rendered-layout`);if(!l||l===document.documentElement||l===document.body)return!1;let u=L4(s,t);if(i&&B4(l,c.element,u))return!1;let d=n.anchorY??Math.max(32,Math.round(l.clientHeight*.22)),f=z4(l,c.element,u,d),p=Math.max(0,l.scrollHeight-l.clientHeight),m=Math.max(0,Math.min(p,f));return Math.abs(l.scrollTop-m)<1?!1:(a===`smooth`&&typeof l.scrollTo==`function`?l.scrollTo({top:m,behavior:`smooth`}):l.scrollTop=m,!0)}function U4({value:e,onChange:t,onActiveLineChange:n,fontSize:r,monoFontFamily:i,defaultTabSize:a,lineWrap:o,showLineNumbers:s,ariaLabel:c=`Plan source editor`,className:l}){let u=(0,W.useRef)(null),d=(0,W.useRef)(null),f=(0,W.useRef)(1),p=(0,W.useMemo)(()=>e?e.replace(/\r\n/g,`
3898
3898
  `).split(`
3899
- `).length:1,[e]),m=(0,W.useMemo)(()=>{let e=Math.max(1,p),t=``;for(let n=1;n<=e;n++)t+=n===e?String(n):`${n}\n`;return t},[p]),h=(0,W.useCallback)(()=>{let e=u.current;if(!e||!n)return;let t=P4(e.value,e.selectionStart??0);t!==f.current&&(f.current=t,n(t))},[n]),g=(0,W.useCallback)(()=>{let e=u.current,t=d.current;!e||!t||(t.scrollTop=e.scrollTop)},[]);(0,W.useEffect)(()=>{h()},[e,h]);let _=e=>{t(e.target.value),requestAnimationFrame(h)},v=n=>{if(n.key!==`Tab`||n.metaKey||n.ctrlKey||n.altKey)return;n.preventDefault();let r=n.currentTarget,i=r.selectionStart,a=r.selectionEnd;t(e.slice(0,i)+` `+e.slice(a)),requestAnimationFrame(()=>{if(!u.current)return;let e=i+1;u.current.selectionStart=e,u.current.selectionEnd=e,h()})},y=Math.round(r*1.7),b=Math.max(2.5,String(p).length+1.25);return(0,G.jsxs)(`div`,{className:[`plan-source-editor`,l].filter(Boolean).join(` `),style:{"--plan-editor-font-size":`${r}px`,"--plan-editor-font-family":i,"--plan-editor-line-height":`${y}px`,"--plan-editor-tab-size":String(a),"--plan-editor-gutter-ch":`${b}ch`},children:[s&&(0,G.jsx)(`div`,{ref:d,className:`plan-source-editor-gutter`,"aria-hidden":`true`,children:(0,G.jsx)(`pre`,{className:`plan-source-editor-gutter-text`,children:m})}),(0,G.jsx)(`textarea`,{ref:u,className:`plan-source-editor-textarea ${o?`is-wrap`:`is-scroll`}`,value:e,onChange:_,onKeyDown:v,onKeyUp:h,onClick:h,onSelect:h,onScroll:g,spellCheck:!1,autoCapitalize:`off`,autoCorrect:`off`,"aria-label":c,wrap:o?`soft`:`off`})]})}function U4({open:e,canDiscardRecent:t,canRollbackOriginal:n,onChoose:r,onCancel:i,busy:a=!1}){let o=t&&n,s=t&&!n,c=n&&!t;return(0,G.jsxs)(LW,{open:e,onClose:i,className:`confirm-dialog plan-discard-dialog`,ariaLabel:`Discard plan edits`,children:[(0,G.jsxs)(`div`,{className:`confirm-dialog-header`,children:[(0,G.jsx)(`span`,{className:`confirm-dialog-icon confirm-dialog-icon-danger`,"aria-hidden":`true`,children:(0,G.jsx)(ik,{size:18})}),(0,G.jsx)(`h2`,{className:`confirm-dialog-title`,children:o?`Discard which edits?`:c?`Roll back to original?`:`Discard edits?`})]}),o?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`p`,{className:`confirm-dialog-desc`,children:`You have edits from this session, and earlier changes already saved on this version. Choose how far to roll back. This cannot be undone.`}),(0,G.jsxs)(`div`,{className:`plan-discard-choices`,role:`group`,"aria-label":`Discard options`,children:[(0,G.jsxs)(`button`,{type:`button`,className:`plan-discard-choice`,disabled:a,onClick:()=>r(`recent`),autoFocus:!0,children:[(0,G.jsx)(`span`,{className:`plan-discard-choice-icon`,"aria-hidden":`true`,children:(0,G.jsx)(YO,{size:16})}),(0,G.jsxs)(`span`,{className:`plan-discard-choice-text`,children:[(0,G.jsx)(`span`,{className:`plan-discard-choice-title`,children:`Discard recent edits`}),(0,G.jsx)(`span`,{className:`plan-discard-choice-desc`,children:`Restore to when you started this edit session. Keeps earlier saved edits.`})]})]}),(0,G.jsxs)(`button`,{type:`button`,className:`plan-discard-choice plan-discard-choice-danger`,disabled:a,onClick:()=>r(`original`),children:[(0,G.jsx)(`span`,{className:`plan-discard-choice-icon`,"aria-hidden":`true`,children:(0,G.jsx)(xO,{size:16})}),(0,G.jsxs)(`span`,{className:`plan-discard-choice-text`,children:[(0,G.jsx)(`span`,{className:`plan-discard-choice-title`,children:`Roll back to original`}),(0,G.jsx)(`span`,{className:`plan-discard-choice-desc`,children:`Restore the plan to before you started editing this version at all.`})]})]})]})]}):c?(0,G.jsx)(`p`,{className:`confirm-dialog-desc`,children:`Earlier edits from a previous session were saved into this version. Roll back to the plan as it was before you started editing? This cannot be undone.`}):(0,G.jsx)(`p`,{className:`confirm-dialog-desc`,children:`Restore the plan body and title to when you started this edit session. This undoes unsaved changes and any autosaves from this session. This cannot be undone.`}),(0,G.jsxs)(`div`,{className:`confirm-dialog-footer plan-discard-footer`,children:[(0,G.jsxs)(`button`,{type:`button`,className:`btn btn-sm confirm-dialog-cancel`,onClick:i,disabled:a,children:[(0,G.jsx)(ck,{size:13,"aria-hidden":`true`}),`Keep editing`]}),!o&&(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm confirm-dialog-confirm confirm-dialog-confirm-danger`,onClick:()=>r(c?`original`:`recent`),disabled:a||!s&&!c,autoFocus:!0,children:c?`Roll back to original`:`Discard all edits`})]})]})}var W4=700;function G4(e){return uG({side:`additions`,lineNumber:e.lineNumber,startLineNumber:e.startLineNumber})}function K4(e){let t=uG(e);return t.startLineNumber!=null&&t.startLineNumber!==t.lineNumber?{lineNumber:t.lineNumber,startLineNumber:t.startLineNumber}:{lineNumber:t.lineNumber}}var q4={pending:{label:`Pending review`,className:`plan-badge-pending`,icon:rO},approved:{label:`Approved`,className:`plan-badge-approved`,icon:UD},"changes-requested":{label:`Changes requested`,className:`plan-badge-changes`,icon:NO},rejected:{label:`Rejected`,className:`plan-badge-rejected`,icon:ck},"comment-only":{label:`Comment only`,className:`plan-badge-comment-only`,icon:PO}};function J4({plan:e,theme:t,fontSize:n,monoFontFamily:r,defaultTabSize:i,lineWrap:a,showLineNumbers:o,lineHoverHighlight:s,viewMode:c,onViewModeChange:l,editorIDE:u,tocOpen:d,onTocOpenChange:f,commentsRailOpen:p,onCommentsRailOpenChange:m,zenMode:h,onZenModeChange:g}){let{addPlanComment:_,editPlanComment:v,resolvePlanComment:y,unresolvePlanComment:b,removePlanComment:x,addPlanReply:S,editPlanReply:C,removePlanReply:w,updatePlan:T,submitPlanVersion:E,submittingPlanVersion:D}=wE(),[O,k]=(0,W.useState)(null),A=(0,W.useRef)(null),[j,M]=(0,W.useState)([]),[N,P]=(0,W.useState)(null),[F,I]=(0,W.useState)(0),[L,R]=(0,W.useState)(null),[z,ee]=(0,W.useState)(null),[te,ne]=(0,W.useState)(()=>x4(b4.tocOpen,!0)),[B,V]=(0,W.useState)(()=>x4(b4.commentsRail,!0)),re=d??te,ie=p??B,ae=(0,W.useCallback)(e=>{let t=typeof e==`function`?e(re):e;f?f(t):(ne(t),DD(b4.tocOpen,String(t)))},[re,f]),oe=(0,W.useCallback)(e=>{let t=typeof e==`function`?e(ie):e;m?m(t):(V(t),DD(b4.commentsRail,String(t)))},[ie,m]),[se,ce]=(0,W.useState)(!1),[H,le]=(0,W.useState)(!1),[ue,U]=(0,W.useState)(e.body),[de,fe]=(0,W.useState)(e.title),[pe,me]=(0,W.useState)(`idle`),[he,ge]=(0,W.useState)(null),[_e,ve]=(0,W.useState)(null),[ye,be]=(0,W.useState)(!1),[xe,Se]=(0,W.useState)(!1),[Ce,we]=(0,W.useState)(!1),[Te,Ee]=(0,W.useState)(!1),[De,Oe]=(0,W.useState)(1),ke=(0,W.useRef)(null),Ae=(0,W.useRef)({body:e.body,title:e.title,version:e.version}),[je,Me]=(0,W.useState)({body:e.body,title:e.title}),[Ne,Pe]=(0,W.useState)(null),Fe=(0,W.useRef)(async()=>{}),[Ie,Le]=(0,W.useState)(null),Re=(0,W.useRef)(null),ze=(0,W.useRef)(null),Be=(0,W.useRef)(null),Ve=(0,W.useRef)(50),[He,Ue]=(0,W.useState)(()=>S4(50)),[We,Ge]=(0,W.useState)(!1),[Ke,qe]=(0,W.useState)(()=>x4(b4.zenMode,!1)),Je=h??Ke;Ve.current=He;let Ye=c===`source`||c===`split`,Xe=c===`rendered`||c===`split`,Ze=Ye&&Xe,Qe=c===`rendered`,$e=Qe&&Je,et=(0,W.useCallback)(e=>{let t=typeof e==`function`?e(Je):e;g?g(t):(qe(t),DD(b4.zenMode,String(t)))},[Je,g]),tt=e.versions??[],[nt,rt]=(0,W.useState)(e.version),[it,at]=(0,W.useState)(e.body),[ot,st]=(0,W.useState)(e.title),ct=(0,W.useRef)(`${e.id}:${e.version}`);(0,W.useEffect)(()=>{let t=`${e.id}:${e.version}`;ct.current!==t&&(ct.current=t,Pe(null),Ee(!1))},[e.id,e.version]);let lt=(0,W.useRef)(e.version);(0,W.useEffect)(()=>{if(e.version===lt.current)return;let t=lt.current;lt.current=e.version;let n=nt===t,r=H&&(ue!==Ae.current.body||de!==Ae.current.title);if(H&&r){ve(e.version);return}H&&!r&&(U(e.body),fe(e.title),Ae.current={body:e.body,title:e.title,version:e.version},Me({body:e.body,title:e.title}),Pe(null),me(`idle`),ve(null)),n&&rt(e.version)},[e.version,e.body,e.title,nt,H,ue,de]),(0,W.useEffect)(()=>{let t=!1;if(H&&nt===e.version)return;if(nt===e.version){at(e.body),st(e.title);return}let n=tt.find(e=>e.version===nt);if(n){at(n.body),st(n.title);return}return fetch(`/api/plans/${e.id}/versions/${nt}`).then(e=>e.ok?e.json():null).then(e=>{t||!e?.version||(at(e.version.body),st(e.version.title))}).catch(()=>{}),()=>{t=!0}},[nt,e.version,e.body,e.title,e.id,tt,H]),(0,W.useEffect)(()=>{P(null),I(0),k(null),M([])},[nt]);let ut=nt!==e.version,dt=!ut,ft=H&&dt?ue:it,pt=H&&dt?de:ot,mt=H&&(ue!==Ae.current.body||de!==Ae.current.title),ht=H&&(ue!==je.body||de!==je.title||e.body!==je.body||e.title!==je.title),gt=H&&!!Ne&&(ue!==Ne.body||de!==Ne.title||e.body!==Ne.body||e.title!==Ne.title),_t=!!Ne&&(Ne.body!==je.body||Ne.title!==je.title),vt=_t&&ht&&gt,yt=ht||gt,bt=(0,W.useMemo)(()=>tt.map(t=>({value:String(t.version),label:t.version===e.version?`v${t.version} (current)`:`v${t.version}`})),[tt,e.version]),xt=e=>{let t=e.target.closest(`a`);if(t){let n=t.getAttribute(`href`);n&&n.startsWith(`file:///`)&&(e.preventDefault(),R(n.replace(`file://`,``)))}},St=nE[t]||nE[`rose-pine`],Ct=(0,W.useMemo)(()=>Y4(i,n,r),[i,n,r]),wt=e.comments??[],Tt=ut?wt.filter(e=>e.createdAtPlanVersion===nt):wt,Et=Tt.filter(e=>e.lineNumber>0),Dt=Tt.filter(e=>e.lineNumber===0),Ot=Tt.filter(e=>e.status===`open`).length,kt=wt.length,At=(e,t)=>t4(ft,e??t,t),jt=(0,W.useCallback)(e=>{let t=K4(G4(e));A.current||=crypto.randomUUID(),k(t),P(hG(G4(t))),I(0)},[]),Mt=(0,W.useCallback)(()=>{k(null),P(null),I(0),A.current=null},[]),Nt=(0,W.useMemo)(()=>{let e=ft.replace(/\r\n/g,`
3899
+ `).length:1,[e]),m=(0,W.useMemo)(()=>{let e=Math.max(1,p),t=``;for(let n=1;n<=e;n++)t+=n===e?String(n):`${n}\n`;return t},[p]),h=(0,W.useCallback)(()=>{let e=u.current;if(!e||!n)return;let t=F4(e.value,e.selectionStart??0);t!==f.current&&(f.current=t,n(t))},[n]),g=(0,W.useCallback)(()=>{let e=u.current,t=d.current;!e||!t||(t.scrollTop=e.scrollTop)},[]);(0,W.useEffect)(()=>{h()},[e,h]);let _=e=>{t(e.target.value),requestAnimationFrame(h)},v=n=>{if(n.key!==`Tab`||n.metaKey||n.ctrlKey||n.altKey)return;n.preventDefault();let r=n.currentTarget,i=r.selectionStart,a=r.selectionEnd;t(e.slice(0,i)+` `+e.slice(a)),requestAnimationFrame(()=>{if(!u.current)return;let e=i+1;u.current.selectionStart=e,u.current.selectionEnd=e,h()})},y=Math.round(r*1.7),b=Math.max(2.5,String(p).length+1.25);return(0,G.jsxs)(`div`,{className:[`plan-source-editor`,l].filter(Boolean).join(` `),style:{"--plan-editor-font-size":`${r}px`,"--plan-editor-font-family":i,"--plan-editor-line-height":`${y}px`,"--plan-editor-tab-size":String(a),"--plan-editor-gutter-ch":`${b}ch`},children:[s&&(0,G.jsx)(`div`,{ref:d,className:`plan-source-editor-gutter`,"aria-hidden":`true`,children:(0,G.jsx)(`pre`,{className:`plan-source-editor-gutter-text`,children:m})}),(0,G.jsx)(`textarea`,{ref:u,className:`plan-source-editor-textarea ${o?`is-wrap`:`is-scroll`}`,value:e,onChange:_,onKeyDown:v,onKeyUp:h,onClick:h,onSelect:h,onScroll:g,spellCheck:!1,autoCapitalize:`off`,autoCorrect:`off`,"aria-label":c,wrap:o?`soft`:`off`})]})}function W4({open:e,canDiscardRecent:t,canRollbackOriginal:n,onChoose:r,onCancel:i,busy:a=!1}){let o=t&&n,s=t&&!n,c=n&&!t;return(0,G.jsxs)(LW,{open:e,onClose:i,className:`confirm-dialog plan-discard-dialog`,ariaLabel:`Discard plan edits`,children:[(0,G.jsxs)(`div`,{className:`confirm-dialog-header`,children:[(0,G.jsx)(`span`,{className:`confirm-dialog-icon confirm-dialog-icon-danger`,"aria-hidden":`true`,children:(0,G.jsx)(ik,{size:18})}),(0,G.jsx)(`h2`,{className:`confirm-dialog-title`,children:o?`Discard which edits?`:c?`Roll back to original?`:`Discard edits?`})]}),o?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`p`,{className:`confirm-dialog-desc`,children:`You have edits from this session, and earlier changes already saved on this version. Choose how far to roll back. This cannot be undone.`}),(0,G.jsxs)(`div`,{className:`plan-discard-choices`,role:`group`,"aria-label":`Discard options`,children:[(0,G.jsxs)(`button`,{type:`button`,className:`plan-discard-choice`,disabled:a,onClick:()=>r(`recent`),autoFocus:!0,children:[(0,G.jsx)(`span`,{className:`plan-discard-choice-icon`,"aria-hidden":`true`,children:(0,G.jsx)(YO,{size:16})}),(0,G.jsxs)(`span`,{className:`plan-discard-choice-text`,children:[(0,G.jsx)(`span`,{className:`plan-discard-choice-title`,children:`Discard recent edits`}),(0,G.jsx)(`span`,{className:`plan-discard-choice-desc`,children:`Restore to when you started this edit session. Keeps earlier saved edits.`})]})]}),(0,G.jsxs)(`button`,{type:`button`,className:`plan-discard-choice plan-discard-choice-danger`,disabled:a,onClick:()=>r(`original`),children:[(0,G.jsx)(`span`,{className:`plan-discard-choice-icon`,"aria-hidden":`true`,children:(0,G.jsx)(xO,{size:16})}),(0,G.jsxs)(`span`,{className:`plan-discard-choice-text`,children:[(0,G.jsx)(`span`,{className:`plan-discard-choice-title`,children:`Roll back to original`}),(0,G.jsx)(`span`,{className:`plan-discard-choice-desc`,children:`Restore the plan to before you started editing this version at all.`})]})]})]})]}):c?(0,G.jsx)(`p`,{className:`confirm-dialog-desc`,children:`Earlier edits from a previous session were saved into this version. Roll back to the plan as it was before you started editing? This cannot be undone.`}):(0,G.jsx)(`p`,{className:`confirm-dialog-desc`,children:`Restore the plan body and title to when you started this edit session. This undoes unsaved changes and any autosaves from this session. This cannot be undone.`}),(0,G.jsxs)(`div`,{className:`confirm-dialog-footer plan-discard-footer`,children:[(0,G.jsxs)(`button`,{type:`button`,className:`btn btn-sm confirm-dialog-cancel`,onClick:i,disabled:a,children:[(0,G.jsx)(ck,{size:13,"aria-hidden":`true`}),`Keep editing`]}),!o&&(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm confirm-dialog-confirm confirm-dialog-confirm-danger`,onClick:()=>r(c?`original`:`recent`),disabled:a||!s&&!c,autoFocus:!0,children:c?`Roll back to original`:`Discard all edits`})]})]})}var G4=700;function K4(e){return uG({side:`additions`,lineNumber:e.lineNumber,startLineNumber:e.startLineNumber})}function q4(e){let t=uG(e);return t.startLineNumber!=null&&t.startLineNumber!==t.lineNumber?{lineNumber:t.lineNumber,startLineNumber:t.startLineNumber}:{lineNumber:t.lineNumber}}var J4={pending:{label:`Pending review`,className:`plan-badge-pending`,icon:rO},approved:{label:`Approved`,className:`plan-badge-approved`,icon:UD},"changes-requested":{label:`Changes requested`,className:`plan-badge-changes`,icon:NO},rejected:{label:`Rejected`,className:`plan-badge-rejected`,icon:ck},"comment-only":{label:`Comment only`,className:`plan-badge-comment-only`,icon:PO}};function Y4({plan:e,theme:t,fontSize:n,monoFontFamily:r,defaultTabSize:i,lineWrap:a,showLineNumbers:o,lineHoverHighlight:s,viewMode:c,onViewModeChange:l,editorIDE:u,tocOpen:d,onTocOpenChange:f,commentsRailOpen:p,onCommentsRailOpenChange:m,zenMode:h,onZenModeChange:g}){let{addPlanComment:_,editPlanComment:v,resolvePlanComment:y,unresolvePlanComment:b,removePlanComment:x,addPlanReply:S,editPlanReply:C,removePlanReply:w,updatePlan:T,submitPlanVersion:E,submittingPlanVersion:D}=wE(),[O,k]=(0,W.useState)(null),A=(0,W.useRef)(null),[j,M]=(0,W.useState)([]),[N,P]=(0,W.useState)(null),[F,I]=(0,W.useState)(0),[L,R]=(0,W.useState)(null),[z,ee]=(0,W.useState)(null),[te,ne]=(0,W.useState)(()=>S4(x4.tocOpen,!0)),[B,V]=(0,W.useState)(()=>S4(x4.commentsRail,!0)),re=d??te,ie=p??B,ae=(0,W.useCallback)(e=>{let t=typeof e==`function`?e(re):e;f?f(t):(ne(t),DD(x4.tocOpen,String(t)))},[re,f]),oe=(0,W.useCallback)(e=>{let t=typeof e==`function`?e(ie):e;m?m(t):(V(t),DD(x4.commentsRail,String(t)))},[ie,m]),[se,ce]=(0,W.useState)(!1),[H,le]=(0,W.useState)(!1),[ue,U]=(0,W.useState)(e.body),[de,fe]=(0,W.useState)(e.title),[pe,me]=(0,W.useState)(`idle`),[he,ge]=(0,W.useState)(null),[_e,ve]=(0,W.useState)(null),[ye,be]=(0,W.useState)(!1),[xe,Se]=(0,W.useState)(!1),[Ce,we]=(0,W.useState)(!1),[Te,Ee]=(0,W.useState)(!1),[De,Oe]=(0,W.useState)(1),ke=(0,W.useRef)(null),Ae=(0,W.useRef)({body:e.body,title:e.title,version:e.version}),[je,Me]=(0,W.useState)({body:e.body,title:e.title}),[Ne,Pe]=(0,W.useState)(null),Fe=(0,W.useRef)(async()=>{}),[Ie,Le]=(0,W.useState)(null),Re=(0,W.useRef)(null),ze=(0,W.useRef)(null),Be=(0,W.useRef)(null),Ve=(0,W.useRef)(50),[He,Ue]=(0,W.useState)(()=>C4(50)),[We,Ge]=(0,W.useState)(!1),[Ke,qe]=(0,W.useState)(()=>S4(x4.zenMode,!1)),Je=h??Ke;Ve.current=He;let Ye=c===`source`||c===`split`,Xe=c===`rendered`||c===`split`,Ze=Ye&&Xe,Qe=c===`rendered`,$e=Qe&&Je,et=(0,W.useCallback)(e=>{let t=typeof e==`function`?e(Je):e;g?g(t):(qe(t),DD(x4.zenMode,String(t)))},[Je,g]),tt=e.versions??[],[nt,rt]=(0,W.useState)(e.version),[it,at]=(0,W.useState)(e.body),[ot,st]=(0,W.useState)(e.title),ct=(0,W.useRef)(`${e.id}:${e.version}`);(0,W.useEffect)(()=>{let t=`${e.id}:${e.version}`;ct.current!==t&&(ct.current=t,Pe(null),Ee(!1))},[e.id,e.version]);let lt=(0,W.useRef)(e.version);(0,W.useEffect)(()=>{if(e.version===lt.current)return;let t=lt.current;lt.current=e.version;let n=nt===t,r=H&&(ue!==Ae.current.body||de!==Ae.current.title);if(H&&r){ve(e.version);return}H&&!r&&(U(e.body),fe(e.title),Ae.current={body:e.body,title:e.title,version:e.version},Me({body:e.body,title:e.title}),Pe(null),me(`idle`),ve(null)),n&&rt(e.version)},[e.version,e.body,e.title,nt,H,ue,de]),(0,W.useEffect)(()=>{let t=!1;if(H&&nt===e.version)return;if(nt===e.version){at(e.body),st(e.title);return}let n=tt.find(e=>e.version===nt);if(n){at(n.body),st(n.title);return}return fetch(`/api/plans/${e.id}/versions/${nt}`).then(e=>e.ok?e.json():null).then(e=>{t||!e?.version||(at(e.version.body),st(e.version.title))}).catch(()=>{}),()=>{t=!0}},[nt,e.version,e.body,e.title,e.id,tt,H]),(0,W.useEffect)(()=>{P(null),I(0),k(null),M([])},[nt]);let ut=nt!==e.version,dt=!ut,ft=H&&dt?ue:it,pt=H&&dt?de:ot,mt=H&&(ue!==Ae.current.body||de!==Ae.current.title),ht=H&&(ue!==je.body||de!==je.title||e.body!==je.body||e.title!==je.title),gt=H&&!!Ne&&(ue!==Ne.body||de!==Ne.title||e.body!==Ne.body||e.title!==Ne.title),_t=!!Ne&&(Ne.body!==je.body||Ne.title!==je.title),vt=_t&&ht&&gt,yt=ht||gt,bt=(0,W.useMemo)(()=>tt.map(t=>({value:String(t.version),label:t.version===e.version?`v${t.version} (current)`:`v${t.version}`})),[tt,e.version]),xt=e=>{let t=e.target.closest(`a`);if(t){let n=t.getAttribute(`href`);n&&n.startsWith(`file:///`)&&(e.preventDefault(),R(n.replace(`file://`,``)))}},St=nE[t]||nE[`rose-pine`],Ct=(0,W.useMemo)(()=>X4(i,n,r),[i,n,r]),wt=e.comments??[],Tt=ut?wt.filter(e=>e.createdAtPlanVersion===nt):wt,Et=Tt.filter(e=>e.lineNumber>0),Dt=Tt.filter(e=>e.lineNumber===0),Ot=Tt.filter(e=>e.status===`open`).length,kt=wt.length,At=(e,t)=>n4(ft,e??t,t),jt=(0,W.useCallback)(e=>{let t=q4(K4(e));A.current||=crypto.randomUUID(),k(t),P(hG(K4(t))),I(0)},[]),Mt=(0,W.useCallback)(()=>{k(null),P(null),I(0),A.current=null},[]),Nt=(0,W.useMemo)(()=>{let e=ft.replace(/\r\n/g,`
3900
3900
  `).split(`
3901
- `).length;return{min:1,max:Math.max(1,e)}},[ft]),K=(t,n,r)=>{let i=t.startLineNumber??t.lineNumber,a=At(t.startLineNumber,t.lineNumber);_({planId:e.id,lineNumber:t.lineNumber,startLineNumber:t.startLineNumber,lineContent:a,sectionTitle:e4(ft,i),body:n,severity:r&&r!==`none`?r:void 0,createdAtPlanVersion:nt}),Mt()},Pt=(0,W.useCallback)((e,t)=>{let n=t4(ft,e,t),r=ft.replace(/\r\n/g,`
3901
+ `).length;return{min:1,max:Math.max(1,e)}},[ft]),K=(t,n,r)=>{let i=t.startLineNumber??t.lineNumber,a=At(t.startLineNumber,t.lineNumber);_({planId:e.id,lineNumber:t.lineNumber,startLineNumber:t.startLineNumber,lineContent:a,sectionTitle:t4(ft,i),body:n,severity:r&&r!==`none`?r:void 0,createdAtPlanVersion:nt}),Mt()},Pt=(0,W.useCallback)((e,t)=>{let n=n4(ft,e,t),r=ft.replace(/\r\n/g,`
3902
3902
  `).split(`
3903
3903
  `),i=Math.max(1,e-1),a=Math.min(r.length,t+1);if(i===e&&a===t)return n;let o=[];for(let n=i;n<=a;n++){let i=n>=e&&n<=t?`▶`:` `;o.push(`${i} L${n}| ${r[n-1]??``}`)}return o.join(`
3904
- `)},[ft]),Ft=(0,W.useCallback)((t,n,r)=>{let i=t.startLineNumber??t.lineNumber;_({planId:e.id,lineNumber:t.lineNumber,startLineNumber:t.startLineNumber,lineContent:t.sourceContext||t.exactLines,selectedQuote:t.selectedQuote.trim()||void 0,sectionTitle:t.sectionTitle??e4(ft,i),body:n,severity:r&&r!==`none`?r:void 0,createdAtPlanVersion:nt})},[_,e.id,ft,nt]),It=(0,W.useMemo)(()=>{let e=Et.map(e=>({lineNumber:e.lineNumber,metadata:e}));return O&&e.push({lineNumber:O.lineNumber,metadata:{_pending:!0}}),e},[Et,O]),Lt=t=>{let n=t.metadata;if(!n)return null;if(`_pending`in n){let t=O,n=G4(t),r=mG(n),i=A.current??`open`;return(0,G.jsx)(ZW,{draftKey:`plan-new:${e.id}:${i}`,lineContent:At(t.startLineNumber,t.lineNumber),lineLabel:pG(n),showSeverity:!0,range:{start:r.start,end:r.end,sideLabel:`source`,canAdjustStart:e=>vG(n,e,Nt),canAdjustEnd:e=>yG(n,e,Nt)},onAdjustStart:e=>{let t=K4(gG(n,e,Nt));k(t),P(hG(G4(t)))},onAdjustEnd:e=>{let t=K4(_G(n,e,Nt));k(t),P(hG(G4(t)))},onSubmit:(e,n)=>K(t,e,n),onCancel:Mt})}let r=n;return(0,G.jsx)(`div`,{id:`plan-comment-${r.id}`,children:(0,G.jsx)(r4,{comment:r,onResolve:()=>y(e.id,r.id),onUnresolve:()=>b(e.id,r.id),onDelete:()=>x(e.id,r.id),onEdit:t=>v(e.id,r.id,t),onReply:t=>S(e.id,r.id,t),onEditReply:(t,n)=>C(e.id,r.id,t,n),onDeleteReply:t=>w(e.id,r.id,t)})})},Rt=q4[e.decision],zt=Rt.icon,Bt=(0,W.useMemo)(()=>e.sourcePath?e.sourcePath:e.source&&(e.source.startsWith(`/`)||/^[A-Za-z]:[\\/]/.test(e.source))?e.source:null,[e.sourcePath,e.source]),Vt=(0,W.useMemo)(()=>{if(!Bt)return null;let e=Bt.replace(/\\/g,`/`).split(`/`);return e.length<=3?Bt:`…/${e.slice(-3).join(`/`)}`},[Bt]),Ht=(0,W.useMemo)(()=>u4(ft),[ft]),Ut=(0,W.useMemo)(()=>{let e=ft.trim();return e?e.split(/\s+/).length:0},[ft]),Wt=(0,W.useMemo)(()=>ft?ft.replace(/\r\n/g,`
3904
+ `)},[ft]),Ft=(0,W.useCallback)((t,n,r)=>{let i=t.startLineNumber??t.lineNumber;_({planId:e.id,lineNumber:t.lineNumber,startLineNumber:t.startLineNumber,lineContent:t.sourceContext||t.exactLines,selectedQuote:t.selectedQuote.trim()||void 0,sectionTitle:t.sectionTitle??t4(ft,i),body:n,severity:r&&r!==`none`?r:void 0,createdAtPlanVersion:nt})},[_,e.id,ft,nt]),It=(0,W.useMemo)(()=>{let e=Et.map(e=>({lineNumber:e.lineNumber,metadata:e}));return O&&e.push({lineNumber:O.lineNumber,metadata:{_pending:!0}}),e},[Et,O]),Lt=t=>{let n=t.metadata;if(!n)return null;if(`_pending`in n){let t=O,n=K4(t),r=mG(n),i=A.current??`open`;return(0,G.jsx)(ZW,{draftKey:`plan-new:${e.id}:${i}`,lineContent:At(t.startLineNumber,t.lineNumber),lineLabel:pG(n),showSeverity:!0,range:{start:r.start,end:r.end,sideLabel:`source`,canAdjustStart:e=>vG(n,e,Nt),canAdjustEnd:e=>yG(n,e,Nt)},onAdjustStart:e=>{let t=q4(gG(n,e,Nt));k(t),P(hG(K4(t)))},onAdjustEnd:e=>{let t=q4(_G(n,e,Nt));k(t),P(hG(K4(t)))},onSubmit:(e,n)=>K(t,e,n),onCancel:Mt})}let r=n;return(0,G.jsx)(`div`,{id:`plan-comment-${r.id}`,children:(0,G.jsx)(i4,{comment:r,onResolve:()=>y(e.id,r.id),onUnresolve:()=>b(e.id,r.id),onDelete:()=>x(e.id,r.id),onEdit:t=>v(e.id,r.id,t),onReply:t=>S(e.id,r.id,t),onEditReply:(t,n)=>C(e.id,r.id,t,n),onDeleteReply:t=>w(e.id,r.id,t)})})},Rt=J4[e.decision],zt=Rt.icon,Bt=(0,W.useMemo)(()=>e.sourcePath?e.sourcePath:e.source&&(e.source.startsWith(`/`)||/^[A-Za-z]:[\\/]/.test(e.source))?e.source:null,[e.sourcePath,e.source]),Vt=(0,W.useMemo)(()=>{if(!Bt)return null;let e=Bt.replace(/\\/g,`/`).split(`/`);return e.length<=3?Bt:`…/${e.slice(-3).join(`/`)}`},[Bt]),Ht=(0,W.useMemo)(()=>d4(ft),[ft]),Ut=(0,W.useMemo)(()=>{let e=ft.trim();return e?e.split(/\s+/).length:0},[ft]),Wt=(0,W.useMemo)(()=>ft?ft.replace(/\r\n/g,`
3905
3905
  `).split(`
3906
- `).length:0,[ft]),Gt=(0,W.useCallback)(()=>{if(nt!==e.version)return;let t={body:e.body,title:e.title};U(t.body),fe(t.title),Ae.current={body:t.body,title:t.title,version:e.version},Me(t),Pe(e=>e??t),me(`idle`),ge(null),ve(null),Se(!1),Ee(!1),le(!0),k(null),P(null),M([]),Le(null),Je&&et(!1),c!==`split`&&l?.(`split`)},[nt,e.version,e.body,e.title,Je,et,c,l]),Kt=(0,W.useCallback)(async()=>{let t=ue!==je.body||de!==je.title||e.body!==je.body||e.title!==je.title;ke.current&&=(clearTimeout(ke.current),null),await Fe.current(),at(ue),st(de.trim()||`Untitled plan`),le(!1),me(`idle`),ge(null),ve(null),Se(!1),t&&Ee(!0)},[ue,de,je,e.body,e.title]),qt=(0,W.useCallback)(()=>{U(e.body),fe(e.title),Ae.current={body:e.body,title:e.title,version:e.version},Me({body:e.body,title:e.title}),Pe(null),ve(null),me(`idle`),ge(null),rt(e.version)},[e.body,e.title,e.version]),Jt=(0,W.useCallback)(async t=>{if(H){ke.current&&=(clearTimeout(ke.current),null),we(!0),ge(null);try{if(U(t.body),fe(t.title),e.body!==t.body||e.title!==t.title){me(`saving`);let n=await T(e.id,{body:t.body,title:t.title});Ae.current={body:n.body,title:n.title,version:n.version},at(n.body),st(n.title),Me({body:n.body,title:n.title})}else Ae.current={body:t.body,title:t.title,version:e.version},at(t.body),st(t.title),Me({body:t.body,title:t.title});me(`idle`),Se(!1),Ee(!1)}catch(e){me(`error`),ge(e instanceof Error?e.message:`Failed to discard edits`)}finally{we(!1)}}},[H,e.body,e.title,e.id,e.version,T]),Yt=(0,W.useCallback)(async e=>{if(e===`recent`){await Jt(je);return}Ne&&await Jt(Ne)},[Jt,je,Ne]),Xt=(0,W.useCallback)(()=>{!H||!yt||Ce||pe===`saving`||Se(!0)},[H,yt,Ce,pe]),Zt=(0,W.useCallback)(async()=>{if(!H)return;let t=ue,n=de.trim()||`Untitled plan`;if(!t.trim()){me(`error`),ge(`Plan body cannot be empty`);return}if(t===Ae.current.body&&n===Ae.current.title){me(e=>e===`dirty`?`saved`:e);return}me(`saving`),ge(null);try{let r=await T(e.id,{body:t,title:n});Ae.current={body:r.body,title:r.title,version:r.version},at(r.body),st(r.title),me(`saved`)}catch(e){me(`error`),ge(e instanceof Error?e.message:`Save failed`)}},[H,ue,de,T,e.id]);Fe.current=Zt,(0,W.useEffect)(()=>{if(!H)return;let e=de.trim()||`Untitled plan`;if(ue!==Ae.current.body||e!==Ae.current.title){if(!ue.trim()){me(`error`),ge(`Plan body cannot be empty`);return}return me(`dirty`),ge(null),ke.current&&clearTimeout(ke.current),ke.current=setTimeout(()=>{ke.current=null,Zt()},W4),()=>{ke.current&&=(clearTimeout(ke.current),null)}}},[H,ue,de,Zt]),(0,W.useEffect)(()=>{if(!H||!mt)return;let e=e=>{e.preventDefault(),e.returnValue=``};return window.addEventListener(`beforeunload`,e),()=>window.removeEventListener(`beforeunload`,e)},[H,mt]);let Qt=(0,W.useCallback)(async()=>{let t=ue,n=de.trim()||`Untitled plan`;if(!t.trim()){me(`error`),ge(`Plan body cannot be empty`),be(!1);return}be(!1),me(`saving`),ge(null);try{let r=await E(e.id,{title:n,body:t,source:e.source,model:e.model}),i={body:r.body,title:r.title};Ae.current={body:i.body,title:i.title,version:r.version},Me(i),Pe(i),ct.current=`${e.id}:${r.version}`,U(i.body),fe(i.title),at(i.body),st(i.title),rt(r.version),ve(null),Ee(!1),me(`saved`)}catch(e){me(`error`),ge(e instanceof Error?e.message:`Save as new version failed`)}},[ue,de,E,e.id,e.source,e.model]);(0,W.useEffect)(()=>{if(!H||c!==`split`)return;let e=0;return e=requestAnimationFrame(()=>{e=0;let t=Re.current;t&&V4(t,De,{scrollContainer:t.closest(`.plan-rendered-layout`)??t.parentElement,onlyIfOutOfView:!0,behavior:`auto`})}),()=>{e&&cancelAnimationFrame(e)}},[H,c,De]),(0,W.useEffect)(()=>{let e=e=>{let t=e.target,n=t?.tagName?.toLowerCase(),r=n===`input`||n===`textarea`||n===`select`||!!t?.isContentEditable;if((e.metaKey||e.ctrlKey)&&(e.key===`s`||e.key===`S`)){if(!H)return;e.preventDefault(),ke.current&&=(clearTimeout(ke.current),null),Zt();return}if(e.key===`e`||e.key===`E`){if(r||e.metaKey||e.ctrlKey||e.altKey)return;e.preventDefault(),H?Kt():dt&&Gt()}};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[H,dt,Gt,Kt,Zt]);let $t=(0,W.useCallback)(e=>{ee(e),window.setTimeout(()=>ee(null),1600)},[]),en=(0,W.useCallback)(async(e,t)=>{try{await navigator.clipboard.writeText(e),$t(t)}catch{}},[$t]),tn=(0,W.useCallback)(async()=>{if(Bt){ce(!0);try{await fetch(`/api/open-file`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({filePath:Bt,editor:u})})}catch{}finally{ce(!1)}}},[Bt,u]),nn=(0,W.useCallback)((e,t=`start`)=>{if(t===`center`){e.scrollIntoView({behavior:`smooth`,block:`center`});return}let n=document.querySelector(`.plan-app-toolbar`)??document.querySelector(`.toolbar`),r=ze.current,i=(n?.offsetHeight??60)+(r?.offsetHeight??0)+12,a=e.getBoundingClientRect().top+window.scrollY-i;window.scrollTo({top:Math.max(0,a),behavior:`smooth`})},[]),rn=(0,W.useCallback)((e,t)=>{let n=document.getElementById(`plan-comment-${e}`);if(n){nn(n,`center`),n.classList.add(`plan-comment-flash`),window.setTimeout(()=>n.classList.remove(`plan-comment-flash`),1400);return}let r=document.querySelector(`[data-plan-line="${t}"]`);r instanceof HTMLElement&&nn(r,`center`)},[nn]),an=(0,W.useCallback)((e=`sync`)=>{if(ut||H){e===`sync`&&Le(null);return}let t=Re.current,n=window.getSelection();if(!t||!n||n.isCollapsed||!n.rangeCount){e===`sync`&&Le(null);return}if(!f4(n,t)){e===`sync`&&Le(null);return}let r=p4(n,t)??n.getRangeAt(0),i=r.toString();if(!i.trim()){e===`sync`&&Le(null);return}let a=h4(ft,i)??{text:i.replace(/\s+/g,` `).trim(),startLine:1,endLine:1},o=r.getClientRects(),s=null,c=null;for(let e=0;e<o.length;e++){let t=o[e];t.width===0&&t.height===0||(s||=t,c=t)}let l=s&&c?null:r.getBoundingClientRect(),u=s??l,d=c??l;if(!u||!d||u.width===0&&u.height===0){e===`sync`&&Le(null);return}let f=window.innerHeight-d.bottom<54&&u.top>54?`above`:`below`,p=(d.left+d.right)/2;Le({x:Math.min(Math.max(72,p),window.innerWidth-72),y:f===`below`?d.bottom+10:u.top-10,placement:f,startLine:a.startLine,endLine:a.endLine,text:a.text})},[ft,ut,H]);(0,W.useEffect)(()=>{if(ut||H||!Xe)return;let e=0,t=t=>{e&&clearTimeout(e),e=setTimeout(()=>{requestAnimationFrame(()=>an(t))},0)},n=e=>{e.target?.closest?.(`.plan-selection-popup, .plan-selection-comment, .plan-float-tray, .confirm-dialog`)||t(`sync`)},r=e=>{(e.key===`Shift`||e.key.startsWith(`Arrow`)||e.key===`End`||e.key===`Home`)&&t(`sync`)},i=()=>{t(`update`)};return document.addEventListener(`mouseup`,n,!0),document.addEventListener(`keyup`,r,!0),document.addEventListener(`selectionchange`,i),()=>{e&&clearTimeout(e),document.removeEventListener(`mouseup`,n,!0),document.removeEventListener(`keyup`,r,!0),document.removeEventListener(`selectionchange`,i)}},[ut,H,Xe,an]);let on=(0,W.useCallback)(()=>{if(!Ie)return;let e=window.getSelection(),t=e&&e.rangeCount>0&&!e.isCollapsed?e.getRangeAt(0).cloneRange():null,n=t?A4(t):[],r=Ie.x-400/2,i=Ie.placement===`below`?Ie.y+8:Ie.y-420-8,a=j.length*28,o=k4(r+a,i+a,400,420),s=Ie.startLine,c=Ie.endLine,l=t4(ft,s,c),u={id:crypto.randomUUID(),lineNumber:c,startLineNumber:s===c?void 0:s,selectedQuote:Ie.text,exactLines:l,sourceContext:Pt(s,c),sectionTitle:e4(ft,s),panelPos:o,panelSize:{width:400,height:420},minimized:!1,highlightRects:n};M(e=>[...e,u]),I(Math.abs(c-s)+1),Le(null)},[Ie,j.length,ft,Pt]);(0,W.useEffect)(()=>{let e=e=>{if(e.key===`Escape`&&!(xe||ye)){if(Ie){e.preventDefault(),Le(null);return}if(H){if(yt&&!Ce&&pe!==`saving`){e.preventDefault(),e.stopPropagation(),Se(!0);return}e.preventDefault(),e.stopPropagation(),Kt();return}$e&&(e.preventDefault(),et(!1))}};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[Ie,$e,et,H,yt,Ce,pe,xe,ye,Kt]),(0,W.useEffect)(()=>{if(!Ie)return;let e=()=>Le(null);return window.addEventListener(`scroll`,e,{passive:!0,capture:!0}),()=>window.removeEventListener(`scroll`,e,!0)},[Ie]);let sn=typeof window<`u`?`${window.location.origin}${window.location.pathname.startsWith(`/plan`)?window.location.pathname:`/plan/${e.id}`}`:`/plan/${e.id}`,cn=(0,W.useCallback)(e=>{e.preventDefault();let t=Be.current;if(!t)return;let n=t.getBoundingClientRect();if(n.width<=0)return;Ge(!0),document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`;let r=Ve.current,i=0,a=e=>{r=C4(e),t.style.setProperty(`--plan-split-pct`,`${r}%`)},o=e=>{let t=(e.clientX-n.left)/n.width*100;i||=requestAnimationFrame(()=>{i=0,a(t)})},s=()=>{i&&cancelAnimationFrame(i),Ue(r),DD(b4.splitRatio,String(r)),Ge(!1),document.body.style.cursor=``,document.body.style.userSelect=``,document.removeEventListener(`mousemove`,o),document.removeEventListener(`mouseup`,s)};a((e.clientX-n.left)/n.width*100),document.addEventListener(`mousemove`,o),document.addEventListener(`mouseup`,s)},[]),ln=H?(0,G.jsx)(`div`,{className:`plan-file plan-file-editing`,children:(0,G.jsx)(H4,{value:ue,onChange:U,onActiveLineChange:Oe,fontSize:n,monoFontFamily:r,defaultTabSize:i,lineWrap:a,showLineNumbers:o})}):(0,G.jsx)(`div`,{className:`plan-file`,children:(0,G.jsx)(Bh,{file:{name:e.sourcePath?.split(/[/\\]/).pop()||`PLAN.md`,contents:ft,lang:`markdown`},options:{disableFileHeader:!0,enableGutterUtility:!0,enableLineSelection:!0,overflow:a?`wrap`:`scroll`,disableLineNumbers:!o,lineHoverHighlight:s,onLineSelectionStart:()=>{I(0),k(null),P(null),A.current=null},onLineSelectionChange:e=>{I(e?Math.abs(e.end-e.start)+1:0)},onLineSelectionEnd:e=>{if(I(0),e){let t=dG(e);jt({lineNumber:t.lineNumber,startLineNumber:t.startLineNumber})}},onGutterUtilityClick:e=>{let t=dG(e);jt({lineNumber:t.lineNumber,startLineNumber:t.startLineNumber})},theme:{dark:St.type===`dark`?St.themeName:`rose-pine`,light:St.type===`light`?St.themeName:`github-light`},themeType:St.type,unsafeCSS:Ct},selectedLines:O?N:void 0,lineAnnotations:It,renderAnnotation:Lt})}),un=(0,G.jsxs)(`div`,{className:[`plan-rendered-layout`,re&&Ht.length>0&&!$e?`has-toc`:``,Qe?`plan-rendered-layout-solo`:``,$e?`plan-rendered-layout-zen`:``].filter(Boolean).join(` `),children:[re&&Ht.length>0&&!$e&&(0,G.jsxs)(`nav`,{className:`plan-toc`,"aria-label":`Plan outline`,children:[(0,G.jsxs)(`div`,{className:`plan-toc-head`,children:[(0,G.jsx)(EO,{size:12,"aria-hidden":`true`}),(0,G.jsx)(`span`,{children:`Outline`})]}),(0,G.jsx)(`ul`,{className:`plan-toc-list`,children:Ht.map(e=>(0,G.jsx)(`li`,{className:`plan-toc-item plan-toc-level-${Math.min(e.level,4)}`,children:(0,G.jsx)(`a`,{href:`#${e.id}`,onClick:t=>{t.preventDefault();let n=document.getElementById(e.id);n&&nn(n,`start`),typeof history<`u`&&history.replaceState(null,``,`#${e.id}`)},children:e.text})},e.id))})]}),(0,G.jsx)(`div`,{ref:Re,className:`markdown-body plan-rendered`,onClick:xt,children:(0,G.jsx)(s4,{body:ft,outline:Ht,comments:Et,onResolve:t=>y(e.id,t),onUnresolve:t=>b(e.id,t),onDelete:t=>x(e.id,t),onEdit:(t,n)=>v(e.id,t,n),onReply:(t,n)=>S(e.id,t,n),onEditReply:(t,n,r)=>C(e.id,t,n,r),onDeleteReply:(t,n)=>w(e.id,t,n)})})]}),dn=(0,W.useMemo)(()=>`${c}:${nt}:${Et.map(e=>e.id).join(`,`)}:${j.map(e=>e.id).join(`,`)}`,[c,nt,Et,j]),fn=Xe&&!H&&j.length>0?(0,G.jsx)(N4,{planId:e.id,composers:j,onChange:M,onSubmit:Ft,planBody:ft,buildSourceContext:Pt,renderedRootRef:Re,layoutEpoch:dn}):null,pn=pe===`saving`?`Saving…`:pe===`saved`?`Saved`:pe===`dirty`?`Unsaved`:pe===`error`?he||`Save failed`:null;return(0,G.jsxs)(`div`,{className:`plan-review ${$e?`plan-review-zen`:``} ${Qe?`plan-review-read`:``} ${H?`plan-review-editing`:``}`,children:[(0,G.jsxs)(`header`,{className:`plan-review-head`,ref:ze,children:[(0,G.jsxs)(`div`,{className:`plan-review-head-main`,children:[(0,G.jsxs)(`div`,{className:`plan-review-title-row`,children:[H?(0,G.jsx)(`input`,{className:`plan-review-title-input`,value:de,onChange:e=>fe(e.target.value),"aria-label":`Plan title`,placeholder:`Untitled plan`}):(0,G.jsxs)(`h2`,{className:`plan-review-title`,title:pt,children:[pt,ut&&pt!==e.title&&(0,G.jsxs)(`span`,{className:`plan-review-title-historical`,title:`Currently submitted title: ${e.title}`,children:[` `,`· was “`,e.title,`”`]})]}),(0,G.jsxs)(`span`,{className:`plan-badge ${Rt.className}`,children:[(0,G.jsx)(zt,{size:12,"aria-hidden":`true`}),Rt.label]}),H&&pn&&(0,G.jsxs)(`span`,{className:`plan-review-chip plan-review-save-status plan-review-save-status-${pe}`,role:`status`,title:he??void 0,children:[pe===`saving`&&(0,G.jsx)(DO,{size:11,className:`spin`,"aria-hidden":`true`}),pn]})]}),(0,G.jsxs)(`div`,{className:`plan-review-meta`,children:[tt.length<=1?(0,G.jsxs)(`span`,{className:`plan-review-chip`,children:[`v`,nt]}):(0,G.jsxs)(`div`,{className:`plan-review-version-switcher ${ut?`is-historical`:``}`,children:[(0,G.jsx)(xO,{size:12,"aria-hidden":`true`,className:`plan-review-version-switcher-icon`}),(0,G.jsx)(tW,{value:String(nt),onValueChange:t=>{let n=Number(t);if(H&&n!==e.version){Kt().then(()=>rt(n));return}rt(n)},options:bt,ariaLabel:`Plan version`}),ut&&(0,G.jsxs)(`button`,{type:`button`,className:`plan-review-version-back`,onClick:()=>rt(e.version),title:`Back to current v${e.version}`,children:[(0,G.jsx)(zD,{size:11,"aria-hidden":`true`}),`Current`]})]}),e.model&&(0,G.jsxs)(`span`,{className:`plan-review-chip plan-review-chip-model`,title:e.model,children:[(0,G.jsx)(VD,{size:11,"aria-hidden":`true`}),e.model]}),(0,G.jsxs)(`span`,{className:`plan-review-meta-stat`,title:`${Wt} lines · ${Ut} words · updated ${eE(e.updatedAt)}`,children:[Wt,`L · `,Ut,`W`,Ot>0&&(0,G.jsxs)(`span`,{className:`plan-review-meta-open`,children:[` · `,Ot,` open`]}),Tt.length>0&&Ot===0&&(0,G.jsxs)(`span`,{children:[` · `,Tt.length,` comment`,Tt.length===1?``:`s`]}),ut&&kt!==Tt.length&&(0,G.jsxs)(`span`,{className:`plan-review-chip-sub`,children:[` of `,kt]})]}),(F>0||j.length>0)&&(0,G.jsx)(`span`,{className:`plan-review-chip plan-review-chip-selection`,"aria-live":`polite`,children:j.length>0?`${j.length} draft${j.length===1?``:`s`}`:`${F} selected`}),(Bt||e.source)&&(0,G.jsxs)(`div`,{className:`plan-source-inline`,children:[(0,G.jsx)(pO,{size:12,className:`plan-source-icon`,"aria-hidden":`true`}),(0,G.jsx)(`code`,{className:`plan-source-path`,title:Bt??e.source,children:Vt??e.source}),Bt&&(0,G.jsx)($T,{content:`Copy absolute source path`,side:`top`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn`,onClick:()=>en(Bt,`Path copied`),"aria-label":`Copy plan source path`,children:(0,G.jsx)(oO,{size:12})})}),z&&(0,G.jsx)(`span`,{className:`plan-source-flash`,role:`status`,children:z})]})]})]}),(0,G.jsxs)(`div`,{className:`plan-review-head-actions`,role:`toolbar`,"aria-label":`Plan actions`,children:[(0,G.jsx)($T,{content:`Copy review link`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn`,onClick:()=>en(sn,`Link copied`),"aria-label":`Copy review URL`,children:(0,G.jsx)(TO,{size:14})})}),(0,G.jsx)($T,{content:`Copy plan markdown`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn`,onClick:()=>en(ft,`Markdown copied`),"aria-label":`Copy plan markdown`,children:(0,G.jsx)(fO,{size:14})})}),Bt&&(0,G.jsx)($T,{content:`Open source in editor`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn`,onClick:tn,disabled:se,"aria-label":`Open plan source in editor`,children:se?(0,G.jsx)(DO,{size:14,className:`spin`}):(0,G.jsx)(cO,{size:14})})}),dt&&(0,G.jsx)($T,{content:H?`Done editing (e) — autosave flushes on exit`:`Edit plan live (e)`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn ${H?`is-active`:``} ${mt?`is-dirty`:``}`,onClick:()=>{H?Kt():Gt()},"aria-pressed":H,"aria-label":H?`Done editing plan`:`Edit plan`,children:(0,G.jsx)(GO,{size:14})})}),H&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)($T,{content:`Save now (⌘S)`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn`,onClick:()=>{ke.current&&=(clearTimeout(ke.current),null),Zt()},disabled:pe===`saving`||D||Ce,"aria-label":`Save plan now`,children:(0,G.jsx)(XO,{size:14})})}),(0,G.jsx)($T,{content:`Save as new version — bumps version and reopens review`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn`,onClick:()=>be(!0),disabled:pe===`saving`||D||Ce||!ue.trim(),"aria-label":`Save as new version`,children:D?(0,G.jsx)(DO,{size:14,className:`spin`}):(0,G.jsx)(hO,{size:14})})}),(0,G.jsx)($T,{content:vt?`Discard edits (Esc) — recent session or roll back to original`:gt&&!ht?`Roll back to original (Esc) — before you started editing this version`:`Discard edits (Esc) — restore to start of this edit session`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn plan-icon-btn-danger`,onClick:Xt,disabled:!yt||Ce||pe===`saving`,"aria-label":`Discard edits`,title:`Esc`,children:Ce?(0,G.jsx)(DO,{size:14,className:`spin`}):(0,G.jsx)(YO,{size:14})})})]}),(0,G.jsx)(`span`,{className:`plan-action-divider`,"aria-hidden":`true`}),Qe&&(0,G.jsx)($T,{content:$e?`Exit zen reading (z / Esc)`:`Zen mode — full-width focus reading (z)`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn ${$e?`is-active`:``}`,onClick:()=>et(e=>!e),"aria-pressed":$e,"aria-label":$e?`Exit zen reading`:`Enter zen reading mode`,children:$e?(0,G.jsx)(IO,{size:14}):(0,G.jsx)(kO,{size:14})})}),Xe&&Ht.length>0&&!$e&&(0,G.jsx)($T,{content:re?`Hide outline (o)`:`Show outline (o)`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn ${re?`is-active`:``}`,onClick:()=>ae(e=>!e),"aria-pressed":re,"aria-label":re?`Hide outline`:`Show outline`,children:(0,G.jsx)(EO,{size:14})})}),Tt.length>0&&!$e&&(0,G.jsx)($T,{content:ie?`Hide comments map (c)`:Ot>0?`Show comments map (${Ot} open) · c`:`Show comments map (c)`,side:`bottom`,children:(0,G.jsxs)(`button`,{type:`button`,className:`plan-icon-btn ${ie?`is-active`:``}`,onClick:()=>oe(e=>!e),"aria-pressed":ie,"aria-label":ie?`Hide comments map`:Ot>0?`Show comments map, ${Ot} open`:`Show comments map`,children:[(0,G.jsx)(FO,{size:14}),Ot>0&&(0,G.jsx)(`span`,{className:`plan-icon-btn-badge`,children:Ot})]})})]})]}),$e&&(0,G.jsxs)(`div`,{className:`plan-zen-bar`,role:`status`,children:[(0,G.jsx)(`span`,{className:`plan-zen-bar-label`,children:`Zen reading`}),(0,G.jsx)(`span`,{className:`plan-zen-bar-hint`,children:`Esc or button to exit`}),(0,G.jsxs)(`button`,{type:`button`,className:`plan-zen-bar-exit`,onClick:()=>et(!1),children:[(0,G.jsx)(IO,{size:13,"aria-hidden":`true`}),`Exit zen`]})]}),ut&&(0,G.jsxs)(`div`,{className:`plan-review-historical-banner`,role:`status`,children:[(0,G.jsx)(xO,{size:14,"aria-hidden":`true`}),(0,G.jsxs)(`span`,{children:[`Viewing `,(0,G.jsxs)(`strong`,{children:[`v`,nt]}),` of this plan (current is`,` `,(0,G.jsxs)(`strong`,{children:[`v`,e.version]}),`). Comments and line anchors reflect v`,nt,`.`]}),(0,G.jsxs)(`button`,{type:`button`,className:`plan-review-historical-banner-back`,onClick:()=>rt(e.version),children:[(0,G.jsx)(zD,{size:11,"aria-hidden":`true`}),`Back to current`]})]}),H&&(0,G.jsxs)(`div`,{className:`plan-review-edit-banner`,role:`status`,children:[(0,G.jsx)(GO,{size:14,"aria-hidden":`true`}),(0,G.jsxs)(`span`,{children:[`Editing live — changes autosave to the current version`,kt>0?`. Line anchors on existing comments may shift if you insert or delete lines.`:`.`,` `,`New comments are disabled until you finish editing.`,_t?` Prior session edits are saved; Esc or Discard can roll back further.`:` Esc opens discard.`]}),yt&&(0,G.jsxs)(`button`,{type:`button`,className:`plan-review-edit-banner-discard`,onClick:Xt,disabled:Ce||pe===`saving`,children:[(0,G.jsx)(YO,{size:11,"aria-hidden":`true`}),gt&&!ht?`Roll back to original`:`Discard edits`,(0,G.jsx)(`kbd`,{className:`plan-review-edit-banner-kbd`,children:`Esc`})]}),H&&c===`rendered`&&(0,G.jsx)(`button`,{type:`button`,className:`plan-review-historical-banner-back`,onClick:()=>l?.(`split`),children:`Show source`})]}),!H&&Te&&(0,G.jsxs)(`div`,{className:`plan-review-exit-saved-banner`,role:`status`,children:[(0,G.jsx)(XO,{size:14,"aria-hidden":`true`}),(0,G.jsxs)(`span`,{children:[(0,G.jsx)(`strong`,{children:`Edits saved`}),` to this version. They are now the starting point the next time you press Edit. Use `,(0,G.jsx)(`strong`,{children:`Discard`}),` after re-entering edit to roll back to the plan as it was before you started editing this version.`]}),(0,G.jsx)(`button`,{type:`button`,className:`plan-review-exit-saved-banner-dismiss`,onClick:()=>Ee(!1),"aria-label":`Dismiss saved-edits notice`,children:(0,G.jsx)(ck,{size:14})})]}),_e!=null&&(0,G.jsxs)(`div`,{className:`plan-review-conflict-banner`,role:`alert`,children:[(0,G.jsx)(NO,{size:14,"aria-hidden":`true`}),(0,G.jsxs)(`span`,{children:[`Agent submitted `,(0,G.jsxs)(`strong`,{children:[`v`,_e]}),` while you have unsaved edits. Keep your draft, or discard and load the new version.`]}),(0,G.jsx)(`button`,{type:`button`,className:`plan-review-historical-banner-back`,onClick:()=>ve(null),children:`Keep editing`}),(0,G.jsx)(`button`,{type:`button`,className:`plan-review-historical-banner-back`,onClick:qt,children:`Discard & load`})]}),e.decision!==`pending`&&e.decisionComment&&(0,G.jsxs)(`div`,{className:`plan-decision-banner ${Rt.className}`,children:[(0,G.jsx)(zt,{size:15,"aria-hidden":`true`}),(0,G.jsxs)(`div`,{className:`plan-decision-banner-text`,children:[(0,G.jsx)(`strong`,{children:Rt.label}),(0,G.jsx)(gH,{content:e.decisionComment,className:`plan-decision-banner-note markdown-body`})]})]}),Dt.length>0&&(0,G.jsxs)(`section`,{className:`plan-general-section`,"aria-label":`General comments`,children:[(0,G.jsxs)(`div`,{className:`plan-general-header`,children:[(0,G.jsx)(MO,{size:14,"aria-hidden":`true`}),(0,G.jsx)(`span`,{children:`General comments`}),(0,G.jsx)(`span`,{className:`plan-general-count`,children:Dt.length})]}),(0,G.jsx)(`div`,{className:`plan-general-list`,children:Dt.map(t=>(0,G.jsx)(`div`,{id:`plan-comment-${t.id}`,children:(0,G.jsx)(r4,{comment:t,onResolve:()=>y(e.id,t.id),onUnresolve:()=>b(e.id,t.id),onDelete:()=>x(e.id,t.id),onEdit:n=>v(e.id,t.id,n),onReply:n=>S(e.id,t.id,n),onEditReply:(n,r)=>C(e.id,t.id,n,r),onDeleteReply:n=>w(e.id,t.id,n)})},t.id))})]}),(0,G.jsxs)(`div`,{className:`plan-review-body ${!$e&&ie&&Tt.length>0?`plan-review-body-with-rail`:``}`,children:[(0,G.jsxs)(`div`,{ref:Be,className:`plan-content ${Ze?`plan-content-split`:`plan-content-single`} ${We?`plan-content-split-dragging`:``} ${Qe?`plan-content-read`:``} ${$e?`plan-content-zen`:``}`,style:Ze?{"--plan-split-pct":`${He}%`}:void 0,children:[Ye&&ln,Ze&&(0,G.jsx)(`div`,{className:`plan-split-resize-handle`,onMouseDown:cn,onDoubleClick:()=>{Ue(50),DD(b4.splitRatio,`50`),Be.current?.style.setProperty(`--plan-split-pct`,`50%`)},role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize source and rendered panes`,title:`Drag to resize · double-click to reset 50/50`,"aria-valuenow":Math.round(He),"aria-valuemin":20,"aria-valuemax":80,tabIndex:0,onKeyDown:e=>{if(e.key!==`ArrowLeft`&&e.key!==`ArrowRight`)return;e.preventDefault();let t=C4(He+(e.key===`ArrowLeft`?-2:2));Ue(t),DD(b4.splitRatio,String(t)),Be.current?.style.setProperty(`--plan-split-pct`,`${t}%`)},children:(0,G.jsx)(`span`,{className:`plan-split-resize-grip`,"aria-hidden":`true`})}),Xe&&un]}),!$e&&ie&&Tt.length>0&&(0,G.jsxs)(`aside`,{className:`plan-comments-rail`,"aria-label":`Comments map`,children:[(0,G.jsxs)(`div`,{className:`plan-comments-rail-head`,children:[(0,G.jsx)(FO,{size:12,"aria-hidden":`true`}),(0,G.jsx)(`span`,{children:`Comments`}),(0,G.jsx)(`span`,{className:`plan-comments-rail-count`,children:Ot>0?`${Ot} open`:`${Tt.length}`})]}),(0,G.jsx)(`ul`,{className:`plan-comments-rail-list`,children:[...Tt].sort((e,t)=>e.status===t.status?e.lineNumber-t.lineNumber:e.status===`open`?-1:1).map(e=>(0,G.jsx)(`li`,{children:(0,G.jsxs)(`button`,{type:`button`,className:`plan-comments-rail-item ${e.status===`resolved`?`is-resolved`:``}`,onClick:()=>rn(e.id,e.lineNumber),title:e.body.slice(0,200),children:[(0,G.jsx)(`span`,{className:`plan-comments-rail-line`,children:a4(e)}),(0,G.jsxs)(`span`,{className:`plan-comments-rail-preview`,children:[e.sectionTitle?`${e.sectionTitle} · `:``,e.body.replace(/\s+/g,` `).slice(0,80),e.body.length>80?`…`:``]}),(0,G.jsx)(`span`,{className:`plan-comments-rail-status plan-comments-rail-status-${e.status}`,children:e.status})]})},e.id))})]})]}),Ie&&!H&&(0,G.jsxs)(`button`,{type:`button`,className:`plan-selection-popup plan-selection-popup-${Ie.placement}`,style:{left:Ie.x,top:Ie.y},onMouseDown:e=>e.preventDefault(),onClick:on,children:[(0,G.jsx)(MO,{size:13,"aria-hidden":`true`}),`Add comment`,(0,G.jsxs)(`span`,{className:`plan-selection-popup-lines`,children:[`L`,Ie.startLine,Ie.endLine===Ie.startLine?``:`–${Ie.endLine}`]})]}),fn,(0,G.jsx)(c4,{isOpen:!!L,filePath:L,onClose:()=>R(null)}),(0,G.jsx)(w4,{open:ye,title:`Save as new version?`,description:`Creates v${e.version+1} from your current draft and reopens the plan for review (decision becomes pending). In-place autosave does not create a version.`,confirmLabel:`Save as new version`,cancelLabel:`Cancel`,variant:`primary`,onConfirm:()=>{Qt()},onCancel:()=>be(!1)}),(0,G.jsx)(U4,{open:xe,canDiscardRecent:ht,canRollbackOriginal:gt&&_t,onChoose:e=>{Yt(e)},onCancel:()=>Se(!1),busy:Ce})]})}function Y4(e,t,n){return`
3906
+ `).length:0,[ft]),Gt=(0,W.useCallback)(()=>{if(nt!==e.version)return;let t={body:e.body,title:e.title};U(t.body),fe(t.title),Ae.current={body:t.body,title:t.title,version:e.version},Me(t),Pe(e=>e??t),me(`idle`),ge(null),ve(null),Se(!1),Ee(!1),le(!0),k(null),P(null),M([]),Le(null),Je&&et(!1),c!==`split`&&l?.(`split`)},[nt,e.version,e.body,e.title,Je,et,c,l]),Kt=(0,W.useCallback)(async()=>{let t=ue!==je.body||de!==je.title||e.body!==je.body||e.title!==je.title;ke.current&&=(clearTimeout(ke.current),null),await Fe.current(),at(ue),st(de.trim()||`Untitled plan`),le(!1),me(`idle`),ge(null),ve(null),Se(!1),t&&Ee(!0)},[ue,de,je,e.body,e.title]),qt=(0,W.useCallback)(()=>{U(e.body),fe(e.title),Ae.current={body:e.body,title:e.title,version:e.version},Me({body:e.body,title:e.title}),Pe(null),ve(null),me(`idle`),ge(null),rt(e.version)},[e.body,e.title,e.version]),Jt=(0,W.useCallback)(async t=>{if(H){ke.current&&=(clearTimeout(ke.current),null),we(!0),ge(null);try{if(U(t.body),fe(t.title),e.body!==t.body||e.title!==t.title){me(`saving`);let n=await T(e.id,{body:t.body,title:t.title});Ae.current={body:n.body,title:n.title,version:n.version},at(n.body),st(n.title),Me({body:n.body,title:n.title})}else Ae.current={body:t.body,title:t.title,version:e.version},at(t.body),st(t.title),Me({body:t.body,title:t.title});me(`idle`),Se(!1),Ee(!1)}catch(e){me(`error`),ge(e instanceof Error?e.message:`Failed to discard edits`)}finally{we(!1)}}},[H,e.body,e.title,e.id,e.version,T]),Yt=(0,W.useCallback)(async e=>{if(e===`recent`){await Jt(je);return}Ne&&await Jt(Ne)},[Jt,je,Ne]),Xt=(0,W.useCallback)(()=>{!H||!yt||Ce||pe===`saving`||Se(!0)},[H,yt,Ce,pe]),Zt=(0,W.useCallback)(async()=>{if(!H)return;let t=ue,n=de.trim()||`Untitled plan`;if(!t.trim()){me(`error`),ge(`Plan body cannot be empty`);return}if(t===Ae.current.body&&n===Ae.current.title){me(e=>e===`dirty`?`saved`:e);return}me(`saving`),ge(null);try{let r=await T(e.id,{body:t,title:n});Ae.current={body:r.body,title:r.title,version:r.version},at(r.body),st(r.title),me(`saved`)}catch(e){me(`error`),ge(e instanceof Error?e.message:`Save failed`)}},[H,ue,de,T,e.id]);Fe.current=Zt,(0,W.useEffect)(()=>{if(!H)return;let e=de.trim()||`Untitled plan`;if(ue!==Ae.current.body||e!==Ae.current.title){if(!ue.trim()){me(`error`),ge(`Plan body cannot be empty`);return}return me(`dirty`),ge(null),ke.current&&clearTimeout(ke.current),ke.current=setTimeout(()=>{ke.current=null,Zt()},G4),()=>{ke.current&&=(clearTimeout(ke.current),null)}}},[H,ue,de,Zt]),(0,W.useEffect)(()=>{if(!H||!mt)return;let e=e=>{e.preventDefault(),e.returnValue=``};return window.addEventListener(`beforeunload`,e),()=>window.removeEventListener(`beforeunload`,e)},[H,mt]);let Qt=(0,W.useCallback)(async()=>{let t=ue,n=de.trim()||`Untitled plan`;if(!t.trim()){me(`error`),ge(`Plan body cannot be empty`),be(!1);return}be(!1),me(`saving`),ge(null);try{let r=await E(e.id,{title:n,body:t,source:e.source,model:e.model}),i={body:r.body,title:r.title};Ae.current={body:i.body,title:i.title,version:r.version},Me(i),Pe(i),ct.current=`${e.id}:${r.version}`,U(i.body),fe(i.title),at(i.body),st(i.title),rt(r.version),ve(null),Ee(!1),me(`saved`)}catch(e){me(`error`),ge(e instanceof Error?e.message:`Save as new version failed`)}},[ue,de,E,e.id,e.source,e.model]);(0,W.useEffect)(()=>{if(!H||c!==`split`)return;let e=0;return e=requestAnimationFrame(()=>{e=0;let t=Re.current;t&&H4(t,De,{scrollContainer:t.closest(`.plan-rendered-layout`)??t.parentElement,onlyIfOutOfView:!0,behavior:`auto`})}),()=>{e&&cancelAnimationFrame(e)}},[H,c,De]),(0,W.useEffect)(()=>{let e=e=>{let t=e.target,n=t?.tagName?.toLowerCase(),r=n===`input`||n===`textarea`||n===`select`||!!t?.isContentEditable;if((e.metaKey||e.ctrlKey)&&(e.key===`s`||e.key===`S`)){if(!H)return;e.preventDefault(),ke.current&&=(clearTimeout(ke.current),null),Zt();return}if(e.key===`e`||e.key===`E`){if(r||e.metaKey||e.ctrlKey||e.altKey)return;e.preventDefault(),H?Kt():dt&&Gt()}};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[H,dt,Gt,Kt,Zt]);let $t=(0,W.useCallback)(e=>{ee(e),window.setTimeout(()=>ee(null),1600)},[]),en=(0,W.useCallback)(async(e,t)=>{try{await navigator.clipboard.writeText(e),$t(t)}catch{}},[$t]),tn=(0,W.useCallback)(async()=>{if(Bt){ce(!0);try{await fetch(`/api/open-file`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({filePath:Bt,editor:u})})}catch{}finally{ce(!1)}}},[Bt,u]),nn=(0,W.useCallback)((e,t=`start`)=>{if(t===`center`){e.scrollIntoView({behavior:`smooth`,block:`center`});return}let n=document.querySelector(`.plan-app-toolbar`)??document.querySelector(`.toolbar`),r=ze.current,i=(n?.offsetHeight??60)+(r?.offsetHeight??0)+12,a=e.getBoundingClientRect().top+window.scrollY-i;window.scrollTo({top:Math.max(0,a),behavior:`smooth`})},[]),rn=(0,W.useCallback)((e,t)=>{let n=document.getElementById(`plan-comment-${e}`);if(n){nn(n,`center`),n.classList.add(`plan-comment-flash`),window.setTimeout(()=>n.classList.remove(`plan-comment-flash`),1400);return}let r=document.querySelector(`[data-plan-line="${t}"]`);r instanceof HTMLElement&&nn(r,`center`)},[nn]),an=(0,W.useCallback)((e=`sync`)=>{if(ut||H){e===`sync`&&Le(null);return}let t=Re.current,n=window.getSelection();if(!t||!n||n.isCollapsed||!n.rangeCount){e===`sync`&&Le(null);return}if(!p4(n,t)){e===`sync`&&Le(null);return}let r=m4(n,t)??n.getRangeAt(0),i=r.toString();if(!i.trim()){e===`sync`&&Le(null);return}let a=g4(ft,i)??{text:i.replace(/\s+/g,` `).trim(),startLine:1,endLine:1},o=r.getClientRects(),s=null,c=null;for(let e=0;e<o.length;e++){let t=o[e];t.width===0&&t.height===0||(s||=t,c=t)}let l=s&&c?null:r.getBoundingClientRect(),u=s??l,d=c??l;if(!u||!d||u.width===0&&u.height===0){e===`sync`&&Le(null);return}let f=window.innerHeight-d.bottom<54&&u.top>54?`above`:`below`,p=(d.left+d.right)/2;Le({x:Math.min(Math.max(72,p),window.innerWidth-72),y:f===`below`?d.bottom+10:u.top-10,placement:f,startLine:a.startLine,endLine:a.endLine,text:a.text})},[ft,ut,H]);(0,W.useEffect)(()=>{if(ut||H||!Xe)return;let e=0,t=t=>{e&&clearTimeout(e),e=setTimeout(()=>{requestAnimationFrame(()=>an(t))},0)},n=e=>{e.target?.closest?.(`.plan-selection-popup, .plan-selection-comment, .plan-float-tray, .confirm-dialog`)||t(`sync`)},r=e=>{(e.key===`Shift`||e.key.startsWith(`Arrow`)||e.key===`End`||e.key===`Home`)&&t(`sync`)},i=()=>{t(`update`)};return document.addEventListener(`mouseup`,n,!0),document.addEventListener(`keyup`,r,!0),document.addEventListener(`selectionchange`,i),()=>{e&&clearTimeout(e),document.removeEventListener(`mouseup`,n,!0),document.removeEventListener(`keyup`,r,!0),document.removeEventListener(`selectionchange`,i)}},[ut,H,Xe,an]);let on=(0,W.useCallback)(()=>{if(!Ie)return;let e=window.getSelection(),t=e&&e.rangeCount>0&&!e.isCollapsed?e.getRangeAt(0).cloneRange():null,n=t?j4(t):[],r=Ie.x-400/2,i=Ie.placement===`below`?Ie.y+8:Ie.y-420-8,a=j.length*28,o=A4(r+a,i+a,400,420),s=Ie.startLine,c=Ie.endLine,l=n4(ft,s,c),u={id:crypto.randomUUID(),lineNumber:c,startLineNumber:s===c?void 0:s,selectedQuote:Ie.text,exactLines:l,sourceContext:Pt(s,c),sectionTitle:t4(ft,s),panelPos:o,panelSize:{width:400,height:420},minimized:!1,highlightRects:n};M(e=>[...e,u]),I(Math.abs(c-s)+1),Le(null)},[Ie,j.length,ft,Pt]);(0,W.useEffect)(()=>{let e=e=>{if(e.key===`Escape`&&!(xe||ye)){if(Ie){e.preventDefault(),Le(null);return}if(H){if(yt&&!Ce&&pe!==`saving`){e.preventDefault(),e.stopPropagation(),Se(!0);return}e.preventDefault(),e.stopPropagation(),Kt();return}$e&&(e.preventDefault(),et(!1))}};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[Ie,$e,et,H,yt,Ce,pe,xe,ye,Kt]),(0,W.useEffect)(()=>{if(!Ie)return;let e=()=>Le(null);return window.addEventListener(`scroll`,e,{passive:!0,capture:!0}),()=>window.removeEventListener(`scroll`,e,!0)},[Ie]);let sn=typeof window<`u`?`${window.location.origin}${window.location.pathname.startsWith(`/plan`)?window.location.pathname:`/plan/${e.id}`}`:`/plan/${e.id}`,cn=(0,W.useCallback)(e=>{e.preventDefault();let t=Be.current;if(!t)return;let n=t.getBoundingClientRect();if(n.width<=0)return;Ge(!0),document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`;let r=Ve.current,i=0,a=e=>{r=w4(e),t.style.setProperty(`--plan-split-pct`,`${r}%`)},o=e=>{let t=(e.clientX-n.left)/n.width*100;i||=requestAnimationFrame(()=>{i=0,a(t)})},s=()=>{i&&cancelAnimationFrame(i),Ue(r),DD(x4.splitRatio,String(r)),Ge(!1),document.body.style.cursor=``,document.body.style.userSelect=``,document.removeEventListener(`mousemove`,o),document.removeEventListener(`mouseup`,s)};a((e.clientX-n.left)/n.width*100),document.addEventListener(`mousemove`,o),document.addEventListener(`mouseup`,s)},[]),ln=H?(0,G.jsx)(`div`,{className:`plan-file plan-file-editing`,children:(0,G.jsx)(U4,{value:ue,onChange:U,onActiveLineChange:Oe,fontSize:n,monoFontFamily:r,defaultTabSize:i,lineWrap:a,showLineNumbers:o})}):(0,G.jsx)(`div`,{className:`plan-file`,children:(0,G.jsx)(Bh,{file:{name:e.sourcePath?.split(/[/\\]/).pop()||`PLAN.md`,contents:ft,lang:`markdown`},options:{disableFileHeader:!0,enableGutterUtility:!0,enableLineSelection:!0,overflow:a?`wrap`:`scroll`,disableLineNumbers:!o,lineHoverHighlight:s,onLineSelectionStart:()=>{I(0),k(null),P(null),A.current=null},onLineSelectionChange:e=>{I(e?Math.abs(e.end-e.start)+1:0)},onLineSelectionEnd:e=>{if(I(0),e){let t=dG(e);jt({lineNumber:t.lineNumber,startLineNumber:t.startLineNumber})}},onGutterUtilityClick:e=>{let t=dG(e);jt({lineNumber:t.lineNumber,startLineNumber:t.startLineNumber})},theme:{dark:St.type===`dark`?St.themeName:`rose-pine`,light:St.type===`light`?St.themeName:`github-light`},themeType:St.type,unsafeCSS:Ct},selectedLines:O?N:void 0,lineAnnotations:It,renderAnnotation:Lt})}),un=(0,G.jsxs)(`div`,{className:[`plan-rendered-layout`,re&&Ht.length>0&&!$e?`has-toc`:``,Qe?`plan-rendered-layout-solo`:``,$e?`plan-rendered-layout-zen`:``].filter(Boolean).join(` `),children:[re&&Ht.length>0&&!$e&&(0,G.jsxs)(`nav`,{className:`plan-toc`,"aria-label":`Plan outline`,children:[(0,G.jsxs)(`div`,{className:`plan-toc-head`,children:[(0,G.jsx)(EO,{size:12,"aria-hidden":`true`}),(0,G.jsx)(`span`,{children:`Outline`})]}),(0,G.jsx)(`ul`,{className:`plan-toc-list`,children:Ht.map(e=>(0,G.jsx)(`li`,{className:`plan-toc-item plan-toc-level-${Math.min(e.level,4)}`,children:(0,G.jsx)(`a`,{href:`#${e.id}`,onClick:t=>{t.preventDefault();let n=document.getElementById(e.id);n&&nn(n,`start`),typeof history<`u`&&history.replaceState(null,``,`#${e.id}`)},children:e.text})},e.id))})]}),(0,G.jsx)(`div`,{ref:Re,className:`markdown-body plan-rendered`,onClick:xt,children:(0,G.jsx)(c4,{body:ft,outline:Ht,comments:Et,onResolve:t=>y(e.id,t),onUnresolve:t=>b(e.id,t),onDelete:t=>x(e.id,t),onEdit:(t,n)=>v(e.id,t,n),onReply:(t,n)=>S(e.id,t,n),onEditReply:(t,n,r)=>C(e.id,t,n,r),onDeleteReply:(t,n)=>w(e.id,t,n)})})]}),dn=(0,W.useMemo)(()=>`${c}:${nt}:${Et.map(e=>e.id).join(`,`)}:${j.map(e=>e.id).join(`,`)}`,[c,nt,Et,j]),fn=Xe&&!H&&j.length>0?(0,G.jsx)(P4,{planId:e.id,composers:j,onChange:M,onSubmit:Ft,planBody:ft,buildSourceContext:Pt,renderedRootRef:Re,layoutEpoch:dn}):null,pn=pe===`saving`?`Saving…`:pe===`saved`?`Saved`:pe===`dirty`?`Unsaved`:pe===`error`?he||`Save failed`:null;return(0,G.jsxs)(`div`,{className:`plan-review ${$e?`plan-review-zen`:``} ${Qe?`plan-review-read`:``} ${H?`plan-review-editing`:``}`,children:[(0,G.jsxs)(`header`,{className:`plan-review-head`,ref:ze,children:[(0,G.jsxs)(`div`,{className:`plan-review-head-main`,children:[(0,G.jsxs)(`div`,{className:`plan-review-title-row`,children:[H?(0,G.jsx)(`input`,{className:`plan-review-title-input`,value:de,onChange:e=>fe(e.target.value),"aria-label":`Plan title`,placeholder:`Untitled plan`}):(0,G.jsxs)(`h2`,{className:`plan-review-title`,title:pt,children:[pt,ut&&pt!==e.title&&(0,G.jsxs)(`span`,{className:`plan-review-title-historical`,title:`Currently submitted title: ${e.title}`,children:[` `,`· was “`,e.title,`”`]})]}),(0,G.jsxs)(`span`,{className:`plan-badge ${Rt.className}`,children:[(0,G.jsx)(zt,{size:12,"aria-hidden":`true`}),Rt.label]}),H&&pn&&(0,G.jsxs)(`span`,{className:`plan-review-chip plan-review-save-status plan-review-save-status-${pe}`,role:`status`,title:he??void 0,children:[pe===`saving`&&(0,G.jsx)(DO,{size:11,className:`spin`,"aria-hidden":`true`}),pn]})]}),(0,G.jsxs)(`div`,{className:`plan-review-meta`,children:[tt.length<=1?(0,G.jsxs)(`span`,{className:`plan-review-chip`,children:[`v`,nt]}):(0,G.jsxs)(`div`,{className:`plan-review-version-switcher ${ut?`is-historical`:``}`,children:[(0,G.jsx)(xO,{size:12,"aria-hidden":`true`,className:`plan-review-version-switcher-icon`}),(0,G.jsx)(tW,{value:String(nt),onValueChange:t=>{let n=Number(t);if(H&&n!==e.version){Kt().then(()=>rt(n));return}rt(n)},options:bt,ariaLabel:`Plan version`}),ut&&(0,G.jsxs)(`button`,{type:`button`,className:`plan-review-version-back`,onClick:()=>rt(e.version),title:`Back to current v${e.version}`,children:[(0,G.jsx)(zD,{size:11,"aria-hidden":`true`}),`Current`]})]}),e.model&&(0,G.jsxs)(`span`,{className:`plan-review-chip plan-review-chip-model`,title:e.model,children:[(0,G.jsx)(VD,{size:11,"aria-hidden":`true`}),e.model]}),(0,G.jsxs)(`span`,{className:`plan-review-meta-stat`,title:`${Wt} lines · ${Ut} words · updated ${eE(e.updatedAt)}`,children:[Wt,`L · `,Ut,`W`,Ot>0&&(0,G.jsxs)(`span`,{className:`plan-review-meta-open`,children:[` · `,Ot,` open`]}),Tt.length>0&&Ot===0&&(0,G.jsxs)(`span`,{children:[` · `,Tt.length,` comment`,Tt.length===1?``:`s`]}),ut&&kt!==Tt.length&&(0,G.jsxs)(`span`,{className:`plan-review-chip-sub`,children:[` of `,kt]})]}),(F>0||j.length>0)&&(0,G.jsx)(`span`,{className:`plan-review-chip plan-review-chip-selection`,"aria-live":`polite`,children:j.length>0?`${j.length} draft${j.length===1?``:`s`}`:`${F} selected`}),(Bt||e.source)&&(0,G.jsxs)(`div`,{className:`plan-source-inline`,children:[(0,G.jsx)(pO,{size:12,className:`plan-source-icon`,"aria-hidden":`true`}),(0,G.jsx)(`code`,{className:`plan-source-path`,title:Bt??e.source,children:Vt??e.source}),Bt&&(0,G.jsx)($T,{content:`Copy absolute source path`,side:`top`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn`,onClick:()=>en(Bt,`Path copied`),"aria-label":`Copy plan source path`,children:(0,G.jsx)(oO,{size:12})})}),z&&(0,G.jsx)(`span`,{className:`plan-source-flash`,role:`status`,children:z})]})]})]}),(0,G.jsxs)(`div`,{className:`plan-review-head-actions`,role:`toolbar`,"aria-label":`Plan actions`,children:[(0,G.jsx)($T,{content:`Copy review link`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn`,onClick:()=>en(sn,`Link copied`),"aria-label":`Copy review URL`,children:(0,G.jsx)(TO,{size:14})})}),(0,G.jsx)($T,{content:`Copy plan markdown`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn`,onClick:()=>en(ft,`Markdown copied`),"aria-label":`Copy plan markdown`,children:(0,G.jsx)(fO,{size:14})})}),Bt&&(0,G.jsx)($T,{content:`Open source in editor`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn`,onClick:tn,disabled:se,"aria-label":`Open plan source in editor`,children:se?(0,G.jsx)(DO,{size:14,className:`spin`}):(0,G.jsx)(cO,{size:14})})}),dt&&(0,G.jsx)($T,{content:H?`Done editing (e) — autosave flushes on exit`:`Edit plan live (e)`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn ${H?`is-active`:``} ${mt?`is-dirty`:``}`,onClick:()=>{H?Kt():Gt()},"aria-pressed":H,"aria-label":H?`Done editing plan`:`Edit plan`,children:(0,G.jsx)(GO,{size:14})})}),H&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)($T,{content:`Save now (⌘S)`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn`,onClick:()=>{ke.current&&=(clearTimeout(ke.current),null),Zt()},disabled:pe===`saving`||D||Ce,"aria-label":`Save plan now`,children:(0,G.jsx)(XO,{size:14})})}),(0,G.jsx)($T,{content:`Save as new version — bumps version and reopens review`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn`,onClick:()=>be(!0),disabled:pe===`saving`||D||Ce||!ue.trim(),"aria-label":`Save as new version`,children:D?(0,G.jsx)(DO,{size:14,className:`spin`}):(0,G.jsx)(hO,{size:14})})}),(0,G.jsx)($T,{content:vt?`Discard edits (Esc) — recent session or roll back to original`:gt&&!ht?`Roll back to original (Esc) — before you started editing this version`:`Discard edits (Esc) — restore to start of this edit session`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn plan-icon-btn-danger`,onClick:Xt,disabled:!yt||Ce||pe===`saving`,"aria-label":`Discard edits`,title:`Esc`,children:Ce?(0,G.jsx)(DO,{size:14,className:`spin`}):(0,G.jsx)(YO,{size:14})})})]}),(0,G.jsx)(`span`,{className:`plan-action-divider`,"aria-hidden":`true`}),Qe&&(0,G.jsx)($T,{content:$e?`Exit zen reading (z / Esc)`:`Zen mode — full-width focus reading (z)`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn ${$e?`is-active`:``}`,onClick:()=>et(e=>!e),"aria-pressed":$e,"aria-label":$e?`Exit zen reading`:`Enter zen reading mode`,children:$e?(0,G.jsx)(IO,{size:14}):(0,G.jsx)(kO,{size:14})})}),Xe&&Ht.length>0&&!$e&&(0,G.jsx)($T,{content:re?`Hide outline (o)`:`Show outline (o)`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn ${re?`is-active`:``}`,onClick:()=>ae(e=>!e),"aria-pressed":re,"aria-label":re?`Hide outline`:`Show outline`,children:(0,G.jsx)(EO,{size:14})})}),Tt.length>0&&!$e&&(0,G.jsx)($T,{content:ie?`Hide comments map (c)`:Ot>0?`Show comments map (${Ot} open) · c`:`Show comments map (c)`,side:`bottom`,children:(0,G.jsxs)(`button`,{type:`button`,className:`plan-icon-btn ${ie?`is-active`:``}`,onClick:()=>oe(e=>!e),"aria-pressed":ie,"aria-label":ie?`Hide comments map`:Ot>0?`Show comments map, ${Ot} open`:`Show comments map`,children:[(0,G.jsx)(FO,{size:14}),Ot>0&&(0,G.jsx)(`span`,{className:`plan-icon-btn-badge`,children:Ot})]})})]})]}),$e&&(0,G.jsxs)(`div`,{className:`plan-zen-bar`,role:`status`,children:[(0,G.jsx)(`span`,{className:`plan-zen-bar-label`,children:`Zen reading`}),(0,G.jsx)(`span`,{className:`plan-zen-bar-hint`,children:`Esc or button to exit`}),(0,G.jsxs)(`button`,{type:`button`,className:`plan-zen-bar-exit`,onClick:()=>et(!1),children:[(0,G.jsx)(IO,{size:13,"aria-hidden":`true`}),`Exit zen`]})]}),ut&&(0,G.jsxs)(`div`,{className:`plan-review-historical-banner`,role:`status`,children:[(0,G.jsx)(xO,{size:14,"aria-hidden":`true`}),(0,G.jsxs)(`span`,{children:[`Viewing `,(0,G.jsxs)(`strong`,{children:[`v`,nt]}),` of this plan (current is`,` `,(0,G.jsxs)(`strong`,{children:[`v`,e.version]}),`). Comments and line anchors reflect v`,nt,`.`]}),(0,G.jsxs)(`button`,{type:`button`,className:`plan-review-historical-banner-back`,onClick:()=>rt(e.version),children:[(0,G.jsx)(zD,{size:11,"aria-hidden":`true`}),`Back to current`]})]}),H&&(0,G.jsxs)(`div`,{className:`plan-review-edit-banner`,role:`status`,children:[(0,G.jsx)(GO,{size:14,"aria-hidden":`true`}),(0,G.jsxs)(`span`,{children:[`Editing live — changes autosave to the current version`,kt>0?`. Line anchors on existing comments may shift if you insert or delete lines.`:`.`,` `,`New comments are disabled until you finish editing.`,_t?` Prior session edits are saved; Esc or Discard can roll back further.`:` Esc opens discard.`]}),yt&&(0,G.jsxs)(`button`,{type:`button`,className:`plan-review-edit-banner-discard`,onClick:Xt,disabled:Ce||pe===`saving`,children:[(0,G.jsx)(YO,{size:11,"aria-hidden":`true`}),gt&&!ht?`Roll back to original`:`Discard edits`,(0,G.jsx)(`kbd`,{className:`plan-review-edit-banner-kbd`,children:`Esc`})]}),H&&c===`rendered`&&(0,G.jsx)(`button`,{type:`button`,className:`plan-review-historical-banner-back`,onClick:()=>l?.(`split`),children:`Show source`})]}),!H&&Te&&(0,G.jsxs)(`div`,{className:`plan-review-exit-saved-banner`,role:`status`,children:[(0,G.jsx)(XO,{size:14,"aria-hidden":`true`}),(0,G.jsxs)(`span`,{children:[(0,G.jsx)(`strong`,{children:`Edits saved`}),` to this version. They are now the starting point the next time you press Edit. Use `,(0,G.jsx)(`strong`,{children:`Discard`}),` after re-entering edit to roll back to the plan as it was before you started editing this version.`]}),(0,G.jsx)(`button`,{type:`button`,className:`plan-review-exit-saved-banner-dismiss`,onClick:()=>Ee(!1),"aria-label":`Dismiss saved-edits notice`,children:(0,G.jsx)(ck,{size:14})})]}),_e!=null&&(0,G.jsxs)(`div`,{className:`plan-review-conflict-banner`,role:`alert`,children:[(0,G.jsx)(NO,{size:14,"aria-hidden":`true`}),(0,G.jsxs)(`span`,{children:[`Agent submitted `,(0,G.jsxs)(`strong`,{children:[`v`,_e]}),` while you have unsaved edits. Keep your draft, or discard and load the new version.`]}),(0,G.jsx)(`button`,{type:`button`,className:`plan-review-historical-banner-back`,onClick:()=>ve(null),children:`Keep editing`}),(0,G.jsx)(`button`,{type:`button`,className:`plan-review-historical-banner-back`,onClick:qt,children:`Discard & load`})]}),e.decision!==`pending`&&e.decisionComment&&(0,G.jsxs)(`div`,{className:`plan-decision-banner ${Rt.className}`,children:[(0,G.jsx)(zt,{size:15,"aria-hidden":`true`}),(0,G.jsxs)(`div`,{className:`plan-decision-banner-text`,children:[(0,G.jsx)(`strong`,{children:Rt.label}),(0,G.jsx)(gH,{content:e.decisionComment,className:`plan-decision-banner-note markdown-body`})]})]}),Dt.length>0&&(0,G.jsxs)(`section`,{className:`plan-general-section`,"aria-label":`General comments`,children:[(0,G.jsxs)(`div`,{className:`plan-general-header`,children:[(0,G.jsx)(MO,{size:14,"aria-hidden":`true`}),(0,G.jsx)(`span`,{children:`General comments`}),(0,G.jsx)(`span`,{className:`plan-general-count`,children:Dt.length})]}),(0,G.jsx)(`div`,{className:`plan-general-list`,children:Dt.map(t=>(0,G.jsx)(`div`,{id:`plan-comment-${t.id}`,children:(0,G.jsx)(i4,{comment:t,onResolve:()=>y(e.id,t.id),onUnresolve:()=>b(e.id,t.id),onDelete:()=>x(e.id,t.id),onEdit:n=>v(e.id,t.id,n),onReply:n=>S(e.id,t.id,n),onEditReply:(n,r)=>C(e.id,t.id,n,r),onDeleteReply:n=>w(e.id,t.id,n)})},t.id))})]}),(0,G.jsxs)(`div`,{className:`plan-review-body ${!$e&&ie&&Tt.length>0?`plan-review-body-with-rail`:``}`,children:[(0,G.jsxs)(`div`,{ref:Be,className:`plan-content ${Ze?`plan-content-split`:`plan-content-single`} ${We?`plan-content-split-dragging`:``} ${Qe?`plan-content-read`:``} ${$e?`plan-content-zen`:``}`,style:Ze?{"--plan-split-pct":`${He}%`}:void 0,children:[Ye&&ln,Ze&&(0,G.jsx)(`div`,{className:`plan-split-resize-handle`,onMouseDown:cn,onDoubleClick:()=>{Ue(50),DD(x4.splitRatio,`50`),Be.current?.style.setProperty(`--plan-split-pct`,`50%`)},role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize source and rendered panes`,title:`Drag to resize · double-click to reset 50/50`,"aria-valuenow":Math.round(He),"aria-valuemin":20,"aria-valuemax":80,tabIndex:0,onKeyDown:e=>{if(e.key!==`ArrowLeft`&&e.key!==`ArrowRight`)return;e.preventDefault();let t=w4(He+(e.key===`ArrowLeft`?-2:2));Ue(t),DD(x4.splitRatio,String(t)),Be.current?.style.setProperty(`--plan-split-pct`,`${t}%`)},children:(0,G.jsx)(`span`,{className:`plan-split-resize-grip`,"aria-hidden":`true`})}),Xe&&un]}),!$e&&ie&&Tt.length>0&&(0,G.jsxs)(`aside`,{className:`plan-comments-rail`,"aria-label":`Comments map`,children:[(0,G.jsxs)(`div`,{className:`plan-comments-rail-head`,children:[(0,G.jsx)(FO,{size:12,"aria-hidden":`true`}),(0,G.jsx)(`span`,{children:`Comments`}),(0,G.jsx)(`span`,{className:`plan-comments-rail-count`,children:Ot>0?`${Ot} open`:`${Tt.length}`})]}),(0,G.jsx)(`ul`,{className:`plan-comments-rail-list`,children:[...Tt].sort((e,t)=>e.status===t.status?e.lineNumber-t.lineNumber:e.status===`open`?-1:1).map(e=>(0,G.jsx)(`li`,{children:(0,G.jsxs)(`button`,{type:`button`,className:`plan-comments-rail-item ${e.status===`resolved`?`is-resolved`:``}`,onClick:()=>rn(e.id,e.lineNumber),title:e.body.slice(0,200),children:[(0,G.jsx)(`span`,{className:`plan-comments-rail-line`,children:o4(e)}),(0,G.jsxs)(`span`,{className:`plan-comments-rail-preview`,children:[e.sectionTitle?`${e.sectionTitle} · `:``,e.body.replace(/\s+/g,` `).slice(0,80),e.body.length>80?`…`:``]}),(0,G.jsx)(`span`,{className:`plan-comments-rail-status plan-comments-rail-status-${e.status}`,children:e.status})]})},e.id))})]})]}),Ie&&!H&&(0,G.jsxs)(`button`,{type:`button`,className:`plan-selection-popup plan-selection-popup-${Ie.placement}`,style:{left:Ie.x,top:Ie.y},onMouseDown:e=>e.preventDefault(),onClick:on,children:[(0,G.jsx)(MO,{size:13,"aria-hidden":`true`}),`Add comment`,(0,G.jsxs)(`span`,{className:`plan-selection-popup-lines`,children:[`L`,Ie.startLine,Ie.endLine===Ie.startLine?``:`–${Ie.endLine}`]})]}),fn,(0,G.jsx)(l4,{isOpen:!!L,filePath:L,onClose:()=>R(null)}),(0,G.jsx)(T4,{open:ye,title:`Save as new version?`,description:`Creates v${e.version+1} from your current draft and reopens the plan for review (decision becomes pending). In-place autosave does not create a version.`,confirmLabel:`Save as new version`,cancelLabel:`Cancel`,variant:`primary`,onConfirm:()=>{Qt()},onCancel:()=>be(!1)}),(0,G.jsx)(W4,{open:xe,canDiscardRecent:ht,canRollbackOriginal:gt&&_t,onChoose:e=>{Yt(e)},onCancel:()=>Se(!1),busy:Ce})]})}function X4(e,t,n){return`
3907
3907
  :host {
3908
3908
  --diffs-tab-size: ${e} !important;
3909
3909
  --diffs-font-family: ${n} !important;
@@ -3956,4 +3956,4 @@ https://github.com/highlightjs/highlight.js/issues/2277`),i=e,r=t),n===void 0&&(
3956
3956
  overflow-wrap: break-word !important;
3957
3957
  min-width: 0 !important;
3958
3958
  }
3959
- `}var X4={pending:{icon:rO,className:`plan-badge-pending`,label:`Pending`},approved:{icon:UD,className:`plan-badge-approved`,label:`Approved`},"changes-requested":{icon:NO,className:`plan-badge-changes`,label:`Changes`},rejected:{icon:ck,className:`plan-badge-rejected`,label:`Rejected`},"comment-only":{icon:PO,className:`plan-badge-comment-only`,label:`Comment only`}},Z4=[`all`,`pending`,`approved`,`changes-requested`,`rejected`,`comment-only`];function Q4(){try{let e=CD(b4.decisionFilter);if(e&&Z4.includes(e))return e}catch{}return`all`}function $4({plans:e,activeId:t,onSelect:n,onDelete:r,collapsed:i,onToggleCollapse:a}){let[o,s]=(0,W.useState)(``),[c,l]=(0,W.useState)(Q4),[u,d]=(0,W.useState)(null),f=(0,W.useCallback)(e=>{l(e),DD(b4.decisionFilter,e)},[]),p=(0,W.useMemo)(()=>[...e].sort((e,t)=>t.createdAt-e.createdAt),[e]),m=(0,W.useMemo)(()=>{let e=o.toLowerCase().trim();return p.filter(t=>c!==`all`&&t.decision!==c?!1:e?`${t.title} ${t.source??``} ${t.sourcePath??``} ${t.model??``} ${t.id}`.toLowerCase().includes(e):!0)},[p,o,c]),h=(0,W.useMemo)(()=>e.filter(e=>e.decision===`pending`).length,[e]);return i?(0,G.jsx)(`div`,{className:`plan-list plan-list-collapsed`,children:a&&(0,G.jsx)($T,{content:`Expand sidebar · b`,side:`right`,children:(0,G.jsx)(`button`,{className:`sidebar-toggle`,onClick:a,"aria-label":`Expand sidebar`,children:(0,G.jsx)(UO,{size:16})})})}):(0,G.jsxs)(`div`,{className:`plan-list`,children:[(0,G.jsxs)(`div`,{className:`plan-list-chrome`,children:[(0,G.jsxs)(`div`,{className:`plan-list-toolbar`,children:[a&&(0,G.jsx)($T,{content:`Collapse sidebar · b`,side:`right`,children:(0,G.jsx)(`button`,{className:`sidebar-toggle`,onClick:a,"aria-label":`Collapse sidebar`,children:(0,G.jsx)(HO,{size:16})})}),(0,G.jsxs)(`div`,{className:`plan-list-search`,children:[(0,G.jsx)(ZO,{size:14,className:`plan-list-search-icon`,"aria-hidden":`true`}),(0,G.jsx)(`input`,{type:`text`,placeholder:`Search plans…`,value:o,onChange:e=>s(e.target.value),className:`plan-list-search-input`,"aria-label":`Search plans`})]})]}),(0,G.jsx)(`div`,{className:`plan-list-filters`,role:`group`,"aria-label":`Filter by decision`,children:[{id:`all`,label:`All`},{id:`pending`,label:h?`Pending ${h}`:`Pending`},{id:`approved`,label:`Approved`},{id:`changes-requested`,label:`Changes`},{id:`rejected`,label:`Rejected`}].map(e=>(0,G.jsx)(`button`,{type:`button`,className:`plan-list-filter ${c===e.id?`is-active`:``}`,"aria-pressed":c===e.id,onClick:()=>f(e.id),children:e.label},e.id))})]}),(0,G.jsxs)(`div`,{className:`plan-list-scroll`,children:[(0,G.jsx)(`div`,{className:`plan-list-header`,children:(0,G.jsx)(`span`,{children:m.length===e.length?`${e.length} plan${e.length===1?``:`s`}`:`${m.length} of ${e.length}`})}),m.length===0&&(0,G.jsx)(`div`,{className:`plan-list-empty`,children:o||c!==`all`?`No matching plans.`:`No plans yet.`}),(0,G.jsx)(`div`,{className:`plan-list-items`,children:m.map(e=>{let i=X4[e.decision],a=i.icon,o=(e.comments??[]).filter(e=>e.status===`open`).length,s=e.sourcePath||e.source,c=e.id===t;return(0,G.jsxs)(`div`,{className:`plan-list-item ${c?`plan-list-item-active`:``}`,onClick:()=>n(e.id),role:`button`,tabIndex:0,"aria-current":c?`true`:void 0,onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),n(e.id))},children:[(0,G.jsxs)(`div`,{className:`plan-list-item-top`,children:[(0,G.jsx)(`span`,{className:`plan-badge plan-badge-dot ${i.className}`,title:i.label,children:(0,G.jsx)(a,{size:11,"aria-hidden":`true`})}),(0,G.jsx)(`span`,{className:`plan-list-item-title`,title:e.title,children:e.title}),s&&(0,G.jsx)($T,{content:`Copy source path`,children:(0,G.jsx)(`button`,{className:`plan-list-copy-path`,title:`Copy source path`,"aria-label":`Copy source path`,onClick:t=>{t.stopPropagation();let n=e.sourcePath||e.source||``;navigator.clipboard?.writeText(n).then(()=>{d(e.id),window.setTimeout(()=>d(null),1200)},()=>{})},children:u===e.id?(0,G.jsx)(UD,{size:12}):(0,G.jsx)(oO,{size:12})})}),(0,G.jsx)(`button`,{className:`plan-list-delete`,title:`Delete plan`,"aria-label":`Delete plan`,onClick:t=>{t.stopPropagation(),r(e.id)},children:(0,G.jsx)(rk,{size:12,"aria-hidden":`true`})})]}),(0,G.jsxs)(`div`,{className:`plan-list-item-sub`,children:[(0,G.jsxs)(`span`,{className:`plan-list-item-version`,children:[`v`,e.version]}),o>0&&(0,G.jsxs)(`span`,{className:`plan-list-item-open`,children:[o,` open`]}),e.model&&(0,G.jsxs)(`span`,{className:`plan-list-item-model`,title:e.model,children:[(0,G.jsx)(VD,{size:10,"aria-hidden":`true`}),e.model]}),(0,G.jsx)(`span`,{className:`plan-list-item-time`,children:eE(e.createdAt)})]})]},e.id)})})]})]})}var e3=[{value:`approved`,label:`Approve`,description:`The plan looks good — the agent should proceed.`,icon:UD,className:`plan-verdict-approve`},{value:`changes-requested`,label:`Request changes`,description:`The agent should revise the plan and resubmit it.`,icon:NO,className:`plan-verdict-changes`},{value:`rejected`,label:`Reject`,description:`Don't proceed — the approach needs rethinking.`,icon:ck,className:`plan-verdict-reject`},{value:`comment-only`,label:`Comment only`,description:`Agent must NOT edit files — only reply to comments. General note goes to chat.`,icon:PO,className:`plan-verdict-comment-only`}];function t3({openCommentCount:e,onSubmit:t,submitting:n,agentWaiting:r,currentDecision:i}){let{haptic:a,sound:o}=pD(),[s,c]=(0,W.useState)(!1),[l,u]=(0,W.useState)(null),[d,f]=(0,W.useState)(``),{popoverStyle:p,activePreset:m,applyPreset:h,startResize:g,startLeftResize:_,startCornerResize:v,handleOpenChange:y,panelRef:b}=LH(),x=async()=>{l&&(a(`heavy`),o(`send`),await t(l,d,l===`comment-only`?`comment-only`:`standard`),f(``),u(null),c(!1))},S=i!==`pending`;return(0,G.jsx)(Qk,{open:s,onOpenChange:(e,t)=>y(e,t,c),ariaLabel:`Submit plan review`,className:`submit-plan-review-popover`,trigger:(0,G.jsxs)(`button`,{className:`btn btn-primary btn-sm send-review-btn`,disabled:n,title:r?`An agent is connected and waiting for your verdict`:`Submit your verdict on this plan`,style:{display:`inline-flex`,alignItems:`center`,gap:`6px`},children:[r&&(0,G.jsx)(`span`,{className:`agent-waiting-dot`,"aria-hidden":`true`}),S?(0,G.jsx)(qO,{size:14}):(0,G.jsx)(eO,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:n?`Submitting…`:S?`Update review`:`Submit review`})]}),children:(0,G.jsxs)(`div`,{className:`srp`,ref:b,style:p,children:[(0,G.jsx)(`div`,{className:`srp-resize-handle-left`,onPointerDown:_,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize submit panel width`,tabIndex:0}),(0,G.jsxs)(`div`,{className:`srp-head`,children:[S?(0,G.jsx)(qO,{size:15,"aria-hidden":`true`}):(0,G.jsx)(eO,{size:15,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:`srp-title`,children:S?`Update plan review`:`Submit plan review`}),(0,G.jsx)(`div`,{className:`srp-size-presets`,role:`group`,"aria-label":`Panel size`,children:OH.map((e,t)=>(0,G.jsx)(`button`,{className:`srp-preset-btn`,role:`radio`,"aria-checked":m===t,"aria-pressed":m===t,onClick:()=>h(e),title:`${e.width}×${e.height}px`,children:e.label},e.label))}),e>0&&(0,G.jsxs)(`span`,{className:`srp-count`,children:[e,` open comment`,e===1?``:`s`]})]}),(0,G.jsxs)(`div`,{className:`srp-scroll`,children:[(0,G.jsx)(`div`,{className:`plan-verdict-options`,role:`radiogroup`,"aria-label":`Verdict`,children:e3.map(e=>{let t=e.icon,n=l===e.value;return(0,G.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":n,className:`plan-verdict-option ${e.className} ${n?`plan-verdict-option-selected`:``}`,onClick:()=>u(e.value),children:[(0,G.jsx)(`span`,{className:`plan-verdict-icon`,children:(0,G.jsx)(t,{size:15,"aria-hidden":`true`})}),(0,G.jsxs)(`span`,{className:`plan-verdict-text`,children:[(0,G.jsx)(`span`,{className:`plan-verdict-label`,children:e.label}),(0,G.jsx)(`span`,{className:`plan-verdict-desc`,children:e.description})]}),(0,G.jsx)(`span`,{className:`plan-verdict-radio`,"aria-hidden":`true`})]},e.value)})}),(0,G.jsxs)(`div`,{className:`srp-general`,children:[(0,G.jsxs)(`label`,{className:`srp-general-label`,htmlFor:`plan-decision-comment`,children:[`Overall comment `,(0,G.jsx)(`span`,{className:`srp-optional`,children:`(optional · Markdown)`})]}),(0,G.jsx)(TH,{id:`plan-decision-comment`,value:d,onChange:f,textareaClassName:`srp-general-input`,placeholder:`Add an overall note for the agent that applies to the whole plan…`,rows:3,ariaLabel:`Overall plan review comment`,onSubmitShortcut:x})]})]}),(0,G.jsxs)(`div`,{className:`srp-footer`,children:[(0,G.jsx)(`button`,{className:`btn btn-sm`,onClick:()=>c(!1),disabled:n,children:`Cancel`}),(0,G.jsx)(`button`,{className:`btn btn-primary btn-sm`,onClick:x,disabled:!l||n,children:n?`Submitting…`:`Submit review`})]}),(0,G.jsx)(`div`,{className:`srp-resize-handle`,onPointerDown:g,role:`separator`,"aria-orientation":`horizontal`,"aria-label":`Resize submit panel`,tabIndex:0}),(0,G.jsx)(`div`,{className:`srp-resize-handle-corner`,onPointerDown:v,role:`separator`,"aria-label":`Resize submit panel width and height`,tabIndex:0})]})})}var n3=[11,12,13,14,15,16].map(e=>({value:String(e),label:`${e}px`})),r3=[2,4,8].map(e=>({value:String(e),label:String(e)})),i3=[{value:`both`,label:`Both`},{value:`line`,label:`Line only`},{value:`number`,label:`Number only`},{value:`disabled`,label:`Disabled`}];function a3(){let e=Am(),{settings:t,loaded:n,updateSettings:r}=IE();LE(n,t.uiFont,t.monoFont);let{plans:i,getPlan:a,removePlan:o,agentActivity:s,clearAgentActivity:c,submitDecision:l,submitting:u,agentWaiting:d,isLoading:f}=wE(),p=jE(),[m,h]=(0,W.useState)(!1),[g,_]=(0,W.useState)(!1),[v,y]=(0,W.useState)(!1);(0,W.useEffect)(()=>{let e=e=>{if(e.metaKey||e.ctrlKey){if(e.key===`,`||e.code===`Comma`){e.preventDefault(),_(e=>!e);return}(e.key===`?`||e.key===`/`&&e.shiftKey||e.code===`Slash`&&e.shiftKey)&&(e.preventDefault(),y(!0))}};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[]);let[b,x]=(0,W.useState)(()=>{try{let e=CD(b4.viewMode);if(e===`rendered`||e===`split`||e===`source`)return e}catch{}return`source`}),S=(0,W.useCallback)(e=>{x(e);try{DD(b4.viewMode,e)}catch{}},[]),[C,w]=(0,W.useState)(()=>x4(b4.zenMode,!1)),T=(0,W.useCallback)(e=>{w(e);try{DD(b4.zenMode,String(e))}catch{}},[]),E=(0,W.useCallback)(()=>{b===`rendered`?T(!C):(S(`rendered`),T(!0))},[b,C,S,T]),[D,O]=(0,W.useState)(()=>{try{let e=CD(b4.tocOpen);if(e===`false`)return!1;if(e===`true`)return!0}catch{}return!0}),[k,A]=(0,W.useState)(()=>{try{let e=CD(b4.commentsRail);if(e===`false`)return!1;if(e===`true`)return!0}catch{}return!0}),j=(0,W.useCallback)(e=>{O(e),DD(b4.tocOpen,String(e))},[]),M=(0,W.useCallback)(e=>{A(e),DD(b4.commentsRail,String(e))},[]),N=(0,W.useCallback)(()=>{j(!D)},[D,j]),P=(0,W.useCallback)(()=>{M(!k)},[k,M]),F=(0,W.useMemo)(()=>{let e=/^\/plan\/([^/]+)/.exec(p);return e?decodeURIComponent(e[1]):null},[p]),I=(0,W.useMemo)(()=>F?a(F):i.length===0?null:[...i].reverse().find(e=>e.decision===`pending`)??i[i.length-1],[F,i,a]),L=(0,W.useMemo)(()=>nE[t.theme||`rose-pine`]||nE[`rose-pine`],[t.theme]);(0,W.useEffect)(()=>{let e=t.theme||`rose-pine`,n=document.documentElement;n.classList.add(`theme-switching`),n.setAttribute(`data-theme`,e);let r=requestAnimationFrame(()=>{requestAnimationFrame(()=>n.classList.remove(`theme-switching`))});return()=>cancelAnimationFrame(r)},[t.theme]),(0,W.useEffect)(()=>{e&&e.setRenderOptions({theme:{dark:L.type===`dark`?L.themeName:`rose-pine`,light:L.type===`light`?L.themeName:`github-light`}}).catch(e=>console.error(`Failed to set worker pool render options:`,e))},[e,L]),(0,W.useEffect)(()=>{let e=L.type===`dark`?L.themeName:`rose-pine`,t=L.type===`light`?L.themeName:`github-light`;Uf({themes:Array.from(new Set([e,t])),langs:[]}).catch(()=>{})},[L]);let[R,z]=(0,W.useState)(()=>{try{let e=CD(`diffing-sidebar-collapsed`);if(e!=null)return e===`true`}catch{}return typeof window<`u`&&window.innerWidth<=768}),[ee,te]=(0,W.useState)(()=>{try{let e=CD(`diffing-sidebar-width`);return e?Number(e):320}catch{return 320}});(0,W.useEffect)(()=>{try{DD(`diffing-sidebar-collapsed`,String(R))}catch{}},[R]);let ne=(0,W.useRef)(ee);ne.current=ee;let B=(0,W.useRef)(null),V=(0,W.useRef)(null),re=(0,W.useRef)(null),ie=(0,W.useCallback)(e=>{e.preventDefault();let t=e.clientX,n=ne.current,r=V.current,i=re.current,a=r?r.getBoundingClientRect().left:0,o=n,s=0,c=()=>{s=0,i&&(i.style.transform=`translateX(${a+o}px)`)};i&&(i.style.transform=`translateX(${a+n}px)`,i.classList.add(`sidebar-resize-guide-active`));let l=e=>{let r=e.clientX-t;o=Math.max(240,Math.min(640,n+r)),s||=requestAnimationFrame(c)},u=()=>{s&&cancelAnimationFrame(s),i&&i.classList.remove(`sidebar-resize-guide-active`),te(o);try{DD(`diffing-sidebar-width`,String(o))}catch{}document.removeEventListener(`mousemove`,l),document.removeEventListener(`mouseup`,u),document.body.style.cursor=``,document.body.style.userSelect=``};document.addEventListener(`mousemove`,l),document.addEventListener(`mouseup`,u),document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`},[]),ae=(0,W.useCallback)(()=>{z(e=>!e)},[]),oe=(0,W.useCallback)(()=>{r({lineWrap:!t.lineWrap})},[t.lineWrap,r]),se=(0,W.useCallback)(()=>{r({showLineNumbers:!t.showLineNumbers})},[t.showLineNumbers,r]),ce=(0,W.useCallback)(()=>{let e=[`source`,`rendered`,`split`],t=e[(e.indexOf(b)+1)%e.length];S(t)},[b,S]),H=(0,W.useCallback)(()=>{let e=[2,4,8],n=t.defaultTabSize||4;r({defaultTabSize:e[(e.indexOf(n)+1)%e.length]})},[t.defaultTabSize,r]),le=(0,W.useCallback)(e=>{if(i.length===0)return;let t=[...i].sort((e,t)=>t.createdAt-e.createdAt),n=0;if(I){let r=t.findIndex(e=>e.id===I.id);r!==-1&&(n=e===`next`?Math.min(r+1,t.length-1):Math.max(r-1,0))}let r=t[n];DE(`/plan/${r.id}`)},[i,I]);(0,W.useEffect)(()=>{let e=``,t,n=0,r=r=>{let i=document.activeElement;if(i){let e=i.tagName.toLowerCase();if(e===`input`||e===`textarea`||i.hasAttribute(`contenteditable`))return}clearTimeout(t);let a=r.key;if(r.ctrlKey){a===`d`?(r.preventDefault(),window.scrollBy({top:window.innerHeight/2,behavior:`auto`}),dD(`selection`,`navigate`),e=``):a===`u`&&(r.preventDefault(),window.scrollBy({top:-window.innerHeight/2,behavior:`auto`}),dD(`selection`,`navigate`),e=``);return}if(!(a.length>1&&a!==`Escape`&&a!==`Enter`))if(e+=a,t=setTimeout(()=>{e=``},800),e===`j`){r.preventDefault(),window.scrollBy({top:100,behavior:`auto`});let t=Date.now();t-n>80&&(lD(`navigate`),n=t),e=``}else if(e===`k`){r.preventDefault(),window.scrollBy({top:-100,behavior:`auto`});let t=Date.now();t-n>80&&(lD(`navigate`),n=t),e=``}else e===`gg`?(r.preventDefault(),window.scrollTo({top:0,behavior:`auto`}),dD(`selection`,`navigate`),e=``):e===`G`?(r.preventDefault(),window.scrollTo({top:document.documentElement.scrollHeight,behavior:`auto`}),dD(`selection`,`navigate`),e=``):e===`J`?(r.preventDefault(),le(`next`),dD(`selection`,`navigate`),e=``):e===`K`?(r.preventDefault(),le(`prev`),dD(`selection`,`navigate`),e=``):e===`m`?(r.preventDefault(),ce(),dD(`selection`,`toggle`),e=``):e===`z`?(r.preventDefault(),E(),dD(`selection`,`toggle`),e=``):e===`c`?(r.preventDefault(),P(),dD(`selection`,`toggle`),e=``):e===`o`?(r.preventDefault(),N(),dD(`selection`,`toggle`),e=``):e===`t`?(r.preventDefault(),H(),dD(`selection`,`toggle`),e=``):e===`b`?(r.preventDefault(),ae(),dD(`selection`,`toggle`),e=``):e===`w`?(r.preventDefault(),oe(),dD(`selection`,`toggle`),e=``):e===`n`?(r.preventDefault(),se(),dD(`selection`,`toggle`),e=``):e===`gt`?(r.preventDefault(),h(!0),dD(`medium`,`open`),e=``):e===`?`?(r.preventDefault(),y(!0),dD(`medium`,`open`),e=``):e.length>=2&&(e=``)};return window.addEventListener(`keydown`,r),()=>{window.removeEventListener(`keydown`,r)}},[ae,oe,se,ce,E,P,N,H,le]);let ue=(0,W.useMemo)(()=>I?(I.comments??[]).filter(e=>e.status===`open`).length:0,[I]);return f||!n?(0,G.jsxs)(`div`,{className:`app plan-app skeleton-app`,style:{"--sidebar-width":`${ee}px`},children:[(0,G.jsxs)(`header`,{className:`skeleton-toolbar`,children:[(0,G.jsx)(`div`,{className:`skeleton-item skeleton-logo`,style:{width:`140px`}}),(0,G.jsx)(`div`,{className:`skeleton-item skeleton-stats`,style:{width:`80px`,marginLeft:`20px`}}),(0,G.jsx)(`div`,{className:`skeleton-item skeleton-actions`,style:{width:`220px`}})]}),(0,G.jsxs)(`div`,{className:`app-body`,children:[(0,G.jsx)(`aside`,{className:`sidebar plan-sidebar skeleton-sidebar ${R?`sidebar-collapsed`:``}`,children:!R&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`skeleton-search`,style:{height:`32px`,margin:`0 16px 16px 16px`}}),(0,G.jsx)(`div`,{className:`skeleton-tree-nodes`,children:Array.from({length:4}).map((e,t)=>(0,G.jsxs)(`div`,{className:`skeleton-tree-node`,style:{paddingLeft:`16px`,height:`40px`,borderBottom:`1px solid var(--border-weak)`},children:[(0,G.jsx)(`div`,{className:`skeleton-node-icon`,style:{width:`20px`,height:`20px`,borderRadius:`50%`}}),(0,G.jsx)(`div`,{className:`skeleton-node-text`,style:{width:`${80+t*30%90}px`,height:`14px`}})]},t))})]})}),!R&&(0,G.jsx)(`div`,{className:`sidebar-resize-handle`,style:{cursor:`default`}}),(0,G.jsx)(`main`,{className:`main plan-main skeleton-main`,children:(0,G.jsxs)(`div`,{className:`file-diff-card skeleton-card`,style:{border:`1px solid var(--border-color)`,borderRadius:`8px`},children:[(0,G.jsxs)(`div`,{className:`skeleton-card-header`,style:{padding:`16px 20px`},children:[(0,G.jsx)(`div`,{className:`skeleton-card-title`,style:{width:`250px`,height:`20px`}}),(0,G.jsx)(`div`,{className:`skeleton-card-badge`,style:{width:`100px`,height:`24px`}})]}),(0,G.jsxs)(`div`,{className:`skeleton-card-body`,style:{padding:`24px`,background:`var(--bg-secondary)`,display:`flex`,flexDirection:`column`,gap:`16px`},children:[(0,G.jsx)(`div`,{className:`skeleton-code-line`,style:{width:`90%`,height:`16px`}}),(0,G.jsx)(`div`,{className:`skeleton-code-line`,style:{width:`75%`,height:`16px`}}),(0,G.jsx)(`div`,{className:`skeleton-code-line`,style:{width:`85%`,height:`16px`}}),(0,G.jsx)(`div`,{className:`skeleton-code-line`,style:{width:`40%`,height:`16px`}}),(0,G.jsx)(`div`,{className:`skeleton-code-line`,style:{width:`60%`,height:`16px`}}),(0,G.jsx)(`div`,{className:`skeleton-code-line`,style:{width:`80%`,height:`16px`}})]})]})})]})]}):(0,G.jsx)(fD,{enabled:t.haptics??!0,soundsEnabled:t.sounds??!0,children:(0,G.jsxs)(`div`,{className:`app plan-app`,ref:B,style:{"--sidebar-width":`${ee}px`},children:[(0,G.jsx)(`div`,{className:`sidebar-resize-guide`,ref:re,"aria-hidden":`true`}),(0,G.jsxs)(`div`,{className:`toolbar plan-app-toolbar`,children:[(0,G.jsxs)(`div`,{className:`toolbar-left`,children:[(0,G.jsx)(`button`,{className:`toolbar-mobile-toggle`,onClick:()=>z(!R),"aria-label":`Toggle sidebar`,title:R?`Open sidebar`:`Close sidebar`,children:(0,G.jsx)(AO,{size:18})}),(0,G.jsx)($T,{content:`Back to diff review`,side:`bottom`,children:(0,G.jsxs)(`button`,{className:`btn btn-sm plan-toolbar-back`,onClick:()=>DE(`/`),"aria-label":`Back to the diff review`,children:[(0,G.jsx)(zD,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:`Diff`})]})}),(0,G.jsxs)(`div`,{className:`plan-toolbar-brand`,children:[(0,G.jsx)(HH,{size:18,className:`plan-app-brand`}),(0,G.jsxs)(`div`,{className:`plan-toolbar-brand-text`,children:[(0,G.jsx)(`h1`,{className:`toolbar-title plan-app-title`,children:`Plans`}),I?(0,G.jsx)(`span`,{className:`plan-toolbar-active`,title:I.title,children:I.title}):(0,G.jsxs)(`span`,{className:`plan-toolbar-count`,children:[i.length,` plan`,i.length===1?``:`s`]})]})]})]}),(0,G.jsx)(`div`,{className:`plan-view-toggle`,role:`group`,"aria-label":`Plan view mode`,children:[{id:`source`,label:`Source`,icon:iO,tip:`Source — select lines to comment`},{id:`rendered`,label:`Read`,icon:fO,tip:`Read — rendered markdown (highlight to comment)`},{id:`split`,label:`Split`,icon:aO,tip:`Split — source + rendered (drag the divider to resize)`}].map(({id:e,label:t,icon:n,tip:r})=>(0,G.jsx)($T,{content:`${r} · m to cycle`,side:`bottom`,children:(0,G.jsxs)(`button`,{type:`button`,className:`plan-view-toggle-btn ${b===e?`is-active`:``}`,"aria-pressed":b===e,"aria-label":r,onClick:()=>S(e),children:[(0,G.jsx)(n,{size:13,"aria-hidden":`true`}),(0,G.jsx)(`span`,{children:t})]})},e))}),(0,G.jsxs)(`div`,{className:`toolbar-right`,children:[(0,G.jsx)(Qk,{open:g,onOpenChange:_,ariaLabel:`Settings`,className:`settings-popover`,trigger:(0,G.jsxs)(`button`,{className:`btn btn-sm settings-btn ${g?`btn-active`:``}`,title:`Settings (⌘,)`,"aria-label":`Settings`,children:[(0,G.jsx)(QO,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:`Settings`})]}),children:(0,G.jsxs)(`div`,{className:`popover-scroll settings-panel`,children:[(0,G.jsx)(`div`,{className:`settings-section-label`,children:`Appearance`}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Theme`}),(0,G.jsxs)(`button`,{className:`btn btn-sm settings-btn`,onClick:()=>{_(!1),h(!0)},style:{display:`inline-flex`,alignItems:`center`},children:[(0,G.jsx)(VO,{size:14,style:{marginRight:`4px`}}),(0,G.jsx)(`span`,{children:`Switch Theme...`})]})]}),(0,G.jsx)(`div`,{className:`settings-section-label`,children:`Plan chrome`}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:D,onChange:e=>j(e.target.checked)}),`Show outline`]}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:k,onChange:e=>M(e.target.checked)}),`Show comments panel`]}),(0,G.jsx)(`div`,{className:`settings-section-label`,children:`Display`}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:t.lineWrap,onChange:e=>r({lineWrap:e.target.checked})}),`Wrap long lines`]}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:t.showLineNumbers,onChange:e=>r({showLineNumbers:e.target.checked})}),`Show line numbers`]}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:t.showStatusBar??!0,onChange:e=>r({showStatusBar:e.target.checked})}),`Show status bar`]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Hover highlight`}),(0,G.jsx)(tW,{value:t.lineHoverHighlight,onValueChange:e=>r({lineHoverHighlight:e}),options:i3,ariaLabel:`Hover highlight`})]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Font size`}),(0,G.jsx)(tW,{value:String(t.fontSize),onValueChange:e=>r({fontSize:Number(e)}),options:n3,ariaLabel:`Font size`})]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Default tab size`}),(0,G.jsx)(tW,{value:String(t.defaultTabSize),onValueChange:e=>r({defaultTabSize:Number(e)}),options:r3,ariaLabel:`Default tab size`})]})]})}),I&&(0,G.jsx)(t3,{openCommentCount:ue,onSubmit:(e,t)=>l(I.id,e,t),submitting:u,agentWaiting:d,currentDecision:I.decision})]})]}),!R&&(0,G.jsx)(`div`,{className:`sidebar-mobile-backdrop`,onClick:()=>z(!0),"aria-hidden":`true`}),(0,G.jsxs)(`div`,{className:`app-body`,children:[(0,G.jsx)(`aside`,{ref:V,className:`sidebar plan-sidebar ${R?`sidebar-collapsed`:``}`,children:(0,G.jsx)(`div`,{style:{flex:1,minHeight:0,overflow:`hidden`},children:(0,G.jsx)($4,{plans:i,activeId:I?.id??null,onSelect:e=>DE(`/plan/${e}`),onDelete:e=>{o(e),I?.id===e&&DE(`/plan`)},collapsed:R,onToggleCollapse:()=>z(!R)})})}),!R&&(0,G.jsx)(`div`,{className:`sidebar-resize-handle`,onMouseDown:ie,role:`separator`,"aria-label":`Resize sidebar`,"aria-orientation":`vertical`,tabIndex:0}),(0,G.jsx)(`main`,{className:`main plan-main`,children:I?(0,G.jsx)(J4,{plan:I,theme:t.theme||`rose-pine`,fontSize:t.fontSize,monoFontFamily:FE(t.monoFont),defaultTabSize:t.defaultTabSize,lineWrap:t.lineWrap,showLineNumbers:t.showLineNumbers,lineHoverHighlight:t.lineHoverHighlight,viewMode:b,onViewModeChange:S,editorIDE:t.editorIDE,tocOpen:D,onTocOpenChange:j,commentsRailOpen:k,onCommentsRailOpenChange:M,zenMode:C,onZenModeChange:T},I.id):(0,G.jsx)(o3,{hasPlans:i.length>0,notFound:!!F})})]}),(0,G.jsx)(B2,{open:m,activeTheme:t.theme||`rose-pine`,onThemeChange:e=>r({theme:e}),onClose:()=>h(!1)}),(0,G.jsx)(R2,{activity:s?{at:s.at,commentId:s.commentId,filePath:`plan · ${s.planId.slice(0,8)}`,model:s.model,body:s.body}:null,onDismiss:c,onJump:()=>{s&&(DE(`/plan/${s.planId}`),requestAnimationFrame(()=>{document.getElementById(`plan-comment-${s.commentId}`)?.scrollIntoView({behavior:`smooth`,block:`center`})}))}}),(0,G.jsx)(I2,{activeFile:I?I.title:null,onShowHelp:()=>y(!0),placeholder:`No active plan (J/K to jump)`,visible:t.showStatusBar??!0}),(0,G.jsx)(L2,{isOpen:v,onClose:()=>y(!1),mode:`plan`})]})})}function o3({hasPlans:e,notFound:t}){return(0,G.jsxs)(`div`,{className:`plan-empty-state`,children:[(0,G.jsx)(`div`,{className:`plan-empty-icon`,"aria-hidden":`true`,children:(0,G.jsx)(tO,{size:28})}),t?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`h2`,{className:`plan-empty-title`,children:`Plan not found`}),(0,G.jsx)(`p`,{className:`plan-empty-body`,children:`It may have been deleted. Pick another from the list, or submit a new one.`})]}):e?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`h2`,{className:`plan-empty-title`,children:`Select a plan`}),(0,G.jsx)(`p`,{className:`plan-empty-body`,children:`Choose one from the sidebar to start reviewing.`})]}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`h2`,{className:`plan-empty-title`,children:`No plans yet`}),(0,G.jsx)(`p`,{className:`plan-empty-body`,children:`Agents submit a plan, you review it here, then they continue on approval.`}),(0,G.jsxs)(`div`,{className:`plan-empty-steps`,children:[(0,G.jsx)(`code`,{children:`diffing plan submit PLAN.md`}),(0,G.jsx)(`code`,{children:`diffing plan await`})]})]})]})}var s3=[`pr-session`];function c3(){let e=Ve(),{data:t,isLoading:n,error:r}=nt({queryKey:s3,queryFn:async()=>{let e=await fetch(`/api/gh/session`);if(e.status===404)return null;if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();return t?.prMode===!1?null:t},retry:!1});return(0,W.useEffect)(()=>fE(`pr-session`,()=>{e.invalidateQueries({queryKey:s3})}),[e]),{session:t,loaded:!n,error:r}}function l3(e){let t=Ve();(0,W.useEffect)(()=>{if(!e)return;let n=!1,r=!1,i=async()=>{if(!(n||r||document.visibilityState===`hidden`)){r=!0;try{(await fetch(`/api/gh/comments/sync`,{method:`POST`})).ok&&!n&&await t.invalidateQueries({queryKey:s3})}finally{r=!1}}},a=()=>{i()};i();let o=window.setInterval(i,3e4);return window.addEventListener(`focus`,a),()=>{n=!0,window.clearInterval(o),window.removeEventListener(`focus`,a)}},[e,t])}var u3=[`pr-comments`];function d3(e){let t=Ve(),{data:n=[]}=nt({queryKey:u3,queryFn:async()=>{let e=await fetch(`/api/gh/pr-session/comments`);if(e.status===404)return[];if(!e.ok)throw Error(`HTTP ${e.status}`);return e.json()},enabled:e});(0,W.useEffect)(()=>fE(`pr-session`,()=>{t.invalidateQueries({queryKey:u3})}),[t]);let r=rt({mutationFn:async e=>(await fetch(`/api/gh/pr-session/comments`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)})).json(),onSuccess:e=>{t.setQueryData(u3,(t=[])=>[...t,e])}}),i=rt({mutationFn:async e=>(await fetch(`/api/gh/pr-session/comments/${e}`,{method:`DELETE`}),e),onSuccess:e=>{t.setQueryData(u3,(t=[])=>t.filter(t=>t.id!==e))}}),a=rt({mutationFn:async({id:e,body:t,status:n})=>(await fetch(`/api/gh/pr-session/comments/${e}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:t,status:n})})).json(),onSuccess:e=>{t.setQueryData(u3,(t=[])=>t.map(t=>t.id===e.id?e:t))}}),o=rt({mutationFn:async({id:e,body:t})=>{let n=await fetch(`/api/gh/pr-session/comments/${e}/replies`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:t,role:`user`})}),r=await n.json().catch(()=>({}));if(!n.ok||!r.id)throw Error(r.error||`HTTP ${n.status}`);return r},onMutate:async({id:e,body:n})=>{await t.cancelQueries({queryKey:u3});let r=t.getQueryData(u3)??[],i=`pending-${crypto.randomUUID()}`;return t.setQueryData(u3,(t=[])=>t.map(t=>t.id===e?{...t,replies:[...t.replies??[],{id:i,body:n,createdAt:Date.now(),role:`user`}]}:t)),{previous:r}},onError:(e,n,r)=>{r?.previous&&t.setQueryData(u3,r.previous)},onSuccess:e=>{t.setQueryData(u3,(t=[])=>t.map(t=>t.id===e.id?e:t))}}),s=(0,W.useCallback)(e=>{a.mutate({id:e,status:`resolved`})},[a]),c=(0,W.useCallback)(e=>{a.mutate({id:e,status:`open`})},[a]),l=(0,W.useCallback)((e,t,n)=>{},[]),u=(0,W.useCallback)((e,t)=>{},[]);return{comments:n,addComment:r.mutate,removeComment:i.mutate,updateComment:a.mutate,addReply:o.mutateAsync,resolveComment:s,unresolveComment:c,editComment:(e,t)=>a.mutate({id:e,body:t}),editReply:l,removeReply:u}}function f3(){let e=Ve();return rt({mutationFn:async e=>{let t=new AbortController,n=window.setTimeout(()=>t.abort(),6e4);try{let n=await fetch(`/api/gh/submit`,{method:`POST`,headers:{"Content-Type":`application/json`},signal:t.signal,body:JSON.stringify({decision:e.decision,body:e.body,dryRun:e.dryRun})}),r=await n.json();if(!n.ok||!r.ok)throw Error(r.error||`HTTP ${n.status}`);return r}catch(e){throw t.signal.aborted?Error(`GitHub submission timed out. Check your connection and try again.`):e}finally{window.clearTimeout(n)}},onSuccess:()=>{e.setQueryData(u3,[]),e.invalidateQueries({queryKey:s3}),e.invalidateQueries({queryKey:u3})}})}function p3(){let e=Ve();return rt({mutationFn:async()=>{let e=await fetch(`/api/gh/pr/refresh`,{method:`POST`}),t=await e.json();if(!e.ok)throw Error(t.error||`HTTP ${e.status}`);return t},onSuccess:()=>{e.invalidateQueries({queryKey:s3}),e.invalidateQueries({queryKey:u3})}})}function m3(e){(0,W.useEffect)(()=>{let t=``,n,r=0,i=()=>{t=``,clearTimeout(n)},a=a=>{if((a.metaKey||a.ctrlKey)&&a.key.toLowerCase()===`k`){a.preventDefault(),e.onTogglePalette?e.onTogglePalette():e.onOpenPalette(`all`),i();return}let o=document.activeElement;if(o){let e=o.tagName.toLowerCase();if(e===`input`||e===`textarea`||o.hasAttribute(`contenteditable`))return}if((a.metaKey||a.ctrlKey)&&(a.key===`?`||a.key===`/`&&a.shiftKey||a.code===`Slash`&&a.shiftKey)){a.preventDefault(),e.onOpenShortcuts(),dD(`medium`,`open`),i();return}if(a.ctrlKey){(a.key===`d`||a.key===`u`)&&(a.preventDefault(),window.scrollBy({top:a.key===`d`?window.innerHeight/2:-window.innerHeight/2,behavior:`auto`}),dD(`selection`,`navigate`),i());return}let s=a.key;if(s.length>1&&s!==`Escape`&&s!==`Enter`)return;clearTimeout(n),t+=s,n=setTimeout(()=>{t=``},800);let c=(e,t=`toggle`)=>{a.preventDefault(),e(),dD(t===`open`?`medium`:`selection`,t),i()};if(t===`j`||t===`k`){a.preventDefault(),window.scrollBy({top:t===`j`?100:-100,behavior:`auto`});let e=Date.now();e-r>80&&(lD(`navigate`),r=e),i()}else t===`gg`?c(()=>window.scrollTo({top:0,behavior:`auto`}),`navigate`):t===`G`?c(()=>window.scrollTo({top:document.documentElement.scrollHeight,behavior:`auto`}),`navigate`):t===`J`?c(()=>e.onNavigateFile(`next`),`navigate`):t===`K`?c(()=>e.onNavigateFile(`prev`),`navigate`):t===`]`&&e.onNavigateCommit?c(()=>e.onNavigateCommit?.(`next`),`navigate`):t===`[`&&e.onNavigateCommit?c(()=>e.onNavigateCommit?.(`prev`),`navigate`):t===`v`?c(e.onToggleViewed):t===`m`?c(e.onToggleDiffStyle):t===`t`?c(e.onCycleTabSize):t===`b`?c(e.onToggleSidebar):t===`w`?c(e.onToggleLineWrap):t===`n`?c(e.onToggleLineNumbers):t===`i`?c(e.onCycleDiffIndicators):t===`I`?c(e.onCycleLineDiffType):t===`/`?c(()=>e.onOpenPalette(`text`),`open`):t===`s`||t===`gs`?c(()=>e.onOpenPalette(`symbols`),`open`):t===`gf`?c(()=>e.onOpenPalette(`all`),`open`):t===`gv`?c(()=>e.onOpenPalette(`files`),`open`):t===`gt`?c(e.onOpenTheme,`open`):t===`?`?c(e.onOpenShortcuts,`open`):t.length>=2&&i()};return window.addEventListener(`keydown`,a),()=>{window.removeEventListener(`keydown`,a),clearTimeout(n)}},[e])}function h3({session:e,comments:t,onEditComment:n,onDeleteComment:r,onSubmitted:i}){let{haptic:a,sound:o}=pD(),s=f3(),[c,l]=(0,W.useState)(!1),[u,d]=(0,W.useState)(null),[f,p]=(0,W.useState)(``),{popoverStyle:m,activePreset:h,applyPreset:g,startResize:_,startLeftResize:v,startCornerResize:y,handleOpenChange:b,panelRef:x}=LH(),S=t.length,C=(0,W.useMemo)(()=>[...t].sort((e,t)=>e.createdAt-t.createdAt),[t]),w=!!e.submittedAt,T=async()=>{if(u){a(`heavy`),o(`send`);try{let e=await s.mutateAsync({decision:u,body:f});i?.(e),p(``),d(null),l(!1)}catch{}}};return(0,G.jsx)(Qk,{open:c,onOpenChange:(e,t)=>b(e,t,l),ariaLabel:`Submit your review to GitHub`,className:`submit-to-github-popover`,trigger:(0,G.jsxs)(`button`,{className:`btn btn-primary btn-sm send-review-btn`,disabled:s.isPending,title:w?`Already submitted`:`Submit your review to the PR on GitHub`,style:{display:`inline-flex`,alignItems:`center`,gap:`6px`},children:[(0,G.jsx)(yO,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:s.isPending?`Submitting…`:w?`Submitted ✓`:S>0?`Submit to GitHub (${S})`:`Submit to GitHub`})]}),children:(0,G.jsxs)(`div`,{className:`srp`,ref:x,style:m,children:[(0,G.jsx)(`div`,{className:`srp-resize-handle-left`,onPointerDown:v,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize submit panel width`,tabIndex:0}),(0,G.jsxs)(`div`,{className:`srp-head`,children:[(0,G.jsx)(yO,{size:15,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:`srp-title`,children:`Submit review to GitHub`}),(0,G.jsx)(`div`,{className:`srp-size-presets`,role:`group`,"aria-label":`Panel size`,children:OH.map((e,t)=>(0,G.jsx)(`button`,{className:`srp-preset-btn`,role:`radio`,"aria-checked":h===t,"aria-pressed":h===t,onClick:()=>g(e),title:`${e.width}×${e.height}px`,children:e.label},e.label))}),(0,G.jsxs)(`span`,{className:`srp-count`,children:[S,` comment`,S===1?``:`s`]})]}),(0,G.jsxs)(`div`,{className:`srp-scroll`,children:[w&&(0,G.jsxs)(`div`,{className:`srp-already-submitted`,children:[(0,G.jsx)(UD,{size:13}),(0,G.jsxs)(`span`,{children:[`Already submitted as`,` `,e.submittedReviewUrl?(0,G.jsxs)(`a`,{href:e.submittedReviewUrl,target:`_blank`,rel:`noreferrer`,children:[`review #`,e.submittedReviewId,` `,(0,G.jsx)(cO,{size:11})]}):`review #${e.submittedReviewId}`,`. Re-submitting will post a new review on the same PR.`]})]}),(0,G.jsx)(`div`,{className:`plan-verdict-options`,role:`radiogroup`,"aria-label":`Verdict`,children:g3.map(e=>{let t=e.icon,n=u===e.value;return(0,G.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":n,className:`plan-verdict-option ${e.className} ${n?`plan-verdict-option-selected`:``}`,onClick:()=>d(e.value),children:[(0,G.jsx)(`span`,{className:`plan-verdict-icon`,children:(0,G.jsx)(t,{size:15,"aria-hidden":`true`})}),(0,G.jsxs)(`span`,{className:`plan-verdict-text`,children:[(0,G.jsx)(`span`,{className:`plan-verdict-label`,children:e.label}),(0,G.jsx)(`span`,{className:`plan-verdict-desc`,children:e.description})]}),(0,G.jsx)(`span`,{className:`plan-verdict-radio`,"aria-hidden":`true`})]},e.value)})}),S>0?(0,G.jsxs)(`section`,{className:`srp-comments-section`,"aria-labelledby":`srp-gh-comments-title`,children:[(0,G.jsxs)(`div`,{className:`srp-section-heading`,id:`srp-gh-comments-title`,children:[(0,G.jsx)(PO,{size:13,"aria-hidden":`true`}),(0,G.jsx)(`span`,{children:`Inline comments to publish`}),(0,G.jsx)(`span`,{className:`srp-section-count`,children:S})]}),(0,G.jsx)(`ul`,{className:`srp-list`,"aria-label":`Comments to send`,children:C.map(e=>(0,G.jsx)(_3,{comment:e,onEdit:n,onDelete:r},e.id))})]}):(0,G.jsx)(`p`,{className:`srp-empty`,children:`No inline comments — your verdict and overall note will be sent on their own.`}),(0,G.jsxs)(`div`,{className:`srp-general`,children:[(0,G.jsxs)(`label`,{className:`srp-general-label`,htmlFor:`srp-gh-general-input`,children:[`Overall comment `,(0,G.jsx)(`span`,{className:`srp-optional`,children:`(optional · Markdown)`})]}),(0,G.jsx)(TH,{id:`srp-gh-general-input`,value:f,onChange:p,textareaClassName:`srp-general-input`,placeholder:`Add an overall note for the PR that applies to the whole review…`,rows:3,ariaLabel:`Overall PR review comment`,onSubmitShortcut:T})]}),s.isError&&(0,G.jsxs)(`div`,{className:`srp-error`,role:`alert`,children:[(0,G.jsx)(JD,{size:13}),(0,G.jsx)(`span`,{children:s.error?.message??`Submit failed`})]})]}),(0,G.jsxs)(`div`,{className:`srp-footer`,children:[(0,G.jsx)(`button`,{className:`btn btn-sm`,onClick:()=>l(!1),disabled:s.isPending,children:`Cancel`}),(0,G.jsx)(`button`,{className:`btn btn-primary btn-sm`,onClick:T,disabled:!u||s.isPending,children:s.isPending?`Submitting…`:u===`draft`?`Save draft review`:`Submit review`})]}),(0,G.jsx)(`div`,{className:`srp-resize-handle`,onPointerDown:_,role:`separator`,"aria-orientation":`horizontal`,"aria-label":`Resize submit panel`,tabIndex:0}),(0,G.jsx)(`div`,{className:`srp-resize-handle-corner`,onPointerDown:y,role:`separator`,"aria-label":`Resize submit panel width and height`,tabIndex:0})]})})}var g3=[{value:`approve`,label:`Approve`,description:`The PR is good — submit an APPROVE review.`,icon:UD,className:`plan-verdict-approve`},{value:`comment`,label:`Comment`,description:`Leave neutral feedback (no approve / no request changes).`,icon:NO,className:`plan-verdict-changes`},{value:`request-changes`,label:`Request changes`,description:`The author must address the comments before merging.`,icon:ck,className:`plan-verdict-reject`},{value:`draft`,label:`Save as draft`,description:`Post a PENDING review on GitHub — finish it later in the PR UI.`,icon:dO,className:`plan-verdict-comment-only`}];function _3({comment:e,onEdit:t,onDelete:n}){let[r,i]=(0,W.useState)(!1),[a,o]=(0,W.useState)(e.body),s=(0,W.useRef)(null);(0,W.useEffect)(()=>{r&&(s.current?.focus(),s.current?.select())},[r]);let c=e.lineNumber>0?e.startLineNumber&&e.startLineNumber!==e.lineNumber?`:${e.startLineNumber}-${e.lineNumber}`:`:${e.lineNumber}`:` · file`,l=()=>{let n=a.trim();n&&n!==e.body&&t(e.id,n),i(!1)};return(0,G.jsxs)(`li`,{className:`srp-item`,children:[(0,G.jsxs)(`div`,{className:`srp-item-top`,children:[(0,G.jsxs)(`span`,{className:`srp-item-loc`,children:[(0,G.jsx)(`span`,{className:`srp-item-file`,children:tE(e.filePath)}),(0,G.jsx)(`span`,{className:`srp-item-line`,children:c})]}),e.status===`resolved`&&(0,G.jsx)(`span`,{className:`srp-item-resolved`,children:`resolved`}),(0,G.jsxs)(`span`,{className:`srp-item-actions`,children:[r?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`button`,{className:`srp-icon-btn`,onClick:l,title:`Save edit`,children:(0,G.jsx)(UD,{size:13,"aria-hidden":`true`})}),(0,G.jsx)(`button`,{className:`srp-icon-btn`,onClick:()=>{o(e.body),i(!1)},title:`Cancel edit`,children:(0,G.jsx)(ck,{size:13,"aria-hidden":`true`})})]}):(0,G.jsx)(`button`,{className:`srp-icon-btn`,onClick:()=>i(!0),title:`Edit comment`,children:(0,G.jsx)(GO,{size:13,"aria-hidden":`true`})}),(0,G.jsx)(`button`,{className:`srp-icon-btn srp-icon-btn-danger`,onClick:()=>n(e.id),title:`Remove from review`,children:(0,G.jsx)(rk,{size:13,"aria-hidden":`true`})})]})]}),e.lineContent?.trim()&&(0,G.jsx)(`code`,{className:`srp-item-code`,children:e.lineContent.trim().slice(0,160)}),r?(0,G.jsx)(`textarea`,{ref:s,className:`srp-item-edit`,value:a,rows:2,onChange:e=>o(e.target.value),onKeyDown:t=>{t.key===`Enter`&&(t.metaKey||t.ctrlKey)?(t.preventDefault(),l()):t.key===`Escape`&&(t.preventDefault(),o(e.body),i(!1))}}):(0,G.jsx)(`p`,{className:`srp-item-body`,children:e.body})]})}function v3({session:e,comments:t,settingsProps:n,sidebarCollapsed:r,onToggleSidebar:i,onOpenSearch:a,onRefresh:o,refreshing:s,onEditComment:c,onDeleteComment:l,onSubmitted:u}){return(0,G.jsxs)(`header`,{className:`toolbar diff-app-toolbar pr-review-toolbar`,role:`banner`,children:[(0,G.jsxs)(`div`,{className:`toolbar-left`,children:[(0,G.jsx)(`button`,{className:`toolbar-mobile-toggle`,onClick:i,"aria-label":r?`Open file tree`:`Close file tree`,"aria-expanded":!r,title:r?`Open sidebar · b`:`Close sidebar · b`,children:(0,G.jsx)(AO,{size:18})}),(0,G.jsx)(`button`,{className:`pr-toolbar-back`,onClick:()=>DE(`/`),title:`Back to local review`,"aria-label":`Back to local review`,children:(0,G.jsx)(zD,{size:14})}),(0,G.jsxs)(`div`,{className:`toolbar-brand pr-toolbar-brand`,children:[(0,G.jsx)(HH,{size:20,className:`toolbar-brand-mark`}),(0,G.jsxs)(`div`,{className:`toolbar-brand-text`,children:[(0,G.jsxs)(`h1`,{className:`toolbar-title`,children:[e.owner,`/`,e.repo]}),(0,G.jsxs)(`span`,{className:`toolbar-branch-inline`,title:`Pull request #${e.pullNumber}`,children:[(0,G.jsx)(yO,{size:11}),` #`,e.pullNumber]}),e.headRefName&&e.baseRefName&&(0,G.jsxs)(`span`,{className:`toolbar-branch-flow`,title:`Comparing ${e.headRefName} into ${e.baseRefName}`,"aria-label":`Source branch ${e.headRefName} into target branch ${e.baseRefName}`,children:[(0,G.jsx)(`code`,{className:`toolbar-branch-head`,children:e.headRefName}),(0,G.jsx)(BD,{size:11,"aria-hidden":`true`}),(0,G.jsx)(`code`,{className:`toolbar-branch-base`,children:e.baseRefName})]})]})]})]}),(0,G.jsxs)(`div`,{className:`toolbar-right`,children:[(0,G.jsxs)(`button`,{className:`btn btn-sm toolbar-search-btn`,onClick:a,title:`Search files and changed lines (⌘K)`,"aria-label":`Search`,children:[(0,G.jsx)(ZO,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:`Search`}),(0,G.jsx)(`kbd`,{className:`toolbar-search-kbd`,children:`⌘K`})]}),(0,G.jsxs)(`button`,{className:`btn btn-sm pr-header-copy`,onClick:()=>navigator.clipboard.writeText(vE(t)),disabled:t.length===0,title:`Copy draft comments as Markdown`,children:[(0,G.jsx)(oO,{size:13}),` `,(0,G.jsx)(`span`,{className:`btn-label`,children:`Copy`})]}),(0,G.jsxs)(`button`,{className:`btn btn-sm pr-header-refresh`,onClick:o,disabled:s,title:`Refresh PR from GitHub`,children:[(0,G.jsx)(qO,{size:13,className:s?`spinning`:``}),(0,G.jsx)(`span`,{className:`btn-label`,children:s?`Refreshing…`:`Refresh`})]}),(0,G.jsxs)(`a`,{className:`btn btn-sm pr-header-link`,href:e.url,target:`_blank`,rel:`noreferrer`,title:`Open pull request on GitHub`,children:[(0,G.jsx)(cO,{size:13}),` `,(0,G.jsx)(`span`,{className:`btn-label`,children:`GitHub`})]}),(0,G.jsx)(fW,{...n}),(0,G.jsx)(h3,{session:e,comments:t,onEditComment:c,onDeleteComment:l,onSubmitted:u})]})]})}var y3={APPROVED:{label:`approved these changes`,short:`Approved`,icon:YD},CHANGES_REQUESTED:{label:`requested changes`,short:`Changes requested`,icon:$D},COMMENTED:{label:`left a review comment`,short:`Commented`,icon:jO},PENDING:{label:`started a pending review`,short:`Pending`,icon:nO},DISMISSED:{label:`had a review dismissed`,short:`Dismissed`,icon:$D}};function b3({reviews:e}){let[t,n]=(0,W.useState)(e[0]?.id??null),[r,i]=(0,W.useState)(null);if((0,W.useEffect)(()=>{n(e[0]?.id??null)},[e[0]?.id]),(0,W.useEffect)(()=>{i(null)},[t]),e.length===0)return null;let a=Math.max(0,e.findIndex(e=>e.id===t)),o=e[a]??e[0],s=y3[o.state],c=s.icon,l=o.submittedAt?new Date(o.submittedAt).getTime():null;return(0,G.jsxs)(`section`,{className:`pr-review-activity`,"aria-label":`GitHub review activity`,children:[(0,G.jsxs)(`header`,{className:`pr-review-activity-head`,children:[(0,G.jsxs)(`div`,{className:`pr-review-activity-identity`,children:[o.author?.avatarUrl&&r!==o.author.avatarUrl?(0,G.jsx)(`img`,{src:`/api/gh/avatar?url=${encodeURIComponent(o.author.avatarUrl)}`,alt:``,className:`pr-review-activity-avatar`,referrerPolicy:`no-referrer`,onError:()=>i(o.author?.avatarUrl??null)}):(0,G.jsx)(`span`,{className:`pr-review-activity-avatar is-fallback`,"aria-hidden":`true`,children:(0,G.jsx)(c,{size:14})}),(0,G.jsx)(c,{className:`pr-review-activity-state-icon`,"data-state":o.state,size:16,"aria-hidden":`true`}),(0,G.jsxs)(`span`,{children:[(0,G.jsxs)(`strong`,{children:[`@`,o.author?.login??`unknown`]}),` `,s.label]}),l!=null&&(0,G.jsx)(`time`,{dateTime:o.submittedAt,title:new Date(l).toLocaleString(),children:eE(l)}),(0,G.jsx)(`span`,{className:`pr-review-activity-verdict`,"data-state":o.state,children:s.short})]}),(0,G.jsxs)(`nav`,{className:`pr-review-activity-nav`,"aria-label":`Walk GitHub reviews`,children:[(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm commit-walk-btn`,disabled:a===0,onClick:()=>n(e[a-1]?.id??o.id),"aria-label":`Newer review`,title:`Newer review`,children:(0,G.jsx)(GD,{size:14})}),(0,G.jsxs)(`span`,{children:[a+1,` / `,e.length]}),(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm commit-walk-btn`,disabled:a>=e.length-1,onClick:()=>n(e[a+1]?.id??o.id),"aria-label":`Older review`,title:`Older review`,children:(0,G.jsx)(KD,{size:14})}),o.htmlUrl&&(0,G.jsxs)(`a`,{className:`pr-review-activity-link`,href:o.htmlUrl,target:`_blank`,rel:`noreferrer`,children:[`View on GitHub `,(0,G.jsx)(cO,{size:11})]})]})]}),o.body.trim()?(0,G.jsx)(gH,{content:o.body,className:`pr-review-activity-body markdown-body`}):(0,G.jsx)(`p`,{className:`pr-review-activity-empty`,children:`No overall comment was submitted with this review.`})]})}function x3(e){return e.some(e=>e.state===`pending`)?8e3:3e4}function S3(e){return e===`success`?{icon:YD,className:`is-success`,label:`Succeeded`}:e===`pending`?{icon:nO,className:`is-pending`,label:`In progress`}:e===`failure`||e===`error`||e===`timed_out`||e===`action_required`?{icon:$D,className:`is-failure`,label:e===`timed_out`?`Timed out`:`Failed`}:e===`skipped`||e===`cancelled`||e===`neutral`?{icon:ZD,className:`is-neutral`,label:e===`cancelled`?`Cancelled`:e===`skipped`?`Skipped`:`Neutral`}:{icon:XD,className:`is-neutral`,label:`Unknown`}}function C3({headSha:e}){let t=nt({queryKey:[`pr-checks`,e],queryFn:async()=>{let e=await fetch(`/api/gh/checks`),t=await e.json().catch(()=>({}));if(!e.ok)throw Error(t.error||`HTTP ${e.status}`);return t},refetchInterval:e=>x3(e.state.data?.checks??[]),refetchOnWindowFocus:!0,staleTime:5e3}),n=t.data?.checks??[],r=n.filter(e=>e.state===`success`).length,i=n.filter(e=>e.state===`pending`).length,a=n.filter(e=>[`failure`,`error`,`timed_out`,`action_required`].includes(e.state)).length,o=Math.max(0,n.length-r-i-a),s=a>0?`failure`:i>0?`pending`:n.length>0?`success`:`neutral`,c=s===`failure`?$D:s===`pending`?nO:s===`success`?YD:XD;return(0,G.jsx)(Qk,{ariaLabel:`GitHub checks`,className:`pr-checks-popover`,trigger:(0,G.jsxs)(`button`,{className:`toolbar-chip pr-checks-trigger is-${s}`,title:`Live GitHub checks and actions status`,type:`button`,children:[(0,G.jsx)(c,{size:12}),(0,G.jsx)(`span`,{children:t.isLoading?`Loading checks…`:n.length===0?`No checks`:a>0?`${a} failing`:i>0?`${i} running`:`${r}/${n.length} passed`})]}),children:(0,G.jsxs)(`div`,{className:`pr-checks-panel`,children:[(0,G.jsxs)(`div`,{className:`pr-checks-head`,children:[(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`strong`,{children:`Checks and actions`}),(0,G.jsxs)(`span`,{children:[`Live status for `,e.slice(0,7)]})]}),(0,G.jsx)(`button`,{className:`file-diff-icon-btn`,onClick:()=>t.refetch(),disabled:t.isFetching,"aria-label":`Refresh checks`,children:(0,G.jsx)(qO,{size:13,className:t.isFetching?`spinning`:``})})]}),n.length>0&&(0,G.jsxs)(`div`,{className:`pr-checks-summary`,"aria-label":`Checks summary`,children:[(0,G.jsxs)(`span`,{className:`is-success`,children:[(0,G.jsx)(YD,{size:12}),` `,r,` passed`]}),(0,G.jsxs)(`span`,{className:`is-failure`,children:[(0,G.jsx)($D,{size:12}),` `,a,` failed`]}),(0,G.jsxs)(`span`,{className:`is-pending`,children:[(0,G.jsx)(nO,{size:12}),` `,i,` running`]}),o>0&&(0,G.jsxs)(`span`,{className:`is-neutral`,children:[(0,G.jsx)(ZD,{size:12}),` `,o,` other`]})]}),t.isError?(0,G.jsxs)(`div`,{className:`pr-checks-empty is-error`,children:[(0,G.jsx)(JD,{size:15}),` `,t.error.message]}):t.isLoading?(0,G.jsx)(`div`,{className:`pr-checks-empty`,children:`Loading the latest GitHub status…`}):n.length===0?(0,G.jsx)(`div`,{className:`pr-checks-empty`,children:`No checks are reported for this commit.`}):(0,G.jsx)(`ul`,{className:`pr-checks-list`,children:n.map((e,t)=>{let n=S3(e.state),r=n.icon;return(0,G.jsxs)(`li`,{className:n.className,children:[(0,G.jsx)(r,{size:14}),(0,G.jsx)(`span`,{className:`pr-checks-name`,children:e.name}),(0,G.jsx)(`span`,{className:`pr-checks-state`,children:n.label}),e.detailsUrl&&(0,G.jsx)(`a`,{href:e.detailsUrl,target:`_blank`,rel:`noreferrer`,"aria-label":`Open ${e.name} on GitHub`,children:(0,G.jsx)(cO,{size:12})})]},`${e.name}-${t}`)})}),(0,G.jsx)(`div`,{className:`pr-checks-foot`,children:`Updates every 8 seconds while work is running.`})]})})}function w3({session:e,draftCount:t}){return(0,G.jsx)(`section`,{className:`diff-overview-banner pr-overview-banner`,"aria-label":`Pull request #${e.pullNumber}: ${e.title}`,children:(0,G.jsxs)(`header`,{className:`diff-overview-banner-header`,children:[(0,G.jsxs)(`div`,{className:`diff-overview-banner-line`,children:[(0,G.jsx)(yO,{size:14,className:`diff-overview-banner-icon`,"aria-hidden":`true`}),(0,G.jsx)(`h2`,{className:`diff-overview-banner-headline`,children:e.title})]}),(0,G.jsxs)(`div`,{className:`diff-overview-banner-meta pr-overview-meta`,children:[(0,G.jsxs)(`span`,{className:`pr-overview-identity`,children:[`Pull request #`,e.pullNumber,e.author?.login?(0,G.jsxs)(G.Fragment,{children:[` by `,(0,G.jsxs)(`strong`,{children:[`@`,e.author.login]})]}):null]}),e.headRefName&&e.baseRefName&&(0,G.jsxs)(`span`,{className:`pr-overview-branches`,title:`Comparing ${e.headRefName} into ${e.baseRefName}`,children:[(0,G.jsx)(`code`,{className:`pr-overview-branch-head`,children:e.headRefName}),(0,G.jsx)(`span`,{className:`pr-overview-branch-arrow`,"aria-hidden":`true`,children:`→`}),(0,G.jsx)(`code`,{className:`pr-overview-branch-base`,children:e.baseRefName})]}),(0,G.jsxs)(`span`,{children:[e.changedFiles,` file`,e.changedFiles===1?``:`s`]}),(0,G.jsxs)(`span`,{className:`toolbar-chip-diff`,"aria-label":`${e.additions} additions and ${e.deletions} deletions`,children:[(0,G.jsxs)(`span`,{className:`stat-additions`,children:[`+`,e.additions]}),(0,G.jsxs)(`span`,{className:`stat-deletions`,children:[`−`,e.deletions]})]}),t>0&&(0,G.jsxs)(`span`,{className:`toolbar-chip toolbar-chip-comments`,children:[t,` draft`,t===1?``:`s`]}),(0,G.jsx)(C3,{headSha:e.headSha})]})]})})}function T3({result:e,onDismiss:t}){return(0,G.jsxs)(`div`,{className:`pr-submitted-toast`,role:`status`,children:[(0,G.jsx)(YD,{size:16,className:`pr-submitted-icon`}),(0,G.jsxs)(`div`,{className:`pr-submitted-text`,children:[(0,G.jsx)(`strong`,{children:`Review submitted to GitHub.`}),e.reviewUrl&&(0,G.jsxs)(G.Fragment,{children:[` `,(0,G.jsxs)(`a`,{href:e.reviewUrl,target:`_blank`,rel:`noreferrer`,children:[`Open review on GitHub `,(0,G.jsx)(cO,{size:11})]})]}),e.authSource&&e.authSource!==`none`&&(0,G.jsxs)(`span`,{className:`pr-submitted-auth`,children:[`via `,e.authSource]})]}),(0,G.jsx)(`button`,{className:`pr-submitted-dismiss`,onClick:t,title:`Dismiss`,"aria-label":`Dismiss`,children:`×`})]})}function E3(){let e=Am(),t=Ve(),{settings:n,loaded:r,updateSettings:i}=IE(),[,a]=(0,W.useTransition)(),{session:o,loaded:s,error:c}=c3(),l=p3();l3(s&&!!o);let{comments:u,addComment:d,removeComment:f,updateComment:p,addReply:m,resolveComment:h,unresolveComment:g,editComment:_,editReply:v,removeReply:y}=d3(s&&!!o),{patch:b,loading:x,error:S}=gE({staged:!1,untracked:!1},s&&!!o),{viewedFiles:C,setViewed:w}=VE(),[T,E]=(0,W.useState)(null),[D,O]=(0,W.useState)(()=>{let e=CD(`diffing-sidebar-collapsed`);return e==null?typeof window<`u`&&window.innerWidth<=768:e===`true`}),[k,A]=(0,W.useState)(()=>Number(CD(`diffing-sidebar-width`))||320),[j,M]=(0,W.useState)(()=>Number(CD(`diffing-comment-panel-height`))||220),[N,P]=(0,W.useState)(()=>mD(CD(`diffing-pr-extension-filter`)??``)),[F,I]=(0,W.useState)(()=>{let e=CD(`diffing-pr-chip-filter`);return e===`unviewed`||e===`has-comments`?e:`all`}),[L,R]=(0,W.useState)({open:!1,scope:`files`}),[z,ee]=(0,W.useState)(!1),[te,ne]=(0,W.useState)(!1),[B,V]=(0,W.useState)(!1),[re,ie]=(0,W.useState)(!1),[ae,oe]=(0,W.useState)(null),se=(0,W.useRef)(null),ce=(0,W.useRef)(null),H=(0,W.useRef)(null),le=(0,W.useRef)(k),ue=(0,W.useRef)(j);le.current=k,ue.current=j,LE(r,n.uiFont,n.monoFont);let U=(0,W.useMemo)(()=>{if(!b)return[];try{let e=new Set;return Pg(b).flatMap(e=>e.files).filter(t=>e.has(t.name)?!1:(e.add(t.name),!0)).sort(AG)}catch{return[]}},[b]),de=(0,W.useMemo)(()=>{let e=new Map;for(let t of o?.existingComments??[]){let n=e.get(t.path)??[];n.push(t),e.set(t.path,n)}return e},[o]),fe=(0,W.useMemo)(()=>{let e={};for(let t of u)e[t.filePath]=(e[t.filePath]??0)+1;for(let t of o?.existingComments??[])e[t.path]=(e[t.path]??0)+1;return e},[u,o]),pe=(0,W.useMemo)(()=>{let e=U;return N.length>0&&(e=e.filter(e=>_D(e.name,N))),F===`unviewed`&&(e=e.filter(e=>!C.has(e.name))),F===`has-comments`&&(e=e.filter(e=>(fe[e.name]??0)>0)),e},[U,N,F,C,fe]),me=(0,W.useMemo)(()=>{let e=new Map;for(let t of u){let n=e.get(t.filePath)??[];n.push({side:t.side,lineNumber:t.lineNumber,metadata:t}),e.set(t.filePath,n)}return e},[u]),he=kD(pe),ge=(0,W.useMemo)(()=>FE(n.monoFont),[n.monoFont]),_e=(0,W.useMemo)(()=>new Set,[]),ve=(0,W.useCallback)(e=>{E(e),document.getElementById(`file-${e}`)?.scrollIntoView({block:`start`})},[]),ye=(0,W.useCallback)(e=>{let t=pe[pe.findIndex(t=>t.name===e)+1];t&&requestAnimationFrame(()=>requestAnimationFrame(()=>{document.getElementById(`file-${t.name}`)?.scrollIntoView({block:`start`,behavior:`smooth`})}))},[pe]),be=(0,W.useCallback)((e,t)=>{w(e,t),t&&ye(e)},[w,ye]),xe=(0,W.useCallback)(async(e,n)=>{let r=await fetch(`/api/gh/existing-comments/${e}/replies`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:n})}),i=await r.json().catch(()=>({}));if(!r.ok)throw Error(i.error||`HTTP ${r.status}`);await t.invalidateQueries({queryKey:[`pr-session`]})},[t]),Se=(0,W.useCallback)(async(e,n,r)=>{let i=await fetch(`/api/gh/existing-comments/${n}`,{method:e,headers:r==null?void 0:{"Content-Type":`application/json`},body:r==null?void 0:JSON.stringify({body:r})}),a=await i.json().catch(()=>({}));if(!i.ok)throw Error(a.error||`HTTP ${i.status}`);await t.invalidateQueries({queryKey:[`pr-session`]})},[t]),Ce=(0,W.useCallback)(async(e,n)=>{let r=await fetch(`/api/gh/review-threads/${encodeURIComponent(e)}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({resolved:n})}),i=await r.json().catch(()=>({}));if(!r.ok)throw Error(i.error||`HTTP ${r.status}`);await t.invalidateQueries({queryKey:[`pr-session`]})},[t]),we=(0,W.useCallback)(e=>{e.preventDefault();let t=e.clientX,n=le.current,r=ce.current?.getBoundingClientRect().left??0,i=n,a=e=>{i=Math.max(240,Math.min(640,n+e.clientX-t)),H.current&&(H.current.style.transform=`translateX(${r+i}px)`)},o=()=>{H.current?.classList.remove(`sidebar-resize-guide-active`),A(i),DD(`diffing-sidebar-width`,String(i)),document.removeEventListener(`mousemove`,a),document.removeEventListener(`mouseup`,o),document.body.style.cursor=``,document.body.style.userSelect=``};H.current?.classList.add(`sidebar-resize-guide-active`),document.addEventListener(`mousemove`,a),document.addEventListener(`mouseup`,o),document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`},[]),Te=(0,W.useCallback)(e=>{e.preventDefault();let t=e.clientY,n=ue.current,r=n,i=e=>{r=Math.max(100,Math.min(600,n+t-e.clientY)),se.current?.style.setProperty(`--comment-panel-height`,`${r}px`)},a=()=>{M(r),DD(`diffing-comment-panel-height`,String(r)),document.removeEventListener(`mousemove`,i),document.removeEventListener(`mouseup`,a),document.body.style.cursor=``,document.body.style.userSelect=``};document.addEventListener(`mousemove`,i),document.addEventListener(`mouseup`,a),document.body.style.cursor=`row-resize`,document.body.style.userSelect=`none`},[]);(0,W.useEffect)(()=>{DD(`diffing-sidebar-collapsed`,String(D))},[D]),(0,W.useEffect)(()=>DD(`diffing-pr-extension-filter`,N.join(`,`)),[N]),(0,W.useEffect)(()=>DD(`diffing-pr-chip-filter`,F),[F]),(0,W.useEffect)(()=>{let e=document.documentElement;e.classList.add(`theme-switching`),e.setAttribute(`data-theme`,n.theme||`rose-pine`),e.setAttribute(`data-density`,n.density||`comfortable`);let t=requestAnimationFrame(()=>requestAnimationFrame(()=>e.classList.remove(`theme-switching`)));return()=>cancelAnimationFrame(t)},[n.theme,n.density]);let Ee=(0,W.useMemo)(()=>nE[n.theme||`rose-pine`]||nE[`rose-pine`],[n.theme]),De=(0,W.useMemo)(()=>Array.from(new Set(U.flatMap(e=>[Yf(e.name),e.prevName?Yf(e.prevName):null]).filter(e=>e!=null&&e!==`text`))),[U]);(0,W.useEffect)(()=>{e&&e.setRenderOptions({theme:{dark:Ee.type===`dark`?Ee.themeName:`rose-pine`,light:Ee.type===`light`?Ee.themeName:`github-light`}}).catch(()=>{})},[e,Ee]),(0,W.useEffect)(()=>{let e=Ee.type===`dark`?Ee.themeName:`rose-pine`,t=Ee.type===`light`?Ee.themeName:`github-light`;Uf({themes:Array.from(new Set([e,t])),langs:De}).catch(()=>{})},[Ee,De]),(0,W.useEffect)(()=>{if(o)return document.title=`${o.owner}/${o.repo}#${o.pullNumber} · diffing`,()=>{document.title=`diffing`}},[o]);let Oe=(0,W.useCallback)(e=>{if(pe.length===0)return;let t=T?pe.findIndex(e=>e.name===T):-1,n=e===`next`?Math.min(t+1,pe.length-1):Math.max(t-1,0),r=pe[Math.max(0,n)];r&&ve(r.name)},[T,pe,ve]),ke=(0,W.useCallback)(()=>{T&&be(T,!C.has(T))},[T,be,C]);if(m3((0,W.useMemo)(()=>({onNavigateFile:Oe,onToggleViewed:ke,onToggleDiffStyle:()=>i({diffStyle:n.diffStyle===`split`?`unified`:`split`}),onCycleTabSize:()=>{let e=[2,4,8];i({defaultTabSize:e[(e.indexOf(n.defaultTabSize)+1)%e.length]})},onToggleSidebar:()=>O(e=>!e),onToggleLineWrap:()=>i({lineWrap:!n.lineWrap}),onToggleLineNumbers:()=>i({showLineNumbers:!n.showLineNumbers}),onCycleDiffIndicators:()=>{let e=[`classic`,`bars`,`none`];i({diffIndicators:e[(e.indexOf(n.diffIndicators)+1)%e.length]})},onCycleLineDiffType:()=>{let e=[`word`,`word-alt`,`char`,`none`];i({lineDiffType:e[(e.indexOf(n.lineDiffType)+1)%e.length]})},onOpenPalette:e=>R({open:!0,scope:e}),onTogglePalette:()=>R(e=>e.open?{...e,open:!1}:{open:!0,scope:`all`}),onOpenTheme:()=>ee(!0),onOpenShortcuts:()=>ie(!0)}),[Oe,n.defaultTabSize,n.diffIndicators,n.diffStyle,n.lineDiffType,n.lineWrap,n.showLineNumbers,ke,i])),s&&!o)return(0,G.jsxs)(`div`,{className:`pr-app-empty`,children:[(0,G.jsx)(yO,{size:32}),(0,G.jsx)(`h2`,{children:`No active PR session`}),(0,G.jsxs)(`p`,{children:[`Start one with `,(0,G.jsx)(`code`,{children:`diffing "gh pr 1234"`}),` or `,(0,G.jsx)(`code`,{children:`diffing --gh-pr 1234`}),` from inside the repo.`]}),(0,G.jsx)(`button`,{className:`btn btn-sm`,onClick:()=>DE(`/`),children:`Back to local review`})]});if(!o)return(0,G.jsx)(`div`,{className:`pr-app-empty`,children:(0,G.jsx)(`span`,{children:`Loading PR session…`})});let Ae=e=>a(()=>i(e)),je={diffStyle:n.diffStyle,defaultTabSize:n.defaultTabSize,lineDiffType:n.lineDiffType,lineWrap:n.lineWrap,diffIndicators:n.diffIndicators,showLineNumbers:n.showLineNumbers,hunkSeparators:n.hunkSeparators,lineHoverHighlight:n.lineHoverHighlight,fontSize:n.fontSize,haptics:n.haptics,sounds:n.sounds,uiFont:n.uiFont,monoFont:n.monoFont,density:n.density,autoCollapseLineThreshold:n.autoCollapseLineThreshold,showStatusBar:n.showStatusBar,onDiffStyleChange:e=>Ae({diffStyle:e}),onDefaultTabSizeChange:e=>Ae({defaultTabSize:e}),onOpenThemeModal:()=>ee(!0),onLineDiffTypeChange:e=>Ae({lineDiffType:e}),onLineWrapChange:e=>Ae({lineWrap:e}),onDiffIndicatorsChange:e=>Ae({diffIndicators:e}),onShowLineNumbersChange:e=>Ae({showLineNumbers:e}),onHunkSeparatorsChange:e=>Ae({hunkSeparators:e}),onLineHoverHighlightChange:e=>Ae({lineHoverHighlight:e}),onFontSizeChange:e=>Ae({fontSize:e}),onHapticsChange:e=>Ae({haptics:e}),onSoundsChange:e=>Ae({sounds:e}),onDensityChange:e=>Ae({density:e}),onAutoCollapseLineThresholdChange:e=>Ae({autoCollapseLineThreshold:e}),onShowStatusBarChange:e=>Ae({showStatusBar:e}),onOpenUiFontModal:()=>ne(!0),onOpenMonoFontModal:()=>V(!0),showSource:!1,showWhitespace:!1,showExternalTools:!1,showSendPolicy:!1};return(0,G.jsx)(fD,{enabled:n.haptics,soundsEnabled:n.sounds,children:(0,G.jsxs)(`div`,{ref:se,className:`app pr-app`,"data-pr-mode":`true`,style:{"--sidebar-width":`${k}px`,"--comment-panel-height":`${j}px`},children:[(0,G.jsx)(`a`,{href:`#pr-diff-main`,className:`skip-to-main`,children:`Skip to diff`}),(0,G.jsx)(`div`,{className:`sidebar-resize-guide`,ref:H,"aria-hidden":`true`}),(0,G.jsx)(v3,{session:o,comments:u,settingsProps:je,sidebarCollapsed:D,onToggleSidebar:()=>O(e=>!e),onOpenSearch:()=>R({open:!0,scope:`all`}),onRefresh:()=>l.mutate(),refreshing:l.isPending,onEditComment:(e,t)=>p({id:e,body:t}),onDeleteComment:f,onSubmitted:oe}),!D&&(0,G.jsx)(`div`,{className:`sidebar-mobile-backdrop`,onClick:()=>O(!0),"aria-hidden":`true`}),(0,G.jsxs)(`div`,{className:`app-body`,children:[(0,G.jsxs)(`aside`,{ref:ce,className:`sidebar ${D?`sidebar-collapsed`:``}`,children:[(0,G.jsx)(`div`,{className:`pr-sidebar-tree`,children:(0,G.jsx)(Z0,{files:U,activeFile:T,commentCounts:fe,viewedFiles:C,untrackedFiles:_e,onFileClick:ve,collapsed:D,onToggleCollapse:()=>O(e=>!e),appliedExtensions:N,onApplyExtensions:e=>P(hD(e)),chipFilter:F,onChipFilterChange:I})}),!D&&u.length>0&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`ct-resize-handle`,onMouseDown:Te,role:`separator`,"aria-label":`Resize comments panel`,"aria-orientation":`horizontal`,tabIndex:0}),(0,G.jsx)(`div`,{className:`ct-wrapper pr-ct-wrapper`,children:(0,G.jsx)(t2,{comments:u,resolveComment:h,unresolveComment:g,removeComment:f,addReply:async(e,t)=>{await m({id:e,body:t})},editComment:_,editReply:v,removeReply:y})})]})]}),!D&&(0,G.jsx)(`div`,{className:`sidebar-resize-handle`,onMouseDown:we,role:`separator`,"aria-label":`Resize sidebar`,"aria-orientation":`vertical`,tabIndex:0}),(0,G.jsxs)(`main`,{className:`main pr-main`,id:`pr-diff-main`,tabIndex:-1,children:[(0,G.jsx)(w3,{session:o,draftCount:u.length}),(0,G.jsx)(b3,{reviews:o.existingReviews??[]}),(o.existingComments?.length??0)>0&&(0,G.jsxs)(`div`,{className:`pr-existing-summary`,children:[(0,G.jsx)(jO,{size:13}),(0,G.jsxs)(`span`,{children:[o.existingComments.length,` existing GitHub conversation`,o.existingComments.length===1?``:`s`,` included in this review.`]})]}),(S||c)&&(0,G.jsxs)(`div`,{className:`pr-error`,children:[(0,G.jsx)(JD,{size:14}),` Failed to load the PR: `,S||c?.message]}),x&&!b?(0,G.jsx)(`div`,{className:`pr-app-loading`,children:`Loading PR diff…`}):pe.length===0?(0,G.jsxs)(`div`,{className:`empty-state`,role:`status`,children:[(0,G.jsx)(`div`,{className:`empty-state-icon`,children:(0,G.jsx)(_O,{size:24})}),(0,G.jsx)(`p`,{className:`empty-state-title`,children:`No matching files`}),(0,G.jsx)(`p`,{className:`empty-state-hint`,children:`Clear the file-tree filters to see the full pull request.`})]}):(0,G.jsx)(D3,{files:pe,fileAnnotations:me,existingCommentsByFile:de,viewedFiles:C,settings:n,monoFontFamily:ge,onAddComment:e=>d(e),onDeleteComment:f,onViewedChange:be,onCardToggleCollapse:(e,t)=>{t&&ye(e)},onReplyExisting:xe,onEditExisting:(e,t)=>Se(`PATCH`,e,t),onDeleteExisting:e=>Se(`DELETE`,e),onSetExistingResolved:Ce})]})]}),(0,G.jsx)(O2,{isOpen:L.open,onClose:()=>R(e=>({...e,open:!1})),initialScope:L.scope,files:pe,changedEntries:he,customMode:!0,staged:!1,onNavigateFile:ve,theme:n.theme||`rose-pine`,fontSize:n.fontSize,monoFontFamily:ge,defaultTabSize:n.defaultTabSize,lineWrap:n.lineWrap,showLineNumbers:n.showLineNumbers,lineHoverHighlight:n.lineHoverHighlight}),(0,G.jsx)(I2,{activeFile:T,onShowHelp:()=>ie(!0),visible:n.showStatusBar,placeholder:`No active PR file (J/K to jump)`}),(0,G.jsx)(L2,{isOpen:re,onClose:()=>ie(!1),mode:`pr`}),(0,G.jsx)(B2,{open:z,activeTheme:n.theme||`rose-pine`,onThemeChange:e=>Ae({theme:e}),onClose:()=>ee(!1)}),(0,G.jsx)(U2,{open:te,title:`Select UI Font`,defaultLabel:`Default (Geist Mono, from CDN)`,activeFont:n.uiFont,onFontChange:e=>Ae({uiFont:e}),onClose:()=>ne(!1)}),(0,G.jsx)(U2,{open:B,title:`Select Code Font`,defaultLabel:`Default (JetBrains Mono, from CDN)`,activeFont:n.monoFont,onFontChange:e=>Ae({monoFont:e}),onClose:()=>V(!1)}),ae&&(0,G.jsx)(T3,{result:ae,onDismiss:()=>oe(null)})]})})}function D3({files:e,fileAnnotations:t,existingCommentsByFile:n,viewedFiles:r,settings:i,monoFontFamily:a,onAddComment:o,onDeleteComment:s,onViewedChange:c,onCardToggleCollapse:l,onReplyExisting:u,onEditExisting:d,onDeleteExisting:f,onSetExistingResolved:p}){return(0,G.jsx)(`div`,{className:`pr-diff-surface`,children:e.map(e=>{let m=n.get(e.name)??[];return(0,G.jsx)(`div`,{className:`pr-file-block`,children:(0,G.jsx)(jG,{files:[e],diffStyle:i.diffStyle,tabSizeMap:{},defaultTabSize:i.defaultTabSize,viewedFiles:r,binaryFiles:new Map,theme:i.theme||`rose-pine`,lineDiffType:i.lineDiffType,lineWrap:i.lineWrap,diffIndicators:i.diffIndicators,showLineNumbers:i.showLineNumbers,hunkSeparators:i.hunkSeparators,lineHoverHighlight:i.lineHoverHighlight,fontSize:i.fontSize,monoFontFamily:a,expandContextByDefault:i.expandContextByDefault,collapsedContextThreshold:i.collapsedContextThreshold,expansionLineCount:i.expansionLineCount,autoCollapseLineThreshold:i.autoCollapseLineThreshold,onViewedChange:c,fileAnnotationsMap:new Map([[e.name,t.get(e.name)??[]]]),existingCommentsMap:new Map([[e.name,m]]),onAddComment:(e,t,n,r,i,a)=>o({filePath:e,side:t,lineNumber:n,lineContent:r,body:i,startLineNumber:a}),onDeleteComment:s,onReplyExisting:u,onEditExisting:d,onDeleteExisting:f,onSetExistingResolved:p,onCardToggleCollapse:l,allowLocalActions:!1})},e.name)})})}function O3(){let e=jE(),[t,n]=(0,W.useState)(!1),[r,i]=(0,W.useState)(()=>e===`/gh/pr`||e.startsWith(`/gh/pr/`)||e.startsWith(`/plan`));return(0,W.useEffect)(()=>{SD().then(()=>{n(!0)})},[]),(0,W.useEffect)(()=>{if(e===`/gh/pr`||e.startsWith(`/gh/pr/`)||e.startsWith(`/plan`)){i(!0);return}if(e!==`/`){i(!0);return}let t=!1;return fetch(`/api/gh/session`).then(async e=>{t||e.ok&&(await e.json().catch(()=>null))?.prMode===!0&&DE(`/gh/pr`,{replace:!0})}).catch(()=>{}).finally(()=>{t||i(!0)}),()=>{t=!0}},[e]),!t||!r?(0,G.jsxs)(`div`,{className:`boot-loader`,role:`status`,"aria-live":`polite`,children:[(0,G.jsx)(HH,{size:40,className:`boot-loader-mark`}),(0,G.jsx)(`div`,{className:`boot-loader-spinner`,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:`boot-loader-label`,children:`Loading review session…`})]}):e===`/plan`||e.startsWith(`/plan/`)?(0,G.jsx)(a3,{}):e===`/gh/pr`||e.startsWith(`/gh/pr/`)?(0,G.jsx)(E3,{}):(0,G.jsx)($2,{})}var k3=new Le;(0,mn.createRoot)(document.getElementById(`root`)).render((0,G.jsx)(He,{client:k3,children:(0,G.jsx)(ot,{children:(0,G.jsx)(km,{poolOptions:{workerFactory:()=>new A_,poolSize:Math.max(1,Math.min(4,navigator.hardwareConcurrency||2))},highlighterOptions:{theme:{dark:`rose-pine`,light:`github-light`},langs:[`vue`]},children:(0,G.jsx)(QT,{children:(0,G.jsx)(O3,{})})})})}));export{l as a,s as i,J as n,o as r,_E as t};
3959
+ `}var Z4={pending:{icon:rO,className:`plan-badge-pending`,label:`Pending`},approved:{icon:UD,className:`plan-badge-approved`,label:`Approved`},"changes-requested":{icon:NO,className:`plan-badge-changes`,label:`Changes`},rejected:{icon:ck,className:`plan-badge-rejected`,label:`Rejected`},"comment-only":{icon:PO,className:`plan-badge-comment-only`,label:`Comment only`}},Q4=[`all`,`pending`,`approved`,`changes-requested`,`rejected`,`comment-only`];function $4(){try{let e=CD(x4.decisionFilter);if(e&&Q4.includes(e))return e}catch{}return`all`}function e3({plans:e,activeId:t,onSelect:n,onDelete:r,collapsed:i,onToggleCollapse:a}){let[o,s]=(0,W.useState)(``),[c,l]=(0,W.useState)($4),[u,d]=(0,W.useState)(null),f=(0,W.useCallback)(e=>{l(e),DD(x4.decisionFilter,e)},[]),p=(0,W.useMemo)(()=>[...e].sort((e,t)=>t.createdAt-e.createdAt),[e]),m=(0,W.useMemo)(()=>{let e=o.toLowerCase().trim();return p.filter(t=>c!==`all`&&t.decision!==c?!1:e?`${t.title} ${t.source??``} ${t.sourcePath??``} ${t.model??``} ${t.id}`.toLowerCase().includes(e):!0)},[p,o,c]),h=(0,W.useMemo)(()=>e.filter(e=>e.decision===`pending`).length,[e]);return i?(0,G.jsx)(`div`,{className:`plan-list plan-list-collapsed`,children:a&&(0,G.jsx)($T,{content:`Expand sidebar · b`,side:`right`,children:(0,G.jsx)(`button`,{className:`sidebar-toggle`,onClick:a,"aria-label":`Expand sidebar`,children:(0,G.jsx)(UO,{size:16})})})}):(0,G.jsxs)(`div`,{className:`plan-list`,children:[(0,G.jsxs)(`div`,{className:`plan-list-chrome`,children:[(0,G.jsxs)(`div`,{className:`plan-list-toolbar`,children:[a&&(0,G.jsx)($T,{content:`Collapse sidebar · b`,side:`right`,children:(0,G.jsx)(`button`,{className:`sidebar-toggle`,onClick:a,"aria-label":`Collapse sidebar`,children:(0,G.jsx)(HO,{size:16})})}),(0,G.jsxs)(`div`,{className:`plan-list-search`,children:[(0,G.jsx)(ZO,{size:14,className:`plan-list-search-icon`,"aria-hidden":`true`}),(0,G.jsx)(`input`,{type:`text`,placeholder:`Search plans…`,value:o,onChange:e=>s(e.target.value),className:`plan-list-search-input`,"aria-label":`Search plans`})]})]}),(0,G.jsx)(`div`,{className:`plan-list-filters`,role:`group`,"aria-label":`Filter by decision`,children:[{id:`all`,label:`All`},{id:`pending`,label:h?`Pending ${h}`:`Pending`},{id:`approved`,label:`Approved`},{id:`changes-requested`,label:`Changes`},{id:`rejected`,label:`Rejected`}].map(e=>(0,G.jsx)(`button`,{type:`button`,className:`plan-list-filter ${c===e.id?`is-active`:``}`,"aria-pressed":c===e.id,onClick:()=>f(e.id),children:e.label},e.id))})]}),(0,G.jsxs)(`div`,{className:`plan-list-scroll`,children:[(0,G.jsx)(`div`,{className:`plan-list-header`,children:(0,G.jsx)(`span`,{children:m.length===e.length?`${e.length} plan${e.length===1?``:`s`}`:`${m.length} of ${e.length}`})}),m.length===0&&(0,G.jsx)(`div`,{className:`plan-list-empty`,children:o||c!==`all`?`No matching plans.`:`No plans yet.`}),(0,G.jsx)(`div`,{className:`plan-list-items`,children:m.map(e=>{let i=Z4[e.decision],a=i.icon,o=(e.comments??[]).filter(e=>e.status===`open`).length,s=e.sourcePath||e.source,c=e.id===t;return(0,G.jsxs)(`div`,{className:`plan-list-item ${c?`plan-list-item-active`:``}`,onClick:()=>n(e.id),role:`button`,tabIndex:0,"aria-current":c?`true`:void 0,onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),n(e.id))},children:[(0,G.jsxs)(`div`,{className:`plan-list-item-top`,children:[(0,G.jsx)(`span`,{className:`plan-badge plan-badge-dot ${i.className}`,title:i.label,children:(0,G.jsx)(a,{size:11,"aria-hidden":`true`})}),(0,G.jsx)(`span`,{className:`plan-list-item-title`,title:e.title,children:e.title}),s&&(0,G.jsx)($T,{content:`Copy source path`,children:(0,G.jsx)(`button`,{className:`plan-list-copy-path`,title:`Copy source path`,"aria-label":`Copy source path`,onClick:t=>{t.stopPropagation();let n=e.sourcePath||e.source||``;navigator.clipboard?.writeText(n).then(()=>{d(e.id),window.setTimeout(()=>d(null),1200)},()=>{})},children:u===e.id?(0,G.jsx)(UD,{size:12}):(0,G.jsx)(oO,{size:12})})}),(0,G.jsx)(`button`,{className:`plan-list-delete`,title:`Delete plan`,"aria-label":`Delete plan`,onClick:t=>{t.stopPropagation(),r(e.id)},children:(0,G.jsx)(rk,{size:12,"aria-hidden":`true`})})]}),(0,G.jsxs)(`div`,{className:`plan-list-item-sub`,children:[(0,G.jsxs)(`span`,{className:`plan-list-item-version`,children:[`v`,e.version]}),o>0&&(0,G.jsxs)(`span`,{className:`plan-list-item-open`,children:[o,` open`]}),e.model&&(0,G.jsxs)(`span`,{className:`plan-list-item-model`,title:e.model,children:[(0,G.jsx)(VD,{size:10,"aria-hidden":`true`}),e.model]}),(0,G.jsx)(`span`,{className:`plan-list-item-time`,children:eE(e.createdAt)})]})]},e.id)})})]})]})}var t3=[{value:`approved`,label:`Approve`,description:`The plan looks good — the agent should proceed.`,icon:UD,className:`plan-verdict-approve`},{value:`changes-requested`,label:`Request changes`,description:`The agent should revise the plan and resubmit it.`,icon:NO,className:`plan-verdict-changes`},{value:`rejected`,label:`Reject`,description:`Don't proceed — the approach needs rethinking.`,icon:ck,className:`plan-verdict-reject`},{value:`comment-only`,label:`Comment only`,description:`Agent must NOT edit files — only reply to comments. General note goes to chat.`,icon:PO,className:`plan-verdict-comment-only`}];function n3({openCommentCount:e,onSubmit:t,submitting:n,agentWaiting:r,currentDecision:i}){let{haptic:a,sound:o}=pD(),[s,c]=(0,W.useState)(!1),[l,u]=(0,W.useState)(null),[d,f]=(0,W.useState)(``),{popoverStyle:p,activePreset:m,applyPreset:h,startResize:g,startLeftResize:_,startCornerResize:v,handleOpenChange:y,panelRef:b}=LH(),x=async()=>{l&&(a(`heavy`),o(`send`),await t(l,d,l===`comment-only`?`comment-only`:`standard`),f(``),u(null),c(!1))},S=i!==`pending`;return(0,G.jsx)(Qk,{open:s,onOpenChange:(e,t)=>y(e,t,c),ariaLabel:`Submit plan review`,className:`submit-plan-review-popover`,trigger:(0,G.jsxs)(`button`,{className:`btn btn-primary btn-sm send-review-btn`,disabled:n,title:r?`An agent is connected and waiting for your verdict`:`Submit your verdict on this plan`,style:{display:`inline-flex`,alignItems:`center`,gap:`6px`},children:[r&&(0,G.jsx)(`span`,{className:`agent-waiting-dot`,"aria-hidden":`true`}),S?(0,G.jsx)(qO,{size:14}):(0,G.jsx)(eO,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:n?`Submitting…`:S?`Update review`:`Submit review`})]}),children:(0,G.jsxs)(`div`,{className:`srp`,ref:b,style:p,children:[(0,G.jsx)(`div`,{className:`srp-resize-handle-left`,onPointerDown:_,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize submit panel width`,tabIndex:0}),(0,G.jsxs)(`div`,{className:`srp-head`,children:[S?(0,G.jsx)(qO,{size:15,"aria-hidden":`true`}):(0,G.jsx)(eO,{size:15,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:`srp-title`,children:S?`Update plan review`:`Submit plan review`}),(0,G.jsx)(`div`,{className:`srp-size-presets`,role:`group`,"aria-label":`Panel size`,children:OH.map((e,t)=>(0,G.jsx)(`button`,{className:`srp-preset-btn`,role:`radio`,"aria-checked":m===t,"aria-pressed":m===t,onClick:()=>h(e),title:`${e.width}×${e.height}px`,children:e.label},e.label))}),e>0&&(0,G.jsxs)(`span`,{className:`srp-count`,children:[e,` open comment`,e===1?``:`s`]})]}),(0,G.jsxs)(`div`,{className:`srp-scroll`,children:[(0,G.jsx)(`div`,{className:`plan-verdict-options`,role:`radiogroup`,"aria-label":`Verdict`,children:t3.map(e=>{let t=e.icon,n=l===e.value;return(0,G.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":n,className:`plan-verdict-option ${e.className} ${n?`plan-verdict-option-selected`:``}`,onClick:()=>u(e.value),children:[(0,G.jsx)(`span`,{className:`plan-verdict-icon`,children:(0,G.jsx)(t,{size:15,"aria-hidden":`true`})}),(0,G.jsxs)(`span`,{className:`plan-verdict-text`,children:[(0,G.jsx)(`span`,{className:`plan-verdict-label`,children:e.label}),(0,G.jsx)(`span`,{className:`plan-verdict-desc`,children:e.description})]}),(0,G.jsx)(`span`,{className:`plan-verdict-radio`,"aria-hidden":`true`})]},e.value)})}),(0,G.jsxs)(`div`,{className:`srp-general`,children:[(0,G.jsxs)(`label`,{className:`srp-general-label`,htmlFor:`plan-decision-comment`,children:[`Overall comment `,(0,G.jsx)(`span`,{className:`srp-optional`,children:`(optional · Markdown)`})]}),(0,G.jsx)(TH,{id:`plan-decision-comment`,value:d,onChange:f,textareaClassName:`srp-general-input`,placeholder:`Add an overall note for the agent that applies to the whole plan…`,rows:3,ariaLabel:`Overall plan review comment`,onSubmitShortcut:x})]})]}),(0,G.jsxs)(`div`,{className:`srp-footer`,children:[(0,G.jsx)(`button`,{className:`btn btn-sm`,onClick:()=>c(!1),disabled:n,children:`Cancel`}),(0,G.jsx)(`button`,{className:`btn btn-primary btn-sm`,onClick:x,disabled:!l||n,children:n?`Submitting…`:`Submit review`})]}),(0,G.jsx)(`div`,{className:`srp-resize-handle`,onPointerDown:g,role:`separator`,"aria-orientation":`horizontal`,"aria-label":`Resize submit panel`,tabIndex:0}),(0,G.jsx)(`div`,{className:`srp-resize-handle-corner`,onPointerDown:v,role:`separator`,"aria-label":`Resize submit panel width and height`,tabIndex:0})]})})}var r3=[11,12,13,14,15,16].map(e=>({value:String(e),label:`${e}px`})),i3=[2,4,8].map(e=>({value:String(e),label:String(e)})),a3=[{value:`both`,label:`Both`},{value:`line`,label:`Line only`},{value:`number`,label:`Number only`},{value:`disabled`,label:`Disabled`}];function o3(){let e=Am(),{settings:t,loaded:n,updateSettings:r}=IE();LE(n,t.uiFont,t.monoFont);let{plans:i,getPlan:a,removePlan:o,agentActivity:s,clearAgentActivity:c,submitDecision:l,submitting:u,agentWaiting:d,isLoading:f}=wE(),p=jE(),[m,h]=(0,W.useState)(!1),[g,_]=(0,W.useState)(!1),[v,y]=(0,W.useState)(!1);(0,W.useEffect)(()=>{let e=e=>{if(e.metaKey||e.ctrlKey){if(e.key===`,`||e.code===`Comma`){e.preventDefault(),_(e=>!e);return}(e.key===`?`||e.key===`/`&&e.shiftKey||e.code===`Slash`&&e.shiftKey)&&(e.preventDefault(),y(!0))}};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[]);let[b,x]=(0,W.useState)(()=>{try{let e=CD(x4.viewMode);if(e===`rendered`||e===`split`||e===`source`)return e}catch{}return`source`}),S=(0,W.useCallback)(e=>{x(e);try{DD(x4.viewMode,e)}catch{}},[]),[C,w]=(0,W.useState)(()=>S4(x4.zenMode,!1)),T=(0,W.useCallback)(e=>{w(e);try{DD(x4.zenMode,String(e))}catch{}},[]),E=(0,W.useCallback)(()=>{b===`rendered`?T(!C):(S(`rendered`),T(!0))},[b,C,S,T]),[D,O]=(0,W.useState)(()=>{try{let e=CD(x4.tocOpen);if(e===`false`)return!1;if(e===`true`)return!0}catch{}return!0}),[k,A]=(0,W.useState)(()=>{try{let e=CD(x4.commentsRail);if(e===`false`)return!1;if(e===`true`)return!0}catch{}return!0}),j=(0,W.useCallback)(e=>{O(e),DD(x4.tocOpen,String(e))},[]),M=(0,W.useCallback)(e=>{A(e),DD(x4.commentsRail,String(e))},[]),N=(0,W.useCallback)(()=>{j(!D)},[D,j]),P=(0,W.useCallback)(()=>{M(!k)},[k,M]),F=(0,W.useMemo)(()=>{let e=/^\/plan\/([^/]+)/.exec(p);return e?decodeURIComponent(e[1]):null},[p]),I=(0,W.useMemo)(()=>F?a(F):i.length===0?null:[...i].reverse().find(e=>e.decision===`pending`)??i[i.length-1],[F,i,a]),L=(0,W.useMemo)(()=>nE[t.theme||`rose-pine`]||nE[`rose-pine`],[t.theme]);(0,W.useEffect)(()=>{let e=t.theme||`rose-pine`,n=document.documentElement;n.classList.add(`theme-switching`),n.setAttribute(`data-theme`,e);let r=requestAnimationFrame(()=>{requestAnimationFrame(()=>n.classList.remove(`theme-switching`))});return()=>cancelAnimationFrame(r)},[t.theme]),(0,W.useEffect)(()=>{e&&e.setRenderOptions({theme:{dark:L.type===`dark`?L.themeName:`rose-pine`,light:L.type===`light`?L.themeName:`github-light`}}).catch(e=>console.error(`Failed to set worker pool render options:`,e))},[e,L]),(0,W.useEffect)(()=>{let e=L.type===`dark`?L.themeName:`rose-pine`,t=L.type===`light`?L.themeName:`github-light`;Uf({themes:Array.from(new Set([e,t])),langs:[]}).catch(()=>{})},[L]);let[R,z]=(0,W.useState)(()=>{try{let e=CD(`diffing-sidebar-collapsed`);if(e!=null)return e===`true`}catch{}return typeof window<`u`&&window.innerWidth<=768}),[ee,te]=(0,W.useState)(()=>{try{let e=CD(`diffing-sidebar-width`);return e?Number(e):320}catch{return 320}});(0,W.useEffect)(()=>{try{DD(`diffing-sidebar-collapsed`,String(R))}catch{}},[R]);let ne=(0,W.useRef)(ee);ne.current=ee;let B=(0,W.useRef)(null),V=(0,W.useRef)(null),re=(0,W.useRef)(null),ie=(0,W.useCallback)(e=>{e.preventDefault();let t=e.clientX,n=ne.current,r=V.current,i=re.current,a=r?r.getBoundingClientRect().left:0,o=n,s=0,c=()=>{s=0,i&&(i.style.transform=`translateX(${a+o}px)`)};i&&(i.style.transform=`translateX(${a+n}px)`,i.classList.add(`sidebar-resize-guide-active`));let l=e=>{let r=e.clientX-t;o=Math.max(240,Math.min(640,n+r)),s||=requestAnimationFrame(c)},u=()=>{s&&cancelAnimationFrame(s),i&&i.classList.remove(`sidebar-resize-guide-active`),te(o);try{DD(`diffing-sidebar-width`,String(o))}catch{}document.removeEventListener(`mousemove`,l),document.removeEventListener(`mouseup`,u),document.body.style.cursor=``,document.body.style.userSelect=``};document.addEventListener(`mousemove`,l),document.addEventListener(`mouseup`,u),document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`},[]),ae=(0,W.useCallback)(()=>{z(e=>!e)},[]),oe=(0,W.useCallback)(()=>{r({lineWrap:!t.lineWrap})},[t.lineWrap,r]),se=(0,W.useCallback)(()=>{r({showLineNumbers:!t.showLineNumbers})},[t.showLineNumbers,r]),ce=(0,W.useCallback)(()=>{let e=[`source`,`rendered`,`split`],t=e[(e.indexOf(b)+1)%e.length];S(t)},[b,S]),H=(0,W.useCallback)(()=>{let e=[2,4,8],n=t.defaultTabSize||4;r({defaultTabSize:e[(e.indexOf(n)+1)%e.length]})},[t.defaultTabSize,r]),le=(0,W.useCallback)(e=>{if(i.length===0)return;let t=[...i].sort((e,t)=>t.createdAt-e.createdAt),n=0;if(I){let r=t.findIndex(e=>e.id===I.id);r!==-1&&(n=e===`next`?Math.min(r+1,t.length-1):Math.max(r-1,0))}let r=t[n];DE(`/plan/${r.id}`)},[i,I]);e4((0,W.useMemo)(()=>({onNavigatePlan:le,onToggleViewMode:ce,onToggleZenMode:E,onToggleCommentsRail:P,onToggleOutline:N,onCycleTabSize:H,onToggleSidebar:ae,onToggleLineWrap:oe,onToggleLineNumbers:se,onOpenTheme:()=>h(!0),onOpenShortcuts:()=>y(!0)}),[le,ce,E,P,N,H,ae,oe,se]));let ue=(0,W.useMemo)(()=>I?(I.comments??[]).filter(e=>e.status===`open`).length:0,[I]);return f||!n?(0,G.jsxs)(`div`,{className:`app plan-app skeleton-app`,style:{"--sidebar-width":`${ee}px`},children:[(0,G.jsxs)(`header`,{className:`skeleton-toolbar`,children:[(0,G.jsx)(`div`,{className:`skeleton-item skeleton-logo`,style:{width:`140px`}}),(0,G.jsx)(`div`,{className:`skeleton-item skeleton-stats`,style:{width:`80px`,marginLeft:`20px`}}),(0,G.jsx)(`div`,{className:`skeleton-item skeleton-actions`,style:{width:`220px`}})]}),(0,G.jsxs)(`div`,{className:`app-body`,children:[(0,G.jsx)(`aside`,{className:`sidebar plan-sidebar skeleton-sidebar ${R?`sidebar-collapsed`:``}`,children:!R&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`skeleton-search`,style:{height:`32px`,margin:`0 16px 16px 16px`}}),(0,G.jsx)(`div`,{className:`skeleton-tree-nodes`,children:Array.from({length:4}).map((e,t)=>(0,G.jsxs)(`div`,{className:`skeleton-tree-node`,style:{paddingLeft:`16px`,height:`40px`,borderBottom:`1px solid var(--border-weak)`},children:[(0,G.jsx)(`div`,{className:`skeleton-node-icon`,style:{width:`20px`,height:`20px`,borderRadius:`50%`}}),(0,G.jsx)(`div`,{className:`skeleton-node-text`,style:{width:`${80+t*30%90}px`,height:`14px`}})]},t))})]})}),!R&&(0,G.jsx)(`div`,{className:`sidebar-resize-handle`,style:{cursor:`default`}}),(0,G.jsx)(`main`,{className:`main plan-main skeleton-main`,children:(0,G.jsxs)(`div`,{className:`file-diff-card skeleton-card`,style:{border:`1px solid var(--border-color)`,borderRadius:`8px`},children:[(0,G.jsxs)(`div`,{className:`skeleton-card-header`,style:{padding:`16px 20px`},children:[(0,G.jsx)(`div`,{className:`skeleton-card-title`,style:{width:`250px`,height:`20px`}}),(0,G.jsx)(`div`,{className:`skeleton-card-badge`,style:{width:`100px`,height:`24px`}})]}),(0,G.jsxs)(`div`,{className:`skeleton-card-body`,style:{padding:`24px`,background:`var(--bg-secondary)`,display:`flex`,flexDirection:`column`,gap:`16px`},children:[(0,G.jsx)(`div`,{className:`skeleton-code-line`,style:{width:`90%`,height:`16px`}}),(0,G.jsx)(`div`,{className:`skeleton-code-line`,style:{width:`75%`,height:`16px`}}),(0,G.jsx)(`div`,{className:`skeleton-code-line`,style:{width:`85%`,height:`16px`}}),(0,G.jsx)(`div`,{className:`skeleton-code-line`,style:{width:`40%`,height:`16px`}}),(0,G.jsx)(`div`,{className:`skeleton-code-line`,style:{width:`60%`,height:`16px`}}),(0,G.jsx)(`div`,{className:`skeleton-code-line`,style:{width:`80%`,height:`16px`}})]})]})})]})]}):(0,G.jsx)(fD,{enabled:t.haptics??!0,soundsEnabled:t.sounds??!0,children:(0,G.jsxs)(`div`,{className:`app plan-app`,ref:B,style:{"--sidebar-width":`${ee}px`},children:[(0,G.jsx)(`div`,{className:`sidebar-resize-guide`,ref:re,"aria-hidden":`true`}),(0,G.jsxs)(`div`,{className:`toolbar plan-app-toolbar`,children:[(0,G.jsxs)(`div`,{className:`toolbar-left`,children:[(0,G.jsx)(`button`,{className:`toolbar-mobile-toggle`,onClick:()=>z(!R),"aria-label":`Toggle sidebar`,title:R?`Open sidebar`:`Close sidebar`,children:(0,G.jsx)(AO,{size:18})}),(0,G.jsx)($T,{content:`Back to diff review`,side:`bottom`,children:(0,G.jsxs)(`button`,{className:`btn btn-sm plan-toolbar-back`,onClick:()=>DE(`/`),"aria-label":`Back to the diff review`,children:[(0,G.jsx)(zD,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:`Diff`})]})}),(0,G.jsxs)(`div`,{className:`plan-toolbar-brand`,children:[(0,G.jsx)(HH,{size:18,className:`plan-app-brand`}),(0,G.jsxs)(`div`,{className:`plan-toolbar-brand-text`,children:[(0,G.jsx)(`h1`,{className:`toolbar-title plan-app-title`,children:`Plans`}),I?(0,G.jsx)(`span`,{className:`plan-toolbar-active`,title:I.title,children:I.title}):(0,G.jsxs)(`span`,{className:`plan-toolbar-count`,children:[i.length,` plan`,i.length===1?``:`s`]})]})]})]}),(0,G.jsx)(`div`,{className:`plan-view-toggle`,role:`group`,"aria-label":`Plan view mode`,children:[{id:`source`,label:`Source`,icon:iO,tip:`Source — select lines to comment`},{id:`rendered`,label:`Read`,icon:fO,tip:`Read — rendered markdown (highlight to comment)`},{id:`split`,label:`Split`,icon:aO,tip:`Split — source + rendered (drag the divider to resize)`}].map(({id:e,label:t,icon:n,tip:r})=>(0,G.jsx)($T,{content:`${r} · m to cycle`,side:`bottom`,children:(0,G.jsxs)(`button`,{type:`button`,className:`plan-view-toggle-btn ${b===e?`is-active`:``}`,"aria-pressed":b===e,"aria-label":r,onClick:()=>S(e),children:[(0,G.jsx)(n,{size:13,"aria-hidden":`true`}),(0,G.jsx)(`span`,{children:t})]})},e))}),(0,G.jsxs)(`div`,{className:`toolbar-right`,children:[(0,G.jsx)(Qk,{open:g,onOpenChange:_,ariaLabel:`Settings`,className:`settings-popover`,trigger:(0,G.jsxs)(`button`,{className:`btn btn-sm settings-btn ${g?`btn-active`:``}`,title:`Settings (⌘,)`,"aria-label":`Settings`,children:[(0,G.jsx)(QO,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:`Settings`})]}),children:(0,G.jsxs)(`div`,{className:`popover-scroll settings-panel`,children:[(0,G.jsx)(`div`,{className:`settings-section-label`,children:`Appearance`}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Theme`}),(0,G.jsxs)(`button`,{className:`btn btn-sm settings-btn`,onClick:()=>{_(!1),h(!0)},style:{display:`inline-flex`,alignItems:`center`},children:[(0,G.jsx)(VO,{size:14,style:{marginRight:`4px`}}),(0,G.jsx)(`span`,{children:`Switch Theme...`})]})]}),(0,G.jsx)(`div`,{className:`settings-section-label`,children:`Plan chrome`}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:D,onChange:e=>j(e.target.checked)}),`Show outline`]}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:k,onChange:e=>M(e.target.checked)}),`Show comments panel`]}),(0,G.jsx)(`div`,{className:`settings-section-label`,children:`Display`}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:t.lineWrap,onChange:e=>r({lineWrap:e.target.checked})}),`Wrap long lines`]}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:t.showLineNumbers,onChange:e=>r({showLineNumbers:e.target.checked})}),`Show line numbers`]}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:t.showStatusBar??!0,onChange:e=>r({showStatusBar:e.target.checked})}),`Show status bar`]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Hover highlight`}),(0,G.jsx)(tW,{value:t.lineHoverHighlight,onValueChange:e=>r({lineHoverHighlight:e}),options:a3,ariaLabel:`Hover highlight`})]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Font size`}),(0,G.jsx)(tW,{value:String(t.fontSize),onValueChange:e=>r({fontSize:Number(e)}),options:r3,ariaLabel:`Font size`})]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Default tab size`}),(0,G.jsx)(tW,{value:String(t.defaultTabSize),onValueChange:e=>r({defaultTabSize:Number(e)}),options:i3,ariaLabel:`Default tab size`})]})]})}),I&&(0,G.jsx)(n3,{openCommentCount:ue,onSubmit:(e,t)=>l(I.id,e,t),submitting:u,agentWaiting:d,currentDecision:I.decision})]})]}),!R&&(0,G.jsx)(`div`,{className:`sidebar-mobile-backdrop`,onClick:()=>z(!0),"aria-hidden":`true`}),(0,G.jsxs)(`div`,{className:`app-body`,children:[(0,G.jsx)(`aside`,{ref:V,className:`sidebar plan-sidebar ${R?`sidebar-collapsed`:``}`,children:(0,G.jsx)(`div`,{style:{flex:1,minHeight:0,overflow:`hidden`},children:(0,G.jsx)(e3,{plans:i,activeId:I?.id??null,onSelect:e=>DE(`/plan/${e}`),onDelete:e=>{o(e),I?.id===e&&DE(`/plan`)},collapsed:R,onToggleCollapse:()=>z(!R)})})}),!R&&(0,G.jsx)(`div`,{className:`sidebar-resize-handle`,onMouseDown:ie,role:`separator`,"aria-label":`Resize sidebar`,"aria-orientation":`vertical`,tabIndex:0}),(0,G.jsx)(`main`,{className:`main plan-main`,children:I?(0,G.jsx)(Y4,{plan:I,theme:t.theme||`rose-pine`,fontSize:t.fontSize,monoFontFamily:FE(t.monoFont),defaultTabSize:t.defaultTabSize,lineWrap:t.lineWrap,showLineNumbers:t.showLineNumbers,lineHoverHighlight:t.lineHoverHighlight,viewMode:b,onViewModeChange:S,editorIDE:t.editorIDE,tocOpen:D,onTocOpenChange:j,commentsRailOpen:k,onCommentsRailOpenChange:M,zenMode:C,onZenModeChange:T},I.id):(0,G.jsx)(s3,{hasPlans:i.length>0,notFound:!!F})})]}),(0,G.jsx)(B2,{open:m,activeTheme:t.theme||`rose-pine`,onThemeChange:e=>r({theme:e}),onClose:()=>h(!1)}),(0,G.jsx)(R2,{activity:s?{at:s.at,commentId:s.commentId,filePath:`plan · ${s.planId.slice(0,8)}`,model:s.model,body:s.body}:null,onDismiss:c,onJump:()=>{s&&(DE(`/plan/${s.planId}`),requestAnimationFrame(()=>{document.getElementById(`plan-comment-${s.commentId}`)?.scrollIntoView({behavior:`smooth`,block:`center`})}))}}),(0,G.jsx)(I2,{activeFile:I?I.title:null,onShowHelp:()=>y(!0),placeholder:`No active plan (J/K to jump)`,visible:t.showStatusBar??!0}),(0,G.jsx)(L2,{isOpen:v,onClose:()=>y(!1),mode:`plan`})]})})}function s3({hasPlans:e,notFound:t}){return(0,G.jsxs)(`div`,{className:`plan-empty-state`,children:[(0,G.jsx)(`div`,{className:`plan-empty-icon`,"aria-hidden":`true`,children:(0,G.jsx)(tO,{size:28})}),t?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`h2`,{className:`plan-empty-title`,children:`Plan not found`}),(0,G.jsx)(`p`,{className:`plan-empty-body`,children:`It may have been deleted. Pick another from the list, or submit a new one.`})]}):e?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`h2`,{className:`plan-empty-title`,children:`Select a plan`}),(0,G.jsx)(`p`,{className:`plan-empty-body`,children:`Choose one from the sidebar to start reviewing.`})]}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`h2`,{className:`plan-empty-title`,children:`No plans yet`}),(0,G.jsx)(`p`,{className:`plan-empty-body`,children:`Agents submit a plan, you review it here, then they continue on approval.`}),(0,G.jsxs)(`div`,{className:`plan-empty-steps`,children:[(0,G.jsx)(`code`,{children:`diffing plan submit PLAN.md`}),(0,G.jsx)(`code`,{children:`diffing plan await`})]})]})]})}var c3=[`pr-session`];function l3(){let e=Ve(),{data:t,isLoading:n,error:r}=nt({queryKey:c3,queryFn:async()=>{let e=await fetch(`/api/gh/session`);if(e.status===404)return null;if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();return t?.prMode===!1?null:t},retry:!1});return(0,W.useEffect)(()=>fE(`pr-session`,()=>{e.invalidateQueries({queryKey:c3})}),[e]),{session:t,loaded:!n,error:r}}function u3(e){let t=Ve();(0,W.useEffect)(()=>{if(!e)return;let n=!1,r=!1,i=async()=>{if(!(n||r||document.visibilityState===`hidden`)){r=!0;try{(await fetch(`/api/gh/comments/sync`,{method:`POST`})).ok&&!n&&await t.invalidateQueries({queryKey:c3})}finally{r=!1}}},a=()=>{i()};i();let o=window.setInterval(i,3e4);return window.addEventListener(`focus`,a),()=>{n=!0,window.clearInterval(o),window.removeEventListener(`focus`,a)}},[e,t])}var d3=[`pr-comments`];function f3(e){let t=Ve(),{data:n=[]}=nt({queryKey:d3,queryFn:async()=>{let e=await fetch(`/api/gh/pr-session/comments`);if(e.status===404)return[];if(!e.ok)throw Error(`HTTP ${e.status}`);return e.json()},enabled:e});(0,W.useEffect)(()=>fE(`pr-session`,()=>{t.invalidateQueries({queryKey:d3})}),[t]);let r=rt({mutationFn:async e=>(await fetch(`/api/gh/pr-session/comments`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)})).json(),onSuccess:e=>{t.setQueryData(d3,(t=[])=>[...t,e])}}),i=rt({mutationFn:async e=>(await fetch(`/api/gh/pr-session/comments/${e}`,{method:`DELETE`}),e),onSuccess:e=>{t.setQueryData(d3,(t=[])=>t.filter(t=>t.id!==e))}}),a=rt({mutationFn:async({id:e,body:t,status:n})=>(await fetch(`/api/gh/pr-session/comments/${e}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:t,status:n})})).json(),onSuccess:e=>{t.setQueryData(d3,(t=[])=>t.map(t=>t.id===e.id?e:t))}}),o=rt({mutationFn:async({id:e,body:t})=>{let n=await fetch(`/api/gh/pr-session/comments/${e}/replies`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:t,role:`user`})}),r=await n.json().catch(()=>({}));if(!n.ok||!r.id)throw Error(r.error||`HTTP ${n.status}`);return r},onMutate:async({id:e,body:n})=>{await t.cancelQueries({queryKey:d3});let r=t.getQueryData(d3)??[],i=`pending-${crypto.randomUUID()}`;return t.setQueryData(d3,(t=[])=>t.map(t=>t.id===e?{...t,replies:[...t.replies??[],{id:i,body:n,createdAt:Date.now(),role:`user`}]}:t)),{previous:r}},onError:(e,n,r)=>{r?.previous&&t.setQueryData(d3,r.previous)},onSuccess:e=>{t.setQueryData(d3,(t=[])=>t.map(t=>t.id===e.id?e:t))}}),s=(0,W.useCallback)(e=>{a.mutate({id:e,status:`resolved`})},[a]),c=(0,W.useCallback)(e=>{a.mutate({id:e,status:`open`})},[a]),l=(0,W.useCallback)((e,t,n)=>{},[]),u=(0,W.useCallback)((e,t)=>{},[]);return{comments:n,addComment:r.mutate,removeComment:i.mutate,updateComment:a.mutate,addReply:o.mutateAsync,resolveComment:s,unresolveComment:c,editComment:(e,t)=>a.mutate({id:e,body:t}),editReply:l,removeReply:u}}function p3(){let e=Ve();return rt({mutationFn:async e=>{let t=new AbortController,n=window.setTimeout(()=>t.abort(),6e4);try{let n=await fetch(`/api/gh/submit`,{method:`POST`,headers:{"Content-Type":`application/json`},signal:t.signal,body:JSON.stringify({decision:e.decision,body:e.body,dryRun:e.dryRun})}),r=await n.json();if(!n.ok||!r.ok)throw Error(r.error||`HTTP ${n.status}`);return r}catch(e){throw t.signal.aborted?Error(`GitHub submission timed out. Check your connection and try again.`):e}finally{window.clearTimeout(n)}},onSuccess:()=>{e.setQueryData(d3,[]),e.invalidateQueries({queryKey:c3}),e.invalidateQueries({queryKey:d3})}})}function m3(){let e=Ve();return rt({mutationFn:async()=>{let e=await fetch(`/api/gh/pr/refresh`,{method:`POST`}),t=await e.json();if(!e.ok)throw Error(t.error||`HTTP ${e.status}`);return t},onSuccess:()=>{e.invalidateQueries({queryKey:c3}),e.invalidateQueries({queryKey:d3})}})}function h3(e){(0,W.useEffect)(()=>{let t=``,n,r=0,i=()=>{t=``,clearTimeout(n)},a=a=>{if((a.metaKey||a.ctrlKey)&&a.key.toLowerCase()===`k`){a.preventDefault(),e.onTogglePalette?e.onTogglePalette():e.onOpenPalette(`all`),i();return}let o=document.activeElement;if(o){let e=o.tagName.toLowerCase();if(e===`input`||e===`textarea`||o.hasAttribute(`contenteditable`))return}if((a.metaKey||a.ctrlKey)&&(a.key===`?`||a.key===`/`&&a.shiftKey||a.code===`Slash`&&a.shiftKey)){a.preventDefault(),e.onOpenShortcuts(),dD(`medium`,`open`),i();return}if(a.ctrlKey){(a.key===`d`||a.key===`u`)&&(a.preventDefault(),window.scrollBy({top:a.key===`d`?window.innerHeight/2:-window.innerHeight/2,behavior:`auto`}),dD(`selection`,`navigate`),i());return}let s=a.key;if(s.length>1&&s!==`Escape`&&s!==`Enter`)return;clearTimeout(n),t+=s,n=setTimeout(()=>{t=``},800);let c=(e,t=`toggle`)=>{a.preventDefault(),e(),dD(t===`open`?`medium`:`selection`,t),i()};if(t===`j`||t===`k`){a.preventDefault(),window.scrollBy({top:t===`j`?100:-100,behavior:`auto`});let e=Date.now();e-r>80&&(lD(`navigate`),r=e),i()}else t===`gg`?c(()=>window.scrollTo({top:0,behavior:`auto`}),`navigate`):t===`G`?c(()=>window.scrollTo({top:document.documentElement.scrollHeight,behavior:`auto`}),`navigate`):t===`J`?c(()=>e.onNavigateFile(`next`),`navigate`):t===`K`?c(()=>e.onNavigateFile(`prev`),`navigate`):t===`]`&&e.onNavigateCommit?c(()=>e.onNavigateCommit?.(`next`),`navigate`):t===`[`&&e.onNavigateCommit?c(()=>e.onNavigateCommit?.(`prev`),`navigate`):t===`v`?c(e.onToggleViewed):t===`m`?c(e.onToggleDiffStyle):t===`t`?c(e.onCycleTabSize):t===`b`?c(e.onToggleSidebar):t===`w`?c(e.onToggleLineWrap):t===`n`?c(e.onToggleLineNumbers):t===`i`?c(e.onCycleDiffIndicators):t===`I`?c(e.onCycleLineDiffType):t===`/`?c(()=>e.onOpenPalette(`text`),`open`):t===`s`||t===`gs`?c(()=>e.onOpenPalette(`symbols`),`open`):t===`gf`?c(()=>e.onOpenPalette(`all`),`open`):t===`gv`?c(()=>e.onOpenPalette(`files`),`open`):t===`gt`?c(e.onOpenTheme,`open`):t===`?`?c(e.onOpenShortcuts,`open`):t.length>=2&&i()};return window.addEventListener(`keydown`,a),()=>{window.removeEventListener(`keydown`,a),clearTimeout(n)}},[e])}function g3({session:e,comments:t,onEditComment:n,onDeleteComment:r,onSubmitted:i}){let{haptic:a,sound:o}=pD(),s=p3(),[c,l]=(0,W.useState)(!1),[u,d]=(0,W.useState)(null),[f,p]=(0,W.useState)(``),{popoverStyle:m,activePreset:h,applyPreset:g,startResize:_,startLeftResize:v,startCornerResize:y,handleOpenChange:b,panelRef:x}=LH(),S=t.length,C=(0,W.useMemo)(()=>[...t].sort((e,t)=>e.createdAt-t.createdAt),[t]),w=!!e.submittedAt,T=async()=>{if(u){a(`heavy`),o(`send`);try{let e=await s.mutateAsync({decision:u,body:f});i?.(e),p(``),d(null),l(!1)}catch{}}};return(0,G.jsx)(Qk,{open:c,onOpenChange:(e,t)=>b(e,t,l),ariaLabel:`Submit your review to GitHub`,className:`submit-to-github-popover`,trigger:(0,G.jsxs)(`button`,{className:`btn btn-primary btn-sm send-review-btn`,disabled:s.isPending,title:w?`Already submitted`:`Submit your review to the PR on GitHub`,style:{display:`inline-flex`,alignItems:`center`,gap:`6px`},children:[(0,G.jsx)(yO,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:s.isPending?`Submitting…`:w?`Submitted ✓`:S>0?`Submit to GitHub (${S})`:`Submit to GitHub`})]}),children:(0,G.jsxs)(`div`,{className:`srp`,ref:x,style:m,children:[(0,G.jsx)(`div`,{className:`srp-resize-handle-left`,onPointerDown:v,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize submit panel width`,tabIndex:0}),(0,G.jsxs)(`div`,{className:`srp-head`,children:[(0,G.jsx)(yO,{size:15,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:`srp-title`,children:`Submit review to GitHub`}),(0,G.jsx)(`div`,{className:`srp-size-presets`,role:`group`,"aria-label":`Panel size`,children:OH.map((e,t)=>(0,G.jsx)(`button`,{className:`srp-preset-btn`,role:`radio`,"aria-checked":h===t,"aria-pressed":h===t,onClick:()=>g(e),title:`${e.width}×${e.height}px`,children:e.label},e.label))}),(0,G.jsxs)(`span`,{className:`srp-count`,children:[S,` comment`,S===1?``:`s`]})]}),(0,G.jsxs)(`div`,{className:`srp-scroll`,children:[w&&(0,G.jsxs)(`div`,{className:`srp-already-submitted`,children:[(0,G.jsx)(UD,{size:13}),(0,G.jsxs)(`span`,{children:[`Already submitted as`,` `,e.submittedReviewUrl?(0,G.jsxs)(`a`,{href:e.submittedReviewUrl,target:`_blank`,rel:`noreferrer`,children:[`review #`,e.submittedReviewId,` `,(0,G.jsx)(cO,{size:11})]}):`review #${e.submittedReviewId}`,`. Re-submitting will post a new review on the same PR.`]})]}),(0,G.jsx)(`div`,{className:`plan-verdict-options`,role:`radiogroup`,"aria-label":`Verdict`,children:_3.map(e=>{let t=e.icon,n=u===e.value;return(0,G.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":n,className:`plan-verdict-option ${e.className} ${n?`plan-verdict-option-selected`:``}`,onClick:()=>d(e.value),children:[(0,G.jsx)(`span`,{className:`plan-verdict-icon`,children:(0,G.jsx)(t,{size:15,"aria-hidden":`true`})}),(0,G.jsxs)(`span`,{className:`plan-verdict-text`,children:[(0,G.jsx)(`span`,{className:`plan-verdict-label`,children:e.label}),(0,G.jsx)(`span`,{className:`plan-verdict-desc`,children:e.description})]}),(0,G.jsx)(`span`,{className:`plan-verdict-radio`,"aria-hidden":`true`})]},e.value)})}),S>0?(0,G.jsxs)(`section`,{className:`srp-comments-section`,"aria-labelledby":`srp-gh-comments-title`,children:[(0,G.jsxs)(`div`,{className:`srp-section-heading`,id:`srp-gh-comments-title`,children:[(0,G.jsx)(PO,{size:13,"aria-hidden":`true`}),(0,G.jsx)(`span`,{children:`Inline comments to publish`}),(0,G.jsx)(`span`,{className:`srp-section-count`,children:S})]}),(0,G.jsx)(`ul`,{className:`srp-list`,"aria-label":`Comments to send`,children:C.map(e=>(0,G.jsx)(v3,{comment:e,onEdit:n,onDelete:r},e.id))})]}):(0,G.jsx)(`p`,{className:`srp-empty`,children:`No inline comments — your verdict and overall note will be sent on their own.`}),(0,G.jsxs)(`div`,{className:`srp-general`,children:[(0,G.jsxs)(`label`,{className:`srp-general-label`,htmlFor:`srp-gh-general-input`,children:[`Overall comment `,(0,G.jsx)(`span`,{className:`srp-optional`,children:`(optional · Markdown)`})]}),(0,G.jsx)(TH,{id:`srp-gh-general-input`,value:f,onChange:p,textareaClassName:`srp-general-input`,placeholder:`Add an overall note for the PR that applies to the whole review…`,rows:3,ariaLabel:`Overall PR review comment`,onSubmitShortcut:T})]}),s.isError&&(0,G.jsxs)(`div`,{className:`srp-error`,role:`alert`,children:[(0,G.jsx)(JD,{size:13}),(0,G.jsx)(`span`,{children:s.error?.message??`Submit failed`})]})]}),(0,G.jsxs)(`div`,{className:`srp-footer`,children:[(0,G.jsx)(`button`,{className:`btn btn-sm`,onClick:()=>l(!1),disabled:s.isPending,children:`Cancel`}),(0,G.jsx)(`button`,{className:`btn btn-primary btn-sm`,onClick:T,disabled:!u||s.isPending,children:s.isPending?`Submitting…`:u===`draft`?`Save draft review`:`Submit review`})]}),(0,G.jsx)(`div`,{className:`srp-resize-handle`,onPointerDown:_,role:`separator`,"aria-orientation":`horizontal`,"aria-label":`Resize submit panel`,tabIndex:0}),(0,G.jsx)(`div`,{className:`srp-resize-handle-corner`,onPointerDown:y,role:`separator`,"aria-label":`Resize submit panel width and height`,tabIndex:0})]})})}var _3=[{value:`approve`,label:`Approve`,description:`The PR is good — submit an APPROVE review.`,icon:UD,className:`plan-verdict-approve`},{value:`comment`,label:`Comment`,description:`Leave neutral feedback (no approve / no request changes).`,icon:NO,className:`plan-verdict-changes`},{value:`request-changes`,label:`Request changes`,description:`The author must address the comments before merging.`,icon:ck,className:`plan-verdict-reject`},{value:`draft`,label:`Save as draft`,description:`Post a PENDING review on GitHub — finish it later in the PR UI.`,icon:dO,className:`plan-verdict-comment-only`}];function v3({comment:e,onEdit:t,onDelete:n}){let[r,i]=(0,W.useState)(!1),[a,o]=(0,W.useState)(e.body),s=(0,W.useRef)(null);(0,W.useEffect)(()=>{r&&(s.current?.focus(),s.current?.select())},[r]);let c=e.lineNumber>0?e.startLineNumber&&e.startLineNumber!==e.lineNumber?`:${e.startLineNumber}-${e.lineNumber}`:`:${e.lineNumber}`:` · file`,l=()=>{let n=a.trim();n&&n!==e.body&&t(e.id,n),i(!1)};return(0,G.jsxs)(`li`,{className:`srp-item`,children:[(0,G.jsxs)(`div`,{className:`srp-item-top`,children:[(0,G.jsxs)(`span`,{className:`srp-item-loc`,children:[(0,G.jsx)(`span`,{className:`srp-item-file`,children:tE(e.filePath)}),(0,G.jsx)(`span`,{className:`srp-item-line`,children:c})]}),e.status===`resolved`&&(0,G.jsx)(`span`,{className:`srp-item-resolved`,children:`resolved`}),(0,G.jsxs)(`span`,{className:`srp-item-actions`,children:[r?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`button`,{className:`srp-icon-btn`,onClick:l,title:`Save edit`,children:(0,G.jsx)(UD,{size:13,"aria-hidden":`true`})}),(0,G.jsx)(`button`,{className:`srp-icon-btn`,onClick:()=>{o(e.body),i(!1)},title:`Cancel edit`,children:(0,G.jsx)(ck,{size:13,"aria-hidden":`true`})})]}):(0,G.jsx)(`button`,{className:`srp-icon-btn`,onClick:()=>i(!0),title:`Edit comment`,children:(0,G.jsx)(GO,{size:13,"aria-hidden":`true`})}),(0,G.jsx)(`button`,{className:`srp-icon-btn srp-icon-btn-danger`,onClick:()=>n(e.id),title:`Remove from review`,children:(0,G.jsx)(rk,{size:13,"aria-hidden":`true`})})]})]}),e.lineContent?.trim()&&(0,G.jsx)(`code`,{className:`srp-item-code`,children:e.lineContent.trim().slice(0,160)}),r?(0,G.jsx)(`textarea`,{ref:s,className:`srp-item-edit`,value:a,rows:2,onChange:e=>o(e.target.value),onKeyDown:t=>{t.key===`Enter`&&(t.metaKey||t.ctrlKey)?(t.preventDefault(),l()):t.key===`Escape`&&(t.preventDefault(),o(e.body),i(!1))}}):(0,G.jsx)(`p`,{className:`srp-item-body`,children:e.body})]})}function y3({session:e,comments:t,settingsProps:n,sidebarCollapsed:r,onToggleSidebar:i,onOpenSearch:a,onRefresh:o,refreshing:s,onEditComment:c,onDeleteComment:l,onSubmitted:u}){return(0,G.jsxs)(`header`,{className:`toolbar diff-app-toolbar pr-review-toolbar`,role:`banner`,children:[(0,G.jsxs)(`div`,{className:`toolbar-left`,children:[(0,G.jsx)(`button`,{className:`toolbar-mobile-toggle`,onClick:i,"aria-label":r?`Open file tree`:`Close file tree`,"aria-expanded":!r,title:r?`Open sidebar · b`:`Close sidebar · b`,children:(0,G.jsx)(AO,{size:18})}),(0,G.jsx)(`button`,{className:`pr-toolbar-back`,onClick:()=>DE(`/`),title:`Back to local review`,"aria-label":`Back to local review`,children:(0,G.jsx)(zD,{size:14})}),(0,G.jsxs)(`div`,{className:`toolbar-brand pr-toolbar-brand`,children:[(0,G.jsx)(HH,{size:20,className:`toolbar-brand-mark`}),(0,G.jsxs)(`div`,{className:`toolbar-brand-text`,children:[(0,G.jsxs)(`h1`,{className:`toolbar-title`,children:[e.owner,`/`,e.repo]}),(0,G.jsxs)(`span`,{className:`toolbar-branch-inline`,title:`Pull request #${e.pullNumber}`,children:[(0,G.jsx)(yO,{size:11}),` #`,e.pullNumber]}),e.headRefName&&e.baseRefName&&(0,G.jsxs)(`span`,{className:`toolbar-branch-flow`,title:`Comparing ${e.headRefName} into ${e.baseRefName}`,"aria-label":`Source branch ${e.headRefName} into target branch ${e.baseRefName}`,children:[(0,G.jsx)(`code`,{className:`toolbar-branch-head`,children:e.headRefName}),(0,G.jsx)(BD,{size:11,"aria-hidden":`true`}),(0,G.jsx)(`code`,{className:`toolbar-branch-base`,children:e.baseRefName})]})]})]})]}),(0,G.jsxs)(`div`,{className:`toolbar-right`,children:[(0,G.jsxs)(`button`,{className:`btn btn-sm toolbar-search-btn`,onClick:a,title:`Search files and changed lines (⌘K)`,"aria-label":`Search`,children:[(0,G.jsx)(ZO,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:`Search`}),(0,G.jsx)(`kbd`,{className:`toolbar-search-kbd`,children:`⌘K`})]}),(0,G.jsxs)(`button`,{className:`btn btn-sm pr-header-copy`,onClick:()=>navigator.clipboard.writeText(vE(t)),disabled:t.length===0,title:`Copy draft comments as Markdown`,children:[(0,G.jsx)(oO,{size:13}),` `,(0,G.jsx)(`span`,{className:`btn-label`,children:`Copy`})]}),(0,G.jsxs)(`button`,{className:`btn btn-sm pr-header-refresh`,onClick:o,disabled:s,title:`Refresh PR from GitHub`,children:[(0,G.jsx)(qO,{size:13,className:s?`spinning`:``}),(0,G.jsx)(`span`,{className:`btn-label`,children:s?`Refreshing…`:`Refresh`})]}),(0,G.jsxs)(`a`,{className:`btn btn-sm pr-header-link`,href:e.url,target:`_blank`,rel:`noreferrer`,title:`Open pull request on GitHub`,children:[(0,G.jsx)(cO,{size:13}),` `,(0,G.jsx)(`span`,{className:`btn-label`,children:`GitHub`})]}),(0,G.jsx)(fW,{...n}),(0,G.jsx)(g3,{session:e,comments:t,onEditComment:c,onDeleteComment:l,onSubmitted:u})]})]})}var b3={APPROVED:{label:`approved these changes`,short:`Approved`,icon:YD},CHANGES_REQUESTED:{label:`requested changes`,short:`Changes requested`,icon:$D},COMMENTED:{label:`left a review comment`,short:`Commented`,icon:jO},PENDING:{label:`started a pending review`,short:`Pending`,icon:nO},DISMISSED:{label:`had a review dismissed`,short:`Dismissed`,icon:$D}};function x3({reviews:e}){let[t,n]=(0,W.useState)(e[0]?.id??null),[r,i]=(0,W.useState)(null);if((0,W.useEffect)(()=>{n(e[0]?.id??null)},[e[0]?.id]),(0,W.useEffect)(()=>{i(null)},[t]),e.length===0)return null;let a=Math.max(0,e.findIndex(e=>e.id===t)),o=e[a]??e[0],s=b3[o.state],c=s.icon,l=o.submittedAt?new Date(o.submittedAt).getTime():null;return(0,G.jsxs)(`section`,{className:`pr-review-activity`,"aria-label":`GitHub review activity`,children:[(0,G.jsxs)(`header`,{className:`pr-review-activity-head`,children:[(0,G.jsxs)(`div`,{className:`pr-review-activity-identity`,children:[o.author?.avatarUrl&&r!==o.author.avatarUrl?(0,G.jsx)(`img`,{src:`/api/gh/avatar?url=${encodeURIComponent(o.author.avatarUrl)}`,alt:``,className:`pr-review-activity-avatar`,referrerPolicy:`no-referrer`,onError:()=>i(o.author?.avatarUrl??null)}):(0,G.jsx)(`span`,{className:`pr-review-activity-avatar is-fallback`,"aria-hidden":`true`,children:(0,G.jsx)(c,{size:14})}),(0,G.jsx)(c,{className:`pr-review-activity-state-icon`,"data-state":o.state,size:16,"aria-hidden":`true`}),(0,G.jsxs)(`span`,{children:[(0,G.jsxs)(`strong`,{children:[`@`,o.author?.login??`unknown`]}),` `,s.label]}),l!=null&&(0,G.jsx)(`time`,{dateTime:o.submittedAt,title:new Date(l).toLocaleString(),children:eE(l)}),(0,G.jsx)(`span`,{className:`pr-review-activity-verdict`,"data-state":o.state,children:s.short})]}),(0,G.jsxs)(`nav`,{className:`pr-review-activity-nav`,"aria-label":`Walk GitHub reviews`,children:[(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm commit-walk-btn`,disabled:a===0,onClick:()=>n(e[a-1]?.id??o.id),"aria-label":`Newer review`,title:`Newer review`,children:(0,G.jsx)(GD,{size:14})}),(0,G.jsxs)(`span`,{children:[a+1,` / `,e.length]}),(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm commit-walk-btn`,disabled:a>=e.length-1,onClick:()=>n(e[a+1]?.id??o.id),"aria-label":`Older review`,title:`Older review`,children:(0,G.jsx)(KD,{size:14})}),o.htmlUrl&&(0,G.jsxs)(`a`,{className:`pr-review-activity-link`,href:o.htmlUrl,target:`_blank`,rel:`noreferrer`,children:[`View on GitHub `,(0,G.jsx)(cO,{size:11})]})]})]}),o.body.trim()?(0,G.jsx)(gH,{content:o.body,className:`pr-review-activity-body markdown-body`}):(0,G.jsx)(`p`,{className:`pr-review-activity-empty`,children:`No overall comment was submitted with this review.`})]})}function S3(e){return e.some(e=>e.state===`pending`)?8e3:3e4}function C3(e){return e===`success`?{icon:YD,className:`is-success`,label:`Succeeded`}:e===`pending`?{icon:nO,className:`is-pending`,label:`In progress`}:e===`failure`||e===`error`||e===`timed_out`||e===`action_required`?{icon:$D,className:`is-failure`,label:e===`timed_out`?`Timed out`:`Failed`}:e===`skipped`||e===`cancelled`||e===`neutral`?{icon:ZD,className:`is-neutral`,label:e===`cancelled`?`Cancelled`:e===`skipped`?`Skipped`:`Neutral`}:{icon:XD,className:`is-neutral`,label:`Unknown`}}function w3({headSha:e}){let t=nt({queryKey:[`pr-checks`,e],queryFn:async()=>{let e=await fetch(`/api/gh/checks`),t=await e.json().catch(()=>({}));if(!e.ok)throw Error(t.error||`HTTP ${e.status}`);return t},refetchInterval:e=>S3(e.state.data?.checks??[]),refetchOnWindowFocus:!0,staleTime:5e3}),n=t.data?.checks??[],r=n.filter(e=>e.state===`success`).length,i=n.filter(e=>e.state===`pending`).length,a=n.filter(e=>[`failure`,`error`,`timed_out`,`action_required`].includes(e.state)).length,o=Math.max(0,n.length-r-i-a),s=a>0?`failure`:i>0?`pending`:n.length>0?`success`:`neutral`,c=s===`failure`?$D:s===`pending`?nO:s===`success`?YD:XD;return(0,G.jsx)(Qk,{ariaLabel:`GitHub checks`,className:`pr-checks-popover`,trigger:(0,G.jsxs)(`button`,{className:`toolbar-chip pr-checks-trigger is-${s}`,title:`Live GitHub checks and actions status`,type:`button`,children:[(0,G.jsx)(c,{size:12}),(0,G.jsx)(`span`,{children:t.isLoading?`Loading checks…`:n.length===0?`No checks`:a>0?`${a} failing`:i>0?`${i} running`:`${r}/${n.length} passed`})]}),children:(0,G.jsxs)(`div`,{className:`pr-checks-panel`,children:[(0,G.jsxs)(`div`,{className:`pr-checks-head`,children:[(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`strong`,{children:`Checks and actions`}),(0,G.jsxs)(`span`,{children:[`Live status for `,e.slice(0,7)]})]}),(0,G.jsx)(`button`,{className:`file-diff-icon-btn`,onClick:()=>t.refetch(),disabled:t.isFetching,"aria-label":`Refresh checks`,children:(0,G.jsx)(qO,{size:13,className:t.isFetching?`spinning`:``})})]}),n.length>0&&(0,G.jsxs)(`div`,{className:`pr-checks-summary`,"aria-label":`Checks summary`,children:[(0,G.jsxs)(`span`,{className:`is-success`,children:[(0,G.jsx)(YD,{size:12}),` `,r,` passed`]}),(0,G.jsxs)(`span`,{className:`is-failure`,children:[(0,G.jsx)($D,{size:12}),` `,a,` failed`]}),(0,G.jsxs)(`span`,{className:`is-pending`,children:[(0,G.jsx)(nO,{size:12}),` `,i,` running`]}),o>0&&(0,G.jsxs)(`span`,{className:`is-neutral`,children:[(0,G.jsx)(ZD,{size:12}),` `,o,` other`]})]}),t.isError?(0,G.jsxs)(`div`,{className:`pr-checks-empty is-error`,children:[(0,G.jsx)(JD,{size:15}),` `,t.error.message]}):t.isLoading?(0,G.jsx)(`div`,{className:`pr-checks-empty`,children:`Loading the latest GitHub status…`}):n.length===0?(0,G.jsx)(`div`,{className:`pr-checks-empty`,children:`No checks are reported for this commit.`}):(0,G.jsx)(`ul`,{className:`pr-checks-list`,children:n.map((e,t)=>{let n=C3(e.state),r=n.icon;return(0,G.jsxs)(`li`,{className:n.className,children:[(0,G.jsx)(r,{size:14}),(0,G.jsx)(`span`,{className:`pr-checks-name`,children:e.name}),(0,G.jsx)(`span`,{className:`pr-checks-state`,children:n.label}),e.detailsUrl&&(0,G.jsx)(`a`,{href:e.detailsUrl,target:`_blank`,rel:`noreferrer`,"aria-label":`Open ${e.name} on GitHub`,children:(0,G.jsx)(cO,{size:12})})]},`${e.name}-${t}`)})}),(0,G.jsx)(`div`,{className:`pr-checks-foot`,children:`Updates every 8 seconds while work is running.`})]})})}function T3({session:e,draftCount:t}){return(0,G.jsx)(`section`,{className:`diff-overview-banner pr-overview-banner`,"aria-label":`Pull request #${e.pullNumber}: ${e.title}`,children:(0,G.jsxs)(`header`,{className:`diff-overview-banner-header`,children:[(0,G.jsxs)(`div`,{className:`diff-overview-banner-line`,children:[(0,G.jsx)(yO,{size:14,className:`diff-overview-banner-icon`,"aria-hidden":`true`}),(0,G.jsx)(`h2`,{className:`diff-overview-banner-headline`,children:e.title})]}),(0,G.jsxs)(`div`,{className:`diff-overview-banner-meta pr-overview-meta`,children:[(0,G.jsxs)(`span`,{className:`pr-overview-identity`,children:[`Pull request #`,e.pullNumber,e.author?.login?(0,G.jsxs)(G.Fragment,{children:[` by `,(0,G.jsxs)(`strong`,{children:[`@`,e.author.login]})]}):null]}),e.headRefName&&e.baseRefName&&(0,G.jsxs)(`span`,{className:`pr-overview-branches`,title:`Comparing ${e.headRefName} into ${e.baseRefName}`,children:[(0,G.jsx)(`code`,{className:`pr-overview-branch-head`,children:e.headRefName}),(0,G.jsx)(`span`,{className:`pr-overview-branch-arrow`,"aria-hidden":`true`,children:`→`}),(0,G.jsx)(`code`,{className:`pr-overview-branch-base`,children:e.baseRefName})]}),(0,G.jsxs)(`span`,{children:[e.changedFiles,` file`,e.changedFiles===1?``:`s`]}),(0,G.jsxs)(`span`,{className:`toolbar-chip-diff`,"aria-label":`${e.additions} additions and ${e.deletions} deletions`,children:[(0,G.jsxs)(`span`,{className:`stat-additions`,children:[`+`,e.additions]}),(0,G.jsxs)(`span`,{className:`stat-deletions`,children:[`−`,e.deletions]})]}),t>0&&(0,G.jsxs)(`span`,{className:`toolbar-chip toolbar-chip-comments`,children:[t,` draft`,t===1?``:`s`]}),(0,G.jsx)(w3,{headSha:e.headSha})]})]})})}function E3({result:e,onDismiss:t}){return(0,G.jsxs)(`div`,{className:`pr-submitted-toast`,role:`status`,children:[(0,G.jsx)(YD,{size:16,className:`pr-submitted-icon`}),(0,G.jsxs)(`div`,{className:`pr-submitted-text`,children:[(0,G.jsx)(`strong`,{children:`Review submitted to GitHub.`}),e.reviewUrl&&(0,G.jsxs)(G.Fragment,{children:[` `,(0,G.jsxs)(`a`,{href:e.reviewUrl,target:`_blank`,rel:`noreferrer`,children:[`Open review on GitHub `,(0,G.jsx)(cO,{size:11})]})]}),e.authSource&&e.authSource!==`none`&&(0,G.jsxs)(`span`,{className:`pr-submitted-auth`,children:[`via `,e.authSource]})]}),(0,G.jsx)(`button`,{className:`pr-submitted-dismiss`,onClick:t,title:`Dismiss`,"aria-label":`Dismiss`,children:`×`})]})}function D3(){let e=Am(),t=Ve(),{settings:n,loaded:r,updateSettings:i}=IE(),[,a]=(0,W.useTransition)(),{session:o,loaded:s,error:c}=l3(),l=m3();u3(s&&!!o);let{comments:u,addComment:d,removeComment:f,updateComment:p,addReply:m,resolveComment:h,unresolveComment:g,editComment:_,editReply:v,removeReply:y}=f3(s&&!!o),{patch:b,loading:x,error:S}=gE({staged:!1,untracked:!1},s&&!!o),{viewedFiles:C,setViewed:w}=VE(),[T,E]=(0,W.useState)(null),[D,O]=(0,W.useState)(()=>{let e=CD(`diffing-sidebar-collapsed`);return e==null?typeof window<`u`&&window.innerWidth<=768:e===`true`}),[k,A]=(0,W.useState)(()=>Number(CD(`diffing-sidebar-width`))||320),[j,M]=(0,W.useState)(()=>Number(CD(`diffing-comment-panel-height`))||220),[N,P]=(0,W.useState)(()=>mD(CD(`diffing-pr-extension-filter`)??``)),[F,I]=(0,W.useState)(()=>{let e=CD(`diffing-pr-chip-filter`);return e===`unviewed`||e===`has-comments`?e:`all`}),[L,R]=(0,W.useState)({open:!1,scope:`files`}),[z,ee]=(0,W.useState)(!1),[te,ne]=(0,W.useState)(!1),[B,V]=(0,W.useState)(!1),[re,ie]=(0,W.useState)(!1),[ae,oe]=(0,W.useState)(null),se=(0,W.useRef)(null),ce=(0,W.useRef)(null),H=(0,W.useRef)(null),le=(0,W.useRef)(k),ue=(0,W.useRef)(j);le.current=k,ue.current=j,LE(r,n.uiFont,n.monoFont);let U=(0,W.useMemo)(()=>{if(!b)return[];try{let e=new Set;return Pg(b).flatMap(e=>e.files).filter(t=>e.has(t.name)?!1:(e.add(t.name),!0)).sort(AG)}catch{return[]}},[b]),de=(0,W.useMemo)(()=>{let e=new Map;for(let t of o?.existingComments??[]){let n=e.get(t.path)??[];n.push(t),e.set(t.path,n)}return e},[o]),fe=(0,W.useMemo)(()=>{let e={};for(let t of u)e[t.filePath]=(e[t.filePath]??0)+1;for(let t of o?.existingComments??[])e[t.path]=(e[t.path]??0)+1;return e},[u,o]),pe=(0,W.useMemo)(()=>{let e=U;return N.length>0&&(e=e.filter(e=>_D(e.name,N))),F===`unviewed`&&(e=e.filter(e=>!C.has(e.name))),F===`has-comments`&&(e=e.filter(e=>(fe[e.name]??0)>0)),e},[U,N,F,C,fe]),me=(0,W.useMemo)(()=>{let e=new Map;for(let t of u){let n=e.get(t.filePath)??[];n.push({side:t.side,lineNumber:t.lineNumber,metadata:t}),e.set(t.filePath,n)}return e},[u]),he=kD(pe),ge=(0,W.useMemo)(()=>FE(n.monoFont),[n.monoFont]),_e=(0,W.useMemo)(()=>new Set,[]),ve=(0,W.useCallback)(e=>{E(e),document.getElementById(`file-${e}`)?.scrollIntoView({block:`start`})},[]),ye=(0,W.useCallback)(e=>{let t=pe[pe.findIndex(t=>t.name===e)+1];t&&requestAnimationFrame(()=>requestAnimationFrame(()=>{document.getElementById(`file-${t.name}`)?.scrollIntoView({block:`start`,behavior:`smooth`})}))},[pe]),be=(0,W.useCallback)((e,t)=>{w(e,t),t&&ye(e)},[w,ye]),xe=(0,W.useCallback)(async(e,n)=>{let r=await fetch(`/api/gh/existing-comments/${e}/replies`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:n})}),i=await r.json().catch(()=>({}));if(!r.ok)throw Error(i.error||`HTTP ${r.status}`);await t.invalidateQueries({queryKey:[`pr-session`]})},[t]),Se=(0,W.useCallback)(async(e,n,r)=>{let i=await fetch(`/api/gh/existing-comments/${n}`,{method:e,headers:r==null?void 0:{"Content-Type":`application/json`},body:r==null?void 0:JSON.stringify({body:r})}),a=await i.json().catch(()=>({}));if(!i.ok)throw Error(a.error||`HTTP ${i.status}`);await t.invalidateQueries({queryKey:[`pr-session`]})},[t]),Ce=(0,W.useCallback)(async(e,n)=>{let r=await fetch(`/api/gh/review-threads/${encodeURIComponent(e)}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({resolved:n})}),i=await r.json().catch(()=>({}));if(!r.ok)throw Error(i.error||`HTTP ${r.status}`);await t.invalidateQueries({queryKey:[`pr-session`]})},[t]),we=(0,W.useCallback)(e=>{e.preventDefault();let t=e.clientX,n=le.current,r=ce.current?.getBoundingClientRect().left??0,i=n,a=e=>{i=Math.max(240,Math.min(640,n+e.clientX-t)),H.current&&(H.current.style.transform=`translateX(${r+i}px)`)},o=()=>{H.current?.classList.remove(`sidebar-resize-guide-active`),A(i),DD(`diffing-sidebar-width`,String(i)),document.removeEventListener(`mousemove`,a),document.removeEventListener(`mouseup`,o),document.body.style.cursor=``,document.body.style.userSelect=``};H.current?.classList.add(`sidebar-resize-guide-active`),document.addEventListener(`mousemove`,a),document.addEventListener(`mouseup`,o),document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`},[]),Te=(0,W.useCallback)(e=>{e.preventDefault();let t=e.clientY,n=ue.current,r=n,i=e=>{r=Math.max(100,Math.min(600,n+t-e.clientY)),se.current?.style.setProperty(`--comment-panel-height`,`${r}px`)},a=()=>{M(r),DD(`diffing-comment-panel-height`,String(r)),document.removeEventListener(`mousemove`,i),document.removeEventListener(`mouseup`,a),document.body.style.cursor=``,document.body.style.userSelect=``};document.addEventListener(`mousemove`,i),document.addEventListener(`mouseup`,a),document.body.style.cursor=`row-resize`,document.body.style.userSelect=`none`},[]);(0,W.useEffect)(()=>{DD(`diffing-sidebar-collapsed`,String(D))},[D]),(0,W.useEffect)(()=>DD(`diffing-pr-extension-filter`,N.join(`,`)),[N]),(0,W.useEffect)(()=>DD(`diffing-pr-chip-filter`,F),[F]),(0,W.useEffect)(()=>{let e=document.documentElement;e.classList.add(`theme-switching`),e.setAttribute(`data-theme`,n.theme||`rose-pine`),e.setAttribute(`data-density`,n.density||`comfortable`);let t=requestAnimationFrame(()=>requestAnimationFrame(()=>e.classList.remove(`theme-switching`)));return()=>cancelAnimationFrame(t)},[n.theme,n.density]);let Ee=(0,W.useMemo)(()=>nE[n.theme||`rose-pine`]||nE[`rose-pine`],[n.theme]),De=(0,W.useMemo)(()=>Array.from(new Set(U.flatMap(e=>[Yf(e.name),e.prevName?Yf(e.prevName):null]).filter(e=>e!=null&&e!==`text`))),[U]);(0,W.useEffect)(()=>{e&&e.setRenderOptions({theme:{dark:Ee.type===`dark`?Ee.themeName:`rose-pine`,light:Ee.type===`light`?Ee.themeName:`github-light`}}).catch(()=>{})},[e,Ee]),(0,W.useEffect)(()=>{let e=Ee.type===`dark`?Ee.themeName:`rose-pine`,t=Ee.type===`light`?Ee.themeName:`github-light`;Uf({themes:Array.from(new Set([e,t])),langs:De}).catch(()=>{})},[Ee,De]),(0,W.useEffect)(()=>{if(o)return document.title=`${o.owner}/${o.repo}#${o.pullNumber} · diffing`,()=>{document.title=`diffing`}},[o]);let Oe=(0,W.useCallback)(e=>{if(pe.length===0)return;let t=T?pe.findIndex(e=>e.name===T):-1,n=e===`next`?Math.min(t+1,pe.length-1):Math.max(t-1,0),r=pe[Math.max(0,n)];r&&ve(r.name)},[T,pe,ve]),ke=(0,W.useCallback)(()=>{T&&be(T,!C.has(T))},[T,be,C]);if(h3((0,W.useMemo)(()=>({onNavigateFile:Oe,onToggleViewed:ke,onToggleDiffStyle:()=>i({diffStyle:n.diffStyle===`split`?`unified`:`split`}),onCycleTabSize:()=>{let e=[2,4,8];i({defaultTabSize:e[(e.indexOf(n.defaultTabSize)+1)%e.length]})},onToggleSidebar:()=>O(e=>!e),onToggleLineWrap:()=>i({lineWrap:!n.lineWrap}),onToggleLineNumbers:()=>i({showLineNumbers:!n.showLineNumbers}),onCycleDiffIndicators:()=>{let e=[`classic`,`bars`,`none`];i({diffIndicators:e[(e.indexOf(n.diffIndicators)+1)%e.length]})},onCycleLineDiffType:()=>{let e=[`word`,`word-alt`,`char`,`none`];i({lineDiffType:e[(e.indexOf(n.lineDiffType)+1)%e.length]})},onOpenPalette:e=>R({open:!0,scope:e}),onTogglePalette:()=>R(e=>e.open?{...e,open:!1}:{open:!0,scope:`all`}),onOpenTheme:()=>ee(!0),onOpenShortcuts:()=>ie(!0)}),[Oe,n.defaultTabSize,n.diffIndicators,n.diffStyle,n.lineDiffType,n.lineWrap,n.showLineNumbers,ke,i])),s&&!o)return(0,G.jsxs)(`div`,{className:`pr-app-empty`,children:[(0,G.jsx)(yO,{size:32}),(0,G.jsx)(`h2`,{children:`No active PR session`}),(0,G.jsxs)(`p`,{children:[`Start one with `,(0,G.jsx)(`code`,{children:`diffing "gh pr 1234"`}),` or `,(0,G.jsx)(`code`,{children:`diffing --gh-pr 1234`}),` from inside the repo.`]}),(0,G.jsx)(`button`,{className:`btn btn-sm`,onClick:()=>DE(`/`),children:`Back to local review`})]});if(!o)return(0,G.jsx)(`div`,{className:`pr-app-empty`,children:(0,G.jsx)(`span`,{children:`Loading PR session…`})});let Ae=e=>a(()=>i(e)),je={diffStyle:n.diffStyle,defaultTabSize:n.defaultTabSize,lineDiffType:n.lineDiffType,lineWrap:n.lineWrap,diffIndicators:n.diffIndicators,showLineNumbers:n.showLineNumbers,hunkSeparators:n.hunkSeparators,lineHoverHighlight:n.lineHoverHighlight,fontSize:n.fontSize,haptics:n.haptics,sounds:n.sounds,uiFont:n.uiFont,monoFont:n.monoFont,density:n.density,autoCollapseLineThreshold:n.autoCollapseLineThreshold,showStatusBar:n.showStatusBar,onDiffStyleChange:e=>Ae({diffStyle:e}),onDefaultTabSizeChange:e=>Ae({defaultTabSize:e}),onOpenThemeModal:()=>ee(!0),onLineDiffTypeChange:e=>Ae({lineDiffType:e}),onLineWrapChange:e=>Ae({lineWrap:e}),onDiffIndicatorsChange:e=>Ae({diffIndicators:e}),onShowLineNumbersChange:e=>Ae({showLineNumbers:e}),onHunkSeparatorsChange:e=>Ae({hunkSeparators:e}),onLineHoverHighlightChange:e=>Ae({lineHoverHighlight:e}),onFontSizeChange:e=>Ae({fontSize:e}),onHapticsChange:e=>Ae({haptics:e}),onSoundsChange:e=>Ae({sounds:e}),onDensityChange:e=>Ae({density:e}),onAutoCollapseLineThresholdChange:e=>Ae({autoCollapseLineThreshold:e}),onShowStatusBarChange:e=>Ae({showStatusBar:e}),onOpenUiFontModal:()=>ne(!0),onOpenMonoFontModal:()=>V(!0),showSource:!1,showWhitespace:!1,showExternalTools:!1,showSendPolicy:!1};return(0,G.jsx)(fD,{enabled:n.haptics,soundsEnabled:n.sounds,children:(0,G.jsxs)(`div`,{ref:se,className:`app pr-app`,"data-pr-mode":`true`,style:{"--sidebar-width":`${k}px`,"--comment-panel-height":`${j}px`},children:[(0,G.jsx)(`a`,{href:`#pr-diff-main`,className:`skip-to-main`,children:`Skip to diff`}),(0,G.jsx)(`div`,{className:`sidebar-resize-guide`,ref:H,"aria-hidden":`true`}),(0,G.jsx)(y3,{session:o,comments:u,settingsProps:je,sidebarCollapsed:D,onToggleSidebar:()=>O(e=>!e),onOpenSearch:()=>R({open:!0,scope:`all`}),onRefresh:()=>l.mutate(),refreshing:l.isPending,onEditComment:(e,t)=>p({id:e,body:t}),onDeleteComment:f,onSubmitted:oe}),!D&&(0,G.jsx)(`div`,{className:`sidebar-mobile-backdrop`,onClick:()=>O(!0),"aria-hidden":`true`}),(0,G.jsxs)(`div`,{className:`app-body`,children:[(0,G.jsxs)(`aside`,{ref:ce,className:`sidebar ${D?`sidebar-collapsed`:``}`,children:[(0,G.jsx)(`div`,{className:`pr-sidebar-tree`,children:(0,G.jsx)(Z0,{files:U,activeFile:T,commentCounts:fe,viewedFiles:C,untrackedFiles:_e,onFileClick:ve,collapsed:D,onToggleCollapse:()=>O(e=>!e),appliedExtensions:N,onApplyExtensions:e=>P(hD(e)),chipFilter:F,onChipFilterChange:I})}),!D&&u.length>0&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`ct-resize-handle`,onMouseDown:Te,role:`separator`,"aria-label":`Resize comments panel`,"aria-orientation":`horizontal`,tabIndex:0}),(0,G.jsx)(`div`,{className:`ct-wrapper pr-ct-wrapper`,children:(0,G.jsx)(t2,{comments:u,resolveComment:h,unresolveComment:g,removeComment:f,addReply:async(e,t)=>{await m({id:e,body:t})},editComment:_,editReply:v,removeReply:y})})]})]}),!D&&(0,G.jsx)(`div`,{className:`sidebar-resize-handle`,onMouseDown:we,role:`separator`,"aria-label":`Resize sidebar`,"aria-orientation":`vertical`,tabIndex:0}),(0,G.jsxs)(`main`,{className:`main pr-main`,id:`pr-diff-main`,tabIndex:-1,children:[(0,G.jsx)(T3,{session:o,draftCount:u.length}),(0,G.jsx)(x3,{reviews:o.existingReviews??[]}),(o.existingComments?.length??0)>0&&(0,G.jsxs)(`div`,{className:`pr-existing-summary`,children:[(0,G.jsx)(jO,{size:13}),(0,G.jsxs)(`span`,{children:[o.existingComments.length,` existing GitHub conversation`,o.existingComments.length===1?``:`s`,` included in this review.`]})]}),(S||c)&&(0,G.jsxs)(`div`,{className:`pr-error`,children:[(0,G.jsx)(JD,{size:14}),` Failed to load the PR: `,S||c?.message]}),x&&!b?(0,G.jsx)(`div`,{className:`pr-app-loading`,children:`Loading PR diff…`}):pe.length===0?(0,G.jsxs)(`div`,{className:`empty-state`,role:`status`,children:[(0,G.jsx)(`div`,{className:`empty-state-icon`,children:(0,G.jsx)(_O,{size:24})}),(0,G.jsx)(`p`,{className:`empty-state-title`,children:`No matching files`}),(0,G.jsx)(`p`,{className:`empty-state-hint`,children:`Clear the file-tree filters to see the full pull request.`})]}):(0,G.jsx)(O3,{files:pe,fileAnnotations:me,existingCommentsByFile:de,viewedFiles:C,settings:n,monoFontFamily:ge,onAddComment:e=>d(e),onDeleteComment:f,onViewedChange:be,onCardToggleCollapse:(e,t)=>{t&&ye(e)},onReplyExisting:xe,onEditExisting:(e,t)=>Se(`PATCH`,e,t),onDeleteExisting:e=>Se(`DELETE`,e),onSetExistingResolved:Ce})]})]}),(0,G.jsx)(O2,{isOpen:L.open,onClose:()=>R(e=>({...e,open:!1})),initialScope:L.scope,files:pe,changedEntries:he,customMode:!0,staged:!1,onNavigateFile:ve,theme:n.theme||`rose-pine`,fontSize:n.fontSize,monoFontFamily:ge,defaultTabSize:n.defaultTabSize,lineWrap:n.lineWrap,showLineNumbers:n.showLineNumbers,lineHoverHighlight:n.lineHoverHighlight}),(0,G.jsx)(I2,{activeFile:T,onShowHelp:()=>ie(!0),visible:n.showStatusBar,placeholder:`No active PR file (J/K to jump)`}),(0,G.jsx)(L2,{isOpen:re,onClose:()=>ie(!1),mode:`pr`}),(0,G.jsx)(B2,{open:z,activeTheme:n.theme||`rose-pine`,onThemeChange:e=>Ae({theme:e}),onClose:()=>ee(!1)}),(0,G.jsx)(U2,{open:te,title:`Select UI Font`,defaultLabel:`Default (Geist Mono, from CDN)`,activeFont:n.uiFont,onFontChange:e=>Ae({uiFont:e}),onClose:()=>ne(!1)}),(0,G.jsx)(U2,{open:B,title:`Select Code Font`,defaultLabel:`Default (JetBrains Mono, from CDN)`,activeFont:n.monoFont,onFontChange:e=>Ae({monoFont:e}),onClose:()=>V(!1)}),ae&&(0,G.jsx)(E3,{result:ae,onDismiss:()=>oe(null)})]})})}function O3({files:e,fileAnnotations:t,existingCommentsByFile:n,viewedFiles:r,settings:i,monoFontFamily:a,onAddComment:o,onDeleteComment:s,onViewedChange:c,onCardToggleCollapse:l,onReplyExisting:u,onEditExisting:d,onDeleteExisting:f,onSetExistingResolved:p}){return(0,G.jsx)(`div`,{className:`pr-diff-surface`,children:e.map(e=>{let m=n.get(e.name)??[];return(0,G.jsx)(`div`,{className:`pr-file-block`,children:(0,G.jsx)(jG,{files:[e],diffStyle:i.diffStyle,tabSizeMap:{},defaultTabSize:i.defaultTabSize,viewedFiles:r,binaryFiles:new Map,theme:i.theme||`rose-pine`,lineDiffType:i.lineDiffType,lineWrap:i.lineWrap,diffIndicators:i.diffIndicators,showLineNumbers:i.showLineNumbers,hunkSeparators:i.hunkSeparators,lineHoverHighlight:i.lineHoverHighlight,fontSize:i.fontSize,monoFontFamily:a,expandContextByDefault:i.expandContextByDefault,collapsedContextThreshold:i.collapsedContextThreshold,expansionLineCount:i.expansionLineCount,autoCollapseLineThreshold:i.autoCollapseLineThreshold,onViewedChange:c,fileAnnotationsMap:new Map([[e.name,t.get(e.name)??[]]]),existingCommentsMap:new Map([[e.name,m]]),onAddComment:(e,t,n,r,i,a)=>o({filePath:e,side:t,lineNumber:n,lineContent:r,body:i,startLineNumber:a}),onDeleteComment:s,onReplyExisting:u,onEditExisting:d,onDeleteExisting:f,onSetExistingResolved:p,onCardToggleCollapse:l,allowLocalActions:!1})},e.name)})})}function k3(){let e=jE(),[t,n]=(0,W.useState)(!1),[r,i]=(0,W.useState)(()=>e===`/gh/pr`||e.startsWith(`/gh/pr/`)||e.startsWith(`/plan`));return(0,W.useEffect)(()=>{SD().then(()=>{n(!0)})},[]),(0,W.useEffect)(()=>{if(e===`/gh/pr`||e.startsWith(`/gh/pr/`)||e.startsWith(`/plan`)){i(!0);return}if(e!==`/`){i(!0);return}let t=!1;return fetch(`/api/gh/session`).then(async e=>{t||e.ok&&(await e.json().catch(()=>null))?.prMode===!0&&DE(`/gh/pr`,{replace:!0})}).catch(()=>{}).finally(()=>{t||i(!0)}),()=>{t=!0}},[e]),!t||!r?(0,G.jsxs)(`div`,{className:`boot-loader`,role:`status`,"aria-live":`polite`,children:[(0,G.jsx)(HH,{size:40,className:`boot-loader-mark`}),(0,G.jsx)(`div`,{className:`boot-loader-spinner`,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:`boot-loader-label`,children:`Loading review session…`})]}):e===`/plan`||e.startsWith(`/plan/`)?(0,G.jsx)(o3,{}):e===`/gh/pr`||e.startsWith(`/gh/pr/`)?(0,G.jsx)(D3,{}):(0,G.jsx)($2,{})}var A3=new Le;(0,mn.createRoot)(document.getElementById(`root`)).render((0,G.jsx)(He,{client:A3,children:(0,G.jsx)(ot,{children:(0,G.jsx)(km,{poolOptions:{workerFactory:()=>new A_,poolSize:Math.max(1,Math.min(4,navigator.hardwareConcurrency||2))},highlighterOptions:{theme:{dark:`rose-pine`,light:`github-light`},langs:[`vue`]},children:(0,G.jsx)(QT,{children:(0,G.jsx)(k3,{})})})})}));export{l as a,s as i,J as n,o as r,_E as t};