gemi 0.56.0 → 0.58.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) hide show
  1. package/dist/app/index.js +1 -1
  2. package/dist/broadcasting/index.js +1 -1
  3. package/dist/bun/plugin.js +1 -1
  4. package/dist/bun/preload.js +1 -1
  5. package/dist/{chunk-jdj7k3r9.js → chunk-0a2xgcj3.js} +2 -2
  6. package/dist/{chunk-jdj7k3r9.js.map → chunk-0a2xgcj3.js.map} +1 -1
  7. package/dist/{chunk-3e88tyee.js → chunk-3337e5g0.js} +2 -2
  8. package/dist/{chunk-3e88tyee.js.map → chunk-3337e5g0.js.map} +1 -1
  9. package/dist/chunk-3aa287k7.js +6 -0
  10. package/dist/{chunk-cv9w5cmb.js.map → chunk-3aa287k7.js.map} +2 -2
  11. package/dist/{chunk-01am9k5v.js → chunk-3g5bjvdf.js} +2 -2
  12. package/dist/{chunk-01am9k5v.js.map → chunk-3g5bjvdf.js.map} +1 -1
  13. package/dist/{chunk-w9k9s4wh.js → chunk-3xadx444.js} +2 -2
  14. package/dist/{chunk-w9k9s4wh.js.map → chunk-3xadx444.js.map} +1 -1
  15. package/dist/{chunk-npg72mez.js → chunk-3zxwscmf.js} +2 -2
  16. package/dist/{chunk-kgmr9qxx.js.map → chunk-3zxwscmf.js.map} +1 -1
  17. package/dist/{chunk-64s1pzz1.js → chunk-437085pe.js} +2 -2
  18. package/dist/{chunk-64s1pzz1.js.map → chunk-437085pe.js.map} +1 -1
  19. package/dist/{chunk-eqrd31ye.js → chunk-4yt5x8s2.js} +2 -2
  20. package/dist/{chunk-eqrd31ye.js.map → chunk-4yt5x8s2.js.map} +1 -1
  21. package/dist/{chunk-9r0sb4zn.js → chunk-5athahgr.js} +2 -2
  22. package/dist/{chunk-9r0sb4zn.js.map → chunk-5athahgr.js.map} +1 -1
  23. package/dist/{chunk-g30q4n5y.js → chunk-5n2rvfh3.js} +2 -2
  24. package/dist/{chunk-g30q4n5y.js.map → chunk-5n2rvfh3.js.map} +1 -1
  25. package/dist/{chunk-1zfsgffv.js → chunk-6235kb30.js} +3 -3
  26. package/dist/{chunk-1zfsgffv.js.map → chunk-6235kb30.js.map} +1 -1
  27. package/dist/{chunk-javjeayw.js → chunk-7b0x860b.js} +2 -2
  28. package/dist/{chunk-javjeayw.js.map → chunk-7b0x860b.js.map} +1 -1
  29. package/dist/{chunk-4qwwy968.js → chunk-7ef5n8k2.js} +2 -2
  30. package/dist/{chunk-4qwwy968.js.map → chunk-7ef5n8k2.js.map} +1 -1
  31. package/dist/{chunk-q0waxxz5.js → chunk-7j6wbv12.js} +2 -2
  32. package/dist/{chunk-q0waxxz5.js.map → chunk-7j6wbv12.js.map} +1 -1
  33. package/dist/chunk-86jebsm4.js +9 -0
  34. package/dist/{chunk-kry5vwam.js.map → chunk-86jebsm4.js.map} +3 -3
  35. package/dist/chunk-87qab82w.js +5 -0
  36. package/dist/chunk-87qab82w.js.map +37 -0
  37. package/dist/{chunk-36pg61vt.js → chunk-8gew8b9a.js} +2 -2
  38. package/dist/{chunk-36pg61vt.js.map → chunk-8gew8b9a.js.map} +1 -1
  39. package/dist/{chunk-v6v6sem5.js → chunk-9m2tbf3n.js} +2 -2
  40. package/dist/{chunk-v6v6sem5.js.map → chunk-9m2tbf3n.js.map} +1 -1
  41. package/dist/{chunk-gzdf2025.js → chunk-a2sgjpvq.js} +2 -2
  42. package/dist/{chunk-gzdf2025.js.map → chunk-a2sgjpvq.js.map} +1 -1
  43. package/dist/chunk-b35e128b.js +5 -0
  44. package/dist/{chunk-b50zmz3t.js.map → chunk-b35e128b.js.map} +1 -1
  45. package/dist/{chunk-ct274qts.js → chunk-cyaz97p5.js} +2 -2
  46. package/dist/{chunk-ct274qts.js.map → chunk-cyaz97p5.js.map} +1 -1
  47. package/dist/{chunk-v06qcyj5.js → chunk-d125j8t0.js} +3 -3
  48. package/dist/{chunk-v06qcyj5.js.map → chunk-d125j8t0.js.map} +1 -1
  49. package/dist/{chunk-hs5v3eqj.js → chunk-dgsgjg53.js} +2 -2
  50. package/dist/{chunk-hs5v3eqj.js.map → chunk-dgsgjg53.js.map} +1 -1
  51. package/dist/{chunk-xjy5apyr.js → chunk-eejmhtnc.js} +2 -2
  52. package/dist/{chunk-xjy5apyr.js.map → chunk-eejmhtnc.js.map} +1 -1
  53. package/dist/{chunk-3y75q5a2.js → chunk-fjm4y8bn.js} +2 -2
  54. package/dist/{chunk-3y75q5a2.js.map → chunk-fjm4y8bn.js.map} +1 -1
  55. package/dist/{chunk-9c89q2mz.js → chunk-grdahng8.js} +2 -2
  56. package/dist/{chunk-9c89q2mz.js.map → chunk-grdahng8.js.map} +1 -1
  57. package/dist/{chunk-699z6d8y.js → chunk-gw6agevz.js} +3 -3
  58. package/dist/{chunk-699z6d8y.js.map → chunk-gw6agevz.js.map} +1 -1
  59. package/dist/{chunk-62ke19q4.js → chunk-hppagzz4.js} +4 -4
  60. package/dist/{chunk-62ke19q4.js.map → chunk-hppagzz4.js.map} +1 -1
  61. package/dist/chunk-hwa5sqw5.js +19 -0
  62. package/dist/{chunk-tmnhkphv.js.map → chunk-hwa5sqw5.js.map} +12 -6
  63. package/dist/chunk-hxf1re93.js +4 -0
  64. package/dist/{chunk-vkngcrzq.js.map → chunk-hxf1re93.js.map} +6 -5
  65. package/dist/{chunk-d36dfqxw.js → chunk-j0c6ytkj.js} +3 -3
  66. package/dist/{chunk-d36dfqxw.js.map → chunk-j0c6ytkj.js.map} +1 -1
  67. package/dist/{chunk-kgmr9qxx.js → chunk-jhkjz9jr.js} +2 -2
  68. package/dist/{chunk-npg72mez.js.map → chunk-jhkjz9jr.js.map} +1 -1
  69. package/dist/{chunk-62723jyy.js → chunk-k0fvsyeh.js} +1 -1
  70. package/dist/{chunk-31kcf7dq.js → chunk-keehyx51.js} +2 -2
  71. package/dist/{chunk-31kcf7dq.js.map → chunk-keehyx51.js.map} +1 -1
  72. package/dist/{chunk-enhkf60v.js → chunk-m3xy5xyf.js} +2 -2
  73. package/dist/{chunk-enhkf60v.js.map → chunk-m3xy5xyf.js.map} +1 -1
  74. package/dist/{chunk-c75mymmq.js → chunk-mkfpnymy.js} +1 -1
  75. package/dist/{chunk-rgb69nh1.js → chunk-mwpdp09e.js} +2 -2
  76. package/dist/{chunk-rgb69nh1.js.map → chunk-mwpdp09e.js.map} +1 -1
  77. package/dist/chunk-pmhd6zfc.js +37 -0
  78. package/dist/chunk-pmhd6zfc.js.map +20 -0
  79. package/dist/chunk-qb5mv6pj.js +5 -0
  80. package/dist/chunk-qb5mv6pj.js.map +12 -0
  81. package/dist/{chunk-1pwwrpa3.js → chunk-qgxr0g36.js} +2 -2
  82. package/dist/{chunk-1pwwrpa3.js.map → chunk-qgxr0g36.js.map} +1 -1
  83. package/dist/{chunk-4yafsffx.js → chunk-sy7jbdeb.js} +2 -2
  84. package/dist/{chunk-4yafsffx.js.map → chunk-sy7jbdeb.js.map} +1 -1
  85. package/dist/{chunk-gasdfwva.js → chunk-szss069z.js} +2 -2
  86. package/dist/{chunk-gasdfwva.js.map → chunk-szss069z.js.map} +1 -1
  87. package/dist/{chunk-m0ggfy1m.js → chunk-tss5svjr.js} +2 -2
  88. package/dist/{chunk-m0ggfy1m.js.map → chunk-tss5svjr.js.map} +1 -1
  89. package/dist/{chunk-dzzmqv0j.js → chunk-vr90r27j.js} +2 -2
  90. package/dist/{chunk-dzzmqv0j.js.map → chunk-vr90r27j.js.map} +1 -1
  91. package/dist/{chunk-pvdbrt4z.js → chunk-w62m5f0n.js} +3 -3
  92. package/dist/{chunk-pvdbrt4z.js.map → chunk-w62m5f0n.js.map} +1 -1
  93. package/dist/{chunk-cn2r5jfj.js → chunk-w7rf99w6.js} +2 -2
  94. package/dist/{chunk-cn2r5jfj.js.map → chunk-w7rf99w6.js.map} +1 -1
  95. package/dist/{chunk-tja0c815.js → chunk-wbrj0gya.js} +2 -2
  96. package/dist/{chunk-tja0c815.js.map → chunk-wbrj0gya.js.map} +1 -1
  97. package/dist/{chunk-rsdg619q.js → chunk-xdv1b8mr.js} +2 -2
  98. package/dist/{chunk-rsdg619q.js.map → chunk-xdv1b8mr.js.map} +1 -1
  99. package/dist/{chunk-h3mwgbg7.js → chunk-xey9cbap.js} +2 -2
  100. package/dist/{chunk-h3mwgbg7.js.map → chunk-xey9cbap.js.map} +1 -1
  101. package/dist/{chunk-wgpa04jb.js → chunk-xzk827r3.js} +2 -2
  102. package/dist/{chunk-wgpa04jb.js.map → chunk-xzk827r3.js.map} +1 -1
  103. package/dist/{chunk-x14sk95v.js → chunk-y6a8r2bn.js} +3 -3
  104. package/dist/{chunk-x14sk95v.js.map → chunk-y6a8r2bn.js.map} +1 -1
  105. package/dist/{chunk-33wjsw4r.js → chunk-yed5whgs.js} +3 -3
  106. package/dist/{chunk-33wjsw4r.js.map → chunk-yed5whgs.js.map} +1 -1
  107. package/dist/{chunk-02gdzs5t.js → chunk-yf7vz71n.js} +1 -1
  108. package/dist/{chunk-y9fp58bg.js → chunk-yjzs247s.js} +2 -2
  109. package/dist/{chunk-y9fp58bg.js.map → chunk-yjzs247s.js.map} +1 -1
  110. package/dist/{chunk-kgg1eqne.js → chunk-yy0eb9wn.js} +2 -2
  111. package/dist/{chunk-kgg1eqne.js.map → chunk-yy0eb9wn.js.map} +1 -1
  112. package/dist/{chunk-4xx78ba9.js → chunk-zbxgbr12.js} +2 -2
  113. package/dist/{chunk-4xx78ba9.js.map → chunk-zbxgbr12.js.map} +1 -1
  114. package/dist/{chunk-8k1zqrvh.js → chunk-zh2egcyb.js} +2 -2
  115. package/dist/{chunk-8k1zqrvh.js.map → chunk-zh2egcyb.js.map} +1 -1
  116. package/dist/chunks/ThemeProvider-li1J_igh.js.map +1 -1
  117. package/dist/client/ClientRouter.d.ts.map +1 -1
  118. package/dist/client/ProgressManager.d.ts +1 -1
  119. package/dist/client/RouteStateContext.d.ts +9 -0
  120. package/dist/client/RouteStateContext.d.ts.map +1 -1
  121. package/dist/client/ServerDataProvider.d.ts +7 -0
  122. package/dist/client/ServerDataProvider.d.ts.map +1 -1
  123. package/dist/client/index.d.ts +2 -1
  124. package/dist/client/index.d.ts.map +1 -1
  125. package/dist/client/index.js +68 -10
  126. package/dist/client/index.js.map +1 -1
  127. package/dist/client/rpc.d.ts +42 -0
  128. package/dist/client/rpc.d.ts.map +1 -1
  129. package/dist/client/useFeature.d.ts +40 -0
  130. package/dist/client/useFeature.d.ts.map +1 -0
  131. package/dist/config/index.js +1 -1
  132. package/dist/console/run.js +2 -2
  133. package/dist/console/run.js.map +1 -1
  134. package/dist/container/index.js +2 -2
  135. package/dist/container/index.js.map +1 -1
  136. package/dist/database/index.js +2 -2
  137. package/dist/database/index.js.map +1 -1
  138. package/dist/email/index.js +2 -2
  139. package/dist/email/index.js.map +1 -1
  140. package/dist/facades/Features.d.ts +57 -0
  141. package/dist/facades/Features.d.ts.map +1 -0
  142. package/dist/facades/index.d.ts +1 -0
  143. package/dist/facades/index.d.ts.map +1 -1
  144. package/dist/facades/index.js +2 -2
  145. package/dist/facades/index.js.map +1 -1
  146. package/dist/foundation/index.js +2 -2
  147. package/dist/foundation/index.js.map +1 -1
  148. package/dist/gemi.d.ts +13 -5
  149. package/dist/http/ApiRouter.d.ts +3 -2
  150. package/dist/http/ApiRouter.d.ts.map +1 -1
  151. package/dist/http/HttpRequest.d.ts +4 -0
  152. package/dist/http/HttpRequest.d.ts.map +1 -1
  153. package/dist/http/ViewRouter.d.ts +127 -4
  154. package/dist/http/ViewRouter.d.ts.map +1 -1
  155. package/dist/http/index.d.ts +1 -0
  156. package/dist/http/index.d.ts.map +1 -1
  157. package/dist/http/index.js +2 -2
  158. package/dist/http/index.js.map +1 -1
  159. package/dist/http/middlewareList.d.ts +25 -0
  160. package/dist/http/middlewareList.d.ts.map +1 -0
  161. package/dist/http/requestContext.d.ts +57 -0
  162. package/dist/http/requestContext.d.ts.map +1 -1
  163. package/dist/i18n/dictionaryRuntime.js +2 -2
  164. package/dist/i18n/dictionaryRuntime.js.map +1 -1
  165. package/dist/i18n/index.js +2 -2
  166. package/dist/i18n/index.js.map +1 -1
  167. package/dist/ide/typescript-plugin/index.js +1206 -0
  168. package/dist/ide/typescript-plugin/index.js.map +17 -0
  169. package/dist/kernel/index.js +3 -3
  170. package/dist/kernel/index.js.map +3 -3
  171. package/dist/kernel/providers.d.ts +16 -4
  172. package/dist/kernel/providers.d.ts.map +1 -1
  173. package/dist/orm/context.d.ts +65 -0
  174. package/dist/orm/context.d.ts.map +1 -1
  175. package/dist/orm/index.js +2 -2
  176. package/dist/orm/index.js.map +1 -1
  177. package/dist/server/index.js +2 -2
  178. package/dist/server/index.js.map +1 -1
  179. package/dist/services/discovery.d.ts +27 -0
  180. package/dist/services/discovery.d.ts.map +1 -1
  181. package/dist/services/events/Event.d.ts +208 -0
  182. package/dist/services/events/Event.d.ts.map +1 -0
  183. package/dist/services/events/EventManager.d.ts +285 -0
  184. package/dist/services/events/EventManager.d.ts.map +1 -0
  185. package/dist/services/events/EventServiceProvider.d.ts +46 -0
  186. package/dist/services/events/EventServiceProvider.d.ts.map +1 -0
  187. package/dist/services/events/FakeEventManager.d.ts +155 -0
  188. package/dist/services/events/FakeEventManager.d.ts.map +1 -0
  189. package/dist/services/events/FakeEventManager.test-d.d.ts +2 -0
  190. package/dist/services/events/FakeEventManager.test-d.d.ts.map +1 -0
  191. package/dist/services/events/Listener.d.ts +189 -0
  192. package/dist/services/events/Listener.d.ts.map +1 -0
  193. package/dist/services/events/Listener.test-d.d.ts +2 -0
  194. package/dist/services/events/Listener.test-d.d.ts.map +1 -0
  195. package/dist/services/events/config.d.ts +55 -0
  196. package/dist/services/events/config.d.ts.map +1 -0
  197. package/dist/services/events/listenerJob.d.ts +43 -0
  198. package/dist/services/events/listenerJob.d.ts.map +1 -0
  199. package/dist/services/features/FeatureFlagStore.d.ts +60 -0
  200. package/dist/services/features/FeatureFlagStore.d.ts.map +1 -0
  201. package/dist/services/features/FeatureManager.d.ts +82 -0
  202. package/dist/services/features/FeatureManager.d.ts.map +1 -0
  203. package/dist/services/features/FeaturesServiceProvider.d.ts +6 -0
  204. package/dist/services/features/FeaturesServiceProvider.d.ts.map +1 -0
  205. package/dist/services/features/bucket.d.ts +57 -0
  206. package/dist/services/features/bucket.d.ts.map +1 -0
  207. package/dist/services/features/config.d.ts +57 -0
  208. package/dist/services/features/config.d.ts.map +1 -0
  209. package/dist/services/features/context.d.ts +31 -0
  210. package/dist/services/features/context.d.ts.map +1 -0
  211. package/dist/services/features/defineFeature.d.ts +145 -0
  212. package/dist/services/features/defineFeature.d.ts.map +1 -0
  213. package/dist/services/features/evaluate.d.ts +74 -0
  214. package/dist/services/features/evaluate.d.ts.map +1 -0
  215. package/dist/services/features/sources/DatabaseFeatureFlagSource.d.ts +19 -0
  216. package/dist/services/features/sources/DatabaseFeatureFlagSource.d.ts.map +1 -0
  217. package/dist/services/features/sources/FeatureFlagSource.d.ts +30 -0
  218. package/dist/services/features/sources/FeatureFlagSource.d.ts.map +1 -0
  219. package/dist/services/features/sources/StaticFeatureFlagSource.d.ts +24 -0
  220. package/dist/services/features/sources/StaticFeatureFlagSource.d.ts.map +1 -0
  221. package/dist/services/features/types.d.ts +63 -0
  222. package/dist/services/features/types.d.ts.map +1 -0
  223. package/dist/services/index.d.ts +18 -1
  224. package/dist/services/index.d.ts.map +1 -1
  225. package/dist/services/index.js +8 -8
  226. package/dist/services/index.js.map +8 -4
  227. package/dist/services/queue/QueueManager.d.ts +31 -0
  228. package/dist/services/queue/QueueManager.d.ts.map +1 -1
  229. package/dist/services/router/ViewRouteDispatcher.d.ts +8 -0
  230. package/dist/services/router/ViewRouteDispatcher.d.ts.map +1 -1
  231. package/dist/services/router/createFlatViewRoutes.d.ts +14 -0
  232. package/dist/services/router/createFlatViewRoutes.d.ts.map +1 -1
  233. package/dist/services/router/streamQueryInjection.d.ts.map +1 -1
  234. package/dist/support/index.js +2 -2
  235. package/dist/support/index.js.map +1 -1
  236. package/dist/testing/Page.d.ts +12 -0
  237. package/dist/testing/Page.d.ts.map +1 -1
  238. package/dist/testing/index.d.ts +24 -0
  239. package/dist/testing/index.d.ts.map +1 -1
  240. package/dist/testing/index.js +7 -3
  241. package/dist/testing/index.js.map +1 -1
  242. package/ide/typescript-plugin/package.json +5 -0
  243. package/package.json +4 -2
  244. package/dist/chunk-4t80js0n.js +0 -33
  245. package/dist/chunk-4t80js0n.js.map +0 -18
  246. package/dist/chunk-98a576s9.js +0 -5
  247. package/dist/chunk-98a576s9.js.map +0 -30
  248. package/dist/chunk-b50zmz3t.js +0 -5
  249. package/dist/chunk-cv9w5cmb.js +0 -6
  250. package/dist/chunk-f9mfw82d.js +0 -5
  251. package/dist/chunk-f9mfw82d.js.map +0 -12
  252. package/dist/chunk-kry5vwam.js +0 -9
  253. package/dist/chunk-tmnhkphv.js +0 -19
  254. package/dist/chunk-vkngcrzq.js +0 -4
  255. /package/dist/{chunk-62723jyy.js.map → chunk-k0fvsyeh.js.map} +0 -0
  256. /package/dist/{chunk-c75mymmq.js.map → chunk-mkfpnymy.js.map} +0 -0
  257. /package/dist/{chunk-02gdzs5t.js.map → chunk-yf7vz71n.js.map} +0 -0
