synapse-orch-ai 1.8.4 → 1.8.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/backend/core/orchestration/engine.py +12 -6
  2. package/backend/core/orchestration/runner.py +70 -0
  3. package/backend/core/react_engine.py +59 -26
  4. package/backend/core/routes/api_v1.py +17 -6
  5. package/backend/core/routes/chat.py +3 -0
  6. package/backend/core/routes/orchestrations.py +15 -66
  7. package/frontend-build/.next/BUILD_ID +1 -1
  8. package/frontend-build/.next/build-manifest.json +3 -3
  9. package/frontend-build/.next/prerender-manifest.json +3 -3
  10. package/frontend-build/.next/server/app/_global-error.html +1 -1
  11. package/frontend-build/.next/server/app/_global-error.rsc +1 -1
  12. package/frontend-build/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  13. package/frontend-build/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  14. package/frontend-build/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  15. package/frontend-build/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  16. package/frontend-build/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  17. package/frontend-build/.next/server/app/_not-found.html +1 -1
  18. package/frontend-build/.next/server/app/_not-found.rsc +1 -1
  19. package/frontend-build/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  20. package/frontend-build/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  21. package/frontend-build/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  22. package/frontend-build/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  23. package/frontend-build/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  24. package/frontend-build/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  25. package/frontend-build/.next/server/app/index.html +1 -1
  26. package/frontend-build/.next/server/app/index.rsc +1 -1
  27. package/frontend-build/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  28. package/frontend-build/.next/server/app/index.segments/_full.segment.rsc +1 -1
  29. package/frontend-build/.next/server/app/index.segments/_head.segment.rsc +1 -1
  30. package/frontend-build/.next/server/app/index.segments/_index.segment.rsc +1 -1
  31. package/frontend-build/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  32. package/frontend-build/.next/server/app/login.html +1 -1
  33. package/frontend-build/.next/server/app/login.rsc +1 -1
  34. package/frontend-build/.next/server/app/login.segments/_full.segment.rsc +1 -1
  35. package/frontend-build/.next/server/app/login.segments/_head.segment.rsc +1 -1
  36. package/frontend-build/.next/server/app/login.segments/_index.segment.rsc +1 -1
  37. package/frontend-build/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  38. package/frontend-build/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  39. package/frontend-build/.next/server/app/login.segments/login.segment.rsc +1 -1
  40. package/frontend-build/.next/server/middleware-build-manifest.js +3 -3
  41. package/frontend-build/.next/server/pages/404.html +1 -1
  42. package/frontend-build/.next/server/pages/500.html +1 -1
  43. package/frontend-build/.next/server/server-reference-manifest.js +1 -1
  44. package/frontend-build/.next/server/server-reference-manifest.json +1 -1
  45. package/package.json +1 -1
  46. /package/frontend-build/.next/static/{WjvzoOqaNaXuc-wYMNArI → ZnXvTR9Wo4Qc1Vgx3ou4L}/_buildManifest.js +0 -0
  47. /package/frontend-build/.next/static/{WjvzoOqaNaXuc-wYMNArI → ZnXvTR9Wo4Qc1Vgx3ou4L}/_clientMiddlewareManifest.js +0 -0
  48. /package/frontend-build/.next/static/{WjvzoOqaNaXuc-wYMNArI → ZnXvTR9Wo4Qc1Vgx3ou4L}/_ssgManifest.js +0 -0
@@ -182,12 +182,18 @@ class OrchestrationEngine:
182
182
  # This properly interrupts a stuck session.call_tool() inside
183
183
  # the executor when the step deadline is reached.
184
184
  #
185
- # IMPORTANT: never yield human_input_required inside the
186
- # fail_after scope. Python's GC finalizer runs aclose() on
187
- # abandoned async generators in a NEW asyncio Task; if a
188
- # cancel scope is active at the suspension point, anyio raises
189
- # "cancel scope in a different task". We break out of the scope
190
- # cleanly (in the current task) and yield the event below.
185
+ # IMPORTANT: this scope stays open across the yields below, so
186
+ # this generator must be advanced — and closed — from a single
187
+ # task, or anyio raises "cancel scope in a different task".
188
+ # core.orchestration.runner is what guarantees that; every
189
+ # entry point runs us through it (issue #356). Do not drive
190
+ # the engine directly from a task-per-pull consumer.
191
+ #
192
+ # human_input_required is still yielded outside the scope: the
193
+ # generator is abandoned at that point, and Python's GC
194
+ # finalizer runs aclose() on abandoned async generators in a
195
+ # NEW asyncio Task. We break out of the scope cleanly (in the
196
+ # current task) and yield the event below.
191
197
  human_input_event: dict | None = None
192
198
  try:
193
199
  with anyio.fail_after(step_timeout):
