@selvajs/selva 4.6.10 → 4.6.13

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 (233) hide show
  1. package/build/client/_app/immutable/chunks/{7w20m49Y.js → BBCZYSQW.js} +1 -1
  2. package/build/client/_app/immutable/chunks/BBCZYSQW.js.br +0 -0
  3. package/build/client/_app/immutable/chunks/BBCZYSQW.js.gz +0 -0
  4. package/build/client/_app/immutable/chunks/{CWoH8aIC.js → CAhhBSlM.js} +1 -1
  5. package/build/client/_app/immutable/chunks/CAhhBSlM.js.br +0 -0
  6. package/build/client/_app/immutable/chunks/CAhhBSlM.js.gz +0 -0
  7. package/build/client/_app/immutable/chunks/{DCEuWrCg.js → CYTFMiGW.js} +1 -1
  8. package/build/client/_app/immutable/chunks/CYTFMiGW.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/CYTFMiGW.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/{Tuzbj3g9.js → Cf3gBSXq.js} +1 -1
  11. package/build/client/_app/immutable/chunks/Cf3gBSXq.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/Cf3gBSXq.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/{C0aBHGDt.js → ClvfZbtj.js} +1 -1
  14. package/build/client/_app/immutable/chunks/ClvfZbtj.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/ClvfZbtj.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/{DQwEQLx9.js → Na_4l7dv.js} +1 -1
  17. package/build/client/_app/immutable/chunks/Na_4l7dv.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/Na_4l7dv.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/{Rw0KKMY0.js → sb6c_D2e.js} +2 -2
  20. package/build/client/_app/immutable/chunks/sb6c_D2e.js.br +0 -0
  21. package/build/client/_app/immutable/chunks/sb6c_D2e.js.gz +0 -0
  22. package/build/client/_app/immutable/entry/{app.euyfrDSN.js → app.D9UIksaB.js} +2 -2
  23. package/build/client/_app/immutable/entry/app.D9UIksaB.js.br +0 -0
  24. package/build/client/_app/immutable/entry/app.D9UIksaB.js.gz +0 -0
  25. package/build/client/_app/immutable/entry/start.DDAfOizY.js +1 -0
  26. package/build/client/_app/immutable/entry/start.DDAfOizY.js.br +0 -0
  27. package/build/client/_app/immutable/entry/start.DDAfOizY.js.gz +0 -0
  28. package/build/client/_app/immutable/nodes/{1.BrA43GNs.js → 1.BKeW7MRT.js} +1 -1
  29. package/build/client/_app/immutable/nodes/1.BKeW7MRT.js.br +0 -0
  30. package/build/client/_app/immutable/nodes/1.BKeW7MRT.js.gz +0 -0
  31. package/build/client/_app/immutable/nodes/{11.CJcQ9xwF.js → 11.BvqLBJh6.js} +1 -1
  32. package/build/client/_app/immutable/nodes/11.BvqLBJh6.js.br +0 -0
  33. package/build/client/_app/immutable/nodes/11.BvqLBJh6.js.gz +0 -0
  34. package/build/client/_app/immutable/nodes/{13.DooaQEce.js → 13.DzFMFspZ.js} +1 -1
  35. package/build/client/_app/immutable/nodes/13.DzFMFspZ.js.br +0 -0
  36. package/build/client/_app/immutable/nodes/13.DzFMFspZ.js.gz +0 -0
  37. package/build/client/_app/immutable/nodes/{14.3rdtzYcf.js → 14.DzNriIse.js} +1 -1
  38. package/build/client/_app/immutable/nodes/14.DzNriIse.js.br +0 -0
  39. package/build/client/_app/immutable/nodes/14.DzNriIse.js.gz +0 -0
  40. package/build/client/_app/immutable/nodes/{15.C_JceeqE.js → 15.CX7l_wPc.js} +1 -1
  41. package/build/client/_app/immutable/nodes/15.CX7l_wPc.js.br +0 -0
  42. package/build/client/_app/immutable/nodes/15.CX7l_wPc.js.gz +0 -0
  43. package/build/client/_app/immutable/nodes/{16.ck12FD3n.js → 16.C3ZB0sOi.js} +1 -1
  44. package/build/client/_app/immutable/nodes/16.C3ZB0sOi.js.br +0 -0
  45. package/build/client/_app/immutable/nodes/16.C3ZB0sOi.js.gz +0 -0
  46. package/build/client/_app/immutable/nodes/{17.rGO46C_3.js → 17.BYGQzCuL.js} +1 -1
  47. package/build/client/_app/immutable/nodes/17.BYGQzCuL.js.br +0 -0
  48. package/build/client/_app/immutable/nodes/17.BYGQzCuL.js.gz +0 -0
  49. package/build/client/_app/immutable/nodes/{19.Wmg9gsCi.js → 19.CyAAB-vi.js} +1 -1
  50. package/build/client/_app/immutable/nodes/19.CyAAB-vi.js.br +0 -0
  51. package/build/client/_app/immutable/nodes/19.CyAAB-vi.js.gz +0 -0
  52. package/build/client/_app/immutable/nodes/{2.DzBUy_PX.js → 2.CrakowKI.js} +1 -1
  53. package/build/client/_app/immutable/nodes/2.CrakowKI.js.br +0 -0
  54. package/build/client/_app/immutable/nodes/2.CrakowKI.js.gz +0 -0
  55. package/build/client/_app/immutable/nodes/20.BGa-JABY.js +5021 -0
  56. package/build/client/_app/immutable/nodes/20.BGa-JABY.js.br +0 -0
  57. package/build/client/_app/immutable/nodes/20.BGa-JABY.js.gz +0 -0
  58. package/build/client/_app/immutable/nodes/{21.YhzKQSBf.js → 21.-2yCLLxf.js} +1 -1
  59. package/build/client/_app/immutable/nodes/21.-2yCLLxf.js.br +0 -0
  60. package/build/client/_app/immutable/nodes/21.-2yCLLxf.js.gz +0 -0
  61. package/build/client/_app/immutable/nodes/{23.BuBVJwIE.js → 23.CzYsuCuy.js} +1 -1
  62. package/build/client/_app/immutable/nodes/23.CzYsuCuy.js.br +0 -0
  63. package/build/client/_app/immutable/nodes/23.CzYsuCuy.js.gz +0 -0
  64. package/build/client/_app/immutable/nodes/{24.BcwEtG_D.js → 24.CfCILA6l.js} +1 -1
  65. package/build/client/_app/immutable/nodes/24.CfCILA6l.js.br +0 -0
  66. package/build/client/_app/immutable/nodes/24.CfCILA6l.js.gz +0 -0
  67. package/build/client/_app/immutable/nodes/{27.Ev1ttWNS.js → 27.CwLhJEvh.js} +1 -1
  68. package/build/client/_app/immutable/nodes/27.CwLhJEvh.js.br +0 -0
  69. package/build/client/_app/immutable/nodes/27.CwLhJEvh.js.gz +0 -0
  70. package/build/client/_app/immutable/nodes/{28.BbNEnYuk.js → 28.efPMopm9.js} +1 -1
  71. package/build/client/_app/immutable/nodes/28.efPMopm9.js.br +0 -0
  72. package/build/client/_app/immutable/nodes/28.efPMopm9.js.gz +0 -0
  73. package/build/client/_app/immutable/nodes/{29.q7ujiDu_.js → 29.CEeaRXG0.js} +1 -1
  74. package/build/client/_app/immutable/nodes/29.CEeaRXG0.js.br +0 -0
  75. package/build/client/_app/immutable/nodes/29.CEeaRXG0.js.gz +0 -0
  76. package/build/client/_app/immutable/nodes/{3.xXwRU5xG.js → 3.B8HrsYpJ.js} +1 -1
  77. package/build/client/_app/immutable/nodes/3.B8HrsYpJ.js.br +0 -0
  78. package/build/client/_app/immutable/nodes/3.B8HrsYpJ.js.gz +0 -0
  79. package/build/client/_app/immutable/nodes/{30.BcDvE_0u.js → 30.C9X8nkFd.js} +1 -1
  80. package/build/client/_app/immutable/nodes/30.C9X8nkFd.js.br +0 -0
  81. package/build/client/_app/immutable/nodes/30.C9X8nkFd.js.gz +0 -0
  82. package/build/client/_app/immutable/nodes/{5.CGj8B-ia.js → 5.B0cVrjuM.js} +1 -1
  83. package/build/client/_app/immutable/nodes/5.B0cVrjuM.js.br +0 -0
  84. package/build/client/_app/immutable/nodes/5.B0cVrjuM.js.gz +0 -0
  85. package/build/client/_app/immutable/nodes/{6.FX7G6Qqo.js → 6.BXcaZUYE.js} +1 -1
  86. package/build/client/_app/immutable/nodes/6.BXcaZUYE.js.br +0 -0
  87. package/build/client/_app/immutable/nodes/6.BXcaZUYE.js.gz +0 -0
  88. package/build/client/_app/immutable/nodes/{7.BbUaG1it.js → 7.C0R4Zwqn.js} +1 -1
  89. package/build/client/_app/immutable/nodes/7.C0R4Zwqn.js.br +0 -0
  90. package/build/client/_app/immutable/nodes/7.C0R4Zwqn.js.gz +0 -0
  91. package/build/client/_app/immutable/nodes/{8.DsbOarBp.js → 8.DJxZafGh.js} +1 -1
  92. package/build/client/_app/immutable/nodes/8.DJxZafGh.js.br +0 -0
  93. package/build/client/_app/immutable/nodes/8.DJxZafGh.js.gz +0 -0
  94. package/build/client/_app/immutable/nodes/{9.DWJJUHqf.js → 9.DsEbUr1W.js} +1 -1
  95. package/build/client/_app/immutable/nodes/9.DsEbUr1W.js.br +0 -0
  96. package/build/client/_app/immutable/nodes/9.DsEbUr1W.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/handler.js +4 -4
  101. package/build/index.js +4 -4
  102. package/build/server/chunks/chunks/{internal.js-BkFAQgIj.js → internal.js-B1IbCrA1.js} +2 -2
  103. package/build/server/chunks/chunks/{internal.js-BkFAQgIj.js.map → internal.js-B1IbCrA1.js.map} +1 -1
  104. package/build/server/chunks/chunks/{package.js-CzPC5FUN.js → package.js-DHaLCZMJ.js} +2 -2
  105. package/build/server/chunks/chunks/{package.js-CzPC5FUN.js.map → package.js-DHaLCZMJ.js.map} +1 -1
  106. package/build/server/chunks/entries/endpoints/api/compute/{_server.ts.js-DDZ5gvES.js → _server.ts.js-k5YwUAVY.js} +21 -17
  107. package/build/server/chunks/entries/endpoints/api/compute/_server.ts.js-k5YwUAVY.js.map +1 -0
  108. package/build/server/chunks/entries/pages/admin/{_page.server.ts.js-B3A5qHoV.js → _page.server.ts.js-BZzQjJU8.js} +2 -2
  109. package/build/server/chunks/entries/pages/admin/{_page.server.ts.js-B3A5qHoV.js.map → _page.server.ts.js-BZzQjJU8.js.map} +1 -1
  110. package/build/server/chunks/entries/pages/admin/system/{_page.server.ts.js-C8VOJ5Sv.js → _page.server.ts.js-BQevF14N.js} +2 -2
  111. package/build/server/chunks/entries/pages/admin/system/{_page.server.ts.js-C8VOJ5Sv.js.map → _page.server.ts.js-BQevF14N.js.map} +1 -1
  112. package/build/server/chunks/entries/pages/library/_guid_/{_page.svelte.js-CXs9URej.js → _page.svelte.js-CPiOucjC.js} +13 -5
  113. package/build/server/chunks/entries/pages/library/_guid_/{_page.svelte.js-CXs9URej.js.map → _page.svelte.js-CPiOucjC.js.map} +1 -1
  114. package/build/server/chunks/{handler-DbanCiUX.js → handler-mzU3UJJh.js} +3 -3
  115. package/build/server/chunks/{handler-DbanCiUX.js.map → handler-mzU3UJJh.js.map} +1 -1
  116. package/build/server/chunks/{index.js-B3LyvDEJ.js → index.js-ofC7OC2n.js} +2 -2
  117. package/build/server/chunks/{index.js-B3LyvDEJ.js.map → index.js-ofC7OC2n.js.map} +1 -1
  118. package/build/server/chunks/{manifest.js-CfRu0pj3.js → manifest.js-B6zM76bo.js} +26 -26
  119. package/build/server/chunks/{manifest.js-CfRu0pj3.js.map → manifest.js-B6zM76bo.js.map} +1 -1
  120. package/build/server/chunks/nodes/{1.js-cGWLz4JB.js → 1.js-CJPPnct8.js} +2 -2
  121. package/build/server/chunks/nodes/{1.js-cGWLz4JB.js.map → 1.js-CJPPnct8.js.map} +1 -1
  122. package/build/server/chunks/nodes/{11.js-G6picW2S.js → 11.js-oFEkDH-f.js} +2 -2
  123. package/build/server/chunks/nodes/{11.js-G6picW2S.js.map → 11.js-oFEkDH-f.js.map} +1 -1
  124. package/build/server/chunks/nodes/{13.js-BxQtDbrm.js → 13.js-DkriXMMW.js} +2 -2
  125. package/build/server/chunks/nodes/{13.js-BxQtDbrm.js.map → 13.js-DkriXMMW.js.map} +1 -1
  126. package/build/server/chunks/nodes/{14.js-C3QMbTgy.js → 14.js-DESeTiwl.js} +2 -2
  127. package/build/server/chunks/nodes/{14.js-C3QMbTgy.js.map → 14.js-DESeTiwl.js.map} +1 -1
  128. package/build/server/chunks/nodes/{15.js-CsBs94ZY.js → 15.js-CqPWKye8.js} +4 -4
  129. package/build/server/chunks/nodes/{15.js-CsBs94ZY.js.map → 15.js-CqPWKye8.js.map} +1 -1
  130. package/build/server/chunks/nodes/{16.js-CWZV-PsJ.js → 16.js-B_FHHXzG.js} +2 -2
  131. package/build/server/chunks/nodes/{16.js-CWZV-PsJ.js.map → 16.js-B_FHHXzG.js.map} +1 -1
  132. package/build/server/chunks/nodes/{17.js-DvSEwCHI.js → 17.js-Cb7CJVX-.js} +2 -2
  133. package/build/server/chunks/nodes/{17.js-DvSEwCHI.js.map → 17.js-Cb7CJVX-.js.map} +1 -1
  134. package/build/server/chunks/nodes/{19.js-D9o5W1qh.js → 19.js-B8Rvgr6T.js} +2 -2
  135. package/build/server/chunks/nodes/{19.js-D9o5W1qh.js.map → 19.js-B8Rvgr6T.js.map} +1 -1
  136. package/build/server/chunks/nodes/{2.js-Dh8FVFjP.js → 2.js-CKY2au8L.js} +2 -2
  137. package/build/server/chunks/nodes/{2.js-Dh8FVFjP.js.map → 2.js-CKY2au8L.js.map} +1 -1
  138. package/build/server/chunks/nodes/{20.js-D6CAMaN-.js → 20.js-Bt_XhEFj.js} +3 -3
  139. package/build/server/chunks/nodes/{20.js-D6CAMaN-.js.map → 20.js-Bt_XhEFj.js.map} +1 -1
  140. package/build/server/chunks/nodes/{21.js-BeyaEoDB.js → 21.js-onAMjhF9.js} +2 -2
  141. package/build/server/chunks/nodes/{21.js-BeyaEoDB.js.map → 21.js-onAMjhF9.js.map} +1 -1
  142. package/build/server/chunks/nodes/{23.js-C33DCuEG.js → 23.js-BVOL7jHp.js} +2 -2
  143. package/build/server/chunks/nodes/{23.js-C33DCuEG.js.map → 23.js-BVOL7jHp.js.map} +1 -1
  144. package/build/server/chunks/nodes/{24.js-BAbwQ-Ra.js → 24.js-B5mZLLMe.js} +2 -2
  145. package/build/server/chunks/nodes/{24.js-BAbwQ-Ra.js.map → 24.js-B5mZLLMe.js.map} +1 -1
  146. package/build/server/chunks/nodes/{27.js-DggOkycU.js → 27.js-CJKv-l7B.js} +2 -2
  147. package/build/server/chunks/nodes/{27.js-DggOkycU.js.map → 27.js-CJKv-l7B.js.map} +1 -1
  148. package/build/server/chunks/nodes/{28.js-DUyj5KEh.js → 28.js-3Hl_tGvC.js} +2 -2
  149. package/build/server/chunks/nodes/{28.js-DUyj5KEh.js.map → 28.js-3Hl_tGvC.js.map} +1 -1
  150. package/build/server/chunks/nodes/{29.js-C0r_Mai4.js → 29.js-BmPJPUuk.js} +2 -2
  151. package/build/server/chunks/nodes/{29.js-C0r_Mai4.js.map → 29.js-BmPJPUuk.js.map} +1 -1
  152. package/build/server/chunks/nodes/{3.js-BNAo_yae.js → 3.js-B9gJiLAU.js} +2 -2
  153. package/build/server/chunks/nodes/{3.js-BNAo_yae.js.map → 3.js-B9gJiLAU.js.map} +1 -1
  154. package/build/server/chunks/nodes/{30.js-DavNG_Ux.js → 30.js-Ddxz0BEH.js} +2 -2
  155. package/build/server/chunks/nodes/{30.js-DavNG_Ux.js.map → 30.js-Ddxz0BEH.js.map} +1 -1
  156. package/build/server/chunks/nodes/{5.js-CFh7KqyH.js → 5.js-d5hSyf14.js} +2 -2
  157. package/build/server/chunks/nodes/{5.js-CFh7KqyH.js.map → 5.js-d5hSyf14.js.map} +1 -1
  158. package/build/server/chunks/nodes/{6.js-Dur0sOKW.js → 6.js-D6I82k1o.js} +2 -2
  159. package/build/server/chunks/nodes/{6.js-Dur0sOKW.js.map → 6.js-D6I82k1o.js.map} +1 -1
  160. package/build/server/chunks/nodes/{7.js-CK1cPGUa.js → 7.js-B3pY_kX-.js} +2 -2
  161. package/build/server/chunks/nodes/{7.js-CK1cPGUa.js.map → 7.js-B3pY_kX-.js.map} +1 -1
  162. package/build/server/chunks/nodes/{8.js-Be64SW1s.js → 8.js-CIo5b7d6.js} +2 -2
  163. package/build/server/chunks/nodes/{8.js-Be64SW1s.js.map → 8.js-CIo5b7d6.js.map} +1 -1
  164. package/build/server/chunks/nodes/{9.js-BAOPS598.js → 9.js-DTNK2ZqZ.js} +4 -4
  165. package/build/server/chunks/nodes/{9.js-BAOPS598.js.map → 9.js-DTNK2ZqZ.js.map} +1 -1
  166. package/package.json +2 -2
  167. package/build/client/_app/immutable/chunks/7w20m49Y.js.br +0 -0
  168. package/build/client/_app/immutable/chunks/7w20m49Y.js.gz +0 -0
  169. package/build/client/_app/immutable/chunks/C0aBHGDt.js.br +0 -0
  170. package/build/client/_app/immutable/chunks/C0aBHGDt.js.gz +0 -0
  171. package/build/client/_app/immutable/chunks/CWoH8aIC.js.br +0 -0
  172. package/build/client/_app/immutable/chunks/CWoH8aIC.js.gz +0 -0
  173. package/build/client/_app/immutable/chunks/DCEuWrCg.js.br +0 -0
  174. package/build/client/_app/immutable/chunks/DCEuWrCg.js.gz +0 -0
  175. package/build/client/_app/immutable/chunks/DQwEQLx9.js.br +0 -0
  176. package/build/client/_app/immutable/chunks/DQwEQLx9.js.gz +0 -0
  177. package/build/client/_app/immutable/chunks/Rw0KKMY0.js.br +0 -0
  178. package/build/client/_app/immutable/chunks/Rw0KKMY0.js.gz +0 -0
  179. package/build/client/_app/immutable/chunks/Tuzbj3g9.js.br +0 -0
  180. package/build/client/_app/immutable/chunks/Tuzbj3g9.js.gz +0 -0
  181. package/build/client/_app/immutable/entry/app.euyfrDSN.js.br +0 -0
  182. package/build/client/_app/immutable/entry/app.euyfrDSN.js.gz +0 -0
  183. package/build/client/_app/immutable/entry/start.LskfscK4.js +0 -1
  184. package/build/client/_app/immutable/entry/start.LskfscK4.js.br +0 -2
  185. package/build/client/_app/immutable/entry/start.LskfscK4.js.gz +0 -0
  186. package/build/client/_app/immutable/nodes/1.BrA43GNs.js.br +0 -0
  187. package/build/client/_app/immutable/nodes/1.BrA43GNs.js.gz +0 -0
  188. package/build/client/_app/immutable/nodes/11.CJcQ9xwF.js.br +0 -0
  189. package/build/client/_app/immutable/nodes/11.CJcQ9xwF.js.gz +0 -0
  190. package/build/client/_app/immutable/nodes/13.DooaQEce.js.br +0 -0
  191. package/build/client/_app/immutable/nodes/13.DooaQEce.js.gz +0 -0
  192. package/build/client/_app/immutable/nodes/14.3rdtzYcf.js.br +0 -0
  193. package/build/client/_app/immutable/nodes/14.3rdtzYcf.js.gz +0 -0
  194. package/build/client/_app/immutable/nodes/15.C_JceeqE.js.br +0 -0
  195. package/build/client/_app/immutable/nodes/15.C_JceeqE.js.gz +0 -0
  196. package/build/client/_app/immutable/nodes/16.ck12FD3n.js.br +0 -0
  197. package/build/client/_app/immutable/nodes/16.ck12FD3n.js.gz +0 -0
  198. package/build/client/_app/immutable/nodes/17.rGO46C_3.js.br +0 -0
  199. package/build/client/_app/immutable/nodes/17.rGO46C_3.js.gz +0 -0
  200. package/build/client/_app/immutable/nodes/19.Wmg9gsCi.js.br +0 -0
  201. package/build/client/_app/immutable/nodes/19.Wmg9gsCi.js.gz +0 -0
  202. package/build/client/_app/immutable/nodes/2.DzBUy_PX.js.br +0 -0
  203. package/build/client/_app/immutable/nodes/2.DzBUy_PX.js.gz +0 -0
  204. package/build/client/_app/immutable/nodes/20.DmSxDb_k.js +0 -5021
  205. package/build/client/_app/immutable/nodes/20.DmSxDb_k.js.br +0 -0
  206. package/build/client/_app/immutable/nodes/20.DmSxDb_k.js.gz +0 -0
  207. package/build/client/_app/immutable/nodes/21.YhzKQSBf.js.br +0 -0
  208. package/build/client/_app/immutable/nodes/21.YhzKQSBf.js.gz +0 -0
  209. package/build/client/_app/immutable/nodes/23.BuBVJwIE.js.br +0 -0
  210. package/build/client/_app/immutable/nodes/23.BuBVJwIE.js.gz +0 -0
  211. package/build/client/_app/immutable/nodes/24.BcwEtG_D.js.br +0 -0
  212. package/build/client/_app/immutable/nodes/24.BcwEtG_D.js.gz +0 -0
  213. package/build/client/_app/immutable/nodes/27.Ev1ttWNS.js.br +0 -0
  214. package/build/client/_app/immutable/nodes/27.Ev1ttWNS.js.gz +0 -0
  215. package/build/client/_app/immutable/nodes/28.BbNEnYuk.js.br +0 -0
  216. package/build/client/_app/immutable/nodes/28.BbNEnYuk.js.gz +0 -0
  217. package/build/client/_app/immutable/nodes/29.q7ujiDu_.js.br +0 -0
  218. package/build/client/_app/immutable/nodes/29.q7ujiDu_.js.gz +0 -0
  219. package/build/client/_app/immutable/nodes/3.xXwRU5xG.js.br +0 -0
  220. package/build/client/_app/immutable/nodes/3.xXwRU5xG.js.gz +0 -0
  221. package/build/client/_app/immutable/nodes/30.BcDvE_0u.js.br +0 -0
  222. package/build/client/_app/immutable/nodes/30.BcDvE_0u.js.gz +0 -0
  223. package/build/client/_app/immutable/nodes/5.CGj8B-ia.js.br +0 -0
  224. package/build/client/_app/immutable/nodes/5.CGj8B-ia.js.gz +0 -0
  225. package/build/client/_app/immutable/nodes/6.FX7G6Qqo.js.br +0 -0
  226. package/build/client/_app/immutable/nodes/6.FX7G6Qqo.js.gz +0 -0
  227. package/build/client/_app/immutable/nodes/7.BbUaG1it.js.br +0 -0
  228. package/build/client/_app/immutable/nodes/7.BbUaG1it.js.gz +0 -0
  229. package/build/client/_app/immutable/nodes/8.DsbOarBp.js.br +0 -0
  230. package/build/client/_app/immutable/nodes/8.DsbOarBp.js.gz +0 -0
  231. package/build/client/_app/immutable/nodes/9.DWJJUHqf.js.br +0 -0
  232. package/build/client/_app/immutable/nodes/9.DWJJUHqf.js.gz +0 -0
  233. package/build/server/chunks/entries/endpoints/api/compute/_server.ts.js-DDZ5gvES.js.map +0 -1
