@selvajs/selva 4.3.2 → 4.3.4

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 (237) hide show
  1. package/build/client/_app/immutable/chunks/{DhA-kqQ_.js → 5QwkwjrQ.js} +1 -1
  2. package/build/client/_app/immutable/chunks/5QwkwjrQ.js.br +0 -0
  3. package/build/client/_app/immutable/chunks/5QwkwjrQ.js.gz +0 -0
  4. package/build/client/_app/immutable/chunks/C9JkBeMh.js +2 -0
  5. package/build/client/_app/immutable/chunks/C9JkBeMh.js.br +0 -0
  6. package/build/client/_app/immutable/chunks/C9JkBeMh.js.gz +0 -0
  7. package/build/client/_app/immutable/chunks/{DMnAurq3.js → CV7cHKxn.js} +1 -1
  8. package/build/client/_app/immutable/chunks/CV7cHKxn.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/CV7cHKxn.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/{DB7_JmaS.js → CeItJQZm.js} +1 -1
  11. package/build/client/_app/immutable/chunks/CeItJQZm.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/CeItJQZm.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/D-MqyWHl.js +3 -0
  14. package/build/client/_app/immutable/chunks/D-MqyWHl.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/D-MqyWHl.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/{xYkEs8xj.js → D5ozKYdL.js} +1 -1
  17. package/build/client/_app/immutable/chunks/D5ozKYdL.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/D5ozKYdL.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/{pKBJ9bi5.js → NAqgbR3C.js} +1 -1
  20. package/build/client/_app/immutable/chunks/NAqgbR3C.js.br +0 -0
  21. package/build/client/_app/immutable/chunks/NAqgbR3C.js.gz +0 -0
  22. package/build/client/_app/immutable/entry/{app.CJipkP9j.js → app.CAm9P09D.js} +2 -2
  23. package/build/client/_app/immutable/entry/app.CAm9P09D.js.br +0 -0
  24. package/build/client/_app/immutable/entry/app.CAm9P09D.js.gz +0 -0
  25. package/build/client/_app/immutable/entry/start.D82mTtm4.js +1 -0
  26. package/build/client/_app/immutable/entry/start.D82mTtm4.js.br +2 -0
  27. package/build/client/_app/immutable/entry/start.D82mTtm4.js.gz +0 -0
  28. package/build/client/_app/immutable/nodes/{1.UesQk3ur.js → 1.alumYP7m.js} +1 -1
  29. package/build/client/_app/immutable/nodes/1.alumYP7m.js.br +0 -0
  30. package/build/client/_app/immutable/nodes/1.alumYP7m.js.gz +0 -0
  31. package/build/client/_app/immutable/nodes/{11.DVAsawo1.js → 11.POFPfhZF.js} +1 -1
  32. package/build/client/_app/immutable/nodes/11.POFPfhZF.js.br +0 -0
  33. package/build/client/_app/immutable/nodes/11.POFPfhZF.js.gz +0 -0
  34. package/build/client/_app/immutable/nodes/{13.hYwrJxQf.js → 13.CDMqsLf1.js} +1 -1
  35. package/build/client/_app/immutable/nodes/13.CDMqsLf1.js.br +0 -0
  36. package/build/client/_app/immutable/nodes/13.CDMqsLf1.js.gz +0 -0
  37. package/build/client/_app/immutable/nodes/{14.C6ZevMuN.js → 14.CE8ivMm3.js} +1 -1
  38. package/build/client/_app/immutable/nodes/14.CE8ivMm3.js.br +0 -0
  39. package/build/client/_app/immutable/nodes/14.CE8ivMm3.js.gz +0 -0
  40. package/build/client/_app/immutable/nodes/15.Vvu6yjkA.js +13 -0
  41. package/build/client/_app/immutable/nodes/15.Vvu6yjkA.js.br +0 -0
  42. package/build/client/_app/immutable/nodes/15.Vvu6yjkA.js.gz +0 -0
  43. package/build/client/_app/immutable/nodes/{16.DL3OJYUz.js → 16.DcwpEBj_.js} +1 -1
  44. package/build/client/_app/immutable/nodes/16.DcwpEBj_.js.br +0 -0
  45. package/build/client/_app/immutable/nodes/16.DcwpEBj_.js.gz +0 -0
  46. package/build/client/_app/immutable/nodes/{17.VLSKwwTe.js → 17.CyW4vJzM.js} +1 -1
  47. package/build/client/_app/immutable/nodes/17.CyW4vJzM.js.br +0 -0
  48. package/build/client/_app/immutable/nodes/17.CyW4vJzM.js.gz +0 -0
  49. package/build/client/_app/immutable/nodes/{19.DEmoM61q.js → 19.BZ_xsVtL.js} +1 -1
  50. package/build/client/_app/immutable/nodes/19.BZ_xsVtL.js.br +0 -0
  51. package/build/client/_app/immutable/nodes/19.BZ_xsVtL.js.gz +0 -0
  52. package/build/client/_app/immutable/nodes/{2.__o9viyw.js → 2.DEAwFDdd.js} +1 -1
  53. package/build/client/_app/immutable/nodes/2.DEAwFDdd.js.br +0 -0
  54. package/build/client/_app/immutable/nodes/2.DEAwFDdd.js.gz +0 -0
  55. package/build/client/_app/immutable/nodes/{20.BhoClIzu.js → 20.BTFKcsqG.js} +1 -1
  56. package/build/client/_app/immutable/nodes/20.BTFKcsqG.js.br +0 -0
  57. package/build/client/_app/immutable/nodes/20.BTFKcsqG.js.gz +0 -0
  58. package/build/client/_app/immutable/nodes/{21.C7sGgRRB.js → 21.DZU8uW6y.js} +1 -1
  59. package/build/client/_app/immutable/nodes/21.DZU8uW6y.js.br +0 -0
  60. package/build/client/_app/immutable/nodes/21.DZU8uW6y.js.gz +0 -0
  61. package/build/client/_app/immutable/nodes/{23.DpJMyDHf.js → 23.CC7_PfIW.js} +1 -1
  62. package/build/client/_app/immutable/nodes/23.CC7_PfIW.js.br +0 -0
  63. package/build/client/_app/immutable/nodes/23.CC7_PfIW.js.gz +0 -0
  64. package/build/client/_app/immutable/nodes/{24.akDUFOHX.js → 24.Byv4-bTY.js} +1 -1
  65. package/build/client/_app/immutable/nodes/24.Byv4-bTY.js.br +0 -0
  66. package/build/client/_app/immutable/nodes/24.Byv4-bTY.js.gz +0 -0
  67. package/build/client/_app/immutable/nodes/{27.C7Z5K5-N.js → 27.CTug4-fG.js} +1 -1
  68. package/build/client/_app/immutable/nodes/27.CTug4-fG.js.br +0 -0
  69. package/build/client/_app/immutable/nodes/27.CTug4-fG.js.gz +0 -0
  70. package/build/client/_app/immutable/nodes/{28.DsYdbqJ6.js → 28.CAQGi4kQ.js} +1 -1
  71. package/build/client/_app/immutable/nodes/28.CAQGi4kQ.js.br +0 -0
  72. package/build/client/_app/immutable/nodes/28.CAQGi4kQ.js.gz +0 -0
  73. package/build/client/_app/immutable/nodes/{29.f_5spqDA.js → 29.CqjUz5IE.js} +1 -1
  74. package/build/client/_app/immutable/nodes/29.CqjUz5IE.js.br +0 -0
  75. package/build/client/_app/immutable/nodes/29.CqjUz5IE.js.gz +0 -0
  76. package/build/client/_app/immutable/nodes/{3.DJPc2r7n.js → 3.BoxyynqN.js} +1 -1
  77. package/build/client/_app/immutable/nodes/3.BoxyynqN.js.br +0 -0
  78. package/build/client/_app/immutable/nodes/3.BoxyynqN.js.gz +0 -0
  79. package/build/client/_app/immutable/nodes/{30.DnPUoc2g.js → 30.BNNkvutv.js} +1 -1
  80. package/build/client/_app/immutable/nodes/30.BNNkvutv.js.br +0 -0
  81. package/build/client/_app/immutable/nodes/30.BNNkvutv.js.gz +0 -0
  82. package/build/client/_app/immutable/nodes/{5.DrQdcjub.js → 5.Cd4MCA1q.js} +1 -1
  83. package/build/client/_app/immutable/nodes/5.Cd4MCA1q.js.br +0 -0
  84. package/build/client/_app/immutable/nodes/5.Cd4MCA1q.js.gz +0 -0
  85. package/build/client/_app/immutable/nodes/{6.BmcssQiY.js → 6.YxA0mFAY.js} +1 -1
  86. package/build/client/_app/immutable/nodes/6.YxA0mFAY.js.br +0 -0
  87. package/build/client/_app/immutable/nodes/6.YxA0mFAY.js.gz +0 -0
  88. package/build/client/_app/immutable/nodes/{7.BA0T73d4.js → 7.mlQRIDGT.js} +1 -1
  89. package/build/client/_app/immutable/nodes/7.mlQRIDGT.js.br +0 -0
  90. package/build/client/_app/immutable/nodes/7.mlQRIDGT.js.gz +0 -0
  91. package/build/client/_app/immutable/nodes/{8.CYmo0hsm.js → 8.BUuEFCdN.js} +1 -1
  92. package/build/client/_app/immutable/nodes/8.BUuEFCdN.js.br +0 -0
  93. package/build/client/_app/immutable/nodes/8.BUuEFCdN.js.gz +0 -0
  94. package/build/client/_app/immutable/nodes/9.ChO_G0OZ.js +1 -0
  95. package/build/client/_app/immutable/nodes/9.ChO_G0OZ.js.br +0 -0
  96. package/build/client/_app/immutable/nodes/9.ChO_G0OZ.js.gz +0 -0
  97. package/build/client/_app/version.json +1 -1
  98. package/build/client/_app/version.json.br +0 -0
  99. package/build/client/_app/version.json.gz +0 -0
  100. package/build/server/chunks/{1-BPbyVSIF.js → 1-4eUBrx0x.js} +2 -2
  101. package/build/server/chunks/{1-BPbyVSIF.js.map → 1-4eUBrx0x.js.map} +1 -1
  102. package/build/server/chunks/{11-BYuF1Td9.js → 11-DHok25iQ.js} +2 -2
  103. package/build/server/chunks/{11-BYuF1Td9.js.map → 11-DHok25iQ.js.map} +1 -1
  104. package/build/server/chunks/{13-DcpchQmL.js → 13-aJNjRfno.js} +2 -2
  105. package/build/server/chunks/{13-DcpchQmL.js.map → 13-aJNjRfno.js.map} +1 -1
  106. package/build/server/chunks/{14-BTVvIuFC.js → 14-YfnFhQ6D.js} +2 -2
  107. package/build/server/chunks/{14-BTVvIuFC.js.map → 14-YfnFhQ6D.js.map} +1 -1
  108. package/build/server/chunks/{15-C0QaYdSK.js → 15-D-QAWfAg.js} +10 -9
  109. package/build/server/chunks/15-D-QAWfAg.js.map +1 -0
  110. package/build/server/chunks/{16-CwbBOBd5.js → 16-Dfo-3meu.js} +2 -2
  111. package/build/server/chunks/{16-CwbBOBd5.js.map → 16-Dfo-3meu.js.map} +1 -1
  112. package/build/server/chunks/{17-DIk9Au74.js → 17-DEWS6epq.js} +2 -2
  113. package/build/server/chunks/{17-DIk9Au74.js.map → 17-DEWS6epq.js.map} +1 -1
  114. package/build/server/chunks/{19-D6NrpnRc.js → 19-C_uYTPBT.js} +2 -2
  115. package/build/server/chunks/{19-D6NrpnRc.js.map → 19-C_uYTPBT.js.map} +1 -1
  116. package/build/server/chunks/{2-2E3i2cf_.js → 2-DDaFykPH.js} +2 -2
  117. package/build/server/chunks/{2-2E3i2cf_.js.map → 2-DDaFykPH.js.map} +1 -1
  118. package/build/server/chunks/{20-DiOIohUX.js → 20-By9qcmuB.js} +2 -2
  119. package/build/server/chunks/{20-DiOIohUX.js.map → 20-By9qcmuB.js.map} +1 -1
  120. package/build/server/chunks/{21-CgHi7yI5.js → 21-BLJKguad.js} +2 -2
  121. package/build/server/chunks/{21-CgHi7yI5.js.map → 21-BLJKguad.js.map} +1 -1
  122. package/build/server/chunks/{23-DTcMzBzp.js → 23-4STwQ9za.js} +2 -2
  123. package/build/server/chunks/{23-DTcMzBzp.js.map → 23-4STwQ9za.js.map} +1 -1
  124. package/build/server/chunks/{24-DOGX3DCm.js → 24-BHh-STmc.js} +2 -2
  125. package/build/server/chunks/{24-DOGX3DCm.js.map → 24-BHh-STmc.js.map} +1 -1
  126. package/build/server/chunks/{27--tJwS_a7.js → 27-DFWp-27Q.js} +2 -2
  127. package/build/server/chunks/{27--tJwS_a7.js.map → 27-DFWp-27Q.js.map} +1 -1
  128. package/build/server/chunks/{28-C4P7hGLb.js → 28-Cd6_JUTd.js} +2 -2
  129. package/build/server/chunks/{28-C4P7hGLb.js.map → 28-Cd6_JUTd.js.map} +1 -1
  130. package/build/server/chunks/{29-RU3GFSpO.js → 29-BRexBuNA.js} +2 -2
  131. package/build/server/chunks/{29-RU3GFSpO.js.map → 29-BRexBuNA.js.map} +1 -1
  132. package/build/server/chunks/{3-DlD6O9OY.js → 3-B-gJmChG.js} +2 -2
  133. package/build/server/chunks/{3-DlD6O9OY.js.map → 3-B-gJmChG.js.map} +1 -1
  134. package/build/server/chunks/{30-SafLxSr6.js → 30-Bx8Em-LY.js} +2 -2
  135. package/build/server/chunks/{30-SafLxSr6.js.map → 30-Bx8Em-LY.js.map} +1 -1
  136. package/build/server/chunks/{5--tp1W32w.js → 5-NxMK2sra.js} +2 -2
  137. package/build/server/chunks/{5--tp1W32w.js.map → 5-NxMK2sra.js.map} +1 -1
  138. package/build/server/chunks/{6-DparXzR7.js → 6-K_puLxs9.js} +2 -2
  139. package/build/server/chunks/{6-DparXzR7.js.map → 6-K_puLxs9.js.map} +1 -1
  140. package/build/server/chunks/{7-e_-6B_yY.js → 7-D5pMTZYx.js} +2 -2
  141. package/build/server/chunks/{7-e_-6B_yY.js.map → 7-D5pMTZYx.js.map} +1 -1
  142. package/build/server/chunks/{8-BU4iMsB8.js → 8-DRkbOfHx.js} +2 -2
  143. package/build/server/chunks/{8-BU4iMsB8.js.map → 8-DRkbOfHx.js.map} +1 -1
  144. package/build/server/chunks/{9-CtbkBbpt.js → 9-BbTfqtpG.js} +8 -6
  145. package/build/server/chunks/9-BbTfqtpG.js.map +1 -0
  146. package/build/server/chunks/{_page.svelte-hocrtSBC.js → _page.svelte-BX0FQQwV.js} +32 -7
  147. package/build/server/chunks/_page.svelte-BX0FQQwV.js.map +1 -0
  148. package/build/server/chunks/{_page.svelte-CRT9J600.js → _page.svelte-Bc3Ab2ud.js} +20 -20
  149. package/build/server/chunks/_page.svelte-Bc3Ab2ud.js.map +1 -0
  150. package/build/server/chunks/{_server.ts-CgAD4Qlv.js → _server.ts-BLhNqGtF.js} +1 -10
  151. package/build/server/chunks/_server.ts-BLhNqGtF.js.map +1 -0
  152. package/build/server/chunks/{_server.ts-KdED3s6W.js → _server.ts-D9Jw0wGY.js} +19 -31
  153. package/build/server/chunks/_server.ts-D9Jw0wGY.js.map +1 -0
  154. package/build/server/chunks/package-CG2dCFrE.js +29 -0
  155. package/build/server/chunks/package-CG2dCFrE.js.map +1 -0
  156. package/build/server/chunks/updateCheck.server-qRJNJ4LU.js +68 -0
  157. package/build/server/chunks/updateCheck.server-qRJNJ4LU.js.map +1 -0
  158. package/build/server/index.js +1 -1
  159. package/build/server/index.js.map +1 -1
  160. package/build/server/manifest.js +26 -26
  161. package/build/server/manifest.js.map +1 -1
  162. package/package.json +4 -4
  163. package/build/client/_app/immutable/chunks/BFB-Wryr.js +0 -3
  164. package/build/client/_app/immutable/chunks/BFB-Wryr.js.br +0 -0
  165. package/build/client/_app/immutable/chunks/BFB-Wryr.js.gz +0 -0
  166. package/build/client/_app/immutable/chunks/BIPTdS6l.js +0 -2
  167. package/build/client/_app/immutable/chunks/BIPTdS6l.js.br +0 -0
  168. package/build/client/_app/immutable/chunks/BIPTdS6l.js.gz +0 -0
  169. package/build/client/_app/immutable/chunks/DB7_JmaS.js.br +0 -0
  170. package/build/client/_app/immutable/chunks/DB7_JmaS.js.gz +0 -0
  171. package/build/client/_app/immutable/chunks/DMnAurq3.js.br +0 -0
  172. package/build/client/_app/immutable/chunks/DMnAurq3.js.gz +0 -0
  173. package/build/client/_app/immutable/chunks/DhA-kqQ_.js.br +0 -0
  174. package/build/client/_app/immutable/chunks/DhA-kqQ_.js.gz +0 -0
  175. package/build/client/_app/immutable/chunks/pKBJ9bi5.js.br +0 -0
  176. package/build/client/_app/immutable/chunks/pKBJ9bi5.js.gz +0 -0
  177. package/build/client/_app/immutable/chunks/xYkEs8xj.js.br +0 -0
  178. package/build/client/_app/immutable/chunks/xYkEs8xj.js.gz +0 -0
  179. package/build/client/_app/immutable/entry/app.CJipkP9j.js.br +0 -0
  180. package/build/client/_app/immutable/entry/app.CJipkP9j.js.gz +0 -0
  181. package/build/client/_app/immutable/entry/start.C30s0s_U.js +0 -1
  182. package/build/client/_app/immutable/entry/start.C30s0s_U.js.br +0 -0
  183. package/build/client/_app/immutable/entry/start.C30s0s_U.js.gz +0 -0
  184. package/build/client/_app/immutable/nodes/1.UesQk3ur.js.br +0 -0
  185. package/build/client/_app/immutable/nodes/1.UesQk3ur.js.gz +0 -0
  186. package/build/client/_app/immutable/nodes/11.DVAsawo1.js.br +0 -0
  187. package/build/client/_app/immutable/nodes/11.DVAsawo1.js.gz +0 -0
  188. package/build/client/_app/immutable/nodes/13.hYwrJxQf.js.br +0 -0
  189. package/build/client/_app/immutable/nodes/13.hYwrJxQf.js.gz +0 -0
  190. package/build/client/_app/immutable/nodes/14.C6ZevMuN.js.br +0 -0
  191. package/build/client/_app/immutable/nodes/14.C6ZevMuN.js.gz +0 -0
  192. package/build/client/_app/immutable/nodes/15.CooHDT1H.js +0 -13
  193. package/build/client/_app/immutable/nodes/15.CooHDT1H.js.br +0 -0
  194. package/build/client/_app/immutable/nodes/15.CooHDT1H.js.gz +0 -0
  195. package/build/client/_app/immutable/nodes/16.DL3OJYUz.js.br +0 -0
  196. package/build/client/_app/immutable/nodes/16.DL3OJYUz.js.gz +0 -0
  197. package/build/client/_app/immutable/nodes/17.VLSKwwTe.js.br +0 -0
  198. package/build/client/_app/immutable/nodes/17.VLSKwwTe.js.gz +0 -0
  199. package/build/client/_app/immutable/nodes/19.DEmoM61q.js.br +0 -0
  200. package/build/client/_app/immutable/nodes/19.DEmoM61q.js.gz +0 -0
  201. package/build/client/_app/immutable/nodes/2.__o9viyw.js.br +0 -0
  202. package/build/client/_app/immutable/nodes/2.__o9viyw.js.gz +0 -0
  203. package/build/client/_app/immutable/nodes/20.BhoClIzu.js.br +0 -0
  204. package/build/client/_app/immutable/nodes/20.BhoClIzu.js.gz +0 -0
  205. package/build/client/_app/immutable/nodes/21.C7sGgRRB.js.br +0 -0
  206. package/build/client/_app/immutable/nodes/21.C7sGgRRB.js.gz +0 -0
  207. package/build/client/_app/immutable/nodes/23.DpJMyDHf.js.br +0 -0
  208. package/build/client/_app/immutable/nodes/23.DpJMyDHf.js.gz +0 -0
  209. package/build/client/_app/immutable/nodes/24.akDUFOHX.js.br +0 -0
  210. package/build/client/_app/immutable/nodes/24.akDUFOHX.js.gz +0 -0
  211. package/build/client/_app/immutable/nodes/27.C7Z5K5-N.js.br +0 -0
  212. package/build/client/_app/immutable/nodes/27.C7Z5K5-N.js.gz +0 -0
  213. package/build/client/_app/immutable/nodes/28.DsYdbqJ6.js.br +0 -0
  214. package/build/client/_app/immutable/nodes/28.DsYdbqJ6.js.gz +0 -0
  215. package/build/client/_app/immutable/nodes/29.f_5spqDA.js.br +0 -0
  216. package/build/client/_app/immutable/nodes/29.f_5spqDA.js.gz +0 -0
  217. package/build/client/_app/immutable/nodes/3.DJPc2r7n.js.br +0 -0
  218. package/build/client/_app/immutable/nodes/3.DJPc2r7n.js.gz +0 -0
  219. package/build/client/_app/immutable/nodes/30.DnPUoc2g.js.br +0 -0
  220. package/build/client/_app/immutable/nodes/30.DnPUoc2g.js.gz +0 -0
  221. package/build/client/_app/immutable/nodes/5.DrQdcjub.js.br +0 -0
  222. package/build/client/_app/immutable/nodes/5.DrQdcjub.js.gz +0 -0
  223. package/build/client/_app/immutable/nodes/6.BmcssQiY.js.br +0 -0
  224. package/build/client/_app/immutable/nodes/6.BmcssQiY.js.gz +0 -0
  225. package/build/client/_app/immutable/nodes/7.BA0T73d4.js.br +0 -0
  226. package/build/client/_app/immutable/nodes/7.BA0T73d4.js.gz +0 -0
  227. package/build/client/_app/immutable/nodes/8.CYmo0hsm.js.br +0 -0
  228. package/build/client/_app/immutable/nodes/8.CYmo0hsm.js.gz +0 -0
  229. package/build/client/_app/immutable/nodes/9.C4vTaUsb.js +0 -1
  230. package/build/client/_app/immutable/nodes/9.C4vTaUsb.js.br +0 -0
  231. package/build/client/_app/immutable/nodes/9.C4vTaUsb.js.gz +0 -0
  232. package/build/server/chunks/15-C0QaYdSK.js.map +0 -1
  233. package/build/server/chunks/9-CtbkBbpt.js.map +0 -1
  234. package/build/server/chunks/_page.svelte-CRT9J600.js.map +0 -1
  235. package/build/server/chunks/_page.svelte-hocrtSBC.js.map +0 -1
  236. package/build/server/chunks/_server.ts-CgAD4Qlv.js.map +0 -1
  237. package/build/server/chunks/_server.ts-KdED3s6W.js.map +0 -1
