From 147d0baaf9b252ff6abdb76d94aab69b5491b3d9 Mon Sep 17 00:00:00 2001 From: JianFeeeee <109188060+JianFeeeee@users.noreply.github.com> Date: Fri, 14 Aug 2026 00:48:40 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20LLM=20=E5=B7=A5=E5=85=B7=E5=BE=AA?= =?UTF-8?q?=E7=8E=AF=20400=E3=80=81=E4=B8=AD=E6=96=AD=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E6=B3=A8=E5=85=A5=E3=80=81ConPTY=20=E7=BB=88=E7=AB=AF=E6=94=AF?= =?UTF-8?q?=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - agent: 工具轮请求尾部补 user 占位(zen 网关强制),tool 消息正确配对 - agent: 工具提醒/中断以 system 角色注入并带 [中断消息] 前缀,不进用户履历;系统提示词说明中断消息格式 - agentcli: 基于 ConPTY 的交互式终端(ptywin fork),terminal_create/read/write/resize/close/watch - webui: server 输出通道适配器(保留 reasoning_content/disable_thinking) - GUI: 沉浸式标题栏、icon 圆角重制、mascot 等打磨 --- cmd/gui/icon.ico | Bin 302430 -> 87735 bytes cmd/gui/main.js | 93 +- cmd/gui/preload.js | 8 + cmd/gui/renderer/app.js | 649 +++-- cmd/gui/renderer/icon.svg | 28 + cmd/gui/renderer/index.html | 96 +- cmd/gui/renderer/mascot.svg | 9 - cmd/gui/renderer/mascot.webp | Bin 0 -> 133316 bytes cmd/gui/renderer/style.css | 774 +++--- go.mod | 5 +- go.sum | 4 +- internal/agent/core/agent.go | 3 + internal/agent/core/agent_helpers_test.go | 77 + internal/agent/core/distill.go | 36 +- internal/agent/core/eventloop.go | 31 +- internal/agent/core/process.go | 71 +- internal/agent/core/stage.go | 8 + internal/agent/core/tooldefs.go | 9 +- internal/config/registry.go | 8 +- internal/events/bus.go | 1 + internal/lua/adapters/server.lua | 103 + internal/lua/vm.go | 1 + internal/memory/document/document.go | 6 +- internal/memory/pipeline/pipeline.go | 31 +- internal/memory/pipeline/pipeline_test.go | 66 + internal/memory/static_embedder.go | 35 +- internal/memory/synth_model_test.go | 42 + internal/network/monitor.go | 6 +- internal/plugins/agentcli/plugin.go | 364 ++- internal/plugins/agentcli/plugin_test.go | 253 ++ internal/plugins/agentcli/pty_windows.go | 245 +- internal/plugins/agentcli/pty_windows_test.go | 65 + internal/plugins/cli/plugin.go | 8 + internal/plugins/cmd/plugin.go | 19 +- internal/plugins/files/plugin.go | 34 +- internal/plugins/webui/dashboard.html | 2263 +++++++++++++---- internal/plugins/webui/handler.go | 244 +- internal/plugins/webui/handler_test.go | 6 +- internal/plugins/webui/plugin.go | 1 + internal/ptywin/conpty.go | 389 +++ internal/sdk/events.go | 1 + internal/supervisor/daemon.go | 6 +- plan.md | 50 +- 43 files changed, 4670 insertions(+), 1478 deletions(-) create mode 100644 cmd/gui/renderer/icon.svg delete mode 100644 cmd/gui/renderer/mascot.svg create mode 100644 cmd/gui/renderer/mascot.webp create mode 100644 internal/lua/adapters/server.lua create mode 100644 internal/plugins/agentcli/pty_windows_test.go create mode 100644 internal/ptywin/conpty.go diff --git a/cmd/gui/icon.ico b/cmd/gui/icon.ico index e121e63b68931c993b84cc2646a68589c53d0e68..9d49a0ff6ccbc1dd92be9722a2cc6c33595800b7 100644 GIT binary patch literal 87735 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 diff --git a/cmd/gui/main.js b/cmd/gui/main.js index 4270e12..9843a86 100644 --- a/cmd/gui/main.js +++ b/cmd/gui/main.js @@ -12,16 +12,28 @@ let mainWindow; function loadConnections() { try { if (fs.existsSync(CONNECTIONS_FILE)) { - return JSON.parse(fs.readFileSync(CONNECTIONS_FILE, 'utf-8')); + const data = JSON.parse(fs.readFileSync(CONNECTIONS_FILE, 'utf-8')); + normalizeConnections(data); + return data; } } catch (e) { console.error('Failed to load connections:', e); + // 配置损坏:备份后重建,避免应用一直处于"无连接"状态 + try { + const backup = CONNECTIONS_FILE + '.bak'; + fs.copyFileSync(CONNECTIONS_FILE, backup); + fs.writeFileSync(CONNECTIONS_FILE, '{"connections":[],"currentId":null}', 'utf-8'); + console.error('Backed up corrupt connections to', backup); + } catch (e2) { + console.error('Failed to recover connections file:', e2); + } } // Fallback: check app resource dir (installer writes fallback copy there) try { const fallback = path.join(__dirname, 'connections.json'); if (fs.existsSync(fallback)) { const data = JSON.parse(fs.readFileSync(fallback, 'utf-8')); + normalizeConnections(data); saveConnections(data); console.log('Imported connections from app resource dir'); return data; @@ -32,6 +44,15 @@ function loadConnections() { return { connections: [], currentId: null }; } +// 兼容旧数据:缺失的 type 默认为 webui(HTTP) +function normalizeConnections(data) { + if (!data || !Array.isArray(data.connections)) return; + data.connections.forEach((c) => { + if (!c.type) c.type = 'webui'; + if (c.type !== 'cli' && c.type !== 'webui') c.type = 'webui'; + }); +} + function saveConnections(data) { try { fs.writeFileSync(CONNECTIONS_FILE, JSON.stringify(data, null, 2), 'utf-8'); @@ -109,7 +130,8 @@ function createWindow() { minWidth: 900, minHeight: 600, title: 'HomeAgent', - icon: path.join(__dirname, 'icon.svg'), + frame: false, + icon: path.join(__dirname, 'icon.ico'), webPreferences: { preload: path.join(__dirname, 'preload.js'), contextIsolation: true, @@ -128,6 +150,18 @@ function createWindow() { }); } +ipcMain.handle('window:minimize', (e) => { + BrowserWindow.fromWebContents(e.sender)?.minimize(); +}); +ipcMain.handle('window:toggleMaximize', (e) => { + const win = BrowserWindow.fromWebContents(e.sender); + if (!win) return; + if (win.isMaximized()) win.unmaximize(); else win.maximize(); +}); +ipcMain.handle('window:close', (e) => { + BrowserWindow.fromWebContents(e.sender)?.close(); +}); + ipcMain.handle('connections:list', () => { return loadConnections(); }); @@ -135,7 +169,14 @@ ipcMain.handle('connections:list', () => { ipcMain.handle('connections:add', (_, conn) => { const data = loadConnections(); const id = Date.now().toString(36) + Math.random().toString(36).slice(2, 6); - data.connections.push({ id, name: conn.name, url: conn.url, apiKey: conn.apiKey }); + data.connections.push({ + id, + name: conn.name, + url: conn.url || '', + apiKey: conn.apiKey || '', + type: conn.type === 'cli' ? 'cli' : 'webui', + socketPath: conn.socketPath || '', + }); if (!data.currentId) data.currentId = id; saveConnections(data); return data; @@ -170,6 +211,52 @@ ipcMain.handle('connections:setCurrent', (_, id) => { return data; }); +// CLI 传输:通过 homed 的 unix socket(逐行 JSON 协议)发起请求。 +// 认证行:/auth (若配置了密钥)。返回 JSON 响应行。 +ipcMain.handle('cli:request', (_, { socketPath, apiKey, line }) => { + return new Promise((resolve) => { + const net = require('net'); + let client; + try { + client = net.createConnection({ path: socketPath }); + } catch (e) { + return resolve({ error: 'create connection: ' + e.message }); + } + const timeout = setTimeout(() => { + try { client.destroy(); } catch (_) {} + resolve({ error: 'timeout waiting for cli response' }); + }, 30000); + + let buf = ''; + const onData = (chunk) => { + buf += chunk.toString('utf8'); + const idx = buf.indexOf('\n'); + if (idx === -1) return; + const lineOut = buf.slice(0, idx); + clearTimeout(timeout); + try { client.destroy(); } catch (_) {} + try { + resolve(JSON.parse(lineOut)); + } catch (e) { + resolve({ error: 'bad response: ' + lineOut }); + } + }; + const onError = (err) => { + clearTimeout(timeout); + try { client.destroy(); } catch (_) {} + resolve({ error: err.message }); + }; + + client.on('error', onError); + client.on('data', onData); + client.on('connect', () => { + let next = line; + if (apiKey) next = '/auth ' + apiKey + '\n' + next; + client.write(next + '\n'); + }); + }); +}); + app.whenReady().then(async () => { const running = await isServerRunning(); if (!running) { diff --git a/cmd/gui/preload.js b/cmd/gui/preload.js index 63ed161..9a1aa43 100644 --- a/cmd/gui/preload.js +++ b/cmd/gui/preload.js @@ -1,6 +1,11 @@ const { contextBridge, ipcRenderer } = require('electron'); contextBridge.exposeInMainWorld('homeagent', { + win: { + minimize: () => ipcRenderer.invoke('window:minimize'), + toggleMaximize: () => ipcRenderer.invoke('window:toggleMaximize'), + close: () => ipcRenderer.invoke('window:close'), + }, connections: { list: () => ipcRenderer.invoke('connections:list'), add: (conn) => ipcRenderer.invoke('connections:add', conn), @@ -8,4 +13,7 @@ contextBridge.exposeInMainWorld('homeagent', { delete: (id) => ipcRenderer.invoke('connections:delete', id), setCurrent: (id) => ipcRenderer.invoke('connections:setCurrent', id), }, + cli: { + request: (socketPath, apiKey, line) => ipcRenderer.invoke('cli:request', { socketPath, apiKey, line }), + }, }); diff --git a/cmd/gui/renderer/app.js b/cmd/gui/renderer/app.js index 38011b0..d471b35 100644 --- a/cmd/gui/renderer/app.js +++ b/cmd/gui/renderer/app.js @@ -6,6 +6,7 @@ let state = { meta: {}, pluginMeta: {}, settingsPlugins: ['core'], + currentView: 'chat', selectedSection: 'core', messages: [], chatLoading: false, @@ -17,6 +18,9 @@ let state = { chatHistory: [], terminals: [], cmdHistory: [], + termScreens: {}, + chatStick: true, + pendingTools: [], eventSource: null, lang: localStorage.getItem('ha-lang') || 'zh', connections: [], currentConn: null, @@ -111,10 +115,16 @@ function applyI18n() { } // ===== Theme ===== +var ICON_SUN_GUI = + ''; +var ICON_MOON_GUI = + ''; + function setTheme(name) { document.documentElement.setAttribute('data-theme', name); localStorage.setItem('ha-theme', name); - document.getElementById('theme-btn').textContent = name === 'light' ? '☀️' : '🌙'; + var btn = document.getElementById('theme-btn'); + if (btn) btn.innerHTML = name === 'light' ? ICON_SUN_GUI : ICON_MOON_GUI; } function toggleTheme() { @@ -149,8 +159,36 @@ function toast(m, isError) { } // ===== API ===== +async function cliRequest(line) { + var conn = state.currentConn; + if (!conn) throw new Error(__('未选择连接','No connection selected')); + if (!window.homeagent || !window.homeagent.cli) throw new Error('cli bridge unavailable'); + var resp = await window.homeagent.cli.request(conn.socketPath || conn.url, conn.apiKey, line); + if (resp && resp.error) throw new Error(resp.error); + return resp; +} + +// CLI 传输映射:将 REST 路径转换为 cli 内置命令或直接对话 +function cliMap(path, o) { + o = o || {}; + var m = o.method || 'GET'; + if (m === 'POST' && path.indexOf('/chat') !== -1) { + var body = {}; + try { body = JSON.parse(o.body || '{}'); } catch (e) {} + return cliRequest(body.message || ''); + } + if (path === '/status') return cliRequest('/status'); + if (path === '/kernel') return cliRequest('/kernel'); + if (path === '/settings') return cliRequest('/settings'); + if (path === '/chat/history') return Promise.resolve({ messages: [] }); + return Promise.reject(new Error(__('CLI 连接不支持此功能','Not supported on CLI connection'))); +} + async function api(p, o) { if (!state.currentConn) throw new Error(__('未选择连接','No connection selected')); + if (state.currentConn.type === 'cli') { + return cliMap(p, o); + } var opts = o || {}; var headers = { 'Content-Type': 'application/json', ...(opts.headers || {}) }; if (state.currentConn.apiKey) headers['X-API-Key'] = state.currentConn.apiKey; @@ -163,13 +201,19 @@ async function api(p, o) { } // ===== Navigation ===== -function switchTab(n) { - document.querySelectorAll('.tab-content').forEach(function(e) { e.classList.remove('active') }); - var el = document.getElementById('tab-' + n); +function switchView(n) { + document.querySelectorAll('.view').forEach(function(e) { e.classList.remove('active') }); + var el = document.getElementById('view-' + n); if (el) el.classList.add('active'); - document.querySelectorAll('nav a').forEach(function(e) { e.classList.remove('active') }); - var match = document.querySelector('nav a[onclick*="' + n + '"]'); - if (match) match.classList.add('active'); + document.querySelectorAll('.rail-btn').forEach(function(e) { e.classList.remove('active') }); + var rb = document.getElementById('rail-' + n); + if (rb) rb.classList.add('active'); + state.currentView = n; + if (n === 'chat') { + state.chatStick = true; + var msgsEl = document.getElementById('chat-msgs'); + if (msgsEl) { try { msgsEl.scrollTo({ top: msgsEl.scrollHeight, behavior: 'smooth' }) } catch(e) { msgsEl.scrollTop = msgsEl.scrollHeight } } + } renderAll(); } @@ -270,17 +314,41 @@ function renderOverview() { + statCard(__('内存','Memory'), k?.runtime?.memory_mb ? k.runtime.memory_mb + ' MB' : '-', '') + statCard('Go ' + __('版本','Version'), k?.runtime?.go_version || '-', '') + ''; - document.getElementById('tab-overview').innerHTML = html; + document.getElementById('view-overview').innerHTML = html; } // ===== Chat ===== var _chatLayoutBuilt = false; function buildChatLayout() { - var cont = document.getElementById('tab-chat'); + var cont = document.getElementById('view-chat'); var k = state.kernel || {}; - var html = '
'; - html += '

' + __('对话','Chat') + ' ' + escHtml(state.chatStage || '') + '

'; + var html = '
'; + html += '
' + + '' + __('对话','Chat') + '' + + '' + __('星图','Star Map') + '' + + '' + __('终端','Terminal') + '' + + '' + __('运行中命令','Running Commands') + '' + + '' + __('记忆','Memory') + '' + + '' + __('上下文','Context') + '' + + '' + __('知识','Knowledge') + '' + + '
'; + if (!state.currentConn) { + html += '
' + + '' + + '

' + __('未配置后端','No backend configured') + '

' + + '

' + __('连接 HomeAgent 服务端后即可开始对话。请在设置中添加后端连接。','Connect to a HomeAgent server to start chatting. Add a backend connection in Settings.') + '

' + + '' + + '
'; + for (var p2 = 0; p2 < 6; p2++) { + html += '

' + __('请先在设置中添加后端连接','Add a backend connection in Settings first') + '

'; + } + cont.innerHTML = html; + _chatLayoutBuilt = true; + return; + } + html += '
'; + html += '

' + __('对话','Chat') + '

'; if (state.messages.length === 0) { html += '

' + __('开始对话以测试 Agent 回复','Start a conversation to test Agent replies') + '

'; } @@ -288,35 +356,28 @@ function buildChatLayout() { + '
' + '' + '' - + '
'; - html += '
' - + '

' + __('星图','Star Map') + '

' - + '
' - + '

' + __('终端','Terminal') + ' 0

' - + '
' - + '

' + __('命令历史','Command History') + ' 0

' - + '
' - + '
' - + '' - + '
' + + '
'; + html += '

' + __('星图','Star Map') + '

' + + '
'; + html += '

' + __('终端','Terminal') + ' 0

' + + '
'; + html += '

' + __('运行中命令','Running Commands') + ' 0

' + + '
'; + html += '

' + __('记忆','Memory') + '

' + '
' + __('实体','Entities') + '' + (k?.memory?.entity_count || '-') + '
' + '
' + __('关系','Relations') + '' + (k?.memory?.relation_count || '-') + '
' + '
' + '' + '' + '
' - + '
' - + '
'; + html += '

' + __('上下文','Context') + '

' + '
' + '' + '' + '
' - + '
' - + '
'; + html += '

' + __('知识','Knowledge') + '

' + '
' + __('项目','Items') + '' + (k?.knowledge?.item_count || '-') + '
' + '
' + '' @@ -326,16 +387,67 @@ function buildChatLayout() { + '' + '' + '' - + '
'; + + '
'; cont.innerHTML = html; _chatLayoutBuilt = true; } +var CHAN_COLORS = ['#e08a5f', '#5f9fe0', '#6bbf8f', '#c06bbf', '#d9a13b', '#5fb3bf', '#b06b6b', '#7f8ce0']; + +function chanColor(src) { + var h = 0; + for (var i = 0; i < src.length; i++) h = (h * 31 + src.charCodeAt(i)) >>> 0; + return CHAN_COLORS[h % CHAN_COLORS.length]; +} + +function chanLetter(src) { + var s = (src || '').trim(); + if (!s) return 'C'; + var ch = s.charAt(0).toUpperCase(); + return /[A-Za-z0-9]/.test(ch) ? ch : 'C'; +} + function renderChat() { if (!_chatLayoutBuilt) { buildChatLayout(); renderChatStarmap(); renderTerminals(); renderCmdHistory() } var msgsEl = document.getElementById('chat-msgs'); if (!msgsEl) return; + if (!msgsEl._stickBound) { + msgsEl._stickBound = true; + msgsEl.addEventListener('scroll', function() { + state.chatStick = msgsEl.scrollHeight - msgsEl.scrollTop - msgsEl.clientHeight < 80; + }, { passive: true }); + } var msgs = state.messages; + var sig = msgs.map(function(m) { + var c = m.content || ''; + return (m.role || '') + ':' + c.length + ':' + c.slice(-40) + ':' + (m.tool_calls || []).map(function(t) { return (t.tool || t.name || '') + '/' + (t.status || '') }).join(','); + }).join('|') + '|L' + (state.chatLoading ? '1' : '0') + '|P' + (state.pendingTools || []).join(','); + if (msgsEl._chatSig === sig && msgsEl.childElementCount > 0) { return; } + msgsEl._chatSig = sig; + var prevPending = msgsEl._lastPending || []; + var newPending = (state.pendingTools || []).slice(); + var lastM = msgs.length ? msgs[msgs.length - 1] : null; + if (state.chatLoading && lastM && lastM.role === 'assistant') { + (lastM.tool_calls || []).forEach(function(tc) { + if (!tc.result && tc.status !== 'denied') { + var nm = tc.tool || tc.name || ''; + if (newPending.indexOf(nm) === -1) newPending.push(nm); + } + }); + } + var newlyDone = prevPending.filter(function(n) { return newPending.indexOf(n) === -1; }); + msgsEl._lastPending = newPending; + var streamingLast = !!(state.chatLoading && lastM && lastM.role === 'assistant' && !lastM._final); + function pillHtml() { + var s = ''; + newPending.forEach(function(nm) { + var anim = prevPending.indexOf(nm) !== -1 ? '' : ' pill-in'; + s += '' + + '' + + escHtml(nm) + ''; + }); + return s; + } var html = ''; if (msgs.length === 0) { html = '

' + __('开始对话以测试 Agent 回复','Start a conversation to test Agent replies') + '

'; @@ -350,44 +462,77 @@ function renderChat() { } else { c = escHtml(c); } + var isChan = !!(m.source && m.source !== 'webui'); var rc = ''; if (m.reasoning_content) { var rcBody = (typeof marked !== 'undefined' ? marked.parse(m.reasoning_content) : escHtml(m.reasoning_content)); - rc = '
' - + '
' + __('收起思考','Collapse') + '
' - + '
'; + rc = '
' + + '
' + __('展开思考','Expand') + '
' + + '
'; } var tcs = ''; if (m.tool_calls && m.tool_calls.length > 0) { m.tool_calls.forEach(function(tc) { var argsStr = typeof tc.args === 'object' ? JSON.stringify(tc.args, null, 1) : (tc.args || ''); - var resultStr = tc.result ? (typeof tc.result === 'object' ? JSON.stringify(tc.result, null, 1).substring(0, 200) : String(tc.result).substring(0, 200)) : ''; - var statusIcon = tc.status === 'denied' ? '⛔' : '🔧'; - tcs += '
' - + '
' + statusIcon + ' ' + escHtml(tc.tool || tc.name || '') + '
' + var resultStr = tc.result ? (typeof tc.result === 'object' ? JSON.stringify(tc.result, null, 1) : String(tc.result)) : ''; + var statusIcon = tc.status === 'denied' + ? '' + : ''; + tcs += '
' + + '
' + statusIcon + '' + escHtml(tc.tool || tc.name || '') + '' + + (tc.status === 'denied' + ? '' + __('已拒绝','Denied') + '' + : (resultStr + ? '' + __('完成','Done') + '' + : '' + __('调用中','Running') + '')) + + '
' + + ''; + + (resultStr ? '
' + escHtml(resultStr) + '
' : '') + + '
'; }); } - var body = rc + tcs + '
' + c + '
'; - if (m.source && m.source !== 'webui') { - body = '
' + escHtml(__('通道','Channel')) + ': ' + escHtml(m.source) + '
' + body; + var body = rc + tcs; + var growCls = m._grow ? ' grow-in' : ''; + if (m._grow) m._grow = false; + var isStreamingLast = i === msgs.length - 1 && streamingLast; + if (isStreamingLast) { + var liveRow = '' + (newPending.length ? '' + pillHtml() + '' : ''); + if (c) { + body += '
' + liveRow + '
' + c + '
'; + c = ''; + } else { + body += '
' + liveRow + '
'; + } + } else if (c) { + body += '
' + c + '
'; } if (role === 'system') { - html += '
' + body + '
'; + html += '
' + (c || '') + '
'; + } else if (isChan) { + html += '
' + + '
' + chanLetter(m.source) + '
' + + '
' + escHtml(m.source) + '
' + body + '
' + + '
'; } else { var userAvatar = ''; - var aiAvatar = '' + __('小宅','Agent') + ''; + var aiAvatar = '' + __('小宅','Agent') + ''; html += '
' + '
' + (role === 'user' ? userAvatar : aiAvatar) + '
' - + '
' + body + '
' + + '
' + body + '
' + '
'; } }); } + if (state.chatLoading && !streamingLast) { + var aiAvatar2 = '' + __('小宅','Agent') + ''; + html += '
' + aiAvatar2 + '
' + + '' + + (newPending.length ? '' + pillHtml() + '' : '') + + '
'; + } msgsEl.innerHTML = html; - msgsEl.scrollTop = msgsEl.scrollHeight; + if (state.chatStick !== false) { try { msgsEl.scrollTo({ top: msgsEl.scrollHeight, behavior: 'smooth' }) } catch(e) { msgsEl.scrollTop = msgsEl.scrollHeight } } updateChatBadge(); } @@ -395,11 +540,19 @@ function updateChatBadge() { var badge = document.getElementById('chat-stage'); if (!badge) return; badge.textContent = state.chatStage || ''; - badge.style.display = state.chatLoading ? 'inline' : 'none'; + badge.style.display = 'none'; } function rerenderChat() { renderChat(); renderChatStarmap(); renderTerminals(); renderCmdHistory() } +function toggleToolCall(el) { + var d = el.querySelector('.tc-detail'); + if (!d) return; + var open = d.style.display !== 'none'; + d.style.display = open ? 'none' : 'block'; + if (open) { el.classList.remove('open'); } else { el.classList.add('open'); } +} + function renderChatStarmap() { var cont = document.getElementById('sm-container-chat'); if (!cont) return; @@ -674,6 +827,7 @@ async function sendChat() { var btn = document.getElementById('chat-send-btn'); var text = inp.value.trim(); if (!text || state.chatLoading) return; + state.chatStick = true; state.messages.push({ role: 'user', content: text }); inp.value = ''; rerenderChat(); @@ -690,7 +844,8 @@ async function sendChat() { if (last && last.role === 'assistant' && last._streaming) { console.log('[sendChat] updating existing streaming msg, tool_calls before:', last.tool_calls?.length); last.content = r.response || __('(无响应)','(no response)'); - last.reasoning_content = r.reasoning_content || ''; + last._grow = true; + if (!last.reasoning_content) last.reasoning_content = r.reasoning_content || ''; last._final = true; delete last._streaming; } else { @@ -699,7 +854,8 @@ async function sendChat() { content: r.response || __('(无响应)','(no response)'), reasoning_content: r.reasoning_content, tool_calls: last && last.role === 'assistant' && last.tool_calls ? last.tool_calls : [], - _final: true + _final: true, + _grow: true }); } rerenderChat(); @@ -786,15 +942,19 @@ async function createKnowledgeChat() { } } -function switchChatSub(tab, el) { - var cards = { - 'memory': document.getElementById('chat-sub-memory'), - 'context': document.getElementById('chat-sub-context'), - 'knowledge': document.getElementById('chat-sub-knowledge') +function switchChatPanel(tab, el) { + var panels = { + 'chat': document.getElementById('chat-panel-chat'), + 'starmap': document.getElementById('chat-panel-starmap'), + 'terminal': document.getElementById('chat-panel-terminal'), + 'cmd': document.getElementById('chat-panel-cmd'), + 'memory': document.getElementById('chat-panel-memory'), + 'context': document.getElementById('chat-panel-context'), + 'knowledge': document.getElementById('chat-panel-knowledge') }; - Object.keys(cards).forEach(function(k) { - var c = cards[k]; - if (c) c.style.display = k === tab ? 'block' : 'none'; + Object.keys(panels).forEach(function(k) { + var p = panels[k]; + if (p) p.classList.toggle('active', k === tab); }); if (el) { var parent = el.parentElement; @@ -803,7 +963,12 @@ function switchChatSub(tab, el) { el.classList.add('active'); } } + if (tab === 'starmap') { renderChatStarmap(); onStarmapResize(); } + if (tab === 'terminal') renderTerminals(); + if (tab === 'cmd') renderCmdHistory(); + if (tab === 'memory') queryMemoryChat(); if (tab === 'context') queryMemoryContext(); + if (tab === 'knowledge') searchKnowledgeChat(); } async function loadChatHistory() { @@ -818,6 +983,15 @@ async function loadCmdHistory() { try { var data = await api('/cmd/history'); if (data && data.history) state.cmdHistory = data.history } catch(e) {} } +function appendTermBuf(el, text) { + if (!text) return; + el.textContent += text; + if (el.textContent.length > 262144) { + el.textContent = el.textContent.slice(el.textContent.length - 262144); + } + el.scrollTop = el.scrollHeight; +} + function renderTerminals() { var r = document.getElementById('term-list'); var cnt = document.getElementById('term-count-badge'); @@ -831,23 +1005,26 @@ function renderTerminals() { var html = ''; list.forEach(function(t, i) { var detailId = 'term-detail-' + i; + var scr = (state.termScreens && state.termScreens[t.id]) || null; + var running = scr ? scr.running : !!t.running; + var fullOut = scr ? scr.output : t.output || ''; + if (!fullOut) { + fullOut = '' + __('[终端暂无输出]','[No terminal output]') + ''; + } else { + fullOut = escHtml(fullOut); + } html += '
'; html += '
'; html += '' + escHtml(t.id || '-') + ''; - html += '' + escHtml(t.command || '') + ''; - html += '' + (t.running ? __('运行中','Running') : __('已关闭','Closed')) + ''; + html += '' + escHtml(t.command || '') + ''; + html += '' + (running ? __('运行中','Running') : __('已关闭','Closed')) + ''; html += '' + escHtml(t.created_at || '') + ''; html += '
'; html += '
'; + html += '
'; + html += '
' + escHtml(t.id) + '' + escHtml(t.command || '') + '' + escHtml(t.uptime || '') + '
'; + html += '
' + fullOut + '
'; + html += '
'; }); r.innerHTML = html; } @@ -856,19 +1033,24 @@ function renderCmdHistory() { var r = document.getElementById('cmd-list'); var cnt = document.getElementById('cmd-count-badge'); if (!r) return; - var list = state.cmdHistory || []; - if (cnt) cnt.textContent = list.length; - if (list.length === 0) { - r.innerHTML = '

' + __('暂无命令记录','No command history') + '

'; + var running = (state.terminals || []).filter(function(t) { return t.running; }); + if (cnt) cnt.textContent = running.length; + if (running.length === 0) { + r.innerHTML = '

' + __('暂无运行中的命令','No running commands') + '

'; return; } - var html = ''; - list.slice().reverse().slice(0, 50).forEach(function(c) { + var html = '
' + __('命令','Command') + '' + __('状态','Status') + '' + __('时间','Time') + '
'; + running.forEach(function(t) { + var scr = (state.termScreens && state.termScreens[t.id]) || null; + var out = scr ? scr.output : t.output || ''; html += '' - + '' - + '' - + '' + + '' + + '' + + '' + ''; + if (out) { + html += ''; + } }); html += '
' + __('命令','Command') + '' + __('状态','Status') + '' + __('运行时长','Uptime') + '
' + escHtml(c.command || '') + '' + escHtml(c.status || '') + '' + escHtml((c.time || '').substring(0, 19)) + '' + escHtml(t.command || t.id || '') + '' + __('运行中','Running') + '' + escHtml(t.uptime || '-') + '
' + escHtml(out.substring(0, 2000)) + '
'; r.innerHTML = html; @@ -936,7 +1118,7 @@ function renderPlugins() { html += '

' + __('点击上方按钮运行','Click the button above to run') + '

'; } html += ''; - document.getElementById('tab-plugins').innerHTML = html; + document.getElementById('view-plugins').innerHTML = html; } async function loadInstalledPlugins() { @@ -1029,7 +1211,7 @@ function renderHealthResult(r) { // ===== Kernel ===== function renderKernel() { var k = state.kernel; - if (!k) { document.getElementById('tab-kernel').innerHTML = '

' + __('内核未响应','Kernel not responding') + '

'; return } + if (!k) { document.getElementById('view-kernel').innerHTML = '

' + __('内核未响应','Kernel not responding') + '

'; return } var html = '

' + __('运行时','Runtime') + '

' + statCard('Goroutines', k?.runtime?.goroutines || '-', '') + statCard(__('内存','Memory'), k?.runtime?.memory_mb ? k.runtime.memory_mb + ' MB' : '-', '') @@ -1053,7 +1235,7 @@ function renderKernel() { html += '

' + __('无','None') + '

'; } html += '
'; - document.getElementById('tab-kernel').innerHTML = html; + document.getElementById('view-kernel').innerHTML = html; } // ===== Star Map ===== @@ -1224,16 +1406,16 @@ function pluginDisplayName(p) { return name; } -function renderSettingsSidebar() { - var el = document.querySelector('.settings-sidebar'); +function renderSettingsTabs() { + var el = document.getElementById('settings-tabs'); if (!el) return; el.innerHTML = ''; state.settingsPlugins.forEach(function(p) { - var a = document.createElement('a'); - a.textContent = pluginDisplayName(p); - if (p === state.selectedSection) a.className = 'active'; - a.onclick = function() { state.selectedSection = p; renderOneSettings() }; - el.appendChild(a); + var s = document.createElement('span'); + s.textContent = pluginDisplayName(p); + if (p === state.selectedSection) s.className = 'active'; + s.onclick = function() { state.selectedSection = p; renderOneSettings() }; + el.appendChild(s); }); } @@ -1262,7 +1444,10 @@ function renderOneSettings() { var regularKeys = filtered.filter(function(k) { return !k.startsWith('core.llm.sources.') && hideTopLlms.indexOf(k) === -1 && !k.startsWith('plugin.mcp.servers.') && k !== 'plugin.mcp.servers'; }); - var html = '
'; + var html = '

' + __('后端连接','Backend Connections') + '

' + + '
' + + '
' + + '
'; if (regularKeys.length === 0 && Object.keys(sourceMap).length === 0 && Object.keys(mcpServerMap).length === 0 && state.selectedSection !== 'plugin.mcp') { html += '

' + escHtml(state.selectedSection) + '

' + __('暂无设置项','No settings') + '

'; } else { @@ -1371,8 +1556,9 @@ function renderOneSettings() { } } html += '
'; - document.getElementById('tab-settings').innerHTML = html; - renderSettingsSidebar(); + document.getElementById('view-settings').innerHTML = html; + renderSettingsTabs(); + renderConnSection(); } function markDirty(k) { @@ -1401,7 +1587,7 @@ async function saveSetting(k) { } function renderConfigDisabled() { - document.getElementById('tab-settings').innerHTML = '

' + __('设置','Settings') + '

' + __('设置面板已加载','Settings panel loaded') + '

'; + document.getElementById('view-settings').innerHTML = '

' + __('设置','Settings') + '

' + __('设置面板已加载','Settings panel loaded') + '

'; renderOneSettings(); } @@ -1458,8 +1644,7 @@ async function deleteMCPServer(name) { // ===== Adapters ===== async function renderAdapters() { - var html = '

' + __('Lua 适配器管理','Lua Adapter Management') + '

' - + '

' + __('上传自定义 Lua 适配器脚本以支持新的 LLM 提供商。脚本文件将保存到适配器目录并自动加载到 Lua VM。','Upload custom Lua adapter scripts to support new LLM providers. Scripts are saved to the adapter directory and auto-loaded into the Lua VM.') + '

'; + var html = ''; try { var r = await api('/adapters'); var adapters = r.adapters || []; @@ -1485,7 +1670,7 @@ async function renderAdapters() { } catch(e) { html += '

' + __('加载适配器失败: ','Failed to load adapters: ') + escHtml(e.message) + '

'; } - document.getElementById('tab-adapters').innerHTML = html; + document.getElementById('view-adapters').innerHTML = html; } async function uploadAdapter() { @@ -1515,32 +1700,125 @@ async function deleteAdapter(name) { state.connections = data.connections || []; if (data.currentId) state.currentConn = state.connections.find(function(c) { return c.id === data.currentId }) || null; if (state.currentConn) { - document.getElementById('app').style.display = 'block'; connectSSE(); await loadChatHistory(); doRenderAll(); startUptimeTicker(); setInterval(doRenderAll, 15000); } else { - document.getElementById('conn-overlay').style.display = 'flex'; + renderAll(); + updateConnIndicator(); } - renderConnList(); })(); // ===== Connection Management ===== function updateConnIndicator() { var el = document.getElementById('conn-name-display'); var dot = document.getElementById('conn-dot'); + var rdot = document.getElementById('rail-conn-dot'); if (state.currentConn) { el.textContent = state.currentConn.name; - dot.className = 'status-dot ' + (state.status.status === 'running' ? 'dot-green pulse' : 'dot-yellow'); + var cls = state.status.status === 'running' ? 'dot-green pulse' : 'dot-yellow'; + dot.className = 'status-dot ' + cls; + if (rdot) rdot.className = 'conn-dot ' + (state.status.status === 'running' ? 'dot-green' : 'dot-yellow'); } else { - el.textContent = '未连接'; + el.textContent = __('未连接','Not connected'); dot.className = 'status-dot dot-gray'; + if (rdot) rdot.className = 'conn-dot'; } } -function openConnManager() { renderConnList(); document.getElementById('conn-overlay').style.display = 'flex'; } +function goSettingsConn() { + switchView('settings'); + renderConnSection(); +} + +function openConnManager() { renderConnSection(); switchView('settings'); } + +function renderConnSection() { + var cont = document.getElementById('conn-manager'); + if (!cont) return; + cont.innerHTML = ''; + if (state.connections.length === 0) { + cont.innerHTML += '

' + __('暂无后端连接,添加一个以开始使用','No backend connections yet. Add one to get started.') + '

'; + } else { + state.connections.forEach(function(c) { + var div = document.createElement('div'); + div.className = 'conn-item ' + (state.currentConn && state.currentConn.id === c.id ? 'active' : ''); + div.innerHTML = '' + + '
' + escHtml(c.name) + '
' + escHtml(c.url) + '
' + + '
' + + ' ' + + ' ' + + '
'; + cont.appendChild(div); + }); + } + var form = document.createElement('div'); + form.className = 'conn-form'; + form.id = 'conn-form'; + form.style.display = 'none'; + form.innerHTML = '

' + __('添加连接','Add Connection') + '

' + + '' + + '' + + '
' + + '' + + '' + + '' + + '
' + + '' + + '
'; + cont.appendChild(form); + var addBtn = document.createElement('button'); + addBtn.className = 'btn btn-primary'; + addBtn.id = 'conn-add-btn'; + addBtn.textContent = '+ ' + __('添加连接','Add Connection'); + addBtn.style.marginTop = '8px'; + addBtn.onclick = showConnForm; + cont.appendChild(addBtn); +} + +function toggleConnType() { + var t = document.getElementById('conn-type').value; + document.getElementById('conn-addr-webui').style.display = t === 'cli' ? 'none' : 'block'; + document.getElementById('conn-addr-cli').style.display = t === 'cli' ? 'block' : 'none'; +} + +function showConnForm() { + editingConnId = null; + document.getElementById('conn-form-title').textContent = __('添加连接','Add Connection'); + document.getElementById('conn-name').value = ''; + document.getElementById('conn-url').value = 'http://localhost:18080'; + document.getElementById('conn-sock').value = ''; + document.getElementById('conn-key').value = ''; + document.getElementById('conn-type').value = 'webui'; + toggleConnType(); + document.getElementById('conn-form').style.display = 'block'; + document.getElementById('conn-add-btn').style.display = 'none'; +} + +function editConnection(id, e) { + if (e) e.stopPropagation(); + var c = state.connections.find(function(x) { return x.id === id }); + if (!c) return; + editingConnId = id; + document.getElementById('conn-form-title').textContent = __('编辑连接','Edit Connection'); + document.getElementById('conn-name').value = c.name; + document.getElementById('conn-url').value = c.url || 'http://localhost:18080'; + document.getElementById('conn-sock').value = c.socketPath || ''; + document.getElementById('conn-key').value = c.apiKey; + document.getElementById('conn-type').value = c.type === 'cli' ? 'cli' : 'webui'; + toggleConnType(); + document.getElementById('conn-form').style.display = 'block'; + document.getElementById('conn-add-btn').style.display = 'none'; +} + +function cancelConnForm() { + document.getElementById('conn-form').style.display = 'none'; + document.getElementById('conn-add-btn').style.display = 'block'; +} async function selectConnection(id) { if (state.eventSource) { state.eventSource.close(); state.eventSource = null; } @@ -1548,18 +1826,18 @@ async function selectConnection(id) { state.currentConn = data.connections.find(function(c) { return c.id === id }) || null; state.connections = data.connections; state.messages = []; - document.getElementById('app').style.display = 'block'; - document.getElementById('conn-overlay').style.display = 'none'; updateConnIndicator(); connectSSE(); await loadChatHistory(); doRenderAll(); startUptimeTicker(); + switchView('chat'); + renderConnSection(); } async function deleteConnection(id, e) { - e.stopPropagation(); - if (!confirm('确定删除此连接?')) return; + if (e) e.stopPropagation(); + if (!confirm(__('确定删除此连接?','Delete this connection?'))) return; var wasCurrent = state.currentConn && state.currentConn.id === id; var data = await window.homeagent.connections.delete(id); state.connections = data.connections; @@ -1568,89 +1846,67 @@ async function deleteConnection(id, e) { if (state.currentConn) { updateConnIndicator(); doRenderAll(); connectSSE(); } else { - document.getElementById('app').style.display = 'none'; - document.getElementById('conn-overlay').style.display = 'flex'; + updateConnIndicator(); } - renderConnList(); -} - -function renderConnList() { - var list = document.getElementById('conn-list'); - if (!list) return; - list.innerHTML = state.connections.map(function(c) { - return '
' - + '' - + '
' + escHtml(c.name) + '
' + escHtml(c.url) + '
' - + '
' - + '' - + '
'; - }).join(''); + renderConnSection(); } var editingConnId = null; -function showConnForm() { - editingConnId = null; - document.getElementById('conn-form-title').textContent = __('添加连接','Add Connection'); - document.getElementById('conn-name').value = ''; - document.getElementById('conn-url').value = 'http://localhost:8080'; - document.getElementById('conn-key').value = ''; - document.getElementById('conn-form').style.display = 'block'; - document.getElementById('conn-add-btn').style.display = 'none'; -} - -function editConnection(id, e) { - e.stopPropagation(); - var c = state.connections.find(function(x) { return x.id === id }); - if (!c) return; - editingConnId = id; - document.getElementById('conn-form-title').textContent = __('编辑连接','Edit Connection'); - document.getElementById('conn-name').value = c.name; - document.getElementById('conn-url').value = c.url; - document.getElementById('conn-key').value = c.apiKey; - document.getElementById('conn-form').style.display = 'block'; - document.getElementById('conn-add-btn').style.display = 'none'; - document.querySelectorAll('.conn-item').forEach(function(el) { el.style.opacity = '0.4' }); -} - -function cancelConnForm() { - document.getElementById('conn-form').style.display = 'none'; - document.getElementById('conn-add-btn').style.display = 'block'; - document.querySelectorAll('.conn-item').forEach(function(el) { el.style.opacity = '1' }); -} - async function saveConnForm() { var name = document.getElementById('conn-name').value.trim(); + var ctype = document.getElementById('conn-type').value; var url = document.getElementById('conn-url').value.trim().replace(/\/+$/, ''); + var sock = document.getElementById('conn-sock').value.trim(); var apiKey = document.getElementById('conn-key').value.trim(); - if (!name || !url) { toast(__('名称和地址不能为空','Name and URL required'), true); return; } + if (ctype === 'cli') { + if (!name || !sock) { toast(__('名称和 Socket 路径不能为空','Name and Socket Path required'), true); return; } + } else { + if (!name || !url) { toast(__('名称和地址不能为空','Name and URL required'), true); return; } + } var testBtn = document.querySelector('#conn-form .btn-primary'); testBtn.textContent = __('测试中...','Testing...'); testBtn.disabled = true; try { - var testR = await fetch(url + '/api/v1/status', { headers: apiKey ? { 'X-API-Key': apiKey } : {} }); - if (!testR.ok) { toast(__('连接测试失败: HTTP ','Connection test failed: HTTP ') + testR.status, true); testBtn.textContent = __('保存 / Save','Save'); testBtn.disabled = false; return; } + if (ctype === 'cli') { + if (!window.homeagent.cli) throw new Error('cli bridge unavailable'); + var testR = await window.homeagent.cli.request(sock, apiKey, '/status'); + if (testR.error || testR.type === 'error') { + toast(__('CLI 连接测试失败: ','CLI test failed: ') + (testR.error || testR.type), true); + testBtn.textContent = __('保存','Save'); testBtn.disabled = false; return; + } + } else { + var testR = await fetch(url + '/api/v1/status', { headers: apiKey ? { 'X-API-Key': apiKey } : {} }); + if (!testR.ok) { toast(__('连接测试失败: HTTP ','Connection test failed: HTTP ') + testR.status, true); testBtn.textContent = __('保存','Save'); testBtn.disabled = false; return; } + } } catch(e) { - toast(__('无法连接到 ','Cannot connect to ') + url + ': ' + e.message, true); - testBtn.textContent = __('保存 / Save','Save'); testBtn.disabled = false; return; + toast(__('无法连接到 ','Cannot connect to ') + (ctype === 'cli' ? sock : url) + ': ' + e.message, true); + testBtn.textContent = __('保存','Save'); testBtn.disabled = false; return; } - testBtn.textContent = __('保存 / Save','Save'); testBtn.disabled = false; + testBtn.textContent = __('保存','Save'); testBtn.disabled = false; + var connData = ctype === 'cli' + ? { name: name, type: 'cli', socketPath: sock, url: '', apiKey: apiKey } + : { name: name, type: 'webui', url: url, apiKey: apiKey }; var data; if (editingConnId) { - data = await window.homeagent.connections.update(editingConnId, { name: name, url: url, apiKey: apiKey }); + data = await window.homeagent.connections.update(editingConnId, connData); } else { - data = await window.homeagent.connections.add({ name: name, url: url, apiKey: apiKey }); + data = await window.homeagent.connections.add(connData); } state.connections = data.connections; var cur = data.connections.find(function(c) { return c.id === data.currentId }); + var switched = !!cur && (!state.currentConn || state.currentConn.id !== cur.id); if (cur) { state.currentConn = cur; - if (!document.getElementById('app').style.display || document.getElementById('app').style.display === 'none') { - document.getElementById('app').style.display = 'block'; - document.getElementById('conn-overlay').style.display = 'none'; + if (switched) { + if (state.eventSource) { state.eventSource.close(); state.eventSource = null; } + state.messages = []; updateConnIndicator(); connectSSE(); await loadChatHistory(); doRenderAll(); startUptimeTicker(); - } else { updateConnIndicator(); if (editingConnId) doRenderAll(); } + switchView('chat'); + } else { + updateConnIndicator(); doRenderAll(); + } } - cancelConnForm(); renderConnList(); + cancelConnForm(); renderConnSection(); } document.addEventListener('keydown', function(e) { @@ -1661,6 +1917,8 @@ document.addEventListener('keydown', function(e) { connectSSE = function() { if (state.eventSource) { state.eventSource.close(); state.eventSource = null; } if (!state.currentConn) return; + // CLI 连接无 SSE 通道,聊天走同步 cli:request + if (state.currentConn.type === 'cli') return; connectFetchSSE(state.currentConn.url + '/api/v1/chat/events'); }; @@ -1688,39 +1946,72 @@ async function connectFetchSSE(url) { var ev = JSON.parse(raw); var p = ev.payload || {}; if (type === 'agent_output') { state.chatStage = __('AI 回复中...','AI replying...'); - if (state.messages.length > 0 && state.messages[state.messages.length - 1].role === 'assistant' && !state.messages[state.messages.length - 1]._final) { - state.messages[state.messages.length - 1].content += (p.content || ''); + if (p.kind === 'channel_output') { + state.messages.push({ role: 'assistant', content: p.content || '', source: p.channel || '', _final: true, _grow: true }); rerenderChatIfActive(); return; } - state.messages.push({ role: 'assistant', content: p.content || '', _streaming: true }); + var last = state.messages.length > 0 ? state.messages[state.messages.length - 1] : null; + if (last && last.role === 'assistant' && !last._final) { + last._grow = true; + last.content += (p.content || ''); + rerenderChatIfActive(); return; + } + if (last && last.role === 'assistant' && last._final) { return; } + state.messages.push({ role: 'assistant', content: p.content || '', _streaming: true, _grow: true }); rerenderChatIfActive(); } else if (type === 'reasoning') { - if (p.content && state.messages.length > 0) { - var last = state.messages[state.messages.length - 1]; - if (last.role === 'assistant') { - state.chatStage = __('AI 思考中...','AI thinking...'); - last.reasoning_content = (last.reasoning_content || '') + (p.content || ''); - rerenderChatIfActive(); + if (p.content) { + state.chatStage = __('AI 思考中...','AI thinking...'); + var last = state.messages.length > 0 ? state.messages[state.messages.length - 1] : null; + if (!last || last.role !== 'assistant' || last._final) { + state.messages.push({ role: 'assistant', content: '', reasoning_content: '', tool_calls: [], _streaming: true }); + last = state.messages[state.messages.length - 1]; } + last.reasoning_content = (last.reasoning_content || '') + (p.content || ''); + rerenderChatIfActive(); } } else if (type === 'tool_call') { if (!p.tool) return; var last = state.messages.length > 0 ? state.messages[state.messages.length - 1] : null; - if (!last || last.role !== 'assistant') { + if (!last || last.role !== 'assistant' || last._final) { state.messages.push({ role: 'assistant', content: '', tool_calls: [], _streaming: true }); last = state.messages[state.messages.length - 1]; } if (!last.tool_calls) last.tool_calls = []; last.tool_calls.push({ tool: p.tool, name: p.tool, args: p.args || {}, result: p.result || '', status: p.status || 'ok', plugin: p.plugin || '' }); + var pidx = (state.pendingTools || []).indexOf(p.tool); + if (pidx !== -1) state.pendingTools.splice(pidx, 1); state.chatStage = __('工具调用: ','Tool: ') + (p.tool || ''); rerenderChatIfActive(); + } else if (type === 'terminal_output') { + if (!p.terminal_id) return; + var tid = p.terminal_id; + if (!state.termScreens) state.termScreens = {}; + var scr = state.termScreens[tid] || (state.termScreens[tid] = { output: '', running: true }); + if (p.output) scr.output += p.output; + if (typeof p.running === 'boolean') scr.running = p.running; + var bufel = document.getElementById('term-buf-' + tid); + if (bufel) { + appendTermBuf(bufel, p.output || ''); + var dot = document.getElementById('term-dot-' + tid); + if (dot) dot.className = 'term-dot' + (scr.running ? '' : ' stopped'); + } } else if (type === 'stage') { var phase = p.phase || ''; var tool = p.tool || ''; - if (phase === 'pre_action') state.chatStage = __('AI 思考中...','AI thinking...'); - else if (phase === 'before_toolcall') state.chatStage = __('工具调用: ','Tool: ') + (tool || ''); - else if (phase === 'before_output') state.chatStage = __('生成回复中...','Generating response...'); + if (p.channel !== '_consolidation_') { + if (phase === 'pre_action') state.chatStage = __('AI 思考中...','AI thinking...'); + else if (phase === 'before_toolcall') { + state.chatStage = __('工具调用: ','Tool: ') + (tool || ''); + if (tool && (state.pendingTools || []).indexOf(tool) === -1) { + if (!state.pendingTools) state.pendingTools = []; + state.pendingTools.push(tool); + rerenderChatIfActive(); + } + } + else if (phase === 'before_output') state.chatStage = __('生成回复中...','Generating response...'); + } var badge = document.getElementById('chat-stage'); - if (badge) { badge.textContent = state.chatStage || ''; badge.style.display = state.chatLoading ? 'inline' : 'none' } + if (badge) { badge.textContent = state.chatStage || ''; badge.style.display = 'none'; } } } catch(err) {} } @@ -1735,7 +2026,7 @@ async function connectFetchSSE(url) { } function rerenderChatIfActive() { - var tab = document.getElementById('tab-chat'); + var tab = document.getElementById('view-chat'); if (tab && tab.classList.contains('active')) { renderChat(); renderChatStarmap(); renderTerminals(); renderCmdHistory(); } } diff --git a/cmd/gui/renderer/icon.svg b/cmd/gui/renderer/icon.svg new file mode 100644 index 0000000..66dfe03 --- /dev/null +++ b/cmd/gui/renderer/icon.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cmd/gui/renderer/index.html b/cmd/gui/renderer/index.html index d08778d..6a215ad 100644 --- a/cmd/gui/renderer/index.html +++ b/cmd/gui/renderer/index.html @@ -4,6 +4,7 @@ HomeAgent + @@ -12,56 +13,67 @@ - -
-
-

连接管理 / Connections

-
- - +
+
+ + +
- - diff --git a/cmd/gui/renderer/mascot.svg b/cmd/gui/renderer/mascot.svg deleted file mode 100644 index 838dd1b..0000000 --- a/cmd/gui/renderer/mascot.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/cmd/gui/renderer/mascot.webp b/cmd/gui/renderer/mascot.webp new file mode 100644 index 0000000000000000000000000000000000000000..9c0064018847ef61751a1dc9cdb840235765f2c7 GIT binary patch literal 133316 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ξ@dNCR5N z5W)_ZMjsDhI0UrbC1>>KkO!u`B3s1?&O;jh=H|aay6wqt!nS=(!MZ#L-bwq2k}WA9 zg>OYvKsVnjr3QNzyVX*ce*Hou=W%3wmLSZje4M1OU=aK@k(f>;R+fkDtEq*WG%}(Q z>mXT==q1qlz0TH$)<6Xntc>KyvhdzxSgBgMxQyU8pUqk@mT-J<@n`{*)g<}IELq)j zUm%2nyK@bueZSfhx2&jJh1Pg6wL2iM=myW4?t1AxcLT*|0V8JU)qGV#+vxpSi<)^% zwJ;+>ww07-_u;CuoH5NQgrylgUs%D7VHaE#r+4&FlARa{CIUO~HSOkl|Ek*cSQ<6~ zz1R}wb>-E>ul4~%F5<*y%WI80{l^az})+ks{>+AVzC)odZo;0v6 z&X<1l+DT(M1zQtF*w?xiS>)VS#TnwRD2cQU+mfIMxoTyo6qp?g6H5 z1ErSq?-t~2m#-iRl=Knm=;@2c{y;Lx2utol@}MceJM^|}R7O&tE}8+mr#?cqI3W#= z+*IB^MfPSF5yw6?fU9+_nZKcX4&3E5aFJ#nuc`5VxR1Wpl5K}u+)x=U9(ZQL!Du=u zm4gO@Z06myWCh38SU}zv7Q<079iF^>Z=VP??HOFAW!fMxj6x;hO(A#Qsk*p=0B4V^ zbFugU$n}X5FKXX`S6Kc^g4__!)ySgK0pdexr&6`2{O;aCkx|?8s`XZl!e7}w1 z-ELGRdjmh^Ox;5eEZ~2cT=spPU+cpTyZ&xe!cHEyyH=@Eg{Y$JS!%nT!peMU_)ZxH zJ|0wG@+x$#&(}!Q(*@$>NBd1}m~CxhpX1o0$DnN^B8y6nVE^chHd57^nj>#;m7zhg z-AIP0W|jPr=xD;UA8k-?F{&<cxSI)le6J3f_kQA}Top2v7(C;Ll8 zIaBj2iJro*V~1OZEiuvh$K|d!Aqb>L(m(5CEDPBr!jC|XW&V+=i9qA0@$A^0J+m-A zcbZbrofaL&1TW3x-at9CHiw(a{1LMpb=?HlNvQwn3H9w|twb)G#n+qavO4pAnlPyJ zAx%*lV?|B{OmJksA$9!TMS(yd@fkT(@~m$H5BM^!2x0;?k!n)X+7qMA$f{XmxmAlc zxUS(J&ROCkUY$V)KUCipfHP<(?|ia>T-VpvUrPae8 zaP(M=R$=EH7{XM_sSOUp|K>BeVgFC6B4U*t+H=Sob~6qJGK9#rdI=$Ydd;}Zl=nx} z$ocNs6#ZBx^@#VD%qbJ}ncA!PnpJNUaBU4rxkT+>72*mu$af5)K9b*aZ$POeha}}% zvVdDYvYGY8AR3b1 zbCr*odh)IFtVOAbl87X(In72tl45(w*pXo>)Vg#rHb0NeCf1RZq;1e-=7 zLFnrc5NNxRO>nc&kC2<+#QI^A&KN-o0ekpuyfSy_*c;<^Y6>+~XH{B*8_Iaob10;{ z3p(6=8BYtB6~i(P<-T)Osf*hA_D`^OUi1M5D{Y? zEX*mA2CMeFJ-z?(>BykJ62qmapkcJp8CveEn`qSgfEm|k$vlmEy8jqQnQ)<*-kh~1 zjZf3SCZ5^sZ2~ilFSE%At52sCxNY`kIt~7PB7a-c*^$&)o4 zd!;xzg!5V2(P(O?f8O^>>Wj(c5>rN)ctOnYeWM9Js$FaE>p}hrTU6f{JG!=DO!1y# z6s9ANJ^$=81j0Ed7Xu*An;rDH{1rj>p86u@V#9b(AIaqMoz51fs{bzhu`CdGKPlz| z=OzL}s8OWh;HbOysWiJO8#q!$2;dY4*)Fk8+GOaRbN*dMVhcMw$|zjDCYt>8Bv@?8=oi_ZElV z5V~K+4Vl644{j#>qgh$zE)eVZSufD2N4d8xl)Rn?tO5@9C^OFj9B=EN>;&5z zH(U~R)o-^NZG8L?S%f*K%_N?b0aWMlH4ATHH!)-Vh z{mR)=3+f-g5lh4;o&|cd(1ul!1o?J3fzBqVQWB%eqYdAWAHsCNk3|fz00$m(dSuv3 z5n2`;xPD8w;mTFXlE7-ta{e582}``p=YXNJ%` zi-n~RydJ+sn6SfY{p`!aXi8dcSxu0&rJ6vau?njvfI?xvP*V|SV&vVfTRDsaMa+e! zbFYl`7cIW@FyEGp8lR%tJARAgG|p({YE`#f6peh!K}&-W>VU18{!gU=;nxepsYtVm(MZ}K z9?P~u4zxAem^pu0?SvD<=jZ$RLin!K_Gga~0=cvL-Cn|k?T1xneY&&~_(kp5XEVg= zm0aqay4+CGRqBYlXz3IekHeVqN5(&rx#!RQJpiD4jXB5Hb4-TIegHx7QnXIpUSV|* z7v7jeI1TTss+1W}v$N%uBRnx$`c53bBF$Tyjyu(ep1`|nf3+*6LR>y^3JB%(;tR7^ z%9|>&_<{{axm$?Sfn$2%8(hgTY`D$o&TFo58f)50OUk6S-uFFm+;e#c`V0R;^|x*$ z0%^nLH>@VlR44RSv_Q!4Lbwgt?9xSuLS00@FcsdN-Y);}C=m$5HT;`-GK}FnIR9M& zeD%GfJg|wV9Su_nB<_OBjCUr=OUo_k19lCJXaKy(mkhd-AAhhXHw!Kk76s^qiDrwh`)ig*|PLnp1ORcoo>R(=vEiS}5}`WKUHR zO9wP7dz}MLIw8m6$X5s&9RWID*K1Zk&pARw@P9#C;KI_Ap1{KER~EOLnOt;O+J%TV z53I<-Xleh~6x3!8=A{)PH>4HeF;St0&=j3yT;JN=3x8m@PVHt)BCqEcvSGMMm2 z4@Bj%G290z9KRXTmF_praRYyDcgn>mgbuMATnRQ4~{+c0@blcA8O-s$ZQ<_qI^6WImK^mH1^WaM78J;=bTJ0T-Q&kFfI%; zBw=p|GDkjPIFAz$HTPAafe~_h1?6Re`&U#3RI@;@s%}qriEkaKriMidj<7k?N#}8) zH6cz)?PyRFEV^YF$s1$nt5c0P%EJB5YvKIg_yQ=Vl5+j8o*buY0EO!@^fk_#n*jXr zKgVHdl?Qe3-0ve1yIpFde16cD*a{*b-lRI%R7;82<$!Aj2s59cv;{9k)eEsH>Vb0# zRQX=3lx1#Yh zUsrsrCg&%7&sA;lw#~vv?&w+lNvx>%JG{B&6*@}WT2|HtSsikckCy%i^R_Hj!iu}UIzkv#}O)W+Ls*t>qpgO?QxWW&sQdW)!lAL6F!8?OY++@Lm?Lez5M`;LNkV*9>kI(&P zM0YV-(an>Qh)lfLB$cRJtHgGiXC^ccTj!^@y|9e7jtn=>Scwu#7S_{TAqHKRj6*F4 zXeN4Dp8R$9jz3IbS!0%59im9mdyP1=8`<%`4EDrq#WHp1LJ0~gzOFz-mUX)zB49TJ zU(NG#wRS|@i;|wSNL+P)nt2R)`&qHrpzijlZG6g=p(O9_tmWzEsFqwrFO+Ci{Lxc> z)l$sY7_*I`bnT=A9W8p_xstJ8xp43VysNtXN@OLJ z{+_!a1!mjaNV=<`kdv7KT=IopkUm&fB$TkKx=$ zj$Ox6%q1Lk`WWY57+htX6X^z=zHac^s4jI8Tk6wK7!SyiJ<8!2MCX-*;k5@heqC6M zL+QqeL8^#G!9=S~272J^9?YByw@dmQK%85<8rEGetdK$EigmZt;Du}hnqxo2^)Pq_ zr)9i-**guGeEP4B_dmdB!4b~SJL&kF{jTkhE(-CvyH@47# zAAW*}(;qLjxRJ?YA(8IeO%g!XN*X7Xq_{hE>=_J)5uA^E#h=0+x8fBI%W6oTW&>zQ zK&`8x5;ZTQ*L~kg{cZ1C5scv5PwN9?d526u*QbaBV$ve2ddXCBA8n zj2doutg2I}t)!2o=m{n#gIB6_kw|><@5Waq?AmUQYAW^ST2bE`Yi*s9h@=<}T)DW9 zjqiGSvPfyb2!mJeFlVpRbe4VX*gMTCw>asXpLEHd9dUWebN%`kaKS;YonR;GZpZ;W zv#zu2P^0-$w{>+!E&{ns!$apS zYAiGG$lQcqN_c6IOsH?MyQn*q2agHP7dn0uT7|&@& zE;g5I7{NWMj8@)is`#uD(nrO}844!ptqsRv5040B5fEl&Ale%VchR_*|=9apK*blPrU828EBiH4{D z*e&J1*s)HYj#Q);T2Jnvesv5W&>e%h-gm1;aZ|4_+tc_VZ~0xZ(j7{I(kbbug0DOb63CwpSa$ zM*5M2UUN_j5_Mx6@@DLB=?$+V*#9eA&`SZjz}`fNNocD>%UsbQrdYY7H@f#e7`fbH zn{o&g?}6LM7XqUEMmG+HBP1*tPGP^H&^UN~jt&S6FF#qi7Mr+ZkX5He8*Q1{iWaw% zG2+9&Obt=|vxJX`G1KZb@&xy~A;`dPyk*@Tu5|8fau&vraw%twunYcKyZ?FazfJ zzh-Akx53L@c=a$)I(0h;CF+4~c>&z&8X>Wr3A&)A+HuTZh5Ha?UR-erM0Ub!)fQq5 z5}06jvU)`oww2`-3bjJoLi$&Edl;CtHBvRCJf1x;NBc$K1!=mfE8Db`Kn@UR6R;J> zXm0N(6qzkPZ3~@%=0Su>(nlgc-_b^Rw&0R`RS&(Z$M4h|r{uE$xS+!MB}@@jjDYCD z5*dBA8Zt*p|Hj0KOW1I+CV|`r!`)lExdVA1!>gE48QXLfsbXzxW=+ec2y9H^mEFWP zC@MK~cWM1a)QWuDmPpfp6bmYhErU5r2o;)zII6dK#hqB<<^DgmLcw&x-Ck}2(T}jr zb1!8LBvBK3wC=6IafcA*9n))kjtTaDrgm8TF{1J#+h3*7kspt(*bPB@%O3LSfVZR@ z5HK9fM(-_Qj%HiR>p2-#wP^v-YhoP{qDY0uv0l6II|GD=O%B`_8rDUmH5kzI7v@a^ z{moY*!qX4GC(csqOWLViO?oio=**egfQMdv84r}t+M6q}d6exyXB>ny!-v6aWW4i4 z;NQrFo8JnYWO+?lPn}dK%s0z1!q1!dQb?WcS9*DPN}*`yMKhv0=06RCQ5$|&_Xdn~ zA={bRECtp{RsqeE*-kfCiKmQ=_|+@%KtGDFEQGUZL=Wy7)qFAu#$I7wy(hBmL9AID z*oQO}I@jJ+S6B8k#7UM3pGSEIR}JZh70Qrn{OP<7#GtOhZ&s!VTSi86ib7-G9RNXJe{lz`}%l02!m231qbaQpVLHI{Ew zkD;t0Zx9;~>rcAH^KiqgWDJlt=e~K85c{>Fk0^p((R^P(HVyb>SjGmJv&h`CQ0Wr; zL${?f93$2C{}-%o52Xyka|Qpq3u}B zbLJ_~CKW4x4IS8Uk$`ktGs3~*Lef^z0n1K9MqU9r7#g6nR>nz4y`U;$BKd@TiKz@i zPaT@B+JAck%267vyJC}FUIftnmjrjor#kA1W7zM=i#Ew#bl=s5&I@(0Oe-aXkI)Tt za@GBQ!cfB3`$t}=?cqlF2?N)&JJ4I9lX);$3@n6`Y8?iuEI=kbUr5T5#FgiYK3c?t zj+K`FLK1G0B-gEes|M!14SLAgE6Y2(O0S6+Nl*3BUk$ z={yq0F0OMMAnwik2e+uj2;+$I>Q~gCf-W=Y;;vzXfExrDf+ZT)H!uI7UyF+FY8Lrc zrkzb~umET}teout%hINd0EhbZoKb^#t`ufoVrg4Z7)B;osn1qB&x=FWCxQudd1n?Q z`YTV+fT^5&L*T|Yogu%bCAlFEf415RreLu#G6syRmDy?{B)$2FibZjDLgk46XDUP5 z&SzXjct=^C2Y`Z5E{?7NPxz!bsi5sDEYEH`xk)poX@$LAy(xhTg6<+1o9P=keNWYr z#9$tY#Z9RpaeQP8#MU*Rs8Kq4Q6MTA|0L|x13%`i7t*H8y5vn-7xL0DVs%t>45Ka+ zB1V!W%A9LXF1B^#7l_^KC^Uoe3@|%n4A^AlvlFq5i!Z9t1|WnIL>X=#p9AT)A%THp zNFzYJcalKI>}A;`K;Cf@GY9?ms6pOQM>$zo91dc3>|La+@V7W@e&^~zv?RP0?v)_T z)Fe%zv&XD@Q;T@A|K6PyWd5yIf@8PLBr=G@Q7GL6D?B}s}AU9xujOpj!2Yp_>^On-OX3Z+j8RjRq!FQ5bHl(ubxikie_MW&dfI~l7}n)2SxoPZxlfuLGnxV-8^ zfpSXyVyzwB8DYU7pl^SskefTc9(h*u-W7Unvhr< z_lncZ1)<*N&zz=f!F$FZef7sIDkNrN5BCE&*f77DHaEVtXxVyFjoAekUXC&0a_q?TP&1e z3iQTrO+GP`pry4NTo0fyNa)UC#v|7t8wC?mp*N=R3s{o{M6s(+P=o5MOsaLl#>6uS zw3P$o2yjbX_ID8hP;&)(@>-Wai07RjYZyI;GhGQn@k#hApBe}fZX@4|fLe}q0Q)G1 zX89=3OV(-Z&^J_Yr$o4s?W+@z9a$!RB{wKT(ho~AiU62Rx`<_4UT)rl)IF-6nMyD= z{SKZA9v5W3!hxDPs(s?8kAo;#N<&CuNb31h+QzJwGsNfGqLrmm0?RPnE&o~Fc!C87 zbNS8#r-8gL-vj6w0X3BZy71}m;C}KB*P;~Y z{HvX6g^-b`e1jk6J+Sdgc6|OQ+u=QR?4n8%X1tp^z>}|tIdgCOXmu&9O2B7{qs;!q z-Z28iS%S1NqBdD81#C~jJ2dx{5NIb6cJQuG*SgA9v;-Nl>Jb`B&D9ApdOIK4)<;3= zcw-iwI-1fEb(eR-!8*YishIzjtaZ0S?-_jEXsfD|srLHAqH=x@pv_N9i};LiqN05NrS=eVUfs(e^s4r^Caa@8nj;>AS0ykp2@$&JF3{Zp;rmq)Z zrv*#p78^K`NHa#UQLB(T-0?ess!P9jqh0Q1&?+%eDCFDBa?e~OT=j+U`IvEb9#%v5 zsCqUm?uvZI03CMbRs?B9ozoxe8ZDukLAsLtJ}O?w_bT%*gTXx{8j$jYG&8@3{> zO@6I<&MPc6Yb1S=?8`b5D>>3(_m=v8o>8=K93f!N+_46Eeu_jxNzh$SjXzivF|u7k zcDsH_1zUi|bd4kJ`Z27b4_8xdzhr--e=z;cvYnrdU=}ZxB}9~!P~l+2jex?4g{X$E z#BSt0n)MmJ0V%Df2oqCM6v8ag0Ae`6bl9Cl0nfu;lc(TsM!omyDt~1*_nfU&%jGqP z0POeDOB(pZA{cSQ+1z=in4 z-`ii!7#6;a(PE#t{wxg6Pi>YcU0{NCQXZ_s(d)kQG;}n+!qb0W&*|(scf_;-+-pRM zx{R5R;J>1Dain*w6P-H-286o1)MjE{7x-YxIAgqy*y`s$&p27MiF`R6A!r0-?Peav$%u#U_ zWeO{YVAF(0Sm<41hcgO;31radR`CEJO!qcgmH?li*+1+Nx5R)9$kz;)Jx8h2nJqbx zpr`q+CZ31N!Y?nl>6_V9KvtIgnee#-PgY!b%R&M>$o1qGQ0H@yTg;YVcThv2kn(b? zE>JCHMW~5&2(fF>dHa%cS^GyLr77kuk}j9C3O=htZRbg+NMRViadS!uzUHxTNY@aFZB3k*}Y%F73B$H<9IEQrX^LS(@0Kl6Ly~dZ`O&{b>yCGGUekmsih&Nt>Wxm`+dQAgeKm|X9vp(Rpa(5 zUPI^N@@IAyHoqYl(c*MET|U@r2|s(8uHj3@4P8qq8|1K4(GHj|qya6n@0 z_nE;3y9-u5|G@9?0+2;x9i^i=&?*#za)=UKQ~I=47gBKg*BD-Z0^_T#X9d?|6HkW` z@5#pc6$a__7Muhc4=mm=ed-Bj%%j7o#+~vB)Mk-H8!~db1<*t~sEw6N;LSL~yjFYE z9B3BGx%3*aqCtM;aHsTu&Ocj((umir6n-2y+&@7>kO`@oupeOxsySS^{yrf#EW{|B?lW32s*)^ zedvZeiT_wpix`Ro4W^#;C|cd`kUDMx!PAjmZoVm5X|W2zs-dfdYi=w`R@wF{pI=BU z4?HJ%z9;u0Hjgsbag(`Hh9h+#>a}{K1?Z`nImWN9{9wJU&v0e4Y|RdaDmw)UsXEON zn7qW;-e;l+q&>^~Z9z2afT^@3@#EZyq)`a4t5WtLdGN^&{kuhbtTf$w$MImR>gQx6 zIR45Y4;?H=pl!k}DfN*Eim};crj%k1>)u?bF!D;pd@L9ZhBLg|PBCNUMfOS~Yy5%? zj~QS&3+KRFm7!&hbL0R!S?l73!%6TMXIMlJMerG3Tfg-LL<86w`r)z^Ksui=2~Qn3 z;sMJeL^vyLX|li%Oq#nEvC}(?J7)J#pWij_fg}Fu*q`F+b9vg$ogLbHeLPxFGkJ0H40eEes zwZ_im7Xutn0j;pR?GWkFHT@c;n>N->)jx`g@VV=z&Yad|WmKDum#)Cs*T0dbs%S}x z)t~$41R$}DVq~L$p_6mH69T9~Z})dGF(;a)ANwofjgHtAOGt*p7m)ME%Pkizc z4u*jV1MO`9Tqrt*=0!{}Eb< zIuuwEu7xdW8&rKR1_xY@L-V2qUe$o?@t#~7S+&B<1d!qp-W;4H#d!!Zv=?oK>!kj z${rsc>C>1ozxAWrjO1j0r*cOw6JrA=zhPdsZnkMnm)^Mp#O^j*sMdMeElRbbB!db)p{x2$^Kdm5240lZ~7ih2%ZjR?FNIx9~ zzTIbplvkyYcbNE!NGBLQ^eIvOhWE5_dmTzBg%Lu#zU`;`TKm6pN5n@p ze@>8ag7M6`t2W+w4nfnTY&aWS-*ah@gA_nqxt4=ym9fq;aimaFD*de>X1Fn`!);@( z>G)~vOgku(R9dhGm#_gytlz5GJ|$h#pRAx7JF|fpBGLXUMpB90(MJdP-*Q;hZ!9-h z84Ix(_~%ek{6%Ysodase$0D&ICUNN8lkuMDMtaSrImZpgt*$Z?dVb|7Z#!uwaG3VY zBT79U z+MCEhl2B*^`%s)^L!dulAYS@%Kjr;PDdhP%I13!dUIaWrl$bv2zV<;&9_=a-S!gL}cYiX@m}ONc1oVX8t(RTZ#WI(&erdV14|CWcw#p}&gLJ6xG{~-64~h-5r1uw})HGNc7 zVzC4&Sw>>VSv&g<}3R#yQeSNIe!8=e{3W>YaB_nXgn2{V*39ZNl#$Fpks`lUwP&$JU?E_eO7kJ3aexvdA)yFHt?$a%KU zc;Zt;lf2G!XfJ68V5tPo6PX;ok70@;%1V>2TOseiPUo-LNu=;3GT4Vn5Em`hQ1VDJ zqyX+mM11@wOM)e~YLYJTG4R;}0;4%+`VSgdWfJM9eu>d4z|XVazx_Uj_bdfqi4NMK z04xcVv>pX#pq%M^7fQ9A!Z|2BwKe_{O6U%-Vmnu9Lm(L1E9p;o`qaUP8;wSo*t^Rn zs~cMy6lw-HyV}NM$e1e5B{nu)VPN(knTN--vM`xDuo2W}#&ci#)Rapkaoa1wr~net z;}NYihurXzZ!l4e*Ekrx{hC8G%ya1pfhCtt;<7gCw&j2q#iO)B%UA>PRyRs8&uikJ3q$eqNU$!4bIv)HHidql}@k#nLcR+seKV3Ah>{C(`63L9X# zooWv#6{`=E-sRZ#1x@n#7vwi{yA(UaMfl_OB5`nksfv9S>})`6-(X)$syMt-k|i!5 zEAfEG`KhpnJqp|i@t$oIn6x-b<19Sp!b3lx{;et&f+AytSwAU7e51tNE?VEqnaz${ zP-}`v#K{}K4*vx80P+DFKcL4mbAi+CnHJ1tNiW_0f|90(;@m`Qil00lRtrrb_kEEp zg~ro2wM&Q$+(3}Ddc4gvyDl$qCG<}&@^MyMI8d>o;o%E}-=IysZ3e7kGS%Y4nW0?a z2eD)r|C}Qt3@UvC!Bkc6D;x!&g4%OW05&l;Ny(-eji?Fo_BS8%Uj4Yp>?t6y&tCzF z5<+eX{1E!mjsr4dd!=K?|W!yPOVXdPzT~Yxo=fP}F&nY}$?jy<`)#nIK4_dw7 zb%O6#(27}&??FuA;Q4J&G+DsN;0Vee-x4=BwGZoIwX`&c$>NAyIjJ;;kIFv6A_wav zbnPRMee3cSYCCNA;$^8YdvoL4CUDYRo{8$fcClm^4&`8X8kiB-Y)8>M61U6KW?;iT zr__?pYw?|-zo4W}aziVAue5m8-JqKn5ZG*pG<1)1pqkuBLjIGe>=~-ujrp9J-PaG3 z{>-OowGe3FJEVSC4UU``@v=`Sa32zodJE4ouSX)Vaa+&jm$NRbpiMfm822F=Wb}fC zqz>gA5AC{uA6~679CQ4xB!Ec79g>ArIwV1OuuN^ND6u)Od+&kD<`Eu{A(<+QG2>4v zD6B6Q*|_Q>*M$51z_AEP&+^Njs+6qn2!GftKFsda0e#D2-;`zZcnFYXmUgJi2Y?B} z(DX?O9JtW5CoH0WRYd#%041FyB4RB+RmvX#%99uS6p7Yy*oJQJoh`u8s@EC5fS+CiEV&YqT6{{AW*?B|jH$O6hDzVZ`GYW((P#;r%9|iEFgpTd(L|9Q+#n;bi#@gD=W%>^nk(&6v?-aOy z!Um$0a!w-75M3fDwu(-xmbT0oMY{c#IF4kx25(n-2^+_3^l@ei2rJkiv6Xs%#;FPY zBg7YgNw`QRetR~sc_z?2Z-7QJq9mkByhss_R1pz1PN*rX<|y%0m^1$HLNThn+w0uP z;DMBLF~T%JD7mh`Y%QB~U+~+A+pXQ7xGU*XqY`YHRpfpIm#qO_TCBy&NUI8EwJc?+ ze~`JSMrv*Ra;I-!SL?d~1n{JTf_AeVxzirK%5n8giPC7!V4A{aiZo5$dtl#bH}gw( zv1F#ftuf6LvD=+W_df4z^VLy^;-{=71C2^d5^3&X{d{0~TljP!L3TWbQE%fKrvLnt z5cbXg#V@f(1%F}LMP`}f?LFQc=B0;wmCK&+e_9{L_Qj4pRnHN*+{abUIy0Ko1( zy(HYwud{GV`rboq%opM3W!p`2I6YKJLHZfR(6HjpkbuG<#PlD~OCAl`oJ2AX@)D?2 z7}f%3)(~8dkC`_kZgfQpxdPuNVC>b-7i{>8X zABKwHS2_8e67`t^`T*j=yvuE4hUnKJBrjfUVrL*QO+S*BanMO{M}D=nb11A|K-}aB z;*B_J^A2Ov^^wTpPuU7wS#IpunBKCah631oa&i<{yj>eYCuueyH!Lqf6Y z#X+#P0Fc{yZT$B7*O;XJp88sWSwD-aeJZuR>`8p}GD z^G!(xA%S%S5wm)>`=EOk@ro5US6i0Fm^Wek?E&(5+|;AISgopYun=#Gfi<8nZaR8? znG_=HAt5%7kzKajIZ=(IK~v!GtDJkT?*O2;?Ow|d8_bBc5=k$)!Hh?a3)lUf8lTeB z0zxowizg9FHa#xtT0j*m+Nmh)Cn3hU^mM}a=f)0MU(Wm}l7^GnYZHqizht6Wm+)U! z9lq%=A@xS8pNl-Iw2n}uyP%*+m>Gx#klshtaDcZ}Ror;tMAb55O#8saHOs`SlR`#N zRmY+cO@3-l|85#i_kzEmWF04R%v@fX;tA$I| z+X6Pm;Y-{P@1+^ui7ltLU8GEHPxiw|({E7eo++N7X0{>Eo+KcqOU~KZ1LOW0c0JDo zk9>t-(^o-LuR$hdm0i~>QDMyP8f_hrt>eI3!@$TAaVcxUqBKN1O$Kld1L3hOu2|2H zbadfe>CZrc8xRzD$;VSvn2*~W5^+$U7r`cYZ^u6ueet7;!PRLcqO8h0NE4+GSkWw4 zUh-F>|5D;IVpu$cmzWdMo7Enq7E0La(R{1K_?3w*zM}lu!>%TV8UOaYbJ;+9>tj(ZIsQ-{1(^H zQvi}&I=`Sf%1W!2NA6C}TVuOjt>xT_XuGSO!9SwaE$w3j#H}W+r4B;sUob^G!CSq) z4#AxZESaHLF0c9s)#5A#V9lk`FpPy}nygrW+?vGzPnk`@-K zvPDi;MWViM4-?B^EO!0VnB`nI3WwviLe^$!aK)<48E4v-J6y`|&nwKA0|Jj=SMC&Vun9!;IM)r+rNwSj8Wc8qM;^#jANuWch!kBXshH8ffJ zv1H)hx>4?5O!1jlW=XuDfm#uk$3-jDh$y2;+;{6kDOMd>thK zA|fA%GZH)_Uo!?&4;v%+ye`Ux4|Efyjdb9vncBac1JO6Xrwq*TPt3_I4g04{m~08QpMx-yiV_w)afv+kT`0ia!=Ph~Zj?tSnOPHnFjUBzK|^GV zj_oEIX{M*&`UXYSwbrlmnHg-F{Us?s5L7jy14s@~Pd8yK8a6S7Q|g6fw7Khm90 zIKNmO0TP&Zj|7?NFf{-&4xB2>dedT&%5Be0K5-vF!04!}e2GDONt1|S`f;%W9&0m) zjcc|JL_rhzywXE8lj+UJoUFaPzZ#o<)5iAutD;k_&HCo2b09KkpUldt2W&4>5WM`? zw_3&RkUtr?@4kb@DHoXTd*eE(TZxO3r18`pgyfF?zMixm7q1cIVIT$w-5>a)`+VQD z*b}s)-(|Rh&+Pc`>UNn&bmN^-PS(~t&uiwYAKHPXH?31S^4~rptgW797*bFuIZ9PZ zS#v8Zkv)pXsYI3Ln{i>ZPkP%8Ud$^c10G-T?u*E^bWu|&XjH*c*{1e|U=kLx3y<(@ ztC&2rs?*tPPHZuH`d$QsB*?=Zs}G~i5MRHYlZwypc~nC1k5#=EMZpI(sPJV!u{+}d z_}Xcoe6kL)j}hJ#RK^-EP2;`qEc2a4tx^V6i|;`i7Hxoz8i3P#an#Pke@70&WlL^# zgxQmkffP1Sq)`ldBdUvn;Wz??Rl1eOz9&uALdXIP5N)<+O~6Suos^wXmC}fQyfjo5 zD*JjG!}PqyZ{q;#BEtwtcIHNOh#1(0gBA*Bn^+UQamwPK_Ln8Cih$&rF|(hG$J@I= zknq-3obN%P6|BTUUfxL=<1DDf!vy--LB5%$lS_Af%t}DvFu{AcEim-S?-*G?v|ay0 zv#Kd4o8wPb4UJD(LE*<2Mh5sY*emdW3<*PCwwBy3odGJ0eUn5)Aqd$aGERyNA<7*# zC=3=q{s~sE&fX$B+!0n61Ro&{>|>hy&%9q=^zECyVk>5&e;4OGmF?DSq=ZA*k#SdK z83E9T#61%s)zv5q*7(%uUvT<$4KTECU()kUEhiL5L={#rZ{b?DH&-@ej&Qox*MM>J z`LX=QU(OiE`?UQ}zRs;AcF_plTldh!5y=b^Gy$jxsBicPu0--j1@A`VkHA{d01Z0X z8IR%F_Ak%!cIUt$?>XffPb8d&Laea}(SJ@icf5jhoH9nIz;0-ASjtK+=hN=-2fuQp^gR55|NGgp6-ZkPK4iepW=&gP27 zIXJB>FjYne7u~u9grMcJ6BsyrfzdyroAh_2#f>^_X zt>J}!b?lHw6N0}OnPwHlpzAFx z*n>gsB?3VSE7LKp(+>D$%wQyrC-_yI0@HGg2k8Hq5;LP!L^D4@bGftvH6l0*Meb$Q zg0g4SR7C5oNzPR!3xzAxx_>HvX8d(W$Z2dq)O5*d#c7h);1s=Wo zM3EH@{AGgW1?qYOy6)cXm#MWi<_AT61rGjXjSMa>4=J(h71)CyBv%CdN+ALjfLhQ$_-U`X=Se4f~aENeQzaMj_R94%iAL z1F6J~+90xF_hZ5U`KJ9sJ%HYm>{WeW#63qqo17HMAPe7SCjUdj9~XPh)=CavY*RZO z;*lCv#*wU-jQz}V07%XYdgZy$yHKjj!NpS-bI9d-<@vS1flvnoutR}&OpE#>rxH9w zSbyxc{S;|VOB0<={)3aYN`F7z9r!vfx6Xl~N~j#kIf^o|Q2p=n)}}+iWABj9F-!!g zNIzkq(6o*FP$?8w?RYsF<+(KQ%f_P58zj+0Pp#=>2?zQV$>W1^kL8@JrXar&Div~* zE2hP4n85uAr{*UG>VpHI4y)b6J;&|n1uy0`KFyBG3H@wvaoXKzHO?r$2->&kOy*-7 z8ywlcI}#nUwJ~2nBC7bXkqRzaB)i`tWSGEG8S@GGz*_*%%Bu>y2uhnL`jIX0tMXMA zy!%-Ci6&2WR-pm43mG*9Tvul=*YpZfCwD!cH2q4X6sXa;#2^)BSIViT=V4JgxW-nYB=5Ncc;kGY^0DUUG(HzQW zr0B7Rl0Pk7w6`0Tf?+0a5qtcr(=L9^#?ydoe%_Ufchxc0Q{uD-88rRZmhzjOk9qy8e9Ku4QTE>Yf#s(8F$D9a@ZNtw?1e zDt?KjNc&P*)@aE-nh!m!m)z^OD=a2cHp<)A+vpMFg~(G25|^LHv%godowj~=pGJ4y zEzF_bapivSKEW&EMs$O^6AQqbc|z|E`y&tSy?IY+@?SS=-VMRe>xe2^UNIihfP;R9 z&*?;|5xNH_P`nF;h^N;-`0R)NW=%_#%Jfg2@5YIz&j+eDgJkuxDmIp(BG~ijkrlzJ zvO26su3G|HNB=4kJQr=Abp zL{@pAVrZ&hVm9>%E{6x<0RV%{;+SHpd^L9x*-Ce1 zLO?D^MMeaY`?jdSzje@>I}4>V5@N0oUw+ypDj-3$*>6_uf*na8r?SuYxtk?-(z+u2 zWSZ~{tsnphiZj8$7$mki6_+%hej4pdUOd=4g}NAs^H=;bxVnpJhIKBBo{sQY>X!)L z*_wZQ|Nl>gbX|Q+HsCz6T>yNMJCRHp5D)9(*q;~PdbBg!vA?gsM73H0M~2cAAR+a? z;sC=H_5&i@Rw+-9)U_0;!)RI?n1ollC{!qkMv~ z`HLrjtM~5e5Bq`|_(i@t5E9=_AgS-ywc(~^U9XzH)01#snRN2_8V7>TjN+`Bm+Y?^ z3eMtTpVqkKbYzhX7e8h z+AX_j|6v(k*X(;yz+k%Op3NIc?#>r|l5Rv*l2KM^OlV)T>C&lpZnsf`zQ4ZF=ww{2 zC_|V=7yC3K&J&sFLbdZ;Ci-~!O4?dn^L=SS9LiIY)jxo5#Ah!Wq88m>0KIRJ@?8Ek$2HRSzvJ%Kmv-lEm z@3?7Cd?K~n?O+G@aphddlaW{@!;sMcsKh!7RR`M9e8zrzuFM+i+k;uS^pN4=>m7Qe z{QKp&&y|Lh-9a$EnZSWd=>hzFV?uQ9YD?GnpCX!WFZ?ZBm$(G5H3Wor*q*~<)?7No zur@rcYM70PyrZh+uS22$Xmr((?o5KZurvwpA9>J;ZM3oTobbJM528THz|za5@@j z&~F>$ai;+kI79^G8*{^gLvT{0dg6+)2PA4y*O*+gYo5tSKXsYbm66HX(ot z*s3gaFBYUEm_8uS)B+Ek={9< z%Q)G-sr4T{;hm_CmL~4LTL7-nWTd=u5mm&Kuex+|e)2xuoLv zGe!9*B4oHOy2L_BDx>uCdwwl%SjZ9CK=$uopy=x_Y;9T2TVJXE_wgNy}&Uwlv<^JV3HJS7-whG zt8yf@bm$dPot={Q3sP)sJQ5_6t{@!Ci~_!F7C+`I(-n8fJNe(a1mL6xyh4vEUb$$A zX2tSnY~@*L8Vj!UB#I$KPBWJ?8@i_r8oV~t59F9WF6Plgdf^K6IW{eF@|N`pDB1C= zhM0JQIJMy|51Kje02+)jW&PQ)Bh2w9j=s%1JoZ%E@Fvqf(k~vmJ?8a9VLT0_IRIkRzp{FR8ci5N45r6 z2VA`B_rn0vU;zm4Sm8t(B>ON8_=CpaGuiE;Wpz@@Dkyp)<2Ou2qgCF~q69QJO;B~> zKkBZy2I_(vNV-~mqYxHT1OO~va})-PqRQNKfOAbSBT90|J3k$jM(=e`aIuVu@)(#a zLrULidxlfgK^If1`nMHkpAhOgp}3aDM_%j@L2V7uUi5p=XPAi}#A6+5Dt0nuWs*ULMEjR-Vh%1B2UuIHDv{neh3zlXN5x^f`50L<#t0l`|VPJ|99cNfNn@f;FqJj9I4Y}%XtXMFc49(?mi`qO*`0njbAwog-7f6-8@05(NWo8>1S!B zRO(Q12MW$inB$Jkf`}Z_dT;$uY6K;L-4x#LBq($sPTF2?yc1V}=_7zwkz^6b9gX+c z7v-Xnu7DV3@i+Vaa~(>@77J9ru>njrS)HE$TeI8rF?uh7g0_EuoThL~fL~Wwe;C(d zWxNAP!Y)$wC5M?kln;C~Wj^T*%Wu}-unn>=2gn8Gkec)dA4QQMh*vv_W5qy=!cSw~ zAX6u=d@cH0kyTaNaM9=9#txDn((XX=4>W%J*Pmfb^mG%zX}Ph8vUkLMwrtlim)`3!6)zRhr!wZwRlK z+9VD7fezlNaY!Yv`vHYqc{sL@>FR#onFoC9DU?mCA(qGr*HiMIquwM4c2B4w_78BZ zWd%+sdlh#a&WS^^nlm6P<|L4Kfe_5u+0*e3Zigp0bH2B*O+NpZc^cTG$6n>cU$n+|aP86YG_z|G4-)^8Tax z!gI?+vApZAzTB)zC+2d@yeZ_?_meKtOU_MKX))(JO2)-JPNV1bE>=ktPR$Je4q!<8 zv{0w;XBFqm+?bl zzMD5W?xVytr#PbUSZq7yTFX|524^P46Lk37uwehuHO2(moC^sLsgj2SA@8F6Vq0Ws zuA#-}(G7GOUN2rbqNPz#%vhvOe?YLDy4Qy~a7&5IVN^jUFmXH7Q=+uNCHkHd*Vlop zW%A-5=c|`cvaH}W##qCaoy38;W~@&^g#zQ;ZS~S$tV_h>7&en$ZW=!DbTpe1`Z~-` z^34P4cFH#9XJ78f7+8%lyUtdEnxQXws~9fFQWSD;Ob;SPhm2`|W+yTiL%U5kb!2lf zQDFxNZ555A1*lq4FE$7G6`%6PWW@e9a9wf}mH{ohuRpOByHdS*)n8wwy0R$xhG@u) zscFu6wc`m(jzSugwxO*MgB@uc=&BfV^o%?5bIoPd;)bA6R-2P?O#EKB z*$#8H{&~%HjG<&#j^0El$5JR^WelrpaJQVhtgqQ8HG(mkdJz@O9Md^S`d}zf#2VnS zMZ)_h`_#(HjeqUl;LG!?wGNo6kMxz$5b|3!{9XC9-M{5Bz9F4s5KVIKz^YffgMHzH z^d~yCYWNvJxV&IG62a)b;sSXT{0o}PFY+|GWX}j;>@9nCM{2~hs^Fl=Nt|Fa^sE4$ zx7Hgess~G$Fc*d=()@kj$JK1MQs^LQXA{ii5+-?93M{2se`iMe#U)huOGw5|;Gjd0U_eK`aOSAcPw8z)g@u6frC#+ySdjikI%b(d|F%H;3Q3 zLOe7}?cmPZ!(`!k_bdPc{$hLc)zr@NL3JGxZ~`!QPTy|Iz!9`KH*nP8C4?PO@YBsL zd-u@F=T|PJBzEz_jTB~6GQm^b>isp-S5}|(kqraAx6^s!HKQuSl0274TU&px?osP1 zJh5&#Y&i;ss$|39^)Ai_jzrL??djDJm7zy)>1g%j+$+0v?Zti(MamoB8%Ldn@F_4SbQ#NJWYXsQHp*Q%GFzZA2?;cmOd%sVjo%^3!P8 zlyH5((>Y4ND}Ky#Zvok0My?tBI*!KQSHH6)g}^`x6~B#?{WF3JwA~Ep!S@Bxi#Eb6 ze*z{pXc|d=f#uEwR>h2w+8QkHKIm5Ddm-gC z)g?wk(91nrXL(d+@{rcZ1u(MCa?aR}`rEW{`=~Pd>87SKpUm)0p~2ZOWzv#zw@Sv! zKTl(2FW|X%dFlOHx0O!hm9*vqgFmJe9(mmzQ-k>^TPkmEjZa%z~@HqAWOPz*yvu zn(;hxHwL9k-a4Mw?nq>vhc}-dN#61`f$ch*tIM$+WbSvZ2U1T5HU ze6^lhu?JfZKrjc2S(fVF=NJ;EN5oq`EtN6PKw&XlV}d!hRzh|y{tQb{XAjM zAPM$D+Y<0A^pzla~Ov`rFXC8<#>$0=mn}b2WZrrss3(97OU{09sbS zM21Dnc9F&Rro7FO{_h$1Hhq{BVo-c%9`ZogK1~<{`G~Qq(~BTmITMm^e59_ne;k=1 zgRP=q0Fz-D3ZA`M3@mTP0MVE@ItM#0#p|~t><#=cF$6VACujdEs z5t&qUo$;LcdxOf;uvm<`c@4W7kkY$x#l648?_mvf2Z`Dn5#Sj1ZqctA34I+`QQ@5c zABIV~cV4CTB=q5+6OMXP1PMW)+=t=@`nFtz zWKo@<@} zR)@6GAxlBxCUhr8R{_GCM;dI4w?De_exK8CdJblJ5QTzoP$WClkQOZ2RN>B}I*ZkJ z#rL@sbi$`it6`+K(lW@i&}uH^y6dijs}Sd;{zjBijbK~1Oc8en$!iWx@nd6r zP5Ev%nG7zGewyMukUmYQy=@~to!t|zp^lc=99Hao`>%mb78~Tz@u`}^w|P2ss$^=* zqFXQuul`(bUZ0Qe>LSu(qtq)+<)wnf+$L$>4ySIlb^07nn{CT2+*QQR<}hdnhb_`l z{0XNrg(20UlI_!V4}*3*XyNihV}(>;&pm_%W&5tGS(=040mM#ChJ~wmu{J{pujFR$ zcbKh1GBRq66d^W-mJTT-+H+{odo3*!v7d{#dS+JpKW{Q2J@Osit}&&G?Zc8hC_}2` z{*vM3O|2MQLw#w3E)3uyTyroTT7#&FO+p|r+y)3$7H+;EaOj!<>aI}XO>Kn{)jF}& zFPBo=$7V=Rg5c?BU|@%6kM5SMNq3A)omQ(0!lFoBa1q?(MOe9KSuxIc&ppkLXI_YS zOf7z9(N*RiJdFzk^S0eWB+C+OFAQ@&zT(T6U)5b|{)bHLiFfF!cSn!Q%He#3VpE=a zT_hWCgTSRiXC@{efi0jr;e0^8F=h5J-pU^D662g%g4`S^!6FM5S#Zpl7@ccQ&{aS~ zOliZ2`kmtMC*P+zkAaj=ea=ma#D$byGV&Y*W%iSkp_`y+Yo2H;(&5*##QKYqpGwqs zo8#M$?|UtH^tQ(Z*{ec0y6+qWN{DOjU@9s9SEn%@%H>vcqfZsgtm1)(5i6$4^2hy8 zs%K5nr5@n*)`HxuJFgBg*xbPjwa@&nGY9WIPv;mF%a17KZ;q>B@!(Z@cR)QTR*SVvk_hhbnz5**&Ki!1qrE+b}^!)Z)0h%mm+lZNJKwobgimg0vboA>I zySCp<$3U3CXzz)iram!DIOi%fi!Xb;v@d|Un@H#LT(6>)!Sh$0L6Yj5r%)+p!XnnL zllCH_(NZl~;(fn_8Fm@O>pcJl4jvkzi2RnXM&>LBSurIcsRfdkoRU8Uk~c8(p;*Hb zAIjXx1k)#}&r2Bd8REo(4M7Ue*|S@6!;l1(g^r4LYnm)l)S$dX`BXh)?(%}(4q{}% zXPdds7`yYbL5d_`Lm8EPikNUG|B5YeMeTmRD2&wmPD4f*WxUWV+*MFY4>EC!BsKg&)%dObk}wE@QLkHlRiA}5R8+&c8(kHRB(}?+ z1;>6w^!?G;E{l4@(R89{QdjeJUYA$&Iyl>CD|r=`*QP7y+!{{4?^fM+hNuty)xK?4 z*!G$094J?VRi_cygay{-8qlziKh<*lNB#=hdBk=`@Oz(t$*x^k>FZ@`{{`cNsaAAcm7Oh5OqyDh8I+J3kDY`f^FzKq2}NCmF%0E4WQ0=Gl8audUmsoGS| zu2D|)kD>wgDJNC4~i12EQ;z25*$|T@=nC0f7kqfq7tw?g_pIGCnFzAj*A$;VvJJ~-U7%D4F5py&;ThAwKt9js;v!K zD9A9wZ0ZQNy96!0S)4vdntDApodqX^3+k@At-aKrODb$d{wyWBr^lMgtE~b zQ?`=}|FpeK);nRr)gHjOo;VaE*3BF$Ickw6E)4z#E3>sAr#XzNf-Q{(+~3v@plJI0 zLVUN)BOu+v2m~`yfgF9)-I0x7f5CKl5lqp)VPs{E^^E`%+x=OX25$}s+mOwft=L!} zu|+w(R&LJ`b5K~lWM8OaZD_q&ssFwts#diEr#4!l& z*$>0%OVEe~Jjj5#?>tzuoWm0P&~VvzyO9i`LB$dM`^i}de^lA>5Ve*B3)E@-_(>uR zau~`et;=5*Kz4a{Fl}&s6}|x&m9N}2(PXJ*I3lqiqtJSgwQ#YfczK%LXRoW0&jPF| z(x(E)1hv6twQy?$`z!GamNcDm{h>96!*eljH%susCq5f>cnqpc2UPwpfZ)R6td?P0 za8S4Q+-?C!PJ*6ceMH8ND#BQVJ3IE)giX2zVKWyjBaXx+7D9b#?Q&WW#5{6j2YE2ne#08`$0NaDsQ zFmck=#7A~-rE~tLGQER|st1;{_f*zYIMC3c^;54nzeq&pZM-&(v zc(6HkhS|~6HN$5ervW!jVTiED`%y_hJ53}_(olZrp&&G~LYlK3Z53J_FTl#Go@%Y60GUt}&7xQ*N& z2av#uXpP`jn=HVw*CZu9C>17rl07spSP_`wxP%L%STj@P7R>H&_$H&9rF*x3YHqx( z>z9aXcA&5uw1tIB5~=k_h@b}wO9NXw)~jBI|KjIo`+UOP5ENTMJ$TUJc&6Nn3@- zyNmp{cwVX+k#yp}pbFQGpa7_;ztdZ0=9L96lT6)X;^l)T(bg3JDUi0h3`QFr+CV{$ zi-^mj{YIuu57ru3itXD#cH-Br4@qzg!P`RR6jJBAsp?MPsJ@DGa5gveV(cX{84lWS zLIJ<+Yv_Yc{n>T%vuYy!BmkdqmHY)Z$M|*WoC5_nxI~4Um#=-L8!b`%V2IBUIsbAz zSyp0AW#N%`9h!9;<{(1`GD~aQ+Gjg3dYu4qZa@csbd3&6=BG%@ayC;8B*h~@3!JcK z1d=d|sh62fPMpug>))UIF56o>=x2V+Q}{8QpTX?RT=MBzVI1W`QjtnEv&$fm7Scz= zV2_J|+TW?#P-HY+KZjQ_V`+yUZ%n#R)1Hc~jV42&$UZ~&WHBb&PapZz5Rj}#Ax<`Y zZ5uO|q4G%YM;+bx`$aHIy2K0{!AyNSO7~#(vnlus>{W8jC}l3S(+n3aXTHdbJ>9J} z>{L3hg|ef2xy?2EsK`oYz} z^l-bD^&mcTP42=&!7YT6VN{z5)D{%af0pAGL_vXV1}ZWRZ&`zzoPF&!)qzF+FCUpy z-JA`JUk`u1t?{acYSzlx>a=<+xrvD^&fLC30XY9CPZ>ULwv;aI>p10MxQXaP?8`ck z{Y}lva(Yr|`APQ*@9Iw+lNbDXC}c=iaNI`%&TBjMs(LA}Bnh48(dn+I_|r&9m|reE z6W$l!2ws^IYi)~7{xDto`BJXHJu}7Ti%I0eJEErbv%YPPQZPXuwNY*r0IYLFyqY#4 z&-h=XJPsCFW#eEz5fAHeMKsXCc@b=Aws$2;mWWl@Ght|;&3$puINX7{9@F1j1iZy? zjMC6fvI`-2q^7N4qZ~syd6Pc1NQCFUIY0GcuA^#7q^t-3mBqpQM2uMO!x~C2MX6)M z-~pI73HyLOpRQ3b?ugV3Y09^MW<`t;43y$y-8gd|kpRhOw_ls+f7o-^el!TGTF0-s zXwwI0OjudQg;LkDYunwo7>MKu_0UN%i|?8gw@c~%j5W$;6yo&`_{7Z3&jWg94mQ4N zMRGA(ou*2(wQ0ADmTnrWCq@xp$$p>GMI?wrLOBALvc0wR+Hfn9hOFay);A!twzR2h z5Njbzu7~TaTwQ3HMM<%S+ujo;!FL-PS|&bId^*gU4Y(N%(-OkAHJG~dI!EnkOL!_q z9`hymS>n9z?={_{c#=yWJc_5BJ@Qihn&R|ULgzc)C`Sqs_trVyMG&EO`%=)!F#bQq zSAjG?!wvM5HI2;%Z{lAZBL?)v7jO2s^cFD!`9kj97L~tMS^$D5RlBJ)8RPYxN3;QW zdpUGjLFy44pR9FcS7{I&q7X!D;@SiCj!QLw_ahnT%n0jYea#QJEbDi2zyPb3$5wZ(`JC`h&OxR*&V40R1Ob3kaNob+(I)lH)<#vQ_GO zIWVTOQtScH(+eZLMWi?g*LGGBIZax=iyGDp}SkCO*})wcR(MJ{D)J3E=2i{>*k%J`l!!-MQcd|$=Eb`jcX&yFp3 zOK6Bl1z<|SMs|p0?uM;&YjB6tV)<0>-9gey+BbvvbxYBhs$XPLD9Mr)1_!d0rn_-z z)FW7d@2dvKaNGPGpm%h+5sY!ks^(i!Njaabq|A=sdZL#U0QFXnRtUMu8WMoN0r(5zE3**Ax3wOyi#RnNTd#>s(U#RlM6#JMgnIUe5$RXsRq~H{GjxucTb@ zJVWZd(eXq}bBsxnx`RP4%+q$&b)bLla!sLW?#9iq`UtMxVDt#0liG$O&?8_;S0>_T zM#nbdO%XP|CPBqs0l?Pp_7V&!oRy)80;1Yb)E)-s8Ai`~yT~X894U8`e-r)~BZ>pC zKCU5Aj;4OqE!rk^^jay_cWS_{__zzs1B&m2AeUHs(~%l>whWhpCE+?@COM4dBOWZ4kSqltQkLG7G4M=tc^XL zoi4&0?;uut(%h-G#+nm)4#&1e?eaPZASnodU>Mjfw-q9UtdXnwISk%L0?Zw#mL_gw zkn~&oe0ZA3JCG+8$fiv>y57w%mccsRd_=bGDOS)h)86>mD81Cxxz3m&^-#qmYv$oA zG(CZSQ8u^IvkBuZJHvLGhiiCPawqceZtU%A-o$TVKYEMFv8ur!SwidUn$K}gy7vRm zl&jCv4*!6GN)39Mp&*rn)EhH{3Z%^CHWCvG6sS&}Iq)CJNv5otGkkilE$dir6rS!Y zaFbg%l$xI{St=S-Gvo~#XX^4%<=G;+UKVV>gtpROo(|*Q7P%>7LITK1)FJH@>ZEmP zD=u@6he)!k|eua5GzjAoXyf~=ypBaB`Aq z3Cc#}U9wFSu8_;Gd90f3Lo%AVfuk7vk?vvY$-dR|AxQ8_7?a#o=?@Ys5}i7%kPKaY zV;X5d?&+8L-o@XfC?Hd#s3iS4q7e$xTZ9jCoV$hGs|UxD>oNSO1bVZduXqcQ+R(Cd z+^JplQ6RWc39UAyaTV|EFb5=7i5_kgj4!?9>@b%3n5NSC8hcwUG4L(eEj~gor`Sqa zf-4433{e?}y!5u$dswAd<&ENMbH)(PWT=mvV_i$u`4PhMs|tIjiSHtMm&=H4T|I$> z9=8w+Lg8}HzbOa{!!oCr29t9D9?8-Cz{eBq^$;-%+@gtQOW3;>k9%#A|HSL}(A(8q zL$P+(3{{ZzO(=cpoDC!nXAAEZJ(@NJfhdr{ZY7WsdB&=ijVKIr0Cm0!bF3$i`OyvP zn=e{v$LAE{nkp3mE2h}vYAS$l7ozs__a(yPrZYM=8J-F+&mXj|)wPZ*74|0K7P>&i zd@Q?Gs;phug)@4DIIW}eiUBE2^-@VwIx!ghdunulz@cq!4JC{*6_}q~6tHyub^qFo zio4^FBR9qk#L_-jVme(n-}M?uck zsQFCJ9g2Byl1BWP$X5dj7-y0+^%Q^G> z9`Kah%>|K>d}6+NY0XWb_dwK{U-D`2snT0AH`aPVGjbJ(xPZQM}4$jk1q zD5PYURabDd9=3DZx@HLwgM1>QKx@tLk8@{mst=fvH43y6gfiI6clv!<%<`oG{IPJs zW(HnDM*|@>avfdFK!1iPoznAPj z*W2&&Z5w1l_t?SRLu?Wx6;qC?lUHJL9TOr4Bp)kgA2aVGmpTDWhOb8Cq+TaaYD%wg zSIYo-Mo1})*60+l#a969X96&#Mkk5p^q)9E!3?{ef;rPmWKP-|&yX$meT=}-G*<8My4)v;073ba@|uiN#I7S0wSGl$p8hJ+9EOw=<2HM=in;vD7m6 zws6g*MH|I};J4n-^ufNY#@S1rR>iLbSwZPN-bN)!V<2sFi7)9U=(Vhm?7sc4Pm0Ib zmSN?Njen~mTWr($j4e5SCpkIaZ9NP!R<~Ign=;fXT3{%eBQw47LH{u2NgCHuK^2>z z9=rJp;6h$9dF!!Qai9Ky)eHvGSr@JTnZFuF14q{76>s~9+?C<}R#2t#Fr-4F07Bk` z1pllelNk~*L22{Lb6HNAg^%g>JA1o<1E$VqW_=Es8=g!7V(w~vJ!AD(G(}P!!qlB% z5Y0x?3$$#`CtTMB2NL3d+(lpk1%+6S^=J~)&0QNMIr2Jh?^Z8@pqVr}bHsKw)V{C9 zisL^wYl|9y&-vqi6D5i5NLVJpvZ114W@^kum_6}UfQ1OMoJ}@Dl^?eEuJ{djreQ=5V zNDT?@yX67`j3is=+$6~!cQ5wuFwn=ZYcRF-wNkE?&1u$%F^`u6xZ@bK4Ps)>s{T^& zfM{qc&|~l>N8ob{8ZH<(AF8HpH3^&ao+Ny*>M{%<+U)r%9=N1zzOk(=G?|UZy;QH` zqWOPECGz3qeP9{)0kk3)EGXxp0i+ClsgzXxJ9xIYeF#~5dW@*1G4?rO+^X{6N9?5B zq(zJHXoW<$(&gzpNTQv(+or6*Y@7<{f^?A3N^h0#6>PqUce>maVOcy-?RWB0OJAr! zsR>Kqjrc&}3Tp~kaF*4d)x$co8*}i4*Z=Q)7ckw+#W88YVGC1BY8E5mCtl1&S02YoZo2sM-79J+Ri>W>X7EO?w;)UkYFRzA&JBX>X%DX-Nn;}RJC$n^-Zt6vm(fc*ch z^o!otgVk8$#niijYP4t=z5gO?D$uzaFR36V2}XlB!=#3#&LqHv@>YO~rqV*o-i z>%aStv7~SYxV;ZHxqD{)WdD+-de;No!X%T;EWteo^LQgZ&*tJX+6}&nM=CZ*?i8AS zrSg1~74l;9>#ONNZ8Lle)1gy!v%}$3rcTCYXXd>6{k)>$5^^*m=eJUx1fMLKRGB?P zut|PN5lPejjV3kPCctw%3~vtzii24SYkSTn^p>a@^)nh#GHJ!dGlz`FM{aCh;r}To z6X6L%&9J8b4KHZq~bC=Cd@P z-q9Om@CQbcQkhK`Bex1HejIYg2D4#tUwoZFP7Z19?@;AMpiYdTht0$XHT7K}tJOZs zO~AOB2%JqLYvAyrD}L~o>|S#2gvjeP`&_KLM$EUlT7ESk^dcki={Pr z-n^4oZzuG-)^1UrUVP7fAb=qizmJC7W_E;sThZ6{hNbtrW)=q-02{N;v`H`>QF&bmm=Goh;wX0il!?y{M!%hx>Y)Rb1SSjgsQ!M-2(zc_*=ru4IM%a@?HJWncQ>3Cb%ZLMVrBe2YN62OJ#$45dA+ z@HHR1CT0(xAP{9{p2_ZZo&pcZA%i#S_oJ5=nTO~F25sdk*(*nrutLjY6%r5=CCEj_ zKP&^sq+4kJYUPK-g`HTk9m&VBdMmn_ErZ4U5Vk%G6Zzo1npPLZxI;RO>l>lSQu^WN z3GuB4De)7I__yQha+ha=UXPi2FOJbwtF5ZBpA2oM@c&`O`Pf=HV86`b5edDcY{_Ww zzz-28oohX>P#I_=1RIvGv7Oqtx0$5k{^t?iZqnoiLiHj694d(-{hod-L}m9HkIj@ zzxY~lI8SO5zc$uZA|sgVj#OygvPKbb6O_aXPhj)A+sXf7o0y4Uplr!O&g=AX6=ZBB zBHTI3i(N~i(c}fER^)8Utq}hLPO2{T>pve@KwYo$mrnw}5qV2TtI$;YGTrQ|>@e>6 z_;XXx6eFhdk$~f>rd!yng6KspW^z_5TR+q}Q^;x!NPY05T}%_JM4;F~*KI#WCmR6d zPDDWZ^cJc%H#%k zNIilQ;CqlFLg6aSnhk-j=g?H9F+yp+sc!kqGPaWi?ZmSA8^E9HhhK!gv<to@djhltw=rZujv;pj3;7+jadidu7;;x zIY+wSbg(dN4=;Sl8uKUNP0<`@cPu>PxY#?WlA$0RO-6XL9twp2K>K6!0}Y3hwXdoN8}vIr+V&=Y^H@0a%Ed3>2PBvuOapepi_^%Glj0MI>J-Z1nxe zp%-=F?L0lO3EjWloBwsR5nNm|+Ozj7u_&C5OO z)u$cElO*kROov9rhKq6pJMmE>qDe|N#;q2?78ri60T(U9H9gy%yj6uQCP9g10sN9_ z7sj|--u_d(G7HCjR5seFXzQXWoDkswkgWRJ+%!b>20VM`;8Zan`@xc31y^u3`SRTQ z_B&*-=Crq+D->a?%3Zb>@G06RjuRbClN(L{h!<(?L9|!2UAm)yH^!a zX|5k~2N@SB^#BE(7-~GXlJ`e3M+ebhh%blXXoig=opZ~_d9-hzFfXwbT(+i%sn8G> zQOZT4&CfWUs|zlumt`$iRI-=CQ+FLRa;s^%#)~E7t=|jL7E@hKIOTWze<}v zs7ZO;Ti2JUP{5Jlei{qqv~)Kcq2gi}H%k0dE#nOqk6s#p5x*I;4STN%Cz}n4s0*da zO)tmOx3a^iR2aYRmsPg*O3v`_g;Tt)%}Xy=itV24`t->iTS>3m+H5*hEb_t%TU|pp z)#2L>=I+kHdC4Ylbg@FvJs@Gy(V9YW3%XUy)4cW_RzI$>=|)Ys`f-2WymzphfB%x> zMLJ~*k@ZHpL`z3ZNLnC@&Sb$RtFwR3636%&TSR1YLL0%%vqIQ5RH?7VV=N72uI~S6 z;!Lw@&&+ucKXOTI4xA*ns!~ygIri(uWhim?e}=P(x2N+W&1`?WnxUa&6G;{~hVTbz z^Fg6NjEl)cw|>Y+gV>+cZmuf~7O7hkwCT$!9@~03Ch)@%eRd|7LDfBRlGtS@fqbA$ z+mBiSu&B-FZEnCz(BC~rL5Qkn;pHfl90ug79j{R@*F!WW2rR>+cHh7RtImNadQ@xk zq<}#rg-j*Ey@WCNKL2PpgAa_x4V;zJAO9w~LGv8u+y`0x^Ku!YTccfl0(1nDO4Cec zQ=J*?fnd1o@OAoUUfne63Kq||p6m)m{za=sHrNfi0HGhmdb1%f07wEEq!Wq-^xG@5TFV)d>k3|tA1ekKE><08=w|O@+;!y zrSBGK{wvE~8aC#}2wZPsu41MWHUB&R9!IBWlX~ts%~UV-&48wr?%aqo?$*U^7yY?( zU#gJ`7r^N%EO1RkyeA#<)p%bOe$UukTIYVi8cJHd5qTYwg;@#fd|r!|wj^_GY)E^D zIe{d;G)_&+z3d~Xt%?Nsrvq}R{1gB9`NYR1DsX=)noDdL3YkrUHLdzwQNoBM!Km~H zIR;adSxG3Avj*(bOIJJV4oYV_=}^1L8J0$dPU`2xqp(AZy2#Bc34oV^z}Sk_$ufIU1tj_UA-<1`9T)ZE9sV40m`TY9QW7TOweS|j91V>9kJ zNr5`n6F|z3`NR2juN7iPQK1UiAUv3AxxKjyK)%haV_|j@PoSU1@Gp9O+()2VKc`uQ<(V0O^nlxT%QB1}!3o+afA1J{jh(>8)d44YolIvEea zm^PV}X5Wvp%&w3pbh|%Oz9YJB9n4^HOW(d*3}J#^)(#wM$FBY4n<15?%d+76bBW@~ z^K4*Z6Wn%Hc&nV-Jr-r@%1MJd&G!60Jxw$#?{ki9_0Oq{q!Y3I(?Gqu11COTIkK}( ze%6=&pYwA|7?QB7h|{!#y)au_FpfCAqp2;>@+AmdHnY7K)&WEr)`;UI{`GTmt>T z-04Q;z@^-!M9~8m+6@7kxY$MWFs+f3`|ugB#XpBQ18+I>VW)5e_48zb;~;_S4sksv zs2G>>vj?d-3DORU>?+NAcx4pkx^b5e>vx8@OT+|K)${X6mij6so#rrK_I~@GW{5;> z?%_moF9M4%2r@h=4_lSRKzys_+Ct zasbyR_j_x?^h%GB*YcOWA0Vq)1-BnGk@^pomUJLGR{jS5{H{DmclqyT1S?=3g2fG~ zj)HJGRKNMN_WW&{SU4`Ql-(x51D7k4y2)GrjpgLH3Nq}nXE4LK`G>*WP4tk+8IV2Q z;msycLlw05+9h`0k8_i{L*dpjlv9rU#km(A{}fq797uvGUM0>c)?C0My8apVp0OtI zQI4L@z_0Yfc#Wlp=%jHaf}?{H-C`Rt{vd(tx6=wqE6E51t#aT?Iyc^H=QRuK07*_ zyW~X!`iO$DKc8|)nqPmXfG276lDEpeGC9SeQ4+=7kfYN8C5$+51r53CmHH_ev}nxe z$d9GfZ~W)?Wvf-f#_{N@K;P~Hj6J%z0X$>A;diM`R0EEhVkx~aO|Ri3^@xY`7B#_X z;#J6dbB^%|K=h|nM}*!XUn;OLpL^uTq~n(CvIlhBP}Bczd(Luton3^`#Q zfPjdhf;g)TbZ-E;wT>Yl{|bP1%8O{5WyMCryp~jA!&|Qn{={cYLKPM(mvvpCr0B$F z0n$og0QJ;#A;W&fu(#VkB=~)u<=sh0G08fwca=irIjl@OCMXrdj8^j^X1P}cntEt z{)QncwqoonH<8vKaNr_@i^uun-~RPRCR|N!WeV=;GPQo%1E+Lo@7!4lZo>ev`hdx7 z2F#8?is+$P_x8<)q^+@@N2Haqr16U%m(mza zm*QE%N==WT<_!+;3laL~muDZTa4kg_c8Mw!e8IyiQszA;ZXP#~NS21`3BgPd6cI!Z z_w=IyUM4#=U%;cmgTFQzAwzr?RNiB0vrFE^x5t$k~WYM8}I-*j^9{BA?lal zs7uOjR%;PZxjSMQvE$-AIXh`W0W{-x+oDQ`NlVb3GWBx5W9?a3xhyA-;2k^B&hC)J zCTY0$BnhX>oo1t#oWgDJm-EOT;XYw?${|5yL4ZAgr}D=Zv#N`Inakuah z!j1&6xFllmD`$q3@~xJ(h7FF08G%BRu&PE9yN-m|7n z01tdAicuOd7W(LKv}d5m=$^T}++#jnpo^&u0lgtz;na3MX>gh zaCw6h^Gt~JMbGiUBNZrVg2V~hM1dwmI`HJ0X;sH2Zw3Qap7!m)hHmL}y7n1bTyq?^ z;zLL&N8k8&Vymds=F4J^X5?n$FPxLBl3vL5C?JdqOG+3v39{HnoFFaedfiS>T04% zSy@FmA1&|`)yWb4+bsw-O!L|A&c?%`R_0VIaEwCo{*OA|ZJD8XOtCx0`(|GG5ey)ccSBwZ|rq z(_a)^o|(1H45?omoeU49n!U$`b}s-Qc~F4*kWN{M8N%AYN95pw)g3?6%J8ydY+svt^>G|Hg&;%18F(m7_h^uC>#z2lW(qJ=^p zGl{D37_%%Qes?$CCVSizw|NFVPr)TJ{s{gm@nNwdo); zU7+av#a19ZJSNa$aTXd$MXQ;O!C{H{TBKcT=*fgQaF!A5C9TkHUJp* zpZcsQKzx`PAsfUC! zKuN&+68?%jKFx809kmY>eqP7KncM|YQpmLF$jNFXuYUq~Uo8OU6;5Yh+G_$t-R1qP zsg|9gM95`?SSlMBxC$opJ{s*u4}5UJtYsdkF{T5>tuTj?nOgbnmI1ZrB}+R2zuF^a zdk?tT5oH(1+rc>?jLM<;=he~w#Tge6 zgb?To_n#9ia~Oq;ts8!VG=n9B5hblR&Z_KA^2D)O#3vgR8< zv;=lM{FXO2s~g@pO)muf1eC;KLEkXyA)P$BQe;7J(IK^$-}!u5i*plmhDLPEtW@HxBO2wQ6?3CF z5GOdFVRUwsvbMhDSo&5ip&^HuPN6RuUuJTRM=Wx6qN)}=C5-T+j*@Y>Bb#Kke$cvT zk@mVdn&qp<{e+&Xi=Efe)8kBQ)U}sM8m9}yp}ng%BT%HSnir?O7cqwdj>NQ)MM$xx zTe#mm&NhsQfIvbzeEW+;(NL;4zS$iwN)k)Furi7=92W)QFRUUhWzSav-J<~B)(=#s zp$lG7TkUpDcjaMa;gT;5DU^eBf9RM|x%da4Y#FxIb{~M+Hg9&Rm&3;d=m}n#M52QK z6oGVlff)>fYS1=jL>XO~+1SP8*Wc?*HfHKw(x=!OjUVgj*Qk;k_7gHadPz-C~`FY23fhIH0l7Bhb(e=QS_xOx8;E}ri+=`K$~NM&TiuCj<% zgD;JoI3OXhQj$jCIlbLF>+Th-G`4r(`Z&y;z?#uv8Uq7kZpbx%GupgjPgd?4Yoh5^ z{5adUt^&Omn!G25idX40rTYo=LX-jFQ7hCck9Q@wUV!+l@B7874R4#QE#mGu`DiZI z9jvT%J1AoCx23!fFV;5nBcQeR*5NV5igw02V=~7sXhh9`kbch7SXOHBsKUCQsY+V6 zU@mfT!CH#_PO326->2U=|4o#dVz{cntX*Ryf|h7SEn?%?L!}Ei99lD~1v;6uwM=ON zb0g2-*p}zIP3&`)b^aElI$mLAQxdZ@eK?5M0QJfFu;Bc@=+E8+e3ztc_PSAYoy#R? zLiPwsV`?2^<`~yfWu*JWpr%wte09C#oW#*OXACoMAWyj|89J|nmfS-(jVEq|W2zXg zxCYrt4Ftp4b*AcRY8WrqLUz`Xa_0MXsIfD#bZd+o`r+udX^)N6VmU^(o(U1>q=+n% ziFG<;Fe|#^NQ6t}X973ZG^I>(*-k>nY%hA2(-+xHF47iXD&0CWKTsA+azpm^Q8c;? zRg5IAiEC`l*3XYv`zz#i|6~~hqQ44@Q&Uam8Pvs^o;(&*hI@fip`(N^;DydxHzv@~ zF_N&O_@8|7B7TXTmR=eLkQJ&muGYO zbl;_`C8bOIiB+kL6DAEldF@8ylU($~US-P>`ny4_@kT$j_X~`~T}(6OLSZIgU^ww* z?A!81YnDNz+mg-3p4)Jz%>A&CBs5CIztuDE0OOms(EpdY3{8%1m{n*~!8i~|3NP@t zJi_2+F-c0AJ8uYI1;UtGlRH0{l$`d9DSw2WGK-`S@ccTq4@?nqSC343L{xT=HXT})*DBg^W5qrkt%UWMV9jG z5qweD92w$Hc#~?O-D8^i4N%Ey)%oXh&rJFV!1Ph@Fs~JEJ=Xln=^{kEtiQ zeP1Xmv_4@Tfk`+K*I(2EeJ7Lu8XcShxBF*yq(&-uL-6k*B(NmIqg)tyTFg5>3{Q)R z@>JgYtO;!1_e9QSCd0r+^$$>@4yDpV?(UC+_F&&BXwunqi0E-V9WE1R%$OY3J}<(?rXgRpon z3h~Q-yZQJuRvvy_jto;HT(&VAhjeAiO>D=MSE`%I?i(^=;3+{CX0It(UgBxAf+TS? zVX}Ef0BC~nswW4Nb$C6#C4TGKv`s|6ULQxd&cg~aXi;AV@`0htZ2;QHP4$q`=CeG> z01c~8&PeP8RO$Q+@ltSZ9VPyD*;a{rs6I|nA=nwFV9?4OFliCghvXj12f90YZ!7%# z3t$KJ{svW+Y>gFl>fZl-Qb#R8L-meSJctoKd`{K@3fOFcC%|$iNWAXU>|s_5H5T&G z+`cZKAoiN)D(k$v9s%5opNBkH20ax?ohKmSHmld7-p1QanS|pB*F=~=YQHBy&(r{d zMk!hmLY?W7=t}sua>zd`E)z4e=1ZAe0s9f8NPq2ox24v;6V&NKYcW8GC)5Vsg(bz_ zv{fNm8XT#zkI?OL8i1Kx{4=9LDo!?pLE*OaWp4vpjLSIZ`WQh|-*&o(otN6=3lE;$jpJYc3(^4QHL0C-lOq+7ocaInH~ z%G}TpE?joOt0Trx(fb0YlDB40bZT84FD_grBUGSnHqa>V`KFO#P& z8vKPi*Q1Q*$zBejaa4p9p8&in$p#JzITawqLfEAB=u&( zoMU0CkIwhzgm8P^G6&_JK!nTI+tVZ^UH-l1YxCb7#Cpy(+RN%h;K~<)2dSkQz^vnu zbL1zYgUQ%*=4f@H@F({f#U{ysG#8N}@Ob9N+#@Hz%S}`EhCyV06!Y4%7WlzG{w(E` zF!QK7Mf38$ju}y!u{?!4IV$=1Efh>)3>I*tI(Ovp%JYy`5g=;ea#6@)e{srk7dvP4 zbe|4z8WX$x7N-fk{*J9l9a5U@X7A^4#EZuI%O1WXd(wab0PVsn`wMAHss-FJYG;;> z16BAQG5@RlMBc$s?|8@FSN#PiuOrK^FtwxjX zgxQ=v879rF3~ZkQ^>Xh|PT?!57dxXCxc@?${|evj<}1%HG8DF;@?Byt+18QI;v=iC zIh{;Fa8Gb5;mM-7E_f-IZfMCDZ*l9E<`4+DyOBX{8Fkr^+vKr0c1;wUc2d$l`z;FP zJViV0QnrE&wr`1%8sicXA}s1tAi?%)5c~X=;Ju`jr3_xyyIAo4dd?+=rS?@jz?H6E zg;U$q_%JnKBtrhOf*qboKFm3@eE3}p!g=#8d&cX75|PY!o9F*tVj;~=B>HP|$w(jj z6#rL@;@Wq*kh@hT34AjW&G>2IaZ3c4f5jhWoEC-+PkNvl#wb?^W<=_TH1`pxO^{hx z>cS%Rj-@&AgJ?@c0Rw6J1P%3DDeW+6sKGUcw%(tFMFutQ9aNS_-`G-a#n?8bO4ZlC z*`geTB4>&I-sM#hHXqz5K{HkZGT}>C8N=du(m*U+i{hRALJV~Wu_cCu&bJMP8DHUl z14!QK28YyQ>nv)Q>Ac-i1xKJ{MlAf&@0N#_%uI-@->MK6b>wG|JomY-myJ1n`=|R; z+d7i>eWKbz`;>lTd&<{iN^BH<+sS zz#=|R`Eqmu^JusAXy}giH zukj5)AGBwB8z?`Ev|a$2mcTHkMeeDznwrca=K;Ou@ojnijJ_R^;OE8tyc#^)G61EF zQJVJXF)q!?=)&!a!vZMUpy>7JF!MhO!%>>R5+BI?b5{;vRg4j!mHBMSmu+zHNkx^E zM$BQ(^~gFKunYq-T13^3QrYA@CYMQn`3EYo)(x!>mWNfa*)xFl`rDg;&gMjGT3K`r zN{*8rH60OVipMrkSh$zUJOYRM=apzpe^R}wB0}EQ9tNs9nzmd`K!(V4Lfq9B2unuXLU6k zi)D5k+CVx)HkS9yVL|DrUmqiQ8uEv=)-1HXMr)rC_Gt%Hxe z#6-a|p6~p)c3%Qzof@P`au?yW5<$TZK7pB9s+!Y4Rcx;Z=`+0hqdw*cAQH9oEibps zXw86;!q9x{lGv|n#0D)&v6XC$S5XBpTjucokle37ia^x%gFgrC#rUNN{kjsl@dE+n z;OwUp>)uCdp?B5j6wiqyG@IIA$}56!GWHCxzgH1KLbi1yf@{?H0xePHMX%lREb5C| zwKrOU7Ud$Sz5w+|*6-H-leDZu&hFK%oh?B)u~TgPkf79v?rFb&3eLBi>SdJ$YrqQw zIQ)!8^~3PnarfeIxkW7j!TScY`sC~Op^a&YV#{wB$Bk?y=UV97I$=&}l~rjC(Pcze zi@JaoWHICyVA6m0^9*kT13po;H$NWB8@U3&MB_)CmES;i8nU5R&+$O&s#&P^hDSFE z%oUeeW;nA(*wpLvaTO>phg$`93|Tb2)-9{gbtp7;unb)j)4&VVj7**GB|^%_d~Ce0 z_>oBp%mi-8`fPMPx|zGWvQ@x5!gby<>$kLC2fhEBTDLKs3<8vG8c;heJ(9*EE4Acr z-A)zBA(T7U8vtTJtH=1HE1<-E6i1#)JicQv3rLej|AoKNygqFF9U7iPa#HRJ! z;ZqG&h7fh^OG3vr91_r}3KGg-A2^@oo%%M{itn`Y9qGhuBLiY1tY7Bucc;wE#{euCvZKABfv zyy|<;l13Ly7!dxVNtLG{I2G;_SI4Dtl;^#=X|08AdOxT zfmpK=BL%0!tlKf(m*p`csnge(=$ef1Zy>_;#ukArE!m%8l3+4hi~D^y7(#LN)lt&m zC?35Qr_o3CJb%gVXOQbD7cJhx6}jYk*=GaA%IJTPRTroXAKwn+J8>>G!PTPMHEAiT zJ)Xin8GQO%j6}?2s0ee+03zBlWcq*Zo&@f=%i!Vv^a_DO3frGlur3_0C45(?Wx`F~ z=~2)9aZR5#@%mjocFHVLE4dgvp%!YqYXa$OH&tbVZ?fc++yW2FMYWB%O~20sLgD69 zRUwvYs4$nIS}LA}ONb$`3^GPbAaQS%ZCJCI;7#srQ-y;hdRuE?{`ypaGIzYbBz}NY zj0Y$S0=cuCgUponpp(JC)*fJmq07v9r~+)IjD2`V@%{TOiC4rrliB4Y=oL@ zD!a588CWmmvQ^boa(^&tGA_v=p$}E-TSE^|>*2cIMI2e+?d=x%iPf1hn7mJsx|to@ z)L1+DseiQbc54|_zD0GP4RIPsR|k?jbd;FG51)miEe3h{`|K+U;&I=AwS=Yhtbgw3 z&mntH=lJG5vh#%9O66#Uu?M3d$39C~L?Wdsp$lo*3)+qUPbSLZ)^4xL31<=r2h6}K zC_%>uy}qMRdb2O9K5-S&Yz!&E(=}X%6aGewHsF~4!X$5~4&%(vQ0JNBhtwWnR!_P` zxnx)EdWYs^2U^E>V`+Rj$^^!5c$)y}zV^Epf`0?HOO8VPPFjSZi0mc^?64rI&&ub7 zaYBBn+A`bgG1d`MC@bnfg~9SjYQj%I*uLpFj3P*h7nQ8A{L;<-9?r)N_G1y(Igggj zufK+Dl-@`HdA3h&yVqGAbJdo82Ez=oI0%=UxLUW1<*c#Rf+8a&3Lcmamv zGgA>sOWvINqRKLkRn5x72-5`OHbu(;%cqMp=z zek!ez7-l<%fPAR0#&whC{=m2VC5Dl)z}=zb!$>i*46uSEJ8#a`$G&73l5mPD@fHLt zW33(bybgq9o;Wb&?b*q3KsAyCcRDej)T)xw4xCYNc%a`fz)Kl{=k((u(PD5vL}h*L zD!D8WSyBd2?VN_z7fY5ux)7&`aN-zE7TS)jQfVul$#AMekf~~c(XD>Mv?mUjIm!St zHQr_|YimVdC+(C~1(oC=#bT(5=GfFD9J&iU9^0|5HoW(r=~>0%cWpdu^9|e@q>cd{ zQzT#V7W~wtR6+QYAkCJC`kmdoM-oXql;8qsLXz3Q$*-RB}^YpOe-kcGC zX*tqyE4Z-(c7E&tTK2yZD*Qe3-IB}8q!h$uZT~XW@F$4TQC}#2Ei!>7qz`EgHqQrd zr{Td#hGED=loB@Xr{E$M9DxF==LTY0rQ#ekgeev|kOr`@hF6(sQN%j4N$X|lbf1*uM4riv%#b}6P~8OlykF1^hx!mu`mdKfFit?^ zWqz+DsPIZ5ED9ozzgE|~y*@UM4DNuoE4yZE+Q;JNu@cazoSnUP64nQ{L~TBnU;D5| zQ)a)y)Be?gjr&PG3vH{P;TEh`qX$~pgGf3Nd#w&}M9_W??b*Dc?K+9qTq-5Vqu3gI zM%)hkLlV#Hi;D=p3c}%WDQ6QAv7tr0e`VrOg{MvqN(UCYHk2Me zI1(~`g)(t=sx2!_R1JeLZ_J`5F6)V9JRFIsM}0nIWSQ4`l{sCF%EZl9Kho}7M|+Nw zLtUpxJhNQWjDg>7R4PPieN=o;20s-&r`LEorE)ycBHt z{9K56>@o7E79NKrkW^o%tFroN-A>@D6uQ>{91SYA4G?8jAr4aansu56f^j~Xtd^k? z@YTcMCc#ig( zSBO^j2AX(f5;8R3D{i<&mz{Hd6X88!p>y<^X8`6i$gw8`;k2*zIqK8jLRe(qA~`eD zVIhkRqE(d?!a&CWhN08x)e#|7t6m^I(m{4uge#mb87J_wv0~)EC}Gh~f+b*>F0^S% z;x)1LQ`V^rfn)qHVqFvuXfG)7qWPhk2{Ho17N_x#pK?S9NrXQ5(wQvVWBxIP|2TYw zPWVarPj;on>@qG}7hy-`VlFLOu37*1OmUzCSB@~C3g+W;8wU(^dT@ur;{~Dw5F*1t zMzJaMAGYqfTR&M*=%eZg4{`$2beIitXH_(QvNF{QUT^cP8d)*PRMJ8j7q^Xk!XOh|0n?C0Y-8!c5LOHXowzOwO4)t3#QfLpS5h>Wn*z1)-f z)<6T2NB#;IuN$3~vS6=sCC^@m_}UNeG%dJ6O$o0Uy9+CnHyZjdV`aAa^z-7KpZErj zE4`B5_v+-XFg*zoaApmgGwLT;m!GWb$s-)0_Rb8eDVA|A(^@cDMQlCw$?T%i6Lo2$ zmU%B1+VH(8K@6&^F?Y_P|` z)dwK1P=v|dMAwUEc2fBCy;*kd)5y}JpgzpR{lgIM7o~d%1mcEbvf zA~owxD#ou0HMdGoa>9yKBYuDOB|%xhf~{nCwM*xzjjbK)5q0hu3X6pm^*!h4$eZ1G zhK;#*YMVo2oBF_?ks)muQvvbpI7MVb=lsM1YeZ&%rwz**@fDZ8R)nZd}r+?WtoU{*fsgX%FdDAa;EM^QDOuD_X_>Lu?;d{k<#d@E|*9}$U{drfRZh(lR5hpwK@E(+RV!1bIaRp*<=<8h=y0%$F1_GzuplAgK@ zL-KI=5d*4yYS^P)JFB>9f+Zde!Y1He;l4w6iYJ*>>0)rhI5y~QLeg-dll$n(dO1?h z1Lq5MxdlumjAEnzUpC#EhWcFsnTWCB)gp?L7O#U_f(v&3LkHHTt<_{Cly9&~)d);X z5#krb$@R6G@6Xom80<`B+sni5ont{b$5to6x|kieJruA99>GE!i77jN+sVICUU210 zry$Db_*ijSsu1o;+=)>eo(GbAkjdWox4@d zbYmwtsM*WlA~86=YA0tY{R|*wVSI4y8SFYn`mje;Xr8`J{aNgm6a_ZE`d)Kev6qw@(~bhLsUeTZgF^s0)apw0&73>VPLd1h~(dr@`vK?F@nUmV|5C9>)2CDd68 zKyPF~NDwh8%3ZVc&@R;s^#qvn9eK1#;Fbn-{{N=@SKv7^!wCvaCBTt$gAb5J?e7jy z>aKHz01MHJ$FtxYF)Ea$^W1?0`@){KdN9)0ixvnZ#(?-0;n-L64;O}5hIT4GeD3be zba4W=(Jlx>;NQJ2oS$hT1JpV{>h= z$QhXQbiMG)y}xFchEGsn2wqkLh0_lvaY6ser|0y{{$S(?_P`{b(aO5N$o3sc`6iM5 zAwSqD<3P$Zm7;cE!zQcMUKS%~pvW!< zT7sqSC_8>;b0`Ld25*P%72o`Y%{mt%j`a^A?BanX4{y55l!0$??j-V&w*pRh#cAwZ z0`&tGPqmc2ypIXL*$WmeFw!;4_dNtfx{Q8TVpwvzSdavio|HuRsPV4N#!X4JbOIXm77L`0HmNZ~^h?m)3PtN^j%^mgdbOzlIVe}tGg?E5}1_+(w7c~tnDo?er|T0m1Dedaj1kbhR<3~(+3>_-+8H> zdc;te-&r*Av~$Luy|xkti3M2u#*xyxm<{j!C@Bo5bl#*ChSodl&l^BN95 zLzqVjTEwgG63C`3)3^#y&>`7v^%~W{`LK{QU{T00Ia|PW>~`C%m~*Uze*#sXz%DLAQ!0K}^-B3H9MuqUHDs~u9xoSJ6Zse0 ztiUGNI3hO(NEWp1j4x|j_OSQ^Y`efql7>hlU%@F+Q3-}q__TtZ%=gLey8r+PeS_p5 znyGci&FLho^&Ox}Blz48v9MV&0c?HD7M?609dDGr^P4HBW?^18);aOo>=`x)t$VgK ziEi8aFuN2lBcMlzacG39I%}gH>piviH4Pdad*f(9)A+3u1MvG338jfQN9> z4US{%Wd1$6C65#pY%DdK9i61&^|UU~1=^ugf(9d=OtXh7d5sqMup?PzOrSivia{0O zc=xq>$kpe#dA|5Ftc&5JwsBY^K?eh%Cg26$IS?}=^I$tb^M<`7ua3=R*W%BY94rW% z#zQS4+pmTxaQ2e^A94MYmNQHPJ6vrPh+f^w1E7%n_P-))h1de4J=hu^X*S-Z_~290 zTyxo7L#l5wrAv+x9pP=mEd`(oa!&ba*rz#JrLoi;nqMjHh}v6pbN@P6i`bUw1QXLF zUyF$e<}8!@wPO-RCr{Ylj^RKb3VL1F9xH`oZ*F`7$E?l@L%=a=qz*{lhG_fBoHZp-H&+-GMOuWSbNu%{nto|_ zSWJQaI6(zNcEx-9S=?EIoIlM)(4$*y7c=Q=wP3|A6jRQ}Oh+Lrq^PJvC?`MS_2u*m zKn`T}>&~%#C2zPq(o4o#12&9ozdeCH*dsp{j(0!A4xZ8jl=!PW!OyG9STjYOr`_B$ z-mlIynzK)*kc0(w_FLxx@8|&((w-NC!?B9TYNyEr*oV@{t3`urmhGuG3EL+ zKCF~fq1^HSO35yIvGRqVrn1jQ9$>?5AzhV&5OwC$Z);gOpxZGaj-uHhn?g9|gKb}h zB3mODqpw(LWL4)M%brVA5f@<)T0^8#lDlu&>Xo>i2VI1>miMpM#1TY?U3t zDPk%l!J?8UO6td2-fBOhsKMc>4*8^%p zQ{s3*AOJm=l}$G~TL;wHX(gW#2X|Y@2VP=gfP#u44Ej|LE@(IfrFdY&2Ps^cz68vr zUO-DO877&{h}Mof=M{J&esci!c|621SQjZ88xJX#Lp%h46#Q>d0ixb{8Xw~i zN&!d6noQV3XasUfdZYr#UZ_J`L0|J>boz0YTrQxY$A}OU=C+xLREP+(Q2Wc8rnto_ zW=2G;LlUlLQexhi4quMQ?R74KD>RRWvGGjdS#Nw8(+*qLXqY8!Ev9T75RyiUkOX`$ z%qh44z=k`Ez?%(mtb6m`4$dmSu>a8^IeUSE)aT~Iy^PuRv$hoE&uKL+h>0{91foi+ z5fp33nQ_BjuKa=77jvAkKDtO1PAC;2^c?i>W zwMiJ4?(=Ac!=N7@kM$^%q!mu`CvrqhexJ)$H8dGOFgefB=oS-hM9H)N{D=mS0o|LCPWW476( z^$-wBc;B&83l#Dnk+Kt==Jn|n} z)H`@aOz1V@<1rO~)-FEw2)7kzQT%g)Y3z`0&P8lA7mUjvO^u&raDB=dcd(Rev#FK5 z8id>>u8PhTQVj`$kB%ZTQ2QT~-#T>UhOOxnRdIv}Z|=^O3CiDG+QPa$ek~`C4rD`g z0Yp1#$-j%j8Shm=O$u_3N#Y2gqgf}BfgLCr*H?YwQ$cD5rzd+5u)$j#1+d~N%$uBa zfP+&8a6HntAWJ}D^R*jk`7m(R-V9_`KjHzW$`9wl&8HH@2`zxRCf1`hdud6sEeoKrGir{G{E6Hn3Ti? zV9svbs6IT7Ho{7S$fxWG&0wuQV+9x3f!`LF!Y1r?Nx(-9f0Z)_lvhnZV1@6T(w@ZL zQr+dG`nu3PYzws?$3(RM2KqBIP*S7rGiXi5F0(*_cH3hv+US&?%G~2C#qlx{1nG$m z@5nI7zMbIse6wIyv2B||GT$f1;0&6=vp$z*^lz1*Z1_OJ5@e}j zOasv{YmI`4W>)4B)9VZ?P3q2uRlm6nR?m0d`Vq$GC6H5VWnJfFmRloTl^@tm#2lcS z$xVPBHck$_K02QE%*1`&;l;wZ@ul`6<7gMg?y%w@aHTdHbEuNpYsZT*?x+;^Mr`e_X>5FT&P26&LY(RwjVAETH%S0r z;3Y^dVS-SQKPujkHnzVsK+^WQZ)L<-X<_F?KEeL$a*2%HRM~)|$n}V>3jv$2z?Xn6 zgv&_`vz7SM@uE&7dcnrTgysZOl%bOgi10?`(C|&n4x95uW_W*Piy!58mggFd(SHw4w2Mb!09 z)9v0=P!rn|rGHp)&^L1wwLQ^80AY)Zf;v+H>76nr4~}%`FO~O@5)?pGnTx#pYDm^6 zZleo@0n;1Kq~iy9gRvy&Hew`3$m=hB~1pmR}4J9>54v1eyWwal-C8)knXeboJ(*LO*zS*#`DfzQo^y z=1=a!LG%R|IQYUd-^TFNU%#En2plod0%CYso@4HIWlcnHjd0C5hjK-Eh@6M(RD!;> zhlAV1SLh6G8QXF`sMg}D&IFUqt+W36rY&3SOcMzW5R4x~9@8m%8eKLGRIpjaml%QI7mo@(D2^R7J~1m|7P zvxrHIUE?_}Jb8^sm-45zLHsj@5}R)HE%e{+-3Vmw4Sndm@03Brtx4|C*xqycHwGKf-?qMj5j^!N-N~clbaEt$#&_uf)5LM1dp3{Pu5$@Xp_!-JM+aL?zyMbjqB}bHV2-O$6wS2@#hlsKuGX>sPuiRGZC_Hc1Xq`SMpDOug`ufwXB3!lrF1aYjwD^Aplungni>& zfc!b%3RS0lw^-p^v5L(Qfiv3PECYfL$(olPP4GUuWP0WUMDdxvQ&=5pQ#{IdD|H0v z@wM_k@D9xvqB0kde>|*3_s`xcr%RKccj0S{4K(V6HH6%ow|$z0d4b6}@W+J!ynD&U z9U*5ID#Ef-aAs!uMv|r?rEM^|QYntj(91^$CG-v4fi-8CM=GXLg5Z{j%BD$E#2?t_z^_o{Si(>J5M$8jYxq+7<{3lFtM(?B^>6#|+tppxxfmEdq+) z3Tvq&3ZI&Pd{${7Om#eBQT=w-_b~_2+LN_$!7`5Kj$^UpzGIxd>*S^^oiYF|N(UuK zB+&76)CHDIwu;Xu-dMl4(*=U0G5}aV1ER7?h^N~zF}!zbj`0NeIB*kBfs-`?rSQ+n zc`Ye(!AD_N!_JtxErxe3RYTTp3FSz3WY9q?BLh>jGGhIs18^-2t}ifH?zLn>BAh8{ zL4NngdR{lGUGOb8gu39vU=(9epq`kg0R`j+6$ZOb=eXt=3=_}S>jj+OX{oG@j|+xN zwejSKbYwOOHECul1FC>LwtfaoOVi^$E5UI_G)9Fa1`GWFh963E*AjO}FgM~VG#tQc zz6drm=vhHHXWX3l)2IilTYEj2Un0C$WYhi2?! zhq9lxLulj6;?!4bW6be&TB(EVT&g{w;C01?%pR~4ltK$Sp0Sr^1Dfe*aL%bT+rw`) zyICmE;Gr8)_J_2cWaaZHq~=O3^5{tXS<{M zJLuO)bs6RKjov%sN~%qSrBB=!U8PtNqefE{G_}kX^Yx4#=DFPF4@5mH2jCsdH+)`J zh4rH<07e!iEUIIS^VJQA`;8?9N#YbG!x2Tt1KrzAwGlVO=}KE;%FaDEX?LY& zcDl!)(9A|t(BY-Mq|^-XEgTqZm|z$l<+ELQ0u<_U4Ct3$wGg9eX9}kmKv?F**QC+; zasjGSju^7dR1$r|agNu*tkvS=%Jr0o!Yy}Ith^16*Y7t|jn$x{CeO3-2Q2dfJHsjT z>+i>oTPDUMvt;GMFE{?H_$$0kh8;kFlDu$hYDEuKCd`vYYF+NasEz2V13^vCP#X%w znrtpk+;DKV2wOWo_TD40>ckGv=cUlEMc+GT8=A3E=OwLvYo5@5;xc<(9V#@Dee!Fh zHG){1*r4(Ak;>vvh_p$sbNUZM!9~#aRN8{3UqZ~)(z72CoS=FE_5jMgJ#r;5?93WC z4;Gv!e0f-P@f*j03zmz3nuNo-5+*(Sj+TNlA(d|3HuLKVDV$25O|HAEn4}!>h=l(D zg=)^+(lR4mTyn2rSteY(H(p3AADcA}Q{^e`S_{AAs_4{dQH5}kja2*1=tl2jX&4vo zsP&1rwXJH(?-aP{OVs#1r$6XGf0fb(LpWC1B?aWCT`}xFkY=@PvU^=Snfvl+*VN*g zc#PO|@RaB?>*rVhHQN@n;qd%*p?xA2l-3>x^+wi&8txHZPSMB!ae@Ks5g@GWiI~KW z^Df~84uAm?Qk&?=fcs(@R28`VW~-Fukx%f*=LN@ttE91&EC8z~4#u==9qsTt@h zHs4>t-XHOcwQStRL}dZ*-ZRiopIdP=Oe?3QYq01iRHvrYktpEM?~lLTJ_UKd=b z!MkTIX0vyk88V*gJljfz#B85vQg z&t+q9`V1zh1UFc`s)UEE!`peL_>oN=KtDwoWB7iYEnyVZD5*Xnsx23UWM7tA`Cq#S zmSv5u+WwRsZ_C!DB&5+U1reUd{@J(YFVT>O^0Ih(Jz(ID!qcz>p%q3K6@Ix54ZSn1 zp<^NhE1-0MLkMMmG$e0}aT2m(I=D0}WauA)q*Fh@;;%i`i=@QiE7Fco0REMQQx?+k z!XnW&Pbq*A9FOCcZe7%d>qwr<*WBvT%1*qM;pZJodCwlnqQnUuj$T&dGj)!#;P?hf+VgG4Mr#NsjA=z zJ(=Q__0&j5akQXrVvbB2^|mVNEw6-|9m4`H|M8~=se5ml@=d7z?-C}wV2$6<6@Fti z{}fw`S|oy#Au{M%)GfYSJ?#x9NZKQmEn(qM!@z!rvrrBr-pQ>2smQ$o54$l&r5G$> z*hGL2cp+FQ)x@6@(Jx*Pc9dxgp&;|%ob|IQ=Q1=x>6z=iN=*HrHsahrVcgF3kpMG) zyZFwSPW(>Nh-kqQK%WwQR*^{l%&)%u4d5G3)^VQ->jlF82ScOflI3o&X2QvDuw3U# zBy^8Ar%oal!xMN$n2oF`qM@zs)4AS;ib_j9)n>dPw(dY4cpw%1)3_paBw_B>tla1> zmzVQzaoErbP~M(X)K>#g>99^1;T?}W4<^cd5A7v@2Q0HHAN^p||_M+Fox)#R#X2~2 zn3$Pf1dF5A;p9-05qCcUXC_x4fn#+me2&VrIutag@)X~BgF*Ht*13KJVI6gkil$s% zEhQ)6Im}e!RZo-0q%T>@HiI_@LA-8Vl8~hqp{td&<+zhzubLI3d+A%Y5JIST=df4t zW zC6AV88rDlQ)LzNvo>kYRX4Kui?09KjP1_4tx{}9g5O-ubdzh*{N)sO|8z~nn2A4{x z0_;H)9b{leh$x>)^BKDne zzJx#DLUwCU2HLF9>f*@Q(o~uKDqZ-WtA1b!i8LBtc)dNZ6^ey)p3R6bMk~ZVCKG>HtPB!EhGvf}iHU?Y$}XAD)KNSocz(#~NP&+c7N2*>zGshM*6z|kOwjbG zw-N!P9s-@q3vS-Xo20v15tWHu%r-fq@h!AU%L7(;l|S7F1Ad8a@yOkxegpH82aF&y zZt-X6fU|*or)WZ!)Tu@5-o`nd_xTB*B3e8*uPQYsVcOX}jyjMxS})7G3M9D-ydL?w zpX?QCLq_+jS&0MT}8DjTYA#E=oygi{m~EQzesrE6;!2QyKs zk~+cqe(3A`55=v=aUt9m>M2Ra@joBQ%wBrt#SMiROtR2xJ;q|g3j;gevblEMMPGOf z(F-kzrjDD9e%#DzV|3j2@hTd3b>6>~QgA~4CerUGXP}++II6iNPZu+>7huIiM6m%-nBO5}Clg*|?OadNt_1zqCtk-F#fbJ~u))AEmVN4o3)b zJjy{FJSWO&u~eRWB%Is za`1*1#GlQ}rbz`)g`njshMQtPs#)J>)v!tRNm}35S%0DCf`SmFZB{-t{#q<`cRC0l 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