@@ -0,0 +1,70 @@
1
+ """Single-task runner for orchestration engine streams.
2
+
3
+ The engine holds anyio cancel scopes across `yield`s (the per-step timeout at
4
+ `engine._execute_loop`). anyio binds a cancel scope to the task that entered
5
+ it, so the engine's generator must be advanced -- and closed -- from ONE task,
6
+ whatever the HTTP layer does with the events. A consumer that pulls each event
7
+ in a fresh task raises "Attempted to exit cancel scope in a different task"
8
+ (issue #356).
9
+
10
+ Every orchestration entry point goes through here, so the launch path can no
11
+ longer change how the engine is driven.
12
+ """
13
+ import asyncio
14
+ from typing import AsyncGenerator
15
+
16
+ # Live in-process runs, keyed by run_id. The cancel endpoint cancels the task
17
+ # to interrupt an in-progress await; the run-status endpoint consults it to
18
+ # report a run that is still inside its first step (no checkpoint yet).
19
+ _active_tasks: dict[str, asyncio.Task] = {}
20
+
21
+ # Queue marker meaning "the engine generator is exhausted".
22
+ SENTINEL = object()
23
+
24
+
25
+ def spawn_engine_run(agen, run_id: str) -> tuple[asyncio.Task, asyncio.Queue]:
26
+ """Advance `agen` in one dedicated task, returning (task, queue).
27
+
28
+ The task is detached: it runs to completion even if nobody drains the
29
+ queue, so a client disconnect never kills a run. Only the cancel endpoint
30
+ stops it.
31
+ """
32
+ queue: asyncio.Queue = asyncio.Queue()
33
+
34
+ async def _pump():
35
+ try:
36
+ async for event in agen:
37
+ await queue.put(event)
38
+ # Yield so the SSE consumer can dequeue and flush this event
39
+ # to the HTTP response before the next one is enqueued.
40
+ await asyncio.sleep(0)
41
+ except asyncio.CancelledError:
42
+ await queue.put({"type": "orchestration_error", "error": "Cancelled"})
43
+ except FileNotFoundError:
44
+ await queue.put({"type": "orchestration_error", "error": "Run not found"})
45
+ except Exception as e:
46
+ await queue.put({"type": "orchestration_error", "error": str(e)})
47
+ finally:
48
+ _active_tasks.pop(run_id, None)
49
+ print(f"DEBUG SSE QUEUE: sentinel sent for '{run_id}', stream closing", flush=True)
50
+ await queue.put(SENTINEL)
51
+
52
+ task = asyncio.create_task(_pump())
53
+ _active_tasks[run_id] = task
54
+ return task, queue
55
+
56
+
57
+ async def stream_engine_events(agen, run_id: str) -> AsyncGenerator[dict, None]:
58
+ """Yield the engine's event dicts while a dedicated task advances it.
59
+
60
+ Deliberately does NOT cancel that task on close: the run is detached, so
61
+ abandoning this generator (client disconnect, GC finalization) must leave
62
+ it running -- the run still checkpoints and stays cancellable and
63
+ resumable.
64
+ """
65
+ _task, queue = spawn_engine_run(agen, run_id)
66
+ while True:
67
+ event = await queue.get()
68
+ if event is SENTINEL:
69
+ return
70
+ yield event
@@ -4,6 +4,7 @@ Yields structured event dicts that callers can handle differently
4
4
  (collect for sync response, or stream as SSE).
5
5
  """
6
6
  import asyncio
7
+ import contextlib
7
8
  import json
8
9
  import sys
9
10
  import time
@@ -47,50 +48,74 @@ MAX_TURNS = 30
47
48
  # Heartbeats are yielded as the raw SSE string, so endpoints can pass them
48
49
  # straight through; real events remain dicts (`isinstance(item, str)`
49
50
  # distinguishes them).
51
+ #
52
+ # The source is advanced by a single dedicated pump task rather than a fresh
53
+ # task per pull. anyio binds a cancel scope to the task that entered it, so a
54
+ # source holding a scope across a yield (the orchestration engine's per-step
55
+ # timeout) must be advanced — and closed — from one task. See issue #356.
50
56
  # ──────────────────────────────────────────────────────────────────────────────
51
57
  SSE_HEARTBEAT = ": ping\n\n"
52
58
 
53
59
 
60
+ class _StreamEnd:
61
+ """Sentinel handing the source's terminal state back to the consumer."""
62
+ __slots__ = ("error",)
63
+
64
+ def __init__(self, error):
65
+ self.error = error
66
+
67
+
54
68
  async def iter_with_heartbeat(agen, interval: float = 10.0):
55
69
  """Yield items from `agen`, injecting `SSE_HEARTBEAT` whenever no item
56
70
  arrives within `interval` seconds.
57
71
 
58
72
  The underlying generator is never cancelled on a heartbeat timeout — only
59
73
  when the consumer stops early (e.g. a client disconnect closes this
60
- generator), in which case the pending pull is cancelled and the source is
61
- closed in the finally block.
74
+ generator), in which case the pump is cancelled and closes the source.
62
75
  """
63
- ait = agen.__aiter__()
64
- pending = None
76
+ queue: asyncio.Queue = asyncio.Queue(maxsize=1) # maxsize=1 keeps backpressure
77
+
78
+ async def _pump():
79
+ # Advances `agen` in THIS single task, so a cancel scope the source
80
+ # holds across a yield is never exited from another task — and
81
+ # aclose() below runs in that scope's host task too.
82
+ try:
83
+ async for item in agen:
84
+ await queue.put(item)
85
+ await queue.put(_StreamEnd(None))
86
+ except asyncio.CancelledError:
87
+ raise
88
+ except BaseException as exc:
89
+ with contextlib.suppress(BaseException):
90
+ await queue.put(_StreamEnd(exc))
91
+ finally:
92
+ aclose = getattr(agen, "aclose", None)
93
+ if aclose is not None:
94
+ with contextlib.suppress(BaseException):
95
+ await aclose()
96
+
97
+ pump = asyncio.ensure_future(_pump())
65
98
  try:
66
99
  while True:
67
- if pending is None:
68
- pending = asyncio.ensure_future(ait.__anext__())
69
- done, _ = await asyncio.wait({pending}, timeout=interval)
70
- if not done:
100
+ try:
101
+ item = await asyncio.wait_for(queue.get(), timeout=interval)
102
+ except asyncio.TimeoutError:
103
+ if pump.done():
104
+ # Source ended without a sentinel — it was cancelled.
105
+ return
71
106
  # No event within the interval — keep the stream warm.
72
107
  yield SSE_HEARTBEAT
73
108
  continue
74
- task = pending
75
- pending = None
76
- try:
77
- item = task.result()
78
- except StopAsyncIteration:
109
+ if isinstance(item, _StreamEnd):
110
+ if item.error is not None:
111
+ raise item.error
79
112
  return
80
113
  yield item
81
114
  finally:
82
- if pending is not None:
83
- pending.cancel()
84
- try:
85
- await pending
86
- except BaseException:
87
- pass
88
- aclose = getattr(agen, "aclose", None)
89
- if aclose is not None:
90
- try:
91
- await aclose()
92
- except BaseException:
93
- pass
115
+ if not pump.done():
116
+ pump.cancel()
117
+ with contextlib.suppress(BaseException):
118
+ await pump
94
119
 
95
120
 
96
121
  async def drain_queue_with_heartbeat(queue, sentinel, interval: float = 10.0):
@@ -1591,6 +1616,7 @@ async def run_react_loop(request, server_module):
1591
1616
  from core.routes.orchestrations import load_orchestrations
1592
1617
  from core.models_orchestration import Orchestration
1593
1618
  from core.orchestration.engine import OrchestrationEngine
1619
+ from core.orchestration.runner import stream_engine_events
1594
1620
 
1595
1621
  orchs = load_orchestrations()
1596
1622
  orch_data = next((o for o in orchs if o["id"] == orch_id), None)
@@ -1598,7 +1624,14 @@ async def run_react_loop(request, server_module):
1598
1624
  orch = Orchestration.model_validate(orch_data)
1599
1625
  engine = OrchestrationEngine(orch, server_module)
1600
1626
  run_id = f"run_{orch_id}_{int(time.time() * 1000)}"
1601
- async for event in engine.run(user_message, run_id, session_id=session_id):
1627
+ # Route through the shared runner, exactly as the editor's
1628
+ # run endpoint does: the engine holds anyio cancel scopes
1629
+ # across yields, so it must be advanced from a single task
1630
+ # no matter how the SSE layer consumes us (issue #356).
1631
+ # It also registers the run for cancel/reconnect.
1632
+ async for event in stream_engine_events(
1633
+ engine.run(user_message, run_id, session_id=session_id), run_id
1634
+ ):
1602
1635
  yield event
1603
1636
  return
1604
1637
  else:
