From 38eff1a4ccdaea8164b70c71ba276117896350fb Mon Sep 17 00:00:00 2001 From: Daniel Rosel Date: Wed, 10 Jun 2026 21:07:30 +0200 Subject: [PATCH] updating page --- docs/index.html | 201 +++---- docs/static/css/defense-theme.css | 740 ++++++++++++++++++++++++ docs/static/css/index.css | 275 --------- docs/static/images/agent.svg | 123 ++++ docs/static/images/apple-touch-icon.png | Bin 0 -> 25322 bytes docs/static/images/favicon.ico | Bin 12014 -> 15086 bytes docs/static/images/human.svg | 87 +++ 7 files changed, 1043 insertions(+), 383 deletions(-) create mode 100644 docs/static/css/defense-theme.css create mode 100644 docs/static/images/agent.svg create mode 100644 docs/static/images/apple-touch-icon.png create mode 100644 docs/static/images/human.svg diff --git a/docs/index.html b/docs/index.html index 7c10cf9..59c4c8b 100644 --- a/docs/index.html +++ b/docs/index.html @@ -45,8 +45,8 @@ - - + + @@ -65,6 +65,7 @@ + @@ -241,94 +242,87 @@
-
+
-
-
-

Pricing Heuristics Against Non-human Transaction Orchestration Mechanisms

-

Revenue management in the age of AI agents.

- +
+
+

IE University Bachelor's Thesis · 2025

+

PHANTOM

+

Revenue management in the age of AI agents.

-
- IE University
Bachelor's Thesis 2025
- Advisor: Alberto Martín Izquierdo -
- -
- + +
-
+
+
+
+
+
+ 01 +

The vulnerability

+

Repeated agent price queries collapse the Cost of Information that dynamic pricing depends on.

+
+
+ 02 +

The signal

+

Human and agent sessions separate through transition-kernel behavior, not brittle bot flags.

+
+
+ 03 +

The defense

+

Distributionally robust RL preserves pricing power under contaminated demand.

+
+
+
+
-
+
@@ -344,7 +338,7 @@
-

Abstract

+

The thesis, compressed.

Dynamic pricing extracts margin by exploiting the gap between what a platform knows and what a buyer knows. A user who browses a hotel across several sessions signals intent; the platform raises the price accordingly. That information asymmetry — the Cost of Information — is the economic engine behind session-based pricing in travel, hospitality, and e-commerce. @@ -408,34 +402,25 @@ -

+
-
-

How it works

-

- The methodology runs in three stages: observe, distinguish, defend. -

- -

Stage 1 — Observe

-

- Both human participants and LLM agents are assigned goal-driven tasks on a live instrumented storefront (hotel or airline mode). Every interaction is logged as a timestamped event tuple (action, item, timestamp). Actions are partitioned into four semantic categories — cart, dwell, navigation, filter — with decreasing signal weights (4.0, 2.0, 1.0, 0.5) calibrated by the KL divergence between human and agent transition rows. Price quotes are streamed to a separate Kafka topic, enabling joint analysis of behavior and pricing exposure. The platform runs a surge-discount heuristic during collection to expose participants to state-dependent prices. -

- -

Stage 2 — Distinguish

-

- From the labeled session trajectories, we estimate class-specific Markov transition kernels H and A by maximum likelihood. For any new partial trajectory τ', we compute KL divergence to each prototype: -

-

- ΔH = DKL(T̂' ∥ T̄H),   ΔA = DKL(T̂' ∥ T̄A) -

-

- The gap score g(τ') = ΔH − ΔA maps to a weak agent probability via a temperature-controlled logistic function: f(τ') = σ((ΔH − ΔA) / T). This is a continuous signal, not a binary bot flag. The Mann–Whitney test on gap scores between the 13-human and 16-agent cohorts yields U = 2.0, p = 0.0006 — the behavioral distributions are well separated. -

- -

Stage 3 — Defend

-

- A contamination generator G(α) mixes real human trajectories with synthetic agent trajectories drawn from A to produce training distributions at any contamination level α ∈ [0, 1]. The pricing policy is trained as a Stackelberg leader against a Wasserstein ambiguity set around the generator's empirical distribution, minimizing worst-case regret over plausible demand shifts. The per-step reward penalizes COI leakage — weighted by f(τ') — while a UX index bounds harm to legitimate users. Sweeps ran across 384 TPU chips (v4, v5e, v6e Trillium) covering six contamination levels and multiple algorithm variants (PPO, A2C, DQN, Q-table). -

+

We study behavior, convert it into a control signal, and train a pricing policy that survives contamination.

+
+
+ 01 +

Observe

+

Human participants and LLM agents complete goal-driven hotel and airline tasks. The storefront records behavior events and price quotes as timestamped trajectories.

+
+
+ 02 +

Distinguish

+

Session paths become transition kernels. KL distance to human and agent prototypes yields a continuous agent-probability signal.

+
+
+ 03 +

Defend

+

A contamination generator mixes human and synthetic agent trajectories. A distributionally robust RL policy optimizes price under worst-case demand shifts.

+
@@ -524,7 +509,7 @@
-

Full Thesis

+

Full thesis.

