From cea125502f951ba3971b40ef6994a5ededa8a058 Mon Sep 17 00:00:00 2001
From: Brennan Benson <79079362+brennanb2025@users.noreply.github.com>
Date: Sun, 2 Aug 2026 17:29:19 -0700
Subject: [PATCH] wip: preserve mixed agent dashboard experiments
---
.../agent-dashboard-concepts.css | 226 +++
.../agent-dashboard-concepts.html | 256 +++
.../agent-dashboard-concepts.js | 50 +
agent-dashboard-concepts/history.png | Bin 0 -> 87135 bytes
agent-dashboard-concepts/map.png | Bin 0 -> 91262 bytes
agent-dashboard-concepts/overview.png | Bin 0 -> 97806 bytes
agent-fleet-concepts/README.md | 24 +
agent-fleet-concepts/agent-fleet-concepts.css | 259 +++
.../agent-fleet-concepts.html | 218 +++
agent-fleet-concepts/agent-fleet-concepts.js | 114 ++
agent-fleet-concepts/constellation.png | Bin 0 -> 113591 bytes
agent-fleet-concepts/gallery.png | Bin 0 -> 325687 bytes
agent-fleet-concepts/matrix.png | Bin 0 -> 81945 bytes
agent-fleet-concepts/orchestrator.png | Bin 0 -> 68503 bytes
agent-fleet-concepts/radar.png | Bin 0 -> 182702 bytes
agent-fleet-concepts/timeline.png | Bin 0 -> 98492 bytes
agent-fleet-concepts/treemap.png | Bin 0 -> 70697 bytes
agent-fleet-control-room/README.md | 144 ++
.../capture-control-room.mjs | 41 +
.../capture-tiles-bands.mjs | 44 +
.../control-room-tokens.css | 107 ++
.../fleet-board-compact.png | Bin 0 -> 176726 bytes
.../fleet-board-detail.png | Bin 0 -> 189793 bytes
agent-fleet-control-room/fleet-board.css | 490 ++++++
agent-fleet-control-room/fleet-board.html | 39 +
agent-fleet-control-room/fleet-board.js | 234 +++
agent-fleet-control-room/fleet-board.png | Bin 0 -> 214776 bytes
agent-fleet-control-room/fleet-canvas.css | 813 +++++++++
agent-fleet-control-room/fleet-canvas.html | 71 +
agent-fleet-control-room/fleet-canvas.js | 752 ++++++++
agent-fleet-control-room/fleet-canvas.png | Bin 0 -> 210099 bytes
agent-fleet-control-room/fleet-glass.css | 479 +++++
agent-fleet-control-room/fleet-glass.html | 36 +
agent-fleet-control-room/fleet-glass.js | 228 +++
agent-fleet-control-room/fleet-glass.png | Bin 0 -> 269230 bytes
agent-fleet-control-room/fleet-hexmap.css | 688 ++++++++
agent-fleet-control-room/fleet-hexmap.html | 51 +
agent-fleet-control-room/fleet-hexmap.js | 386 ++++
agent-fleet-control-room/fleet-hexmap.png | Bin 0 -> 105559 bytes
agent-fleet-control-room/fleet-inbox.css | 302 ++++
agent-fleet-control-room/fleet-inbox.html | 37 +
agent-fleet-control-room/fleet-inbox.js | 144 ++
agent-fleet-control-room/fleet-inbox.png | Bin 0 -> 80680 bytes
agent-fleet-control-room/fleet-map.css | 591 +++++++
agent-fleet-control-room/fleet-map.html | 52 +
agent-fleet-control-room/fleet-map.js | 438 +++++
agent-fleet-control-room/fleet-map.png | Bin 0 -> 187496 bytes
agent-fleet-control-room/fleet-space.css | 106 ++
agent-fleet-control-room/fleet-space.html | 44 +
agent-fleet-control-room/fleet-space.js | 385 ++++
agent-fleet-control-room/fleet-space.png | Bin 0 -> 245474 bytes
.../fleet-state-synthesis.js | 202 +++
agent-fleet-control-room/fleet-strips.css | 776 +++++++++
agent-fleet-control-room/fleet-strips.html | 56 +
agent-fleet-control-room/fleet-strips.js | 565 ++++++
agent-fleet-control-room/fleet-strips.png | Bin 0 -> 184612 bytes
.../fleet-terminal-wall.css | 703 ++++++++
.../fleet-terminal-wall.html | 48 +
.../fleet-terminal-wall.js | 497 ++++++
.../fleet-terminal-wall.png | Bin 0 -> 277636 bytes
agent-fleet-control-room/fleet-tiles-far.png | Bin 0 -> 90182 bytes
agent-fleet-control-room/fleet-tiles-near.png | Bin 0 -> 256330 bytes
agent-fleet-control-room/fleet-tiles.css | 974 +++++++++++
agent-fleet-control-room/fleet-tiles.html | 71 +
agent-fleet-control-room/fleet-tiles.js | 1165 +++++++++++++
agent-fleet-control-room/fleet-tiles.png | Bin 0 -> 314060 bytes
agent-fleet-control-room/fleet-triage.css | 312 ++++
agent-fleet-control-room/fleet-triage.html | 27 +
agent-fleet-control-room/fleet-triage.js | 232 +++
agent-fleet-control-room/fleet-triage.png | Bin 0 -> 106201 bytes
agent-fleet-control-room/mission-control.css | 1030 +++++++++++
agent-fleet-control-room/mission-control.html | 68 +
agent-fleet-control-room/mission-control.js | 933 ++++++++++
agent-fleet-control-room/mission-control.png | Bin 0 -> 242408 bytes
.../research-agent-product-survey-v1.md | 251 +++
.../research-agent-product-survey-v2.md | 124 ++
agent-fleet-refined/README.md | 57 +
agent-fleet-refined/agent-command-deck.css | 210 +++
agent-fleet-refined/agent-command-deck.html | 217 +++
agent-fleet-refined/agent-command-deck.js | 57 +
.../agent-rings-focus-done.png | Bin 0 -> 651061 bytes
.../agent-rings-focus-terminal.png | Bin 0 -> 181692 bytes
agent-fleet-refined/agent-rings-focus.css | 1506 ++++++++++++++++
agent-fleet-refined/agent-rings-focus.html | 660 +++++++
agent-fleet-refined/agent-rings-focus.js | 445 +++++
agent-fleet-refined/agent-rings-focus.png | Bin 0 -> 395335 bytes
agent-fleet-refined/command-deck.png | Bin 0 -> 133755 bytes
agent-fleet-refined/fleet-command-center.css | 224 +++
agent-fleet-refined/fleet-command-center.html | 157 ++
agent-fleet-refined/fleet-command-center.js | 74 +
agent-fleet-refined/fleet-command-center.png | Bin 0 -> 219040 bytes
.../fleet-command-terminal.png | Bin 0 -> 122125 bytes
agent-fleet-refined/fleet-rings-hover.png | Bin 0 -> 272292 bytes
agent-fleet-refined/fleet-rings.css | 202 +++
agent-fleet-refined/fleet-rings.html | 177 ++
agent-fleet-refined/fleet-rings.js | 117 ++
agent-fleet-refined/fleet-rings.png | Bin 0 -> 270273 bytes
agent-fleet-refined/terminal-popover.png | Bin 0 -> 130875 bytes
agent-viewer-alternatives/.gitignore | 3 +
agent-viewer-alternatives/README.md | 68 +
.../activity-lanes-dark.png | Bin 0 -> 215560 bytes
agent-viewer-alternatives/app.js | 688 ++++++++
.../capture-agent-activity-snapshot.mjs | 205 +++
agent-viewer-alternatives/index.html | 255 +++
.../lineage-atlas-light.png | Bin 0 -> 267946 bytes
.../queue-cells-dark.png | Bin 0 -> 230838 bytes
agent-viewer-alternatives/styles.css | 1546 +++++++++++++++++
config/scripts/run-electron-vite-dev.mjs | 7 +-
src/main/index.ts | 26 +-
.../ipc/dashboard-agent-launch-validation.ts | 38 +
.../ipc/dashboard-payload-validation.test.ts | 62 +
src/main/ipc/dashboard-payload-validation.ts | 10 +-
src/main/ipc/dashboard-popout.test.ts | 13 +
src/main/ipc/dashboard-popout.ts | 15 +-
src/main/runtime/orca-runtime.test.ts | 14 +-
src/main/runtime/orca-runtime.ts | 24 +-
src/main/startup/configure-process.test.ts | 28 +
src/main/startup/configure-process.ts | 19 +
.../startup/dev-instance-identity.test.ts | 17 +-
src/main/startup/dev-instance-identity.ts | 7 +
.../startup/run-electron-vite-dev.test.ts | 48 +
src/preload/api-types.ts | 8 +-
src/preload/index.ts | 16 +-
.../dashboard-popout/ActivityLanes.test.tsx | 92 +
.../dashboard-popout/ActivityLanes.tsx | 406 +++++
.../dashboard-popout/AgentCellMap.test.tsx | 95 +-
.../dashboard-popout/AgentCellMap.tsx | 312 ++--
.../dashboard-popout/AgentChatPanel.test.tsx | 174 ++
.../dashboard-popout/AgentChatPanel.tsx | 272 +++
.../AgentDashboardViewPane.tsx | 116 ++
.../AgentDashboardViewSelector.tsx | 62 +
.../AgentKanbanBoard.test.tsx | 114 +-
.../dashboard-popout/AgentKanbanBoard.tsx | 194 +--
.../dashboard-popout/AgentKanbanCard.tsx | 1 +
.../AgentKanbanLineage.test.tsx | 83 +
.../dashboard-popout/AgentKanbanLineage.tsx | 85 +
...tFleetRings.test.tsx => AgentMap.test.tsx} | 69 +-
.../{AgentFleetRings.tsx => AgentMap.tsx} | 88 +-
.../AgentMapCanvas.performance.test.tsx | 94 +
...leetRingsCanvas.tsx => AgentMapCanvas.tsx} | 318 ++--
...ngsFocusRail.tsx => AgentMapFocusRail.tsx} | 66 +-
...leetRingsLegend.tsx => AgentMapLegend.tsx} | 56 +-
.../dashboard-popout/AgentMapScene.tsx | 84 +
.../AgentMapViewportControls.tsx | 47 +
.../AgentMapWorktreeRingNode.tsx | 311 ++++
.../AgentNativeChatDrawer.tsx | 39 +
.../dashboard-popout/AgentTerminalDialog.tsx | 10 +-
.../dashboard-popout/DashboardPopoutRoot.tsx | 15 +-
.../dashboard-popout/FleetAgentInspector.tsx | 34 +-
.../dashboard-popout/FleetRingsMap.tsx | 213 ---
.../FleetTerminalHoverPreview.tsx | 6 +-
.../FleetTerminalStreamPreview.tsx | 2 +-
.../activity-lane-model.test.ts | 143 ++
.../dashboard-popout/activity-lane-model.ts | 193 ++
.../dashboard-popout/activity-lanes.css | 311 ++++
.../dashboard-popout/agent-cell-map.css | 343 ++--
.../dashboard-popout/agent-cell-model.ts | 109 ++
.../dashboard-popout/agent-chat-panel-mode.ts | 23 +
.../agent-dashboard-view.test.ts | 21 +
.../dashboard-popout/agent-dashboard-view.ts | 14 +
.../agent-kanban-lineage.test.ts | 50 +
.../dashboard-popout/agent-kanban-lineage.ts | 42 +
...test.ts => agent-map-focus-filter.test.ts} | 14 +-
...us-filter.ts => agent-map-focus-filter.ts} | 31 +-
...ayout.test.ts => agent-map-layout.test.ts} | 62 +-
...et-rings-layout.ts => agent-map-layout.ts} | 106 +-
...-layout.ts => agent-map-lineage-layout.ts} | 20 +-
...cking.ts => agent-map-worktree-packing.ts} | 10 +-
.../{fleet-rings.css => agent-map.css} | 143 +-
.../use-fleet-result-disposition.test.tsx | 3 +-
.../use-fleet-result-disposition.ts | 16 +-
.../dashboard/AgentDashboardDrawer.tsx | 2 +
.../AgentDashboardSettingsMenu.test.tsx | 21 +
.../dashboard/AgentDashboardSettingsMenu.tsx | 121 +-
.../components/dashboard/agent-row-lineage.ts | 8 +
.../build-dashboard-snapshot.test.ts | 126 ++
.../dashboard/build-dashboard-snapshot.ts | 130 +-
.../dashboard-snapshot-card-fields.ts | 67 +
.../dashboard-worktree-launch-options.test.ts | 99 ++
.../dashboard-worktree-launch-options.ts | 112 ++
.../dashboard/launch-dashboard-agent.test.ts | 46 +
.../dashboard/launch-dashboard-agent.ts | 23 +
.../dashboard/useDashboardPopoutBridge.ts | 13 +
.../dashboard/useLiveDashboardSnapshot.ts | 9 +
.../AgentDashboardExperimentalSetting.tsx | 28 +
src/renderer/src/i18n/locales/en.json | 64 +-
src/renderer/src/i18n/locales/es.json | 6 +-
src/renderer/src/i18n/locales/ja.json | 6 +-
src/renderer/src/i18n/locales/ko.json | 6 +-
src/renderer/src/i18n/locales/zh.json | 12 +-
src/shared/constants.test.ts | 1 +
src/shared/constants.ts | 1 +
src/shared/dashboard-snapshot.ts | 20 +-
src/shared/types.ts | 3 +
194 files changed, 27837 insertions(+), 1302 deletions(-)
create mode 100644 agent-dashboard-concepts/agent-dashboard-concepts.css
create mode 100644 agent-dashboard-concepts/agent-dashboard-concepts.html
create mode 100644 agent-dashboard-concepts/agent-dashboard-concepts.js
create mode 100644 agent-dashboard-concepts/history.png
create mode 100644 agent-dashboard-concepts/map.png
create mode 100644 agent-dashboard-concepts/overview.png
create mode 100644 agent-fleet-concepts/README.md
create mode 100644 agent-fleet-concepts/agent-fleet-concepts.css
create mode 100644 agent-fleet-concepts/agent-fleet-concepts.html
create mode 100644 agent-fleet-concepts/agent-fleet-concepts.js
create mode 100644 agent-fleet-concepts/constellation.png
create mode 100644 agent-fleet-concepts/gallery.png
create mode 100644 agent-fleet-concepts/matrix.png
create mode 100644 agent-fleet-concepts/orchestrator.png
create mode 100644 agent-fleet-concepts/radar.png
create mode 100644 agent-fleet-concepts/timeline.png
create mode 100644 agent-fleet-concepts/treemap.png
create mode 100644 agent-fleet-control-room/README.md
create mode 100644 agent-fleet-control-room/capture-control-room.mjs
create mode 100644 agent-fleet-control-room/capture-tiles-bands.mjs
create mode 100644 agent-fleet-control-room/control-room-tokens.css
create mode 100644 agent-fleet-control-room/fleet-board-compact.png
create mode 100644 agent-fleet-control-room/fleet-board-detail.png
create mode 100644 agent-fleet-control-room/fleet-board.css
create mode 100644 agent-fleet-control-room/fleet-board.html
create mode 100644 agent-fleet-control-room/fleet-board.js
create mode 100644 agent-fleet-control-room/fleet-board.png
create mode 100644 agent-fleet-control-room/fleet-canvas.css
create mode 100644 agent-fleet-control-room/fleet-canvas.html
create mode 100644 agent-fleet-control-room/fleet-canvas.js
create mode 100644 agent-fleet-control-room/fleet-canvas.png
create mode 100644 agent-fleet-control-room/fleet-glass.css
create mode 100644 agent-fleet-control-room/fleet-glass.html
create mode 100644 agent-fleet-control-room/fleet-glass.js
create mode 100644 agent-fleet-control-room/fleet-glass.png
create mode 100644 agent-fleet-control-room/fleet-hexmap.css
create mode 100644 agent-fleet-control-room/fleet-hexmap.html
create mode 100644 agent-fleet-control-room/fleet-hexmap.js
create mode 100644 agent-fleet-control-room/fleet-hexmap.png
create mode 100644 agent-fleet-control-room/fleet-inbox.css
create mode 100644 agent-fleet-control-room/fleet-inbox.html
create mode 100644 agent-fleet-control-room/fleet-inbox.js
create mode 100644 agent-fleet-control-room/fleet-inbox.png
create mode 100644 agent-fleet-control-room/fleet-map.css
create mode 100644 agent-fleet-control-room/fleet-map.html
create mode 100644 agent-fleet-control-room/fleet-map.js
create mode 100644 agent-fleet-control-room/fleet-map.png
create mode 100644 agent-fleet-control-room/fleet-space.css
create mode 100644 agent-fleet-control-room/fleet-space.html
create mode 100644 agent-fleet-control-room/fleet-space.js
create mode 100644 agent-fleet-control-room/fleet-space.png
create mode 100644 agent-fleet-control-room/fleet-state-synthesis.js
create mode 100644 agent-fleet-control-room/fleet-strips.css
create mode 100644 agent-fleet-control-room/fleet-strips.html
create mode 100644 agent-fleet-control-room/fleet-strips.js
create mode 100644 agent-fleet-control-room/fleet-strips.png
create mode 100644 agent-fleet-control-room/fleet-terminal-wall.css
create mode 100644 agent-fleet-control-room/fleet-terminal-wall.html
create mode 100644 agent-fleet-control-room/fleet-terminal-wall.js
create mode 100644 agent-fleet-control-room/fleet-terminal-wall.png
create mode 100644 agent-fleet-control-room/fleet-tiles-far.png
create mode 100644 agent-fleet-control-room/fleet-tiles-near.png
create mode 100644 agent-fleet-control-room/fleet-tiles.css
create mode 100644 agent-fleet-control-room/fleet-tiles.html
create mode 100644 agent-fleet-control-room/fleet-tiles.js
create mode 100644 agent-fleet-control-room/fleet-tiles.png
create mode 100644 agent-fleet-control-room/fleet-triage.css
create mode 100644 agent-fleet-control-room/fleet-triage.html
create mode 100644 agent-fleet-control-room/fleet-triage.js
create mode 100644 agent-fleet-control-room/fleet-triage.png
create mode 100644 agent-fleet-control-room/mission-control.css
create mode 100644 agent-fleet-control-room/mission-control.html
create mode 100644 agent-fleet-control-room/mission-control.js
create mode 100644 agent-fleet-control-room/mission-control.png
create mode 100644 agent-fleet-control-room/research-agent-product-survey-v1.md
create mode 100644 agent-fleet-control-room/research-agent-product-survey-v2.md
create mode 100644 agent-fleet-refined/README.md
create mode 100644 agent-fleet-refined/agent-command-deck.css
create mode 100644 agent-fleet-refined/agent-command-deck.html
create mode 100644 agent-fleet-refined/agent-command-deck.js
create mode 100644 agent-fleet-refined/agent-rings-focus-done.png
create mode 100644 agent-fleet-refined/agent-rings-focus-terminal.png
create mode 100644 agent-fleet-refined/agent-rings-focus.css
create mode 100644 agent-fleet-refined/agent-rings-focus.html
create mode 100644 agent-fleet-refined/agent-rings-focus.js
create mode 100644 agent-fleet-refined/agent-rings-focus.png
create mode 100644 agent-fleet-refined/command-deck.png
create mode 100644 agent-fleet-refined/fleet-command-center.css
create mode 100644 agent-fleet-refined/fleet-command-center.html
create mode 100644 agent-fleet-refined/fleet-command-center.js
create mode 100644 agent-fleet-refined/fleet-command-center.png
create mode 100644 agent-fleet-refined/fleet-command-terminal.png
create mode 100644 agent-fleet-refined/fleet-rings-hover.png
create mode 100644 agent-fleet-refined/fleet-rings.css
create mode 100644 agent-fleet-refined/fleet-rings.html
create mode 100644 agent-fleet-refined/fleet-rings.js
create mode 100644 agent-fleet-refined/fleet-rings.png
create mode 100644 agent-fleet-refined/terminal-popover.png
create mode 100644 agent-viewer-alternatives/.gitignore
create mode 100644 agent-viewer-alternatives/README.md
create mode 100644 agent-viewer-alternatives/activity-lanes-dark.png
create mode 100644 agent-viewer-alternatives/app.js
create mode 100644 agent-viewer-alternatives/capture-agent-activity-snapshot.mjs
create mode 100644 agent-viewer-alternatives/index.html
create mode 100644 agent-viewer-alternatives/lineage-atlas-light.png
create mode 100644 agent-viewer-alternatives/queue-cells-dark.png
create mode 100644 agent-viewer-alternatives/styles.css
create mode 100644 src/main/ipc/dashboard-agent-launch-validation.ts
create mode 100644 src/renderer/src/components/dashboard-popout/ActivityLanes.test.tsx
create mode 100644 src/renderer/src/components/dashboard-popout/ActivityLanes.tsx
create mode 100644 src/renderer/src/components/dashboard-popout/AgentChatPanel.test.tsx
create mode 100644 src/renderer/src/components/dashboard-popout/AgentChatPanel.tsx
create mode 100644 src/renderer/src/components/dashboard-popout/AgentDashboardViewPane.tsx
create mode 100644 src/renderer/src/components/dashboard-popout/AgentDashboardViewSelector.tsx
create mode 100644 src/renderer/src/components/dashboard-popout/AgentKanbanLineage.test.tsx
create mode 100644 src/renderer/src/components/dashboard-popout/AgentKanbanLineage.tsx
rename src/renderer/src/components/dashboard-popout/{AgentFleetRings.test.tsx => AgentMap.test.tsx} (80%)
rename src/renderer/src/components/dashboard-popout/{AgentFleetRings.tsx => AgentMap.tsx} (68%)
create mode 100644 src/renderer/src/components/dashboard-popout/AgentMapCanvas.performance.test.tsx
rename src/renderer/src/components/dashboard-popout/{FleetRingsCanvas.tsx => AgentMapCanvas.tsx} (55%)
rename src/renderer/src/components/dashboard-popout/{FleetRingsFocusRail.tsx => AgentMapFocusRail.tsx} (78%)
rename src/renderer/src/components/dashboard-popout/{FleetRingsLegend.tsx => AgentMapLegend.tsx} (70%)
create mode 100644 src/renderer/src/components/dashboard-popout/AgentMapScene.tsx
create mode 100644 src/renderer/src/components/dashboard-popout/AgentMapViewportControls.tsx
create mode 100644 src/renderer/src/components/dashboard-popout/AgentMapWorktreeRingNode.tsx
create mode 100644 src/renderer/src/components/dashboard-popout/AgentNativeChatDrawer.tsx
delete mode 100644 src/renderer/src/components/dashboard-popout/FleetRingsMap.tsx
create mode 100644 src/renderer/src/components/dashboard-popout/activity-lane-model.test.ts
create mode 100644 src/renderer/src/components/dashboard-popout/activity-lane-model.ts
create mode 100644 src/renderer/src/components/dashboard-popout/activity-lanes.css
create mode 100644 src/renderer/src/components/dashboard-popout/agent-cell-model.ts
create mode 100644 src/renderer/src/components/dashboard-popout/agent-chat-panel-mode.ts
create mode 100644 src/renderer/src/components/dashboard-popout/agent-dashboard-view.test.ts
create mode 100644 src/renderer/src/components/dashboard-popout/agent-dashboard-view.ts
create mode 100644 src/renderer/src/components/dashboard-popout/agent-kanban-lineage.test.ts
create mode 100644 src/renderer/src/components/dashboard-popout/agent-kanban-lineage.ts
rename src/renderer/src/components/dashboard-popout/{fleet-rings-focus-filter.test.ts => agent-map-focus-filter.test.ts} (88%)
rename src/renderer/src/components/dashboard-popout/{fleet-rings-focus-filter.ts => agent-map-focus-filter.ts} (73%)
rename src/renderer/src/components/dashboard-popout/{fleet-rings-layout.test.ts => agent-map-layout.test.ts} (85%)
rename src/renderer/src/components/dashboard-popout/{fleet-rings-layout.ts => agent-map-layout.ts} (71%)
rename src/renderer/src/components/dashboard-popout/{fleet-agent-lineage-layout.ts => agent-map-lineage-layout.ts} (88%)
rename src/renderer/src/components/dashboard-popout/{fleet-worktree-packing.ts => agent-map-worktree-packing.ts} (93%)
rename src/renderer/src/components/dashboard-popout/{fleet-rings.css => agent-map.css} (57%)
create mode 100644 src/renderer/src/components/dashboard/dashboard-snapshot-card-fields.ts
create mode 100644 src/renderer/src/components/dashboard/dashboard-worktree-launch-options.test.ts
create mode 100644 src/renderer/src/components/dashboard/dashboard-worktree-launch-options.ts
create mode 100644 src/renderer/src/components/dashboard/launch-dashboard-agent.test.ts
create mode 100644 src/renderer/src/components/dashboard/launch-dashboard-agent.ts
diff --git a/agent-dashboard-concepts/agent-dashboard-concepts.css b/agent-dashboard-concepts/agent-dashboard-concepts.css
new file mode 100644
index 00000000000..7374eaf16ff
--- /dev/null
+++ b/agent-dashboard-concepts/agent-dashboard-concepts.css
@@ -0,0 +1,226 @@
+@font-face {
+ font-family: Geist;
+ src: url("../src/renderer/src/assets/fonts/Geist-Variable.woff2") format("woff2");
+ font-weight: 100 900;
+}
+
+:root {
+ --background: #fff;
+ --foreground: #0a0a0a;
+ --card: #fff;
+ --muted: #f5f5f5;
+ --muted-foreground: #737373;
+ --accent: #f5f5f5;
+ --border: #e5e5e5;
+ --ring: #a1a1a1;
+ --primary: #171717;
+ --primary-foreground: #fafafa;
+ --status-success: #15803d;
+ --attention: #f59e0b;
+ --danger: #e40014;
+ --radius: 10px;
+}
+
+.dark {
+ --background: #0a0a0a;
+ --foreground: #fafafa;
+ --card: #171717;
+ --muted: #262626;
+ --muted-foreground: #a1a1a1;
+ --accent: #404040;
+ --border: rgb(255 255 255 / 0.07);
+ --ring: #737373;
+ --primary: #e5e5e5;
+ --primary-foreground: #171717;
+ --status-success: #86efac;
+ --danger: #ff6568;
+}
+
+* { box-sizing: border-box; }
+html, body { height: 100%; }
+body { margin: 0; background: var(--background); color: var(--foreground); font: 14px/1.45 Geist, sans-serif; letter-spacing: .01em; }
+button, input { font: inherit; }
+button { color: inherit; }
+.svg-defs { position: absolute; width: 0; height: 0; }
+.icon { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
+.prototype-shell { min-width: 1120px; height: 100vh; min-height: 720px; overflow: hidden; background: var(--background); }
+.app-header { height: 64px; display: flex; align-items: center; gap: 18px; padding: 0 20px; border-bottom: 1px solid var(--border); }
+.brand-mark { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 8px; background: var(--primary); color: var(--primary-foreground); font-weight: 800; }
+.title-block h1 { margin: 0; font-size: 18px; line-height: 1.1; }
+.title-block span { color: var(--muted-foreground); font-size: 11px; }
+.view-tabs { display: flex; align-items: center; gap: 2px; margin-left: 30px; padding: 3px; border: 1px solid var(--border); border-radius: 8px; }
+.view-tab, .period-tabs button { border: 0; border-radius: 6px; background: transparent; color: var(--muted-foreground); padding: 7px 18px; cursor: pointer; }
+.view-tab:hover, .period-tabs button:hover { background: var(--muted); color: var(--foreground); }
+.view-tab.is-active, .period-tabs button.is-active { background: var(--muted); color: var(--foreground); box-shadow: inset 0 0 0 1px var(--border); }
+.header-actions { display: flex; align-items: center; gap: 8px; margin-left: auto; }
+.search-box { width: 300px; height: 34px; display: flex; align-items: center; gap: 8px; padding: 0 9px; border: 1px solid var(--border); border-radius: 7px; background: color-mix(in srgb, var(--muted) 55%, transparent); color: var(--muted-foreground); }
+.search-box input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; color: var(--foreground); }
+kbd { padding: 1px 5px; border: 1px solid var(--border); border-radius: 4px; font-size: 10px; }
+.button, .icon-button, .text-button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 0; cursor: pointer; }
+.button { height: 34px; padding: 0 12px; border-radius: 7px; }
+.button-outline, .button-ghost { border: 1px solid var(--border); background: var(--card); }
+.button-ghost { background: transparent; }
+.button-outline:hover, .button-ghost:hover { background: var(--muted); }
+.button-primary { background: var(--primary); color: var(--primary-foreground); }
+.button-small { height: 28px; padding: 0 9px; font-size: 12px; }
+.icon-button { width: 32px; height: 32px; border-radius: 7px; border: 1px solid var(--border); background: transparent; }
+.icon-button:hover { background: var(--muted); }
+.text-button { padding: 3px; background: transparent; color: var(--muted-foreground); font-size: 12px; }
+.text-button:hover { color: var(--foreground); }
+.dashboard-screen { display: none; height: calc(100vh - 64px); min-height: 656px; }
+.dashboard-screen.is-active { display: block; animation: reveal .18s ease-out; }
+@keyframes reveal { from { opacity: 0; transform: translateY(2px); } }
+
+.overview-summary { height: 72px; display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; margin: 16px 18px 0; border: 1px solid var(--border); border-radius: var(--radius); background: color-mix(in srgb, var(--card) 72%, transparent); }
+.summary-item { min-height: 34px; display: flex; align-items: center; justify-content: center; gap: 8px; border-right: 1px solid var(--border); color: var(--muted-foreground); background: transparent; border-top: 0; border-bottom: 0; border-left: 0; }
+.summary-item:last-child { border-right: 0; }
+.summary-item strong { color: var(--foreground); font-size: 16px; font-variant-numeric: tabular-nums; }
+.summary-item.attention { cursor: pointer; }
+.summary-item.attention:hover { background: color-mix(in srgb, var(--attention) 6%, transparent); }
+.summary-glyph { display: grid; place-items: center; width: 19px; height: 19px; border: 1px solid var(--attention); border-radius: 50%; color: var(--attention); font-weight: 700; }
+.summary-item.success .icon { color: var(--status-success); }
+.working-spinner { width: 10px; height: 10px; flex: 0 0 auto; border: 1.5px solid var(--muted-foreground); border-right-color: transparent; border-radius: 50%; animation: spin 1s linear infinite; }
+.idle-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--muted-foreground); opacity: .55; }
+@keyframes spin { to { transform: rotate(360deg); } }
+.overview-layout { height: calc(100% - 88px); display: grid; grid-template-columns: minmax(720px, 1fr) 330px; padding: 0 18px 18px; }
+.overview-main { min-width: 0; padding: 20px 20px 0 0; overflow: auto; }
+.content-section + .content-section { margin-top: 24px; }
+.section-heading, .panel-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 9px; }
+.section-heading > div { display: flex; align-items: center; gap: 7px; }
+.eyebrow { color: var(--muted-foreground); font-size: 11px; font-weight: 650; letter-spacing: .055em; text-transform: uppercase; }
+.count-badge { min-width: 20px; padding: 1px 6px; border-radius: 999px; background: var(--muted); color: var(--muted-foreground); font-size: 11px; text-align: center; }
+.attention-list, .mission-group { overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius); background: color-mix(in srgb, var(--card) 82%, transparent); }
+.attention-row { min-height: 67px; display: grid; grid-template-columns: 30px minmax(260px, 1fr) 38px 66px 66px; gap: 9px; align-items: center; padding: 8px 12px; border-bottom: 1px solid var(--border); }
+.attention-row:last-child { border-bottom: 0; }
+.attention-row:hover { background: color-mix(in srgb, var(--attention) 5%, transparent); }
+.state-icon, .activity-icon { display: grid; place-items: center; border-radius: 7px; background: var(--muted); color: var(--muted-foreground); }
+.state-icon { width: 28px; height: 28px; }
+.state-icon.attention, .activity-icon.attention { color: var(--attention); background: color-mix(in srgb, var(--attention) 10%, transparent); }
+.row-copy { min-width: 0; display: flex; flex-direction: column; }
+.row-copy strong { font-size: 13px; }
+.row-copy span, .relative-time, .mission-header span, .muted { color: var(--muted-foreground); font-size: 11px; }
+.row-copy b { color: var(--foreground); font-weight: 500; }
+.missions-section { padding-bottom: 30px; }
+.mission-group + .mission-group { margin-top: 10px; }
+.mission-header { min-height: 52px; display: flex; align-items: center; gap: 10px; padding: 8px 13px; }
+.mission-header > div { display: flex; flex-direction: column; min-width: 220px; }
+.mission-header .mission-progress { width: 88px; height: 4px; margin-left: auto; overflow: hidden; border-radius: 4px; background: var(--muted); }
+.mission-progress i { display: block; width: var(--progress); height: 100%; background: var(--muted-foreground); opacity: .7; }
+.agent-row { width: 100%; min-height: 49px; display: grid; grid-template-columns: 12px 26px 130px minmax(220px, 1fr) 62px 100px 14px; align-items: center; gap: 9px; padding: 5px 13px; border: 0; border-top: 1px solid var(--border); background: transparent; text-align: left; cursor: pointer; }
+.agent-row:hover, .agent-row.is-selected { background: color-mix(in srgb, var(--accent) 40%, transparent); }
+.agent-row.is-selected { box-shadow: inset 2px 0 var(--ring); }
+.agent-avatar { display: grid; place-items: center; width: 25px; height: 25px; border: 1px solid var(--border); border-radius: 6px; background: var(--muted); font-size: 11px; font-weight: 700; }
+.agent-name { font-weight: 600; }
+.agent-action, .row-meta { color: var(--muted-foreground); font-size: 12px; }
+.agent-action { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
+.row-meta { display: flex; align-items: center; gap: 4px; white-space: nowrap; }
+.row-meta .icon { width: 13px; height: 13px; }
+.chevron { color: var(--muted-foreground); font-size: 18px; }
+.collapsed .mission-header { cursor: pointer; }
+.activity-panel { min-width: 0; padding: 20px 0 0 20px; border-left: 1px solid var(--border); }
+.activity-panel .panel-heading { padding-right: 4px; }
+.activity-feed { border-top: 1px solid var(--border); }
+.activity-item { min-height: 67px; display: grid; grid-template-columns: 32px minmax(0, 1fr) 32px; align-items: center; gap: 10px; border-bottom: 1px solid var(--border); }
+.activity-icon { width: 30px; height: 30px; }
+.activity-icon.success { color: var(--status-success); background: color-mix(in srgb, var(--status-success) 10%, transparent); }
+.activity-item > div { min-width: 0; display: flex; flex-direction: column; }
+.activity-item strong { font-size: 12px; }
+.activity-item span, .activity-item time { color: var(--muted-foreground); font-size: 11px; }
+.activity-item time { align-self: start; padding-top: 18px; text-align: right; }
+.panel-footer { width: 100%; padding: 14px; border: 0; background: transparent; color: var(--muted-foreground); cursor: pointer; }
+.panel-footer:hover { color: var(--foreground); }
+
+.map-layout { height: 100%; display: grid; grid-template-columns: 220px minmax(660px, 1fr) 320px; }
+.attention-rail, .agent-inspector { background: color-mix(in srgb, var(--card) 72%, var(--background)); }
+.attention-rail { padding: 18px 12px; border-right: 1px solid var(--border); }
+.attention-rail > .eyebrow { display: block; padding: 0 6px 10px; }
+.rail-alert { width: 100%; display: flex; align-items: flex-start; gap: 9px; padding: 9px; border: 1px solid color-mix(in srgb, var(--attention) 28%, transparent); border-radius: 8px; background: color-mix(in srgb, var(--attention) 7%, transparent); text-align: left; cursor: pointer; }
+.rail-alert + .rail-alert { margin-top: 7px; }
+.rail-alert > span { color: var(--attention); font-weight: 700; }
+.rail-alert div { min-width: 0; display: flex; flex-direction: column; }
+.rail-alert strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
+.rail-alert small { color: var(--muted-foreground); }
+.agent-canvas { position: relative; overflow: hidden; background-color: var(--background); background-image: radial-gradient(color-mix(in srgb, var(--muted-foreground) 20%, transparent) .7px, transparent .7px); background-size: 18px 18px; }
+.canvas-toolbar { position: absolute; z-index: 4; bottom: 16px; left: 16px; display: flex; align-items: center; gap: 5px; padding: 5px; border: 1px solid var(--border); border-radius: 9px; background: var(--card); box-shadow: 0 10px 24px rgb(0 0 0 / .18); }
+.canvas-toolbar > span { padding: 0 5px; color: var(--muted-foreground); font-size: 11px; }
+.canvas-toolbar .icon-button { width: 27px; height: 27px; }
+.mission-cluster { position: absolute; inset: 40px 34px 75px; min-height: 500px; border: 1px dashed color-mix(in srgb, var(--muted-foreground) 34%, transparent); border-radius: 14px; }
+.mission-cluster > header { height: 48px; display: flex; align-items: center; gap: 8px; padding: 0 14px; color: var(--muted-foreground); }
+.mission-cluster > header strong { color: var(--foreground); }
+.mission-cluster > header span { margin-left: auto; font-size: 11px; }
+.connectors { position: absolute; inset: 0; width: 100%; height: 100%; }
+.connectors path { fill: none; stroke: color-mix(in srgb, var(--muted-foreground) 58%, transparent); stroke-width: 1.2; vector-effect: non-scaling-stroke; }
+.map-node { position: absolute; z-index: 2; display: grid; grid-template-columns: 17px 1fr; gap: 1px 8px; align-items: center; width: 178px; min-height: 62px; padding: 9px 11px; border: 1px solid var(--border); border-radius: 9px; background: var(--card); text-align: left; cursor: pointer; box-shadow: 0 4px 15px rgb(0 0 0 / .08); }
+.map-node:hover { background: color-mix(in srgb, var(--card) 70%, var(--accent)); }
+.map-node.is-selected { outline: 2px solid var(--ring); outline-offset: 2px; }
+.map-node strong, .map-node small { grid-column: 2; }
+.map-node strong { font-size: 12px; }
+.map-node small { color: var(--muted-foreground); }
+.mission-node { top: 72px; left: calc(50% - 105px); width: 210px; }
+.node-ui { top: 205px; left: calc(19% - 89px); }
+.node-api { top: 205px; left: calc(50% - 89px); }
+.node-e2e { top: 205px; left: calc(81% - 89px); }
+.mini-node { top: 350px; width: 130px; min-height: 52px; grid-template-columns: 1fr; }
+.mini-node strong, .mini-node small { grid-column: 1; }
+.node-child-a { left: calc(19% - 145px); }
+.node-child-b { left: calc(19% + 15px); }
+.output-node { top: 365px; left: calc(50% - 76px); width: 152px; min-height: 52px; }
+.agent-inspector { display: flex; flex-direction: column; gap: 18px; padding: 18px; border-left: 1px solid var(--border); overflow: auto; }
+.inspector-heading { display: flex; align-items: center; gap: 10px; }
+.inspector-heading > div { display: flex; flex: 1; flex-direction: column; }
+.inspector-heading > div span { color: var(--muted-foreground); font-size: 11px; }
+.inspector-heading .icon-button { border: 0; font-size: 20px; }
+.status-pill, .outcome { width: fit-content; display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--border); border-radius: 999px; padding: 4px 9px; font-size: 11px; }
+.inspector-facts { display: grid; grid-template-columns: 1fr 66px; gap: 8px; margin: 0; }
+.inspector-facts > div { display: flex; flex-direction: column; gap: 4px; }
+.inspector-facts dt { color: var(--muted-foreground); font-size: 10px; letter-spacing: .05em; text-transform: uppercase; }
+.inspector-facts dd { margin: 0; font-size: 12px; }
+.inspector-section { padding-top: 17px; border-top: 1px solid var(--border); }
+.mini-timeline p { display: grid; grid-template-columns: 8px 1fr 30px; gap: 8px; align-items: center; margin: 13px 0; color: var(--muted-foreground); font-size: 11px; }
+.mini-timeline i { width: 6px; height: 6px; border-radius: 50%; background: var(--muted-foreground); opacity: .5; }
+.mini-timeline time { text-align: right; }
+.metadata-list p { display: flex; justify-content: space-between; margin: 10px 0; font-size: 11px; }
+.metadata-list span { color: var(--muted-foreground); text-transform: uppercase; }
+.metadata-list strong { font-weight: 500; }
+.inspector-actions { display: grid; gap: 7px; margin-top: auto; }
+
+.history-header { display: flex; align-items: flex-end; justify-content: space-between; padding: 30px 34px 22px; }
+.history-header h2 { margin: 6px 0 3px; font-size: 22px; }
+.history-header p { margin: 0; color: var(--muted-foreground); }
+.history-metrics { display: flex; gap: 28px; }
+.history-metrics span { display: flex; flex-direction: column; color: var(--muted-foreground); font-size: 11px; }
+.history-metrics strong { color: var(--foreground); font-size: 16px; }
+.history-toolbar { display: flex; align-items: center; gap: 8px; padding: 0 34px 14px; }
+.period-tabs { display: flex; gap: 2px; margin-right: auto; padding: 3px; border: 1px solid var(--border); border-radius: 8px; }
+.period-tabs button { padding: 5px 13px; font-size: 12px; }
+.history-table-wrap { margin: 0 34px; overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius); }
+.history-table { width: 100%; border-collapse: collapse; table-layout: fixed; background: color-mix(in srgb, var(--card) 82%, transparent); }
+.history-table th { height: 38px; padding: 0 12px; background: color-mix(in srgb, var(--muted) 60%, transparent); color: var(--muted-foreground); font-size: 10px; font-weight: 600; letter-spacing: .05em; text-align: left; text-transform: uppercase; }
+.history-table td { height: 62px; padding: 7px 12px; border-top: 1px solid var(--border); color: var(--muted-foreground); font-size: 12px; }
+.history-table tr:hover td { background: color-mix(in srgb, var(--accent) 36%, transparent); }
+.history-table th:nth-child(1) { width: 15%; }.history-table th:nth-child(2) { width: 20%; }.history-table th:nth-child(3) { width: 16%; }
+.history-table th:nth-child(4) { width: 10%; }.history-table th:nth-child(5) { width: 8%; }.history-table th:nth-child(6) { width: 12%; }
+.history-table th:nth-child(7) { width: 15%; }.history-table th:last-child { width: 4%; }
+.history-table td:first-child { display: flex; align-items: center; gap: 8px; color: var(--foreground); }
+.history-table td:nth-child(2) { color: var(--foreground); }
+.history-table td:nth-child(3) { display: table-cell; }
+.history-table td:nth-child(3) strong, .history-table td:nth-child(3) small { display: block; }
+.history-table td:nth-child(3) strong { color: var(--foreground); }
+.history-table td:nth-child(3) small { color: var(--muted-foreground); }
+.outcome { padding: 3px 7px; border-color: transparent; }
+.outcome.success { color: var(--status-success); background: color-mix(in srgb, var(--status-success) 10%, transparent); }
+.outcome.interrupted { color: var(--danger); background: color-mix(in srgb, var(--danger) 10%, transparent); }
+.outcome .icon { width: 13px; height: 13px; }
+.review-chip { display: inline-flex; align-items: center; gap: 5px; padding: 3px 7px; border: 1px solid var(--border); border-radius: 999px; color: var(--foreground); }
+.review-chip .icon { width: 12px; height: 12px; }
+
+@media (max-width: 1250px) {
+ .search-box { width: 220px; }
+ .title-block span { display: none; }
+ .map-layout { grid-template-columns: 190px minmax(600px, 1fr) 290px; }
+ .overview-layout { grid-template-columns: minmax(690px, 1fr) 300px; }
+}
+
+@media (prefers-reduced-motion: reduce) {
+ *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
+}
diff --git a/agent-dashboard-concepts/agent-dashboard-concepts.html b/agent-dashboard-concepts/agent-dashboard-concepts.html
new file mode 100644
index 00000000000..6439a257f0a
--- /dev/null
+++ b/agent-dashboard-concepts/agent-dashboard-concepts.html
@@ -0,0 +1,256 @@
+
+
+
+
+
+ Orca Agent Dashboard Concepts
+
+
+
+
+
+
+
+
+
+
+
+
6active
+
+ 3completed today
+
+
1idle
+
+
+
+
+
+
+
Needs you2
+
+
+
+
+
+
+ Choose token refresh behavior
+ API Integrator · Orca / auth-refresh
+
+ 1m
+
+
+
+
+ !
+
+ Rate limit strategy exceeds quota
+ Backend Agent · Relay / usage-limits
+
+ 6m
+
+
+
+
+
+
+
+
+
Active missions3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+
+
+
+ Orca / Dashboard revampalbacore
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ | Agent | Mission | Project / worktree | Started | Duration | Outcome | Output | |
+
+ | CE2E Tester | Dashboard interaction flows | Orcaalbacore | 10:42 AM | 18m | Completed | 58 tests passed | › |
+ | CAPI Integrator | Metrics endpoints | Orcaalbacore | 10:26 AM | 31m | Completed | PR #11342 | › |
+ | CBackend Agent | Connection recovery | Relayrelay-reconnect | 9:51 AM | 42m | Interrupted | 3 files changed | › |
+ | CUI Builder | Empty states | Orcadashboard-empty | 9:18 AM | 24m | Completed | PR #11335 | › |
+ | CDocs Agent | SSH troubleshooting guide | Docsssh-guide | Yesterday | 16m | Completed | 2 docs updated | › |
+
+
+
+
+
+
+
+
diff --git a/agent-dashboard-concepts/agent-dashboard-concepts.js b/agent-dashboard-concepts/agent-dashboard-concepts.js
new file mode 100644
index 00000000000..fc6d1a666c4
--- /dev/null
+++ b/agent-dashboard-concepts/agent-dashboard-concepts.js
@@ -0,0 +1,50 @@
+const body = document.body
+const tabs = [...document.querySelectorAll('[data-view]')]
+const screens = [...document.querySelectorAll('[data-screen]')]
+
+function showView(view) {
+ tabs.forEach((tab) => tab.classList.toggle('is-active', tab.dataset.view === view))
+ screens.forEach((screen) => screen.classList.toggle('is-active', screen.dataset.screen === view))
+ window.location.hash = view
+}
+
+tabs.forEach((tab) => tab.addEventListener('click', () => showView(tab.dataset.view)))
+
+document.querySelector('#theme-toggle')?.addEventListener('click', () => {
+ body.classList.toggle('dark')
+})
+
+document.querySelectorAll('.agent-row').forEach((row) => {
+ row.addEventListener('click', () => {
+ document.querySelectorAll('.agent-row').forEach((candidate) => candidate.classList.remove('is-selected'))
+ row.classList.add('is-selected')
+ })
+})
+
+const mapAgentDetails = {
+ 'UI Builder': 'Refactoring dashboard information hierarchy',
+ 'API Integrator': 'Wiring metrics endpoints',
+ 'E2E Tester': 'Running dashboard interaction flows'
+}
+
+document.querySelectorAll('[data-map-agent]').forEach((node) => {
+ node.addEventListener('click', () => {
+ document.querySelectorAll('[data-map-agent]').forEach((candidate) => candidate.classList.remove('is-selected'))
+ node.classList.add('is-selected')
+ const name = node.dataset.mapAgent
+ document.querySelector('#inspector-name').textContent = name
+ document.querySelector('#inspector-action').textContent = mapAgentDetails[name]
+ })
+})
+
+const initialView = window.location.hash.slice(1)
+if (screens.some((screen) => screen.dataset.screen === initialView)) {
+ showView(initialView)
+}
+
+window.addEventListener('hashchange', () => {
+ const view = window.location.hash.slice(1)
+ if (screens.some((screen) => screen.dataset.screen === view)) {
+ showView(view)
+ }
+})
diff --git a/agent-dashboard-concepts/history.png b/agent-dashboard-concepts/history.png
new file mode 100644
index 0000000000000000000000000000000000000000..0b090c1c8f84a0486a462bcd15bf4bbedd6dbaa6
GIT binary patch
literal 87135
zcmce;byU^+*DXv-H`0wDqO^23(ikWmDj;1_0s@;70SToWR189p?nY@*>2B%neb+wm
z{GR)c@s2yjy?5My&hRLkz4s^PnrqIvz7e|Gszms7_-JToMCxiv`esP>3Ee|Kat2o52C}ABJb{34-`W4NWW=5&b~t@oD`>|m#u%R
zK$lLK<`yO!l`TiUFpJQmPN_a2HheV%;}oN`qy8kElazm
zc17tTR_!mNNfmHe5vcztam2Ti{rf+NaAywZfBpeM$~GI@`1cRNPlku9VubzItJs+E
z82YaAF>t7!cL8>l)
zr~M@@Bdb17NlD4dk9Qp;t@H^zS9$4Pt@p3#ZbUQ7`pZJlM&dUAv
zmIt04?}&2~?BKHz&_`196`ItPvo{A@dY|msG9|O~UeW!EPkFU5p!PhTOGkp5-S)@Z
zuUL+gwaLhGAx=(CtrX#uA`S#;bMOV5#+&P?6&lQULy&g0L{M-=Gl;uRHwJFq&{=)F
z*qtme$y;Bo?l>L5DCNbUv%bZV+N4+QzJmHjpB|K|#j^EQmHMBb9Pcjaq=~sKe0!};
zF0U!&(c)qf{#Gj$*7FBh0n;eKhd1oJ0%_@iwxZ-pRPcQu+L3KQrLsxH*L2HeL86EZvmf;l#U4|4}kt7Z;Zc@v~X|=fuI2
z3xfi4Hol%~!!xhlUVFoWgci^r8TxqWg(sj>r5ZhCnjSG6xgIz11wM)w{>c*{!?o3&v9`%xChiMBOa}C_@<9D(-5-iurIO_K`
z)(q~z=SeJE#Swlo6mFj0s+X%mbX)Y5kV-T|mEY;pj`S}sOX;4Yc%O|b4u**Cyv$Y%
z8zm%=&Gb7+E})mHGJx$Eb87f{?$mJp^k8k|+mY(^yi=`->8plau;purH#dw-KN0ZYyWG2amKa?mE~vW%h!_XQfBh!<0%ceU`A#eKu`C&-eJ*TCc?m48&;Du@jR1zl6_!`{RM&=8YM!p+5YZtxEzJ}n
zUc7iRm=}TUW>pMzU+!-@y`_;M<$WaUJl!Zd>D6*@-L$r{=KID(Ot
zfXUf<#nfVNdgSBHzo0E#BW`$jSmV|PHQWAkFL`XuWgAV+?kjgiyNKe_`t?*+#8|t`
za@pmAwB||8bFhdRytqcx=DAG%3>8?>zsI@xWGG2Cp#B^V&_lq5;rGT>Up#{xuA5X3
zH597HvMJYgpU+0}9aMVRJsB!8n+m8Qkv)5bB%tOk%gm;Ju>EH1szKp6EUk#+csPsT
z)3xEtHw@2q`(*#FCY2oOiM;7=CP`<5H@Vb_esJspp|^?dGDAQBmD1ESz{!
zDG$G?2WfR*dXT1s-i;JWPpuc5%8%;!*~c0GC1be2*d}XwIKMUnzpz?$;+;DX(H=
zSz9DEyK%nOX}|--=$B{5t|H$O`7(v9wdY?((Thqf1%+6-uMLxB&%ZV>O_uO@Qs=Wj
zT4w9E|IPtG
z9gGep-|KFR-MK1JUmh?WPIyjTVt(fQtJCX=a)Exn&*6sF^U}vXK8wlLv$M0q-V+|b
zCtNxh-IjX4hA6C+nfV{L{ZsG5HK?9R3`KDmJO2)18_v_$R9fW-!6J75^7EqsU?AP4
zN!dhJ@yewPU(H}KudV617}*V3M2b0uB9s5ojN?T0#M3c{%?4z>-x8Ha%RS-kfP=5M
z-)YNU9I=PtQ}cEwPhP;i6=CqetUuk59NU_IUG4Fw{&3PaoH4paH#}e<%J1~x95y6c
zO<(ZQw>yQ#Rmh7|r|)lWXuHO7=`dxOKfK|qO%Y>X5rDjSp19mu2B&}eydZvUq%3_0d{1mx`|_RNtVHe&9CwdD_m*n2rn+O<
zFZIqtt*QH65|25X#%m(sIB#re{=kCGbdN`DIw<*CEJuELPTc%0EFIQX!JGnoss3qd
zx{LEev$aV;!&wFW?ShLn_49=f@R45r5w-i(txgtaGM&}LDEKgZX-N@2%mAZ(e&2kf
z%m6;D^`pjY*v{cN2B^~6IK0M{#a12BpAEl$OP4$>YPfh|FW`G%-(g~7wY%73|LJ~7
z4pd(oS}_gIXU;ZIFc~G>i_wl(sFi}Ux1?d~;k13}>yaq@6+9?kPDsPwC~J+y{0Wep
zOFPY3iM;9dpOI27t>@<)P7O!1kwx_<-_)6KNSHK_0NR|{E?v`rl3sudyHXw?8}f$k
zR+s9uo4z!=YIN=F3!V@6KCiAlcGfME+GC9`I;-gmOr`+ztF=pPx`
zo%g!gP!cPjREi$OzhwFK(O?t4NXkvS%WTR=Gv*zpZap{KUQm^0-Y*|+S-O#s_WBDi
zv)^8I$j^5{QiFqej7zE#>M^P`dc=e0e&
z$+L4r<@v$bB_cY?;!>y`a9;Ai
z$BU_64V$&Q(ToaqTL_$a=NAM|I)56NMTy9x?*yES-G3{8hhSK!{fhaL1}`AQyVqQa
z&V^-rDuZ!+X7#E}-iWZ%nJ{Lcv1M|B7yuOYD{oW1!p#ECzs3`4!exTmsEwsxpns*>
zRLAb!2hPlkBnHG~S}r&iKrl(UvSi!a+SI2}E6knc=)O9H7na;4)yLa5WAQvez7j4?
zpVOyM93x7PIk<7ArH_evk#`MD+J+~~Y=7|n5AsYc}F}{D}9xYRv+nSZ
zPe9?!zB_X=+QlgO6u21AB|;iG(U`X9WdXq4uW{fDtLmu$0_%uT@!ZQR%!zx+EPD|n
zdr@q6iI_ocI{Z<10sP^9gMZze|2z!^D<@|tYf#0Mzwhb6dY|+mgCG6Ppj;??jTc^k
zl+-s2A95w~81PQJ$#Ub--mP+d#HU;qbCH`Y_$cSR?G2lFs;HCy`q$qy>dwYhq$OVr
zzdosQT^KE~>Uc>jRNKe#?wXgW6w4<$!b+&*Nv2g$`;DCHUgy5`gRdUKCFnY@ma%5y
zInk!WL6XoxB6HL@q)x{>7`}JA%tkMTczyub`tXTNnmFA0r_nS5%_u02qxD&bO4?tf
zl`iqKftdj7a53-_)BD@+dI55p38Q9I#+`)JNN)n@hAsA_THz*N3b6^oL+~_smJ3FeUHOrw&M7by<4%f$2_r$_#oWrA&&KVXqfL$7vSYmS}
z0+#A#E4VKtolHilQU6Mr8^y7a1EM13e0ZZM`jX;-QuYscZr(n_Mxw(pueKRqmsl8(>{dJy8!am`niSpg
zEjcB6D6J7jgect`{GB(MQg)lq9F^`_T`Se9C!@d+ZAdXHU5ezZ4;R(^CO1*-fjryQ
zAy>nl91M&8lli;QL=x)xu%Y_C{$P~oq*|y|rjYqawTIp8t7o@MDb#JY*`7gv7$iC~
zrHH-cEq%WCV=@CaSp--r(JD4}%S$(RQheF3sU4&6tDZ1Z3%*CO|8b~yQ_pszZX~_Z
zoK~6H8Pkk{c28H0!87)f@3C~%)Lr#C4z7DTG(_#TWzte>LD&Re$i~z1rG^Hn&7Q@!
zr<|xi{qb#!(8i5hJv!W(w`NUn+_2%k<29;W3Rp*0nTR&+iTA)8k*FnTCZi6utCbdxgcfMmf712)jkO2W?%bDg>Qa82#@|nSc8%DN
z-=o&)hIg>T)LNx?hde
zar476mDl(~3^wW*62{hMRicQfC?aWfCE%-S*S0uTJcGgI*v-@4aTj6Oze?gf1BFL&v;OXe&YOuJASRV
zBdSAP#hqmr{I;C!DtjK-repCp`|kykSDhEb?ln6^bUW}SFBexTK>tPkde
zW4G}4I`7*l*&pvLtZ`Wm+m~m`EpJo}!0%X7Ni)xs=eUK?v5d8SMc9dD?2gfTpkZTp
zwP5b8u>w{lW3pz#tkz97Ty!>cXU|!C^c|&Q97fLrqS&V1*1XngoBpi8&)PI;CP!N$
zHt6AnS!65(T(~M
zV!M>X*fr#Ovv~_bWl?UFMW$(q-{x@WwvP10(VWtAvL4`9;?&fXG0#^>UY3o#i5`)^H(%vi)pVPN4q1+taz1`>J*0Y;|PZAJja(Av==%Y4e>}
zmvnGTI|3NhpCbSKTd#BU1yZ6~Y(EB?%7s>n&E{aHTW-&`p-VdWUZhf-^kDn9TtG1^N{^x3f
zD~!T6x&TQs=Xi;3=OOe2L^O
zPTM_P*4F&zH+YizHLe~BIgFOcQ{uW+UD9M{xPyaM?9Fe#C8vvTuZ`|6d0rod)gLI>
z9Ecqv-SQqM5P9;aDEecJGb<)$`632uR;@YB^wwOci(u&GQ$593O!f@8G|G+4i=PIn&Lnz}wCHumAnjuz-h{Fpr>yIxb3qu~y
zys{-6bY|BNtDVh{br^TzyP*^}uC~0-(9P6dH!|(oF3X>6zwsgQ$+&jFhZ3%m6kzpd
z8M0NkGE##(82|kI81_nOKDab8>D9V@mSfU90`984qADg|x2$Ii4^CRJbax|FNLX1?
zAtLJA4Sqig{2#n##pZ!gQ5ODVOiBz)w5ON}2}(igD$y=xmYqU332vYbF@F?>p6QxA$i&9*euoDjn#SuFZp1(XiD_
zp#4HFqWNZ{me*F(B}UH(9RI_cXNJW=QX{3o8@Eb48mKhZg)@^pQhbA
z>Jsd*f_32^Wt3i@%O-Fc81_{btJ0p><|o8!O*oIQ+=Z6p-Ri
z$?m!6=lh^0@|P_e36$X?#FDn#MPx#_{;=FlYP8VXQ8B~qIpxUlWba7-KN~`4>pLu!{-6*mz7cC%*)Qw%Ci8NISLq)qOL_@9
zfAKEnFLnMwRguZx&|(U>-gF_%od~hRY!_V`$BC}1v>#OJ#qlvVw>&B)HA*0SM|vXr
zn-op|H(X4RHUAjvp6sp6WePc-?R@7GA*Lfv;C0IJOyUu-9F*Mnqej>)zR^nL#D(?U
zNS!#eq%J3ju5DLgg8wj+Xw7;^-H>LJfs0nnG%y$N3)Uz>H
z^g+QM_eO0a4u;osI#f$(tbWyU7eeDrOmtc)8akcDM0OJA%rFhMEt_MBbOZkGn9s
zFTR8oASS#`gDN1+mXWlh^)3FLCt~lXmNt7a)J(-h0P}rPx
zLqzR|8^ejlCRrPvs()9GSvF=V_R^#m2`>$>V9W)5KrxhXrfFhj2WY*_{?KjoCG)4l
zQkua_vn$0J)#%}~!u%O*J~8?j;hdp=BH~z2qjqyU|1XvM%X)WkVPCyOIZ`
zj|m&*e5X|g2Yfm4m+n({6%)zOw-ctbFkOH1k~-zL!KfYeb|L!8rq1~o&IE5XZ4SIO2Ju8P?w1^uNW{6a+e9gT;^S;(j?OjDpRH2n;V&oQt%Frztm
z`t1@Wr*aTlRayt7zaC*2Xgl!Ei3-h(dKO2=qjp7YzMPzPAiRNCa80JCpAvjhAvUc%l>g*4&6)N)zqkafVi&HZYj5Eq3|mN9wySpxNBZ
z=ehT388_Cxp9n~J0`ahK2cZB4a|RiXU4qM^Z2<6YN2pgDxUyC|AbE&pC*+oW-_}Mq
zDK>A~|7{j?;+RQvz%1xM|6rniKryB*nbUksG|k4LiYymDO&vR%?-+E1bb=lo*>i-v
zqNA?5!%4n8ah46gk~zVTVT9)9`?|%|N=A`u^`EQaCFI9^E{>O`eExjCI6uvO7_igD
zmDffgCPfw8`<#_~^TW=<_YR&nZgj3OH+a6|N$H{lCN(ntYisPW2eS@nFVoFe`_)6J
zhml$)N^>k%uTylSFWmb5*v)*~UcgF962J5t7O_ewO;wXmi8!NwU`xwe?djRkRDuu!
zYEH|UXYIr_xT0&oUW)_SjEH(%I!ac)MPQ=422~tku;F?hL+jP!@I6(O&xIIC!2R>X
z-8mH{!qYHq=EH{rIm+{LwOnKFR2?_zX^M7C5$acemWw2dMz*?4NxO`{{Q6sy6ju#5
z6mg@EEX@R+*@#G}+&W67R`>C(H`lvzJJJ`sEWeQx?ffuBmwCsJ_vGU2SaibucDjTI
zh@Y{qs@<7%>F9-R_&rwdU`2~Kj3Sa=HXca`1gw>G@Z0sJ9L%$yCDWAUQ&R1_
za9#NJKsBZyn7+G`%&{t}31k3loAY5jM0+LilDT1VU?Tl=VMk;SHjCUEPXhHG^@*LM
zDnmFI6IO<-g%3GSy|4;(usV(J-e~J(Og__<4u0`0kTYKjk*S}!)cSN#G1@ERu{~Gp
z^dozKA?0?xny0Wb=;JG|>j4-ThwoDC9N2=VY94dB%x$EF-c%49HmLmb@`5wLmi
zOGKkZ`@yGyaB8C$ud|$E7(H8i-;Rxa`Ggm;a-(G?Y^UXROL?C0-4AynGB2xtBRLQf
zZ9d?nC@$&q@b56=Esv^T*c7KU)Re&|S(LV287WJ`BnDkJiRLyyA^bjOYT<
zAc{de4#UB%s-XSrlb;H0c-w;sq!ArYTw|D|pZqR#&&qQn
zs0DRV&B>(ZX+C3KiPvV`VcOB+&iZgkOZ6MH#K~SIMQ>=Zi#)SeXl4CtJ+5J?eOl{L
z@n@T4ch=pFe|nt18?2pRV_uJ?sg^yLEb7E`faS;UE$FtW`I75Pr=SBU4tcTl_>yxU
zi|TXKJ@hF|tyTCm2toVO!y=A<<;@E;v^-ZTYs|66p*5Tgbif7K4@BHP^RcR4DJaqO
zMiTY{9ve=zN|9-u%`ERw^#?dpybnMyZxg$9xG_p-dP~pUB1R>CJVm4VRZRX)2}7LNNl0S6uZKb5+W5JLF?Xb@yc{-j=w`4`c|!H4V)&bf7T1DR@1PtVUon+6^^+c-VT#(L;_0d0~O7ZURyYb)u2c7tFnaVbg_Yf
z0>V~w-*Fuou^;)nr&MvESWQJ$HFp5z+nJASHPpr(2aa3q6eCx5LV>&tu%wT!EemalwC#ojYvg?86htEOUN0
z1O#v;TRSU-AQ=nHn~gI^SlqZb-h0lNS+eCQvJcG9oSYQU^(-DSgR3=z_MevH5+NY2IHwptoVk8P{eI`EAh}(;e(~k$Kyjra
zpTeT^xf4Ok)ro{H0;+4Ruc#(vT9myyZ`%Eu-?&h&kC62gmtBe)Bh%^A1qYRD27J<%
z0Aj`d%AWCbM5f0z{A@C7`T|bp>-k{cvA23fy2o*G@E=JpJAdIx8^%#(FHno-r@+wS
z5GP#eZ?a6iB8>SSyox32%ov%IPT?BxN5S4Z(7t8CvomZcvUJJ&(QU6F@sBgNOh*ze
zF%NQmblp-xF}AErRWfYrk_>K%Ih-8D4s54OFJ?
zNN*sWW(<*y_V_iHEr8wNZ`r>ewwn_r`;#zvxcMrm*4tqeo7bFX9vU2#NH=toXt^T1
z2ZG;QV5s89)7Y|aA6F
zU0|IYHf5OpGSk4}u!_4C~{HH#YtXQ#q`L?0te?ONQ!3=M>9|6kUU{uSzv
z?SY!+JZ2m`+r39Jo3w0`qnEl`l|^JH`k+TFeb_b2F_Ea{f@5W6MR9T~8sY&PDlc5f
z@EJfO;!&_ogEcqu(SUDr8OW@e_W~6ih~wW;nitq}(`Sih{@$R7M8VhW
z&yoiN70&nw1wZCz>%NTB!%Y%XtJfOW?tMxUb(#dxS5WY5P=haT
zmm2?Z24{nU`4KdMrEc1P7DLgdUZBO_bs{ea6xL?L-6nh6>NXiz1m=5cuDrNEFx3GJ
z$jL}PT?;2QXRa44tX}=F`tu_@TkXl}$NfLQ```*UPhyft6?<*Zf@|{(G(M4^Y`5QP
z4t<34<*SDiY22OgITump8^Nd=+XFvwBD
zo2QDq2d?C|*F0k#Ea5-*R(_;{(9t~D5P*c{oFU@U&DMXd$2*vo2qHZ$Jgh4obNVcL
zLSmp9o8_sIae1>ib46Tz@P$Jk+Yt%rhjSi&)=OIyOAYr+EUywTGnSwA<*CP`VmHv9
zjEt5tq)2$I0+%eToWY;H{8>nl$)~0^Ay5ltwA6(qWGePC7k2~+bhAf
zPbO=R{}eT3^pD0%dTyX>_F>o_W?&9}zl_H2+KA$^K{>Y@$iW_iw9Sn>?@5>91F!O>
zZOzB)=x2&&_S@6Zmni%xFesWF%-0}O(qD6vhhqKL=CaY{v7Hv?#1C=E3@Z^$K#*oY
z9mRGRIk1+;`NonkvQ(8=i~M1vBI)yQ#0VhNf!Z%y9^TO`$~euV=Q>lBWhn0gbV
z=XeR!0QGoINJ{XEh`d2gX2TU@aj1oc0CGuPY2reUM(-8b4814Q*#n1abENd0?A1+(
zFlfSo9UzNllzjZrUJ4>AyGwmVhF`Cxw1FDB|3gPM+mc1%PJw<~&9iR_+)&n=7^rzU
z4l(MBfQ3!6DZhBwmr*?Klq~eavJ7{oONv^M
zQ&@&fl2K7T+AL;mBK?UHthU?fL-45vd9JbDl*_Lis*Z~E7;%H0T|bpLFlMF!xVFPoA`YYD
zHo=pX^4^(;J2X~REbV{hl@JaN7$JjL|Kz1(P+sc3qr7sb8dz`GamA#qus%j+?|HI^
zxCafud$XO^Wp9z69IR{D<5{c@6(lGdVL{H0_30G6as1IIlbTs;gDj*&YxvIZK#ybKdieDZ}Ubhjc
z6VDlym8m&{8qK3@Y}g;rw8rxJivqP1X4kcbzTikJr9vWO
zb}*2M70Sm;1KXTTQtsdfmhb7sSXi~cLqrNnb9A*BHD9>cd^^N&`cB9!2@Q=6T<4$y
zMYxQ22B=&(XRZ_Bak+3rHKM}--vB&>+t%kaGJrzhOxb|h)`)W6#VcxHNAJ#e?H(^>
zhI#vg!UbA_=%a6x_?d14@+C^%Rh47JWQ1Bqff(3FIy~MbALjOGIbO+_1AU!T5Eov?
z{ZzK{*UJA8TPC_W$*#0xv8iO9k$!iAUn*)YFVf9LUgo|dBG-}TesL$m%MGqY4=Ted
z3NCFH2ac|O-#Ex+aNK&(xP3&c%-@Xujqz-x|+7S(G9Nv9dZQR(h
zX#CncADcO~EuxOAQIkpylOd
zlv!4;lP-~Od+TqobWz4dsdd4XjG7
zxvVaK{}F&zNs3(TpJEEsdHa9*IrhN6KMLxFWHDI8|EDjqg_6(kU%w<=jq}?7CqtWS
zaOeNkXZe5kt^Zf=mna?0#+k5D5XoCu=
z0*oAsKReoj2o#gFPce%9fN*sl!IfcN1EDJrLB42!5!dsVnpewe-4z#NM9phV;}I+k
z)sZ!od9nL@vbE{PA?7nA-hhi~#g=XO
zZGV(#Qtr7qiOP5)FU}!5
z1c{^5+AQdXnv#(ay@KesQ_Z?aYXYQTV$RbgJr@H2Eg_j16V3h)=DVdbvjtZ2dXP1kos3{S-w}9eS0~Kt|l{MZYZv
z)>?-5Vlp5)%B=3K3N~*-qW%Ptq*O>bykb>^(DU)iyG)$0G)VJl%fN=k>|+t
z-KhG`*N`ThA>r|Y0wi-QYxqz6o!r+D?)2)4yFzvCP9>-@bRzbhcM)sp2QQrLbZOtGTgewT
z^fnBW{vA}h8}+A-W2TkP*>x`zjv#t%0-3n*GYE#y{bx-h)K~*C`x+q6Ztq2KH-XQL
zN!$wd7?etRUAZ+HnP*-QkvIDKWTC+sQeoTmIXe(9cdf5@ubSi)`BDZ%X8{2LbXD+}
zN1@q(4nPZ1PM#a%px`-Y$P&6$@_xPW0dI5*as#^YA-$F!^JEiT&_@bL}pEU#2u{Zh=vSBUoz{PE*lY
zq|P%a*Mrh>?1EaKm{DR6vR2sdStA|-hldNN8kZ#FC-H*tOGv$<7IUUKMC-p5RM%Gu7#)zb_>M&BHm1MizSHoV
zqh%l=(02mD`{D9Hi?&?(aIr;jk7F^?z|=dRx)a20JNl@BgHhoAH
zmcI`7aC2&^YS|0I54Bi;?@eTE=nx{eTX+aLsecE5@^Ed_DJ{VKfs0VO{->~}Hvre9
zk$9mqHWxZAIQU=A;Ye=t9s_2^
z8bk|RT>PS#bg}jW=!W9KO!r=RZBR?G)iniYIPEU-ZYLHD(v(ukT|jaV`H85u9!SBL
zK;{hD0Dmr-4|fVs5;?h`M9_MZ?HN>DQoA5*jPVuNlfGSTymGh{<3p0!kirJ|Zw}r!
zyXiDp3!@@_;D{Vh%-|%BxtQgTKsHuObmHM@Uz&LE=>$x1Z7K}C04~6O_5QdRdQ>hH
zh;n_Lf$!;(6`rmn)W&{%Wq@JQ+pQE*ECCNY8s{k}si7XQ5F=uPLPj&kRS8OZp6G
zq~wYS8a~d4bYH%Mdgwqx()I#=Lf0>w_1G;)>g2jW5Kb^P?dtR0m{Zn-8rQ6
zw?Jb$$O!RdzXKjk`EUl9o--il^TPO&XK!aLyUV^)-Tp6BXkIJ|bdWx%p7y7oD<)UR
zDvBJeza>O;8l~xBk^XLe`R?%3If)&d*gIHbDo^F(STZK9=){~^f~En^L3JC2peRL_
zZ0JL>zM*o+Pq$J$3>MrhaOEHx2_j+&^jwF631uzSElOx1Y;AR-#uKEWShAw()oWZb
zGT>^m*^k+7uZ5?!(`w3!o;JUh^2Fq%OUK
zq?>;Xof8rc?Ote67zuMUJ}C>j*v2XcXsC)?6Y!I(1@zC6FZuU?h4}cQvT2sfZBZ1j
z@McXel>wrFUkkrgGMT~meE+x0QC&LLByc>W0{v0-;z=lHcb*Hz2cngoA)-iiK(CRQ
zVsdBkXn~+;S&cbAwzPg&W)MUt$Ab5sXKpt1*9-t~+yyg&~O`0;M3Ki
zF1*=v&&lnxXFPf;ppHvhMDw@AEP2aSgTkUX6LWZVHoRiJE4*UdHL_wC&TlzUgZ^WK
zbh|X};ZEuI^xDl?vOcRgFF3y5T@C%4L$TSyEt&&xm`vsLQmU+cIkN=kU|QHHG}y(~
zNvE+JBL?=y_XVD5zUYgKW&%Dh;seO!(ViXF=-V(v*E}f@)oQ%I8RW_MjNMYwx|hMp
zuLsp+nAVNf+*J2k$xjR_n#HnQK3A%-=pJ`5v#31XsHr=LDMOWvt;OflkEh)Fq_v;%
zBQ^s38r|-pSS-NFsEFwy0J>TTwY03wcCo05#^h|ID~|C6rWFfd?&Y3pwa?|4H-ADz`V*{O=L6j@c07?hlK%E=0{c_E@fOR@%Zx#)Xm^!?-4~vc2>Z%_6ISRoi0<^on@3!ikoQ5j$1B{3MN{l|4oZx&Z1;
zUZvnKGyiZyrMNg(jIcTF=ZED^)hlm-y^M;;^yMf=+K(-g89yC)bU?8wVXlW3?Bb!4
z^zrV;#dYqx9}*ml{q}z@PVP291~JXMjmjYF*6;wZ-I>~%@Oz)`54`axuDRpB?faYw
z>hJEN;B?Y!s0S&Lp3OkwHktoC9j7KDWem>_$OtJAxu8Xdc#K;Vz+dVN^l<@u3{^T8*sY^IYP=n$yxY+V8};*
z1O_HQ0N;;y3T6xVQJo{vCJz&2yXMlsx!O&T_MDhS<<&QNVV_rF)D@Q1pwQUXcW0@O
z`Fcwe+|xCOF&?3Tfq{&{JzyhQdg-QZ6wPz~U_Q9T>-tqRpFrgErV7I)+{s^)Dt
za~)HRix@s`^M>-h1_OETk**iU*I!b#ALHv5r+Ai
z^6lvQvmK4G_Ddi2azo!yds(gcJKu9T8o6KkII6-Y|AsTJSa;>KBSUB~t;(1aJ-}PP
zNaS>ONq1{1VyOkywY=#w?ZyS%aOjWgV4|xbo^Y*188v$`zkc1gk{^lMk4RIH^vKw6
zC0reVSyZIu$BPOlDYc-v-k@zhgoTFG{o-Dv%Cv(ooarW>V3xgM9Dh#C{ll80uqlX|
zubd%|cR|x0Ylq6WY?go1v{}6JC| Y5~E
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 ElyH`h>dO__vQa7#sUJr;|75Ii7Rh$
z=%=(UhGTLWZVi&511V&S)(Ib;UX0(7OHsG5NKeyXzcJS`zT1sy2j5e{A1R@XqDlCTM)hc!@c-=bGwKjA3)
z4HAioRX31%Y>B40(Esjny)mLM(ozeJ5D+F*`-rFrNOJhSg~C4~*;&^|e8Yt?^t_oQi#pO{S9b2`M^EVcQlvb$bSll
zwE}yQeF7NTtdYq(K`dOigf2UInIs2
z(bFFa%s8;FZouo)s`vi2AO8LI7tG!jO{NRC5^{}k)F=sLyJQ{g;DF`NaZr+M074k|
z5U`lTG%Ds`OV(|+(1gYb+5d(Lq1^3tEr6TiUm<0bD2Oe_m@@zK1dpR(8k)P{Qg$fJ*CZ+F}0@Yv4Ptj?y&(@j_d}it?M#V7?awLE@~~_2OjQ
zWK3_Umbc-d2pAM<7?*|Kq-XCI_ak*U2N>nNoqz$@oDwjAgC-G!srTCCNAFfX^`Mx@
z2cCcT8YFC4$NTi&7aQ{M7BXnYo|bB^gZ}-|To5R~u1_z_ddva&6}GaFbj6N
zYl;%{X7*|UNkhO6-Y&?o$zRe)@4@BjC2g}Ip>RncE?y!@rmTSaasp&rcmFD_6Mgwn!
zsY=sA?PlBO>ciCAsc#?2TyU9nx@y^&aZ?SNG84AVfLK2e`sqgE#ScG#2*4x$9O0Z1
z;2V3G9I@Nmiv_m|PWM;Xa>N4pM0#QHMS7;8M;D^Gr%FOl&O7S%h^r(Zp@PA^Cl$3@
z%sjCV?eJ1L1y-=_T!vZlvt)A(0T&?s5?|`zSGPjN*GOfqQHhbYGzdw*6-Hsi^^`W_
z_qUJdW%T=n^<+jOw=08BgCtn05$gmk+Y#ERvp+#v=_DYMs=-Bgee38V_R89n)V^^b
z)Id$LD_g`{>7C^QD+ks&H5WPKx?uEgBDPheDt{G+aEwBJ<|@>MMch2`k8$=$Q_5%%WG2Ng8Y7?)HTeN}&fBy}
zc{$wJwq#bsIVLnlWq7o3j%et4!to_)U_aH!k&wQZRDb6)S@?vmQJA|wR{K5s%AtCO
zIsHCWolhuE0+LqLOKZ_*Zo_I$l_U(rK4x*$S?vfccalxM+P>`uhToo*z3
z5My?Be~5b{3czy#rtwd{j0t{uG9F>XV#N%ii~P~_C-)E5N!(g~^n7NJw
z_JrqSKr
zy%o4wOmCo7Im^dNFpn32=2FK!?B~m$rJ3y#PcZgpK;7b-#}-PD?B5gW+=jz;c?G6p
z(-!}`N2EQE_xC}mlgyF8z2GyKXhn;svTVW(!Fa@h^n)s1chwe_nBH*me9UecX_M^d
z$m3>s87meXpZU8-LxmSjmM81MzVZVXzes?5uL$OBnHRazXM4$$vO^J14!v|jewoc;
z=1M@C4H9p+Kr59!PZ7k}&l#7vfH~^TuA=5X3N|w&GhvmXo=yH`kTUM{<~hnNhyE*X
zRqe6@HD|w_O!VfDekyx4l5o087*d&avt>Lury3*q3EHn(0_J&S)uG)zI|_Vj!sU?~
z-bbJWSoy@8)y2eiF49LN&S}pB5U8J{K7E1b-}S(uB;bts{(atN;Vb7%WY7Q>?uYbW
zzQTpydBZ*fYBw%A7v5#|QvHJur3}o-y%%p=);g)ig@3CShwR|oQ}xe^r9ZT~Oo-R4lQ&YIv*`11
zjG1+N6n`^d;Gxi+>y+u`Ogi`$vKu#R&Nc7t;bBI{EV7}j(7?}{}2&>D7qITC>
zHI%~CnBJamIP;fsdkmJD0$Z<*-8+w56$Py>7Ks?>r*l2rxkDm&4d)*0-_WEX)t=ql
zPK=p5P0mk<_PSP-_$%oM(Wv-}NR;-yW?@pGGrRsm1m~n);)(1E;n3`?g!R?*bdW~Q
zlCC6Yqvw8VWTf+mjW`MIlc^PPqQb_C2=
zrQJ+yr-Unv4R)J0uHn%!ZK^-Wj?+iNYm_oZAM~a5k0-U60{#DL7xmW{tKE0-6jNL0
zg^yGbZG0hqfECI$`!r(SnAPk7xaAVtLcKMY?2Q2eT2Pz_+rCr_^E`k5TnY!eATmWb
z`y~Z-1;va(931AH<(WgO5=Y-H)6BC?!jaZMt1f<)DhrK@LZd|o8J=%hpL>=yi}ICQ
zB#Gseu4HAfy2-61C+81ZZxRW)jnNy;g*-x7u{=sMtOJA;J^Dq-cBkf^{6-|#Qqb$_
z!;aJOrzO}^FV!N6()pvN7-Dy@d+m`d0}3C0UlK<%PY?}
z?-X=^N4(il^=NV0W8}20lxXjX`s%7*^(D2*66d1!ujV8dKAt3b_%q#Od^|dDP|i8Y
zokN@WFmms`rhmYgt<8ZDI-OOC146zVglFl}mqVnmW!YuimN^;AJb`LOTl-is>L66mFvi60VaHGEaTi6fP~A)ylf1m=saQCFOg?S&7<41vJqe
z2;|p2!S(vILivi)PpsA}#&-2!`-Q#40l;Ys@Jw5
z(;9&);4EX*wh$gJ=Tkov(jHcAn@z^j89rAAr23rZ4KYt_H(7OJ$Sv-J_y+rEI%<2|
zdR#uQzFl+&2*FQ4UIs)eB{A;cCoSH}Du#EfQw<_qSqZ%U9LNaNhvu@N)Y4x6VX4Jj
z#WNoJKAu50gdPVu4^WgOpC|$<`2u!U=dOmxOf`g?t(5)20)SA5I*@Ge4d2!n;!yw<
z-30@yebUEgSJM(YIP6C=`s`MLKy4u*6BBNPRBg{2FpWKI=z7n)NJ+3@uqUZe2crt8
zv^u|O)u_yGZBV)sU=E3-Xm0^kT3Inh-N=QFMIN>oO&~-_X!NXMrMxr`kjvH<=Z=LQ
zZ-)`UdVs!dubGWCuLb9WQ+Xex+JrBWtbKv(ognSh=A{lt5GTQK*hzIAeuXjmAV?L%
zkGqIw?5Aaw4&UhFlU4c)6$YJ1C~;`FfvxE9+M^DbD?4o*b{>R<5yeb8s>k?V#mIBh
z2kqr~hw&IjHiTY_qYnK=-{=4Iam!UyNJ}-Q!KEU9(&6xoGKa>FPW;Nqrr<(icI3T}
z7cWnc>;j@n`}=`ozDcDNJ2NA38ii+oDh>;sY+{iCj`l+&q|@W9J_S4K&e(XEdgbp+
z^e1&|8#(JNM0}>yKEkT)xu9BKP|^z~XlHd%;T^A#SdptV4$!NJ>$!f8y^d#RpW|I7
zity&Mg<({o%jh@L)Nno-_V{<4CL=!_L117QT*bg<;md5H$F=ZlFTmS~y6KE7c1unW
zUSYFP#k@5OzV8!RSH+hbm)%I74N#IcgTSG{j`igC{v22do-A~Ek
z5PPHN@G?kd!$7T9h)GKPiohxqA|(D3`aD}|U*pDN
zOykPKwFe5w>S=dbZI?iK{k&Lue8frNO~daY-}OWoUWRhz>2PM0nHWo1?l9P#vHI|g
zI-KKvPaOTXmloxeQ%+d)LZGnb#y#*^SI-f#zR77`X2QWujz0%!CgfAThf?uW!Ssre
z8a!V!&q{X(^=$VxcJtKIyq{2Ze#c$?9ZIhH#P#sNw!JOSPLGxRjhPlE^_zebT+ss<
zRcV()xBj~FGy7(rfVnT8N;0^;EX->9a=x4F4>^h-IPl^W{g`Udmge9kjC>d|Zg4x;
z{x|^1WLII*?BsrO#?BEE&MAs>BSgRH<_OWi2`i>O*4l?FXdn{!)->*sVKkr00M1;p
za2#zDMUK`XLHL(k%E+CC5^At`BwvkDER$Ij)QsK%jx#jnf$C(`is;tEGJV+Nw;>
zR34UMpfDaH%UD<_Xcp2q@W#Q}ysqEyoGWPZQ$B4p|1y#nnpGQa$Lbu_PFKq-IY-NH
z(w2S0Jt8JgAkZ2Ue^Vrh9_FATTN{`L8_gte74B+~9&TeB5;mz;q-0twU{lEd%7~M1t!mKY@OCRBbjeIkAO!Q;?8J7?pX08T*X6D#{UyC5`XD68vq9Wnvct!Ly<+A|&9<_@D@y7Wuo
zmsN5wbmz$3edO@h>*Lkqh>cnctrS)swmhoU+*h(ZAs<8CC!GOacYQmDEb^1l!
z_?@w*nOirVwc9tsJn}lS$2ih7tsOn46uz5p_|ut-rp=$CX_|>!n753J$TCe5e@FI3
zkQ&}pSExCccqt+}q~sk)Bo)r~+;z1X3E4gdeZ2UK!6m@G*rH@Qv$48`HFnSyWwq8Z
z(rOQO`5y9%v3~{gnciEF8f!;hPx$@N%B@he1t3&tvK##f6Qn;z=;AFa3lpg~#zdBc
z5d$=gX^nV24u(jewBFN;DJ7)GH@IATxW%qyt>z$jNou9L!RCrN@zF;>qzZKZ1h`26xkpKB@{+LP_b`Jgl1Ity}#(_J4r~
z3k+|$Ok@09_-7Zd$T*X<#jB_>d~ehb7?%hQc|f+l3JE-8)SGi`zOz`kcn)~kOYNq=
zrnb0Qd^SQ_q*X1$7D6WVzN=UeMkv;++){aHlr5F$wg!4DjkAw^z04gv74FSP;UujN
zbKJhFwnf-@W3_QVpZH^3PKgCODK6Vzo+5>%%tnSD!^ce#ZgORx({Qqw?GHnKFL_lNnRT8$oPQ{e2K^7?b*D<+%oRbnl}HL>UfWs
ze4@Jmw;YL6uP3%gz4AgA9Vt`!-|c356!8?TCM0S}qWOWS>HfV*gg4W`cA0LZh$k!l
zj8DCQw-zdfLR&!~G=thupOtxo3IHo==BvNd=z-{yfit9{{;1eaUkmqoB|4
ziEG>LVyW~HGS
z(6qK3se!q|}G|Ds1%|Fv9op4ESqgT!tJ`{+ukn{O|S
zpv5oG`91m(`f{r3hPKh{o19K3B8m;@Whr_@Z}?`1lKy-$F644!Cc0*Ns!0vo)X!i5
z6od>oRV2+RH-IDK^w(Gh*4D-|je?MxOasNo|A9YnNCI;1hD2;Jy$xbIBd;uaD_Q@D
z?GkYskX^XbbcOA$)H-ph2I#Rdr_FCIswPqRBMatF5)9HFZw2A(DCkU%s-bemH`Cn3
zNsGM|hJ2%wDSY~-BJh{P-^YCG;t@FF`4X=>YbTLvEnm8|uTL~^75FvIjqeGXanx1a
z&Ji+~oeb9UC`!`S&Re&a80Y6v#z*NC8jA5ySVa%Zi``2=zGMUnpKBh50C{pT{)--B
z1pi(A)!3!mq^b2E!tFnlU@GCilq^R?%>T2!VE_BB$^TE+mi_O4J>BmmGT@y6iJ%UM
zsFsjq3v%pTV
zJs{NnwY|;VRYO18EAkNgTg^
z`hTMg(7J_^G7vNc>_#hWhd3Q>Y-|J}#;v~Oc3ngGW-idlg2K~7;~ah>7f6{wsq{JC
z=s(Yg8aE+$Gl$@(fsqFL5A)Wk7nsvP?!>C#y9ra^bz4t?l@&jS%c;p~FU!yw@OPxC
z9mbBEg4X_Iq2LKRY=r3XC}+LjuUjYboONpYDZGY^LxleK`(&z_Lc}RQOvQ3y8krXMb%{r
z)Kpw%=XW0tfZXt(Yo@^|>YlT;`(ds4F@7KIdx2_)e$Q_o1Oj_deCL%%1YV~mQ(K0I
zr`-E_F|4ss<}f)fEsn!qBehHpzG3XUjHtgKd>!tD+J(eB^I9_Fcjz4G9z7hD9WYLU
zs66MUGbh(!9O0V(NY1Hi!Sc66ETYjDvXFk6(rHJu>(Yq}6;h?=2MuT0=nmqcWMGjR
zio%RG#lV%gfavd^*LX)sMOEB{zk)lD2cK=atrJx}
ze7t=jWOU*|Ed-*3(p9^;{J{boya>k`XlNe5T8KYJ8?(6hfUy=N?6#*zj&n_?@UhZx
zILO`3rY|Ehf%+*oVvl}+CxU>d{P4nNs!0X%f^x;beXRisGsD(jVDBw-Rv;_70ZgLN
z?IQ5pf&%w4cuU5WKy?c&Gh|cK)=xo@57e13bg;p8z-g<3#QJq(rj`PCZU!ZcYu+Z5;FNG?zs
zRa|~~&pLlhiGCa4RB$pAo_?M}n_-n-o^6C2N#7aJ;d0j)d=_<-m!P{emo0idtifLo
za31IdL%}g5S(s*CNDn!FKG1G`2N7FrZ0s5k>Of^9w%dvquZSjA;o^bjQ5CeHZeTY9
zrQTVr||g#VkY-_3HbJ&X4{eR0L7N0q7e=BLab${Rv0!
z%rD?4#^B>NI*6DXSL#FEPk>31*Y_jOq*Pz^^{nkH>l
z_0NMJnv1_6hz25?i$GzfCI1{64wz!aCn+@-0ksK$rhjE5{}e_5Si+cBY{B=U1%fbh
zOK!c4cLnt6hf^Z5cEl&$2?)0eh;V~~fV3|zjsSOUG%jGEmGqngp_%GyQOMFjQV7yh
zAWaSg1N3)mprpX{7|Ik|0L6}W0=)-Vt@#+(9jZTkI{X5{)P@^4iLnuZ;4yLuhF=z-
z1Q*aPUYjN0vsqLJ8Xpi|LzZPHFm{dYo0vVlSn&}1zfWCF9NpX|FpFDk#(WS@)<@)G
zoFyS3C&$?P14vN&5je_UK<*0E(m=SX0A?&j08r)wT59VU$9A+Q%<1GTauVLFCc@s<
z-HR}RB*e$dgBThFMBuCo`_*v*j%LstQl1snaCqhO6RPzV%aM^1ZIWX6dGZ
z>l5WkB->?WDBB0xwj>t$T`<&j>DzlhQipHF0G3``8cPy;6b22N1?c)hPvbiWdw|aY
z8MO28Vk)SLpg_-o^a3b(9$V4<&JpObH-kav3VqKjkQL}GfO2Wfym1lP*OLnPD~L}M
zl1C15%@v%66+p}mS_Xqzom`D~cJfyz3f0eA-^sfKHreL}<^-V8699W;(H)E^oU@!1u21DO}}s?*J0
zfRL*P4olj6$U)?kj_f}@YGD(NgjFq%Tp2Y?vc}4#;fh}mD
z^bxN|Zg^hp26PhsNP$NHblu0wEqq0*!E4
z(y1NTF`TS(#Y1_DOfAJAag`!q34{MhnFBEg#~AOFt6}&D-EX<=6eJy8a5?>gT+A_W
z52B*2p`nA9+YPcT*GrVx&sT<)CJILq_1$;_J`4VrAYns7Re-7xcmpyWf@IcI<_L8n
z>$cJ)i0M;=!LGtNCOutNDuz1%WzAom?wlH88C#LW88RL!u1#2f4q4q|UQqt3{d@?o
zkOgJBDX06(obIl!y%oJGmP(XS=Gp-W5}h?*NmJ4{i@MtvYx}8d!-|@J?Yx9K%E&Zz#(DKNf#lsy5gFPHCAb|w*
zHqcT00{ux(B489N5~9B2Iz2PrlhW&@wpG-C)C#*&Pk+z5G%6j
z+uQxnfxhPyok#Kl4lvOEo>_1ECCy<6PsIm`b4{9(!orvmj(K*X$`$CK>c_t!I%2!F
z5J;I2ft`&ncX`f2t^&tpAQuf4OASFrM?gb(@gs&7K)KsqtZVbvJgM#f62uZQ5+Bw6tc$j?ogg_?5&+K>8N-=CPnN%>hKzv~ApK2z)X+$8Sg
zdF;0DARfY{U0;n%jCcXmQt&{v1}EvB+e^T__T|ib^8EKB>~S;3GSPb8@K9pi)Di#Z
zLg8UqHWhZU`G@o0wuCJl(z?^p|;6UOB?)iTedmLsu`V(+P
z@J_wUqdN8IKuq0mR)|1;=+&>4oNm7BSa;?Mo}%A_d1umCA#kb@cr!4z8tua&eiliX
zVl{$Jb^?%O{jHk|Fstj}Lu(4Ugi(0OHLoK_T&}|z!&-P2fhe@k&VRu3?vyfxHs-e%)Oh0STTtug%|Gam)u5`3%HX`7P?~8yw+mKR?X(Q#J+P
zQTe#9D~%!#tT)U+seo_JFtaWC=n7$=hbSvUvFcb|3vMD|fAFe&2NozM%g#L*wO=G`Ar-{=erMwgldK(_(bU(B
zHFPZb2X^u4>f)KXlpI7RanG?g@Girk)Cj{Rzehl7n~LWl
zdq>V2k4u{@$)b=K?4Oqk+(TQ$BJ^8A$J8;DNYFgK9f2fL@mI|d
z4t1Jv=-YnU;RCx_sho3Qzi3D>T^p#|qu1ZT8r{M3c@)@&pfG3n)-%?ryCaojp>mr}
z=Ez(Kgnm6#uvQ8@ffJ5Yo+fgAqc8&&jn6sDZ#X1^EPAd?1QfkbvfYYeYHxoW@Mt|_
z|B9W-$TO@L!%f?qPfvN#`T$(!lgu1u(GjXUV2MlI)v|E?_!YEnNZ0Mr&P(AzR@VZj
z8(1mLV0=kiyGX|Q3o05EmUU<%?r$`$fcNhZ3VBVwLg}bEPQOE(WZf9=ArQudgmM_mY
ztng-#5#)RE^7ha!5cuB2itK1rgzSkOE(z*tvXRL{T$koqocS}86)KqTZX)2~2e}z6
z$Rs>Rd1HJgDvcF&df
z`w!^K3CVNpLwPBeTTF%@3fp|+7Jyr(X{t`Kxm)n6uxH};O`)d*p1|1DG@MIFfo=%$
z{<<7&G7BV4*qT>vqQtn9AoSXgoF*891{}i|0)L?WowwFd*d4#o#{k+`?bjZu*nbcr?o=-t8Q5pbW%UD*
z3AufJ(~{9alx
zzKKR0A)FMCuKY6-qv&$s!z*Ep%9XKRnE#;jwkpJ
z8b&7#URs0i^D&|^9)u_L717)8N3O!${CfqWj(*IGfxIRkzx~)w0k4>f^*{lLL=4kpB*WbuIs54HCCh@v7-x|)~6aqS}zC-
z3&Xc>EH}E1?dlBBkiRU?U*Wv|o3pC1CVxO7na5IOx#GpMDR^1k0OoqAbmXUd{0jtO
zpY7`D(bCjp`43n%X5t1pO|V9S;txI%q0_IawWUcRV`gAXK_`~ZIgt8+^v?}u9TSkX
z>QN%d5isX%et$t2gSt+|!jcQIi~}Rk{!7s4{K35PiA5iGOj|@ekZ=}m)4r{_2#OhJ
ziE22~oxlA1aagOl6n{P%vSqW>|NWQ$b&tdUA>5JgxmT#pPfGaZc@s5g|9o%GYFPj|
z;7VX#%g}{^ZMfhLTkNqUrr?M@s?F~pu4mJ0uNL;UL
zW~?+cOMfmRinF7=T{<-U2RLxHkw`BiqST@bGWPcN?*KUHNd03F0!3efQwB`UmC)@{
z@I6M-EuC>f)&B$@sS$XLg%hA4g1f>~MnG-gc`yYNQ^k_h-wz>dHPFY^IAaxdA<}K7
zgn(ZfBX9U;T{W!l;|Ym9!%I+dMt~3Pbns7t5`3U;D0Q+u>|c1^9_sQxgwZyZY`&>T
z#VB(epokh`QcWEJ~I?f8qa)>|lY~zA{vK95kmrJv}e3wIWWpBLl#2VRt%)RT1&l
zba!{(9LYO|f2uo%nZpmTuuq`v3;6B!bKAZ&JykbMzCJKSMM0(`5g{7ZE|v>@UV
zEF9IFH8%&fcFLADGW$^C%1tR5!jqx!8dkRxmc)OMJ+0`bRfFM?7!1RgV0`Ipb$Tet
zRm%h*)zNfo@F{#K&h|jQ*-wK4(yI+_xm+DlJxwrQD-;8Ug@Dkk6{om)EQiPw19NiL
zod68#C}h6np*?D|54<~rUf$DZ4a41UUc{Zf$X1;phrF9B!4FbC%|btndHKHf_D#BN
z!NxA)Xxmh&MG%=l35;#Po1OE&_|DC=+CevO41gV9m3xeQNJ#}8HsGYREwNFO7nNAaSV7I+_;qp1
z6o0++b3Evv&cgj<`17{`JR|Zi(Sk;oyeLY
zgfpw4G@*g7xS!08!08!_NBKKoz%2IxO7e&Md-M!^V8EbM6#=H#1e5T^GLt!gj7r|Z
zruQ^64Q-6`UqIS{&4@fF5WGj%X_+B)FIPqfwiK~`V!|>LL^6uPmTN8c^2OG-M)DGUCdYFGe3G#PApT>?GOtK~e
zI~L-gOAH8*dBlY5ZAV~O7~#vlz&MMT%D_uy6pgfQ=az*UraPRc<8yU55b@aL!dr+S
zsD4j-tR=P&MyO}B0Cdq_e++2g_%W!Fh_+Td>sdap_O3C4eiUM%ZlyRV7f$fB3v{pU
z40~Ir#PIe}%(XAD{}%l2tA&gkw#+=eu(=Yns>&ys+h{;x?L|jJ-X~1;x0A1e=$qsX
z;5JXNk`lzV7z&0OQgyEuX~@o>_Ex}H;isu+(}?B>VtkOoYY$eM9K`hR(hR?S=Tn-}
zlobmeZ=Nh-DnW4JO@kkawHKbc{{30n5aIEs+#C6ljJxZNFF*RP1e0c548-OjgFd2b
z%7-&Fg7Pj56)<~7Xl4EY;Q}n0#(WZN6zWi_dXjnM0y=n7G6qZ=^{X$P!OIjfFO;WY
zZH81|@O(kfxvRQmUtPciptwvd(%dHNZ3P;);`nw4&9zxVGp=W$Fg9IjzVDr>xdbMy
zyAh2sI*Hh4kFUbFUt2`exsHHgO`FO+{0u!C(wTnzD5rVnH_PRkg7#%b?%HnSu+>#-{zFVLskYGEVm>yH?W
zHef5)$}HZ5sYV(gv)Lw`8eMaegOIXu`&~&ajf*>yn!49Jah$dkO6WjxgeeMa8dfPr{4T>dis%0gH%ykmmv8$CfPb~yakjHZ-^!6Y>
z4p9?CpKa$Ib1BpHqAsq!a>9x*RrT5sPG=&c@>2ut9Il=9Bfe8H95)DB2m+k?1jbr`XeouU?7JYF
zQ6|)b%yJva&IMc9Ng!E}O8aL{G_Hd9I?)NTwE-%Qz_m9DH*uVqo=;PpDqp%^Cb%~u
zL9kd_O4Ut#HBP5}75nNya2N4C5P*KP5W{cT95{j31D+Udy9}#h)dggD+WrNh-USui
zCbe_IZ7nOMRHiwSrdYTQnq@k+=18hI;B5IS-~p#7`ht_C-Q$j~asG|%R@ifHU#2vO
zN;U3OLHj`Rduf92;i_F&d>o37q1V1E+?UlUq^mY+!xR>8
z8(g`4Yx8I&Bu}s~O2vAh09}~g+uePgc?HVbmCfqdEt0Et2BHTN!07kp^21Ea;eQP0
z)Ew`1HeBmW<=_(=VVB~93vVotcozQdM#yR;rWHg-#HcvsGw5|3b-NcnsL#!`r}oSi
zyYus2!t9QQWWTz9X)~Z%%xh$SC`_{Z9+1|##jsgTul}pGp4Ppnk+~|*)fk6Vr`**V
zl0{?&5k
z;}ssZl}Yy={pS0%s0?%srAv=eGy7~u9+Q}VX;baE{o8?p`~w=7ERb7JnRyJ3hU>4Vg1m`(bMO4f
zH859UuTN~7dpxM@tWGaQ}Kh*6KxB7
z@G`Vqm13oCh7Gv0sO`$lX?}cYgKE^blnU(T?>n$!ZR8X59B7}PUX`tjx=TM{6R#uF!z7%J%`&m?6
zBJEDjrGIB3{L?`4Qh#sLZuS44mlkZHD#2a^S|a
ze@Fx{4SDbw2XKt?rpr-GrNyQ@0?`A6Qpup>nPfNlS^jALP(ay*d5Cne*$7o}^Gg8)
z0IAafprKXS43rM7!SxDD$z)M({erR3AhODN_sPetwfS0rTQupFjG6{DET
z5v!`}JV%inG*I!bRGbXotEu+-2~^d52%RJh(zcmGp?=t@bflSbhM{7M=D>=Ro!b)?
zeAiJK$Wv|B>L;1i2au(}aRrhVxins%g;s~j^)8e(C(jlJ<0!_8MXti2wA=H~gIzxI
zMf^oStsQ;UBBHTR#|At4Ir&@s=aoPDAu;)L*D2hZD?JHqcGbQav%&br28msH1|#NdrWK_IziK9M{_|MG?-NM@0xQADM`TIU4F6K+u>d&eGB028P;
z+#W?HQy6r7;C%shqjae{m!3Jh-gPuNUky~40u|q!WyokqB8E4{e|2w$xUIQf5p#H(
zo>%e>%93!IrSkzl-L!P=tGUJ(&sr|gR9!zScDY42fA_0A+|mo=;bFG
z_~ER0@AFlDoln+WHE9m@f5pAK16pMuY&bpmp0vE`i_0|8(fHnQnsHsM7*;p6Iy^#K6Q6%|APhakEc8I
z+B|5ZP&IkrD`)Wn;$P>@O`ortO*BH^02HcCv#$s1qsyc$zaN}+krk&3?fjIajeiV;
zj6rqt+LLT}muS^yMX@5!y$yEj+Mg!&cpr>;t~jSb#z7gW6fb~4+}lkMXF!;^lJY~y
zvUU~pvY*K2DWvLcSYLgC)0M$>40b@!+O^2sewLaRabWnAkQK#BO3K2Ds@9D0F%COi
z75)3b)1S3#%Q+>f9L*}WzqdL%2VpVSyO??@Z_rsK^X3)OpYn_|+%jX6LARaS+IRis
zz`4{u*DhT=CVk<2o1`VAh#cecW|69Jgk{D{0`s|^0Nr@6$8mm$QeGi>?Y#raw@%pB
zpwU9qvZy_PI+qRa)6Ex!5`|%Axvh!U)wy@$XrE*|KA!6@;GW!tBRgqpD03e|iCpCg
zKYcPK!fNMK;jVo}szga~VK8q1Gq);q7ID_ifKZ^$#$`8urOQ7vMwh$A(jXn&`7=*1
zo{va^hIWRK@C&VxC)`n`ijw#r=_4p5n4vW?Rr1i*K6gOrHyhpB4
zcNE=c6jn}0yt0e(dGu+m5^ey+D)lpbCFV|V5OHtk>xZOwB+4FOkE<+-L;|-S{3@dGLCnCml;YJ^5~^+
z;)g1HfD@4Luk2M8g?L6`g=er?%s(T-JhfBsoSL@j
zAVmzF5OWz9l`8>9{h-#EDVynUp#DQC*D^#`VNPQ1FUz|BJWUZ|zvnyPEVcWzN!5hg
zZ5f{s=Y?IE_zpC~Ga-KW_jIl_aM%(qpF3(0%^*k37je&6hV;g~ryTZqwwi}d8cf8p0=ic4`yYH6*OZa0cWAc
zql>R
zAWh}rkSHJrSPmgGTs)r$ogly|{@rk*!%~vTnCyw&3xPQQ{t>kp2bDYj-QK`C|9=QN
z`+sXq#BeCE{^{o~4*UbxKHxw$P-$G521W-2Ik2&;AI7Z)I6UAbkoy}QEnzGI40n}V
z8D0XA(vhDY2@1pYBR{3=P@bKK`>lgGbhlv9PgNDT#VscR?a|iMgv^=>z?%V=j#=b0
z^v+r(Su1*9YM3S^cg`@~%fn-N=h1sUSh5wg{h^Ag)HwGZtSF*u+(m?YsreRs=n{yu
zgYFm(8o=nsVLwc6rS5mcLkK)!?)ymiZo>o6z<`LP>l8f2ziOb55NY1TW`c(3&P4SR
zth$59!&JzS%{qV~7c%BfK`1tuCHWn&Vq3)JeJwEM0<5A-fs*r2wg-%2^OS(go2v-$RiC
za+U)~OPt69WC@T=*hcdh7K=d6VaX3`s0M(={owmTpQy|P@u%z=#t@qUbgnhzxW|^2
zmBAt9Hc^eBfE1~S5YD1K6;67aN$M2R1_tga5g~fMQ&6iR_ZWbi`yicZ&ajTq
zu}mIWe_rMl*^wYxdP``(56%h@AF+4{m&6)*^$&m9ROd~m8RkiNnuJ=>_?Fd9K?aJv
z8HiC%QxIjp3Y#7v)r1AwWePeG=!LalE^s}BhYX1~g4J2@5Ya3z!JD3b^R)y#qw__$Do84ZebO{wnCu9%~c4iP#?L3Bkf?&YOo#wgsHN
zp(^mwIZp>cY#btuYpUH+X58Kd!)9H%RqZYUob4~ii0Whre3(ugZ+uH5XYF%!sG7mc
zL8s=%u~VRO=Z`)LzV{*5$t4iGN4^5+OrWH@za+c-gGb`#P`Ksteh3qs`Z4w9HO
zoC26;BAfC|D=%;`R|+yd5RU7ylu`%2GnqPeH0
zZdv(g)8d#mRfoa15em@b8*Qwv@B~2Q4uFZQ%XRJKiiNpg4yrp{0p|mYe|Z+vQ0O5E
zSh{rOK;ZNOq-5D`VxX`;wIo>~+USA~DMber-Y1=yrG*Q)j~cye!M~<6*mE^@9l?n`DdjPTw7s5*U0wxBK
z{RA+`LaLXVyYd_a)qV96GU%qlO2TiVdK9i5ZuJ+WVnCqgIz+8|cTMO}?n(n-f_y
z9rcvDO^60}hlyQdp01bnnpx*@d-fsdo%%KMoXY**b%ZvWA+BG4q{hWi$cPq;U8{Tm
z$u^vZoeWqa{?XaJ!j4iP}K5Cfh8~z~#c>(51xLyLQglEr8$zD;L$-zKV>Ni&q
z-qqCwJ6l=GvAy!8`i$;%aDi-&JC2wKU82xV{a#gsuo;?2_M5!|B8F=A$k|
zOeAYnHIQgDostWx4v~xtw_-ZBK_fsJ1PYbP)GeH~5!ma7=!9qcsMI5l;Gc@9QEVmm
z^#o~UiP&izV6{Nb1&?`+7dJKFDBh*61Re9ncvX0sY-j}l`!EKldE@a-ctn3+JLR8&
zgX%UwxiqNP`NtZ2k27qGzWxA}M{&9XS?bwO%6HEyc0YMEdPwOD^b7hL2qC>dsJM4c
z5z;lyIOtw2Lf*%8zVK^-I%jx7cP4<)30_E)hC-=kPxvT7?H>1Ci@@E>@b6IfV$45q
zm1sq1R)lcw`@ZkSC2Q@td3fw-rcfqQ`-laK7#B^Zk>tbPTxM-`
z?eEm==uzJH{1j@?h#X^|WnUcYs7VpFk<0$Xjm>HZJC%mIZRwsiKmUTD>aSv^vpg4Oft8(X+`0FL~2$UQ)^;woy(+1z2ivhl+;Oewe=w5`f1twn22SM
zT6(W*J=RyBe7WHNGm7Q%*RLh^rISo_&qz38B8)AvaC?2lmj?WAMt|?1kWo{Q%25h@
z+oYqq+gYN
zM##g;r+|xh-#1Gh`!r94AlafK$`oGP&_d@
zMxvEfUr|d`t(+R?`0VkGV4ku)Ss0nU19v*RM@CxTN;;2qG-n<-cMWCHU9H#2(=H8SO!1AnLP;5J1sUtADb74Ow;E
zI03{_Wcb={aHQt+_em|0nug>{2>Y&s`jxxa)qC`3RkQQf+Eg;%=2Qx0<2lF;#iF=H
zE|k6y6!HkWCx)kCVFk|D<;Ju!mdiJN0icUrj2C&M6I;Z$V7sG!??H=R_$;M+swvg#
zL;n1dtN_zIWms7xq58}in-8T{V7z4DFF3D&Y~AHkiyE3=rrgHbFNVQTqs^+Wy>iFw
zX+NpgeNz9MuLTtOpQ3JUfUGNI#LoTYD3|@&h5w7Xw+yJd?Yez$1rZfNS|p{rJ0+#1
zl>OJLlWkhflUFSpRv=Ys}vqgIDO6
z$}S9B`NIz#ts`(6169@|@B$Mbj9!qEu`ZNcV+&Q#@3eH8r^G(kxSfdly4vms-8aSg
zf0EGG^vz5@Ip$CB+w$J9D{qkq`h^IUH2n)xIKf}c!l*C$^jT;8sdVyzy<>j$Sn>PI
z-w$@v_!@)lI~{Gpod;I^x%c4NA9tPXIo`cH#7idT;qq&b;V-vi#zGHL7b_=`aCw3wgPq!UKeqT9i%?LphMYp}(AJ)EkznA<<&T1O^EdtEtW+Pps-z)vS7b1Noj*rE$S@XnGzS6^GwZQ!LjsFxO<;RetTM1
zT&$JOKPQwoBTQms3hp>bz_Ow&MLiYfi^Q|p^4aTIf+N8Wxsq_IYT9a5aX8^Z#rD9g
z{6Td|B6B^t-
zSB3#Fa(Hd8^oLs@F(-NS2b#j2kUW)FHw|cTCG-T-?(XEei91`)GX*gtT7C2Gzkhv+
z!OOlx^x)88cCs5S
z*9mOrG4Gw8UJ~d0yl|WED{=QP?Af%()x{EWJpFcGQqY_&!%`-WZ#8ON{Q2zOVHEQ%
zC%j7C<$6BL>w2T-hpO|+)WT1xq{8%2(}*HPBxCauIz~E7>coRQ-p2*LmoPV;13I|)
zbracbH|FV#Rm`asAqu`Fsc~+{o1?dmA0o(K-rP;rH~Ecle&mLyWYvy=o%bT+V{a%1
z4~ItBop2^83hp#?5;%Y8afj_{+EnCCKG(KEsOVXEP!!G9%j*s0|3?ugqX
z7%2xrd9eg}d3i7DdwM)y9c`-0Xc5iWf>-0-OLanAaDQ6b5%`rBQ{OjzDCY2XcVU}O
zLm*Qxb}qmw>Uyi;-m?`0uMJJ-YP**XR)Hv~ao3RFRNRn}CbUV4h*>@|F;cCnDvm%I
zrRK?{?K+AEm$}Gm`s@bhhL7BW4NadEAKBg5m1r;0P6+uX{3ye_8$E~3)aCj_o6{X_
z2K=S>-fuZoc_n-sr`@#vb`2f%-XiT6xIzwe?uUIqCKAJy`e1Wb=Jvju$zAoe_#fD#
z9D{ZQCa}_DmzRlq>agCiCVU)DwpsF{>N%O}?Pjc3Uf;%x4G-$;yIW|4ugJaKZ*L0*v|?b7n6?K$Jl
z2WBhGPMieheiA-$5u1#i{#>y(BAkfY{Qyi!IMJD_P6Evys<)w28zGn2Qm`
z$+=eRCCVV6=b2;qbMP;tl3>)2bC)uf%37{Nfqf2lGZshjzp?xSBnf@)%A^x8WHs)p
zI110Eh-4h*b{J+zw=U=8Y|&6Y?B(9^SJ`fE5&l52nNNCS+mrG
zJA2V_&twH#%nBKeOWEww>$3X13GEmzmqaYib3%0sB&gg*7L)4rmVFf}=SYPQOgv-<
zE=t|?8?WXQJJfMkRyAXDlnRz}sWP>@hx&wcWnZm@?tN#gJ32Z(IyxBEEc5u%Gla^7
zy-|_H^QO&dzhU!X4Hg+)H{Am}v!OSa2U`klvz4v>XXMhqnub1Ku~Fk1-F`gJE_AE-
z!7h0xI%Q;%TW(QvbF&r0*P3(&W(nd%bB0vCvhM5L-=J~PG-$T(j{ySTNA;}NWhaG|FW(6tS&!sbQJalQg-sJZMhZ5_0V-Ym
zH)IZkODXRB$Y>VMMZ}0=egM~v+YV}5y}O67FF0mepvS!1t`QF5#Y|J?8<%Ojv4gM-W;?-`AUjDgei~fO#CRE<#Us+#G
ze&veF!OPh@fW1;sL2`nJOSbM3xtbj)Lpxi@$$_njNx#?Ng{6sA$uty}+xpOJW$?=B
zYN?EAE9@R31~az7<48WSXR(m@B*o@A)zweG)X2)mUP^USn?HqS!svwZNEED3nDFcu8N_yI6Y3byI7?#!E86@;)aRmoZUYpREb
zkZAozw$_YGSMz7Cwry#dHq|t!wntjd(0j7?FUk7$~s)pv!1KV
zMHknO?~G9F)|+T|Y7_~aW3-i^Mu+9aB8O`rydJPjwbQVbPK}O9RVxUkNd=JGzzUp8
z&YiSPWp&T-1ts&3Nxwt%DqGJPca3;8oH*nU;X*e~Y`L0`px`Jjw^W8JfS>u0J$F-u
z830h+)3ZizNYZeJ
z#7m?yWMPytvyNN+;{YLNmuOHXB~^nNCPE(s@q^;3GLBM?#;?%}!=I!E;2^*l+-n=;
z>ldm+>g=3d@KgB?Wt+H!0SVrjUwpByKNsP0wj)H0MPD<_L5dd2$V8`4Gx0(xJIT8A
zqxDqS0_Oa~*0=PTG&6}0a#s*89=oHHN)=gu<=Q*MCSzCIF0ZMg(?@FuSn)lVoi-OY
z$gZj^We0p(1O0e%yy>5%2i?}R6FV9jUAkzL=YE@3D4WAM@;-afzw8-!)>HW!tTsSzwEh3&I_>Y!xH`}hd$e;ZdeNkgvyjPn)v8+1$JNHmt0kN~N>Nkt>
zNm;wmx0j8E{4EI~sq@i{FXHQE5Q;o+xz+qQVd9-}%%U>M$1>Ct4UVQ)$Oo9E3Co!2
zS^8>@tSgaP@q0+~*u`n`?qxgG3WeFir3TUqogU
zrug=w-R}YYua>vKOi)Ew)bE1dAr8SR%^EA?yzIG$Hr!95Gy-+~(DR0@}cP=FD~z
zU>&`ey4C!?kIdT^qDkxCj?m;&j-cpM?Fg{Ofd3@=kiJ)tJHAZi5blnrY4(~KtdVo<;b@D*l&WmQIwrMwNV=6$2w
zQcXo`3HAYdWVZr92=Q8mu=FSSGwA_|1aa{vR52~Su#p==VQbe+xhjVD#79k@NpK-$
zjtp<57CdinjLd;?d?r_-Y!Z6a$m54~0cCW^{}r@S*q-jnVn
ziBk(QGCC3Ip2k;&+n%}=Q=av}8XFgyt5e_dfCEHst_*KB?rpnXs{ApPI-P3npL$hy
zH6fkjY|gjlaL*XraGD+mK?GEPr7REgors;Wth045{edK%i&2+PJ`4Cvmf9v11`{=X
zrrE1$n__#IAi-PDhHEEu4rdF^)ZkK4P!3aUp!wkJhl!mcaAI5ZQcxK*z$0>kuE&Lgd4s
zwZ*bUB=Hk@L^s^aBf5*i|>hkUoUwM1X|GI1UGJDR=YB_*Sw{@}hZz7-PwQgxS
z#qXuXv*6Ot!{kmzJ;yYazVr6-*O*)e%XDI`=3)x_l`gA{N;2O{!*g3E_dls!Nt6#q
z%TR?THzsDBRSGx>&(8OK1^RYVXgmeBg}#7RH2TjwYs?Ai!jXa3GKF=Ku}(1`wU5&&
zsPSAl=;y3_A&6suBtqOH;mB)O5$s5C+wNg0Mn@;Jhvo~tP*#<@p$ov~pcd`qtg&GU
ziu7uVqxhpYh*LwI91N3vG^=c!r18G|q#RzmN3nd |