@@ -113,8 +113,9 @@ async def v1_chat(body: V1ChatRequest, key_record: dict = Depends(require_api_ke
113
113
  etype = event.get("type", "")
114
114
  if etype == "final":
115
115
  final_event = event
116
- elif etype == "error":
117
- error_msg = event.get("message", "Unknown error")
116
+ elif etype in ("error", "orchestration_error"):
117
+ # orchestration_error is what an orchestrator agent fails with.
118
+ error_msg = event.get("message") or event.get("error") or "Unknown error"
118
119
  except Exception as exc:
119
120
  log.exception("[v1/chat] Unhandled error for session=%s", chat_request.session_id)
120
121
  raise HTTPException(status_code=500, detail="An internal error occurred. Check server logs for details.")
@@ -204,8 +205,10 @@ async def v1_chat_stream(body: V1ChatRequest, key_record: dict = Depends(require
204
205
  })
205
206
  yield _format_sse_event({"type": "done"})
206
207
 
207
- elif etype == "error":
208
- log.error("[v1/chat/stream] Agent error session=%s: %s", chat_request.session_id, event.get("message"))
208
+ elif etype in ("error", "orchestration_error"):
209
+ # orchestration_error is what an orchestrator agent fails with.
210
+ log.error("[v1/chat/stream] Agent error session=%s: %s", chat_request.session_id,
211
+ event.get("message") or event.get("error"))
209
212
  yield _format_sse_event({"type": "error", "message": "The agent encountered an error processing your request."})
210
213
 
211
214
  await asyncio.sleep(0)
@@ -314,8 +317,11 @@ async def v1_orchestration_run_stream(
314
317
 
315
318
  async def event_stream():
316
319
  from core.react_engine import iter_with_heartbeat
320
+ from core.orchestration.runner import stream_engine_events
317
321
  try:
318
- async for event in iter_with_heartbeat(engine.run(body.message, run_id)):
322
+ async for event in iter_with_heartbeat(
323
+ stream_engine_events(engine.run(body.message, run_id), run_id)
324
+ ):
319
325
  # Heartbeat comments are yielded as raw SSE strings — pass through.
320
326
  if isinstance(event, str):
321
327
  yield event
@@ -436,8 +442,13 @@ async def v1_orchestration_resume_stream(
436
442
 
437
443
  async def event_stream():
438
444
  from core.react_engine import iter_with_heartbeat
445
+ from core.orchestration.runner import stream_engine_events
439
446
  try:
440
- async for event in iter_with_heartbeat(OrchestrationEngine.resume(run_id, human_response, _server)):
447
+ async for event in iter_with_heartbeat(
448
+ stream_engine_events(
449
+ OrchestrationEngine.resume(run_id, human_response, _server), run_id
450
+ )
451
+ ):
441
452
  # Heartbeat comments are yielded as raw SSE strings — pass through.
442
453
  if isinstance(event, str):
443
454
  yield event
@@ -39,6 +39,9 @@ async def chat(request: ChatRequest):
39
39
  final_event = event
40
40
  elif event["type"] == "error":
41
41
  return ChatResponse(response=event["message"], intent="chat", data=None, tool_name=None)
42
+ elif event["type"] == "orchestration_error":
43
+ # An orchestrator agent failed — same outcome, different event shape.
44
+ return ChatResponse(response=event["error"], intent="chat", data=None, tool_name=None)
42
45
 
43
46
  if not final_event:
44
47
  return ChatResponse(response="I completed the requested actions.", intent="chat", data=None, tool_name=None)
@@ -1,7 +1,6 @@
1
1
  """
2
2
  Orchestration management endpoints: CRUD, run, human-input, cancel.
3
3
  """
4
- import asyncio
5
4
  import os
6
5
  import json
7
6
  import time
@@ -13,14 +12,14 @@ from core.models_orchestration import Orchestration
13
12
  from core.config import DATA_DIR
14
13
  from core.json_store import JsonStore
15
14
  from core.react_engine import drain_queue_with_heartbeat
15
+ # Registry of active run tasks (for mid-step cancellation), owned by the runner
16
+ # so non-route callers can register runs too.
17
+ from core.orchestration.runner import SENTINEL, _active_tasks, spawn_engine_run
16
18
 
17
19
  router = APIRouter()
18
20
 
19
21
  _orch_store = JsonStore(os.path.join(DATA_DIR, "orchestrations.json"), cache_ttl=2.0)
20
22
 
21
- # In-memory registry of active run tasks (for mid-step cancellation)
22
- _active_tasks: dict[str, asyncio.Task] = {}
23
-
24
23
 
25
24
  def load_orchestrations() -> list[dict]:
26
25
  return _orch_store.load()
@@ -153,36 +152,14 @@ async def run_orchestration(orch_id: str, request: Request):
153
152
  from core.orchestration.engine import OrchestrationEngine
154
153
  engine = OrchestrationEngine(orch, server_module)
155
154
 
156
- queue: asyncio.Queue = asyncio.Queue()
157
- _SENTINEL = object()
158
-
159
- async def _run_engine():
160
- try:
161
- async for event in engine.run(user_input, run_id):
162
- etype = event.get("type", "")
163
- if etype not in ("chunk", "thinking", "token_usage"):
164
- print(f"DEBUG SSE QUEUE: → {etype} step={event.get('orch_step_id', '')}", flush=True)
165
- await queue.put(event)
166
- # Yield so event_stream() can dequeue and flush this event
167
- # to the HTTP response before the next event is enqueued.
168
- await asyncio.sleep(0)
169
- except asyncio.CancelledError:
170
- await queue.put({"type": "orchestration_error", "error": "Cancelled"})
171
- except Exception as e:
172
- await queue.put({"type": "orchestration_error", "error": str(e)})
173
- finally:
174
- _active_tasks.pop(run_id, None)
175
- print(f"DEBUG SSE QUEUE: sentinel sent, stream closing", flush=True)
176
- await queue.put(_SENTINEL)
177
-
178
- # Engine runs independently of SSE consumer; store task for cancellation
179
- task = asyncio.create_task(_run_engine())
180
- _active_tasks[run_id] = task
155
+ # Engine runs in its own task, independently of the SSE consumer, and is
156
+ # registered for cancellation.
157
+ _task, queue = spawn_engine_run(engine.run(user_input, run_id), run_id)
181
158
 
182
159
  async def event_stream():
183
160
  # Heartbeats keep the stream warm during long LLM/compaction steps so a
184
161
  # busy-but-alive run is not mistaken for a dropped connection.
185
- async for chunk in drain_queue_with_heartbeat(queue, _SENTINEL):
162
+ async for chunk in drain_queue_with_heartbeat(queue, SENTINEL):
186
163
  yield chunk
187
164
  yield "data: {\"type\": \"done\"}\n\n"
188
165
 
@@ -222,29 +199,14 @@ async def resume_failed_run(run_id: str, request: Request):
222
199
 
223
200
  from core.orchestration.engine import OrchestrationEngine
224
201
 
225
- queue: asyncio.Queue = asyncio.Queue()
226
- _SENTINEL = object()
227
-
228
- async def _run_engine():
229
- try:
230
- async for event in OrchestrationEngine.resume_failed(run_id, server_module):
231
- await queue.put(event)
232
- await asyncio.sleep(0)
233
- except FileNotFoundError:
234
- await queue.put({"type": "orchestration_error", "error": "Run not found"})
235
- except Exception as e:
236
- await queue.put({"type": "orchestration_error", "error": str(e)})
237
- finally:
238
- _active_tasks.pop(run_id, None)
239
- await queue.put(_SENTINEL)
240
-
241
- task = asyncio.create_task(_run_engine())
242
- _active_tasks[run_id] = task
202
+ _task, queue = spawn_engine_run(
203
+ OrchestrationEngine.resume_failed(run_id, server_module), run_id
204
+ )
243
205
 
244
206
  async def event_stream():
245
207
  # Heartbeats keep the stream warm during long LLM/compaction steps so a
246
208
  # busy-but-alive run is not mistaken for a dropped connection.
247
- async for chunk in drain_queue_with_heartbeat(queue, _SENTINEL):
209
+ async for chunk in drain_queue_with_heartbeat(queue, SENTINEL):
248
210
  yield chunk
249
211
  yield "data: {\"type\": \"done\"}\n\n"
250
212
 
@@ -341,27 +303,14 @@ async def submit_human_input(run_id: str, request: Request):
341
303
  # --- V1 in-process path (unchanged) ---
342
304
  from core.orchestration.engine import OrchestrationEngine
343
305
 
344
- queue: asyncio.Queue = asyncio.Queue()
345
- _SENTINEL = object()
346
-
347
- async def _run_engine():
348
- try:
349
- async for event in OrchestrationEngine.resume(run_id, human_response, server_module):
350
- await queue.put(event)
351
- await asyncio.sleep(0)
352
- except FileNotFoundError:
353
- await queue.put({"type": "orchestration_error", "error": "Run not found"})
354
- except Exception as e:
355
- await queue.put({"type": "orchestration_error", "error": str(e)})
356
- finally:
357
- await queue.put(_SENTINEL)
358
-
359
- asyncio.create_task(_run_engine())
306
+ _task, queue = spawn_engine_run(
307
+ OrchestrationEngine.resume(run_id, human_response, server_module), run_id
308
+ )
360
309
 
361
310
  async def event_stream():
362
311
  # Heartbeats keep the stream warm during long LLM/compaction steps so a
363
312
  # busy-but-alive run is not mistaken for a dropped connection.
364
- async for chunk in drain_queue_with_heartbeat(queue, _SENTINEL):
313
+ async for chunk in drain_queue_with_heartbeat(queue, SENTINEL):
365
314
  yield chunk
366
315
  yield "data: {\"type\": \"done\"}\n\n"
367
316
 
@@ -1 +1 @@
1
- WjvzoOqaNaXuc-wYMNArI
1
+ ZnXvTR9Wo4Qc1Vgx3ou4L
@@ -7,9 +7,9 @@
7
7
  "static/chunks/03~yq9q893hmn.js"
8
8
  ],
9
9
  "lowPriorityFiles": [
10
- "static/WjvzoOqaNaXuc-wYMNArI/_buildManifest.js",
11
- "static/WjvzoOqaNaXuc-wYMNArI/_ssgManifest.js",
12
- "static/WjvzoOqaNaXuc-wYMNArI/_clientMiddlewareManifest.js"
10
+ "static/ZnXvTR9Wo4Qc1Vgx3ou4L/_buildManifest.js",
11
+ "static/ZnXvTR9Wo4Qc1Vgx3ou4L/_ssgManifest.js",
12
+ "static/ZnXvTR9Wo4Qc1Vgx3ou4L/_clientMiddlewareManifest.js"
13
13
  ],
14
14
  "rootMainFiles": [
15
15
  "static/chunks/0qmh881w772ef.js",
@@ -131,8 +131,8 @@
131
131
  "dynamicRoutes": {},
132
132
  "notFoundRoutes": [],
133
133
  "preview": {
134
- "previewModeId": "1c0685efa521b0dbf779b45854109763",
135
- "previewModeSigningKey": "b6cc2030a87c67166aa72e4b6b47c2a8a7458d02ab4755889ca0ec472d0d48b7",
136
- "previewModeEncryptionKey": "fd5063f9886ee40652ea64012174055070a38c72eee5ec20b08bfcaa2039c4b0"
134
+ "previewModeId": "5e52ec84fea3070b589dc14e6fe972e4",
135
+ "previewModeSigningKey": "6ec214fafb7348cd91559964c61e345a08a526800e4817b9731c402cf737edc6",
136
+ "previewModeEncryptionKey": "9221f0ed8ae3da80f3d5e8a17ab822c445b6cd1524dc5f297a98926ac7f1fc43"
137
137
  }
138
138
  }
@@ -1 +1 @@
1
- <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0qmh881w772ef.js"/><script src="/_next/static/chunks/02i7dfk78~t~2.js" async=""></script><script src="/_next/static/chunks/0c7h~x4_chf35.js" async=""></script><script src="/_next/static/chunks/00xhsd~k-wxkl.js" async=""></script><script src="/_next/static/chunks/turbopack-09lztqg9--eu..js" async=""></script><script src="/_next/static/chunks/01xlw8hd842-c.js" async=""></script><script src="/_next/static/chunks/0m92kh92cfh_..js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/0qmh881w772ef.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0m92kh92cfh_..js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0m92kh92cfh_..js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0m92kh92cfh_..js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0m92kh92cfh_..js\"],\"ViewportBoundary\"]\na:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0m92kh92cfh_..js\"],\"MetadataBoundary\"]\nc:I[68027,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0m92kh92cfh_..js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"WjvzoOqaNaXuc-wYMNArI\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\nb:[]\n"])</script></body></html>
1
+ <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0qmh881w772ef.js"/><script src="/_next/static/chunks/02i7dfk78~t~2.js" async=""></script><script src="/_next/static/chunks/0c7h~x4_chf35.js" async=""></script><script src="/_next/static/chunks/00xhsd~k-wxkl.js" async=""></script><script src="/_next/static/chunks/turbopack-09lztqg9--eu..js" async=""></script><script src="/_next/static/chunks/01xlw8hd842-c.js" async=""></script><script src="/_next/static/chunks/0m92kh92cfh_..js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/0qmh881w772ef.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0m92kh92cfh_..js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0m92kh92cfh_..js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0m92kh92cfh_..js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0m92kh92cfh_..js\"],\"ViewportBoundary\"]\na:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0m92kh92cfh_..js\"],\"MetadataBoundary\"]\nc:I[68027,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0m92kh92cfh_..js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"ZnXvTR9Wo4Qc1Vgx3ou4L\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\nb:[]\n"])</script></body></html>
@@ -6,7 +6,7 @@
6
6
  8:I[97367,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0m92kh92cfh_..js"],"ViewportBoundary"]
7
7
  a:I[97367,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0m92kh92cfh_..js"],"MetadataBoundary"]
8
8
  c:I[68027,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0m92kh92cfh_..js"],"default",1]
9
- 0:{"P":null,"c":["","_global-error"],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]}],[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","html",null,{"id":"__next_error__","children":[["$","head",null,{"children":[["$","title",null,{"children":"500: This page couldn’t load"}],["$","style",null,{"dangerouslySetInnerHTML":{"__html":":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }"}}]]}],["$","body",null,{"children":["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","display":"flex","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"style":{"marginTop":"-32px","maxWidth":"325px","padding":"32px 28px","textAlign":"left"},"children":[["$","svg",null,{"width":"32","height":"32","viewBox":"-0.2 -1.5 32 32","fill":"none","style":{"marginBottom":"24px"},"children":["$","path",null,{"d":"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z","fill":"var(--next-error-title)"}]}],["$","h1",null,{"style":{"fontSize":"24px","fontWeight":500,"letterSpacing":"-0.02em","lineHeight":"32px","margin":"0 0 12px 0","color":"var(--next-error-title)"},"children":"This page couldn’t load"}],["$","p",null,{"style":{"fontSize":"14px","fontWeight":400,"lineHeight":"21px","margin":"0 0 20px 0","color":"var(--next-error-message)"},"children":"A server error occurred. Reload to try again."}],["$","form",null,{"style":{"margin":0},"children":["$","button",null,{"type":"submit","style":{"display":"inline-flex","alignItems":"center","justifyContent":"center","height":"32px","padding":"0 12px","fontSize":"14px","fontWeight":500,"lineHeight":"20px","borderRadius":"6px","cursor":"pointer","color":"var(--next-error-btn-text)","background":"var(--next-error-btn-bg)","border":"var(--next-error-btn-border)"},"children":"Reload"}]}]]}]}]}]]}],null,["$","$L4",null,{"children":["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@6"}]}]]}],{},null,false,null]},null,false,"$@7"],["$","$1","h",{"children":[null,["$","$L8",null,{"children":"$L9"}],["$","div",null,{"hidden":true,"children":["$","$La",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$Lb"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$c",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"WjvzoOqaNaXuc-wYMNArI"}
9
+ 0:{"P":null,"c":["","_global-error"],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]}],[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","html",null,{"id":"__next_error__","children":[["$","head",null,{"children":[["$","title",null,{"children":"500: This page couldn’t load"}],["$","style",null,{"dangerouslySetInnerHTML":{"__html":":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }"}}]]}],["$","body",null,{"children":["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","display":"flex","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"style":{"marginTop":"-32px","maxWidth":"325px","padding":"32px 28px","textAlign":"left"},"children":[["$","svg",null,{"width":"32","height":"32","viewBox":"-0.2 -1.5 32 32","fill":"none","style":{"marginBottom":"24px"},"children":["$","path",null,{"d":"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z","fill":"var(--next-error-title)"}]}],["$","h1",null,{"style":{"fontSize":"24px","fontWeight":500,"letterSpacing":"-0.02em","lineHeight":"32px","margin":"0 0 12px 0","color":"var(--next-error-title)"},"children":"This page couldn’t load"}],["$","p",null,{"style":{"fontSize":"14px","fontWeight":400,"lineHeight":"21px","margin":"0 0 20px 0","color":"var(--next-error-message)"},"children":"A server error occurred. Reload to try again."}],["$","form",null,{"style":{"margin":0},"children":["$","button",null,{"type":"submit","style":{"display":"inline-flex","alignItems":"center","justifyContent":"center","height":"32px","padding":"0 12px","fontSize":"14px","fontWeight":500,"lineHeight":"20px","borderRadius":"6px","cursor":"pointer","color":"var(--next-error-btn-text)","background":"var(--next-error-btn-bg)","border":"var(--next-error-btn-border)"},"children":"Reload"}]}]]}]}]}]]}],null,["$","$L4",null,{"children":["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@6"}]}]]}],{},null,false,null]},null,false,"$@7"],["$","$1","h",{"children":[null,["$","$L8",null,{"children":"$L9"}],["$","div",null,{"hidden":true,"children":["$","$La",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$Lb"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$c",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"ZnXvTR9Wo4Qc1Vgx3ou4L"}
10
10
  d:[]
11
11
  7:"$Wd"
12
12
  9:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
@@ -1,5 +1,5 @@
1
1
  1:"$Sreact.fragment"
2
2
  2:I[97367,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0m92kh92cfh_..js"],"OutletBoundary"]
3
3
  3:"$Sreact.suspense"
4
- 0:{"rsc":["$","$1","c",{"children":[["$","html",null,{"id":"__next_error__","children":[["$","head",null,{"children":[["$","title",null,{"children":"500: This page couldn’t load"}],["$","style",null,{"dangerouslySetInnerHTML":{"__html":":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }"}}]]}],["$","body",null,{"children":["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","display":"flex","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"style":{"marginTop":"-32px","maxWidth":"325px","padding":"32px 28px","textAlign":"left"},"children":[["$","svg",null,{"width":"32","height":"32","viewBox":"-0.2 -1.5 32 32","fill":"none","style":{"marginBottom":"24px"},"children":["$","path",null,{"d":"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z","fill":"var(--next-error-title)"}]}],["$","h1",null,{"style":{"fontSize":"24px","fontWeight":500,"letterSpacing":"-0.02em","lineHeight":"32px","margin":"0 0 12px 0","color":"var(--next-error-title)"},"children":"This page couldn’t load"}],["$","p",null,{"style":{"fontSize":"14px","fontWeight":400,"lineHeight":"21px","margin":"0 0 20px 0","color":"var(--next-error-message)"},"children":"A server error occurred. Reload to try again."}],["$","form",null,{"style":{"margin":0},"children":["$","button",null,{"type":"submit","style":{"display":"inline-flex","alignItems":"center","justifyContent":"center","height":"32px","padding":"0 12px","fontSize":"14px","fontWeight":500,"lineHeight":"20px","borderRadius":"6px","cursor":"pointer","color":"var(--next-error-btn-text)","background":"var(--next-error-btn-bg)","border":"var(--next-error-btn-border)"},"children":"Reload"}]}]]}]}]}]]}],null,["$","$L2",null,{"children":["$","$3",null,{"name":"Next.MetadataOutlet","children":"$@4"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"WjvzoOqaNaXuc-wYMNArI"}
4
+ 0:{"rsc":["$","$1","c",{"children":[["$","html",null,{"id":"__next_error__","children":[["$","head",null,{"children":[["$","title",null,{"children":"500: This page couldn’t load"}],["$","style",null,{"dangerouslySetInnerHTML":{"__html":":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }"}}]]}],["$","body",null,{"children":["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","display":"flex","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"style":{"marginTop":"-32px","maxWidth":"325px","padding":"32px 28px","textAlign":"left"},"children":[["$","svg",null,{"width":"32","height":"32","viewBox":"-0.2 -1.5 32 32","fill":"none","style":{"marginBottom":"24px"},"children":["$","path",null,{"d":"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z","fill":"var(--next-error-title)"}]}],["$","h1",null,{"style":{"fontSize":"24px","fontWeight":500,"letterSpacing":"-0.02em","lineHeight":"32px","margin":"0 0 12px 0","color":"var(--next-error-title)"},"children":"This page couldn’t load"}],["$","p",null,{"style":{"fontSize":"14px","fontWeight":400,"lineHeight":"21px","margin":"0 0 20px 0","color":"var(--next-error-message)"},"children":"A server error occurred. Reload to try again."}],["$","form",null,{"style":{"margin":0},"children":["$","button",null,{"type":"submit","style":{"display":"inline-flex","alignItems":"center","justifyContent":"center","height":"32px","padding":"0 12px","fontSize":"14px","fontWeight":500,"lineHeight":"20px","borderRadius":"6px","cursor":"pointer","color":"var(--next-error-btn-text)","background":"var(--next-error-btn-bg)","border":"var(--next-error-btn-border)"},"children":"Reload"}]}]]}]}]}]]}],null,["$","$L2",null,{"children":["$","$3",null,{"name":"Next.MetadataOutlet","children":"$@4"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"ZnXvTR9Wo4Qc1Vgx3ou4L"}
5
5
  4:null
@@ -6,7 +6,7 @@
6
6
  8:I[97367,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0m92kh92cfh_..js"],"ViewportBoundary"]
7
7
  a:I[97367,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0m92kh92cfh_..js"],"MetadataBoundary"]
8
8
  c:I[68027,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0m92kh92cfh_..js"],"default",1]
9
- 0:{"P":null,"c":["","_global-error"],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]}],[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","html",null,{"id":"__next_error__","children":[["$","head",null,{"children":[["$","title",null,{"children":"500: This page couldn’t load"}],["$","style",null,{"dangerouslySetInnerHTML":{"__html":":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }"}}]]}],["$","body",null,{"children":["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","display":"flex","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"style":{"marginTop":"-32px","maxWidth":"325px","padding":"32px 28px","textAlign":"left"},"children":[["$","svg",null,{"width":"32","height":"32","viewBox":"-0.2 -1.5 32 32","fill":"none","style":{"marginBottom":"24px"},"children":["$","path",null,{"d":"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z","fill":"var(--next-error-title)"}]}],["$","h1",null,{"style":{"fontSize":"24px","fontWeight":500,"letterSpacing":"-0.02em","lineHeight":"32px","margin":"0 0 12px 0","color":"var(--next-error-title)"},"children":"This page couldn’t load"}],["$","p",null,{"style":{"fontSize":"14px","fontWeight":400,"lineHeight":"21px","margin":"0 0 20px 0","color":"var(--next-error-message)"},"children":"A server error occurred. Reload to try again."}],["$","form",null,{"style":{"margin":0},"children":["$","button",null,{"type":"submit","style":{"display":"inline-flex","alignItems":"center","justifyContent":"center","height":"32px","padding":"0 12px","fontSize":"14px","fontWeight":500,"lineHeight":"20px","borderRadius":"6px","cursor":"pointer","color":"var(--next-error-btn-text)","background":"var(--next-error-btn-bg)","border":"var(--next-error-btn-border)"},"children":"Reload"}]}]]}]}]}]]}],null,["$","$L4",null,{"children":["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@6"}]}]]}],{},null,false,null]},null,false,"$@7"],["$","$1","h",{"children":[null,["$","$L8",null,{"children":"$L9"}],["$","div",null,{"hidden":true,"children":["$","$La",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$Lb"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$c",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"WjvzoOqaNaXuc-wYMNArI"}
9
+ 0:{"P":null,"c":["","_global-error"],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]}],[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","html",null,{"id":"__next_error__","children":[["$","head",null,{"children":[["$","title",null,{"children":"500: This page couldn’t load"}],["$","style",null,{"dangerouslySetInnerHTML":{"__html":":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }"}}]]}],["$","body",null,{"children":["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","display":"flex","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"style":{"marginTop":"-32px","maxWidth":"325px","padding":"32px 28px","textAlign":"left"},"children":[["$","svg",null,{"width":"32","height":"32","viewBox":"-0.2 -1.5 32 32","fill":"none","style":{"marginBottom":"24px"},"children":["$","path",null,{"d":"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z","fill":"var(--next-error-title)"}]}],["$","h1",null,{"style":{"fontSize":"24px","fontWeight":500,"letterSpacing":"-0.02em","lineHeight":"32px","margin":"0 0 12px 0","color":"var(--next-error-title)"},"children":"This page couldn’t load"}],["$","p",null,{"style":{"fontSize":"14px","fontWeight":400,"lineHeight":"21px","margin":"0 0 20px 0","color":"var(--next-error-message)"},"children":"A server error occurred. Reload to try again."}],["$","form",null,{"style":{"margin":0},"children":["$","button",null,{"type":"submit","style":{"display":"inline-flex","alignItems":"center","justifyContent":"center","height":"32px","padding":"0 12px","fontSize":"14px","fontWeight":500,"lineHeight":"20px","borderRadius":"6px","cursor":"pointer","color":"var(--next-error-btn-text)","background":"var(--next-error-btn-bg)","border":"var(--next-error-btn-border)"},"children":"Reload"}]}]]}]}]}]]}],null,["$","$L4",null,{"children":["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@6"}]}]]}],{},null,false,null]},null,false,"$@7"],["$","$1","h",{"children":[null,["$","$L8",null,{"children":"$L9"}],["$","div",null,{"hidden":true,"children":["$","$La",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$Lb"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$c",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"ZnXvTR9Wo4Qc1Vgx3ou4L"}
10
10
  d:[]
11
11
  7:"$Wd"
12
12
  9:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]