@@ -1,19 +0,0 @@
1
- // @bun
2
- import{Fc as mf,Kc as yf,wc as cf,xc as b0,yc as Pf,zc as Rf}from"./chunk-kry5vwam.js";import{Vc as M0,qd as pf}from"./chunk-x14sk95v.js";import{Ad as _f,vd as Mf}from"./chunk-q0waxxz5.js";import{Bd as R0,Dd as d0,Fd as v0,Kd as Ni,Md as p,Nd as V,Qd as m0,Rd as bi,Sd as k0,Td as wi,Ud as H0,Vd as y,Wd as h,Yd as bf,Zd as di,ce as Li,ge as b,ke as kf}from"./chunk-vkngcrzq.js";import{re as L}from"./chunk-f9mfw82d.js";import{Ze as H}from"./chunk-ct274qts.js";import{_e as gi,bf as X}from"./chunk-v06qcyj5.js";import{if as pi}from"./chunk-kgmr9qxx.js";class E{static getFacadeAccessor(){throw Error(`Facade [${this.name}] does not implement getFacadeAccessor().`)}static getFacadeRoot(){return X(this.getFacadeAccessor())}}import{AsyncLocalStorage as ef}from"async_hooks";class mi{config;static token="broadcast";publishCb;context=new ef;constructor(i){this.config=i}get channels(){return this.config.channels}onPublish(i){this.publishCb=i}publish(...i){let[f,$,z]=i;this.publishCb(f,$,z)}async handleMessage(i,f){let $=JSON.parse(f);if($.type==="subscribe"){let z=Object.entries(this.channels).sort(([U],[C])=>U.length-C.length);for(let[U,C]of z){let j=new URLPattern({pathname:U});if(j.test({pathname:$.topic})){let O=j.exec({pathname:$.topic})?.pathname.groups,w=new C;if(await w.subscribe.call(w,O))i.subscribe($.topic);break}}}if($.type==="broadcast")i.publish($.topic,JSON.stringify({topic:$.topic,data:$.payload}));if($.type==="unsubscribe")i.unsubscribe($.topic)}run(i,f){let $=i.get("Cookie"),z=new Map;if($){let U=$.split(";");for(let C of U){let[j,O]=C.split("=");z.set(j.trim(),O.trim())}}this.context.run({headers:i,cookies:z},f)}}class Di extends E{static getFacadeAccessor(){return mi}static channel(i,f){let $=this.getFacadeRoot(),z=$.channels[i];if(!z)return console.error(`Channel ${i} not found`),{publish:()=>{}};let U=new z;return{publish:(C,j=!1)=>{let O=h(i,f);$.publish(O,JSON.stringify({topic:O,data:U.publish(C)}),j)}}}}class u extends E{static getFacadeAccessor(){return b}static async user(){let i=L.getStore(),f=Di.getFacadeRoot().context.getStore(),$="",z="";if(i?.req)$=i.req.cookies.get("access_token"),z=i.req.headers.get("User-Agent");if(f?.cookies)z=f.headers.get("User-Agent"),$=f.cookies.get("access_token");let U=i?.user;if(!U)U=(await this.getFacadeRoot().getSession($,z))?.user,i?.setUser(U);if(U)return U;throw new H0}static async guard(i){let f=await u.user();if(!f)throw new bi;try{if(!await i(f))throw new bi}catch($){throw new bi}}static async guardSafe(i){let f=await u.user();if(!f)return!1;try{return await i(f)}catch($){return!1}}static async authenticate(i){return await this.getFacadeRoot().authenticate(i)}static async createMagicLink(i){return await this.getFacadeRoot().createMagicLinkToken(i)}}class Ci extends E{static getFacadeAccessor(){return H}static getSupportedLocales(){return this.getFacadeRoot().supportedLocales}static getDefaultLocale(){return this.getFacadeRoot().defaultLocale}static locale(){let i=this.getFacadeRoot(),f=L.getStore();if(f)return f.locale??i.detectLocale(f.req);return i.defaultLocale}static setLocale(i=Ci.locale()){let f=this.getFacadeRoot(),$=i;if(!f.supportedLocales.includes(i))$=f.defaultLocale;let z=L.getStore();return z.setCookie("i18n-locale",$,{expires:new Date(Date.now()+31536000000),secure:!1,httpOnly:!1}),z.setLocale($),$}}import{Buffer as f1}from"buffer";async function Wi(i){try{return(await import("sharp")).default}catch(f){throw Error(`${i} requires the 'sharp' package. Install it with \`bun add sharp\`.`,{cause:f})}}class yi{async read(i){let f=typeof i==="string"?{name:i}:i,$=await this.fetch({name:f.name,bucket:f.bucket});if(!$.ok)throw new wi(f.name);let z=$.headers.get("Content-Type")??"application/octet-stream",U=$.headers.get("ETag")??void 0,C=$.headers.get("Last-Modified"),j=C?new Date(C):void 0;if(f.range){let W=await $.blob();return{body:W,start:0,end:W.size-1,total:W.size,partial:!1,type:z,etag:U,lastModified:j,name:f.name}}let O=Number($.headers.get("Content-Length")),w=Number.isFinite(O)?O:0;return{body:$.body,start:0,end:w-1,total:w,partial:!1,type:z,etag:U,lastModified:j,name:f.name}}async size(i){let f=typeof i==="string"?i:i.name,$=typeof i==="string"?void 0:i.bucket,z=await this.fetch({name:f,bucket:$});if(!z.ok)throw new wi(f);let U=Number(z.headers.get("Content-Length"));if(Number.isFinite(U))return await z.body?.cancel(),U;return(await z.blob()).size}}import{readdir as i1}from"fs/promises";class qi extends yi{folderPath;constructor(i=`${process.env.ROOT_DIR}/storage`){super();this.folderPath=i}async put(i){let f,$;if(i instanceof Blob)f=i,$=`${Bun.randomUUIDv7()}.${i.type.split("/")[1].split(";")[0]}`;else f=i.body,$=i.name;let z=f instanceof Buffer?f:f instanceof Blob||f instanceof File?Buffer.from(await f.arrayBuffer()):"",U=`${this.folderPath}/${$}`;return await Bun.write(U,z),$}async fetch(i){let f=process.env.BUCKET_NAME,$;if(typeof i==="string")$=i;else f=i.bucket??f,$=i.name;if(!$)throw Error("Object name has to be specified");let z=`${this.folderPath}/${$}`,U=Bun.file(z),C=Bun.file(z).stream(),j=new Date(U.lastModified).toUTCString();return new Response(C,{headers:{"Content-Type":U.type,"Content-Length":String(U.size),"Cache-Control":"private, max-age=12000, must-revalidate","Last-Modified":j}})}async read(i){let f=typeof i==="string"?{name:i}:i,{name:$,range:z=null}=f;if(!$)throw Error("Object name has to be specified");let U=Bun.file(`${this.folderPath}/${$}`);if(!await U.exists())throw new wi($);let C=U.size,j=z?v0(z,C):null;if(z&&!j)throw new k0(C);let O=j?.start??0,w=j?j.end:C-1;return{body:j?U.slice(O,w+1):U,start:O,end:w,total:C,partial:Boolean(j),type:U.type||"application/octet-stream",lastModified:new Date(U.lastModified),name:$}}async size(i){let f=typeof i==="string"?i:i.name,$=Bun.file(`${this.folderPath}/${f}`);if(!await $.exists())throw new wi(f);return $.size}async list(){return await i1(this.folderPath)}}function x$(i){return i}function h0(){return{driver:new qi}}class ni{static token="filesystem";driver;constructor(i={}){this.driver=i.driver??h0().driver}}class c0 extends E{static getFacadeAccessor(){return ni}static async put(i){return this.getFacadeRoot().driver.put(i)}static async metadata(i){let f=f1.from(await i.arrayBuffer()),$=await Wi("Storage.metadata()");try{return await $(f).metadata()}catch{return{}}}static async fetch(i){return this.getFacadeRoot().driver.fetch(i)}static async read(i,f={}){let $=typeof i==="string"?{name:i}:{...i},z="range"in f?f.range??null:$.range!==void 0?$.range:L.getStore()?.rangeRequest??null;return this.getFacadeRoot().driver.read({...$,range:z})}static list(i){return this.getFacadeRoot().driver.list(i)}static delete(){}}function P0(i){return Object.fromEntries(Object.entries(i).filter(([,f])=>{return f!==null&&f!==void 0}))}var $1=50;class Ji{fetcher;entries=new Map;settleListener=null;failListener=null;shellAt=null;settledBacklog=[];shipped=new Set;requestStartedAt=performance.now();renderStartedAt=null;discoveryHintsMuted=!1;constructor(i){this.fetcher=i}elapsed(){return Math.round(performance.now()-this.requestStartedAt)}keyFor(i,f){return[i,f].filter(($)=>$.length>0).join("?")}markRenderStart(){if(this.renderStartedAt===null)this.renderStartedAt=performance.now()}markShell(){if(this.shellAt===null)this.shellAt=this.elapsed()}summarize(i){let f=this.elapsed();return{shellAt:this.shellAt??f,settledAt:f,aborted:i,queries:Array.from(this.entries.values(),($)=>({path:$.path,variantKey:$.variantKey,startedAt:$.startedAt,settledAt:$.settledAt,status:$.status,source:$.source}))}}onQueryFail(i){this.failListener=i}muteDiscoveryHints(){this.discoveryHintsMuted=!0}maybeLogLateDiscovery(i){if(!i.lateBy||this.discoveryHintsMuted)return;if(i.status!=="resolved")return;if(Bun.env.NODE_ENV==="production")return;let f="";try{let U=JSON.stringify(i.data)?.length??0;f=U>=1024?`${(U/1024).toFixed(1)} kB`:`${U} B`}catch{f="an unserializable payload"}let $=(i.settledAt??0)-i.startedAt,z=i.variantKey?`, { search: ${JSON.stringify(Object.fromEntries(new URLSearchParams(i.variantKey)))} }`:"";console.warn(`[gemi] useQuery("${i.patternPath}") was discovered ${i.lateBy}ms into the `+`server render \u2014 under a suspended segment, so its fetch (${$}ms, resolved ${f}) could not overlap the others. It still streamed. If the query belongs on this route, \`Query.prefetch("${i.patternPath}"${z})\` in the view `+"handler starts it at request time \u2014 but note prefetched data is also re-fetched and "+`streamed into every client-side navigation payload for the route, even when the client already holds it, so weigh that bandwidth against the ${f}. If the data is only needed conditionally (a closed popover, a hidden tab), \`{ lazy: true }\` + \`trigger()\` avoids running it here at all. \`Query.noPrefetch()\` in the handler marks the omission intentional and silences this hint for the route.`)}read(i,f){return this.entries.get(this.keyFor(i,f))}ensure(i,f={},$="render"){let z=f.params??{},U=new URLSearchParams(P0(f.search??{}));U.delete("json"),U.sort();let C=h(i,z),j=U.toString(),O=this.keyFor(C,j),w=this.entries.get(O);if(w)return w;let W;if($==="render"&&this.renderStartedAt!==null){let x=Math.round(performance.now()-this.renderStartedAt);if(x>$1)W=x}let J,Y=new Promise((x)=>{J=x}),I={path:C,patternPath:i,variantKey:j,lateBy:W,status:"pending",promise:Y,source:$,startedAt:this.elapsed()};return this.entries.set(O,I),this.fetcher(i,z,U).then((x)=>{I.status="resolved",I.data=x},(x)=>{I.status="rejected",I.error=x}).then(()=>{if(I.settledAt=this.elapsed(),this.maybeLogLateDiscovery(I),I.status==="rejected"&&this.failListener)this.failListener(I);if(this.settleListener)this.settleListener(I);else this.settledBacklog.push(I);J()}),I}async allSettled(){let i=0;while(i!==this.entries.size)i=this.entries.size,await Promise.all(Array.from(this.entries.values(),(f)=>f.promise))}snapshotResolved(){let i={};for(let[f,$]of this.entries){if($.status!=="resolved")continue;this.shipped.add(f),i[$.path]??={},i[$.path][$.variantKey]=$.data}return i}onSettle(i){this.settleListener=($)=>{if(this.shipped.has(this.keyFor($.path,$.variantKey)))return;i($)};let f=this.settledBacklog;this.settledBacklog=[];for(let $ of f)this.settleListener($)}}class Ki extends Error{path;variantKey;status;body;constructor(i,f,$,z){super(typeof z?.message==="string"?z.message:`Request to /api${i} failed with status ${$}`);this.path=i;this.variantKey=f;this.status=$;this.body=z;this.name="QueryError"}}class si extends V{schema={email:{required:"Email is required",string:"Invalid email",email:"Invalid email"},password:{required:"Password is required"}}}class p0 extends V{schema={email:{required:"Email is required",email:"Invalid email"}}}class y0 extends V{schema={password:{required:"Password is required",password:"Invalid password"}}}class M extends R0{async me(){let i=await u.user();if(!i)throw new m0;return i}async verifyEmail(i=new V){let f=await i.input(),{userProvider:$}=X(b),z=await $.findUserByVerificationToken(f.get("token"));if(!z)return{email:null};return await $.verifyUser(z.email),{email:z.email}}async signInWithMagicLink(i=new V){let f=X(b),{userProvider:$}=f,z=i.search.get("token"),U=decodeURIComponent(i.search.get("email")).toLowerCase().trim(),C=null;try{C=await $.findUserMagicLinkToken({email:U,token:z})}catch(w){return console.log(w),{error:JSON.stringify(w)}}if(!C)return{error:"Invalid token"};await $.verifyUser(U),await $.deleteMagicLinkToken(U);let j=await f.createOrUpdateSession({email:U}),O=new URL(i.rawRequest.url);return i.ctx().setCookie("access_token",j.token,{expires:j.expiresAt,secure:!O.origin.includes("localhost"),httpOnly:!0}),await f.config.onSignIn(j,i.search.toJSON()),{session:j}}async signInWithPinV2(i=new V){let f=X(b),{userProvider:$}=f,z=await i.input(),{email:U,pin:C}=z.toJSON(),j=U.toLowerCase().trim();if(!await $.findUserMagicLinkToken({email:j,pin:C}))throw new p({pin:["Invalid pin"]});await $.deleteMagicLinkToken(j),await $.verifyUser(j);let w=await f.createOrUpdateSessionV2({email:j}),W=new URL(i.rawRequest.url);return i.ctx().setCookie("access_token",w.token,{expires:w.expiresAt,secure:!W.origin.includes("localhost"),httpOnly:!0}),await f.config.onSignIn(w,i.search.toJSON()),w}async signInWithPin(i=new V){let f=X(b),{userProvider:$}=f,z=await i.input(),{email:U,pin:C}=z.toJSON(),j=U.toLowerCase().trim();if(!await $.findUserMagicLinkToken({email:j,pin:C}))throw new p({pin:["Invalid pin"]});await $.deleteMagicLinkToken(j),await $.verifyUser(j);let w=await f.createOrUpdateSession({email:j}),W=new URL(i.rawRequest.url);return i.ctx().setCookie("access_token",w.token,{expires:w.expiresAt,secure:!W.origin.includes("localhost"),httpOnly:!0}),await f.config.onSignIn(w,i.search.toJSON()),{session:w}}async signInV2(i=new si){let f=new URL(i.rawRequest.url),$=await i.input(),{email:z,password:U}=$.toJSON(),C=z.toLowerCase().trim(),j=X(b),O=await j.userProvider.findUserByEmailAddress(C,j.config.verifyEmail);if(!O)throw new p({invalid_credentials:["Invalid credentials"]});if(!await j.config.verifyPassword(U,O.password))throw new p({invalid_credentials:["Invalid credentials"]});let W=await j.createOrUpdateSessionV2({email:O.email,id:O.id});i.ctx().setCookie("access_token",W.token,{expires:W.expiresAt,secure:!f.origin.includes("localhost"),httpOnly:!0}),await j.config.onSignIn(O,i.search.toJSON());let{password:J,...Y}=O;return Y}async signIn(i=new si){let f=await i.input(),{email:$,password:z}=f.toJSON(),U=$.toLowerCase().trim(),C=X(b),j=await C.userProvider.findUserByEmailAddress(U,C.config.verifyEmail);if(!j)throw new p({invalid_credentials:["Invalid credentials"]});if(!await C.config.verifyPassword(z,j.password))throw new p({invalid_credentials:["Invalid credentials"]});let w=await C.createOrUpdateSession({email:j.email,id:j.id}),W=new URL(i.rawRequest.url);i.ctx().setCookie("access_token",w.token,{expires:w.expiresAt,secure:!W.origin.includes("localhost"),httpOnly:!0}),await C.config.onSignIn(j,i.search.toJSON());let{password:J,...Y}=j;return Y}async signUp(){let i=X(b),{userProvider:f,config:$}=i,z=new $.signUpRequest,U=await z.input(),{email:C,password:j,name:O,invitationId:w}=U.toJSON(),W=C.toLowerCase().trim();if(await f.findUserByEmailAddress(W,!1))throw new p({email:["Email address already exists"]});let Y=await $.hashPassword(j),I=X(H).detectLocale(z),x;if(w)x=await f.findInvitation(w,W);let B,T="";if(x)B=await f.transaction(async()=>{await f.deleteInvitationById(w);let F=await f.createUser({email:W,name:O,password:Y,emailVerifiedAt:new Date,locale:I});return await f.createAccount({organizationId:x.organizationId,userId:F.id,organizationRole:x.role}),await $.onUserCreated(F),F});else T=await $.generateEmailVerificationToken(W),B=await f.transaction(async()=>{let F=await f.createUser({email:W,name:O,password:Y,verificationToken:T,locale:I});return await $.onUserCreated(F),F});return await $.onSignUp(B,T,z.search.toJSON()),B}async signOut(i=new V){let f=i.cookies.get("access_token"),$=await u.user(),{userProvider:z,config:U}=X(b);await z.deleteSession({token:f});let C=new URL(i.rawRequest.url);return i.ctx().setCookie("access_token","",{expires:new Date(0),secure:!C.origin.includes("localhost"),httpOnly:!0}),await U.onSignOut($),{}}async forgotPassword(i=new p0){let $=(await i.input()).get("email").toLowerCase().trim(),{userProvider:z,config:U}=X(b),C=await z.findUserByEmailAddress($,U.verifyEmail);if(!C)return{};let j=await U.generateForgotPasswordToken(C);return await z.createPasswordResetToken({user:C,token:j}),await U.onForgotPassword(C,j),{}}async resetPassword(i=new y0){let{userProvider:f,config:$}=X(b),z=await i.input(),{password:U,token:C}=z.toJSON(),j=await f.findPasswordResetToken({token:C});if(!j)throw new p({token:["Invalid token"]});if(Li.Instant.from(j.createdAt.toISOString()).add({hours:24}).until(Li.Now.instant()).sign>=0)throw new p({token:["Token expired"]});await f.deletePasswordResetToken({token:C});let w=await f.findUserByEmailAddress(j.user.email,$.verifyEmail);if(!w)throw new p({email:["User not found"]});let W=await $.hashPassword(U);return await f.updateUserPassword({id:w.id,password:W}),await f.deleteAllUserSessions(w.id),await $.onResetPassword(w),{}}async changePassword(i=new V){let{userProvider:f,config:$}=X(b),z=await u.user(),U=await i.input(),{oldPassword:C,newPassword:j}=U.toJSON(),{password:O}=await f.findUserByEmailAddress(z.email,$.verifyEmail);if(!await $.verifyPassword(C,O))throw new p({oldPassword:["Incorrect password"]});let W=await $.hashPassword(j);return await f.updateUserPassword({id:z.id,password:W}),await f.deleteAllUserSessions(z.id),{}}async oauthRedirect(i=new V){let{provider:f}=i.params,$=X(b).config.oauthProviders[f];if(!$)throw Error(`Invalid provider: ${f}`);return{destination:await $.getRedirectUrl(i)}}async oauthCallback(i=new V){let{provider:f}=i.params,$=X(b),{userProvider:z,config:U}=$,C=U.oauthProviders[f],{email:j,name:O}=await C.onCallback(i);if(!j)return console.error("Authentication error: No email returned from OAuth provider callback"),{session:null};let w=await z.findUserByEmailAddress(j,!1),W=X(H).detectLocale(i),J="signin";if(!w)J="signup",w=await z.transaction(async()=>{let x=await z.createUser({email:j,name:O,locale:W,emailVerifiedAt:new Date});return await z.createSocialAccount({provider:f,userId:x.id,email:j,username:O,providerId:"",expiresAt:new Date,accessToken:"",refreshToken:""}),await U.onUserCreated(x),x});let Y=await $.createOrUpdateSessionV2({email:w.email,id:w.id}),I=new URL(i.rawRequest.url);if(i.ctx().setCookie("access_token",Y.token,{secure:!I.origin.includes("localhost"),httpOnly:!0,expires:Y.expiresAt}),J==="signup")await U.onSignUp(w,"",i.search.toJSON());else await U.onSignIn(w,i.search.toJSON());return{session:Y}}async createMagicLinkToken(i=new V){let $=(await i.input()).get("email").toLowerCase().trim(),z=X(b),{user:U,pin:C,token:j}=await z.createMagicLinkToken($);if(U)return await z.config.onMagicLinkCreated(U,{email:$,pin:C,token:j}),{email:$};return{email:null}}}class q0 extends di{middlewares=["cache:private"];routes={"/:provider":this.view("_Redirect",[M,"oauthRedirect"]),"/:provider/callback":this.view("auth/OauthCallback",[M,"oauthCallback"])}}class ui extends di{middlewares=["cache:private"];routes={"/sign-in/magic-link":this.view("auth/MagicLinkSignIn",[M,"signInWithMagicLink"]),"/oauth":q0}}class li extends y{middlewares=["cache:private"];routes={"/sign-in":this.post(M,"signIn"),"/sign-in-v2":this.post(M,"signInV2"),"/sign-up":this.post(M,"signUp"),"/sign-out":this.post(M,"signOut"),"/forgot-password":this.post(M,"forgotPassword"),"/reset-password":this.post(M,"resetPassword"),"/change-password":this.post(M,"changePassword"),"/verify-email":this.post(M,"verifyEmail"),"/me":this.get(M,"me").middleware(["auth"]),"/magic-link":this.post(M,"createMagicLinkToken"),"/sign-in-with-pin":this.post(M,"signInWithPin"),"/sign-in-with-pin-v2":this.post(M,"signInWithPinV2")}}class oi extends y{middlewares=["cache:private,0,no-store"];routes={"/set-locale/:locale":this.get(async()=>{let f=new V().params.locale;return await X(H).onLocaleChange(f),{locale:f}}),"/translations/:locale/:scope*":this.get(async()=>{let i=new V,f=`/${i.params.scope??""}`,$=i.params.locale,z=X(H),U=$??z.detectLocale(i),C=z.getPageTranslations(U,f);return i.ctx().setCookie("i18n-locale",U,{expires:new Date(Date.now()+31536000000)}),{[U]:C}})}}class ti{}class ri extends ti{async resize(i,f){let{height:$,width:z,quality:U,fit:C}=f;return await(await Wi("The Sharp image optimization driver"))(i).resize(z>0?z:void 0,$>0?$:void 0,{fit:C}).webp({quality:U>0?U:80,force:!0}).toBuffer()}}function a$(i){return i}function n0(){return{driver:new ri}}class ai extends y{routes={"/resize":this.file(async()=>{let i=new V,f=new URL(i.rawRequest.url),$=f.searchParams.get("url"),z=Number(f.searchParams.get("w")),U=Number(f.searchParams.get("h")),C=f.searchParams.get("fit")??"cover",j=Number(f.searchParams.get("q"));if(!$)return new Response(JSON.stringify({error:"url query parameter is required"}),{headers:{"Content-Type":"application/json"},status:404});let w=`${$.startsWith("http")?"":`http://localhost:${process.env.PORT||5173}`}${$}`,W=await fetch(w);if(!W.ok)return new Response(JSON.stringify({error:"Image not found",info:w}),{headers:{"Content-Type":"application/json"},status:404});let J=Buffer.from(await W.arrayBuffer()),Y=await X(s0).resize(J,{height:U,width:z,fit:C,quality:j});W.headers.delete("Content-Type"),W.headers.delete("Content-Length");let I=new Headers(W.headers);return I.set("Content-Type","image/webp"),I.set("Content-Length",`${Y.byteLength}`),new Response(new Uint8Array(Y),{headers:I})})}}class s0{static token="image";driver;constructor(i={}){this.driver=i.driver??n0().driver}resize(i,f){return this.driver.resize(i,f)}}import{mkdir as ei,readdir as z1,access as U1}from"fs/promises";async function i0(i){try{return await U1(i),!0}catch{return!1}}class Vi{config;static token="log";writer;isReady=!1;logsDirPath=`${process.env.ROOT_DIR}/storage/logs`;flushTimeout;fileSize=0;writerSize=0;isCreatingFile=!1;bootPromise=null;currentLogFilePath;constructor(i){this.config=i}boot(){if(!this.bootPromise)this.bootPromise=this.createStorage().then(()=>{this.isReady=!0});return this.bootPromise}async createStorage(){if(!process.env.ROOT_DIR)return;if(!await i0(`${process.env.ROOT_DIR}/storage`))await ei(`${process.env.ROOT_DIR}/storage`);if(!await i0(this.logsDirPath))await ei(this.logsDirPath);await this.newLogFile()}async newLogFile(){if(!await i0(this.logsDirPath))await ei(this.logsDirPath);if(this.isCreatingFile=!0,this.currentLogFilePath){this.writer.flush(),this.writer.end(),this.writer=null;let $=new File([await Bun.file(this.currentLogFilePath).arrayBuffer()],this.currentLogFilePath.split("/").pop(),{type:"text/plain"});this.config.onLogFileClosed($),this.fileSize=0,this.writerSize=0}let f=(await z1(this.logsDirPath)).sort().reverse()[0];if(f){let $=Bun.file(`${this.logsDirPath}/${f}`);if($.size<this.config.maxFileSize)this.currentLogFilePath=`${this.logsDirPath}/${f}`,this.writer=$.writer(),this.writer.write(await $.text()),this.writer.write(`
3
- `),this.writer.flush(),this.fileSize=$.size}if(!this.writer){let $=`${new Date(Date.now()).toISOString()}.log`.replaceAll(":","-");this.currentLogFilePath=`${this.logsDirPath}/${$}`;let z=Bun.file(`${this.logsDirPath}/${$}`);this.writer=z.writer(),this.fileSize=0,this.writerSize=0}this.isCreatingFile=!1}async log(i,f,$={}){if(!this.isReady)await this.boot();let z=L.getStore(),U={};if(z)U={url:z.req.rawRequest.url,method:z.req.rawRequest.method,headers:z.req.rawRequest.headers,body:z.req.rawRequest.body};let C={timestamp:new Date(Date.now()).toISOString(),env:Bun.env.NODE_ENV,level:i,message:f,metadata:{...U,...$}},j="";try{j=JSON.stringify(C)}catch(O){console.log("Error parsing log object",O)}this.writerSize+=j.length,this.fileSize+=j.length;try{this.writer.write(j),this.writer.write(`
4
- `),this.config.onLogCreated(C),this.tryFlush()}catch(O){console.error("Error writing log",O)}}async tryFlush(){if(this.fileSize>this.config.maxFileSize){if(!this.isCreatingFile)await this.newLogFile()}if(this.writerSize>this.config.maxFileSize/2)await this.writer.flush(),this.writerSize=0,await this.newLogFile();else clearTimeout(this.flushTimeout),this.flushTimeout=setTimeout(async()=>{await this.writer.flush(),this.writerSize=0},100)}}class f0 extends y{middlewares=["cache:private,0"];routes={"/live":this.get(async()=>{let i=Bun.file(X(Vi).currentLogFilePath);return new Response(await i.text(),{headers:{"Content-Type":"text/plain"}})})}}function O1(i){let f=new Map;for(let $ of i)if(typeof $==="string"){let[z,U=""]=$.split(":");if(z.startsWith("-")){if(f.has(z.replace("-","")))f.delete(z.replace("-",""))}else f.set(z,U.split(",").filter(Boolean))}else f.set($,[]);return f}class Ti{config;static token="middleware";constructor(i){this.config=i}get aliases(){return this.config.aliases}runMiddleware(i){let f=new V;return Array.from(O1(i).entries()).map(([$,z])=>{if(typeof $==="string"){let U=this.aliases[$];if(U){let C=new U(f);return()=>C.run.call(C,...z)}}else{if(d0($)){let U=new $(f);return U.run.bind(U)}return $}}).filter(Boolean).reduce(($,z)=>{return async()=>{return{...await $(),...await z()}}},()=>Promise.resolve({}))()}}function X3(i){return i}function u0(){return{onRequestStart:()=>{},onRequestEnd:()=>{},onRequestFail:()=>{}}}function l0(){return{partialRendering:!0,onRequestStart:()=>{},onRequestEnd:()=>{},onRequestFail:()=>{},onStreamComplete:()=>{}}}function j1(i){return"run"in i}function C1(i){return Object.hasOwn(i,"get")||Object.hasOwn(i,"post")||Object.hasOwn(i,"put")||Object.hasOwn(i,"delete")}function W1(i){return Object.hasOwn(i,"first")&&Object.hasOwn(i,"second")}function w1(i){if("__brand"in i)return i.__brand==="ApiRouter";return!1}function J1(i){if("__internal_brand"in i)return i.__internal_brand==="ProxyHandler";return!1}function I1(i){if("__internal_brand"in i)return i.__internal_brand==="StreamHandler";return!1}function $0(i,f="",$=[]){let z={};function U(C,j,O,w){let W=C==="/"?"":C,J=f==="/"?"":f,Y=(`${J}${W}`===""?"/":`${J}${W}`).replaceAll("//","/");if(!z[Y])z[Y]={};z[Y][j.toUpperCase()]={exec:O,middleware:[...$,...w]},z[Y].OPTIONS={exec:()=>{let x=new V().ctx().headers;return new Response(null,{headers:x,status:204})},middleware:[]}}for(let[C,j]of Object.entries(i)){if(J1(j)){let O=j;for(let w of["GET","POST","PUT","DELETE"])U(C,w,O.run.bind(O),[]);continue}if(j1(j)){let O=j,w=O.method,W=O.middlewares,J=O.run.bind(O);if(U(C,w,J,W),I1(j))U(C,"HEAD",J,W)}if(C1(j))for(let[O,w]of Object.entries(j)){let W=w.middlewares,J=w.run.bind(w);U(C,O,J,W)}if(w1(j)){let O=new j,w=$0(O.routes,`${f}${C}`,O.middlewares);for(let[W,J]of Object.entries(w))z[W.replaceAll("//","/")]=J}if(W1(j)){let{first:O,second:w}=j;for(let[W,J]of Object.entries(O)){let Y=J.middlewares,I=J.run.bind(J),[x,...B]=C.split("/").reverse();if(!x.startsWith(":"))throw Error("Resource route must end with a dynamic segment");U(B.reverse().join("/"),W,I,Y)}for(let[W,J]of Object.entries(w)){let Y=J.middlewares,I=J.run.bind(J);U(C,W,I,Y)}}}return Object.fromEntries(Object.entries(z).sort(([C],[j])=>{let O=C.split("/").length+C.split(":").length,w=j.split("/").length+j.split(":").length;return O-w}))}function Mi(i){return i.replace(/\([^)]*\)/g,"").replace(/\/\//g,"/")}function z0(i,f){if(i==="/")return f;if(f==="/")return i;return`${i}${f}`}function U0(i){let f=Mi(i);return f.length>1?f.replace(/\/$/,""):f}function o0(i,f){return f.map(($)=>({...$,path:U0(z0(i,$.path))}))}function _i(i){let f={};for(let[$,z]of Object.entries(i))if("run"in z){let U=z;if("children"in U){let C=new U.children,j=_i(C.routes);for(let[O,{exec:w,middleware:W,segments:J}]of Object.entries(j)){let Y=z0($,O),I=(x)=>U.run.call(U,x,$);f[Mi(Y)]={exec:[I,...w],middleware:[...U.middlewares,...W],viewPath:U.viewPath,segments:[{path:U0($),viewPath:U.viewPath,...U.alwaysRuns?{alwaysRun:!0}:{}},...o0($,J)]}}}else{let C=(j)=>U.run.call(U,j,$);f[Mi($)]={exec:[C],middleware:U.middlewares,viewPath:U.viewPath,segments:[{path:U0($),viewPath:U.viewPath}]}}}else{let U=new z,C=_i(U.routes);for(let[j,{exec:O,middleware:w,viewPath:W,segments:J}]of Object.entries(C)){let Y=z0($,j);f[Mi(Y)]={exec:O,middleware:[...U.middlewares,...w],viewPath:W,segments:o0($,J)}}}return Object.fromEntries(Object.entries(f).sort(([$],[z])=>{let U=$.split("/").length+$.split(":").length,C=z.split("/").length+z.split(":").length;return U-C}))}var Y1=Object.defineProperty,Z=(i,f)=>Y1(i,"name",{value:f,configurable:!0}),Zi=class{type=3;name="";prefix="";value="";suffix="";modifier=3;constructor(i,f,$,z,U,C){this.type=i,this.name=f,this.prefix=$,this.value=z,this.suffix=U,this.modifier=C}hasCustomName(){return this.name!==""&&typeof this.name!="number"}};Z(Zi,"Part");var Z1=/[$_\p{ID_Start}]/u,x1=/[$_\u200C\u200D\p{ID_Continue}]/u,j0=".*";function t0(i,f){return(f?/^[\x00-\xFF]*$/:/^[\x00-\x7F]*$/).test(i)}Z(t0,"isASCII");function w0(i,f=!1){let $=[],z=0;for(;z<i.length;){let U=i[z],C=Z(function(j){if(!f)throw TypeError(j);$.push({type:"INVALID_CHAR",index:z,value:i[z++]})},"ErrorOrInvalid");if(U==="*"){$.push({type:"ASTERISK",index:z,value:i[z++]});continue}if(U==="+"||U==="?"){$.push({type:"OTHER_MODIFIER",index:z,value:i[z++]});continue}if(U==="\\"){$.push({type:"ESCAPED_CHAR",index:z++,value:i[z++]});continue}if(U==="{"){$.push({type:"OPEN",index:z,value:i[z++]});continue}if(U==="}"){$.push({type:"CLOSE",index:z,value:i[z++]});continue}if(U===":"){let j="",O=z+1;for(;O<i.length;){let w=i.substr(O,1);if(O===z+1&&Z1.test(w)||O!==z+1&&x1.test(w)){j+=i[O++];continue}break}if(!j){C(`Missing parameter name at ${z}`);continue}$.push({type:"NAME",index:z,value:j}),z=O;continue}if(U==="("){let j=1,O="",w=z+1,W=!1;if(i[w]==="?"){C(`Pattern cannot start with "?" at ${w}`);continue}for(;w<i.length;){if(!t0(i[w],!1)){C(`Invalid character '${i[w]}' at ${w}.`),W=!0;break}if(i[w]==="\\"){O+=i[w++]+i[w++];continue}if(i[w]===")"){if(j--,j===0){w++;break}}else if(i[w]==="("&&(j++,i[w+1]!=="?")){C(`Capturing groups are not allowed at ${w}`),W=!0;break}O+=i[w++]}if(W)continue;if(j){C(`Unbalanced pattern at ${z}`);continue}if(!O){C(`Missing pattern at ${z}`);continue}$.push({type:"REGEX",index:z,value:O}),z=w;continue}$.push({type:"CHAR",index:z,value:i[z++]})}return $.push({type:"END",index:z,value:""}),$}Z(w0,"lexer");function J0(i,f={}){let $=w0(i);f.delimiter??="/#?",f.prefixes??="./";let z=`[^${P(f.delimiter)}]+?`,U=[],C=0,j=0,O="",w=new Set,W=Z((g)=>{if(j<$.length&&$[j].type===g)return $[j++].value},"tryConsume"),J=Z(()=>W("OTHER_MODIFIER")??W("ASTERISK"),"tryConsumeModifier"),Y=Z((g)=>{let G=W(g);if(G!==void 0)return G;let{type:N,index:R}=$[j];throw TypeError(`Unexpected ${N} at ${R}, expected ${g}`)},"mustConsume"),I=Z(()=>{let g="",G;for(;G=W("CHAR")??W("ESCAPED_CHAR");)g+=G;return g},"consumeText"),x=Z((g)=>g,"DefaultEncodePart"),B=f.encodePart||x,T="",F=Z((g)=>{T+=g},"appendToPendingFixedValue"),D=Z(()=>{T.length&&(U.push(new Zi(3,"","",B(T),"",3)),T="")},"maybeAddPartFromPendingFixedValue"),n=Z((g,G,N,R,S)=>{let Q=3;switch(S){case"?":Q=1;break;case"*":Q=0;break;case"+":Q=2;break}if(!G&&!N&&Q===3){F(g);return}if(D(),!G&&!N){if(!g)return;U.push(new Zi(3,"","",B(g),"",Q));return}let K;N?N==="*"?K=j0:K=N:K=z;let c=2;K===z?(c=1,K=""):K===j0&&(c=0,K="");let _;if(G?_=G:N&&(_=C++),w.has(_))throw TypeError(`Duplicate name '${_}'.`);w.add(_),U.push(new Zi(c,_,B(g),K,B(R),Q))},"addPart");for(;j<$.length;){let g=W("CHAR"),G=W("NAME"),N=W("REGEX");if(!G&&!N&&(N=W("ASTERISK")),G||N){let S=g??"";f.prefixes.indexOf(S)===-1&&(F(S),S=""),D();let Q=J();n(S,G,N,"",Q);continue}let R=g??W("ESCAPED_CHAR");if(R){F(R);continue}if(W("OPEN")){let S=I(),Q=W("NAME"),K=W("REGEX");!Q&&!K&&(K=W("ASTERISK"));let c=I();Y("CLOSE");let _=J();n(S,Q,K,c,_);continue}D(),Y("END")}return U}Z(J0,"parse");function P(i){return i.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}Z(P,"escapeString");function C0(i){return i&&i.ignoreCase?"ui":"u"}Z(C0,"flags");function r0(i,f,$){return I0(J0(i,$),f,$)}Z(r0,"stringToRegexp");function e(i){switch(i){case 0:return"*";case 1:return"?";case 2:return"+";case 3:return""}}Z(e,"modifierToString");function I0(i,f,$={}){$.delimiter??="/#?",$.prefixes??="./",$.sensitive??=!1,$.strict??=!1,$.end??=!0,$.start??=!0,$.endsWith="";let z=$.start?"^":"";for(let O of i){if(O.type===3){O.modifier===3?z+=P(O.value):z+=`(?:${P(O.value)})${e(O.modifier)}`;continue}f&&f.push(O.name);let w=`[^${P($.delimiter)}]+?`,W=O.value;if(O.type===1?W=w:O.type===0&&(W=j0),!O.prefix.length&&!O.suffix.length){O.modifier===3||O.modifier===1?z+=`(${W})${e(O.modifier)}`:z+=`((?:${W})${e(O.modifier)})`;continue}if(O.modifier===3||O.modifier===1){z+=`(?:${P(O.prefix)}(${W})${P(O.suffix)})`,z+=e(O.modifier);continue}z+=`(?:${P(O.prefix)}`,z+=`((?:${W})(?:`,z+=P(O.suffix),z+=P(O.prefix),z+=`(?:${W}))*)${P(O.suffix)})`,O.modifier===0&&(z+="?")}let U=`[${P($.endsWith)}]|$`,C=`[${P($.delimiter)}]`;if($.end)return $.strict||(z+=`${C}?`),$.endsWith.length?z+=`(?=${U})`:z+="$",new RegExp(z,C0($));$.strict||(z+=`(?:${C}(?=${U}))?`);let j=!1;if(i.length){let O=i[i.length-1];O.type===3&&O.modifier===3&&(j=$.delimiter.indexOf(O)>-1)}return j||(z+=`(?=${C}|${U})`),new RegExp(z,C0($))}Z(I0,"partsToRegexp");var o={delimiter:"",prefixes:"",sensitive:!0,strict:!0},X1={delimiter:".",prefixes:"",sensitive:!0,strict:!0},g1={delimiter:"/",prefixes:"/",sensitive:!0,strict:!0};function a0(i,f){return i.length?i[0]==="/"?!0:!f||i.length<2?!1:(i[0]=="\\"||i[0]=="{")&&i[1]=="/":!1}Z(a0,"isAbsolutePathname");function Y0(i,f){return i.startsWith(f)?i.substring(f.length,i.length):i}Z(Y0,"maybeStripPrefix");function e0(i,f){return i.endsWith(f)?i.substr(0,i.length-f.length):i}Z(e0,"maybeStripSuffix");function Z0(i){return!i||i.length<2?!1:i[0]==="["||(i[0]==="\\"||i[0]==="{")&&i[1]==="["}Z(Z0,"treatAsIPv6Hostname");var ff=["ftp","file","http","https","ws","wss"];function x0(i){if(!i)return!0;for(let f of ff)if(i.test(f))return!0;return!1}Z(x0,"isSpecialScheme");function $f(i,f){if(i=Y0(i,"#"),f||i==="")return i;let $=new URL("https://example.com");return $.hash=i,$.hash?$.hash.substring(1,$.hash.length):""}Z($f,"canonicalizeHash");function zf(i,f){if(i=Y0(i,"?"),f||i==="")return i;let $=new URL("https://example.com");return $.search=i,$.search?$.search.substring(1,$.search.length):""}Z(zf,"canonicalizeSearch");function Uf(i,f){return f||i===""?i:Z0(i)?B0(i):g0(i)}Z(Uf,"canonicalizeHostname");function Of(i,f){if(f||i==="")return i;let $=new URL("https://example.com");return $.password=i,$.password}Z(Of,"canonicalizePassword");function jf(i,f){if(f||i==="")return i;let $=new URL("https://example.com");return $.username=i,$.username}Z(jf,"canonicalizeUsername");function Cf(i,f,$){if($||i==="")return i;if(f&&!ff.includes(f))return new URL(`${f}:${i}`).pathname;let z=i[0]=="/";return i=new URL(z?i:"/-"+i,"https://example.com").pathname,z||(i=i.substring(2,i.length)),i}Z(Cf,"canonicalizePathname");function Wf(i,f,$){return X0(f)===i&&(i=""),$||i===""?i:G0(i)}Z(Wf,"canonicalizePort");function wf(i,f){return i=e0(i,":"),f||i===""?i:Si(i)}Z(wf,"canonicalizeProtocol");function X0(i){switch(i){case"ws":case"http":return"80";case"wws":case"https":return"443";case"ftp":return"21";default:return""}}Z(X0,"defaultPortForProtocol");function Si(i){if(i==="")return i;if(/^[-+.A-Za-z0-9]*$/.test(i))return i.toLowerCase();throw TypeError(`Invalid protocol '${i}'.`)}Z(Si,"protocolEncodeCallback");function Jf(i){if(i==="")return i;let f=new URL("https://example.com");return f.username=i,f.username}Z(Jf,"usernameEncodeCallback");function If(i){if(i==="")return i;let f=new URL("https://example.com");return f.password=i,f.password}Z(If,"passwordEncodeCallback");function g0(i){if(i==="")return i;if(/[\t\n\r #%/:<>?@[\]^\\|]/g.test(i))throw TypeError(`Invalid hostname '${i}'`);let f=new URL("https://example.com");return f.hostname=i,f.hostname}Z(g0,"hostnameEncodeCallback");function B0(i){if(i==="")return i;if(/[^0-9a-fA-F[\]:]/g.test(i))throw TypeError(`Invalid IPv6 hostname '${i}'`);return i.toLowerCase()}Z(B0,"ipv6HostnameEncodeCallback");function G0(i){if(i===""||/^[0-9]*$/.test(i)&&parseInt(i)<=65535)return i;throw TypeError(`Invalid port '${i}'.`)}Z(G0,"portEncodeCallback");function Yf(i){if(i==="")return i;let f=new URL("https://example.com");return f.pathname=i[0]!=="/"?"/-"+i:i,i[0]!=="/"?f.pathname.substring(2,f.pathname.length):f.pathname}Z(Yf,"standardURLPathnameEncodeCallback");function Zf(i){return i===""?i:new URL(`data:${i}`).pathname}Z(Zf,"pathURLPathnameEncodeCallback");function xf(i){if(i==="")return i;let f=new URL("https://example.com");return f.search=i,f.search.substring(1,f.search.length)}Z(xf,"searchEncodeCallback");function Xf(i){if(i==="")return i;let f=new URL("https://example.com");return f.hash=i,f.hash.substring(1,f.hash.length)}Z(Xf,"hashEncodeCallback");var gf=class{#O;#z=[];#f={};#i=0;#U=1;#w=0;#C=0;#Z=0;#x=0;#X=!1;constructor(i){this.#O=i}get result(){return this.#f}parse(){for(this.#z=w0(this.#O,!0);this.#i<this.#z.length;this.#i+=this.#U){if(this.#U=1,this.#z[this.#i].type==="END"){if(this.#C===0){this.#K(),this.#J()?this.#$(9,1):this.#I()?this.#$(8,1):this.#$(7,0);continue}else if(this.#C===2){this.#Y(5);continue}this.#$(10,0);break}if(this.#Z>0)if(this.#F())this.#Z-=1;else continue;if(this.#A()){this.#Z+=1;continue}switch(this.#C){case 0:this.#L()&&this.#Y(1);break;case 1:if(this.#L()){this.#b();let i=7,f=1;this.#T()?(i=2,f=3):this.#X&&(i=2),this.#$(i,f)}break;case 2:this.#B()?this.#Y(3):(this.#G()||this.#I()||this.#J())&&this.#Y(5);break;case 3:this.#N()?this.#$(4,1):this.#B()&&this.#$(5,1);break;case 4:this.#B()&&this.#$(5,1);break;case 5:this.#E()?this.#x+=1:this.#D()&&(this.#x-=1),this.#Q()&&!this.#x?this.#$(6,1):this.#G()?this.#$(7,0):this.#I()?this.#$(8,1):this.#J()&&this.#$(9,1);break;case 6:this.#G()?this.#$(7,0):this.#I()?this.#$(8,1):this.#J()&&this.#$(9,1);break;case 7:this.#I()?this.#$(8,1):this.#J()&&this.#$(9,1);break;case 8:this.#J()&&this.#$(9,1);break;case 9:break;case 10:break}}this.#f.hostname!==void 0&&this.#f.port===void 0&&(this.#f.port="")}#$(i,f){switch(this.#C){case 0:break;case 1:this.#f.protocol=this.#W();break;case 2:break;case 3:this.#f.username=this.#W();break;case 4:this.#f.password=this.#W();break;case 5:this.#f.hostname=this.#W();break;case 6:this.#f.port=this.#W();break;case 7:this.#f.pathname=this.#W();break;case 8:this.#f.search=this.#W();break;case 9:this.#f.hash=this.#W();break;case 10:break}this.#C!==0&&i!==10&&([1,2,3,4].includes(this.#C)&&[6,7,8,9].includes(i)&&(this.#f.hostname??=""),[1,2,3,4,5,6].includes(this.#C)&&[8,9].includes(i)&&(this.#f.pathname??=this.#X?"/":""),[1,2,3,4,5,6,7].includes(this.#C)&&i===9&&(this.#f.search??="")),this.#V(i,f)}#V(i,f){this.#C=i,this.#w=this.#i+f,this.#i+=f,this.#U=0}#K(){this.#i=this.#w,this.#U=0}#Y(i){this.#K(),this.#C=i}#g(i){return i<0&&(i=this.#z.length-i),i<this.#z.length?this.#z[i]:this.#z[this.#z.length-1]}#j(i,f){let $=this.#g(i);return $.value===f&&($.type==="CHAR"||$.type==="ESCAPED_CHAR"||$.type==="INVALID_CHAR")}#L(){return this.#j(this.#i,":")}#T(){return this.#j(this.#i+1,"/")&&this.#j(this.#i+2,"/")}#B(){return this.#j(this.#i,"@")}#N(){return this.#j(this.#i,":")}#Q(){return this.#j(this.#i,":")}#G(){return this.#j(this.#i,"/")}#I(){if(this.#j(this.#i,"?"))return!0;if(this.#z[this.#i].value!=="?")return!1;let i=this.#g(this.#i-1);return i.type!=="NAME"&&i.type!=="REGEX"&&i.type!=="CLOSE"&&i.type!=="ASTERISK"}#J(){return this.#j(this.#i,"#")}#A(){return this.#z[this.#i].type=="OPEN"}#F(){return this.#z[this.#i].type=="CLOSE"}#E(){return this.#j(this.#i,"[")}#D(){return this.#j(this.#i,"]")}#W(){let i=this.#z[this.#i],f=this.#g(this.#w).index;return this.#O.substring(f,i.index)}#b(){let i={};Object.assign(i,o),i.encodePart=Si;let f=r0(this.#W(),void 0,i);this.#X=x0(f)}};Z(gf,"Parser");var O0=["protocol","username","password","hostname","port","pathname","search","hash"],l="*";function W0(i,f){if(typeof i!="string")throw TypeError("parameter 1 is not of type 'string'.");let $=new URL(i,f);return{protocol:$.protocol.substring(0,$.protocol.length-1),username:$.username,password:$.password,hostname:$.hostname,port:$.port,pathname:$.pathname,search:$.search!==""?$.search.substring(1,$.search.length):void 0,hash:$.hash!==""?$.hash.substring(1,$.hash.length):void 0}}Z(W0,"extractValues");function q(i,f){return f?Yi(i):i}Z(q,"processBaseURLString");function Ii(i,f,$){let z;if(typeof f.baseURL=="string")try{z=new URL(f.baseURL),f.protocol===void 0&&(i.protocol=q(z.protocol.substring(0,z.protocol.length-1),$)),!$&&f.protocol===void 0&&f.hostname===void 0&&f.port===void 0&&f.username===void 0&&(i.username=q(z.username,$)),!$&&f.protocol===void 0&&f.hostname===void 0&&f.port===void 0&&f.username===void 0&&f.password===void 0&&(i.password=q(z.password,$)),f.protocol===void 0&&f.hostname===void 0&&(i.hostname=q(z.hostname,$)),f.protocol===void 0&&f.hostname===void 0&&f.port===void 0&&(i.port=q(z.port,$)),f.protocol===void 0&&f.hostname===void 0&&f.port===void 0&&f.pathname===void 0&&(i.pathname=q(z.pathname,$)),f.protocol===void 0&&f.hostname===void 0&&f.port===void 0&&f.pathname===void 0&&f.search===void 0&&(i.search=q(z.search.substring(1,z.search.length),$)),f.protocol===void 0&&f.hostname===void 0&&f.port===void 0&&f.pathname===void 0&&f.search===void 0&&f.hash===void 0&&(i.hash=q(z.hash.substring(1,z.hash.length),$))}catch{throw TypeError(`invalid baseURL '${f.baseURL}'.`)}if(typeof f.protocol=="string"&&(i.protocol=wf(f.protocol,$)),typeof f.username=="string"&&(i.username=jf(f.username,$)),typeof f.password=="string"&&(i.password=Of(f.password,$)),typeof f.hostname=="string"&&(i.hostname=Uf(f.hostname,$)),typeof f.port=="string"&&(i.port=Wf(f.port,i.protocol,$)),typeof f.pathname=="string"){if(i.pathname=f.pathname,z&&!a0(i.pathname,$)){let U=z.pathname.lastIndexOf("/");U>=0&&(i.pathname=q(z.pathname.substring(0,U+1),$)+i.pathname)}i.pathname=Cf(i.pathname,i.protocol,$)}return typeof f.search=="string"&&(i.search=zf(f.search,$)),typeof f.hash=="string"&&(i.hash=$f(f.hash,$)),i}Z(Ii,"applyInit");function Yi(i){return i.replace(/([+*?:{}()\\])/g,"\\$1")}Z(Yi,"escapePatternString");function Bf(i){return i.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}Z(Bf,"escapeRegexpString");function Gf(i,f){f.delimiter??="/#?",f.prefixes??="./",f.sensitive??=!1,f.strict??=!1,f.end??=!0,f.start??=!0,f.endsWith="";let $=".*",z=`[^${Bf(f.delimiter)}]+?`,U=/[$_\u200C\u200D\p{ID_Continue}]/u,C="";for(let j=0;j<i.length;++j){let O=i[j];if(O.type===3){if(O.modifier===3){C+=Yi(O.value);continue}C+=`{${Yi(O.value)}}${e(O.modifier)}`;continue}let w=O.hasCustomName(),W=!!O.suffix.length||!!O.prefix.length&&(O.prefix.length!==1||!f.prefixes.includes(O.prefix)),J=j>0?i[j-1]:null,Y=j<i.length-1?i[j+1]:null;if(!W&&w&&O.type===1&&O.modifier===3&&Y&&!Y.prefix.length&&!Y.suffix.length)if(Y.type===3){let I=Y.value.length>0?Y.value[0]:"";W=U.test(I)}else W=!Y.hasCustomName();if(!W&&!O.prefix.length&&J&&J.type===3){let I=J.value[J.value.length-1];W=f.prefixes.includes(I)}W&&(C+="{"),C+=Yi(O.prefix),w&&(C+=`:${O.name}`),O.type===2?C+=`(${O.value})`:O.type===1?w||(C+=`(${z})`):O.type===0&&(!w&&(!J||J.type===3||J.modifier!==3||W||O.prefix!=="")?C+="*":C+=`(${$})`),O.type===1&&w&&O.suffix.length&&U.test(O.suffix[0])&&(C+="\\"),C+=Yi(O.suffix),W&&(C+="}"),O.modifier!==3&&(C+=e(O.modifier))}return C}Z(Gf,"partsToPattern");var K0=class{#O;#z={};#f={};#i={};#U={};#w=!1;constructor(i={},f,$){try{let z;if(typeof f=="string"?z=f:$=f,typeof i=="string"){let O=new gf(i);if(O.parse(),i=O.result,z===void 0&&typeof i.protocol!="string")throw TypeError("A base URL must be provided for a relative constructor string.");i.baseURL=z}else{if(!i||typeof i!="object")throw TypeError("parameter 1 is not of type 'string' and cannot convert to dictionary.");if(z)throw TypeError("parameter 1 is not of type 'string'.")}typeof $>"u"&&($={ignoreCase:!1});let U={ignoreCase:$.ignoreCase===!0},C={pathname:l,protocol:l,username:l,password:l,hostname:l,port:l,search:l,hash:l};this.#O=Ii(C,i,!0),X0(this.#O.protocol)===this.#O.port&&(this.#O.port="");let j;for(j of O0){if(!(j in this.#O))continue;let O={},w=this.#O[j];switch(this.#f[j]=[],j){case"protocol":Object.assign(O,o),O.encodePart=Si;break;case"username":Object.assign(O,o),O.encodePart=Jf;break;case"password":Object.assign(O,o),O.encodePart=If;break;case"hostname":Object.assign(O,X1),Z0(w)?O.encodePart=B0:O.encodePart=g0;break;case"port":Object.assign(O,o),O.encodePart=G0;break;case"pathname":x0(this.#z.protocol)?(Object.assign(O,g1,U),O.encodePart=Yf):(Object.assign(O,o,U),O.encodePart=Zf);break;case"search":Object.assign(O,o,U),O.encodePart=xf;break;case"hash":Object.assign(O,o,U),O.encodePart=Xf;break}try{this.#U[j]=J0(w,O),this.#z[j]=I0(this.#U[j],this.#f[j],O),this.#i[j]=Gf(this.#U[j],O),this.#w=this.#w||this.#U[j].some((W)=>W.type===2)}catch{throw TypeError(`invalid ${j} pattern '${this.#O[j]}'.`)}}}catch(z){throw TypeError(`Failed to construct 'URLPattern': ${z.message}`)}}get[Symbol.toStringTag](){return"URLPattern"}test(i={},f){let $={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if(typeof i!="string"&&f)throw TypeError("parameter 1 is not of type 'string'.");if(typeof i>"u")return!1;try{typeof i=="object"?$=Ii($,i,!1):$=Ii($,W0(i,f),!1)}catch{return!1}let z;for(z of O0)if(!this.#z[z].exec($[z]))return!1;return!0}exec(i={},f){let $={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if(typeof i!="string"&&f)throw TypeError("parameter 1 is not of type 'string'.");if(typeof i>"u")return;try{typeof i=="object"?$=Ii($,i,!1):$=Ii($,W0(i,f),!1)}catch{return null}let z={};f?z.inputs=[i,f]:z.inputs=[i];let U;for(U of O0){let C=this.#z[U].exec($[U]);if(!C)return null;let j={};for(let[O,w]of this.#f[U].entries())if(typeof w=="string"||typeof w=="number"){let W=C[O+1];j[w]=W}z[U]={input:$[U]??"",groups:j}}return z}static compareComponent(i,f,$){let z=Z((O,w)=>{for(let W of["type","modifier","prefix","value","suffix"]){if(O[W]<w[W])return-1;if(O[W]===w[W])continue;return 1}return 0},"comparePart"),U=new Zi(3,"","","","",3),C=new Zi(0,"","","","",3),j=Z((O,w)=>{let W=0;for(;W<Math.min(O.length,w.length);++W){let J=z(O[W],w[W]);if(J)return J}return O.length===w.length?0:z(O[W]??U,w[W]??U)},"comparePartList");return!f.#i[i]&&!$.#i[i]?0:f.#i[i]&&!$.#i[i]?j(f.#U[i],[C]):!f.#i[i]&&$.#i[i]?j([C],$.#U[i]):j(f.#U[i],$.#U[i])}get protocol(){return this.#i.protocol}get username(){return this.#i.username}get password(){return this.#i.password}get hostname(){return this.#i.hostname}get port(){return this.#i.port}get pathname(){return this.#i.pathname}get search(){return this.#i.search}get hash(){return this.#i.hash}get hasRegExpGroups(){return this.#w}};Z(K0,"URLPattern");function Hi(i,f){for(let[$,z]of Object.entries(i)){let U=new K0({pathname:$});if(U.test({pathname:f}))return{routePath:$,params:U.exec({pathname:f})?.pathname.groups??{},route:z}}return null}var ii={startIndex:0,carriedViews:[]};function Kf(i,f){let $=h(i.path,f);return $.includes("*")?null:$}function B1(i,f){if(!i)return ii;if(i.search!==f.search)return ii;let $=Math.min(i.segments.length,f.segments.length-1),z=0;while(z<$){let U=i.segments[z],C=f.segments[z];if(C.alwaysRun)break;if(U.viewPath!==C.viewPath)break;let j=Kf(U,i.params),O=Kf(C,f.params);if(j===null||O===null||j!==O)break;z++}if(z===0)return ii;return{startIndex:z,carriedViews:f.segments.slice(0,z).map(({viewPath:U})=>U)}}function G1(i,f){let[,$,...z]=i.split("/");if(!f.includes($))return i;let U=`/${z.join("/")}`;return U==="/"?"/":U.replace(/\/$/,"")}function Lf(i){let{flatViewRoutes:f,supportedLocales:$,from:z,origin:U,to:C}=i;if(!z)return ii;let j;try{j=new URL(z,U)}catch{return ii}if(j.origin!==U)return ii;let O=Hi(f,G1(j.pathname,$));if(!O)return ii;return B1({segments:O.route.segments,params:O.params,search:j.search},C)}var L0="x-gemi-from";import{createElement as Xi,Fragment as H1}from"react";function K1(i){return i.replace(/\([^)]*\)/g,"").replace(/\/\//g,"/")}function vi(i){let f={};for(let[$,z]of Object.entries(i))if("run"in z){let U=z.viewPath;if("children"in z){f[$]=[U];let C=new z.children,j=vi(C.routes);for(let[O,w]of Object.entries(j)){let W=$==="/"?O:`${$}${O}`,J=O==="/"&&$!=="/"?$:W;f[J]=[U,...w]}if(f[$].length===1)delete f[$]}else f[$]=[U]}else{let U=new z,C=vi(U.routes);for(let[j,O]of Object.entries(C)){let w=$==="/"?j:`${$}${j}`,W=j==="/"&&$!=="/"?$:w;f[W]=O}}return Object.fromEntries(Object.entries(f).map(([$,z])=>[K1($),z]))}function ki(i){let f=[];for(let[$,z]of Object.entries(i))if("run"in z){let U=z.viewPath;if(U==="__")continue;if(U==="REDIRECT")continue;if(U==="FILE")continue;if("children"in z){let C=new z.children,j=ki(C.routes);f.push([U,j])}else f.push([U,[]])}else{let U=new z,C=ki(U.routes);f.push(...C)}return f}function V0(i){let f=[];for(let[$,z]of i)f.push($,...V0(z).flat());return Array.from(new Set(f))}class xi extends E{static getFacadeAccessor(){return Vi}static debug(i,f){this.getFacadeRoot().log("debug",i,f)}static info(i,f){this.getFacadeRoot().log("info",i,f)}static notice(i,f){this.getFacadeRoot().log("notice",i,f)}static warning(i,f){this.getFacadeRoot().log("warning",i,f)}static error(i,f){this.getFacadeRoot().log("error",i,f)}static critical(i,f){this.getFacadeRoot().log("critical",i,f)}static alert(i,f){this.getFacadeRoot().log("alert",i,f)}static emergency(i,f){this.getFacadeRoot().log("emergency",i,f)}}class T0{id;static token="kernel.id";constructor(i=crypto.randomUUID()){this.id=i}}var L1=new Set(["script","style","textarea","title","xmp","iframe","noembed","noframes","noscript"]),V1=new Set(["svg","math"]);function Vf(i){return i===32||i===9||i===10||i===12||i===13}function Tf(i){return i>=65&&i<=90||i>=97&&i<=122}function hi(i){return i>=65&&i<=90?i+32:i}function Nf(){let i="data",f="",$=!1,z="",U=0,C=0,j=!1,O=0,w=0,W=()=>i==="data"&&O===0&&w===0,J=()=>{if(!$&&L1.has(f)){i="rawText",z=`</${f}`,U=0,f="";return}if(i="data",f==="template")if($)O=Math.max(0,O-1);else O+=1;else if(V1.has(f)){if($)w=Math.max(0,w-1);else if(!j)w+=1}f=""},Y=(I)=>{switch(i){case"data":if(I===60)i="tagOpen";return;case"tagOpen":if(I===33)i="bang",C=0;else if(I===47)i="endTagOpen";else if(Tf(I))i="tagName",$=!1,j=!1,f=String.fromCharCode(hi(I));else if(I===63)i="bogus";else if(I===60)i="tagOpen";else i="data";return;case"endTagOpen":if(Tf(I))i="tagName",$=!0,j=!1,f=String.fromCharCode(hi(I));else if(I===62)i="data";else i="bogus";return;case"tagName":if(Vf(I)||I===47)i="inTag",j=I===47;else if(I===62)J();else f+=String.fromCharCode(hi(I));return;case"inTag":if(I===62){J();return}if(j=I===47,I===34)i="attrDouble";else if(I===39)i="attrSingle";return;case"attrDouble":if(I===34)i="inTag";j=!1;return;case"attrSingle":if(I===39)i="inTag";j=!1;return;case"bang":if(I===45){if(C+=1,C===2)i="comment",C=0}else if(I===62)i="data";else i="bogus";return;case"bogus":if(I===62)i="data";return;case"comment":if(I===45)C=C<2?C+1:2;else if(I===62&&C>=2)i="data",C=0;else C=0;return;case"rawText":{if(U<z.length){if(hi(I)===z.charCodeAt(U))U+=1;else U=I===60?1:0;return}if(I===62)i="data",f="";else if(Vf(I)||I===47)i="inTag",f="";else U=I===60?1:0;return}}};return{scanToInsertionPoint(I){for(let x=0;x<I.length;x++){if(W())return x;Y(I[x])}return I.length},write(I){for(let x=0;x<I.length;x++)Y(I[x])},isSafe:W}}function Qf(i){return JSON.stringify(i).replace(/</g,"\\u003c").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function T1(i){return`<script>(self.__GEMI_STREAM__=self.__GEMI_STREAM__||[]).push(${Qf([i.path,i.variantKey,i.data])})</script>`}function N1(i){return`<script>(self.__GEMI_DICT__=self.__GEMI_DICT__||[]).push(${Qf([i.id,i.locale,i.strings])})</script>`}function N0(i,f,$={},z){let U=new TextEncoder,C=[],j=!1,O=!1,w=()=>{if(O)return;O=!0,$.onClose?.()};f.onSettle((B)=>{if(B.status!=="resolved")return;C.push(T1(B))}),z?.onUse((B)=>{C.push(N1(B))});let W=i.getReader(),J=Nf(),Y=(B,T)=>{B.enqueue(T),$.onChunk?.(T)},I=(B)=>{while(C.length>0){let T=U.encode(C.shift());J.write(T),Y(B,T)}},x=(B,T)=>{if(C.length===0){J.write(T),Y(B,T);return}let F=J.scanToInsertionPoint(T);if(F>0)Y(B,T.subarray(0,F));if(J.isSafe())I(B);let D=T.subarray(F);if(D.length>0)J.write(D),Y(B,D)};return new ReadableStream({async pull(B){let T;try{T=await W.read()}catch(n){throw w(),n}let{done:F,value:D}=T;if(F){I(B),B.close(),w();return}if(!j){if(j=!0,J.write(D),Y(B,D),$.onShell?.(),J.isSafe())I(B);return}x(B,D)},cancel(B){return w(),W.cancel(B)}})}var Q1=/bot|crawler|spider|crawling|slurp|bingpreview|mediapartners|headless|lighthouse|prerender|facebookexternalhit|whatsapp|telegram|discord|twitterbot|linkedinbot/i;function Af(i){if(!i)return!1;return Q1.test(i)}var A1=new Set(["script","style","template","title"]),F1=/\shidden([\s=/]|$)/i,E1=/"[^"]*"|'[^']*'/g;function D1(i){let f=0,$=0,z=0,U=0;while(U<i.length){let C=i.indexOf("<",U),j=C===-1?i.length:C;if(j>U){let Y=i.slice(U,j).replace(/\s+/g,"").length;if(z>0)$+=Y;else f+=Y}if(C===-1)break;if(i.startsWith("<!--",C)){let Y=i.indexOf("-->",C+4);U=Y===-1?i.length:Y+3;continue}let O=i.indexOf(">",C);if(O===-1)break;let w=i.slice(C+1,O);U=O+1;let W=/^\/?([a-zA-Z][a-zA-Z0-9-]*)/.exec(w)?.[1]?.toLowerCase();if(!W)continue;let J=w.startsWith("/");if(!J&&A1.has(W)&&!w.endsWith("/")){let Y=i.indexOf(`</${W}`,U);U=Y===-1?i.length:Y;continue}if(W!=="div")continue;if(J){if(z>0)z-=1}else if(z>0)z+=1;else if(F1.test(w.replace(E1,'""')))z=1}return{shellChars:f,deferredChars:$}}var b1=1000,M1=64;function _1(i){return i>=1000?`${(i/1000).toFixed(1)} kB`:`${i} chars`}function S1(i,f){if(f.deferredChars<b1)return null;if(f.shellChars>=M1)return null;return`[gemi] GET ${i} streams ${_1(f.deferredChars)} of its `+`content behind reveal scripts \u2014 a no-JS visitor sees ~${f.shellChars} chars. If this is a public/content route, add "no-stream" to its middleware.`}function Ff(i=console.warn){let f=new Set;return{shouldObserve($){return!f.has($)},report($,z){if(f.has($))return;let U=S1($,z);if(!U)return;f.add($),i(U)}}}function Ef(){let i=new TextDecoder,f="";return{onChunk($){f+=i.decode($,{stream:!0})},measure(){return f+=i.decode(),D1(f)}}}function Df(i,f,$=1e4,z){let U=new TextEncoder,C=()=>{};return new ReadableStream({start(j){let O=!1,w=(J)=>{if(O)return;O=!0,clearTimeout(W);try{j.close()}catch{}z?.({aborted:J})};C=w,j.enqueue(U.encode(`${JSON.stringify(i)}
5
- `)),f.onSettle((J)=>{if(O||J.status!=="resolved")return;j.enqueue(U.encode(`${JSON.stringify([J.path,J.variantKey,J.data])}
6
- `))});let W=setTimeout(()=>w(!0),$);f.allSettled().then(()=>w(!1),()=>w(!1))},cancel(){C(!1)}})}var v1=async()=>(await import("./chunk-33wjsw4r.js")).default,Q0,A0=async(...i)=>{return Q0??=import("react-dom/server.browser").catch((f)=>{throw Q0=void 0,f}),(await Q0).renderToReadableStream(...i)},k1=1e4,h1=`
7
- !function(){try{var d=document.documentElement,c=d.classList;
8
- c.remove('light','dark');
9
- var e=localStorage.getItem('theme');
10
- if('system'===e||(!e&&'system'===defaultTheme)){
11
- var t='(prefers-color-scheme: dark)',m=window.matchMedia(t);
12
- if(m.media!==t||m.matches){d.style.colorScheme='dark';c.add('dark')}
13
- else{d.style.colorScheme='light';c.add('light')}
14
- }else if(e){
15
- c.add(e||'')
16
- }}catch(e){}}()
17
- `;async function c1(i,f,$){let z=`${$==="italic"?"italic,":""}wght@${$==="italic"?"1,":""}${f}`,j=(await(await fetch(`https://fonts.googleapis.com/css2?family=${i}:${z}&display=swap`,{headers:{"User-Agent":"Mozilla/5.0 Firefox/1.0"}})).text()).match(/url\(([^)]+)\)/)?.[1];return await fetch(j).then((O)=>O.arrayBuffer())}var F0="/assets";function P1(i){let f=i.filter(($)=>$===F0||$.startsWith(`${F0}/`));if(f.length>0){let $=f.length>1;throw Error(`View route path${$?"s":""} ${f.map((z)=>`"${z}"`).join(", ")} use${$?"":"s"} the reserved "${F0}" prefix. The client build output is served from there before the router runs, so the route would never match. Mount it somewhere else.`)}}class E0{static token="router.view";flatViewRoutes={};routeManifest={};clientRouteManifest={};componentTree=[];flatComponentTree=[];root=null;shellReporter=Ff();preloadCache=new WeakMap;hooks;partialRendering;constructor(i){let f=l0();this.partialRendering=i.partialRendering??f.partialRendering,this.hooks={onRequestStart:i.onRequestStart??f.onRequestStart,onRequestEnd:i.onRequestEnd??f.onRequestEnd,onRequestFail:i.onRequestFail??f.onRequestFail,onStreamComplete:i.onStreamComplete??f.onStreamComplete};let $={"/":i.rootRouter,"/auth":ui};this.flatViewRoutes=_i($),P1(Object.keys(this.flatViewRoutes)),this.routeManifest=vi($),this.clientRouteManifest=Object.fromEntries(Object.entries(this.routeManifest).filter(([,z])=>z.at(-1)!=="FILE")),this.componentTree=ki($),this.flatComponentTree=V0(this.componentTree),this.root=i.root}async onRequestEnd(i){if(!i.cookies.has("session_id"))i.ctx().setCookie("session_id",Bun.randomUUIDv7(),{httpOnly:!0,secure:Bun.env.NODE_ENV==="production",sameSite:"Strict",expires:new Date(Date.now()+31536000000)});return await this.hooks.onRequestEnd(i)}completeStream(i,f){let $=(z)=>{xi.error(z?.message??'Error in "onStreamComplete" event handler',{err:JSON.stringify(z)})};try{Promise.resolve(this.hooks.onStreamComplete(i,f)).catch($)}catch(z){$(z)}}modulePreloadLinks(i){let{clientEntry:f,modulePreloadManifest:$,views:z,routeKey:U}=i,C=()=>{let w=new Set(f?.preload??[]);for(let W of z)for(let J of $?.[W]??[])w.add(J);return[...w].map((W)=>Xi("link",{key:`modulepreload:${W}`,rel:"modulepreload",href:W}))};if(!$)return C();let j=this.preloadCache.get($);if(!j||j.clientEntry!==f)j={clientEntry:f,byRoute:new Map},this.preloadCache.set($,j);let O=j.byRoute.get(U);if(!O)O=C(),j.byRoute.set(U,O);return O}async render(i){let{req:f,runInRequestScope:$,csrfTokenHMAC:z,currentPathName:U,headers:C,i18n:j,params:O,pathname:w,serverQueries:W,userAgent:J,noStream:Y,url:I,user:x,viewData:B,breadcrumbs:T,urlLocaleSegment:F,meta:D,isOgRequest:n,appId:g}=i,G=w.replace(`/${F}`,""),N={kind:"view",data:{meta:D,pageData:{[G]:B},__csrf:z.toString("base64"),prefetchedData:{},i18n:j,auth:{user:x},routeManifest:this.clientRouteManifest,breadcrumbs:T,router:{urlLocaleSegment:F,pathname:U,params:O,currentPath:w,searchParams:I.search,is404:!U?!0:!1},appId:g,componentTree:[["404",[]],...this.componentTree]},head:{}},R=this.root,S=this.routeManifest[U];return async(Q)=>{let{bootstrapModules:K=[],loaders:c,getStyles:_,viewImportMap:d,cssManifest:fi,ogMap:t,viewModules:v,clientEntry:$i,modulePreloadManifest:zi}=Q,Bi=$i?[]:K,r=(m)=>[m,`window.loaders=${c}`,...$i?[`import(${JSON.stringify($i.module)}).catch(function(e){setTimeout(function(){throw e})})`]:[]].join(";");if(n){let m=null,Oi=null;for(let ji of S??[])if(typeof t[ji]==="function")Oi=ji,m=t[ji];if(!m)return new Response("Not found",{status:404});let nf=Object.values(N.data.pageData)[0];try{await A0(Xi(m,nf[Oi]),{onError:()=>{}})}catch(ji){let{fonts:sf,...df}=ji.satoriOptions,uf=await Promise.all(sf.map((Ei)=>{return c1(Ei.name,Ei.weight,Ei.style).then((af)=>({...Ei,data:af}))})),S0=new Headers(C);S0.set("Content-Type","image/png");let[lf,of]=await Promise.all([v1(),Wi("Rendering an OG image")]),tf=await lf(ji.jsx,{...df,fonts:uf}),rf=await of(Buffer.from(tf)).png({compressionLevel:0,effort:10}).toBuffer();return new Response(new Uint8Array(rf),{headers:S0})}return new Response("data")}N.data.cssManifest=fi,N.data.modulePreloadManifest=zi??{};let Gi=this.modulePreloadLinks({clientEntry:$i,modulePreloadManifest:zi,views:S??["404"],routeKey:U??"404"}),Fi=await _(S);N.data.prefetchedData=W.snapshotResolved(),W.markRenderStart();let Ui=new AbortController,A=setTimeout(()=>Ui.abort(),k1),k=Af(J)||Y,a=Bun.env.NODE_ENV!=="production"&&!k&&U&&this.shellReporter.shouldObserve(U)?Ef():null,_0=_f();try{let m=await A0(Xi(H1,{children:[...Gi,...Fi,Xi("script",{key:"theme-script",dangerouslySetInnerHTML:{__html:h1}}),Xi(R,{data:N.data,viewImportMap:d,viewModules:v,serverQueries:W,dictionarySink:_0,key:"root"})]}),{bootstrapScriptContent:r(`window.__GEMI_DATA__ = ${JSON.stringify(N.data)}`),bootstrapModules:Bi,signal:Ui.signal,...k?{progressiveChunkSize:Number.MAX_SAFE_INTEGER}:{},onError(Oi){if(Bun.env.NODE_ENV!=="production")console.error(Oi)}});if(m.allReady.catch(()=>{}).finally(()=>clearTimeout(A)),k)await m.allReady.catch(()=>{});return new Response(N0(m,W,{onShell:k?void 0:()=>W.markShell(),onChunk:a?.onChunk,onClose:()=>$(()=>{if(this.completeStream(f,W.summarize(Ui.signal.aborted)),a)this.shellReporter.report(U,a.measure())})},_0),{status:!U?404:200,headers:C})}catch(m){clearTimeout(A);let Oi=await A0(Xi("div"),{bootstrapScriptContent:r(`window.error= ${JSON.stringify(m.message)}; window.stack_trace=${JSON.stringify(m.stack)};window.__GEMI_DATA__ = ${JSON.stringify(N.data)}`),bootstrapModules:Bun.env.NODE_ENV==="development"?["/render-error.js",...Bi]:Bi});return new Response(N0(Oi,W,{onClose:()=>$(()=>this.completeStream(f,W.summarize(Ui.signal.aborted)))}),{status:!U?404:200,headers:C})}}}async handleViewRequest(i){let f=new URL(i.url),$=f.pathname.endsWith(".json"),z=f.pathname.endsWith(".og"),U=f.pathname.replace(".json","").replace(".og",""),[,C,...j]=U.split("/"),O=`/${j.join("/")}`,w=null,W=null,J=X(H);if(!J.supportedLocales.includes(C))O=U;else w=C,W=C;if(J.isLocaleAware&&!z){let g=X(H).detectLocale(new V(i,{},"view",O));if(W===null&&g!==J.defaultLocale){let G=f.pathname==="/"?"":f.pathname;return new Response("",{status:302,headers:{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate",Location:`/${g}${G}${f.search}`}})}}O=O.replace("//","/");let I=[],x=[],B=null,T={},F=null,D=!1;try{let g=Hi(this.flatViewRoutes,O);if(g){if(B=g.routePath,T=g.params,I=g.route.exec,x=g.route.middleware,D=x.includes("no-stream"),$&&this.partialRendering){let G=i.headers.get(L0),N=Lf({flatViewRoutes:this.flatViewRoutes,supportedLocales:X(H).supportedLocales,from:G,origin:f.origin,to:{segments:g.route.segments,params:T,search:f.search}});if(N.startIndex>0)I=I.slice(N.startIndex),F={from:G,carriedViews:N.carriedViews}}}}catch(g){throw g}let n=new V(i,T,"view",B);return this.hooks.onRequestStart(n),await L.run(n,async()=>{let g=null,G=L.getStore(),N=gi.getStore(),R=(K)=>gi.run(N,()=>L.runWith(G,K));G.serverQueries=new Ji(Qi(i));let S=new Set;if(G.serverQueries.onQueryFail((K)=>{S.add(K.error);try{R(()=>Promise.resolve(this.hooks.onRequestFail(Q,K.error)).catch(()=>{}))}catch{}}),W){let K=W.replaceAll("/","");Ci.setLocale(K)}else Ci.setLocale();let Q=G.req;try{await X(Ti).runMiddleware(x);let K=X(H),c=K.isEnabled,_=K.isLocaleAware,d={};if(_){let A=null;if(W)A=W.replaceAll("/",""),G.setLocale(A);else A=K.detectLocale(new V(i,Q.params)),G.setLocale(A);let k=c?K.getPageTranslations(A,Q.routePath):{};d={supportedLocales:K.supportedLocales,currentLocale:A,dictionary:{[A]:k},defaultLocale:K.defaultLocale}}await Mf(d.currentLocale??"");let fi=await Promise.all(I.map((A)=>A(Q))),t=G.cookies,v=G.headers;g={data:fi,cookies:t,headers:v,user:G.user,prefetchedData:G.serverQueries.snapshotResolved(),currentPathName:Q.routePath,params:Q.params,urlLocaleSegment:w,meta:G.renderMeta(),appId:X(T0).id};let{params:$i,currentPathName:zi,user:Bi}=g,r={},Gi={};for(let A of fi??[]){let[k,a]=Object.entries(A)?.[0]??[];if(!k||!a)continue;Gi[`${k}:${zi}`]=a.breadcrumb,r[k]=a}let Fi=r.FILE;if(Fi){for(let A of t)v.append("Set-Cookie",A.toString());try{await this.onRequestEnd(Q)}catch(A){xi.error(A?.message??'Error in "onRequestEnd" event handler',{err:JSON.stringify(A)})}return await bf(Fi,v)}if($){v.set("Content-Type","application/x-ndjson; charset=utf-8"),v.append("Vary",L0),t.forEach((k)=>v.append("Set-Cookie",k.toString())),await this.hooks.onRequestEnd(Q);let A={meta:F&&!G.metadata.touched?null:g.meta,data:{[O]:r},breadcrumbs:Gi,prefetchedData:G.serverQueries.snapshotResolved(),i18n:d,is404:!zi,appId:g.appId,partial:F};return new Response(Df(A,G.serverQueries,void 0,({aborted:k})=>R(()=>this.completeStream(Q,G.serverQueries.summarize(k)))),{headers:v})}if(v.set("Content-Type","text/html; charset=utf-8"),!D)v.append("Vary","User-Agent");for(let A of t)v.append("Set-Cookie",A.toString());let Ui=Bun.CSRF.generate(process.env.SECRET);v.append("Set-Cookie",`csrf_token=${Ui}; HttpOnly; Secure; SameSite=Strict; Expires=${new Date(Date.now()+86400000).toUTCString()}`);try{await this.onRequestEnd(Q)}catch(A){xi.error(A?.message??'Error in "onRequestEnd" event handler',{err:JSON.stringify(A)})}return await this.render({req:Q,runInRequestScope:R,csrfTokenHMAC:Buffer.from(""),currentPathName:zi,headers:v,i18n:d,params:$i,pathname:f.pathname,serverQueries:G.serverQueries,userAgent:i.headers.get("user-agent"),noStream:D,url:f,user:Bi,viewData:r,breadcrumbs:Gi,urlLocaleSegment:w,meta:g.meta,appId:g.appId,isOgRequest:z})}catch(K){if(K.kind===Ni)if($){let{status:c=400,data:_,directive:d,headers:fi}=K.payload.api;return new Response(JSON.stringify({data:_,directive:d}),{headers:fi,status:c})}else{let{status:c=400,error:_}=K.payload.view;return new Response(_?.message,{...K.payload.view,status:c})}if(!S.has(K))this.hooks.onRequestFail(Q,K);throw K}})}}class Sf extends y{routes={"/api-routes":this.get(()=>{let i=X(ci).flatRoutes,f=[];for(let[$,z]of Object.entries(i))for(let[U,C]of Object.entries(z)){let{exec:j,middleware:O}=C;f.push({path:$,method:U,middleware:O})}return f}),"/view-routes":this.get(()=>{let i=X(E0).flatViewRoutes,f=[];for(let[$,{middleware:z,viewPath:U}]of Object.entries(i))f.push({path:$,method:"GET",viewPath:U,middleware:z});return f})}}class ci{static token="router.api";flatRoutes={};onRequestStart;onRequestEnd;onRequestFail;constructor(i){let f=u0();this.onRequestStart=i.onRequestStart??f.onRequestStart,this.onRequestEnd=i.onRequestEnd??f.onRequestEnd,this.onRequestFail=i.onRequestFail??f.onRequestFail,this.flatRoutes=$0({"/":i.rootRouter,"/auth":li,"/__gemi__/services/i18n":oi,"/__gemi__/services/logs":f0,"/__gemi__/services/image":ai,"/__gemi__/debug":Sf})}getRouteHandlerAndParams(i){let $=new URL(i.url).pathname.replace("/api",""),z={},U;for(let[C]of Object.entries(this.flatRoutes))try{let j=new URLPattern({pathname:C});if(j.test({pathname:$})){U=C,z=j.exec({pathname:$})?.pathname.groups;break}}catch(j){console.error(j)}return{params:z,path:U}}async runRouteMiddleware(i,f){let z=this.flatRoutes[i][f.rawRequest.method].middleware;try{await X(Ti).runMiddleware(z)}catch(U){if(U.kind===Ni){if(f.rawRequest.url.includes("/api")){let{status:C=400,data:j,headers:O}=U.payload.api;return new Response(JSON.stringify(j),{status:C,headers:{"Content-Type":"application/json",...O}})}}else throw this.onRequestFail(f,U),console.error(U),U}}async getRouteData(i){let f=this.flatRoutes[i],$=L.getStore(),z=f[$.req.rawRequest.method].exec??(()=>Promise.resolve({})),U={};try{U=await z()}catch(C){if(C.kind===Ni){let{status:j=400,data:O,headers:w}=C.payload.api;return new Response(JSON.stringify(O),{status:j,headers:{"Content-Type":"application/json",...w}})}throw this.onRequestFail($.req,C),console.error(C),C}return U}mergeContextIntoResponse(i,f,$){let z=[];f?.forEach((j,O)=>z.push([O,j]));let U=[...typeof f?.getSetCookie==="function"?f.getSetCookie():[],...Array.from($??[])];if(z.length===0&&U.length===0)return i;let C=(j)=>{for(let[O,w]of z){if(O.toLowerCase()==="set-cookie")continue;if(!j.has(O))j.set(O,w)}for(let O of U)j.append("Set-Cookie",O)};try{return C(i.headers),i}catch{let j=new Headers(i.headers);return C(j),new Response(i.body,{status:i.status,statusText:i.statusText,headers:j})}}async handleApiRequest(i){let{params:f,path:$}=this.getRouteHandlerAndParams(i),z=this.flatRoutes[$];if(!z||!z[i.method])return new Response(JSON.stringify({error:{message:"Not found"}}),{status:404});let U=new V(i,f,"api",$);if(!i.url.includes("/__gemi__"))this.onRequestStart(U);return await L.run(U,async()=>{let C=L.getStore(),j=X(H);if(j.isEnabled){let Y=j.detectLocale(U);C.setLocale(Y)}C.setRequest(U);let O=await this.runRouteMiddleware($,U);if(O instanceof Response)return O;let w=await this.getRouteData($),W=C.headers,J=C.cookies;if(w instanceof Response){let Y=this.mergeContextIntoResponse(w,W,J);if(!i.url.includes("/__gemi__"))this.onRequestEnd(U);return C.destroy(),Y}if(W.set("Content-Type","application/json"),J.forEach((Y)=>W.append("Set-Cookie",Y.toString())),!i.url.includes("/__gemi__"))this.onRequestEnd(U);return C.destroy(),new Response(JSON.stringify(w),{headers:W})})}}function Qi(i){let f=gi.getStore();return($,z,U)=>{let C=new URL(i.url).origin,j=[h($,z),U.toString()].filter((W)=>W.length>0).join("?"),O=new Request(`${C}/${j}`,{headers:i.headers}),w=new V(O,z);return gi.run(f,()=>L.run(w,async()=>{try{let W=await X(ci).getRouteData($);if(W instanceof Response){let J=await W.json().catch(()=>null);if(!W.ok)throw new Ki(h($,z),U.toString(),W.status,J);return J}return W}catch(W){if(W instanceof Ki)throw W;let J=new Ki(h($,z),U.toString(),500,{message:W instanceof Error?W.message:String(W)});throw J.cause=W,J}}))}}class Pi{static ensure(i,f={}){let $=L.getStore();if($.req.kind==="api")throw Error("Query.prefetch() cannot be called from an API request");return $.serverQueries??=new Ji(Qi($.req.rawRequest)),$.serverQueries.ensure(i,f,"prefetch")}static async instant(i,...f){let $=Pi.ensure(i,f[0]);if(await $.promise,$.status==="rejected")throw $.error;return $.data}static prefetch(i,...f){Pi.ensure(i,f[0])}static noPrefetch(){let i=L.getStore();if(i.req.kind==="api")throw Error("Query.noPrefetch() cannot be called from an API request");i.serverQueries??=new Ji(Qi(i.req.rawRequest)),i.serverQueries.muteDiscoveryHints()}}class Hf{static absolute(i,...f){return`${process.env.HOST_NAME}${h(String(i),f[0]??{})}`}static relative(i,...f){return h(String(i),f[0]??{})}}class vf{name="Meta";static description(i){L.getStore().metadata.description(i)}static title(i){L.getStore().metadata.title(i)}static openGraph(i){L.getStore().metadata.openGraph(i)}}var R1={set(i,f,$){L.getStore().setCookie(i,f,$)},setIfAbsent(i,f,$){if(L.getStore().req.cookies.has(i))return!1;return L.getStore().setCookie(i,f,$),!0},delete(i){L.getStore().deleteCookie(i)}};class D0{config;static token="redis";instance=null;constructor(i={}){this.config=i}get client(){return this.instance??=new(m1())(this.config.url,this.config.options)}set client(i){this.instance=i}}function m1(){let i=globalThis.Bun?.RedisClient;if(typeof i!=="function")throw Error("Redis requires Bun's built-in Redis client, which this runtime does not provide. Run the app under Bun, or bind your own client for the 'redis' token.");return i}class s extends E{static getFacadeAccessor(){return D0}static get client(){return this.getFacadeRoot().client}static get(i){return s.client.get(i)}static set(i,f){return s.client.set(i,f)}static del(...i){return s.client.del(...i)}static exists(i){return s.client.exists(i)}static incr(i){return s.client.incr(i)}static expire(i,f){return s.client.expire(i,f)}static ttl(i){return s.client.ttl(i)}}class hf extends E{static getFacadeAccessor(){return kf}static consume(i,f={}){return this.getFacadeRoot().consume(i,f)}}class Ri{bound;constructor(i){this.bound=i}get name(){return this.bound??b0()}get sql(){return this.connection().sql}get dialect(){return this.connection().dialect}async query(i){return await this.run(i,"query")}async execute(i){let f=await this.run(i,"execute");return Number(f?.count??0)}async transaction(i){let f=this.name,$=this.connection(f);return mf($.sql,(z)=>Pf(f,()=>i(z)),{slowTransactionThreshold:$.config.slowTransactionThreshold,connection:f})}run(i,f){let $=this.connection(),{text:z,values:U}=yf(i,pf($.dialect),f);return(this.handle()??$.sql).unsafe(z,U)}handle(){let i=cf();if(i===void 0)return;return b0()===this.name?i:void 0}connection(i=this.name){return Rf(i),X(M0).connection(i)}}var Ai=new Ri;class qf extends E{static getFacadeAccessor(){return M0}static connection(i){return new Ri(i)}static get sql(){return Ai.sql}static get dialect(){return Ai.dialect}static query(i){return Ai.query(i)}static execute(i){return Ai.execute(i)}static transaction(i){return Ai.transaction(i)}static close(){return this.getFacadeRoot().close()}}export{E as Nb,mi as Ob,Di as Pb,u as Qb,Ci as Rb,yi as Sb,qi as Tb,x$ as Ub,h0 as Vb,ni as Wb,c0 as Xb,ti as Yb,ri as Zb,a$ as _b,n0 as $b,s0 as ac,Vi as bc,Ti as cc,X3 as dc,u0 as ec,l0 as fc,K0 as gc,xi as hc,T0 as ic,F0 as jc,E0 as kc,ci as lc,Pi as mc,Hf as nc,vf as oc,R1 as pc,D0 as qc,s as rc,hf as sc,Ri as tc,qf as uc};
18
-
19
- //# debugId=6842252F4DDB040364756E2164756E21
@@ -1,4 +0,0 @@
1
- // @bun
2
- import{re as hs,ue as s0}from"./chunk-f9mfw82d.js";import{Te as c0}from"./chunk-4yafsffx.js";import{bf as uT}from"./chunk-v06qcyj5.js";class eT{static kind="controller";constructor(){}}class YP extends eT{}function RP(s){return typeof s==="function"&&s.prototype!==void 0}function Ic(s){if(!/^\d+$/.test(s))return null;let c=Number(s);return Number.isSafeInteger(c)?c:null}function si(s){if(!s)return null;let c=s.trim();if(!/^bytes=/i.test(c))return null;let T=c.slice(6).split(",").map((C)=>C.trim()).filter((C)=>C!=="");if(T.length!==1)return null;let a=T[0],f=a.indexOf("-");if(f===-1)return null;let P=a.slice(0,f),D=a.slice(f+1);if(P===""){let C=Ic(D);if(C===null)return null;return{kind:"suffix",suffixLength:C}}let O=Ic(P);if(O===null)return null;if(D==="")return{kind:"offset",start:O,end:null};let F=Ic(D);if(F===null||F<O)return null;return{kind:"offset",start:O,end:F}}function sa(s,c){if(!Number.isFinite(c)||c<=0)return null;let i,T;if(s.kind==="suffix"){if(s.suffixLength<=0)return null;i=Math.max(0,c-s.suffixLength),T=c-1}else{if(s.start>=c)return null;if(i=s.start,T=s.end===null?c-1:Math.min(s.end,c-1),T<i)return null}return{start:i,end:T,length:T-i+1}}function m0(s){if(s.kind==="suffix")return`bytes=-${s.suffixLength}`;return s.end===null?`bytes=${s.start}-`:`bytes=${s.start}-${s.end}`}function Z0(s){if(!s)return null;let c=/^bytes\s+(\d+)-(\d+)\/(\d+)$/i.exec(s.trim());if(!c)return null;let i=Ic(c[1]),T=Ic(c[2]),a=Ic(c[3]);if(i===null||T===null||a===null||T<i)return null;return{start:i,end:T,total:a}}function ca(s,c,i){return`bytes ${s}-${c}/${i}`}function ci(s){return`bytes */${s}`}var ZM="GEMI_REQUEST_BREAKER_ERROR";class N extends Error{kind="GEMI_REQUEST_BREAKER_ERROR";payload={api:{},view:{}}}class ii extends N{errors={};constructor(s){super("Validation error");this.name="ValidationError",this.errors=s,this.payload={api:{status:400,data:{error:{kind:"validation_error",messages:s}},headers:{"Content-Type":"application/json"}},view:{status:400}}}}class Lc{data;constructor(s){this.data=s}get(s){return this.data[s]}has(s){return this.data[s]!==void 0}toJSON(){return this.data}}function A0(s){let[c,i]=s.match(/\d+|\D+/g)??[];if(!c||!i)return 0;let T=Number.parseInt(c);switch(i){case"B":return T;case"KB":return T*1024;case"MB":return T*1024*1024;case"GB":return T*1024*1024*1024;case"TB":return T*1024*1024*1024*1024;default:return 0}}function w0(s){switch(s){case"image":return"image";case"png":return"image/png";case"jpg":return"image/jpeg";case"jpeg":return"image/jpeg";case"ttf":return"font/ttf";case"excel":return"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";case"csv":return"text/csv";case"word":return"application/vnd.openxmlformats-officedocument.wordprocessingml.document";case"pdf":return"application/pdf";case"json":return"application/json";default:return s}}function j0(s){let[c,i]=s.split(":");switch(c){case"required":return(T)=>{if(T instanceof Blob)return T.size>0;return T!==null&&T!==void 0&&T?.length>0};case"password":return(T)=>{return/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9]).{8,}$/.test(T)};case"number":return(T)=>{if(typeof T!=="number")return!1;return!Number.isNaN(T)};case"min":return(T)=>{return T?.length>=Number.parseInt(i)};case"max":return(T)=>{return T?.length<=Number.parseInt(i)};case"email":return(T)=>{return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(T)};case"file":return(T)=>{return T instanceof Blob};case"fileType":return(T)=>{if(T instanceof Blob){let a=w0(i);return T.type.startsWith(a)}};case"fileSize":return(T)=>{if(T instanceof Blob){let a=A0(i);return T.size<=a}};default:return()=>!0}}class Us{kind;rawRequest;headers;cookies;search;schema={};routePath;params;constructor(s,c,i,T){if(!s){let F=hs.getStore().req;this.params=F.params,this.rawRequest=F.rawRequest,this.kind=F.kind,this.routePath=F.routePath}else this.params=c,this.rawRequest=s,this.routePath=T,this.kind=i??"api";this.headers=this.rawRequest.headers;let a=this.rawRequest.headers.get("Cookie"),f=new Map;if(a){let F=a.split(";");for(let C of F){let[S,d]=C.split("=");f.set(S.trim(),d.trim())}}let P=new URL(this.rawRequest.url),D=new Map;for(let[F,C]of P.searchParams)if(D.has(F)){let S=D.get(F);if(Array.isArray(S))S.push(C),D.set(F,S);else D.set(F,[S,C])}else D.set(F,C);let O=Object.fromEntries(D.entries());this.search=new Lc(O),this.cookies=f}locale(){return hs.getStore().locale}ctx(){return hs.getStore()}range(){return si(this.rawRequest.headers.get("Range"))}refine(s){return{}}async parseBody(){let s=new Lc({});if(this.rawRequest.headers.get("Content-Type")==="application/json"){let c=await this.rawRequest.json();s=new Lc(c)}if(this.rawRequest.headers.get("Content-Type")==="application/x-www-form-urlencoded"){let c=await this.rawRequest.formData();s=new Lc(c)}if(this.rawRequest.headers.get("Content-Type")?.startsWith("multipart/form-data")){let c=await this.rawRequest.formData(),i=new Map;for(let[T,a]of c.entries())if(i.has(T)){let f=i.get(T);if(Array.isArray(f))f.push(a),i.set(T,f);else i.set(T,[f,a])}else i.set(T,a);s=new Lc(Object.fromEntries(i.entries()))}return s}validateInput(s){let c={};for(let[i,T]of Object.entries(this.schema))for(let[a,f]of Object.entries(T)){let P=j0(a),D=f,O=!1;if(typeof f==="function")D=f(s.get(i)),O=typeof D>"u";else O=P(s.get(i));if(O)continue;if(!s.get(i)&&!Object.keys(T).includes("required"))continue;if(!c[i])c[i]=[];if(a==="required"){c[i]=[String(D)];continue}c[i].push(String(D))}for(let[i,T]of Object.entries(this.refine(s.toJSON())??{})){if(!c[i])c[i]=[];c[i]=[...c[i]??[],T]}if(Object.keys(c).length>0)throw new ii(c);return s}async input(){return this.validateInput(await this.parseBody())}async safeInput(){let s=await this.parseBody();try{return this.validateInput(s),{isValid:!0,errors:{},input:s}}catch(c){if(!(c instanceof ii))throw c;return{isValid:!1,errors:c.errors,input:s}}}}function Yi(s,c){let i=c?"attachment":"inline",T=s.replace(/["\\]/g,"").replace(/[^\x20-\x7e]/g,"_");return`${i}; filename="${T}"; filename*=UTF-8''${encodeURIComponent(s)}`}function x0(s){return"total"in s&&"partial"in s&&"body"in s}function Ti(s){return new Response(null,{status:416,headers:{"Accept-Ranges":"bytes","Content-Range":ci(s),"Content-Length":"0","Cache-Control":"no-store"}})}async function E0(s){if(s instanceof Blob)return{body:s,start:0,end:s.size-1,total:s.size,partial:!1,type:s.type,name:s.name,download:!1,status:200,extraHeaders:{}};if(x0(s))return{body:s.body,start:s.start,end:s.end,total:s.total,partial:s.partial,type:s.type,name:s.name,download:!1,etag:s.etag,lastModified:s.lastModified,status:200,extraHeaders:{}};let c=s.file,i=c instanceof Blob?c:null,T=s.total??i?.size??-1;return{body:c,start:s.start??0,end:s.end??T-1,total:T,partial:s.partial??!1,type:s.type??i?.type??"",name:s.name??c?.name,download:s.download??!1,etag:s.etag,lastModified:s.lastModified,status:s.status??200,extraHeaders:s.headers??{}}}async function ia(s,c){if(s instanceof Response)return s;if(!s)return new Response("Not found",{status:404});let i=await E0(s),{body:T,start:a,end:f,total:P,partial:D}=i;if(T instanceof Blob&&"exists"in T&&typeof T.exists==="function"){if(!await T.exists())return new Response("Not found",{status:404})}let{range:O}=c;if(O){if(P<=0)return Ti(Math.max(P,0));if(!D){if(T instanceof Blob){let d=sa(O,P);if(!d)return Ti(P);T=T.slice(d.start,d.end+1),a=d.start,f=d.end,D=!0}}}let F=Boolean(O)&&D,C=F?206:i.status,S=new Headers;if(S.set("Accept-Ranges","bytes"),S.set("Content-Type",i.type||"application/octet-stream"),F)S.set("Content-Range",ca(a,f,P)),S.set("Content-Length",String(f-a+1));else if(P>=0)S.set("Content-Length",String(P));if(i.name)S.set("Content-Disposition",Yi(i.name,i.download));if(i.etag)S.set("ETag",i.etag);if(i.lastModified)S.set("Last-Modified",i.lastModified.toUTCString());for(let[d,M]of Object.entries(i.extraHeaders))S.set(d,M);if((c.method??"GET").toUpperCase()==="HEAD"){if(T&&"cancel"in T&&typeof T.cancel==="function")await T.cancel();return new Response(null,{status:C,headers:S})}return new Response(T,{status:C,headers:S})}class _P extends N{error;constructor(s="Not authorized"){super("Authentication error");this.name="AuthenticationError",this.error=s,this.payload={api:{status:401,data:{error:this.error}},view:{}}}}class BP extends N{error;constructor(s="Insufficient permissions"){super("Authentication error");this.name="AuthenticationError",this.error=s,this.payload={api:{status:401,data:{error:this.error}},view:{}}}}class Ri extends N{total;constructor(s){super("Range not satisfiable");this.total=s;this.name="RangeNotSatisfiableError",this.payload={api:{status:416,data:{error:{message:"Range not satisfiable"}},headers:{"Content-Range":ci(s),"Accept-Ranges":"bytes","Cache-Control":"no-store"}},view:{}}}}class zP extends N{fileName;constructor(s){super("File not found");this.fileName=s;this.name="FileNotFoundError",this.payload={api:{status:404,data:{error:{message:"Not found"}},headers:{"Cache-Control":"no-store"}},view:{}}}}class ai extends N{constructor(){super("Authentication error");this.name="AuthenticationError"}payload={api:{status:401,data:{error:"Authentication error"}},view:{status:302,headers:{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate",Location:"/auth/sign-in"}}}}function b0(s){return RP(s)}class Ds{method;handler;methodName;__internal_brand="RouteHandler";middlewares=[];constructor(s,c,i){this.method=s;this.handler=c;this.methodName=i;this.handler=c,this.methodName=i,this.method=s}__internal_use(){return{run:this.run.bind(this),middlewares:this.middlewares}}run(s){if(b0(this.handler)){let c=new this.handler;return c[this.methodName].bind(c)()}return this.handler()}middleware(s){return this.middlewares=s,this}}class HP{url;headers;__internal_brand="ProxyHandler";constructor(s,c){this.url=s;this.headers=c}run(){let s=new Us;return fetch(this.url,{method:s.rawRequest.method,headers:{...s.headers.toJSON(),...this.headers},body:s.rawRequest.body})}}class NP{constructor(...s){return new Ds(...s)}}class pP extends Ds{__internal_brand="StreamHandler";async run(s){let c=hs.getStore(),i=c?.req?.rawRequest,T=si(i?.headers.get("Range"));if(c)c.rangeRequest=T;try{let a=await super.run(s);return await ia(a,{range:T,method:i?.method})}catch(a){if(a instanceof Ri)return Ti(a.total);throw a}finally{if(c)c.rangeRequest=null}}}class VP{constructor(...s){return new pP(...s)}}class hP{__internal_brand="ResourceRoutes";first;second;constructor(s){this.first={get:new Ds("GET",s,"list"),post:new Ds("POST",s,"store")},this.second={get:new Ds("GET",s,"show"),put:new Ds("PUT",s,"update"),delete:new Ds("DELETE",s,"delete")}}middleware(s){if(s.list)this.first.get.middleware(s.list);if(s.store)this.first.post.middleware(s.store);if(s.show)this.second.get.middleware(s.show);if(s.update)this.second.put.middleware(s.update);if(s.delete)this.second.delete.middleware(s.delete);return this}}class kP{static __brand="ApiRouter";routes={};middlewares=[];middleware(s){}get(s,c){return new Ds("GET",s,c)}post(s,c){return new Ds("POST",s,c)}put(s,c){return new Ds("PUT",s,c)}patch(s,c){return new Ds("PATCH",s,c)}delete(s,c){return new Ds("DELETE",s,c)}resource(s){return new hP(s)}file(s,c){return new NP("GET",s,c)}stream(s,c){return new VP("GET",s,c)}proxy(s,c={}){return new HP(s,c)}}function vP(s,c){return s.replace(/:([^/]+[*?]?)/g,(i,T)=>{let a=T.endsWith("?")||T.endsWith("*"),f=a?T.slice(0,-1):T,P=c[f];if(P===void 0){if(a)return"";if(import.meta.env.DEV)throw Error(`Missing parameter: ${f}`);console.error(`Missing parameter: ${f} in URL: ${s}`)}return String(P)}).replace(/\/\//g,"/").replace(/\/$/,"")}class Ta extends N{constructor(s,c=307){super("Redirect error");this.name="RedirectError",this.payload={api:{status:200,data:{},directive:{kind:"Redirect",path:s}},view:{status:c,headers:{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate",Location:s}}}}}class aa{static to(s,...c){let[i={}]=c,{search:T={},params:a={},permanent:f,status:P}={params:{},status:307,permanent:!1,...i},D=new URLSearchParams(T).toString();throw new Ta([vP(s,a),D.toString()].filter(Boolean).join("?"),P??(f?301:307))}static external(s,c=307){throw new Ta(s,c)}}class oP{kind="redirect";viewPath="REDIRECT";middlewares=[];handler;constructor(s){if(!s)this.handler=()=>({});else if(typeof s==="function")this.handler=s;else{let[c,i]=s;this.handler=(T)=>{return new c()[i](T)}}}async run(s,c){let{destination:i,permanent:T=!1,status:a=307}=await this.handler(s);if(!i)throw Error(`Redirect destination is required see ${c}`);return aa.to(i,{permanent:T,status:a}),{}}middleware(s){return this.middlewares=s,this}}async function g0(s,c){if(s instanceof Response)return s;let i=s instanceof Blob,T=i?s:s.file,a=i?s.name:s.name??s.file?.name,f=(i?s.type:s.type??s.file?.type)||"",P=i?!1:s.download??!1,D=i?200:s.status??200;if(!i)for(let[O,F]of Object.entries(s.headers??{}))c.set(O,F);if(T instanceof Blob&&"exists"in T&&typeof T.exists==="function"){if(!await T.exists())return new Response("Not found",{status:404})}if(c.set("Content-Type",f||"application/octet-stream"),T instanceof Blob)c.set("Content-Length",String(T.size));if(a)c.set("Content-Disposition",Yi(a,P));return new Response(T instanceof Blob?T.stream():T,{status:D,headers:c})}class tP{kind="file";viewPath="FILE";middlewares=[];handler;constructor(s){if(!s)this.handler=()=>null;else if(typeof s==="function")this.handler=s;else{let[c,i]=s;this.handler=(T)=>{return new c()[i](T)}}}async run(s,c){let i=await this.handler(s);if(!i)throw Error(`File route handler must return a file see ${c}`);return{FILE:i}}middleware(s){return this.middlewares=s,this}}class rP{viewPath;middlewares=[];handler;constructor(s,c){this.viewPath=s;if(!c)this.handler=()=>({});else if(typeof c==="function")this.handler=c;else{let[i,T]=c;this.handler=(a)=>{return new i()[T](a)}}}async run(s,c){let i=await this.handler(s);return{[this.viewPath]:{...i,breadcrumb:{label:i?.breadcrumb??"",href:c}}}}middleware(s){return this.middlewares=s,this}}class uP{viewPath;children;middlewares=[];alwaysRuns=!1;handler=()=>({});constructor(s,c,i){this.viewPath=s;if(typeof c==="function")this.handler=c,this.children=class extends fi{routes=i??{}};else if(Array.isArray(c)){let[T,a]=c;this.handler=(f)=>{return new T()[a](f)},this.children=class extends fi{routes=i??{}}}else this.children=class extends fi{routes=c},this.handler=()=>({})}async run(s,c){let i=await this.handler(s);return{[this.viewPath]:{...i,breadcrumb:{label:i?.breadcrumb??"",href:c}}}}alwaysRun(){return this.alwaysRuns=!0,this}middleware(s){return this.middlewares=s,this}}class fi{middlewares=[];routes={};view(s,c){return new rP(s,c)}file(s){return new tP(s)}redirect(s){return new oP(s)}layout(s,c,i){return new uP(s,c,i)}}class ms{req;config={};constructor(s){this.req=s}run(...s){return{}}static configure(s){let c=this;return class extends c{config=s}}}function y0(s){let c=s.headers.get("cookie");if(!c)return new Map;let i=new Map,T=c.split(";");for(let a of T){let[f,P]=a.split("=");i.set(f.trim(),P)}return i}function W0(s){return s}function G0(){return{aliases:{}}}import{randomBytes as FM}from"crypto";function Os(s,c,i,T,a){return js(c,MD(s,c),i,T,a)}function js(s,c,i,T,a,f){let P=Fa(c,i,T);if(a&&c!==P)throw RangeError(rF(s,c,i,T,f));return P}function MD(s,c){let i=s[c];if(i===void 0)throw TypeError(Bf(c));return i}function V(s){return s!==null&&/object|function/.test(typeof s)}function Ss(s,c=Map){let i=new c;return(T,...a)=>{if(i.has(T))return i.get(T);let f=s(T,...a);return i.set(T,f),f}}function wa(s){return dc({name:s},1)}function dc(s,c){return gs((i)=>({value:i,configurable:1,writable:!c}),s)}function mD(s){return gs((c)=>({get:c,configurable:1}),s)}function ei(s){return{[Symbol.toStringTag]:{value:s,configurable:1}}}function Xc(s,c){let i={},T=s.length;for(let a of c)i[s[--T]]=a;return i}function gs(s,c,i){let T={};for(let a in c)T[a]=s(c[a],a,i);return T}function mi(s,c,i){let T={};for(let a=0;a<c.length;a++){let f=c[a];T[f]=s(f,a,i)}return T}function I0(s,c,i){let T={};for(let a=0;a<s.length;a++)T[c[a]]=i[s[a]];return T}function Ms(s,c){let i={};for(let T of s)i[T]=c[T];return i}function ja(s,c){let i={};for(let T in c)s.has(T)||(i[T]=c[T]);return i}function xa(s){s={...s};let c=Object.keys(s);for(let i of c)s[i]===void 0&&delete s[i];return s}function ZD(s,c){for(let i of c)if(!(i in s))return 0;return 1}function AD(s,c,i){for(let T of s)if(c[T]!==i[T])return 0;return 1}function wD(s,c,i){let T={...i};for(let a=0;a<c;a++)T[s[a]]=0;return T}function E(s,...c){return(...i)=>s(...c,...i)}function nP(s){return s[0].toUpperCase()+s.substring(1)}function Zi(s){return s.slice().sort()}function Vi(s,c){return String(c).padStart(s,"0")}function ks(s,c){return Math.sign(s-c)}function Fa(s,c,i){return Math.min(Math.max(s,c),i)}function Rs(s,c){return[Math.floor(s/c),Di(s,c)]}function Di(s,c){return(s%c+c)%c}function ts(s,c){return[sT(s,c),Ea(s,c)]}function sT(s,c){return Math.trunc(s/c)||0}function Ea(s,c){return s%c||0}function _i(s){return Math.abs(s%1)===0.5}function jD(s,c,i){let T=0,a=0;for(let D=0;D<=c;D++){let O=s[i[D]],F=Js[D],C=W/F,[S,d]=ts(O,C);T+=d*F,a+=S}let[f,P]=ts(T,W);return[a+f,P]}function cT(s,c,i){let T={};for(let a=c;a>=0;a--){let f=Js[a];T[i[a]]=sT(s,f),s=Ea(s,f)}return T}function xD(s){return s===b?UT:[]}function ED(s){return s===b?Gi:[]}function bD(s){return s===b?["year","day"]:[]}function gD(s){if(s!==void 0)return $(s)}function yD(s){if(s!==void 0)return ys(s)}function ba(s){if(s!==void 0)return Ai(s)}function ys(s){return ID(Ai(s))}function Ai(s){return GD(wS(s))}function ga(s){if(s==null)throw TypeError("Cannot be null or undefined");return s}function WD(s,c){if(c==null)throw RangeError(Bf(s));return c}function Bs(s){if(!V(s))throw TypeError(tF);return s}function iT(s,c,i=s){if(typeof c!==s)throw TypeError(gi(i,c));return c}function GD(s,c="number"){if(!Number.isInteger(s))throw RangeError(N0(c,s));return s||0}function ID(s,c="number"){if(s<=0)throw RangeError(p0(c,s));return s}function ya(s){if(typeof s=="symbol")throw TypeError(v0);return String(s)}function hi(s,c){return V(s)?String(s):$(s,c)}function TT(s){if(typeof s=="string")return BigInt(s);if(typeof s!="bigint")throw TypeError(k0(s));return s}function LD(s,c="number"){if(typeof s=="bigint")throw TypeError(h0(c));if(s=Number(s),!Number.isFinite(s))throw RangeError(V0(c,s));return s}function e(s,c){return Math.trunc(LD(s,c))||0}function qD(s,c){return GD(LD(s,c),c)}function eP(s,c){return ID(e(s,c),c)}function Wa(s,c){let[i,T]=ts(c,W),a=s+i,f=Math.sign(a);return f&&f===-Math.sign(T)&&(a-=f,T+=f*W),[a,T]}function Jc(s,c,i=1){return Wa(s[0]+c[0]*i,s[1]+c[1]*i)}function Kc(s,c){return Wa(s[0],s[1]+c)}function Zs(s,c){return Jc(c,s,-1)}function cs(s,c){return ks(s[0],c[0])||ks(s[1],c[1])}function JD(s,c,i){return cs(s,c)===-1||cs(s,i)===1}function aT(s,c=1){let i=BigInt(W/c);return[Number(s/i),Number(s%i)*c]}function lc(s,c=1){let i=W/c,[T,a]=ts(s,i);return[T,a*c]}function KD(s,c=1){let[i,T]=s,a=Math.floor(T/c),f=W/c;return BigInt(i)*BigInt(f)+BigInt(a)}function As(s,c=1,i){let[T,a]=s,[f,P]=ts(a,c);return T*(W/c)+(f+(i?P/c:0))}function Ga(s,c,i=Rs){let[T,a]=s,[f,P]=i(a,c);return[T*(W/c)+f,P]}function Ia(s,c){let i=s.formatToParts(c),T={};for(let a of i)T[a.type]=a.value;return T}function La(s){return Os(s,"isoYear",Mi,di,1),s.isoYear===Mi?Os(s,"isoMonth",4,12,1):s.isoYear===di&&Os(s,"isoMonth",1,9,1),s}function vs(s){return zs({...s,...bs,isoHour:12}),s}function zs(s){let c=Os(s,"isoYear",Mi,di,1),i=c===Mi?1:c===di?-1:0;return i&&ws(ss({...s,isoDay:s.isoDay+i,isoNanosecond:s.isoNanosecond-i})),s}function ws(s){if(!s||JD(s,WS,yS))throw RangeError(lT);return s}function rs(s){return jD(s,5,Ls)[1]}function fT(s){let[c,i]=Rs(s,W);return[cT(i,5,Ls),c]}function lD(s){return $D(s)[0]}function $D(s){return Ga(s,Es)}function is(s){return Uc(s.isoYear,s.isoMonth,s.isoDay,s.isoHour,s.isoMinute,s.isoSecond,s.isoMillisecond)}function ss(s){let c=is(s);if(c!==void 0){let[i,T]=ts(c,Cs);return[i,T*Ks+(s.isoMicrosecond||0)*bc+(s.isoNanosecond||0)]}}function qa(s,c){let[i,T]=fT(rs(s)-c);return ws(ss({...s,isoDay:s.isoDay+T,...i}))}function ki(...s){return Uc(...s)/DC}function Uc(...s){let[c,i]=QD(...s),T=c.valueOf();if(!isNaN(T))return T-i*Cs}function QD(s,c=1,i=1,T=0,a=0,f=0,P=0){let D=s===Mi?1:s===di?-1:0,O=new Date;return O.setUTCHours(T,a,f,P),O.setUTCFullYear(s,c-1,i+D),[O,D]}function ns(s,c){let[i,T]=Kc(s,c);T<0&&(T+=W,i-=1);let[a,f]=Rs(T,Ks),[P,D]=Rs(f,bc);return PT(i*Cs+a,P,D)}function PT(s,c=0,i=0){let T=Math.ceil(Math.max(0,Math.abs(s)-gS)/Cs)*Math.sign(s),a=new Date(s-T*Cs);return Xc(RT,[a.getUTCFullYear(),a.getUTCMonth()+1,a.getUTCDate()+T,a.getUTCHours(),a.getUTCMinutes(),a.getUTCSeconds(),a.getUTCMilliseconds(),c,i])}function XD(s){return[s.isoYear,s.isoMonth,s.isoDay]}function UD(){return Ys}function Ja(s,c){switch(c){case 2:return Ka(s)?29:28;case 4:case 6:case 9:case 11:return 30}return 31}function YD(s){return Ka(s)?366:365}function Ka(s){return s%4==0&&(s%100!=0||s%400==0)}function RD(s){let[c,i]=QD(s.isoYear,s.isoMonth,s.isoDay);return Di(c.getUTCDay()-i,7)||7}function _D({isoYear:s}){return s<1?["bce",1-s]:["ce",s]}function L0(s){let c=is(s);if(c<IS)return _D(s);let i=Ia(TP($c),c),{era:T,eraYear:a}=tO(i,$c);return[T,a]}function DT(s){return Mc(s),OT(s,1),s}function Mc(s){return BD(s,1),s}function sD(s){return AD(tf,s,BD(s))}function BD(s,c){let{isoYear:i}=s,T=Os(s,"isoMonth",1,UD(),c);return{isoYear:i,isoMonth:T,isoDay:Os(s,"isoDay",1,Ja(i,T),c)}}function OT(s,c){return Xc(Ls,[Os(s,"isoHour",0,23,c),Os(s,"isoMinute",0,59,c),Os(s,"isoSecond",0,59,c),Os(s,"isoMillisecond",0,999,c),Os(s,"isoMicrosecond",0,999,c),Os(s,"isoNanosecond",0,999,c)])}function g(s){return s===void 0?0:WC(Bs(s))}function wi(s,c=0){s=Ws(s);let i=GC(s),T=YS(s,c);return[WC(s),T,i]}function la(s){return GC(Ws(s))}function zD(s){return s=Ws(s),nf(s,9,6,1)}function Yc(s,c,i,T=9,a=0,f=4){c=Ws(c);let P=nf(c,T,a),D=Xa(c),O=Li(c,f),F=Ii(c,T,a,1);return P==null?P=Math.max(i,F):VD(P,F),D=Ua(D,F,1),s&&(O=((C)=>C<4?(C+2)%4:C)(O)),[P,F,D,O]}function FT(s,c=6,i){let T=Xa(s=Ya(s,ni)),a=Li(s,7),f=Ii(s,c);return f=WD(ni,f),T=Ua(T,f,void 0,i),[f,T,a]}function $a(s){return ef(Ws(s))}function HD(s,c){return Qa(Ws(s),c)}function Qa(s,c=4){let i=pD(s);return[Li(s,4),...ND(Ii(s,c),i)]}function ND(s,c){return s!=null?[Js[s],s<4?9-3*s:-1]:[c===void 0?1:10**(9-c),c]}function Xa(s){let c=s[Oi];return c===void 0?1:e(c,Oi)}function Ua(s,c,i,T){let a=T?W:Js[c+1];if(a){let f=Js[c];if(a%((s=js(Oi,s,1,a/f-(T?0:1),1))*f))throw RangeError(gi(Oi,s))}else s=js(Oi,s,1,i?1e9:1,1);return s}function pD(s){let c=s[Oa];if(c!==void 0){if(typeof c!="number"){if(ya(c)==="auto")return;throw RangeError(gi(Oa,c))}c=js(Oa,Math.floor(c),0,9,1)}return c}function Ws(s){return s===void 0?{}:Bs(s)}function Ya(s,c){return typeof s=="string"?{[c]:s}:Bs(s)}function Y(s){if(s!==void 0){if(V(s))return Object.assign(Object.create(null),s);throw TypeError(tF)}}function CT(s,c){return s&&Object.assign(Object.create(null),s,{overflow:qS[c]})}function Ra(s,c,i=9,T=0,a){let f=c[s];if(f===void 0)return a?T:void 0;if(f=ya(f),f==="auto")return a?T:null;let P=Ma[f];if(P===void 0&&(P=ES[f]),P===void 0)throw RangeError(eF(s,f,Ma));return js(s,P,T,i,1,Wi),P}function mc(s,c,i,T=0){let a=i[s];if(a===void 0)return T;let f=ya(a),P=c[f];if(P===void 0)throw RangeError(eF(s,f,c));return P}function VD(s,c){if(c>s)throw RangeError(dS)}function h(s){return{branding:BT,epochNanoseconds:s}}function t(s,c,i){return{branding:Vs,calendar:i,timeZone:c,epochNanoseconds:s}}function R(s,c=s.calendar){return{branding:yc,calendar:c,...Ms(EC,s)}}function _(s,c=s.calendar){return{branding:gc,calendar:c,...Ms(rf,s)}}function Cc(s,c=s.calendar){return{branding:Vc,calendar:c,...Ms(rf,s)}}function vi(s,c=s.calendar){return{branding:hc,calendar:c,...Ms(rf,s)}}function Gs(s){return{branding:_T,...Ms(xC,s)}}function J(s){return{branding:zT,sign:es(s),...Ms(kf,s)}}function hD(s){return lD(s.epochNanoseconds)}function ST(s){return Ga(s.epochNanoseconds,Ks)[0]}function kD(s){return KD(s.epochNanoseconds,bc)}function vD(s){return KD(s.epochNanoseconds)}function oD(s){return s.epochNanoseconds}function v(s){return typeof s=="string"?s:$(s.id)}function Rc(s,c){return s===c||v(s)===v(c)}function tD(s,c,i,T,a){let f=Sc(T),[P,D]=((A,j)=>{let w=j((A=Ya(A,Aa))[gC]),x=US(A);return x=WD(Aa,x),[x,w]})(a,s);if(Ci(Math.max(P,f),D))return cD(T,P);if(!D)throw RangeError($T);let[O,F,C]=wT(c,i,D),S=Of(C),d=jT(C),M=Ff(C),m=d(F,O,T),Z=M(F,O,m,P);return Ci(P,D)?cD(Z,P):((A,j,w,x,U,K,q)=>{let l=es(A),[k,H]=_a(x,of(w,A),w,l,U,K,q),nc=Ba(j,k,H);return A[y[w]]+nc*l})(Z,S(m),P,F,O,S,d)}function cD(s,c){return As(p(s),Js[c],1)}function _a(s,c,i,T,a,f,P){let D=y[i],O={...c,[D]:c[D]+T},F=P(s,a,c),C=P(s,a,O);return[f(F),f(C)]}function Ba(s,c,i){let T=As(Zs(c,i));if(!T)throw RangeError(yi);return As(Zs(c,s))/T}function rD(s,c){let[i,T,a]=FT(c,5,1);return h(MT(s.epochNanoseconds,i,T,a,1))}function uD(s,c,i){let{epochNanoseconds:T,timeZone:a,calendar:f}=c,[P,D,O]=FT(i);if(P===0&&D===1)return c;let F=s(a);if(P===6)T=((C,S,d,M)=>{let m=Ts(d,S),[Z,A]=C(m),j=d.epochNanoseconds,w=ds(S,Z),x=ds(S,A);if(JD(j,w,x))throw RangeError(yi);return PO(Ba(j,w,x),M)?x:w})(aO,F,c,O);else{let C=F.getOffsetNanosecondsFor(T);T=Ac(F,iO(ns(T,C),P,D,O),C,2,0,1)}return t(T,a,f)}function nD(s,c){return R(iO(s,...FT(c)),s.calendar)}function eD(s,c){let[i,T,a]=FT(c,5);var f;return Gs((f=a,za(s,ji(i,T),f)[0]))}function sO(s,c){let i=s(c.timeZone),T=Ts(c,i),[a,f]=aO(T),P=As(Zs(ds(i,a),ds(i,f)),XT,1);if(P<=0)throw RangeError(yi);return P}function cO(s,c){let{timeZone:i,calendar:T}=c,a=((f,P,D)=>ds(P,f(Ts(D,P))))(fO,s(i),c);return t(a,i,T)}function iO(s,c,i,T){return TO(s,ji(c,i),T)}function TO(s,c,i){let[T,a]=za(s,c,i);return zs({...wc(s,a),...T})}function za(s,c,i){return fT(us(rs(s),c,i))}function oi(s){return us(s,QT,7)}function ji(s,c){return Js[s]*c}function aO(s){let c=fO(s);return[c,wc(c,1)]}function fO(s){return bS(6,s)}function q0(s,c,i){let T=Math.min(Sc(s),6);return Bc(mT(p(s,T),c,i),T)}function dT(s,c,i,T,a,f,P,D,O,F){if(T===0&&a===1)return s;let C=Ci(T,D)?xT(D)&&T<6&&i>=6?K0:J0:l0,[S,d,M]=C(s,c,i,T,a,f,P,D,O,F);return M&&T!==7&&(S=((m,Z,A,j,w,x,U,K)=>{let q=es(m);for(let l=j+1;l<=A;l++){if(l===7&&A!==7)continue;let k=of(l,m);k[y[l]]+=q;let H=As(Zs(U(K(w,x,k)),Z));if(H&&Math.sign(H)!==q)break;m=k}return m})(S,d,i,Math.max(6,T),P,D,O,F)),S}function MT(s,c,i,T,a){if(c===6){let f=((P)=>P[0]+P[1]/W)(s);return[us(f,i,T),0]}return mT(s,ji(c,i),T,a)}function mT(s,c,i,T){let[a,f]=s;T&&f<0&&(f+=W,a-=1);let[P,D]=Rs(us(f,c,i),W);return Wa(a+P,D)}function us(s,c,i){return PO(s/c,i)*c}function PO(s,c){return BS[c](s)}function J0(s,c,i,T,a,f){let P=es(s),D=p(s),O=MT(D,T,a,f),F=Zs(D,O),C=Math.sign(O[0]-D[0])===P,S=Bc(O,Math.min(i,6));return[{...s,...S},Jc(c,F),C]}function K0(s,c,i,T,a,f,P,D,O,F){let C=es(s),S=As(p(s,5)),d=ji(T,a),M=us(S,d,f),[m,Z]=_a(P,{...s,...vf},6,C,D,O,F),A=M-As(Zs(m,Z)),j=0;A&&Math.sign(A)!==C?c=Kc(m,M):(j+=C,M=us(A,d,f),c=Kc(Z,M));let w=bT(M);return[{...s,...w,days:s.days+j},c,Boolean(j)]}function l0(s,c,i,T,a,f,P,D,O,F){let C=es(s),S=y[T],d=of(T,s);T===7&&(s={...s,weeks:s.weeks+Math.trunc(s.days/7)});let M=sT(s[S],a)*a;d[S]=M;let[m,Z]=_a(P,d,T,a*C,D,O,F),A=M+Ba(c,m,Z)*C*a,j=us(A,a,f),w=Math.sign(j-A)===C;return d[S]=j,[d,w?Z:m,w]}function Ha(s,c,i,T){let[a,f,P,D]=((F)=>{let C=Qa(F=Ws(F));return[F.timeZone,...C]})(T),O=a!==void 0;return((F,C,S,d,M,m)=>{S=mT(S,M,d,1);let Z=C.getOffsetNanosecondsFor(S);return oa(ns(S,Z),m)+(F?Zc(oi(Z)):"Z")})(O,c(O?s(a):Wc),i.epochNanoseconds,f,P,D)}function Na(s,c,i){let[T,a,f,P,D,O]=((F)=>{F=Ws(F);let C=ef(F),S=pD(F),d=_S(F),M=Li(F,4),m=Ii(F,4);return[C,RS(F),d,M,...ND(m,S)]})(i);return((F,C,S,d,M,m,Z,A,j,w)=>{d=mT(d,j,A,1);let x=F(S).getOffsetNanosecondsFor(d);return oa(ns(d,x),w)+Zc(oi(x),Z)+((U,K)=>K!==1?"["+(K===2?"!":"")+v(U)+"]":"")(S,m)+ta(C,M)})(s,c.calendar,c.timeZone,c.epochNanoseconds,T,a,f,P,D,O)}function pa(s,c){let[i,T,a,f]=((F)=>(F=Ws(F),[ef(F),...Qa(F)]))(c);return P=s.calendar,D=i,O=f,oa(TO(s,a,T),O)+ta(P,D);var P,D,O}function Va(s,c){return i=s.calendar,T=s,a=$a(c),ti(T)+ta(i,a);var i,T,a}function ha(s,c){return DO(s.calendar,OO,s,$a(c))}function ka(s,c){return DO(s.calendar,$0,s,$a(c))}function va(s,c){let[i,T,a]=HD(c);return f=a,FO(za(s,T,i)[0],f);var f}function ZT(s,c){let[i,T,a]=HD(c,3);return T>1&&(s={...s,...q0(s,T,i)}),((f,P)=>{let{sign:D}=f,O=D===-1?as(f):f,{hours:F,minutes:C}=O,[S,d]=Ga(p(O,3),Es,ts);wO(S);let M=ra(d,P),m=P>=0||!D||M;return(D<0?"-":"")+"P"+iD({Y:Fc(O.years),M:Fc(O.months),W:Fc(O.weeks),D:Fc(O.days)})+(F||C||S||m?"T"+iD({H:Fc(F),M:Fc(C),S:Fc(S,m)+M}):"")})(s,a)}function DO(s,c,i,T){let a=v(s),f=T>1||T===0&&a!==b;return T===1?a===b?c(i):ti(i):f?ti(i)+CO(a,T===2):c(i)}function iD(s){let c=[];for(let i in s){let T=s[i];T&&c.push(T,i)}return c.join("")}function oa(s,c){return ti(s)+"T"+FO(s,c)}function ti(s){return OO(s)+"-"+xs(s.isoDay)}function OO(s){let{isoYear:c}=s;return(c<0||c>9999?SO(c)+Vi(6,Math.abs(c)):Vi(4,c))+"-"+xs(s.isoMonth)}function $0(s){return xs(s.isoMonth)+"-"+xs(s.isoDay)}function FO(s,c){let i=[xs(s.isoHour),xs(s.isoMinute)];return c!==-1&&i.push(xs(s.isoSecond)+((T,a,f,P)=>ra(T*Ks+a*bc+f,P))(s.isoMillisecond,s.isoMicrosecond,s.isoNanosecond,c)),i.join(":")}function Zc(s,c=0){if(c===1)return"";let[i,T]=Rs(Math.abs(s),XT),[a,f]=Rs(T,QT),[P,D]=Rs(f,Es);return SO(s)+xs(i)+":"+xs(a)+(P||D?":"+xs(P)+ra(D):"")}function ta(s,c){if(c!==1){let i=v(s);if(c>1||c===0&&i!==b)return CO(i,c===2)}return""}function CO(s,c){return"["+(c?"!":"")+"u-ca="+s+"]"}function ra(s,c){let i=Vi(9,s);return i=c===void 0?i.replace(NS,""):i.slice(0,c),i?"."+i:""}function SO(s){return s<0?"-":"+"}function Fc(s,c){return s||c?s.toLocaleString("fullwide",{useGrouping:0}):""}function Q0(s,c){let{epochNanoseconds:i}=s,T=(c.getOffsetNanosecondsFor?c:c(s.timeZone)).getOffsetNanosecondsFor(i),a=ns(i,T);return{calendar:s.calendar,...a,offsetNanoseconds:T}}function dO(s,c){let i=Ts(c,s);return{calendar:c.calendar,...Ms(EC,i),offset:Zc(i.offsetNanoseconds),timeZone:c.timeZone}}function Ac(s,c,i,T=0,a=0,f,P){if(i!==void 0&&T===1&&(T===1||P))return qa(c,i);let D=s.getPossibleInstantsFor(c);if(i!==void 0&&T!==3){let O=((F,C,S,d)=>{let M=ss(C);d&&(S=oi(S));for(let m of F){let Z=As(Zs(m,M));if(d&&(Z=oi(Z)),Z===S)return m}})(D,c,i,f);if(O!==void 0)return O;if(T===0)throw RangeError(PS)}return P?ss(c):ds(s,c,a,D)}function ds(s,c,i=0,T=s.getPossibleInstantsFor(c)){if(T.length===1)return T[0];if(i===1)throw RangeError(DS);if(T.length)return T[i===3?1:0];let a=ss(c),f=((D,O)=>{let F=D.getOffsetNanosecondsFor(Kc(O,-W));return na(D.getOffsetNanosecondsFor(Kc(O,W))-F)})(s,a),P=f*(i===2?-1:1);return(T=s.getPossibleInstantsFor(ns(a,P)))[i===2?0:T.length-1]}function ua(s){if(Math.abs(s)>=W)throw RangeError(aS);return s}function na(s){if(s>W)throw RangeError(fS);return s}function ea(s,c,i){return h(ws(Jc(c.epochNanoseconds,((T)=>{if(jO(T))throw RangeError(CS);return p(T,5)})(s?as(i):i))))}function sf(s,c,i,T,a,f=Object.create(null)){let P=c(T.timeZone),D=s(T.calendar);return{...T,...Pf(P,D,T,i?as(a):a,f)}}function cf(s,c,i,T,a=Object.create(null)){let{calendar:f}=i;return R(Df(s(f),i,c?as(T):T,a),f)}function Tf(s,c,i,T,a){let{calendar:f}=i;return _(AT(s(f),i,c?as(T):T,a),f)}function af(s,c,i,T,a=Object.create(null)){let f=i.calendar,P=s(f),D=Fi(P,i);c&&(T=ET(T)),T.sign<0&&(D=P.dateAdd(D,{...o,months:1}),D=wc(D,-1));let O=P.dateAdd(D,T,a);return Cc(Fi(P,O),f)}function ff(s,c,i){return Gs(MO(c,s?as(i):i)[0])}function Pf(s,c,i,T,a){let f=p(T,5),P=i.epochNanoseconds;if(jO(T)){let D=Ts(i,s);P=Jc(ds(s,{...AT(c,D,{...T,...vf},a),...Ms(Ls,D)}),f)}else P=Jc(P,f),g(a);return{epochNanoseconds:ws(P)}}function Df(s,c,i,T){let[a,f]=MO(c,i);return zs({...AT(s,c,{...i,...vf,days:i.days+f},T),...a})}function AT(s,c,i,T){if(i.years||i.months||i.weeks)return s.dateAdd(c,i,T);g(T);let a=i.days+p(i,5)[0];return a?vs(wc(c,a)):c}function Fi(s,c,i=1){return wc(c,i-s.day(c))}function MO(s,c){let[i,T]=p(c,5),[a,f]=fT(rs(s)+T);return[a,i+f]}function wc(s,c){return c?{...s,...PT(is(s)+c*Cs)}:s}function wT(s,c,i){let T=s(i.calendar);return xT(i)?[i,T,c(i.timeZone)]:[{...i,...bs},T]}function Of(s){return s?oD:ss}function jT(s){return s?E(Pf,s):Df}function Ff(s){return s?E(U0,s):Y0}function xT(s){return s&&s.epochNanoseconds}function Ci(s,c){return s<=6-(xT(c)?1:0)}function Cf(s,c,i,T,a,f,P){let D=s(Ws(P).relativeTo),O=Math.max(Sc(a),Sc(f));if(Ci(O,D))return J(_c(((Z,A,j,w)=>{let x=Jc(p(Z),p(A),w?-1:1);if(!Number.isFinite(x[0]))throw RangeError(lT);return{...o,...Bc(x,j)}})(a,f,O,T)));if(!D)throw RangeError($T);T&&(f=as(f));let[F,C,S]=wT(c,i,D),d=jT(S),M=Ff(S),m=d(C,F,a);return J(M(C,F,d(C,m,f),O))}function mO(s,c,i,T,a){let f=Sc(T),[P,D,O,F,C]=((q,l,k)=>{q=Ya(q,ni);let H=nf(q),nc=k(q[gC]),ec=Xa(q),M0=Li(q,7),Oc=Ii(q);if(H===void 0&&Oc===void 0)throw RangeError(SS);return Oc==null&&(Oc=0),H==null&&(H=Math.max(Oc,l)),VD(H,Oc),ec=Ua(ec,Oc,1),[H,Oc,ec,M0,nc]})(a,f,s),S=Math.max(f,P);if(!xT(C)&&S<=6)return J(_c(((q,l,k,H,nc)=>{let ec=MT(p(q),k,H,nc);return{...o,...Bc(ec,l)}})(T,P,D,O,F)));if(!C)throw RangeError($T);let[d,M,m]=wT(c,i,C),Z=Of(m),A=jT(m),j=Ff(m),w=A(M,d,T),x=j(M,d,w,P),U=T.sign,K=es(x);if(U&&K&&U!==K)throw RangeError(yi);return K&&(x=dT(x,Z(w),P,D,O,F,M,d,Z,A)),J(x)}function ZO(s){return s.sign===-1?ET(s):s}function ET(s){return J(as(s))}function as(s){let c={};for(let i of y)c[i]=-1*s[i]||0;return c}function AO(s){return!s.sign}function es(s,c=y){let i=0;for(let T of c){let a=Math.sign(s[T]);if(a){if(i&&i!==a)throw RangeError(FS);i=a}}return i}function _c(s){for(let c of xS)js(c,s[c],-FD,FD,1);return wO(As(p(s),Es)),s}function wO(s){if(!Number.isSafeInteger(s))throw RangeError(OS)}function p(s,c=6){return jD(s,c,y)}function Bc(s,c=6){let[i,T]=s,a=cT(T,c,y);if(a[y[c]]+=i*(W/Js[c]),!Number.isFinite(a[y[c]]))throw RangeError(lT);return a}function bT(s,c=5){return cT(s,c,y)}function jO(s){return Boolean(es(s,jC))}function Sc(s){let c=9;for(;c>0&&!s[y[c]];c--);return c}function X0(s,c){return[s,c]}function TD(s){let c=Math.floor(s/Ni)*Ni;return[c,c+Ni]}function xO(s){let c=sc(s=hi(s));if(!c)throw RangeError(Fs(s));let i;if(c.m)i=0;else{if(!c.offset)throw RangeError(Fs(s));i=zc(c.offset)}return c.timeZone&&mf(c.timeZone,1),h(qa(DT(c),i))}function EO(s){let c=sc($(s));if(!c)throw RangeError(Fs(s));if(c.timeZone)return JO(c,c.offset?zc(c.offset):void 0);if(c.m)throw RangeError(Fs(s));return lO(c)}function bO(s,c){let i=sc($(s));if(!i||!i.timeZone)throw RangeError(Fs(s));let{offset:T}=i,a=T?zc(T):void 0,[,f,P]=wi(c);return JO(i,a,f,P)}function zc(s){let c=mf(s);if(c===void 0)throw RangeError(Fs(s));return c}function gO(s){let c=sc($(s));if(!c||c.m)throw RangeError(Fs(s));return R(KO(c))}function gT(s){let c=sc($(s));if(!c||c.m)throw RangeError(Fs(s));return _(c.p?KO(c):lO(c))}function yO(s,c){let i=df($(c));if(i)return Sf(i),Cc(La(Mc(i)));let T=gT(c);return Cc(Fi(s(T.calendar),T))}function Sf(s){if(s.calendar!==b)throw RangeError(_s(s.calendar))}function WO(s,c){let i=Mf($(c));if(i)return Sf(i),vi(Mc(i));let T=gT(c),{calendar:a}=T,f=s(a),[P,D,O]=f.h(T),[F,C]=f.I(P,D),[S,d]=f.N(F,C,O);return vi(vs(f.P(S,d,O)),a)}function GO(s){let c,i=((T)=>{let a=vS.exec(T);return a?(yT(a[10]),XO(a)):void 0})($(s));if(!i){if(i=sc(s),!i)throw RangeError(Fs(s));if(!i.p)throw RangeError(Fs(s));if(i.m)throw RangeError(_s("Z"));Sf(i)}if((c=df(s))&&sD(c))throw RangeError(Fs(s));if((c=Mf(s))&&sD(c))throw RangeError(Fs(s));return Gs(OT(i,1))}function IO(s){let c=((i)=>{let T=rS.exec(i);return T?((a)=>{function f(C,S,d){let M=0,m=0;if(d&&([M,O]=Rs(O,Js[d])),C!==void 0){if(D)throw RangeError(_s(C));m=((Z)=>{let A=parseInt(Z);if(!Number.isFinite(A))throw RangeError(_s(Z));return A})(C),P=1,S&&(O=Zf(S)*(Js[d]/Es),D=1)}return M+m}let P=0,D=0,O=0,F={...Xc(y,[f(a[2]),f(a[3]),f(a[4]),f(a[5]),f(a[6],a[7],5),f(a[8],a[9],4),f(a[10],a[11],3)]),...cT(O,2,y)};if(!P)throw RangeError(uF(y));return Af(a[1])<0&&(F=as(F)),F})(T):void 0})($(s));if(!c)throw RangeError(Fs(s));return J(_c(c))}function LO(s){let c=sc(s)||df(s)||Mf(s);return c?c.calendar:s}function qO(s){let c=sc(s);return c&&(c.timeZone||c.m&&Wc||c.offset)||s}function JO(s,c,i=0,T=0){let a=WT(s.timeZone),f=HT(a);return t(Ac(f,DT(s),c,i,T,!f.v,s.m),a,xi(s.calendar))}function KO(s){return $O(zs(DT(s)))}function lO(s){return $O(vs(Mc(s)))}function $O(s){return{...s,calendar:xi(s.calendar)}}function sc(s){let c=kS.exec(s);return c?((i)=>{let T=i[10],a=(T||"").toUpperCase()==="Z";return{isoYear:QO(i),isoMonth:parseInt(i[4]),isoDay:parseInt(i[5]),...XO(i.slice(5)),...yT(i[16]),p:Boolean(i[6]),m:a,offset:a?void 0:T}})(c):void 0}function df(s){let c=VS.exec(s);return c?((i)=>({isoYear:QO(i),isoMonth:parseInt(i[4]),isoDay:1,...yT(i[5])}))(c):void 0}function Mf(s){let c=hS.exec(s);return c?((i)=>({isoYear:Qc,isoMonth:parseInt(i[1]),isoDay:parseInt(i[2]),...yT(i[3])}))(c):void 0}function mf(s,c){let i=oS.exec(s);return i?((T,a)=>{let f=T[4]||T[5];if(a&&f)throw RangeError(_s(f));return ua((qc(T[2])*XT+qc(T[3])*QT+qc(T[4])*Es+Zf(T[5]||""))*Af(T[1]))})(i,c):void 0}function QO(s){let c=Af(s[1]),i=parseInt(s[2]||s[3]);if(c<0&&!i)throw RangeError(_s(-0));return c*i}function XO(s){let c=qc(s[3]);return{...fT(Zf(s[4]||""))[0],isoHour:qc(s[1]),isoMinute:qc(s[2]),isoSecond:c===60?59:c}}function yT(s){let c,i,T=[];if(s.replace(tS,(a,f,P)=>{let D=Boolean(f),[O,F]=P.split("=").reverse();if(F){if(F==="u-ca")T.push(O),c||(c=D);else if(D||/[A-Z]/.test(F))throw RangeError(_s(a))}else{if(i)throw RangeError(_s(a));i=O}return""}),T.length>1&&c)throw RangeError(_s(s));return{timeZone:i,calendar:T[0]||b}}function Zf(s){return parseInt(s.padEnd(9,"0"))}function Hc(s){return new RegExp(`^${s}$`,"i")}function Af(s){return s&&s!=="+"?-1:1}function qc(s){return s===void 0?0:parseInt(s)}function UO(s){return WT($(s))}function WT(s){let c=wf(s);return typeof c=="number"?Zc(c):c?((i)=>{if(nS.test(i))throw RangeError(TS);return i.toLowerCase().split("/").map((T,a)=>(T.length<=3||/\d/.test(T))&&!/etc|yap/.test(T)?T.toUpperCase():T.replace(/baja|dumont|[a-z]+/g,(f,P)=>f.length<=2&&!a||f==="in"||f==="chat"?f.toUpperCase():f.length>2||!P?nP(f).replace(/island|noronha|murdo|rivadavia|urville/,nP):f)).join("/")})(s):Wc}function aD(s){let c=wf(s);return typeof c=="number"?c:c?c.resolvedOptions().timeZone:Wc}function wf(s){let c=mf(s=s.toUpperCase(),1);return c!==void 0?c:s!==Wc?uS(s):void 0}function jf(s,c){return cs(s.epochNanoseconds,c.epochNanoseconds)}function xf(s,c){return cs(s.epochNanoseconds,c.epochNanoseconds)}function YO(s,c,i,T,a,f){let P=s(Ws(f).relativeTo),D=Math.max(Sc(T),Sc(a));if(AD(y,T,a))return 0;if(Ci(D,P))return cs(p(T),p(a));if(!P)throw RangeError($T);let[O,F,C]=wT(c,i,P),S=Of(C),d=jT(C);return cs(S(d(F,O,T)),S(d(F,O,a)))}function Ef(s,c){return jc(s,c)||GT(s,c)}function jc(s,c){return ks(is(s),is(c))}function GT(s,c){return ks(rs(s),rs(c))}function RO(s,c){return!jf(s,c)}function _O(s,c){return!xf(s,c)&&!!IT(s.timeZone,c.timeZone)&&Rc(s.calendar,c.calendar)}function BO(s,c){return!Ef(s,c)&&Rc(s.calendar,c.calendar)}function zO(s,c){return!jc(s,c)&&Rc(s.calendar,c.calendar)}function HO(s,c){return!jc(s,c)&&Rc(s.calendar,c.calendar)}function NO(s,c){return!jc(s,c)&&Rc(s.calendar,c.calendar)}function pO(s,c){return!GT(s,c)}function IT(s,c){if(s===c)return 1;let i=v(s),T=v(c);if(i===T)return 1;try{return aD(i)===aD(T)}catch(a){}}function bf(s,c,i,T){let a=Yc(s,Y(T),3,5),f=LT(c.epochNanoseconds,i.epochNanoseconds,...a);return J(s?as(f):f)}function gf(s,c,i,T,a,f){let P=JT(T.calendar,a.calendar),D=Y(f),[O,F,C,S]=Yc(i,D,5),d=T.epochNanoseconds,M=a.epochNanoseconds,m=cs(M,d),Z;if(m)if(O<6)Z=LT(d,M,O,F,C,S);else{let A=c(((w,x)=>{if(!IT(w,x))throw RangeError(TC);return w})(T.timeZone,a.timeZone)),j=s(P);Z=hO(j,A,T,a,m,O,D),Z=dT(Z,M,O,F,C,S,j,T,oD,E(Pf,A))}else Z=o;return J(i?as(Z):Z)}function yf(s,c,i,T,a){let f=JT(i.calendar,T.calendar),P=Y(a),[D,O,F,C]=Yc(c,P,6),S=ss(i),d=ss(T),M=cs(d,S),m;if(M)if(D<=6)m=LT(S,d,D,O,F,C);else{let Z=s(f);m=kO(Z,i,T,M,D,P),m=dT(m,d,D,O,F,C,Z,i,ss,Df)}else m=o;return J(c?as(m):m)}function Wf(s,c,i,T,a){let f=JT(i.calendar,T.calendar),P=Y(a);return VO(c,()=>s(f),i,T,...Yc(c,P,6,9,6),P)}function Gf(s,c,i,T,a){let f=JT(i.calendar,T.calendar),P=Y(a),D=Yc(c,P,9,9,8),O=s(f);return VO(c,()=>O,Fi(O,i),Fi(O,T),...D,P)}function VO(s,c,i,T,a,f,P,D,O){let F=ss(i),C=ss(T),S;if(cs(C,F))if(a===6)S=LT(F,C,a,f,P,D);else{let d=c();S=d.dateUntil(i,T,a,O),f===6&&P===1||(S=dT(S,C,a,f,P,D,d,i,ss,AT))}else S=o;return J(s?as(S):S)}function If(s,c,i,T){let a=Y(T),[f,P,D,O]=Yc(s,a,5,5),F=us(Lf(c,i),ji(P,D),O),C={...o,...bT(F,f)};return J(s?as(C):C)}function U0(s,c,i,T,a,f){let P=cs(T.epochNanoseconds,i.epochNanoseconds);return P?a<6?vO(i.epochNanoseconds,T.epochNanoseconds,a):hO(c,s,i,T,P,a,f):o}function Y0(s,c,i,T,a){let f=ss(c),P=ss(i),D=cs(P,f);return D?T<=6?vO(f,P,T):kO(s,c,i,D,T,a):o}function hO(s,c,i,T,a,f,P){let[D,O,F]=((d,M,m,Z)=>{function A(){return l={...wc(x,K++*-Z),...w},k=ds(d,l),cs(U,k)===-Z}let j=Ts(M,d),w=Ms(Ls,j),x=Ts(m,d),U=m.epochNanoseconds,K=0,q=Lf(j,x),l,k;if(Math.sign(q)===-Z&&K++,A()&&(Z===-1||A()))throw RangeError(yi);let H=As(Zs(k,U));return[j,l,H]})(c,i,T,a);var C,S;return{...f===6?(C=D,S=O,{...o,days:oO(C,S)}):s.dateUntil(D,O,f,P),...bT(F)}}function kO(s,c,i,T,a,f){let[P,D,O]=((F,C,S)=>{let d=C,M=Lf(F,C);return Math.sign(M)===-S&&(d=wc(C,-S),M+=W*S),[F,d,M]})(c,i,T);return{...s.dateUntil(P,D,a,f),...bT(O)}}function LT(s,c,i,T,a,f){return{...o,...Bc(MT(Zs(s,c),T,a,f),i)}}function vO(s,c,i){return{...o,...Bc(Zs(s,c),i)}}function oO(s,c){return qT(is(s),is(c))}function qT(s,c){return Math.trunc((c-s)/Cs)}function Lf(s,c){return rs(c)-rs(s)}function JT(s,c){if(!Rc(s,c))throw RangeError(Nf);return s}function R0(s){function c(a){return((f,P)=>({...tO(f,P),F:f.month,day:parseInt(f.day)}))(Ia(i,a),T)}let i=TP(s),T=ri(s);return{id:s,O:_0(c),B:B0(c)}}function _0(s){return Ss((c)=>{let i=is(c);return s(i)},WeakMap)}function B0(s){let c=s(0).year-GS;return Ss((i)=>{let T,a=Uc(i-c),f=[],P=[];do a+=400*Cs;while((T=s(a)).year<=i);do a+=(1-T.day)*Cs,T.year===i&&(f.push(a),P.push(T.F)),a-=Cs;while((T=s(a)).year>=i);return{k:f.reverse(),C:PC(P.reverse())}})}function tO(s,c){let i,T,a=rO(s);if(s.era){let f=ZC[c];f!==void 0&&(i=c==="islamic"?"ah":s.era.normalize("NFD").toLowerCase().replace(/[^a-z0-9]/g,""),i==="bc"||i==="b"?i="bce":i!=="ad"&&i!=="a"||(i="ce"),T=a,a=cF(T,f[i]||0))}return{era:i,eraYear:T,year:a}}function rO(s){return parseInt(s.relatedYear||s.year)}function Ca(s){let{year:c,F:i,day:T}=this.O(s),{C:a}=this.B(c);return[c,a[i]+1,T]}function Si(s,c=1,i=1){return this.B(s).k[c-1]+(i-1)*Cs}function Bi(s){let c=PD(this,s),i=PD(this,s-1),T=c.length;if(T>i.length){let a=iF(this);if(a<0)return-a;for(let f=0;f<T;f++)if(c[f]!==i[f])return f+1}}function zi(s){return qT(Si.call(this,s),Si.call(this,s+1))}function fD(s,c){let{k:i}=this.B(s),T=c+1,a=i;return T>i.length&&(T=1,a=this.B(s+1).k),qT(i[c-1],a[T-1])}function Hi(s){return this.B(s).k.length}function PD(s,c){return Object.keys(s.B(c).C)}function uO(s){return xi($(s))}function xi(s){if((s=s.toLowerCase())!==b&&s!==YT&&ri(s)!==ri(TP(s).resolvedOptions().calendar))throw RangeError(iS(s));return s}function ri(s){return s==="islamicc"&&(s="islamic"),s.split("-")[0]}function nO(s){return this.R(s)[0]}function eO(s){return this.R(s)[1]}function qf(s){let[c]=this.h(s);return qT(this.q(c),is(s))+1}function sF(s){let c=sd.exec(s);if(!c)throw RangeError(sS(s));return[parseInt(c[1]),Boolean(c[2])]}function ui(s,c,i){return s+(c||i&&s>=i?1:0)}function Sa(s,c){return s-(c&&s>=c?1:0)}function cF(s,c){return(c+s)*(Math.sign(c)||1)||0}function da(s){return ZC[TF(s)]}function iF(s){return AS[TF(s)]}function TF(s){return ri(s.id||b)}function aF(s,c,i,T){let a=cc(i,T,Is,[],SC);if(a.timeZone!==void 0){let f=i.dateFromFields(a),P=xc(a),D=s(a.timeZone);return{epochNanoseconds:Ac(c(D),{...f,...P},a.offset!==void 0?zc(a.offset):void 0),timeZone:D}}return{...i.dateFromFields(a),...bs}}function fF(s,c,i,T,a,f){let P=cc(i,a,Is,FC,SC),D=s(P.timeZone),[O,F,C]=wi(f),S=i.dateFromFields(P,CT(f,O)),d=xc(P,O);return t(Ac(c(D),{...S,...d},P.offset!==void 0?zc(P.offset):void 0,F,C),D,T)}function PF(s,c,i){let T=cc(s,c,Is,[],ps),a=g(i);return R(zs({...s.dateFromFields(T,CT(i,a)),...xc(T,a)}))}function Jf(s,c,i,T=[]){let a=cc(s,c,Is,T);return s.dateFromFields(a,i)}function Kf(s,c,i,T){let a=cc(s,c,hf,T);return s.yearMonthFromFields(a,i)}function lf(s,c,i,T,a=[]){let f=cc(s,i,Is,a);return c&&f.month!==void 0&&f.monthCode===void 0&&f.year===void 0&&(f.year=Qc),s.monthDayFromFields(f,T)}function DF(s,c){let i=g(c);return Gs(xc(qs(s,ma,[],1),i))}function OF(s){let c=qs(s,kf);return J(_c({...o,...c}))}function cc(s,c,i,T=[],a=[]){return qs(c,[...s.fields(i),...a].sort(),T)}function qs(s,c,i,T=!i){let a={},f,P=0;for(let D of c){if(D===f)throw RangeError(o0(D));if(D==="constructor"||D==="__proto__")throw RangeError(zf(D));let O=s[D];if(O!==void 0)P=1,CD[D]&&(O=CD[D](O,D)),a[D]=O;else if(i){if(i.includes(D))throw TypeError(Bf(D));a[D]=mC[D]}f=D}if(T&&!P)throw TypeError(uF(c));return a}function xc(s,c){return OT(ad({...mC,...s}),c)}function FF(s,c,i,T,a,f){let P=Y(f),{calendar:D,timeZone:O}=i;return t(((F,C,S,d,M)=>{let m=Ei(F,S,d,Is,CC,OC),[Z,A,j]=wi(M,2);return Ac(C,{...F.dateFromFields(m,CT(M,Z)),...xc(m,Z)},zc(m.offset),A,j)})(s(D),c(O),T,a,P),O,D)}function CF(s,c,i,T,a){let f=Y(a);return R(((P,D,O,F)=>{let C=Ei(P,D,O,Is,ps),S=g(F);return zs({...P.dateFromFields(C,CT(F,S)),...xc(C,S)})})(s(c.calendar),i,T,f))}function SF(s,c,i,T,a){let f=Y(a);return((P,D,O,F)=>{let C=Ei(P,D,O,Is);return P.dateFromFields(C,F)})(s(c.calendar),i,T,f)}function dF(s,c,i,T,a){let f=Y(a);return Cc(((P,D,O,F)=>{let C=Ei(P,D,O,hf);return P.yearMonthFromFields(C,F)})(s(c.calendar),i,T,f))}function MF(s,c,i,T,a){let f=Y(a);return((P,D,O,F)=>{let C=Ei(P,D,O,Is);return P.monthDayFromFields(C,F)})(s(c.calendar),i,T,f)}function mF(s,c,i){return Gs(((T,a,f)=>{let P=g(f);return xc({...Ms(ma,T),...qs(a,ma)},P)})(s,c,i))}function ZF(s,c){return J((i=s,T=c,_c({...i,...qs(T,kf)})));var i,T}function Ei(s,c,i,T,a=[],f=[]){let P=[...s.fields(T),...a].sort(),D=qs(c,P,f),O=qs(i,P);return D=s.mergeFields(D,O),qs(D,P,[])}function $f(s,c){let i=cc(s,c,MC);return s.monthDayFromFields(i)}function Qf(s,c,i){let T=cc(s,c,dC);return s.yearMonthFromFields(T,i)}function AF(s,c,i,T,a){c=Ms(i=s.fields(i),c),T=qs(T,a=s.fields(a),[]);let f=s.mergeFields(c,T);return f=qs(f,[...i,...a].sort(),[]),s.dateFromFields(f)}function fa(s,c){let{era:i,eraYear:T,year:a}=c,f=da(s);if(i!==void 0||T!==void 0){if(i===void 0||T===void 0)throw TypeError(r0);if(!f)throw RangeError(t0);let P=f[i];if(P===void 0)throw RangeError(n0(i));let D=cF(T,P);if(a!==void 0&&a!==D)throw RangeError(u0);a=D}else if(a===void 0)throw TypeError(e0(f));return a}function Pa(s,c,i,T){let{month:a,monthCode:f}=c;if(f!==void 0){let P=((D,O,F,C)=>{let S=D.U(F),[d,M]=sF(O),m=ui(d,M,S);if(M){let Z=iF(D);if(Z===void 0)throw RangeError(Pi);if(Z>0){if(m>Z)throw RangeError(Pi);if(S===void 0){if(C===1)throw RangeError(Pi);m--}}else{if(m!==-Z)throw RangeError(Pi);if(S===void 0&&C===1)throw RangeError(Pi)}}return m})(s,f,i,T);if(a!==void 0&&a!==P)throw RangeError(cC);a=P,T=1}else if(a===void 0)throw TypeError(cS);return js("month",a,1,s.L(i),T)}function DD(s,c,i,T,a){return Os(c,"day",1,s.j(T,i),a)}function Da(s,c,i,T){let a=0,f=[];for(let P of i)c[P]!==void 0?a=1:f.push(P);if(Object.assign(s,c),a)for(let P of T||f)delete s[P]}function wF(s){return h(ws(aT(TT(s))))}function jF(s,c,i,T,a=b){return t(ws(aT(TT(i))),c(T),s(a))}function xF(s,c,i,T,a=0,f=0,P=0,D=0,O=0,F=0,C=b){return R(zs(DT(gs(e,Xc(RT,[c,i,T,a,f,P,D,O,F])))),s(C))}function EF(s,c,i,T,a=b){return _(vs(Mc(gs(e,{isoYear:c,isoMonth:i,isoDay:T}))),s(a))}function bF(s,c,i,T=b,a=1){let f=e(c),P=e(i),D=s(T);return Cc(La(Mc({isoYear:f,isoMonth:P,isoDay:e(a)})),D)}function gF(s,c,i,T=b,a=Qc){let f=e(c),P=e(i),D=s(T);return vi(vs(Mc({isoYear:e(a),isoMonth:f,isoDay:P})),D)}function yF(s=0,c=0,i=0,T=0,a=0,f=0){return Gs(OT(gs(e,Xc(Ls,[s,c,i,T,a,f])),1))}function WF(s=0,c=0,i=0,T=0,a=0,f=0,P=0,D=0,O=0,F=0){return J(_c(gs(qD,Xc(y,[s,c,i,T,a,f,P,D,O,F]))))}function Xf(s,c,i=b){return t(s.epochNanoseconds,c,i)}function GF(s){return h(s.epochNanoseconds)}function Uf(s,c){return R(Ts(c,s))}function Yf(s,c){return _(Ts(c,s))}function IF(s,c,i){return Qf(s(c.calendar),i)}function LF(s,c,i){return $f(s(c.calendar),i)}function Rf(s,c){return Gs(Ts(c,s))}function qF(s,c,i,T){let a=((f,P,D,O)=>{let F=la(O);return ds(f(P),D,F)})(s,i,c,T);return t(ws(a),i,c.calendar)}function JF(s,c,i){let T=s(c.calendar);return Cc({...c,...Qf(T,i)})}function KF(s,c,i){return $f(s(c.calendar),i)}function lF(s,c,i,T,a){let f=s(a.timeZone),P=a.plainTime,D=P!==void 0?c(P):bs;return t(ds(i(f),{...T,...D}),f,T.calendar)}function $F(s,c=bs){return R(zs({...s,...c}))}function QF(s,c,i){return Qf(s(c.calendar),i)}function XF(s,c,i){return $f(s(c.calendar),i)}function UF(s,c,i,T){return((a,f,P)=>AF(a,f,dC,Bs(P),Gi))(s(c.calendar),i,T)}function YF(s,c,i,T){return((a,f,P)=>AF(a,f,MC,Bs(P),UT))(s(c.calendar),i,T)}function RF(s,c,i,T,a){let f=Bs(a),P=c(f.plainDate),D=s(f.timeZone);return t(ds(i(D),{...P,...T}),D,P.calendar)}function _F(s,c){return R(zs({...s,...c}))}function BF(s){return h(ws(lc(s,Es)))}function zF(s){return h(ws(lc(s,Ks)))}function HF(s){return h(ws(aT(TT(s),bc)))}function NF(s){return h(ws(aT(TT(s))))}function pF(s,c,i=bs){let T=c.timeZone,a=s(T),f={...Ts(c,a),...i};return t(Ac(a,f,f.offsetNanoseconds,2),T,c.calendar)}function VF(s,c,i){let T=c.timeZone,a=s(T),f={...Ts(c,a),...i},P=oF(c.calendar,i.calendar);return t(Ac(a,f,f.offsetNanoseconds,2),T,P)}function hF(s,c=bs){return R({...s,...c})}function kF(s,c){return R({...s,...c},oF(s.calendar,c.calendar))}function KT(s,c){return{...s,calendar:c}}function vF(s,c){return{...s,timeZone:c}}function oF(s,c){if(s===c)return s;let i=v(s),T=v(c);if(i===T||i===b)return c;if(T===b)return s;throw RangeError(Nf)}function z0(s,c){return(i)=>i===b?s:i===YT||i===$c?Object.assign(Object.create(s),{id:i}):Object.assign(Object.create(c),eS(i))}function Ec(s,c,i){let T=new Set(i);return(a)=>(((f,P)=>{for(let D of P)if(D in f)return 1;return 0})(a=ja(T,a),s)||Object.assign(a,c),i&&(a.timeZone=Wc,["full","long"].includes(a.timeStyle)&&(a.timeStyle="medium")),a)}function Hs(s,c=_f){let[i,,,T]=s;return(a,f=Ed,...P)=>{let D=c(T&&T(...P),a,f,i),O=D.resolvedOptions();return[D,...H0(s,O,P)]}}function _f(s,c,i,T){if(i=T(i),s){if(i.timeZone!==void 0)throw TypeError(MS);i.timeZone=s}return new ic(c,i)}function H0(s,c,i){let[,T,a]=s;return i.map((f)=>(f.calendar&&((P,D,O)=>{if((O||P!==b)&&P!==D)throw RangeError(Nf)})(v(f.calendar),c.calendar,a),T(f,c)))}function Nc(s){let c=bi();return ns(c,s.getOffsetNanosecondsFor(c))}function bi(){return lc(Date.now(),Ks)}function Ns(){return dD||(dD=new ic().resolvedOptions().timeZone)}var N0=(s,c)=>`Non-integer ${s}: ${c}`,p0=(s,c)=>`Non-positive ${s}: ${c}`,V0=(s,c)=>`Non-finite ${s}: ${c}`,h0=(s)=>`Cannot convert bigint to ${s}`,k0=(s)=>`Invalid bigint: ${s}`,v0="Cannot convert Symbol to string",tF="Invalid object",rF=(s,c,i,T,a)=>a?rF(s,a[c],a[i],a[T]):gi(s,c)+`; must be between ${i}-${T}`,gi=(s,c)=>`Invalid ${s}: ${c}`,Bf=(s)=>`Missing ${s}`,zf=(s)=>`Invalid field ${s}`,o0=(s)=>`Duplicate field ${s}`,uF=(s)=>"No valid fields: "+s.join(),nF="Invalid bag",eF=(s,c,i)=>gi(s,c)+"; must be "+Object.keys(i).join(),sC="Cannot use valueOf",Hf="Invalid calling context",t0="Forbidden era/eraYear",r0="Mismatching era/eraYear",u0="Mismatching year/eraYear",n0=(s)=>`Invalid era: ${s}`,e0=(s)=>"Missing year"+(s?"/era/eraYear":""),sS=(s)=>`Invalid monthCode: ${s}`,cC="Mismatching month/monthCode",cS="Missing month/monthCode",OD="Cannot guess year",Pi="Invalid leap month",iC="Invalid protocol",yi="Invalid protocol results",Nf="Mismatching Calendars",iS=(s)=>`Invalid Calendar: ${s}`,TC="Mismatching TimeZones",TS="Forbidden ICU TimeZone",aS="Out-of-bounds offset",fS="Out-of-bounds TimeZone gap",PS="Invalid TimeZone offset",DS="Ambiguous offset",lT="Out-of-bounds date",OS="Out-of-bounds duration",FS="Cannot mix duration signs",$T="Missing relativeTo",CS="Cannot use large units",SS="Required smallestUnit or largestUnit",dS="smallestUnit > largestUnit",Fs=(s)=>`Cannot parse: ${s}`,_s=(s)=>`Invalid substring: ${s}`,aC=(s)=>`Cannot format ${s}`,fC="Mismatching types for formatting",MS="Cannot specify TimeZone",PC=E(mi,(s,c)=>c),pc=E(mi,(s,c,i)=>i),xs=E(Vi,2),Ma={nanosecond:0,microsecond:1,millisecond:2,second:3,minute:4,hour:5,day:6,week:7,month:8,year:9},Wi=Object.keys(Ma),Cs=86400000,DC=1000,bc=1000,Ks=1e6,Es=1e9,QT=60000000000,XT=3600000000000,W=86400000000000,Js=[1,bc,Ks,Es,QT,XT,W],ps=Wi.slice(0,6),ma=Zi(ps),OC=["offset"],FC=["timeZone"],CC=ps.concat(OC),SC=CC.concat(FC),Za=["era","eraYear"],mS=Za.concat(["year"]),UT=["year"],pf=["monthCode"],Vf=["month"].concat(pf),Gi=["day"],hf=Vf.concat(UT),dC=pf.concat(UT),Is=Gi.concat(hf),ZS=Gi.concat(Vf),MC=Gi.concat(pf),mC=pc(ps,0),b="iso8601",YT="gregory",$c="japanese",ZC={[YT]:{bce:-1,ce:0},[$c]:{bce:-1,ce:0,meiji:1867,taisho:1911,showa:1925,heisei:1988,reiwa:2018},ethioaa:{era0:0},ethiopic:{era0:0,era1:5500},coptic:{era0:-1,era1:0},roc:{beforeroc:-1,minguo:0},buddhist:{be:0},islamic:{ah:0},indian:{saka:0},persian:{ap:0}},AS={chinese:13,dangi:13,hebrew:-6},$=E(iT,"string"),AC=E(iT,"boolean"),wS=E(iT,"number"),wC=E(iT,"function"),y=Wi.map((s)=>s+"s"),kf=Zi(y),jS=y.slice(0,6),jC=y.slice(6),xS=jC.slice(1),ES=PC(y),o=pc(y,0),vf=pc(jS,0),of=E(wD,y),Ls=["isoNanosecond","isoMicrosecond","isoMillisecond","isoSecond","isoMinute","isoHour"],tf=["isoDay","isoMonth","isoYear"],RT=Ls.concat(tf),rf=Zi(tf),xC=Zi(Ls),EC=Zi(RT),bs=pc(xC,0),bS=E(wD,RT),ic=Intl.DateTimeFormat,bC="en-GB",uf=1e8,gS=uf*Cs,yS=[uf,0],WS=[-uf,0],di=275760,Mi=-271821,GS=1970,Qc=1972,Ys=12,IS=Uc(1868,9,8),LS=Ss(L0,WeakMap),ni="smallestUnit",Aa="unit",Oi="roundingIncrement",Oa="fractionalSecondDigits",gC="relativeTo",yC={constrain:0,reject:1},qS=Object.keys(yC),JS={compatible:0,reject:1,earlier:2,later:3},KS={reject:0,use:1,prefer:2,ignore:3},lS={auto:0,never:1,critical:2,always:3},$S={auto:0,never:1,critical:2},QS={auto:0,never:1},XS={floor:0,halfFloor:1,ceil:2,halfCeil:3,trunc:4,halfTrunc:5,expand:6,halfExpand:7,halfEven:8},Ii=E(Ra,ni),nf=E(Ra,"largestUnit"),US=E(Ra,Aa),WC=E(mc,"overflow",yC),GC=E(mc,"disambiguation",JS),YS=E(mc,"offset",KS),ef=E(mc,"calendarName",lS),RS=E(mc,"timeZoneName",$S),_S=E(mc,"offset",QS),Li=E(mc,"roundingMode",XS),Vc="PlainYearMonth",hc="PlainMonthDay",gc="PlainDate",yc="PlainDateTime",_T="PlainTime",Vs="ZonedDateTime",BT="Instant",zT="Duration",BS=[Math.floor,(s)=>_i(s)?Math.floor(s):Math.round(s),Math.ceil,(s)=>_i(s)?Math.ceil(s):Math.round(s),Math.trunc,(s)=>_i(s)?Math.trunc(s)||0:Math.round(s),(s)=>s<0?Math.floor(s):Math.ceil(s),(s)=>Math.sign(s)*Math.round(Math.abs(s))||0,(s)=>_i(s)?(s=Math.trunc(s)||0)+s%2:Math.round(s)],Wc="UTC",Ni=5184000,zS=ki(1847),HS=ki(new Date().getUTCFullYear()+10),NS=/0+$/,Ts=Ss(Q0,WeakMap),FD=4294967295,HT=Ss((s)=>{let c=wf(s);return typeof c=="object"?new LC(c):new IC(c||0)});class IC{constructor(s){this.v=s}getOffsetNanosecondsFor(){return this.v}getPossibleInstantsFor(s){return[qa(s,this.v)]}l(){}}class LC{constructor(s){this.$=((c)=>{function i(O){let F=Fa(O,P,D),[C,S]=TD(F),d=a(C),M=a(S);return d===M?d:T(f(C,S),d,M,O)}function T(O,F,C,S){let d,M;for(;(S===void 0||(d=S<O[0]?F:S>=O[1]?C:void 0)===void 0)&&(M=O[1]-O[0]);){let m=O[0]+Math.floor(M/2);c(m)===C?O[1]=m:O[0]=m+1}return d}let a=Ss(c),f=Ss(X0),P=zS,D=HS;return{G(O){let F=i(O-86400),C=i(O+86400),S=O-F,d=O-C;if(F===C)return[S];let M=i(S);return M===i(d)?[O-M]:F>C?[S,d]:[]},V:i,l(O,F){let C=Fa(O,P,D),[S,d]=TD(C),M=Ni*F,m=F<0?()=>d>P||(P=C,0):()=>S<D||(D=C,0);for(;m();){let Z=a(S),A=a(d);if(Z!==A){let j=f(S,d);T(j,Z,A);let w=j[0];if((ks(w,O)||1)===F)return w}S+=M,d+=M}}}})(((c)=>(i)=>{let T=Ia(c,i*DC);return ki(rO(T),parseInt(T.month),parseInt(T.day),parseInt(T.hour),parseInt(T.minute),parseInt(T.second))-i})(s))}getOffsetNanosecondsFor(s){return this.$.V(lD(s))*Es}getPossibleInstantsFor(s){let[c,i]=[ki((T=s).isoYear,T.isoMonth,T.isoDay,T.isoHour,T.isoMinute,T.isoSecond),T.isoMillisecond*Ks+T.isoMicrosecond*bc+T.isoNanosecond];var T;return this.$.G(c).map((a)=>ws(Kc(lc(a,Es),i)))}l(s,c){let[i,T]=$D(s),a=this.$.l(i+(c>0||T?1:0),c);if(a!==void 0)return lc(a,Es)}}var sP="([+\u2212-])",pi="(?:[.,](\\d{1,9}))?",qC=`(?:(?:${sP}(\\d{6}))|(\\d{4}))-?(\\d{2})`,cP="(\\d{2})(?::?(\\d{2})(?::?(\\d{2})"+pi+")?)?",iP=sP+cP,pS=qC+"-?(\\d{2})(?:[T ]"+cP+"(Z|"+iP+")?)?",JC="\\[(!?)([^\\]]*)\\]",NT=`((?:${JC}){0,9})`,VS=Hc(qC+NT),hS=Hc("(?:--)?(\\d{2})-?(\\d{2})"+NT),kS=Hc(pS+NT),vS=Hc("T?"+cP+"(?:"+iP+")?"+NT),oS=Hc(iP),tS=new RegExp(JC,"g"),rS=Hc(`${sP}?P(\\d+Y)?(\\d+M)?(\\d+W)?(\\d+D)?(?:T(?:(\\d+)${pi}H)?(?:(\\d+)${pi}M)?(?:(\\d+)${pi}S)?)?`),uS=Ss((s)=>new ic(bC,{timeZone:s,era:"short",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"})),nS=/^(AC|AE|AG|AR|AS|BE|BS|CA|CN|CS|CT|EA|EC|IE|IS|JS|MI|NE|NS|PL|PN|PR|PS|SS|VS)T$/,eS=Ss(R0),TP=Ss((s)=>new ic(bC,{calendar:s,timeZone:Wc,era:"short",year:"numeric",month:"short",day:"numeric"})),sd=/^M(\d{2})(L?)$/,cd={era:hi,eraYear:e,year:e,month:eP,monthCode:hi,day:eP},id=pc(ps,e),Td=pc(y,qD),CD=Object.assign({},cd,id,Td,{offset:hi}),ad=E(I0,ps,Ls),SD={dateAdd(s,c,i){let T=g(i),a,{years:f,months:P,weeks:D,days:O}=c;if(O+=p(c,5)[0],f||P)a=((F,C,S,d,M)=>{let[m,Z,A]=F.h(C);if(S){let[j,w]=F.I(m,Z);m+=S,Z=ui(j,w,F.U(m)),Z=js("month",Z,1,F.L(m),M)}return d&&([m,Z]=F._(m,Z,d)),A=js("day",A,1,F.j(m,Z),M),F.q(m,Z,A)})(this,s,f,P,T);else{if(!D&&!O)return s;a=is(s)}return a+=(7*D+O)*Cs,vs(PT(a))},dateUntil(s,c,i){if(i<=7){let O=0,F=oO({...s,...bs},{...c,...bs});return i===7&&([O,F]=ts(F,7)),{...o,weeks:O,days:F}}let T=this.h(s),a=this.h(c),[f,P,D]=((O,F,C,S,d,M,m)=>{let Z=d-F,A=M-C,j=m-S;if(Z||A){let w=Math.sign(Z||A),x=O.j(d,M),U=0;if(Math.sign(j)===-w){let K=x;[d,M]=O._(d,M,-w),Z=d-F,A=M-C,x=O.j(d,M),U=w<0?-K:x}if(j=m-Math.min(S,x)+U,Z){let[K,q]=O.I(F,C),[l,k]=O.I(d,M);if(A=l-K||Number(k)-Number(q),Math.sign(A)===-w){let H=w<0&&-O.L(d);Z=(d-=w)-F,A=M-ui(K,q,O.U(d))+(H||O.L(d))}}}return[Z,A,j]})(this,...T,...a);return i===8&&(P+=this.J(f,T[0]),f=0),{...o,years:f,months:P,days:D}},dateFromFields(s,c){let i=g(c),T=fa(this,s),a=Pa(this,s,T,i),f=DD(this,s,a,T,i);return _(vs(this.P(T,a,f)),this.id||b)},yearMonthFromFields(s,c){let i=g(c),T=fa(this,s),a=Pa(this,s,T,i);return Cc(La(this.P(T,a,1)),this.id||b)},monthDayFromFields(s,c){let i=g(c),T=!this.id,{monthCode:a,year:f,month:P}=s,D,O,F,C,S;if(a!==void 0){[D,O]=sF(a),S=MD(s,"day");let d=this.N(D,O,S);if(!d)throw RangeError(OD);if([F,C]=d,P!==void 0&&P!==C)throw RangeError(cC);T&&(C=js("month",C,1,Ys,1),S=js("day",S,1,Ja(f!==void 0?f:F,C),i))}else{F=f===void 0&&T?Qc:fa(this,s),C=Pa(this,s,F,i),S=DD(this,s,C,F,i);let d=this.U(F);O=C===d,D=Sa(C,d);let M=this.N(D,O,S);if(!M)throw RangeError(OD);[F,C]=M}return vi(vs(this.P(F,C,S)),this.id||b)},fields(s){return da(this)&&s.includes("year")?[...s,...Za]:s},mergeFields(s,c){let i=Object.assign(Object.create(null),s);return Da(i,c,Vf),da(this)&&(Da(i,c,mS),this.id===$c&&Da(i,c,ZS,Za)),i},inLeapYear(s){let[c]=this.h(s);return this.K(c)},monthsInYear(s){let[c]=this.h(s);return this.L(c)},daysInMonth(s){let[c,i]=this.h(s);return this.j(c,i)},daysInYear(s){let[c]=this.h(s);return this.X(c)},dayOfYear:qf,era(s){return this.ee(s)[0]},eraYear(s){return this.ee(s)[1]},monthCode(s){let[c,i]=this.h(s),[T,a]=this.I(c,i);return((f,P)=>"M"+xs(f)+(P?"L":""))(T,a)},dayOfWeek:RD,daysInWeek(){return 7}},fd={dayOfYear:qf,h:XD,q:Uc},Pd=Object.assign({},fd,{weekOfYear:nO,yearOfWeek:eO,R(s){function c(M){return(7-M<T?7:0)-M}function i(M){let m=YD(d+M),Z=M||1,A=c(Di(O+m*Z,7));return C=(m+(A-F)*Z)/7}let T=this.id?1:4,a=RD(s),f=this.dayOfYear(s),P=Di(a-1,7),D=f-1,O=Di(P-D,7),F=c(O),C,S=Math.floor((D-F)/7)+1,d=s.isoYear;return S?S>i(0)&&(S=1,d++):(S=i(-1),d--),[S,d,C]}}),Dd={dayOfYear:qf,h:Ca,q:Si,weekOfYear:nO,yearOfWeek:eO,R(){return[]}},kc=z0(Object.assign({},SD,Pd,{h:XD,ee(s){return this.id===YT?_D(s):this.id===$c?LS(s):[]},I:(s,c)=>[c,0],N(s,c){if(!c)return[Qc,s]},K:Ka,U(){},L:UD,J:(s)=>s*Ys,j:Ja,X:YD,P:(s,c,i)=>({isoYear:s,isoMonth:c,isoDay:i}),q:Uc,_:(s,c,i)=>(s+=sT(i,Ys),(c+=Ea(i,Ys))<1?(s--,c+=Ys):c>Ys&&(s++,c-=Ys),[s,c]),year(s){return s.isoYear},month(s){return s.isoMonth},day:(s)=>s.isoDay}),Object.assign({},SD,Dd,{h:Ca,ee(s){let c=this.O(s);return[c.era,c.eraYear]},I(s,c){let i=Bi.call(this,s);return[Sa(c,i),i===c]},N(s,c,i){let[T,a,f]=Ca.call(this,{isoYear:Qc,isoMonth:Ys,isoDay:31}),P=Bi.call(this,T),D=a===P;(ks(s,Sa(a,P))||ks(Number(c),Number(D))||ks(i,f))===1&&T--;for(let O=0;O<100;O++){let F=T-O,C=Bi.call(this,F),S=ui(s,c,C);if(c===(S===C)&&i<=fD.call(this,F,S))return[F,S]}},K(s){let c=zi.call(this,s);return c>zi.call(this,s-1)&&c>zi.call(this,s+1)},U:Bi,L:Hi,J(s,c){let i=c+s,T=Math.sign(s),a=T<0?-1:0,f=0;for(let P=c;P!==i;P+=T)f+=Hi.call(this,P+a);return f},j:fD,X:zi,P(s,c,i){return PT(Si.call(this,s,c,i))},q:Si,_(s,c,i){if(i){if(c+=i,!Number.isSafeInteger(c))throw RangeError(lT);if(i<0)for(;c<1;)c+=Hi.call(this,--s);else{let T;for(;c>(T=Hi.call(this,s));)c-=T,s++}}return[s,c]},year(s){return this.O(s).year},month(s){let{year:c,F:i}=this.O(s),{C:T}=this.B(c);return T[i]+1},day(s){return this.O(s).day}})),os="numeric",vc=["timeZoneName"],KC={month:os,day:os},aP={year:os,month:os},fP=Object.assign({},aP,{day:os}),PP={hour:os,minute:os,second:os},DP=Object.assign({},fP,PP),Od=Object.assign({},DP,{timeZoneName:"short"}),Fd=Object.keys(aP),Cd=Object.keys(KC),Sd=Object.keys(fP),dd=Object.keys(PP),OP=["dateStyle"],Md=Fd.concat(OP),md=Cd.concat(OP),FP=Sd.concat(OP,["weekday"]),qi=dd.concat(["dayPeriod","timeStyle"]),CP=FP.concat(qi),Zd=CP.concat(vc),Ad=vc.concat(qi),wd=vc.concat(FP),jd=vc.concat(["day","weekday"],qi),xd=vc.concat(["year","weekday"],qi),Ed={},SP=[Ec(CP,DP),ST],lC=[Ec(Zd,Od),ST,0,(s,c)=>{let i=v(s.timeZone);if(c&&v(c.timeZone)!==i)throw RangeError(TC);return i}],dP=[Ec(CP,DP,vc),is],MP=[Ec(FP,fP,Ad),is],mP=[Ec(qi,PP,wd),(s)=>rs(s)/Ks],ZP=[Ec(Md,aP,jd),is,1],AP=[Ec(md,KC,xd),is,1],dD;function Qs(s,c,i,T,a){function f(...O){if(!(this instanceof f))throw TypeError(Hf);UC(this,c(...O))}function P(O,F){return Object.defineProperties(function(...C){return O.call(this,D(this),...C)},wa(F))}function D(O){let F=n(O);if(!F||F.branding!==s)throw TypeError(Hf);return F}return Object.defineProperties(f.prototype,{...mD(gs(P,i)),...dc(gs(P,T)),...ei("Temporal."+s)}),Object.defineProperties(f,{...dc(a),...wa(s)}),[f,(O)=>{let F=Object.create(f.prototype);return UC(F,O),F},D]}function _C(s){return s=s.concat("id").sort(),(c)=>{if(!ZD(c,s))throw TypeError(iC);return c}}function uc(s){if(n(s)||s.calendar!==void 0||s.timeZone!==void 0)throw TypeError(nF);return s}function pT(s,c){let i={};for(let T in s)i[T]=({o:a},f)=>{let P=n(f)||{},{branding:D}=P,O=D===gc||c.includes(D)?P:Ps(f);return a[T](O)};return i}function xP(s){let c={};for(let i in s)c[i]=(T)=>{let{calendar:a}=T;return(f=a,typeof f=="string"?kc(f):(P=f,Object.assign(Object.create(Yd),{i:P})))[i](T);var f,P};return c}function Dc(){throw TypeError(sC)}function Ki({calendar:s}){return typeof s=="string"?new qP(s):s}function $C(s,c){if(c=Y(c),V(s)){let T=n(s);if(T&&T.branding===hc)return g(c),T;let a=HC(s);return lf(rT(a||b),!a,s,c)}let i=WO(kc,s);return g(c),i}function BC(s,c,i){return T=c.call(s,fs(h(i))),ua(Ai(T));var T}function VT(s,c=hC){let i=Object.keys(c).sort(),T={};for(let a of i)T[a]=E(c[a],s,wC(s[a]));return T}function G(s,c){return typeof s=="string"?HT(s):VT(s,c)}function z(s){return G(s,jP)}function ls(s){if(V(s)){let c=n(s);if(c)switch(c.branding){case BT:return c;case Vs:return h(c.epochNanoseconds)}}return xO(s)}function QC(s,c,i){let T=c.l(ls(i).epochNanoseconds,s);return T?fs(h(T)):null}function L(s){return V(s)?(n(s)||{}).timeZone||Nd(s):((c)=>WT(qO($(c))))(s)}function Tc(s,c){if(V(s)){let i=n(s)||{};switch(i.branding){case _T:return g(c),i;case yc:return g(c),Gs(i);case Vs:return g(c),Rf(z,i)}return DF(s,c)}return g(c),GO(s)}function EP(s){return s===void 0?void 0:Tc(s)}function oc(s,c){if(c=Y(c),V(s)){let T=n(s);return T&&T.branding===Vc?(g(c),T):Kf(oT(li(s)),s,c)}let i=yO(kc,s);return g(c),i}function ac(s,c){if(c=Y(c),V(s)){let T=n(s)||{};switch(T.branding){case yc:return g(c),T;case gc:return g(c),R({...T,...bs});case Vs:return g(c),Uf(z,T)}return PF(tT(li(s)),s,c)}let i=gO(s);return g(c),i}function Ps(s,c){if(c=Y(c),V(s)){let T=n(s)||{};switch(T.branding){case gc:return g(c),T;case yc:return g(c),_(T);case Vs:return g(c),Yf(z,T)}return Jf(tT(li(s)),s,c)}let i=gT(s);return g(c),i}function zC(s,c,i){return ys(c.call(s,X(_(i,s))))}function Xs(s){return(c)=>typeof c=="string"?kc(c):((i,T)=>{let a=Object.keys(T).sort(),f={};for(let P of a)f[P]=E(T[P],i,i[P]);return f})(c,s)}function Q(s){if(V(s)){let c=n(s);return c&&c.branding===zT?c:OF(s)}return IO(s)}function Ji(s){if(s!==void 0){if(V(s)){let c=n(s)||{};switch(c.branding){case Vs:case gc:return c;case yc:return _(c)}let i=li(s);return{...aF(L,G,tT(i),s),calendar:i}}return EO(s)}}function li(s){return HC(s)||b}function HC(s){let{calendar:c}=s;if(c!==void 0)return u(c)}function u(s){return V(s)?(n(s)||{}).calendar||TM(s):((c)=>xi(LO($(c))))(s)}function tc(s,c){if(c=Y(c),V(s)){let i=n(s);if(i&&i.branding===Vs)return wi(c),i;let T=li(s);return fF(L,G,tT(T),T,s,c)}return bO(s,c)}function XC(s){return gs((c)=>(i)=>c(wP(i)),s)}function wP(s){return Ts(s,z)}function bd(){let s=ic.prototype,c=Object.getOwnPropertyDescriptors(s),i=Object.getOwnPropertyDescriptors(ic),T=function(a,f={}){if(!(this instanceof T))return new T(a,f);JP.set(this,((P,D={})=>{let O=new ic(P,D),F=O.resolvedOptions(),C=F.locale,S=Ms(Object.keys(D),F),d=Ss(Wd),M=(...m)=>{let Z,A=m.map((j,w)=>{let x=n(j),U=(x||{}).branding;if(w&&Z&&Z!==U)throw TypeError(fC);return Z=U,x});return Z?d(Z)(C,S,...A):[O,...m]};return M.u=O,M})(a,f))};for(let a in c){let f=c[a],P=a.startsWith("format")&&gd(a);typeof f.value=="function"?f.value=a==="constructor"?T:P||yd(a):P&&(f.get=function(){return P.bind(this)})}return i.prototype.value=Object.create(s,c),Object.defineProperties(T,i),T}function gd(s){return function(...c){let i=JP.get(this),[T,...a]=i(...c);return T[s](...a)}}function yd(s){return function(...c){return JP.get(this).u[s](...c)}}function Wd(s){let c=Gd[s];if(!c)throw TypeError(aC(s));return Hs(c,Ss(_f))}var Gd={Instant:SP,PlainDateTime:dP,PlainDate:MP,PlainTime:mP,PlainYearMonth:ZP,PlainMonthDay:AP},Id=Hs(SP),Ld=Hs(lC),qd=Hs(dP),Jd=Hs(MP),Kd=Hs(mP),ld=Hs(ZP),$d=Hs(AP),bP={era:gD,eraYear:ba,year:Ai,month:ys,daysInMonth:ys,daysInYear:ys,inLeapYear:AC,monthsInYear:ys},kT={monthCode:$},gP={day:ys},NC={dayOfWeek:ys,dayOfYear:ys,weekOfYear:yD,yearOfWeek:ba,daysInWeek:ys},pC=Object.assign({},bP,kT,gP,NC),hT=new WeakMap,n=hT.get.bind(hT),UC=hT.set.bind(hT),Qd={...pT(bP,[Vc]),...pT(NC,[]),...pT(kT,[Vc,hc]),...pT(gP,[hc])},yP=xP(pC),Xd=xP({...bP,...kT}),Ud=xP({...kT,...gP}),$i={calendarId:(s)=>v(s.calendar)},Yd=gs((s,c)=>function(i){let{i:T}=this;return s(T[c](X(_(i,T))))},pC),Rd=mi((s)=>(c)=>c[s],y.concat("sign")),WP=mi((s,c)=>(i)=>i[Ls[c]],ps),VC={epochSeconds:hD,epochMilliseconds:ST,epochMicroseconds:kD,epochNanoseconds:vD},Qi=E(ja,new Set(["branding"])),[_d,rc,Bd]=Qs(hc,E(gF,u),{...$i,...Ud},{getISOFields:Qi,getCalendar:Ki,with(s,c,i){return rc(MF(sM,s,this,uc(c),i))},equals:(s,c)=>NO(s,$C(c)),toPlainDate(s,c){return X(YF(Xi,s,this,c))},toLocaleString(s,c,i){let[T,a]=$d(c,i,s);return T.format(a)},toString:ka,toJSON:(s)=>ka(s),valueOf:Dc},{from:(s,c)=>rc($C(s,c))}),hC={getOffsetNanosecondsFor:BC,getPossibleInstantsFor(s,c,i){let T=[...c.call(s,r(R(i,b)))].map((f)=>Hd(f).epochNanoseconds),a=T.length;return a>1&&(T.sort(cs),na(As(Zs(T[0],T[a-1])))),T}},jP={getOffsetNanosecondsFor:BC},[zd,fs,Hd]=Qs(BT,wF,VC,{add:(s,c)=>fs(ea(0,s,Q(c))),subtract:(s,c)=>fs(ea(1,s,Q(c))),until:(s,c,i)=>I(bf(0,s,ls(c),i)),since:(s,c,i)=>I(bf(1,s,ls(c),i)),round:(s,c)=>fs(rD(s,c)),equals:(s,c)=>RO(s,ls(c)),toZonedDateTime(s,c){let i=Bs(c);return B(Xf(s,L(i.timeZone),u(i.calendar)))},toZonedDateTimeISO:(s,c)=>B(Xf(s,L(c))),toLocaleString(s,c,i){let[T,a]=Id(c,i,s);return T.format(a)},toString:(s,c)=>Ha(L,z,s,c),toJSON:(s)=>Ha(L,z,s),valueOf:Dc},{from:(s)=>fs(ls(s)),fromEpochSeconds:(s)=>fs(BF(s)),fromEpochMilliseconds:(s)=>fs(zF(s)),fromEpochMicroseconds:(s)=>fs(HF(s)),fromEpochNanoseconds:(s)=>fs(NF(s)),compare:(s,c)=>jf(ls(s),ls(c))}),[vT,eM]=Qs("TimeZone",(s)=>{let c=UO(s);return{branding:"TimeZone",id:c,o:HT(c)}},{id:(s)=>s.id},{getPossibleInstantsFor:({o:s},c)=>s.getPossibleInstantsFor(ac(c)).map((i)=>fs(h(i))),getOffsetNanosecondsFor:({o:s},c)=>s.getOffsetNanosecondsFor(ls(c).epochNanoseconds),getOffsetStringFor(s,c){let i=ls(c).epochNanoseconds,T=VT(this,jP).getOffsetNanosecondsFor(i);return Zc(T)},getPlainDateTimeFor(s,c,i=b){let T=ls(c).epochNanoseconds,a=VT(this,jP).getOffsetNanosecondsFor(T);return r(R(ns(T,a),u(i)))},getInstantFor(s,c,i){let T=ac(c),a=la(i),f=VT(this);return fs(h(ds(f,T,a)))},getNextTransition:({o:s},c)=>QC(1,s,c),getPreviousTransition:({o:s},c)=>QC(-1,s,c),equals(s,c){return!!IT(this,L(c))},toString:(s)=>s.id,toJSON:(s)=>s.id},{from(s){let c=L(s);return typeof c=="string"?new vT(c):c}}),Nd=_C(Object.keys(hC)),[pd,fc]=Qs(_T,yF,WP,{getISOFields:Qi,with(s,c,i){return fc(mF(this,uc(c),i))},add:(s,c)=>fc(ff(0,s,Q(c))),subtract:(s,c)=>fc(ff(1,s,Q(c))),until:(s,c,i)=>I(If(0,s,Tc(c),i)),since:(s,c,i)=>I(If(1,s,Tc(c),i)),round:(s,c)=>fc(eD(s,c)),equals:(s,c)=>pO(s,Tc(c)),toZonedDateTime:(s,c)=>B(RF(L,Ps,G,s,c)),toPlainDateTime:(s,c)=>r(_F(s,Ps(c))),toLocaleString(s,c,i){let[T,a]=Kd(c,i,s);return T.format(a)},toString:va,toJSON:(s)=>va(s),valueOf:Dc},{from:(s,c)=>fc(Tc(s,c)),compare:(s,c)=>GT(Tc(s),Tc(c))}),[Vd,Pc,hd]=Qs(Vc,E(bF,u),{...$i,...Xd},{getISOFields:Qi,getCalendar:Ki,with(s,c,i){return Pc(dF(ed,s,this,uc(c),i))},add:(s,c,i)=>Pc(af(YC,0,s,Q(c),i)),subtract:(s,c,i)=>Pc(af(YC,1,s,Q(c),i)),until:(s,c,i)=>I(Gf(RC,0,s,oc(c),i)),since:(s,c,i)=>I(Gf(RC,1,s,oc(c),i)),equals:(s,c)=>HO(s,oc(c)),toPlainDate(s,c){return X(UF(Xi,s,this,c))},toLocaleString(s,c,i){let[T,a]=ld(c,i,s);return T.format(a)},toString:ha,toJSON:(s)=>ha(s),valueOf:Dc},{from:(s,c)=>Pc(oc(s,c)),compare:(s,c)=>jc(oc(s),oc(c))}),[kd,r]=Qs(yc,E(xF,u),{...$i,...yP,...WP},{getISOFields:Qi,getCalendar:Ki,with(s,c,i){return r(CF(Xi,s,this,uc(c),i))},withCalendar:(s,c)=>r(KT(s,u(c))),withPlainDate:(s,c)=>r(kF(s,Ps(c))),withPlainTime:(s,c)=>r(hF(s,EP(c))),add:(s,c,i)=>r(cf(Gc,0,s,Q(c),i)),subtract:(s,c,i)=>r(cf(Gc,1,s,Q(c),i)),until:(s,c,i)=>I(yf($s,0,s,ac(c),i)),since:(s,c,i)=>I(yf($s,1,s,ac(c),i)),round:(s,c)=>r(nD(s,c)),equals:(s,c)=>BO(s,ac(c)),toZonedDateTime:(s,c,i)=>B(qF(G,s,L(c),i)),toPlainDate:(s)=>X(_(s)),toPlainTime:(s)=>fc(Gs(s)),toPlainYearMonth(s){return Pc(JF(oT,s,this))},toPlainMonthDay(s){return rc(KF(rT,s,this))},toLocaleString(s,c,i){let[T,a]=qd(c,i,s);return T.format(a)},toString:pa,toJSON:(s)=>pa(s),valueOf:Dc},{from:(s,c)=>r(ac(s,c)),compare:(s,c)=>Ef(ac(s),ac(c))}),[vd,X,kC]=Qs(gc,E(EF,u),{...$i,...yP},{getISOFields:Qi,getCalendar:Ki,with(s,c,i){return X(SF(Xi,s,this,uc(c),i))},withCalendar:(s,c)=>X(KT(s,u(c))),add:(s,c,i)=>X(Tf(Gc,0,s,Q(c),i)),subtract:(s,c,i)=>X(Tf(Gc,1,s,Q(c),i)),until:(s,c,i)=>I(Wf($s,0,s,Ps(c),i)),since:(s,c,i)=>I(Wf($s,1,s,Ps(c),i)),equals:(s,c)=>zO(s,Ps(c)),toZonedDateTime(s,c){let i=!V(c)||c instanceof vT?{timeZone:c}:c;return B(lF(L,Tc,G,s,i))},toPlainDateTime:(s,c)=>r($F(s,EP(c))),toPlainYearMonth(s){return Pc(QF(oT,s,this))},toPlainMonthDay(s){return rc(XF(rT,s,this))},toLocaleString(s,c,i){let[T,a]=Jd(c,i,s);return T.format(a)},toString:Va,toJSON:(s)=>Va(s),valueOf:Dc},{from:(s,c)=>X(Ps(s,c)),compare:(s,c)=>jc(Ps(s),Ps(c))}),GP={fields(s,c,i){return[...c.call(s,i)]}},vC=Object.assign({dateFromFields(s,c,i,T){return kC(c.call(s,Object.assign(Object.create(null),i),T))}},GP),oC=Object.assign({yearMonthFromFields(s,c,i,T){return hd(c.call(s,Object.assign(Object.create(null),i),T))}},GP),tC=Object.assign({monthDayFromFields(s,c,i,T){return Bd(c.call(s,Object.assign(Object.create(null),i),T))}},GP),IP={mergeFields(s,c,i,T){return Bs(c.call(s,Object.assign(Object.create(null),i),Object.assign(Object.create(null),T)))}},od=Object.assign({},vC,IP),td=Object.assign({},oC,IP),rd=Object.assign({},tC,IP),LP={dateAdd(s,c,i,T,a){return kC(c.call(s,X(_(i,s)),I(J(T)),a))}},rC=Object.assign({},LP,{dateUntil(s,c,i,T,a,f){return iM(c.call(s,X(_(i,s)),X(_(T,s)),Object.assign(Object.create(null),f,{largestUnit:Wi[a]})))}}),ud=Object.assign({},LP,{day:zC}),nd=Object.assign({},rC,{day:zC}),oT=Xs(oC),tT=Xs(vC),rT=Xs(tC),ed=Xs(td),Xi=Xs(od),sM=Xs(rd),Gc=Xs(LP),$s=Xs(rC),YC=Xs(ud),RC=Xs(nd),[cM,I,iM]=Qs(zT,WF,{...Rd,blank:AO},{with:(s,c)=>I(ZF(s,c)),negated:(s)=>I(ET(s)),abs:(s)=>I(ZO(s)),add:(s,c,i)=>I(Cf(Ji,$s,G,0,s,Q(c),i)),subtract:(s,c,i)=>I(Cf(Ji,$s,G,1,s,Q(c),i)),round:(s,c)=>I(mO(Ji,$s,G,s,c)),total:(s,c)=>tD(Ji,$s,G,s,c),toLocaleString(s,c,i){return Intl.DurationFormat?new Intl.DurationFormat(c,i).format(this):ZT(s)},toString:ZT,toJSON:(s)=>ZT(s),valueOf:Dc},{from:(s)=>I(Q(s)),compare:(s,c,i)=>YO(Ji,Gc,G,Q(s),Q(c),i)}),uC={toString:(s)=>s.id,toJSON:(s)=>s.id,...Qd,dateAdd:({id:s,o:c},i,T,a)=>X(_(c.dateAdd(Ps(i),Q(T),a),s)),dateUntil:({o:s},c,i,T)=>I(J(s.dateUntil(Ps(c),Ps(i),zD(T)))),dateFromFields:({id:s,o:c},i,T)=>X(Jf(c,i,T,bD(s))),yearMonthFromFields:({id:s,o:c},i,T)=>Pc(Kf(c,i,T,xD(s))),monthDayFromFields:({id:s,o:c},i,T)=>rc(lf(c,0,i,T,ED(s))),fields({o:s},c){let i=new Set(Is),T=[];for(let a of c){if($(a),!i.has(a))throw RangeError(zf(a));i.delete(a),T.push(a)}return s.fields(T)},mergeFields:({o:s},c,i)=>s.mergeFields(xa(ga(c)),xa(ga(i)))},[qP]=Qs("Calendar",(s)=>{let c=uO(s);return{branding:"Calendar",id:c,o:kc(c)}},{id:(s)=>s.id},uC,{from(s){let c=u(s);return typeof c=="string"?new qP(c):c}}),TM=_C(Object.keys(uC).slice(4)),[aM,B]=Qs(Vs,E(jF,u,L),{...VC,...$i,...XC(yP),...XC(WP),offset:(s)=>Zc(wP(s).offsetNanoseconds),offsetNanoseconds:(s)=>wP(s).offsetNanoseconds,timeZoneId:(s)=>v(s.timeZone),hoursInDay:(s)=>sO(G,s)},{getISOFields:(s)=>dO(z,s),getCalendar:Ki,getTimeZone:({timeZone:s})=>typeof s=="string"?new vT(s):s,with(s,c,i){return B(FF(Xi,G,s,this,uc(c),i))},withCalendar:(s,c)=>B(KT(s,u(c))),withTimeZone:(s,c)=>B(vF(s,L(c))),withPlainDate:(s,c)=>B(VF(G,s,Ps(c))),withPlainTime:(s,c)=>B(pF(G,s,EP(c))),add:(s,c,i)=>B(sf(Gc,G,0,s,Q(c),i)),subtract:(s,c,i)=>B(sf(Gc,G,1,s,Q(c),i)),until:(s,c,i)=>I(J(gf($s,G,0,s,tc(c),i))),since:(s,c,i)=>I(J(gf($s,G,1,s,tc(c),i))),round:(s,c)=>B(uD(G,s,c)),startOfDay:(s)=>B(cO(G,s)),equals:(s,c)=>_O(s,tc(c)),toInstant:(s)=>fs(GF(s)),toPlainDateTime:(s)=>r(Uf(z,s)),toPlainDate:(s)=>X(Yf(z,s)),toPlainTime:(s)=>fc(Rf(z,s)),toPlainYearMonth(s){return Pc(IF(oT,s,this))},toPlainMonthDay(s){return rc(LF(rT,s,this))},toLocaleString(s,c,i={}){let[T,a]=Ld(c,i,s);return T.format(a)},toString:(s,c)=>Na(z,s,c),toJSON:(s)=>Na(z,s),valueOf:Dc},{from:(s,c)=>B(tc(s,c)),compare:(s,c)=>xf(tc(s),tc(c))}),fM=Object.defineProperties({},{...ei("Temporal.Now"),...dc({timeZoneId:()=>Ns(),instant:()=>fs(h(bi())),zonedDateTime:(s,c=Ns())=>B(t(bi(),L(c),u(s))),zonedDateTimeISO:(s=Ns())=>B(t(bi(),L(s),b)),plainDateTime:(s,c=Ns())=>r(R(Nc(z(L(c))),u(s))),plainDateTimeISO:(s=Ns())=>r(R(Nc(z(L(s))),b)),plainDate:(s,c=Ns())=>X(_(Nc(z(L(c))),u(s))),plainDateISO:(s=Ns())=>X(_(Nc(z(L(s))),b)),plainTimeISO:(s=Ns())=>fc(Gs(Nc(z(L(s)))))})}),Ui=Object.defineProperties({},{...ei("Temporal"),...dc({PlainYearMonth:Vd,PlainMonthDay:_d,PlainDate:vd,PlainTime:pd,PlainDateTime:kd,ZonedDateTime:aM,Instant:zd,Calendar:qP,TimeZone:vT,Duration:cM,Now:fM})}),PM=bd(),JP=new WeakMap,DM=Object.defineProperties(Object.create(Intl),dc({DateTimeFormat:PM}));class KP extends Us{schema={name:{string:"Invalid name",required:"Name is required","min:2":"Name must be at least 3 characters"},email:{string:"Invalid email",required:"Email is required",email:"Invalid email"},password:{"min:8":"Password must be at least 9 characters"}}}function Dm(s){return s}function nC(s={}){return{basePath:"/auth",verifyEmail:!0,redirectPath:"/dashboard",sessionExpiresInHours:24,sessionAbsoluteExpiresInHours:672,signUpRequest:KP,oauthProviders:{},verifyPassword:async(c,i)=>await Bun.password.verify(c,i),hashPassword:async(c)=>await Bun.password.hash(c),generateForgotPasswordToken:async(c)=>{let i=new Bun.CryptoHasher("sha256");return i.update(`${c.email}${Date.now()}`),i.digest("hex")},generateEmailVerificationToken:(c)=>{if(!(s.verifyEmail??!0))return"";let i=new Bun.CryptoHasher("sha256");return i.update(`${c}${Date.now()}`),i.digest("hex")},generateMagicLinkToken:(c)=>{let i=new Bun.CryptoHasher("sha256");return i.update(`${c}${Date.now()}`),i.digest("hex")},extendSession:()=>({}),onUserCreated:async()=>{},onSignUp:()=>{},onSignIn:()=>{},onSignOut:()=>{},onForgotPassword:()=>{},onResetPassword:()=>{},onMagicLinkCreated:()=>{}}}function eC(s){if(s&&typeof s==="object")delete s.password;return s}function OM(){return new Proxy({},{get:(s,c)=>s0(c)})}var lP={select:{id:!0,publicId:!0,email:!0,name:!0,locale:!0,globalRole:!0,accounts:{select:{id:!0,publicId:!0,organizationRole:!0,organization:!0}}}};class $P{models;constructor(s=OM()){this.models=s}run(s){return this.models.User.asSystem(s)}transaction(s){return this.models.User.transaction(s)}async createUser(s){let c=await this.run(()=>this.models.User.create({data:s}));return eC(c)}async updateUserPassword(s){let c=await this.run(()=>this.models.User.update({where:{id:s.id},data:{password:s.password}}));return eC(c)}async findUserByEmailAddress(s,c){return await this.run(()=>this.models.User.findUnique({where:c?{email:s,emailVerifiedAt:{not:null}}:{email:s}}))}async findUserByVerificationToken(s){return await this.run(()=>this.models.User.findFirst({where:{verificationToken:s}}))}async verifyUser(s){return await this.run(()=>this.models.User.update({where:{email:s},data:{emailVerifiedAt:new Date}}))}async createSession(s){return await this.run(()=>this.models.Session.create({data:s,include:{user:!0}}))}async createSessionV2(s){return await this.run(()=>this.models.Session.create({data:s,select:{token:!0,expiresAt:!0,absoluteExpiresAt:!0,updatedAt:!0,location:!0,userAgent:!0,user:lP}}))}async findSession(s){if(!s.token)return null;try{return await this.run(()=>this.models.Session.findUnique({where:{token:s.token},select:{token:!0,expiresAt:!0,absoluteExpiresAt:!0,updatedAt:!0,location:!0,userAgent:!0,user:lP}}))}catch(c){return console.error("findSession failed:",c),null}}async updateSession(s){return await this.run(()=>this.models.Session.update({where:{token:s.token},data:{expiresAt:s.expiresAt},select:{token:!0,expiresAt:!0,absoluteExpiresAt:!0,updatedAt:!0,location:!0,userAgent:!0,user:lP}}))}async deleteSession(s){await this.run(()=>this.models.Session.deleteMany({where:{token:s.token}}))}async deleteAllUserSessions(s){await this.run(()=>this.models.Session.deleteMany({where:{userId:s}}))}async createPasswordResetToken(s){return await this.run(()=>this.models.PasswordResetToken.create({data:{token:s.token,user:{connect:{id:s.user.id}}}}))}async findPasswordResetToken(s){return await this.run(()=>this.models.PasswordResetToken.findUnique({where:{token:s.token},include:{user:!0}}))}async deletePasswordResetToken(s){return await this.run(()=>this.models.PasswordResetToken.delete({where:{token:s.token}}))}async findInvitation(s,c){return await this.run(()=>this.models.OrganizationInvitation.findFirst({where:{publicId:s,email:c}}))}async deleteInvitationById(s){await this.run(()=>this.models.OrganizationInvitation.delete({where:{publicId:s}}))}async createAccount(s){return await this.run(()=>this.models.Account.create({data:{userId:s.userId,organizationId:s.organizationId,organizationRole:s.organizationRole}}))}async createMagicLinkToken(s){return await this.run(()=>this.models.MagicLinkToken.create({data:{email:s.email,token:s.token,pin:s.pin}}))}async findUserMagicLinkToken(s){return await this.run(()=>s.token?this.models.MagicLinkToken.findUnique({where:{token_email:{token:s.token,email:s.email}}}):this.models.MagicLinkToken.findUnique({where:{pin_email:{pin:s.pin,email:s.email}}}))}async deleteMagicLinkToken(s){await this.run(()=>this.models.MagicLinkToken.deleteMany({where:{email:s}}))}async createSocialAccount(s){return await this.run(()=>this.models.SocialAccount.create({data:s}))}}class QP{static token="auth";config;provider;constructor(s={},c=new $P){this.config=c0(nC(s),s),this.provider=c}get userProvider(){return this.provider}async getSession(s,c){let i=await this.userProvider.findSession({token:s,userAgent:c}),T=null;if(i?.user)T=await this.config.extendSession(i.user),i.user.extension=T;return i}async generateMagicLink(s){}async upsertSession(s){await this.userProvider.findSession({token:"",userAgent:""})}async authenticate(s){try{let c=await this.userProvider.findUserByEmailAddress(s,!1);if(!c)throw Error(`User not found with email: ${s}`);let i=await this.createOrUpdateSession({email:s,id:c.id}),T=new Us,a=new URL(T.rawRequest.url);if(T.ctx().setCookie("access_token",i.token,{expires:i.expiresAt,secure:!a.origin.includes("localhost"),httpOnly:!0}),i?.user)i.user.extension=await this.config.extendSession(i.user);return i}catch(c){console.log(c)}}async createOrUpdateSessionV2(s){let c=await this.createOrUpdateSession(s),i=null;if(c?.user)i=await this.config.extendSession(c.user),c.user.extension=i;return c}async createOrUpdateSession(s){let c=new Us,i=c.headers.get("User-Agent"),T=new Bun.CryptoHasher("sha256");T.update(`${s.email}${i}`);let a=T.digest("hex"),f=await this.userProvider.findSession({token:a,userAgent:Bun.env.NODE_ENV==="development"?"local":c.headers.get("User-Agent")});if(!f){let P=s.id;if(!P){let{id:D}=await this.userProvider.findUserByEmailAddress(s.email,!1);P=D}f=await this.userProvider.createSessionV2({token:a,userId:P,userAgent:Bun.env.NODE_ENV==="development"?"local":c.headers.get("User-Agent"),expiresAt:new Date(Ui.Now.instant().add({hours:this.config.sessionExpiresInHours}).toString()),absoluteExpiresAt:new Date(Ui.Now.instant().add({hours:this.config.sessionAbsoluteExpiresInHours}).toString())})}else f=await this.userProvider.updateSession({token:a,expiresAt:new Date(Ui.Now.instant().add({hours:this.config.sessionExpiresInHours}).toString())});return f}async createMagicLinkToken(s){let c=await this.userProvider.findUserByEmailAddress(s,!1);if(c){await this.userProvider.deleteMagicLinkToken(s);let i=await this.config.generateMagicLinkToken(s),T=(Number.parseInt(FM(4).toString("hex"),16)%1e6).toString().padStart(6,"0");return await this.userProvider.createMagicLinkToken({email:s,token:i,pin:T}),{user:c,email:s,pin:T,token:i}}return{}}}class i0 extends ms{async run(s){let c=hs.getStore(),i=c.req.cookies.get("access_token"),T=c.req.headers.get("access_token"),a=i||T;if(!a)throw new ai;let f=c.user;if(!f){let P=await uT(QP).getSession(a,c.req.headers.get("User-Agent"));if(!P)throw new ai;f=P?.user,c.setUser(f)}return{}}}class T0 extends ms{async run(...s){let[c="public",i="864000",...T]=s,a=`${c}, max-age=${i}${T.length>0?", ":""}${T.join(", ")}`;if(s.length===0)a="public, max-age=864000, stale-while-revalidate=300, stale-if-error=600";if(s.length===1&&s[0]==="public")a="public, max-age=864000, stale-while-revalidate=300, stale-if-error=600";if(s.length===1&&s[0]==="private")a="private, max-age=0, stale-while-revalidate=300, stale-if-error=600";if(this.req.rawRequest.method==="GET")this.req.ctx().setHeaders("Cache-Control",a);return{}}}var CM={"Access-Control-Allow-Methods":"GET, POST, PUT, DELETE, OPTIONS","Access-Control-Allow-Headers":"Content-Type, Authorization, X-Requested-With","Access-Control-Allow-Credentials":"true"};class a0 extends ms{config={origins:{"":{"Access-Control-Allow-Methods":"GET, HEAD, POST, PUT, DELETE, OPTIONS","Access-Control-Allow-Headers":"Content-Type, Authorization, X-Requested-With","Access-Control-Allow-Credentials":"true"}}};run(){let s=this.req,c=s.rawRequest.headers.get("Origin");if(this.config.origins[c]){s.ctx().setHeaders("Access-Control-Allow-Origin",c);let i={...CM,...this.config.origins[c]};for(let[T,a]of Object.entries(i))s.ctx().setHeaders(T,a)}return{}}}class nT{config;static token="ratelimiter";constructor(s){this.config=s}get driver(){return this.config.driver}async consume(s,c={}){let i=c.limit??this.config.limit,T=c.window??this.config.window,a=c.cost??1;if(f0("window",T),f0("limit",i),!Number.isFinite(a)||a<0)throw Error(`Rate limiter cost must be zero or greater, got ${a}`);return await this.config.driver.consume({key:s,limit:i,window:T*1000,cost:a})}}function f0(s,c){if(!Number.isFinite(c)||c<=0)throw Error(`Rate limiter ${s} must be greater than zero, got ${c}`)}class XP extends N{constructor(s){super("Rate limit exceeded");let c={"Content-Type":"application/json",...s?F0(s):{}};this.payload={api:{status:429,data:{error:{message:"Rate limit exceeded"}},headers:c},view:{error:{message:"Rate limit exceeded"},status:429,headers:c}}}}class D0 extends ms{async run(s,c){let i=SM();if(!i)return{};let T=await i.consume(this.key(),{limit:P0(s)??this.config.limit,window:P0(c)??this.config.window});if(this.config.headers!==!1){let a=this.req.ctx?.();if(a)for(let[f,P]of Object.entries(F0(T)))a.setHeaders(f,P)}if(!T.allowed)throw new XP(T);return{}}key(){if(this.config.key)return this.config.key(this.req);return`${O0(this.req)}:${this.req.routePath??"*"}`}}function SM(){try{let s=uT();return s.bound(nT)?s.make(nT):null}catch{return null}}function O0(s){let c=s.headers.get("x-forwarded-for");if(c){let[i]=c.split(",");if(i?.trim())return i.trim()}return s.headers.get("x-real-ip")?.trim()||"unknown"}function F0(s){let c={"X-RateLimit-Limit":String(s.limit),"X-RateLimit-Remaining":String(s.remaining),"X-RateLimit-Reset":String(Math.ceil(s.resetAt/1000))};if(!s.allowed)c["Retry-After"]=String(Math.max(1,Math.ceil(s.retryAfter/1000)));return c}function P0(s){if(s===void 0||s===null||s==="")return;let c=Number(s);if(!Number.isFinite(c)||c<=0)return;return c}class C0 extends ms{async run(){let s=this.req.cookies.get("csrf_token");if(!s)throw new UP;if(!["POST","PUT","PATCH","DELETE"].includes(this.req.rawRequest.method))return{};if(!Bun.CSRF.verify(s,{secret:process.env.SECRET}))throw new UP;return{}}}class UP extends N{constructor(){super("Invalid CSRF token");this.name="InvalidCSRFTokenError"}payload={api:{status:403,data:{error:"Invalid CSRF token"}},view:{}}}class S0{policiesList={};constructor(){let s=this.register();for(let c of s){let i=new c;this.policiesList[c.name]=i}}register(){return[]}}class d0{all(s,c){return!0}}export{eT as Bd,YP as Cd,RP as Dd,si as Ed,sa as Fd,m0 as Gd,Z0 as Hd,ca as Id,ci as Jd,ZM as Kd,N as Ld,ii as Md,Us as Nd,Ti as Od,ia as Pd,_P as Qd,BP as Rd,Ri as Sd,zP as Td,ai as Ud,kP as Vd,vP as Wd,aa as Xd,g0 as Yd,fi as Zd,ms as _d,y0 as $d,W0 as ae,G0 as be,Ui as ce,Dm as de,nC as ee,$P as fe,QP as ge,i0 as he,T0 as ie,a0 as je,nT as ke,XP as le,D0 as me,O0 as ne,C0 as oe,S0 as pe,d0 as qe};
3
-
4
- //# debugId=4585EC0244B8BAA264756E2164756E21