From d3f86e52bf2b933ffeb77cdf78903617b01e6604 Mon Sep 17 00:00:00 2001 From: Aliaksandr Katkou Date: Fri, 9 Oct 2026 20:32:23 +0200 Subject: [PATCH] fix: draw the Todo icons with Nerd Font Material circles MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Done tasks draw 󰄳, waiting tasks 󰄰, and the task in progress a circle filling up through 󰪞…󰪥 at 100 ms, all Nerd Font Material icons that fill more of their cell than ✓, ⠶ and the braille spinner. Roles stay as they were. Like the git header, there is no fallback without a Nerd Font. MEMORY.md, docs/configuration.md, the live checks and the design render follow the new glyphs. Refs: #225 --- MEMORY.md | 4 ++-- ctui/plugins/todo/index.tsx | 12 +++++++----- ctui/tests/roles.test.tsx | 6 +++--- ctui/tests/sidebar.test.tsx | 4 ++-- ctui/tests/todo-sidebar.test.tsx | 24 ++++++++++++------------ docs/configuration.md | 4 ++-- docs/design/sidebar-3-all-expanded.png | Bin 94359 -> 95642 bytes docs/design/sidebar.html | 16 ++++++++-------- docs/testing/live-checks.md | 2 +- 9 files changed, 37 insertions(+), 35 deletions(-) diff --git a/MEMORY.md b/MEMORY.md index 4825eb1..b20fe0f 100644 --- a/MEMORY.md +++ b/MEMORY.md @@ -103,11 +103,11 @@ Guidance: - Add the `userConfig` boolean `todo_tools` (title `Task tools`, default `true`), its description naming Opus 5.x and `CLAUDE_CODE_ENABLE_TODO_TOOLS`. It is independent of `todo_enable`. - On `session.start`, which fires again on each reload with new `options`: when `todo_tools` is on and the variable is unset, call `$.env.set('CLAUDE_CODE_ENABLE_TODO_TOOLS', '1')` and record that in `$.state`. When it is off, unset the variable only if `$.state` records that ctui set it, so a value the person set stays. `/clear` empties `$.state`, so an off toggle after `/clear` takes effect in the next process. - Gate the section on `$.tool.list()` from the 1 s tick, stored as `todo.tools` in `$.state`: the list follows `/model` within 1 s, with no event, and render hooks read state only. With `TaskList` or `TodoWrite`, read the list as #10 found; an empty list draws a bare `Todo:` title (no count, expanded or folded) and one `muted` row, `no tasks yet`, and before the first read the view stays empty. Todo sets its own `cap: 8`, so a typical plan of 5 to 8 steps shows whole (#209); the other list sections keep the shared 4. `TaskList` lacks `activeForm`, so after `--resume` the in-progress row shows its subject until the next TaskUpdate names one. A TaskCreate after every task is done starts a fresh list (Claude Code drops the finished tasks); the rows follow it. With neither, draw the header without a count and one dim hint: `no task tools on this model` / `turn on ctui Task tools in /config` when `todo_tools` is off, `no task tools in this session` when it is on (`--tools`, a deny rule). Call `TaskList` only when the tool is listed: it throws otherwise. -- Rows: done `✓` with its text, both `muted`; the task in progress a spinner turning through `⠴ ⠦ ⠖ ⠲`, one frame every 100 ms, in `warning`, with its `activeForm` in `main`; waiting `⠶` in `faint` with its text in `muted`. The spinner is the `spinner.tsx` Client, keyed `spinner-`, animating on its surface's own frame clock (one `surface.every`), so the Sidebar doesn't redraw; it isn't pressable, so it stays a Client while the Pane is focused. The folded summary stays text. +- Rows: done `󰄳` (nf-md-checkbox_marked_circle) with its text, both `muted`; the task in progress a spinner turning through `󰪞 … 󰪥` (nf-md-circle_slice_1 to 8), one frame every 100 ms, in `warning`, with its `activeForm` in `main`; waiting `󰄰` (nf-md-checkbox_blank_circle_outline) in `faint` with its text in `muted`. Nerd Font icons with no fallback, as the git header's. The spinner is the `spinner.tsx` Client, keyed `spinner-`, animating on its surface's own frame clock (one `surface.every`), so the Sidebar doesn't redraw; it isn't pressable, so it stays a Client while the Pane is focused. The folded summary stays text. - While `todo_tools` is on, `tool.describe` answers `{ ...e, isDeferred: false }` for TaskCreate, TaskUpdate and TodoWrite (TaskList, TaskGet and TaskStop stay deferred), and a pure `prompt.compose` hook appends `{ id: 'ctui:todo', scope: 'session' }` when `e.tools` holds TaskCreate or TodoWrite, naming TodoWrite for both steps when the session has it instead. Pure means the same text every call and no `$.state` writes: it also runs for `/context`'s measuring render. Both are gated on `todo_tools` alone, not `todo_enable`; off, ctui answers `next(e)` unchanged and adds no section, even when the person set the variable. `tool.describe` answers are cached per session, so `session.start` calls `$.ui.invalidate('tool.describe')` on each reload, and ctui's hooks follow a toggle at once. Claude Code 2.1.292 keeps a conversation's first system prompt, and never drops a tool that request sent inline (its `prompt_snapshot`), until `/clear` or a new session: a toggle on adds the pin at once and the section at `/clear`; a toggle off changes nothing Claude gets until `/clear`. No `$.ui.invalidate` event changes that (`prompt.section` tried), so the README, the `userConfig` description and the live check say a change reaches Claude from the next `/clear`. `/context`'s totals don't show the change: check with Claude's own answer or the request. - `ctui/README` discloses that the default gives Claude the Task tools on Opus 5.x and how to turn it off, names the variable for people who set it in `settings.json` `env`, and says the tools and the section are kept in Claude's prompt, what that costs, and that off stops both. -Reason: The human chose this in #21 after a live spike (`prototypes/research-21/`, 2.1.288). In #51 the human chose the tick over a render-time check: one tool-list call per second instead of one per redraw, and one source for the hint and the rows. Without the variable, the 5.x models (Opus 5.5, the human's default, and Sonnet 5.5) have no task tools, so the section would always be empty. After `$.env.set`, Opus 5.5 got the tools at once and used them; unsetting removed them. `/plugin install` shows a "Configure ctui" screen listing every `userConfig` field, defaulted ones too, with the focused field's description: that screen is where ctui suggests the tools. The tools are pinned and the section added because the tools alone don't make a list: on Opus 5.5 Claude made no list unprompted in 3 of 3 runs (#206), and in #220 the pin alone made 0 of 6 lists, the pin plus ctui's section 12 of 12 and none for one-step work. Together they cost about 1.2k cached tokens per request. The snapshot shows only in the requests themselves (a logging proxy as `ANTHROPIC_BASE_URL` needs `ENABLE_TOOL_SEARCH=true`, or Claude Code sends every tool in full) (#216); the human chose on 2026-10-09 to document `/clear` instead of a restart-free toggle. Subagents and child processes, a nested `claude -p` included, inherit the variable. The spinner and `⠶` are the human's picks from the Todo spinner spike on 2026-10-09 (`prototype/todo-spinner`, `6fa9e40`): `⠴⠦⠖⠲` at 100 ms over other spinners and speeds, `warning` over `accent`, `main`, `muted` and `success`, and `⠶` over `○` for waiting. +Reason: The human chose this in #21 after a live spike (`prototypes/research-21/`, 2.1.288). In #51 the human chose the tick over a render-time check: one tool-list call per second instead of one per redraw, and one source for the hint and the rows. Without the variable, the 5.x models (Opus 5.5, the human's default, and Sonnet 5.5) have no task tools, so the section would always be empty. After `$.env.set`, Opus 5.5 got the tools at once and used them; unsetting removed them. `/plugin install` shows a "Configure ctui" screen listing every `userConfig` field, defaulted ones too, with the focused field's description: that screen is where ctui suggests the tools. The tools are pinned and the section added because the tools alone don't make a list: on Opus 5.5 Claude made no list unprompted in 3 of 3 runs (#206), and in #220 the pin alone made 0 of 6 lists, the pin plus ctui's section 12 of 12 and none for one-step work. Together they cost about 1.2k cached tokens per request. The snapshot shows only in the requests themselves (a logging proxy as `ANTHROPIC_BASE_URL` needs `ENABLE_TOOL_SEARCH=true`, or Claude Code sends every tool in full) (#216); the human chose on 2026-10-09 to document `/clear` instead of a restart-free toggle. Subagents and child processes, a nested `claude -p` included, inherit the variable. The spinner and `⠶` are the human's picks from the Todo spinner spike on 2026-10-09 (`prototype/todo-spinner`, `6fa9e40`): `⠴⠦⠖⠲` at 100 ms over other spinners and speeds, `warning` over `accent`, `main`, `muted` and `success`, and `⠶` over `○` for waiting. Asked for bigger icons, the human chose Nerd Font icons over fuller one-cell glyphs and double-size text, then N2 Material circles over Font Awesome and Codicons in the Todo icons spike on 2026-10-09 (`prototype/todo-icons`, `1f5a020`, #225): a terminal cell can't grow, and these fill more of it. ## While docked with Todo on, ctui runs Claude's task calls itself to hide Claude Code's list diff --git a/ctui/plugins/todo/index.tsx b/ctui/plugins/todo/index.tsx index faf40c3..e9415c1 100644 --- a/ctui/plugins/todo/index.tsx +++ b/ctui/plugins/todo/index.tsx @@ -2,14 +2,16 @@ import type { Todo, TodoItem } from '../../types' import type { Role } from '../colors' import type { SidebarPlugin } from '../plugin' -// A done or waiting item's glyph and its role, and the role of its text. +// A done or waiting item's Nerd Font glyph (nf-md-checkbox_marked_circle, +// nf-md-checkbox_blank_circle_outline) and its role, and the role of its text. const STATUSES: Record, { glyph: string; role: Role; textRole: Role }> = { - completed: { glyph: '✓', role: 'muted', textRole: 'muted' }, - pending: { glyph: '⠶', role: 'faint', textRole: 'muted' }, + completed: { glyph: '\u{f0133}', role: 'muted', textRole: 'muted' }, + pending: { glyph: '\u{f0130}', role: 'faint', textRole: 'muted' }, } -// The item in progress's spinner frames, one every `ms` (`spinner.tsx`). -const SPINNER = { frames: ['⠴', '⠦', '⠖', '⠲'], ms: 100 } +// The item in progress's spinner frames, nf-md-circle_slice_1 to 8 (a circle +// filling up), one every `ms` (`spinner.tsx`). +const SPINNER = { frames: Array.from({ length: 8 }, (_, i) => String.fromCodePoint(0xf0a9e + i)), ms: 100 } const textOf = (item: TodoItem) => (item.status === 'in_progress' ? (item.activeForm ?? item.subject) : item.subject) diff --git a/ctui/tests/roles.test.tsx b/ctui/tests/roles.test.tsx index 23068de..3341aac 100644 --- a/ctui/tests/roles.test.tsx +++ b/ctui/tests/roles.test.tsx @@ -143,14 +143,14 @@ test('the git header: glyphs muted, counts in their roles, lines changed muted', ]) }) -test('bars: the empty part faint ─, the percent main; waiting todo ⠶ faint with muted text, the spinner warning', async ($, on) => { +test('bars: the empty part faint ─, the percent main; waiting todo 󰄰 faint with muted text, the spinner warning', async ($, on) => { const { runs: all } = await draw($, on) // Shorter than a rule between sections, which spans the body. const empty = all.filter((run) => /^─+$/.test(run.text) && run.text.length < 38) expect(empty.map((run) => run.color)).toEqual(['subtle', 'subtle']) - expect(colorOf(all, '⠶')).toEqual(['subtle']) + expect(colorOf(all, '󰄰')).toEqual(['subtle']) expect(colorOf(all, 'Open the PR')).toEqual(['inactive']) - expect(colorOf(all, '⠴')).toEqual(['warning']) + expect(colorOf(all, '󰪞')).toEqual(['warning']) }) test('a rule between every two sections draws faint across the body', async ($, on) => { diff --git a/ctui/tests/sidebar.test.tsx b/ctui/tests/sidebar.test.tsx index 6c3eead..fd14e22 100644 --- a/ctui/tests/sidebar.test.tsx +++ b/ctui/tests/sidebar.test.tsx @@ -245,12 +245,12 @@ const CAPS: SidebarData = { mcp: Array.from({ length: 5 }, (_, i) => ({ server: `s${i}`, label: `server ${i}`, source: 'user', state: 'ok' as const, tools: 3 })), } const capsPlugins = ['git', 'todo', 'mcp', 'versions'].map((id) => plugins.find((plugin) => plugin.id === id)!) -const tasksOf = (sizes: (string | number)[]) => sizes.filter((size) => typeof size === 'string' && size.startsWith('⠶ ')) +const tasksOf = (sizes: (string | number)[]) => sizes.filter((size) => typeof size === 'string' && size.startsWith('󰄰 ')) test('Todo caps at its own 8 rows; another list section keeps 4', async ($, on) => { const sizes = layout((await draw($, on, { plugins: capsPlugins, data: CAPS, bodyRows: 60 })).tree) const tasks = tasksOf(sizes) - expect(tasks).toEqual(Array.from({ length: 8 }, (_, i) => `⠶ task ${i}`)) + expect(tasks).toEqual(Array.from({ length: 8 }, (_, i) => `󰄰 task ${i}`)) expect(sizes[sizes.indexOf(tasks[7]!) + 1]).toBe('▸ 1 more') const servers = sizes.filter((size) => typeof size === 'string' && size.startsWith('● server')) expect(servers).toHaveLength(4) diff --git a/ctui/tests/todo-sidebar.test.tsx b/ctui/tests/todo-sidebar.test.tsx index 2b0ae74..b6beeb4 100644 --- a/ctui/tests/todo-sidebar.test.tsx +++ b/ctui/tests/todo-sidebar.test.tsx @@ -45,15 +45,15 @@ async function draw($: Engine, on: On, list: Todo, tools = true) { // The text of each todo row: a done or waiting row's glyph and text, and the // text after the spinner, which draws in its own Client. async function rowsOf(pane: Awaited>) { - const texts = await pane.findAll({ type: 'Text', text: /^([✓⠶] | \S)/ }) + const texts = await pane.findAll({ type: 'Text', text: /^([\u{f0133}\u{f0130}] | \S)/u }) return texts.map((text) => text.text) } -test('rows in list order: ✓ muted, the spinner with its activeForm, ⠶ faint with muted text', async ($, on) => { +test('rows in list order: 󰄳 muted, the spinner with its activeForm, 󰄰 faint with muted text', async ($, on) => { const pane = await draw($, on, LIST) - expect(await rowsOf(pane)).toEqual(['✓ Write the parser', ' Running the tests', '⠶ Open the PR']) + expect(await rowsOf(pane)).toEqual(['󰄳 Write the parser', ' Running the tests', '󰄰 Open the PR']) const glyph = async (text: string) => (await pane.find({ type: 'Text', text: new RegExp(`^${text}$`) }))?.props - expect((await Promise.all(['✓', '⠴', '⠶'].map(glyph))).map((props) => props?.color)).toEqual([ + expect((await Promise.all(['󰄳', '󰪞', '󰄰'].map(glyph))).map((props) => props?.color)).toEqual([ 'inactive', 'warning', 'subtle', @@ -62,7 +62,7 @@ test('rows in list order: ✓ muted, the spinner with its activeForm, ⠶ faint expect((await glyph(' Running the tests'))?.color).toBe('text') expect((await glyph('Open the PR'))?.color).toBe('inactive') // The spinner and its text share one row. - expect((await pane.findAll({ type: 'Box', text: /^⠴ Running the tests$/ })).length).toBeGreaterThan(0) + expect((await pane.findAll({ type: 'Box', text: /^󰪞 Running the tests$/ })).length).toBeGreaterThan(0) }) test('an in-progress item without an activeForm shows its subject', async ($, on) => { @@ -185,18 +185,18 @@ test('TaskCreate and TaskUpdate draw rows, with activeForm from the inputs', asy await $.tool.call({ tool: 'TaskUpdate', taskId: '1', status: 'in_progress' }) await clock.settle() await pane.redraw() - expect(await rows()).toEqual([' Doing alpha', '⠶ beta']) + expect(await rows()).toEqual([' Doing alpha', '󰄰 beta']) // The spinner turns on its own frame clock, keyed by the task's id. const spinner = await pane.find({ type: 'Client', key: 'spinner-1' }) expect(spinner?.props.module).toBe('plugins/todo/spinner.tsx') - expect(spinner?.props.props).toEqual({ frames: ['⠴', '⠦', '⠖', '⠲'], ms: 100, color: 'warning' }) - expect((await pane.find({ type: 'Text', in: 'spinner-1' }))?.text).toBe('⠴') + expect(spinner?.props.props).toEqual({ frames: ['󰪞', '󰪟', '󰪠', '󰪡', '󰪢', '󰪣', '󰪤', '󰪥'], ms: 100, color: 'warning' }) + expect((await pane.find({ type: 'Text', in: 'spinner-1' }))?.text).toBe('󰪞') await $.tool.call({ tool: 'TaskUpdate', taskId: '1', status: 'completed' }) await $.tool.call({ tool: 'TaskUpdate', taskId: '2', status: 'in_progress', activeForm: 'Doing beta' }) await clock.settle() await pane.redraw() - expect(await rows()).toEqual(['✓ alpha', ' Doing beta']) + expect(await rows()).toEqual(['󰄳 alpha', ' Doing beta']) expect(await count()).toBe('1/2') await pane.pointer({ type: 'down', x: 0, y: 0, button: 'left', in: 'fold-todo' }) @@ -213,7 +213,7 @@ test('a list held before session.start draws at once, as after --resume or a rel await start($) await clock.settle() const { rows } = await sidebarOf($) - expect(await rows()).toEqual(['✓ alpha', '⠶ beta']) + expect(await rows()).toEqual(['󰄳 alpha', '󰄰 beta']) }) test('/model to a model with the tools loads the list within a second', async ($, on) => { @@ -227,7 +227,7 @@ test('/model to a model with the tools loads the list within a second', async ($ world.tools = ['TaskList'] await clock.advance(1000) await pane.redraw() - expect(await rows()).toEqual(['⠶ alpha']) + expect(await rows()).toEqual(['󰄰 alpha']) expect(await text('no task tools in this session')).toBeUndefined() }) @@ -267,7 +267,7 @@ test('TodoWrite feeds the list when the Task tools are off', async ($, on) => { }) await clock.settle() await pane.redraw() - expect(await rows()).toEqual(['✓ alpha', ' Doing beta']) + expect(await rows()).toEqual(['󰄳 alpha', ' Doing beta']) }) // Hiding Claude Code's own list (MEMORY.md "While docked with Todo on, ctui runs diff --git a/docs/configuration.md b/docs/configuration.md index f03795a..6cf5be9 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -69,11 +69,11 @@ ctui draws with Claude Code's theme colors, so it follows the theme you pick in |---|---| | `text` | The Sidebar's main text: the path, the branch, `↑N ↓N`, section titles, bar percents, the Limits labels, MCP names, skill names, the task in progress, agent names, the versions. | | `success` | Git `+staged` and `+added` lines, a bar's fill below 50%, MCP `●`, a finished agent or shell `✓`. | -| `warning` | Git `!modified`, a bar's fill from 50% to 85%, MCP `!` and `◐`, the in-progress task's `⠴⠦⠖⠲` spinner, a running agent or shell `◐`, an interrupted tool row. | +| `warning` | Git `!modified`, a bar's fill from 50% to 85%, MCP `!` and `◐`, the in-progress task's `󰪞…󰪥` spinner, a running agent or shell `◐`, an interrupted tool row. | | `error` | Git `-removed` lines, a bar's fill from 85%, MCP `✕`, a failed agent or shell `✗`, a failed tool row. | | `suggestion` | Git `≡stashes`. | | `inactive` | The Git glyphs leading the branch, changeset and lines-changed rows, Git `?untracked` and "lines changed", the fold arrows, section counts and folded summaries, tokens, cost and reset times, MCP sources, `·`, `N tools` and `off`, skill sources, done tasks and pending task text, agent details and elapsed times, `▸ N more` and `↑ more`/`↓ more`, the versions labels. | -| `subtle` | The `─` rules between Sidebar sections and the `═` rule under the git header, the empty `─` part of each bar, MCP `○`, `no skills used yet`, the pending task `⠶`, the `│` in the versions footer. | +| `subtle` | The `─` rules between Sidebar sections and the `═` rule under the git header, the empty `─` part of each bar, MCP `○`, `no skills used yet`, the pending task `󰄰`, the `│` in the versions footer. | | `promptBorder` | The `┃` bar beside your prompts in the transcript. Claude Code also colors the prompt's `─` rules with it. | | `userMessageBackground` | The panel behind your prompts in the transcript. | | `composerSidebarBackground` | The Sidebar's background. Claude Code paints the dock with it, and only a theme picked in `/theme` sets it. | diff --git a/docs/design/sidebar-3-all-expanded.png b/docs/design/sidebar-3-all-expanded.png index 35587049efc4ed3f16a255d6eb24f4c27fcd7c06..f77774ef8311927b95507cf89971d6d72ad8fe60 100644 GIT binary patch delta 50468 zcmZ6z2UJt}7d2`b#Q~LZ1W^zeM=64Uiu9%^qVyhmY>0q>)JQ1T28A3GE^d#Io`2gzz1QS`ZU z?)pE8eDD8KJCL}3JaL`B;Z;V)ivT?CbLp;|J#LLzDCt#F659-Zo$TqD$kZ)NotIx2 z@X+T!_vrFV>U2xkY@2wxw%q!PoC|+#7%nt4H1L!NW%zG4HiLAnSf$;K`cD;c$nNI- zdOt#zq22so>El0E4pD=+q;?UJ@GFOxEA2#{=NlJ3SYIHmwb#97ir$aE;k82}x_gF; zTI6Iq5c4duo@a+#?inQ|tA;cLa+vMgx33~j&{U`M`6J=RTGyQ4F|NlQF`1_f zF>Pl)1uThGFTOggxcT!Whq%YqOgamPsClKc)v@xY14Zyw)}3)XlaS^=fzA*wRE3dv(ZJ znFss7C+HX(N35`SqzNIL`$c+6hzm zO#5Eg9cOpk`@+laSU&!X?FCELb5G;FzuEW2{s{T^Hx(!9xPE^lCG?&HHKDGy_lFm+ zULgTezklrTDdZLA*|Wvby4NDVe~@=>Q}8*{;lpbbLhFIOpNw*jn`9YeMns&RrS|2T zl?%js6}it3o;!Cg+bCB}OREh2n-{OX3=It(cyVcCW8-IF00!qiU$eVqhri#@)P$ju zci<+ryMI*hTs!M#TOAS8ym3PGzX)LZvEW7U|24Mm3)yMm$LMW@0Q} zA1L?|RGZ)7`sO{qA!XG;dZP4Cqd`8Fy%!z+2mOa58a+}{a!tJ2o4)q`{rh8Fl8@vF z9kFuO?NKxmW&|oK&k~Pyr^5q-Px;hp0}d*@`H({`gA~T&wQt{F`|jSlVX#Y|Zi{r; zSR8XhX8SJYaR?i=)nq>#`x@`Fm3d0Rey{{?uo>zfKEBCjfp~K~mbN_EN)WrpDTi6e z$tns738|EE{`p-u`F7-e!jRJTVttI5#Y0=8eEgc}=JI67E^2AKp&gGQd!(1?4%N8M zbmOQsL$oqh9(m)Qj%X?E`Yp%DgmOnTQ5Z?EkCb*wI#u|vDR}SQp?1=|q3Rs*w9g8I z*74qJ@XTxy;NwQkC){|wn(&lVMME>TP>IS2;j_fz_DZLiNzo(tj1x^Ej^ygfFru2F zC=N5$5x=l0yQcAYBz;k^cOr~SO551;LFNy$+OrMTeF{U z4rfa48SCKX#Xi`~e%&N*Txze0vq+u6H7abk4NCFE(9A=K4hEZ~5)QFxsnO)RkT%A& zezs-p1dd)mxJ!Nadh~GE;o!4t--=MY5lc^}t?A~@gP+Z6&Tjom3g5zGJWtdnL4ECe zao}I{AJkGiqC2H`W(^r~EEkQxnv#^@oK~5c;!VY`3&kn|v<#Km_gtq@2qH~hh}*e*tX7?S`qTn}edfGK`REAH~WE<66e> z6tAA?d_xNxb$j?2{S`s*BQ_YI9iL+AC zE+iKE)+)jX*2igixlH)4j6@qH+mX_cat48;XL6IP+N*lHMtpK~S;5fMcdxzdV?H7# z%)7DND#m_-y;@&iUm~X(yZp2HY5LaJ8wb@$o$@Qhb&GVFh_N%`k5{42Y)q>xJqm&aXbUeGm|4 z=5vG3?5K?tz|q~px0())xwZLQ)#397X6ZRfr7Ld^OKw+XO%|-BIWaz3#Fuza$EMDYu!6mj2>CsWt1g7U3wUO98qLNdZf73Z8Q&4ULUa`w7mp5k(g{jyaRJuN;~`^0_G9 zH8&p)yMzZs6T%9s4~eJ*uoV^!t+motI+bddTZFMMg1O}+U8XeX51gwq2TKRptHbib zFPS*+ZhLrU0R@S8`R&^+dZMmhc~8xtgncm5H~KN`*%d_*K0?)11xwsg|5Ux4wS7%a z=EsT9w(DxjdM6mQlHbyAec&RWVe2j^!gPI2Ysg-V&(G1vooCG_DQ(c1v=?M~+qPZ2tIK@#QX^jaVYYlyxM#8KE8LE)x>tCVe75P-T4Z};DID!n zsh6rI6eny;5hZxGe+QCQwK)|%RPM-o>QveZ1M{6GrQIvge`W`hPS2V9N-nz((e~Mt z6SEAnm3^59hu}DS(&x+DEkY4~O+9{Op>n#)eco1Ts_UF3ai7?FNLK%a64$U7AJ3&yHx_nh#2D_+CM`*B z_cr75>G=Gd1zz(k>~vKr_S%Nk1{zHdk>g$Qu*S?Q?A1344TlGTeqU{y{`fiIZPur) z&CN-#WoWRhtgI`9Ulc-iXQX&jibLztv1j5sHC~%o8f7MLb7guqZE6Ji7v>Mg>A%a> zaB2V9YsL4;Mu?XfMkziUeGx{4o=i-*aghGl|2TIEo5&T`a#BxEv3j^DW#+QdV|Qr1 zs=VI49sS52G`w0@7sLOYm=L#W`Sf(!eQj<4Zg1p$&E?tr+M1>Wmw)BuI!I3E;A19A@WA;C@(qtToDjM8e`sy8f8`3&iu)-n`6WDCLC4U9Elgu z57jsPxh}dqA`{-RbN9^N{mLuya&jsKOvA4Y+JyCm^0rb(0MI`z88=Vg# z2qQfXD*PISh1y8#Eon?OF0JrCi^s|Ju7at33%qyNH zmYE*17TFoFj^~zhe|qm;LKvyc&gkOBi&Et04>3&beGSe4+ao}5`Rv1R*@oGDIE>@8 zNoM#B4@*9beeBA`brZy-$~BYcQZZ0<|2J>u`U~q@^c8(nvP+nW@yN60uMJ*p1uZ0- zi#9@-A%v?jzh&%b{b1j!(6~j7!=0V|n%eWS4xHyPXY;#K^MrMP6A|o4ReKwgk{EdKvr#wZ| zrtPFQKZ{u6F!g4t$64&>D}qf2Q}sRnjV2M&GzeebHyYZy<~`gGk3;aEWt9ecZaH~t zJWx!LvF+08^wu#(n#o1~5MCwA^{6$ViNR-O zmfs4*T}IG{P>Opp;*yk(ugRuS=}1b-1sZ>jap6~Iua}#N{yf+*Uk-OFIX59&qHXOK zmiV|ms?=v^i&b&si?ex$i2Qcv(=;-($ao%Zp}VN$R>MR6O$>g%tE&rWLn{6t(=pCR z=zkUU^J})U+?TTq5q`t490{{&&(bjf85cyWg|tjSp)<#GRl=cnDzLH2FJ9Lg-?F-h zI{&>g$KFqAenX59%9^(^!a-_%bJ+LHiVUBHXBAukT zs82Dybpqc(3YmO;W+*xvS#My~yq$u!M!v-i)zQI_sqo z{n)u<@D$ko^8Nbt>%ZsE=hjB2r&}|2cl>33{`@%gJ>HL%H&2iZob~6=N3&5Yy)BIB zmvvQ zlxMm|WOuSEYtQnJo2=f8bxcNie^u`tyM098a7*mnGoHKKo9^n*o)wI{K6o%5?O0Rk zK&oQmd43Nh98ed}?lE{FWc;nbHB*FCGXAKe##CgM8kYb3ryw(hsl8W`1tTc@M#nNdD4~C z00J$0Gk)!$UYlLbxH$pQ7_XPTrilU_!Z##I2t=dWDpYT4rkad2ye z9jU{WDRcPNZp17AY{&*IN`KT!q{ziGqo;NaY;UnP_A%0^xJZ{zJGLLLO5290?uns-k%XQ%rY=Hk5PE6q4Cc2T7k#P<4FpX)pbbFJ+BBIfAuwm7IDs^3$hJg%+JBORb|m?w=PEKmUy!oH&>+8rwkQ893#KXp;^MnvE z$Kc-rQQqJ7NQLA@fulU~6;O|fiHTrsz+Wdbd-Ff97+O){^?W$K)Ef0o_a@%eBs9gM zNS@imW84vqHP?$eRQ~7Dqd5kd-DJFHdwYMsv75@FLx%>=_vWL~638N`YoB$J1-CU+ z@c$eDOvlL@XyYgOH7e%IhRELQ7H(4VAmsl5BWK@eR2bMS+}svrPfc9(36%nI&y_1> z!2;XfT?WxMUTWgd^ju%?c6(L+jo;ET*e&Mmj#O1# zxX(Nyp8m!l*VGL@H0L6XW{B#A>uJNQkw&~$g0e=YhMmni;}j$YL$wt*M_;o#^cU0( z4aw~(M)p^G5U6uG$F!6J{UzY-TiuJE{RQ{ow5yS9(bdlj9gcI$u73Y;9`rOk+Fn2j z5!FSWD-XVbJ#-bj`a~tLF$m!jL)Q$)4ZS@npr@y|MVl>mnz&6e2LlLj<BwpC2|ho`>O>j-F2Vd{IBmIQZHwbS7{s?RwHQEvj5~)s>ZBS>C9ttAppOwA!K< zh%LGn6%x`3;xE^HENcp`^$UBYElL93Z+lNvnPSGi`i3JSW@`&Ls*rp%&H*=HCbv*g zAEN>EcSI{zmQVtI(+XHm<>}M$#C?Et>C71SFzq-jB@@u}%Tc=$c3~sqFA{1yI_twO z+P7}KIlOAHCllNFShv>Z>EPeVgm{21EwdjA1|`~^a<`VTi!)sv#{vXNECS;E6Oqkj zc}hu1>G$1yrjlp6cv$DJi~qkz7yf~L{}sf%_-lQAe$a@gFe=YnN9VootGAMx3-YpQ);H5VIX>Rq{V<&@5|633AmJ7OMSPWdwtPWk5ril{Z}h~rr8 z^Nwk$-Q8XADnbGS<=iNr+z2~(bydqT`~v61{Ji}+#?tC4xH)cNLWTzp9(;&AdYc>l%G({&NZNpOM#>2Pd?rg#CG}kQ#?Fz^-HR<#vV7!((N^f z8=wX|fvY>GBVa2J(W^n9_l*c~#Fdmi`y zYsN+GX11zZv!%WO(sJ)GB2iX(@ybZP{Pq*%dqYkUHveFrVXUlM)l6D+j9GPcHFz|h zfNz_O!pnJY3KZL(7*$U3#1G?l6oS~ZxtvMwn<%yYT+0%iPyC+!=1%-zx{W^I^EW&=MY_I;} zc`eb?yHv)mHWj-EY+zZ{fcFgslrf6ry-rHURDmgJObp^cdliBO4+q;|t0>QAx-*_A z@E4LkmJ+HIzrw1p`ks7@$8)X_-mNEH+l(0c=Sluwl~q=)r)H^(7!ixko7|OI&r;$N zpvLulli$4ggQfDTCwHDO^Jl|sqa9!|v0P>)PjulN0FY+>MFJ8Au4oXq+#2A6=u}Ux znG}A0&nbf|G-5Wi)wywJ{v2}d+=&w>U~r+wNRZ9Mxy~eo_YV|X)6S)q=foqsCVv`j zDi0X4$hyx(xEUJXbAMmyO5BPD!1%OK@8Yr$`gWZh+SL@13GE3PQuUdfbyz3 ztvLD0XJg84W76e&{xR?^E-8m?V(o5fdK4+|Q=VGu+Wb)1&T5i#+|Ld>!@%IvzvYM9>?|dW^>=;@1$<0A;{$xl zypyuWF9GEhw|<>>t7wb3a#P|YJr8aOB2Vkp$G+}+vFq>a8|kj^h%S26%&N3KDle?> z(su!iBH&*$v6c~yCf40A+gXtl_^w?u5byGgq`2v)YY~p*5!b-=Cj18rh;=H4EH_a3y;-HR9_BS-aAktE+t%6crV1iBC(XfH!=1%|ZY$upqs$ z9Z+c`@?YY@v|Wm*eOlbwT6d`$ug^we*`2@$N&6@=uGr!}0K~g$Jl;^GS2b3aW%Wcx zu%(0#Ospt<5^`#XysRYImsU?a;8c<8nIk|i$v~P~2I4v?w7k3rrM!w>#@b!b>@Em| z8_bNCoTzqa=$xx|C%W1%>R&WqXH=)<8S#WClI@kxx*19a`C9xXVM@gEi zcOA4{f0SL6#cf#Y%;iJTf>B> z<=@8r37F6~ks4N_{hFwMM>s$IeV<9E#X2xZ-vY zXH*K%`l+;FA27+%nNW@#EukF(fwm@Rcrn~6k-n6F?lv%cKH|uio)=tk?m3^$d|Ru- zteL_dPUy~!QCPqR+e{Dp(C3Zvp7g95&ptG$2RF2*;JC}YCk{i6a~dkfcHlY2Mh4qyzVcZnE?@~)fu(d890 zaNm-uE2~#jl-$XIn~KRR$oZ1bpdgo|#}mej12;ciGSL&W^%hDUde-X1mPIq*xbEs& zLcT*QyGOR~ef>TvDr;Rs(|K|92A;j2;3+al{%igUzRN`L$+G%lUt(===-w2vMvxw% zoqyfCW9Iu!CJl;lQHYvKlNok5(?Zo*w!3IZVjG-yieMJ>0Sc=pa6+V4Y!YkaA(&*; zFzsNwLaGj8Y+30BFw9C3I%{e$w*)Wk$e?PQ>}}mv z6xut?$w>Bk*HC;>C|Pd=p03|9hI}*nrTIj@GgKz;rFEcHtEh-Hc@tE-WtAv(Dbl z!~REJwFt>c#(PrnD1Vx^{L&lpe-b+QEk>2|>MQK%OD5N|UVtl<^WPj$tl`1v(rLoW zq_AtM&7wxq*(me0)$6}{?(hmRvkGX%T;}y*7c%%Ekc7vTlsi_<@Vj|bgJ(NsYz|dw zh)mz~Xr26BqXPBd$ECcU0Ops?dus*b&E_DpRj?;N=T8zGC4{*R<)|KR*|TSoxHE#f zJFW#$o)Dikf{4kH!8Y?|xobWJ0}8zEG{*ZlAT{IrVQ6CMmV_h1Mv z_(Z!hZMZ|aUIXnU#I`;+pr4(R5H>G##soiJWQx_|!KmodDv-=C9~Xp`JyZfEhrq+U z?)kemKhFq@_7FYGsFIP+OI_~?F1v843&i|*#V{eGoD7w0v!=7bxClcdpe`66^tjeTD74!F=ds$Q%{Hxa@du^&cdiIzmlNM(m{ic?d1Tp#}mMP~_S%c;M1{-`> zWNr__tv#4*!`1E=QE5YUvMN0wQX6BNXT1V*-JDl(md;zxBt|0ae{qUtSGn349?`@phS1m;Km{a_9KEc7gR;^_7aJRLmUV_?!^(MOXdRB~ z67n8|yhMxLTCwNarj-xp$rGG9B{k(k=pF0YO9NYDc!g>Og^&6@Tax*O_eb8oP8WTI zOK|fHvD@X`=zL?fLO%O9r?GSATbDe6&1cKY$=1oNu{A$xt#S`1dTb{Vk{@qvfDqC| zX!BM>BaS^ET6mG|`!d09pT4-YJ&M=J{==@OFC$JFr^HY$A>yg?dF%0rjBfN*O6EN|v_92xT+rAY6G0j`3{i z$D{->8AojV^@5Ujax^cW&*+Vu*IS)R`*M#*Oy!8eL7Kr8be?XmVXOCQmntD>87zVR z!gD>-)qyB;(K6EMD-YiAxE}lUPrdxC>tdpPuY07v$Te#@-3a|)02&j`B<~0A36poS zD5FIEhSe5gj){KA2NF{_GBe>*DRz=$XaPGD*&V1%J2`3ZGIih7G|Htm%u;8{i8x`0 zD2R2}IeYEDFmY7eyWwI`cAvfMUj+0$a;ACf@1EzfTrqnweZ118Q<>cD()bjIJveWV zS&G4&>p__tulq6NbXo#z9>h-sxzTr!5n$U$%723>u0qfa6YfoIeG}nS*v2XTP{C)nXvn#hP9y~Vo*TL5H zciPaibwD-|#jncB4i1+vU257Npg3jdQ)sq2?sP?%xT}ydyU2sE`**4|`I6QP&nys= z8rQXVsY!CN=xqm5jZz?MY5+&j-Hj0$L_oKYF%mwKbaIzc7gav}XGl9r@`W9Effr)*fq>d`{yR*#vj%a_$rCkz#GIyxKAB9@_T z3rmJ^ozIOw2P+;dIhVEF&yK>m^g3_d`H|-?+B_)y^s`mRaEGn0MfG@5600OPoigDL zV?o&;M76Y(lnh3{N8;yX$-HW7%t`aS97`&N_JiqT)zdP^kv!W7p5YiTIa3=QtGo0A zx|EOtY7r)UD{dYeOE!$*U5_zG1P#TJmO6(*`Y1b(fedQ9kNo}a>~aHLo5wS6Z05^aMGU@w(n8VI>AX zk7b+tzYcA91Dx2VfqK7V`iC?Ed-O5A8M>8bx5}=P+!IFiFcIXH_Dya|L=TI}p+(m^ zoLRYp>@(-xem6}E{MtqTj#W$Vh2cuq8H;%RhmG%aPnao$Y~}l0cRNuPQAw^@<#{mD z8;w*#-<#Zc#mgWTMQ)Ttx z>#s$*SZ`4}k7oZ+@R;n_FJhNRa>>CW&ms$1q^xnS)*KUmqjzjxx@nqC-5XA&w8#?Dj(Vx~&?>{-3i zAvg8&zjtln-1290hFhSyyF*g!k(<*?;j!%sv~PIxNb9EAtcP>X=MS?@7T#yj-ZVlz zt5VK%W!88fVRBpssl4iqpWY_%`(O3$;FWc~!!E_ zRxlxt`;hZA*+D#^Lx3QtfhwQOaPBYe-XG(AAYxKlyxqK>AIUbUJavXWTgQIa{p{w5 zglFZ?3ZI32N=u)oOVKHIB|*x%lOtagkVxzv7SLf#q1$4)b@d?lUGbo>%fx zsA%=oRY8NaTV0_X&aREYl!H@p&8T==zsFw;`puDY0mo7YlBw@1Or}({&cO`r4Ae(I^~i#Aq4ZVIm@2?p!$Ux09o9UF*>|vzbu; z553zDdo4EqMZ`tTBy1Xf-C+J2(c4Yo?t&$Mc&RIQ(7^Q72&>4GWrnstRA29eRf6Zz z>4o{naYnk?2mAA<$Hzca%xn|MoJD_L?VZq2T67sGJQT4blJ6Ra^H4*(qX-np(G4L+Dy3~eb2VA8*|Z9N7?8( zXO3m;KGj0?>cwc!_AtG)LCs+n`U!GKnZUAw-Rc8PZZ?yc?-JF_O-_mU`P;l)3rYqxar0&*CGiy%YBVI0uiXFhKRbuBp4MkecNPQQo2OHbqQ+o7oWlDse5A_$W()5f~p(lq-&JaYq=_$2H% zgX?7?b*LEGh+mKh)VghCN%#;-zDaY)c!t3uS@%ES15`fK7KaC zB=a7!fPKVHaU0H`c+Sn1^{)b0i7VeaKHE~UO+*HCYr4i?R|LLM{+z4!FNcPr*`pdB zw`ppmrPW$H%CQ5*7R-bR&NQ`m^Rn4remCMQfz^3r`)(w@6OZe+G$P0qK=$_ zF$ehUHhEJ?mSInM&2tN?whdT&b9kO3qc0)dU^1W^Ud(?+)-{9QW2u3|#o5rst(^54 z*nfU%HPl*0&1RXetp2r}9R?&`gt;?WieTblbUbe54BDx(-~HyK4*u^_2kejbVyzGo zJA@fy7ux5DSCkL^yf-C5Pjrk#N~3=d}Im@zT*=YrKory+|=-jF>FRU6<^SBz;N zdJLX$yRzGRRN(^^@wqLvISPk9XRokw^5oBPTTvjKA_@W_bnqi+fAmOGh6}l9K36@K zAFYSgftfI^Y?QxlUOjaBOlZNtDVTg|7@5}+_Y+U!qh}P-L6u=!yVb$FYh1$=yS-1I zxQ@R`@zv?7t0bCH`>_Jlp7an>(yjw7iL#^Vh~3iYJ(sbZE)#Tz=?*1Aocbr_YR{Js z=T$E?NwvXnEIU}d!9YZ1rEN`fw>MMY^ga1bsUjyj{vBAWMb0Yt7347v=CN!a+Y2_U zf9M7sKc``R102TQ^m`pLMAeUy?XK7DgjU4Qex4v@-gtdj_Q<-^4=ydE>7nyVbh@?# zu_?NRdu{AP<@l>ONWSgjEVU@8KGjih!^4_m^Z!k_%`G%@S~>p1mU(%I`nBz^EMmiM zM2kHKRgnb3+#V4R3pANbR5GIOc7C(!B=t^pDT=6eS|H~{)0Ljd+DvvdIXt=IGb1_6 zoFU}H;Lwjd^8@?srqojfFG>e1f6TiU-3GI_D6x&RHCX5~hIsvm`}pvgmoB?jQJsqP zIWXKLDq$9(h=tsud8a+3yF=uc|5HvT_pZLLT+l~)<^=(K(-y5>Xg?~&Yg5l!nbJCL$Av#Odd#^QzVy*n$T$MwKRN6q`>K-^3g z6j!OFzV~$sQ(JR0VNhx7*0u1P;J%t`tyLS{oUECSM=a0jJF0~!tVPHaYt3ecxLb)I z)5iSxY%7qh{A)`le(ATeM?R_4LjG7`Hij4Ddp0-sYXQ#x$Nm`ON`oa7;*bnW_BK*W|6j%&CaRtf$75)%4DyLSr^Jt5nGxE13vKU zrbOB6+1?SdtwO5r)g1_HX)6eB?@j!im#yWP7%)qTGcqyuS6EZIy_XVslx=cR|Ci?N z9oICY#NJRv(h)?K#NK+f`{x#$10gF+_E7KZOi>GB?Z;8&>(^f>hRj7jHjY0sD2PwA zIe}$GRrNV^nFV+__Ieii5jOL#<#in3{wqpKmXv+d0nZXCR8C%v8F{6n!^X_QB5plA z=D4~OdNAPB8t2Bs^I2??K_!GIgk`eV29qg$FoVcQ`i#&;U;HuZm`MJYwvah0e*fzq zZs;np*#jG9=FKSls8N>up1TglyUbizYk9AB7o=tnK{_EE-OTrLsa!`u-Dgv#a5nN^ zOh_XkZUdWkNV-DNp8fjE{y#!&O&?*+e zSLO1SRb{TGn!c9_%g!hGb#i+#U?;dv^5P?Zc>gxF~- zEL)C~zVm2#XUFnJ8D1sFaLdtQ=#qQ2dQ58geV%v9Ynb`JU_?ndk{ty0@Z1K0-3So= zw)?*iLKbdrd)Wl0zEvk|dov0lBntZmUBlIkT{?%Dr98}^coYz9#Aiqa{Q?WWz`3FI zz^)NgULT|yRxdt)EB{9hHZ&}Y9|xTYe)q0q-_N$aCSCOC?lHEDdOuUcEsM~qWqbK7 z7^wo`{PC>tK|`F^ax)A?lVL^!2H&@~Nb$WuK|Z?H%%QTOB@8l&!k=mM&Vq&Z`q%1g z2yMXipXHsmt=2gs*=r#S^Id{DUUbCA`Zg|G|8+T)qBj}G8mix;6|~tTS1V$VDtGR& ztqUyU#!{jq1(F}MKancU+j$Z{B_Z^QF9#JA z6!v`Ey?ktzfen?6KPjNK4RK+M{M=Knu&59@7VS`F18DyEIpq1H-kwp!u4e4QWoZT$ zBXAb;JR!pzBZqNF!zgV1N9t$n_f6ebLN6H4LPTX+JWX=w%z@iHZb2Bqqvz zrb#6l@prW`;QPTC&1B)sMfFg`iSxP?Nqx5*-mT^SO}>CrKGZlR{e@WG?E!J!e6`Aa zo|^j$X*=i+V>6MARTyl=1ip9Ej5utAD)foJFXjD~ID@2|*w=sy$n3G!- zo?5BbKiDWn+Wir(AMJRC2hXyESapo4z2*t6|zjo8(n)*$6_$`uwpH^k>Uz z94>Yst*}m~;D+t2kNErf?b1gWM#@H4D*xw=4?yao>D`%=Y-}kh-pfCcW=K!)$htmR znQ8~?RI&~S8Us=-R|GCb-c8epTy7KZyyh^x5r(pq@!D8~R^@Q2H^)TWYVO4O+Zj81 z& zyo_V{($5LA3u6zw8gX7~YjunAW;#pq2VA_6pPO~uT-&qZ4T|JAZi*4l+R_D2p|Bz; zo(=KjV2c79V`6QMJ}LD^#=nIR3Mw-xUf~@4Ii%gdorre22wK_O7$C^9&+H4!`p9c=g2JEF3G% ztD?2bd}4Mpp2*-ZWcA+7%knc^t~R}N-SV)gdIYJiL*4&hs_T%$OwyBtqL?tTi_Yn( zsbQiPrf+Yu&!LeWLdo8=sruR2E1^J6%Sz`|TkxH!av7;Afv3Q8Dh?d03>AB|j&YIN zUPO9>5+~I%6{~I6yQtIlYIJHcz4fDrlxnZ;Vojn)Q2(2sCR}R+`WEl#vttI=L`*mG zk6oOd_M|B1D0DnTw--1I7o_Ane)tNb>wD#w2Hd|NeHVvYQo4yFpVg&*pJ73A$P&oP ze&KxZb}OIK$0`||MVq6|uhTmaaXZp35~`ag&~@?`w5c^s`tYA_NMl38fY@onkolbK z{+#Q1k80o!LuhaiU2^=$5ePgO6^{XTPbLs{$Ba_SgO=+jqF2QI+C95?xv=u)`(-~ z5RLhrNt@A{kDM|T6U*1IPE~vA?7S>d;M(kJw0R4*8TaBK^M*!yVIYLDgP~bwe#;2& z1{QhM!Ua;-(28$Peu3Q3lYF1;r6y*@zR6aOIy0xLnb7lQeHq3wKWfo|QBvi3J#-px zyTwT75VA2BWY6jMnc9=nxLS(S?-4aYbqxeM8TwlJ?ko&en;gb&x)Jv+oq01vrDA58716G!I?73qhU7 zBW?@BGNl!9=3QG12$js4T&yaG6&q({vSn;+O#SmET?dAMWyP|EwS(>_8Pga5*| zhvFLSkG6*;EvNf3;%ZiVWIp36GyKpspEkCmPk-=dD}Z2YQr7(^PkupI0-QbQPp8@$Dy8nZ%S?=b&Q0(FB6cdw`8M2O*~Sp@U5Ego$a@-D!l zXy?Zd(PMH%)>3VX`&e5;e>dMQ5x?HN7{|31uk&)yLDz4D!$VY7@#2t4Y(Rj>1S&`4 zZIX2|WBc#_9+Y9F%Xnlbbu)CP4=38KogEq7xVrW-RJW7N_Mv_>b|sZ*gFTzq)PbCK zkfofbxBX*{qEG?uI2j3ONmbjSN;Q)ahPN*T^7Qer05&=MpdldAM<>W-ZO+8=8X*JH zkse?p_CW#@Y{bJi-;> zkTo&=Ku=HK(cVm3f2MO}N#z6Jy>KJ4cAdJ+=j~{Ra$F94?HWGVBWl69xp<71L@eHp zNB^^4TWFXYvB99q9Tn(M!DR71e#~x~_h{j>WuC#(2>SG@L9LNWHQtnP)W)z_ugu9C zR%NjaZwN70VW_*X-Zt#D(vDCnb#db*YCRC=tr~=QdvB$S^$MTu%~*v}Tf$y&>v3nC zy_D_WzAFfWJ^~Zxik-Eguz157cl;_O{=5NSp|)wOs|Nl$@J|`)mcEC1Hrt64iDR(A zY+C^{_%(dXwoqj@XZ~86X7u2ERt7}WFyv|vn6;Gu=3iVwp}&4DK-8EzSUUS+|3O$6 zKE5(>b)U1c%w%B`kABS$;a`x0Qi3f_cwD`TKHD4qG5r_$rKLA`k8>JHXPK5}QIISh z)5?!xLgai#^_bXb`At8=EKteX3@)3#{})9JU{w>E0xvfAu6R(<X%d%)OfAr3(tF-B!%wA4C2MKy}+F z!hBFQ#LHoNikO14wLy>a(hmP4@F^_Ldu;$^>7n8~3npO%ukJ^S<7-dWr0^q)rEjDl7+MEmw zD7Pyw%XQgUJ*4-0MHAh*Np@=IRUjx^ zAx0LdzW%1kHF^2!J0Jet3k;{HYsX85_U4+Q2qZv#p-co=^qtU@w6rV|k%%fRhNUam zWD9urE=J1H5~9A#^T24@-f(kYgRg!No2-PKgMqdWq)yrvq08*4<`EiX+46t|tM6rg z!5TazYJQrRm-@g6(v2E-?`}?nC|#=tn;+b1RIVxEI5{pZ4g#Kft(z;zG@KkSO7F#1 zz90sOB%7Pv5TneznoqkTJW_0}T|CD5BbdO`gEzee?Fyz{efem|G3o@Y!CzdN+cO2; zvyjQ;Q&)Q+j%lT((g*hD#e+) z`@y`_|Amks>^`{nTM8oVWxl2?PlJf>&HJ8pp%zROSb_`ll5kNOhkXawDL1W$rBOqE z%$4k%Ck|P>d?o`SGKQ408y|cAynuk^Wdk1OX~7j4>Zgd2mNfZLk)p^@GEd zsR`h<0*9sKra{`?lEUQ2f$qN%KDAz0Y1X&tFR>dU#NPLF3-7L33z6k7k#5+9&|HZv z!FIYMcJMu9y!)rCCMZ4P0fE^-UH3iXNL4f}HtZ$Uc;hUJ4Ym3-4HNg)oi=g@b1K!@ zpYmC%Jeh0+Vf^llc;h#egx{Mt5FuB4X*6bXmtelF!9I8XcuNu@#E7~NmmFsI_&BVE zoT2KyQgE4i_p$P;SL1jwi{V*~&R0&$Kkpj$mKwo_SaK`KGlo`Ypj)oK73JaVT%@+c z`Qy0m$Y0ip47@bqEL_+NTt>IuVYVlRMUwSu4Y}NNT?X1^XMG=pJ#(y_JZ0s^*C=9E zCK#EGhcn58@bG|gE@{GecUJ_OSZw+UHcxM#^#}3}nL81aqHl`fWDldqqb;2gI+N8< zUf`J&zek_=y@yjlI>SUyE6Q*=(J$#V{tbqcg15KmbV!o47hC`1Pj&b|MnLDDcCWM> zu5b$IF$%7XAP{sRzYiN+nMik>K)4wu5x%EbT~77+sr@_szYk>y8xmg&&KTvI9U1}x zk?}F7#T_jeFur9}T$Fbzbpe9IPlqeI zYA6-aY=9N8ZA39DcptL#KX^eA#_Ijyw6Jq>W+9hIK-z%*M(Z~PvJ3asA`EDNSS%Kn zs70lvrLSDkori+d^MTvp1{==3{ZPT+`^$A+=I2j?pf)?V+9$!W2S%cTbx|^c{lewZ z_m3HeYtJU60wt1#ZJsvOSQaA(-#2fb9Dn)p<>!g%I*A;^QtIB3mgP4`&~wKSIicUb zpdv2|Hd5F`%_|_wEMyM$T_+?{yG-Zd{ONle@5e!qxXJ@cm9AO#!}gxuFbm>FYA^ShJo#X=#L+-dT+Vn zR5Ece^1FNYZnTu6`+9f&H-+_K{WOg;;@dzWni?BTJyKxC4MBM-Yz>L-rSPx8V#f># zSMH)-CYKJS4?E}Oj&ZQ*0ph!CIVwFJv4&d%$=T z>iN<*q_=T#1o2M!iLs^HT^w+jT_7dU&%UqMY>cyT16l8Xcg4I9*VOyCEG4Z|RzNQqZ#B<%@Wa&@v?Q183b`_ldz-+bJjs{ z%&aUFUtwy}eu7$#gT({0%^?5)kV!dPUSRTyNWTpZ?&~OYw^D+V-Rc$+DEJ!X6B5-hD>TEq#&{a!o<*)On7K!wL5Fk76*H-tbhZPIckw_ ziQikRsl&nH-r1t{yetV5Mv%q4-b-_RAJ$XshOfBvz|tY*fe`Il24{|U%DrOfKmh5{ z?(_eI%_;vsjD2-fmHGRvg^oDFsGx#ijR71%B}70lF$ks3K~g|K8l(mB#dc6I4_zX8 zfJ1kfpdy`0Dr1vGgyw z=*caX`T|&eEN}b|s=r8o(PkXv8shf$F`ME5@v>CXmH|nSJ6bm{dwFMB2+{X>e^c&Y z{?xPm#RrjfYUe(D_yCdfYuhsqpFVj|^oG&MM8xd1sDJzBP3jx;;bg3}djqGOi_p~< zClY2)7z+OS8{`x4AaLT-wxJRdP&YeXJlPeGyJ_k~jaE8(t^~?%O!+Cqx*>BnacWaY)Dtl5n#&p>{2PC7H6D%#+-ng0LV>`)m;#5<&Nl@AaMdu?g)L}xpM&r6i>bM*fg2oQ@CQw)mH5yn&p`vCy2W< zk_YSD;l;w}fN{r3X4%`44V;5+_npo<8$56miL>;qm)?}Q@j?Ky{DuA?Oa}^_cKTj^ z)b+$vsVz@0$n@xEB=_&&z-@NDaSEVZo@`Un%+V;OsK2Um5SgnRQU!J%#r?Ad+2rl%;?1PvOlR) zV;fD^<}{7nr1SS*;rvP;r_WR?z6gp@_s_GJrtSiYURV*Oo;@;Ar5xh5`9z0`+a69- zUqI2&6p(yH#}k7ta%St)iIKWCa-4-CHO8a%n0D%+RMcWh9g8or`87w} zB?>pw>gcmw?OIE(UAs0JUT60?%O@Olu8X;9U8qausHBQ`Ee_#WUO3r;=~f0)0^kL#`Si>?6?(`n$ zi@g$c$x_IZ_ow40#Ka;hWuTx*I;)^iEp?BJsNMAFn18dq!Vps>q6qp3s&s84;~8U9Kt(lE z$!vvko>sTz>DOBN3f=0~a6P(~@J;WMge;5dR_ctZn+NO0`oYNTSS5XLs}A?d7sf`m zL1F%pHIkHD(Nag!tl|?_=4qx%f4s6Hk3BK~h_Jb#w4Z{CN^q)eB;f8I)pDY$bW|xb zlC$>gMiJu&8Xnp5DGb|&QT-ugm;n8%!BDf5-c}t*2w2qI)J)DxY4ca7=3Gk@rlLtl zO=FT_a{i;zrdaMczmyK=e$(TraYI8kg4GT~wRR_Gbp2_v7ScYIZU#nj?2jfERhiXc zkg`cyldCSs(8a~qZhtBfQnUE^-9m{!bIxbr)tq}xdM?%UXs9b_F-rgF_Y2%{C7!Xl zT+*S(q@`!4ab+5f9~w!E`@z$56J^96)UZaQk2UjL9C%OmD4i(SJ@%w`*`+FQ8Y9R|9*q%pS+@>lHbt!R7V);T%TT>3%u7< zA~kP0d}031Ahwh^UZpxwRZ{G_$!g`j$P3i8j%xS7`n?S=v}ZP9qP*cxzRl5I4F7O9 z9|?!rM3Dz83t2yANu?c;S6^bU>+!_bkJQ)dnB~9O9o;i6@KHd^Y$vB5xCt9UwcbZh z2RCbZHAOt`m-ZVtG^F5HwQe*<@4%NyYyKJ*Y2w~E)24a1(B?Q)m`xbtcFd7+82zs0 zCEa&u#cHXaMxR}EJ37|xlshjJV;HaF(iP;ySQam{#*TKoH{!jd?@5Ovj)%D#ZFDQw2)sgp!nA#Abig z%?{toUyq9M+4l1GV8W9&=i?Z}#?tu1%>f7+g`pqK2*0Q&YvPv3So`Am9@S(DmGR7@ z8Iv#Rr)n3|XDK1Qe-vdkO=Iu5goevA>vnkamxi zlHz`+y0t>ETT`t`g}MZcfY|N%Q$@f}JOuSz-Z{U)yRkg+Y-^;(6ExF`2GVT?PE=2et-{a-VKBCUM5Y#)7GPn-5ZpXGsV6;biR`OcaZfn#! zqmK#8yFCyYeqSoyrY5lQ^Oo{%zFWvRE&u{Dnq7KProTmjahUig1h$#%Vu<=z^qt|j7DxG>TTw|-i`HvVYYA^& zoMuu|{`PHK*#^JAT}&03?Wa=Uco$Z>>8bULurL51wrg|u-mlf5#5IKx+vBYmQ^#E` zK=78fg-dmvVE2|`@7pWT;9&h!uwP`2sNNDr$LF$f6XUXmr-oyCrcV^!rjO^2d>rx* zunY0-G)|7F?+-p?=|7Vh(DlUcgr`4UIDKMsKJ7T~kzLMslPHA+!U9+mb$dEvS;x~2 z>vJM6bzW} zZFb(P>neJJnDM2H+#4m}jl-rn`dAWrE#9}H=CukdQakN5wv>-&jD(|Lm6VgX`YX}v z+354Qb2cM7`*?G^hd$1_1hMJaZ;i?sHN6II+Q>Dn^^?N{v43#T^LE`xWrABX8`mbC zb2UIrc;A!Gdax#G#fKNo7rsZQY^KR5rRkKwv#)A4r@Jjj`(Z+cFX~fF%$~|3(eTp4 z{}|@ytX;o;JvVoKjOy;3H<6CFm*q+G2bn#=tat!lv9E&9gGobrCMaR zG!zZIE_&7(6LnW30`QU9oD{LYS$n;1Q=$Ju35iDAtKr=v3g)r;(mq~W4qJ_fuV<9% zN#Ew!n>Ld6=F5Qo*g=!5`eie9$1m3IZa5>FFPSKI2Bk6Qu-z{~cOr1)$B+H&kJ6RD zeEu_FV6B5%O}v&94nLzOz_H7VU78QW(phkY>R&JY%|)YIzs489Hucm^H-{s6%hPhI zO?Fj3-Bu>PY>|6!IYX2WcK6Z*iCvQ@o&vfK25QSREzC-6PAm-Mmm zx(B@^$ZMj7?`c#(lkscX=93_O#yao6 z_ArAg-zo1+XV<$?w&?J9r;}4p^jxM>?MoDUUu1pRBy9h^+&+(A&V8K!h@X&7Z;X;z ze%TB6NpOOn`T5u*rX-T=)yJ#aDkBv)iNuvag%uGN6r4G^Lurk!buYI*W)3=uQ&FN6 zH@)v|M^|b~z02?P8_(KR(P=VgzJ?q22eCHXTDhydS1@Ja4y(k3V!Fc9p zS6tfensafEId5hA%wZc{3vOi+(`}xvMbRo5n^YD~JuRMjhW#63QvVXcm<8eceC zG9BpK^Obe&c3(CkcL|tK(lT$=#O>R*xBk zmC<>K7dj3alsSJjsFV7Hp?^w--@>w}@=~rxr zt z`E!x>n%}_s7EYh%2Nv)4X+5)eB{6gu_5^>dT$$va+eXsti;f&UVEEw?&Y(p@dP%kc z09%xJo?c$FKr-SR8A{LJfWHaU0&bj%xMBZ-4!1aX=x9D#f5|8cLK&yV%kN2CSy0nZ z6M}Wbsd40~^XhRB-lBDB29%9|fdyH^TjCw@?j0_Z)|H}9pI~@JgNq0(>LdUV7SSn~ zYqlH!BWD8r$9Mx~-=X(T!%wm3qM-r;hGn`1-gk~5+<{k%_51&GVE4X#fZB`^=3NZV zPb^xnaGiY;7_x5 zYI0J*gg+g9{+VsGuY%jQ9sOYe#}VTv9lsyywViF{3&J+$ik2N)WZg%(JO7RmlhvYHOk(`IB?ESI07h=e+oUtauC)Qj7*%zaUxd|Eg1yuH7LQ4i71%=MAEaReF%(Y3?66yn94hLY?l&IUyFeBY~^l zi9g4xKK0BD8(0YC)<6IJGu8G}Rh1pk)}G*UVs%4*4{v$#*ujC%Nymv#4DGCBH=m+e z^+VzFzBP$Er?J8o9Z%f9@)(0iT-F;jQ(ohVD&WM-x`h z=?P)HC)junmTztuJJTj)?9j0(?AN6zlez;E&-j$TVQ?7MKF_m?eC*EDW*G-?3d+kG zD+YA4d=4x-RG0Y0Gwa1Q)`BJkLH>)e$(Gy*0t`o2X|Y!A`;NNVn;-KC>9F6mW2W<5 z_~$~Z$zw^5>iAGulMPw3H!>9cNY7?2DY;bQZcW__mM@!zGyYyU!8syq<0U)gz4@LQ z^H_d+_YY$w>b)y(!S%E3#y>@YrnTj4QC>KYO#$2{y1!V?WlxABI zyY!c4b>3~CX6mNcPI?{!x*BYb9EN6=l|eP{6x{X zRH)Gnsj4JA>ukY%8BufzEsVVgVhamZ(cne~2BtClw(D}zy*Ohd9ZrC}>?>EoRw+L# zM&+fBD2@JE$k+V1t+2T4H&RlW590M~uUSR#IeB>uYx!oyEUr_h+bK3!l@$>U+nT=2 z!&j=2#lL>E?KP(v7bs+S)d!gm*T3aDr!=QE^nWuk|AUC(44M2n*pjG!d}j?AQ9hdw z_kg5%76LFkUM;c^*c8NtpRe4({4O9x=69vA6Dv2Q*dD!YB(fqx>^31T5;!1mL4sq` zCN1E^WKv<{j#i6#@^Q|)Ewu+2OM$JWD;{5RPz}!DZYc@Oz|b$&4^j3^n3ct5gn_51 zU)KK>m3MDaimg250`zJ9msV%M0+OHq<3ymH!|P~e2kS2L3JtGVe-ctf9g#B<(^ns& zxpO3*7#5&1OkQc9lo1wIdC`42gQxCVj(?sYQ~3wUi`!5waRlLXjari`>fz-T4C(cf z;CkpQGK@>OSuE_jEm-zVar7cB!mXPG{?DBMY6ecaR0KZQ4oFzA`xDKD*aqj6tpZ9^n zFSxtAlQ#Mv)5;&+T_8L&x1$<*#R79FCRr6N^0DV!e1WWlczu+%FJ|-k>*V6UeO|3z ztV9ealRs2j7W_ACtv`)2(aAs@!*?;qv^q~B-?i! zw_uINsI06+HhJ8wgA(fF$B$eM^cwmy7&lfMN11rKx|ufHs&ZgvL#o#!%t;qHQcBWM4DSetA{z2somOSe z;sfEu%duE)*%E@*fOP!Xd)K~g8K`=PL3oZfj*g9?7BfFW96183AVb4;9G)jnp2TTy zn~!4ZHMoP&>@$x~KX95s8rM)v!y!g_W!4IdrhE7A2LQ*pgIV^Ai$7dPsR+TZ9oS;9 z+N-%mmBecShm0B6Z;rx!Wc}>erH-=*YgC8lTxwh>G#@8GjZ0tC z(`!9E`-5HfF)+C3{GS-p-=mXVov;4%do!Nz>Mb&jOPDL6Th18WW&3X%t4y4#0l_PF zb@Y1$yth)YssUYb`l+Fzp=dCCsA2op=P5*@ScUt_r^{h-2&wUn-=s(i_f?H!`-jJX zb`NHRM?^rF{HBP$?f4x&J(P?tD6??Z$R5CD^!xL1!1OUqEiD8JTM#nNm_g_}qkC<_ zXeTiT3%G&@;6&Uo7D2l2Ef4d?}@nxPc#f@N3bj`cPr%8!un zU+7-OOD^q4f1!4{VdC8*ycVCm7iPcS-BSDM#0(ABHP!b1{QaF?jolN_0&vl?q;%L` z?un42%PA_78jw4Rd1q^^XT&#LA`ZwaUzY|@{a~=I?L`g=3*@)Dz}jqPuU2}T^jnM) zfHN#D{wuT4zPDD9-vzaNsi#@Y`J^y64Y3#K8$dFzTEFLfx`m&QkI%Pky4HfD;9%0# z30o1HogG$-BVB1tNYiG!mNB^mGV$^O2@(ZMM=m-j~;;IA~CltsSy6h@O-R7{%pZV z`~3Mc7~3yDWk!lcP+671eh}`G){EG&LQTN*iK)~IF>nbW{Y=Q(JHc=HZPhUzJTC_S;zQB0aC4|G4C60TQG4c zdlAP$e4w9DM~GW|*2}sZ5`uLgxR;AwIWUked!$Im(2lceqcthr6%F#&SpUGX3uuO*YBAr6$Sx`Af?6DAaT$x+F9zfE!VYqN+eW)b zMn;AM6=hoo;BP3&3?LRk@eef@FILbXXWzPY3uj3~{qY+D7%^!t{go9qPs0#AG$ma; zrK0lWwz<#4hwM@QWYAMkc$ddI4Z}***O)}%YTGuxE=@HCR6=(h>E5{SB7_w z8;qd|6kRt>)rZyJ5bS^cc?jN>Y^(YN9@Jr~9PbPQ0wlxAN%iP=ZB8MHxppmQ;;ZrmZA7_(Niy z==T9OV*GYzN`E{wq4+m_hCtm2p8c@XKwv#tsjSC)`2PJn_+RtG_$Wre)*uH#uj+_g z1qK;vF&*GJWCal@QMD%mC7eGsMkPXYo#3(F$dem3g{@G|Q5LCF0K#Ydb@Ir(JMo7> zjtK#EW*~F_wr%==0$9VcV-@^_J>L19CA2VH&vMK&roC~#={yph8NCA|>4z!%#}}GT zQ5ZM}%fNd@iKQ^=SAWCa$5{Rmg#&6k-_W5nUM1!b8jaE=4m| zXDMrQeO}RL{}b}n*;&nxmapcAQPtj02%| z<=f8CWZI@$nH@3GWikDQXavc<5_1=tKMIFbe{|3p0)EvUk!!SxFm zPEqQ3p2xd-m6~YkBO=3fUFsXT#QOECV^3^Zv*xQych5ijwte9!r1sV>_s@Ceowh`C z|LPEkHGz!C&H6`KnMrdNi2bwNz`#H)=)e@M_l0I&VTDdTAmSe$qh@t%q}f@q1@)Es z?%Qw1Q48x>+>_ioKG0cA-lB3o0EexzC=;=er=wAZ7}^!6g>!{A7DLw-da}5!RlVr>vd;p>O{qz11 zAwt)$%iXJvlkJLPp(kTTaFHv!mY?Ol4!+Zabt9a_Wi}%pTb!$;ox||U zgE#4u9HcZ1;!_ktFdSKa=l1PxCa9U9!$fm_uPwi=xq37sAv?p{NJz=2e}}+Wto$*; zwRyHknt5d&=Uv3Hi1jXN_CeIdNGpL2oO>@7`#$F}*YWzVVo>e@>ns186ET7XdYmECtM3eE0U(^3f3_y z)YO3K<4wflhM3b(>Ifg+9clGPU0bZoVW4Q1vgjzN<+STfG6}j3Ou5Y3BB15zO-1o| z6<4lY={{QV;)U$z3(b!Ds6u;0D>O~#Ospw$TA6Gdm4EXBoh9+;5A?u5r=YtevDlOJ z%?bF$jUV`g3dTYAz><*yGTeV()mJsf zrD_;jeaWJ|VnKz?OxIz9ny;17>9d$^F+Xv6KDmd!g6f6LKrdguTn()>Rr_q_>UdCCG&7F{t6%>x#R#+{?(tdHims;YT+k;>oBKH><|@r8Vk6#}{|+o7=Z?FTr;NX=ohV}q&(9$w_jIR7j0xLviOqRbRrKHDd1S*{n%S~&42K%FI79$ zHlMBYee`IbY2}V{=gu{Cw6(30buaJ znaULcyD;9i)#cSuQ;qIX6bVAKJ+Nr64iuwzqV&;UEftc?Y?N}F#J$~WG)&+v`m26J zV(3Dx8>5t9-~d@J9D$`aYZ!V!d zM`p>vYBSoW$4{X(Hae+#lFI3V$Leo2inN& z8O(UsthLJ5$f71go+(99aq!tU9sM z89kohtC9up`PZQ~Iai1g;~G!;VR|+c_J&adajE8YXKR`O?)V4DB^n=5<@fj3H*$8p z8et_^kk8{kqLX!Tuk6U^@Fc|z!ya*IH>LgE)FXu?O$zp$@+ci&=KOc8rTTr|;jFEP zm~8Vw_I6x7=#B+L_eU-KTLdh<`IHSH@5f}lQW8<$(sEd*r_^^F)sU$gRSHN!G`}PB zL>Aq8k4Ex|0-H~k!z1Z!lI{BQVWCA$T*i4Qv?DV;>vwK(gOb(0%TLQ|P(3!){7F>D zui11rpPsUDMVNtiIbugnO=XE9JyKAd?BL#ChhRJhl|GZwETNx}@|7@XShsdb6BAL7@DX3<6dMIS?pa(f@6-_}N#R9>zmn1`#|S@$NM5*o3BU||8g za7I2s>G_Qg+Xiy?Ntzk8DylWN-+jut$00TPGq z1mb83XcP+1JPV_)u!43T!Pwy9MS3*d8r@w&4uGiVTgy=pc2H|7>3-s{#?HM&NVGx}_P(?4|!>_taKtOJSrhMS;hD|p`##Zgvu_OAYK9rBB7k4{j=*`=dzyA75Dg5-B)zP~WN>{0fH+s%jJFSzISUrY>jARa}FpRFW z+ylssBLG!pnZt0aU?nZ)7n#n0Ky{ z%lBMMGp~R1+IMeTnR$(+0@~T>*s}NmYw6Z*rG5ldS8%_7a zTg&$j_vV*PDlJkI()yLLn^D@}@}uB_S46nR&4y40 z89uG1R*ebTwd>XaSX;HwyDn+13Ao`DblTafF(gLokTh#e{Q17;R@YYxa0Vqx_Ov*u zDTwE1WRMzuiaNp6Mx~F^vk}v`X46=-17%9&bu53fM+pFD_ZAf7s3Wbp3+n2eGTtJp zV%y(NS1Zz+gPW8JVi>~eCt+%6H%P8W0Zf1f8(XQm(A?YPZ3F05nTkYEl{g!qF@{Z# zo1fzfV5!u596H@A9RwX}b-$CA_sr_d$VH9-%QtP@_}zsc?g3R6t_OW(6@m|aX{2Jc zDA;-BP5D@jAa=mC@?Egp)X`1Jpb~Lm^D!Av@9@P+>e0G|M=;GivF71;nn!G0&=01U z!*p|?^K^P`L@#wua>wZ#O|YH63VnG;O|lX3>Ey|icd%A&KSmGXMR4HnXq~UqY%w(&aYty5r-<>;kQ(lG@|f3 z5NnCWkN>QH9s!G;UXR*KrGd(AP`UK2fz8AO%q%GE=11#^Tafs~{D2w%X?b~ar6(@g zEN10|m0MdnLxyld$1EmlgJ^lum8WvTCs1qb~s$O@>(Au2Dr95RMrNGtv!0JO65ycbH{tTY0jUea zt25XBE1S@a$~_<4bJ$fs%UpjU_jWzCRatu=+IGB zrqUcmV-fKob@h`qNf$aeTI-|Kk>uraKL(|yGR7P?lXSLPI%`CUP!+4q*REp=|^i4BA#FXRz_E|Y+cd*TMmgi*L z-s2YEIT%}JEyFYSb@b_szqdfw;8@?eQ=QiLOAmg;<3M4d)|<`~6+}6GX)3~qr4+#U z`+U>0M~S|q_r(z(I!l9c5XnT25g21INbLBKggnuM2y+e3bmy*JWJF{ANOOE<`VtZ~ za?wg7DX>?MJO9;S8p}mAzUV$Rp-PU4^Z7r>Q&LjUNtT=v?X&iqw zH#Y-61USll8o;}poFtYm;v2JU-Lgc#j%yz;ysVB;RhrR5~$O;j)T~Qp(x{n+qQiLM5LM8P1|_L*#_z}BIp$P zCbKse+d!d?gMzr5PIf!LTQSqE5)v9yr}`(Y2cS&3EBY1Pm4iCY2gp;XHUR3@qEJNt zTzq8>_{z!ou@{fuK_(Q;mRwU&1Mp5^K|~29QT%WVJok0$);ah%DEdk|5RA%v7p|VV zgcg(ypsxJJfy43w4c%OFmgEswZX3>I+{}oh{``}glDEpUEQ zx%~~tK-0^A$nb7v=0Q@obM|0e98#3SBr)0zTLB1*4#HHHvoA0q7}&BTOC|kQs$l=;rIKt*r|0l|ybPXSk`p)`F~oK~;5fUvIeB>f~<(SbR?+pqJCTB^%SCGl9s}u(pvB&V)|(HH|#kdYLMSFFwJWn z&uC&+=Kb^2p8yGtfpB{Nc8u<(UYl{@oJKEO8FZp`ns+d;y5V}@)_JyPLI;!RckkX+ zNm?$<`?{_U_Wdc|L__rEX1oF1pg4_`lO5l1qYgmE(hviH1#@FYI=e;+ECj>QyO(N6 zR}DH-nxT40M)n1aw;G&T+8qfE54Rw@OIP1-8hEu(qEDZ_qLP$?d+Ar3S0bKNQcxLK zP*9-ZRrRJsarMEuZy8Ni`O_AR#>s?Rg!P8&{e!Y-Elysi6&OA>1-fQobV|N%`_-#g z`y`%`!mK3RTHuNW6ZgOPk%(Wv+c04|ljbArMT2xYMcn-*%X}W^TckEc)zH!q)p0#? zHsECc z0HPyPvjOj1?P_hMSS;$*s!yNfvz&mL)^;dWXuWntwCprqx?-xC^!$2weXgi%WK$~m@QV1d!)PR@#Dv&=Y+fV$8r1bhuZu5 z;|1&io|Guc%H2NRweEvmv?MV%ix^t+mEC-4=330Z{qBs88?^^cYp-{|dV4`XxTy8y z!teB!!o70OBK1`ZQdwfrE6)Wp3MD;fSJxHGmSNAA3HHsC3&wH4K^x$Q6#u(rZ2rS2 zFHdKBKuZ8=Lka>GsNM%29uU{4ARl3ZBJ?^%BD_vvAn#{0In-1bl@kj#8h9LfhK$C- zg347MXcBkq-i?D&Ph>ASdi1D2*^2=KvK7AO?EDMGL387C@INFj&V-t{3CMA_b&E`| zN5|JV=Hedy7xTIpjzy5x079+@iVI@`Lrn;GZ2%FXu%^KR0YmFf8ktr+u%RGvL#3hg zM}z-X&pURUFzQFayq*wH`;avQsuqA<_D`Ua0&YF*wB!ppUWEPRqedjXIPXbYg>SG-bPn=wSatFYr)S8~l-(d=a zvirrG?)bC=xXz4roBAB+W#j~%uxB7ZO>S^%Vi z$ijsGV=(9*LqH_$_7m}i|G_BP17eDN_O_s;fH+9d9`_I}T#9X|99@9RXP~!t)0#EP zF)BNyd2omjh0)yIvn$U-<8n@XUCK7xlj=Bt7(`6OUeE($$0Z<4^fbK#@i24lcOj6X znOzU6ILdz<%b&<)J048OHn7S#`27a7I+6LZXgy+#pyuyz+%zjz@b_ zj+6Qu((?jXJx3I04Ve3g9Bh6JjmyV)+ikv`mac1M4G7uBrEDIA9PRzXEg8d_GqYA)!U}*wyO78Nm2=gPGzDYV<5{tFiT@eiMH9OfH9~7xC6QFxsp@M>f zsMw_vZPzip32rYhuXLWABz#oOe%y8pnC5Dv7<;rBm*qqXtxd5naCRlvozRHyLD1_M zlbVhuF|=(Kmm>U3L@m7v4+D12*3o`&$Z0^kBo{;~_W`$M^^$h#H2Jy_Ii20)pzRU# z5rCd+O1`@M_i@C`#?5KCJ=V%P&0;Cym4YS=H{bUw$q4o`rp>>Fc)Y@OfR93K#|IB` zBdPEU{t$B+R00RmjA|qV#Xp#J-t5-S3jj#*JY^Q*SqeNzW2P^hPCQb?v`+%a$!u2F9fwL~BmqBJf1~jg8H=pQN!Z z%JjXa)S!k}PtpwMfc90L=?6EtXv`eg;iaD*sdH}{FzD7OVQl4w0de7b@xyy`&dJY| z=|>fgEz~IOP68vaX21c516WB8FnsT}?OomVkU^h?XcpqXQ)<3;9%=V>(xm^e@ztr<}Haj5BMgUC$h%k^f#Yq@QNUUq%09J4{@Hv*|3 z-e~g{UMi%z@)+gU-^t*BavAHAAzF)46T*s8hC0~RaRXH!T%8kR)!jD~dmY{xh zM(hx#kNAW@oQXwcxGNE2o}nM-k1CVj+1%~MjT^SVSO(*GWUe0Ev!^(4stNO4z$Piv zD}OBHesz03<*-{FpGh9N-qWnY8%R|B;U!K))@UNQ;y9EG0Mu5pu?@hg0@<@lP-iL} z9lWM@@Jh#=tgy`W@j0n75*psda4s;x298l7Z|0@bh{>4fkD18=SA+sVYA)2RP(!CH zdcI&|aewm_WF-J;Mxsk+F_)cK8WaQ+PYSoumPx%<({-XtkVeCuCP{}={ z+nA0Ysn~<6(gM{p1;Are@-&1CKq0h#}V$7n3z2Dpj?Y93nhJ)KixFQIL zuXO$3F`>k3y>loo|A$wsLerLiYX{{b-otS^Th(A2;l`ux94s-Eu}}i@EkZtee)jI6 zmw$2FaN7KfId_tnGtUC%>~opKnh)!1B0-EWY!x9&9H=Rv~52}?Ste85U=}z*AE{3JA319{%`pVN+0+n zti*`(*!9^pj@SadX?HWo+6&qC{7q^=2n6=T`g3pCkb$BNC#9hcE1n&3JwdMf+u-`+ z{t5R35~$mO!clcCDMALkuHcF|i&hpC+)l;lp_dk4giA!4zNPLW2W+8kL0j{v=8g#k zI;;4_cn?H;?rd!FCSG34U05ctqS&Oq676}ts`Rhcn(MD_zo|`?b={aL1x|g59-4nle*M$~*DT+J!S4t&!4+tBt}zLhqG3Ip5^fVS}DDxa8GO_3&n$^`%e-T}5E&ZMTMqCFyqt{P!BR1Zaa{~Rz)K#09UpDwfJ zc}y7JA}i-VO+?a?j5ATdpg69S`I2<;?s%eU97rRY*28=2pS!^k!cAyBE60NTYgh^y zpyMsrz;KivJv*pc|aR$i9}`^y^|D zpW*UA*@_S%TPW{C{52_I{QqLW`u&Ofd*)7GPvuDou z^+D2f{lPkcXIR2}wdff?T4Ffv#Ez_hlMI0g$z7OPX>ro{y$#0O2W`gbL*T{{sEP<7@~}{2U55~TEV+*bXorv2Q6|n zr?U1$%N`w_<@J*BPwtGhSXdYuhD(dHkfT48A$ zv8+M`Zx@e_+Hw#bN;iQ^4>lbIE>THQ+B zbQ0%mmovpWVBHuey+mVDlQPDQZN${xgeSwk`!B}vl;@KUM9bBz>ndx4o(H`MJY?|h z57+ytPt58n+jtZ<{4?xW_$JLb;*>r@0xnhEMM9su=I_weqU>Q$a&IqLUj{-_M4y^baO zo%nKI*5cF72t`=~YSdmyK3%iU$j(0hyf>_cHLsEq5(iaV%(NDXeti2@w$!_BZF7@*Y-51kn(s3KD8p0^1>5InEz^+`i zDi+H@VghqE5*poV`^k;>tQm6YMQ?j}4`P_xfeM2?fqcefd}4g7PL{3F7R7TM9+5LQK%=!^=w?anwY;B3cxld(Tc&f3!)}wBQYO16c!)ay7h>W-P7#& zxnRXd<}QtCgqp~Owoo!#^$-Y5_`bssMruexrBFrABt37F12)ZKaTu*w8Z!Upt!MCYX zpFV0RH`gB2%O_G+xQAZwEG!8RvYl_SNuh9XM(r{k{}=l@y%7kwZt z*#9_6E)$dJ84(NC=K5t0h9*bo{m4=QmKD2zs=b6P$D@( z+qbL3j5xJ~l+aH|?61iXIZH5Yu3;`9;vMNIU7%9U8@j{7WwF{0^>EQO>e7FJSWG+x z-D=1z<_!xKeKBIUAGEs69ZQ|r}*ss03&Ajj89)K$JNSgnbqS4y9n6eAay z1(lQ_Uj}3bbC%F_wndi5zrPIJcs;BCF^mwD)+LZ$jy4*7>k<=|P)||i(h`2f=bFjo zte<7;bjl?rIyS8O;Qz0lI`oy&wx6g5*SjzIFUm4cp|CB|ejIy+A>qE{eOcK<51;Ft zi-m~~pU44br6d0@n1z)C{SDNSWL{j8YQwuwa{Yhs25~Q`P#~g?g39$1V+=n+8 zSJ(%*0k6Ge2znF8exly!4g^dtWzs)=ze2%;n4~H3zYRp=&sNQ0YC&tD`qj}GtuIqO zdwJEj{DuZe@3!jrT(|G#+p26KdcwpD&PF0y```z5!s19|cPa3TL%y3d8_g(~ZiQf}#gWg?d z&S4O6UXKfJJ%L$^`SQ(+ot{t=-)hhx#sl+0H}gnRyG*u+cXamXP~u`zIZ6bDg>4aV zR<2x$YUh8zEcE{7JSp%99M3t0=^=`ticu(*pfaer1%jB`8c4bg@|IYFU-F1VRYp4h z;j3#um@YrgPMD7EIaLos$fV`kA!fmM`?hBtfYGkbUG^=tHh_3LehFWNK)?DR8e$`B zOLAxY0qbT936GI_KYu0VEJPiDM>s$fr2@OHQG)`k;vf(wkrAi7CD3}HBJhVPA!M|v z6CgR&2XAH{(^g1^BV2sc!-wY{ZYHDyv0o|=|FdQu$S$*6q%4Hchj9GA-w~A9i8;k2 z$-g6#L4$~#J?YUK8OLz3fVLuz=lsiSdB)NEV)VF3*+e^rK90xe?$n?+mWX>N)E6|X zsH!SH)~>O2ko46*9*dMF*Mgca;k(|AjGp%Q4~Z?}Q-(n|{Z14Z&Zs|vE=40NR0Bdy zugW1@1+{Obj%!tiFhXsTJs#)HblbFc?J&5~AZb_32}N78PVt>zP?Rlx^h4D4Quo;g zN8=0PT9-?!s;Y_>yFPjLjAL(t#rB(Kx!x}h#j4n`jr34MPsg>+z!BrKps}e> z^Vsk42DAA3l{(FR$$Yl49|-JBW>g)0eg3r!EP9Jnd(QnB8rq0WHcepz%m17E*REar zEdSZ-)%eE&y`^AdLv|3P*#I&U{tnHowHr2wgIffz z@oR#Zp!2JC!W)U4NNW7CN*_1$)A$eBYn}h9&dOXN5C2F`oIJ3G$UeG9ujWGWQ&2nd?%4N9Pme}a&g$m3G(5#`NMCag9(vzNO z8xj5%_D$6Js7xH#2WX(^OM2I%&HVJtnVFdq#dtF%rAN1K-1$xLkjA#(8OWsB;~>Xn zPc`*UYLD6jc8|LkEg64jlb9I?7nfg`Lp{P5DH6#Niw_ql9%p~fg}DuA#rn-X^)lYS zdxtg>LmrKd9sT`5{mG(dkSj}m5&pHd+H1ADN$LT;d8}^UBypT<&%`|BzRz z7V_cv#7+PgTST-t_K*WHMLpZ+CpVMnPYsKScvn zWV|R$WTIez4h^u5zP|Xz$)XZQ#HV#gq*r$-hF2YhLzF5|wL5$cMG$7TinMBgU zP%!SdMS|?yZg@aYJvOSql*eIl9};D1YUYIr^ldwHKB^dl8|pK zO;J8+Zw;iOKl>ZhrFpr(*lOG8w(%)9w1|}1clS^$4k8;=>(rZ~68$)0{p4*t2q@N= zrysSCup{jq5!w?SX{IA6_erjv5eMDnCxL$5wAgz~Kd_8Fx4A5aKZ0}`QS-4X|7X;BpaFh)S>G8KOBvRyl}^0@NN2d^K|d zT)G;;P{YBN{||hgXnT8JwYI30`?nI9H99ONCJbWxSMAK4#a~y0YUQbP~f7>lb|n-W=RSOom~nFpqXfH zW-T)V4lxXF7-bO{kbLBoXV6e{H3XXhL&iiVjRx<5oUBJ$7}*2-fN$x5wFC4Va!w|I zX0;#-T(q@C`G5@6FWDy}j0#M9hhq$bo;@?XQ{t}Kr}4#!SHkukR6|QK@Ay0RNZ*A4 z2lihssL9>0MxjQqP{zx>i+$| zY$r1_du0^L-r`U+$R>N1>^(Bxc7!5(h6WiCnOWIc*-G{%A(GAaI`z4KzklvW?$9~! z^BULnTo>`#jU=_3XYr8D)2~t#o2l=PkFT&s5V6I^D04iwVPjoPX|ZR&Z)4qKV{OYX zBKl#L`t_pDl_#?U$cJYuG&mw($a%8cSi+QBh}j6qFSMSP>u%KNa((_xEAw1Xw61L&(qstni=kv)P-R|N8<#6A^@pVg4`XugvARYYG4R z0$bx2B{gU`@bMpGx;8yMf`32$gb&o%@Qflsuhrd68A7HpM5*DW;O^t?eUXa`qpk5j z();)OH0%V##2&v0*`xl%S1!i-s)J|#<>F>dc8%j??ag5o_$LuE^b@J@hveTlFJ9Cx z)Ke!zE30cN&qPN}1Ga+m@1;0`dz;Y1!y^d3Hx(^w<6vecU!3;$U#PvwQopc#J%mi5 zQN8E?zjE{p=6C=74q7sl^DOKODCh8|=hKT}sCF_4Thsye7bnLuaH<6%`!~ zRbR^U=cSNK@Cys0P6AbTo=Jm0nC|rSz5;v!je3C(g{$i}B!&Z5wh84eBO>WW_GlBL zg}|6SG&r~o@HEKLOaOB;bZ~UM2ChOl38JE+zzlaquVfkuQ|GL@*kT0j6lY)pGI459hNQ=pD3_@7Kcsdl?7$qyD9Ok8ap7!VW|rliMcg>gk^mY2g-oQ~n3h&VS4 zFel70o4ypi5virEGQ&|`**o`M`C1hpxy`##XZulsw#0} z)wHm%c;7iPBDy>GZL=Hv$f%nUHZfH(@dUi@!7vgQUdKveRSrD{AkkaE45M#eG>wA` zp?N1XSwx_-<$W8QOD>LE>$py1{Zlh%z#Jq3^_9E*w-qa%@<`Z)_LN8>-$A^4W&y4)NZH4q^co zfem`p<`?qR9KPy&&^+#iCsTa7^4Uyr;?`! z1SXYs-`FTsFvievsymb+Oe}OtVd!Imn^#0iNSJyhPr((D^RK?p>z!BOA zP5$t~MJgv5T-NHVS(r&*6!UEBceyvA37LZ>abOqPG6}bOcTdm6_&CHv&ZFHB6tG0g zIxsOlJv|-N5m1Zg?hxR+=y!aj%Byic1+x;~7?so&*Z_c*$K+_b^L~)gnNbb9-xdqA zWX_$76%Y8G&_rMP4X|%fCSr|Vu*PEi1_FTjpEUr}7PcmQ z_OtV@AX%DfZ^zd~NFQGBIArsUiTHP(qR9?f+kzE>F}5PuuqeLV!#bnn04-TT0vO{2qfM1U*fD+((Sm6W8zohP48nWLOn5HIB%z|qSoznNJyw`sc7C2+M*h=fj9 z`R@aZnI(-cyW~dxyQ%z=69qW5ss=aTEwp19ndCXN%xkzuHhfgPT9bMy@3!gb@>i-^ zr}qTpA7Kk{Lf4+gw}tg_KQY_ly) zts%8&>9M}jx+Zh3YB7wULk7+&U1YG2- z$VhQ{`3`KxX)P7-*U}Qvn)dwx;SPK{IyAGTT^y|#r$D(aCLE|o1uj$3`$%^(RE8@; zvcld{0&CKf$`hZ)e)hk_U;6=JYRf`4L3MSpt_R%5}8OiPG*Qaoc zm3(w{#Nr7oyMeo-?VX*s4uS(PH!ht;{=_E0_sWvZC!m$5yS% zJzb{kE6dZA5|@yG8}jX82;Jj}XnQlOmrvIPSm#YwRyj~r62oTa-2x7_9(oUbkx>eg z?_ayoI_0DHx5Ux#m7jjHxdos(*#`nY@?V^socXp8poP;+c#E_@OO4GK=RJWTGV`%X z$KAF4pPRttT~v@iumLysN?w z2XF#+p@eZ~zA6f|q3ZqnoU`_Jmr3tz2av~ntg15QBVpm^@9pmH?(J3O-iT()N_a!p zi=I$BRqr7Wft+E~n9s@p@_Kdd7l5j(gIVx9LOI%ax-(@A_~i%TGopUtAy?lxHD$uh z*>F%RGbHkk)>2wpqWTpy$ACRN?t~o^RrpL{m?0aCpl6msC0Czg^gu6U8JSpB?>V?Y zk(!f%^R)H?+;A@sG1J>m6jJAIG|70+G~uRvYT^qtMzABq+^9j=4^d|`u-~97>_61g z*I&%UBlGMBM?qA*+%7g#6$RW_3o|o;#(0&~2fX{76%J19pW7!O=J!L0WDV^a{xLxf z?RZMfgP#f;!M)eH>qt8V%K|2q+6%*$BcXQ=JHZn3hPE_z5ejDbd|vIjf}<8E1OXEB z`Cx=RV$+raFq^{KD0C{ka2BVtfd{}et}5^2A<_2L%n6tc z<%}W^FoXQAbqczWt!}!Ptj8#-nXKYeO#^mf`-&xLI(6>+XF(J=o*t`>`u?O8iH?do z;OV$nH4W?Oe8>?aHp+3l?u$0_iop1#Raf?ym&l%qg3HT6`Qi|)t(z{G*rdLGYnjd< zpGAP_@FC>DAjH`}yeg zV{7}IAXD)>^2@~LYoOp;sH9%?gO)$_wv)8}2HH0JG;gtQICU^$VNnXV=i=sjcSlSC zUUbobYO8?s#g$zWY$_a9Ty?B^HxToCsm83u3NhEpu$&D$%E?~h>mY?1l3-(KXbAMZ zki(?JoRsXA?(I|LjT2ER3ea9pR*;M{EngXp%uAw}W5fh^Z_RfEQ)sYsI zk-?Z_2wz=SVGRX@rxN6b20#%W{A(>=RRt%HfCRa%Eo=~uTq1c^eBG|jP8iVT=H>>f z{L+#VvVSj-(g0xC8F%*j9t1kbR%#22IoMwlwcbMDL#VaVyN9vH9fCp+RHKwvGIYO7 z@=#OyYq?r)q@kb-#Jm@cS1_swg}@C^bjsP=+go2>5Ae)a$Y}FAn=0lg3*_(JyI&wU z1mG@P$b$nuYWP7j#Nk1$0YjGeq1CCeZK^>ah>MLb$WjI_Ure+VjK6^94csOWQrap2 zHl~`!POxRSlH=jwJz-;O7;!e7&mY;kiowMMbI=V84qi9= z24%AE2}rcVbw3r@XHcH|uPOHy0pn$3b2IjzE42&20m1!eZU)FsQBjc&bH z*86SlIZ1gRxSi3=GsMM*po#+4fa=kiVjr;nfy`FU8zi!Ti50-ePv}Hjw+HL}d@NCx z`zEN;wYjVlnC+=L3?R4k(Qj?4JezcJFEa8n4rU0*aDAj(@#h)@CUUu z0?02+_+%6NJq`*!P5fyz0*|w_y&P`wWow;t*+TQN?trQnB?;6H!Z^v_= z&4}SV$a@$v2koFSN)In!16EmTEUckDsT(1CQLrQ zoj92GK*<8cbC=5MNRbqPAMl7wB~Y+tkv-!rTSn%d?rw<5=BDiDhoGzugFCEBB3zCV z9VPJV@BLlxwQT9DTJLtuu+`J$h20_lhc*{ftD*9#$;sT&4tdtgb?vD4r~$%J`A3gx z3R5yNGJJjls0sUrsK9VJ8aD3H1A>QsmlOu>W=M*Fw-cHbP~C?hpD>xu%Vjg5p#XV2 zh_o?VMjOnRU3Juw`yl#(Y}A(btU=mI>{BXOLks_51%c%x!N5OcFHO zxhiRR^b8S1zC3`*X^92$H2~!f8%X}$TpIeFqS6mgcw(*s@XkUBG?u!BX;uhlU3-GfA$*XkEAlO@vQlg-63&4e_jjSJ zOf6vPhz*u@TPEvN=0{=53_bOM4?}TLcE?E#3w8&yG?6Y=AGE}HE|FRJZGGlK3m~GX z!lP%%5%!4_>*Ce#uUL$^Vw|l3qh6O3AB5;QRkAH<%DPQ{^&CYxxibvvw9l>*!3l7# zn4az-)GK;FR#s9Byg<_K+7vCX2(KR4P%OV+BK6&>9JPQ()Y9%1cFxmH{}yji^9=h80o1o}yDmBc>- zc?-D~SM8ilFH?o&tefHjPkO!HE_jXyhIHJy3HMX623VP2bM=m-k^*{w778r)+DS@5h-_vt}w z*L!lY--emY(bxRGOcbXU8SIDHdNwCAS9#1ABf>xH82oO0aLZrV5*OGRST9pT#<*NE zqv=9V(}*9=4A+EN;TC*fGABK)`k^{+Uman=NAqIl<{jYPH z&v+;22J%pUsOib;eA*U=5FZ}ug)X8g5p{>Jt3P`8NJHZq!kCgP725mh5(Jyny(#^tMKk;9Dd!u&OxzFjbjVib0t2d|1Qbznk6OS_1 zqix*YntYmI-8p$lZ>Da2k?Ti<*D%C9rlh5H38I(b$+1um%Wz5rfwH|K)GTwUdH4!J zlwpgVIFm#k?H$u1v2Joac3H*gSJh5gX#c}P&0G>T<6*J$Pkf@3?{1am@$olqz%o$J=1{nU@-ZrRvB;sOP;}Zk=eh5E< zxun0;l)h4rA=!ucOYVkxlSt}?gIL`ybmcufS#5{v+4A8dAy^&kSmn63o{>|_U>pbPs2~bB_?egn$ zfCw)~#012!+ptv!tm~D@x|Jp+(L87GtJEtf7qc|OjK51ykD-u%Q6Mt#hPrBP?>v-d z`1U4{qh%K~(tiwH$8AOim{`?7*?CR(^kB5X(9rM^=$ey|-~EVEDGRemyI5o~>9sJ3 z$pJ$+3k;Ndo+Ha1K-`adC9Z)72Rr)B8JT)%c@C0IBX&=A;Y>9)sN;y9M1(#Z4P`!^ zqB*^L+hVCw`tIbfqA{m{jX%X=a#ywB&kr4n6PWpYoi39fRBRu~uJAm3Tt5{d*dlR> z*{GHV`QhP+4DH1s>BO>u$GQ*Kzxl0jbxHMp@k$Q!c>lST5m`?zB_I2an77XxM36Ty z#SvGFY>V$TZ?wHuDLJa^x9>C8-UHvc=@iEJYe3hW}+$aBeoqSRMchCUmrlh8l zz~V%}#{kEy13>s<4o6cICj>91edN8^3pMztLk3ITvvFKX>V-WaS-29ICl*6pY|%3! z=V);FNzf*Hl3x=TZm8lKGwS#2Cvy?d^yjGwl0#rlQwqvT&H2~S^!P6-mYN&$kPV7$ zOQwILa(1A*2{fsiUWw^hEoMXKi6;6B@*lYIRg;TZP+0Yn>l&0!>B#)>AmLi34M>3t%@tkO>Zf9C3$+5xRj8r?rPdJmC8U*O-9`Zn&JyojhxeEvGLHyt$fg0I0f+vVjYe&T|> zrbFM3w;z)->)1RW`H8zpp*CY)Hs@Hf{%VuC$4@rOxxOT-G+m-TdCl=KFF0=IcC$-m z@v61Xi0_xeqHhnsNMj2ZIc&Xft=t?PZ!>hgCaGUpQXXQqxfHg^b>Z7*fn8)>&ne`O zOMrGTB8N-%NM~E52AF)7+2<5$tiou+=q4D3N50Nxt*Dac;7)ciq@94%>YKq? z++>u-iOgu;qLZvCCs5-si4Ln5f`8m=c(WBvN(4R_OAIlH7D7*b_xh4d8U@q%T4v)sdr)_-Auj94}wLQfqH-4`(uO*WM@jHL5B?|DdWmt9Jy`lY>Ug zJTl{T`J`_pN&=yx(8G0)VBnGGZrcJZhqtThttEoPHPX?c{F6Yfk!i>t5h-#>E=Vod z!bzpxrP5+kJv)K3W?sJAUFM$sJF~O|<_i9fNPR?gdnm~!OJZRWfIFQRx0Ot$S6833 z1j;tiFJTG1Jr$BpJ?2pquQ8g~=>h2=X&A39r)~M4FmzystOu?)udCSk>IkhNwY@zy z;fn&QD*i3k`1+Po3ra2{Dvy~(L>}a;HJC6s>FFhBe!;@j`(fyQ<-V`wH6ll8jlGWE z#>t616V5tcZk1oAPfO{z`1(%fF}s7AF6YwCr&<%!Ux<;sG`;w;DxZa7_4}qGr;<)7 zyar87atYA&6FF)*zEDR!P$Y|7kOrN_XS8c*GZ|n~~q8|2s;YyI5 zy-Wn$Ot^qiv!f2FJYstFrP!TtR)gaf4r_6<^du0g9bVZ6DPoRH2T9-o?FeK*^?-@= zl}ZsVb^iV0J10~U%bH+k>c8;$LH@P9Y3$*;FJQPekVdLTBM<#{(B6TL1=Uq&_Ai}TwgO9?0(AL|y zR;;2Zy6mUpi=r6ETcqEqSd0VOZ$6{0yt>Dtak%98OwZ>IEs3LzKr;}A z^sIw-+E&|y?Gb-TLPP|iKi^hAHbb@~DTbWiqQi1$ly=~=dmxjv^d{(IbHXvr(67%? zJ*QiBniLvQx9C0@tKNR}=dR692jZXkU%T47G$}ND>`zdQx8em?tB=Z%W7o=wh}vUr z*4FX1^S!PI!4KHI5FCeAplklcqRG1Lur9v6paUU3E+q9;&7q?~lQYR!-2yWXLL^d6|w+#+b#FojjGm~o= zUOj)k2MRi~KOR8GyZ=B&;JOO1ff``{ZOj=*wI>tPKplgJh@K5vF$ldbKuQ zEo5k3E_g?o;3_X=XR>{tDuCAL6uEQMzks4E*@njliH;8)*i7C9WCDFZ15~j4v%