@@ -1,13 +0,0 @@
1
- import"../chunks/DsnmJJEf.js";import{aQ as ye,bl as He,af as e,ac as W,V as m,aJ as J,b7 as i,aW as v,be as F,a_ as r,aN as we,ba as Z,bk as X,a8 as De,$ as Fe,bg as Ve}from"../chunks/DEk358l3.js";import{s as L}from"../chunks/T-Nslbso.js";import{t as K,a as s,c as Te,f as g}from"../chunks/DS1KfRtl.js";import{i as q}from"../chunks/BnZOgasr.js";import{j as pe,g as Ne,e as Ee}from"../chunks/6CzuHfQM.js";import{a as me,r as he,p as ge,c as x,b as qe}from"../chunks/DCBLBrrW.js";import{h as Be}from"../chunks/DfVTcmam.js";import{C as ke,a as Re}from"../chunks/CnXIg_dO.js";import{C as Pe}from"../chunks/DRpLcVdK.js";import{a as Ae,C as Ce}from"../chunks/B1z9if9B.js";import{B as Le}from"../chunks/CGKZc1Kf.js";import{R as xe}from"../chunks/snZK0J5H.js";import{b as Ge,e as Je,f as ze,c as Ke,d as Qe,a as Ye,A as Xe,R as Ze}from"../chunks/CNC_mCsM.js";import{I as _e}from"../chunks/CE_gxD9G.js";import{T as Se}from"../chunks/D-Fls4-N.js";import{S as et}from"../chunks/BiG82jCv.js";function Ue(f,a){let n=he(a,["$$slots","$$events","$$legacy"]);const t=[["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"m9 12 2 2 4-4"}]];_e(f,me({name:"circle-check"},()=>n,{get iconNode(){return t}}))}function be(f,a){let n=he(a,["$$slots","$$events","$$legacy"]);const t=[["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"m15 9-6 6"}],["path",{d:"m9 9 6 6"}]];_e(f,me({name:"circle-x"},()=>n,{get iconNode(){return t}}))}function tt(f,a){let n=he(a,["$$slots","$$events","$$legacy"]);const t=[["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"M12 16v-4"}],["path",{d:"M12 8h.01"}]];_e(f,me({name:"info"},()=>n,{get iconNode(){return t}}))}function rt(f,a){let n=he(a,["$$slots","$$events","$$legacy"]);const t=[["path",{d:"M5 12h14"}]];_e(f,me({name:"minus"},()=>n,{get iconNode(){return t}}))}function at(f,a){let n=he(a,["$$slots","$$events","$$legacy"]);const t=[["path",{d:"M11 2v2"}],["path",{d:"M5 2v2"}],["path",{d:"M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1"}],["path",{d:"M8 15a6 6 0 0 0 12 0v-3"}],["circle",{cx:"20",cy:"10",r:"2"}]];_e(f,me({name:"stethoscope"},()=>n,{get iconNode(){return t}}))}function Oe(f,a){const n=a.exec(f);return n?n[1]:void 0}function nt(f){const a=/Available:\s*(\d+\.\d+\.\d+[^\s]*)\s*(?:→|->)\s*(\d+\.\d+\.\d+[^\s]*)/.exec(f);if(a)return{from:a[1],to:a[2]};const n=Oe(f,/Current @selvajs\/selva:\s*v?(\d+\.\d+\.\d+[^\s]*)/),t=Oe(f,/New @selvajs\/selva:\s*v?(\d+\.\d+\.\d+[^\s]*)/);return{from:n,to:t}}function oe(f,a){return f.includes(a)}function st(f,a){const{from:n,to:t}=nt(a);return f===null?{severity:"pending",title:"Update in progress…"}:f===6||oe(a,"Manual recovery required")||oe(a,"manual intervention required")?{severity:"critical",title:"Update failed AND rollback failed — the app may be OFFLINE",detail:"Both the new version and the rollback failed their health check. SSH into the server and run: `pm2 logs selva-compute`, then `pm2 start ecosystem.config.cjs` from the deployment directory.",from:n,to:t}:f===-2?{severity:"critical",title:"App did not come back online within 5 minutes",detail:"The update may still be finishing in the background, or the new process is crash-looping. Check `pm2 logs selva-compute`. Do not re-run the update until you have confirmed the current state.",from:n,to:t}:f===5||oe(a,"Rolled back")?{severity:"warning",title:`Update failed — safely rolled back${n?` to ${n}`:""}. The app is online.`,detail:"The new version failed its health check, so the previous version was restored and is serving normally. Review the log below for why the new version failed before retrying.",from:n,to:t}:oe(a,"npm cache may be stale")||oe(a,"No version change")?{severity:"warning",title:"No version change — npm installed the same version.",detail:"Your npm cache may be stale. On the server: `npm cache clean --force`, remove node_modules + package-lock.json, then `npm install --prefer-online`.",from:n,to:t}:f===0?oe(a,"Already on the latest version")||oe(a,"Nothing to do")?{severity:"info",title:`Already up to date${n?` (${n})`:""} — nothing to install.`,detail:"No changes were made and the app was not restarted.",from:n,to:t}:n&&t&&n!==t?{severity:"success",title:`Updated ${n} → ${t}. The app is back online.`,from:n,to:t}:t?{severity:"success",title:`Update complete — now on ${t}. The app is back online.`,from:n,to:t}:{severity:"success",title:"Update completed and the app is back online.",from:n,to:t}:{severity:"critical",title:`Update failed (exit code ${f}).`,detail:"The update did not complete cleanly. Review the log below, and check `pm2 logs selva-compute` to confirm whether the app is currently online.",from:n,to:t}}var ot=g('<span class="border-border bg-muted text-muted-foreground rounded-full border px-2 py-0.5 font-mono text-xs" title="Currently installed @selvajs/selva version"> </span>'),it=g('<div class="flex items-start justify-between gap-3"><!> <!></div> <!>',1),lt=g("<!> ",1),dt=g('<div class="border-border bg-muted/50 text-muted-foreground flex items-center gap-2 rounded-md border px-3 py-2 text-sm"><!> <span>PM2 is restarting the app — waiting for the new process to come online…</span></div>'),ct=g('<p class="text-muted-foreground font-mono text-xs"> </p>'),ut=g('<p class="text-muted-foreground text-xs whitespace-pre-line"> </p>'),vt=g('<div><!> <div class="min-w-0 space-y-1"><p> </p> <!> <!></div></div>'),ft=g('<div class="space-y-2"><h4 class="text-sm font-medium">Update Logs</h4> <pre class="bg-muted text-foreground max-h-96 overflow-auto rounded-md p-4 font-mono text-xs"> </pre></div>'),pt=g("<!> <!> <!> <!>",1),mt=g("<!> <!>",1),ht=g("<!> <!>",1),_t=g("<!> <!>",1),gt=g("<!> <!>",1),$t=g("<!> <!>",1);function xt(f,a){ye(a,!0);let n=ge(a,"isRunning",3,!1),t=ge(a,"isRestarting",3,!1),h=ge(a,"logs",3,""),S=ge(a,"exitCode",3,null),H=Z(void 0),z=Z(!1),T=X(()=>S()===null?null:st(S(),h()));const V={success:{text:"text-success",border:"border-success/40",bg:"bg-success/10",icon:Ue},info:{text:"text-foreground",border:"border-border",bg:"bg-muted/50",icon:tt},warning:{text:"text-warning",border:"border-warning/40",bg:"bg-warning/10",icon:Se},critical:{text:"text-destructive",border:"border-destructive/40",bg:"bg-destructive/10",icon:be},pending:{text:"text-muted-foreground",border:"border-border",bg:"bg-muted/50",icon:xe}};He(()=>{h()&&e(H)&&(e(H).scrollTop=e(H).scrollHeight)});function ae(){return t()?"Restarting & verifying…":n()?"Running…":"Run Update"}function de(){r(z,!0)}function ie(){r(z,!1),a.onRun?.()}var ee=$t(),te=W(ee);x(te,()=>Ce,(Q,Y)=>{Y(Q,{children:(B,d)=>{var O=mt(),w=W(O);x(w,()=>ke,(N,P)=>{P(N,{children:(j,_)=>{var p=it(),A=W(p),k=m(A);x(k,()=>Re,(y,b)=>{b(y,{children:(c,l)=>{J();var o=K("Application Update");s(c,o)},$$slots:{default:!0}})});var $=i(k,2);{var R=y=>{var b=ot(),c=m(b);v(b),F(()=>L(c,`v${a.currentVersion??""}`)),s(y,b)};q($,y=>{a.currentVersion&&y(R)})}v(A);var C=i(A,2);x(C,()=>Pe,(y,b)=>{b(y,{children:(c,l)=>{J();var o=K("Run the update script to pull latest changes and restart");s(c,o)},$$slots:{default:!0}})}),s(j,p)},$$slots:{default:!0}})});var U=i(w,2);x(U,()=>Ae,(N,P)=>{P(N,{class:"space-y-4",children:(j,_)=>{var p=pt(),A=W(p);Le(A,{onclick:de,get disabled(){return n()},variant:"destructive",children:(c,l)=>{var o=lt(),u=W(o);{var I=M=>{xe(M,{class:"mr-2 h-4 w-4 animate-spin"})};q(u,M=>{t()&&M(I)})}var E=i(u);F(M=>L(E,` ${M??""}`),[()=>ae()]),s(c,o)},$$slots:{default:!0}});var k=i(A,2);{var $=c=>{var l=dt(),o=m(l);xe(o,{class:"h-4 w-4 animate-spin"}),J(2),v(l),s(c,l)};q(k,c=>{t()&&S()===null&&c($)})}var R=i(k,2);{var C=c=>{const l=X(()=>V[e(T).severity]),o=X(()=>e(l).icon);var u=vt(),I=m(u);x(I,()=>e(o),(D,G)=>{G(D,{get class(){return`mt-0.5 h-5 w-5 shrink-0 ${e(l).text??""}`}})});var E=i(I,2),M=m(E),re=m(M,!0);v(M);var ne=i(M,2);{var ce=D=>{var G=ct(),se=m(G);v(G),F(()=>L(se,`${e(T).from??""} → ${e(T).to??""}`)),s(D,G)};q(ne,D=>{e(T).from&&e(T).to&&e(T).from!==e(T).to&&D(ce)})}var ue=i(ne,2);{var $e=D=>{var G=ut(),se=m(G,!0);v(G),F(()=>L(se,e(T).detail)),s(D,G)};q(ue,D=>{e(T).detail&&D($e)})}v(E),v(u),F(()=>{pe(u,1,`flex items-start gap-3 rounded-md border px-3 py-3 ${e(l).border??""} ${e(l).bg??""}`),Ne(u,"role",e(T).severity==="critical"?"alert":"status"),Ne(u,"aria-live",e(T).severity==="critical"?"assertive":"polite"),pe(M,1,`text-sm font-medium ${e(l).text??""}`),L(re,e(T).title)}),s(c,u)};q(R,c=>{e(T)&&c(C)})}var y=i(R,2);{var b=c=>{var l=ft(),o=i(m(l),2),u=m(o,!0);v(o),qe(o,I=>r(H,I),()=>e(H)),v(l),F(()=>L(u,h())),s(c,l)};q(y,c=>{h()&&c(b)})}s(j,p)},$$slots:{default:!0}})}),s(B,O)},$$slots:{default:!0}})});var le=i(te,2);x(le,()=>Ze,(Q,Y)=>{Y(Q,{get open(){return e(z)},onOpenChange:B=>r(z,B,!0),children:(B,d)=>{var O=Te(),w=W(O);x(w,()=>Ge,(U,N)=>{N(U,{children:(P,j)=>{var _=gt(),p=W(_);x(p,()=>Je,(k,$)=>{$(k,{children:(R,C)=>{var y=ht(),b=W(y);x(b,()=>ze,(l,o)=>{o(l,{children:(u,I)=>{J();var E=K("Run Update?");s(u,E)},$$slots:{default:!0}})});var c=i(b,2);x(c,()=>Ke,(l,o)=>{o(l,{children:(u,I)=>{J();var E=K(`This will pull the latest changes and restart the application. The service will be
2
- temporarily unavailable.`);s(u,E)},$$slots:{default:!0}})}),s(R,y)},$$slots:{default:!0}})});var A=i(p,2);x(A,()=>Qe,(k,$)=>{$(k,{children:(R,C)=>{var y=_t(),b=W(y);x(b,()=>Ye,(l,o)=>{o(l,{children:(u,I)=>{J();var E=K("Cancel");s(u,E)},$$slots:{default:!0}})});var c=i(b,2);x(c,()=>Xe,(l,o)=>{o(l,{onclick:ie,get disabled(){return n()},children:(u,I)=>{J();var E=K();F(()=>L(E,t()?"Restarting…":"Continue")),s(u,E)},$$slots:{default:!0}})}),s(R,y)},$$slots:{default:!0}})}),s(P,_)},$$slots:{default:!0}})}),s(B,O)},$$slots:{default:!0}})}),s(f,ee),we()}var bt=g("<!> <!>",1),yt=g("<!> ",1),wt=g('<div class="border-destructive/40 bg-destructive/10 text-destructive flex items-start gap-2 rounded-md border px-3 py-2 text-sm" role="alert"><!> <span> </span></div>'),kt=g('<p class="text-foreground text-xs"> </p>'),Rt=g('<div class="flex items-start gap-3 px-4 py-3"><!> <div class="min-w-0 flex-1 space-y-1"><div class="flex items-center justify-between gap-2"><span class="text-sm font-medium"> </span> <span> </span></div> <p class="text-muted-foreground text-xs"> </p> <!></div></div>'),Pt=g('<div class="space-y-3"><div><!> <span> </span> <span class="text-muted-foreground ml-auto text-xs font-normal"> </span></div> <div class="divide-y rounded-lg border"></div></div>'),At=g("<!> <!> <!>",1),Ct=g("<!> <!>",1);function Nt(f,a){ye(a,!0);let n=Z(!1),t=Z(null),h=Z(null);const S={ok:{text:"text-success",icon:Ue,label:"OK"},degraded:{text:"text-warning",icon:Se,label:"Degraded"},error:{text:"text-destructive",icon:be,label:"Error"},not_applicable:{text:"text-muted-foreground",icon:rt,label:"N/A"}};async function H(){r(n,!0),r(h,null);try{const V=await fetch("/admin/api/system/health",{cache:"no-store"});if(!V.ok){r(h,`Health check request failed (HTTP ${V.status}).`),r(t,null);return}r(t,await V.json(),!0)}catch(V){r(h,V instanceof Error?V.message:"Health check request failed.",!0),r(t,null)}finally{r(n,!1)}}var z=Te(),T=W(z);x(T,()=>Ce,(V,ae)=>{ae(V,{children:(de,ie)=>{var ee=Ct(),te=W(ee);x(te,()=>ke,(Q,Y)=>{Y(Q,{children:(B,d)=>{var O=bt(),w=W(O);x(w,()=>Re,(N,P)=>{P(N,{class:"text-sm font-medium",children:(j,_)=>{J();var p=K("System health");s(j,p)},$$slots:{default:!0}})});var U=i(w,2);x(U,()=>Pe,(N,P)=>{P(N,{children:(j,_)=>{J();var p=K(`Re-runs runtime integrity checks live (not the cached boot snapshot), so results reflect the
3
- current state after any fix.`);s(j,p)},$$slots:{default:!0}})}),s(B,O)},$$slots:{default:!0}})});var le=i(te,2);x(le,()=>Ae,(Q,Y)=>{Y(Q,{class:"space-y-4",children:(B,d)=>{var O=At(),w=W(O);Le(w,{onclick:H,get disabled(){return e(n)},variant:"outline",children:(_,p)=>{var A=yt(),k=W(A);{let R=X(()=>e(n)?"animate-pulse":"");at(k,{get class(){return`mr-2 h-4 w-4 ${e(R)??""}`}})}var $=i(k);F(()=>L($,` ${e(n)?"Checking…":"Run health check"}`)),s(_,A)},$$slots:{default:!0}});var U=i(w,2);{var N=_=>{var p=wt(),A=m(p);be(A,{class:"mt-0.5 h-4 w-4 shrink-0"});var k=i(A,2),$=m(k,!0);v(k),v(p),F(()=>L($,e(h))),s(_,p)};q(U,_=>{e(h)&&_(N)})}var P=i(U,2);{var j=_=>{const p=X(()=>S[e(t).overall]),A=X(()=>e(p).icon);var k=Pt(),$=m(k),R=m($);x(R,()=>e(A),(o,u)=>{u(o,{class:"h-5 w-5"})});var C=i(R,2),y=m(C,!0);v(C);var b=i(C,2),c=m(b,!0);v(b),v($);var l=i($,2);Ee(l,21,()=>e(t).checks,o=>o.id,(o,u)=>{const I=X(()=>S[e(u).status]),E=X(()=>e(I).icon);var M=Rt(),re=m(M);x(re,()=>e(E),(ve,fe)=>{fe(ve,{get class(){return`mt-0.5 h-4 w-4 shrink-0 ${e(I).text??""}`}})});var ne=i(re,2),ce=m(ne),ue=m(ce),$e=m(ue,!0);v(ue);var D=i(ue,2),G=m(D,!0);v(D),v(ce);var se=i(ce,2),je=m(se,!0);v(se);var Ie=i(se,2);{var Me=ve=>{var fe=kt(),We=m(fe,!0);v(fe),F(()=>L(We,e(u).remediation)),s(ve,fe)};q(Ie,ve=>{e(u).remediation&&ve(Me)})}v(ne),v(M),F(()=>{L($e,e(u).label),pe(D,1,`rounded-full border px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase ${e(I).text??""}`),L(G,e(I).label),L(je,e(u).summary)}),s(o,M)}),v(l),v(k),F(o=>{pe($,1,`flex items-center gap-2 text-sm font-medium ${e(p).text??""}`),L(y,e(t).overall==="ok"?"All checks passed":e(t).overall==="degraded"?"Attention needed":e(t).overall==="error"?"Check failed to run":"No applicable checks"),L(c,o)},[()=>new Date(e(t).checkedAt).toLocaleTimeString()]),s(_,k)};q(P,_=>{e(t)&&_(j)})}s(B,O)},$$slots:{default:!0}})}),s(de,ee)},$$slots:{default:!0}})}),s(f,z),we()}var Ot=g("<!> <!>",1),Tt=g('<div class="flex items-start justify-between gap-4 px-4 py-3"><div class="min-w-0 flex-1"><code class="text-foreground font-mono text-xs"> </code> <p class="text-muted-foreground mt-1 text-xs"> </p></div> <span> </span></div>'),Et=g('<div class="divide-y rounded-lg border"></div>'),Lt=g("<!> <!>",1),St=g('<div class="space-y-6"><!> <!> <!> <!></div>');function Xt(f,a){ye(a,!0);const n={ALLOW_CROSS_ORG_PUBLIC:"When on, projects can be made visible to every authenticated user on the instance, not just their own org.",ALLOW_ORG_COMPUTE_OVERRIDE:"When on, individual orgs can configure their own Rhino.Compute server instead of the instance pool.",ALLOW_ORG_CREATION:'When on, signed-in users see a "Create organization" action. Off by default in self-hosted instances.',ENABLE_PLATFORM_PROJECTS:"When on, the Admin → Projects surface is reachable: instance admins can create platform-owned projects and grant view/solve access to orgs or individual users. When off, the surface 404s and platform-visibility projects are hidden everywhere — existing rows are preserved.",ENABLE_SHARING:"When on, editors can mint per-definition share links that grant anonymous external access. When off, the mint/list/revoke routes return 404 and any previously-minted tokens stop resolving."};let t=Z(!1),h=Z(""),S=Z(null),H=Z(!1);async function z(){try{const d=await fetch("/api/health",{cache:"no-store"});return d.ok?await d.json():null}catch{return null}}async function T(){try{const d=await fetch("/admin/api/system/update",{cache:"no-store"});return d.ok?await d.text():null}catch{return null}}function V(d){return/\bManual recovery required\b/.test(d)?6:/\bRolled back to .* — previous version is online\b/.test(d)?5:/New process failed health check/.test(d)&&!/Rolled back/.test(d)?3:/\[FATAL\]/.test(d)&&!/\[DONE\]/.test(d)?1:/\[DONE\]/.test(d)?0:null}async function ae(d){r(h,e(h)+`
4
- Waiting for app to come back online…
5
- `),await new Promise(U=>setTimeout(U,2e3));const O=150;for(let U=0;U<O;U++){const[N,P]=await Promise.all([z(),T()]);P&&P.trim().length>0&&r(h,P,!0);const j=N?.instanceId&&N.instanceId!==d,_=V(e(h));if(j){r(S,_??0,!0),r(t,!1),r(H,!1);return}if(!d&&N&&_!==null){r(S,_,!0),r(t,!1),r(H,!1);return}await new Promise(p=>setTimeout(p,2e3))}const w=await T();w&&w.trim().length>0&&r(h,w,!0),r(h,e(h)+`
6
- ⚠ App did not come back within 5 minutes — check PM2 logs.
7
- `),r(S,-2),r(t,!1),r(H,!1)}async function de(){r(t,!0),r(H,!1),r(h,""),r(S,null);const O=(await z())?.instanceId??null;try{const w=await fetch("/admin/api/system/update",{method:"POST"});if(!w.ok){r(h,"Failed to start update process"),r(S,w.status,!0),r(t,!1);return}const U=w.body?.getReader(),N=new TextDecoder;if(!U){r(h,"Failed to read response"),r(S,-1),r(t,!1);return}let P="",j=!1,_=!1,p=null;for(;;){const{done:A,value:k}=await U.read();if(A)break;P+=N.decode(k,{stream:!0});const $=P.split(`
8
-
9
- `);P=$.pop();for(const R of $)if(R.startsWith("data: "))try{const C=JSON.parse(R.slice(6));C.type==="log"?r(h,e(h)+(C.data+`
10
- `)):C.type==="restarting"?(r(h,e(h)+(C.data+`
11
- `)),r(H,!0),j=!0):C.type==="exit"&&(_=!0,p=C.code)}catch{}}j?await ae(O):_&&p===0?(r(S,0),r(t,!1)):_?(r(S,p??-1,!0),r(t,!1)):await ae(O)}catch(w){e(H)?await ae(O):(r(h,e(h)+(`
12
- Error: `+(w instanceof Error?w.message:"Unknown error"))),r(S,-1),r(t,!1))}}var ie=St();Be("1uq49ma",d=>{De(()=>{Fe.title="Admin · System"})});var ee=m(ie);et(ee,{eyebrow:"Admin",title:"System settings",description:"Instance-wide configuration, platform flags, and the update runner. To change platform flags, edit SELVA_FLAG_* in your .env and restart the app."});var te=i(ee,2);x(te,()=>Ce,(d,O)=>{O(d,{children:(w,U)=>{var N=Lt(),P=W(N);x(P,()=>ke,(_,p)=>{p(_,{children:(A,k)=>{var $=Ot(),R=W($);x(R,()=>Re,(y,b)=>{b(y,{class:"text-sm font-medium",children:(c,l)=>{J();var o=K("Platform flags");s(c,o)},$$slots:{default:!0}})});var C=i(R,2);x(C,()=>Pe,(y,b)=>{b(y,{children:(c,l)=>{J();var o=K(`Resolved state of the env-driven flags that control instance behavior. To change a flag,
13
- edit your environment configuration and restart the app.`);s(c,o)},$$slots:{default:!0}})}),s(A,$)},$$slots:{default:!0}})});var j=i(P,2);x(j,()=>Ae,(_,p)=>{p(_,{children:(A,k)=>{var $=Et();Ee($,21,()=>Object.entries(a.data.flags),([R,C])=>R,(R,C)=>{var y=X(()=>Ve(e(C),2));let b=()=>e(y)[0],c=()=>e(y)[1];var l=Tt(),o=m(l),u=m(o),I=m(u,!0);v(u);var E=i(u,2),M=m(E,!0);v(E),v(o);var re=i(o,2),ne=m(re,!0);v(re),v(l),F(()=>{L(I,b()),L(M,n[b()]),pe(re,1,`rounded-full border px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase ${c()?"border-success/40 bg-success/10 text-success":"border-border text-muted-foreground"}`),L(ne,c()?"On":"Off")}),s(R,l)}),v($),s(A,$)},$$slots:{default:!0}})}),s(w,N)},$$slots:{default:!0}})});var le=i(te,2);{var Q=d=>{Nt(d,{})};q(le,d=>{a.data.isInstanceAdmin&&d(Q)})}var Y=i(le,2);{var B=d=>{xt(d,{get currentVersion(){return a.data.version},get isRunning(){return e(t)},get isRestarting(){return e(H)},get logs(){return e(h)},get exitCode(){return e(S)},onRun:de})};q(Y,d=>{a.data.canManageUpdates&&d(B)})}v(ie),s(f,ie),we()}export{Xt as component};
@@ -1 +0,0 @@
1
- import"../chunks/DsnmJJEf.js";import{aQ as J,aN as L,a8 as M,$ as O,V as l,af as N,b7 as c,aW as o,ac as S,aJ as Q,be as E,bk as G}from"../chunks/DEk358l3.js";import{s as P}from"../chunks/T-Nslbso.js";import{a as m,f as h,c as F}from"../chunks/DS1KfRtl.js";import{e as K,g as R}from"../chunks/6CzuHfQM.js";import{a as z,r as H,c as p}from"../chunks/DCBLBrrW.js";import{h as T}from"../chunks/DfVTcmam.js";import{p as X}from"../chunks/pKBJ9bi5.js";import{S as Y}from"../chunks/BGIAOk5X.js";import{S as Z}from"../chunks/BiG82jCv.js";import{C as ee,a as ae}from"../chunks/CnXIg_dO.js";import{I as k}from"../chunks/CE_gxD9G.js";import{a as te,C as se}from"../chunks/B1z9if9B.js";import{U as re}from"../chunks/BihI7LuH.js";import{B as oe}from"../chunks/C3WxOOC9.js";import{S as ne}from"../chunks/DeMiewtM.js";function ie(n,e){let i=H(e,["$$slots","$$events","$$legacy"]);const t=[["circle",{cx:"12",cy:"12",r:"3"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12"}]];k(n,z({name:"git-commit-horizontal"},()=>i,{get iconNode(){return t}}))}function de(n,e){let i=H(e,["$$slots","$$events","$$legacy"]);const t=[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1"}]];k(n,z({name:"layout-dashboard"},()=>i,{get iconNode(){return t}}))}var le=h("<!> Web app build",1),ce=h('<div class="flex flex-wrap items-baseline gap-x-3 gap-y-1"><code class="text-foreground font-mono text-xs"> </code> <span class="text-muted-foreground text-xs"> </span> <span class="text-muted-foreground text-xs"> </span></div>'),me=h("<!> <!>",1),fe=h('<div class="space-y-6"><!> <div class="grid gap-3 sm:grid-cols-2 lg:grid-cols-3"></div> <!></div>');function Ue(n,e){J(e,!0);const i=G(()=>X.data.branding.name),t={hash:"134a64e",fullHash:"134a64eefd60eedd9165e167a13a9bd98f24e1b1",message:"Merge pull request #81 from VektorNode/changeset-release/main",date:"2026-06-03 14:53:40 +0200"},f=a=>e.data.platformPermissions.includes("instance_admin")||e.data.platformPermissions.includes(a),B=G(()=>[{href:"/admin/users",icon:re,value:e.data.stats.users??"—",label:e.data.stats.users===null?"User store unavailable":`User${e.data.stats.users===1?"":"s"}`,show:f("manage_instance_users")},{href:"/admin/organizations",icon:oe,value:"Organizations",label:"All orgs on this instance",show:f("instance_admin")},{href:"/admin/compute",icon:ne,value:"Compute",label:"Servers, status & config",show:f("manage_compute")},{href:"/projects",icon:de,value:"Content",label:"Definitions & projects",show:f("instance_admin")}].filter(a=>a.show));var g=fe();T("1jef3w8",a=>{M(()=>{O.title="Admin · General"})});var A=l(g);Z(A,{eyebrow:"Admin",title:"General",get description(){return`At-a-glance health of this ${N(i)??""} instance — users, compute, and content.`}});var v=c(A,2);K(v,21,()=>N(B),a=>a.href,(a,_)=>{Y(a,z(()=>N(_)))}),o(v);var I=c(v,2);p(I,()=>se,(a,_)=>{_(a,{children:(V,ue)=>{var U=me(),j=S(U);p(j,()=>ee,(x,$)=>{$(x,{children:(b,q)=>{var s=F(),r=S(s);p(r,()=>ae,(y,d)=>{d(y,{class:"flex items-center gap-2 text-sm font-medium",children:(w,C)=>{var u=le(),D=S(u);ie(D,{class:"text-muted-foreground h-4 w-4"}),Q(),m(w,u)},$$slots:{default:!0}})}),m(b,s)},$$slots:{default:!0}})});var W=c(j,2);p(W,()=>te,(x,$)=>{$(x,{children:(b,q)=>{var s=ce(),r=l(s),y=l(r,!0);o(r);var d=c(r,2),w=l(d,!0);o(d);var C=c(d,2),u=l(C,!0);o(C),o(s),E(()=>{R(r,"title",t.fullHash),P(y,t.hash),P(w,t.message),P(u,t.date)}),m(b,s)},$$slots:{default:!0}})}),m(V,U)},$$slots:{default:!0}})}),o(g),m(n,g),L()}export{Ue as component};
@@ -1 +0,0 @@
1
- {"version":3,"file":"15-C0QaYdSK.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/admin/system/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/15.js"],"sourcesContent":["import { j as hasPermission } from \"../../../../chunks/context.js\";\nimport { f as flag } from \"../../../../chunks/providers.server.js\";\nconst version = \"4.3.2\";\nconst pkg = {\n version\n};\nconst load = async ({ locals }) => {\n const ctx = locals.ctx;\n const canManageUpdates = ctx ? hasPermission(ctx, \"manage_updates\") : false;\n const isInstanceAdmin = ctx ? hasPermission(ctx, \"instance_admin\") : false;\n const flags = {\n ALLOW_CROSS_ORG_PUBLIC: flag(\"ALLOW_CROSS_ORG_PUBLIC\"),\n ALLOW_ORG_COMPUTE_OVERRIDE: flag(\"ALLOW_ORG_COMPUTE_OVERRIDE\"),\n ALLOW_ORG_CREATION: flag(\"ALLOW_ORG_CREATION\"),\n ENABLE_PLATFORM_PROJECTS: flag(\"ENABLE_PLATFORM_PROJECTS\"),\n ENABLE_SHARING: flag(\"ENABLE_SHARING\")\n };\n return { canManageUpdates, isInstanceAdmin, flags, version: pkg.version };\n};\nexport {\n load\n};\n","import * as server from '../entries/pages/admin/system/_page.server.ts.js';\n\nexport const index = 15;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/admin/system/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/admin/system/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/15.CooHDT1H.js\",\"_app/immutable/chunks/DsnmJJEf.js\",\"_app/immutable/chunks/DEk358l3.js\",\"_app/immutable/chunks/T-Nslbso.js\",\"_app/immutable/chunks/DS1KfRtl.js\",\"_app/immutable/chunks/BnZOgasr.js\",\"_app/immutable/chunks/CvUP44VI.js\",\"_app/immutable/chunks/6CzuHfQM.js\",\"_app/immutable/chunks/DCBLBrrW.js\",\"_app/immutable/chunks/DfVTcmam.js\",\"_app/immutable/chunks/CnXIg_dO.js\",\"_app/immutable/chunks/9DES--UJ.js\",\"_app/immutable/chunks/BIIXkPqf.js\",\"_app/immutable/chunks/DRpLcVdK.js\",\"_app/immutable/chunks/B1z9if9B.js\",\"_app/immutable/chunks/CGKZc1Kf.js\",\"_app/immutable/chunks/vyYztzrZ.js\",\"_app/immutable/chunks/snZK0J5H.js\",\"_app/immutable/chunks/CE_gxD9G.js\",\"_app/immutable/chunks/CNC_mCsM.js\",\"_app/immutable/chunks/D-3pI9hp.js\",\"_app/immutable/chunks/BTm-dDt9.js\",\"_app/immutable/chunks/xQ1SsCxk.js\",\"_app/immutable/chunks/CYyqq9B1.js\",\"_app/immutable/chunks/DRNG0pfi.js\",\"_app/immutable/chunks/D-Fls4-N.js\",\"_app/immutable/chunks/BiG82jCv.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;;;;;;;AAEA,MAAM,OAAO,GAAG,OAAO;AACvB,MAAM,GAAG,GAAG;AACZ,EAAE;AACF,CAAC;AACD,MAAM,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AACnC,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,MAAM,gBAAgB,GAAG,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC,GAAG,KAAK;AAC7E,EAAE,MAAM,eAAe,GAAG,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC,GAAG,KAAK;AAC5E,EAAE,MAAM,KAAK,GAAG;AAChB,IAAI,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;AAC1D,IAAI,0BAA0B,EAAE,IAAI,CAAC,4BAA4B,CAAC;AAClE,IAAI,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;AAClD,IAAI,wBAAwB,EAAE,IAAI,CAAC,0BAA0B,CAAC;AAC9D,IAAI,cAAc,EAAE,IAAI,CAAC,gBAAgB;AACzC,GAAG;AACH,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE;AAC3E,CAAC;;;;;;;AChBW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA+C,CAAC,EAAE;AAE7G,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,qCAAqC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACz9B,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"9-CtbkBbpt.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/admin/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/9.js"],"sourcesContent":["import { a as getAuthProvider } from \"../../../chunks/providers.server.js\";\nimport { j as hasPermission } from \"../../../chunks/context.js\";\nconst load = async ({ locals }) => {\n const ctx = locals.ctx;\n const canSeeUserStats = ctx ? hasPermission(ctx, \"manage_instance_users\") : false;\n const platformPermissions = ctx?.platformPermissions ?? [];\n if (!canSeeUserStats) {\n return { stats: { users: null }, platformPermissions };\n }\n try {\n const usersPage = await getAuthProvider().listUsers({ limit: 200 });\n return {\n stats: { users: usersPage?.items.length ?? null },\n platformPermissions\n };\n } catch (err) {\n if (err && typeof err === \"object\" && \"status\" in err) throw err;\n console.error(\"Failed to load admin dashboard:\", err);\n return { stats: { users: null }, platformPermissions };\n }\n};\nexport {\n load\n};\n","import * as server from '../entries/pages/admin/_page.server.ts.js';\n\nexport const index = 9;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/admin/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/admin/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/9.C4vTaUsb.js\",\"_app/immutable/chunks/DsnmJJEf.js\",\"_app/immutable/chunks/DEk358l3.js\",\"_app/immutable/chunks/T-Nslbso.js\",\"_app/immutable/chunks/DS1KfRtl.js\",\"_app/immutable/chunks/6CzuHfQM.js\",\"_app/immutable/chunks/DCBLBrrW.js\",\"_app/immutable/chunks/CvUP44VI.js\",\"_app/immutable/chunks/DfVTcmam.js\",\"_app/immutable/chunks/pKBJ9bi5.js\",\"_app/immutable/chunks/BFB-Wryr.js\",\"_app/immutable/chunks/CsdWDH4Y.js\",\"_app/immutable/chunks/BGIAOk5X.js\",\"_app/immutable/chunks/B1z9if9B.js\",\"_app/immutable/chunks/9DES--UJ.js\",\"_app/immutable/chunks/BIIXkPqf.js\",\"_app/immutable/chunks/BX0gN9mF.js\",\"_app/immutable/chunks/CE_gxD9G.js\",\"_app/immutable/chunks/BiG82jCv.js\",\"_app/immutable/chunks/BnZOgasr.js\",\"_app/immutable/chunks/CnXIg_dO.js\",\"_app/immutable/chunks/BihI7LuH.js\",\"_app/immutable/chunks/C3WxOOC9.js\",\"_app/immutable/chunks/DeMiewtM.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;;;;;;;AAEA,MAAM,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AACnC,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,MAAM,eAAe,GAAG,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,uBAAuB,CAAC,GAAG,KAAK;AACnF,EAAE,MAAM,mBAAmB,GAAG,GAAG,EAAE,mBAAmB,IAAI,EAAE;AAC5D,EAAE,IAAI,CAAC,eAAe,EAAE;AACxB,IAAI,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,mBAAmB,EAAE;AAC1D,EAAE;AACF,EAAE,IAAI;AACN,IAAI,MAAM,SAAS,GAAG,MAAM,eAAe,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACvE,IAAI,OAAO;AACX,MAAM,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE;AACvD,MAAM;AACN,KAAK;AACL,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,QAAQ,IAAI,GAAG,EAAE,MAAM,GAAG;AACpE,IAAI,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,CAAC;AACzD,IAAI,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,mBAAmB,EAAE;AAC1D,EAAE;AACF,CAAC;;;;;;;AClBW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAwC,CAAC,EAAE;AAEtG,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAC52B,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"_page.svelte-CRT9J600.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/admin/_page.svelte.js"],"sourcesContent":["import { aj as spread_props, T as head, am as stringify, G as ensure_array_like, j as attr, I as escape_html, y as derived } from \"../../../chunks/renderer.js\";\nimport { p as page } from \"../../../chunks/index.js\";\nimport { S as StatCard } from \"../../../chunks/StatCard.js\";\nimport { S as SectionHeader } from \"../../../chunks/SectionHeader.js\";\nimport { C as Card, a as Card_content } from \"../../../chunks/card-content.js\";\nimport { C as Card_header, a as Card_title } from \"../../../chunks/card-title.js\";\nimport { I as Icon } from \"../../../chunks/Icon2.js\";\nimport { U as Users } from \"../../../chunks/users.js\";\nimport { B as Building_2 } from \"../../../chunks/building-2.js\";\nimport { S as Server } from \"../../../chunks/server.js\";\nfunction Git_commit_horizontal($$renderer, $$props) {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"circle\", { \"cx\": \"12\", \"cy\": \"12\", \"r\": \"3\" }],\n [\"line\", { \"x1\": \"3\", \"x2\": \"9\", \"y1\": \"12\", \"y2\": \"12\" }],\n [\"line\", { \"x1\": \"15\", \"x2\": \"21\", \"y1\": \"12\", \"y2\": \"12\" }]\n ];\n Icon($$renderer, spread_props([{ name: \"git-commit-horizontal\" }, props, { iconNode }]));\n}\nfunction Layout_dashboard($$renderer, $$props) {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"rect\",\n { \"width\": \"7\", \"height\": \"9\", \"x\": \"3\", \"y\": \"3\", \"rx\": \"1\" }\n ],\n [\n \"rect\",\n { \"width\": \"7\", \"height\": \"5\", \"x\": \"14\", \"y\": \"3\", \"rx\": \"1\" }\n ],\n [\n \"rect\",\n { \"width\": \"7\", \"height\": \"9\", \"x\": \"14\", \"y\": \"12\", \"rx\": \"1\" }\n ],\n [\n \"rect\",\n { \"width\": \"7\", \"height\": \"5\", \"x\": \"3\", \"y\": \"16\", \"rx\": \"1\" }\n ]\n ];\n Icon($$renderer, spread_props([{ name: \"layout-dashboard\" }, props, { iconNode }]));\n}\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const brandName = derived(() => page.data.branding.name);\n let { data } = $$props;\n const build = {\n hash: \"134a64e\",\n fullHash: \"134a64eefd60eedd9165e167a13a9bd98f24e1b1\",\n message: \"Merge pull request #81 from VektorNode/changeset-release/main\",\n date: \"2026-06-03 14:53:40 +0200\"\n };\n const can = (p) => data.platformPermissions.includes(\"instance_admin\") || data.platformPermissions.includes(p);\n const tiles = derived(() => [\n {\n href: \"/admin/users\",\n icon: Users,\n value: data.stats.users ?? \"—\",\n label: data.stats.users === null ? \"User store unavailable\" : `User${data.stats.users === 1 ? \"\" : \"s\"}`,\n show: can(\"manage_instance_users\")\n },\n {\n href: \"/admin/organizations\",\n icon: Building_2,\n value: \"Organizations\",\n label: \"All orgs on this instance\",\n show: can(\"instance_admin\")\n },\n {\n href: \"/admin/compute\",\n icon: Server,\n value: \"Compute\",\n label: \"Servers, status & config\",\n show: can(\"manage_compute\")\n },\n {\n href: \"/projects\",\n icon: Layout_dashboard,\n value: \"Content\",\n label: \"Definitions & projects\",\n show: can(\"instance_admin\")\n }\n ].filter((t) => t.show));\n head(\"1jef3w8\", $$renderer2, ($$renderer3) => {\n $$renderer3.title(($$renderer4) => {\n $$renderer4.push(`<title>Admin · General</title>`);\n });\n });\n $$renderer2.push(`<div class=\"space-y-6\">`);\n SectionHeader($$renderer2, {\n eyebrow: \"Admin\",\n title: \"General\",\n description: `At-a-glance health of this ${stringify(brandName())} instance — users, compute, and content.`\n });\n $$renderer2.push(`<!----> <div class=\"grid gap-3 sm:grid-cols-2 lg:grid-cols-3\"><!--[-->`);\n const each_array = ensure_array_like(tiles());\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let tile = each_array[$$index];\n StatCard($$renderer2, spread_props([tile]));\n }\n $$renderer2.push(`<!--]--></div> `);\n if (Card) {\n $$renderer2.push(\"<!--[-->\");\n Card($$renderer2, {\n children: ($$renderer3) => {\n if (Card_header) {\n $$renderer3.push(\"<!--[-->\");\n Card_header($$renderer3, {\n children: ($$renderer4) => {\n if (Card_title) {\n $$renderer4.push(\"<!--[-->\");\n Card_title($$renderer4, {\n class: \"flex items-center gap-2 text-sm font-medium\",\n children: ($$renderer5) => {\n Git_commit_horizontal($$renderer5, { class: \"text-muted-foreground h-4 w-4\" });\n $$renderer5.push(`<!----> Web app build`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n $$renderer3.push(` `);\n if (Card_content) {\n $$renderer3.push(\"<!--[-->\");\n Card_content($$renderer3, {\n children: ($$renderer4) => {\n $$renderer4.push(`<div class=\"flex flex-wrap items-baseline gap-x-3 gap-y-1\"><code class=\"text-foreground font-mono text-xs\"${attr(\"title\", build.fullHash)}>${escape_html(build.hash)}</code> <span class=\"text-muted-foreground text-xs\">${escape_html(build.message)}</span> <span class=\"text-muted-foreground text-xs\">${escape_html(build.date)}</span></div>`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n $$renderer2.push(`</div>`);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"_page.svelte-hocrtSBC.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/admin/system/_page.svelte.js"],"sourcesContent":["import { aj as spread_props, I as escape_html, k as attr_class, am as stringify, j as attr, y as derived, G as ensure_array_like, T as head } from \"../../../../chunks/renderer.js\";\nimport { C as Card, a as Card_content } from \"../../../../chunks/card-content.js\";\nimport { C as Card_header, a as Card_title } from \"../../../../chunks/card-title.js\";\nimport { C as Card_description } from \"../../../../chunks/card-description.js\";\nimport { B as Button } from \"../../../../chunks/button.js\";\nimport { R as Refresh_cw } from \"../../../../chunks/refresh-cw.js\";\nimport { I as Icon } from \"../../../../chunks/Icon2.js\";\nimport { T as Triangle_alert } from \"../../../../chunks/triangle-alert.js\";\nimport { R as Root, b as Alert_dialog_content, e as Alert_dialog_header, f as Alert_dialog_title, c as Alert_dialog_description, d as Alert_dialog_footer, a as Alert_dialog_cancel, A as Alert_dialog_action } from \"../../../../chunks/index4.js\";\nimport { S as SectionHeader } from \"../../../../chunks/SectionHeader.js\";\nfunction Circle_check($$renderer, $$props) {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"circle\", { \"cx\": \"12\", \"cy\": \"12\", \"r\": \"10\" }],\n [\"path\", { \"d\": \"m9 12 2 2 4-4\" }]\n ];\n Icon($$renderer, spread_props([{ name: \"circle-check\" }, props, { iconNode }]));\n}\nfunction Circle_x($$renderer, $$props) {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"circle\", { \"cx\": \"12\", \"cy\": \"12\", \"r\": \"10\" }],\n [\"path\", { \"d\": \"m15 9-6 6\" }],\n [\"path\", { \"d\": \"m9 9 6 6\" }]\n ];\n Icon($$renderer, spread_props([{ name: \"circle-x\" }, props, { iconNode }]));\n}\nfunction Info($$renderer, $$props) {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"circle\", { \"cx\": \"12\", \"cy\": \"12\", \"r\": \"10\" }],\n [\"path\", { \"d\": \"M12 16v-4\" }],\n [\"path\", { \"d\": \"M12 8h.01\" }]\n ];\n Icon($$renderer, spread_props([{ name: \"info\" }, props, { iconNode }]));\n}\nfunction Minus($$renderer, $$props) {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [[\"path\", { \"d\": \"M5 12h14\" }]];\n Icon($$renderer, spread_props([{ name: \"minus\" }, props, { iconNode }]));\n}\nfunction Stethoscope($$renderer, $$props) {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"M11 2v2\" }],\n [\"path\", { \"d\": \"M5 2v2\" }],\n [\n \"path\",\n {\n \"d\": \"M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1\"\n }\n ],\n [\"path\", { \"d\": \"M8 15a6 6 0 0 0 12 0v-3\" }],\n [\"circle\", { \"cx\": \"20\", \"cy\": \"10\", \"r\": \"2\" }]\n ];\n Icon($$renderer, spread_props([{ name: \"stethoscope\" }, props, { iconNode }]));\n}\nfunction firstMatch(logs, re) {\n const m = re.exec(logs);\n return m ? m[1] : void 0;\n}\nfunction parseVersions(logs) {\n const avail = /Available:\\s*(\\d+\\.\\d+\\.\\d+[^\\s]*)\\s*(?:→|->)\\s*(\\d+\\.\\d+\\.\\d+[^\\s]*)/.exec(logs);\n if (avail) return { from: avail[1], to: avail[2] };\n const from = firstMatch(logs, /Current @selvajs\\/selva:\\s*v?(\\d+\\.\\d+\\.\\d+[^\\s]*)/);\n const to = firstMatch(logs, /New @selvajs\\/selva:\\s*v?(\\d+\\.\\d+\\.\\d+[^\\s]*)/);\n return { from, to };\n}\nfunction has(logs, needle) {\n return logs.includes(needle);\n}\nfunction deriveOutcome(exitCode, logs) {\n const { from, to } = parseVersions(logs);\n if (exitCode === null) {\n return { severity: \"pending\", title: \"Update in progress…\" };\n }\n if (exitCode === 6 || has(logs, \"Manual recovery required\") || has(logs, \"manual intervention required\")) {\n return {\n severity: \"critical\",\n title: \"Update failed AND rollback failed — the app may be OFFLINE\",\n detail: \"Both the new version and the rollback failed their health check. SSH into the server and run: `pm2 logs selva-compute`, then `pm2 start ecosystem.config.cjs` from the deployment directory.\",\n from,\n to\n };\n }\n if (exitCode === -2) {\n return {\n severity: \"critical\",\n title: \"App did not come back online within 5 minutes\",\n detail: \"The update may still be finishing in the background, or the new process is crash-looping. Check `pm2 logs selva-compute`. Do not re-run the update until you have confirmed the current state.\",\n from,\n to\n };\n }\n if (exitCode === 5 || has(logs, \"Rolled back\")) {\n return {\n severity: \"warning\",\n title: `Update failed — safely rolled back${from ? ` to ${from}` : \"\"}. The app is online.`,\n detail: \"The new version failed its health check, so the previous version was restored and is serving normally. Review the log below for why the new version failed before retrying.\",\n from,\n to\n };\n }\n if (has(logs, \"npm cache may be stale\") || has(logs, \"No version change\")) {\n return {\n severity: \"warning\",\n title: \"No version change — npm installed the same version.\",\n detail: \"Your npm cache may be stale. On the server: `npm cache clean --force`, remove node_modules + package-lock.json, then `npm install --prefer-online`.\",\n from,\n to\n };\n }\n if (exitCode === 0) {\n if (has(logs, \"Already on the latest version\") || has(logs, \"Nothing to do\")) {\n return {\n severity: \"info\",\n title: `Already up to date${from ? ` (${from})` : \"\"} — nothing to install.`,\n detail: \"No changes were made and the app was not restarted.\",\n from,\n to\n };\n }\n if (from && to && from !== to) {\n return {\n severity: \"success\",\n title: `Updated ${from} → ${to}. The app is back online.`,\n from,\n to\n };\n }\n if (to) {\n return {\n severity: \"success\",\n title: `Update complete — now on ${to}. The app is back online.`,\n from,\n to\n };\n }\n return {\n severity: \"success\",\n title: \"Update completed and the app is back online.\",\n from,\n to\n };\n }\n return {\n severity: \"critical\",\n title: `Update failed (exit code ${exitCode}).`,\n detail: \"The update did not complete cleanly. Review the log below, and check `pm2 logs selva-compute` to confirm whether the app is currently online.\",\n from,\n to\n };\n}\nfunction UpdateSection($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n currentVersion,\n isRunning = false,\n isRestarting = false,\n logs = \"\",\n exitCode = null,\n onRun\n } = $$props;\n let showRunConfirm = false;\n let outcome = derived(() => exitCode === null ? null : deriveOutcome(exitCode, logs));\n const severityStyles = {\n success: {\n text: \"text-success\",\n border: \"border-success/40\",\n bg: \"bg-success/10\",\n icon: Circle_check\n },\n info: {\n text: \"text-foreground\",\n border: \"border-border\",\n bg: \"bg-muted/50\",\n icon: Info\n },\n warning: {\n text: \"text-warning\",\n border: \"border-warning/40\",\n bg: \"bg-warning/10\",\n icon: Triangle_alert\n },\n critical: {\n text: \"text-destructive\",\n border: \"border-destructive/40\",\n bg: \"bg-destructive/10\",\n icon: Circle_x\n },\n pending: {\n text: \"text-muted-foreground\",\n border: \"border-border\",\n bg: \"bg-muted/50\",\n icon: Refresh_cw\n }\n };\n function buttonLabel() {\n if (isRestarting) return \"Restarting & verifying…\";\n if (isRunning) return \"Running…\";\n return \"Run Update\";\n }\n function handleRunClick() {\n showRunConfirm = true;\n }\n function confirmRun() {\n showRunConfirm = false;\n onRun?.();\n }\n if (Card) {\n $$renderer2.push(\"<!--[-->\");\n Card($$renderer2, {\n children: ($$renderer3) => {\n if (Card_header) {\n $$renderer3.push(\"<!--[-->\");\n Card_header($$renderer3, {\n children: ($$renderer4) => {\n $$renderer4.push(`<div class=\"flex items-start justify-between gap-3\">`);\n if (Card_title) {\n $$renderer4.push(\"<!--[-->\");\n Card_title($$renderer4, {\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->Application Update`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n if (currentVersion) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<span class=\"border-border bg-muted text-muted-foreground rounded-full border px-2 py-0.5 font-mono text-xs\" title=\"Currently installed @selvajs/selva version\">v${escape_html(currentVersion)}</span>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--></div> `);\n if (Card_description) {\n $$renderer4.push(\"<!--[-->\");\n Card_description($$renderer4, {\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->Run the update script to pull latest changes and restart`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n $$renderer3.push(` `);\n if (Card_content) {\n $$renderer3.push(\"<!--[-->\");\n Card_content($$renderer3, {\n class: \"space-y-4\",\n children: ($$renderer4) => {\n Button($$renderer4, {\n onclick: handleRunClick,\n disabled: isRunning,\n variant: \"destructive\",\n children: ($$renderer5) => {\n if (isRestarting) {\n $$renderer5.push(\"<!--[0-->\");\n Refresh_cw($$renderer5, { class: \"mr-2 h-4 w-4 animate-spin\" });\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]--> ${escape_html(buttonLabel())}`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(`<!----> `);\n if (isRestarting && exitCode === null) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"border-border bg-muted/50 text-muted-foreground flex items-center gap-2 rounded-md border px-3 py-2 text-sm\">`);\n Refresh_cw($$renderer4, { class: \"h-4 w-4 animate-spin\" });\n $$renderer4.push(`<!----> <span>PM2 is restarting the app — waiting for the new process to come online…</span></div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (outcome()) {\n $$renderer4.push(\"<!--[0-->\");\n const style = severityStyles[outcome().severity];\n const Icon2 = style.icon;\n $$renderer4.push(`<div${attr_class(`flex items-start gap-3 rounded-md border px-3 py-3 ${stringify(style.border)} ${stringify(style.bg)}`)}${attr(\"role\", outcome().severity === \"critical\" ? \"alert\" : \"status\")}${attr(\"aria-live\", outcome().severity === \"critical\" ? \"assertive\" : \"polite\")}>`);\n if (Icon2) {\n $$renderer4.push(\"<!--[-->\");\n Icon2($$renderer4, { class: `mt-0.5 h-5 w-5 shrink-0 ${stringify(style.text)}` });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` <div class=\"min-w-0 space-y-1\"><p${attr_class(`text-sm font-medium ${stringify(style.text)}`)}>${escape_html(outcome().title)}</p> `);\n if (outcome().from && outcome().to && outcome().from !== outcome().to) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<p class=\"text-muted-foreground font-mono text-xs\">${escape_html(outcome().from)} → ${escape_html(outcome().to)}</p>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (outcome().detail) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<p class=\"text-muted-foreground text-xs whitespace-pre-line\">${escape_html(outcome().detail)}</p>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--></div></div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (logs) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"space-y-2\"><h4 class=\"text-sm font-medium\">Update Logs</h4> <pre class=\"bg-muted text-foreground max-h-96 overflow-auto rounded-md p-4 font-mono text-xs\">${escape_html(logs)}</pre></div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n $$renderer2.push(` `);\n if (Root) {\n $$renderer2.push(\"<!--[-->\");\n Root($$renderer2, {\n open: showRunConfirm,\n onOpenChange: (o) => showRunConfirm = o,\n children: ($$renderer3) => {\n if (Alert_dialog_content) {\n $$renderer3.push(\"<!--[-->\");\n Alert_dialog_content($$renderer3, {\n children: ($$renderer4) => {\n if (Alert_dialog_header) {\n $$renderer4.push(\"<!--[-->\");\n Alert_dialog_header($$renderer4, {\n children: ($$renderer5) => {\n if (Alert_dialog_title) {\n $$renderer5.push(\"<!--[-->\");\n Alert_dialog_title($$renderer5, {\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->Run Update?`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n $$renderer5.push(` `);\n if (Alert_dialog_description) {\n $$renderer5.push(\"<!--[-->\");\n Alert_dialog_description($$renderer5, {\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->This will pull the latest changes and restart the application. The service will be\n\t\t\t\ttemporarily unavailable.`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n if (Alert_dialog_footer) {\n $$renderer4.push(\"<!--[-->\");\n Alert_dialog_footer($$renderer4, {\n children: ($$renderer5) => {\n if (Alert_dialog_cancel) {\n $$renderer5.push(\"<!--[-->\");\n Alert_dialog_cancel($$renderer5, {\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->Cancel`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n $$renderer5.push(` `);\n if (Alert_dialog_action) {\n $$renderer5.push(\"<!--[-->\");\n Alert_dialog_action($$renderer5, {\n onclick: confirmRun,\n disabled: isRunning,\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->${escape_html(isRestarting ? \"Restarting…\" : \"Continue\")}`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n });\n}\nfunction HealthSection($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let running = false;\n let report = null;\n let error = null;\n const statusStyle = {\n ok: { text: \"text-success\", icon: Circle_check, label: \"OK\" },\n degraded: { text: \"text-warning\", icon: Triangle_alert, label: \"Degraded\" },\n error: { text: \"text-destructive\", icon: Circle_x, label: \"Error\" },\n not_applicable: { text: \"text-muted-foreground\", icon: Minus, label: \"N/A\" }\n };\n async function runCheck() {\n running = true;\n error = null;\n try {\n const res = await fetch(\"/admin/api/system/health\", { cache: \"no-store\" });\n if (!res.ok) {\n error = `Health check request failed (HTTP ${res.status}).`;\n report = null;\n return;\n }\n report = await res.json();\n } catch (err) {\n error = err instanceof Error ? err.message : \"Health check request failed.\";\n report = null;\n } finally {\n running = false;\n }\n }\n if (Card) {\n $$renderer2.push(\"<!--[-->\");\n Card($$renderer2, {\n children: ($$renderer3) => {\n if (Card_header) {\n $$renderer3.push(\"<!--[-->\");\n Card_header($$renderer3, {\n children: ($$renderer4) => {\n if (Card_title) {\n $$renderer4.push(\"<!--[-->\");\n Card_title($$renderer4, {\n class: \"text-sm font-medium\",\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->System health`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n if (Card_description) {\n $$renderer4.push(\"<!--[-->\");\n Card_description($$renderer4, {\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->Re-runs runtime integrity checks live (not the cached boot snapshot), so results reflect the\n\t\t\tcurrent state after any fix.`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n $$renderer3.push(` `);\n if (Card_content) {\n $$renderer3.push(\"<!--[-->\");\n Card_content($$renderer3, {\n class: \"space-y-4\",\n children: ($$renderer4) => {\n Button($$renderer4, {\n onclick: runCheck,\n disabled: running,\n variant: \"outline\",\n children: ($$renderer5) => {\n Stethoscope($$renderer5, {\n class: `mr-2 h-4 w-4 ${stringify(running ? \"animate-pulse\" : \"\")}`\n });\n $$renderer5.push(`<!----> ${escape_html(running ? \"Checking…\" : \"Run health check\")}`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(`<!----> `);\n if (error) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"border-destructive/40 bg-destructive/10 text-destructive flex items-start gap-2 rounded-md border px-3 py-2 text-sm\" role=\"alert\">`);\n Circle_x($$renderer4, { class: \"mt-0.5 h-4 w-4 shrink-0\" });\n $$renderer4.push(`<!----> <span>${escape_html(error)}</span></div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (report) {\n $$renderer4.push(\"<!--[0-->\");\n const overall = statusStyle[report.overall];\n const OverallIcon = overall.icon;\n $$renderer4.push(`<div class=\"space-y-3\"><div${attr_class(`flex items-center gap-2 text-sm font-medium ${stringify(overall.text)}`)}>`);\n if (OverallIcon) {\n $$renderer4.push(\"<!--[-->\");\n OverallIcon($$renderer4, { class: \"h-5 w-5\" });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` <span>${escape_html(report.overall === \"ok\" ? \"All checks passed\" : report.overall === \"degraded\" ? \"Attention needed\" : report.overall === \"error\" ? \"Check failed to run\" : \"No applicable checks\")}</span> <span class=\"text-muted-foreground ml-auto text-xs font-normal\">${escape_html(new Date(report.checkedAt).toLocaleTimeString())}</span></div> <div class=\"divide-y rounded-lg border\"><!--[-->`);\n const each_array = ensure_array_like(report.checks);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let check = each_array[$$index];\n const style = statusStyle[check.status];\n const Icon2 = style.icon;\n $$renderer4.push(`<div class=\"flex items-start gap-3 px-4 py-3\">`);\n if (Icon2) {\n $$renderer4.push(\"<!--[-->\");\n Icon2($$renderer4, { class: `mt-0.5 h-4 w-4 shrink-0 ${stringify(style.text)}` });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` <div class=\"min-w-0 flex-1 space-y-1\"><div class=\"flex items-center justify-between gap-2\"><span class=\"text-sm font-medium\">${escape_html(check.label)}</span> <span${attr_class(`rounded-full border px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase ${stringify(style.text)}`)}>${escape_html(style.label)}</span></div> <p class=\"text-muted-foreground text-xs\">${escape_html(check.summary)}</p> `);\n if (check.remediation) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<p class=\"text-foreground text-xs\">${escape_html(check.remediation)}</p>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--></div></div>`);\n }\n $$renderer4.push(`<!--]--></div></div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n });\n}\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { data } = $$props;\n const flagDescriptions = {\n ALLOW_CROSS_ORG_PUBLIC: \"When on, projects can be made visible to every authenticated user on the instance, not just their own org.\",\n ALLOW_ORG_COMPUTE_OVERRIDE: \"When on, individual orgs can configure their own Rhino.Compute server instead of the instance pool.\",\n ALLOW_ORG_CREATION: 'When on, signed-in users see a \"Create organization\" action. Off by default in self-hosted instances.',\n ENABLE_PLATFORM_PROJECTS: \"When on, the Admin → Projects surface is reachable: instance admins can create platform-owned projects and grant view/solve access to orgs or individual users. When off, the surface 404s and platform-visibility projects are hidden everywhere — existing rows are preserved.\",\n ENABLE_SHARING: \"When on, editors can mint per-definition share links that grant anonymous external access. When off, the mint/list/revoke routes return 404 and any previously-minted tokens stop resolving.\"\n };\n let updateRunning = false;\n let updateLogs = \"\";\n let updateExitCode = null;\n let updateRestarting = false;\n async function fetchHealth() {\n try {\n const res = await fetch(\"/api/health\", { cache: \"no-store\" });\n if (!res.ok) return null;\n return await res.json();\n } catch {\n return null;\n }\n }\n async function fetchUpdateLog() {\n try {\n const res = await fetch(\"/admin/api/system/update\", { cache: \"no-store\" });\n if (!res.ok) return null;\n return await res.text();\n } catch {\n return null;\n }\n }\n function exitCodeFromLog(log) {\n if (/\\bManual recovery required\\b/.test(log)) return 6;\n if (/\\bRolled back to .* — previous version is online\\b/.test(log)) return 5;\n if (/New process failed health check/.test(log) && !/Rolled back/.test(log)) return 3;\n if (/\\[FATAL\\]/.test(log) && !/\\[DONE\\]/.test(log)) return 1;\n if (/\\[DONE\\]/.test(log)) return 0;\n return null;\n }\n async function waitForAppRestart(previousInstanceId) {\n updateLogs += \"\\nWaiting for app to come back online…\\n\";\n await new Promise((r) => setTimeout(r, 2e3));\n const maxAttempts = 150;\n for (let i = 0; i < maxAttempts; i++) {\n const [health, log] = await Promise.all([fetchHealth(), fetchUpdateLog()]);\n if (log && log.trim().length > 0) {\n updateLogs = log;\n }\n const newProcessUp = health?.instanceId && health.instanceId !== previousInstanceId;\n const logVerdict = exitCodeFromLog(updateLogs);\n if (newProcessUp) {\n updateExitCode = logVerdict ?? 0;\n updateRunning = false;\n updateRestarting = false;\n return;\n }\n if (!previousInstanceId && health && logVerdict !== null) {\n updateExitCode = logVerdict;\n updateRunning = false;\n updateRestarting = false;\n return;\n }\n await new Promise((r) => setTimeout(r, 2e3));\n }\n const finalLog = await fetchUpdateLog();\n if (finalLog && finalLog.trim().length > 0) updateLogs = finalLog;\n updateLogs += \"\\n⚠ App did not come back within 5 minutes — check PM2 logs.\\n\";\n updateExitCode = -2;\n updateRunning = false;\n updateRestarting = false;\n }\n async function runUpdate() {\n updateRunning = true;\n updateRestarting = false;\n updateLogs = \"\";\n updateExitCode = null;\n const preHealth = await fetchHealth();\n const previousInstanceId = preHealth?.instanceId ?? null;\n try {\n const response = await fetch(\"/admin/api/system/update\", { method: \"POST\" });\n if (!response.ok) {\n updateLogs = \"Failed to start update process\";\n updateExitCode = response.status;\n updateRunning = false;\n return;\n }\n const reader = response.body?.getReader();\n const decoder = new TextDecoder();\n if (!reader) {\n updateLogs = \"Failed to read response\";\n updateExitCode = -1;\n updateRunning = false;\n return;\n }\n let buffer = \"\";\n let sawRestarting = false;\n let sawExit = false;\n let streamExitCode = null;\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n buffer += decoder.decode(value, { stream: true });\n const parts = buffer.split(\"\\n\\n\");\n buffer = parts.pop();\n for (const part of parts) {\n if (!part.startsWith(\"data: \")) continue;\n try {\n const event = JSON.parse(part.slice(6));\n if (event.type === \"log\") {\n updateLogs += event.data + \"\\n\";\n } else if (event.type === \"restarting\") {\n updateLogs += event.data + \"\\n\";\n updateRestarting = true;\n sawRestarting = true;\n } else if (event.type === \"exit\") {\n sawExit = true;\n streamExitCode = event.code;\n }\n } catch {\n }\n }\n }\n if (sawRestarting) {\n await waitForAppRestart(previousInstanceId);\n } else if (sawExit && streamExitCode === 0) {\n updateExitCode = 0;\n updateRunning = false;\n } else if (sawExit) {\n updateExitCode = streamExitCode ?? -1;\n updateRunning = false;\n } else {\n await waitForAppRestart(previousInstanceId);\n }\n } catch (err) {\n if (updateRestarting) {\n await waitForAppRestart(previousInstanceId);\n } else {\n updateLogs += \"\\nError: \" + (err instanceof Error ? err.message : \"Unknown error\");\n updateExitCode = -1;\n updateRunning = false;\n }\n }\n }\n head(\"1uq49ma\", $$renderer2, ($$renderer3) => {\n $$renderer3.title(($$renderer4) => {\n $$renderer4.push(`<title>Admin · System</title>`);\n });\n });\n $$renderer2.push(`<div class=\"space-y-6\">`);\n SectionHeader($$renderer2, {\n eyebrow: \"Admin\",\n title: \"System settings\",\n description: \"Instance-wide configuration, platform flags, and the update runner. To change platform flags, edit SELVA_FLAG_* in your .env and restart the app.\"\n });\n $$renderer2.push(`<!----> `);\n if (Card) {\n $$renderer2.push(\"<!--[-->\");\n Card($$renderer2, {\n children: ($$renderer3) => {\n if (Card_header) {\n $$renderer3.push(\"<!--[-->\");\n Card_header($$renderer3, {\n children: ($$renderer4) => {\n if (Card_title) {\n $$renderer4.push(\"<!--[-->\");\n Card_title($$renderer4, {\n class: \"text-sm font-medium\",\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->Platform flags`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n if (Card_description) {\n $$renderer4.push(\"<!--[-->\");\n Card_description($$renderer4, {\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->Resolved state of the env-driven flags that control instance behavior. To change a flag,\n\t\t\t\tedit your environment configuration and restart the app.`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n $$renderer3.push(` `);\n if (Card_content) {\n $$renderer3.push(\"<!--[-->\");\n Card_content($$renderer3, {\n children: ($$renderer4) => {\n $$renderer4.push(`<div class=\"divide-y rounded-lg border\"><!--[-->`);\n const each_array = ensure_array_like(Object.entries(data.flags));\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let [name, value] = each_array[$$index];\n $$renderer4.push(`<div class=\"flex items-start justify-between gap-4 px-4 py-3\"><div class=\"min-w-0 flex-1\"><code class=\"text-foreground font-mono text-xs\">${escape_html(name)}</code> <p class=\"text-muted-foreground mt-1 text-xs\">${escape_html(flagDescriptions[name])}</p></div> <span${attr_class(`rounded-full border px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase ${value ? \"border-success/40 bg-success/10 text-success\" : \"border-border text-muted-foreground\"}`)}>${escape_html(value ? \"On\" : \"Off\")}</span></div>`);\n }\n $$renderer4.push(`<!--]--></div>`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n $$renderer2.push(` `);\n if (data.isInstanceAdmin) {\n $$renderer2.push(\"<!--[0-->\");\n HealthSection($$renderer2);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (data.canManageUpdates) {\n $$renderer2.push(\"<!--[0-->\");\n UpdateSection($$renderer2, {\n currentVersion: data.version,\n isRunning: updateRunning,\n isRestarting: updateRestarting,\n logs: updateLogs,\n exitCode: updateExitCode,\n onRun: runUpdate\n });\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAUA,SAAS,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE;AAC3C,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO;AAC/C,EAAE,MAAM,QAAQ,GAAG;AACnB,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AACrD,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE;AACrC,GAAG;AACH,EAAE,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;AACjF;AACA,SAAS,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE;AACvC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO;AAC/C,EAAE,MAAM,QAAQ,GAAG;AACnB,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AACrD,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;AAClC,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE;AAChC,GAAG;AACH,EAAE,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;AAC7E;AACA,SAAS,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE;AACnC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO;AAC/C,EAAE,MAAM,QAAQ,GAAG;AACnB,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AACrD,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;AAClC,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE;AACjC,GAAG;AACH,EAAE,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;AACzE;AACA,SAAS,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE;AACpC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO;AAC/C,EAAE,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;AAClD,EAAE,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;AAC1E;AACA,SAAS,WAAW,CAAC,UAAU,EAAE,OAAO,EAAE;AAC1C,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO;AAC/C,EAAE,MAAM,QAAQ,GAAG;AACnB,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;AAChC,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAC/B,IAAI;AACJ,MAAM,MAAM;AACZ,MAAM;AACN,QAAQ,GAAG,EAAE;AACb;AACA,KAAK;AACL,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,yBAAyB,EAAE,CAAC;AAChD,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE;AACnD,GAAG;AACH,EAAE,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;AAChF;AACA,SAAS,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE;AAC9B,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;AACzB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM;AAC1B;AACA,SAAS,aAAa,CAAC,IAAI,EAAE;AAC7B,EAAE,MAAM,KAAK,GAAG,uEAAuE,CAAC,IAAI,CAAC,IAAI,CAAC;AAClG,EAAE,IAAI,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE;AACpD,EAAE,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,oDAAoD,CAAC;AACrF,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,gDAAgD,CAAC;AAC/E,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;AACrB;AACA,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE;AAC3B,EAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC9B;AACA,SAAS,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE;AACvC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC;AAC1C,EAAE,IAAI,QAAQ,KAAK,IAAI,EAAE;AACzB,IAAI,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,qBAAqB,EAAE;AAChE,EAAE;AACF,EAAE,IAAI,QAAQ,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,0BAA0B,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,8BAA8B,CAAC,EAAE;AAC5G,IAAI,OAAO;AACX,MAAM,QAAQ,EAAE,UAAU;AAC1B,MAAM,KAAK,EAAE,4DAA4D;AACzE,MAAM,MAAM,EAAE,8LAA8L;AAC5M,MAAM,IAAI;AACV,MAAM;AACN,KAAK;AACL,EAAE;AACF,EAAE,IAAI,QAAQ,KAAK,EAAE,EAAE;AACvB,IAAI,OAAO;AACX,MAAM,QAAQ,EAAE,UAAU;AAC1B,MAAM,KAAK,EAAE,+CAA+C;AAC5D,MAAM,MAAM,EAAE,gMAAgM;AAC9M,MAAM,IAAI;AACV,MAAM;AACN,KAAK;AACL,EAAE;AACF,EAAE,IAAI,QAAQ,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE;AAClD,IAAI,OAAO;AACX,MAAM,QAAQ,EAAE,SAAS;AACzB,MAAM,KAAK,EAAE,CAAC,kCAAkC,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC;AACjG,MAAM,MAAM,EAAE,6KAA6K;AAC3L,MAAM,IAAI;AACV,MAAM;AACN,KAAK;AACL,EAAE;AACF,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE,wBAAwB,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,mBAAmB,CAAC,EAAE;AAC7E,IAAI,OAAO;AACX,MAAM,QAAQ,EAAE,SAAS;AACzB,MAAM,KAAK,EAAE,qDAAqD;AAClE,MAAM,MAAM,EAAE,qJAAqJ;AACnK,MAAM,IAAI;AACV,MAAM;AACN,KAAK;AACL,EAAE;AACF,EAAE,IAAI,QAAQ,KAAK,CAAC,EAAE;AACtB,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,+BAA+B,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE;AAClF,MAAM,OAAO;AACb,QAAQ,QAAQ,EAAE,MAAM;AACxB,QAAQ,KAAK,EAAE,CAAC,kBAAkB,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC;AACpF,QAAQ,MAAM,EAAE,qDAAqD;AACrE,QAAQ,IAAI;AACZ,QAAQ;AACR,OAAO;AACP,IAAI;AACJ,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,EAAE;AACnC,MAAM,OAAO;AACb,QAAQ,QAAQ,EAAE,SAAS;AAC3B,QAAQ,KAAK,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,yBAAyB,CAAC;AACjE,QAAQ,IAAI;AACZ,QAAQ;AACR,OAAO;AACP,IAAI;AACJ,IAAI,IAAI,EAAE,EAAE;AACZ,MAAM,OAAO;AACb,QAAQ,QAAQ,EAAE,SAAS;AAC3B,QAAQ,KAAK,EAAE,CAAC,yBAAyB,EAAE,EAAE,CAAC,yBAAyB,CAAC;AACxE,QAAQ,IAAI;AACZ,QAAQ;AACR,OAAO;AACP,IAAI;AACJ,IAAI,OAAO;AACX,MAAM,QAAQ,EAAE,SAAS;AACzB,MAAM,KAAK,EAAE,8CAA8C;AAC3D,MAAM,IAAI;AACV,MAAM;AACN,KAAK;AACL,EAAE;AACF,EAAE,OAAO;AACT,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,KAAK,EAAE,CAAC,yBAAyB,EAAE,QAAQ,CAAC,EAAE,CAAC;AACnD,IAAI,MAAM,EAAE,+IAA+I;AAC3J,IAAI,IAAI;AACR,IAAI;AACJ,GAAG;AACH;AACA,SAAS,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE;AAC5C,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK;AACxC,IAAI,IAAI;AACR,MAAM,cAAc;AACpB,MAAM,SAAS,GAAG,KAAK;AACvB,MAAM,YAAY,GAAG,KAAK;AAC1B,MAAM,IAAI,GAAG,EAAE;AACf,MAAM,QAAQ,GAAG,IAAI;AACrB,MAAM;AACN,KAAK,GAAG,OAAO;AACf,IAAI,IAAI,cAAc,GAAG,KAAK;AAC9B,IAAI,IAAI,OAAO,GAAG,OAAO,CAAC,MAAM,QAAQ,KAAK,IAAI,GAAG,IAAI,GAAG,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACzF,IAAI,MAAM,cAAc,GAAG;AAC3B,MAAM,OAAO,EAAE;AACf,QAAQ,IAAI,EAAE,cAAc;AAC5B,QAAQ,MAAM,EAAE,mBAAmB;AACnC,QAAQ,EAAE,EAAE,eAAe;AAC3B,QAAQ,IAAI,EAAE;AACd,OAAO;AACP,MAAM,IAAI,EAAE;AACZ,QAAQ,IAAI,EAAE,iBAAiB;AAC/B,QAAQ,MAAM,EAAE,eAAe;AAC/B,QAAQ,EAAE,EAAE,aAAa;AACzB,QAAQ,IAAI,EAAE;AACd,OAAO;AACP,MAAM,OAAO,EAAE;AACf,QAAQ,IAAI,EAAE,cAAc;AAC5B,QAAQ,MAAM,EAAE,mBAAmB;AACnC,QAAQ,EAAE,EAAE,eAAe;AAC3B,QAAQ,IAAI,EAAE;AACd,OAAO;AACP,MAAM,QAAQ,EAAE;AAChB,QAAQ,IAAI,EAAE,kBAAkB;AAChC,QAAQ,MAAM,EAAE,uBAAuB;AACvC,QAAQ,EAAE,EAAE,mBAAmB;AAC/B,QAAQ,IAAI,EAAE;AACd,OAAO;AACP,MAAM,OAAO,EAAE;AACf,QAAQ,IAAI,EAAE,uBAAuB;AACrC,QAAQ,MAAM,EAAE,eAAe;AAC/B,QAAQ,EAAE,EAAE,aAAa;AACzB,QAAQ,IAAI,EAAE;AACd;AACA,KAAK;AACL,IAAI,SAAS,WAAW,GAAG;AAC3B,MAAM,IAAI,YAAY,EAAE,OAAO,yBAAyB;AACxD,MAAM,IAAI,SAAS,EAAE,OAAO,UAAU;AACtC,MAAM,OAAO,YAAY;AACzB,IAAI;AACJ,IAAI,SAAS,cAAc,GAAG;AAC9B,MAAM,cAAc,GAAG,IAAI;AAC3B,IAAI;AACJ,IAAI,SAAS,UAAU,GAAG;AAC1B,MAAM,cAAc,GAAG,KAAK;AAC5B,MAAM,KAAK,IAAI;AACf,IAAI;AACJ,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClC,MAAM,IAAI,CAAC,WAAW,EAAE;AACxB,QAAQ,QAAQ,EAAE,CAAC,WAAW,KAAK;AACnC,UAAU,IAAI,WAAW,EAAE;AAC3B,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,YAAY,WAAW,CAAC,WAAW,EAAE;AACrC,cAAc,QAAQ,EAAE,CAAC,WAAW,KAAK;AACzC,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,oDAAoD,CAAC,CAAC;AACxF,gBAAgB,IAAI,UAAU,EAAE;AAChC,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,kBAAkB,UAAU,CAAC,WAAW,EAAE;AAC1C,oBAAoB,QAAQ,EAAE,CAAC,WAAW,KAAK;AAC/C,sBAAsB,WAAW,CAAC,IAAI,CAAC,CAAC,yBAAyB,CAAC,CAAC;AACnE,oBAAoB,CAAC;AACrB,oBAAoB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC5C,mBAAmB,CAAC;AACpB,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,gBAAgB,CAAC,MAAM;AACvB,kBAAkB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/C,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,gBAAgB;AAChB,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,gBAAgB,IAAI,cAAc,EAAE;AACpC,kBAAkB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/C,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,iKAAiK,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC;AAC5O,gBAAgB,CAAC,MAAM;AACvB,kBAAkB,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AAChD,gBAAgB;AAChB,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC;AACnD,gBAAgB,IAAI,gBAAgB,EAAE;AACtC,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,kBAAkB,gBAAgB,CAAC,WAAW,EAAE;AAChD,oBAAoB,QAAQ,EAAE,CAAC,WAAW,KAAK;AAC/C,sBAAsB,WAAW,CAAC,IAAI,CAAC,CAAC,+DAA+D,CAAC,CAAC;AACzG,oBAAoB,CAAC;AACrB,oBAAoB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC5C,mBAAmB,CAAC;AACpB,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,gBAAgB,CAAC,MAAM;AACvB,kBAAkB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/C,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,gBAAgB;AAChB,cAAc,CAAC;AACf,cAAc,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AACtC,aAAa,CAAC;AACd,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,UAAU,CAAC,MAAM;AACjB,YAAY,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACzC,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,UAAU;AACV,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,UAAU,IAAI,YAAY,EAAE;AAC5B,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,YAAY,YAAY,CAAC,WAAW,EAAE;AACtC,cAAc,KAAK,EAAE,WAAW;AAChC,cAAc,QAAQ,EAAE,CAAC,WAAW,KAAK;AACzC,gBAAgB,MAAM,CAAC,WAAW,EAAE;AACpC,kBAAkB,OAAO,EAAE,cAAc;AACzC,kBAAkB,QAAQ,EAAE,SAAS;AACrC,kBAAkB,OAAO,EAAE,aAAa;AACxC,kBAAkB,QAAQ,EAAE,CAAC,WAAW,KAAK;AAC7C,oBAAoB,IAAI,YAAY,EAAE;AACtC,sBAAsB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnD,sBAAsB,UAAU,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;AACrF,oBAAoB,CAAC,MAAM;AAC3B,sBAAsB,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACpD,oBAAoB;AACpB,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9E,kBAAkB,CAAC;AACnB,kBAAkB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC1C,iBAAiB,CAAC;AAClB,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC5C,gBAAgB,IAAI,YAAY,IAAI,QAAQ,KAAK,IAAI,EAAE;AACvD,kBAAkB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/C,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,yHAAyH,CAAC,CAAC;AAC/J,kBAAkB,UAAU,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;AAC5E,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,kGAAkG,CAAC,CAAC;AACxI,gBAAgB,CAAC,MAAM;AACvB,kBAAkB,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AAChD,gBAAgB;AAChB,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AAC7C,gBAAgB,IAAI,OAAO,EAAE,EAAE;AAC/B,kBAAkB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/C,kBAAkB,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;AAClE,kBAAkB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI;AAC1C,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,mDAAmD,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,QAAQ,KAAK,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,QAAQ,KAAK,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACvT,kBAAkB,IAAI,KAAK,EAAE;AAC7B,oBAAoB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAChD,oBAAoB,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,wBAAwB,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AACrG,oBAAoB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAChD,kBAAkB,CAAC,MAAM;AACzB,oBAAoB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACjD,oBAAoB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAChD,kBAAkB;AAClB,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,kCAAkC,EAAE,UAAU,CAAC,CAAC,oBAAoB,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;AAC1K,kBAAkB,IAAI,OAAO,EAAE,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC,EAAE,EAAE;AACzF,oBAAoB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACjD,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,mDAAmD,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5J,kBAAkB,CAAC,MAAM;AACzB,oBAAoB,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AAClD,kBAAkB;AAClB,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AAC/C,kBAAkB,IAAI,OAAO,EAAE,CAAC,MAAM,EAAE;AACxC,oBAAoB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACjD,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,6DAA6D,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AACzI,kBAAkB,CAAC,MAAM;AACzB,oBAAoB,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AAClD,kBAAkB;AAClB,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,CAAC;AAC1D,gBAAgB,CAAC,MAAM;AACvB,kBAAkB,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AAChD,gBAAgB;AAChB,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AAC7C,gBAAgB,IAAI,IAAI,EAAE;AAC1B,kBAAkB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/C,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,sKAAsK,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC;AAC5O,gBAAgB,CAAC,MAAM;AACvB,kBAAkB,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AAChD,gBAAgB;AAChB,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC5C,cAAc,CAAC;AACf,cAAc,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AACtC,aAAa,CAAC;AACd,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,UAAU,CAAC,MAAM;AACjB,YAAY,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACzC,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,UAAU;AACV,QAAQ,CAAC;AACT,QAAQ,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAChC,OAAO,CAAC;AACR,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClC,IAAI,CAAC,MAAM;AACX,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClC,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClC,MAAM,IAAI,CAAC,WAAW,EAAE;AACxB,QAAQ,IAAI,EAAE,cAAc;AAC5B,QAAQ,YAAY,EAAE,CAAC,CAAC,KAAK,cAAc,GAAG,CAAC;AAC/C,QAAQ,QAAQ,EAAE,CAAC,WAAW,KAAK;AACnC,UAAU,IAAI,oBAAoB,EAAE;AACpC,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,YAAY,oBAAoB,CAAC,WAAW,EAAE;AAC9C,cAAc,QAAQ,EAAE,CAAC,WAAW,KAAK;AACzC,gBAAgB,IAAI,mBAAmB,EAAE;AACzC,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,kBAAkB,mBAAmB,CAAC,WAAW,EAAE;AACnD,oBAAoB,QAAQ,EAAE,CAAC,WAAW,KAAK;AAC/C,sBAAsB,IAAI,kBAAkB,EAAE;AAC9C,wBAAwB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACpD,wBAAwB,kBAAkB,CAAC,WAAW,EAAE;AACxD,0BAA0B,QAAQ,EAAE,CAAC,WAAW,KAAK;AACrD,4BAA4B,WAAW,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAClE,0BAA0B,CAAC;AAC3B,0BAA0B,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAClD,yBAAyB,CAAC;AAC1B,wBAAwB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACpD,sBAAsB,CAAC,MAAM;AAC7B,wBAAwB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACrD,wBAAwB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACpD,sBAAsB;AACtB,sBAAsB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,sBAAsB,IAAI,wBAAwB,EAAE;AACpD,wBAAwB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACpD,wBAAwB,wBAAwB,CAAC,WAAW,EAAE;AAC9D,0BAA0B,QAAQ,EAAE,CAAC,WAAW,KAAK;AACrD,4BAA4B,WAAW,CAAC,IAAI,CAAC,CAAC;AAC9C,4BAA4B,CAAC,CAAC;AAC9B,0BAA0B,CAAC;AAC3B,0BAA0B,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAClD,yBAAyB,CAAC;AAC1B,wBAAwB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACpD,sBAAsB,CAAC,MAAM;AAC7B,wBAAwB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACrD,wBAAwB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACpD,sBAAsB;AACtB,oBAAoB,CAAC;AACrB,oBAAoB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC5C,mBAAmB,CAAC;AACpB,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,gBAAgB,CAAC,MAAM;AACvB,kBAAkB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/C,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,gBAAgB;AAChB,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,gBAAgB,IAAI,mBAAmB,EAAE;AACzC,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,kBAAkB,mBAAmB,CAAC,WAAW,EAAE;AACnD,oBAAoB,QAAQ,EAAE,CAAC,WAAW,KAAK;AAC/C,sBAAsB,IAAI,mBAAmB,EAAE;AAC/C,wBAAwB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACpD,wBAAwB,mBAAmB,CAAC,WAAW,EAAE;AACzD,0BAA0B,QAAQ,EAAE,CAAC,WAAW,KAAK;AACrD,4BAA4B,WAAW,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;AAC7D,0BAA0B,CAAC;AAC3B,0BAA0B,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAClD,yBAAyB,CAAC;AAC1B,wBAAwB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACpD,sBAAsB,CAAC,MAAM;AAC7B,wBAAwB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACrD,wBAAwB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACpD,sBAAsB;AACtB,sBAAsB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,sBAAsB,IAAI,mBAAmB,EAAE;AAC/C,wBAAwB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACpD,wBAAwB,mBAAmB,CAAC,WAAW,EAAE;AACzD,0BAA0B,OAAO,EAAE,UAAU;AAC7C,0BAA0B,QAAQ,EAAE,SAAS;AAC7C,0BAA0B,QAAQ,EAAE,CAAC,WAAW,KAAK;AACrD,4BAA4B,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,YAAY,GAAG,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AAChH,0BAA0B,CAAC;AAC3B,0BAA0B,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAClD,yBAAyB,CAAC;AAC1B,wBAAwB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACpD,sBAAsB,CAAC,MAAM;AAC7B,wBAAwB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACrD,wBAAwB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACpD,sBAAsB;AACtB,oBAAoB,CAAC;AACrB,oBAAoB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC5C,mBAAmB,CAAC;AACpB,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,gBAAgB,CAAC,MAAM;AACvB,kBAAkB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/C,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,gBAAgB;AAChB,cAAc,CAAC;AACf,cAAc,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AACtC,aAAa,CAAC;AACd,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,UAAU,CAAC,MAAM;AACjB,YAAY,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACzC,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,UAAU;AACV,QAAQ,CAAC;AACT,QAAQ,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAChC,OAAO,CAAC;AACR,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClC,IAAI,CAAC,MAAM;AACX,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClC,IAAI;AACJ,EAAE,CAAC,CAAC;AACJ;AACA,SAAS,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE;AAC5C,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK;AACxC,IAAI,IAAI,OAAO,GAAG,KAAK;AACvB,IAAI,IAAI,MAAM,GAAG,IAAI;AACrB,IAAI,IAAI,KAAK,GAAG,IAAI;AACpB,IAAI,MAAM,WAAW,GAAG;AACxB,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE;AACnE,MAAM,QAAQ,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE;AACjF,MAAM,KAAK,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;AACzE,MAAM,cAAc,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;AAChF,KAAK;AACL,IAAI,eAAe,QAAQ,GAAG;AAC9B,MAAM,OAAO,GAAG,IAAI;AACpB,MAAM,KAAK,GAAG,IAAI;AAClB,MAAM,IAAI;AACV,QAAQ,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAClF,QAAQ,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;AACrB,UAAU,KAAK,GAAG,CAAC,kCAAkC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;AACrE,UAAU,MAAM,GAAG,IAAI;AACvB,UAAU;AACV,QAAQ;AACR,QAAQ,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE;AACjC,MAAM,CAAC,CAAC,OAAO,GAAG,EAAE;AACpB,QAAQ,KAAK,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,8BAA8B;AACnF,QAAQ,MAAM,GAAG,IAAI;AACrB,MAAM,CAAC,SAAS;AAChB,QAAQ,OAAO,GAAG,KAAK;AACvB,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClC,MAAM,IAAI,CAAC,WAAW,EAAE;AACxB,QAAQ,QAAQ,EAAE,CAAC,WAAW,KAAK;AACnC,UAAU,IAAI,WAAW,EAAE;AAC3B,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,YAAY,WAAW,CAAC,WAAW,EAAE;AACrC,cAAc,QAAQ,EAAE,CAAC,WAAW,KAAK;AACzC,gBAAgB,IAAI,UAAU,EAAE;AAChC,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,kBAAkB,UAAU,CAAC,WAAW,EAAE;AAC1C,oBAAoB,KAAK,EAAE,qBAAqB;AAChD,oBAAoB,QAAQ,EAAE,CAAC,WAAW,KAAK;AAC/C,sBAAsB,WAAW,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,CAAC;AAC9D,oBAAoB,CAAC;AACrB,oBAAoB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC5C,mBAAmB,CAAC;AACpB,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,gBAAgB,CAAC,MAAM;AACvB,kBAAkB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/C,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,gBAAgB;AAChB,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,gBAAgB,IAAI,gBAAgB,EAAE;AACtC,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,kBAAkB,gBAAgB,CAAC,WAAW,EAAE;AAChD,oBAAoB,QAAQ,EAAE,CAAC,WAAW,KAAK;AAC/C,sBAAsB,WAAW,CAAC,IAAI,CAAC,CAAC;AACxC,+BAA+B,CAAC,CAAC;AACjC,oBAAoB,CAAC;AACrB,oBAAoB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC5C,mBAAmB,CAAC;AACpB,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,gBAAgB,CAAC,MAAM;AACvB,kBAAkB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/C,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,gBAAgB;AAChB,cAAc,CAAC;AACf,cAAc,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AACtC,aAAa,CAAC;AACd,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,UAAU,CAAC,MAAM;AACjB,YAAY,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACzC,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,UAAU;AACV,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,UAAU,IAAI,YAAY,EAAE;AAC5B,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,YAAY,YAAY,CAAC,WAAW,EAAE;AACtC,cAAc,KAAK,EAAE,WAAW;AAChC,cAAc,QAAQ,EAAE,CAAC,WAAW,KAAK;AACzC,gBAAgB,MAAM,CAAC,WAAW,EAAE;AACpC,kBAAkB,OAAO,EAAE,QAAQ;AACnC,kBAAkB,QAAQ,EAAE,OAAO;AACnC,kBAAkB,OAAO,EAAE,SAAS;AACpC,kBAAkB,QAAQ,EAAE,CAAC,WAAW,KAAK;AAC7C,oBAAoB,WAAW,CAAC,WAAW,EAAE;AAC7C,sBAAsB,KAAK,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,OAAO,GAAG,eAAe,GAAG,EAAE,CAAC,CAAC;AACvF,qBAAqB,CAAC;AACtB,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,OAAO,GAAG,WAAW,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;AAC1G,kBAAkB,CAAC;AACnB,kBAAkB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC1C,iBAAiB,CAAC;AAClB,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC5C,gBAAgB,IAAI,KAAK,EAAE;AAC3B,kBAAkB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/C,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,8IAA8I,CAAC,CAAC;AACpL,kBAAkB,QAAQ,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC;AAC7E,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC;AACtF,gBAAgB,CAAC,MAAM;AACvB,kBAAkB,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AAChD,gBAAgB;AAChB,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AAC7C,gBAAgB,IAAI,MAAM,EAAE;AAC5B,kBAAkB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/C,kBAAkB,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;AAC7D,kBAAkB,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI;AAClD,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,2BAA2B,EAAE,UAAU,CAAC,CAAC,4CAA4C,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzJ,kBAAkB,IAAI,WAAW,EAAE;AACnC,oBAAoB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAChD,oBAAoB,WAAW,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAClE,oBAAoB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAChD,kBAAkB,CAAC,MAAM;AACzB,oBAAoB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACjD,oBAAoB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAChD,kBAAkB;AAClB,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,GAAG,mBAAmB,GAAG,MAAM,CAAC,OAAO,KAAK,UAAU,GAAG,kBAAkB,GAAG,MAAM,CAAC,OAAO,KAAK,OAAO,GAAG,qBAAqB,GAAG,sBAAsB,CAAC,CAAC,wEAAwE,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,8DAA8D,CAAC,CAAC;AAClb,kBAAkB,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC;AACrE,kBAAkB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,EAAE;AACrG,oBAAoB,IAAI,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC;AACnD,oBAAoB,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;AAC3D,oBAAoB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI;AAC5C,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,8CAA8C,CAAC,CAAC;AACtF,oBAAoB,IAAI,KAAK,EAAE;AAC/B,sBAAsB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClD,sBAAsB,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,wBAAwB,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AACvG,sBAAsB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClD,oBAAoB,CAAC,MAAM;AAC3B,sBAAsB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnD,sBAAsB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClD,oBAAoB;AACpB,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,8HAA8H,EAAE,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,8EAA8E,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,uDAAuD,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;AAC1b,oBAAoB,IAAI,KAAK,CAAC,WAAW,EAAE;AAC3C,sBAAsB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnD,sBAAsB,WAAW,CAAC,IAAI,CAAC,CAAC,mCAAmC,EAAE,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC;AAClH,oBAAoB,CAAC,MAAM;AAC3B,sBAAsB,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACpD,oBAAoB;AACpB,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,CAAC;AAC5D,kBAAkB;AAClB,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,CAAC;AAC1D,gBAAgB,CAAC,MAAM;AACvB,kBAAkB,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AAChD,gBAAgB;AAChB,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC5C,cAAc,CAAC;AACf,cAAc,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AACtC,aAAa,CAAC;AACd,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,UAAU,CAAC,MAAM;AACjB,YAAY,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACzC,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,UAAU;AACV,QAAQ,CAAC;AACT,QAAQ,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAChC,OAAO,CAAC;AACR,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClC,IAAI,CAAC,MAAM;AACX,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClC,IAAI;AACJ,EAAE,CAAC,CAAC;AACJ;AACA,SAAS,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE;AACpC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK;AACxC,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO;AAC1B,IAAI,MAAM,gBAAgB,GAAG;AAC7B,MAAM,sBAAsB,EAAE,4GAA4G;AAC1I,MAAM,0BAA0B,EAAE,qGAAqG;AACvI,MAAM,kBAAkB,EAAE,uGAAuG;AACjI,MAAM,wBAAwB,EAAE,kRAAkR;AAClT,MAAM,cAAc,EAAE;AACtB,KAAK;AACL,IAAI,IAAI,aAAa,GAAG,KAAK;AAC7B,IAAI,IAAI,UAAU,GAAG,EAAE;AACvB,IAAI,IAAI,cAAc,GAAG,IAAI;AAC7B,IAAI,IAAI,gBAAgB,GAAG,KAAK;AAChC,IAAI,eAAe,WAAW,GAAG;AACjC,MAAM,IAAI;AACV,QAAQ,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AACrE,QAAQ,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,IAAI;AAChC,QAAQ,OAAO,MAAM,GAAG,CAAC,IAAI,EAAE;AAC/B,MAAM,CAAC,CAAC,MAAM;AACd,QAAQ,OAAO,IAAI;AACnB,MAAM;AACN,IAAI;AACJ,IAAI,eAAe,cAAc,GAAG;AACpC,MAAM,IAAI;AACV,QAAQ,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAClF,QAAQ,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,IAAI;AAChC,QAAQ,OAAO,MAAM,GAAG,CAAC,IAAI,EAAE;AAC/B,MAAM,CAAC,CAAC,MAAM;AACd,QAAQ,OAAO,IAAI;AACnB,MAAM;AACN,IAAI;AACJ,IAAI,SAAS,eAAe,CAAC,GAAG,EAAE;AAClC,MAAM,IAAI,8BAA8B,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;AAC5D,MAAM,IAAI,oDAAoD,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;AAClF,MAAM,IAAI,iCAAiC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;AAC3F,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;AAClE,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;AACxC,MAAM,OAAO,IAAI;AACjB,IAAI;AACJ,IAAI,eAAe,iBAAiB,CAAC,kBAAkB,EAAE;AACzD,MAAM,UAAU,IAAI,0CAA0C;AAC9D,MAAM,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAClD,MAAM,MAAM,WAAW,GAAG,GAAG;AAC7B,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE;AAC5C,QAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;AAClF,QAAQ,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;AAC1C,UAAU,UAAU,GAAG,GAAG;AAC1B,QAAQ;AACR,QAAQ,MAAM,YAAY,GAAG,MAAM,EAAE,UAAU,IAAI,MAAM,CAAC,UAAU,KAAK,kBAAkB;AAC3F,QAAQ,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC;AACtD,QAAQ,IAAI,YAAY,EAAE;AAC1B,UAAU,cAAc,GAAG,UAAU,IAAI,CAAC;AAC1C,UAAU,aAAa,GAAG,KAAK;AAC/B,UAAU,gBAAgB,GAAG,KAAK;AAClC,UAAU;AACV,QAAQ;AACR,QAAQ,IAAI,CAAC,kBAAkB,IAAI,MAAM,IAAI,UAAU,KAAK,IAAI,EAAE;AAClE,UAAU,cAAc,GAAG,UAAU;AACrC,UAAU,aAAa,GAAG,KAAK;AAC/B,UAAU,gBAAgB,GAAG,KAAK;AAClC,UAAU;AACV,QAAQ;AACR,QAAQ,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACpD,MAAM;AACN,MAAM,MAAM,QAAQ,GAAG,MAAM,cAAc,EAAE;AAC7C,MAAM,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,UAAU,GAAG,QAAQ;AACvE,MAAM,UAAU,IAAI,gEAAgE;AACpF,MAAM,cAAc,GAAG,EAAE;AACzB,MAAM,aAAa,GAAG,KAAK;AAC3B,MAAM,gBAAgB,GAAG,KAAK;AAC9B,IAAI;AACJ,IAAI,eAAe,SAAS,GAAG;AAC/B,MAAM,aAAa,GAAG,IAAI;AAC1B,MAAM,gBAAgB,GAAG,KAAK;AAC9B,MAAM,UAAU,GAAG,EAAE;AACrB,MAAM,cAAc,GAAG,IAAI;AAC3B,MAAM,MAAM,SAAS,GAAG,MAAM,WAAW,EAAE;AAC3C,MAAM,MAAM,kBAAkB,GAAG,SAAS,EAAE,UAAU,IAAI,IAAI;AAC9D,MAAM,IAAI;AACV,QAAQ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,0BAA0B,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACpF,QAAQ,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AAC1B,UAAU,UAAU,GAAG,gCAAgC;AACvD,UAAU,cAAc,GAAG,QAAQ,CAAC,MAAM;AAC1C,UAAU,aAAa,GAAG,KAAK;AAC/B,UAAU;AACV,QAAQ;AACR,QAAQ,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE;AACjD,QAAQ,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE;AACzC,QAAQ,IAAI,CAAC,MAAM,EAAE;AACrB,UAAU,UAAU,GAAG,yBAAyB;AAChD,UAAU,cAAc,GAAG,CAAC,CAAC;AAC7B,UAAU,aAAa,GAAG,KAAK;AAC/B,UAAU;AACV,QAAQ;AACR,QAAQ,IAAI,MAAM,GAAG,EAAE;AACvB,QAAQ,IAAI,aAAa,GAAG,KAAK;AACjC,QAAQ,IAAI,OAAO,GAAG,KAAK;AAC3B,QAAQ,IAAI,cAAc,GAAG,IAAI;AACjC,QAAQ,OAAO,IAAI,EAAE;AACrB,UAAU,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE;AACrD,UAAU,IAAI,IAAI,EAAE;AACpB,UAAU,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC3D,UAAU,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;AAC5C,UAAU,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE;AAC9B,UAAU,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACpC,YAAY,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;AAC5C,YAAY,IAAI;AAChB,cAAc,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACrD,cAAc,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE;AACxC,gBAAgB,UAAU,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI;AAC/C,cAAc,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;AACtD,gBAAgB,UAAU,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI;AAC/C,gBAAgB,gBAAgB,GAAG,IAAI;AACvC,gBAAgB,aAAa,GAAG,IAAI;AACpC,cAAc,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;AAChD,gBAAgB,OAAO,GAAG,IAAI;AAC9B,gBAAgB,cAAc,GAAG,KAAK,CAAC,IAAI;AAC3C,cAAc;AACd,YAAY,CAAC,CAAC,MAAM;AACpB,YAAY;AACZ,UAAU;AACV,QAAQ;AACR,QAAQ,IAAI,aAAa,EAAE;AAC3B,UAAU,MAAM,iBAAiB,CAAC,kBAAkB,CAAC;AACrD,QAAQ,CAAC,MAAM,IAAI,OAAO,IAAI,cAAc,KAAK,CAAC,EAAE;AACpD,UAAU,cAAc,GAAG,CAAC;AAC5B,UAAU,aAAa,GAAG,KAAK;AAC/B,QAAQ,CAAC,MAAM,IAAI,OAAO,EAAE;AAC5B,UAAU,cAAc,GAAG,cAAc,IAAI,CAAC,CAAC;AAC/C,UAAU,aAAa,GAAG,KAAK;AAC/B,QAAQ,CAAC,MAAM;AACf,UAAU,MAAM,iBAAiB,CAAC,kBAAkB,CAAC;AACrD,QAAQ;AACR,MAAM,CAAC,CAAC,OAAO,GAAG,EAAE;AACpB,QAAQ,IAAI,gBAAgB,EAAE;AAC9B,UAAU,MAAM,iBAAiB,CAAC,kBAAkB,CAAC;AACrD,QAAQ,CAAC,MAAM;AACf,UAAU,UAAU,IAAI,WAAW,IAAI,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,eAAe,CAAC;AAC5F,UAAU,cAAc,GAAG,EAAE;AAC7B,UAAU,aAAa,GAAG,KAAK;AAC/B,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,WAAW,KAAK;AAClD,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,KAAK;AACzC,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,6BAA6B,CAAC,CAAC;AACzD,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC;AACN,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,uBAAuB,CAAC,CAAC;AAC/C,IAAI,aAAa,CAAC,WAAW,EAAE;AAC/B,MAAM,OAAO,EAAE,OAAO;AACtB,MAAM,KAAK,EAAE,iBAAiB;AAC9B,MAAM,WAAW,EAAE;AACnB,KAAK,CAAC;AACN,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAChC,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClC,MAAM,IAAI,CAAC,WAAW,EAAE;AACxB,QAAQ,QAAQ,EAAE,CAAC,WAAW,KAAK;AACnC,UAAU,IAAI,WAAW,EAAE;AAC3B,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,YAAY,WAAW,CAAC,WAAW,EAAE;AACrC,cAAc,QAAQ,EAAE,CAAC,WAAW,KAAK;AACzC,gBAAgB,IAAI,UAAU,EAAE;AAChC,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,kBAAkB,UAAU,CAAC,WAAW,EAAE;AAC1C,oBAAoB,KAAK,EAAE,qBAAqB;AAChD,oBAAoB,QAAQ,EAAE,CAAC,WAAW,KAAK;AAC/C,sBAAsB,WAAW,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,CAAC;AAC/D,oBAAoB,CAAC;AACrB,oBAAoB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC5C,mBAAmB,CAAC;AACpB,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,gBAAgB,CAAC,MAAM;AACvB,kBAAkB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/C,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,gBAAgB;AAChB,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,gBAAgB,IAAI,gBAAgB,EAAE;AACtC,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,kBAAkB,gBAAgB,CAAC,WAAW,EAAE;AAChD,oBAAoB,QAAQ,EAAE,CAAC,WAAW,KAAK;AAC/C,sBAAsB,WAAW,CAAC,IAAI,CAAC,CAAC;AACxC,4DAA4D,CAAC,CAAC;AAC9D,oBAAoB,CAAC;AACrB,oBAAoB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC5C,mBAAmB,CAAC;AACpB,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,gBAAgB,CAAC,MAAM;AACvB,kBAAkB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/C,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,gBAAgB;AAChB,cAAc,CAAC;AACf,cAAc,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AACtC,aAAa,CAAC;AACd,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,UAAU,CAAC,MAAM;AACjB,YAAY,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACzC,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,UAAU;AACV,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,UAAU,IAAI,YAAY,EAAE;AAC5B,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,YAAY,YAAY,CAAC,WAAW,EAAE;AACtC,cAAc,QAAQ,EAAE,CAAC,WAAW,KAAK;AACzC,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,gDAAgD,CAAC,CAAC;AACpF,gBAAgB,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChF,gBAAgB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,EAAE;AACnG,kBAAkB,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC;AACzD,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,0IAA0I,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,sDAAsD,EAAE,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC,8EAA8E,EAAE,KAAK,GAAG,8CAA8C,GAAG,qCAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC;AACliB,gBAAgB;AAChB,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AAClD,cAAc,CAAC;AACf,cAAc,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AACtC,aAAa,CAAC;AACd,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,UAAU,CAAC,MAAM;AACjB,YAAY,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACzC,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,UAAU;AACV,QAAQ,CAAC;AACT,QAAQ,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAChC,OAAO,CAAC;AACR,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClC,IAAI,CAAC,MAAM;AACX,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClC,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,IAAI,IAAI,IAAI,CAAC,eAAe,EAAE;AAC9B,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,MAAM,aAAa,CAAC,WAAW,CAAC;AAChC,IAAI,CAAC,MAAM;AACX,MAAM,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACpC,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AACjC,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAC/B,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,MAAM,aAAa,CAAC,WAAW,EAAE;AACjC,QAAQ,cAAc,EAAE,IAAI,CAAC,OAAO;AACpC,QAAQ,SAAS,EAAE,aAAa;AAChC,QAAQ,YAAY,EAAE,gBAAgB;AACtC,QAAQ,IAAI,EAAE,UAAU;AACxB,QAAQ,QAAQ,EAAE,cAAc;AAChC,QAAQ,KAAK,EAAE;AACf,OAAO,CAAC;AACR,IAAI,CAAC,MAAM;AACX,MAAM,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACpC,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AACtC,EAAE,CAAC,CAAC;AACJ;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"_server.ts-CgAD4Qlv.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/health/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { execSync } from \"child_process\";\nimport { randomUUID } from \"crypto\";\nimport { createRequire } from \"module\";\nimport { g as getBootHealth, i as isDegraded } from \"../../../../chunks/bootHealth.server.js\";\nconst STARTUP_COMMIT = (() => {\n try {\n return execSync(\"git rev-parse HEAD\", { encoding: \"utf8\" }).trim();\n } catch {\n return null;\n }\n})();\nconst INSTANCE_ID = randomUUID();\nconst RUNTIME_VERSION = (() => {\n try {\n const require2 = createRequire(import.meta.url);\n return require2(\"@selvajs/selva/package.json\").version;\n } catch {\n return null;\n }\n})();\nconst GET = async () => {\n const boot = await getBootHealth();\n const degraded = isDegraded(boot);\n const body = {\n status: degraded ? \"degraded\" : \"ok\",\n timestamp: (/* @__PURE__ */ new Date()).toISOString(),\n instanceId: INSTANCE_ID,\n commit: STARTUP_COMMIT,\n version: RUNTIME_VERSION,\n boot\n };\n return json(body, { status: degraded ? 503 : 200 });\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAKA,MAAM,cAAc,GAAG,CAAC,MAAM;AAC9B,EAAE,IAAI;AACN,IAAI,OAAO,QAAQ,CAAC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE;AACtE,EAAE,CAAC,CAAC,MAAM;AACV,IAAI,OAAO,IAAI;AACf,EAAE;AACF,CAAC,GAAG;AACJ,MAAM,WAAW,GAAG,UAAU,EAAE;AAChC,MAAM,eAAe,GAAG,CAAC,MAAM;AAC/B,EAAE,IAAI;AACN,IAAI,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AACnD,IAAI,OAAO,QAAQ,CAAC,6BAA6B,CAAC,CAAC,OAAO;AAC1D,EAAE,CAAC,CAAC,MAAM;AACV,IAAI,OAAO,IAAI;AACf,EAAE;AACF,CAAC,GAAG;AACC,MAAC,GAAG,GAAG,YAAY;AACxB,EAAE,MAAM,IAAI,GAAG,MAAM,aAAa,EAAE;AACpC,EAAE,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC;AACnC,EAAE,MAAM,IAAI,GAAG;AACf,IAAI,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,IAAI;AACxC,IAAI,SAAS,EAAE,iBAAiB,IAAI,IAAI,EAAE,EAAE,WAAW,EAAE;AACzD,IAAI,UAAU,EAAE,WAAW;AAC3B,IAAI,MAAM,EAAE,cAAc;AAC1B,IAAI,OAAO,EAAE,eAAe;AAC5B,IAAI;AACJ,GAAG;AACH,EAAE,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;AACrD;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"_server.ts-KdED3s6W.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/system/update/_server.ts.js"],"sourcesContent":["import { spawn } from \"child_process\";\nimport { join } from \"path\";\nimport { readFileSync, existsSync } from \"fs\";\nimport { p as private_env } from \"../../../../../../chunks/shared-server.js\";\nimport { z as requirePermission } from \"../../../../../../chunks/access.server.js\";\nconst UPDATE_LOG_PATH = \"/tmp/selva-update.log\";\nfunction stripAnsi(str) {\n return str.replace(/\\x1B\\[[0-9;]*[mGKHF]/g, \"\");\n}\nfunction readRuntimeVersion(dir) {\n try {\n const pkg = JSON.parse(\n readFileSync(join(dir, \"node_modules\", \"@selvajs\", \"selva\", \"package.json\"), \"utf8\")\n );\n return typeof pkg.version === \"string\" ? pkg.version : void 0;\n } catch {\n return void 0;\n }\n}\nfunction shellQuote(s) {\n return `'${s.replace(/'/g, `'\\\\''`)}'`;\n}\nfunction buildLauncher(runnerScript, prelude = []) {\n const echoes = prelude.map((line) => `echo ${shellQuote(line)}`).join(\"\\n\");\n return `\nLOGFILE=${shellQuote(UPDATE_LOG_PATH)}\nRUNNER=/tmp/selva-update-runner.sh\nmkdir -p \"$(dirname \"$LOGFILE\")\"\n: > \"$LOGFILE\"\n\ncat > \"$RUNNER\" <<'__SELVA_RUNNER_EOF__'\n${runnerScript}\n__SELVA_RUNNER_EOF__\nchmod +x \"$RUNNER\"\n\ntrap '' PIPE\nexec > >(tee --output-error=warn-nopipe -a \"$LOGFILE\" 2>/dev/null) 2>&1\n${echoes}\n\n# Daemonize the runner so PM2's tree-kill of selva-compute can't reach it.\n# setsid puts it in a new session; the trailing & + disown + launcher exit\n# leaves the runner with PPID=1 once we're gone. stdin/stdout/stderr are\n# fully detached from this process (and from selva-compute's pipes).\nsetsid bash \"$RUNNER\" </dev/null >>\"$LOGFILE\" 2>&1 &\nRUNNER_PID=$!\ndisown\necho \"[INFO] Update runner started (PID $RUNNER_PID, log: $LOGFILE)\"\n\n# Small pause so the runner has time to print its first line before SSE\n# closes — otherwise the frontend's first poll might see no progress.\nsleep 1\nexit 0\n`;\n}\nfunction buildNpmRunnerScript(npmArgs, versionBefore, ecosystemPath) {\n const npmCommand = [\"npm\", ...npmArgs].map(shellQuote).join(\" \");\n const before = shellQuote(versionBefore ?? \"\");\n const ecosystem = shellQuote(ecosystemPath);\n return `#!/bin/bash\nset -o pipefail\nBEFORE=${before}\nECOSYSTEM=${ecosystem}\n\n# Last-resort safety net. If the script exits with the app NOT online for\n# any reason (crash, kill -9, network blip, npm hang past timeout), try to\n# bring it back from ecosystem.config.cjs before we go. The whole point of\n# this script is to update the app; leaving it down is the worst possible\n# outcome.\non_exit() {\n STATUS=$(pm2 jlist 2>/dev/null | node -e \"\n try {\n const list = JSON.parse(require('fs').readFileSync('/dev/stdin','utf8'));\n const app = list.find(p => p.name === 'selva-compute');\n process.stdout.write(app ? app.pm2_env.status : 'missing');\n } catch { process.stdout.write('error'); }\n \" 2>/dev/null || echo \"error\")\n if [ \"$STATUS\" != \"online\" ]; then\n echo \"[RECOVER] selva-compute is '$STATUS' — starting from ecosystem.config.cjs\"\n pm2 start \"$ECOSYSTEM\" --update-env >/dev/null 2>&1 || \\\\\n echo \"[RECOVER] pm2 start failed — manual intervention required: cd $(dirname \"$ECOSYSTEM\") && pm2 start ecosystem.config.cjs\"\n fi\n}\ntrap on_exit EXIT\n\n# ---------------------------------------------------------------------------\n# 1. Pre-flight: skip the whole cycle if there's nothing to install.\n# ---------------------------------------------------------------------------\n# Without this, clicking \"Update\" on an already-current instance triggered\n# a full stop/install/start cycle and a downtime window for no reason. Now\n# we just check the registry first.\necho \"[STEP] Checking npm registry for available updates\"\nLATEST=$(npm view @selvajs/selva version --silent 2>/dev/null || echo \"\")\nif [ -z \"$LATEST\" ]; then\n echo \"[WARN] Could not query npm registry — proceeding with update attempt anyway\"\nelif [ -n \"$BEFORE\" ] && [ \"$LATEST\" = \"$BEFORE\" ]; then\n echo \"[INFO] Already on the latest version ($BEFORE)\"\n echo \"[DONE] Nothing to do\"\n exit 0\nelse\n echo \"[INFO] Available: $BEFORE → $LATEST\"\nfi\n\n# ---------------------------------------------------------------------------\n# 2. Resync PM2 daemon if its in-memory version drifted from the CLI on disk.\n# ---------------------------------------------------------------------------\n# After a global pm2 upgrade the daemon keeps running its original version\n# while the CLI moves forward. Process commands then talk to a stale daemon\n# and the symptom is \"stop works, start never lands\". \\`pm2 update\\` dumps\n# processes, kills the daemon, respawns on the current CLI, restores the\n# dump. Doing it before we touch anything keeps the rest of the script\n# talking to a coherent daemon.\necho \"[STEP] Checking PM2 daemon/CLI version sync\"\nif pm2 ping 2>&1 | grep -q \"out-of-date\" || pm2 list 2>&1 | grep -q \"out-of-date\"; then\n echo \"[STEP] PM2 daemon is out-of-date — running 'pm2 update' to resync\"\n if ! pm2 update; then\n echo \"[FATAL] pm2 update failed — aborting before stopping the running app\"\n exit 1\n fi\n echo \"[INFO] PM2 daemon resynced\"\nfi\n\n# ---------------------------------------------------------------------------\n# 3. Stop selva-compute BEFORE npm rewrites build/.\n# ---------------------------------------------------------------------------\n# SvelteKit's node adapter lazy-imports chunks from build/server/chunks/ on\n# every request. Letting npm rewrite build/ while the old process is still\n# serving traffic = in-flight requests hit ERR_MODULE_NOT_FOUND for chunks\n# whose hash just changed under their feet. Stopping first is a brief\n# downtime window (~1-2s longer than restart-in-place) for a much smaller\n# blast radius.\n#\n# This is also where the SSE connection to the frontend dies — selva-compute\n# IS the SSE server. From here on, the user sees output via the log-file\n# polling fallback in the admin UI, not over SSE.\necho \"[STEP] Stopping selva-compute\"\nif ! pm2 stop selva-compute; then\n echo \"[WARN] pm2 stop failed — selva-compute may not be running yet. Continuing.\"\nfi\n\n# ---------------------------------------------------------------------------\n# 4. Run npm update.\n# ---------------------------------------------------------------------------\necho \"[STEP] Updating @selvajs/* packages\"\nif ! ${npmCommand}; then\n echo \"[FATAL] npm update failed — EXIT trap will restart the previous build\"\n exit 1\nfi\n\nAFTER=$(node -e \"try{console.log(require('./node_modules/@selvajs/selva/package.json').version)}catch(e){}\" 2>/dev/null)\necho \"[INFO] New @selvajs/selva: \\${AFTER:-unknown}\"\n\nif [ -n \"$BEFORE\" ] && [ \"$BEFORE\" = \"$AFTER\" ]; then\n echo \"[WARN] No version change ($BEFORE). Your npm cache may be stale.\"\n echo \"[WARN] Recover with:\"\n echo \"[WARN] npm cache clean --force\"\n echo \"[WARN] rm -rf node_modules package-lock.json\"\n echo \"[WARN] npm install --prefer-online\"\nfi\n\n# ---------------------------------------------------------------------------\n# 5. Start selva-compute with the new build.\n# ---------------------------------------------------------------------------\n# Start from ecosystem.config.cjs, NOT \\`pm2 start selva-compute\\` — the\n# latter requires selva-compute to already be in pm2's in-memory process\n# list. After a \\`pm2 update\\` (step 2) that's not guaranteed.\necho \"[STEP] Starting selva-compute with new build\"\nif ! pm2 start \"$ECOSYSTEM\" --update-env; then\n echo \"[FATAL] pm2 start failed — investigate with \\\\\\`pm2 logs selva-compute\\\\\\`\"\n exit 2\nfi\n\n# ---------------------------------------------------------------------------\n# 6. Health probe the new process.\n# ---------------------------------------------------------------------------\n# Read PORT from .env the same way scripts/update.sh does, so non-default\n# ports are respected.\nPORT=$(grep \"^PORT=\" .env 2>/dev/null \\\\\n | head -1 \\\\\n | cut -d'=' -f2 \\\\\n | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' -e 's/^[\"'\"'\"']//' -e 's/[\"'\"'\"']$//' -e 's/[[:space:]]*#.*//')\nPORT=\\${PORT:-3000}\n\necho \"[STEP] Health-probing the new process on port $PORT\"\nHEALTHY=0\nfor i in $(seq 1 15); do\n sleep 2\n CODE=$(curl -sS -o /tmp/selva-health.$$ -w \"%{http_code}\" --max-time 5 \"http://localhost:$PORT/api/health\" 2>/dev/null || echo \"000\")\n if [ \"$CODE\" = \"200\" ]; then\n HEALTHY=1\n echo \"[INFO] Health probe passed after \\${i} attempt(s)\"\n rm -f /tmp/selva-health.$$\n break\n fi\n echo \"[INFO] Probe attempt $i/15: HTTP $CODE — retrying\"\ndone\n\nif [ \"$HEALTHY\" = \"1\" ]; then\n echo \"[DONE] Update complete\"\n exit 0\nfi\n\n# ---------------------------------------------------------------------------\n# 7. Rollback path.\n# ---------------------------------------------------------------------------\necho \"[FATAL] New process failed health check after 30s\"\nif [ -f /tmp/selva-health.$$ ]; then\n echo \"[FATAL] Last response body:\"\n cat /tmp/selva-health.$$\n rm -f /tmp/selva-health.$$\nfi\n\nif [ -z \"$BEFORE\" ]; then\n echo \"[FATAL] No prior version recorded — cannot roll back automatically.\"\n echo \"[FATAL] EXIT trap will attempt to restart the current build anyway.\"\n exit 3\nfi\n\necho \"[STEP] Rolling back @selvajs/selva to $BEFORE\"\npm2 stop selva-compute >/dev/null 2>&1 || true\nif ! npm install --save \"@selvajs/selva@$BEFORE\"; then\n echo \"[FATAL] Rollback npm install failed — EXIT trap will retry restart.\"\n exit 4\nfi\n\npm2 start \"$ECOSYSTEM\" --update-env || true\nsleep 3\nROLLBACK_CODE=$(curl -sS -o /dev/null -w \"%{http_code}\" --max-time 5 \"http://localhost:$PORT/api/health\" 2>/dev/null || echo \"000\")\nif [ \"$ROLLBACK_CODE\" = \"200\" ]; then\n echo \"[DONE] Rolled back to $BEFORE — previous version is online\"\n exit 5\nfi\n\necho \"[FATAL] Rollback restart also failed health check (HTTP $ROLLBACK_CODE)\"\necho \"[FATAL] Manual recovery required. Check: pm2 logs selva-compute\"\nexit 6\n`;\n}\nfunction detectUpdatePlan() {\n if (private_env.INSTALL_DIR && existsSync(join(private_env.INSTALL_DIR, \"scripts\", \"update.sh\"))) {\n return {\n mode: \"git\",\n cwd: private_env.INSTALL_DIR,\n cmd: \"bash\",\n args: [join(private_env.INSTALL_DIR, \"scripts\", \"update.sh\")]\n };\n }\n let dir = process.cwd();\n for (let i = 0; i < 6; i++) {\n if (existsSync(join(dir, \"scripts\", \"update.sh\"))) {\n return {\n mode: \"git\",\n cwd: dir,\n cmd: \"bash\",\n args: [join(dir, \"scripts\", \"update.sh\")]\n };\n }\n if (existsSync(join(dir, \"node_modules\", \"@selvajs\", \"selva\", \"package.json\"))) {\n return {\n mode: \"npm\",\n cwd: dir,\n cmd: \"npm\",\n args: [\"update\", \"--save\", \"--prefer-online\", \"@selvajs/cli\", \"@selvajs/selva\"]\n };\n }\n const parent = join(dir, \"..\");\n if (parent === dir) break;\n dir = parent;\n }\n return null;\n}\nconst POST = async ({ locals }) => {\n requirePermission(locals, \"instance_admin\");\n const plan = detectUpdatePlan();\n if (!plan) {\n return new Response(\n JSON.stringify({\n error: \"Couldn't determine how to update this deployment. Expected either scripts/update.sh (monorepo) or node_modules/@selvajs/selva (CLI scaffold) in the cwd or a parent.\"\n }),\n { status: 500, headers: { \"Content-Type\": \"application/json\" } }\n );\n }\n const stream = new ReadableStream({\n start(controller) {\n const encoder = new TextEncoder();\n function sendEvent(type, data) {\n const message = `data: ${JSON.stringify({ type, ...data })}\n\n`;\n controller.enqueue(encoder.encode(message));\n }\n try {\n const versionBefore = plan.mode === \"npm\" ? readRuntimeVersion(plan.cwd) : void 0;\n const prelude = [\n `[INFO] Update mode: ${plan.mode} (cwd: ${plan.cwd})`,\n ...versionBefore ? [`[INFO] Current @selvajs/selva: ${versionBefore}`] : []\n ];\n const runnerScript = plan.mode === \"git\" ? `#!/bin/bash\nexec ${shellQuote(plan.cmd)} ${plan.args.map(shellQuote).join(\" \")}\n` : buildNpmRunnerScript(\n plan.args,\n versionBefore,\n join(plan.cwd, \"ecosystem.config.cjs\")\n );\n const cmd = \"bash\";\n const args = [\"-c\", buildLauncher(runnerScript, prelude)];\n const localBin = join(plan.cwd, \"node_modules\", \".bin\");\n const child = spawn(cmd, args, {\n cwd: plan.cwd,\n env: {\n PATH: `${localBin}:${process.env.PATH ?? \"\"}`,\n HOME: process.env.HOME,\n INSTALL_DIR: plan.cwd\n },\n detached: true,\n stdio: [\"ignore\", \"pipe\", \"pipe\"]\n });\n child.unref();\n const timeout = setTimeout(\n () => {\n try {\n if (child.pid) process.kill(-child.pid, \"SIGTERM\");\n } catch {\n }\n sendEvent(\"log\", { data: \"[FATAL] Update timed out after 15 minutes\" });\n sendEvent(\"exit\", { code: -1 });\n controller.close();\n },\n 15 * 60 * 1e3\n );\n let restarting = false;\n child.stdout.on(\"data\", (data) => {\n const lines = data.toString().split(\"\\n\");\n for (const line of lines) {\n const clean = stripAnsi(line).trim();\n if (clean) {\n if (!restarting && (clean.includes(\"Applying action stopProcessId\") || clean.includes(\"Applying action restartProcessId\"))) {\n restarting = true;\n sendEvent(\"restarting\", { data: clean });\n } else {\n sendEvent(\"log\", { data: clean });\n }\n }\n }\n });\n child.stderr.on(\"data\", (data) => {\n const lines = data.toString().split(\"\\n\");\n for (const line of lines) {\n const clean = stripAnsi(line).trim();\n if (clean) {\n sendEvent(\"log\", { data: `[ERROR] ${clean}` });\n }\n }\n });\n child.on(\"close\", (code) => {\n clearTimeout(timeout);\n sendEvent(\"exit\", { code: code ?? -1 });\n controller.close();\n });\n child.on(\"error\", (err) => {\n clearTimeout(timeout);\n sendEvent(\"log\", { data: `[FATAL] ${err.message}` });\n sendEvent(\"exit\", { code: -1 });\n controller.close();\n });\n } catch (err) {\n sendEvent(\"log\", { data: `[FATAL] Failed to spawn process: ${err}` });\n sendEvent(\"exit\", { code: -1 });\n controller.close();\n }\n }\n });\n return new Response(stream, {\n headers: {\n \"Content-Type\": \"text/event-stream\",\n \"Cache-Control\": \"no-cache\",\n Connection: \"keep-alive\"\n }\n });\n};\nconst GET = async ({ locals }) => {\n requirePermission(locals, \"instance_admin\");\n let body = \"\";\n try {\n body = readFileSync(UPDATE_LOG_PATH, \"utf8\");\n } catch {\n }\n return new Response(body, {\n headers: {\n \"Content-Type\": \"text/plain; charset=utf-8\",\n \"Cache-Control\": \"no-store\"\n }\n });\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAKA,MAAM,eAAe,GAAG,uBAAuB;AAC/C,SAAS,SAAS,CAAC,GAAG,EAAE;AACxB,EAAE,OAAO,GAAG,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;AACjD;AACA,SAAS,kBAAkB,CAAC,GAAG,EAAE;AACjC,EAAE,IAAI;AACN,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK;AAC1B,MAAM,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM;AACzF,KAAK;AACL,IAAI,OAAO,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,GAAG,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;AACjE,EAAE,CAAC,CAAC,MAAM;AACV,IAAI,OAAO,MAAM;AACjB,EAAE;AACF;AACA,SAAS,UAAU,CAAC,CAAC,EAAE;AACvB,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC;AACA,SAAS,aAAa,CAAC,YAAY,EAAE,OAAO,GAAG,EAAE,EAAE;AACnD,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AAC7E,EAAE,OAAO;AACT,QAAQ,EAAE,UAAU,CAAC,eAAe,CAAC;AACrC;AACA;AACA;;AAEA;AACA,EAAE,YAAY;AACd;AACA;;AAEA;AACA;AACA,EAAE,MAAM;;AAER;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,SAAS,oBAAoB,CAAC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE;AACrE,EAAE,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAClE,EAAE,MAAM,MAAM,GAAG,UAAU,CAAC,aAAa,IAAI,EAAE,CAAC;AAChD,EAAE,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC;AAC7C,EAAE,OAAO,CAAC;AACV;AACA,OAAO,EAAE,MAAM;AACf,UAAU,EAAE,SAAS;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK,EAAE,UAAU,CAAC;AAClB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA,SAAS,gBAAgB,GAAG;AAC5B,EAAE,IAAI,WAAW,CAAC,WAAW,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,EAAE;AACpG,IAAI,OAAO;AACX,MAAM,IAAI,EAAE,KAAK;AACjB,MAAM,GAAG,EAAE,WAAW,CAAC,WAAW;AAClC,MAAM,GAAG,EAAE,MAAM;AACjB,MAAM,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC;AAClE,KAAK;AACL,EAAE;AACF,EAAE,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;AACzB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC9B,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,EAAE;AACvD,MAAM,OAAO;AACb,QAAQ,IAAI,EAAE,KAAK;AACnB,QAAQ,GAAG,EAAE,GAAG;AAChB,QAAQ,GAAG,EAAE,MAAM;AACnB,QAAQ,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC;AAChD,OAAO;AACP,IAAI;AACJ,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,EAAE;AACpF,MAAM,OAAO;AACb,QAAQ,IAAI,EAAE,KAAK;AACnB,QAAQ,GAAG,EAAE,GAAG;AAChB,QAAQ,GAAG,EAAE,KAAK;AAClB,QAAQ,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB;AACtF,OAAO;AACP,IAAI;AACJ,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC;AAClC,IAAI,IAAI,MAAM,KAAK,GAAG,EAAE;AACxB,IAAI,GAAG,GAAG,MAAM;AAChB,EAAE;AACF,EAAE,OAAO,IAAI;AACb;AACK,MAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AACnC,EAAE,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,CAAC;AAC7C,EAAE,MAAM,IAAI,GAAG,gBAAgB,EAAE;AACjC,EAAE,IAAI,CAAC,IAAI,EAAE;AACb,IAAI,OAAO,IAAI,QAAQ;AACvB,MAAM,IAAI,CAAC,SAAS,CAAC;AACrB,QAAQ,KAAK,EAAE;AACf,OAAO,CAAC;AACR,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;AACpE,KAAK;AACL,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC;AACpC,IAAI,KAAK,CAAC,UAAU,EAAE;AACtB,MAAM,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE;AACvC,MAAM,SAAS,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE;AACrC,QAAQ,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;;AAElE,CAAC;AACD,QAAQ,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACnD,MAAM;AACN,MAAM,IAAI;AACV,QAAQ,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,KAAK,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AACzF,QAAQ,MAAM,OAAO,GAAG;AACxB,UAAU,CAAC,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,UAAU,GAAG,aAAa,GAAG,CAAC,CAAC,+BAA+B,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG;AACnF,SAAS;AACT,QAAQ,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,KAAK,KAAK,GAAG,CAAC;AACpD,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAClE,CAAC,GAAG,oBAAoB;AACxB,UAAU,IAAI,CAAC,IAAI;AACnB,UAAU,aAAa;AACvB,UAAU,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,sBAAsB;AAC/C,SAAS;AACT,QAAQ,MAAM,GAAG,GAAG,MAAM;AAC1B,QAAQ,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AACjE,QAAQ,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,CAAC;AAC/D,QAAQ,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE;AACvC,UAAU,GAAG,EAAE,IAAI,CAAC,GAAG;AACvB,UAAU,GAAG,EAAE;AACf,YAAY,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;AACzD,YAAY,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI;AAClC,YAAY,WAAW,EAAE,IAAI,CAAC;AAC9B,WAAW;AACX,UAAU,QAAQ,EAAE,IAAI;AACxB,UAAU,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM;AAC1C,SAAS,CAAC;AACV,QAAQ,KAAK,CAAC,KAAK,EAAE;AACrB,QAAQ,MAAM,OAAO,GAAG,UAAU;AAClC,UAAU,MAAM;AAChB,YAAY,IAAI;AAChB,cAAc,IAAI,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC;AAChE,YAAY,CAAC,CAAC,MAAM;AACpB,YAAY;AACZ,YAAY,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,2CAA2C,EAAE,CAAC;AACnF,YAAY,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;AAC3C,YAAY,UAAU,CAAC,KAAK,EAAE;AAC9B,UAAU,CAAC;AACX,UAAU,EAAE,GAAG,EAAE,GAAG;AACpB,SAAS;AACT,QAAQ,IAAI,UAAU,GAAG,KAAK;AAC9B,QAAQ,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,KAAK;AAC1C,UAAU,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;AACnD,UAAU,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACpC,YAAY,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;AAChD,YAAY,IAAI,KAAK,EAAE;AACvB,cAAc,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,QAAQ,CAAC,+BAA+B,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC,EAAE;AAC1I,gBAAgB,UAAU,GAAG,IAAI;AACjC,gBAAgB,SAAS,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACxD,cAAc,CAAC,MAAM;AACrB,gBAAgB,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACjD,cAAc;AACd,YAAY;AACZ,UAAU;AACV,QAAQ,CAAC,CAAC;AACV,QAAQ,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,KAAK;AAC1C,UAAU,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;AACnD,UAAU,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACpC,YAAY,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;AAChD,YAAY,IAAI,KAAK,EAAE;AACvB,cAAc,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;AAC5D,YAAY;AACZ,UAAU;AACV,QAAQ,CAAC,CAAC;AACV,QAAQ,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,KAAK;AACpC,UAAU,YAAY,CAAC,OAAO,CAAC;AAC/B,UAAU,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC;AACjD,UAAU,UAAU,CAAC,KAAK,EAAE;AAC5B,QAAQ,CAAC,CAAC;AACV,QAAQ,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK;AACnC,UAAU,YAAY,CAAC,OAAO,CAAC;AAC/B,UAAU,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;AAC9D,UAAU,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;AACzC,UAAU,UAAU,CAAC,KAAK,EAAE;AAC5B,QAAQ,CAAC,CAAC;AACV,MAAM,CAAC,CAAC,OAAO,GAAG,EAAE;AACpB,QAAQ,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;AAC7E,QAAQ,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACvC,QAAQ,UAAU,CAAC,KAAK,EAAE;AAC1B,MAAM;AACN,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE;AAC9B,IAAI,OAAO,EAAE;AACb,MAAM,cAAc,EAAE,mBAAmB;AACzC,MAAM,eAAe,EAAE,UAAU;AACjC,MAAM,UAAU,EAAE;AAClB;AACA,GAAG,CAAC;AACJ;AACK,MAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AAClC,EAAE,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,CAAC;AAC7C,EAAE,IAAI,IAAI,GAAG,EAAE;AACf,EAAE,IAAI;AACN,IAAI,IAAI,GAAG,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC;AAChD,EAAE,CAAC,CAAC,MAAM;AACV,EAAE;AACF,EAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;AAC5B,IAAI,OAAO,EAAE;AACb,MAAM,cAAc,EAAE,2BAA2B;AACjD,MAAM,eAAe,EAAE;AACvB;AACA,GAAG,CAAC;AACJ;;;;"}