From 8da0dac00713fb9708804b4696a847a3767758d5 Mon Sep 17 00:00:00 2001 From: Giorgio Gilestro Date: Sun, 5 Jul 2026 17:53:47 +0100 Subject: [PATCH] =?UTF-8?q?llm=5Fmoe:=20the=20union=20operator=20(route/ma?= =?UTF-8?q?x-merge)=20vs=20fusion=20=E2=80=94=20and=20the=20regime=20flips?= =?UTF-8?q?=20at=20scale?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds the union-preserving recombination operator that llm_merge lacked (E8's max, not mean): keep each specialist LoRA intact and SELECT the right one per prompt (MoE router: oracle, or training-free nearest-centroid over base embeddings) or per module (max_merge = winner-take-all by delta norm). src/llm/moe.py, kind llm_moe, reuses the cached specialists. Result — a clean regime boundary for "merge, don't average": - 0.5B: union wins. Routing 0.74 / worst-family 0.43 > soup 0.64 / 0.26, with no dilution (recovers each specialist's own-family peak). E8's max > mean in real weights, because at a weak base averaging dilutes. - 7B (Imperial CX3, L40S, 9 min): the ordering INVERTS. Fusion wins — soup 0.87 > routing 0.84 > max_merge 0.78. Routing is capped at the best parent per family; fusion blends and, given a capable base, COMPOSES beyond any parent (soup lists 0.62 > spec 0.57). Selection can't synthesise better than its best component; averaging-that-composes can. So "merge, don't average" (E4/E8) is a weak-parent / small-model law, not universal: union wins under dilution, fusion wins under composition. Refines E8 (its additive-landscape max>mean assumed no compositional headroom). The operator to want is fusion-that-composes + offspring selection = the directed-sex ideal (E10) — the natural next experiment. Honest riders: the learned router is trivially perfect (lexically-distinct families), and router-free max_merge is the weakest union (not input-adaptive). +2 router unit tests (127 green). Results in results/llm_moe{,_hpc}/ (parquet gitignored per the reproducibility contract). Co-Authored-By: Claude Opus 4.8 --- CLAUDE.md | 4 + Makefile | 3 +- configs/llm/moe.yaml | 25 ++++ configs/llm/moe_hpc.yaml | 21 ++++ figures/plot_llm_moe.py | 97 ++++++++++++++ hpc/llm_moe.pbs | 23 ++++ results/llm_moe/README.md | 58 +++++++++ results/llm_moe/llm_moe.pdf | Bin 0 -> 23133 bytes results/llm_moe/llm_moe.png | Bin 0 -> 126486 bytes results/llm_moe_hpc/README.md | 52 ++++++++ results/llm_moe_hpc/llm_moe.pdf | Bin 0 -> 23087 bytes results/llm_moe_hpc/llm_moe.png | Bin 0 -> 134219 bytes results/llm_moe_hpc/manifest.json | 27 ++++ results/llm_moe_hpc/resolved_config.yaml | 28 +++++ src/llm/experiment.py | 117 ++++++++++++++++- src/llm/moe.py | 154 +++++++++++++++++++++++ tasks/todo.md | 15 +++ tests/test_llm.py | 29 +++++ 18 files changed, 647 insertions(+), 6 deletions(-) create mode 100644 configs/llm/moe.yaml create mode 100644 configs/llm/moe_hpc.yaml create mode 100644 figures/plot_llm_moe.py create mode 100644 hpc/llm_moe.pbs create mode 100644 results/llm_moe/README.md create mode 100644 results/llm_moe/llm_moe.pdf create mode 100644 results/llm_moe/llm_moe.png create mode 100644 results/llm_moe_hpc/README.md create mode 100644 results/llm_moe_hpc/llm_moe.pdf create mode 100644 results/llm_moe_hpc/llm_moe.png create mode 100644 results/llm_moe_hpc/manifest.json create mode 100644 results/llm_moe_hpc/resolved_config.yaml create mode 100644 src/llm/moe.py diff --git a/CLAUDE.md b/CLAUDE.md index 1476e26..0e2d8cd 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -91,6 +91,10 @@ E4's whole purpose is to isolate the effect of teacher **decorrelation ρ**, so **Finding (2026-07-05, `llm_merge_hpc` — the 7B firm-up on Imperial CX3; the marginal sign becomes decisive).** Re-ran `llm_merge` at a capable base — **Qwen2.5-7B-Instruct**, 200 test tasks/family, one **L40S (46 GB)** GPU, 8 min walltime — via the `/imperial-hpc` runbook (see `memory/hpc-setup.md`). **Both merges reach 0.87 overall, decisively above the best single specialist (0.77) and above every specialist on every family; worst-family 0.62 vs ≤0.57 for any specialist.** The two 0.5 B caveats are resolved: (1) the strict Fisher–Muller "exceeds every parent overall" claim is now clean (+10 points, not marginal); (2) the **dilution vanishes** — at 7 B the merge *beats* the lists-specialist on lists (0.62 > 0.57), where at 0.5 B averaging diluted it (0.43 → 0.26). **Interpretation: dilution is a small-model artefact; a capable base has enough headroom that weight-space averaging composes rather than dilutes** — the "merge, don't average" concern (E4) softens once parents are strong (soup ≈ ties at K=3). Results synced to `results/llm_merge_hpc/` (README legend + data-driven figure title). The natural refinement is *module-level* union-preserving recombination (MoE-expert / adapter-union merge, the real-weight image of E8's max-merge) rather than delta-averaging. +**Finding (2026-07-05, `llm_moe` — the union operator in real weights; E8's `max` vs `mean`, 0.5B).** Added the *union-preserving* recombination operator that `llm_merge` lacked (`src/llm/moe.py`, `kind: llm_moe`): never average the parents — keep each specialist LoRA intact and **select** the right one per prompt (MoE **router**: `oracle`, or `learned` = training-free nearest-centroid over the *base* model's own prompt embeddings) or per module (`max_merge` = winner-take-all by delta-norm). Reuses the cached `llm_merge` specialists (no retraining). **Result (0.5B, seed 1):** **routing wins decisively over fusion — overall 0.74 / worst-family 0.43 vs soup 0.64/0.26** — and recovers *each* specialist's own-family peak exactly (no dilution: fusion diluted the lists-specialist 0.43→0.26, routing keeps 0.43). This is E8's `max`(union) > `mean`(average) in real LLM weights. **Two honest riders:** (1) the learned router is *trivially perfect* (1.00) because the three families are lexically distinct — routing's win here rests partly on the routing problem being easy (ambiguous/overlapping skills would make the router the bottleneck — the interesting next failure mode); (2) **router-free `max_merge` is a poor union (0.46)** — static per-module winner-take-all isn't input-adaptive, so it collapses toward the strongest-norm modules; the union benefit needs *routing*, not weight surgery. `configs/llm/moe.yaml`, `plot_llm_moe.py`, `results/llm_moe/README.md`, +2 router tests (127 green). The regime question — does routing still beat fusion once a capable base lets fusion *compose* rather than dilute (7B soup already beats its specialists)? — is the `llm_moe_hpc` 7B run below. + +**Finding (2026-07-05, `llm_moe_hpc` — the regime *flips* at 7B; "merge, don't average" is a weak-base law).** Re-ran `llm_moe` at **Qwen2.5-7B-Instruct** (L40S, 9 min, reusing the cached 7B specialists). **The union-vs-fusion ordering inverts:** at 0.5B union won (routing 0.74 > soup 0.64); at 7B **fusion wins — soup 0.87 > routing 0.84 > max_merge 0.78.** Mechanism, and it's the deep point: **routing *selects* one intact specialist so it is capped at the best parent per family** (lists 0.57 = spec_lists, strings 0.97 = spec_strings), whereas **fusion *blends* deltas and, at a capable base, composes *beyond* any parent** (soup lists 0.62 > spec 0.57, strings 1.00 > spec 0.97). Selection can't synthesise something better than its best component; averaging-that-composes can. So the E4/E8 "merge, don't average" law is **regime-dependent — a weak-parent / small-model law, not universal**: union wins exactly when averaging *dilutes* (0.5B), fusion wins once the base has headroom to *compose* (7B). This refines rather than contradicts E8 (whose additive-landscape `max>mean` assumed no compositional headroom). The operator to actually want is **fusion-that-composes + selection over recombinant offspring** = the "directed sex" ideal (E10), the natural next experiment. `results/llm_moe_hpc/` (README + regime-aware figure title). Riders unchanged: learned router trivially perfect (lexical families), `max_merge` the weakest union (not input-adaptive). + ## Build order (blueprint §7) — respect the gate 1. Scaffold: repo layout (§5), container, pytest skeleton, config system, seeding utils. `make test` green. diff --git a/Makefile b/Makefile index 8ca946b..9141e24 100644 --- a/Makefile +++ b/Makefile @@ -28,8 +28,9 @@ mnist: ## run the real-MNIST confirmation tier (needs env-mnist; dow env-llm: ## add the LLM stack for the Layer-2 prototype (GPU; transformers/peft) uv sync --extra dev --extra neural --extra llm -llm: ## run the LLM merge prototype (needs env-llm; downloads a small base model) +llm: ## run the LLM prototypes: merge (fusion) + moe (union) recombination uv run python -m llm.experiment configs/llm/merge.yaml + uv run python -m llm.experiment configs/llm/moe.yaml layer2: neural ## alias: Layer 1.5 is the current Layer-2 deliverable (LLM rung deferred) diff --git a/configs/llm/moe.yaml b/configs/llm/moe.yaml new file mode 100644 index 0000000..0cd7597 --- /dev/null +++ b/configs/llm/moe.yaml @@ -0,0 +1,25 @@ +experiment: llm_moe +kind: llm_moe +seed: 1 +n_replicates: 1 + +# Layer 2 / LLM — module-level, UNION-PRESERVING recombination (the real-weight image of E8's *max*). +# Reuses the specialist adapters trained by configs/llm/merge.yaml (models/llm/spec_*) and contrasts +# two families of recombination operator on the same held-out mixed test set: +# FUSION (blend the deltas): soup = mean(Δ_k); ties = sign-reconciled union. +# UNION (never average): moe_oracle / moe_learned = keep every specialist intact and ROUTE each +# prompt to one (MoE-over-experts); max_merge = per-module winner-take-all. +# Prediction (E8, "merge don't average"): union beats fusion exactly where fusion DILUTES — pronounced +# at a weak base (0.5B), narrowing once a capable base lets fusion compose (7B). Falsifier: fusion +# matches or beats the routing ceiling (moe_oracle) at 0.5B, i.e. averaging never dilutes. + +base_model: Qwen/Qwen2.5-0.5B-Instruct # reuses the same cached specialists as llm_merge +families: [lists, strings, arith] +n_train: 700 # only used if the cached specialists are absent +n_test: 100 +n_route: 32 # labelled prompts per family for the learned router's centroids +epochs: 3 +lora: {r: 16, alpha: 32} +operators: [soup, ties, moe_oracle, moe_learned, max_merge] + +output: {dir: results/llm_moe} diff --git a/configs/llm/moe_hpc.yaml b/configs/llm/moe_hpc.yaml new file mode 100644 index 0000000..3abb962 --- /dev/null +++ b/configs/llm/moe_hpc.yaml @@ -0,0 +1,21 @@ +experiment: llm_moe_hpc +kind: llm_moe +seed: 1 +n_replicates: 1 + +# Scaled version of configs/llm/moe.yaml for an L40S (48 GB). At 7B the llm_merge fusion baseline +# (soup) already *composed* rather than diluted (merge 0.87 > best specialist 0.77, no dilution), so +# the sharp question here is whether the UNION operators (routing / max-merge) still add anything once +# the base is capable — i.e. does "merge, don't average" still bite at scale, or does a strong base +# make fusion and union converge? Either way is a reportable regime result. + +base_model: Qwen/Qwen2.5-7B-Instruct +families: [lists, strings, arith] +n_train: 800 # only used if the cached specialists are absent (fresh on the HPC node) +n_test: 200 +n_route: 48 +epochs: 3 +lora: {r: 16, alpha: 32} +operators: [soup, ties, moe_oracle, moe_learned, max_merge] + +output: {dir: results/llm_moe_hpc} diff --git a/figures/plot_llm_moe.py b/figures/plot_llm_moe.py new file mode 100644 index 0000000..e1b298f --- /dev/null +++ b/figures/plot_llm_moe.py @@ -0,0 +1,97 @@ +"""llm_moe figure — union-preserving recombination (route / max-merge) vs fusion (soup / ties). + +The real-weight image of E8's *max*: keep every specialist intact and *select* (route per prompt, or +per module) instead of averaging the deltas. Two panels: (A) per-family accuracy for the base, each +specialist, the fusion merges, and the union operators — the union operators should match the best +specialist on every family (they *are* that specialist there), while fusion may dilute or compose; +(B) overall vs worst-family, fusion vs union, with the routing ceiling (moe_oracle) marked. The +suptitle reports whether union beats fusion (dilution regime) or they converge (composition regime). +Reads only the committed bundle. + +Usage: python figures/plot_llm_moe.py [results/llm_moe] +""" + +from __future__ import annotations + +import sys +from pathlib import Path + +import matplotlib.pyplot as plt +import numpy as np + +sys.path.insert(0, str(Path(__file__).parent)) +from _figlib import load_bundle, savefig # noqa: E402 + +_FAMS = ["lists", "strings", "arith"] +_FUSION = {"merge_soup": "fuse:soup", "merge_ties": "fuse:ties"} +_UNION = {"moe_oracle": "route:oracle", "moe_learned": "route:learned", "max_merge": "max-merge"} + + +def _acc(df, model, metric): + r = df[(df["model"] == model) & (df["metric"] == metric)]["accuracy"] + return float(r.iloc[0]) if len(r) else float("nan") + + +def main(results_dir: str = "results/llm_moe") -> None: + df, cfg = load_bundle(results_dir) + present = set(df["model"].unique()) + specialists = sorted(m for m in present if m.startswith("spec_")) + fusion = [m for m in _FUSION if m in present] + union = [m for m in _UNION if m in present] + models = ["base"] + specialists + fusion + union + labels = {"base": "base", **{s: s.replace("spec_", "spec:") for s in specialists}, + **_FUSION, **_UNION} + colors = {"base": "#7f7f7f", **{s: "#1f77b4" for s in specialists}, + **{m: "#ff7f0e" for m in fusion}, **{m: "#2ca02c" for m in union}} + + fig, axes = plt.subplots(1, 2, figsize=(14, 5)) + + # Panel A: per-family accuracy, grouped by model. + ax = axes[0] + x = np.arange(len(_FAMS)) + w = 0.8 / len(models) + for i, mdl in enumerate(models): + vals = [_acc(df, mdl, f) for f in _FAMS] + ax.bar(x + (i - (len(models) - 1) / 2) * w, vals, w, label=labels[mdl], color=colors[mdl], + alpha=0.9 if (mdl in union or mdl in fusion) else 0.65) + ax.set_xticks(x); ax.set_xticklabels(_FAMS) + ax.set(ylabel="accuracy", title="Per-family: fusion (orange) blends the deltas; union (green)\n" + "keeps each specialist intact and selects — no dilution") + ax.legend(frameon=False, fontsize=8, ncol=2) + + # Panel B: overall vs worst-family, per model. + ax = axes[1] + x2 = np.arange(len(models)) + for off, metric, hatch, lab in [(-0.2, "overall", "", "overall"), + (0.2, "worst_family", "//", "worst family")]: + ax.bar(x2 + off, [_acc(df, m, metric) for m in models], 0.38, + color=[colors[m] for m in models], hatch=hatch, alpha=0.85, label=lab, + edgecolor="white") + ax.set_xticks(x2); ax.set_xticklabels([labels[m] for m in models], rotation=25, ha="right", + fontsize=8) + ax.set(ylabel="accuracy", title="Overall (solid) vs worst-family (hatched):\nfusion vs union " + "recombination") + # Mark the routing ceiling (oracle) if present. + if "moe_oracle" in present: + ceil = _acc(df, "moe_oracle", "overall") + ax.axhline(ceil, ls=":", c="#2ca02c", lw=1, alpha=0.7) + ax.legend(frameon=False, fontsize=9) + + best_fuse = max([_acc(df, m, "overall") for m in fusion], default=float("nan")) + best_union = max([_acc(df, m, "overall") for m in union], default=float("nan")) + router = _acc(df, "moe_learned", "router_acc") if "moe_learned" in present else float("nan") + if best_union > best_fuse + 0.01: + verdict = f"union {best_union:.2f} > fusion {best_fuse:.2f} overall (fusion dilutes)" + elif best_fuse > best_union + 0.01: + verdict = f"fusion {best_fuse:.2f} > union {best_union:.2f} overall (strong base composes)" + else: + verdict = f"union ≈ fusion ({best_union:.2f} vs {best_fuse:.2f}) overall" + rtxt = f"; learned router {router:.2f}" if router == router else "" + fig.suptitle(f"llm_moe — module-level union vs fusion recombination: {verdict}{rtxt} " + f"({cfg['base_model'].split('/')[-1]})", y=1.0, fontsize=12) + fig.tight_layout() + savefig(fig, results_dir, "llm_moe") + + +if __name__ == "__main__": + main(*sys.argv[1:]) diff --git a/hpc/llm_moe.pbs b/hpc/llm_moe.pbs new file mode 100644 index 0000000..671c2fe --- /dev/null +++ b/hpc/llm_moe.pbs @@ -0,0 +1,23 @@ +#!/bin/bash +# Module-level union-preserving recombination (llm_moe) on an L40S (46 GB) — route/max-merge vs fusion. +# Reuses the specialist adapters trained by the llm_merge_hpc run if models/llm/spec_* is present on +# the node; otherwise trains them fresh. Same env as hpc/llm_merge.pbs (see hpc/README.md): +# `uv sync --extra dev --extra neural --extra llm` on the login node + pre-download the 7B base. +# submit: qsub hpc/llm_moe.pbs status: qstat -u $USER +#PBS -l select=1:ncpus=8:mem=64gb:ngpus=1:gpu_type=L40S +#PBS -l walltime=02:00:00 +#PBS -N lam_llm_moe + +cd "$PBS_O_WORKDIR" +export HF_HOME="$EPHEMERAL/hf_cache" +export TOKENIZERS_PARALLELISM=false +export UV_CACHE_DIR="$EPHEMERAL/uvcache" + +source .venv/bin/activate +nvidia-smi --query-gpu=name,memory.total,driver_version --format=csv,noheader + +python -m llm.experiment configs/llm/moe_hpc.yaml + +# results/llm_moe_hpc/ written in-place (parquet gitignored). Sync back to plot: +# rsync -avz hpc:'…/LamarckianAI/results/llm_moe_hpc/' results/llm_moe_hpc/ +echo "done: $(date)" diff --git a/results/llm_moe/README.md b/results/llm_moe/README.md new file mode 100644 index 0000000..a47b84b --- /dev/null +++ b/results/llm_moe/README.md @@ -0,0 +1,58 @@ +# llm_moe — union-preserving recombination (route / max-merge) vs fusion (the real-weight E8 *max*) + +**Claim tested.** E8 (analytic) found that the recombination *operator* matters: a **union** over +parents (`max`) assembles a child fitter than any parent, while an **average** (`mean`, the model +soup) conserves collapse. `llm_merge` showed fusion (soup/ties, which *average* the LoRA deltas). This +experiment adds the **union** operator to real LLM weights — never average the parents, keep each +specialist intact and **select** the right one per input (a Mixture-of-Experts *router*) or per module +(winner-take-all) — and asks whether union beats fusion, and *where*. + +**Setup.** Base **Qwen2.5-0.5B-Instruct**, reusing the three cached LoRA specialists from `llm_merge` +(disjoint families `lists`/`strings`/`arith`, exact-match verifier), 100 test tasks/family, seed 1. +Five recombination operators on the same test set: +- **Fusion** (blend the deltas): `soup` = mean(Δₖ); `ties` = sign-reconciled union. +- **Union** (never average): `route:oracle`/`route:learned` keep all adapters live and route each + prompt to one specialist (MoE); `max-merge` builds one adapter taking, per module, the specialist + with the largest-norm delta. The learned router is training-free — nearest-centroid over the *base* + model's own prompt embeddings; its routing accuracy is reported. + +### Results (accuracy) +| operator | lists | strings | arith | overall | worst-family | router | +|---|---|---|---|---|---|---| +| base | 0.15 | 0.15 | 0.53 | 0.28 | 0.15 | — | +| best specialist (strings) | 0.08 | 1.00 | 0.80 | 0.63 | 0.08 | — | +| fuse: soup | 0.26 | 0.74 | 0.91 | 0.64 | 0.26 | — | +| fuse: ties | 0.23 | 0.71 | 0.90 | 0.61 | 0.23 | — | +| **route: oracle** | 0.43 | 1.00 | 0.78 | **0.74** | **0.43** | 1.00 | +| **route: learned** | 0.43 | 1.00 | 0.78 | **0.74** | **0.43** | **1.00** | +| max-merge | 0.18 | 0.34 | 0.87 | 0.46 | 0.18 | — | + +### What holds +- **Union (routing) beats fusion at a weak base — decisively.** Routing reaches **0.74 overall / + 0.43 worst-family**, above both fusion merges (soup 0.64/0.26) and every specialist. It recovers + *each* specialist's own-family peak exactly (lists 0.43, strings 1.00, arith 0.78) because it *is* + that specialist there — **no dilution**. This is E8's `max` (union) beating `mean` (average) in real + LLM weights: exactly where fusion diluted the lists-specialist (0.43→0.26), routing keeps 0.43. +- **The learned router is perfect here (1.00) — stated as a caveat, not a triumph.** The three families + are lexically distinct, so nearest-centroid routing over base embeddings is trivially easy; + `route:learned` equals `route:oracle`. Routing's advantage on *these* tasks therefore rests partly on + the routing problem being easy — the honest scope. On overlapping/ambiguous skills the router would + be the bottleneck, and that is the interesting failure mode to probe next. +- **Static per-module `max-merge` is a poor union (0.46) — an informative negative.** Picking, per + module, the largest-norm specialist delta is *not* input-adaptive: it collapses toward whichever + specialist dominates the weight norms (arith 0.87, but lists 0.18, strings 0.34). The union benefit + needs **routing** (input-adaptive selection), not weight-space surgery — "keep the parents whole" + only pays off if you also *choose* the right parent per input. + +### Takeaway +Adds the union half of E8's operator dichotomy to real LLM weights and confirms its sign at a weak +base: **route-don't-average > average**, with no dilution, mirroring the analytic `max > mean`. Two +honest riders — the learned router is trivially good because the families are lexically separable, and +the router-free `max-merge` union fails because it isn't input-adaptive. The regime question the 0.5B +result raises — *does routing still help once a capable base lets fusion **compose** rather than +dilute?* (`llm_merge_hpc` showed 7B soup already beats its specialists with no dilution) — is answered +by **`results/llm_moe_hpc/`: the ordering flips.** At 7B fusion wins (soup 0.87 > routing 0.84), +because routing is capped at the best parent while fusion composes beyond it. So "merge, don't average" +is a **weak-base law**: union wins here (0.5B, dilution regime), fusion wins there (7B, composition +regime). **Falsifier (not triggered at 0.5B):** fusion matching the routing ceiling, i.e. averaging +never diluting. diff --git a/results/llm_moe/llm_moe.pdf b/results/llm_moe/llm_moe.pdf new file mode 100644 index 0000000000000000000000000000000000000000..515d356124da3539920f43a0e1fe81f46c2e08dc GIT binary patch literal 23133 zcmdtKbzGE9)ITf|0@BjCbi*dFq%=r(qr}qPY0x5#gc3@JgoG#p(jbk1qybV2QUZd4 z_`4SMz73w|_WkSqe4fR1=Q`KKnKLuzocT_$Ysx9`Lj>UX>}4-N_a5UzKwyxor31dW zI7m>}-wg#4l(q1(aB{T;32Iu{qC7!RAc8hXQW78KVvUX{@>2o@R~Ii3>^Op;p@yXc z%E}8Q{OwWR&r4Cq%fbr$2uSdjVtEBpOd8D#boJCHvsfaV*`y$1^5?i>4p+9*#~Zx1V=K4|`d z^3_n*_7*a(en5#};12=@g9StoU?C_11QUV^h(M6SLQr9_kT6i1pe#^NATv)8@*B6( zE-tRX69k=78~dhol4bSLB%rLLc#69>qCrs9eUDW>|NX{tf89!D>ooijzt;#n%JzkNxTf ziJ9xq?D83C5~{uwW|YM%>L(7Y+>pBX<>TRpl~qOJZmD3HX}>{QLX*iuu)ERgVuN6@2@x< zF7JCZ?zgEzdD4>WrV`?1AziE(t&Fm6y+t>@$Z0!@L+YMrUsABrH|KOD8?MKWQy-CH ze64aMjX#s}nuNPNYk-X$jPp{PgABi)iz)@-PDN|Tl#)jfjYsIz5j!6KJ`A6rFhLhQ zJ{mSuj(aF)Op;H?o&NU5p~b<)4*9W7$pDytkoUdW?1spd^_;#MDoh3GyVjXwK?+vy zn7gdmIB5c28Sg#C>zyvHeSo)cE;GxbpJ_@YIrA=5amZvtprCcfI>mD;F-7%`g;g$e zw#M573-_?md&B)P7R$X51XAfajp`t8^xMv8X3*^Rcw?XAFay*+t?@?EIxG_xLKFAV zgWPSu5wSr=7c_(skCD=Py)_~s&hU;^X%|NKkjb7vjkF&=&m-!jv8>is8M;R^Pu*MQ zfQ(d}Hk<5Dp=1(*?pT~lzOY$a-gT`79sfZh$!eLYYDsUTZ*f(AH4F!tPk)B~%EbZa zo+xD->-$x{H16=XUiSoIRUQ%qX@;|f(*ytsxbU(?^JHS=w54&D z^9ibXWiwmo#i_nL4#U#W5vXEuxTOm*?9gg`eXeUFd8@WtiRAg`YJG(Ak_Legqvu)1 zm^uz{yG9P`I_EQ|f{4?&p@z$4_&OkRIKfnkVQJ52-r3>ED5-ySTk#UyOZjyrfA$$txpCsa~&r*pj)CNS8^B zH>JO6zA|{J=aYoh9MDopbeWuXmk9JsEW~udfv=TBTn8G)aON?&U9HLypGmmz2g$8(Q-I2>VX#x%u-g%jN!Q zle2+dy@B(Y{V%DV&bzOkQxmk_7n$8x-@76BVhJ^X_)x~gtV8?SMUJ5|@r7}?zji|a zyKp-@(~DlPIK5qv*kQ=m)vap^fpYpZS$WE|HT_Y#NMkyJH-u$@pDg|Mtsm`Imu+=% zN~yYLXNxl&Azn4q$9Jdna72bt>^3bw-(5ZE^kFA{u=rtM2lg26$^QMr!;P(;*OATQ zG>pW_GKLO|1A(meszic3mf~b=(MMp4Xd+(d6CNp@k8i8D}tvbgUnp&=pxjo z3AM$}TwW%>WUowtBj~UU&-QrLt{65orzsq4&~ZE5T)#x9rDj|?@D)WH31Zrtlv`(K zXZ$84Wi;unadbs~%}$aN%@@O>>tRl?#|Cxe6d(96aM<<}b@$q&TC<9&T_vqKMHSZ? zSiovhcH=rRFTc1)nV*YR;{t`gJCQK{mW^MtUzB~CObRZNv^{%MAiuR_sutC)^CsL6IC-o!KX6?tR6hCh@3)N zxY-F>@9u3E!-7rK&vm#Q6$@O+67Yq+xp#nh;9g(w`cs&FSF>xJxT?E4{;0V;Pr_1g1BB8xGZOo1@-S6oScD?)SbNTqiCxyt>2TbZ0+Dq@SG+;VSX*>c!^b zjVtC?Kkd<7Mv|u~9{jNgw6q#4v2cI`8GyUo6`1z2n!!(xO49UPWgv~3YDzQ~8QFQvB>9&KdkyX40kb3V)!cV73Gh*cfe7~RUC z^&5xJtc=!&qb$M0t=mF`I2P2-`it#G<2yoJHn4S7g$4K{o#9O^y ztv)sBp2h9_I$Uf!rf1YYR&!pshL2-rts`&r!_L-4Ri-FBeZ^$^_#)$lWqcar4Y-hl zNr^;|k$9`ObNxi^^v;2&ReRlhA2*7Mo_Z0BtI41BO2xX1Tye2@t+oMwt@(OPL{9bd zM<3)y?O%2IfCiz8 z2A(I*Ys50aSx<$R2+qiO*m6ZPwx^5l`LIuypG>nYHSk{@T0l7;sX5dh)W2EFSXs9< z8^0{R>^I{*NN{#}f6SXGGTw8rqWPRy(RGdX5v7u>?ay&p^Tn%~G?atxIji(UOv{;O zS2%st9glKomFL@(0=TamV_!ux z#Y6awr}CVp2=yfOPxe(0?nsrLD`aR@8)CVT?8|VdFe?t)_K71HBd`77oyIhFZg;b| zt6k6a6kv}SAtq~==~AEd{{--T}3r)H67M3lll zue>wp^KU~jl&qM=Gl!3xjqhUncpiL-oe=k3NMlmNE0+ zOQ2RA=PC;IT@0pll%E~yZMc1|*u#!Y!qI=zX!mZ-g-f?nBLz3vaN;M7KPR=4$FN*r zPT7ksqquejA7>L4KWag(gehmL*>B7Uwgxj(LDP*q{2BUJU!eq0a;@X{#Q;uh%>zG4fd7cdxRG zH7c9+t=xxYV-3TA(KkOR(Bp<=rd zdQvi+^OVcE!g`;GLQ5K@9*U~TGXnLy(|hVA+v1yh8?PGc19m+cgCxukQ@SS71QSbc zMr*_jm(uqv$B+wHt)$%QC9uVGNDDoubGil?7rqn)`MEZEc3@@y7iP~@alD)#|$PClqEl>*t$(s9gS`)`soH8T}-(X2dBtYLGHHKM?Drnc8 zup>Ev<#UR(Z-lHqBrom0npj<|+kRezX-U>g2Lnl%Mcy9tN*rFTs_3Vc8DE?SPEPCE1dQ~3J-j4Rj zQCsVh)>i67&}0wtr_y4I6_7OmvehqT$-Nhqa{HeCCI{Ct=~)y@|D_x<$Hf@EUByccrH59Ke~>%HsU zb#urZD|%FNFsRd&SB#Y748CC&8*Pl&LFj1!h+kKBSB$Qr^{lZoa|yqK&g!^So?VAattJy00R8a8^(5 z)%xJ}m(4C2_R~I8c&)CRKZxgmO%6ZHS;mo>;HiU? zPZ)VzDn~*5zP6`hf;Qb!Xr2$<0;Oc4G+AL5u2JqY+@VntSiu>Cx<0Ahv}ii3)UfVH z1d#?AJg^`htIzp-+MIl|&UcwDwq)54Q-~XaLpFBmmbP7Zs&jl)mVkUdC7@ETQd__m zq-5)RG3;$>ZWx%Pi}wgx0+Ll9Bc9K~P?IUHTB89UHs#en=RN%8oW! zniHk{s|Mw_Y3zI`9m;E!KyDjpmE;U>NY}WVxTpp_k2fC{DmXL+tvd6* z)x#eT^%g*ejO#pnc1}rsDD(F8MSG(J;RK{E$?!SoZ!s6_sQ2dqQ>d1wDi0Hjw zYO%}qUDMlfd2E{p*~(s@<+eCt&mS#U-^i(xgGCBN9&m_!DUzN>)@FH3TN-SDyETF{ zb0;6L>Pp-itFnLF-*eCV$$&41ezS#}lDa;^!?txkoo&VCiI@A+qBFN|zc){(n`nP= zpK?hbTEZ$mdeHXNjezr&)YP+-fKo~}ec?wBbic%}GR=s9D#dbpg9h@;OH&MUw7d=V zA5i28GmI_S$qucMIr|^kjbr-4?1=XtwcLOI(Z=aP-V+Ojn$w?xvUcv(d|o*lWi@`` z4BK}3OJeAVX#4Fa_RcRR@(P}qzvl9LVR%=$FW@y+shZ<>M0ur)9p&45n9VM87O-TY z>#eUvlPU)-V^@t89~_x~{TOxFGB`i?wL0S9DjJvhjv{27v|D5Ku_3kim`H*Zajl(>Ws-qoKY zltRKF3`uf)%$&PiZJ+l={mh11zj!APjy~PLYZW^3jMYH8BqI2w@%5Mjp9#>xUA;EC za!J@)7m=Z8Ttdq2v3Heum&Iff7SBYS4wW;!F>&_=bDvDFbW_$=Lw;YrQ0d39-gctI zCFg>8-B!0j)t0(vLjByQAGB*XrqRsu-*(KHa-+2-ks5AsXnIr8Tf__v;{m^yc!Mx~ zODmKXu}s{U@W$;Ze1el@^ymoFtjMBlxUUTgYV)_*-MQU#rGXmWiK_vwV|E$l@ce9%C!(4YdD%Zp*MsV_iK05I zJExR__E(?q?9Q|vw(G&ksaPxS@F2*kV}O7Dzsu zVe$qaVR*rH@0=i`pV7h}2%XSh$VfsHN!AV`S@jRkJ{5?u;m(m9a@aiJAfax-X6QBh zHaf1!V{0;fdW+Wi{q_6du8^#VQQfZgHJMHhJ5*EGZ>wrvgGv5lguxZ>oud0?)6qOp3C|Fbq`?U_M&pma_X-5;FM5R*(gh1b zu=)i*7MbR*f$5w%3oBRdYalGragm`v-5nm+N~Cn|w{qI0>NuBYrD zJ(tzDfbc3|o31Uyf=8LR5~M%C=Udc8G=dQzN^K9R`M+x6DLdbus7o3%0X1eZ>&Ovf4U9ifEAgHz~rvBL6K# z2`v>DD+s~N0eR#3Q>)8E{!p&RN*m4mCGZ;XQ%)(J{8~P66$hg}m+u(#u!fXo(`=vS zi7m|c&Gh}%&D(xNCV25zxB6@m(>yPu-bJ(t5x=J%TnyKU+-Yl(Okx#RG)yjz4JM5= z<1^A2=NE)#1{>t1iNf>lO#&%^}jQAsxJI0=_k`c;6-Jtb)Dht2Z{w^{lPg< zdi3phpG!L|Ha(a7Wqeydm|xmge@J_Qhwb)=KPSw1GcZ8&+Gd}Mk1C@i*%Pa%CPIb9 z$d@wH(w{kmt%=1aVGnCXqGdAzg*_@h8O%{`4-?P7(ei;X}NU53nzw4 zc}mj^Zb_`H#0?sBmWya`GkS-A&>k2`c8%&!H+bC1V4F3rA2+0(Z8|(5i22nE=LF%S zR}g*^J{0~JU07aA%mbU5U=LcZbI>SzKpj>KS&xp zMm>4QVVmcAvZJykUA9IzwElb*o7-&@4E?-~g+{8GYP-mT}3&jpmZG@99gH*Q05o7pY z+gS*%@b;1#;l7SyDP^gfH^1yBdRmYf=Y`d#d7WcAGLScis%XkW9@#1wK5{LRU|N-q zBYb^0#y{_IAZ<~m3-8TX{A(X>uEESSbDh_oxZF9AnR#N}R#IDJQ~3J)M2CeDc4a2t zAc`v}wT+K5RCk&3_PbY_^S+vEX|%m-RTqa^&V_coD`nUpWw3p-Njx-3;nmWU_wF$U`;R_D^Woq z0>3bV5^cgk7_zMA!c7HOSuw%9XZoS1Mo2o5ZV03)&80eS64|j(Lz3OD)Go~wTuM2i zP+r1Q#doQyPT&c>qV^k4P?+$4GlkIXNyKC(IXD+i=0>5$1m22qbYxmRZ05bT%>FDg zzfk;H;`KCk=;<2KSK}<0TGxhbc#a+v1*dB^otYrXF*U`7#e~)P%(-O88MLnDs$J?2 z^`%?NFfzZ7QFHymxNV|fXEg%bO0X zDlZC2zzIota_05gL!+{_ePo%2A&o50;FjJ_M=nM9)V9lMS`Xvt|K~x)uIsTNM?m4ehyxzs2DyE1$NqsXY}CbPiL~EO>s|< z+DX1G;%|IgO=KMAvE922*gc~Ufi|R0iC?bJ^(H$(K+J?{+A62dk@_WcKre?d(NvK? zraE$=jGiEQeUTDp>Rb}Od+6ZRryanEFdD|!v|T5hxc@@Ul-#iuIXF8B)7r_T+rg)L zVwovCnycm7F{ez5idL))rrcIH6n$ncx?p3P>3Hrre{J5Z+GOyX1r}oMjBOcen@wD_tpVw~&mAlN_$Wmh;4()F2=N@bmI&mADo*={% zJX#p?Z-l6=Hpl?Mof+bObiQCSV?n&~^O)L3b2*{wW9nA6F6zt=N$d|6(+aH_rsh7F zFio&BvR`4EnZD&8HDB|fb0TFZ&-Qv2iF|!$)}tihr?t9Knlom3eQvU;v6u;z`@`6C z+kWiHr*Ixx?46A-1lr0s{t+{-OPoAmy65-hC zoH{m3Oz&qdY4q=9%VkC563LIeQ*=)gJDIH^E;*)ZCQoL2ODU*^0}UP;<=KpQch3m= zz=)4e_OD2h7Tp9{RwPi}I- z2}fYj!+t<(ALDE54eC&8`xon~!jvHw=tMYVcGFg+K0Tay=2Eeml9$b|`S8K)1d(xG zH#3JFA*{?uP{DP~K7%==4=YkyZt|(s0;aL2M-!>(;Fz3UjU16tKGWV$fIp=V^J_48o+)a4_L>!!J>e>Nzf`Tx)*5E%Twb%|O$ zgsA;IF4jRHw#L=YmMum_E&S!L&LZ@SBllSemC9(N@Eq-~w%uZc!t=LYE{wjVE&jwl z%3)Wp6r$?kD|+UUPwxc|WcBDsFPuSZ!q{_^^hWB-4qpFd=eu<42a89=S4o8XEkRObYD9*X#z>S&3%bb<+HJn_wEF~%o8 z_-m6hm~S+vY8&5`J+F`|udS}a_dYfatBtshKjm2)VQ`CDdrbfX&>Lv1B)6osM$Hg2Bt1Bi@f6ak|Fx3#7Dfgg! z8AIO{O1@|<`rEb%D<4ga7_>oRn->_P#Lkk8R||tOIu&kR;$?P}j%_oXG(#)w!g77~C}8uY?Fq-f{4s-ngYO z<*c2x!=aMTRMl6VG4gqD4HZXdDfwcBCTjxIe4G`20-q;&;c&=*_g)EY6^~9Z?#wc| zDG0V?`+mDoz39fy(aZ&rQ8i5hT)e=5-UQWpXQv+Ao{|p*2G&vK%+0al+AO+3tPV<# zdY3=wk=1l~DwUBlO>cP`1+b33$2VJDd**Kl*RO$k5JBaNZNmrOGd@rg%55J5)C6CeP(0WAI%oW}*y6%Dr57tiEU3=`g zL|8cK79w;8`EY%z;(S$3l&QQCq4bU^=M8=SD9z5xA93!_o?<=olz(bv*nIVr;YZP7 zs^sYMl>|Dvt4?PW^=ITut!U4k8s53ff_n2|3`-%{qChQLTtHUXJcOdzw4T|ajni7j z!d(ty=8dOT8Npl`MN5^db$j_e%olDkAM-I17R480s7ubcd&#gp$k&KQmCs2?JDx{$ zcE?O8D6}d{ja~^`4RWh_eZ`1A?9~aabAp>L{5Mmi{sz1jFhSUyxy}pR0K@7=4P5T` zUuL+v@(*UE1o&G?eBg@0;YDxA$cSol3{A2_lrIXoDo&Tz`nrRb3T82qrN(>mBiE_G z733}_aCL$M3=#SZ6(O%#PYPgMs|aj`*?YE(%O2dBUuLd;Knk#($HLQo&q%^Imr@0O zJX=s++%Vg4Yt|`|_;GATZ1^RGw{nK=-Opt9R|?3Ap1o_!n=;KX;(_7x)6Zo^SI8;J z6ty*&aor=YUTHkil+6}9x_@b4N|ivGv*!9(rzB?m7iS-956XE(qeY~!hw^7jR#zG{I0IeXtOg#kp{DS%GsZ zVBWO8$zj}n0D+2$k>694tyy1d}DLH3jDshb(39 z3H+Sk1B(1b(@XUCkzNJkVhsnDPLj!B>3?>oC!YSQ_u<*uMkC3t^YUYS3L)n1N_aE@ z(eHKkhB=b73Dcpd3YFMs%3ueto!|#8z7v@$64#pth76Dw8>nbrp1|7)t`+<*fT)vY zB^i~{hqA-4SiEWknkG}1?tncSIaQxc$n|Hz@Dp5szXE;bwU9|z%mjV@;df@~{4`vh z)xZZ|y-=gDEKmw|>is=0%jp=axft@#iKM*?6+6Ohu|eFOVO$q_WGrMRlw=Xt0{|a;C;k_epcgCKkf|QrGTB)=B*q!PuhCpdb zq{;pCJ##0fB_*Sb?UvZ=CsrQJli+#VMW2nYw3S;2#5 za!zT#!BH0_GB|V1zU#e>$W1p708i{3wcZKSn-vXB$5a3KthPGwf^qDsTFTOECN8n5 zhK`pNRHu_@ZBA&v6KpgT{ue4*P4fpDeEHHTmDHd{+Ypfa$FI&x131d;)4BeBadO@7 z9yKy82ra;a3}J0+eiXAF^9@;FxvWU-4k9ga68GXn&aPv=!_iQTyWUVgDNdNN^N#vc ze?#~qxhl%~YqhbU1D9K8<}#)_q!7V`&QVUuLnf>jU2QJJuq-7kp|k{U`zBW=c$n6N zFm$p!JE!5&nDKh;9`^IaT^=}2@+N#z(o&!2HjV3YhvwHTYk9Q?X5r$D5e?0+CwsIL zQ*;q`)Wb#RlPzxTb~!1>@|3DSvtNYnN>sCJ;=53+=I|C{mC9V)FV8i;BXxenZ1)7w zo#aUTjmDPHXeGpi;2zlG3%Y3&geCZE>jj(ceWeu8zGyf(X=tFRNMNdaEh*h_y}`p)cL0 zY!2)dWSsez_{UzTC267b`tcr!``r=aBU{__@UosiK z6I$;C*W_;|iZG#Cz%>EG!I()35$97AOJt&%({ipM6YO&n`mjmiT2GG`=ah&PWUZlq z&7CVHOh2LY6C4qU&|gSbUQ>)nmYHA%86JQBNy2tx>B?rn*9SzU)7U0e?gRoM*KdoP zk|%~l5-g96ZZb+{P{dGP#4*W8e-wdA(!vYfz^f7UBYb%P-WBC8#eb-uAEJD=I(%=b z)kkOQzt%1S*VlIhDs&@vKo8&$9T5$-X(&7TT!1R+} ziY_lygkm6W?hA6Op)N!O*%3}Dq*R_%*^)P0bHPPU(v_td_FSW9N#6hYE zha}Qn+v#=15IEkz7FrX}brHNrFo1nK8mB|@qIbaBeUD){Lmd0#+5T*dp7su}8+n72 zUxjWg3%Gmhe!guyoFWii*8(x@G9VrwXo1Mf%BEa0~I;vYVAFp$*qLJCt&G zoHpXJS7vig^Wh^n2R#?{3(I3l`QJNT)3s-`ZL|Jr(k9QG)Yw^~eYuvB$ef*UyTmS& zOW@U3!RHDsa8qgK1&C^PihrP+DQip5xRZ31@?7nW&no%$sMLl|8sUH%)}XFze&)m$ zZ@qUuiD>)-(AtQDb#sqa8j?6$EWpnj39{;wz<8 zQ9)6EHVonfw@>6RW@qxTDnx)UjJ+q(*>Dx_PTkw!826mL*S$s8&pu7)zFK%LW0^@-)CGKr9v zjEOO3>ws#KM9{!~t?dkk(v!2ATNNTSX{EAka8G+YIk|A|H%#1>%gfxZs%Lw(#~Js7 z9jI@QB0I0c@+T2t`PoT9dSR2CNtG|7AKGwYtB=Kbk}I;KhR#=9-IaMCNM60DufT5@-9P?x7_2Osr4FZ%P^;&P5xNG-BIPx8yl;pTOmC1R)pn|ZJfLg&J~u#?Q{No zA9+*^!smN7imh09t0ToZHMXl1^?@~5D~_O;6WZehw+iwXJ@{CKUu`Fst$?3mSi;mk zA?FjkqQ68%`_QIcZbKKszPS}2KrbKY_PH6Saax3G3B&S~C$_8!mSfytL|OvDS=}I^ z=Oa~5r}y(llB)xiaHOme&`7t)>Xx${CFBIxjLS-fUuiG-oPFdx3KBE1N@qqmjcAdE zCWp}(hbt<3sW@dV3^7j=zgT|E@U&=rqe-5sskz7-LVQAXPViJ<@V^*K{NFq7KTG}~ zr7B>_U%RIBJbf1V;)f)DvkwK_xA++ZUO%=>+xPxtk|=Q5^o`3FR9U{`VWU3F^L1&X z>x;oowywt2^>Z(&y@y>(YHF8Cw$%}uvaPd0L6 z)v)MC5B<0#36K($4Ni1BjO1_6dhLeNXOJbzk-#{Os3MMHi5bqV#CMv0z!ZHduW-%# z(qi>gu`GTKy+K)!;h0y=bo?1Au2-n-I|e#RnvWs^F60oM;hU$v8Zn$ekr**DJxuRO z0DU-=mGD|!`I9EWL}itAZs;QuI&#*UKCApBoq7IC0-r~1JZ3>$w{iGs{pL&997Fan zN^o7yZY(37jBfyIQ`{U^J5Fez6P&HTg00!L8r%WcdQ}2jf#mC$_~4>8+rdMOPxv(V zxiCN}sUlqSoMoCW`$>uwxrA3V?yG)iSRmP3XmhziAH~CltxfbiY`XK{EybjJI;liG zZE9=u?zKBc_`_w^>#zM zCk@fNrJj1$Llr9r?tHdV?iIcSww|5m#qVNi5npx}69$V*lMxC{rtg+-sLE7YRM2xt z1SdfT4zN;^zMPSmA3x(vkXAK1`=XJI8Dmem`OD~3iECy7tfuqDR+dd!d==)rM7dfE zH@9tZ=Y*2ap?}xjC;um3G0d|}LQfFm2|gV}_%Ej3Y6&VX^2`LX%VlkJkH`jz4Ts80 ziOlz;%IAW|5{ZehI2W(Q(L73j>Sj%P(Ftb3cj)qz+7BN0)!J0hQcd%r-P!Sim+rzf z9n|+#bzAhE>odBM2VODZAZedZb7u)yMxOJ<-HtaSm1vfDCplKo@KIlaOeAq-BU!0 zsP_rp)!5 zD2ql5s7XI##+z?Cm+G$ww%7J!v{u%7bs)>sB$eJsw*MzXLMQn(e}SVRV(JN7fCa7X zdm&^*hKzewMnvzAbY5GL84f5VXO7{CtA`~szg@sFT6Hc9lu$cm`Od23)6gu6zc(PY z{MDsWc$RWm{AH4ant)A~%sMsf4WHmsxD4-4VDJRT2Kg7RKSHgC6j)q2)WHUJDeHai zvHmc8)GQrKJeehNDkrF_&Xfyj{)sZAJ2#XdsltsD1Rd+KIE%>COHd_fu5Pt0=(jU7 zfF@=Qz-j5cZeOn5E+17HIy1RQk8uKvCwMxLzgkxrQXv8`EUaOPqV%(%IY`&OcuB6n z$bqXP+4Rd~DXaS+TIyma3_ASPxHNKhEwxQ<0!0d%ySBL721U2 z-fX>n%wEc^b!2~}8N~KBp?;}D-_4}8JT$4>YdFDf@wrzvOhUW^}4Y*AqL1&a`#6Fi?m z2i}QMh^2k(CasgEp40MyY+p3UJMbN&)og+DQzWSz0edKW@hxMx#j}q=vc}spwkfWe zs6C+%FSH-C>ED&UNHeS~l4zK;)c3(8n{qP~UX zbrmjXYw*gU94z#`bu3&w(USA<^pdr+@BqO8IjUNGe}F(C_`uq=ii>1Dnh$mWNDp%4&1TnGk&2qWRZ8EO~| zeGD62gqnqyhyC%XZ2>SCJ+y$oe?n&Xf@tnEfy3m$>1?!>1x|X)y8wr+(MQeyJ>vd@ zgfA#(Z)1Z34vM2shMOGM%G1rl3OKY5V47~|6XZ@P8?Wy{4|`iXFAy9sFn0cKb|@Es zjPkH|wFbcfFEjw<;R+ITbwS|^dieq&FFOwuP*EG;)H(3Ky$=xf1o#&8MERgoqK@-I z012&Jom>HeC(7CWTM)eg+ZH$#4jdQ97XoI^G9a{qRR#$IT1^8u*A5cY0wDn=yj`qO z9-daN9w-nJn3Y(71TBHwK!Vml?m&@1CIF)#L3`ksI`G;NU(g98=nN7B$^zJP13`cm z5(IbyniZ&^H%QP2B~b=>WEbU_$u77yWzk7sww5?B_y%f8-+q`>k9NAni9k@PEYl z@e2hy!;kRKzrrHu{9vGOzrXVMJ>DOA{hS{0quxLV5P~5<2mnGr{|W)R0|xjT$6;Xa z2ozZ41=8UofDVcdqlGC1(1ie9dmIPI2M%1*fB?ocdh-za9Rm0j0c4B*MSuT2lJK)@ zECT|f9QQqC5U`Q`IHUnO-scYVM@s(1Xx4v-Q$g#SZb0PTPL!X5;)^l``$1hn&U$O#b5w~#Yh_Z-t)0I_`wxq<+U z9-!f)6$}X2`g;7{4FpW;zJ>nLRDgE+m-1aXZ@fSNn))qttoVRc=WkDdE<}81z#D}4 zUiMF_3s8Z_5q*Gu@GayE^rmkiKcEkN3;BZpt#};oSkD560sZjr#T&;O>4yUPzONq+ z^t=DG^=8^?uAyLprfpu27eo};)A=bRBV%SF?`2ngZu^|FY=uo)4 zq{>6sb8i|d#Wz7w^hLh$BB!?heOT>SZ0b_UyQjkIa?15fmD;GGizx{;U-!$-8_#s_ zo8~U=FX(m&`mA+4h!=oRf4o-JrfJPbO;(ry?IcnKQ$x=aah;-Tp}dQMbN_4sE%);- zV9{C#%%*x%Fl1dJx{p~v!F{chV&-+&6Jd#lIwP;$oCQj?>NLzc=DUigSQ~1+Dy?W@ zwcrZRsO7E5zX#^0y%HwGRqfv}oC(droFzkG4By5Zx+K@%fkSYU@Tb36uI+=blC@JufYwI?_vkGR zb->mFgf>_RuBilBfL7^(h3@M zubvWMYJc&RfGVM!tt~w5jxXZ@{qPlljWx$P{p%|TeH-8Z4%Or8{wd6peT6@2|NpFCW>skg3UoN8tZ z?fHa9G%@PdKs!!-#ZBQ(j)iuJw8~IZiJv~~bmeB1aDGE01KxpWkPB(fJuh&ISSD_|A(j)AfV$J3}B%Y0FUCEf%&(Op?l$vsM3(19shrBr4p2t z1|kVsSpbUwXlGX%`aee#K=0=OVuI0u+y~iwgfAqXHnnzr`c|$7tw# zslI0k1dfXr`d=agzW(=I(Q&^Y2^B_L)E^T0ron#P#|2!Jb$l_`F%@7*)56}x>&Jtx zy%R8V`u2n`_8u8hsDp|8&_FddhV?8$$utW&Qo#UVvx* zeU^u||G@2B!1vEvx&Ar72UPjLPON&zi;-ahkYC^(87fe_YtwL{@*Od@8NLCb`paxZ zgNE%_W0-R9-p?lPdnl>sQj_Z3{k7d2RP&L?Ot7&WYfkjhr}ToQyQ%Kn{M1&6T%wqxsGArLQ{xa%>P8cLzpl4X`jE#~R63-oUt}_ulpLz(bKSw6U`{i5uFh=F zE4lf3?$evQ0*u=QPm8absdi~>5eMhuIr<))4q!u;{n_V*(KY|S+HQYyu!cV#LJ1&D zvcBkcBc=yiuZ=YM+SS}-SE;;sopQ$yG#}5!l^Nf#Sng*JX$zEn<#4FDoU<$xu`xhw z$_cggeHZWsg(9s;&WJaf#vFqSuoE}Fv(_9f9d$>VOFyF#kx`(zTlgTFRWQ^yOTjvZ zhZSUp^*B8myhioL`C2{;FEcIOsDq7dl!BMBUv-9Eka+p2pr+{VAbXT<3lGP9(JpbY zCDpjgN9?OB$eI%x5bd`9pKU;3)c@DOV~>ZRx4B^jHpwu7SS^@kGrEG05*|TfGlHai ztshy;Cg?}rvuYx8f1nuSGE@A@$F!^y%w%u2p+o3cIre2de&3-%gZ>E%N+rDTlIPe( zH`N?&tvOv$1bN7)HyhywzM6ebd+N1md{(u%y-r1C9f#GNbgd6a_3wL^aZ#duUwtx*0O(;OMQxi?6%w6r2?bp&z^4@ z)N62Q@a7zZKU|Q1q#-HEV(+V|lbTmS7%x9DrRqta}#FQnBU(2*p zylivB8e`y3C$;Dm>|l>0m)94!b5gx`D~l1HJKC0P7TPsuk3H*k7EqokkkiIs8mV## z%j**NKO_jca3XX5Y(BJK{bT4UK|seg5O5fj0Mqq-TB!t}Bj4whN^msH_Uo+jC%6A6 zQ~GbN{}N9c<><>Z1y$^=(T4B%mP+k!S4nyUc-67b@xwO%?5)V6K?DFkQ9<58j|}pKj6mIKjMkN0A&03c*1C4@3*uffAkG7 z5(fUgPlAzfG#2%1TBH#2kNP4-{**luiJt2Hk`@An{1FdWxKO(m0HEdNaZ`$57ur?-LHn6>W$I|wWi6M)e zety0a$5?LL+TOJhIey&yzdpfdX?^Q>czu#3zJ>hmMNJzLiDp0X7ul`YHWd;Xi6kd; zR?Q)L>gzo<>dxNnv&VI%o>SL8DEGXoHdW3rl_O&$RFIl;J|L&&NzFIs&aRgnU!Hbl zKiFDJKb4y5!}4I$&WoBczxRH7*3YNi^|d=`Z2pWl)tgiIMhc2;Mw?&IojQE@L>;Y> zKmULK8{IQUiwhqA_J_nj#&X1jz5Sn`=MViZNB-|$g3q5K|NrXa!9k1?F0?0~?Kbbp zYc-=YirpWdS!mw-rgBBp6<2?qv{EFmrzpG#|~LIQ`+-Df-A~xe`BUa&mG~^~y!G z@=ZM#7HmU*PTDl}M*sRG`FA$|Xp@a>AR{@Rqbc(EsJ$9C`q{miZ|^!gX?V5rq_niO zEG~G{y+2vV_SW|I&#$6=<<2zB5-u(O@s956%dP+Zj?XVe^2IyOk6e_KQ(hH6dGchW zVa@Q`8P>zZ&ys?lKE2%{__Mz|4#gq@NwC3lPYRR3D1% zAO7uf`QpX5Uox}@W@ds?Q@MmiM5^#u{cdZ#JnETuS_Cb>mHAeB>SRaFhet)CnQy=TRF^tQMn=|^ZLoQwBkdv9E$!Iokk}}>$)$@ITZ%rY zEuN*)UAuXv;q&JM`KF(%>H-*YEWV1k{QdKrqqj3fr{7vtN2ia|by};`-uwtVyFsnr zf!p88aI!eHXTFtJ4>v_xjkmGul-QEDwziV4cPv-B|J9osl983IYHg*&_SP5nyX~^H zv<&tB)QkYhx%rX4BVChfapH4(iG`Ds$i~VjbF{G4rug`HhqWbMMkXfZ+#7Ovw_7*q zyDlDJWMn*2&t2&g6ja~+=9bmQx}%u$(r!vh$`hwfJ&cT`d4AgDfrRVo+wSh}@6(@R zC7DI-r{3F_x2Gs2+#RUeHnaVNu6XEkFN?1w1MePg=c$Z}imHD1j?B0z;(SvC@7!Xi zeuC8fP21{KyMkh4nGf>m+@7`fXRpjpdOr4qf`*2sBTaR?S!ZVL#OK%i_ETNa0Y^^l z{Eu`H`c%SIL`6mAO1|mU4=+S%@N(Y8#b^5Z`m9Aw{fEsEd*|il{d(Rx)a4ah4Q&&# zn|Ks?T%YHU+tQTgG5re0OA*KT$CA$*8om@Jzerua^sy@hr?*W9wIV@v)0cUxuKEKPNrb`A_hlQ|YzF3o?EH0mude|pA-!|C_W zJv20teS!Oph!f4q&(HsfNoeAjPSL(lj?0@U(~h0Gwr=^g#8dHw$N*kZzA{$a`QTCY z%$h3CUHmsc(1v<`qM$VBE3zU5Pj6`&st+YDb86IZ8t3-_M7)m#(7tKE`gbm8F=B^_N_`{L7%l%~s?pAwS? z=7#FEs`U|F*w?p616DuYQ$FOpvSY1by3mmPm#X%wfXwlyB6d6l7GM4J-Bz}`t}S`K zer-lk8%(!LN&Y(WIkoN2J~{!jFOTx`?JO>^_m^4^?<8IC$ur?t`QgV}AO-@wakkX}-t=9Ma{Vr88HOwb5BD;vs}?>&ye%o&)!mOb8CHNG*+Y3o;O+H z*^^#n!(;k>K|$W3p;QQA@72Z01R3A`v?s26v=%T^QEir#l$1Gt{@vHFOmA*}JooXr zz})Jh*)h%BEw?_!)OO_<5$|U^`Q_u-fSuJ;7yp*++Y=0H{j?;xa}BDu`P1@mLZ%N4 z45SsY<$5k;8Hkt|`dWIg$YJg<(=y zqA>e4)qQIBAu(Dk>z}pX^*9&TEiCx>elISb$0~+IN2j+h`RjUXHfz7RxrY>|U+G5w zUjcBr((TVIqQkJ-YtQm{N^Dq#LJlNSK>R0hXi_9mgxzA0Udmy1Q9f zSftW;=jZ38Uti0(i?p;pTfKLzCH`UKt;9sHPEWqk8V?VW)wu^jL3;z4M7Jp^DJ9uy z<=wt-HB=XmY$0qlxCM{64e1>ZtuccGe)Hzdv7Y>+$fQ2l@}sUj?vfGKXT;A z^*Vn#0tPtfQ&3QFI6sj5*LEr@Dw>FGT^X}mK=%<%!1YxtQGAOD|)$vP)$?{s;jsiss_RUIx&s9AU`-umh7$j2zw(1w;bx0Fay*RQj9Q84)-9lk`a8v9yW z*!X*|(hCvK`P3{Jsm=<#U)=~yw=m{k5+_gYZ%@7~jlY!N+`Mc%)@|Wm+pLo>U~zVKpc>z+b<2%Gr824R5`$6L;$&wQ z|Gl3&d6xZ$Dk>^&x5SY-EsWjAkvN~V>t}ZM3H<8i?jpIRCBL2GUro-86hU@9p)Km6bJ$ z?y?f6swdx!z;R=}g~#3g{<#M%V6yw($}eModV!snpPxP(Krhgee3{|HbAereB&MB_ zO~Z!eJ18h*5#6X0Z(Hy7%SFmnWQ;?zpTBM-s1$dX!@~dF{n7 z0YSloKs^Vl3rs)noFDyEzxI1Zz{>TW&O^21yfTV()AzjLkz`k zoTQ@{FililKOn~|B;Cg6*;0qatEsCq)ycA-?!m$j2HZ8Olaw4Wlb7FV|Fe&rgwS}} z_ECof%vDq7I8P!0bVQ!sm)sm9?pz}xj@`J^DT%5~I~+zkj^>jq2hw zatv>`C+{gR?@eA@jyxwU=xOt-s} zDDbm|J)Ke3OxI>Q_1$Z|_cC8eR-jAQE>s)}5Y^@Q{PZQot_AKWpy;z4q4C!;w18Gy zOTKRWS(D}nHF4>=*k5t}iwGq%a}fKbh&TdlUws{+qTd>9^D@oT({tcQLnz4urROz( zVPBrBhveUND&121^F%OUY5fn0(-&HNZ4`{=8*i4EryK7TqN43l?<_n-l8O>E|Nir5 zAZpNMt&yI1eA^cLJ z#)Z`>5U8fmvfp$M&4B}+vF;n1ChKO%+ge$rwjl!MXV0Fc6)+8R_)~Pd^>EVS!v_ye zI4#^hZQesogg%z?W^;7fFF*UU4h}_6>oq0sC8oOlS;fZ55BXPatR6+k2-gV#rX&r? zwyO??goHd5vOLsNXnFige7v-`=^Y_5pWfX&cb+?UZWA(@7qZ+-ETPla1zTHNYR)6H z+K83{%YF(Ht(Zf0;}4!)yLNp5%#^xW!7S<4mpWjFqP2@r)P6Uq1z9A2avvqpgrLN! ztE)3gy6G67d+-*3)0=|n9NvnIgp#i|5qaVKd0*qm#ZX;RwsF%zs}*3=s}Z}5^gqA4 zs@nTEL@RPX6;+O5?M^GkSI7vc+Pqnyj#X$_ zM!bm}$Cv8wpOKFY36}cu;*{%aGnKTbZwI#(y8-(X_@S*>ufISoa_NeEZ_H<;kQ^*% zcup;^b^!}Nf9rQ!(z8%UKWgp=K0Z4b&sfWtx#f!aXjBkKa+4GSr^Bqfuh@p1ga)VW z5joWkkDf|2M#@@R^o!%|7pAQNYk z0%pnl=}}P(TeoeaXFqPOrT1y=&8<&QLPJA)?ix3S#cRH~NlD_-E=ZT}I{R=NC20aV zylw%hF@kgji+44`L^RMxLHoEu&J5kDn?5VaACarcNewqnCM2CHUAWDb&v;;Rd11W0 z;ll?7^FHjqS>yZnEuufYzF4NswaJ=l#){rk9J1nEXOeKyNGa;8bl0D>kB*M6u}g}` zXPs*f8jiAClU$#D*l5qG7|oSgie@D@KmYSnFT{$9lT%60pLCsK6|*jsw%3p3E?-W< zQN3pLbko+IEht4-tCEtEd?$hJqj%Eqr3<v!$!*hvdG-zI%a0BQ|QO_!z%b{*i65wiTIRyvK)G|ebw zmk)~rratOP8Ax~8Ju@>?q_$sU_~z}NASO}SZ{NQCn4ZpfQa8m_z>hem?|f5O$VsvV zU`_yx8F?+3qWEHep%t2hfXM^AT4AIX)Rx6>-hxQU>?E}et^7NkuD^dWIXXE#NlIe> zT4MLu$EU2koSd{c)8GGH7){y(pl0cahzR-N)^g{2A`Y`GNr{QHWz*>>4k?QoUyH2R zDCM#~;bbHt#hHFpM-P0ppx#d7Dw-UJ4ejjf_rJ}l-gqT)=VCXq?34U_0kSyY97KwY z%$8?SQB))mxAme%Yw6X4es+fAZAm`{2I8sfu$?-c$X8O@u3rj{iK65lCaJ}r+nV3B zA}q9Fr6>~yV8n0v@#9C6)|clEdngWxrK*<*@P?|$t}cD_*)1BgJ7fC;q#r+0OSVCE z2VZ2H5L@Gh#;JwXnwEmIolCa{syw%NxVX67{*ta~DEf3U3q^!JYrxRZFcl!1en=zr z3ag0wMp;iby6GQNQ|W>_X(~x$*f93D*;WT?^DajVD;uxjeW~V6-v_hO4_O)+NizuE zxzg=+`*v!PBJxw6!;a2Lzxqi$L0-h`!Ke4H1AE-Kbt{GcL)_ViT)e!O*`u>vkWbVS zFH(lz1uC5>`}o|=&OAf{Z9S*OBn}{bCsj`$tF#xbKp7tp_63h6eol9Hcm6|<5AwE| zlmhxvR}&#>?t-#$FZ?e0K$_}3v?rvDS6-ffyo2;PQ&-#gSw~5p^{_mTW^Q6nc5`#H z?R1a8i?*2X6C*}9ZzkLS?Z)ZaO%?|fMVI$?>W2(E=xxl*%$uadofcY(ng^=AYi)HZ z-M)^kg{UZ@15QOz(dw;7bMbg`vNvL)?U1}l?|}@>H?osf*AU_l+gZoHm6tkv$X)m3 zWdFgY!pW|op|Ou-`n5!WNz5Vm!NZ3pK)1w>ZjwTH4SLG|-S{((!)=Qmv8Tu?q3ix} zq=k1(1=0TP=mu&TXaK@rZrye8%9ShokWSiyBsaJyJ|Kw0CEV6isRg;Y<;04Ca8bcR z$B+?h|E${elsgMu&C+{83QkC1L*qTci1JFv?mh> zxE1(p94BjGI8xtlCD&$DF?_aXkT1#YQb44jN}~w2nelCwTH5{${mK|*@Npb>KsgCy z$Aec>uiUqv`Ie!ogH`1^a^w+s3-&q_FcsAM_n%{BWwo98CT^w6ZESwKY~E<)Rj(Ub zjN6}L#BGP__Ut4lj|Z$j+*tPZ;8Hs(H}Sr@m2NK(JQs}W0}oUyJv({cm>J(jRedc@ z#gm91)K}ZN!Sg*iM%xLvXx=MoShIs)2l#Ug6+8+3Yb$;{O+K7wFt_sWhBkNf;PrS< z&#lEJC2bG3?i%|w++@4DU_yV!I! z_T|f$g?1%LWkB_IxxU zK?jA*$Z_vyALZ|I)6cK&bTSLyWg&}`3+3>wq#N?eWDya0el1Jy@*W03wdYbJQ&S2L zx9xceD&u0sH^+_jGoFtg`Gh*7DNVOc2eB97lh`?mID2e&^TShqTXfPnyxqu_c0c=` zVgFNd#WSm4QE%4*(Q;lXRwBulic1G7${DyV(X+HoAcL_UsZcW1l+yci8eo= zS1pj^94;>Pui>!!H9_tl4wcv0v@6e4sStd^c!Yb%O zmRusOT@7#d#+j|L^%c%4lFUJ{nA(TVP%i+!_ z&ACdpQtyD%lon&^=^7y=_huBqP9@@{uOJDU00L4oGh4RUZ#|<728^{-j{N@p`)aS$ zxE~IsG`S^qgo1^8{3jZ{SZj_^{TQd^haDAN!lyC%}#I9FF!*Y4sX z5yvXrJX+FSPshT)ko~EM;^u9;Sx9Qx*Uy$X|IU=xsMWLrgQ=_~=(=jVN$T3QYqrCU z2g0)(8X5*0QV_&mMBRB-Dqpah4y2?;YTkf< z^{YHu@COa~m*twfU)Fb%lT!`}n09c5FQRK>q3CdQbmaazb|sw+tk%NpfOPn5l_MD` z{HS^$TBMZRz~C&+?fle*dp#(aL=yKeVf775z?Eg>>O{(s<7ap_H_OO4FHKQ)uFO>a zRf|Bc`f8m6wAO+Ct{n4T!SG>0LBTDl--=oUHtLR{>5Nh5V5g=3TlPGw$Dc{`+LV#W z{GZ?bRB`J+9;hJ&u(8ZHXxr6izYOJ6^4q-2Z#saVlbs7|xs_L^C>Vrfe1{(O(QE#0 z%LCgV#>PblJ^*D8v zDMCfCO4SFcnVNy&wf$OEz!*6d2iG6IB+GaW&h(57qCnBNa}Gz}ekDg*?`j-8cNYe`HC&98-p)20r( zJA|y!&}LaN4Fs?z$%nU@^`0xj$vOI`0^67GDq?Uf)u7tT@b3h;=|TLA?cDuBbag(J z46peP9MiaBVwiNjzruA;1lh0U=w1|~_l=DJo?x#RcOKoh%JzIiM@L7EgJztKbK+UY z=^aKL;J*fY-GQ~!&Uxe?@r@d9BPu{ZqTk-rsQ~L>Busz9nq1`A&u2u&@a9+(q-s zW%Fz7Izbqb-nO?>QE@0-A@4;hpA)@;4!pVDN?uOx9af!0Lf}=?=)1)4F92`=A-LJ& z!%R9k1h8!2Bhp(SGiB&O;n`bvQtzt_A>hkg@BNj_dQEHCy1}fl$deh%81SFwvZXSqAqjc+2r>8+6 zLoPUb@uE+gP_51L__@v_h4WV#1{g9xjcRos)yR%(TUAL)PWBs(&D1S@CGNEqYUSIO zcxf^c+V@W(^NJw+PZ(5f0TgH2%PdiY08>s=VV9ASx!&-Eo#50EzOy)19zF_(m|e+7 ztB9st=YqC&=;u)#Z%<1%Z4C{ALe9?4ehVx{NlpC-ZO=fYzT5rsa&f&17hiO7um04% z;-1V7%QfjO;MLL9g=+iC_9snWiQO&$Qqo3eEcL~4ZLW#-l)V5-N&K$Gj*4pDKKl+F z*h;#4@7|{nSJPi-m`1Bss+yX1N&Z;~ZL|htQHYh$%`zWhN1jMql*&0oqz~ibG$fAR zeMWhEy7MKaM)G?=m|nNY6j8_=rw{bW2B0IoB{T^njqq%wQ4Ihf()YLbH!m;Gv5~m) z>!Dbk!>eDd3Iu6|oc)E~QWx6q#p%T%yor>|U2E$qNEBBidb_&~R(=hWJWz9%*VY)= zC04si?2dwU8JL>#N4v(bMMH|?(Aq4@ad3HR9u*6V`C$` zEy-C|Q$z9))=NKX;L2JS2MU99veJr~o}OoeFFKOYL=com|7;^c2}jBjPft&;nKOUu zU}u73HM_KQZKWI-<*u#mmbm_v8T7)-BT<&Y5fNU9LBsXsIT7!x#PJ1IH^Kui18iBL zl_3OEUvX&YKuEEfWWHU~D3R!+$wxYQ$Ll)wEO2Kg@apI18&&1Dv|Raz6jlm_y721H*AE|d1MF!H z9i*hZkHkvQ%cBhK`^Q75mhG;T0DI(tru;id z-6F^Ns`z}!Y!tK}_&HwXDaiMqQwFWj z!KrZ8;sw=b$KO9+Xn5~Dz!S!{*73teq}kJTWo5-g?91oNCqEufWK>d_ygzv4=fCRx zL=;`Zo{%2Fv9^scK3y%7!HUC|JMaFU>8IgLH5R&Qc=M)LM~B)v!kOfOZQm;=C#O~Y z93r>zdK1LRtFP3QOBIAiz&9n#$*O}VQ3fZHv}p6>iZ`JB7EVsifJwR`u`un#B`bxm z7vwKq+{f(FYOknp>C$GBhNk9tzN^8X^t~eCT*{lUhFjyr#-*%O9-Oc``}G%Ei0W_O z^wz&>*vYl8?DhCIT8U>tYt4jykH~x*tCPncT1I?&c4|9lz_*~bTMNv!A!~0&&aVTO zzl(O;!O7_yU!+lu59K!9&L1_4i8*bvM9WV#jUzXU<{9D|35QJD(C{#%*av8K=*$mS zh!B-rM-r0w)VFeN>sTc!)dKITE<@n=JPE0rySo?7HNGWnSg@@fF^Ov65Ti_M5~*Vh zK6O6&QFoNo$Vb-8k2rsxI(ZWL)e|i60GgY@UtlNwI8_E3xN84CkBUNKk{*?{#L?BL zbSqb!oH!~htTD5zzAWN*)g4z<)-Y~WStE^j>F1$|9lOkj-H=%B+uS1hbkkr)2^%%h` zo==bsXh8#;uVnE<(5PNCD>6%}{n7UC?)B5C^U4`o0;Gu`%>j+8VmCeSi`glanXvtc zDiGUza-J99XF62VW5h+(#YozI@^+KD`6xxLF_=v!ePKGS5iD30cIHia3-z{R0Sz6) z+h|iNqMoNUQ#tbMdy*ATO@wBPm2UWE3Yzz9VL7Elr8&hXoc!?XFJ6K*Je8n zD^d~G$dt1x|4#RQA~qUAIjxpw4U$siFY9_IMG%TCftYkET<8Fd4i>USHi64`_nExG z4tRZ0`|sBGUu|BB_zB4_louP`iEX#yo4TZ3`4Q->prC+*AytT-yFRqTDXuG}xj~3g z-dx(hRq#gV2C3xpD104B{Riq5Wc_L5?LO2X$#K8%s}IlY2r?*O`aU=L z3L`c3jkftK7EgNW`R$nHI&EIg-hDW`#H~v{`Pw-_3qd;fqk$^=jLkOi9@3!n`Si+m zXlrYu-qGM-o)8kE;bbKJjdEd8(AY=&nvZUBJrWfPFpnPR!viIRF!89NEcf1hPR(^i zYA6?>X#kthSbwD?k;=fhJQn&0qF~4)>CzI;x_AS=CE>f@NimY{fqLam@8E74*2x+lP~&d^7i%Ml!4LoZ&kJ=w^3^8 zMtTx#9-dH6;et2-CA~@l7(TBZqJ6KRjxcY*L`TkGyjH5>ccI#{P<8qrHCI5hg2U)=gk}6R`4oSH9 z?4sfO4xprwcbl>?g7+~*qB!VKBL7sDLx&CxR>I(xW>pT(au5uh!|FnsLjpJFM0Q6m z6nYAxT3rY_WB_yKQ&@~hZ(&n|k_?zBg=bMK;QUwYvlo8yohT|U_7$RB{Lkq3Cm-8i zxGv0nwsG!A{voc4J;yjD@RL@t1RjO~LT!}w7Sbedl*%!-OjRlw+Yh_DJ zOuX%4?tHCE<~!)0SI6*Dbb=OrK2V?U`|JZ61|yhE-Sx^ z(5cd13(1*y!oP!RKLxYIZk(8PuvE8u^3ocXw%@4mym%Kq>YP`F4qs=N7kO;%CI$UZ zw(;D1R)PBtGLOMr6oohKbUDEeu@Hdzl31st!z>9Mb`72|$6?M8wUb`E;7*8+xpRQ(jwP zP5^gSA6M9u-&O9z)@KZjj07aoUS+Vc?6x;6Wf8bB5*_9gpV8-OdGVQP|0YQEMWv-f zXvc{-K<5((cx<(lU6S%r!SUFQdbMG$@UYbvs=K+(&H`$;fMb3?Y>m!gJMqYn1*{-+ z-T7K_;2%{pp{|qG*gV}~)ce=RK&XCI)z$nUmv=Kui1jWW;7rBN6NWM;ckc{r&W^o% zKP?@;{JyZS@swTv#zC$+@sz?fD z@Wc8{TYI~Kv2i$?T^Fr!d!eQNI$}m1+?#rAq3LIN7xBWw+^)NHhnLPMGvUdLii*BN z!+FBVK5LaJ%4*TGYL1L7>;BbRagjIikdn&8eM9kU(T|Kx2_2$$+j&1D4v<`5#=|G8 zj+S~3$vg09x2wKRuAsbzoPt_M*KugfsqZ3Fsg;e5Gz?ROdk{pGMDOB!<8rFRBZ{Zbz1aS|r$^mD@V;E#%7(wpd2EJ6i=bB#Hr7BK_jg2)+t8?eRkW(ke z31_}`(CL9C>BtcobJ|*l^5o20B`smwT*)oHePIeyP}mJ;rET+eRU3QzI<&g{HX{ls z#oM4@2-}S8hB?C*-j_KY%U41@^5(r?`}$@V##PJf5AF%kc4gpTf*CND5h~VPKhjdW z@D3iAp=4Of2DeJVxpLjWfUH<2aCzAwAZwcck+*j}XTOwugL5re@!Pjju&QaAcj5m8 ztkH=0_wc1YB9nH#m`0=0^p)1Gt+8<@GHVSoE9h7Xgf}C)p>wjb+x%#bXBNy8kV!O| z=R#Uy$4s>0Ma^5r_+5AoSahxfJTAknH`i-fX#nmQs~f7UuW$Y#H-et1AKhtJUmqk= z4yRH~s_Ru_vbT{?$9&9LyWZqlwS@@E!Po#)SQ1!Zs#RL}x#d(H@Em8H9#(fPc2`$#CJcY|flPBlL6R?3lH`}+lmn0Y z2wb)?!v?w*2?>e2_V%z0MR&=*W;-@NJ9}kqOK{pmHh*I>3Nqoi{SR+gJhFnY?btrj zM=JHC1zubB#pv5S_;F$9rDKQ099T?5U7{y5@u4EuwSq5Z8>ncse*)<0xY)o>)``U| zWNbet-rTUk$HM#3G2eWj+Usk3AU$4GQo4W_gKy}yO;`GmK7;_((wG9HceD_P@1pab zqgQ_cU^Vw#CrA9fQ(tP-ZmL6vG8Z#AN)8DTEk2B|4b9TU889#mM(t3H5ldUTX@ML8 zC2y-#eh?dUTYS^^nVBq{rldk=;2ubXe)NmmqwGo~M8g(*B`}Oyba0%-NiXic3Rms* zdvKD}xWoB88O97vAvXaPNF{omOJ{BT`Q9@PXt$U|Y^C5(sj+bdTL5Ln1I6BV@|j`u z!4v7`SqQ>Ry>dU*6vc6Yf*oVA6!GHLwze`*=NET2S*w3rJHcVJzqqvY@f%ix9A2v8 zN7T4jUz-~#eDmfM-fBDPDO4%$rOSM@i|)oZ{$3@q2n*9fEBI36KH%(3 zSRK|DY6x$N^KXl*4xV%M zLCgUgKXSO6wE7)JBY%BPhWtSC0AtSMs;W#=bum%;=?bOKeRPW#z&m=RX6$!xTqGO4rKY$<58pGf8-c0o$?* z3S=RO9-00GOmtkYj1;`GN6{Rncgp?yUoI*+JWs+h4_f+#HrNv8YJvmB%WWs+nY3?1 zU8yD(=iZE-?L-H6eQeQbV^_Xw=}(t`lx8X&aBsHj>gl0}{dRls%C^mRN}FV5WetIA zNgk+#ewCv#OoFoAVaGI87+JnS? zAX5(ZQ-n~}e}p<$`{{wJshF5p4MRH?{n}c$2Yg6Ue38}2xG<;*fU6&~R)kNh1|mP{ zM&O0ZF=CpNf_>UPLDZ-bckkZy$jZtpDnn=!-aU*C)$kkH?fvn? zUUwDrAz^VumaJ-S=DWao1h57=?PjT)vFcn(u5duK*U_4gPS$%oa#Dez;l($@Xc`az zFTq=r)IKe$)O%CQnfH3;)IvEhf`aEXt=(_CV_F$~!TbWJ(^LAIUjgV3_mc?EgULj~LS(94igF)KjdX#!%NEDkge?Y_0>fOcrWJ4j?K0A+-7Rx||)Pz{#w zO;Ut-iS*3nS$=Qk5EO^tfAs2c;PtSO5LP}IFBcH4(2UswASitb8?7jd{(T{kk+K@F zCiG=OLai|-3gSWk_%*={@Opm=_^p$tPO*_X;Oc={_eIeZlFDEO**~tUDl^eQ$aU6+ z{a{o%NFCT=e&(Ow%3oW#a<6@kh?%;`dqH=isIpR$j0N(2xbc6w9V8aGC$Xe$AfUz( z5n*9riFwChYIvodrASHzo9I-_3O7XGZ%lT4&SXnU-xF}pjaOf{KuM+p)@c4fG%!~i zRS&-eZPbq1dK*qQ!pD(h{6fTT|B#ST-EOC~rHrCu0s`TR(ZXk|z4xl`42_B58_9>k z1E?toaEp@Cb$RwaXn&58@fu&M@Tv)w3mDlso=JsC1N#>bx9{Cg0_ERXH3E35!ToR=uG~4&Ry-^T*#&H7a3*+U0 zN61Np$VJ3_|IpBo3EZpl!*2iS+%mI=o4m%A7&9=GJj%-(a4l0u4o&P9kGde{EWvfc z@P=WT(TUQGLhelsC}L8uL2JKW73Wc9}waqZprkZY2Lb-X`!4j{b;quVEogD;^K z7MWUOFw8HV7AGi4xp{eNBC%uVObI>F51b348nC_tcH&J^;E*~>ETz{DmV6;k8>Wg`#gXZ({PCse5vBd*NehgbRmZTbEpFXW-)|0ym z8WAC)ZRCitD!C6?@TB@J;-mz?n3WkJNK_i5i@K>F*SluK$#8ihxQ-@tcXJ;g-1<51a zO-WHP88js}^Ua&~9zK(o85B5aeuy$9WY91OKY3Gd^CB^z^$T72Rw!jEe#(yi(FU4* z@eV%sjrHO-;c-01OXoqmzMwFtldzb;Te8{H+xuuhr8^EH#1Kx4HRy-(1GeUu?9BHj z6-*7!wC-D7-v+Wkt(T0RaJZfkObH?`vz%>lDIsLAc8B?}RnAwEQY>-Lv63-Z<$f z2~E;U9Q_sCrpFu|9DF$6;4o6fxv6ZTYy}lxJB#y0d@Fxhety1iSKLhEmc#8|9!GZ- z8WxYyD@p%8YOJy;B+vTvF#bjL)58zYY^5t^$zW;PPS!l;w(o;kyPcCP9TbX~$ClC&!gCp_(I zK^g};6bqi=X9)aoh_8$~`ETB^p_Xjw==abBsiY#FrIB;k(b-uQoS&VaWQa-AW$hkc zAK1@$EruYC5Sa-kqVAp^p4xJqV(UT2G|*IozoMhVq{2#9UhRtKB_muPY6W*Rt*x#1 zyPLHo`qq(=;@xi>870^;gOOoH{@f%57$(RSqe*9^atYs{%7<~q7f=|NcPEeEbM^G{@}s&(*a5&Z4HlG_ zm4!ucf2*M)W>}8hy8P&5dq=%VS2imMNgU+?I_U8bVP^@YaH-EZ&v z9eJNwYX$p0eDFuVO)RSXs48jUqfq}9Ev@Hu%aiBi|8?duQWh#7!=t#+*72z|9Pzee zS~B>|p;te3`oSxPPmlLRO!OQ=Cys)a23ge5!N$f0gH_aU*!UVfhKj!};SXkRiy-QsWa?KcVpU+= z#r7q?ra6-{gTm&+=}yXnjqJtX&G&9eit@oKfypspQa3dIG&kU>!tBt*AqDwk{E1b9 ziEI6gh=>Z<%rVejPW5Ly@3TlZ^|UyQcK-Tor?N?Tgk=>fX&TW>pMPlh4GxKzFIoCZ zn4u_2x%UVUh zToZM!ikJ@=2bJ6UG!l*)sW8WA&>os5*}0fuC47Py0g;x$rb*XU*pjcf zPfnEcxv9#g*1tWckgftI(TT`USZyrN89@jLRdI!+hXGg){K2G~d?=U42mVkf z?QIx9KP^#Qj$sU9{y^m!rZXQCm=dRoLWe!%)(NDs!VfsP_IQ%T&k-CXDh6_3}0W0)O`-*bpnXK>Lje`@R4Kqnx z5)yjc(b<6=a^&z)$gg!QrTi3bK~+&6$0x5B%6WKu)}t;y$~Pl_Yv1-?dbPd-VG`Un*Lxp;#V2aq3b zZuVLl6ekhqrr*kn8-J)`ZUZFA0Wbg;%__#KTbyoAoaXvMW#3q}4ocl^*+-f6K)a@Ky3wxj8xU0DvtJtM@2wr}VX4 zYO|m58`ixEW6H`ouq$wukfSt&&m1$+K1fAH2vz7@{rYE`(RQd4Q{Z?rWvpoaBp6GK zBvV3jn4O&s4vUBmRE3_3(J?S~_tC*j{3-7O)nDeib`bCkpLyTepVpw{$c(X2u)T2@ z+#M8(c~oLyWb_cZ*=%}D> zF^zp_c|D&!d-l$X@I;W}Fl%VoZ36O-VgElE;Ew(a!Y2hTl;E2}4xi8E-F_Y{kWXNs z7Ya5pJff=m{{4F?H8pBDDo8L)z(jO$a<%(&2#zbj-44j!dfl;r7+kml!WSI7NkBiEoZy%kisQ$RhgA0H_&LujWkwn})6UJPcv?;4KK?Ll(K z=1{!Nwh4JzR3t2O;X-w5tMYoxNfL%@h-)CwvcskFP#H7T^H=qe|A;RJQGgl2kZFFt zg}oTsn5(7Hhebq8j1g;)otsNcO0m}}&*IFxtS?i-t-%GBL%HA?6*hh!rj{>UxPW18 zga~45N%Iw~Pp9b+vPyI1BLF7{>h&&oqFenR+ebdCy`6 zMv>Ox38UpV+ydM93vmDA#Kf!4IR<9t<1wL0hlD0FC#lKpFgCL1ydO1XrF&*z#VG4# z;??QtU$vJ^1a6Ms`*Kp_E$Bna0|$~i^NaYaUx#AU8ZY-9ED=Ffelb%!4_0c>iWsAY z%WM#T&ZS==1}AaYw7{9!%E?_M!lWdp1XUQq;0_W7l|13FQM5W`uiIw3p*rO}{t_U8 zXGm$aBOWfoLBvjWVWBrZ)9}-1O#73(&0b0-rU1AsCi)JUT)Kc?3~JpQrg0r8rEp4jaPuCU`R`Y? z80XySKIzXOM1e@J!=l@WiujKkqgY~gkQ!~T2LRbCU2mW70|WO7dl7`671LkLM#pZA zw@LV8;bw*A{L4vC0>-^U9a z<{;=Sr}7-XoIVUA`J<*BMgZYb3;I~b3cJaJfO~;x{fU{TGmMw&G~AxV!~{Y|9)!ca z=-y1sJ4;z{jE#aZ*a;zmn3P;wnx^Xas-`u14xKU%C!0u&*n`x$J^jZlhyL4LHEG1y zKB0yn@qC_CrSl(72DK;Vx=M|#$OX=+ZgKzq{j-pY8?p*-`MVwh3xrkXU7-@Mx^uGFlR$@4C~md6cV~FjL_B(4jR=rxHo+gA|(1N4Pu!zRiTrldi-#K0bi9 zH#m>U=!CJ8=PY2k`l`5u#32+%8E|NDXq&babf>V3i!*_4kcLV9`{d-Vf1Ifi$0sf* z=FzF#HnT+WAxak+g73Fy60C&3(1%tTiAi-1(|D1SVa@QA-{Xdnk6DgyzE z(04Gq`QzN~{3zH|LFc9Xat7w$tC5w&a78`v19629Rx9_`r$dDPE0ege2A$f5TlOtT zXRF^ob*Z^kj&u&Pc*1A^*3}9ljZPWnsu=YOG54&F8I04klEg$Z4k)h%vZ3EO8a$HTen@n@|oMO`MEu_XXJ4& z*)|yYh)=@9Q3Y@NGhB*;qN4_T&=72zwa{6BnEX)NsxYVzyeb3JD{+wyZs{7aKW+07 zpkg14zJRyo5#tj8BQRwhfQZ`?cXo3%o9U5cg{S%?J$4Atim8!D zs6Ba?1vA~6%WUG7I#ObC@*oHW`pE6D$6=3CHQ#U$$~kOk!`G+s9{c)I_8%b}V1w`y zc;dDnQXB>xis|x|+F;N+D?{8>0~hKhECuPks@>sAV*2oBU-3ie((&kri_5P&XM)-}P$FPDM4nnh8)%N7L zB%P7}FcU6#qQ$8>CoTP%4~(8DNTd@myH;E~Np`pj+kIAsxX$eQ&6^Ru%8df5$qMhl zQ_SL_;~_W@^8(Xc{NjD3_x2L)P*6~0Sq9u#zEt~feu@boeo=EX1?jqx5u4*$?CY{` z-)P@ZxSAHZ-k55yN;v0loO5^J+?-q{(IYwj+Jf=xx1fUWVr-DOZ3rR#@zje*L?IhM zGsJ%4mLxczZA9grKv3-gLi#>3g6C@Zg3rw1CLYqW#UojL(X`@Dr-=jsOgdt(w!jhD zL|kb_dJ9$C`ix*~3hWESnmrYF7KHe7W43ocZWm&bxZwJY{`74R_?5o{lM)_Av;mXE zO^XOS(YD8!otJuMgk{NFIc5 z5xq$%x&LeR?j53SdI=VJu&{)<7Pg1KnK-d5t$ zcB1ugS(`58 z(#lKi`Li(9O$9glyCSQhmP&VbVmtq?&+mnY&cM<#2z;g?7*YWHBP5nHXXub$>(NKd z;VK^jyhGI@tkIt(*w0x1xQMBvLlEFv1+9tr58>9@-f>xN!&Xnkeg$ItHp zriMWd69ez@h!)doLVic*>iw@<`Fz0U8sJ_qhviw;wzjq_kWHX^ZigG`qXdPH&$PR+`LElQm7GY8b*>2b4 z9lt^h*yCy)3e4_Fp^+~uDl2va}ak#?Jj42VKXQTDX@)=}%glX-hON5!_@I3$Gmn;Nj?1aE>wgFBcEF*22^lH~VA zc!EI?OcuC5*idRh!QB#fY{B;kUr`*C6F6D9EB@5^TFYT^Pe7#?I8#!K8M7e-r_b$5^*iwI*uA#FmMQ#wboJ7>HWKV( z5RuMcU=Vg)J$;ysjhOtyL8z{(+9dM`x$ireY$9F=w(;;eVs~I(Bn&lZiC1qWZUOPI zjN8&kEWI0lad>jv|GE)VH6X*dV7&T2+`VZy*8Lg<`lpFXgH$3VlA$t1q7qR_C_{s> zL4#R{qDUpll!_?xOs2?OsbnY;QDjOHLMoDka@OsA&pvx!=X^My&WF>ruYL8Fc%J|B z``yF3*IGBwaTeguWbD>4MFFX!6!6GNK-mw^Pb|amB58ldvgvb{n$>tTA{q&Rhzm}s z3eMfzbcYX5SRn4;g})aeA*kITQG;Drl~rC_s{T5tbu}K=gJ}@@%5L30V;Px@`xwqB z_Qxo<*TWwp;Em|DFUbFz8kr^5Mbre`MFJSp!<~R1l5hJ3Rx_(#w4me^YiH zhp2$WWy}ZY+=+ct>Iy35N0dbhosDz1j1v`#&_>2RDvCe8uNFzMJ=C^{h1pr2eMFH2 zl9VdJhXTtJZjg&*EbC|EFkbQTnZ>~AfGEgMAv6JEz<~mSoYP>?kQQ>#`;@#E7vxHu z5T;H+CY?WTUer&HvnZIhBS#UX2Goud53DaJ_WSXRin4>DO%e%;Q|}rZqjA{@pur`3 z<0%zqG&@a&Xxz9V^SQab;2j7ZPc&W}JXw|?+(yeT=hzwgB)}nvKd)&=*@0y$zEU%1 z%@Sn(nff_};}mAyyT{MSocy2^-&XF&y8}bq_Vrv704>ddyNETqtaOTNG7*lBjbW76o}pvuSUDu+qWY44FQ$B zYgCZcca_ zs5-a}S@QLr^Dwb$FGK~qf+0eIUo-C(w@oZjNbJdLnhP9+^$iUzTY@pRf}MoO<=e2i zWQoEzOKNSy4cUc~lP9kcJmoT4eK=MfCt}dM$R(187#KSxdn|a>kJdnd95+sa)TgTYrpWbdnyWGX z0JzpTgJ)_y-uc|s}JrRWw3Iw}+$&RmU9@gV6OHV!O?|eKyKLeh( zNox+~S}kFTLVZbUeJe+KlcB0BFcGvcZh*Y4dtB%A+NhB{`%ZN@#*}9V%tf+ZRIYjd zFZcivh?hMOi9`C4?i5bONSL7O?!i@N?#pHz|2wRztM*h|IDAvc>ZU%q62Eq`Y&C_Qczq}$&CJ`)j>i0Xt; z#FO`oyV4jqp;WE4PBAL%Qb(i+p}!b#oE-QCl~654sXeHa$sT1Cx3csYj6D-;hq-Jo zqUGF!2yTwS02ddRDh6hB4b$vkxR4MKFwX$Nl7%038?bwsKY^KFi6dCXyWr~(g~qBD znlup+5ijz=!H*T5v@)U;eRj%@5HAdpltE*VaT`CQaQf>~YhizL(_dJ_CA-ZE0t z%_^~C#RamWv7X6yXhp`tO7)7WNQ}Cqw)DMC*@3|#>FZv@m%|*C-yzhWI`FO%g;Y;8 zESFai#m)lTKukGaqv*h&hLE2M0_!5%RPzV(g-#hgaO~R-k0&{laegFNjNd6n#DDoM z(@&)Up(k{JX2>sG+}vv5q{iSoX#+1P zJ$08?>BgPiD2CgmQ132mLL{P};=g>07If@;nsN(y4WQ>~pOynz2RLG(WMhO|O$GPB zkysoLIGALtzt+*-UUKf`*RD_n{U1@VM>_TWgL0wUAB8`dgpgWHYA(6BaGDtM-MXQe ze9Qs(ij)=fIp#>CIQ@hQwk=tdH<&Cf~4Seu#V6(@ngzA5v#Sbt%0&68? z`^%E{-%)$9KiN)qf5T9fp-S^CQODu{hu|j%ZgS2>;24!xx1hjb(Oz=(hzmYRf!s_m zDC2N2yeo698e_8Nsyq|ZQU?h>ic?74%k?cnMJ+f^CCdE>=;l?`u-t-QRda5dcw;qU z$?ccus!M-_w&!16k5M~h@o$HBd4#TXoRgSCu6qG#@#*m3#O6 zS2_Q<%U%9^2~i#7kUBgw5xB5^c{WpSwqdrJGUVz}M9>2=p^0om)-JOat>MS)j#UY# zKNjPQq%Y6N&__`XpPg*_eav!MrG@{%IPwN$@9H=>f{+L_J#=2@*x$6bGeLI#Ym@-| zUFHaDpHUP2mlc+A$A<90A%AYEtt~d7NE7RB(qjjNn=`Hgfx)?hI-uR&hM&iOK6Ttaf2{|b)Nr?J8;+^sB2-L|fTq-fz^$d(%I&koV0&`10 zOSMN~5GA)lcLSmj{zCO-9L{0u zZf@HovlAWax}Z)JY|%*b3z$3d4hdy4D1~n^H4uj0wd2#|`VoaHDlj4caE_J73ohulE;sRh^WJTCbS1h)@ zAn?8C;(T8d_Z;^VedZ2Erl{wtS4rkw^cR*!!j?^FgjNo_0`|F^<))*<`8HX1$C_Oq ztvOj$YR5i2onjXWXit}YF(z~G173bjFg$eVP;Q6T9kpa1&rgm{9(|FiN(I;Cf_hpF%Vi-?GWOk`?K&#Z+PnV!= zCsVLv1(LT9n8ZE8`T#}fCtV#$wH6c!#r_61=0)KR& z;MCQ3`&_d^Dxx={Bv?nh@Xd{H z1Xe}^;N!3`qzyoE$UH&Q#xQW$fU9Z8ThB;vW4*zEAy67V~1vkHhLhf%AFwJprf$|^?Uo-`dUM`d%WDI&A>gjyp(5O|Bz zN!z&FddZpt_mnzLkNUc9;;jhC=DlxnOi1>i<`OyMB~2!3$qSr6wjBH7@HFuxU7!~Z3D~#BlQ(l;DdmI zC7WJO>Cgc3Jn|IM%{W;+y7i1QBIF(zHb6!}E(by_C|n4IWt0F32i*c}1M>4ZcTio> z#?N(dczd`BshEs+L3-Kqz?B(6`S%*|x}RM`{dq@w`>g;U7_;RIq}Lmd8f={?0JOx@ z@ZwG`P=iZeA3l6=N7PP9wZ*4{+{rv&x>3Qd-Q&GowFS8K`~qC!M%+Zl(noCY2h!V< zy|#3`=2w%Ey0Og4jQe$H%9-20&yiU77rf{g=D%!P2nYgY2?vp`%D`#UptRhMQm)^J zW|nP802;Z*#8OmeX?HkW%K>%Eq?yrmE%wwKhROw#i1pU{XSfgG~7_G6hc{qrMN z<0js1@Cw|DuhDb+24_2%K`}|YA0#(7p-2+|nupT#35v;dyG<|Z>-Tl6pS?3Q&|$Au z?loFt0!l7w$~`Ij)`sW4;I4E=J)OA*7z^9vc*hd}C_&_e_rX)~(6M8eQAqHC3kt>y z_BJpzXct3n-%f6g0Dbe_ivHce4}(U8d&7>9O|S1mM~7g71L`Hl9Vg3T zc1H3u6A+3r@9Uy)%jpww>Oy`yVa6Fqkgd}39beJ@qTIn22DIUNsRy*byqSrFJR1`x z%qW%!Ei2QD-Ohm@{SjpV0qW56i<_S<_S=FAB4>fR$1$w?2&x^`2fj0le3^pT<)(6o zHh|N{xS!dSY?>-VCJg9#4LYFl@CU+V3a<)+s6ed{UnYo3cV5G5nar|)bA`0w;R&=* zz-9G#>*2%nFr->cQgY8jvqkMmS_ly=N8c;?T)Vdafj`6@1aTO2IA#3+4T+{E7QuVd z3>E_6o`g%nb5EoWEzw!O)i?{V=oa0a~_{{aq<40 zu{QFu!)*TkO<;TY?hFE_gx{e(ThZfZU0odvFIN1uIed7Wn7*eX>QI`JgLpQ@hSBDrO5aF`ayl)tUWlVtl z?cZ=so%hU4aA=8Pjzzp(i~|yWshyantA;CE^9YJ6+4|L*e_B)HhHl5b*`_k6uo0BG zB+$koL!9A_64WiLuoFW^B6y8F$gJ4cJaEMOoaDmf^6UgVlTxXcFJ;btvSqWzZNpBZ zA5+uR+-tB(LvN%vCF4}Y0sfktN7`{cO*5YV<*5s_PLsSHjm;&X@JX8Sdd6v16o?5o z?*L*cmGO47^7u?BAF3^5h^J@k8@wN;WHyTG2oT6|J}J z-I~N7d`p(F^E<3c&gDhB91J<$Dj#ssf|g`7RhWbXS*jJxT)d=d`X%3>>5kb*;OA2w`_Dxs($*|*( zM(VC4u(Nwtg4(?zVdKU!^~g6_uTMSGRlBKBrWnC-Os&aJKO^hLos0zE(Dd2X5`*gD zl7atqJnNjjy=W-FJi*MTRBlO9$}bEh;Oo^E$hm&C=5MRx$EUAey&3~Zi>ec)9mW;T zo|x9$RL_qd9PT%KRLtH7MqJ9!4z#IPP;-93aU(;fkwY`V{QS!KemF_(bMy2WGki=n zdtcQRzq_eus_qRo)dhH^i8u46$~#WkmnjjIHdoep@F?wr0c=WWFR&3zttZ|4F^8u4 z<(joYS8^{a9xt%(%r1)tH6A#A{Hun9Cbs4pr_Ep5+gY*5#>%!`y?@;jgT)*#ERAKb zJOm9>36M=mOhRbli((Ba9}O7?`M^Q17Pj&99M!1^LIcyy>aRX36En0f_emaH0cslX zgFO$dfR^*L6{TF2@;5gwJ9*!*{DA30hLE&>y%I=;O#D9Pwr!$3C|u05GG|9?TdpN8 ze&)To`|=MGVe(S(l-e?{+4B24uI*xvrCXo{DB`YM7=}$Xh^78fve{%HgIl5IYDl&sRth~L&FbF zpwzN0ZocrxY)9)*j`0)iXvoO`9@rqPbvBdodm3hQmYZj>zT zKv+&fjtS#rnvE0p5-v8F;+JEBOh3iW)pWj17_hxm4<`|FDQf64x3~gV3YO1*6*fAa z(!8=Ky;17;=#Ws371Ob-TK+}g?}*^uhb!W87yr)D3Mod-BE5a%ikedq>brI=m~r`y zX4u{xNk4Roc|uS6v&4m;K>U(z&WiTOA-xEgQr-pjPEMXdK?^aI${x-^DyP*vwA=~XQA)9)>*T-7vEY=d48!nyKuF?+ z+kW<&_PSW#^^+R&&>7S4tVe7$SWLQZfGDLqXQ1yVG@o{Kz*#;D+fxP zuNJhRGp4e{SvSBwy<%6tpy?W0qBR~P%JuW3Sym0OSnvcs0YU;Mn9+49&I=E&3k-+n zGQW_}w$9U<86tI`F!06^#15Tx_~a9Ye`WxJg{MeI%(pf^m>5B+TgZ{YbKiH5i*B!vk4v0y;H$wg*8CnvZ{646`L#>{BHE7?#rQiC?&| z4`79i3>V@Ou_W&MT}fXc!UfyXZ4Y-YTDmkfcgtSbP(8|99rWPAMhsAc`Zc%0bqh9% ze5h=9p!_Bi5?BI!X(?C$Jdq|*#I+fy(%ZUx-Ge@v=xfP+Imzn_jXLnqdrzt8+3~4l zRBDE$ZssnmDBm8T0n*`XoNv(0Ch=a z*z$9MSVqn@-^`Zso1EP10wC(aHWxcMzQe)tv&?nnz^TQ^UajNwGY{Jv>=_>_M7NG3F2)Ra>S@I(Z`e*v;P7<8LxrYspuaNG zZD#fu4bv#nqT#`rftaQ?%eQx@@&8CL!FC{Ra%XP8jA#%WtLo(I zY$Bbo`{Pof9F7K5qdD}^!j`136Y_Vl=)IRXt#{%t_r;Z6wboc zo`(TlhJ)WBs~eNYx9N2cPTNvrO>=LAXxaj1O1=PZ9*Zx3zG?TtqDgnM^^ML3pC4O{ zMVz+rWe4i>0a}bB%as@72AQ=LZH7J9HJnvqKzRB1Ji}x{%C242?g0?A`C|dSnB8uF zxL$Vq^80vP`6$3qI?1Ll;NprKx+<^fF)o5GH#btWrX-*+BuLyjtjch zeK5`gr;uz0$moJp5Bv_Z*Y)LZwZWkCcR*`S9Qxqb{sRwPGpz;7vy+MPq=iHU9k$)c?Ub1e* z$Dk8Hyz6>?a1z>}&7 z8ewaDK6CbLhzUF^1~G#m+IW=p*yt!L0~S|C-6$&ktw8iy7<@W=AG|_y_Z{Ds_4(4U z7dwj=tiqg`=Y(&!DvyUL;KAuMNUTIpmU-wY>!Z9BA7lcbo0o}sI4M$ZM|*|7BxRrG z`1Vi0o;m!>0sadY`Bw!rd}ODURhcS zsq1v_F5;f>oqmB|MbSmu`VeaYo7Y`=-A z;b+TP>A%8Jn^)60ZS`T+Vmw7!SNX2Fd9~(u^2df9>pYNMKrev+^~6iRti5q-m)o~1 z7zgaXW^OuvnRGKaEnr13{691cMvJt!UVk&Z9mYS~f)!w@tK@FIxL8_2?#+ z%a@oITm!#+6$L-4H?S8p7Br7{_fK4_ko${LhuA^nTDtx5>!?{DyT&1(BNJbAW>+ie zav~pgt0gw-LF#)AzZXREd-zlq1)U#eR|l7aiUW*r-Oh6!`vuz|vB4u*yydB~D(sk6 z0*ov9w(&#`Iu?!4^&I#}_Bsa*0~#rva{?jsl(!GYm?5w56OW)iQ_m<=Kx`-5Jtz*) zZkS?k$*9o27?j99>#QV<3*(%^!_-uOlfzvZD~8P;rq0WFc%KXQUVyLBv6M~&j83Sc)s8m@P zydmgUt_LOnU^|SX+Ww1IS4ZdG(HER{ZGzi_CzJz^1R%Qy5N}gtOZ7kU{6DNY@H-U(se0oB@0F2810!1&_YF#~P+4{+5EZ~R z4s8w%)!Ky%rxI{TdhsH2C??42F|8R1RDwA)@%K-ARW@EM){QFnPX+`05pai7nDSh& zSe?3H!2+^N^Ia;>330tk!q9osty{x9cHSkgYM4=KMP^7&i{1?ah_Rok4%Gz++rUZF zheWfGTGkk3v!N517S(e8FFN(o30hDAe-FU~c|b_8rdW+wz{=2)trGS+oquU`j62ZF z52zv+cJP8`h^f{GR2vG`yYkluH=U@>6X&_nP{_H88=lC5_%^iN!sSK_03|4DmCv1f zII?J}<4sQc7%Psd86OP>Q3Hx~6qntiy8@x^I>>u2La0M*HTPjV6Jtzb)P!=3P9>`V z@I}MCnK>F!o}d-(O)7t9D0_$+E&n*{2I|lk!vkoufkEPbY;)$+OI!y)|GyNE{qM+t z0@e=P@8PHpf}skwMy&uFX5cgfiq=Lcqmw7^HMRZBfqf9G68VHTKxiA3FM(zUSkzK@ zYLg#BZjHPsyrLCGNY z)P?K3Luusw@#V{x&!0WJL^6JimD|7JM_VbBsAv2w3Mg*CE~ zL_k4!RCfeVaZnHF9jg*HRPyxs9>OWtLp>QkPH4_TQ5_H93#DzcrI}z}Pj$!1iII(z znLikX;pdS8KrMSfYkUDxLCbj@L=i045jyAO_^xJX=UUzZBQ11``z*G=HAG@rH5$Gn zVAy~!a%X6B#Qg=lyt^=@KVtlIa8LlMcVfU0s=T&ewYD#4mCoQ^ieyyI8KXGS-Px;csE701j zhN#K5hfg@zK)kR%8qPersQXJCq2i<&?WfL8p|Un0X-VdSH=NQdl7|NnBia?=#F8Qv zj#9tWR{fAh3_c*@%MvRdA1&3*cvJ15i+~I3dF9HLk#MseJIal&cA);EeSbu11>uI! z3F2)c5R$8PdrIbD3Po5rm@!0phDKJTp`E;?F>fIJVh3t-DD*sW#VDL1lRd*lDzV*j zLe{K?|0SH(5DhM)eJ42_GytIZ1Jof;X8<3bBVsnjSb|Qghm`=Q(#xc81U?*2G?7M8 z;nv7FQeN%*uIH2UB{(APC%Eh8Y6^aaEtZ;#D`ti2NV@R`NSd2@EI97W4hAt z=-qR{HzqMgXG^oQht0y_$sar7yilbmRHXA^;DW(1`3i39d~x(uzQk_F13kjWF>BT{ zL<3~usgO9I!>iG_qJ9_Nm^76^e;i#7O7Gu~m6TLLIoXt{-?)IACd=pa~RSxZr zL>Q4YFd+Uj2ntd7&`1Q0o*o~?M+~=?yN$4*vBU!FoO)|YuBsjo=&F6a*<-kvqsr14 z{M=Z)^!ABakq&#}Mhr2Pl)2@XTv=apZUno2q_Dmi$663NdZgfDG{Ph(xYQo4X`-0m zw{2kOdDG25BaP1rVioP{oH=k5n}>5=4m2A>peX{y^qv3^Lu?*{282v1U)KqD8U-~F z3-hbApw5}a^Gzd@(RUDkR;g>{6lBv&c|UQ8NDmG^E-CHh;W5$R(SB%7W zV8H*jXeRh{#^=Hv@jQbDKjGi2sj0cc?XbeKBWJBH*W$%9(1ehV9GWR5q%WED)g^CB zOQ(TNQPM@w@wxw33Xq(6kh22~26(BbaT>V?O8O6VXogpsC8abyLytK;+Qv7%L!z)FJ}OkI&zT$qG)hK}TxkK4szPM z@QjVT%`@py2k)Fy&baSR?!&z;8Abiu>NoW12&0<21bXTdJY3psJSyTD793X}U){6x zm>O^TH)r*LkPt64F$B2c)w^&!?B&_l;C3z7?GPR%XuveD#6f=okI3#blgaz47kKNJ zQ0U_Ju;77AcfD`$`8-qOQkAh2u?l_wv?~Ly1yRV!JPklx#l6^2iq{rKkT3$XBHS8T zoEm}QX`pgI&BTs+F^D}2V*ynd+B9WKTUVYM`1ouF$Z*q95S$tMe7&AMAE)9BTtZMm z-LG1_P1OUuy?=?{jauST+g)znxIv4P(aaX(qh9*0ZjmC?c4$D9;3@_v&R1Hrp=OdZ z^#erIlG0L^JzJ*V-C#p|ByqH4nyq^cb4Qm+cuq2JNx>7UkFd>}DGSE~WehNDP$6Q+K#-@nN`Z-1{7e z;B}boIfk_a*lWk_=EHUbB|KoVbHGsE&vZqZdZ<#QLy&-O?lsgJin)dQp#n1kv~a^h^^V$d90ySnDw~KKMQ| z48M#_pzR{5TQfAn6&5;ly?lxWPzsfLi~p+=J9_0S0&T zbDY+$aVwtNFgnz82~M$}oKD$S;e6AG18k$Z4|1H6!^v30BTN_u3IS70_qR8T=gIwE zKx!U?kslnsndjDG!8V}5DFO1|s|J^YudacY0eA(N_+gtJ!ux4gG*KiYE2c}INW}YJ zj;?dce8ScHE$74&8v}`0(z;0|BH+n^WhAcxa!HGvA%LsCA>N(TV)5)pAv{B9Xo4{@ z5XN&hJFbvM-MI#BKXg#Eao)?8cdUgFZXg!hU@s*Jf3z0=Ii>|L!%-Q5Q8)|t`LN*T z(D5szyWBjUKo5Qax-zJy+R@gt&6=eG7h%9;s57F6bB;j8WHNU@QrV@V+YxO@{_Hpo z9!TIg-mKVYM0DM8|A&}p6XXS!YwXuw06ZuWm+c>vDzhgekVB9Uq5S&fq^D@u7#?e% z!cpA^nap>b()_|g9OiX-v6G+1CiRh)VDXIE6I>v7cYsX}EyLorqtD-UuSDsF@3b8Z z5R9Ez7;r+LfRN)`lu`ZY(F@y2JsFnAaGU>Xt`M5re9w&Y~+X422REsds405=MZO{k$^- zU$Jg|L?A}Pr!lF3sUw&q4p3Lj21%fRPpHgy6*h^ZSHo8;K^FIq<`B})1VNi;&??do z&^Qe*KRoD5r~xVdSXzcoszZ+p5KsA^S1|c9{{6rIPdo^mHION2HwLWKW%FW-?Vo^` zN&k(4bz@%ajSS2^=Av$XhCg<&dXUhRsOKze@^XX6;2%J75EeJK7e4phY1mrbXYFX> zHHF@4$SONKJ2DvtMzjaEK4f={&+U262vT$`yg1=g!h=uKVeK*v9`W+(N|LPLM?wqr zD(ZXj$Y@i3jY|13+zSJrtT@}FKlE*5zuvL30l1Mqi%>c?UBOhJR>%qtJ12+$8Q>dZ+ zY1~Kq@rNFsp6z%w5SK}dJd{)%#R(TI*SLcsHU_Wc04zM~e-2uVFEL${k@>Qpjl|Zo z!7G}EZ^dz212WLpA`<0N66JoK97a1rGVQ`iHGIG=535Z#xs7u}MRWlCd)oPfauSK4 z%jpfb>6(Vk;9}vSY)6*1*>PE_Op$%^C?Td|z71DeZZ!UpLyC^q_jiXE?cWY4p&b9j;vzimrf4gDHB~hNpyO|-U?apFX z5Q>s?6a7D(5xvz98#c#uTh9`yM1LXE?#RG=-aC)=QF6}(67UQ&0Bj_N0!{kC==72JY#N9I9l;6>1v zku{f~;1o>aw%wLKMjaRS#q2l#gF+$Orj>^|3IAHZ4iUV29&tTu7%bAXH-*1d|AL3E4gFC+oZdyQLQSolYQ2sT>wthD+BRCEKQXp$g(gb5h zO%?!{tU-vYVjY6FNTY1RTZyp>+9NL{UQfYxM^c#uq|p~F`-cS)aI3;;m^2S1k1!cI1R4YBifc#d(?F$5U&%Z{blmG7OIl5^-Wtme z^5?Y7*4zl3TeO6`QWwKmcBU$P&?m;FZ#K^$))uJxJujw9iHQA6+<&3pL3=P1_yd?wG_~!F}jlOM?k=YCq(<*xQ zAJGAt<4N=U8Ur+K-kO1$2K%9ttDfNp*P?t%llp?7H}qVTGk zogt0Gv9mfAdz+nd*47EP{rU3;RuJQ`kF|Vh>DqqG%(YI=U*37ml8qB_C9T}$_j3#D z?(SU;q;(!k6aa+JVXKUD(~>vyOOKza-?up4D)@P}V~JjOLd$XA(E?~fVcA#1or?}+ z2m$3%yKwwh-llzH|ECLd*%|h+eym#<2`zFIdtmys=A5kK@{3eCM5ZGQoA*~voiPJS zJD>pU3^|8(^+e2s zwu}qmKE=aw(wiLU@KsVmV%;@>kRbpaem}KW-PFduhO&N`G@F7Z+cICMLnD8I8ef7b^%cYZ17Dieb>9V#&>5&v}gQxSzI- zXF|AC*&q+fy93K&&2@?q_g}QMgfTT376;zK5hBqI9x1SEa#IJ5ClT+g4!83K%&)QQ zbrVp??Xy;&%E#dXU*7yARJk;}?0=Ve39NB36RYseXZMMIL8>SXor{rf3|fvoK+s6! zm22Ck1p%`F*giRn#hcW2R@cVwA`e*^6d-shi>FPU3X70#S~jis*v&OF_RQaL=b%62 z)eDe$a@qALf)!bglVFX2Cv-zWWb=AsuKthjP~S#Bp7Iqux z*_9b+A7n7yvnv*o4xNg(0ldbeU1PuidJtjWV6O(N5@7v!TpzJNw6fZINlGksr@Qur z7TLXgVfy0TZ(*UYI@h|%0(F4^0nzj$04>$fMFxhW-dulL=VEmKg}@GdL*th(oVG?P z9J%YDYr>yHCkoRMSWSX@Sc6uClyjsjBCF0Bs=y;tPPfF>{|SQwv+aY}wR3a^-v+v} zP3D#+z=6BaI&zgqK}nPPCKxTcfIyF2F5cJL;bt^lTBN$77Xo0{4COvOJ08sMbhxeM z?qflbEGSA#Z*s4<;wJy+_+7zfAinFNabr~)9v-HB%<=cU5rYkvOfl|MNv#+yMeeClKIw8Aq30?1d_FpgoPk&DMC`+{0UMCn!UqnsQa z_twvyB>_Or)M?-uH=Su;^2+a^l<)y(0T-o*g zvllyx=Uw}6?=tjWcz{3xg)$O zEwgu0rjRB6`KIlyaURH>`d{49vg{So036HCIJ>xz5UOGjck?C;`B_NU#=SPR<|C&K zr$|x31uqdPDQ%72DA0m#rNOOrsrzm)ghLkt>E{VH7ZBRq*qTp<6#ojM7aTtgPwhG+ zzc-%Palj+)2gLXrnwV%mnjvzR~|bOZ-QJFkg1x*8XBA^LYxzvs0;d)ZIhgQI_o zm#7Ss1+O@DJMa)vf~qRGnkawodS#p4_<831@}+#LcMk0N zlJst&qWSIHx5%E+$oH3y{giHQYddI^i+#C4S>QAYfbKAh@xWYO zWNqb0Rsn`e7U$3Yfe%CbtfDV}yY_E-uo@hogt6q2UN?{n)GO_Ec1OlmX|c;EXIyky zy6)D&Y%^`zG->ezG&Oc+Dztw&f-_o*Tn)c`F9K~@%2+&j7Cy%X-!`uE54ouqX;AgrXb43!@4x!xf5A+a%2F{uqY zad}DQavboA!iKx^50|!nI=6CtdAV?%be8wQ(DJpyV_K?#ZQSl&gK2=Msdguk4+fsJ?+)Ej9GIo>(cyu6w(7t^=JFTp)&_&KIGf^cX-g zW)DVx+%Udc+wkt)hPq?DpPbGs$_Y0?c*!s*q`9Ul&#MEkaex>=3`TTw=@Itva&tey zV4+_cCk5|6DX#h5JA(ficMKnnEon=%H!PQzPcM+4-juY%(cZ<#L4C2cVe_fi@1<+I z3jz(B%p~NK+t7Y@puS+-L6(6psgZess=!mc6NeTX`&#jwpSC55gB^}rqxr)g7X;M} z&OK)~_OGtBh`%^X?Bt4Ntpu#M16Ghc8yT3k_ zCLezW$m|r92fF$u2(N^zG4$ME7m~EL8+F>=v1Utzp>5hvxRJ-m<*hch&9)Up(TJI564gqrzcfKw5a()MOw; zq6tZeCYg#~*+?Q~m^U*Fvi%O!F>h>|pFd~ADQa(x@r8s7g5FNb&CO9k%+sv62P8yN1X&txfT!jTHY~P7q z5Q$XR&`?Ex_p!Ts2EzF`ItQp#E~yv6fP?KKldR{BL~zW>RCOX^adE4AL8_p0~Cd z_wN#7%;2Rz(lHKT|A-3)t_%aD^BJbfHg~f;_ zX=J8MpUp6UoIfH9sW(rnwdE!_VQK06DCH^K+)0mDVywrbG`e-JkNiayPRU zq?Et>gx>~=H|6H`#5{6UKiGX^{iobVpW@skjPe>FLdC${Wr*td{GqD=C=@Xy2kiR$6*1jOPLeEw?sUZ`o3}?@?FjKgUWKMIs0P zBZpr=j`@Qt9ri}FADc*&__?n4{iBVH(!8m(^};#=twyru{&6SPtckHnAAH+-yw8+1 zZAfC=kr<%XN?SMF%r$>dH2A~rWfGSBTGU}k#LoX`+gVI`q>T^S?N0gpgc(1*+Y((C z*wAK6ecDZ;z@fPPo)^ss+1siA-tv}YI6eO;0a@HNe(ij%&-47D30OMO!=)P;m=VmM zK7IPUsmj*n;ngp`oS72&_!|}@JV7ZY1z;MaYA%pt=12a}2$5uAU^{%fKSXhdVfk7) ziaU{NKlzyX$#M`jWBBp}voN%)+n^bF+cj(M+!+CX_nMJVOljOju44j21t#wNG}Ksz z2-)2ht-c_NME1C;t>g?`Yq$uL81&Gjg;F^6IVv~N zZlC>wEtvIf1r{=Y>C*8=YphL(g|e9WJNCL4BcgTd?pu|n2JFo+1`Uas_!-uqXVbSq zxLj7QT#5H*l9tvrORb(5Ys*maCd2Kcn}Y3k@%9S||4i9%4Frf3X@#BJ!QCo{tU{5u zIq|=PjPl~{Z)7-wyJWt(9wp=j__|LKp3INYQjwi z$HabkEE!NxJ_UoB5q*WVO3yI(Z3*iP^H7ZtwJ&DPN0;&L-d zj}!fTe5NoDA>}mMZ@1eJ)t^;qOwy&)-ZdSAVJ#a)zV4K+yg3jdbl;__S3d@|F|@3h z^M%J==d^cegJ?P5u)PmkTabH^Jfx**o60XE>4KFUV>>IrOty-R@FN^EEq zg}cRUM*UfCVq6@fbW4J3NJ!2x>}JQEP}3+MmzPy`RUFoN{TJi-BX^BjNIW^;eLbPu zSnFt>u|;2-*Y3`|zLLaj*T0Yj^c>~hrrB#?C}SPz-4U}vt7*;HuCOBI;GgRF90QjF zmh8Y#9As0);cso%AReS`Ya8r8u@UhL&ww;o0PJ3#sH_9}v9r-?3!S6=^W1b|*`qv(jySIC_^TLrF@8z1+kGm=cdVmHgoS9XE| z6|28so5F4c1P*k4#Zk(azGEIi9`Vp^Xum*qp27de=LNEdg0u3xqtme^xPh3ol|e_{)X4Vc&(5==zj@}3V9U`=d#;c58~5YbZUOt zw!Y-@=opdrKHCJe?Fa!qX@Wrsk3F?p>W-g|W47^`xwOS)C{&6m78r^9^IYFQzy}3PiH@Y1JMLum;mbXz=b-oy& zp1Awa$H&lAi~g0YSEW0Jym{nW+io+BuY^`y)#wavPSNXcr;`$Zod>)zX3ttQoAzAu~=lzD06Tg`p`;(b9V z($sjl9tY#fg!lZokm@GkdKbmL2n^gwjR$sT6e<=>wC9tbdymntnZPGt;9iOX>LkW$ zFr8GjE`s9OOQQYfz*sUwGqm`Zd_@s!K4RuaO1^xJ1qI2%)2x?ov=$X9ms;&TRtqO6 z@Zj~$3)wUqIOfd3tYd0ec(|;=Zo6+-?mY#e6h<9$EPjM5y7IXHMZ#&ke_Q+k`7~6h z?yL67**OrFi2Bdso9uWyL><@%0uVc`NOs!7JVAX_m#o1+&xTsiNrDlq?i++)BZ9UJWL zZ}H~!LjRf4FZvf31Eg8C{zCi{RbUS+4BSUA;4s(c{#3sCKliP7>%N~Pxh)GkXwDg1 z^h(J3O{8M;F61TJ%*{-MAB?1O7}SvLqW+gnlb0~CD1AYJwV?c;yq;ZHkG0@{q2Uw; z8>(X0R|6<2nIY;eQ7jW(oqI6dNS>M4%#6N4iUJuuUZbJfI<)rKBTgJl^Gof&bch!l zzA-V&Xx`K{*f+G}*aPgyUfyapI%Y6%7GzRmHV%%xyw&g%V2OMDt~&L8fp`w6N#I0+ zK34{8qC}e$HCA}+8T4`PHrI@87J77q1mR;PO*Fto;-}ruNyl-=qAGMIS+Z-R@E^Xu zzC@y~`JiC(LJ&IJuy8r1(oY|dSvt2 zqKoz|US5MUHww*L$l#`tsU&}pI)xT&#WfmVfu(C6NPDadpk*l#@UX{1&D<6BIiM|5 zpbhGBOAGXW>4KlWsQdX8cjVG>*e_sGC(0ZG&HRXjHNWeIKJXtp@O;E1f}rl9+=ynT z*IZ0)Oc!7h)8pWW&sU>o`!}H5aP<$`Anjh*FJ`jp|17~rOm$Yk^bnV;6!oO+`^c8s z?R+PGQ59_QV3~u1k%L&`PZP-HaGZswZ(=MXgcTtop-=FbP)hODFPJe3?Q0mSW=5=<^po^B_YJT zsVqn(I}lm!@68o&cH0O1Wd{GFA5V$7gNBvqnX8OBzb~%v(E>M{jE#k<`_cUiSQAB1 zJy@KBfrnmTZSYTwHOOAU4x^czzOs@M0{!1%=Uc_BN1$8Nc7%)kPY^G`fUFmZfM@Mf z*kwS4f)m9D7;=sHS#0J&+z|GcmPJ?iNF&1>pBK$$7&2P~;)rO(v6s*I&4Pdjriqr* zK5jT(iUS3D*mQ=3XtWLQHY-t+P^mtF^Xx^8mqgQ2K8HPqGuxT7X9YKHGBR%k7)ZXO zJ-=0;j*+6a?g=1nnym=JB2a1cPbCISlJM|jdieCAPRMxc`f5^o;Hcqs?b;P=VaL)V zl=)LGJ>*%N4G^2D-O&{a;0-gul4D?qs{%uV2WhBA!~T{Z;T!B&0VBK`9-dW8nSKH5 z{La->urqAP#M=5mdKI6-YmniGwYM6^TML3|w~r(ygbeTqG&@hRBSl0z#sf#WbO`O1 zR(wlXdNb&zEbcYv9im~B$;#ka?!yO?b;#UYG@Y2dE1;A#Zv}Ht*~kX;OH3lSPX4{6 z|pis^?m8Y*LCVV9D`SiuLDy7HcBEJ!>ooD$;D{9eXSdwKVb++GQ}%<>wXw!TGrAG}` zB4#er(A2yPCj2boe;a^+;Q^TS_{Q9p+&^JPDbtka9hJU~m%qZM;pIz>B)#Mt`K{n_ zu>pzaWY|cLtADVrPivplrvwwn-@F%*?26{VDiI&t#8}&ebk%)q+m3I04>1N834Xb` zx$$`sP4AZ)YH?kIYCs3{Z9jbZk~(yD0^+1SO(tbO0iDKi?#3EO7{9IPvcu*&BI$P@ zV?3~)<8JC{%y;d6gG#Wjwe96s;j9i+4(em#LF$)L$=~qTVJkZF_TreEf=_VZ*jYGGK9^ZEt#tEq1Wv3|q}`_B0LzosK1N~FzFCK!AwAFpkcwOo zV7UNBt2cU|4aG5Au_F@$n0*XCEh|5E8|znUH%I#T`0N3kCAGH0VcBhsgzT>XLP|_g z9Ey=c$HVSf92{>&+>Dp!r4EOCi9DWcQ&y#Dv0vn8gOS3#NuX^jX7@n~tBfAI8H1US z2qTlUp=b4|0KiEv{0pSB*%HW0tcOXm^lJ2xyKT82z)Mx)*Cc3%f{3 z(3GQbqSPhg83;V)kVWz3kdTn24W?SdJ67FfM|xdAvde6ka-?AFJDt>`x8J9VhHY}z zp-_Itmuq4#UO0@lbHAe|)##I4C+`{^P^a(;?Td(9ztn@DBL%@)@|)A;onHrq=DNbK zC>mA{>V3>S(2ee=T56isZ$DeNa=UBTt~+JJ@ od4Glm1n`6GrVn3$`FVo)q=6NX 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 fusion (routing 0.74 > soup 0.64). At 7B, **fusion > union** + (soup **0.87** > routing 0.84 > max-merge 0.78). The exact opposite winner. +- **Why: routing is capped at the best parent; fusion can *exceed* it.** Routing *selects* one intact + specialist, so per family it can only reach that specialist's own score (lists 0.57 = spec_lists, + strings 0.97 = spec_strings). Fusion *blends* the deltas — and at a capable base the blend + **composes beyond any parent**: soup scores lists 0.62 (> spec_lists 0.57) and strings 1.00 + (> spec_strings 0.97). Selection cannot synthesise something better than its best component; + averaging, when it composes rather than dilutes, can. So fusion's worst-family (0.62) also beats + routing's (0.57). +- **The regime boundary is dilution.** Union wins exactly when averaging *dilutes* (weak base, 0.5B); + fusion wins once the base has enough headroom that averaging *composes* (7B). "Merge, don't average" + (E4/E8) is therefore a **small-model / weak-parent** law, not a universal one — a genuine refinement + of the analytic claim, not a contradiction of it (E8's additive-landscape `max > mean` assumed no + such compositional headroom). +- **Riders unchanged.** The learned router is still perfect (1.00, lexically-distinct families), and + `max-merge` remains the weakest union (0.78) — static per-module winner-take-all is not + input-adaptive. + +### Takeaway +A clean, honest regime result: **route-don't-average wins at a weak base; average-that-composes wins at +a strong one.** Pure selection (routing) never dilutes but is bounded by the best parent; fusion risks +dilution but, given a capable base, transcends the parents — which is what the Fisher–Muller "exceed +every parent" claim actually needs at scale. The operator to want is therefore *fusion that composes +plus selection over candidates* — the "directed sex" ideal (offspring selection over recombinants), +the natural next experiment. **Falsifier for this run (not triggered):** routing beating fusion at 7B, +i.e. dilution persisting at scale — instead it inverted. Provenance in `manifest.json` (L40S, torch +2.12.1 / transformers 5.13.0 / peft 0.19.1; `git_commit: null` — produced on an rsync'd node copy). diff --git a/results/llm_moe_hpc/llm_moe.pdf b/results/llm_moe_hpc/llm_moe.pdf new file mode 100644 index 0000000000000000000000000000000000000000..49f5590fa0aff9fb87fea2f586bfe07d38be567c GIT binary patch literal 23087 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

019wNG=4 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 literal 0 HcmV?d00001 diff --git a/results/llm_moe_hpc/manifest.json b/results/llm_moe_hpc/manifest.json new file mode 100644 index 0000000..3f5d1ea --- /dev/null +++ b/results/llm_moe_hpc/manifest.json @@ -0,0 +1,27 @@ +{ + "experiment": "llm_moe_hpc", + "master_seed": 1, + "git_commit": null, + "python": "3.11.13", + "libraries": { + "numpy": "2.4.6", + "scipy": "1.17.1", + "pandas": "3.0.3", + "pyarrow": "24.0.0", + "torch": "2.12.1", + "transformers": "5.13.0", + "peft": "0.19.1" + }, + "rows": 47, + "results_sha256": "bd91413c4cf174980c222dca5f435cb6957dee775d2f27bfb7a30dedc0f36c9f", + "layer": "2", + "tier": "llm", + "base_model": "Qwen/Qwen2.5-7B-Instruct", + "operators": [ + "soup", + "ties", + "moe_oracle", + "moe_learned", + "max_merge" + ] +} \ No newline at end of file diff --git a/results/llm_moe_hpc/resolved_config.yaml b/results/llm_moe_hpc/resolved_config.yaml new file mode 100644 index 0000000..a1b73aa --- /dev/null +++ b/results/llm_moe_hpc/resolved_config.yaml @@ -0,0 +1,28 @@ +experiment: llm_moe_hpc +seed: 1 +n_replicates: 1 +source_config: + experiment: llm_moe_hpc + kind: llm_moe + seed: 1 + n_replicates: 1 + base_model: Qwen/Qwen2.5-7B-Instruct + families: + - lists + - strings + - arith + n_train: 800 + n_test: 200 + n_route: 48 + epochs: 3 + lora: + r: 16 + alpha: 32 + operators: + - soup + - ties + - moe_oracle + - moe_learned + - max_merge + output: + dir: results/llm_moe_hpc diff --git a/src/llm/experiment.py b/src/llm/experiment.py index a39114d..66fb24c 100644 --- a/src/llm/experiment.py +++ b/src/llm/experiment.py @@ -24,12 +24,13 @@ from knowledge.experiment import save_artifacts from .evaluate import evaluate, generate, load_model from .merge import load_specialists, make_merge +from .moe import build_max_merge, embed_prompts, learned_routes, moe_generate from .specialise import train_specialist from .tasks import FAMILIES, make_tasks, verify def _rows(experiment: str, model: str, kind: str, acc: dict) -> list[dict]: - worst = min(acc[f] for f in FAMILIES) + worst = min(acc[f] for f in acc if f in FAMILIES) out = [{"experiment": experiment, "model": model, "kind": kind, "metric": k, "accuracy": v} for k, v in acc.items()] out.append({"experiment": experiment, "model": model, "kind": kind, @@ -85,16 +86,122 @@ def run_merge_experiment(cfg: dict) -> pd.DataFrame: return pd.DataFrame(rows) +def _load_or_train_specialists(cfg: dict, base: str, fams: list[str], name: str, + rows: list[dict]) -> list[str]: + """Reuse cached specialist adapters if present, else train one per family. Appends spec rows.""" + import torch + + n_train = int(cfg.get("n_train", 700)) + epochs = int(cfg.get("epochs", 3)) + lora = cfg.get("lora", {}) + seed = int(cfg["seed"]) + adapters_root = Path(cfg.get("adapters_dir", "models/llm")) + dirs: list[str] = [] + for i, f in enumerate(fams): + d = str(adapters_root / f"spec_{f}") + if not (Path(d) / "adapter_config.json").exists(): # reuse across llm_merge / llm_moe runs + train_specialist(base, f, d, n_train=n_train, epochs=epochs, seed=seed + i, + r=int(lora.get("r", 16)), alpha=int(lora.get("alpha", 32))) + dirs.append(d) + m, tok = load_model(base, adapter_dir=d) + rows += _rows(name, f"spec_{f}", "specialist", evaluate(m, tok, test_of(cfg, fams))) + del m; torch.cuda.empty_cache() + return dirs + + +def test_of(cfg: dict, fams: list[str]) -> list: + """The held-out mixed test set (one seed offset per family), shared by both LLM runners.""" + n_test = int(cfg.get("n_test", 100)) + return sum([make_tasks(f, n_test, seed=1000 + i) for i, f in enumerate(fams)], []) + + +def run_moe_experiment(cfg: dict) -> pd.DataFrame: + """Contrast union-preserving recombination (route / max-merge) with fusion (soup / ties). + + Reuses the trained specialist adapters and evaluates, per operator, on the held-out mixed test + set. Union operators keep each specialist intact and *select* (per prompt via a router, or per + module via winner-take-all); fusion operators blend the deltas. The real-weight image of E8's + ``max`` vs the ``mean`` baseline. Returns long-form accuracies (+ a ``router_acc`` fidelity row + for each routed operator). + """ + import torch + + name = cfg["experiment"] + base = cfg["base_model"] + fams = list(cfg.get("families", list(FAMILIES))) + ops = list(cfg.get("operators", ["soup", "ties", "moe_oracle", "moe_learned", "max_merge"])) + n_route = int(cfg.get("n_route", 32)) + rows: list[dict] = [] + + test = test_of(cfg, fams) + prompts = [t.prompt for t in test] + fam = np.array([t.family for t in test]) + true_idx = np.array([fams.index(t.family) for t in test]) + + # base + specialists (parents) + m, tok = load_model(base) + rows += _rows(name, "base", "base", evaluate(m, tok, test)) + del m; torch.cuda.empty_cache() + dirs = _load_or_train_specialists(cfg, base, fams, name, rows) + k = len(dirs) + + # all specialists on one base for the recombination operators + model, tok = load_specialists(base, dirs) + + def _score(outs: list[str]) -> dict: + corr = np.array([verify(o, t) for o, t in zip(outs, test)]) + acc = {"overall": float(corr.mean())} + acc.update({f: float(corr[fam == f].mean()) for f in fams}) + return acc + + # precompute router assignments once, from the base model's own prompt embeddings + routes: dict[str, np.ndarray] = {} + if "moe_oracle" in ops: + routes["moe_oracle"] = true_idx + if "moe_learned" in ops: + route_train = sum([make_tasks(f, n_route, seed=2000 + i) for i, f in enumerate(fams)], []) + tr_emb = embed_prompts(model, tok, [t.prompt for t in route_train]) + te_emb = embed_prompts(model, tok, prompts) + tr_fam = np.array([t.family for t in route_train]) + routes["moe_learned"] = learned_routes(tr_emb, tr_fam, te_emb, fams) + + for op in ops: + if op in ("soup", "ties", "task_arith"): + make_merge(model, k, op, op) + rows += _rows(name, f"merge_{op}", "merge", _score(generate(model, tok, prompts))) + elif op in ("moe_oracle", "moe_learned"): + r = routes[op] + rows += _rows(name, op, "moe", _score(moe_generate(model, tok, prompts, r, k))) + rows.append({"experiment": name, "model": op, "kind": "moe", + "metric": "router_acc", "accuracy": float((r == true_idx).mean())}) + elif op == "max_merge": + build_max_merge(model, k, "max_merge") + rows += _rows(name, "max_merge", "moe", _score(generate(model, tok, prompts))) + else: + raise ValueError(f"unknown operator {op!r} (soup|ties|task_arith|moe_oracle|" + f"moe_learned|max_merge)") + + return pd.DataFrame(rows) + + +_RUNNERS = {"llm_merge": run_merge_experiment, "llm_moe": run_moe_experiment} + + def run_and_save(config_path: str | Path) -> Path: - """Load an LLM experiment YAML, run it, and write the artifact triple.""" + """Load an LLM experiment YAML, run it (dispatch on ``kind``), and write the artifact triple.""" config_path = Path(config_path) cfg = yaml.safe_load(config_path.read_text()) out_dir = Path(cfg.get("output", {}).get("dir", f"results/{cfg['experiment']}")) cfg.setdefault("n_replicates", 1) - df = run_merge_experiment(cfg) + kind = cfg.get("kind", "llm_merge") + if kind not in _RUNNERS: + raise ValueError(f"unknown LLM experiment kind {kind!r} (expected one of {list(_RUNNERS)})") + df = _RUNNERS[kind](cfg) + extra = {"layer": "2", "tier": "llm", "base_model": cfg["base_model"]} + if kind == "llm_moe": + extra["operators"] = list(cfg.get("operators", [])) save_artifacts(cfg, df, out_dir, extra_libs=("torch", "transformers", "peft"), - extra_manifest={"layer": "2", "tier": "llm", "base_model": cfg["base_model"]}, - grid=None) + extra_manifest=extra, grid=None) return out_dir diff --git a/src/llm/moe.py b/src/llm/moe.py new file mode 100644 index 0000000..4dcbdac --- /dev/null +++ b/src/llm/moe.py @@ -0,0 +1,154 @@ +"""Module-level, union-preserving recombination of specialists — the real-weight image of E8's *max*. + +`merge.py` fuses specialist adapters into one set of weights (``soup`` averages the deltas, ``ties`` +sign-reconciles them). Fusion can *dilute*: at a weak base, averaging a specialist's delta by ``1/K`` +erased its peak (the 0.5B ``llm_merge`` result). The alternative recombination operator — the one E8 +calls *max* / union-preserving — never averages the parents at all. It keeps every specialist adapter +**intact** and, per input (or per module), **selects** the parent that owns that skill. Nothing is +diluted because nothing is blended; the child is the *union* of the parents' capabilities. + +Two selection operators, both reusing the already-trained specialist adapters (no retraining): + +* **route** — a Mixture-of-Experts over the specialists: a cheap router assigns each prompt to one + specialist adapter, which then answers it. Router variants: ``oracle`` (route by the known task + family — the ceiling of routing) and ``learned`` (nearest-centroid over the *base* model's own + prompt embeddings — an honest, training-free router; its accuracy is reported). +* **max_merge** — a router-free static union: build a single adapter that, per LoRA module, copies the + delta from the specialist whose delta has the largest norm there (winner-take-all per module). The + literal weight-space image of E8's element-wise ``max`` over teachers. + +The experiment (``kind: llm_moe``) contrasts these union operators against the fusion baselines +(soup/ties) at both scales — the prediction being that union wins where fusion dilutes (0.5B) and the +gap narrows once a capable base lets fusion *compose* rather than dilute (7B): the regime boundary of +"merge, don't average" in real LLM weights. +""" + +from __future__ import annotations + +import numpy as np + +from .evaluate import generate + + +def embed_prompts(model, tok, prompts: list[str], batch_size: int = 32, + device: str = "cuda") -> np.ndarray: + """Mean last-hidden-state embedding of each prompt from the **base** model (adapters disabled). + + The router must see a parent-agnostic representation, so generation happens with + ``model.disable_adapter()`` — the embedding is the frozen base model's, not any specialist's. + + Args: + model: a PEFT model with specialist adapters loaded. + tok: the matching tokenizer (left-padded). + prompts (list[str]): raw user prompts. + batch_size (int): forward-pass batch size. + device (str): compute device. + + Returns: + np.ndarray: ``(len(prompts), hidden)`` float32 embeddings. + """ + import torch + + embs: list[np.ndarray] = [] + with model.disable_adapter(): # parent-agnostic base representation + for i in range(0, len(prompts), batch_size): + chunk = prompts[i:i + batch_size] + msgs = [[{"role": "user", "content": p}] for p in chunk] + enc = tok.apply_chat_template(msgs, add_generation_prompt=True, return_tensors="pt", + return_dict=True, padding=True).to(device) + with torch.no_grad(): + out = model(**enc, output_hidden_states=True) + h = out.hidden_states[-1] # (B, T, H) + mask = enc["attention_mask"].unsqueeze(-1) # (B, T, 1) + mean = (h * mask).sum(1) / mask.sum(1).clamp(min=1) + embs.append(mean.float().cpu().numpy()) + return np.concatenate(embs, axis=0) + + +def learned_routes(train_emb: np.ndarray, train_fam: np.ndarray, test_emb: np.ndarray, + fams: list[str]) -> np.ndarray: + """Nearest-centroid router: assign each test prompt to the family whose train centroid is closest. + + A training-free expert selector — the "regulatory gene" that decides which specialist to express. + + Args: + train_emb (np.ndarray): ``(n_train, H)`` base embeddings of labelled train prompts. + train_fam (np.ndarray): family label per train prompt. + test_emb (np.ndarray): ``(n_test, H)`` base embeddings of test prompts. + fams (list[str]): family order (index i ↔ adapter ``a{i}``). + + Returns: + np.ndarray: ``(n_test,)`` int expert index in ``[0, len(fams))``. + """ + centroids = np.stack([train_emb[train_fam == f].mean(0) for f in fams]) # (K, H) + # Cosine distance is scale-robust for hidden states. + c = centroids / (np.linalg.norm(centroids, axis=1, keepdims=True) + 1e-8) + t = test_emb / (np.linalg.norm(test_emb, axis=1, keepdims=True) + 1e-8) + sims = t @ c.T # (n_test, K) + return sims.argmax(1) + + +def moe_generate(model, tok, prompts: list[str], routes: np.ndarray, k: int, + **gen_kw) -> list[str]: + """Generate each prompt with its routed specialist adapter active (grouped by expert for speed). + + Args: + model: PEFT model with adapters ``a0..a{k-1}`` loaded. + tok: tokenizer. + prompts (list[str]): prompts to answer. + routes (np.ndarray): expert index per prompt (from an oracle or learned router). + k (int): number of experts. + **gen_kw: forwarded to :func:`llm.evaluate.generate`. + + Returns: + list[str]: completions, in the original prompt order. + """ + outs: list[str] = [""] * len(prompts) + for expert in range(k): + idx = np.nonzero(routes == expert)[0] + if len(idx) == 0: + continue + model.set_adapter(f"a{expert}") + completions = generate(model, tok, [prompts[i] for i in idx], **gen_kw) + for j, i in enumerate(idx): + outs[i] = completions[j] + return outs + + +def build_max_merge(model, k: int, name: str): + """Add a router-free union adapter ``name``: per LoRA module, keep the largest-norm specialist delta. + + For each LoRA-adapted module, the effective delta of specialist ``a_i`` is ``B_i @ A_i`` (scaled). + We select, per module, the specialist whose delta has the largest Frobenius norm and copy its + ``A``/``B`` into a fresh adapter — a deterministic winner-take-all union (E8's element-wise max at + the granularity of a module). No averaging, so no dilution. + + Args: + model: PEFT model with adapters ``a0..a{k-1}``. + k (int): number of specialists. + name (str): name of the new merged adapter (created as a copy of ``a0`` then overwritten). + + Returns: + The model, with adapter ``name`` added and set active. + """ + import torch + from peft.tuners.lora import LoraLayer + + # Seed the new adapter from a0's config, then overwrite its weights per module. + model.add_weighted_adapter([f"a{i}" for i in range(k)], [1.0] + [0.0] * (k - 1), name, + combination_type="linear") + with torch.no_grad(): + for module in model.modules(): + if not isinstance(module, LoraLayer) or name not in module.lora_A: + continue + norms = [] + for i in range(k): + a, b = f"a{i}", f"a{i}" + delta = module.lora_B[a].weight @ module.lora_A[a].weight + norms.append(float(delta.norm()) * module.scaling.get(f"a{i}", 1.0)) + win = int(np.argmax(norms)) + module.lora_A[name].weight.copy_(module.lora_A[f"a{win}"].weight) + module.lora_B[name].weight.copy_(module.lora_B[f"a{win}"].weight) + module.scaling[name] = module.scaling.get(f"a{win}", 1.0) + model.set_adapter(name) + return model diff --git a/tasks/todo.md b/tasks/todo.md index bc25646..19a1198 100644 --- a/tasks/todo.md +++ b/tasks/todo.md @@ -352,3 +352,18 @@ C3 vertical claim deferred.* and dilution VANISHES (merge 0.62 > lists-spec 0.57 on lists) — dilution was a small-model artefact. - `results/llm_merge_hpc/` (README legend, data-driven figure title). Next refinement: module-level union-preserving recombination (MoE-expert/adapter-union = real-weight E8 max-merge), not delta-avg. + +**2026-07-05 — MoE-expert / union recombination (`llm_moe`): E8's `max` vs `mean` in real weights.** +- `src/llm/moe.py`: router (oracle + training-free nearest-centroid over base embeddings) + MoE + generate + router-free per-module `max_merge`. `kind: llm_moe` reuses the cached specialists. +- **0.5B result:** routing beats fusion decisively — overall 0.74/worst 0.43 vs soup 0.64/0.26, no + dilution (recovers each specialist's own-family peak). Riders: learned router trivially perfect + (1.00, lexically-separable families) and static `max_merge` a poor union (0.46, not input-adaptive). +- `configs/llm/{moe,moe_hpc}.yaml`, `figures/plot_llm_moe.py`, README, +2 tests (127 green), + `hpc/llm_moe.pbs`. +- **7B firm-up (`llm_moe_hpc`, CX3 L40S, 9 min): the ordering FLIPS.** At 7B fusion wins — + soup 0.87 > routing 0.84 > max_merge 0.78 (0.5B had routing 0.74 > soup 0.64). Routing is capped at + the best parent per family; fusion *composes beyond* it at a capable base (soup lists 0.62 > + spec 0.57). So "merge, don't average" is a **weak-base law**, not universal — union wins under + dilution (0.5B), fusion wins under composition (7B). Refines E8. Next: fusion + offspring-selection + (directed sex). `results/llm_moe_hpc/` README + regime-aware figure. diff --git a/tests/test_llm.py b/tests/test_llm.py index f6443a6..c02a327 100644 --- a/tests/test_llm.py +++ b/tests/test_llm.py @@ -8,6 +8,9 @@ accepts correct answers (including verbose model phrasings) and rejects wrong on from __future__ import annotations +import numpy as np + +from llm.moe import learned_routes from llm.tasks import FAMILIES, make_tasks, verify @@ -37,3 +40,29 @@ def test_verifier_rejects_wrong(): assert not verify(wrong, t) lt = next(x for x in make_tasks("lists", 30, seed=6) if x.answer.startswith("[")) assert not verify("[9, 9, 9]", lt) or lt.answer == "[9, 9, 9]" + + +def test_learned_router_assigns_nearest_centroid(): + # Three well-separated families in a 4-D "embedding" space; the nearest-centroid router + # (the MoE expert-selection gene) must route each test prompt to its own family's specialist. + rng = np.random.default_rng(0) + fams = ["lists", "strings", "arith"] + anchors = {"lists": [5, 0, 0, 0], "strings": [0, 5, 0, 0], "arith": [0, 0, 5, 0]} + train_emb = np.array([anchors[f] for f in fams for _ in range(8)], dtype=float) + train_emb += rng.normal(scale=0.1, size=train_emb.shape) + train_fam = np.array([f for f in fams for _ in range(8)]) + test_fam = np.array(["arith", "lists", "strings", "arith"]) + test_emb = np.array([anchors[f] for f in test_fam], dtype=float) + rng.normal(scale=0.1, size=(4, 4)) + routes = learned_routes(train_emb, train_fam, test_emb, fams) + assert [fams[r] for r in routes] == list(test_fam) # each routed to its own family + + +def test_learned_router_is_cosine_scale_invariant(): + # Cosine routing must ignore prompt-embedding magnitude (long vs short prompts): a test point on a + # family's ray routes there regardless of its norm. + fams = ["a", "b"] + train_emb = np.array([[1.0, 0.0], [1.0, 0.0], [0.0, 1.0], [0.0, 1.0]]) + train_fam = np.array(["a", "a", "b", "b"]) + test_emb = np.array([[10.0, 0.0], [0.0, 0.01]]) # very different magnitudes + routes = learned_routes(train_emb, train_fam, test_emb, fams) + assert [fams[r] for r in routes] == ["a", "b"]