@@ -1 +1 @@
1
- import"../chunks/DsnmJJEf.js";import{p as le,f,d as i,t as E,c as U,r as P,g as n,h as T,n as ee,a as de,s as oe,u as R,e as ve,$ as ge}from"../chunks/BtOVeLcI.js";import{d as he,s as H,a as pe}from"../chunks/BNpXeuQ_.js";import{c as te,a as r,t as _e,f as c}from"../chunks/BoLtD6vo.js";import{i as J}from"../chunks/DAQN5y4A.js";import{a as Z,e as xe}from"../chunks/22C0ZkpD.js";import{s as O,r as re,c as x,b as $e}from"../chunks/ChEZL1UP.js";import{h as we}from"../chunks/CTTkX-27.js";import{p as be}from"../chunks/CWoH8aIC.js";import{S as ye}from"../chunks/DLMu-EPf.js";import{i as ie}from"../chunks/Rw0KKMY0.js";import{C as ce,a as me}from"../chunks/CY6l1SkO.js";import{B as ae}from"../chunks/3KyAYBE4.js";import{C as ue,a as fe}from"../chunks/BawNisij.js";import{B as ne}from"../chunks/mlApEF2J.js";import{I as se}from"../chunks/BuC_QZkR.js";import{C as Pe}from"../chunks/C0Xb3vka.js";import{T as Ce}from"../chunks/BuBobyR7.js";import{t as y}from"../chunks/DTLLn7uD.js";import{S as Se}from"../chunks/Bixcgta2.js";import{U as ke}from"../chunks/BYQ2KYuV.js";import{S as Ae}from"../chunks/BRHPfB44.js";function Ge(v,e){let l=re(e,["$$slots","$$events","$$legacy"]);const s=[["path",{d:"M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21"}],["path",{d:"m14 19.5 3-3 3 3"}],["path",{d:"M17 22v-5.5"}],["circle",{cx:"9",cy:"9",r:"2"}]];se(v,O({name:"image-up"},()=>l,{get iconNode(){return s}}))}function Ie(v,e){let l=re(e,["$$slots","$$events","$$legacy"]);const s=[["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"}]];se(v,O({name:"layout-dashboard"},()=>l,{get iconNode(){return s}}))}function Ue(v,e){let l=re(e,["$$slots","$$events","$$legacy"]);const s=[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z"}],["path",{d:"M12 22V12"}],["polyline",{points:"3.29 7 12 12 20.71 7"}],["path",{d:"m7.5 4.27 9 5.15"}]];se(v,O({name:"package"},()=>l,{get iconNode(){return s}}))}var Ne=c("<!> ",1),je=c("<!> <!>",1),Me=c('<img class="h-full w-full object-contain"/>'),ze=c("<!> ",1),Be=c("<!> Remove",1),Te=c('<div class="flex items-center gap-4"><div class="bg-muted/40 flex h-20 w-20 shrink-0 items-center justify-center overflow-hidden rounded-lg border"><!></div> <div class="flex flex-col gap-2"><p class="text-muted-foreground text-xs">PNG, JPG, WebP, GIF, or SVG. Stored at up to 1200px as WebP.</p> <div class="flex gap-2"><input type="file" class="hidden"/> <!> <!></div></div></div>'),Ee=c("<!> <!>",1);function Fe(v,e){le(e,!0);const l="image/png,image/jpeg,image/webp,image/gif,image/svg+xml",s=10*1024*1024,F=R(()=>`/admin/api/orgs/${e.orgId}/assets/${e.kind}`);let C=oe(null),m=oe(!1);async function M(t){const u=t.target,$=u.files?.[0];if(u.value="",!!$){if(!l.split(",").includes($.type)){y.error("Unsupported image type. Use PNG, JPG, WebP, GIF, or SVG.");return}if($.size>s){y.error(`Image too large. Max ${s/(1024*1024)} MB.`);return}T(m,!0);try{const D=new FormData;D.append("image",$);const g=await fetch(n(F),{method:"POST",body:D});if(g.ok)y.success(`${e.title} updated`),await ie();else{const w=await g.json().catch(()=>({}));y.error(w.message||w.error||`Upload failed (${g.status})`)}}catch{y.error("Failed to upload")}finally{T(m,!1)}}}async function V(){T(m,!0);try{const t=await fetch(n(F),{method:"DELETE"});t.ok?(y.success(`${e.title} removed`),await ie()):y.error(`Remove failed (${t.status})`)}catch{y.error("Failed to remove")}finally{T(m,!1)}}var W=te(),X=f(W);x(X,()=>fe,(t,u)=>{u(t,{children:($,D)=>{var g=Ee(),w=f(g);x(w,()=>ce,(S,k)=>{k(S,{children:(A,q)=>{var o=je(),d=f(o);x(d,()=>me,(h,b)=>{b(h,{class:"flex items-center gap-2 text-sm font-medium",children:(p,_)=>{var I=Ne(),N=f(I);ae(N,{class:"text-muted-foreground h-4 w-4"});var L=i(N);E(()=>H(L,` ${e.title??""}`)),r(p,I)},$$slots:{default:!0}})});var G=i(d,2);{var z=h=>{var b=te(),p=f(b);x(p,()=>Pe,(_,I)=>{I(_,{children:(N,L)=>{ee();var a=_e();E(()=>H(a,e.description)),r(N,a)},$$slots:{default:!0}})}),r(h,b)};J(G,h=>{e.description&&h(z)})}r(A,o)},$$slots:{default:!0}})});var Y=i(w,2);x(Y,()=>ue,(S,k)=>{k(S,{children:(A,q)=>{var o=Te(),d=U(o),G=U(d);{var z=a=>{var j=Me();E(()=>{Z(j,"src",e.url),Z(j,"alt",e.title)}),r(a,j)},h=a=>{ae(a,{class:"text-muted-foreground/50 h-8 w-8"})};J(G,a=>{e.url?a(z):a(h,-1)})}P(d);var b=i(d,2),p=i(U(b),2),_=U(p);Z(_,"accept",l),$e(_,a=>T(C,a),()=>n(C));var I=i(_,2);ne(I,{variant:"outline",size:"sm",get disabled(){return n(m)},onclick:()=>n(C)?.click(),class:"h-8",children:(a,j)=>{var K=ze(),B=f(K);Ge(B,{class:"mr-1.5 h-3.5 w-3.5"});var Q=i(B);E(()=>H(Q,` ${n(m)?"Working…":e.url?"Replace":"Upload"}`)),r(a,K)},$$slots:{default:!0}});var N=i(I,2);{var L=a=>{ne(a,{variant:"ghost",size:"sm",get disabled(){return n(m)},onclick:V,class:"text-destructive hover:text-destructive h-8",children:(j,K)=>{var B=Be(),Q=f(B);Ce(Q,{class:"mr-1.5 h-3.5 w-3.5"}),ee(),r(j,B)},$$slots:{default:!0}})};J(N,a=>{e.url&&a(L)})}P(p),P(b),P(o),pe("change",_,M),r(A,o)},$$slots:{default:!0}})}),r($,g)},$$slots:{default:!0}})}),r(v,W),de()}he(["change"]);var Ve=c("<!> Installed version",1),We=c('<div class="flex flex-wrap items-baseline gap-x-3 gap-y-1"><code class="text-foreground font-mono text-xs">@selvajs/selva</code> <span class="text-muted-foreground text-xs"> </span></div>'),De=c("<!> <!>",1),Le=c('<div class="space-y-6"><!> <div class="grid gap-3 sm:grid-cols-2 lg:grid-cols-3"></div> <!> <!></div>');function ut(v,e){le(e,!0);const l=R(()=>be.data.branding.name),s=t=>e.data.platformPermissions.includes("instance_admin")||e.data.platformPermissions.includes(t),F=R(()=>[{href:"/admin/users",icon:ke,value:e.data.stats.users??"—",label:e.data.stats.users===null?"User store unavailable":`User${e.data.stats.users===1?"":"s"}`,show:s("manage_instance_users")},{href:"/admin/organizations",icon:ae,value:"Organizations",label:"All orgs on this instance",show:s("instance_admin")},{href:"/admin/compute",icon:Ae,value:"Compute",label:"Servers, status & config",show:s("manage_compute")},{href:"/projects",icon:Ie,value:"Content",label:"Definitions & projects",show:s("instance_admin")}].filter(t=>t.show));var C=Le();we("1jef3w8",t=>{ve(()=>{ge.title="Admin · General"})});var m=U(C);Se(m,{eyebrow:"Admin",title:"General",get description(){return`At-a-glance health of this ${n(l)??""} instance — users, compute, and content.`}});var M=i(m,2);xe(M,21,()=>n(F),t=>t.href,(t,u)=>{ye(t,O(()=>n(u)))}),P(M);var V=i(M,2);{var W=t=>{{let u=R(()=>e.data.org.assets.logo??null);Fe(t,{get orgId(){return e.data.org.id},kind:"logo",get url(){return n(u)},title:"Company logo",get description(){return`Upload a logo to reuse across ${n(l)??""}. Shown in the viewer header; more surfaces will pick it up.`}})}};J(V,t=>{e.data.org&&t(W)})}var X=i(V,2);x(X,()=>fe,(t,u)=>{u(t,{children:($,D)=>{var g=De(),w=f(g);x(w,()=>ce,(S,k)=>{k(S,{children:(A,q)=>{var o=te(),d=f(o);x(d,()=>me,(G,z)=>{z(G,{class:"flex items-center gap-2 text-sm font-medium",children:(h,b)=>{var p=Ve(),_=f(p);Ue(_,{class:"text-muted-foreground h-4 w-4"}),ee(),r(h,p)},$$slots:{default:!0}})}),r(A,o)},$$slots:{default:!0}})});var Y=i(w,2);x(Y,()=>ue,(S,k)=>{k(S,{children:(A,q)=>{var o=We(),d=i(U(o),2),G=U(d);P(d),P(o),E(()=>H(G,`v${e.data.version??""}`)),r(A,o)},$$slots:{default:!0}})}),r($,g)},$$slots:{default:!0}})}),P(C),r(v,C),de()}export{ut as component};
1
+ import"../chunks/DsnmJJEf.js";import{p as le,f,d as i,t as E,c as U,r as P,g as n,h as T,n as ee,a as de,s as oe,u as R,e as ve,$ as ge}from"../chunks/BtOVeLcI.js";import{d as he,s as H,a as pe}from"../chunks/BNpXeuQ_.js";import{c as te,a as r,t as _e,f as c}from"../chunks/BoLtD6vo.js";import{i as J}from"../chunks/DAQN5y4A.js";import{a as Z,e as xe}from"../chunks/22C0ZkpD.js";import{s as O,r as re,c as x,b as $e}from"../chunks/ChEZL1UP.js";import{h as we}from"../chunks/CTTkX-27.js";import{p as be}from"../chunks/CAhhBSlM.js";import{S as ye}from"../chunks/DLMu-EPf.js";import{i as ie}from"../chunks/sb6c_D2e.js";import{C as ce,a as me}from"../chunks/CY6l1SkO.js";import{B as ae}from"../chunks/3KyAYBE4.js";import{C as ue,a as fe}from"../chunks/BawNisij.js";import{B as ne}from"../chunks/mlApEF2J.js";import{I as se}from"../chunks/BuC_QZkR.js";import{C as Pe}from"../chunks/C0Xb3vka.js";import{T as Ce}from"../chunks/BuBobyR7.js";import{t as y}from"../chunks/DTLLn7uD.js";import{S as Se}from"../chunks/Bixcgta2.js";import{U as ke}from"../chunks/BYQ2KYuV.js";import{S as Ae}from"../chunks/BRHPfB44.js";function Ge(v,e){let l=re(e,["$$slots","$$events","$$legacy"]);const s=[["path",{d:"M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21"}],["path",{d:"m14 19.5 3-3 3 3"}],["path",{d:"M17 22v-5.5"}],["circle",{cx:"9",cy:"9",r:"2"}]];se(v,O({name:"image-up"},()=>l,{get iconNode(){return s}}))}function Ie(v,e){let l=re(e,["$$slots","$$events","$$legacy"]);const s=[["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"}]];se(v,O({name:"layout-dashboard"},()=>l,{get iconNode(){return s}}))}function Ue(v,e){let l=re(e,["$$slots","$$events","$$legacy"]);const s=[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z"}],["path",{d:"M12 22V12"}],["polyline",{points:"3.29 7 12 12 20.71 7"}],["path",{d:"m7.5 4.27 9 5.15"}]];se(v,O({name:"package"},()=>l,{get iconNode(){return s}}))}var Ne=c("<!> ",1),je=c("<!> <!>",1),Me=c('<img class="h-full w-full object-contain"/>'),ze=c("<!> ",1),Be=c("<!> Remove",1),Te=c('<div class="flex items-center gap-4"><div class="bg-muted/40 flex h-20 w-20 shrink-0 items-center justify-center overflow-hidden rounded-lg border"><!></div> <div class="flex flex-col gap-2"><p class="text-muted-foreground text-xs">PNG, JPG, WebP, GIF, or SVG. Stored at up to 1200px as WebP.</p> <div class="flex gap-2"><input type="file" class="hidden"/> <!> <!></div></div></div>'),Ee=c("<!> <!>",1);function Fe(v,e){le(e,!0);const l="image/png,image/jpeg,image/webp,image/gif,image/svg+xml",s=10*1024*1024,F=R(()=>`/admin/api/orgs/${e.orgId}/assets/${e.kind}`);let C=oe(null),m=oe(!1);async function M(t){const u=t.target,$=u.files?.[0];if(u.value="",!!$){if(!l.split(",").includes($.type)){y.error("Unsupported image type. Use PNG, JPG, WebP, GIF, or SVG.");return}if($.size>s){y.error(`Image too large. Max ${s/(1024*1024)} MB.`);return}T(m,!0);try{const D=new FormData;D.append("image",$);const g=await fetch(n(F),{method:"POST",body:D});if(g.ok)y.success(`${e.title} updated`),await ie();else{const w=await g.json().catch(()=>({}));y.error(w.message||w.error||`Upload failed (${g.status})`)}}catch{y.error("Failed to upload")}finally{T(m,!1)}}}async function V(){T(m,!0);try{const t=await fetch(n(F),{method:"DELETE"});t.ok?(y.success(`${e.title} removed`),await ie()):y.error(`Remove failed (${t.status})`)}catch{y.error("Failed to remove")}finally{T(m,!1)}}var W=te(),X=f(W);x(X,()=>fe,(t,u)=>{u(t,{children:($,D)=>{var g=Ee(),w=f(g);x(w,()=>ce,(S,k)=>{k(S,{children:(A,q)=>{var o=je(),d=f(o);x(d,()=>me,(h,b)=>{b(h,{class:"flex items-center gap-2 text-sm font-medium",children:(p,_)=>{var I=Ne(),N=f(I);ae(N,{class:"text-muted-foreground h-4 w-4"});var L=i(N);E(()=>H(L,` ${e.title??""}`)),r(p,I)},$$slots:{default:!0}})});var G=i(d,2);{var z=h=>{var b=te(),p=f(b);x(p,()=>Pe,(_,I)=>{I(_,{children:(N,L)=>{ee();var a=_e();E(()=>H(a,e.description)),r(N,a)},$$slots:{default:!0}})}),r(h,b)};J(G,h=>{e.description&&h(z)})}r(A,o)},$$slots:{default:!0}})});var Y=i(w,2);x(Y,()=>ue,(S,k)=>{k(S,{children:(A,q)=>{var o=Te(),d=U(o),G=U(d);{var z=a=>{var j=Me();E(()=>{Z(j,"src",e.url),Z(j,"alt",e.title)}),r(a,j)},h=a=>{ae(a,{class:"text-muted-foreground/50 h-8 w-8"})};J(G,a=>{e.url?a(z):a(h,-1)})}P(d);var b=i(d,2),p=i(U(b),2),_=U(p);Z(_,"accept",l),$e(_,a=>T(C,a),()=>n(C));var I=i(_,2);ne(I,{variant:"outline",size:"sm",get disabled(){return n(m)},onclick:()=>n(C)?.click(),class:"h-8",children:(a,j)=>{var K=ze(),B=f(K);Ge(B,{class:"mr-1.5 h-3.5 w-3.5"});var Q=i(B);E(()=>H(Q,` ${n(m)?"Working…":e.url?"Replace":"Upload"}`)),r(a,K)},$$slots:{default:!0}});var N=i(I,2);{var L=a=>{ne(a,{variant:"ghost",size:"sm",get disabled(){return n(m)},onclick:V,class:"text-destructive hover:text-destructive h-8",children:(j,K)=>{var B=Be(),Q=f(B);Ce(Q,{class:"mr-1.5 h-3.5 w-3.5"}),ee(),r(j,B)},$$slots:{default:!0}})};J(N,a=>{e.url&&a(L)})}P(p),P(b),P(o),pe("change",_,M),r(A,o)},$$slots:{default:!0}})}),r($,g)},$$slots:{default:!0}})}),r(v,W),de()}he(["change"]);var Ve=c("<!> Installed version",1),We=c('<div class="flex flex-wrap items-baseline gap-x-3 gap-y-1"><code class="text-foreground font-mono text-xs">@selvajs/selva</code> <span class="text-muted-foreground text-xs"> </span></div>'),De=c("<!> <!>",1),Le=c('<div class="space-y-6"><!> <div class="grid gap-3 sm:grid-cols-2 lg:grid-cols-3"></div> <!> <!></div>');function ut(v,e){le(e,!0);const l=R(()=>be.data.branding.name),s=t=>e.data.platformPermissions.includes("instance_admin")||e.data.platformPermissions.includes(t),F=R(()=>[{href:"/admin/users",icon:ke,value:e.data.stats.users??"—",label:e.data.stats.users===null?"User store unavailable":`User${e.data.stats.users===1?"":"s"}`,show:s("manage_instance_users")},{href:"/admin/organizations",icon:ae,value:"Organizations",label:"All orgs on this instance",show:s("instance_admin")},{href:"/admin/compute",icon:Ae,value:"Compute",label:"Servers, status & config",show:s("manage_compute")},{href:"/projects",icon:Ie,value:"Content",label:"Definitions & projects",show:s("instance_admin")}].filter(t=>t.show));var C=Le();we("1jef3w8",t=>{ve(()=>{ge.title="Admin · General"})});var m=U(C);Se(m,{eyebrow:"Admin",title:"General",get description(){return`At-a-glance health of this ${n(l)??""} instance — users, compute, and content.`}});var M=i(m,2);xe(M,21,()=>n(F),t=>t.href,(t,u)=>{ye(t,O(()=>n(u)))}),P(M);var V=i(M,2);{var W=t=>{{let u=R(()=>e.data.org.assets.logo??null);Fe(t,{get orgId(){return e.data.org.id},kind:"logo",get url(){return n(u)},title:"Company logo",get description(){return`Upload a logo to reuse across ${n(l)??""}. Shown in the viewer header; more surfaces will pick it up.`}})}};J(V,t=>{e.data.org&&t(W)})}var X=i(V,2);x(X,()=>fe,(t,u)=>{u(t,{children:($,D)=>{var g=De(),w=f(g);x(w,()=>ce,(S,k)=>{k(S,{children:(A,q)=>{var o=te(),d=f(o);x(d,()=>me,(G,z)=>{z(G,{class:"flex items-center gap-2 text-sm font-medium",children:(h,b)=>{var p=Ve(),_=f(p);Ue(_,{class:"text-muted-foreground h-4 w-4"}),ee(),r(h,p)},$$slots:{default:!0}})}),r(A,o)},$$slots:{default:!0}})});var Y=i(w,2);x(Y,()=>ue,(S,k)=>{k(S,{children:(A,q)=>{var o=We(),d=i(U(o),2),G=U(d);P(d),P(o),E(()=>H(G,`v${e.data.version??""}`)),r(A,o)},$$slots:{default:!0}})}),r($,g)},$$slots:{default:!0}})}),P(C),r(v,C),de()}export{ut as component};
@@ -1 +1 @@
1
- {"version":"1783358918406"}
1
+ {"version":"1783363041342"}
Binary file
Binary file
package/build/handler.js CHANGED
@@ -2,10 +2,10 @@ import './shims.js';
2
2
  import 'node:fs';
3
3
  import 'node:path';
4
4
  import 'node:process';
5
- export { h as handler } from './server/chunks/handler-DbanCiUX.js';
5
+ export { h as handler } from './server/chunks/handler-mzU3UJJh.js';
6
6
  import '@sveltejs/kit/node';
7
- import './server/chunks/index.js-B3LyvDEJ.js';
8
- import './server/chunks/manifest.js-CfRu0pj3.js';
7
+ import './server/chunks/index.js-ofC7OC2n.js';
8
+ import './server/chunks/manifest.js-B6zM76bo.js';
9
9
  import './env.js';
10
10
  import '@sveltejs/kit/node/polyfills';
11
11
  import 'node:http';
@@ -24,7 +24,7 @@ import './server/chunks/chunks/exports.js-BZBK1HC9.js';
24
24
  import './server/chunks/chunks/index.js-CC8M6P-h.js';
25
25
  import './server/chunks/chunks/renderer.js-CtAppMtw.js';
26
26
  import './server/chunks/chunks/shared-server.js-DaWdgxVh.js';
27
- import './server/chunks/chunks/internal.js-BkFAQgIj.js';
27
+ import './server/chunks/chunks/internal.js-B1IbCrA1.js';
28
28
  import './server/chunks/chunks/root.js-BKNoOlLU.js';
29
29
  import './server/chunks/chunks/events.js-CzuTO9ni.js';
30
30
  //# sourceMappingURL=handler.js.map
package/build/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import http from 'node:http';
2
2
  import fs__default from 'node:fs';
3
3
  import process from 'node:process';
4
- import { p as polka, h as handler, f as format_listening_address } from './server/chunks/handler-DbanCiUX.js';
4
+ import { p as polka, h as handler, f as format_listening_address } from './server/chunks/handler-mzU3UJJh.js';
5
5
  import { env, timeout_env } from './env.js';
6
6
  import { rm } from 'node:fs/promises';
7
7
  import './shims.js';
@@ -10,7 +10,7 @@ import 'node:path';
10
10
  import 'node:timers';
11
11
  import 'node:querystring';
12
12
  import '@sveltejs/kit/node';
13
- import './server/chunks/index.js-B3LyvDEJ.js';
13
+ import './server/chunks/index.js-ofC7OC2n.js';
14
14
  import './server/chunks/chunks/utils.js-B8oGSXiQ.js';
15
15
  import './server/chunks/chunks/utils2.js-DGYJFmnf.js';
16
16
  import './server/chunks/chunks/render-context.js-CK-yhMaE.js';
@@ -23,10 +23,10 @@ import './server/chunks/chunks/exports.js-BZBK1HC9.js';
23
23
  import './server/chunks/chunks/index.js-CC8M6P-h.js';
24
24
  import './server/chunks/chunks/renderer.js-CtAppMtw.js';
25
25
  import './server/chunks/chunks/shared-server.js-DaWdgxVh.js';
26
- import './server/chunks/chunks/internal.js-BkFAQgIj.js';
26
+ import './server/chunks/chunks/internal.js-B1IbCrA1.js';
27
27
  import './server/chunks/chunks/root.js-BKNoOlLU.js';
28
28
  import './server/chunks/chunks/events.js-CzuTO9ni.js';
29
- import './server/chunks/manifest.js-CfRu0pj3.js';
29
+ import './server/chunks/manifest.js-B6zM76bo.js';
30
30
  import 'node:url';
31
31
 
32
32
  const path = env('SOCKET_PATH', false);
@@ -94,7 +94,7 @@ const options = {
94
94
  <div class="error">
95
95
  <span class="status">` + status + '</span>\n <div class="message">\n <h1>' + message + "</h1>\n </div>\n </div>\n </body>\n</html>\n"
96
96
  },
97
- version_hash: "khdod0"
97
+ version_hash: "dwqdvi"
98
98
  };
99
99
  async function get_hooks() {
100
100
  let handle;
@@ -117,4 +117,4 @@ async function get_hooks() {
117
117
  }
118
118
 
119
119
  export { get_hooks as g, options as o, read_implementation as r, set_read_implementation as s };
120
- //# sourceMappingURL=internal.js-BkFAQgIj.js.map
120
+ //# sourceMappingURL=internal.js-B1IbCrA1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js-BkFAQgIj.js","sources":["../../../../.svelte-kit/output/server/chunks/internal.js"],"sourcesContent":["import { r as root } from \"./root.js\";\nimport \"./environment.js\";\nimport \"./shared-server.js\";\nlet read_implementation = null;\nfunction set_read_implementation(fn) {\n read_implementation = fn;\n}\nfunction set_manifest(_) {\n}\nconst options = {\n app_template_contains_nonce: false,\n async: false,\n csp: { \"mode\": \"auto\", \"directives\": { \"upgrade-insecure-requests\": false, \"block-all-mixed-content\": false }, \"reportOnly\": { \"upgrade-insecure-requests\": false, \"block-all-mixed-content\": false } },\n csrf_check_origin: true,\n csrf_trusted_origins: [],\n embedded: false,\n env_public_prefix: \"PUBLIC_\",\n env_private_prefix: \"\",\n hash_routing: false,\n hooks: null,\n // added lazily, via `get_hooks`\n preload_strategy: \"modulepreload\",\n root,\n service_worker: false,\n service_worker_options: void 0,\n server_error_boundaries: false,\n templates: {\n app: ({ head, body, assets, nonce, env }) => '<!doctype html>\\n<html lang=\"en\">\\n\t<head>\\n\t\t<meta charset=\"utf-8\" />\\n\t\t<meta content=\"width=device-width, initial-scale=1\" name=\"viewport\" />\\n\t\t<link rel=\"icon\" type=\"image/png\" href=\"/favicon/favicon-96x96.png\" sizes=\"96x96\" />\\n\t\t<link rel=\"icon\" type=\"image/svg+xml\" href=\"/favicon/favicon.svg\" />\\n\t\t<link rel=\"shortcut icon\" href=\"/favicon/favicon.ico\" />\\n\t\t<link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"/favicon/apple-touch-icon.png\" />\\n\t\t<meta name=\"apple-mobile-web-app-title\" content=\"Selva\" />\\n\t\t<link rel=\"manifest\" href=\"/favicon/site.webmanifest\" />\\n\t\t' + head + '\\n\t</head>\\n\t<body data-sveltekit-preload-data=\"hover\">\\n\t\t<div style=\"display: contents\">' + body + \"</div>\\n\t</body>\\n</html>\\n\",\n error: ({ status, message }) => '<!doctype html>\\n<html lang=\"en\">\\n\t<head>\\n\t\t<meta charset=\"utf-8\" />\\n\t\t<title>' + message + `</title>\n\n\t\t<style>\n\t\t\tbody {\n\t\t\t\t--bg: white;\n\t\t\t\t--fg: #222;\n\t\t\t\t--divider: #ccc;\n\t\t\t\tbackground: var(--bg);\n\t\t\t\tcolor: var(--fg);\n\t\t\t\tfont-family:\n\t\t\t\t\tsystem-ui,\n\t\t\t\t\t-apple-system,\n\t\t\t\t\tBlinkMacSystemFont,\n\t\t\t\t\t'Segoe UI',\n\t\t\t\t\tRoboto,\n\t\t\t\t\tOxygen,\n\t\t\t\t\tUbuntu,\n\t\t\t\t\tCantarell,\n\t\t\t\t\t'Open Sans',\n\t\t\t\t\t'Helvetica Neue',\n\t\t\t\t\tsans-serif;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\theight: 100vh;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t.error {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tmax-width: 32rem;\n\t\t\t\tmargin: 0 1rem;\n\t\t\t}\n\n\t\t\t.status {\n\t\t\t\tfont-weight: 200;\n\t\t\t\tfont-size: 3rem;\n\t\t\t\tline-height: 1;\n\t\t\t\tposition: relative;\n\t\t\t\ttop: -0.05rem;\n\t\t\t}\n\n\t\t\t.message {\n\t\t\t\tborder-left: 1px solid var(--divider);\n\t\t\t\tpadding: 0 0 0 1rem;\n\t\t\t\tmargin: 0 0 0 1rem;\n\t\t\t\tmin-height: 2.5rem;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t}\n\n\t\t\t.message h1 {\n\t\t\t\tfont-weight: 400;\n\t\t\t\tfont-size: 1em;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t@media (prefers-color-scheme: dark) {\n\t\t\t\tbody {\n\t\t\t\t\t--bg: #222;\n\t\t\t\t\t--fg: #ddd;\n\t\t\t\t\t--divider: #666;\n\t\t\t\t}\n\t\t\t}\n\t\t</style>\n\t</head>\n\t<body>\n\t\t<div class=\"error\">\n\t\t\t<span class=\"status\">` + status + '</span>\\n\t\t\t<div class=\"message\">\\n\t\t\t\t<h1>' + message + \"</h1>\\n\t\t\t</div>\\n\t\t</div>\\n\t</body>\\n</html>\\n\"\n },\n version_hash: \"khdod0\"\n};\nasync function get_hooks() {\n let handle;\n let handleFetch;\n let handleError;\n let handleValidationError;\n let init;\n ({ handle, handleFetch, handleError, handleValidationError, init } = await import(\"../entries/hooks.server.js\"));\n let reroute;\n let transport;\n return {\n handle,\n handleFetch,\n handleError,\n handleValidationError,\n init,\n reroute,\n transport\n };\n}\nexport {\n set_manifest as a,\n get_hooks as g,\n options as o,\n read_implementation as r,\n set_read_implementation as s\n};\n"],"names":[],"mappings":";;AAGG,IAAC,mBAAmB,GAAG;AAC1B,SAAS,uBAAuB,CAAC,EAAE,EAAE;AACrC,EAAE,mBAAmB,GAAG,EAAE;AAC1B;AAGK,MAAC,OAAO,GAAG;AAChB,EAAE,2BAA2B,EAAE,KAAK;AACpC,EAAE,KAAK,EAAE,KAAK;AACd,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,2BAA2B,EAAE,KAAK,EAAE,yBAAyB,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,2BAA2B,EAAE,KAAK,EAAE,yBAAyB,EAAE,KAAK,EAAE,EAAE;AACzM,EAAE,iBAAiB,EAAE,IAAI;AACzB,EAAE,oBAAoB,EAAE,EAAE;AAC1B,EAAE,QAAQ,EAAE,KAAK;AACjB,EAAE,iBAAiB,EAAE,SAAS;AAC9B,EAAE,kBAAkB,EAAE,EAAE;AACxB,EAAE,YAAY,EAAE,KAAK;AACrB,EAAE,KAAK,EAAE,IAAI;AACb;AACA,EAAE,gBAAgB,EAAE,eAAe;AACnC,EAAE,IAAI;AACN,EAAE,cAAc,EAAE,KAAK;AACvB,EAAE,sBAAsB,EAAE,MAAM;AAChC,EAAE,uBAAuB,EAAE,KAAK;AAChC,EAAE,SAAS,EAAE;AACb,IAAI,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,okBAAokB,GAAG,IAAI,GAAG,4FAA4F,GAAG,IAAI,GAAG,6BAA6B;AAClwB,IAAI,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,mFAAmF,GAAG,OAAO,GAAG,CAAC;;AAErI;AACA;AACA;AACA;AACA;AACA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,CAAC,GAAG,MAAM,GAAG,6CAA6C,GAAG,OAAO,GAAG;AAC/F,GAAG;AACH,EAAE,YAAY,EAAE;AAChB;AACA,eAAe,SAAS,GAAG;AAC3B,EAAE,IAAI,MAAM;AACZ,EAAE,IAAI,WAAW;AACjB,EAAE,IAAI,WAAW;AACjB,EAAE,IAAI,qBAAqB;AAC3B,EAAE,IAAI,IAAI;AACV,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,qBAAqB,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,wCAA4B,CAAC;AACjH,EAAE,IAAI,OAAO;AACb,EAAE,IAAI,SAAS;AACf,EAAE,OAAO;AACT,IAAI,MAAM;AACV,IAAI,WAAW;AACf,IAAI,WAAW;AACf,IAAI,qBAAqB;AACzB,IAAI,IAAI;AACR,IAAI,OAAO;AACX,IAAI;AACJ,GAAG;AACH;;;;"}
1
+ {"version":3,"file":"internal.js-B1IbCrA1.js","sources":["../../../../.svelte-kit/output/server/chunks/internal.js"],"sourcesContent":["import { r as root } from \"./root.js\";\nimport \"./environment.js\";\nimport \"./shared-server.js\";\nlet read_implementation = null;\nfunction set_read_implementation(fn) {\n read_implementation = fn;\n}\nfunction set_manifest(_) {\n}\nconst options = {\n app_template_contains_nonce: false,\n async: false,\n csp: { \"mode\": \"auto\", \"directives\": { \"upgrade-insecure-requests\": false, \"block-all-mixed-content\": false }, \"reportOnly\": { \"upgrade-insecure-requests\": false, \"block-all-mixed-content\": false } },\n csrf_check_origin: true,\n csrf_trusted_origins: [],\n embedded: false,\n env_public_prefix: \"PUBLIC_\",\n env_private_prefix: \"\",\n hash_routing: false,\n hooks: null,\n // added lazily, via `get_hooks`\n preload_strategy: \"modulepreload\",\n root,\n service_worker: false,\n service_worker_options: void 0,\n server_error_boundaries: false,\n templates: {\n app: ({ head, body, assets, nonce, env }) => '<!doctype html>\\n<html lang=\"en\">\\n\t<head>\\n\t\t<meta charset=\"utf-8\" />\\n\t\t<meta content=\"width=device-width, initial-scale=1\" name=\"viewport\" />\\n\t\t<link rel=\"icon\" type=\"image/png\" href=\"/favicon/favicon-96x96.png\" sizes=\"96x96\" />\\n\t\t<link rel=\"icon\" type=\"image/svg+xml\" href=\"/favicon/favicon.svg\" />\\n\t\t<link rel=\"shortcut icon\" href=\"/favicon/favicon.ico\" />\\n\t\t<link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"/favicon/apple-touch-icon.png\" />\\n\t\t<meta name=\"apple-mobile-web-app-title\" content=\"Selva\" />\\n\t\t<link rel=\"manifest\" href=\"/favicon/site.webmanifest\" />\\n\t\t' + head + '\\n\t</head>\\n\t<body data-sveltekit-preload-data=\"hover\">\\n\t\t<div style=\"display: contents\">' + body + \"</div>\\n\t</body>\\n</html>\\n\",\n error: ({ status, message }) => '<!doctype html>\\n<html lang=\"en\">\\n\t<head>\\n\t\t<meta charset=\"utf-8\" />\\n\t\t<title>' + message + `</title>\n\n\t\t<style>\n\t\t\tbody {\n\t\t\t\t--bg: white;\n\t\t\t\t--fg: #222;\n\t\t\t\t--divider: #ccc;\n\t\t\t\tbackground: var(--bg);\n\t\t\t\tcolor: var(--fg);\n\t\t\t\tfont-family:\n\t\t\t\t\tsystem-ui,\n\t\t\t\t\t-apple-system,\n\t\t\t\t\tBlinkMacSystemFont,\n\t\t\t\t\t'Segoe UI',\n\t\t\t\t\tRoboto,\n\t\t\t\t\tOxygen,\n\t\t\t\t\tUbuntu,\n\t\t\t\t\tCantarell,\n\t\t\t\t\t'Open Sans',\n\t\t\t\t\t'Helvetica Neue',\n\t\t\t\t\tsans-serif;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\theight: 100vh;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t.error {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tmax-width: 32rem;\n\t\t\t\tmargin: 0 1rem;\n\t\t\t}\n\n\t\t\t.status {\n\t\t\t\tfont-weight: 200;\n\t\t\t\tfont-size: 3rem;\n\t\t\t\tline-height: 1;\n\t\t\t\tposition: relative;\n\t\t\t\ttop: -0.05rem;\n\t\t\t}\n\n\t\t\t.message {\n\t\t\t\tborder-left: 1px solid var(--divider);\n\t\t\t\tpadding: 0 0 0 1rem;\n\t\t\t\tmargin: 0 0 0 1rem;\n\t\t\t\tmin-height: 2.5rem;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t}\n\n\t\t\t.message h1 {\n\t\t\t\tfont-weight: 400;\n\t\t\t\tfont-size: 1em;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t@media (prefers-color-scheme: dark) {\n\t\t\t\tbody {\n\t\t\t\t\t--bg: #222;\n\t\t\t\t\t--fg: #ddd;\n\t\t\t\t\t--divider: #666;\n\t\t\t\t}\n\t\t\t}\n\t\t</style>\n\t</head>\n\t<body>\n\t\t<div class=\"error\">\n\t\t\t<span class=\"status\">` + status + '</span>\\n\t\t\t<div class=\"message\">\\n\t\t\t\t<h1>' + message + \"</h1>\\n\t\t\t</div>\\n\t\t</div>\\n\t</body>\\n</html>\\n\"\n },\n version_hash: \"dwqdvi\"\n};\nasync function get_hooks() {\n let handle;\n let handleFetch;\n let handleError;\n let handleValidationError;\n let init;\n ({ handle, handleFetch, handleError, handleValidationError, init } = await import(\"../entries/hooks.server.js\"));\n let reroute;\n let transport;\n return {\n handle,\n handleFetch,\n handleError,\n handleValidationError,\n init,\n reroute,\n transport\n };\n}\nexport {\n set_manifest as a,\n get_hooks as g,\n options as o,\n read_implementation as r,\n set_read_implementation as s\n};\n"],"names":[],"mappings":";;AAGG,IAAC,mBAAmB,GAAG;AAC1B,SAAS,uBAAuB,CAAC,EAAE,EAAE;AACrC,EAAE,mBAAmB,GAAG,EAAE;AAC1B;AAGK,MAAC,OAAO,GAAG;AAChB,EAAE,2BAA2B,EAAE,KAAK;AACpC,EAAE,KAAK,EAAE,KAAK;AACd,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,2BAA2B,EAAE,KAAK,EAAE,yBAAyB,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,2BAA2B,EAAE,KAAK,EAAE,yBAAyB,EAAE,KAAK,EAAE,EAAE;AACzM,EAAE,iBAAiB,EAAE,IAAI;AACzB,EAAE,oBAAoB,EAAE,EAAE;AAC1B,EAAE,QAAQ,EAAE,KAAK;AACjB,EAAE,iBAAiB,EAAE,SAAS;AAC9B,EAAE,kBAAkB,EAAE,EAAE;AACxB,EAAE,YAAY,EAAE,KAAK;AACrB,EAAE,KAAK,EAAE,IAAI;AACb;AACA,EAAE,gBAAgB,EAAE,eAAe;AACnC,EAAE,IAAI;AACN,EAAE,cAAc,EAAE,KAAK;AACvB,EAAE,sBAAsB,EAAE,MAAM;AAChC,EAAE,uBAAuB,EAAE,KAAK;AAChC,EAAE,SAAS,EAAE;AACb,IAAI,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,okBAAokB,GAAG,IAAI,GAAG,4FAA4F,GAAG,IAAI,GAAG,6BAA6B;AAClwB,IAAI,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,mFAAmF,GAAG,OAAO,GAAG,CAAC;;AAErI;AACA;AACA;AACA;AACA;AACA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,CAAC,GAAG,MAAM,GAAG,6CAA6C,GAAG,OAAO,GAAG;AAC/F,GAAG;AACH,EAAE,YAAY,EAAE;AAChB;AACA,eAAe,SAAS,GAAG;AAC3B,EAAE,IAAI,MAAM;AACZ,EAAE,IAAI,WAAW;AACjB,EAAE,IAAI,WAAW;AACjB,EAAE,IAAI,qBAAqB;AAC3B,EAAE,IAAI,IAAI;AACV,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,qBAAqB,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,wCAA4B,CAAC;AACjH,EAAE,IAAI,OAAO;AACb,EAAE,IAAI,SAAS;AACf,EAAE,OAAO;AACT,IAAI,MAAM;AACV,IAAI,WAAW;AACf,IAAI,WAAW;AACf,IAAI,qBAAqB;AACzB,IAAI,IAAI;AACR,IAAI,OAAO;AACX,IAAI;AACJ,GAAG;AACH;;;;"}
@@ -1,5 +1,5 @@
1
1
  const name = "@selvajs/selva";
2
- const version = "4.6.10";
2
+ const version = "4.6.13";
3
3
  const description = "Selva — self-contained Grasshopper-driven web app. Install, configure via .env, deploy.";
4
4
  const license = "MIT";
5
5
  const publishConfig = { "access": "public" };
@@ -26,4 +26,4 @@ const pkg = {
26
26
  };
27
27
 
28
28
  export { pkg as p };
29
- //# sourceMappingURL=package.js-CzPC5FUN.js.map
29
+ //# sourceMappingURL=package.js-DHaLCZMJ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"package.js-CzPC5FUN.js","sources":["../../../../.svelte-kit/output/server/chunks/package.js"],"sourcesContent":["const name = \"@selvajs/selva\";\nconst version = \"4.6.10\";\nconst description = \"Selva — self-contained Grasshopper-driven web app. Install, configure via .env, deploy.\";\nconst license = \"MIT\";\nconst publishConfig = { \"access\": \"public\" };\nconst type = \"module\";\nconst main = \"./build/index.js\";\nconst files = [\"build\", \"templates\"];\nconst engines = { \"node\": \">=20.6.0\" };\nconst scripts = { \"dev\": \"vite dev\", \"build\": \"rimraf build && vite build && node ./scripts/generate-templates.js\", \"preview\": \"vite preview\", \"start\": \"node build/index.js\", \"clean\": \"rimraf build templates\", \"prepare\": \"svelte-kit sync || echo ''\", \"check\": \"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json\", \"type-check\": \"tsc --noEmit\", \"test\": \"vitest run\", \"test:watch\": \"vitest\", \"test:e2e\": \"playwright test\" };\nconst dependencies = { \"@lucide/svelte\": \"catalog:\", \"@selvajs/compute\": \"catalog:\", \"@supabase/supabase-js\": \"^2.104.1\", \"@sveltejs/kit\": \"catalog:\", \"bits-ui\": \"^2.18.0\", \"clsx\": \"catalog:\", \"mode-watcher\": \"catalog:\", \"rhino3dm\": \"8.17.0\", \"sharp\": \"^0.34.5\", \"tailwind-merge\": \"catalog:\", \"tailwind-variants\": \"^3.2.2\", \"three\": \"catalog:\", \"zod\": \"^4.3.6\" };\nconst devDependencies = { \"@selvajs/config\": \"workspace:*\", \"@selvajs/header-auth-provider\": \"workspace:*\", \"@selvajs/local-provider\": \"workspace:*\", \"@selvajs/platform\": \"workspace:*\", \"@selvajs/schemas\": \"workspace:*\", \"@selvajs/supabase-provider\": \"workspace:*\", \"@selvajs/ui\": \"workspace:*\", \"@playwright/test\": \"catalog:\", \"@sveltejs/adapter-node\": \"^5.5.4\", \"@types/three\": \"catalog:\", \"rimraf\": \"catalog:\", \"tw-animate-css\": \"catalog:\", \"vitest\": \"catalog:\" };\nconst pkg = {\n name,\n version,\n description,\n license,\n publishConfig,\n type,\n main,\n files,\n engines,\n scripts,\n dependencies,\n devDependencies\n};\nexport {\n pkg as p\n};\n"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,gBAAgB;AAC7B,MAAM,OAAO,GAAG,QAAQ;AACxB,MAAM,WAAW,GAAG,yFAAyF;AAC7G,MAAM,OAAO,GAAG,KAAK;AACrB,MAAM,aAAa,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE;AAC5C,MAAM,IAAI,GAAG,QAAQ;AACrB,MAAM,IAAI,GAAG,kBAAkB;AAC/B,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC;AACpC,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE;AACtC,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,oEAAoE,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,wBAAwB,EAAE,SAAS,EAAE,4BAA4B,EAAE,OAAO,EAAE,4DAA4D,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE;AAC7a,MAAM,YAAY,GAAG,EAAE,gBAAgB,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,uBAAuB,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE;AAC1W,MAAM,eAAe,GAAG,EAAE,iBAAiB,EAAE,aAAa,EAAE,+BAA+B,EAAE,aAAa,EAAE,yBAAyB,EAAE,aAAa,EAAE,mBAAmB,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa,EAAE,4BAA4B,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,UAAU,EAAE,wBAAwB,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE;AAC7c,MAAC,GAAG,GAAG;AACZ,EAAE,IAAI;AACN,EAAE,OAAO;AACT,EAAE,WAAW;AACb,EAAE,OAAO;AACT,EAAE,aAAa;AACf,EAAE,IAAI;AACN,EAAE,IAAI;AACN,EAAE,KAAK;AACP,EAAE,OAAO;AACT,EAAE,OAAO;AACT,EAAE,YAAY;AACd,EAAE;AACF;;;;"}
1
+ {"version":3,"file":"package.js-DHaLCZMJ.js","sources":["../../../../.svelte-kit/output/server/chunks/package.js"],"sourcesContent":["const name = \"@selvajs/selva\";\nconst version = \"4.6.13\";\nconst description = \"Selva — self-contained Grasshopper-driven web app. Install, configure via .env, deploy.\";\nconst license = \"MIT\";\nconst publishConfig = { \"access\": \"public\" };\nconst type = \"module\";\nconst main = \"./build/index.js\";\nconst files = [\"build\", \"templates\"];\nconst engines = { \"node\": \">=20.6.0\" };\nconst scripts = { \"dev\": \"vite dev\", \"build\": \"rimraf build && vite build && node ./scripts/generate-templates.js\", \"preview\": \"vite preview\", \"start\": \"node build/index.js\", \"clean\": \"rimraf build templates\", \"prepare\": \"svelte-kit sync || echo ''\", \"check\": \"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json\", \"type-check\": \"tsc --noEmit\", \"test\": \"vitest run\", \"test:watch\": \"vitest\", \"test:e2e\": \"playwright test\" };\nconst dependencies = { \"@lucide/svelte\": \"catalog:\", \"@selvajs/compute\": \"catalog:\", \"@supabase/supabase-js\": \"^2.104.1\", \"@sveltejs/kit\": \"catalog:\", \"bits-ui\": \"^2.18.0\", \"clsx\": \"catalog:\", \"mode-watcher\": \"catalog:\", \"rhino3dm\": \"8.17.0\", \"sharp\": \"^0.34.5\", \"tailwind-merge\": \"catalog:\", \"tailwind-variants\": \"^3.2.2\", \"three\": \"catalog:\", \"zod\": \"^4.3.6\" };\nconst devDependencies = { \"@selvajs/config\": \"workspace:*\", \"@selvajs/header-auth-provider\": \"workspace:*\", \"@selvajs/local-provider\": \"workspace:*\", \"@selvajs/platform\": \"workspace:*\", \"@selvajs/schemas\": \"workspace:*\", \"@selvajs/supabase-provider\": \"workspace:*\", \"@selvajs/ui\": \"workspace:*\", \"@playwright/test\": \"catalog:\", \"@sveltejs/adapter-node\": \"^5.5.4\", \"@types/three\": \"catalog:\", \"rimraf\": \"catalog:\", \"tw-animate-css\": \"catalog:\", \"vitest\": \"catalog:\" };\nconst pkg = {\n name,\n version,\n description,\n license,\n publishConfig,\n type,\n main,\n files,\n engines,\n scripts,\n dependencies,\n devDependencies\n};\nexport {\n pkg as p\n};\n"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,gBAAgB;AAC7B,MAAM,OAAO,GAAG,QAAQ;AACxB,MAAM,WAAW,GAAG,yFAAyF;AAC7G,MAAM,OAAO,GAAG,KAAK;AACrB,MAAM,aAAa,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE;AAC5C,MAAM,IAAI,GAAG,QAAQ;AACrB,MAAM,IAAI,GAAG,kBAAkB;AAC/B,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC;AACpC,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE;AACtC,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,oEAAoE,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,wBAAwB,EAAE,SAAS,EAAE,4BAA4B,EAAE,OAAO,EAAE,4DAA4D,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE;AAC7a,MAAM,YAAY,GAAG,EAAE,gBAAgB,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,uBAAuB,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE;AAC1W,MAAM,eAAe,GAAG,EAAE,iBAAiB,EAAE,aAAa,EAAE,+BAA+B,EAAE,aAAa,EAAE,yBAAyB,EAAE,aAAa,EAAE,mBAAmB,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa,EAAE,4BAA4B,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,UAAU,EAAE,wBAAwB,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE;AAC7c,MAAC,GAAG,GAAG;AACZ,EAAE,IAAI;AACN,EAAE,OAAO;AACT,EAAE,WAAW;AACb,EAAE,OAAO;AACT,EAAE,aAAa;AACf,EAAE,IAAI;AACN,EAAE,IAAI;AACN,EAAE,KAAK;AACP,EAAE,OAAO;AACT,EAAE,OAAO;AACT,EAAE,YAAY;AACd,EAAE;AACF;;;;"}
@@ -568,16 +568,33 @@ const POST = async ({ request, locals, url }) => {
568
568
  );
569
569
  }
570
570
  const serializeMs = performance.now() - serializeStart;
571
+ const acceptEncoding = request.headers.get("accept-encoding") ?? "";
572
+ let compressed = null;
573
+ let gzipMs = 0;
574
+ if (/\bgzip\b/i.test(acceptEncoding) && serialized.length > 1024) {
575
+ const gzipStart = performance.now();
576
+ compressed = gzipSync(Buffer.from(serialized));
577
+ gzipMs = performance.now() - gzipStart;
578
+ }
571
579
  const serverTotalMs = performance.now() - loadStart;
572
580
  if (COMPUTE_DEBUG) {
573
581
  console.log(
574
- `[Compute/server] load=${defLoadMs.toFixed(0)}ms tree=${treeBuildMs.toFixed(0)}ms solve=${solveMs.toFixed(0)}ms serialize=${serializeMs.toFixed(0)}ms total=${serverTotalMs.toFixed(0)}ms | result=${formatBytes(serialized.length)}`
582
+ `[Compute/server] load=${defLoadMs.toFixed(0)}ms tree=${treeBuildMs.toFixed(0)}ms solve=${solveMs.toFixed(0)}ms serialize=${serializeMs.toFixed(0)}ms gzip=${gzipMs.toFixed(0)}ms total=${serverTotalMs.toFixed(0)}ms | result=${formatBytes(serialized.length)}`
575
583
  );
584
+ if (compressed) {
585
+ console.log(
586
+ `[Compute/server] gzip ${formatBytes(serialized.length)} → ${formatBytes(compressed.byteLength)} (${(serialized.length / compressed.byteLength).toFixed(1)}×)`
587
+ );
588
+ } else {
589
+ console.log(
590
+ `[Compute/server] compression skipped — Accept-Encoding: "${acceptEncoding || "(absent)"}"`
591
+ );
592
+ }
576
593
  console.log(
577
594
  `[Compute/server] prep breakdown: ` + prepMarks.map(([label, ms]) => `${label}=${ms.toFixed(0)}ms`).join(" ")
578
595
  );
579
596
  }
580
- let serverTimingHeader = `load;dur=${defLoadMs.toFixed(1)}, tree;dur=${treeBuildMs.toFixed(1)}, solve;dur=${solveMs.toFixed(1)}, serialize;dur=${serializeMs.toFixed(1)}, total;dur=${serverTotalMs.toFixed(1)}`;
597
+ let serverTimingHeader = `load;dur=${defLoadMs.toFixed(1)}, tree;dur=${treeBuildMs.toFixed(1)}, solve;dur=${solveMs.toFixed(1)}, serialize;dur=${serializeMs.toFixed(1)}, gzip;dur=${gzipMs.toFixed(1)}, total;dur=${serverTotalMs.toFixed(1)}`;
581
598
  const rhino = rhinoTiming.last;
582
599
  if (rhino) {
583
600
  const onRhinoMs = rhino.decode + rhino.solve + rhino.encode;
@@ -599,24 +616,11 @@ const POST = async ({ request, locals, url }) => {
599
616
  "Server-Timing": serverTimingHeader,
600
617
  Vary: "Accept-Encoding"
601
618
  };
602
- const acceptEncoding = request.headers.get("accept-encoding") ?? "";
603
- if (/\bgzip\b/i.test(acceptEncoding) && serialized.length > 1024) {
604
- const gzipStart = performance.now();
605
- const compressed = gzipSync(Buffer.from(serialized));
619
+ if (compressed) {
606
620
  responseHeaders["Content-Encoding"] = "gzip";
607
621
  responseHeaders["Content-Length"] = String(compressed.byteLength);
608
- if (COMPUTE_DEBUG) {
609
- console.log(
610
- `[Compute/server] gzip ${formatBytes(serialized.length)} → ${formatBytes(compressed.byteLength)} (${(serialized.length / compressed.byteLength).toFixed(1)}×) in ${(performance.now() - gzipStart).toFixed(0)}ms`
611
- );
612
- }
613
622
  return new Response(new Uint8Array(compressed), { headers: responseHeaders });
614
623
  }
615
- if (COMPUTE_DEBUG) {
616
- console.log(
617
- `[Compute/server] compression skipped — Accept-Encoding: "${acceptEncoding || "(absent)"}"`
618
- );
619
- }
620
624
  responseHeaders["Content-Length"] = String(Buffer.byteLength(serialized));
621
625
  return new Response(serialized, { headers: responseHeaders });
622
626
  } catch (err) {
@@ -634,4 +638,4 @@ const POST = async ({ request, locals, url }) => {
634
638
  };
635
639
 
636
640
  export { POST };
637
- //# sourceMappingURL=_server.ts.js-DDZ5gvES.js.map
641
+ //# sourceMappingURL=_server.ts.js-k5YwUAVY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts.js-k5YwUAVY.js","sources":["../../../../../../../.svelte-kit/output/server/entries/endpoints/api/compute/_server.ts.js"],"sourcesContent":["import { a as apiError, A as ApiErrorCode, r as resolveServerForOrg, f as fetchSchemaFromCompute, C as ComputeServerUnconfiguredError } from \"../../../../chunks/api-errors.js\";\nimport { processInput, enableDebugLogging, TreeBuilder, GrasshopperClient } from \"@selvajs/compute\";\nimport { b as private_env } from \"../../../../chunks/shared-server.js\";\nimport { isHttpError } from \"@sveltejs/kit\";\nimport { lookup } from \"node:dns/promises\";\nimport { isIP } from \"node:net\";\nimport { e as RATE_LIMIT_WINDOW_MS, d as RATE_LIMIT_MAX_REQUESTS, f as MAX_SOLVE_DURATION_MS, C as COMPUTE_RESPONSE_MAX_BYTES, D as DEFINITION_CACHE_TTL_MS, R as REMOTE_DEFINITION_FETCH_TIMEOUT_MS, a as REMOTE_DEFINITION_MAX_BYTES, g as COMPUTE_CACHE_ERRORED_SOLVES, h as COMPUTE_SERVER_CACHESOLVE, i as COMPUTE_REUSE_DEFINITION_CACHE, b as COMPUTE_REQUEST_MAX_BYTES } from \"../../../../chunks/computeLimits.js\";\nimport { gzipSync } from \"node:zlib\";\nimport { r as requireMaxBodySize } from \"../../../../chunks/admin-auth.server.js\";\nimport { r as getStorageProvider, s as getSolveMetricSink, p as providers } from \"../../../../chunks/providers.server.js\";\nimport { i as requireCanEditDefinition, j as requireCanSolve } from \"../../../../chunks/access.server.js\";\nimport { t as tryResolveShareToken } from \"../../../../chunks/resolve.server.js\";\nfunction isBlockedIp(ip) {\n let addr = ip.toLowerCase();\n const mappedDotted = /^::ffff:(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})$/.exec(addr);\n if (mappedDotted) {\n addr = mappedDotted[1];\n } else {\n const mappedHex = /^::ffff:([0-9a-f]{1,4}):([0-9a-f]{1,4})$/.exec(addr);\n if (mappedHex) {\n const hi = parseInt(mappedHex[1], 16);\n const lo = parseInt(mappedHex[2], 16);\n addr = [hi >> 8 & 255, hi & 255, lo >> 8 & 255, lo & 255].join(\".\");\n }\n }\n if (isIP(addr) === 4) {\n const octets = addr.split(\".\").map(Number);\n if (octets.length !== 4 || octets.some((o) => o > 255)) return true;\n const [a, b] = octets;\n if (a === 0) return true;\n if (a === 127) return true;\n if (a === 10) return true;\n if (a === 192 && b === 168) return true;\n if (a === 172 && b >= 16 && b <= 31) return true;\n if (a === 169 && b === 254) return true;\n return false;\n }\n if (addr === \"::1\" || addr === \"::\") return true;\n if (/^(fc|fd)[0-9a-f]{0,2}:/.test(addr)) return true;\n if (/^fe[89ab][0-9a-f]:/.test(addr)) return true;\n return false;\n}\nfunction canonicalizeNumericIpv4(host) {\n if (isIP(host) === 4) return host;\n const rawParts = host.split(\".\");\n if (rawParts.length === 0 || rawParts.length > 4) return null;\n const parseUInt = (s) => {\n if (s === \"\") return null;\n let n;\n if (/^0x[0-9a-f]+$/i.test(s)) n = parseInt(s, 16);\n else if (/^0[0-7]+$/.test(s)) n = parseInt(s, 8);\n else if (/^[0-9]+$/.test(s)) n = parseInt(s, 10);\n else return null;\n return Number.isFinite(n) ? n : null;\n };\n const nums = rawParts.map(parseUInt);\n if (nums.some((n) => n === null)) return null;\n const parts = nums;\n let value;\n switch (parts.length) {\n case 1:\n value = parts[0];\n break;\n case 2:\n if (parts[0] > 255 || parts[1] > 16777215) return null;\n value = parts[0] << 24 | parts[1];\n break;\n case 3:\n if (parts[0] > 255 || parts[1] > 255 || parts[2] > 65535) return null;\n value = parts[0] << 24 | parts[1] << 16 | parts[2];\n break;\n default:\n if (parts.some((p) => p > 255)) return null;\n value = parts[0] << 24 | parts[1] << 16 | parts[2] << 8 | parts[3];\n }\n value = value >>> 0;\n if (value > 4294967295) return null;\n return [value >>> 24 & 255, value >>> 16 & 255, value >>> 8 & 255, value & 255].join(\n \".\"\n );\n}\nfunction isSafeRemoteDefinitionUrl(raw) {\n let parsed;\n try {\n parsed = new URL(raw);\n } catch {\n return false;\n }\n if (parsed.protocol !== \"http:\" && parsed.protocol !== \"https:\") return false;\n let host = parsed.hostname.toLowerCase();\n if (!host) return false;\n if (host === \"localhost\" || host.endsWith(\".localhost\")) return false;\n const isBracketed = host.startsWith(\"[\") && host.endsWith(\"]\");\n if (isBracketed) host = host.slice(1, -1);\n if (isIP(host) === 6) return !isBlockedIp(host);\n const canonical = canonicalizeNumericIpv4(host);\n if (canonical) return !isBlockedIp(canonical);\n return true;\n}\nasync function assertSafeRemoteDefinitionUrl(raw) {\n if (!isSafeRemoteDefinitionUrl(raw)) {\n throw new Error(\"Remote definition URL is not allowed\");\n }\n const host = new URL(raw).hostname.toLowerCase().replace(/^\\[|\\]$/g, \"\");\n if (isIP(host) !== 0 || canonicalizeNumericIpv4(host)) return raw;\n let resolved;\n try {\n resolved = await lookup(host, { all: true });\n } catch {\n throw new Error(\"Remote definition URL is not allowed\");\n }\n if (resolved.length === 0 || resolved.some((r) => isBlockedIp(r.address))) {\n throw new Error(\"Remote definition URL is not allowed\");\n }\n return raw;\n}\nconst WINDOW_MS = RATE_LIMIT_WINDOW_MS;\nconst MAX_PER_WINDOW = RATE_LIMIT_MAX_REQUESTS;\nconst buckets = /* @__PURE__ */ new Map();\nfunction checkComputeRateLimit(key) {\n const now = Date.now();\n const entry = buckets.get(key);\n if (!entry || now > entry.resetAt) {\n buckets.set(key, { count: 1, resetAt: now + WINDOW_MS });\n return { allowed: true };\n }\n if (entry.count >= MAX_PER_WINDOW) {\n return { allowed: false, retryAfter: Math.ceil((entry.resetAt - now) / 1e3) };\n }\n entry.count += 1;\n return { allowed: true };\n}\nfunction transformInputParameter(input, value) {\n const raw = {\n id: input.id,\n name: input.nickname,\n nickname: input.nickname || null,\n description: input.description || \"\",\n paramType: input.paramType,\n treeAccess: input.inputStructure === \"tree\",\n minimum: input.minimum ?? null,\n maximum: input.maximum ?? null,\n atLeast: 1,\n atMost: 1,\n stepSize: input.stepSize,\n // The user's selection wins; otherwise the schema default.\n default: value ?? input.default\n };\n return processInput(raw);\n}\nconst COMPUTE_DEBUG = [\"true\", \"1\", \"yes\"].includes(\n (private_env.SELVA_FLAG_COMPUTE_DEBUG ?? \"\").toLowerCase()\n);\nconst COMPUTE_DEBUG_VERBOSE = [\"true\", \"1\", \"yes\"].includes(\n (private_env.SELVA_FLAG_COMPUTE_DEBUG_VERBOSE ?? \"\").toLowerCase()\n);\nif (COMPUTE_DEBUG_VERBOSE) enableDebugLogging();\nfunction formatBytes(bytes) {\n if (bytes < 1024) return `${bytes} B`;\n if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;\n return `${(bytes / (1024 * 1024)).toFixed(2)} MB`;\n}\nconst definitionCache = /* @__PURE__ */ new Map();\nconst MAX_CACHED_CLIENTS = 16;\nconst clientCache = /* @__PURE__ */ new Map();\nfunction clientCacheKey(serverConfig) {\n return `${serverConfig.serverUrl}\\0${serverConfig.apiKey ?? \"\"}`;\n}\nasync function getClient(serverConfig) {\n const key = clientCacheKey(serverConfig);\n const existing = clientCache.get(key);\n if (existing) {\n clientCache.delete(key);\n clientCache.set(key, existing);\n return existing;\n }\n const rhinoTiming = { last: null };\n const solveMeta = { last: null };\n const client = await GrasshopperClient.create({\n serverUrl: serverConfig.serverUrl,\n apiKey: serverConfig.apiKey,\n // Lib-level debug is the verbose one (full payload logs); keep it on the\n // verbose flag so the concise cache logs can run without the noise.\n debug: COMPUTE_DEBUG_VERBOSE,\n // Ask Rhino.Compute to cache solve results and return them on identical\n // repeats (same definition + inputs), skipping the solve. Forwarded to both\n // the pointer and full-upload solve paths via applyOptionalComputeSettings.\n cachesolve: COMPUTE_SERVER_CACHESOLVE,\n // Opt-in: also cache solves that reported GH errors (errors-by-design\n // definitions still produce correct geometry). See COMPUTE_CACHE_ERRORED_SOLVES.\n cacheerroredsolves: COMPUTE_CACHE_ERRORED_SOLVES,\n // DEBUG (SELVA_FLAG_COMPUTE_DEBUG): the server's per-request timing breakdown,\n // which exposes the two SERVER-side caches at once:\n // • Definition cache (pointer reuse): `decode` = deserialize + LOAD\n // DEFINITION. A repeat solve loads the definition from the server's cache,\n // so `decode` drops to ~0; a full (re)upload shows a larger `decode`.\n // • Solve cache (cachesolve): when the server returns a CACHED RESULT it\n // skips the solve, so `solve` drops to ~0 while decode/encode still run.\n // We flag each below so the contrast is obvious in the logs.\n onServerTiming: (t) => {\n const decode = t.decode ?? 0;\n const solve = t.solve ?? 0;\n const encode = t.encode ?? 0;\n rhinoTiming.last = { decode, solve, encode };\n if (!COMPUTE_DEBUG) return;\n const defCache = decode <= 1 ? \"HIT (definition reused, no re-upload/parse)\" : \"miss (full parse)\";\n const solveCache = COMPUTE_SERVER_CACHESOLVE && solve <= 1 ? \"HIT (cached result, solve skipped)\" : COMPUTE_SERVER_CACHESOLVE ? \"miss (solved fresh)\" : \"off\";\n console.log(\n `[Compute/rhino-cache] decode=${decode}ms solve=${solve}ms encode=${encode}ms | definition-cache: ${defCache} | solve-cache (cachesolve): ${solveCache}`\n );\n }\n });\n const scheduler = client.createScheduler({\n mode: \"queue\",\n timeoutMs: MAX_SOLVE_DURATION_MS,\n cache: { maxEntries: 20, ttlMs: 5 * 6e4 },\n // Solve large definitions by server cache-key (pointer) instead of re-uploading\n // the full binary every solve. On a stale-pointer miss the client (@selvajs/compute\n // >= 2.4.0) transparently re-uploads; the miss is detected via the server's\n // `code: \"definition_not_cached\"` (VektorNode fork). Env-gated so a deployment on\n // an unknown compute server can disable it — see COMPUTE_REUSE_DEFINITION_CACHE.\n reuseServerDefinitionCache: COMPUTE_REUSE_DEFINITION_CACHE,\n // Observe the Selva in-process response cache. `fromCache === true` means\n // this solve was served from Selva's own cache — Rhino.Compute was never\n // called (you'll see NO [Compute/timing] line for it). `false` means it went\n // to the compute server. Always registered so the cache verdicts reach the\n // browser via Server-Timing; console logs stay debug-gated.\n onSettle: (_ctx, result) => {\n if (result.status !== \"success\") return;\n solveMeta.last = {\n fromCache: result.fromCache === true,\n definitionReuploaded: result.definitionReuploaded\n };\n if (!COMPUTE_DEBUG) return;\n console.log(\n `[Compute/selva-cache] ${result.fromCache ? \"HIT — served from Selva (no compute call)\" : \"miss — went to Rhino.Compute\"} (${Math.round(result.durationMs)}ms)`\n );\n if (!result.fromCache) {\n console.log(\n result.definitionReuploaded === true ? \"[Compute/def-cache] miss — definition RE-UPLOADED (pointer was cold/stale)\" : result.definitionReuploaded === false ? \"[Compute/def-cache] HIT — definition reused from server cache (no upload)\" : \"[Compute/def-cache] n/a — reuse disabled or non-reusable definition\"\n );\n }\n if (!result.fromCache) {\n const errs = result.response?.errors;\n const errCount = Array.isArray(errs) ? errs.length : 0;\n if (errCount > 0) {\n console.log(\n `[Compute/rhino-cache] ${errCount} GH error(s); not cacheable until fixed. First: ${JSON.stringify(errs[0])}`\n );\n }\n }\n }\n });\n const entry = { client, scheduler, rhinoTiming, solveMeta };\n if (clientCache.size >= MAX_CACHED_CLIENTS) {\n const oldestKey = clientCache.keys().next().value;\n if (oldestKey !== void 0) {\n clientCache.get(oldestKey)?.scheduler.dispose();\n clientCache.delete(oldestKey);\n }\n }\n clientCache.set(key, entry);\n return entry;\n}\nasync function readBodyWithCap(response, maxBytes, controller) {\n if (!response.body) {\n const buffer = await response.arrayBuffer();\n if (buffer.byteLength > maxBytes) throw new Error(\"Remote definition exceeds size limit\");\n return new Uint8Array(buffer);\n }\n const reader = response.body.getReader();\n const chunks = [];\n let total = 0;\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n total += value.byteLength;\n if (total > maxBytes) {\n controller.abort();\n throw new Error(\"Remote definition exceeds size limit\");\n }\n chunks.push(value);\n }\n const out = new Uint8Array(total);\n let offset = 0;\n for (const chunk of chunks) {\n out.set(chunk, offset);\n offset += chunk.byteLength;\n }\n return out;\n}\nasync function loadRemoteDefinition(url) {\n await assertSafeRemoteDefinitionUrl(url);\n const now = Date.now();\n const cached = definitionCache.get(url);\n if (cached && now - cached.fetchedAt < DEFINITION_CACHE_TTL_MS) {\n return cached.data;\n }\n const controller = new AbortController();\n const timeout = setTimeout(() => controller.abort(), REMOTE_DEFINITION_FETCH_TIMEOUT_MS);\n let data;\n try {\n const response = await fetch(url, {\n signal: controller.signal,\n redirect: \"error\"\n });\n if (!response.ok) {\n throw new Error(`HTTP ${response.status}: ${response.statusText}`);\n }\n const declared = Number(response.headers.get(\"content-length\"));\n if (Number.isFinite(declared) && declared > REMOTE_DEFINITION_MAX_BYTES) {\n throw new Error(\"Remote definition exceeds size limit\");\n }\n data = await readBodyWithCap(response, REMOTE_DEFINITION_MAX_BYTES, controller);\n } finally {\n clearTimeout(timeout);\n }\n definitionCache.set(url, { data, fetchedAt: now });\n if (definitionCache.size > 50) {\n const entries = Array.from(definitionCache.entries());\n entries.sort((a, b) => a[1].fetchedAt - b[1].fetchedAt);\n for (let i = 0; i < 10; i++) {\n definitionCache.delete(entries[i][0]);\n }\n }\n return data;\n}\nconst POST = async ({ request, locals, url }) => {\n const storage = getStorageProvider();\n requireMaxBodySize(request, COMPUTE_REQUEST_MAX_BYTES);\n const loadStart = performance.now();\n const prepMarks = [];\n let prevMark = performance.now();\n const mark = (label) => {\n prepMarks.push([label, performance.now() - prevMark]);\n prevMark = performance.now();\n };\n try {\n const body = await request.json();\n mark(\"body\");\n const { inputs, values } = body;\n const definitionUrl = body.definitionUrl;\n const channel = body.channel ?? \"live\";\n const explicitVersionId = body.versionId ?? null;\n if (!inputs || !values || !definitionUrl) {\n apiError(\n 400,\n ApiErrorCode.VALIDATION_FAILED,\n \"Missing required fields: inputs, values, or definitionUrl\"\n );\n }\n if (channel !== \"live\" && channel !== \"draft\") {\n apiError(\n 400,\n ApiErrorCode.VALIDATION_FAILED,\n `Invalid channel: ${channel}. Must be 'live' or 'draft'.`\n );\n }\n let definitionSource;\n let localVersionForBackfill = null;\n let solveOrgId = null;\n let definitionPin = null;\n let metricDefinitionId = null;\n let metricVersionId = null;\n const isLocal = definitionUrl.startsWith(\"local:\");\n const guid = isLocal ? definitionUrl.substring(6) : null;\n const sharedAccess = isLocal && guid && !explicitVersionId ? await tryResolveShareToken(request, url, guid, channel, { requireSolve: true }) : null;\n mark(\"shareToken\");\n if (!sharedAccess && (!locals.ctx || !locals.user)) {\n apiError(401, ApiErrorCode.UNAUTHORIZED, \"Unauthorized\");\n }\n const solveCtx = sharedAccess?.ctx ?? locals.ctx;\n const recordMetric = (failureKind, extra = {}) => {\n void getSolveMetricSink().record(solveCtx, {\n definitionUrl,\n definitionId: metricDefinitionId,\n versionId: metricVersionId,\n channel,\n orgId: solveOrgId,\n durationMs: extra.durationMs ?? 0,\n ok: failureKind === \"ok\",\n failureKind,\n errorCount: extra.errorCount ?? 0,\n warningCount: extra.warningCount ?? 0\n });\n };\n const rateLimitKey = sharedAccess ? `share:${sharedAccess.link.id}` : `user:${locals.user.id}`;\n const rateLimit = checkComputeRateLimit(rateLimitKey);\n if (!rateLimit.allowed) {\n recordMetric(\"rate_limited\");\n const retryAfter = rateLimit.retryAfter ?? 1;\n return new Response(\n JSON.stringify({\n message: `Too many compute requests. Retry in ${retryAfter}s.`,\n retryAfter\n }),\n {\n status: 429,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Retry-After\": String(retryAfter)\n }\n }\n );\n }\n if (isLocal && guid) {\n let record;\n try {\n record = await providers.data.definitions.get(solveCtx, guid);\n } catch (err) {\n console.error(`Failed to load local definition: ${guid}`, err);\n apiError(404, ApiErrorCode.NOT_FOUND, `Definition '${guid}' not found`);\n }\n if (!record) apiError(404, ApiErrorCode.NOT_FOUND, `Definition '${guid}' not found`);\n mark(\"defRecord\");\n const project = await providers.data.projects.getProject(solveCtx, record.projectId);\n solveOrgId = project?.orgId ?? null;\n definitionPin = record.computeServerId ?? null;\n mark(\"project\");\n if (!sharedAccess) {\n if (channel === \"draft\" || explicitVersionId) {\n await requireCanEditDefinition(locals, record.projectId, guid);\n } else {\n await requireCanSolve(locals, record.projectId);\n }\n }\n mark(\"access\");\n const versionId = explicitVersionId ?? (channel === \"live\" ? record.liveVersionId : record.draftVersionId);\n if (!versionId) {\n apiError(404, ApiErrorCode.NOT_FOUND, `Definition '${guid}' has no ${channel} version yet`);\n }\n const version = await providers.data.definitions.getVersion(solveCtx, versionId);\n if (!version || version.definitionId !== guid) {\n apiError(404, ApiErrorCode.NOT_FOUND, `Definition '${guid}' version is missing`);\n }\n localVersionForBackfill = { id: version.id, hasSchema: version.schema !== void 0 };\n metricDefinitionId = guid;\n metricVersionId = version.id;\n mark(\"version\");\n try {\n const bytes = await storage.get(version.fileKey);\n if (!bytes) throw new Error(`Version blob missing: ${version.fileKey}`);\n definitionSource = bytes;\n } catch (err) {\n console.error(`Failed to load local definition blob: ${guid}`, err);\n apiError(404, ApiErrorCode.NOT_FOUND, `Definition '${guid}' not found`);\n }\n mark(\"blob\");\n } else {\n try {\n definitionSource = await loadRemoteDefinition(definitionUrl);\n } catch (err) {\n console.error(`Failed to fetch definition from ${definitionUrl}:`, err);\n apiError(\n 400,\n ApiErrorCode.VALIDATION_FAILED,\n `Failed to load definition: ${err instanceof Error ? err.message : String(err)}`\n );\n }\n mark(\"remoteDef\");\n }\n const defLoadMs = performance.now() - loadStart;\n const treeBuildStart = performance.now();\n const inputTree = TreeBuilder.fromInputParams(\n inputs.filter((input) => input.paramType).map((input) => transformInputParameter(input, values[input.id]))\n );\n const treeBuildMs = performance.now() - treeBuildStart;\n prevMark = performance.now();\n if (sharedAccess) {\n const next = await providers.data.shareLinks.tryIncrementSolveCount(\n solveCtx,\n sharedAccess.link.id\n );\n if (next === null) {\n recordMetric(\"share_cap\");\n apiError(429, ApiErrorCode.INTERNAL, \"Share link solve cap reached.\");\n }\n mark(\"shareCap\");\n }\n const serverConfig = await resolveServerForOrg(solveCtx, solveOrgId, { definitionPin });\n mark(\"resolveServer\");\n if (localVersionForBackfill && !localVersionForBackfill.hasSchema) {\n const versionId = localVersionForBackfill.id;\n try {\n const schema = await fetchSchemaFromCompute(definitionSource, serverConfig);\n await providers.data.definitions.setVersionSchema(solveCtx, versionId, schema);\n } catch (err) {\n console.warn(`[API/Compute] Schema backfill failed for version ${versionId}:`, err);\n }\n mark(\"schemaBackfill\");\n }\n const { scheduler, rhinoTiming, solveMeta } = await getClient(serverConfig);\n mark(\"client\");\n let solvedDefinition;\n let solveMs = 0;\n rhinoTiming.last = null;\n solveMeta.last = null;\n const solveStart = performance.now();\n try {\n solvedDefinition = await scheduler.solve(definitionSource, inputTree, {\n signal: request.signal\n });\n solveMs = performance.now() - solveStart;\n recordMetric(\"ok\", {\n durationMs: solveMs,\n errorCount: solvedDefinition.errors?.length ?? 0,\n warningCount: solvedDefinition.warnings?.length ?? 0\n });\n if (metricDefinitionId) {\n providers.data.definitions.incrementSolveCount(solveCtx, metricDefinitionId).catch(\n (err) => console.warn(\n `[API/Compute] solveCount increment failed for ${metricDefinitionId}:`,\n err\n )\n );\n }\n } catch (err) {\n const isAbort = err instanceof Error && err.name === \"AbortError\";\n const timedOut = isAbort && !request.signal.aborted;\n recordMetric(timedOut ? \"timeout\" : isAbort ? \"client_abort\" : \"compute_error\", {\n durationMs: performance.now() - solveStart\n });\n if (isAbort) {\n if (request.signal.aborted) {\n apiError(499, ApiErrorCode.INTERNAL, \"Client closed request\");\n }\n apiError(\n 504,\n ApiErrorCode.INTERNAL,\n `Solve exceeded the ${Math.round(MAX_SOLVE_DURATION_MS / 1e3)}s deadline.`\n );\n }\n throw err;\n }\n let serialized;\n const serializeStart = performance.now();\n try {\n serialized = JSON.stringify(solvedDefinition);\n } catch (err) {\n if (err instanceof RangeError) {\n recordMetric(\"too_large\");\n apiError(\n 413,\n ApiErrorCode.INTERNAL,\n \"Solve result is too large to return. This usually means a file output exceeds the supported size.\"\n );\n }\n throw err;\n }\n if (serialized.length > COMPUTE_RESPONSE_MAX_BYTES) {\n recordMetric(\"too_large\");\n apiError(\n 413,\n ApiErrorCode.INTERNAL,\n \"Solve result is too large to return. This usually means a file output exceeds the supported size.\"\n );\n }\n const serializeMs = performance.now() - serializeStart;\n const acceptEncoding = request.headers.get(\"accept-encoding\") ?? \"\";\n let compressed = null;\n let gzipMs = 0;\n if (/\\bgzip\\b/i.test(acceptEncoding) && serialized.length > 1024) {\n const gzipStart = performance.now();\n compressed = gzipSync(Buffer.from(serialized));\n gzipMs = performance.now() - gzipStart;\n }\n const serverTotalMs = performance.now() - loadStart;\n if (COMPUTE_DEBUG) {\n console.log(\n `[Compute/server] load=${defLoadMs.toFixed(0)}ms tree=${treeBuildMs.toFixed(0)}ms solve=${solveMs.toFixed(0)}ms serialize=${serializeMs.toFixed(0)}ms gzip=${gzipMs.toFixed(0)}ms total=${serverTotalMs.toFixed(0)}ms | result=${formatBytes(serialized.length)}`\n );\n if (compressed) {\n console.log(\n `[Compute/server] gzip ${formatBytes(serialized.length)} → ${formatBytes(compressed.byteLength)} (${(serialized.length / compressed.byteLength).toFixed(1)}×)`\n );\n } else {\n console.log(\n `[Compute/server] compression skipped — Accept-Encoding: \"${acceptEncoding || \"(absent)\"}\"`\n );\n }\n console.log(\n `[Compute/server] prep breakdown: ` + prepMarks.map(([label, ms]) => `${label}=${ms.toFixed(0)}ms`).join(\" \")\n );\n }\n let serverTimingHeader = `load;dur=${defLoadMs.toFixed(1)}, tree;dur=${treeBuildMs.toFixed(1)}, solve;dur=${solveMs.toFixed(1)}, serialize;dur=${serializeMs.toFixed(1)}, gzip;dur=${gzipMs.toFixed(1)}, total;dur=${serverTotalMs.toFixed(1)}`;\n const rhino = rhinoTiming.last;\n if (rhino) {\n const onRhinoMs = rhino.decode + rhino.solve + rhino.encode;\n const computeLinkMs = Math.max(0, solveMs - onRhinoMs);\n serverTimingHeader += `, rhino_decode;dur=${rhino.decode.toFixed(1)}, rhino_solve;dur=${rhino.solve.toFixed(1)}, rhino_encode;dur=${rhino.encode.toFixed(1)}, compute_link;dur=${computeLinkMs.toFixed(1)}`;\n }\n for (const [label, ms] of prepMarks) {\n serverTimingHeader += `, p_${label};dur=${ms.toFixed(1)}`;\n }\n const settle = solveMeta.last;\n if (settle) {\n serverTimingHeader += `, selva_cache;dur=${settle.fromCache ? 1 : 0}`;\n if (settle.definitionReuploaded !== void 0) {\n serverTimingHeader += `, def_reupload;dur=${settle.definitionReuploaded ? 1 : 0}`;\n }\n }\n const responseHeaders = {\n \"Content-Type\": \"application/json\",\n \"Server-Timing\": serverTimingHeader,\n Vary: \"Accept-Encoding\"\n };\n if (compressed) {\n responseHeaders[\"Content-Encoding\"] = \"gzip\";\n responseHeaders[\"Content-Length\"] = String(compressed.byteLength);\n return new Response(new Uint8Array(compressed), { headers: responseHeaders });\n }\n responseHeaders[\"Content-Length\"] = String(Buffer.byteLength(serialized));\n return new Response(serialized, { headers: responseHeaders });\n } catch (err) {\n if (isHttpError(err)) throw err;\n if (err instanceof ComputeServerUnconfiguredError) {\n apiError(503, ApiErrorCode.COMPUTE_UNAVAILABLE, err.message);\n }\n const message = err instanceof Error ? err.message : \"Unknown error\";\n console.error(\"[API/Compute] Error:\", message);\n if (err instanceof TypeError && message === \"fetch failed\") {\n apiError(503, ApiErrorCode.COMPUTE_UNAVAILABLE, \"Compute server is unreachable\");\n }\n apiError(500, ApiErrorCode.INTERNAL, message);\n }\n};\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAYA,SAAS,WAAW,CAAC,EAAE,EAAE;AACzB,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC,WAAW,EAAE;AAC7B,EAAE,MAAM,YAAY,GAAG,+CAA+C,CAAC,IAAI,CAAC,IAAI,CAAC;AACjF,EAAE,IAAI,YAAY,EAAE;AACpB,IAAI,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC;AAC1B,EAAE,CAAC,MAAM;AACT,IAAI,MAAM,SAAS,GAAG,0CAA0C,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3E,IAAI,IAAI,SAAS,EAAE;AACnB,MAAM,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC3C,MAAM,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC3C,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AACzE,IAAI;AACJ,EAAE;AACF,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACxB,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;AAC9C,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,EAAE,OAAO,IAAI;AACvE,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM;AACzB,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,IAAI;AAC5B,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,OAAO,IAAI;AAC9B,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,IAAI;AAC7B,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,OAAO,IAAI;AAC3C,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,IAAI;AACpD,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,OAAO,IAAI;AAC3C,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,EAAE,OAAO,IAAI;AAClD,EAAE,IAAI,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,IAAI;AACtD,EAAE,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,IAAI;AAClD,EAAE,OAAO,KAAK;AACd;AACA,SAAS,uBAAuB,CAAC,IAAI,EAAE;AACvC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,IAAI;AACnC,EAAE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAClC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,IAAI;AAC/D,EAAE,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK;AAC3B,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,IAAI;AAC7B,IAAI,IAAI,CAAC;AACT,IAAI,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;AACrD,SAAS,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;AACpD,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;AACpD,SAAS,OAAO,IAAI;AACpB,IAAI,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI;AACxC,EAAE,CAAC;AACH,EAAE,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;AACtC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE,OAAO,IAAI;AAC/C,EAAE,MAAM,KAAK,GAAG,IAAI;AACpB,EAAE,IAAI,KAAK;AACX,EAAE,QAAQ,KAAK,CAAC,MAAM;AACtB,IAAI,KAAK,CAAC;AACV,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;AACtB,MAAM;AACN,IAAI,KAAK,CAAC;AACV,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,IAAI;AAC5D,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;AACvC,MAAM;AACN,IAAI,KAAK,CAAC;AACV,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,OAAO,IAAI;AAC3E,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;AACxD,MAAM;AACN,IAAI;AACJ,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,EAAE,OAAO,IAAI;AACjD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AACxE;AACA,EAAE,KAAK,GAAG,KAAK,KAAK,CAAC;AACrB,EAAE,IAAI,KAAK,GAAG,UAAU,EAAE,OAAO,IAAI;AACrC,EAAE,OAAO,CAAC,KAAK,KAAK,EAAE,GAAG,GAAG,EAAE,KAAK,KAAK,EAAE,GAAG,GAAG,EAAE,KAAK,KAAK,CAAC,GAAG,GAAG,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI;AACtF,IAAI;AACJ,GAAG;AACH;AACA,SAAS,yBAAyB,CAAC,GAAG,EAAE;AACxC,EAAE,IAAI,MAAM;AACZ,EAAE,IAAI;AACN,IAAI,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC;AACzB,EAAE,CAAC,CAAC,MAAM;AACV,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,OAAO,KAAK;AAC/E,EAAE,IAAI,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE;AAC1C,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK;AACzB,EAAE,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,KAAK;AACvE,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;AAChE,EAAE,IAAI,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;AAC3C,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;AACjD,EAAE,MAAM,SAAS,GAAG,uBAAuB,CAAC,IAAI,CAAC;AACjD,EAAE,IAAI,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC;AAC/C,EAAE,OAAO,IAAI;AACb;AACA,eAAe,6BAA6B,CAAC,GAAG,EAAE;AAClD,EAAE,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,EAAE;AACvC,IAAI,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC;AAC3D,EAAE;AACF,EAAE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;AAC1E,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG;AACnE,EAAE,IAAI,QAAQ;AACd,EAAE,IAAI;AACN,IAAI,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AAChD,EAAE,CAAC,CAAC,MAAM;AACV,IAAI,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC;AAC3D,EAAE;AACF,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE;AAC7E,IAAI,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC;AAC3D,EAAE;AACF,EAAE,OAAO,GAAG;AACZ;AACA,MAAM,SAAS,GAAG,oBAAoB;AACtC,MAAM,cAAc,GAAG,uBAAuB;AAC9C,MAAM,OAAO,mBAAmB,IAAI,GAAG,EAAE;AACzC,SAAS,qBAAqB,CAAC,GAAG,EAAE;AACpC,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;AACxB,EAAE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;AAChC,EAAE,IAAI,CAAC,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE;AACrC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,GAAG,SAAS,EAAE,CAAC;AAC5D,IAAI,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AAC5B,EAAE;AACF,EAAE,IAAI,KAAK,CAAC,KAAK,IAAI,cAAc,EAAE;AACrC,IAAI,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE;AACjF,EAAE;AACF,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC;AAClB,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AAC1B;AACA,SAAS,uBAAuB,CAAC,KAAK,EAAE,KAAK,EAAE;AAC/C,EAAE,MAAM,GAAG,GAAG;AACd,IAAI,EAAE,EAAE,KAAK,CAAC,EAAE;AAChB,IAAI,IAAI,EAAE,KAAK,CAAC,QAAQ;AACxB,IAAI,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;AACpC,IAAI,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;AACxC,IAAI,SAAS,EAAE,KAAK,CAAC,SAAS;AAC9B,IAAI,UAAU,EAAE,KAAK,CAAC,cAAc,KAAK,MAAM;AAC/C,IAAI,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;AAClC,IAAI,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;AAClC,IAAI,OAAO,EAAE,CAAC;AACd,IAAI,MAAM,EAAE,CAAC;AACb,IAAI,QAAQ,EAAE,KAAK,CAAC,QAAQ;AAC5B;AACA,IAAI,OAAO,EAAE,KAAK,IAAI,KAAK,CAAC;AAC5B,GAAG;AACH,EAAE,OAAO,YAAY,CAAC,GAAG,CAAC;AAC1B;AACA,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,QAAQ;AACnD,EAAE,CAAC,WAAW,CAAC,wBAAwB,IAAI,EAAE,EAAE,WAAW;AAC1D,CAAC;AACD,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,QAAQ;AAC3D,EAAE,CAAC,WAAW,CAAC,gCAAgC,IAAI,EAAE,EAAE,WAAW;AAClE,CAAC;AACD,IAAI,qBAAqB,EAAE,kBAAkB,EAAE;AAC/C,SAAS,WAAW,CAAC,KAAK,EAAE;AAC5B,EAAE,IAAI,KAAK,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;AACvC,EAAE,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACnE,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACnD;AACA,MAAM,eAAe,mBAAmB,IAAI,GAAG,EAAE;AACjD,MAAM,kBAAkB,GAAG,EAAE;AAC7B,MAAM,WAAW,mBAAmB,IAAI,GAAG,EAAE;AAC7C,SAAS,cAAc,CAAC,YAAY,EAAE;AACtC,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,EAAE,YAAY,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;AAClE;AACA,eAAe,SAAS,CAAC,YAAY,EAAE;AACvC,EAAE,MAAM,GAAG,GAAG,cAAc,CAAC,YAAY,CAAC;AAC1C,EAAE,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;AACvC,EAAE,IAAI,QAAQ,EAAE;AAChB,IAAI,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC;AAC3B,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC;AAClC,IAAI,OAAO,QAAQ;AACnB,EAAE;AACF,EAAE,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;AACpC,EAAE,MAAM,SAAS,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;AAClC,EAAE,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC;AAChD,IAAI,SAAS,EAAE,YAAY,CAAC,SAAS;AACrC,IAAI,MAAM,EAAE,YAAY,CAAC,MAAM;AAC/B;AACA;AACA,IAAI,KAAK,EAAE,qBAAqB;AAChC;AACA;AACA;AACA,IAAI,UAAU,EAAE,yBAAyB;AACzC;AACA;AACA,IAAI,kBAAkB,EAAE,4BAA4B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,cAAc,EAAE,CAAC,CAAC,KAAK;AAC3B,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC;AAClC,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC;AAChC,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC;AAClC,MAAM,WAAW,CAAC,IAAI,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;AAClD,MAAM,IAAI,CAAC,aAAa,EAAE;AAC1B,MAAM,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,6CAA6C,GAAG,mBAAmB;AACxG,MAAM,MAAM,UAAU,GAAG,yBAAyB,IAAI,KAAK,IAAI,CAAC,GAAG,oCAAoC,GAAG,yBAAyB,GAAG,qBAAqB,GAAG,KAAK;AACnK,MAAM,OAAO,CAAC,GAAG;AACjB,QAAQ,CAAC,6BAA6B,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,uBAAuB,EAAE,QAAQ,CAAC,6BAA6B,EAAE,UAAU,CAAC;AAC/J,OAAO;AACP,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,MAAM,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC;AAC3C,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,SAAS,EAAE,qBAAqB;AACpC,IAAI,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE;AAC7C;AACA;AACA;AACA;AACA;AACA,IAAI,0BAA0B,EAAE,8BAA8B;AAC9D;AACA;AACA;AACA;AACA;AACA,IAAI,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;AAChC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE;AACvC,MAAM,SAAS,CAAC,IAAI,GAAG;AACvB,QAAQ,SAAS,EAAE,MAAM,CAAC,SAAS,KAAK,IAAI;AAC5C,QAAQ,oBAAoB,EAAE,MAAM,CAAC;AACrC,OAAO;AACP,MAAM,IAAI,CAAC,aAAa,EAAE;AAC1B,MAAM,OAAO,CAAC,GAAG;AACjB,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC,SAAS,GAAG,4CAA4C,GAAG,8BAA8B,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG;AACvK,OAAO;AACP,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;AAC7B,QAAQ,OAAO,CAAC,GAAG;AACnB,UAAU,MAAM,CAAC,oBAAoB,KAAK,IAAI,GAAG,4EAA4E,GAAG,MAAM,CAAC,oBAAoB,KAAK,KAAK,GAAG,4EAA4E,GAAG;AACvP,SAAS;AACT,MAAM;AACN,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;AAC7B,QAAQ,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM;AAC5C,QAAQ,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;AAC9D,QAAQ,IAAI,QAAQ,GAAG,CAAC,EAAE;AAC1B,UAAU,OAAO,CAAC,GAAG;AACrB,YAAY,CAAC,sBAAsB,EAAE,QAAQ,CAAC,gDAAgD,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACxH,WAAW;AACX,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE;AAC7D,EAAE,IAAI,WAAW,CAAC,IAAI,IAAI,kBAAkB,EAAE;AAC9C,IAAI,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK;AACrD,IAAI,IAAI,SAAS,KAAK,MAAM,EAAE;AAC9B,MAAM,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE;AACrD,MAAM,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC;AACnC,IAAI;AACJ,EAAE;AACF,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;AAC7B,EAAE,OAAO,KAAK;AACd;AACA,eAAe,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE;AAC/D,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;AACtB,IAAI,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE;AAC/C,IAAI,IAAI,MAAM,CAAC,UAAU,GAAG,QAAQ,EAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC;AAC7F,IAAI,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC;AACjC,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE;AAC1C,EAAE,MAAM,MAAM,GAAG,EAAE;AACnB,EAAE,IAAI,KAAK,GAAG,CAAC;AACf,EAAE,OAAO,IAAI,EAAE;AACf,IAAI,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE;AAC/C,IAAI,IAAI,IAAI,EAAE;AACd,IAAI,KAAK,IAAI,KAAK,CAAC,UAAU;AAC7B,IAAI,IAAI,KAAK,GAAG,QAAQ,EAAE;AAC1B,MAAM,UAAU,CAAC,KAAK,EAAE;AACxB,MAAM,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC;AAC7D,IAAI;AACJ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACtB,EAAE;AACF,EAAE,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC;AACnC,EAAE,IAAI,MAAM,GAAG,CAAC;AAChB,EAAE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AAC9B,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC;AAC1B,IAAI,MAAM,IAAI,KAAK,CAAC,UAAU;AAC9B,EAAE;AACF,EAAE,OAAO,GAAG;AACZ;AACA,eAAe,oBAAoB,CAAC,GAAG,EAAE;AACzC,EAAE,MAAM,6BAA6B,CAAC,GAAG,CAAC;AAC1C,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;AACxB,EAAE,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC;AACzC,EAAE,IAAI,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,SAAS,GAAG,uBAAuB,EAAE;AAClE,IAAI,OAAO,MAAM,CAAC,IAAI;AACtB,EAAE;AACF,EAAE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE;AAC1C,EAAE,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,UAAU,CAAC,KAAK,EAAE,EAAE,kCAAkC,CAAC;AAC1F,EAAE,IAAI,IAAI;AACV,EAAE,IAAI;AACN,IAAI,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;AACtC,MAAM,MAAM,EAAE,UAAU,CAAC,MAAM;AAC/B,MAAM,QAAQ,EAAE;AAChB,KAAK,CAAC;AACN,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AACtB,MAAM,MAAM,IAAI,KAAK,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;AACxE,IAAI;AACJ,IAAI,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACnE,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,2BAA2B,EAAE;AAC7E,MAAM,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC;AAC7D,IAAI;AACJ,IAAI,IAAI,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,2BAA2B,EAAE,UAAU,CAAC;AACnF,EAAE,CAAC,SAAS;AACZ,IAAI,YAAY,CAAC,OAAO,CAAC;AACzB,EAAE;AACF,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;AACpD,EAAE,IAAI,eAAe,CAAC,IAAI,GAAG,EAAE,EAAE;AACjC,IAAI,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;AACzD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3D,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;AACjC,MAAM,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,IAAI;AACb;AACK,MAAC,IAAI,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK;AACjD,EAAE,MAAM,OAAO,GAAG,kBAAkB,EAAE;AACtC,EAAE,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,CAAC;AACxD,EAAE,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;AACrC,EAAE,MAAM,SAAS,GAAG,EAAE;AACtB,EAAE,IAAI,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;AAClC,EAAE,MAAM,IAAI,GAAG,CAAC,KAAK,KAAK;AAC1B,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC;AACzD,IAAI,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;AAChC,EAAE,CAAC;AACH,EAAE,IAAI;AACN,IAAI,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACrC,IAAI,IAAI,CAAC,MAAM,CAAC;AAChB,IAAI,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;AACnC,IAAI,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa;AAC5C,IAAI,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,MAAM;AAC1C,IAAI,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI;AACpD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE;AAC9C,MAAM,QAAQ;AACd,QAAQ,GAAG;AACX,QAAQ,YAAY,CAAC,iBAAiB;AACtC,QAAQ;AACR,OAAO;AACP,IAAI;AACJ,IAAI,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,OAAO,EAAE;AACnD,MAAM,QAAQ;AACd,QAAQ,GAAG;AACX,QAAQ,YAAY,CAAC,iBAAiB;AACtC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC,4BAA4B;AAChE,OAAO;AACP,IAAI;AACJ,IAAI,IAAI,gBAAgB;AACxB,IAAI,IAAI,uBAAuB,GAAG,IAAI;AACtC,IAAI,IAAI,UAAU,GAAG,IAAI;AACzB,IAAI,IAAI,aAAa,GAAG,IAAI;AAC5B,IAAI,IAAI,kBAAkB,GAAG,IAAI;AACjC,IAAI,IAAI,eAAe,GAAG,IAAI;AAC9B,IAAI,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC;AACtD,IAAI,MAAM,IAAI,GAAG,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;AAC5D,IAAI,MAAM,YAAY,GAAG,OAAO,IAAI,IAAI,IAAI,CAAC,iBAAiB,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI;AACvJ,IAAI,IAAI,CAAC,YAAY,CAAC;AACtB,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AACxD,MAAM,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,YAAY,EAAE,cAAc,CAAC;AAC9D,IAAI;AACJ,IAAI,MAAM,QAAQ,GAAG,YAAY,EAAE,GAAG,IAAI,MAAM,CAAC,GAAG;AACpD,IAAI,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,KAAK;AACtD,MAAM,KAAK,kBAAkB,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE;AACjD,QAAQ,aAAa;AACrB,QAAQ,YAAY,EAAE,kBAAkB;AACxC,QAAQ,SAAS,EAAE,eAAe;AAClC,QAAQ,OAAO;AACf,QAAQ,KAAK,EAAE,UAAU;AACzB,QAAQ,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,CAAC;AACzC,QAAQ,EAAE,EAAE,WAAW,KAAK,IAAI;AAChC,QAAQ,WAAW;AACnB,QAAQ,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,CAAC;AACzC,QAAQ,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI;AAC5C,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,MAAM,YAAY,GAAG,YAAY,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAClG,IAAI,MAAM,SAAS,GAAG,qBAAqB,CAAC,YAAY,CAAC;AACzD,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;AAC5B,MAAM,YAAY,CAAC,cAAc,CAAC;AAClC,MAAM,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,IAAI,CAAC;AAClD,MAAM,OAAO,IAAI,QAAQ;AACzB,QAAQ,IAAI,CAAC,SAAS,CAAC;AACvB,UAAU,OAAO,EAAE,CAAC,oCAAoC,EAAE,UAAU,CAAC,EAAE,CAAC;AACxE,UAAU;AACV,SAAS,CAAC;AACV,QAAQ;AACR,UAAU,MAAM,EAAE,GAAG;AACrB,UAAU,OAAO,EAAE;AACnB,YAAY,cAAc,EAAE,kBAAkB;AAC9C,YAAY,aAAa,EAAE,MAAM,CAAC,UAAU;AAC5C;AACA;AACA,OAAO;AACP,IAAI;AACJ,IAAI,IAAI,OAAO,IAAI,IAAI,EAAE;AACzB,MAAM,IAAI,MAAM;AAChB,MAAM,IAAI;AACV,QAAQ,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC;AACrE,MAAM,CAAC,CAAC,OAAO,GAAG,EAAE;AACpB,QAAQ,OAAO,CAAC,KAAK,CAAC,CAAC,iCAAiC,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC;AACtE,QAAQ,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/E,MAAM;AACN,MAAM,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AAC1F,MAAM,IAAI,CAAC,WAAW,CAAC;AACvB,MAAM,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC;AAC1F,MAAM,UAAU,GAAG,OAAO,EAAE,KAAK,IAAI,IAAI;AACzC,MAAM,aAAa,GAAG,MAAM,CAAC,eAAe,IAAI,IAAI;AACpD,MAAM,IAAI,CAAC,SAAS,CAAC;AACrB,MAAM,IAAI,CAAC,YAAY,EAAE;AACzB,QAAQ,IAAI,OAAO,KAAK,OAAO,IAAI,iBAAiB,EAAE;AACtD,UAAU,MAAM,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC;AACxE,QAAQ,CAAC,MAAM;AACf,UAAU,MAAM,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC;AACzD,QAAQ;AACR,MAAM;AACN,MAAM,IAAI,CAAC,QAAQ,CAAC;AACpB,MAAM,MAAM,SAAS,GAAG,iBAAiB,KAAK,OAAO,KAAK,MAAM,GAAG,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC;AAChH,MAAM,IAAI,CAAC,SAAS,EAAE;AACtB,QAAQ,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;AACnG,MAAM;AACN,MAAM,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC;AACtF,MAAM,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,YAAY,KAAK,IAAI,EAAE;AACrD,QAAQ,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;AACxF,MAAM;AACN,MAAM,uBAAuB,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,EAAE;AACxF,MAAM,kBAAkB,GAAG,IAAI;AAC/B,MAAM,eAAe,GAAG,OAAO,CAAC,EAAE;AAClC,MAAM,IAAI,CAAC,SAAS,CAAC;AACrB,MAAM,IAAI;AACV,QAAQ,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;AACxD,QAAQ,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC,sBAAsB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/E,QAAQ,gBAAgB,GAAG,KAAK;AAChC,MAAM,CAAC,CAAC,OAAO,GAAG,EAAE;AACpB,QAAQ,OAAO,CAAC,KAAK,CAAC,CAAC,sCAAsC,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC;AAC3E,QAAQ,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/E,MAAM;AACN,MAAM,IAAI,CAAC,MAAM,CAAC;AAClB,IAAI,CAAC,MAAM;AACX,MAAM,IAAI;AACV,QAAQ,gBAAgB,GAAG,MAAM,oBAAoB,CAAC,aAAa,CAAC;AACpE,MAAM,CAAC,CAAC,OAAO,GAAG,EAAE;AACpB,QAAQ,OAAO,CAAC,KAAK,CAAC,CAAC,gCAAgC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;AAC/E,QAAQ,QAAQ;AAChB,UAAU,GAAG;AACb,UAAU,YAAY,CAAC,iBAAiB;AACxC,UAAU,CAAC,2BAA2B,EAAE,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AACzF,SAAS;AACT,MAAM;AACN,MAAM,IAAI,CAAC,WAAW,CAAC;AACvB,IAAI;AACJ,IAAI,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;AACnD,IAAI,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;AAC5C,IAAI,MAAM,SAAS,GAAG,WAAW,CAAC,eAAe;AACjD,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAC/G,KAAK;AACL,IAAI,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,cAAc;AAC1D,IAAI,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;AAChC,IAAI,IAAI,YAAY,EAAE;AACtB,MAAM,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB;AACzE,QAAQ,QAAQ;AAChB,QAAQ,YAAY,CAAC,IAAI,CAAC;AAC1B,OAAO;AACP,MAAM,IAAI,IAAI,KAAK,IAAI,EAAE;AACzB,QAAQ,YAAY,CAAC,WAAW,CAAC;AACjC,QAAQ,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,QAAQ,EAAE,+BAA+B,CAAC;AAC7E,MAAM;AACN,MAAM,IAAI,CAAC,UAAU,CAAC;AACtB,IAAI;AACJ,IAAI,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,aAAa,EAAE,CAAC;AAC3F,IAAI,IAAI,CAAC,eAAe,CAAC;AACzB,IAAI,IAAI,uBAAuB,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE;AACvE,MAAM,MAAM,SAAS,GAAG,uBAAuB,CAAC,EAAE;AAClD,MAAM,IAAI;AACV,QAAQ,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,gBAAgB,EAAE,YAAY,CAAC;AACnF,QAAQ,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC;AACtF,MAAM,CAAC,CAAC,OAAO,GAAG,EAAE;AACpB,QAAQ,OAAO,CAAC,IAAI,CAAC,CAAC,iDAAiD,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;AAC3F,MAAM;AACN,MAAM,IAAI,CAAC,gBAAgB,CAAC;AAC5B,IAAI;AACJ,IAAI,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC;AAC/E,IAAI,IAAI,CAAC,QAAQ,CAAC;AAClB,IAAI,IAAI,gBAAgB;AACxB,IAAI,IAAI,OAAO,GAAG,CAAC;AACnB,IAAI,WAAW,CAAC,IAAI,GAAG,IAAI;AAC3B,IAAI,SAAS,CAAC,IAAI,GAAG,IAAI;AACzB,IAAI,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;AACxC,IAAI,IAAI;AACR,MAAM,gBAAgB,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,gBAAgB,EAAE,SAAS,EAAE;AAC5E,QAAQ,MAAM,EAAE,OAAO,CAAC;AACxB,OAAO,CAAC;AACR,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,UAAU;AAC9C,MAAM,YAAY,CAAC,IAAI,EAAE;AACzB,QAAQ,UAAU,EAAE,OAAO;AAC3B,QAAQ,UAAU,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;AACxD,QAAQ,YAAY,EAAE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,IAAI;AAC3D,OAAO,CAAC;AACR,MAAM,IAAI,kBAAkB,EAAE;AAC9B,QAAQ,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,KAAK;AAC1F,UAAU,CAAC,GAAG,KAAK,OAAO,CAAC,IAAI;AAC/B,YAAY,CAAC,8CAA8C,EAAE,kBAAkB,CAAC,CAAC,CAAC;AAClF,YAAY;AACZ;AACA,SAAS;AACT,MAAM;AACN,IAAI,CAAC,CAAC,OAAO,GAAG,EAAE;AAClB,MAAM,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY;AACvE,MAAM,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO;AACzD,MAAM,YAAY,CAAC,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,cAAc,GAAG,eAAe,EAAE;AACtF,QAAQ,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG;AACxC,OAAO,CAAC;AACR,MAAM,IAAI,OAAO,EAAE;AACnB,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;AACpC,UAAU,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,QAAQ,EAAE,uBAAuB,CAAC;AACvE,QAAQ;AACR,QAAQ,QAAQ;AAChB,UAAU,GAAG;AACb,UAAU,YAAY,CAAC,QAAQ;AAC/B,UAAU,CAAC,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,qBAAqB,GAAG,GAAG,CAAC,CAAC,WAAW;AACnF,SAAS;AACT,MAAM;AACN,MAAM,MAAM,GAAG;AACf,IAAI;AACJ,IAAI,IAAI,UAAU;AAClB,IAAI,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;AAC5C,IAAI,IAAI;AACR,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;AACnD,IAAI,CAAC,CAAC,OAAO,GAAG,EAAE;AAClB,MAAM,IAAI,GAAG,YAAY,UAAU,EAAE;AACrC,QAAQ,YAAY,CAAC,WAAW,CAAC;AACjC,QAAQ,QAAQ;AAChB,UAAU,GAAG;AACb,UAAU,YAAY,CAAC,QAAQ;AAC/B,UAAU;AACV,SAAS;AACT,MAAM;AACN,MAAM,MAAM,GAAG;AACf,IAAI;AACJ,IAAI,IAAI,UAAU,CAAC,MAAM,GAAG,0BAA0B,EAAE;AACxD,MAAM,YAAY,CAAC,WAAW,CAAC;AAC/B,MAAM,QAAQ;AACd,QAAQ,GAAG;AACX,QAAQ,YAAY,CAAC,QAAQ;AAC7B,QAAQ;AACR,OAAO;AACP,IAAI;AACJ,IAAI,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,cAAc;AAC1D,IAAI,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE;AACvE,IAAI,IAAI,UAAU,GAAG,IAAI;AACzB,IAAI,IAAI,MAAM,GAAG,CAAC;AAClB,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,IAAI,EAAE;AACtE,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;AACzC,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACpD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;AAC5C,IAAI;AACJ,IAAI,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;AACvD,IAAI,IAAI,aAAa,EAAE;AACvB,MAAM,OAAO,CAAC,GAAG;AACjB,QAAQ,CAAC,sBAAsB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACxQ,OAAO;AACP,MAAM,IAAI,UAAU,EAAE;AACtB,QAAQ,OAAO,CAAC,GAAG;AACnB,UAAU,CAAC,sBAAsB,EAAE,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;AACvK,SAAS;AACT,MAAM,CAAC,MAAM;AACb,QAAQ,OAAO,CAAC,GAAG;AACnB,UAAU,CAAC,yDAAyD,EAAE,cAAc,IAAI,UAAU,CAAC,CAAC;AACpG,SAAS;AACT,MAAM;AACN,MAAM,OAAO,CAAC,GAAG;AACjB,QAAQ,CAAC,iCAAiC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG;AACpH,OAAO;AACP,IAAI;AACJ,IAAI,IAAI,kBAAkB,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACnP,IAAI,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI;AAClC,IAAI,IAAI,KAAK,EAAE;AACf,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM;AACjE,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;AAC5D,MAAM,kBAAkB,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACjN,IAAI;AACJ,IAAI,KAAK,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,SAAS,EAAE;AACzC,MAAM,kBAAkB,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,IAAI;AACJ,IAAI,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI;AACjC,IAAI,IAAI,MAAM,EAAE;AAChB,MAAM,kBAAkB,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3E,MAAM,IAAI,MAAM,CAAC,oBAAoB,KAAK,KAAK,CAAC,EAAE;AAClD,QAAQ,kBAAkB,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,oBAAoB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACzF,MAAM;AACN,IAAI;AACJ,IAAI,MAAM,eAAe,GAAG;AAC5B,MAAM,cAAc,EAAE,kBAAkB;AACxC,MAAM,eAAe,EAAE,kBAAkB;AACzC,MAAM,IAAI,EAAE;AACZ,KAAK;AACL,IAAI,IAAI,UAAU,EAAE;AACpB,MAAM,eAAe,CAAC,kBAAkB,CAAC,GAAG,MAAM;AAClD,MAAM,eAAe,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;AACvE,MAAM,OAAO,IAAI,QAAQ,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;AACnF,IAAI;AACJ,IAAI,eAAe,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC7E,IAAI,OAAO,IAAI,QAAQ,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;AACjE,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG;AACnC,IAAI,IAAI,GAAG,YAAY,8BAA8B,EAAE;AACvD,MAAM,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,mBAAmB,EAAE,GAAG,CAAC,OAAO,CAAC;AAClE,IAAI;AACJ,IAAI,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,eAAe;AACxE,IAAI,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,OAAO,CAAC;AAClD,IAAI,IAAI,GAAG,YAAY,SAAS,IAAI,OAAO,KAAK,cAAc,EAAE;AAChE,MAAM,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,mBAAmB,EAAE,+BAA+B,CAAC;AACtF,IAAI;AACJ,IAAI,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC;AACjD,EAAE;AACF;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { g as getAuthProvider, d as getOrganizationProvider } from '../../../chunks/providers.server.js-Sbk117pY.js';
2
2
  import { h as hasPermission } from '../../../chunks/context.js-D8E0GFTw.js';
3
- import { p as pkg } from '../../../chunks/package.js-CzPC5FUN.js';
3
+ import { p as pkg } from '../../../chunks/package.js-DHaLCZMJ.js';
4
4
 
5
5
  async function loadAdminOrg(ctx) {
6
6
  if (!ctx) return null;
@@ -43,4 +43,4 @@ var _page_server_ts = /*#__PURE__*/Object.freeze({
43
43
  });
44
44
 
45
45
  export { _page_server_ts as _ };
46
- //# sourceMappingURL=_page.server.ts.js-B3A5qHoV.js.map
46
+ //# sourceMappingURL=_page.server.ts.js-BZzQjJU8.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_page.server.ts.js-B3A5qHoV.js","sources":["../../../../../../.svelte-kit/output/server/entries/pages/admin/_page.server.ts.js"],"sourcesContent":["import { g as getAuthProvider, c as getOrganizationProvider } from \"../../../chunks/providers.server.js\";\nimport { h as hasPermission } from \"../../../chunks/context.js\";\nimport { p as pkg } from \"../../../chunks/package.js\";\nasync function loadAdminOrg(ctx) {\n if (!ctx) return null;\n try {\n const page = await getOrganizationProvider().listOrgs(ctx, { limit: 1 });\n const org = page.items[0];\n return org ? { id: org.id, name: org.name, assets: org.assets ?? {} } : null;\n } catch (err) {\n console.error(\"Failed to load admin org for asset cards:\", err);\n return null;\n }\n}\nconst load = async ({ locals }) => {\n const ctx = locals.ctx;\n const canSeeUserStats = ctx ? hasPermission(ctx, \"manage_instance_users\") : false;\n const canManageOrg = ctx ? hasPermission(ctx, \"manage_org_members\") : false;\n const platformPermissions = ctx?.platformPermissions ?? [];\n const org = canManageOrg ? await loadAdminOrg(ctx) : null;\n if (!canSeeUserStats) {\n return { stats: { users: null }, platformPermissions, version: pkg.version, org };\n }\n try {\n const usersPage = await getAuthProvider().listUsers({ limit: 200 });\n return {\n stats: { users: usersPage?.items.length ?? null },\n platformPermissions,\n version: pkg.version,\n org\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, version: pkg.version, org };\n }\n};\nexport {\n load\n};\n"],"names":[],"mappings":";;;;AAGA,eAAe,YAAY,CAAC,GAAG,EAAE;AACjC,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,IAAI;AACvB,EAAE,IAAI;AACN,IAAI,MAAM,IAAI,GAAG,MAAM,uBAAuB,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAC5E,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,IAAI,OAAO,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI;AAChF,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC;AACnE,IAAI,OAAO,IAAI;AACf,EAAE;AACF;AACA,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,YAAY,GAAG,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,oBAAoB,CAAC,GAAG,KAAK;AAC7E,EAAE,MAAM,mBAAmB,GAAG,GAAG,EAAE,mBAAmB,IAAI,EAAE;AAC5D,EAAE,MAAM,GAAG,GAAG,YAAY,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI;AAC3D,EAAE,IAAI,CAAC,eAAe,EAAE;AACxB,IAAI,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,mBAAmB,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE;AACrF,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,mBAAmB;AACzB,MAAM,OAAO,EAAE,GAAG,CAAC,OAAO;AAC1B,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,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE;AACrF,EAAE;AACF,CAAC;;;;;;;;;"}
1
+ {"version":3,"file":"_page.server.ts.js-BZzQjJU8.js","sources":["../../../../../../.svelte-kit/output/server/entries/pages/admin/_page.server.ts.js"],"sourcesContent":["import { g as getAuthProvider, c as getOrganizationProvider } from \"../../../chunks/providers.server.js\";\nimport { h as hasPermission } from \"../../../chunks/context.js\";\nimport { p as pkg } from \"../../../chunks/package.js\";\nasync function loadAdminOrg(ctx) {\n if (!ctx) return null;\n try {\n const page = await getOrganizationProvider().listOrgs(ctx, { limit: 1 });\n const org = page.items[0];\n return org ? { id: org.id, name: org.name, assets: org.assets ?? {} } : null;\n } catch (err) {\n console.error(\"Failed to load admin org for asset cards:\", err);\n return null;\n }\n}\nconst load = async ({ locals }) => {\n const ctx = locals.ctx;\n const canSeeUserStats = ctx ? hasPermission(ctx, \"manage_instance_users\") : false;\n const canManageOrg = ctx ? hasPermission(ctx, \"manage_org_members\") : false;\n const platformPermissions = ctx?.platformPermissions ?? [];\n const org = canManageOrg ? await loadAdminOrg(ctx) : null;\n if (!canSeeUserStats) {\n return { stats: { users: null }, platformPermissions, version: pkg.version, org };\n }\n try {\n const usersPage = await getAuthProvider().listUsers({ limit: 200 });\n return {\n stats: { users: usersPage?.items.length ?? null },\n platformPermissions,\n version: pkg.version,\n org\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, version: pkg.version, org };\n }\n};\nexport {\n load\n};\n"],"names":[],"mappings":";;;;AAGA,eAAe,YAAY,CAAC,GAAG,EAAE;AACjC,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,IAAI;AACvB,EAAE,IAAI;AACN,IAAI,MAAM,IAAI,GAAG,MAAM,uBAAuB,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAC5E,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,IAAI,OAAO,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI;AAChF,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC;AACnE,IAAI,OAAO,IAAI;AACf,EAAE;AACF;AACA,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,YAAY,GAAG,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,oBAAoB,CAAC,GAAG,KAAK;AAC7E,EAAE,MAAM,mBAAmB,GAAG,GAAG,EAAE,mBAAmB,IAAI,EAAE;AAC5D,EAAE,MAAM,GAAG,GAAG,YAAY,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI;AAC3D,EAAE,IAAI,CAAC,eAAe,EAAE;AACxB,IAAI,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,mBAAmB,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE;AACrF,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,mBAAmB;AACzB,MAAM,OAAO,EAAE,GAAG,CAAC,OAAO;AAC1B,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,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE;AACrF,EAAE;AACF,CAAC;;;;;;;;;"}
@@ -4,7 +4,7 @@ import { f as flag } from '../../../../chunks/providers.server.js-Sbk117pY.js';
4
4
  import { w as writeChannel, r as readChannel, c as checkForUpdate } from '../../../../chunks/updateCheck.server.js-DdReI2pF.js';
5
5
  import { d as requirePermission } from '../../../../chunks/access.server.js-x_KrjYJP.js';
6
6
  import { D as DEFINITION_CACHE_TTL_MS, R as REMOTE_DEFINITION_FETCH_TIMEOUT_MS, a as REMOTE_DEFINITION_MAX_BYTES, C as COMPUTE_RESPONSE_MAX_BYTES, b as COMPUTE_REQUEST_MAX_BYTES, M as MAX_IMAGE_FILE_SIZE, c as MAX_GH_FILE_SIZE, d as RATE_LIMIT_MAX_REQUESTS, e as RATE_LIMIT_WINDOW_MS, f as MAX_SOLVE_DURATION_MS } from '../../../../chunks/computeLimits.js-CVHW4MyF.js';
7
- import { p as pkg } from '../../../../chunks/package.js-CzPC5FUN.js';
7
+ import { p as pkg } from '../../../../chunks/package.js-DHaLCZMJ.js';
8
8
 
9
9
  const load = async ({ locals, fetch }) => {
10
10
  const ctx = locals.ctx;
@@ -69,4 +69,4 @@ var _page_server_ts = /*#__PURE__*/Object.freeze({
69
69
  });
70
70
 
71
71
  export { _page_server_ts as _ };
72
- //# sourceMappingURL=_page.server.ts.js-C8VOJ5Sv.js.map
72
+ //# sourceMappingURL=_page.server.ts.js-BQevF14N.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_page.server.ts.js-C8VOJ5Sv.js","sources":["../../../../../../../.svelte-kit/output/server/entries/pages/admin/system/_page.server.ts.js"],"sourcesContent":["import { fail } from \"@sveltejs/kit\";\nimport { h as hasPermission } from \"../../../../chunks/context.js\";\nimport { f as flag } from \"../../../../chunks/providers.server.js\";\nimport { w as writeChannel, r as readChannel, c as checkForUpdate } from \"../../../../chunks/updateCheck.server.js\";\nimport { d as requirePermission } from \"../../../../chunks/access.server.js\";\nimport { D as DEFINITION_CACHE_TTL_MS, R as REMOTE_DEFINITION_FETCH_TIMEOUT_MS, a as REMOTE_DEFINITION_MAX_BYTES, C as COMPUTE_RESPONSE_MAX_BYTES, b as COMPUTE_REQUEST_MAX_BYTES, M as MAX_IMAGE_FILE_SIZE, c as MAX_GH_FILE_SIZE, d as RATE_LIMIT_MAX_REQUESTS, e as RATE_LIMIT_WINDOW_MS, f as MAX_SOLVE_DURATION_MS } from \"../../../../chunks/computeLimits.js\";\nimport { p as pkg } from \"../../../../chunks/package.js\";\nconst load = async ({ locals, fetch }) => {\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 const limits = {\n MAX_SOLVE_DURATION_MS,\n RATE_LIMIT_WINDOW_MS,\n RATE_LIMIT_MAX_REQUESTS,\n MAX_GH_FILE_SIZE,\n MAX_IMAGE_FILE_SIZE,\n COMPUTE_REQUEST_MAX_BYTES,\n COMPUTE_RESPONSE_MAX_BYTES,\n REMOTE_DEFINITION_MAX_BYTES,\n REMOTE_DEFINITION_FETCH_TIMEOUT_MS,\n DEFINITION_CACHE_TTL_MS\n };\n const channel = readChannel();\n const update = canManageUpdates ? await checkForUpdate(fetch, channel) : { channel, current: null, latest: null, updateAvailable: false };\n return {\n canManageUpdates,\n isInstanceAdmin,\n flags,\n limits,\n version: pkg.version,\n channel,\n update\n };\n};\nconst actions = {\n // Persist the release channel. Switch-only: this does NOT trigger an update —\n // the operator then uses the Update runner to install from the chosen channel.\n setChannel: async ({ request, locals }) => {\n requirePermission(locals, \"manage_updates\");\n const data = await request.formData();\n const channel = data.get(\"channel\");\n if (channel !== \"stable\" && channel !== \"beta\") {\n return fail(400, { error: \"Invalid channel.\" });\n }\n try {\n writeChannel(channel);\n } catch (e) {\n return fail(500, {\n error: `Could not persist the channel: ${e instanceof Error ? e.message : \"unknown error\"}`\n });\n }\n return { channel };\n }\n};\nexport {\n actions,\n load\n};\n"],"names":[],"mappings":";;;;;;;;AAOA,MAAM,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;AAC1C,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,MAAM,MAAM,GAAG;AACjB,IAAI,qBAAqB;AACzB,IAAI,oBAAoB;AACxB,IAAI,uBAAuB;AAC3B,IAAI,gBAAgB;AACpB,IAAI,mBAAmB;AACvB,IAAI,yBAAyB;AAC7B,IAAI,0BAA0B;AAC9B,IAAI,2BAA2B;AAC/B,IAAI,kCAAkC;AACtC,IAAI;AACJ,GAAG;AACH,EAAE,MAAM,OAAO,GAAG,WAAW,EAAE;AAC/B,EAAE,MAAM,MAAM,GAAG,gBAAgB,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE;AAC3I,EAAE,OAAO;AACT,IAAI,gBAAgB;AACpB,IAAI,eAAe;AACnB,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,OAAO,EAAE,GAAG,CAAC,OAAO;AACxB,IAAI,OAAO;AACX,IAAI;AACJ,GAAG;AACH,CAAC;AACD,MAAM,OAAO,GAAG;AAChB;AACA;AACA,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK;AAC7C,IAAI,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,CAAC;AAC/C,IAAI,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE;AACzC,IAAI,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;AACvC,IAAI,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,MAAM,EAAE;AACpD,MAAM,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;AACrD,IAAI;AACJ,IAAI,IAAI;AACR,MAAM,YAAY,CAAC,OAAO,CAAC;AAC3B,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,OAAO,IAAI,CAAC,GAAG,EAAE;AACvB,QAAQ,KAAK,EAAE,CAAC,+BAA+B,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,eAAe,CAAC;AAClG,OAAO,CAAC;AACR,IAAI;AACJ,IAAI,OAAO,EAAE,OAAO,EAAE;AACtB,EAAE;AACF,CAAC;;;;;;;;;;"}
1
+ {"version":3,"file":"_page.server.ts.js-BQevF14N.js","sources":["../../../../../../../.svelte-kit/output/server/entries/pages/admin/system/_page.server.ts.js"],"sourcesContent":["import { fail } from \"@sveltejs/kit\";\nimport { h as hasPermission } from \"../../../../chunks/context.js\";\nimport { f as flag } from \"../../../../chunks/providers.server.js\";\nimport { w as writeChannel, r as readChannel, c as checkForUpdate } from \"../../../../chunks/updateCheck.server.js\";\nimport { d as requirePermission } from \"../../../../chunks/access.server.js\";\nimport { D as DEFINITION_CACHE_TTL_MS, R as REMOTE_DEFINITION_FETCH_TIMEOUT_MS, a as REMOTE_DEFINITION_MAX_BYTES, C as COMPUTE_RESPONSE_MAX_BYTES, b as COMPUTE_REQUEST_MAX_BYTES, M as MAX_IMAGE_FILE_SIZE, c as MAX_GH_FILE_SIZE, d as RATE_LIMIT_MAX_REQUESTS, e as RATE_LIMIT_WINDOW_MS, f as MAX_SOLVE_DURATION_MS } from \"../../../../chunks/computeLimits.js\";\nimport { p as pkg } from \"../../../../chunks/package.js\";\nconst load = async ({ locals, fetch }) => {\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 const limits = {\n MAX_SOLVE_DURATION_MS,\n RATE_LIMIT_WINDOW_MS,\n RATE_LIMIT_MAX_REQUESTS,\n MAX_GH_FILE_SIZE,\n MAX_IMAGE_FILE_SIZE,\n COMPUTE_REQUEST_MAX_BYTES,\n COMPUTE_RESPONSE_MAX_BYTES,\n REMOTE_DEFINITION_MAX_BYTES,\n REMOTE_DEFINITION_FETCH_TIMEOUT_MS,\n DEFINITION_CACHE_TTL_MS\n };\n const channel = readChannel();\n const update = canManageUpdates ? await checkForUpdate(fetch, channel) : { channel, current: null, latest: null, updateAvailable: false };\n return {\n canManageUpdates,\n isInstanceAdmin,\n flags,\n limits,\n version: pkg.version,\n channel,\n update\n };\n};\nconst actions = {\n // Persist the release channel. Switch-only: this does NOT trigger an update —\n // the operator then uses the Update runner to install from the chosen channel.\n setChannel: async ({ request, locals }) => {\n requirePermission(locals, \"manage_updates\");\n const data = await request.formData();\n const channel = data.get(\"channel\");\n if (channel !== \"stable\" && channel !== \"beta\") {\n return fail(400, { error: \"Invalid channel.\" });\n }\n try {\n writeChannel(channel);\n } catch (e) {\n return fail(500, {\n error: `Could not persist the channel: ${e instanceof Error ? e.message : \"unknown error\"}`\n });\n }\n return { channel };\n }\n};\nexport {\n actions,\n load\n};\n"],"names":[],"mappings":";;;;;;;;AAOA,MAAM,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;AAC1C,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,MAAM,MAAM,GAAG;AACjB,IAAI,qBAAqB;AACzB,IAAI,oBAAoB;AACxB,IAAI,uBAAuB;AAC3B,IAAI,gBAAgB;AACpB,IAAI,mBAAmB;AACvB,IAAI,yBAAyB;AAC7B,IAAI,0BAA0B;AAC9B,IAAI,2BAA2B;AAC/B,IAAI,kCAAkC;AACtC,IAAI;AACJ,GAAG;AACH,EAAE,MAAM,OAAO,GAAG,WAAW,EAAE;AAC/B,EAAE,MAAM,MAAM,GAAG,gBAAgB,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE;AAC3I,EAAE,OAAO;AACT,IAAI,gBAAgB;AACpB,IAAI,eAAe;AACnB,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,OAAO,EAAE,GAAG,CAAC,OAAO;AACxB,IAAI,OAAO;AACX,IAAI;AACJ,GAAG;AACH,CAAC;AACD,MAAM,OAAO,GAAG;AAChB;AACA;AACA,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK;AAC7C,IAAI,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,CAAC;AAC/C,IAAI,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE;AACzC,IAAI,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;AACvC,IAAI,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,MAAM,EAAE;AACpD,MAAM,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;AACrD,IAAI;AACJ,IAAI,IAAI;AACR,MAAM,YAAY,CAAC,OAAO,CAAC;AAC3B,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,OAAO,IAAI,CAAC,GAAG,EAAE;AACvB,QAAQ,KAAK,EAAE,CAAC,+BAA+B,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,eAAe,CAAC;AAClG,OAAO,CAAC;AACR,IAAI;AACJ,IAAI,OAAO,EAAE,OAAO,EAAE;AACtB,EAAE;AACF,CAAC;;;;;;;;;;"}
@@ -11823,14 +11823,18 @@ function _page($$renderer, $$props) {
11823
11823
  throw new Error(`Rate limit reached. Try again in ${Math.ceil(remainingMs / 1e3)}s.`);
11824
11824
  }
11825
11825
  const solveStart = performance.now();
11826
+ const inputValues = {};
11827
+ for (const input of data.schema.inputs) {
11828
+ if (input.id in values) inputValues[input.id] = values[input.id];
11829
+ }
11826
11830
  const payload = JSON.stringify({
11827
11831
  inputs: data.schema.inputs,
11828
- values,
11832
+ values: inputValues,
11829
11833
  definitionUrl: data.ghDefinition,
11830
11834
  // An explicit version pick takes precedence over the channel pointer.
11831
11835
  ...data.versionId ? { versionId: data.versionId } : data.channel === "draft" && { channel: "draft" }
11832
11836
  });
11833
- const valuesBytes = JSON.stringify(values).length;
11837
+ const valuesBytes = JSON.stringify(inputValues).length;
11834
11838
  let res;
11835
11839
  try {
11836
11840
  res = await fetch("/api/compute", {
@@ -11882,6 +11886,10 @@ function _page($$renderer, $$props) {
11882
11886
  outputs[o.id] = byId ?? (name ? processor.getValue({ byName: name }, { parseValues: true }) : void 0);
11883
11887
  }
11884
11888
  const outputMs = performance.now() - outputStart;
11889
+ const emptyOutputs = data.schema.outputs.filter((o) => outputs[o.id] == null);
11890
+ const errCount = Array.isArray(solved.errors) ? solved.errors.length : 0;
11891
+ const warnCount = Array.isArray(solved.warnings) ? solved.warnings.length : 0;
11892
+ console.log(`[Compute/browser] └─ result: ${data.schema.outputs.length - emptyOutputs.length}/${data.schema.outputs.length} outputs populated | errors=${errCount} warnings=${warnCount}` + (emptyOutputs.length ? ` | EMPTY: ${emptyOutputs.map((o) => o.nickname).join(", ")}` : "") + (errCount > 0 ? ` | first error: ${JSON.stringify(solved.errors[0]).slice(0, 200)}` : ""));
11885
11893
  const serverTiming = parseServerTiming(res.headers.get("Server-Timing"));
11886
11894
  const serverTotal = serverTiming.total ?? 0;
11887
11895
  const networkMs = Math.max(0, ttfbMs - serverTotal);
@@ -11896,12 +11904,12 @@ function _page($$renderer, $$props) {
11896
11904
  const input = data.schema.inputs.find((i) => i.id === id);
11897
11905
  return input ? `${input.nickname} (${input.paramType})` : id;
11898
11906
  };
11899
- const whales = Object.entries(values).map(([id, v]) => [id, JSON.stringify(v)?.length ?? 0]).sort((a, b) => b[1] - a[1]).slice(0, 3);
11907
+ const whales = Object.entries(inputValues).map(([id, v]) => [id, JSON.stringify(v)?.length ?? 0]).sort((a, b) => b[1] - a[1]).slice(0, 3);
11900
11908
  console.log(`[Compute/browser] └─ request whales: ` + whales.map(([id, n]) => `${inputLabel(id)}=${(n / 1024).toFixed(0)} KB`).join(" | "));
11901
11909
  }
11902
11910
  console.log(`[Compute/browser] req=${reqSize} (values ${(valuesBytes / 1024).toFixed(0)} KB) | total=${totalMs.toFixed(0)}ms | ttfb=${ttfbMs.toFixed(0)}ms (network≈${networkMs.toFixed(0)} + server ${serverTotal.toFixed(0)}) | download=${downloadMs.toFixed(0)}ms (${size} @ ${mbps} MB/s) | json=${jsonMs.toFixed(0)}ms | rhinoInit=${rhinoInitMs.toFixed(0)}ms | mesh=${meshMs.toFixed(0)}ms (${meshes.length}) | outputs=${outputMs.toFixed(0)}ms`);
11903
11911
  if (serverTiming.total !== void 0) {
11904
- console.log(`[Compute/browser] └─ server: load=${(serverTiming.load ?? 0).toFixed(0)}ms tree=${(serverTiming.tree ?? 0).toFixed(0)}ms solve=${(serverTiming.solve ?? 0).toFixed(0)}ms serialize=${(serverTiming.serialize ?? 0).toFixed(0)}ms`);
11912
+ console.log(`[Compute/browser] └─ server: load=${(serverTiming.load ?? 0).toFixed(0)}ms tree=${(serverTiming.tree ?? 0).toFixed(0)}ms solve=${(serverTiming.solve ?? 0).toFixed(0)}ms serialize=${(serverTiming.serialize ?? 0).toFixed(0)}ms gzip=${(serverTiming.gzip ?? 0).toFixed(0)}ms`);
11905
11913
  }
11906
11914
  if (serverTiming.selva_cache !== void 0) {
11907
11915
  const cacheMsg = serverTiming.selva_cache ? "Selva-cache HIT — served without calling compute" : "miss — solved on Rhino.Compute";
@@ -11960,4 +11968,4 @@ function _page($$renderer, $$props) {
11960
11968
  }
11961
11969
 
11962
11970
  export { _page as default };
11963
- //# sourceMappingURL=_page.svelte.js-CXs9URej.js.map
11971
+ //# sourceMappingURL=_page.svelte.js-CPiOucjC.js.map