diff --git a/docs/static/css/defense-theme.css b/docs/static/css/defense-theme.css new file mode 100644 index 0000000..6bc4eca --- /dev/null +++ b/docs/static/css/defense-theme.css @@ -0,0 +1,740 @@ +:root { + --phantom-bg: #eef3f7; + --phantom-paper: rgba(255, 255, 255, 0.78); + --phantom-paper-solid: #ffffff; + --phantom-ink: #1f2a38; + --phantom-muted: #59636e; + --phantom-faint: #dce5eb; + --phantom-line: rgba(31, 42, 56, 0.13); + --phantom-teal: #28aaa5; + --phantom-teal-dark: #16837f; + --phantom-blue: #527dad; + --phantom-blue-soft: rgba(82, 125, 173, 0.18); + --phantom-shadow: 0 28px 80px rgba(31, 42, 56, 0.12); + --phantom-soft-shadow: 0 14px 45px rgba(31, 42, 56, 0.08); +} + +html { + scroll-behavior: smooth; + background: var(--phantom-bg); +} + +body { + color: var(--phantom-ink); + background: + radial-gradient(70rem 22rem at 72% 8%, rgba(31, 42, 56, 0.15), transparent 58%), + radial-gradient(54rem 24rem at 20% 62%, rgba(31, 42, 56, 0.12), transparent 62%), + linear-gradient(180deg, #f7fafc 0%, var(--phantom-bg) 48%, #f8fafb 100%); + font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace; + letter-spacing: -0.02em; +} + +body::before { + content: ""; + position: fixed; + inset: -20vh -10vw auto -10vw; + height: 72vh; + pointer-events: none; + z-index: -1; + opacity: 0.88; + filter: blur(30px); + background: + radial-gradient(45rem 16rem at 9% 34%, rgba(18, 23, 31, 0.11), transparent 62%), + radial-gradient(35rem 11rem at 65% 24%, rgba(18, 23, 31, 0.13), transparent 65%), + radial-gradient(42rem 17rem at 45% 88%, rgba(82, 125, 173, 0.13), transparent 68%); +} + +strong, b { + font-weight: 700; + color: inherit; +} + +a { + color: var(--phantom-blue); + text-decoration-thickness: 0.08em; + text-underline-offset: 0.18em; +} + +main { + overflow: hidden; +} + +.container.is-max-desktop { + max-width: 1180px !important; +} + +.section, +.hero-body { + position: relative; +} + +.section { + padding: 5rem 1.5rem; +} + +.title, +.subtitle, +h1, +h2, +h3, +h4, +button, +.button { + /* important needed to beat index.css serif heading rule */ + font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace !important; + letter-spacing: -0.04em; +} + +/* Defense cover */ +.defense-cover { + min-height: 92vh; + padding: 2rem 0 3.5rem; + background: + linear-gradient(180deg, rgba(255, 255, 255, 0.68), rgba(238, 243, 247, 0.92)); +} + +.defense-cover::after { + content: ""; + position: absolute; + right: -10vw; + bottom: -13rem; + width: 64vw; + height: 26rem; + background: rgba(31, 42, 56, 0.12); + filter: blur(38px); + border-radius: 65% 35% 47% 53%; + transform: rotate(-8deg); + pointer-events: none; +} + +.defense-cover .hero-body { + padding: 5.5rem 1.5rem 4rem; +} + +.defense-hero-grid { + display: grid; + grid-template-columns: minmax(0, 1.08fr) minmax(280px, 0.72fr); + gap: clamp(2rem, 6vw, 7rem); + align-items: center; +} + +.defense-kicker, +.defense-meta-row, +.defense-chip-row, +.defense-mini-label, +.tpu-credit { + color: rgba(31, 42, 56, 0.66); + font-size: 0.88rem; + letter-spacing: 0.08em; + text-transform: uppercase; +} + +.defense-kicker { + margin-bottom: 1.2rem; +} + +.publication-title.defense-title { + margin: 0; + color: var(--phantom-ink); + font-size: clamp(4.25rem, 12vw, 10rem); + line-height: 0.82; + font-weight: 800; + letter-spacing: -0.09em; + text-transform: uppercase; +} + +.defense-subtitle { + max-width: 950px; + margin: clamp(1.5rem, 3vw, 2.3rem) 0 0; + color: var(--phantom-ink); + font-size: clamp(1.55rem, 3.2vw, 3.35rem); + line-height: 1.35; + font-weight: 400; + letter-spacing: 0.05em; +} + +.mark, +mark, +.defense-highlight { + background: linear-gradient(0deg, var(--phantom-blue) 0%, var(--phantom-blue) 100%); + color: #ffffff; + padding: 0 0.1em; + line-height: inherit; + box-decoration-break: clone; + -webkit-box-decoration-break: clone; +} + +.defense-chip-row { + display: flex; + flex-wrap: wrap; + gap: 0.7rem 0.9rem; + margin-top: 2.15rem; + text-transform: none; + letter-spacing: -0.02em; + font-size: clamp(0.92rem, 1.4vw, 1.2rem); +} + +.defense-chip { + display: inline-flex; + align-items: center; + gap: 0.65rem; + color: rgba(31, 42, 56, 0.70); +} + +.defense-chip::before { + content: ""; + width: 0.42rem; + height: 0.42rem; + border-radius: 999px; + background: var(--phantom-blue); + box-shadow: 0 0 0 0.35rem var(--phantom-blue-soft); +} + +.defense-meta-card { + margin-top: 2.4rem; + display: inline-flex; + flex-wrap: wrap; + gap: 0.6rem 1rem; + align-items: center; + padding: 0.85rem 1rem; + border: 1px solid var(--phantom-line); + border-radius: 999px; + background: rgba(255, 255, 255, 0.58); + backdrop-filter: blur(18px); + box-shadow: var(--phantom-soft-shadow); + color: rgba(31, 42, 56, 0.74); + font-size: 0.95rem; +} + +.defense-meta-card .dot { + width: 0.26rem; + height: 0.26rem; + border-radius: 50%; + background: var(--phantom-teal); +} + +.defense-links { + display: flex; + flex-wrap: wrap; + gap: 0.75rem; + margin-top: 1.8rem; +} + +.defense-links .button, +.publication-links .button { + border: 1px solid rgba(31, 42, 56, 0.18) !important; + background: rgba(31, 42, 56, 0.92) !important; + color: #ffffff !important; + box-shadow: 0 12px 30px rgba(31, 42, 56, 0.16); + transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease; +} + +.defense-links .button:hover, +.publication-links .button:hover { + transform: translateY(-2px); + box-shadow: 0 16px 40px rgba(31, 42, 56, 0.20); + background: var(--phantom-ink) !important; +} + +.defense-links .button.is-light-outline { + background: rgba(255, 255, 255, 0.72) !important; + color: var(--phantom-ink) !important; +} + +.tpu-credit { + margin-top: 1.35rem; + text-transform: none; + letter-spacing: 0.02em; +} + +.tpu-credit .accent { + color: var(--phantom-blue); + font-weight: 700; +} + +.defense-visual { + justify-self: end; + width: min(100%, 430px); +} + +.defense-orbit-card { + position: relative; + min-height: 435px; + border: 1px solid var(--phantom-line); + border-radius: 2rem; + background: linear-gradient(145deg, rgba(255, 255, 255, 0.84), rgba(238, 243, 247, 0.68)); + box-shadow: var(--phantom-shadow); + overflow: hidden; +} + +.defense-orbit-card::before { + content: ""; + position: absolute; + inset: 2rem; + border: 1px dashed rgba(31, 42, 56, 0.22); + border-radius: 44% 56% 58% 42%; + transform: rotate(-14deg); +} + +.defense-orbit-card::after { + content: ""; + position: absolute; + right: -4rem; + bottom: -5rem; + width: 18rem; + height: 12rem; + background: rgba(40, 170, 165, 0.14); + border-radius: 50%; + filter: blur(18px); +} + +.defense-art-stack { + position: relative; + display: grid; + min-height: 435px; + place-items: center; + z-index: 1; +} + +.defense-art-stack .agent-art { + width: min(70%, 250px); + transform: translateY(-12px); + filter: drop-shadow(0 28px 28px rgba(31, 42, 56, 0.12)); +} + +.defense-art-stack .mini-token { + position: absolute; + width: 4.8rem; + height: 4.8rem; + display: grid; + place-items: center; + border-radius: 1.3rem; + border: 1px solid rgba(82, 125, 173, 0.28); + background: rgba(255, 255, 255, 0.72); + color: var(--phantom-blue); + box-shadow: var(--phantom-soft-shadow); + font-size: 1.35rem; +} + +.defense-art-stack .mini-token:nth-child(2) { top: 3.1rem; right: 3.2rem; } +.defense-art-stack .mini-token:nth-child(3) { left: 2.8rem; bottom: 6.1rem; color: var(--phantom-teal-dark); } +.defense-art-stack .mini-token:nth-child(4) { right: 5.6rem; bottom: 3.2rem; color: var(--phantom-ink); } + +/* Defense overview strip */ +.defense-overview-strip { + margin-top: -3.8rem; + padding: 0 1.5rem 4.6rem; + position: relative; + z-index: 2; +} + +.defense-overview-grid { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 1rem; +} + +.defense-overview-card, +.actor-card, +.defense-step, +.hf-callout, +.coi-equation, +pre, +.publication-banner { + border: 1px solid var(--phantom-line); + background: var(--phantom-paper); + box-shadow: var(--phantom-soft-shadow); + backdrop-filter: blur(18px); +} + +.defense-overview-card { + min-height: 9rem; + padding: 1.3rem; + border-radius: 1.4rem; +} + +.defense-overview-card .num { + color: var(--phantom-blue); + font-weight: 700; + font-size: 0.85rem; +} + +.defense-overview-card h3 { + margin: 1rem 0 0.45rem; + color: var(--phantom-ink); + font-size: clamp(1.15rem, 2vw, 1.65rem); + line-height: 1.05; +} + +.defense-overview-card p { + color: var(--phantom-muted); + font-size: 0.95rem; + line-height: 1.45; +} + +/* Main sections */ +.hero.teaser, +.hero.is-small, +.hero.is-small.is-light, +.hero.is-light, +.section.hero.is-light, +.defense-block { + background: transparent !important; +} + +.publication-banner { + padding: 1rem; + border-radius: 1.5rem; + overflow: hidden; +} + +.publication-banner img, +.actor-art img { + filter: drop-shadow(0 18px 22px rgba(31, 42, 56, 0.10)); +} + +.defense-heading, +.title.is-3, +.content h2.title { + color: var(--phantom-ink) !important; + font-size: clamp(2rem, 4.5vw, 4.8rem) !important; + /* enough leading that .mark backgrounds on wrapped lines don't overlap adjacent text */ + line-height: 1.2 !important; + font-weight: 700 !important; + letter-spacing: -0.06em !important; + text-align: left !important; + margin-bottom: 2rem !important; +} + +.title.is-4, +.content h3.title { + color: var(--phantom-ink) !important; + font-size: clamp(1.35rem, 2.2vw, 2rem) !important; + font-weight: 700 !important; + letter-spacing: -0.05em !important; + margin-top: 2rem !important; +} + +.content { + color: var(--phantom-muted); + font-size: 1.02rem; + line-height: 1.68; +} + +.content.has-text-justified, +.content.has-text-justified p { + text-align: left !important; +} + +.content p + p { + margin-top: 1.05rem; +} + +.defense-block, +.section.hero.is-light { + position: relative; +} + +.defense-block::before, +.section.hero.is-light::before { + content: ""; + position: absolute; + inset: 1rem 0 auto 0; + height: 1px; + background: linear-gradient(90deg, transparent, rgba(31, 42, 56, 0.13), transparent); +} + +.defense-block .defense-heading { + margin-bottom: 3.5rem !important; +} + +.actor-grid { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 1.1rem; + position: relative; + z-index: 1; +} + +.actor-card { + display: flex; + flex-direction: column; + min-height: 25rem; + padding: 1.4rem; + border-radius: 1.5rem; +} + +.actor-card h3 { + margin-top: 1.1rem; + color: var(--phantom-ink); + font-size: clamp(1.6rem, 3vw, 2.55rem); + line-height: 1; + font-weight: 700; +} + +.actor-card p { + margin-top: 1rem; + color: var(--phantom-muted); + font-size: 1rem; + line-height: 1.45; +} + +.actor-art { + min-height: 12rem; + display: grid; + place-items: center; +} + +.actor-art img { + max-height: 10.5rem; + width: auto; +} + +.actor-icon { + display: grid; + width: 8.75rem; + height: 8.75rem; + place-items: center; + border: 2px solid rgba(82, 125, 173, 0.55); + border-radius: 1.7rem; + background: linear-gradient(145deg, rgba(40, 170, 165, 0.20), rgba(255, 255, 255, 0.94)); + color: var(--phantom-teal-dark); + font-size: 3.6rem; + transform: rotate(-6deg); +} + +.underline { + text-decoration: underline; + text-decoration-thickness: 0.09em; + text-underline-offset: 0.13em; +} + +.coi-equation { + border-radius: 1.7rem; + padding: clamp(1.6rem, 4vw, 3rem); +} + +.coi-equation .formula { + color: #111111; + font-family: Georgia, "Times New Roman", serif; + font-size: clamp(3rem, 9vw, 7.6rem); + line-height: 1; + letter-spacing: -0.07em; +} + +.coi-equation .caption { + max-width: 780px; + margin-top: 1.3rem; + color: var(--phantom-muted); + font-size: 1.05rem; +} + +.defense-method-grid { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 1rem; + margin-top: 2rem; +} + +.defense-step { + border-radius: 1.4rem; + padding: 1.35rem; +} + +.defense-step .step-num { + display: inline-grid; + place-items: center; + width: 2.6rem; + height: 2.6rem; + margin-bottom: 1rem; + border: 1px solid rgba(40, 170, 165, 0.38); + border-radius: 50%; + color: var(--phantom-teal-dark); + background: rgba(40, 170, 165, 0.10); + font-weight: 700; +} + +.defense-step h3 { + margin: 0 0 0.55rem !important; + font-size: 1.45rem !important; +} + +.defense-step p { + color: var(--phantom-muted); + font-size: 0.95rem; + line-height: 1.5; +} + +.takeaways { + list-style: none; + margin: 2rem 0 0 !important; + padding: 0; + display: grid; + gap: 0.9rem; +} + +.takeaways li { + display: grid; + grid-template-columns: 5rem minmax(0, 1fr); + gap: 1rem; + align-items: start; + padding: 1.2rem 1.3rem; + border: 1px solid var(--phantom-line); + border-radius: 1.2rem; + background: rgba(255, 255, 255, 0.68); +} + +.takeaways .num { + color: var(--phantom-blue); + font-size: 1.4rem; + font-weight: 700; +} + +.takeaways .stat { + display: block; + margin-top: 0.45rem; + color: var(--phantom-muted); + font-size: 0.9rem; +} + +.deploy-line { + margin: 2rem 0 0; + color: var(--phantom-ink); + font-size: clamp(1.45rem, 3vw, 2.5rem); + line-height: 1.25; + font-weight: 700; +} + +.deploy-line strong { + background: var(--phantom-blue); + color: #ffffff; + padding: 0 0.1em; + box-decoration-break: clone; + -webkit-box-decoration-break: clone; +} + +.hf-callout { + display: grid; + grid-template-columns: auto 1fr; + gap: 1rem; + margin-top: 1.6rem; + padding: 1.2rem; + border-radius: 1.3rem; +} + +.hf-emoji { + width: 3.6rem; + height: 3.6rem; + display: grid; + place-items: center; + border-radius: 1rem; + background: rgba(255, 215, 0, 0.20); + font-size: 1.9rem; +} + +.hf-callout h4 { + margin: 0 0 0.3rem; + color: var(--phantom-ink); + font-size: 1.12rem; +} + +.hf-callout p { + margin: 0 0 0.35rem; + color: var(--phantom-muted); +} + +pre#bibtex-code, +pre { + border-radius: 1.2rem; + color: var(--phantom-ink); +} + +.footer { + background: rgba(255, 255, 255, 0.54); + border-top: 1px solid var(--phantom-line); + color: var(--phantom-muted); +} + +.more-works-container, +.scroll-to-top { + font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace; +} + +.more-works-btn, +.scroll-to-top { + background: rgba(255, 255, 255, 0.78) !important; + color: var(--phantom-ink) !important; + border: 1px solid var(--phantom-line) !important; + box-shadow: var(--phantom-soft-shadow) !important; + backdrop-filter: blur(16px); +} + +.more-works-dropdown { + border: 1px solid var(--phantom-line) !important; + border-radius: 1.2rem !important; + box-shadow: var(--phantom-shadow) !important; +} + +@media (max-width: 900px) { + .defense-hero-grid, + .defense-overview-grid, + .actor-grid, + .defense-method-grid { + grid-template-columns: 1fr; + } + + .defense-cover .hero-body { + padding-top: 4rem; + } + + .defense-visual { + justify-self: stretch; + } + + .defense-orbit-card, + .defense-art-stack { + min-height: 330px; + } + + .defense-art-stack .agent-art { + width: min(56%, 205px); + } + + .defense-meta-card { + border-radius: 1.2rem; + } + + .publication-title.defense-title { + font-size: clamp(4rem, 18vw, 6.2rem); + } +} + +@media (max-width: 560px) { + .section { + padding: 3.6rem 1.1rem; + } + + .defense-cover .hero-body { + padding-left: 1.1rem; + padding-right: 1.1rem; + } + + .defense-subtitle { + letter-spacing: 0.02em; + } + + .takeaways li, + .hf-callout { + grid-template-columns: 1fr; + } + + .defense-chip-row, + .defense-links { + flex-direction: column; + align-items: stretch; + } + + .defense-links .button { + justify-content: center; + } +} diff --git a/docs/static/css/index.css b/docs/static/css/index.css index 947351a..9718b15 100644 --- a/docs/static/css/index.css +++ b/docs/static/css/index.css @@ -686,281 +686,6 @@ a:focus-visible, } } -/* ------- Defense-styled sections (style ported from defense slides) ------- */ - -.defense-tagline { - font-family: var(--mono-stack); - font-size: clamp(1.05rem, 2vw, 1.45rem); - font-weight: 500; - color: var(--defense-ink-soft); - letter-spacing: 0.02em; - margin-top: -0.5rem; - margin-bottom: 1.5rem; - text-align: center; - line-height: 1.45; -} - -.defense-tagline .mark { - background: var(--defense-teal-bg); - padding: 0.05em 0.35em; - border-radius: 4px; - color: var(--defense-ink); -} - -.tpu-credit { - font-family: var(--mono-stack); - font-size: 0.85rem; - color: var(--paper-ink-soft); - letter-spacing: 0.03em; - text-align: center; - margin-top: 1.25rem; -} - -.tpu-credit .accent { - color: #4285f4; - font-weight: 700; -} - -.section.defense-block { - background: var(--defense-bg); - border-top: 1px solid var(--paper-border); - border-bottom: 1px solid var(--paper-border); -} - -.defense-heading { - font-family: var(--mono-stack) !important; - font-size: clamp(1.35rem, 2.6vw, 2rem) !important; - font-weight: 700; - color: var(--defense-ink) !important; - line-height: 1.4; - letter-spacing: -0.005em; - max-width: 56ch; - margin: 0 auto 2.25rem !important; - text-align: center; -} - -.defense-heading .mark { - background: var(--defense-teal-bg); - padding: 0.05em 0.35em; - border-radius: 4px; -} - -.defense-heading .underline { - text-decoration: underline; - text-decoration-color: var(--defense-teal); - text-decoration-thickness: 2px; - text-underline-offset: 4px; -} - -.actor-grid { - display: grid; - grid-template-columns: repeat(3, 1fr); - gap: 1.4rem; - align-items: start; - margin: 2rem 0 1rem; -} - -.actor-card { - background: var(--defense-surface); - border: 1px solid var(--paper-border); - border-radius: var(--radius-lg); - padding: 1.4rem 1.2rem 1.6rem; - text-align: center; -} - -.actor-card .actor-art { - height: 160px; - display: grid; - place-items: center; - margin-bottom: 1rem; - overflow: hidden; -} - -.actor-card .actor-art img, -.actor-card .actor-art svg { - height: 160px !important; - width: 160px !important; - max-height: 160px; - max-width: 160px; - display: block; - border: 0; - border-radius: 0; - box-shadow: none; - object-fit: contain; -} - -.actor-card .actor-icon { - height: 160px; - width: 160px; - display: grid; - place-items: center; - color: var(--defense-teal); - font-size: 5rem; - line-height: 1; -} - -.actor-card h3 { - font-family: var(--mono-stack) !important; - font-size: 1.4rem !important; - font-weight: 700; - color: var(--defense-ink) !important; - margin: 0 0 0.55rem !important; - letter-spacing: -0.01em; -} - -.actor-card p { - font-family: var(--mono-stack); - font-size: 0.95rem; - line-height: 1.55; - color: var(--defense-ink-soft); - margin: 0; -} - -.actor-card p strong { - color: var(--defense-ink); - font-weight: 700; -} - -.coi-equation { - display: grid; - grid-template-columns: 1fr; - gap: 0.6rem; - text-align: center; - background: var(--defense-surface); - border: 1px solid var(--paper-border); - border-radius: var(--radius-lg); - padding: 2.25rem 1.5rem; - margin: 1.8rem auto 0; -} - -.coi-equation .formula { - font-family: "CMU Serif", Georgia, serif; - font-size: clamp(1.8rem, 4vw, 2.6rem); - color: var(--defense-ink); -} - -.coi-equation .formula em { - font-style: italic; -} - -.coi-equation .caption { - font-family: var(--mono-stack); - font-size: 0.92rem; - color: var(--defense-ink-soft); - max-width: 46ch; - margin: 0 auto; - line-height: 1.55; -} - -.takeaways { - list-style: none; - margin: 0 auto; - padding: 0; - max-width: 720px; - display: grid; - gap: 0.85rem; -} - -.takeaways li { - display: grid; - grid-template-columns: 2.6rem 1fr; - align-items: start; - gap: 1rem; - padding: 1rem 1.2rem; - background: var(--defense-surface); - border: 1px solid var(--paper-border); - border-left: 3px solid var(--defense-teal); - border-radius: var(--radius); - font-family: var(--mono-stack); - font-size: 1rem; - color: var(--defense-ink); - line-height: 1.5; -} - -.takeaways li .num { - font-weight: 700; - color: var(--defense-teal); - font-size: 1.05rem; -} - -.takeaways li .stat { - display: block; - font-size: 0.82rem; - color: var(--defense-ink-soft); - margin-top: 0.25rem; -} - -.deploy-line { - font-family: var(--mono-stack); - font-size: clamp(1.05rem, 2vw, 1.3rem); - text-align: center; - margin: 2rem auto 0; - max-width: 48ch; - color: var(--defense-ink); - line-height: 1.55; -} - -.deploy-line strong { - background: var(--defense-teal-bg); - padding: 0.05em 0.35em; - border-radius: 4px; -} - -.hf-callout { - display: grid; - grid-template-columns: auto 1fr; - gap: 1rem; - align-items: center; - background: #fff8e7; - border: 1px solid #f3dba0; - border-radius: var(--radius-lg); - padding: 1.1rem 1.3rem; - margin: 1.6rem auto 0; - max-width: 720px; - font-family: var(--mono-stack); -} - -.hf-callout .hf-emoji { - font-size: 2rem; - line-height: 1; -} - -.hf-callout h4 { - margin: 0 0 0.3rem 0 !important; - font-family: var(--mono-stack) !important; - font-size: 1.05rem !important; - color: var(--defense-ink) !important; -} - -.hf-callout p { - margin: 0; - font-size: 0.92rem; - color: var(--defense-ink-soft); - line-height: 1.5; -} - -.hf-callout a { - color: var(--defense-blue); - border-bottom-color: var(--defense-teal-soft); - font-size: 0.85rem; -} - -@media screen and (max-width: 768px) { - .actor-grid { - grid-template-columns: 1fr; - } - - .takeaways li { - grid-template-columns: 2rem 1fr; - gap: 0.7rem; - } - - .hf-callout { - grid-template-columns: 1fr; - text-align: center; - } -} - @media print { .more-works-container, .scroll-to-top, diff --git a/docs/static/images/agent.svg b/docs/static/images/agent.svg new file mode 100644 index 0000000..b634a4b --- /dev/null +++ b/docs/static/images/agent.svg @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/static/images/apple-touch-icon.png b/docs/static/images/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..43dc6b08bfe84017e1ee868ee949bbda4ac99043 GIT binary patch literal 25322 zcmZ^K1yI{f^evR)UMNt!P@n~hyQQTRX_4X-3-0a~D8;=L*OcNK+_ks{5AN;|Ab4KB z|C@Pl=FPm!Bs=rV>~41NJ@=fwdlT_ZS&k5o8V?N(jZi^eMh(^0{`bbgLVZe(V)3CG zMpJn;B{Vc2Ry4F9!DwiAs7F8c(9qm@(9jNy(9pzE(an5m07szKx9;S+k#BlMn^M}t>X zj7LCBfQN&JM~sID&e`fsJ&A=tB@zwIct}C!qlVYQahqr6OIX?t5(F(Sp%MEiEV}!KM1e7fGcm|qPuV3A z9t|H+UdU>#Y3azCUyitr_MGLf@1L(`(bJOd8hXKm^ZNPk4_mYuW5OC)@TaGu#nEG| zH=T?hHr8D;PJ9owvc#^Y^`PFXh*mj~u!PtyN>FBH4({o1?~=Q)x9}fAq_^+>BBSM_ zsOHYcg_S+kS3Pi)Juy}ssC>3}Nom#%_%OFK=I@S{LP@WB40y{I7g_InVBvefwFnhY zz13I|xxEBJVCdVh<}K5-bgPrZ4AyahocO%N$|qRH-z@Hvr^J#6a<6?i;j3dD*JheC zkD$;xuU*ceX+QPY(0D>dk{xL*MXR3Y7Jo`&#g>o#S~fC6q!eyC(*^Y(=f1SJbVL>8 zU^Z-w)wO&*Hjga-d;qWWDs($K?h#)_r>#`&WJ`v0745dbEizAbI_wz>ThJ}>rEWKD z$Z=Yk4pg_p+t^HQdbN?*+Re6^dbyOuSqC>i{~~US;_$=TR(1P!fnQ8#rmL(dOK*ach1@99j;*V6Xdf=kWG}rMVLIc?Toz z#58Sw_yj+F05AfthDu-~$-A@qZT9mE-gLg{u0nW^KO(vjF)c1Tphr34l|P22f6&|l zJpyYnumdSxiuFuI6dL?|qeb{Z{V&Ha?w9X&FZ^uBM2A->cX155uxHD1+H0bPC#T+F zjsAR9GGrBu+bM5^!-HdmCOzpKu3?Cm7)T}GlX}zHmvu|ofgI@lZxTs3vo?h2UuQ{4 zxu5XHuOszNZ9~j8v`XwbTsyTnG&^|7Xde}KNun-+am+;)<}Uc;MBLO#`IGjy)ubOd z23+yfG_j5x&~vdO?}mRh9?awCj{WMVp~1)z!?6a{ev*_h~kRwuN$M9~@FD-QuhaPZBHu_uq_ueH+X1dSstEC; zbZ(4jEP4!o^oOT0xm6LdoBjM!`AF$h?ILPE-Hf%i(Of=R4tRctJ zJepfBYBw`OuzGZUIKKrxqbNNK>->mLlD}k8_1bUuw>nY>dHt~BbA#bok%Np5Zj}5- z4a;YOSf%=Y{*q<;p`F-I%=R#)xBbw~bMsZ8Yv4=9y5Ive{Ae{FonMTY2b4*#i)>Q<4o24TZ{o8;#7useEmp&Ho{q8Q%nod`HD+2Ym)p;X zL!oJ2Jwio360=n2IY!cn{^3Lzp&06cO?mWj@gF$OIMz;MjFmPBR?`B;hS7I%mV=<2 zK+F=a&bJt(Tv!#DT+jN@+<#!`$}hXM$QyVrLxld2?J-_4rzjdFv_Tx`8rLHzk+1cD z@XMn(LpW5*nY6feFdoa;CXiZ9d->0hEe=oWbdt8*0c?f13@iH?J@3s7y}AcG6%lOZ zR3nqw?WI)10s8uxybVc%B3^QsbMAf5FH260hRoVD`=L#Dvx= zR^Gt(E^l#6Z^Ljit;6u%lM8a5hhN zs;wz!^353O9o1QgX6en& zZN|+JzNsqsE=MwwYCU}8)#pGMgMT25UZ0O|AXw$kgUO^j<-=2ODTj=P=$BItFA`?2 zKfbw+P;s_*v6#C!AUvLj1Ma|h2jW$nHH9^YHR2a!#)1|wW*}gB)K70Cli}`->5U-p zV-T7qm8!bTI9#4((CZ_1NJVfF-*qJNIm1oozQf5P(Jtqu!oM?)j-M9f&Od#y`=YN5 z0r);)ycQzAL{7oNCQk~%_n7-Ge{m`g<6RTXRVYwv5bha2Y>&LcZQp1m$pdRY{y;o^ zeWbCm7!!A-<$yUDUycXll9vZ87VvJc3 zG@WqhfD1TrU%c~)aeYF{7@y^TwNRpdVgvhfHyDbhU}qZ+Zo3woQ3Aaf9uF=it|doz z>uTMXqb+%uXks{oqwp|f6>~iPJzEfZ4_GernBAbwQ9R}BkA@w_bU~^g-6&xDx+zt&-uJep-8R89vT?c zf|qaGL&YpBB$jb3{l{U+Z$X$#e7VqD3pGU?MmOZ1&pns>LpfvGi=VFyZAZ1U4ps^1 z#!nC8mR+o`RiqH~6{+G$`mE1`XJffeeB9n`$`S2ch^l`x`erJbGMe`9HbHiBL6xe} z7C7v_Et2Laql>xxjMX~T>-7~G#W%povxTwv`&4JH+-)kJo90!vGlQhgNc0>n$y4VQ zP<{ogxZ`@r)b`YA)6ehfeIzf()a98K8`StPBY=`q1{uZ3k}9 z8o+=Dw6uqONYmSfp8^Nwj4{yJzk9tai>d z71=aZG-}DW=qU`fJKSq7)|vEYs-6&=ihS$7$@SM^33E4ZAOpqWaX;6!K}qTRQ@mVn zDqoj~&4@petwH+YXeAK%49!9}K`JZ%j^3H#U_?PGYg?K>=Fq}#sS{Q>yh$ zvf@rGDjl4d{6o-n z_f3JDq|RgZFl^=uq`_}Ban=E~2wP&cZPS%QN5Vaz@cwM+&c(SNm+3~)>ksMIxNXd9 zvcbM!pLpaW1M&EZW?o%g)?2*d@MU|YFg7l)Kb zb*2(<*yguY@Re#>XEkAsSWbSI#5mw9HVRVtr8<40EMy_mvu0^h{?AjOY0|7@*LPnU zG*mVJb@CW*kyNAtVqRn1VTvOJRqPxNTR*okyl2uIR)Evnx?E<6bZn4*_i1i9iS81` ze@qD&++!m$sZ9Jyh0&KwDR$cNLdW;;mP~GT>HLJF@ni#TT{O7yKts~>40DX5=Z;Q1-nT6v z?>H`gVA;{5!!af&_uE!PKIDu6Au%{qmx1rRLGjA;iFEyys(wlNYE!U(zs=slIpy!? zvd1K5Slz_8tQzD zIb~&2MCf^BoxQNI;?B>bGwH)bcWS2e7|Y_ed~>TaBc}OyR~h(Naoer3TG9cpq8Y8N z>gF+t)ib>GLCP;O1dhn9UK7SD9DFYxv`m$BC%_*A=Na^>)%qWvM77<)2rf3n)5cHN z{H!nqoW^!{l<9`$9Ge?!fClZ$-lw%DDRCA_S2zsx?)U7YOP=@4ZN+j;3bjz-8IHHx zugK(T{Z8sRhU;$2ydd5yWm5Btw7b%)MY^^h>OPMD4X^c{A=ocFqW5Uk6uaG9w7m+5 zAl=6+C&6(K6bw|5WIDZ}_C!hJkG*&nG4f{7=N2;`&XQ{cK=-_m}%E#@BWn;mQ!2IS)v zQBkQAl$$-LW*21kZF&w}rz_7P&RO`k48Or&Ixj?~I4)o5R6?4{rFd8^gNb%QUEY%B zVoiwaq}>qd-(K9~^q8!;<(R>mpm__W>Wb8eyc_17xTH-YUZ>6B7%$OQxfMlMGWlKqXlJ-M2=hE%KWDMMxhYR^ z-OT6T*G}0DZ@znbAsu&}QV=1p^<2H}VZ5qVFAlWm`D`UV=wA-Zuj(GgPPS-S%et?B zaBXoHeN5^pXaP~ zL(72~2Q)`9z=hq}@miNDaq?3Ue95f^h>@Slo668>+wqzLU13q8-bMB+AvL<6+#Zwd zg(H9E^uAYFNH*vTf>A_?iz3B7(KvObnj`jAso!sl+dcnwzMu-qu1q^NAEP0gVkpIa z1=^%MAFDj3OZG;@GG2CabjY(3u+Ks=E51m&wNfl=hEr?@ujVjqnlTI!A-)sZB2N~Vr zejhK5(EM67>h%bR#%BcJNEAHzvsnJFFA$xl3@ zrPxqtKQ6!j$c|()|9u@)W-!&eYPZ;%8wK1UJ8jS8;7*klBHQp2>$J1w{uLq3ry7nn zo1U;^Ctge3r7OF%Ne9vqV_yqZ(=mXW^+lTyH=eoj2ImFIRekvYSaMbN^bI ze586iu&a6HsM%!Rv(}eRyi)n2e(YHcVV%C``E58ar(Rp2WlCE#w|o2-!adg7%hw)= z=ogvYNs)G|b>KpvUsl$=o@l^@)q!obK!e)_{8+RmPZ679+5Xqb%N9TPAt0hW;p9tu`0*X4M-N>qcskfvWiZvQlfrF#vF ztLAcHwiRxkl?U>hozD1Dpj4$PHM7HmqySgPd$#%ZavVvN94_n~AY5zhTJSFN>-7bB zl4I3TLeqN+S6neu#?qv@XeO2xCZYzyu(?Y@L*;6xH8b22R>Yqx33~T-yq8sOHb0TA zJ3<&151MJ6A z;x%PYiqX$k)V{h{kbKfFrzXFSr&> zk#an*NZY6{ZO86Q4=(1NQ1Y~Cb2)|I_JZnXC#^&LzNusjaA6VKpghSpp*7C^WU4(I zO#xCAMlYDNFO$Qr*+2mD|7tEzqQjLXp7bg~_I$v#^kxDC-2yH)Zax}bxomD@M?To5 zo*%YSHuvyergPUEa@NgR(&fnM-*3A$x2upOd;%FKZ*&~BwF7VzyD@i_))G(xxpXH> zPKhhwE*O=wSkwyNn<`ce8xCY9dd|^tso5jBc%94|rg{*WET&IlVqN}w%?Lxl!r*yEDfdd%xsZj}BhxxxcO*DwhGH__G2}K#> z_QkIXf+RF7y5jaT1tiabmku7)4Rzf9McO z=pga;>gcsooM6S%8cATBz}n$h{4D!xP>C8>GZ+gY)t*TjMAKw8MqZtUa|(j^S(iVL z3njMMiehNb=GX=I$DR0w_Gbrpf65r9r+J4`*!WPM& zJ?^^epKTv>@yiWj{_YA36vqx!y>iXCn;9(E9@}OX1`hR1ShtA=JZHktVXpP0@b)@q z_rK_LC4V887(w*is^tA*e67pNz?LjpP%G_n`~J$Ha#%JRoA0+dPMVoK7$WhnIe!_y`~Q)TvY9Jr}RikUg2yW;7E zI~mtA@?Dd%RQLzvwC^K_>Bv!9f*f{-XaDHKby$V@Mp2G+y5(siKVuRF)7f3}^22Z( z!_GZIa=0=+=yndfV*6)W0uPhK`4ambY`gL9?<*?it(sRv9^~_jT5nYMFHe;-RWePHsv3j{Y#yta-0sw5 z+E5jmjT@r~8T$PyV{Alh#%Xl>5y zN$&mn**$Un`EY--Gt`uOT;vY}_-Rf_F^%Vit>R}34LNM}QZer%o~K2a!*12CHay`T zY&>d96E40mp10Hz<3fJO8Mg3uMy=ppge`4i`L2zv@$VNa42qHLf8Jzr=Qr@u#>03P ziFPwVhNf+`oh(2g4-OHiP;RyGQN-frL;GDsM$^SV4IrTIC<)$z*9)OBbx_|v#iUn% zP4Dpto4XxPYp{X6vd%f|8~Kz-9Sp(ffX#hdbXydJ-%de0!f3cNK7*7_2rZ+i0%8i`#o=oIDz=NC)^CWuatpI0o`N9FyDUOibgqr!8<%M;uE6)9iTs zoXAo}vi>#32Z@ePIuO^^s+<`*N}JIQlzQcZrqZ-?_M>aZ(|3%fb4CVaj34g7t>(w~ zkQOUx@`W8y(=<-`(pDRyl&*n)?mmFjh@wjoQ50RooT&U|CrM8`0;)+1*XE!r2f1s3Q%y}J|n`6Yk*nT=N7}jd*&;c zW+X3qE{vWa&(VLqT)PW^4594t0A0Q1QQ-;*VOT+Oa+m4%Uuln;KOMc>a!IRAOzv#` zo{%cyL8T(m5P2Wa7L0rd@b7d_8QFRi<}_Lw=n5wt%i#G9csgEeJovZ&aPws8R@!G~4%FupL=is8eGs&R-b2?FoQ8Sb&9N-x5rc z&kxNR?`8)*989oCG?=`vDTrPVK(5nCX8)0D^N{h%UtVL#7BcDdToiAvATgtMgD^N* zY$&n`{2>48tYD;IWp1$1)KhGTuTe1)A4E~|g^R{z)4V247$kubDw#m32Z<=4SCXfJ zFR40P?7xNDx2DKY-4)->-jNK^c+}bw!?HmUmfB_8AQVoOv`37MOeNFaZk0q8xIQIL zphQ{J(&M;^ki$YOH$`VYM*qR^65a2UuN!3RwWM9%&;$3yoAovoc+aFZ6<-kmc)!)s zXwyY-U<)rUReNbmU{7Ztad*Ui65uC_aR)m`WlbpI7K)5`LAlKW_l)St!Lm=eTzC{1 zbj}-G3H&Mjk|H!X%g0xOvU!5l62H6*T?`@Ddn|9S95tjmOAD)jbl~P=_KH+6>%qe! zG5uO=v1ya@I%YJjSf%A=d^h%aQ{2ixJ{-E45=8-b1o$TQr;rL zmO}v*vxe0b_9@DHulVKBY74^#pVf?Mqs<4MNwu`0I*=#7r{o1{3zK~)q}+z{ zms!|HrLn!*E` zeEZDymADHDuw~PN3k-+>qdXc4@k*+wzoxe}kc@a)!g`k(<|%nYYb$)bR)SyXx>!faXZMY{WMLE6CzqMy zNRX*x1Z!t(VceluU^Ci{x|MWHNZPX-O{&%+MpLMF1$t!&(WW8}GqVSJL8wd{_Z}iL zg^l0DNp_?&0B$&kwJJ7uYr{P?ci3QGI=Sn{m|RznuAbW>)f+m){W846vu z2Nng&w1c}+esu6L@EqA>sK7;&FAyIg*`8ULTxPrwO!_dR?Fgv7=&bs_#TDGo*XP$E zg=hGp%b7wOLqrdEnb0&?x-Y#jYeL(kFhzVOq_fjd@5=j9{1m1C8{OA2^+jBnJORzY zEhnHz%an@sWfW$%&aFeK$KcS&)saYn#SbSDZSARE0p;3U(#4|9?aIpm7&M1B<;41ft1Wf|S0b4uLb7{@?p}w-l8>QvUu`Tyq`Dv9l-(FXsORB|Kt&GkW7Nio#~^?mKjJ^7 zf4fW#FB`WD_T`^_%Hyi0Y0hwN=3W}?S&SH8=6R-IHagU~cUL`yp9MQ4m+ep$LFH|E zLcdz5829z4N>qEj^yJbVfpe${uVU`1Fp`B7A*N@x8m-qcN3wXcvFQT>vFU+h_@%;5 za7|Zl*gtOqx@qu9vm40W)$^GKt+-aj{6HMaBlEc-mJfS54}+9|&Yz+QgS&j1V)K=! zA2<+z^Jj7I4SR!CKiv#-gWj^Vdc$8fvxAeKXGfOZ8iLG#JWRZf{7jyk$MSm)RLqlU zgj-cThr{N(5SJ2dw3xQ~l1bQ?5{Rv>%aX@&h`xa93s1@FV1}hD+iZjSP=tQNj|kH+ zO}zfM|1p2UX-E23uGArJiuXIas4zToq3yjIgWq`ZZ~wBiRCH_R+g^oBt@9zh|I@e$ zg=E|B^mI<}?OL6Fz`Pxnz${__%a$O^;B&U_H6B8uIZ@H-_L$fJn(sP=+ur{-frFtO zFZ$t+5P?74ckA6>G$-~E4g5LlzcL(wMn}-0u?`a7ww2N`jB2@ZqLN5$DzQoc@Zs!= zv(-rq(0uyp=|s=dbt3cKQmvCAwA!(+a~hYK>K>J|?G2f_oqvR$sjRkv{{z}_gMQyH z^hb7f;H1+P8TT0+7428Pucd#ra9+H^r{Xsuv1SR@U~B2A*_a`GI11dItLX^QtH>Ni zacE94kglY^AmL@bUc9(#;O%Fr+7=Gbc|D7Z@XAT>Nhq4kY#A}(;+L`aF>NboiaAiD zBA8z*-ew^x#Q_GLKXMv2#WJiQ1dxwl|9>&shMg}dl?vO1;(SzC2^!s21PWB>M@^yS z8z-Nk=ak4BQw!x+UvqRUt`7BXf{<4XWy`e*O;c=VIT_sB55=b8?A}XixEYQs^(jD! z2MKPJx1hM=9DLFkGSRJGILiB?X*66Swd$h#?yb&OUC@!e%9cZ`I?gg7vvelmQT6y? z^KUq%I0W{VAb|O|$S!W#cBJ<%uj>#Mh2$eshnL$sC`v~yI_P{G%$0wHJszM!LMY}4 zSTqnQ*^H7GKJggXi&oZ$W*3d?4^O)*!{+b;Rqce*#`Q@tPi$Q=oy+MciHnghvczrDd#h{Jzt-nMx?i~5GNxTgXrzR_W}_co$}A7caV>JuL~5Zy6j=xMh``=i@#`@Pge%|t>+56 z3}UJ``A(Sh5is<$ppr@-F{pj6&0})Dal)4(VU71Wy*Ow4ixe)st=5tl-KJ-3%x5Kn z7v1UOTthlj{}wyJet*3RUr;xjhx3Yehcl$S=-|A5!h(#bhR2Tl(a_5s3h#>X+cp)h zLY)&I&Q=O=~BOtafBCZ34i%fwW1SG8GI9_MmZO4!DTe$WlZ>6&*}CVjDk{Z1UID zqkV|V8zUr!9>p%B{jD+ zEc{+EtBr(R*llblnQU;o8bY+(&S(y7A!h%6lu~9wkE~6-&ju-Pw?9GQmy?36$bzq_ zqV5F7Mx?>X^~&_#7A(XPO+Rxm?#|`FAa2wyu#|l{^dnvq zjOkLDMdFjQtW@?v-zfGTHxu|dR&T_jq~%bmfxF;*s`^(O^qz2XX4~0_%4W4N3my_p z$2reywe)~2lj5EKOf2~ewC|{A2d>v$;b}W9al}X?(et98qEyVwsY-rq(N%WlS0)<6llEjAf)Ux7 zO`5w>i8wr81R7diAI*txqq02wJ86`#ikkr?O2FklLcdB%QIe_9XH8y+hlbg<-9Ub6 z(xn7aXf1pj`|Wf?3Cr(2lS{ztP~72PBZKX>1{uQ#pTYD{)Ri;>*y1pJ68AD{+ggy& zJFUftiBexM2EChT^t*)XBXygz7D=+p8ez`4(duahTmed%HWL7kMa- zP%^kY`l=GJ9t4x{SpNCSmwi>D*Foxc`gp~F4%|okh@!_3qG`T0VI#=kq5F+ueSSO@ zSrm7~$E>#Vp6Ox?gq@3gAO>W0xLt*cFNot)VyluUWeLaPLnOiRWMM`@Zhb^~QY{G` zmz~93X)1eP%qrvpw7z&@riB|%^-Trz72^%VwTYay$UD*H^b#W_a z57SlM3nEv~c?08P?-bAE-<_A@Md+n^ajEYiu?q8^*-q9f-#eKp(KsqKE@14av_I7h zA^>d{x%YYtj%u~WH^E&a9Tr##7ICZ@QD=ttiQ*#S0|b`nIld`*lC7q$S9Q@@!dV5p z-E&PolJ^ZqwBD-;+$-n*I5KvZeYP_{1KS@LQtn}}Oq*dgw6xBnh-dJrin;gPEKgX4 zV%P)eUj|wxpR#1PcAGkv49FJfT0_Kc#Ss#sH;Wx!7pTOtKtLreTkaikiRJaSdYbp( zn*$o#saG4y_vEg-iR3l_O_5DpLR$7RujkUX=7bS#yaTb!V$H&-}vAE zc$B}ZwAI}@%i%UXrVe=p45&Jri4g}(Xuiz?myV`4r6_Ow4B6$il3`X8{M0(R+;;zz zSWe=4fpQpK4p!;7cJv~XGV`@YQUQWjohw&*^H&Rf4;(a}`nTH1yQo(P$*T=A)b=#9 zab@r~`Ks-`n}KQNX;9AhA^=Y={lLe=fNeHkx`N$r_Vmdx+hVsO5UAHSyzEzk`mD$4#g5$}{2BY>fBqxi#UgQuC`z=>+yA z0bl>kAdmGB(f8Y?!;Y(qOFpHD1pzNNGD=Q~xObG%EZPa8ifkR{MB8@j@c9o`l4dz^ z?s*3DoU4%RD!Ao;ph2PK*UoWE|H|W`Irw|CPxk}DfZuU~Qp#(zRIq8}9bxWQ^Uu2R zpF(I=zRLw7Q58kl4{#NFZy4%K0nlgf-#o~$N%P)+GuGk8_lPx{k14uzu1PdwTKvm3 zbd8fyK+{aBU3un9q-94AMzQ@te_(mbT$9D8Msq}@mZ9+G4Td zp$rmQEe;0O82g?;k=qr+hW?;MI#fwSQ<}aR6by)H!bcHIDmqm>z3@`R+R-2Qy!0NP z^7PA+l2k^c@f%f?K?hIixvc5U^ea@w;g*+*M(KjTFORY-H^^ zvBwM#%W)QxRYx;%40eaDy3xh2_}xV)^VQwsXc5rOLBydqiXqSL5C9#4 z3$`eV04G>`GJi&Yd*5`Hp*fNKKU+u|0WdJ!m*5C zkP2Twe-x?oW@~{tL<-rh`mV3~BLm+NzxTgQgLa&j09RdZj|`F^nJ1+O!pCzdw+WEd zrnL}l;efxnHBPF(aJ!4){k)dz0--SsiDTa-a4BvF9^KQSPgE$d-F>^cCqL4CNfSbl zEs!2+j4|KhfbT18XRp(4u{jEHoR>UIiR(DqJN3H^-7Qd|ni$%zn#CJnczTR0l)PLT zW{@18bjFZ=Ji`r2bG;JigHkCZ;;TX=&AXI8Gi1FN;lKe|S%;}lSG^QXC?4cDnI*rA zqy1L_6Pj#whn;{A-cQyjCiNT?(7AiXZb6V&?ctqK%o zZhqIQFw*RThY@-mB(;8^zQEzbRq673qRnVfZ>qc`vMTf`H&ji$G9Dwtv(j>TXUR6h z)9@OAe9VT^`&n!!09zjy`YFdU>LC|N37_pcPL1?#!UB*9_}~EVN4A9p{FM1|3)T_p z-pr6GDqd$Ep|ZWL1`VuC*TpP}OU~^x3h`L>egZzyAhx)C<2}af_VzSTM!m2UV)F15 zWDlf(@d%pAm>*~Y6 zd4W?&{9UfQNo)uxzg@_))w%@lhC%A=Xf5FJcC*1@xeobhTjbT$xW=$|ilW)wPuyw2 zS+un{etl3GNxZO%vY2h_xFv2*%b;IRY|3RAM}JZe@>jQ34d7kOH$MKcpR$Jy9l@)ZGq_57~l7co8nSCDTxKKvBeFMtzOv<81oOVZ-}}D907S$CW}uzYUHCRC4)e z8X2+E)^6=7XX3wAsnF5lAbjllBihTYYHg`XpU3Man4#Osr+~|1&-a9OQ1-F( zh-au0nI^|0DE)U-2`{$p%5f_ZEl(@ME>J2h!c{JzbhKSi?0ZrQ7?f4qBrA2j*l-5% zlpHJlD$KikP%L-E2P*C7?m!>&lEw%t05KTjzDs#y7R_UMpc6`X0PSp+s8T9-_59eY z?jgwjj|ujzzesdy4`9OMJL{0VvwYvbdOQ9b$_4W7UQ+#pZHMJF2J^q}cv_UJKM^}? zS9_POu?T=pvHZKWx=EUAIDWI(fx*S~+T0(EyrhVxim=v*I5 z{`g9ZAxp4zKI+@(v*A=gY`t}UwfMaX1n3pn|1N&7QK$aWj)cc(3FiPyxH@3dzpsm8M1A7pn9<_)b1K{}nadIePh+W0kG zXcm{hIXlhKuq(^)I#sS_x_ns(!Y<0Dz+^tMg^EY_FcQqtp!&MF%IGWOO{Un|wBKPEv(K zW?G2O=9-U>tWTebiogi3v?^Oi8E5{Ew1 z3>`6jRMbS0Of@hF24{Injd@~JlilgCz3c1&bQMdVwl?j%nm(>8^f|s@QG_AY4d-V@ zb};Nm=tRRyS!0c6&(I~RJ!ot_1l2u=f->D+PB!!w+OVp7S~b5O;mb8<%!OYav3s12 zXDc0Xzhr-O+F*kn*Nf9wflw!v4BUqw}qyBiaxj6Ucfo1pnrkPHn-NBdpMeF>S-^LW~v#xj!?|s!3 zkyn`~vxB*|cf6&mjM7!D)72?gbfbwSZWn`V>!O4pK2_t3!K3LD_B$Hl+Vj&W;Cf$i z?spy!9H_&Rg0`q=sAcJR6Oz$B!}BM?EQ}xz8Qv8J;;tKCF3e%;mG%VOVQW7OV(@#< zHVD@g*aPep-j!px6m2Rmu!xB7`3aFw$I`M$;PQMB^*FLRHrhEuAK*1?%F{0ZO?kBY z4YQyM%{zg}wb#uy@U45;m7#pmfn|g3kxW0v@@f$=f95JrcvaowochsPjseY__Cd*H zBU`}uJ0E42OpVK)Vr7M&ib-Q-C6jI%IB&L7qj6H8S^vh-A8*Fmpq05gZy;?cS-;#0 zHRZ(4N9v-h6iaN)e7YGUxz_hVdh-i2q3Qv6b}p;*Vkq7(9#=QZAwF(7cztHk?H$6C zlEad)j#8yu)HbeVjwgSt7uLE577{cxug08PM#!oE5oi-qD@oyepQ#RmiKo94gJp^O z4h?!#M0Y9l7iYZjeVb4w-C^43EEC*^n_GlW=&t&~R7iy+Bn*V$!8dS+)2iH~26_C; zi8$4Vu9#TH;h*TV^Uy@R*0*VXbwjDoAs$quR0 zP$9kwQI_2jgS?))CuNQ{5c(9$4+dp(|(cOCSCXw^TNT$Gie_)qP zI4gp#60UN@7C@HuRfLyltT9v*SKV=Id(VEL1+?7ninRcLF8VuUY~e@RBetty_lNYa zm=wpl&{%0-G5$iBlz+_=Krb}J5;Mm)Syrk`x!k{pnpC&t%Tj|42DigvxBFCIrPI*c z7pK-GgOlICOv!)VB8=0vAGvRy^>HkmSrzf$*O2r&-gG>}W4^c=IROM0UON~Y=5# zeA>Y>RDnI-9t|EBcPl{>@H-E#43VGsvc&6MGc?}b{r)Dqu_8)`-^30luz&j`cEs&+ zmb{1OfYq+PUlCm;HqMPv@O8gZ-fI^TeEFd6lStNY3b8jG>@(1pbQfS~a$-M3)K~6p zE7@5)h#z>a7V#ad`|oWcTr^HwPGgom-AgX@l|QmwaqW4@wn&Vb4X%@_QnJx5RVTPu ziaCi7LZ=L~@i2~TPdCQQA?Kt0+AnmwQz*tP))Q47Z`zox&||gqtMwcipa7rPX~bi9 zfOs16ms|XpJ>$-9=W{N_$FtPbHMqKK= z$KRsl?)`w`7+=uo$M)NsFH%ljZ@8$16WL%6%*BRlZE@xj%^?-ZlWZGdQfAx4k6dyN z-3lAuJzMwJDzs)L8zRa}Jyh8f+rl}q=ru1jAd$ZRMEG%!$%CIW2SA4SJ5#HPuLrM%orcZZ9^b~~-s{HZo_^l5dtbR9a%`tlpLC6pg;V`erak{mGU!Mxh0(=A zY6&VYed=`teuXMUC5_WIjwmWqTX)cW)P)5GrBEy`*dPC4y^Ep!Qr}*0f~WG}<-6Fd z)8x)wCBDTXA5ffruD@Nr_wmZ;$f_Sw|F=!wvp?1bKg;Ie;1&CFTnZUNFe(qQVKNe{ zji@}CR}ye^?DbvcWCCE`?yA*0C>6~0Rq|?Af~HK59<7(Q@ zok&Cuv1wA@#gscZ8aOdgG|SmsPWO+mfSu(hX(1#eq?z!eRhM7xPzMuOGw4lz-WyqZ z()a-Kbp_3snh-4#ti#n+v|B@RS2|4St1r#2R-kOFoVd!Yl8*h%`&lZbxEhv z&~GgKv6XSAw*OwgoA8|VTFuD!%@7Wv%9%4X86Kju)2U9n24%f%R*HTQAMliMD`ocz zT((4yDE%+XOe4m=aC;_~ z6voxLG>&pAt%0>n#=l4Ymq$$endT^?x8IziQ&pXDyzvft*G!biz$_6lz~=Ycufn}Q z+j;q}*+7}~m&TOMZ+T}{_b2chKz!>)x5M*%Up%e4(u&1LFPW~_KYgHq z$M4I4tsz;Elh<6VRaD+;GEb`Oq<;kRsMcdF5xGd060X&E{b~EYqF8nTM~7CTJy_X6 zzP4x{L~%q9f@kz=$UcMoAZ#HAbHwnW)oL4YN@I4E|J%a<6@Vds-r~()hr9^%5VGg} zYC^r?KGGfZ_@a;F_|;avI=@1z<7K6}XwXQ74eMqf+!<40ETk?U@S8CSeKcl!9R?QL%Th4=nz#n$$#OC4RA zd{aLfMhqd_P+Re#9;2n~;j{KRe)RzH*!IGcfyj_C|)>)EC8uH?o17wycy0a zLRXXc;K76R@87@Y@0%~2Ap7>eM150}M39Kc!RRcDdZ}98aZ+#+qP}%>FcwN z*k?SUkES`Z*(@zBEmGgmKwK(`bB;_dD=l#uf1t>=?Yn{z!-up2-=6o8KYe^}bNi=~ zIKHEG`|c6l`nq;d6E+Hunq1UZKOfP{(e0r=!VY>Z<D9X^;*(Jsp ztT7T>i)(HXwT5z1l)!sRMZ}Az7$;&xC~27&Uwu8OuMJrB^S^%KPygvhU%l(G7k|}J zD1E7TuDdV2|~Jq#7=+N*$gl?6Zg$yERPn@xo}61-R1_I9xJ z&Q#FSM`3X1;HLU--T614d97c*MpwM@T3}6xwSl6ZM2bWj62vM&B-&=I)Ywql z3q{Fiv+A6auC6Z4X0sB8fws4|Q&(4inAJWLiG9Wpx|$T;dyGjPFkM|;vTxsh$>o}` zHlbK-kuVIgK_Ib9M4TW=Ok9d3CL!@i>=T?roO3wm#CeB$FTK9w{l!x9*^WK?rxse;s2w~Yb@S!2hg@uj+!%eNNpE|5G*b7<fOY&<}XFEe~hNZaoAq7`|xUqkMjpSg9xvmbxgg{4@!>wM8w50-Wy_^ zIOpgnbjf3jo6Yave#HTA5Oo0<>yfe}6GS+LqBkA+#2CWlE)H^7$H6 z3pnSn)>0~!$Ye6Th<&Dz`m_`J2$oHfB%xR=N+y#*RmDXi)^&-hh&LgnazVWFs2Yir z60vuJ2bZYC6|0Q%#11L@7@v5-dA#?MsH5x>Y1v;w9Q@bMUcX_@`d$C^I}a>(9R~`4 zZi$oRzR9Bpzwmcod+$9Pw(p4-uihM(KnSeSC<(A8k;DdyK>{CW#t34eOe~RCjRK*7 zVx1!jBCIu(6Gbx_0tpc<(|~%0)#lQLGJEOa>YqpR z+Z{g0Jl;s57$GSo>{+*;O-r_Ma9bPdwKWROJ%jt#{rl|k16Kd=o<%O7k0i9l1`?pL zRcDNpBd^v%#w!t)BrcLfiC7nDRCXj8PwcHkCQz}Sf-ezBK-L-(N$`?TQlaciWJ5zs zsibvvp%`P-IVaZIUMG4cNRZP;=%bKX0IaoAC=?J8Q5BMMSrjWBE+G(=Qpr*FP9#Yv zCx|y*h+|x=QWQmfQA{j&=cOzOr6dt8s~8U|39&Cp?7g_e5SNw2IXT$6pQ+>f7cMw| zz%PFB*xJRfZ$0?IQYrbwlh3UhxAdiTn0^hZn=cd5E6XiCnWONzJ5jrL3emApS_IT9 z&6``;v}7B5)*T=zCvjly)AbFRf4%&Ikx$Q@Fr?Vl7E9s++tuj_LeU^B6IdlABrHcb z6*_|=rN|IzNT%q~pg>n>iQ){Ia-u%#rOO9I*C)-;)-%DF(W1+c)x}k%}H8y}Ty;DbzBBFbT#^1=ASM>zYvA@8U z7k02?)ozOIC5(|ZwYlg!Q^pSX)x|SM9q1}0X2V(?aNK>s%-nC9p=yB|t*)zJnx5q*QXEVTkMK5a$AnDM@E6 z5(JjGs~|-iVtrA3m(nGHIPH|E1Z8ifXiAhyu~4#NoX1I7O1?}|wvv<$ahyo3Wl1E) z87D4*BoT3m;$0#IR}kl%Ts>#l+FkoQ{$lys{fpW<%bzWGbY0QBVQV&fppN|DfuPz` znfIttqVE){Hz2bJlsaQ}uHM6zHiBm~pBQEhcmxxP}p8vgfQYv_x3)EdR zv+3#AcXX^;x2yBUV#$4~aG>SJ?*mNEx(2O5*m=bot*?>D5Zl3C7a2x_uxTk zsIRA`xm|2zB`KEaP$OZvLpl>f5_kzZ3Up~8C0mxLt4tgRQVhxz$_1eiNT5o|79@^i z%H=?kSS3!%#HK7x5|UUXNsPpCj876tk{IutIG2cX4xc#j-s8PXJtyi>yuQApYxuqv z_n~s)Z?DbgM&xVrl(JcB1~y`%KC@*+D7AL5@747ToY2Ue51faos+=z(s8?EdwXZln_Otkz@#5M$3`YFbjE8qgf}ooKv#3nkzb@yl9fC(QL6qrarHU z59k-6iOFb25^POgwOAyd&ubV(+AhM7Tuwu4dkq%e5f-`+nbVM}_Yx%u9mXK#m?*5F z*wG;xMo3biGe&|ap;$q5Pn!&fGI* zP_R#pN@p>)VvL5yl2uh}Ra9-&^ug}InJ6NNh=5T@L=0+@^gS`5CdP@0Vzpv1aUd>m zTF#Wjkkd?AD1{}7gPcaC7!$^l1UbzVi{i6&S}G+(HC~E|YJ-Q4GSv6a(B9rI{hOM! zqgbSWO---C;pvbar+-i=LN1@DZQnsco29FBztlAJr}aP^E)~Qk9S_uTm|1lT<@JE z&PmDley>ziDaVdc{q*JblK%PbHhHL=_)nMGIxZ@A7Q$@*dTIv`AgZmY6nw0Pf`Paz zX7{W6*}8lOZM!=_b$?*xmo<_9(eMV@V2o;er?Z)istpwbB#4$oBrBq6CX1+egBLHx zcvYYJ*}eDbeIVXDb;e=DiS<^!Q}GV<-r;N_HVHI#;GDyU9!(4q$GBXUa+jCL#p+C! zBzA-~O0lF8_(T)0_#~DfV>KxhDU~hi96>hQ>#A~^ydI~W&_;xMYuW2#vJJJ+=E)cZ z%@CErt6;DM#CY$CV@E`QVh~jDN-74Ns2afFDWjw{5Yjmeit}DH&`RB(zRB<&t&H5$ z2)9q49;%fRyNaq8O(0IZD3Ca{fz|TR{>fu)ZT`j9IJ((+_wmC1gHuXv9pne}r)JQA zUYFG+p60EsY+16M1DjfKi7Oi6@hEWLZK{c1$YjIVc_WI75j2ifj8#=p6cwkchuUlK z-iw&j;o!X&qgo+$kAGYgRj=LWY*6oT#$oZG0p7=`QJh0URrLTGqFyN{C8;rJC_<4C z>pVe{!6+i<81nbGY(@7CNUV}H4ZGH z6RZU>hR_6nP;^RU5|to}h~g0nu~1VRQd{am0?UEUP6pM~bYIrf=IuD0gjPUonhL6f zMv`I|wYiKQXz!Go+FFg<%OXKUK1sA}BMEJhH~|+$M5UO-hs0q(6nnLal^_UkVWKVx zB-BW~^ z1O!Q_<-lPBPbfJJ67U(133D10Jz+*P4l;zL5@9~0MK$Cii`Rh2$Jk7yrql*fLzIiO zOO^U4I*n91gwt-JU6N=9BoRYx7;0HWtSDGZWE`;#H5)o96k~#1q+w@4x-uEfWMiVD z6Bp%FGo6wxTJ>abfs-V1YRXnZ6QZG4RTT(R8R1YY5F{0EKzQg8ZW0j@bz%^4h!MmI z#u!3piH#%n24g(ddP48bEB3}1j1{aAwSlA-(-<`sqKDQJR;;wG_@IrkY6Gjr1_U-x69m{G&>%1bfzu#B zt%ihz8ipZZXf+5E4Q)UeN17Or&}$HcL@puEmhazFANTFz@7$%rqA(c?Tr1Pea}&mV_ARknSj9x7*ISM7&Gz-ly)niZ{eLFJ3)~_c-q)Ne5u!(?KQP ztDuTH#Z?BF#-O%R^Tv6M0v16Gh&70ysf-Ye2-X<2VhF5Ft#-HM=8I;H0w1A0`ij6NWA*I#gNy$dNp~$Nmlb36XbK6 zB#ye!swb;qzo{H zX`x(>rPVpf7(=P8B*s{YU6~>(p_b_?sKfzc$|cH0ky7aJ<&v0^QbwgHWr@okN+RMN ziIgN(M_fkY7?L=V#K)4D1c#HvDM>8iT)>TnLNI5>Ja-A`98$7##+J3_>;=l^oqNo(st5hHY!5nt}29E+5V6O)uEdPEb4 zixVk{#ki9AveKnqVvWU?V$@qHX+qJ*;z}NyAZi@3mL*OcaU$Ykh~q>OO>k2A->Wze zEq;)JjO8Rs$OngjR#V6NaLZ4Y3-kB4{KUhK8)kXawp4MKT%9cuOuo zT_(bK(Tr6j%Bm&NOeTYKf#yR&B+y)KR;`bTqKwwp*H^qObf0MN3;IqYG#s7O2M@-G zlq5;YIA^60w~K0ob6w&@z^fEXWnzy=QkK{mVsSz_CUGJ~pP)VwN(tU0W$~0;Su|E~ zBI*(niN$$OoTwxTB(WFg9ZnNTNYcQJSMe%%M{0?kb_Xv|=hAAWs;T8xf2dw`dUn$L zJiFa#>8T3cPQ;3r!q}ADA}W%4V^S^Mt*ce7OXbeIj2!zl|8VMv+ zu@(ZaL1@WHq=ABjqJ#l~gqpQR3BZOK4ZX*PMhQZ)f`-`$Km#=pM4Bfir@4cu6&L;vI=2&AfA7obx#Ea3tcX z{PT!M@m?!|4JY0!sOcfJ_g?yz{OYE-RApMG95JM=TN}y<92~DJth+3;?7-?t>VPF&sff&sM z0b-2?VMwTS^WuzCMbq%PRaC8}8aj>brMb?wVxui!dLogj ztS}W5l2$-E6vhz@M#Yf&mA%1`y6_CChPFmhxnW7kYy>M7uxdoWS~a0y1wyeJh)I3Z zp+#(Y?E;sI5O zi?O6KK}cLNwX~|@oJ+&nUP-))^Pa?)@nxTex{)-c6cv{^oL7t@K2ab^L*{899p^lX z5$_e}5>jI<>HbBj__T4ps-jUUt_7sGOUnpG(g>YYB9S7ZMjXakthK4d7FBC3q6TYF zBLNr-HkB;a8UkZ9Gy&Ea6xF~QB(xfskiZx<0>-AgJTL*)s0P*&1d$r=2{NGuL4ZRw z2rOA^)tAetS`ETRREr8-3>h-yh*lZS3^KzRV4=Iw-63E8@|PJmZXBJRoz&FSRQ#`o zOr}6KTSrGnS*^7ah9S+xB2xD0I)WmaRVSqw!Z4s5J3=b5A#v(lB34oG;$xv)S?|KB z(=Z4mt6qJOkSLeKMA3Wyi)ovQbh1UmsNmFRmq7qRLb zMI?>JtCEJE)9sA0h*(5LjVNNkVKJnVL&abOf*`fX7K7N-8e>wuP3rc;8Z-(F5(cVX zvDOk8tJVe;Qd_LG8dxPXA93T>U5M!f(XugoH}ud z;53HBi#G=65}Zf8IJE4ERmG;O|U_v zRt#c=$QV@w8=yAG5m=)>NeE0p7zU|-J3=K4v1u*~);VozZ0xR$a>iTazBpqnbTzs= zOI54M3{{EaaU6s9T31&u<+e6;B4V;R3VDxhO9(w$!b#vGjZ~#NrDdoq~s(P(6~qvMPj-NlnAj}lEekX zfg_A#lFGyZP0H9LLX8lcvcyS@Bmn^dYCJylpy@<~IF8eS99fb$Ijr3_2oU2*C?g_- zQKTwhe1Ie%-cUA0Y-osVL=Xq+qy(WL5|Qz$8Y$jph{_JKRwWjqtdN*MGwSdrLpDIm z0$CAML_;;$AOMUCp0FmbHkYAe*DeMO8l*uGz)>9MXF7?iaYkC`Bca-A_kjZBayguH zng?kMMdMh+`+$7DUeQoO*P94BsLOSt1cD_R>>M8<-lqt z7ZMf=l!_wd2*g-z@L7zrloLZKD2pe-C63Tq%>@Ag2CF$VbHo!tBq7G4KwOa;K{gvJAAd84-7>0;*vL6vDCN47-PxivIwc-C}lE;2{1*)Bqaog2}KKH z2_+eoOy2(jwed*Fc7XN06JRuksQ*MtlSEY2mgw6>yBL(PC%ifsp_)Kwsh~NmmD1>nP?d0fE*GXhKQ}M$`Rgvsr3t@|wwHftV-? zfeeL0L6amQ%48TabZF1{#&Jw0lVL0%zx7+)9d)`d)hWZ1LV0Zo~Jh(HHtv&3!2njU{$eP()M|Y#>FYD2RYaFQQ2ANLPCA9i(@p zcj+J~y|?d!^PgEEPi}H=5)!*HmQdAw*abiiX-)5sIeY{~S-h+=&A_!7XADccDANzNBc$gX)8KD>qCe`29 zO;r|WPyj%Uj*PPO_Vu##c6ZL|YJWGY{oPyE_pOa=ZO!#;Elstvn;YwCv^3SsZfmJ$ zBiG11mMP7(gSJ>7Ia z!@~nCeZ3vC+FP4hTN-QG>T1g8RFxOZEiKGuFU(Dy_c|+aeolJa{LIvt1)0gwAAsk% zSVyiE=B3RmE6QQ7E-##0Ut2NfZBrdvM_UVPUvKBEk>Md0(&s>bA2mMCphibW={|o& z>^ZF#j$AQz^)p&`kt@biIlZVUApUAB+)RtQLRP)ZtC)%=~KGBl-^r`0Um4@2V zD=nVNuXt{%viyae?lPYjrb|M79XaE|y+27y3}0A)x~MG6XK$*jouL~I}>K4ej3kQ;};o7LhM_IgY0jFmn$LVnsxBC8+D zUR)z5$+!A8|E_OjdA?AP<=rTKi*MH!dC9Y@RqhI|(RnDk+E_ zt7!j4q5dwMUe3l#oUGNCS?J5H(0e4Y>d}L1tE7bwZII#Fcuno{<`kV9TbTwL`^L0n zcSTF{Zn_{NbYz{X;`LRJRV7zh;#fG_Xe{$_FZJ$^ws&W%PKgRagt zwuuSGU*=ErPjo?aQdOGIUXYzUKkZf6LZY)k58K6V4o{Xk+v+Se)|LBI?%cK`>cZPR zpFcV|V6U=RS z`TQYkLQiMMtaoiqZ0+r>v(dKL%#=izK0N=Wn4ZX2`L;@XAkz6Zcs)CTr6j!2-3R9K zJHgdc5JI!0AtXZzLNlcxDD@Wj1W8P~+1$=ly7<*4TV*K@(pFnr)9m-}npsI7(`ybB z=kLVC1ohcxpM5NS`hH^n^t)ty{HHM#*hoq-@{9<%MhM(7s9e+Aw26IMCU3&Z2lv7m8%C14*Wy9vb(+H zPHot8mpadKZUaU4L;5A_4p~3R`CmC?j<2RdY?UM(4sXK>OP^90PIApk2Q!+E#Tjf18 zFCU{LFb!|RL-5K+o<^+OZSXheK{;f=$M`7NKKv(m`Q3oH0<@XeijYvC3fYyGkW{3N za+pC3awqjP@|7SuM*&=%1(`}0H%n?tklou~KM4PH|BICR<;@oEPY!{f$uSzf$j`^< zI7B($fYTBzWOCm>vVWM?ZjffG8vssX%!PiV2*UB4^ z?5_a9)_iC?$FV#EiN10WXu%EkYJ0&qPz(}F)R6llNGj2Syf=1ut_mrodXS5!dD@2IW5au%XGCT@FmM0<5@&p7}oS^3_ktfOb9)#JQ zqw9$rWF7}uodgH<{oo%g0m-GBkW{RWoOPhE&KZ(RG;s{nAhAddBBGTcChZ~0rh)fq zKxn)ysEd57Y^-*8#`x!kU!^pKx0w4FAA=AZ9@O!vDV(H#rv@oPxPt(MU_F_?zGk8* z=P7W~JOBY9w;;7#2f1q@wBdD)4J|`vrO{NK=2WSL_i00Tf*h!eeyePveq_e@zmC36 zXLdXOzPUGAp0a_30J5kY1q&k%{+_|8`|l^`kS!zc5ae(z?3UJiz=U zgxjBiV4Jg$=pzjop~?{Fc8#th^#lYz@e*HHO?8BgjSW1lg4akWu;s z>y02TRRuI}ey41%d1A)+SEb*fw6A|@9%^?6;$EJo5sM{3oZEQ_L%VU-Iz04TO&~5i z*8c(SSuP_4{cSW19JIu*;Q0pT7=!Dj!M$_lYP=zS-jc(a$Tz><3|`lod_bKE{x*e# zbXCw4`%c+H>*S2_f0Hdk>0JNHJly^)BzRnec=wBR8RIH|wsM?lt8%g+(#=?Jba zy@U`VrN6bhfxYHUVLac6;38#9b;Z{CZ>K?kI1zRh|LHh11UFVMfvSES3axbVkuOYn4t+pjaE?HYy-(zS~PzvZJrt9 z-&Ay;(iQpIEZRi?=PN(j%F!-o-Ru4pd8yLKh43bPr@3F6oSYD0jty83bT>5&b~hC= zMth_uCm7!l-UuSYv>cm)?DUSAtDJW7c_H4FU1|tvxUbe0-=%D=dwRzB=Y)&k`oGoO zN%JtnUj1BhYM9$Y+`bKGLNz!5rO1cq685YGcrI-4pn2cT?r! zw=>NDd*$lFbeSpsmtb=8`UGRt6m?mJwm#Y0-T)OjQOG?2b?yi0;SLbt`WWIoO&}w} z3CglUp)?}|D)VBYx4n*x1ry~+$GIVnI`|6PCF8LP*IXXtFZN&JPv-08$%%3G3C3{d z1Y>AyxW650ic_E{#TWVcBUgLKjC6s#1TT2~${Xs6Q=zk^0&?R#AuHMyDsm%G#$c!` zN&PT4Mmh&k7JsxoK5ToVpOxB4n*W8F*8gsmrs^VHm}G?D9PJw$>4Ud5g;1D`ywiOl zJKB-fb7u5QuvQfT^=m&uYN#XfOha9F!{|UeG*{)~JuZ;{$_pxUBkB3kTANSLjj^Hj zwh2bRX>zc`O?jR##8m}n?)%H#P>yv-3P~SVWp#(?^bHI6>3CTgW@UEd4 zn4>+=-Bu0Z&U&SCr`8LoT-Y`v_J4wE zM_X}%q(E!1)4l^|zUBbFuQ}n|w#6Wa{4*k6Ktp*JFh=`f47n4G5BJh#g0BT_V`RP$ zb~i&&YVf$Tu6U#p|JLI-|FK}U)RC1l!e9Cb`X7$1rX=?-#&_6$ihn(|MCZmn*)S*l zs~Lk@ zdT@Fo56y21(dLQG^dj#;9D`wCq8tQ7mSB6G^6NWi@4?AL`^E;^%4S^W|49eZ$eqYR zd`vv6DUQTI`vOyC5zxAIcCsWZ4()vaCYZ=|deVOxL4LHa$5^C2a~r3lwn80>9lz{EIhFSNdi&ZlIc@`GGbK?9O`?}h28_GbN8OD829K0z=q50!phhD4F!d$DZlmzcd?&n;p zaAp%F`#0InwEnGCgeiPq(td7*Gn==0nLKc)$bHo}JkW#hH9Oohc;Y*&6N=IzI#K7Q zsP9ehn=0sa2Hz)to9$1}H_2VQXbu;+DBPodPpa8;ME0MEax;!e33eV&3x7Eh;-D9( zCbVlmUYqss{5RAQjt{ms-NxTp7UzmlC3zB55thYy;#7Q)0Q&0qDCy(ui`6b~*HjbQ zE+@W^TBvsE5S12lnJUT?qwg)s6{pL;lRN3V7IbSj`sya_ii0ioK^{qd2_dT4C zb;}SN5Qh+QQ@{UL_;aFNoI#vG>_hCRuDrA5>78${nkwu%S53@YkRrFeH7V=t(*jSP;zAYj6!eLXbz4_)^dlNF^h4&V}7T<=~zCbKSun_M56a4dT ze3+ADUQQv(ho9nILM_r${61Mney2YwnJqO&=%?$`_mxHo|7HDy7UlllMX@4z=%pwQQjVfJNQnY!{#FSnHo5+hAbDEr5r+^z~o{|Ax--YHn)$-Iz7GpB&v?@2QcY5ejn~X0N2a0L52=Zpw+{UjmMcTq-C)B?8mU8Nl3tajK`QgSDZiVh+iFz`UG=VSdh>9*zb} zY>gi-H`I|?p{*jh;=#4UTNH#3ZPr$nSYf0qv%(H@h&-JQF>l2M^KL>H7UyToBe_W= zCk^+In6EVSyZ!g}w9>gj?^>JKDob9oV-Ci`$e@=T9!}4e+88N*s;4fs;_lU>8F&YH)EEERWwtM^5M z{%4wp+|y6UnyI0mc}%yG=?8~EM+$rz|8UZO^Zhgnbu zvzVB}fpxR>#E)*)6aD6?z1q=MUsC~$X&n)fX7_d$IcfY8 z{LC;0W-EkoNkyuO7xOn1F;=Y(5y?vM+=eelS9XuE(7HMEwWW4a@<+E) zVm~bUP1%3WNfvV?ZtPyd`sl*OBgWF(BQURF+ynD2e2lpy#lXTLB#H z1d1?kV#VDP^mqBs#r%)w@;sm8-v9G0j_P~cNF3YO1Y`4-LKx4MN8O*JWAV|hH^5cz zAOuC;hF8UpARYToEyXxwg%KoV>OgFkGS;htr}vFo=_9K?yL_euY}Yq?x?4z_)WDWAsppfJW}r7+IPkMf^}AnUW>VR#H8 z;^iQ{5_Mm$2RYRkH>=(w>i`1*i+4qTwaF9+v43XKs?4WV_pbgZUyg{$1}lteIFm4dLRlUQ6rn(7#d{gD_ZK}d+~hyHO+{n0~#?tdMZugQtFL@z;<`Rt^p zA%A7mOFfg`u8!;2H;L0+%#QO_i}f-Wz;m+RZLG{o-|l91OCi8Vx;VW+ABvl-Av|3E zPxb$RZ#|dC(_`=a&H3L4+T3$%tSXkA>K9`a6W7qsZ#>-BT7}4Bj`vT;8c57!V{)*| zUN=i|5^0Zo-zFwoUFh;cQ4=J)`K70_`^bkS@Mb=5m#D0j>b*PhR1x!3$r^;2>@8?gWN zo1)y!6|p@*()Z*9Qx;_o9vNuwA-?^xtT6OLJED)*1^p?+ADR!teQ(<^?qZJj?Z;<` zF21mMASj6byw8ZA^^YEO|2!M8e^U}O7oD6Kb3k8rQ%6fB9bd>#^hE!-GxqO{v7u-v z%M6EtBwwh`kA)75WsMHLFGC(m`0Te94=!HBwg2P#Kee91HS3F4{&vpj+$tIBYoDmj zkHeUVC&oiuAlN|{G(<4x$X**`1SJ^fXvdgA9u%eoU_31pY6@SW@4aap<2OmZ7RrzD z-M5P58vfDaF8ZT|zMy*Dgomb_F%0c372-Sf{WiR1AkjBjO&#H z17kMhh~D-_$cc4_+M*s4! z_>SCoUr@Mw5KeL}fb%<+q5OK#(Ng`v7mNPC;r)JobPZo?V>Oy=ks+Mj-P2MfJ-iFP-&_OQ@`+{Ca+;_D~=f8xKTF+Myw zI@}NOzBamVYfC8N_abBdv2xRdfAL59_$s>pFz2V5ovn2f=zOL9uXO*!_dVrHZf~w; z1lnoIp^p&#R5O#ON$U^WvQ!krT)W*%LL498tu9EdBD$_E$$-X+T=YYB0NO`sfVG;W zvcT6IPj4MVxo0NMG~K`TLm{+-{zJTEpZc3whsz^JJi-&XJLq-hx9fy{`H?S&AMEFn46f^_QjneI+$K z)c@1-WKA}^_dSLG*RaO=!EXH*ItSm8??^8bUI>g4hxmMT2z@2j>iR-Z=h?#pD{W2B z;QxGe{q#J^S&n;gma$_v!D3^wOu0SfBykKBDR+eOA+t z(j|GmJXMl%)jjw)!tny;CJN&B7~hb$iC{*6uXJ2;zV<*)wK1d>>Vvqj}AgK)=dg*h?yx;4dFGP!X9+_B;MA_>VF>6s-@AtYE?kK~ z9{EH+EywQn&Ego-((P)kD#U$HBEAQNYf3YAM}=x=x|j<~lr=g3>UlB-n9IXEJ~pB< z*wY%d#Gy3{E>fHvq+s>FPT%cpXKW~7@Po58Resc0{ZE-o-_t|Pl zfTfBE?gOfzwYCtdai7vyk(uXZdjCLERnE^Jr*qB?rB6}!c{j4fxSQ;a^|p+XJ@-#| zY5a)ZI}G)ALQb4_Xqc1kKa|gX$!aY7ueo+4=RjZL2>njYi1eUv|G|@=8Z|uJ-$lo= z`#RqaBn3GhdHu?tlGx9Qc?tXerT^(4WN#7XWI%ZsJ(ypamnib4D6RNSVM;+!YWP(L z4Y7GX<|@CtXDBVaK~cyBE!T$j|*3X9k literal 12014 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +