From 6ccdd1f9fc40efba92a031728d1c37a8f92b571e Mon Sep 17 00:00:00 2001 From: "Md. Fatin Shadab Turja" <71595077+FatinShadab@users.noreply.github.com> Date: Fri, 29 May 2026 03:33:57 +0600 Subject: [PATCH 01/33] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4da2903..44ef7eb 100644 --- a/README.md +++ b/README.md @@ -10,9 +10,9 @@
From afec3b8b45f2b543a13a44c0f74443a6d7f11abd Mon Sep 17 00:00:00 2001 From: "Md. Fatin Shadab Turja" <71595077+FatinShadab@users.noreply.github.com> Date: Fri, 29 May 2026 03:47:19 +0600 Subject: [PATCH 02/33] cleanup --- DEVELOPER_TESTING.md | 664 ------------------------------------------- graph_build_audit.md | 71 ----- next_move.md | 103 ------- project_identity.md | 1 - 4 files changed, 839 deletions(-) delete mode 100644 DEVELOPER_TESTING.md delete mode 100644 graph_build_audit.md delete mode 100644 next_move.md delete mode 100644 project_identity.md diff --git a/DEVELOPER_TESTING.md b/DEVELOPER_TESTING.md deleted file mode 100644 index f2be1d4..0000000 --- a/DEVELOPER_TESTING.md +++ /dev/null @@ -1,664 +0,0 @@ -# Codegenome Developer Testing Guide - -This guide provides comprehensive instructions for testing **Codegenome** (Watcher CLI) in development mode. - -**Project Overview:** Codegenome is an open-source CLI tool for building and querying local codebase knowledge graphs. It uses tree-sitter for code parsing, stores metadata in SQLite, and exposes graph data through an MCP (Model Context Protocol) server. - ---- - -## Table of Contents - -1. [Environment Setup](#environment-setup) -2. [Installation for Development](#installation-for-development) -3. [Running Tests](#running-tests) -4. [Manual Testing Workflows](#manual-testing-workflows) -5. [Testing MCP Server](#testing-mcp-server) -6. [Debugging Tips](#debugging-tips) -7. [Common Issues](#common-issues) - ---- - -## Environment Setup - -### Prerequisites - -- **Python 3.11+** (3.11, 3.12, or 3.13 supported) -- **Git** for version control -- **pip** for package management - -### Verify Python Installation - -```bash -python --version -# Output should be Python 3.11.x, 3.12.x, or 3.13.x -``` - ---- - -## Installation for Development - -### 1. Clone the Repository - -```bash -git clone https://github.com/Ogro-Projukti/codegenome.git -cd codegenome -``` - -### 2. Create and Activate Virtual Environment - -**Windows:** -```bash -python -m venv .venv -.venv\Scripts\activate -``` - -**macOS/Linux:** -```bash -python -m venv .venv -source .venv/bin/activate -``` - -### 3. Install in Editable Mode with Dev Dependencies - -```bash -pip install -e ".[dev]" -``` - -This installs: -- **Core dependencies:** tree-sitter, networkx, watchdog, fastmcp, radon -- **Dev dependencies:** pytest, pytest-cov, ruff, pyinstaller - -### 4. Verify Installation - -```bash -# Check CLI availability -codegenome --help - -# Or run as module -python -m codegenome --help -``` - -Expected output shows all available commands and flags. - ---- - -## Running Tests - -### Run All Tests - -```bash -pytest -``` - -### Run Tests with Coverage Report - -```bash -pytest --cov=src/codegenome --cov-report=html -``` - -Coverage report is generated in `htmlcov/index.html`. - -### Run Specific Test File - -```bash -pytest tests/test_parser.py -v -pytest tests/test_builder.py -v -pytest tests/test_mcp_server.py -v -``` - -### Run Tests Matching a Pattern - -```bash -# Tests for scanner functionality -pytest -k "scanner" -v - -# Tests for timeline features -pytest -k "timeline" -v -``` - -### Run with Verbose Output - -```bash -pytest -v # Show each test name -pytest -vv # Very verbose with full test output -pytest -v --tb=short # Shorter traceback format -pytest -v --tb=long # Full traceback on failures -``` - -### Run Tests in Parallel (faster) - -```bash -pip install pytest-xdist -pytest -n auto # Uses all available CPU cores -``` - ---- - -## Manual Testing Workflows - -### Workflow 1: Build a Graph from a Repository - -Test the core graph building functionality. - -#### Step 1: Navigate to a Target Repository - -```bash -cd /path/to/test/repository -``` - -Use an existing Python, JavaScript, or Go project (or test on codegenome itself). - -#### Step 2: Build a Full Graph - -```bash -codegenome --workspace . --build --full -``` - -Expected output: -- `.genome/` directory created with: - - `graph.json` — the extracted code graph - - `watcher.db` — SQLite database with metadata - - `build_log.txt` — build summary - -#### Step 3: Verify Output - -```bash -# Check .genome directory was created -ls -la .genome/ - -# View build log -cat .genome/build_log.txt - -# Check graph file size (should be > 100 bytes for non-empty repos) -ls -lh .genome/graph.json -``` - -#### Step 4: Inspect Graph Content (Optional) - -```bash -python ->>> import json ->>> with open('.genome/graph.json') as f: -... graph = json.load(f) ->>> print(f"Nodes: {len(graph.get('nodes', []))}") ->>> print(f"Edges: {len(graph.get('edges', []))}") ->>> exit() -``` - ---- - -### Workflow 2: Export in Multiple Formats - -Test the export functionality. - -#### Step 1: Build and Export - -```bash -# From your test repository directory -codegenome --workspace . --build --export json markdown graphml cypher -``` - -#### Step 2: Verify Exports - -```bash -# Check all export files exist -ls -la .genome/ - -# Should see: -# - graph.json -# - graph.md -# - graph.graphml -# - graph.cypher -# - graph_html/ (directory with interactive viewer) -``` - -#### Step 3: View Markdown Export - -```bash -cat .genome/graph.md | head -50 -``` - -#### Step 4: Test HTML Viewer - -```bash -# Open in browser (path depends on OS) -# Windows: -start .genome/graph_html/index.html - -# macOS: -open .genome/graph_html/index.html - -# Linux: -xdg-open .genome/graph_html/index.html -``` - ---- - -### Workflow 3: Watch Mode (Live Updates) - -Test the file watcher and incremental rebuild. - -#### Step 1: Start Watch Mode - -```bash -# From your test repository -codegenome --workspace . --build --watch -``` - -Expected output: -``` -[...] Starting watch mode... -[...] Watching for changes in: /path/to/repo -``` - -The process should stay running. - -#### Step 2: Make File Changes (In Another Terminal) - -```bash -# Open another terminal, navigate to the same repo -cd /path/to/test/repository - -# Create or modify a file -echo "new_function = lambda x: x + 1" >> test_file.py -``` - -#### Step 3: Verify Incremental Update - -Back in the original terminal, you should see: -``` -[...] Detecting changes... -[...] Incremental rebuild: 1 files changed -[...] Graph updated -``` - -#### Step 4: Stop Watch Mode - -```bash -# Press Ctrl+C in the watch mode terminal -``` - ---- - -### Workflow 4: Timeline Queries - -Test timeline and change history functionality. - -#### Step 1: Build with Timeline - -```bash -# From your test repository -codegenome --workspace . --build --full -``` - -#### Step 2: Dump Timeline - -```bash -codegenome --workspace . --dump-timeline -``` - -Expected output: JSON with timeline metadata, change events, and file churn statistics. - -#### Step 3: Query Timeline Programmatically (Optional) - -```bash -python ->>> from codegenome.timeline import TimelineDB ->>> db = TimelineDB('.genome/watcher.db') ->>> timeline = db.get_timeline() ->>> print(f"Timeline snapshots: {len(timeline.get('snapshots', []))}") ->>> exit() -``` - ---- - -## Testing MCP Server - -The MCP (Model Context Protocol) server allows integration with AI clients like Cursor and Claude. - -### Workflow 1: Start MCP Server in HTTP Mode - -#### Step 1: Build Graph First - -```bash -# From your test repository -codegenome --workspace . --build -``` - -#### Step 2: Start MCP Server - -```bash -# HTTP mode (default) -codegenome --workspace . --mcp -``` - -Expected output: -``` -[...] Starting MCP server on http://127.0.0.1:8000 -[...] Health check: /health -[...] Resources available at /resources -``` - -The server stays running. - -#### Step 3: Test Health Endpoint (In Another Terminal) - -```bash -curl http://127.0.0.1:8000/health -``` - -Expected response: -```json -{"status": "healthy"} -``` - -#### Step 4: Query Resources - -```bash -curl http://127.0.0.1:8000/resources -``` - -Returns available MCP resources (code symbols, relationships, etc.). - -#### Step 5: Stop Server - -```bash -# Press Ctrl+C in the MCP server terminal -``` - ---- - -### Workflow 2: MCP Server with Watch + Live Graph - -Test real-time updates with MCP. - -```bash -# Build with watch and MCP enabled -codegenome --workspace . --build --mcp --watch -``` - -Make file changes in another terminal (as in Workflow 3). The MCP server updates resources in real-time. - ---- - -### Workflow 3: MCP Server with Stdio Transport (For Agents) - -Test stdio mode for direct agent integration. - -```bash -codegenome --workspace . --mcp --transport stdio -``` - -In this mode: -- Server reads JSON-RPC requests from stdin -- Server writes JSON-RPC responses to stdout -- Suitable for direct process integration with Cursor, Claude, etc. - ---- - -## Code Quality Checks - -### Linting with Ruff - -```bash -# Check for linting issues -ruff check src tests - -# Auto-fix issues -ruff check --fix src tests - -# Format code -ruff format src tests -``` - -### Run Linting + Tests Together - -```bash -ruff check src tests && pytest -``` - ---- - -## Debugging Tips - -### Enable Debug Logging - -Most modules support debug output via environment variables: - -```bash -# Verbose debug output -CODEGENOME_DEBUG=1 codegenome --workspace . --build - -# Or with Python module -CODEGENOME_DEBUG=1 python -m codegenome --workspace . --build -``` - -### Debug in Python REPL - -```python -import sys -sys.path.insert(0, 'src') - -from codegenome.builder import GraphBuilder -from pathlib import Path - -# Build a graph programmatically -builder = GraphBuilder(workspace_dir=Path('.')) -result = builder.build_full() - -# Inspect result -print(result) -``` - -### Inspect SQLite Database - -```bash -# With sqlite3 CLI (if installed) -sqlite3 .genome/watcher.db - -# View tables -.tables - -# Query symbols -SELECT * FROM symbols LIMIT 10; - -# Query relationships -SELECT * FROM relationships LIMIT 10; - -# Exit -.quit -``` - -Or in Python: - -```python -import sqlite3 - -conn = sqlite3.connect('.genome/watcher.db') -cursor = conn.cursor() - -# Get all tables -cursor.execute("SELECT name FROM sqlite_master WHERE type='table';") -tables = cursor.fetchall() -print("Tables:", [t[0] for t in tables]) - -# Query symbols -cursor.execute("SELECT * FROM symbols LIMIT 5;") -for row in cursor.fetchall(): - print(row) - -conn.close() -``` - ---- - -## Common Issues - -### Issue 1: Virtual Environment Not Activated - -**Symptom:** `codegenome: command not found` or `ModuleNotFoundError` - -**Solution:** -```bash -# Make sure venv is activated -# Windows: -.venv\Scripts\activate - -# macOS/Linux: -source .venv/bin/activate - -# Verify prompt shows (.venv) -``` - ---- - -### Issue 2: "tree-sitter Not Found" or Language Binding Errors - -**Symptom:** `ModuleNotFoundError: No module named 'tree_sitter_python'` - -**Solution:** -```bash -# Reinstall dependencies -pip install --upgrade --force-reinstall tree-sitter tree-sitter-python tree-sitter-javascript tree-sitter-typescript tree-sitter-go tree-sitter-rust -``` - ---- - -### Issue 3: ".genome Directory Not Created" - -**Symptom:** Build completes but no `.genome/` directory - -**Causes:** -- **Empty repository:** Ensure the target repo has source files in supported languages -- **Invalid workspace path:** Use absolute or relative paths, e.g., `.` or `/full/path/to/repo` - -**Solution:** -```bash -# Test on codegenome itself -cd /path/to/codegenome -codegenome --workspace . --build --full - -# Or test on a known repo -git clone https://github.com/torvalds/linux.git linux-test -cd linux-test -codegenome --workspace . --build # May take time for large repo -``` - ---- - -### Issue 4: MCP Server Port Already in Use - -**Symptom:** `Address already in use` on port 8000 - -**Solution:** -```bash -# Kill the existing process -# Windows: -netstat -ano | findstr :8000 -taskkill /PID
- Open-source CLI for building, exporting, and querying local codebase knowledge graphs.
+ Open-source CLI for building, exporting, and querying local codebase knowledge graphs.
+ 🌍 Website: codegenome.pages.dev
-
+
+
+
+
$?R7kW!Z;+2|*VY`yqh`U0;!?9!{d6SiIDL8j9^x&n#R1CMea&b4XsnA~GcPcq zj(YuI`@33d&Dxr3%12q7 zK4AJt0joP%9kGSpyfun*pCiMwh)4IPNAiHD!*BKFcu(W%*5%oNdr}jY&&>_E5-@jA z#3r}oC=wyeJosC5U@E~2V<>Tsa`~pc(Gq?o)*5ViAL$Np>$POBIXTN8Kn%9hJ%oO3 z$sl`O+v15?#qRzjN7~cpEo;}=Q`Z&VxMdQ |RiD&V>|1C5(q)(>UO zr_B%h9r8O*23pbc6P)b1|KP^OzwHv$HD81~as-{_`vvcL{mPp!xAI3`wCE2+cVCvu z9(x=MDGU>ccarMEIb^Heu>Op<0b1N)(ebKZ%_A92Gp}kR9sFWL>2lRB{_=HxD#u5{ zVqsd?QuZNMEV1DW_GZ?=Y}m2*R-*1FztC84Na=CG5<@Qg#?|k4NZx^`CGUQ7uQN`& zJ;Ul$ym*UD(0jd%C1>09EiFxu&!ym^Z&6=RYO=JnqoP05E`X-HlomwK8*tX^)QRTZ z&p3_5W4fS85mShnv+MfO2lrE+7VXT9n*(Gk*ND}R%{c2fhSFu&uQ=Q(TwRCe<5vlR zk>&;l1@#K$e}oZ^E)i&~M*_+$K9i_8)Lco^NDY*47fqu!YeCE^RaKFmPD_KO-;x(_ zTY)`6rFpcn;MIt-d7d#f>~>4>t|JhGOR@HiNF9?X3`INtHR%WwbRD9N#t4^ardCkR z6DgY^*ZM+jZKhY;PJc0TaNSdv+;m$^FY1?g9ZiwECHcA9ur1%Eb|bO1ADijS>^(jh zodsX$%(;Is^jg@`hg^=l vc=#=RJ*d>1x&` z`Ym#R)z~u?M3D(e-e1X}z5J prSg&Viw1L(I^oX zYSZ;( i=6!xWTvAF zj>h&hQ=%}(R^G5u+{Y0p
1=MLsZ zxqr0N8GVlZo2dzpZ2B@V)$HCgG1}jJ71lu)-SUWg1pvMgZYl+1usy#om88G;Kl{;Zc}}|M1>Y-Mit1kq|%T1t!6Sl)LA>-Gq-_qb^gm zdcnSxJ`2 n@Xqe}>3nnu1!%~N%U|J}Sct5Yt2o54!@wru)baqTUD1Jf}q zFZpkSPltjV4M2LfvlD}$ECigzd1m95gtUCmmT12bXda*W&pDE%Ew>2lM%fb>@;8cV z@O>oG!WGTqsqrEUCT17peD@cIMLV`yY7u$2a$%VKO0cbb`w=O4luXH^hiCognls*6 zK153?i=@GR{R2sZl)SSq{|Lhfk+KP)Tg0~XiCa>3;V~w@u14bRj!RW9zI26GsfbAb zam!{KX{9$TXV0D5xc4(k{Fltc3oDSfI`Yh5a$;W2#mY=?owix|m%ADDayZfx-8TH? zbTKIA#^D5%^ ^EuGCE7pOo&@Oj UTr! zeD{YtaV%JyQ}G)%irJ2M8GEjl=*};`!zZl4feC9}52=cH{It+h;&eruuVEs 8f zI!E-iVlzHiXCpZ(fp?UC1dGk26`L545xldLHOR+uLA=dB9}`yB(_yO|e?ncvwME7l zH%c~CM`KmzXhM}000r))v3oOHrM7t=+VVv#URTi=|4$r{hr4)cN`<$Ena%dDOG;s$ zV}EDXwaJ`8t?~m$($|zUZC3+&Sx$cOOE>bmHxo7Yrp*L3@ikB}yh*X;@7w#I)a!r1 z<1_27yGK>)J5Xi8dKbBSkG8Zs9;vfnocwf6EiI*N>09L(>lsY!BmE^nc>csUG=}YG zX#qoM!XRn)%}b7!Id9KKKF8#Wwt$X|(ED_&`PD7TI&r1dqC0Hi3%llVPxes|KV!2G zbFrf?e+LNWSb5bXo%724y+TQ`S}yx&b2)FmWDd}-Xn%c5yeXqaHf?;ZScPYuz||Rr zq5|tX+SrZX7(KD~H&xUXMKEVpnTi+eCf9t@>(sZJJq$3Wy{oKXaHayt*>Ks#bzh?E zlOY>+AKGMqTvp(aS%S)lwmy|ILs8-w7_ylq#@HRYdVZPdDx%r01#x@%eYLXkkh%o` z1^Wtn3IEmqwc3~kR|VQY>rUt>HM%h3w=C6A4;yTa7sUovyKhcWTo;K0BK#21leD0F z%NGnTQ^IO|jW1-$QbGgV!WMZaZM}*%JSagSz!>Tr|5;=dHIj71=3rCuoMVT}+V~8@ zyU7f(9d6-bJ}DotI9O{t>ji)EBhZbH%*i7?K!}e+tY@L?JB4sSQq5xGHt)rz_wTg! z*o1eHOCL&&C~Nj@2RuTX?&E0)oAFWGo@XkYE2%wCG?Uk9VhZXO6P7~$Zg@AB>LUH9 zYq0{?*hWlP_alC5Qf0P?DcCH~ 8{$M^_cLaXSFsd87y|!lk4c=_t@?0E8#|k8=rO^)GFJMv+-(Ok^ zjsK_H%GA(|ttR9Gboih2oetkQ0xhJiNHa$am=)Zu3w5^?T1#*kmXzOJKoydh&wz&V zrWS}@uzAZwqIVt#nl@1hDjXb6MkSkUMvmQ(x0NB?wV)W99THDLY=3Yp%Xp?m89Om5 zT~QQ@fs-~ikJL9?1hOvAXA_ ?8MXaOVMp?9>c+Bu6H6j z_1u=Ij;Z4flvRO_>vVuFX1tZJKcTYEze6M9d~;6$%36dL#&EWqxyqv#DSpI{L>RpK zx67Be&{yr#Gsrm77pRs-FZJ2l1=4`5lxev?o`pL^#y9I~yX51YeOaEzMDLV1rm6Ej zhTgAFS)j&b(`OedHbxZ!g#a3ymufjHG7y{qlkc)jUonTZ;dcjetwZ)!8}`dE&Y6ka z`JO{i*k7pA>fYLCDHOS#{5O+d_x#J6k6vwn3c~(L7ZV+qTUZj0&-6}6rPe6k9G5aR zy*D3HT29?uX2{29BAp%v2Hg6!qd%6_9v#_LSJh;u6yTQ={r9$W&e5&?A0-zw8zBUq z9#>y#I>O0(3o9f`ayHw5j{HJAycl%9-6SEE?b*kjJe}D7@3_CLDU8wJcXKJ25rgvX zjolVe6h<5#NHla1v(WGI%vl^PolaGi1vh%!So0(@*D^F!kdA2@5m4rl$6=)%@Mrwb zamGz_PQRe&OIk0TULDe+CKNP#wjCI70*xETnx}^UEOmVL@1Dj%SkP{@ccL588&`{6 z{oWV2%hgA|Pzl||Ua`fWHHeNQx-VF|pe0hXIQPX+DixBhy(#O8kcxJeQ0jnv*yh>( z)FoTJDoF`kzR1Gs(2Y$!qxLCtuz|8EWJ{@iA9io%4g($qU@PLBA2rR=Tp^ECwm0k2 zw#GmDOjSKhlvKxS5sQU(s{c)$QEN)=r9|^)x6;_0H+UFv!9G4y&e9H^ks|bplL2v~ zBp6G~!u`=VU~OPwZFec4p5BS$OciZqUVjhEBvZCz5rnI B_m0*$#ujh|M(AeBZy%J(LF<>A_S)dbtRpS_ zUe}YfoG!XL C6fv^21Z9Z~GnYgeDAGpNue5US1 xQs>fWRXS1Uu&CJ$6mU|=MMLR*1{M=s zmDX=ovz+0uILjsR3~xGJGclWHR-UHi;&IDW$%F&|hRVS7N{VO((4I(qX$I2fR?%rD zB=+d1 qa`#i8Z zA%iQtJ0A;z_&u;|FU<(+ji152!H)5|Cx;!(ry6plyw!z5rj}Y@(I&{1c%8|QePUqH z+{x+DtUY>nZiH=if)h~jk7@Q!Q=KLEm-ik$6m&Q~)46Q<>f0VM Tpg#Nz1n`5xoL8IyQS0k$5zunL< Nq-go<;rc}`)Ev1g_eXmdR-CNEge=j1T&YoDnJr= n$m{j-a zojH{}RW=9bi3Huj-veQB&)85ebUC?L7y|O6?`RmiPlWKsF8Dg5emu*nhHNR2*etK^ zMi9W&;;rFLwdIix#oCORJl>}FnQu lesHgFkcJb5oiu3;?*OKzlNI c%vX7VlaZ}3Dn^e1MFx2Z+WA6p} z-vAOM`yT)?B>({O$A78upl O-}f^ zN8VQ%hQhxEvbzK6+e@t+zRxW>e_@{(X}#nh8}RDj{3VCNyP&j}SxwNW5vo)1+@+}$ zob-vx=1I@mjn2;vAqAd!oYgRIK;bxeJ_C5Mqn8Fs0+Nt~-u5fOq gQ(N{dra{_l4a}N&QoK8Ly9}8kR!#!akaKN^rJr;q=bbh6$bzMPL4J zwe-a&RlWZcCV~Wox1)Zl5l!o ;@E*_pbP!QDZ=GoqG&H(mm z;B>D+1wotHELL0;MT~#8D=FdmJalCJ?ISI-21J=kl-{J_lY0k;y#BQt?DuDK^m+F{ z02@eA&0}(M2+r_#y|l38V^Z0o2v~Qe1mdd+owJdnTJAm?o9yA$>w3mE)|=IQUBEM} z-bA6il)^@_Vg;@TGTCg@?CuWi*jt?+6jJQ)+=}wRjr0Ll`7{P#0c@DgySH_`<2t%a zS5_E@mO)R4Nr^;RsQTe2bzFoz )%R5fEBvp+DSZ0?Lc(Ov1q%fzQ8bK&C0t$`Ms zcvmIJ$4}ht>>ntG%h;^($hZr6=sj?n^oJ-wWex%AnF-0UycxiU)wo3c-<2kxEKcrr zLigQ0c4Eyus!8fy^FFERyml!RM{H^Et+eN4sk;-nkqw~2jr*0sluhO5u5d%g8nBy6 zU$NZ!z<+Q-KEiG=htNbvSmz5I3LNATe;v{m!;ps6rH(`(ZXXVQ+lBYdV>67u$$(PZ z2i)wQu%!>XA-HEjP 43+ zD?M&!i8}M6`H01`Di)U*f1ku|O!|C^$V{BNMDT0)K|F{U+5Q43MSDFuN(NP#Vf@LM zEk@Am`eW=n(qUV8?bHx{hSREnbckMZRp+zS_0p$w5I})1NAk)}0$ia6Kb%9b0ZarV zcQQZ|G*bf;PzleO1quSfNU80H=*rPgJ{=ONJ&BbIxFm3+J4Jx#8ppRPwkVeRu5c7~ z-s)eO= )y;&jGbFwl 968+z6oOn$RG JYoZC&V5yQymdCxwag>u)Zq3;Y6X&AyD3Wsdlq#id9j121Pm=c^w_hZ)^H-05K~w zQIL9V#iT-h_ovsfC|lr=zc18?6}UN`N9Yb?R>*U49B3}3t<0_dWx6U}V4RS+5;nu# z2W=kF?WkOUp5+Wq-1_xQs`{3Ts;d=~^I+9(d)4;=Hey7#ZE6YYdin)T9k^|KP*b^Y zqZQ&aSzdBFE_0tY6y>9~XO?J{Xf1c2De6< zT0E1)9pye)d!}}n6q3vg{zQ__uUzFh|GG?MKKmNu@U`olzkC#gWZ;1=#?MBMSR64t z6W`@cTxF{~%t)omeBMK3QaGwOf;*T!y=-ziN| LI~vRr_60>!I4jZ)vv8Q^9)70fkpOYaGkOoqLpWd_QYe>M z;C5QZ=`t4# #cvDD7kM}<1H z=>(FxouGFwm9#Qsl?B77N&pNZKvGh{r_oIQl=XW`_({eM)TrlWIVQ6skfi=)!aH#O zTFk>4Bsy$5^n2C&XDh9-R~v$Fr1bu4v7J8pe^_kPoR8iEY3*7|jLqDeHpdenGxkrU zD!w=WTd+?=>;m7C;XeUheQxFB9z@+Gg=!>Qm{z0wvY*ZJHyGvX+=uE}!ikK%wY*yh zX0JrE>b+eJqOGxGX-l3X5skyh@Uj}b3-TgH){lE3IX KhsfGw>~IXk^%eTlhw3oLBQc<3N7fSo$$ z#0~Yh`g+k8e_QFTLs=OAZh#qH>xv4Jbszw0Qri#3pDx$$wmW$W5oLdSzz>p!MiMx8 zj!(Z-Ct}}>+BRghb|3gd925;D!DCHG9zVAlm{ kHf@;NkD9BrMS4tzz1c9D#IV=8*TYnd-hVhpBXEZOA=H<(j9*M^$5Jj*(i6y zUcX!VlK&^Tkh&Qg4hvPft>+f1|I=X!`JH~7mz}S7S|q-K_z$5|8aS;V(T5HJ`3=_> z1`4_!Y#GL5v#xGA@>*w2ax1nb)3pAm)iu`Dx8E1xzyIYDHAB9xZx6Hs)=+r8ap)Vm zXc`S-)5*^6|F*wn_cPjS_nN4AN}I%BGcZwno@< zZ`YL?8}iuBK&+uNXk$w<7JC+|$bk20kbxY?A(Eq3I+)XIH|QAhx*L5o*XUA0E@wgX zb#7y`vFY`|wk?*|Um=DR5oD7yXPMYtgP7|!)>1cxZ>&Q{0OpO*uxyvXE$fUt8G*hW zv6h;RX)P?$1DwyF7UA3LDoid6tI9+Na?kEqySi;o7XYC^;M-1yAlf*4HLO2upZdaM zOX0E~{-N$C?}Uz0lkFC!?$0-kor&Zcs(xP+tItC=Gb?AZhDhrpt8Wu&(H}MJO3oDq zmwoctQckGT%g|%KrXF-}QXD R^7-&5<9f zXWeBPwT2y;>8}ur^$*JEeaG)-cPH_coMqw_I`a~#o_5!~vG0sFwZlF{!J1PM!$^7m zg4*@9Tw}XCs0cCv%{x0^E) hLjcS|#A z(FIv!0T(aYD?E6WE;>JVXAjcMhkfFAlq>X^<$u7$cxvok93XwnphXl7IDqU_lAv*& zYSBR;E77Bb#Pqt4wLa57v`?SO^?FOp`SaZ#B&Yz~VJ^?u^I+V~D_!oLhplFI$cKHR zEEf9>%z6z&@Qg`%MJ+jm&{F5C6Q4uI1gD(>-Hq(Y85y}g{ahQG#oZh(W8rjf *+bI)ERk#CbmRG3#!iwG{AxcAtEge@XPhi>=GQx2JzC?t7L_Pker zU!)|gH(5n(&c%;r1
E00LD45p*)?AH+)!Sm+BH;42;T-hmPG+Z21GkHl6={T#o#)O;%=?U0VHr$Pke zvo_M2*88lB#<&x>sj`?3m78^P(TmE?N SlPxSarGB6 z0R@CfRsKEPEy Wv-~R@@gUM z69E&dDZCAL?%2ZCWU(4oyAQcHeVvGdTps%7{vy>td1b{Tc15%@s25&XVL@R_cHMXn zjBFRbUCA^hNSpu^$Jh2N4?h>y;4r4=w51q9P?s$B&r#PP3Hm`qk*pTuaM(20>%Nlr zT{5Y|N*(a*-W&pG$Ugw-m_4*AkEnTFUyJXbpd2};RHk|}>tQ~wly0^Pm{jUR7JjE$ z$j9#S_i@R411fKI4IdfyFgi&2bYk`GeJ%2zaz4n{7k0|oe>wGygZoU)tiJ#us=~a# zwXu^~fR66uc;2hHL_shU=y5-v&c-s@Isuz^q=+KNaufXqUKw1=>S4HnM2m^ikBK@H zm9Vm>4-=6+vi>~dUqL?TRJ9X(C)DQ=HNpzHFI0YyKP5Kpb0L`Zni4NGF$ 8^Rc4QN-#BYx$j_FJJ7U~k)9Cf4O`cQIapZi!QYf5Pn&h#ch8 zi$6R+=Gx*);;m)T>P>88jq>}hjRB3~`9@Tb*yBeUrudm0g2Zy;h4<}WI*S}2mjy(Z zt~iHVyFhe8L r!y)rIJ@4-3*ZyX3@taMe1K}GhRy)`iuiJBj7CP z`W#JD@5IxXFMyKY_txT+xdU)g`Bh6RV$l}Obn*NHsev(^9EJReuwq#V!wi(Jk%t!` z%I*Wy_L&KRp(j{7VGg!rcFp|3J-+eiJ3wTkpUlhgc(UR_QSbAmDvOa}gDXOx+>>kS zTs!u0Go)S916>j|K38}1vIU*vYZ_Mr+23EZ5Qmt6Yl`b`^v>JZj3)fuZeqi9o5eJ6 zhWpikFk*;&iybA0uo>Blea|XaF-2DnX7tTG7sW<>`8Uc`4KWLBz(e_w=EY|j3985W zt8VWzkoIUyKZ&@p|MKSu&Y=lNBYSL>Y^hX7dVv}bc>ib3LsNCkhv*97ta`7NY;zmV z6ZKu&=?Fm6{l8$#Uv5rJr$6q0gG+#Tam6-%+IqzXGCQ)3is>*cF*d6h$fz3SUU*=Z zck{>#pCSQUbAg(c(a(`9`C&fMP|Uj0l<(6ZU^cqBG Q4bE#!)T>W$Rmb=<~*voDuk?z_25?>T3+Nr?wIEOtk2iXo} z`)M|1y-}TSjC$s_5(d}s5jP9;?So6tJ^FyP(|g^#L~AMT=>ro5fr-loAvGsZz1qg# z-Q7E~pvK>w6t;2`UG#1PN)(!Ux`CzAivdsMMIJ^S^j3$4-qLs_+U4CYt4jL8s$0BU zpFZF8pvD7hXzde{ BKT7@zE17o21T{Ru!vg*-4tKEi8v@k`1#`Lg=FnTP z8GBca|Ifp}bwBXANxcb0$GPp>wTyAqP0kmfM?PFr$E`Lk9u+Ed9Cv=ep>=1j)Z1UF z?pmK3JX&Xc@xSW?HoU>Qx |Y1ePyL-j9yXwvoPdBRrHEti+WSMNRUb~cmx)fvs)OaVl y*KpSt}=uHr1<_r)i$njN$~c3XqoLJ`08OtU4#GD~!Ry5|iN^--dPwUCC9 zH)%tSVF%duDMQO&=(kQbob=C{ks>JMf3*h4%C2hxsYK>@t6wIN2n=hz?a%ddX_`t2 zseAbYmoO5V%4XmrG~0vWZ4o|g0FiGJMUIEz?IOL$DVzl(Pn>RZ8!;DyBr}(=t2eh5 zQz|-bzyy!v=f;qCG_8(~0X0)1Gex)R*j;(2n5G&1Z7CDqznrKmPv%F0zC}R4-&QJv zVVWSnff&{=Zx(ekMQgyw0x%=ad{eSsTt^@JC$qb$U)91h;=WG#tnkko2Zt?~2oAoz ze&)ltFeeN}T<{Z K#;O#(pZ&P^$fqwN4$Tf-o^IcNqU2RGARWkcAM7^R_ zh7oAJ0#@H4DJ~^x5&)01ISv?%^H#C5??<5+8Ah%(hTG9WtQ-yJ7DY?ArhgJcjD@ws zzyG+N$$|bXZKPQyqR@;mPg@K;sLcm__$e*1d{|EI*`bhKYHfJ;pk7nE=wOulfMmKT zi=yBM*?QjU&Ng82Nd9J3oE67$`TH_;ME}!K=c_FsxPVArO_$@$`@i1A)X6V%jeXeJ z4X{BJowbT+Lv23!@3b@1^)FpS((dT`)Ms@pwre(IT!j18#f=u`sg4-$pqVuEJfWU2 zt&s%EY2T|7(mE%b{OuVRrNY%#lgM)8{uE3m!^hb!bCW|3LtPioYHL1%30X5npF4 z*vD4s^~-pw&pFl@%1-=iJD!xn_0-cUha!^!H{@N|;k;%-%c|lgI}PFua=U5dIN=g^ zxxre`z#zhScUDaVj-NloK2%j=0D79kSjg{<&G=(9QIMXYx;lOmir|D#q&rcEpcXC) zhEgDyPfcNKKIGHE!4&DiXw*j&75}jpZz2KU5rl7?g|y8U8}F|IT$*3Sa=3R&Ds6D< zP!wHS zzp?YuO`^dqsn;J2+ge}sXagvgreP}FqEH >|FQEM_Trn_yO?#qCw=vq j8(%!~6ZiNAwnT3+f7@0hPGuxm-*VtFA>RUhc~Gi04l=zbm}luA(N zCq7`ipz04cxdo}HbuuG?egAgDLN|rW89FLD@Z-2Ix2S2!>fHVGf2KSZhN7OY9fa9a z@|Gb$M9?dIW^H`!Xl*JL$dmkBQ}Wi?rs<>v{M~q~QCEKaRDU*svTS$kvrFql+W=Cu z>8qOX-}Y1NqQ1W%^BrXoH8bIcgOEO%xb@2{o~C>aO?%bh`z2!5ZvLbY^@4;QusJ zXN_m~uvc*=Lm_P%LIH@+9P#E@1P|n)JexJNCJJLNB+!vTu>zxX08kbcLwj9&n~-V8 z!yFqt>zV{AUcc?lX{l{QuG|_ZdbVr|z=x66vYyIDR@s-ltQ(+Cs*goZPVH^^xb`1V z%r%HxsK_^?r$9bDWrw^6%FsUhzchE)u_trWPBWA=>5qt>?f @Q>e~pi|-|z8HuOW4Vg@hX `@B56JQxwFnSCq2r;Pmk=1rI=lN_;D9C2wKWC zJD$q5t7|>6C$Nw=hZjV}Vsg0tjh?V2=(^nBZ nKuNGfk2?AuAOr)8P^kHu*kFD9la8n|QV}zyX z*G Ly9qI6)(UdfgJt{FRb(DopLw^LXA4M%-Qw0z8T!thyEonR+9$Ut3i89 zViQ)2CXed~+|IT^e64y%s~baM-#K$`ZXwVgBI7lHG5CWl43r81QspY9ImCDQP9|DJ zrt|l5U^B+TCYk3+SZ9T_9r2Tf9`IVxEyZm8399S6gGJ+7Sqr5$oN!#KajWw) %Sp15X8cj1Eg0O_E6IK}uVKR3Ca 91Y|zS zvd@KC60|EE=5q)xDzfFq>2?-P(ACSm2a}<9#{ypDEe#-ZQfu;>k9f`>q6mmOd%w#& zeQ_o0e?ka96jxB#5EVy9WLeAuRyl6<5dWfi&w6%Hu?iQ#`z(gb&-oqn&F#$RJ&^Lr z%bc8#wU!qYdV|5jBnNB{5GE{Wh^({s-M$hqQtoGHb)I=gzL~q^dzub^;kJPO9dbpD zn2|#;w&;-Z+R0Hx0tW6%172Z=CalNMAq #!_PI3!ugDOF zvmqB!-)uti{vP^i;jyv4WFa$Hie>wVbSnSw2VD#%pZPtRye`@8oLJZQ4)aR_qfR6c zB)foBg%~J?crI-dh?MZ(N28vp1DAVW{e!Qanvw(>W3z0_6I$L4-oG)L35~bOPTD(Y zq5o%UfSet==`r}>_2lxZxkc2CYEiKk-R&b 0 z L1(mS=nfKL{Akd$Zi8@WWaA3 zhVs*`$T8clhpO@X;Yi-$Po{~NX1wIP^F;v7c%`g#K3v0YYp#>Nt+v0tnL2edBIkx{ z)u5Pzvp` Oso+Cw9)2}4DH<_1}M2DOfvqWJipDfiF2?cbC zUM~7^UzTihp|zLaX7S~V+f0wo i}%l>%&S2=J?O- 5v`vlBo&d-@6mlb;249fz%i3XKEMXL|HD%*|6hQlv=~r&hGgA zro?j|B_ #Ox^J60r&s4BhP*e?IXmbzAYiA2XF zLubBW$@A+_`wJr#kKot{%}*!u-;1!YM^-CvKU6b!MlLVCHn@u(X3J@``5BpT2I$N8 z-f1(#H@QqLRBUTJ & lp*QC4N(RVRdmxHv8${I%S{7l0~nk_G^)LK*u z@HHT=w{>(|`;CSFBpgXL1eBa2**=jM6(Q*PzyyG)m^Ao+3?@&ucldZF`N{m_vJ z;(~gHZYYBG_gcolU#9))^+49NYfVF*BI#KdTmFhK Y!h=|`35R%yNjxU2nrbn~81FPN?mt6lP?#Zd!xzJ?-4w8qbX$R=CaV9B?Gtk(uC zvZDSQme&XDL%ed{Ci)(L+0;kDi9S>~p%q^ LC`lhh2Ws_ja)%=#*on+Hndc_mk?B)K7D2|xKM@ea58cVS+dCBiJ+4eqrlGY&9 z#fNPAqOd=Lt7&=p_g{!&lReRz*bmBbPCXyW1BHX#LTmagj=s?$$-;F_uUj6w*K+M? zLwVvbl9|Zz8q7PU9i;qJu&K1_Ro5BIj|${%Dwjfo6pUbh^O#yqrmJO2`gKeFc|K z#!MOm2G%@&6P6ni8_bTnw4wvr#ZV#wk0eO_MS1CpGXm8#{||51dFdz}N +}t5DfAfx>RqV8_UU?kYKW3q zg#=uBe=iP*MLg)==OgikC78-hYq)JT&n%! 2H2<&LL zb{pnQdSNiiWZ7X{{6J>){)9CKh(D v}pAc&DD(Q=ioeo z=}JXZ0@#UjpdonPZ|iT#z!OroZO@02^4hvV>kS37cejC7Y)5_3A}@tFOa$c?sD5%& zhA!oeCI~uaEZq?bCjKaYd8+4b2I#BFA34ZBdx7l_cO7qaIgdPi*U{%5JG{ns8A8Z& z+viyhWUq w5|lOOb4f90+Ix4k&Q{EST)wBIE#@(m2ebSv;-8)k6~iyq zg!#as$=T0Hwt8aK8WwwqG{=4kUkPK(!)LTQ^Gp7r(tM&RcE!KV_f`OBX2pJOs!)9owc zbNAvQHv`^1KJImYgsAwh?EE?Ju{A#F+?qk?)A}f&-{%xOUy!?m=a_7Ae@1yC=@%5F z#u@0z*oq(dm875SE1ktnn7y$<=lf+?8?~N6{qqpeRde(v_P79GhH&=XjNsMuX7~mt z^8a4gFN)znyPI}(%P=0)AZPO5+{j7e`e9PeoAMxN{Cf99dC6VGc984G4ck1V7*|Tx z^~)FiUO3Z#^IkQdab>2mG(7%5+h|Ghp~C=gPG6n8XYSh^me;ith~bEUb{5i$roQD6 z?A1Gf*)0<~>*24m*j{4D>tpoROmvI9+by^QL?pfPDmt*g3Z&UAf_62`k{z_`7JB9T zn{G2;{67r8m*+=SpWVTq3X{*XhJSik010vn+|*ur3Nrz2&&Z?)lRCEAfX`n2&9*w> zj{qD1dfgL%|0w@{Y#WX~%V1;VEoQFtGRN1&x=LC$PUL!``H3?dW}EYaRe{?Z5?hZN zfJG@ptqF-)(dOIG|$5g+q$S&2B&y3*juj>K0c8 z;P!oC{UaeD({-Zz_Mm2U;LSsvU53Z~dBeAzqb!eiN5bkE6G0Qak*%&IgN82}NDT7o zXm;9T+<8gb|6=OO y{6Cmd7g8gbIvn-0i_VX{*Dv= CvbuuEAJu8?Hz)xA-nlQ{l8X @ctiWy{=hQ z&)#`7($|-|xivt24Iw(z%@C-RU;?jxh*|-meuATEd-DWrMa_DZ()%}CNZDt?_ANlM zglTwYi@Wv^R~ROI{bz8IiK+Bb-Yi%s8*TvSe3qTE-AM&PoIP>7)&Zay%WO6xRZuo! zMg#>T<-!x~RIUT5H2%INGwL@zey#J{LYR`Yu~P}r;&L>0lU+tR`nIbD)5$%)Geuy9 z{8uuVs8_qK`*uwpY-d(-%I&(Mt6ubi>8WmXUKn8jA)jnyA$DZZMutrH_tg)%FsFqV zXbBD+LWwos0*WXIjR>diG}|~M0Z#9|P96}e>b(%U0c<5kEf->vW{)DO->|)5|1`TX z0n64<;t<4I)?3G`q7FR!M}7%BO9?1H=GG&ZfU$Kcd(vWxS<}uWK2lMMa=u4+Bz7r+ zZh)VCob6uYPTat-yMV@mAN%)y#$7)H8 xsD3rCyg`P8S;ze2w)GoP?|X&O&;OddcD zJ5|Ui&kF3Phw}PkGD@(;M<=Osb_}wVxA$C8di{F5m-pNaFnyI23*Zntw J~D!DYT&QVIHN+% zI^2; t_A0R-d5DWu~7l0X-7<_31+`WI%6M Ku123;Zym>u4~`25LilE5;Nj-nq$`)v?C{3Ctnp#n zY{f3sOjXb!7M@%`bV#{%ywp(N$_+_VSxbQ$pC_N=h~^ea4(udXJ5{Pu+uI>pTV3X4 ze?(LNo!#!@Bh`rWh|5qhX5NbllU-V;#!DHez@TR*{~seP=0cS3r0UHIwz?^|RnwR5 zK3-B6;^!CbxZP#U)^BbY`DaRbW<`no!(Jb!KZijkxHqT)O*deKw=&OVX_N3Cn;Ws| z*Z*0t^ynWcnGT>>UxM?jrizJtNcVwo!A}erTU+a%2PrgE)Dx#K*0EatL(gS_Rk_rT z*w`OBLL55otNmK`Th=aBx|L{ML u~%1=~0o_N||nLr`ivIR1+NA&6_tRp6In(rKt?` zKH`5F6hm_Up5W+KMtfV014a`wWsNjEEVF)U CEqg+LTE$O;W}A(c@UgK zZ?9)ufH`*hAWNj3jsmVMkG*KD>bGv(N6ju(Z6|oOW-IWOx-+>7&l~t}SB!+77Cs|5 zHCQaX#@DnFw!-72bYIsq8$`+kK^{TtqT_lk>k|;yu16Ot`tsR)#6HXPrEc&`SrX*c zMy%eO`ssM0>xL3$^`m-c =yg;K`wkPV)d+ZF@-o)D?&K`X^O
tyd9d!Q5Vd9l*R^3 zK!12)9_r{eb?j(5W0PCsu3bF~Xje=339l&7418>GXE^E8o6wA=r(EK|(#?j=3Qra8 z`@a9o)+}u#RwydUGu{qCKB^WNEb#ls`8L!$gZ-+6b&B}S38@2`@zKvs7C)cNy0ZhE zxLS7$p3KBO3GldmmYF}3$!O57iU& tL{a_CMwwfp%;?_#%X{9ovm%*n?ewTRod zY5}Yma5T9S4_i_Z)@#%}E8fR7y>e6Fj+#~jei^v3UQhMJjB@j5{-;%NJ6DZWS;%+B zNF@~gm7g)TAzyKSA|N;D{x!ySbG>=v8eH epVm+AIB;QEk+RHwT8-KOt**E+Xl90P^J0u%N(MxFkrsvWW3w*GB!srL;l ^RBHH5qr5ww& ze$TUKetZY`s)GX5dSX 7P-Yz?s8AEk#7 >c;3oZce1f3=nmZ|PN{#mx6fBn_ CBx)506_o7DsL#g>7;OD@ ^jObD{QU8+e)0wt<3^UeEX_IU7W`r_ zxeAz205gj^WDgot7ps77kLm*!-Bk7gYl7)MK!cre(#v>BBG^@AM|Y*kelIg8OCT8C z2OAaF@K6D6J6g?njY9C|zI9{1`P+nqaJ&TzFU8K)mOht#phH>O7BI^TmBRG#M!p9{ z%rCJ!H^wVnK3Z32LMgxh($caea~OAJR4bW6O6|X=zo9w-2}Ra20pm>y{ujO6nBNxp zb3@mQxY4DJbIHyXMJZ-sZB>5Id$4yTn_r(g$>iQG7Za(`c<45;HgK-LQfk^q{fpeF zc$*M}|2b^zf}=IQG2|1g99zma+e7g?xl9k0@Z~S-3ZUe~Z9QvYQ$FlD%M{;}h4Hvt z*hd!Sw_TUt+Q@kCZxGEUVo5N4z9*-I7})rhw}BiNHXH+OJHR!wkMxT4d_Lo6WY;Ep z+|1|K_rnbh4>QE1m-s^IDKYASkv0;^<->K_l9>&1D;NSy)-SY5H+!B$fKA`6s4SYj zI{CMUr(EpG4wauSJ6Es|gCoWNm1>oAE#~D~Zkox9Xbu^ZGjHrFEhV}WdgC`NB2$M7 zV)sj(z4(yO|132qF}|S*Oe4TqWhhoC?SLZwN!N<#Zn hycvJu%k`|}(|8PR>S!VSV_e5zc*b{=Q@^~5CXGINmA>!8+cotl0& ztmu&eM`N)@1Lcq%{&zL?LP_&Th&q>6@CwZ(9gpS#uun292v3Ou`n%f$O1lbq4ib-Q zGPO%ffAmOTLUH5kkp{bbbF+60BdS|It#@007uUN?I48*5{1}MvRsNe!(V70n4DQIX z)=ZaI1OJnKv`ucDJqR uO?S|Gt#pCbr^dIw?k>t;g#P9{#fkZ!~^n=GG#J?D|6CBSu zj>?!AZ+8=~I+Ru$O04U3tp3rQAuzVHzgzkDSi7^Itdr1<8XBCy)V<>O(B=YER#K>} zQ=G 8t2nXJ zp^zUtt!ac%-iKkHR_B+ L%ZPFzF zSsT<+5i}Tn9*=iy*dJHhIC{e;i~CRkRT3Ck{?kl0Y~j|%ktrfzuv+?59TGDJf2OHj zv_AEB8oeHbKYW{5)}Q)>o@vTdguEwOCjmW=z;s!!(>CidOy^4oSSV}A?io$3I)Q}m zIvKcGQkSJ}`T}_n{jA7DqsX1hv?Yx-2Uy#yWFbsGkJ@xMaq*w6&1X+Q)z=ZV3u-I$ zbcKZVCN6Oj=#qx)Txs+wOW13)1mNf|U*2jzo+ tg12m$U0WJ_RdpIh;bqm)u>Y;*t zMG`Gzjgquhf3G{}<4W5%H|%;;Lxp`VK> >lUXNF@~n4{ z+j@Ty$*F5=L?8BZxoivM74#1SsG0!8501#hS!ZtGqc`j1L7FPtqZZ#qC{u*O1% r-{U++@vx|kteVKt?Ulw9Z?pnPO;i;g32VECh(`ba++sItN5w~aV zt&7z(xA_d{>L+qGELM#|kv0A|;A46 lAL$l7*Z$ry%v)R7aEV zCo4SjZi-Sjjw`g@+}rZM>-&j^6EWU+odlFg*;3NfV4t8iY^fjwaRHLG`2C3}SYClu zrL-S~nCj1*7)%P-?wOgeToXj@&^oD<)$0_Ri-=R8e{kE<9@_;h(_e?hm3JK}!a=yN z1zWTj-&onLlcREbW5DHa6KfTJE1jv3Dpfq~DUtGWmkfVcN(kQG{N*(Ljius(+!=sB zdZ{KzkqLj(=1 -vgA|L9dwpVd?QmU1eoVnAB%E) z%=zX%&^&Ja1X#z0{RcRlc?yiP9!)}#mn~#$_S%!B#1OO*m7RMP8oFQy9}TTK|$^ zq~{Jn7xV8~Tki3N+&_b}DVcoTQU>k(-~l4$niK8}LaeM5BKH -|KB}v ;95bLC#FK7=4+P6jE6FygFEp6;BOJ4g2G$ zg52mNMs;myLeI|Ss!Y0%P&^$wCvJ;lSg1d6`W~*8R$5x}*Q9QGdpPP1h~HA(3u(;0 z|NbmcztBJi2(W~OoSSGYTemHldwr^qrFg?}(HWK-G6JT*vhl=K0|p_N-FvrB;0}}+ z)WaP?Gg)BX#w5u*`H6t=QTnA-b``<}2g11E8qfh=*wdFar!Vkr<-IumWP7dc`_bm- zOP++K_ZT@o+NMbP82`F^usI!r6@567mUB8^K#Zcc&4FlY_?h*0y7TkYY>5D7)lKbY z#9sp*3n!e2^G7~w@(T?b0wK*W0DNdo+?N6Hk*;9$)I8&?>9V{7<*DugV>GN)MMHZW zCa=*x2r6Ll6wFA2H>2Z%qmF4tKrBdL;_w5grw8)b78CQ7({;(iyz($xo4D1kX~4UB z&wScBYmGoxjUp-0KGd42Q<1}A*5x)8;R(;7MEH)Lgm=*?$-q-QtO5m-m69-qTrY2} zJjX+FACP0-r|}uj>!!zvKSV;Ze)lc%*{wg=ew)6Rm5B&QwDYrrfmps3N{DhJ+Rv~C z2!NC1T=Kf3OG@t#Ink(f(XrIQ|8=H|?@_zy*w?2JYO-*Fms5PM-(8PGW&TO w9VJ4^ zu-_mzp~xoZt=%pt>wq{XcE&W!vJL|I85jwT58g|%7=R)3lPyo4IQqtx6h_{@ =o}Nb&khjX` z&xF-{%fYsD$|(Q4DP5ayPZy102Tw!+NNL`rD9dqx7~o@N Lc2{STH?>} zWD~@5AXIIY6TKImwHb96Zx?A03owyN(? Y>{HsAV*ZvuvlNf> vebNA_r!x6p2H-z&VzFjHyZ%oUr73VexMYOE^T2;^ZKU-V?b;~&BR|Xx zZ@5~_0f8(DI(*_Qr2Sk(YW^S>VBwiMXTH8%N(9vjndpTsd Qb&K`})1r&V@vibDvz6F%NzFYVU<=$a+mJ}=|z&-IU`_447q zZoI6&7kNq1D3l%O;Bvx6#O#eN<<~6jddU?2bUODQj56A5VTJ0;^H3z643zkZQ(!E~ zx7Wy?LivE`B-hlbC^j?^$S3&>Y& dv_hW2X__D#feWVIrXsQ UiN5|1dECO) zS8`vB`8V-bXIui2WocJJP77ZK{>=!@R%(#k84#f48{9*b1Z6xs!3<~_Y;J! OWq0jay|`Mx1lc+j^B9^%lwIaX=3 z=dU@d+r-02YoOm4ve9S= D^>#^GeNb|i z?PpPCP>(gs1V7n}+zzo#9q_U?{tyCd1hS<4FW(4Ke;9XfD(7jMOr>M(#-I=0?Z-dw zaUE~iJ!?JTFjJmXKqr@GVfJBp>Yp<370JEh8-~ZBLp&1tR>D=P%TCkNngUW6FLw7` z-u%voG+PQDz$WGBI0dX}WSe$9#m;{a?uaC8s^3fwx>(rxd@+x?TDr&=Z1hoiMB%-% zA$+?(wx`$CZ*`{edmk R^YHXzI`w`I&zuZn2A^ocZ*{HybyAVN%~v$JBotphp*ETpwB;how#E3p z(*?r2n5#w^zwikQ87E-%XFl$hrT2wC-$D;MiE7Pb#o_1GmGQ8}I$ IpxJ{*zO9ox)xg?ks5R6V2 zjPNp-`l>jk`>O=IvtyB yopyFe z{?hY77qrg>??PTNV1sI1wT+Q7Tbj=hCA)#9XPJX*xkvCjX)*jW! +u<0Ui(MRs>vu wd>lS{j4`rOc%{*P&(s%NG(TqCpn9unJ zE=0aA$jl_Hi!XJTyGcsb+TH4Tdmu%X3yTwIXdJzwKOlu?co;J|W+eU;tAz@$T$s^~ z+l64QZtI;-8G|A7`br&sfBTkMzyBr2yD}6@3v9WLre_xi(W|6)^QK^IL#3v>n6?&p zghp3g=@b+>)CU3MQGMI#>1DzDU5k7>p}C#U_^>ZgHm^tgnPm8r;jTZG3aS6#!Z2G4 zJa=b^OE4Lt`_4n54J4=;u;?dcfnZv*E7bQ8m`GM7jEM|B$;b@6I(jqI^mPkKqcW%_ zI)K4KD60L2F;1T5IBvIa -vu(zz_raW);BTzqSCP!d4_e)OChxedeL4t+HR zn=j$@H^ga5({r{s0g#8_x|hx0HEb9yk>#Z~T-NbDw5%}ij$L<|qRslRx9^`#52k;1 zR{`0w$4BUIoFoTsQ?`A?i};ACYk`_IK6$w^h-QTsG+cNU={RuO4xA|+>xO)?QiMIg zn6YSkDDr_~#bOxwH`PVD I7nF&p(vGP!GirVu)7G@H4uVVxtH2ic_XQ3v(s4|RSkA0 zH!jP5nH?R{7a7VvQ+ngo6vsdLcbPY{kDb|Qj_rkHnw>A=a**o^0t2KK%D$CN%G%4K z7$i5xWrdI|_vP%r>0RCO(^7wnx07LcpUJAQJW^>OZObLL@q?p%X}R(?>jQCHx5H9q zom`sZc$tBv&Ui7GS*KwtyC+c@H%%t~T&iI%VlOy*o-eQMkAO~9#!-D|Fy`ADd>$kY zUtz7YXrn%iV%{F33FNKcd#^8J9CCn&C1-oe7p{cx1?~%hyz3DX9GS7F##Pf!qtIDb zTX0K00zm=y1W0!x(^S?ksXxG2Ubsb`8xQz-?^Vh9=^xe&nS18%pEQ{0gX__9{QT)7 zt4r;7QFupDf@@HcbH$=^@ruqB<7dAb-RhrG9*wh9P+agblosQ{dJkKdg8&e!6qXj& z?-`ibWFoQz+AweQ>XS}dsq @9UbDr?vW_7*sEnKDkA{H8o zfJnkkEQX9|mNKy5C)?-Aq~59DG(K};ht-~BCV$l@u6Jz8nK#g=W#>Vvm)h=Wwi0Nn zXSzt9eSk+XBt0~IA* P?p~wcGE4H>5%hmjb)>-)=s8>csUA zBUVRT$GlG#&V?y`d86TzYd_d-=3}H$_-K5mNc;0z5X4LI^|LA)iO5vtmtI1Hy??)) zLMYB}TSl!pv_1h;=8=?!FkcjDi7X7NUv`OI++-2X;^CdasU}t$pjd$hDL1yDA>=8? zrqerT#a36*jD|^$lkgp ^S;;}MR&V5k-&O(xZIY^* znJliqR)X!ZY%!`=jw)s@L{LF&Jl$%^0F4^4ciR3C4~uhKk$ViK&ALO@;6ck(&7} zbUdrj{dFg0DY>P>uYG>y#kE46a-~{(0_yF6vud~Oe=itWIA4gFY5X|Tcva8ha!|f| z;^}<%H#*?YAp`>|RQws{EOw{mElfbg&@UPW+o32sQt1A&2#UO$(mNsHx6_C2P=&L) z+qJPvFyvQKr!i dtAyP0RrqJ;~xdl)OZk}98Zj( zCZzYsl3bJt^TWdjR;5AjSg*!>*}nq*6!q;M|0Sdz#M&bGEWR{mWN~A!*XRP4o+Ui} zd+ksuGFHWuKqBWYDs#cVK?Ao-+JS(IAA8p^Z|bYTDcg$4Jt}^&J0!@b$Vo{FaalcJ z(Qdj+H%o-w&}&j?`ArL5uyR#NyuiDq_doZW-162-LZi~_Cl$=(wY+xOti&nH0e(T2 zg|(dz;=irAi$-$QsFA6bWS^eRvHY1G(VBJ7EQugMW;hWU1$Q&w{2^~AdF+s6#kt+& z?vHO7^O0-4K)iV4i=GpDe?c80WHi$9*WSa7il&q;nl7N@dk@#myC*-dxg@3}?AmdG z9IfHiB~-uI`y+frUmPp|CI#TuAX$^O& CJ}E&D$B&G2&_3%wx4v5>qvcowa$8SpN@jneAB6vqsM)B)3D_8CoM z)9MgSzJZ~yX#a@x#vQxqsYv1l?xleIB930V*#FLGq0)>~dOP!&L@6*n!&slO7lTZQ z=ed_cN`s!82RCF?hXT1CIId+ZW_P4`ID$gmn}0%fS )Nk`&&qhza7ep z?_I|$eM7-5=lqL?Rv+VS%fhSsxhFjgEeURwkgrMI9iKntOFPvPKJ}ugA$3Jfap>xH z4F1N@kxhv2RRMEk ue)^gG;zX 2X;KS%;=SlC+1mwA8aJoZe1FmuMkDm_5{I9 zJk%o0t*TXqeSRg%1u0s+ijv*uR*i!QIyE4Lt=!nD&$j)Ik_rAvQTlFKr{O;j7pY$j zJw_$T2v~<1ZF08qaSmA*gfge_UrPO{3_Sb*Ms|d@ug$lCmTcFwQ@4?=@ uKB_@baG&`d{&( zcKn 523BcH?f7OW z(j-L?tUY$Pr=^h0py{SM!neMM0}Y#X!x>Pd(fxSgeXi&RFsv>79RVg;{o*L`2D8Da zs3|t7jeT)4AkI#X|FZj8_W1SgoW`uCZacjT-9q8hsZ0xrTV7jot@Vb-MLhm=@1gkQ zL-tN!QD4*uovYO268l^lBJ&s+i8O(cDDd^kE|srCkSyrzN11xwqL!yB54F#IJ#mA% z-ra<0U+D7(K|5*d4Yt=D>oxGAGp<@lkr@HOEk`rOu+vHpI&yzw9Pp-l$%F#fx{u-| zA$8WqM`F;s*%s{q^`K8@!Rm*~>dx%RAVgmd`iw%qXjn? 2 zA1-a=2m*9U`J5wvSij9zw9 MEiutZ_mLId#Up_p2AyQfE zRK(b&SNN-Ua%S#~Cg(INjw2SrYkc}IBdRX(23$bZ>2*?`Vbt<3t&`y$HN9aH&|3_} zG5K&)3V-Zd_RpRk45_p5;(QI2csozi@# @nh-8UL?q*ce)^Wzn2s?`qQ;!z<4t>tNlPaSgvGu zrG<)Pq(B=&6jh+1EP^%Rcuge@;$h+G;ZF$;=A6;)Avs9WHz2&&mL6apYLSdzQ6OBs zTe-7tswjY*+S0x_MwJ~NgSmDLN8pDy*3erPPbF2(bE|DD@GJbcFH@t3UUD|*zSW^j zN8m#<8{N4)8)Sy^-vop#TJ$D+O$Qp^oy1_pR;NFV XL0xH1Hi=6+RWwe}B3SMdP@|X~ESnk(k!JdsYP;J&@sdl1R z!oxi~TieKU3EVyzA8|>2EAc(nW(Ke}%SE1>;}c#KaqCNr#ziP})n=gplX=Mx%YxpN z;J9g=GV0N9^HF!aL&2{%&o6AhpVwngOCW4`i&;3m2dAg@F5JC{X#j`ito}52f=Myw zCoT!Mnp=dD^q;&NnX1*^y>bRR)DL7pk=(^UqB;3)whfAbawJ3;93k9&${}@=q*G&k z=Q#*{ym}ki=Fc?>GT7b_!>{mXjqT4@{52MHeCp~DMj{y;(W`y3sNi+|I>@VfI_8%< zx_(Sfz-sm_U(pbIne!MFlGUPZ#%cH^)^)|dx84dJ*NY!8w2C54Le!&Vf)mS=;_o|} zbSC_~Sz20j%pNy1mAOB5+BX>08U#YTyh<4XHkz3QyFb_YTd#`~JfS;(>>BTu)Y1?h z{n1h1YsRcEauPPho7OaO8ue=G;Hzih;kk-=T_pY3;%S{U)w9Tj9xW?6lmh?_wjs6K zC3Q2Oyw=y%t;SkD;U67m>-x{&wAk2htFNa%|H-R2X!m*#k-qfX$3ci}rza9@D+Q{~ zl>t^ed`AK3Lxte}uj(04tdYR>Z|kVv#pWl)`4sepoO*}@&e!h`b`#wUKW C( za%|uNYq{|wF5G2n 7pAUEjZGI`r=B$yW^KQ9vwd2r&5%@Tcl2TVE- z4ji@Ex`Z`(?5J~~JOPBlnYjeh{p!UYJho=qetX;lxo(Te*(s|50cq0cRXbTqsc$U0 ztL-6_0`GhU3yGAIbv!rvG0r-L3`5diqKrBWwXh;H`-yMC8I;j`qnl7RcKHwL%kRmn zB@csy;qiQ#+okqpy9Q baJB=>hN4ncsA}hVL7;lTttvP>H8+@Y?;m34o|B5nNHD z;>m{Qw_9{jE+91<*;O6$t6`A;!Y6r`WaElA19=FqHC_ET2tTZhN0Ux^R7o-Lv)i8P zHFGs^9QzQ@w(Q?f&r(O`)$cNP)8tD_D{P+SCp5kqkYjtj*+P2YPu=2li2hYp!aX+d z#JE
kc?I1wv@U_%e^K*~pcKoO6Th1NccB}A*c!I&C!a{hu!n6M V z82Tdu?Rd4z?rcRJD&9BU(AqutTiHnj)$M)j#EV*#>}vBpw}~>n&Sk!RTEvNY7;;2j z#PZWw>IsYwFw9poxlzkJYqP8ND4dNa=}`|u2DtQV5Oa2MYUVM$N)q9C*cARrkM-gy z8`972P4);KpTP(Z@XJRgP6%z+f9VRyXnuI53UwJb@jh{Hh&~u1)bRm+w!$;Z$7)QC zICvKs{0iQij+H%WUgBNU4PHdmaMH)e8`49_jY&-swZhy=y-~6P9Vf-8T{K_H7o=;j zj2d!hn&Q03GE%NXi18x1@C*`k7OYf-y#& ;U>q2<&i$<%nhzS=< zid~b%H`BmU^nnG7s=x(nVsgV~;YGg>-D 9vMElifr|9bhMYh&O;LKNw8M*1tcxU9{wJd)5&daT3Ad J9osHeKlZGeWB=?|+*)Jv3kXd50z$ zMysg&(EMlPxrdy4e Q3OUqsPQbnYviM;HJFSnnZ7s zQI(oWN#l&p%qj~hsg+Vm`C!<+n(Vw=tDoc|xN9jv{L=?*Z+Fq_*bM5WZn*45gSiO# zy}&lat-Ri+mE@$3$5Wp7P|!SRuLVim$_IzMqF(kWU~r#*Yn~;UvRr2gFo$RV|GS-= z`F6koR=qCcwbTNaxj;BrOdT1*lS=$pS{`nqj}(u&9)wud>l2t`L?OzOe@27GbA4fl z)dCNp@uMbg_1#ME%!%U_CXRySIg`i={utc-zFTSaX;5TSGG>&gr^Atjm4vAL=+?6w zT$`y_RQkyYt>N_i;iI93IhKmEqb^?qFM;3Wq^||mj2u~EXA%KxKgYhTbMYykmbEBJ za-XH2<@=AFO(+FN)cQ*vwsa x-$8K2HK@VN4YuOgf!bJ>F2|XLQ9XnclhPoWsG@Q^FBv^y 8TIF2hUe>%pdntym0}+`O6gOkvy>=<1;TcE(ZE^l&aiC @+9TC8K_x7&NDu8I9xcHtFh)6bE`^>NWCbn%4h;E=S7QBa`8Wdm!Zfow z+tOO}vaMS$lTKPwvrq_l)n@Yes%q?FAStY*GrhNr7Vr+Eq`xX+B8h>XzlQNrMEN_Y z362yo{a&+e5Zb9Tzvua8RyR4@i=uyKJo(QMO*Nh0gOtDjbbC#Su{POCZz~P;Rbu!W z`lxo4Ex(O5_Yn+M=6K_4qvz&BzrF|1{Y=Q h6oCBhyO#WhjTG zGj_hhYV_{%+c(ds-)Z8si1o~Ev6!a8E}wi)* XGBpm8IX zWX%_cQ=xUhbYi<3e$pl?;8*P%%Jwa-=eFsKvz&S9lXpHQ=1_9(M`{Oj|I>-SKBN%k zKi&^0MgCMz!R;J}Tm{O%D=C8h2@ti76v$WJhhoboEY%o#BkJ@^BXwJb7cY9PFI9Lg z2~9u>I0-ZtuO-%Q`{?@@3ZdJp8}i^D5Z*}uYp2oy0E^Rx*a?owIAZcGBv!@-**IT2 zW?!T78bFijkN>~uIomIT73LSE#7-ymSu4RH?k{JB-{T7wx{1S62d5?L7r)%Ucu`yZ z$awkUVTQ%7O= +NBmKKW*z~YiYy%KGE`9<5Z>MYg*&e19qL^tlZFY}2+C}TiaEXy^wJ@r8L9^=$-qL}wxS8Q?Z-p9hCRs`^@56-J!GP~hfM5f{DseHBBfT_8@{U1ercqt z6rTVR4Hmp*DD}F*sOnYJciWoRk*YKsudTLU`!fQ%b_sPMZ_AFM;VpfQ5wOMy;yZs| z^_?BYcJ3i##3d(UA!(a+j8Q}~8T02*LR)LXdK+kFeStCpGqndkz!vrcYu?wY y#c}-_8RX50N2Moa=&(`hbG` kFPjRHlwP7!DZ(+R*6nsF(vX$k82&bbA3W` z(^>_mZg%e$?aH>VNjsOPn?%$iqu^b`Z2&4-N9m4+6deeuw7hurN#}{WM(x(Bl5R=? z!QQJ?m-!{=p!rL)yCiA6U(t}AJAX`z;{=bLHHbjqVzUiakeyV%&{K$aH_KD)sg}I5 za;3SLN+M7X_}2gOTc{6 zP#|WxnwJN?I*&uchjRQ=V4*=~DNuo|md-HD!ADC{4!ix0R~adm!%eyuV+!Ao<@0s| zEhl8rC6zSBIv(xBAW5mOT!Armtgm4s`Xo5(DZ(==&HRKdVA9waP{^$M#-i1nbqX}< zIVala!|xV322tB>t5!9*szCih^%=hwx4>^9rNzArO-p@fSzV+49|-Hy=-T9OU8DCM{T&dfs15`Ayx17ip z*GNl#Qgi&XY1d-lY19S~t>zEdF6S0;NO^c Jzb^$cbK5r#3!J700ElngvDh| z|1y=&z+L&b3q3-0cWcw%KW +fNL{;#SguGHTS zC{$wXW Jz_h?0l|Gz8XYAx v10(rQOh4A*2&9(ql04BM0qL)Q6s8$tux5gG4# z+YFt_7l)9yM&8o7k3kK(iZOX{rDdrTezDimNT{vp6<^`5;;L7t@Z9}Aop&&4W0_mG zxl3WQ<7{J%d>DF42GbwoN^$p95?DBw_+%u+Kseh@yPAoo)mmk&`QIy?`yilNGWQCo zRmW@ol- CV@3hOy~Z=fbx-7(17H9h#lY9$8@&Dskc*>K?~%E zMe80U@#>E0!7^!z)Dxyi%(-in(mCmUg8^<#Z*w+?b<-x#43IGrK+>D#q4F6r+E&uz zvKUXJz!36YvshPcz1TV8l5kUj^iF>Z_MV>Vb|*ilJ36>+-I`}Psmdd$HLHQeJ-xCp z7Vfhf6e{b&e85U zn6u^ow1sRxGZe2+_b ztB#f1Z!gHHKW+Cb$WR{4j=Eo3%95-49>zHiHWnf1j}52y_6!dL?N_he8q}Vz>hI @KJp!PS1rn&w;W6>`u}`!d)#PWmQszEjm{I!sO@z zYlwPX>qPHhv8K`4*Zf{JRrN-WoVJ;!4KosZ7pU5RQwV81 = zcEJ%RtRmxq1FGpTr~DlW=ue8ZTz9xXubOW`(6+Jh`=AZ}vx~fx^{tLqf_w04gd@od zTUi?-{KJAU_tkG8XZl0_wk%ucf#vP0)o;vDR9InwW59qdI_ye_xM!4evLE-g6zFAv zT|1Q@o7=eh^4_p@ay o#9cK z>h;^OVXts*<+CxDTazpj+be+M)D`9|)FIYI#!3<+q!hjd(V|vzQj8MO~;2e~&%L z6v-chA0(<_nr#gqKWIK-9o_<%W*5m*cRLlgI?kVUtP>t}AEY
z3M&zU=(7JUXU1!9`hOOeQ;;#=P5cR$JRcm338W8u@phha1RTTqo%+hZ3nlAQ 7T*->%LB-$2*#TiG%5#4`*|5(+(xgqLE z_v@nx#tgA!)f-RQ%}w^`^471UQrCWgHBH8$k>KZfExLilzqSlHGmv&bX4>+<#hYW? zeZPlu7Rzm^rTKY52NVNC`06q*3qmQSQ_2HZi@uFhe7>qE3dKdG?|!fI#z`jsymlG! zmsxR{`|(d|zFqN0VFMOI&r`#|aUAWMAsuq!G@I}?TTEn-NJFk4;@ WepXJ9=${8nLOzEJWWD(?=V5pppx)JBA5N~!(EQg4776%*+bOk%~Zc1 z=8#6KpH6a5O#%5nO3r_iT!bzbIO$nO7W>|l?cSt9UjxuHWIxI &S_ zes$)UmPQ^>-FmJDdv|>qr1z1%=O?X2hg6ovW(qJ^(~`!`n3?%Vmb_t%YR#W-n1F!- zrRvE~UfpiU{Fz_S%(Exsb2_!QbVnPEye2h~kKGK-Ozto%YcF=1uLdB;T1hT1a!B;+ z;68M$j_OuhY1GFyaK2#m$0oO}z&kl8@{L73B?F@JpK(au#rVE3yjph&x$80;sOV+M zzWnPub!-QUd}!OGWc7FHKfklzz#7O*!Ja8w{)ka8x5O}WOUrA5ewxN|&h)Hh1Z8#B zXVAHKPe^rq(T)P&q$#&fO1GVnpXlJf-Unta9eY^+zq?G&47$b;^2k{uqyR?cFu2^6 zN=h@wH(Ma$?>rKMtQ9)o!pxWF`)AzmdSQ|~X^nsN{IkN016*Dkv%WJK^FAnjQu|d2 zr!XY;?a|LP9&qWVRv@EKJ8ezcalpG@3Zbh-NYiCSr^1jDg8?0n<8GYA6z3Jv&H&Ie zLD~=K)|Wz=%|3aX7VT>n-K(GZWWIM@O>Y4?4wTVHK+bz6pQ{st_tXmVtfq+JEctN5 zPx(sS#HBklT NVKi}W?@%a5QhlknNuIqZgUeDL_K&h_ZcjC-mzonMn$7s}cTGYiYOkukZ z_Bm3mzcXWN&tL@R<2cU#DhM||kUyX;TW!2p26>AK@0AE9$8{FRX1`HTj(X-ANvn1n z1E8j7G?7)1pnOVmc7xP0y)Q}o;R@oJQ*Cu$SJ?feo%p1g>V}#?J+b!e#)k1Xhm**< z`f}QfEa90-FE!=m$W>v9Ysb@7)!hFFl6@6{iQJ}D_g!zavPO;ai&Ukp%NwZZ)0dou ze zRYbEJI5P|V=s#H)Si^d9aNP~sDF_Vw@;V)p>O16H}=q{9) +hpS~DNj2?E952s5r4a7(J-J+cIlcacLN!!`zVzN_h~?@KRk`QTUH4dE ze)(=eZE~Rb{q&w-02MeBrdyzZYuMZP&rim @P4Wth|tlG zOY&fw=FSLn{=b*m^yj7$fARip6gRRSxXf}sUg1VqF9}wn`A8YVNR}7Ak9j*)=nj-D z9~k}gR)6ZG^wjzez}M@UZ~C1T>&gb%;?gg%l1-_i)2f);0)U}~k&9IG3=Vtpj4gX+ za65UH+mHC`s^t<+ed?I;`0y3)(RH( zq~z$bNi27ZOq3y2aFCqXuG?t(ve(|=LHRznOH$m(Nz^fBR2Mz3yTc1$aUDyN%HGPo zk>%FfIfsWr?9*x^4c<%oPn0EMdaayEK|Ku_TjFtGYP9lACAZ*f%VGdKx_lLjHCe znBzE+bQ@xkPfEkopM08n`$QISy|XLaT#7{$WWzhX^7Jgs=Y?)KO)5jU{)10aT%ztT zLLHIboJT=~@}xp0_!s63vaB{M-m(I|ObV@%wv?q1{({87)XhoN=5M#wZ@`8`xei zxBxk0Dc^`48hJ;myxk!5WRmJ=gxL)PU^rUa`gY4T@!3Ixv?%KQm?6jjlwW+)hu-|I za$4PQzq|IJnxS~kvB+XREm?fIo{@v|NDUjg{c-m1|A9j2E1FzS#{7kfG4P25@{`;p z%hT><=*%rkLtui|z4YDC5bKWvI>WHCr3MZYrCp2T;5TV~J`A36AGT;Ih8xZRhW5)% zp1T#!$}>(CZ`ExD*3w(s>&NpFa`Z#9EbLIv&HBJk>a&l-kMs>#Xk+jE2B2(4?Kf3g zD?*RV!Ff|8;rJx~tjSjFX$r|Y u?!d$5&c}EOv7}pPO zyv)kl6+m1I0XXaToqzhzkP_1;=^?jhCei8=N=Mt%EHRj%SRHzo>(`XMunV!SfD;dJ zBo*G-3@;D8;}_A5>7Fy^zU@#|jg?<{-RQnqz^7MBE_})YLC}cr(zU|RY9`k*3sa<< z>m%=SjzNXW_5NH&wW~{{qsdL+*R2hmRuH4Olu87TVOaO+aWw-C;O+tTD;vPniKo_K z^LNg4OpAT?Me$*%y4u&$%kv|48-;*tyWS_v^#58Sm($f#$o)moH{|#d@ 5;aA1!XvvX;m8^RaH&c@7NP4e(ao!wUyGIQbQ7mso_xnbaa%E+C#_i%D-?8IqSYZ z_`{r+OMt2&$BFaOdw^IR`%=TUGpZKXU1oG5PmbSe>N1+b7|Fa$I53Zn)rJnpJ<-3H zr$1>0_*dL|3*@b; Wqcxkc5`?i{aM kxn~CASOl)VE&>kA`^Dzw4}yo{;yM8$fa^*)iM!?pd4_2w*WX|NUFOmJS0nes zZaBG6{hh4 dXQz?~Ue8st?I-_c$9mAN{`e8Q@>{I2 z-Xir}bK8Q!%{O10|C*GaQ*@C1>9nZZB_3}$ms#;A5bmhC9s1%nAo*)O;|-CGb2du$ zT2^F~^K??2jXETRGRl@WiAj!E3MSo-k2cQk)y2iPGPUp>gkAafWt2ay-T|C2yZP)D z?=m0~Blctd=FMydef>E8*gc950I%OEtB$Ju^Fnvz+#0?!5j7{OVm+>YlZ>Sv^Br@; zM57gR5s)75ltn+ae&eft!ueH&n$RYS_x$SA ~JYSrTwfNqzBjc*cf{S~E{Dh2vPTlAFbi *jd0MmYxjemq+#Jppy@5oI#3}s;?c3NX*(``nT zAnYyb(v)s=PV0$@i&Ioq?otYkzAl<%2y?L;c*JdxzZch9dNNOCGX q}tRt#j-(A@<7BgtsK0LOP><;jbyvP~jwbD3*J zoe7Y&*1(=tKcK{hY}ny6W_TvxKO+?}cA^h xt`SH~cS1{k=ym z?`YKaA+`DZ(E~eQt VF}SB?j|M$fb43$*pXumw(AN_nd^u3JWP~!=uOHR$|V%! zB~-9{%E=8?68DoB_Zp>wJ{*uzUU*o9rtw*ZbNlW$ZBqj+V3o%neA!|P7CFa`E!VyD zPtneHtD3dfFcs{uRE#>2P(VWOT=G|vcE1i!&bP_P_m%EnbyDdKSs~q}e=0kyG*iwo zz8n?uvjqhvb!Xa61Kh!`8``~TfKwknQsbUp-}iPS*QJMu!;Su*N&n3fNE(hAr9kKV z_);%ZF9FYKP|m_u&HeyFcsTD~YVT#d94s`>g92V8&By_{8!Hq2!Iio4?q3I}>G^1O zCS~8~sH3}qiU(Zdq*9+-_e8mW-G1nA#g z-NM!rS6g7UDu9l%m`~b}<@#VcR% !q2gtrkiA`%(=M+}!j1Syml0nd>#X7zQ(r54{qvev97;-0Ny5^_pebS!7+Y zcCt-wVAu)uSQqG6`B|h!RoV5!cS+f!u9S-d;=!r76@o7u1)KC&IGH1O(LPo5TU5ZS z(4Ovl<)rJuy%G8iQ*GmDYYJ?LNtip?w%Po~;p`Mlqqko*!}!~Ymcr(kbT{({WPoZ{ zTUso!6ENjVYPi}%(tzrW*P&&T9s9ZyQJw3mS`tpwdQbZoho>5D43;YDNuIri)huWa zkE3Yro9X%3bBfl0|E*^7E z)rQ<>fICJqjuS??N&(T+XxptV3l1eX#1b9F1u zaMAKTN|=pn^=t>i8zXmSMj&1tWWR#oiWQtt$a3a>t$n-lHyk|B`li;81=Si`D?ECI z4>O21fEFc#qQix|bdv3gnd)*F{IheV0*!W$-4*@&IomqEw@U}vJ4z*_wQe(kixLBp z6WSA%Ksj5>c%B4axk@+tMO8I9Y@>BP;mp+E@UIX=GkiwOR0 +F% ;s-isul`QU37Nf%UvG|Df!_-$>`lrJ^G~BahwGtXE3gzA4u1K> zLA~%@%)BTz@=U6d1UtQb8SU{QV{Q-ra@$AD3bd^;z}aUa$&ko7CuP8`{}VzFoyM R4AI35}pFcySi;mBBn&X>_3sa5+3cpA0m?yQ`@XCQ_-QN z=%cBKwpN*o%ff~kcRIXY4=bR}I7@G#6k98>*z+wOSb-@wgW}1T?bN%ik(QK*Bu*7= zY<6Vewo)vqu^@dCTQ|iy&~|JJR(tK}Z3@3Tk>C&N2sE4==q>Q6=e0ic#HhqUFf_1f z=}qRRWQQKBAVhq7 fQ|B<6iIF#@IX!-7HR5Vpc?4e-P|Gw1n+k zg7?%kJpG`>;xVI z4m^fOLqwhU$ r>_+nF|gLk29asc{#&sgfY$@`P3ul@RVq|ik(u8U zxcJ0qzHKqf;4#+UZNgo;NO81FM!q4sJ#USgyAm-%C4ViB75>werd_}|Uo @mJFQBbor2SxqpVMY#2GJKwb!ZSae6Lz*#BaV@j9hMWb-jfQ(p! zkZ vEd$*;;O z&RoF0V&iNaXIRjF^FeUu`wXDiTn5sLvX?&=obO9faR;23Y95upEA#~{^`5kl9QE*& zwf3;0HTfMEjg6BY7~Q;g+d75P>5aBAx|KCel0R*FPA};XPxRba*}b^>TM6VK5?k+a z?}nmxG-YHUdW+O?s{QeMyqCVmAz)TnFBdgR7<>fKqEg6RE;&F)wll1n4+Mj?1_v>1 zofVC5aR|l(yTO8H6p|e(dhx;uq3y}Jg{40}Z3A0~RdGc1WQDAN?U}Nl01Nn6dgnpZ z(?eqme*q>3AeARPVJ|g!lD=ucbX(2H0$ uXU6@g(_Na`cC|xNIZtKg)DY zi_<4Yvkf(&Q8Xj+G=pdDwMht@DC)8Y(ceC(ckM2)Mv@Ui0{FFl(|9ky5{MKNYkP{K zx*;+J?@Dj0^M)Y;C`(d28QM(~&m{t^lg00zyh<=4U-;b`;ikL^T!wq1>A0>0L|)@! zIIYz$jUdP-yi1N`?I*{pY~Bc*Yug=8gym`?*id*Xe8kJxp&uOPP7G}XadSaYR?QT3 zl-kVdQ%o8`jP>dcEPp*%WZR{iE0PUo?MEF+j_l1RZv(1c4wp-2gSi>3-74Y-KYz4S zjYD2UiHcb*P~k;h31p)_klm->ZA4sGt`Axa%u3b 3w7S=;F zAe%yJ_aJD~9!P$eQV%5tBPZQ7qIx87?$j<}FI%OVWjD`*uua41sAl)y*H krl;{g{4&JqalQ7=(Wx`?j9`pc&7D3g4yN8=tB?OaRG$mlszv~vlYL0k zq&wmAZTa0kv3JE0Bk|3PU4*X;*0uc380X^5d^5v~7qw&M`@3gjBFW!*jh?}a*)BV; zyEtiK-?Rg|drRb8YJ$=!G#SuZWc_cr|5+~h#ocls04@;riIiN9_E_*Ma|!2NN35e|n)XImyI zYMc&lB;dH`v0&CC0hH39P6N2T58a@BS#c(bkQlUCok$?({{9=*ARuvS;~gZWop|9? zMqJz!w?-vxCu4)`-=Q8JYSP8L4$`)DrQ$IFg0%q0=Y}B$KmCQhxFfU2sJc#U+kP)u z1?SEB5|-AUbnIfgF-Xt|9O_5%KLO9B{4Icl7mS|{0hkMk85DI{mEhV54QT09{1l%# zbDZ164$c02nD32Pmzal$*eb8L&RZ=A=pBSlhP>4lJ|+A-fp3?j3S%K*@o)lHwBIWW zCl19qi27$lm&d_CJD6*th7b!x#n^cyqR*LHg9lv}k#OR3;maP%Csb7#jhowmCC^jl z4UR4< %GW-cSD zkv;g`X0Q_|NM!1n9kBqEvDH*IuTSC}&CT6~c`9ix%7ut%9#OD@^u`ztuGpK;qZ>iT z!NOzOZ^RoA_cN-hVE!>+FL6pxYO1R8+V1c2^HW`;)*a~lt#8CEYwfoT5m;oW^g}O4 z*ntsZ;Y&q;0oPk1c%xb6jhL@axm2QTLRz$2?DHNx&*~3taum% _Wvxde+W##UciN+VQxT!BVS8j%m7*ospBcXO!On%n}GX5gZT zF6#0c5nZU=!iHTz+@nc{KLEs3UZB7m;o6{{`)!@NH+c$t1FMW@sGJX!4bvIvzlRn! zS%OM`58Q6JO#jRdQ6gT#t=@ZLsx+DYTf5@&7@75F=COD3>Q&`WB)tvWrcS42$#Uxf ze#Vd1yAZAd?FzEKGeGxUy~JX(YiQH-AhEgg9{21veCVF)3l5MgY4tBWkY7omZkZK- zFQ1IrQmSe@Kf05tW3-pu_Gz-Y{Ez#}3kUb6>+alDVE#J^Mp(Hn9?NMxRB*K&Gnm6P z+zT0f1g|D8%MBcOm6i2Z(c?XuT#F=CAd= !4L<-ducb{{F zeS9aVj^{K15e1I6;JFe*rz9<+W@r=Ny1>~6iL!YY`WEnbA8_+Hlc@5aw@#{a@y70| z5zh2)ePo+>y!fE>>WfzTbQX9+C{K!uCE&)g>w8|<8^@7`gY*$%vb5NY*MQml!&yTv zkUOoC1{I(gNT_%O`o<2?t(K5pYlC7RfM|OWLU4Z}VeHZ7VhvRmYX(tZEXLqICyGbJ zn+o&sD(o90a%gv^B_=IDKc7R zvfQXEYT}OZgRKz63X5=(cw` z!U`}7xTHn2r#c$^U#K*X<^r6qxL&!h7lJe7ta@M2??>;Ski4cn))7z%PVReHV`kNh ztgQ32K(E0~9y+KKX9|$-#%qzOUm_-K{!nITU*bQkqWi-2O7x%;U$;#QB?!D8<8LXB z58X<4g=*>1ayEQ4fAp_6`-0M7B2`5n*6}BX2*YMijou6Lm4c)cdCISTAy4^Ba%}<$ z4DH-SY2E5z{7GqLfF9{O=?HUEYb-WI*z`x~q2DUDezZg;4+2IqE3Oa5vT;%_5_Paj z=-kKuO6}1LfOsOn`O8H+%`D^Fp84AefZxj0he_jb N!FRMj|3kkofsdS` z#MIHVPG3Ic>L)0@vI$sD)}to^Yo>&NcxY6*ZIrX$D|caP!z7&YVOePzAUCppTsGWH zm%l@!fxnlU-vX<*T7_u@kdhTbtqqzzn&$D10*CIk51GuH%8X^By{L)iQ|<>k 4gK2(yA-arU~bFR)B$ zde>!F0_6dTio}TSfg(?gPRh?dZqY9CrG^}TVwE5gCbAl}5iwXwH9+Ffrpce%LJfKx zjTzQ|^;Ahoama1CAn?mLtaw}KMJ7R5TGZtTA4mR ?{#&RI|VkQ7mgyOa&uxJpJbG3~TPQ&}mJ?MmIQxi{(b~M<48aoOziTD%d%X6R)Uj z9l4*UDSR3_6|=ddO&SKS``bd{*Q3dvI8A8yq|wB>U9RzI6tl{X2ND4u5EUmd%=jOl|D%pY^@2`oMs@m7c# z-K?(!t$l4=Nz=#i=&ZEbCNnM9h3J^sO_e(Pt*)WVXl7m6YxBRUk9;+Nt#1igu 3rHcjdAtXSF!1}S=Vxf{PV(@(faULg;B)ivH7p$j@=A{xd?BRro7Cf2Nu0d zkoV})+}AYPvcR~_Mpc w9|n3tEH(Tu_LQMhOz=hO$Qq(FW5ZKad7- c z<59q|lHBsM9lwtLfZbi@IDHE_s=P1(_oF>;^)}%2D+a7xp!`i6=GVoqTEPaZll!J; z^co+9xwcnV?>Q&$z0BD@_rZYSo>Aog*y#B)7koqS^c+W0ofu~JsKYr@#s&X(Yc7qZ z4$gLyztHD0PmxBJ33rfa{0w{$RMRb(?hrV*-w*H`p%e8kvOmgq5{Hv@X*9`3x<{$N zO+{Zbi!D1ArZ9uok+Hr9m(h<8`|Pd_CQdUrZO4Ed)QM;}=0x~r82r_AkZ>c=-DGXx zyYaerL3oST%a0~G`jMM=O1C}hC3aYoI(8<9UWGBjej~p2)}7kx!gN`@9UW=7;?yW3 z^XQav>KB?v(_bfMlllBPFEDUk#<`gHCbodX`)KCo^JK)T74KW@x=puz5&CCAA5_yb zu=Ll7l83{rR%lfE{+S|&$~SE4H0n8|>^2Lyrt9#QaLhhdHfAG&H-Qn$@!FCBXTG(3 zl>sz+q!wr2EG%ihn#)a{If7!xK(w~DMgT|V`_E##GI!ne=P!keMzPn4e2$+x89&2u z;;q>YLjN@55<_u-s)j$xYQb$zvuZ_LoH}E(XL7PG3)(#3?D(#e+-g>|8w&p@I<$0@ zzX=XYHKz99+}&3bXHJS2 As2F*03Tt`({PKEIqUy5 z#%}NKEMEntY|lbX9}k%PdD}8(w05Mu`C(!nxW!jXu|s^O%^|#Pf|&x6(;opY}%vztk+b<5xiTKOs*}+wD`2F4 xj{EcI)&W9?cv7bfU|n5~}e>Z>s&*$>V)lID3tjNA=- 8@02Wi^X zPOF0J`LX5#4vdZfocYpRy5Y;gm*hSJ{_>H_)0T&Psk##y%lwV?)@?~3hwd^OwqQ$_ zvW?>kf$(OR|LTy vFVuMxC!)l(KnW>2DoE=DkFSK$E?ny@i;5ub(F-^Q?C&o5~M{<@8e>SFCZb^vo z$VHat)_2WO>YOqtqDTld#Ni5vzKlUur{&aR-=l#dVR${w&xA{KnGxC6hm~hpZHHc; z x^%HZARgeN3r293(r TYvsN>J5oa)S(9Z{7EBmxp&shmW;!$4{{Q^SMI_u)_Sbbiq`W1)i_{);XcE zyN7aF@CQ_MctueH*3~lE@W|giFI+OvQLWc6=a9Zn(hn_Sh@XOA>-}2(AN+$Y+oCXS z Y$bo45&t36qm(hoGa?B>Y%mZ)j@c`i<%_H1&P z9>-mvpcwvdqtUsJmZTiOxY zM2r!LuRk2M7H&+xW``l$pD@o~6lMB8V>ZNJ)=j(ocK1k<@l!y^5#z^^_YhV%E93^c znc3Fu) H^X4KMZ^9XHn+hKN3A^0sAE1eVailyH zZav9Kj+j3-Z-grotiO^Mw-LH$L`jGv2!WC4i7-n{Eh6)27;n-_gTRcn1Rj7MMg9ea zF0Ow48qEk&lc;|E>{*mrFA@LAxohcTWMug3cbzoRvi5`O?}G47Gc-~gL6m3TDO=V% zl;3{;Xo9CBCkxszP=fj&!zHy)L~~|D47&~rW+`t{l}2lqZSpa@H6aU)U-|tNykpRE z6$!ehZ?2i}L*as& 2`8F zEc5`c6e?T49v^MI0q0g00N`WLjUk?(6z-1;F(Ha$+jW5!0@U@;^)SBSv5##c!c57x zZMF%m*>}m&q!gDF*ec<+t{XjGDw$kg3Gw_xK9VHQTwjktiLY&~4(gA8Y_rGSdPR>6 z&I2{J;&2IMvw9{ik}(JsYau0g->L8vAx>L_3 xZ86Bg{3n8s z6D-Pi^@wPME{Wz9-pB|q0(jDC;)Cb~Gv&G7Vc{r_(nFq=9tAT^{v)_H+#E)j(A;W2 ztwan<>LW`>*1bd9KVj~zXHMsVXM(J`6imJKvX-KsQ~Y|{ho;=V(?{*=*uI>*geI4z z&fhA@i3@5TIYAR)o3Zuh`~tYg(Fdg~4(dI6UI&Y^BzlofhAL;_0-b?y@eZJZ_soex zd57)4H`!iw0G5pT3%`r&l)j$l;j<#*$cIiR={CiGt~{d)-538qp;ytgeW72$6SRDz zNu4je&{v^vSMqwIvEAB@m7Wl`4z~^@+FboW1IMpJPKGz0{1ia7$qGdZrd~O|SVy?Q z@grkBiV9ga`N6Z_%h#BHj#6~Pxx~8$%`;iMfMNe`m-ewU*Rq38=+pwr^^^`QPa;H7 za34LlMRQdz@qYgYu+E81I*w~6+Y7;Ch=l2myGhXFBgnZ@la5Q$irX&rhuBwfc8&Bh z6@mf75pLKqxJZGLc;#*>-AOxBdzyRMP|yrnO%u#)ifbmTX$pk NtSvLrg zW2wrWJ}n3|RcV6?jy<{^`(#}cY;dBFc(p0&6p>ZBak8J!2*b8s{N||)*-?%@oHY=7 zpJ}EP-1>9jpVoE*_hh*zp%9wTmf4zW)1%lpW&^!EIi(0pKTRjd;<(z-(CDX!dc55Q zUcQj9DGwF;)V1CLYY4}M1ryK8lY!1rRkZ>!_uQCk2sw_48fJ7h5`~Y$2`-RhVjdM? z3RF5OgCPIawAyAfcOeOE9r*_>7$MpbKIlRuQkWwyerYH{hI|(d!fs@#YxA7LTP$Zf zvce*OPbYD#H>gx#rG}EJ(G-h7nkK&^2*3bwz^OgI^&rF#P6&R(Xb*0)90e3iqp%fV zD~5LrqEvCB@8TnjXd0@safYwPVu?jJ!#VQN=&3N0*?go}R4d)^t8i&lsI8WW*{IM? zscoK3p4UW({@|sF>Dwz1Ew2*)$FEnvJxg<-#Oe1=cSsqH)<--#+|=Yg4n)_i> Pj`ecy1cDgabW>0?W2=$rkn=4-rjhk*?R!I2mSl_uMw?j!M zicd8^kRjG)?Ocnw8N$B $nqnu;|}em`U!QXbBZnX zl@ l#2U@Wr=eq^b2eif)T0s^<^b!VA0q}@Z`tEr4 Yp5&!Z)Rs_%3Gg?RD=>TV4Z60wNs0gxSenUt-@w+K|QT!gYPkKV9!KMrh- z=&Jy5Qg~%-(xrQg(y~;7**BbKPuMTC1MV>y9tm4}3*J vMA)$_-#thB zY7(np!VujbA& lH(q27zKm zN;+uha3#HP#l+7I|DoRK`W?TPQtG#=xkQh9A@WK2RX0n;)PS-2SLgJ!?u7u>A2q*> z`mbqHu0h|F$^!zMg-=KI5VSrG^pA!Qasb_`P}3Ma`;bWyYTmgH0n!+NirbHdL$&Yb zy7g)wSh!e2@Vt0UOoq|uHCnMvT@OeN-$2Q0KzOBIVsZQtnohM(x6?Bh{l_G;$Jc;0 zT{5W;GoZU(Rx)79(KfE+B&}Vg0v>(`Nq^1sldH1I@&I5J6tYME`;~nCxX(dT^SX^) zZ{*QRo>$7R<^#F99!WFGc%7t1Lo@x)Rl!Qm2F-pf7fefG;a+Fals2<*YkQo58rL zbw3k-r^hQ1jzOD+j~?*8#9Fw4UUul)94m R^=l2BBHq2?!xag%R-o ztX7*zmtL*=HRTz#`rh@lonxi+vn<(Jj?lZsq=;UXwP)$CO>pC9J;$M onmha5^Cd&(h$X9e`vva|SOGMU4tr6|TS~It4rfYCu zz)G}+XmWSos1*Y#kExiD5v7u!wYno>TE9oUfkGUi5<>M`-?OROoeU9CeSZ7QsxONW zJwM|gl-A6SjQ%s4GP7w(JqZJj`Ynf#m3n0KVZ?trwcwc3aFa;}KVrx$N@>!)rKL~B z&uSzjF{FA7Jbu2URSO!`qPg_sCf(#w&cH~Y-Py?50(8( Jl5H?=BMB5N8@b?|9L?TN}aR&$eIgpcFKJ>Jg{9G zdjRI(aO%$*?_hdX8qx^n3Ru*x;h$l{yoC3a7aub|08D@E>b)dp?09JDx$NK;8&cqL zk1|VvE+9SdID7$Ad!R*;=@k30KhURRY6e8=Zj3zaKy+f)yyE<65 _->e3&xFr`V z&aFDZ@n;k I>y0UwTU z17g$2h;jEL$MLSMM=2?1)EV!#KZs3_l%0^|-48!flAqun_WdZOEbUD@v3a=p)OC5N zd= $xed9mfLk41C~e5wz)ccl7?4$ zPHSh%{}Fs1Kj414-+#I8U8S2fml}^&tGy1m_T(EzhL!JGqk1eq!{}Qn9avJFF=2lD z7=~J>UZTN=8lxYJO_;^3?WAq9$C^GyaqYT;lQ;I<=rO6M(s6XWOZ0GX^4kP2#_M4+ z`)k-E^Z6z32h1{U;N3aq9IxoUZ#_@@fU}zv21UF6_cJ`^0Auysw~h|4BITmeTj#MO z_rpyA9>L~@o Z^aF`>8MaW>)kOuZt` z%zi@d0hL`U^zHOW9xyK#Tr#|ffEW-1Z%|+lkGr2fQG^aJonrAvudvm`&O;^9mxd5R zsT(C`(5CzNee++KG=IXz^)`h-WyGY;1k)HutQ0#Lqab@cx)P<&8p%n?4}>qL6L5;s z0NxkT`FqX%|K56lK3;vUiRFMvL9FM4wPrSRW;ABlZZo|D^u!slFadXm+`+i@(hap^ z+V!p4xGO9Y4VKwJztixn7hZbQU}zLku+d+!IbU%#kzwp%lJwWiMj~K=ukNi7$!@=y zIh=Cf^W~VAhC}6M(KmA(T{W(Shwm(q3V!8u3Rz+ZHo*KV+iTpZ`r_jEd;LN04nlX( zR=*Hl9MCB`k`NO&h&mnp>a`+FGB(}*j>ZX*_4b0T>HT%-*ou5WZEGo7u~NEE)H_fO z{n%3XV|&uCe;eu?X}e9h|9gJa=9HoxM8o2CY;;}R1yBfm@oe-C8J8+>!dSKa%kg~X zURbf5^ vl(||KKu>{}pC-!D!;M|Z+;NmexS^|PuqRQCRO@XNl zFsH<^fmfpNjDVq&-L$GppDsBqoI0JfasQ}IWnim}J=p5Yv+ z)Dp~+VJ&O(T@7LUs<=2|y8=-|Ovj0pG5_ G*hXdY_8>NN? j6YQ0Fh z>*%j~zIa7wr2h*%|L#z|-Oe%D;fK{jc+7s(Pd)DEu~(Tl3q#oTFkz)rOkJ;h!hY4h z6nUbSRD!}N3*fuft}j*?%*K@7kSmM=1}#< K8zlg6Kc4AMN=j3x|<($MZ)^+M3YdBY){R)}+zI8SAAM#hcGABf?`+ zH_`$YY%34U1frHVve)sQ6QM^A0gAaoz>)9c4$4=*=`MMIV|rWa?)W6~1w}ZVRGnVi zxoujDTw%PooKiKnvbaSroqrB^fu;*$49zOfdj=e#bZ>=hKe_qSQN^V9Uf*n4dgztu zu;GBeu%=&O^}#fofy-xYOG9mE-t`clbp8$#nO4_BIxjs>1$-g~n`d7tEnVq9+lGC3 zAd%2m_$RE9bYNnq(rKiwqGayeN3(+EC8t{GpDqr>KgB(Bza{4)^y#Nw!-REAt6oL! z`}Jc?K0C#4<~r8)AGgW)