From eab002b9005007fac8ba7b6321ab723792f75e45 Mon Sep 17 00:00:00 2001 From: Jakub Vyvazil Date: Wed, 2 Sep 2026 14:20:20 +0200 Subject: [PATCH 01/48] docs: add theme refresh design spec --- .../specs/2026-09-02-theme-refresh-design.md | 116 ++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 .claude/work/specs/2026-09-02-theme-refresh-design.md diff --git a/.claude/work/specs/2026-09-02-theme-refresh-design.md b/.claude/work/specs/2026-09-02-theme-refresh-design.md new file mode 100644 index 0000000..7b26817 --- /dev/null +++ b/.claude/work/specs/2026-09-02-theme-refresh-design.md @@ -0,0 +1,116 @@ +# Theme refresh: minimalist-professional with cyberpunk accents + +## Goal + +Replace the stock `gatsby-starter-blog` visual theme with a more professional, +readable design that carries a light cyberpunk/Matrix accent, without going +full dark-mode. Also fix real layout bugs found along the way (broken +responsive grid, `position: fixed` footer, unstyled prev/next nav, +inconsistent post-list markup between the homepage and category/tag pages). + +## Non-goals + +- No dark mode / theme toggle (light-first only, per decision). +- No "recent posts" sidebar list — Categories list only, to keep the sidebar + minimal and avoid two overlapping "browse" widgets. +- No content/IA changes beyond what's needed to render nav + categories in + the sidebar (no new pages, no changed URLs). + +## 1. Design tokens (colors & type) + +Rework the CSS custom properties in `src/style.css`: + +- Background: near-white (`#fafafa`). Body text: near-black (`#161a16`). +- Accent (Matrix green), two shades: + - `--color-accent`: a phosphor green tuned for AA contrast on white + (~`#0a8f4f`) — used for links, hover states, small UI accents. + - `--color-accent-bright`: a brighter neon green (~`#00ff9c`) — used only on + dark surfaces (code blocks, small badges) where it won't fail contrast. +- Body font: **Inter**, self-hosted via `@fontsource/inter`, replacing + `typeface-merriweather`. Line-height tuned to ~1.65 for prose. +- Monospace accent font: **JetBrains Mono**, self-hosted via + `@fontsource/jetbrains-mono`, replacing `typeface-montserrat`. Used for: + h1–h3 and the site title, nav labels, post meta (date/category/tags), and + code blocks. +- Code blocks (Prism): replace `prismjs/themes/prism.css` with a custom + dark theme — near-black background, green/white token colors. This is + where the Matrix reference gets to be literal, since a terminal-styled + code block fits its content. +- Keep the existing `--spacing-*` scale in `src/style.css`; retune heading/ + paragraph/list margins for Inter instead of Merriweather (sans generally + wants slightly different rhythm than serif). + +## 2. Layout & sidebar (`src/layouts/base.js`, `src/components/bio.js`, `src/components/footer.js`) + +- **Fix responsive grid bug**: sidebar/content columns are currently + `col-2`/`col-10` with no breakpoint prefix, so they never stack and get + crushed on narrow viewports. Change to `col-12 col-md-3` / + `col-12 col-md-9`. +- **Fix footer bug**: `footer { position: fixed; }` in + `src/styles/global.scss` currently overlaps page content on short pages. + Replace with a standard sticky-footer flex layout (`body` as flex column + with `min-height: 100vh`, main content area `flex: 1 0 auto`) so the + footer sits at the bottom in normal flow. Restyle footer text as small + monospace, muted color, top border instead of a solid background block. +- **Sidebar additions**: + - Nav links: Home, RSS feed link — terminal-prompt styled (e.g. `> home`), + monospace, small text. + - Categories list: query `allMarkdownRemark` grouped by + `fields.category` (Gatsby's `group` aggregation) in `bio.js`'s existing + `useStaticQuery`, render links to the existing `/category//` + pages generated by `gatsby-plugin-categories`. This is the only new + data dependency — no schema changes needed. + - Keep avatar + name + summary as-is content-wise, restyle spacing/ + typography to match new tokens. + +## 3. Article page polish (`src/templates/blog-post.js`, `src/style.css`) + +- Post header: title uses the mono heading font; meta line becomes a single + terminal-style line, e.g. `// 2026-09-02 · php` (monospace, muted color), + replacing the current bare `

{date}

`. +- Prev/next nav: move the current inline `style={}` object in + `blog-post.js` into CSS classes, style as two terminal-arrow links + (`← previous`, `next →`) with hover accent color. +- Retune paragraph/heading/list spacing for the new sans body font so + vertical rhythm is consistent (this is the direct fix for "vertical + rhythm of texts is broken"). +- Blockquote keeps its left-border accent, recolored to the new green. + +## 4. Post list unification (`src/pages/index.js`, `src/components/post-list.js`, `src/components/post-list-card.js`) + +- `src/pages/index.js` currently hand-rolls its own `
    `/`
    ` + markup instead of using the existing `PostsList`/`PostsListCard` + components (those are only wired up on category/tag pages today). + Update `index.js` to use `PostsList`, so homepage/category/tag pages + render posts identically. +- Restyle `PostsListCard`: drop the `react-bootstrap` `Card` wrapper (its + default chrome looks generic and clashes with the new minimal design) in + favor of a plain `
    ` block: title in mono heading font, a + monospace meta line (date · category), excerpt in body font, green + accent border-left and hover state, "Read more" as a text link (not a + Bootstrap button). +- `index.js`'s current GraphQL query for posts must be checked against + what `PostsList`/`PostsListCard` expect (`fields.slug`, `frontmatter`, + `excerpt`) — align field selection if needed, no schema changes. + +## 5. Dependencies (`package.json`, `gatsby-browser.js`) + +- Remove: `typeface-montserrat`, `typeface-merriweather`. +- Add: `@fontsource/inter`, `@fontsource/jetbrains-mono`. +- Update `gatsby-browser.js` imports accordingly; swap the Prism theme + import for the new custom dark theme (added under `src/styles/`). + +## Verification + +No test suite exists for this project (`npm test` is a stub per +`CLAUDE.md`). Verification is manual: + +- Run `npm run develop` (or the existing Docker `app` service). +- Check in-browser: homepage, a single post, a category page, a tag page — + at both desktop and mobile widths. +- Confirm: footer no longer overlaps short pages, sidebar stacks correctly + on mobile, categories list links resolve, code blocks render with the + new dark theme, prev/next nav is styled, homepage and category pages + render posts with identical markup/styling. +- Run `npm run build` to confirm the production build succeeds (font + package swap, GraphQL query changes). From 0c4a5e098c13784c750fb4d0f1006dbe5d330bca Mon Sep 17 00:00:00 2001 From: Jakub Vyvazil Date: Wed, 2 Sep 2026 14:32:10 +0200 Subject: [PATCH 02/48] docs: add theme refresh implementation plan --- .../work/plans/2026-09-02-theme-refresh.md | 1206 +++++++++++++++++ 1 file changed, 1206 insertions(+) create mode 100644 .claude/work/plans/2026-09-02-theme-refresh.md diff --git a/.claude/work/plans/2026-09-02-theme-refresh.md b/.claude/work/plans/2026-09-02-theme-refresh.md new file mode 100644 index 0000000..1373432 --- /dev/null +++ b/.claude/work/plans/2026-09-02-theme-refresh.md @@ -0,0 +1,1206 @@ +# Theme Refresh Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use subagent-driven-development (recommended) or executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Replace the stock `gatsby-starter-blog` visual theme with a professional, highly-readable design carrying a light Matrix/cyberpunk accent (green highlights, monospace headings/meta, a terminal-styled code theme), and fix the layout bugs found underneath it (broken responsive grid, `position: fixed` footer, duplicate/conflicting CSS between `global.scss` and `style.css`, unstyled prev/next nav, inconsistent post-list markup between the homepage and category/tag pages). + +**Architecture:** Pure front-end change to an existing Gatsby v5 site. No new pages, no schema changes, no new routes. Design tokens live as CSS custom properties in `src/style.css` (already the pattern in this codebase); component/page files get targeted JSX/class edits to use those tokens and to fix the layout bugs; `src/styles/global.scss` is trimmed down to just its real job (importing Bootstrap). + +**Tech Stack:** Gatsby 5 / React 19, Bootstrap 5 grid (`row`/`col-*`) for layout, Sass via `gatsby-plugin-sass`, Prism.js for code highlighting, `@fontsource/inter` + `@fontsource/jetbrains-mono` for self-hosted fonts (replacing `typeface-montserrat`/`typeface-merriweather`). + +## Global Constraints + +- No automated test suite exists for this project — `npm test` is a stub that always exits 1 (confirmed in `package.json` and documented in `CLAUDE.md`). Per the spec's Verification section, each task's gate is a scripted check against the running dev server (log check + curl for expected markup/status) instead of a unit-test cycle. +- No runtime (Node/npm) is installed on the host (host `node -v` is v10.16.3, far below Gatsby 5's floor). All `npm`/`gatsby` commands run inside the already-running Docker container via `docker compose exec app ` — the project directory is bind-mounted (`compose.yaml`: `./:/var/www`), so file changes and `package.json`/`package-lock.json` updates land on the host automatically. +- The dev server is already running in the `app` container (`docker compose ps` shows `happyphpdevcom-app-1` up, port 8000) and has hot-reload — CSS/JS edits should reflect at `http://localhost:8000` without restarting anything. **Do not run `npm run build` while this dev server is running** — `gatsby build` and `gatsby develop` sharing the same `.cache/` directory concurrently is a known source of cache corruption. Per-task verification instead checks the live dev server directly (recent container logs for compile errors + curl for expected markup); the one full `npm run build` in this plan runs alone, at the very end (Task 9), after the dev server's own hot-reload has already validated every change incrementally. +- No dark mode / theme toggle — light-first only. +- No "recent posts" sidebar widget — Categories list only. +- Commits: conventional commit format (`feat:`, `fix:`, `style:`, `refactor:`), one logical change per commit, per `.claude/workflow/rules/git.md`. + +--- + +### Task 1: Swap font dependencies (Inter + JetBrains Mono) + +**Files:** +- Modify: `package.json` (via `npm install`/`npm uninstall`, not manual edit) +- Modify: `gatsby-browser.js:1-3` + +**Interfaces:** +- Produces: two CSS custom properties consumed by every later task — `--fontFamily-sans` (Inter stack) and `--fontFamily-mono` (JetBrains Mono stack), defined in Task 2. + +- [ ] **Step 1: Remove the old typeface packages** + +Run: +```bash +docker compose exec app npm uninstall typeface-montserrat typeface-merriweather +``` + +- [ ] **Step 2: Install the new font packages** + +Run: +```bash +docker compose exec app npm install @fontsource/inter @fontsource/jetbrains-mono +``` + +- [ ] **Step 3: Verify `package.json` no longer lists the old packages and lists the new ones** + +Run: `grep -E "typeface-|fontsource" package.json` +Expected: only `@fontsource/inter` and `@fontsource/jetbrains-mono` lines appear (no `typeface-*` lines). + +- [ ] **Step 4: Swap the font imports in `gatsby-browser.js`** + +Replace: +```js +// custom typefaces +import "typeface-montserrat" +import "typeface-merriweather" +``` +with: +```js +// custom typefaces +import "@fontsource/inter/400.css" +import "@fontsource/inter/500.css" +import "@fontsource/inter/700.css" +import "@fontsource/jetbrains-mono/400.css" +import "@fontsource/jetbrains-mono/500.css" +import "@fontsource/jetbrains-mono/700.css" +``` + +- [ ] **Step 5: Restart the dev server to pick up the new dependencies, then verify it compiles** + +New packages added to `node_modules` aren't picked up by an already-running webpack dev server, so restart it (this is a normal, safe restart of the one dev process — not a concurrent `build`): +```bash +docker compose restart app +docker compose logs --tail=50 app +curl -s -o /dev/null -w "%{http_code}\n" http://localhost:8000/ +``` +Expected: logs show no `ERROR`/`failed` output; curl eventually prints `200` (retry it a few times a couple seconds apart if the server is still starting up). + +- [ ] **Step 6: Commit** + +```bash +git add package.json package-lock.json gatsby-browser.js +git commit -m "chore: swap typeface packages for @fontsource/inter and @fontsource/jetbrains-mono" +``` + +--- + +### Task 2: Rewrite design tokens (colors, fonts, spacing rhythm) in `src/style.css` + +**Files:** +- Modify: `src/style.css:1-64` (the `:root {}` token block) +- Modify: `src/style.css` body rule (`body { ... }`, currently lines ~78-82) + +**Interfaces:** +- Consumes: `--fontFamily-sans`/`--fontFamily-mono` font stacks now backed by real font files (Task 1). +- Produces: tokens every later task relies on by name — `--color-bg`, `--color-surface`, `--color-surface-dark`, `--color-primary`, `--color-primary-bright`, `--color-text`, `--color-text-light`, `--color-heading`, `--color-heading-black`, `--color-accent`, `--color-border`, `--font-body`, `--font-heading`. Do not rename these in later tasks. + +- [ ] **Step 1: Replace the `:root` token block** + +Replace the entire existing block (from `:root {` through its closing `}`, i.e. everything currently between `--fontSize-7: 2.986rem;` and `--color-accent: #d1dce5;` plus the surrounding declarations) with: + +```css +:root { + --maxWidth-none: "none"; + --maxWidth-xs: 20rem; + --maxWidth-sm: 24rem; + --maxWidth-md: 28rem; + --maxWidth-lg: 32rem; + --maxWidth-xl: 36rem; + --maxWidth-2xl: 42rem; + --maxWidth-3xl: 48rem; + --maxWidth-4xl: 56rem; + --maxWidth-full: "100%"; + --maxWidth-wrapper: var(--maxWidth-2xl); + --spacing-px: "1px"; + --spacing-0: 0; + --spacing-1: 0.25rem; + --spacing-2: 0.5rem; + --spacing-3: 0.75rem; + --spacing-4: 1rem; + --spacing-5: 1.25rem; + --spacing-6: 1.5rem; + --spacing-8: 2rem; + --spacing-10: 2.5rem; + --spacing-12: 3rem; + --spacing-16: 4rem; + --spacing-20: 5rem; + --spacing-24: 6rem; + --spacing-32: 8rem; + --fontFamily-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, + "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, + "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --fontFamily-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", + Menlo, Consolas, "Liberation Mono", monospace; + --font-body: var(--fontFamily-sans); + --font-heading: var(--fontFamily-mono); + --fontWeight-normal: 400; + --fontWeight-medium: 500; + --fontWeight-semibold: 600; + --fontWeight-bold: 700; + --fontWeight-extrabold: 800; + --fontWeight-black: 900; + --fontSize-root: 16px; + --lineHeight-none: 1; + --lineHeight-tight: 1.15; + --lineHeight-normal: 1.5; + --lineHeight-relaxed: 1.65; + /* 1.200 Minor Third Type Scale */ + --fontSize-0: 0.833rem; + --fontSize-1: 1rem; + --fontSize-2: 1.2rem; + --fontSize-3: 1.44rem; + --fontSize-4: 1.728rem; + --fontSize-5: 2.074rem; + --fontSize-6: 2.488rem; + --fontSize-7: 2.986rem; + --color-bg: #fafafa; + --color-surface: #ffffff; + --color-surface-dark: #0d1210; + --color-primary: #067a44; + --color-primary-bright: #00ff9c; + --color-text: #16201a; + --color-text-light: #4b5a4f; + --color-heading: #0f1811; + --color-heading-black: #0a120c; + --color-accent: #d7f2e3; + --color-border: #e3e8e4; +} +``` + +Note: this removes `--fontFamily-serif` (no longer used — body font is now Inter, not Merriweather) and `--color-heading-black: black;` is now `#0a120c` (near-black, slightly warm) instead of pure black. + +- [ ] **Step 2: Give the page an explicit background** + +Replace: +```css +body { + font-family: var(--font-body); + font-size: var(--fontSize-1); + color: var(--color-text); +} +``` +with: +```css +body { + font-family: var(--font-body); + font-size: var(--fontSize-1); + color: var(--color-text); + background: var(--color-bg); +} +``` + +- [ ] **Step 3: Verify no other file references the removed `--fontFamily-serif` variable** + +Run: `grep -rn "fontFamily-serif" src/ gatsby-browser.js` +Expected: no matches. + +- [ ] **Step 4: Verify the dev server recompiled cleanly and the homepage still renders** + +Run: +```bash +docker compose logs --tail=30 app +curl -s -o /dev/null -w "%{http_code}\n" http://localhost:8000/ +``` +Expected: no `ERROR`/`failed` in the recent logs; curl prints `200`. + +- [ ] **Step 5: Commit** + +```bash +git add src/style.css +git commit -m "style: rework color and typography tokens for the theme refresh" +``` + +--- + +### Task 3: Fix the footer (sticky positioning bug) and remove conflicting CSS from `global.scss` + +**Files:** +- Modify: `src/styles/global.scss` (remove the `footer { position: fixed; ... }` and `.bio { ... }` blocks entirely) +- Modify: `src/style.css` (`.global-wrapper` rule; `footer` rule) +- Modify: `src/components/footer.js` + +**Interfaces:** +- Consumes: `--color-border`, `--color-text-light`, `--color-primary`, `--font-heading`, `--fontSize-0` (Task 2). +- Produces: `.site-footer` class used only here. + +**Root cause note:** `src/styles/global.scss` is imported *last* in `gatsby-browser.js`, after `src/style.css`. It currently redefines `footer` with `position: fixed` (which overlaps page content on short pages) and `.bio` with `display: block` (which silently overrides `style.css`'s `.bio { display: flex }`, flattening the avatar+text layout). Removing these duplicate rules from `global.scss` — leaving it as pure Bootstrap import — fixes both bugs at the root instead of patching around them. + +- [ ] **Step 1: Trim `global.scss` down to just its Bootstrap imports** + +Replace the entire file content with: +```scss +@import "node_modules/bootstrap/scss/bootstrap"; +@import "node_modules/bootstrap/scss/grid"; +``` + +- [ ] **Step 2: Simplify `footer.js` and drop the Bootstrap utility classes it no longer needs** + +Replace: +```jsx +import React from "react" +import BuildDate from "./build-date" + +const Footer = () => ( + +) + +export default Footer +``` +with: +```jsx +import React from "react" +import BuildDate from "./build-date" + +const Footer = () => ( + +) + +export default Footer +``` + +- [ ] **Step 3: Make `.global-wrapper` a sticky-footer flex column and restyle the footer, in `src/style.css`** + +Replace: +```css +.global-wrapper { + margin: var(--spacing-0) auto; + max-width: var(--maxWidth-wrapper); + padding: var(--spacing-10) var(--spacing-5); +} +``` +with: +```css +.global-wrapper { + margin: var(--spacing-0) auto; + max-width: var(--maxWidth-wrapper); + padding: var(--spacing-10) var(--spacing-5); + min-height: 100vh; + display: flex; + flex-direction: column; +} + +.global-wrapper > .row { + flex: 1 0 auto; +} +``` + +Then replace: +```css +footer { + padding: var(--spacing-6) var(--spacing-0); +} +``` +with: +```css +footer { + padding: var(--spacing-6) var(--spacing-0); +} + +.site-footer { + border-top: 1px solid var(--color-border); + margin-top: var(--spacing-16); + text-align: center; +} + +.site-footer p { + font-family: var(--font-heading); + font-size: var(--fontSize-0); + color: var(--color-text-light); + margin-bottom: 0; +} + +.site-footer a { + color: var(--color-text-light); +} + +.site-footer a:hover { + color: var(--color-primary); +} +``` + +- [ ] **Step 4: Verify the footer no longer overlaps content** + +Run: +```bash +docker compose logs --tail=30 app +curl -s http://localhost:8000/ | grep -o 'class="site-footer"' +``` +Expected: no `ERROR`/`failed` in the recent logs; grep finds one match (confirms the new footer markup/class made it into SSR'd HTML). + +Then open `http://localhost:8000/` in a browser at a short viewport height and confirm the footer sits below the content instead of floating over it. + +- [ ] **Step 5: Commit** + +```bash +git add src/styles/global.scss src/style.css src/components/footer.js +git commit -m "fix: remove fixed-position footer and duplicate CSS overriding the sidebar" +``` + +--- + +### Task 4: Fix the responsive sidebar/content grid and add primary nav links + +**Files:** +- Modify: `src/layouts/base.js` +- Modify: `src/style.css` (new `.sidebar-nav` rules) + +**Interfaces:** +- Consumes: `--color-text-light`, `--color-primary`, `--font-heading`, `--fontSize-0` (Task 2). +- Produces: `.sidebar-nav` class, `#sidebar`/`#content` now using responsive `col-*` classes — Task 5 adds more content inside `#sidebar` but doesn't change these column classes. + +- [ ] **Step 1: Fix the grid columns and add a nav block, in `src/layouts/base.js`** + +Replace: +```jsx + return ( +
    +
    + +
    + {children} +
    +
    +
    +
    + ) +``` +with: +```jsx + return ( +
    +
    + +
    + {children} +
    +
    +
    +
    + ) +``` + +(`Link` is already imported at the top of this file — no import change needed.) + +- [ ] **Step 2: Add `.sidebar-nav` styling to `src/style.css`** + +Add this new rule block in the "Custom classes" section (near `.global-header`): +```css +.sidebar-nav ul { + list-style: none; + padding: 0; + margin: 0 0 var(--spacing-8) 0; + font-family: var(--font-heading); + font-size: var(--fontSize-0); +} + +.sidebar-nav li { + margin-bottom: var(--spacing-2); +} + +.sidebar-nav a { + color: var(--color-text-light); + text-decoration: none; +} + +.sidebar-nav a:hover { + color: var(--color-primary); +} +``` + +- [ ] **Step 3: Verify the sidebar stacks on mobile and the nav renders** + +Run: +```bash +docker compose logs --tail=30 app +curl -s http://localhost:8000/ | grep -o 'col-12 col-md-3\|col-12 col-md-9\|sidebar-nav' +``` +Expected: no `ERROR`/`failed` in the recent logs; all three strings are found in the output. + +Then open `http://localhost:8000/` in a browser, resize to a narrow (mobile) width, and confirm the sidebar stacks above the content instead of being crushed into a 2-column strip. + +- [ ] **Step 4: Commit** + +```bash +git add src/layouts/base.js src/style.css +git commit -m "fix: make sidebar/content grid responsive and add primary nav links" +``` + +--- + +### Task 5: Add a Categories list to the sidebar and polish the Bio block + +**Files:** +- Modify: `src/components/bio.js` +- Modify: `src/style.css` (new `.sidebar-heading`/`.sidebar-categories` rules; tweak `.bio` rule) + +**Interfaces:** +- Consumes: `fields.category` (a slug string, e.g. `"networking"`) already populated on `MarkdownRemark` nodes by `gatsby-plugin-categories`' `onCreateNode` hook whenever `frontmatter.category` is set; links to the existing `/category//` pages that plugin already generates. `--color-text`, `--color-text-light`, `--color-primary`, `--font-heading`, `--fontSize-0` (Task 2). +- Produces: `.sidebar-categories` / `.sidebar-heading` classes used only here. + +- [ ] **Step 1: Extend the Bio GraphQL query and render a Categories list** + +Replace the full contents of `src/components/bio.js` with: +```jsx +/** + * Bio component that queries for data + * with Gatsby's useStaticQuery component + * + * See: https://www.gatsbyjs.com/docs/use-static-query/ + */ + +import * as React from "react" +import { useStaticQuery, graphql, Link } from "gatsby" +import { StaticImage } from "gatsby-plugin-image" + +const Bio = () => { + const data = useStaticQuery(graphql` + query BioQuery { + site { + siteMetadata { + author { + name + summary + } + social { + twitter + } + } + } + allMarkdownRemark(limit: 1000) { + group(field: { fields: { category: SELECT } }) { + fieldValue + totalCount + } + } + } + `) + + // Set these values by editing "siteMetadata" in gatsby-config.js + const author = data.site.siteMetadata?.author + const social = data.site.siteMetadata?.social + const categories = data.allMarkdownRemark.group.filter( + ({ fieldValue }) => fieldValue, + ) + + return ( +
    +
    + +
    +
    + {author?.name && ( +

    + Written by {author.name} {author?.summary || null} +

    + )} +
    + {categories.length > 0 && ( + + )} +
    + ) +} + +export default Bio +``` + +(`social` is destructured but was already unused by the render in the original file — leaving it as-is preserves existing behavior/lint state; do not remove it as part of this task.) + +- [ ] **Step 2: Add sidebar heading/categories styles and tighten `.bio` spacing, in `src/style.css`** + +Replace: +```css +.bio { + display: flex; + margin-bottom: var(--spacing-16); +} +``` +with: +```css +.bio { + display: flex; + margin-bottom: var(--spacing-8); +} +``` + +Then add this new rule block right after the `.bio-avatar` rule: +```css +.sidebar-heading { + font-family: var(--font-heading); + font-size: var(--fontSize-0); + color: var(--color-text-light); + text-transform: lowercase; + letter-spacing: 0.05em; + margin-bottom: var(--spacing-2); +} + +.sidebar-categories ul { + list-style: none; + padding: 0; + margin: 0; + font-family: var(--font-heading); + font-size: var(--fontSize-0); +} + +.sidebar-categories li { + margin-bottom: var(--spacing-2); +} + +.sidebar-categories a { + color: var(--color-text); + text-decoration: none; +} + +.sidebar-categories a:hover { + color: var(--color-primary); +} + +.sidebar-categories .count { + color: var(--color-text-light); +} +``` + +- [ ] **Step 3: Verify the categories list renders with real data** + +Run: +```bash +docker compose logs --tail=30 app +curl -s http://localhost:8000/ | grep -o 'sidebar-categories\|/category/[a-z0-9-]*/' | sort -u +``` +Expected: no `ERROR`/`failed` in the recent logs (a GraphQL query error here would show up as a build/develop error in these logs — check carefully since this task adds a new query); `sidebar-categories` is present, and at least one `/category//` link matching a real category from `content/blog/**` frontmatter (e.g. `/category/networking/`) is present. + +- [ ] **Step 4: Commit** + +```bash +git add src/components/bio.js src/style.css +git commit -m "feat: add a categories list to the sidebar" +``` + +--- + +### Task 6: Restyle the blog post header/meta line and prev/next nav; constrain prose width + +**Files:** +- Modify: `src/templates/blog-post.js` +- Modify: `src/style.css` (`.blog-post header p` → `.post-meta`; `.blog-post-nav` rules; new `.blog-post section` max-width rule) + +**Interfaces:** +- Consumes: `frontmatter.category` (human-readable string, e.g. `"networking"` — distinct from the slugified `fields.category` used for links in Task 5), `--color-text`, `--color-text-light`, `--color-primary`, `--font-heading`, `--fontSize-0` (Task 2). + +- [ ] **Step 1: Add `category` to the post page's GraphQL query** + +In `src/templates/blog-post.js`, replace: +```graphql + markdownRemark(id: { eq: $id }) { + id + excerpt(pruneLength: 160) + html + frontmatter { + title + date(formatString: "MMMM DD, YYYY") + description + } + } +``` +with: +```graphql + markdownRemark(id: { eq: $id }) { + id + excerpt(pruneLength: 160) + html + frontmatter { + title + date(formatString: "MMMM DD, YYYY") + description + category + } + } +``` + +- [ ] **Step 2: Render a terminal-style meta line instead of a bare date paragraph** + +Replace: +```jsx +
    +

    {post.frontmatter.title}

    +

    {post.frontmatter.date}

    +
    +``` +with: +```jsx +
    +

    {post.frontmatter.title}

    +

    + {`// ${post.frontmatter.date}`} + {post.frontmatter.category && ` · ${post.frontmatter.category}`} +

    +
    +``` + +- [ ] **Step 3: Move the inline prev/next nav styling into CSS classes** + +Replace: +```jsx + +``` +with: +```jsx + +``` + +- [ ] **Step 4: Replace the old meta-text rule with `.post-meta`, style the prev/next nav, and constrain prose width, in `src/style.css`** + +Replace: +```css +.blog-post header p { + font-size: var(--fontSize-2); + font-family: var(--font-heading); +} +``` +with: +```css +.post-meta { + font-family: var(--font-heading); + font-size: var(--fontSize-0); + color: var(--color-text-light); + letter-spacing: 0.02em; +} + +.blog-post section { + max-width: 70ch; +} +``` + +Then replace: +```css +.blog-post-nav ul { + margin: var(--spacing-0); +} +``` +with: +```css +.blog-post-nav ul { + margin: var(--spacing-0); + display: flex; + flex-wrap: wrap; + justify-content: space-between; + list-style: none; + padding: 0; + font-family: var(--font-heading); + font-size: var(--fontSize-0); +} + +.blog-post-nav a { + color: var(--color-text); + text-decoration: none; + border-bottom: 1px solid transparent; +} + +.blog-post-nav a:hover { + color: var(--color-primary); + border-bottom-color: var(--color-primary); +} +``` + +- [ ] **Step 5: Verify a real post page renders the new meta line and nav styling** + +Run: +```bash +docker compose logs --tail=30 app +SLUG=$(curl -s http://localhost:8000/ | grep -oE 'href="/[a-z0-9-]+/' | head -1 | sed 's/href="//') +curl -s "http://localhost:8000${SLUG}" | grep -o 'class="post-meta"\|blog-post-nav-prev\|blog-post-nav-next' +``` +Expected: no `ERROR`/`failed` in the recent logs (this task adds `category` to the query — check carefully for a GraphQL field error); `class="post-meta"` is found (prev/next classes will only appear if that post has a neighbor — check on a couple of posts if the first one is first/last in the sequence). + +- [ ] **Step 6: Commit** + +```bash +git add src/templates/blog-post.js src/style.css +git commit -m "style: restyle post meta line and prev/next nav, constrain prose width" +``` + +--- + +### Task 7: Custom Matrix-style dark theme for code blocks + +**Files:** +- Create: `src/styles/prism-theme.css` +- Modify: `gatsby-browser.js` (swap the Prism theme import) + +**Interfaces:** +- Consumes: `--color-surface-dark`, `--color-primary-bright`, `--font-heading`, `--spacing-4` (Task 2). +- Produces: nothing consumed by later tasks — this is a self-contained visual swap. + +- [ ] **Step 1: Write the custom Prism theme** + +Create `src/styles/prism-theme.css`: +```css +/* Matrix-inspired dark code theme (replaces prismjs/themes/prism.css) */ + +code[class*="language-"], +pre[class*="language-"] { + color: #d7ffe9; + background: none; + font-family: var(--font-heading); + font-size: 0.9em; + line-height: 1.5; + text-shadow: none; +} + +pre[class*="language-"] { + background: var(--color-surface-dark); + padding: var(--spacing-4); + margin: 0.5em 0; + overflow: auto; + border-radius: 4px; + border: 1px solid #1c2a20; +} + +:not(pre) > code[class*="language-"] { + background: var(--color-surface-dark); + color: var(--color-primary-bright); + padding: 0.15em 0.4em; + border-radius: 3px; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #5c8a6d; + font-style: italic; +} + +.token.punctuation { + color: #8fae9a; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #6ee7a7; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #00ff9c; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #8fae9a; +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: #39d97a; + font-weight: var(--fontWeight-medium); +} + +.token.function, +.token.class-name { + color: #7be6c1; +} + +.token.regex, +.token.important, +.token.variable { + color: #d7ffe9; +} +``` + +- [ ] **Step 2: Swap the theme import in `gatsby-browser.js`** + +Replace: +```js +// Highlighting for code blocks +import "prismjs/themes/prism.css" +``` +with: +```js +// Highlighting for code blocks +import "./src/styles/prism-theme.css" +``` + +- [ ] **Step 3: Verify a post containing a code block renders with the dark theme** + +Run: +```bash +docker compose logs --tail=30 app +grep -rl '```' content/blog --include="*.md" | head -1 +``` +Take the matching post's slug (derived from its path, e.g. `content/blog/2021/06/adminer/index.md` → `/2021/06/adminer/`), then: +```bash +curl -s http://localhost:8000// | grep -o 'language-' +``` +Expected: no `ERROR`/`failed` in the recent logs; at least one `language-` match (confirms Prism classes are present in the rendered HTML). Then open that post in a browser and visually confirm the code block has a dark background with green-tinted syntax highlighting. + +- [ ] **Step 4: Commit** + +```bash +git add src/styles/prism-theme.css gatsby-browser.js +git commit -m "style: add a Matrix-inspired dark theme for code blocks" +``` + +--- + +### Task 8: Unify the homepage post list with `PostsList`/`PostsListCard` and drop the Bootstrap Card styling + +**Files:** +- Modify: `src/pages/index.js` +- Modify: `src/components/post-list-card.js` +- Modify: `src/style.css` (remove unused `.post-list-item*` rules, add `.post-card` rules) + +**Interfaces:** +- Consumes: `PostsList` component (`src/components/post-list.js`, unchanged — takes a `postEdges` prop shaped like GraphQL `edges { node { ... } }` and maps it to ``), `--color-text`, `--color-text-light`, `--color-primary`, `--color-border`, `--font-heading`, `--fontSize-0`, `--fontSize-4` (Task 2). +- Produces: `.post-card` class, now used identically by the homepage, category pages, and tag pages (category/tag templates already render `PostsList`, so they pick up this styling automatically — no changes needed to `src/templates/category.js` or `src/templates/tag.js`). + +- [ ] **Step 1: Rewrite `PostsListCard` without the react-bootstrap `Card` wrapper** + +Replace the full contents of `src/components/post-list-card.js` with: +```jsx +import React from "react" +import { Link } from "gatsby" + +const PostsListCard = ({ frontmatter, fields, excerpt }) => { + const title = frontmatter.title || fields.slug + + return ( +
    +

    + {frontmatter.date} + {fields.category && ` · ${fields.category}`} +

    +

    + {title} +

    +
    + + Read more → + +
    + ) +} + +export default PostsListCard +``` + +- [ ] **Step 2: Rewrite `src/pages/index.js` to use `PostsList` and query `edges` instead of hand-rolled markup** + +Replace the full contents of `src/pages/index.js` with: +```jsx +import * as React from "react" +import { graphql } from "gatsby" + +import Layout from "../layouts/base" +import Seo from "../components/seo" +import PostsList from "../components/post-list" + +const BlogIndex = ({ data, location }) => { + const siteTitle = data.site.siteMetadata?.title || `Title` + const posts = data.allMarkdownRemark.edges + + if (posts.length === 0) { + return ( + + +

    + No blog posts found. Add markdown posts to "content/blog" (or the + directory you specified for the "gatsby-source-filesystem" plugin in + gatsby-config.js). +

    +
    + ) + } + + return ( + + + + + ) +} + +export default BlogIndex + +export const pageQuery = graphql` + query { + site { + siteMetadata { + title + } + } + allMarkdownRemark(sort: { frontmatter: { date: DESC } }) { + edges { + node { + excerpt + fields { + slug + category + } + frontmatter { + date(formatString: "MMMM DD, YYYY") + title + description + } + } + } + } + } +` +``` + +- [ ] **Step 3: Remove the now-unused `.post-list-item*` rules and add `.post-card` styling, in `src/style.css`** + +Delete these four rule blocks (no longer referenced by any component after Step 2): +```css +.post-list-item { + margin-bottom: var(--spacing-8); + margin-top: var(--spacing-8); +} + +.post-list-item p { + margin-bottom: var(--spacing-0); +} + +.post-list-item h2 { + font-size: var(--fontSize-4); + color: var(--color-primary); + margin-bottom: var(--spacing-2); + margin-top: var(--spacing-0); +} + +.post-list-item header { + margin-bottom: var(--spacing-4); +} +``` + +Add this new block in their place: +```css +.post-card { + border-bottom: 1px solid var(--color-border); + padding-bottom: var(--spacing-8); + margin-bottom: var(--spacing-8); +} + +.post-card-meta { + font-family: var(--font-heading); + font-size: var(--fontSize-0); + color: var(--color-text-light); + margin-bottom: var(--spacing-2); +} + +.post-card-title { + font-size: var(--fontSize-4); + margin-top: 0; + margin-bottom: var(--spacing-2); +} + +.post-card-title a { + color: var(--color-heading); + text-decoration: none; +} + +.post-card-title a:hover { + color: var(--color-primary); +} + +.post-card-excerpt { + margin-bottom: var(--spacing-4); +} + +.post-card-link { + font-family: var(--font-heading); + font-size: var(--fontSize-0); + text-decoration: none; + color: var(--color-primary); +} + +.post-card-link:hover { + text-decoration: underline; +} +``` + +- [ ] **Step 4: Verify homepage, category, and tag pages all render posts identically** + +Run: +```bash +docker compose logs --tail=30 app +curl -s http://localhost:8000/ | grep -oc 'class="post-card"' +``` +Expected: no `ERROR`/`failed` in the recent logs (this task rewrites the homepage GraphQL query — check carefully); count is greater than 0 and matches the number of posts under `content/blog/`. + +Then find a real category and confirm it uses the same markup: +```bash +CATEGORY_PATH=$(curl -s http://localhost:8000/ | grep -oE '/category/[a-z0-9-]+/' | head -1) +curl -s "http://localhost:8000${CATEGORY_PATH}" | grep -oc 'class="post-card"' +``` +Expected: count is greater than 0. + +- [ ] **Step 5: Commit** + +```bash +git add src/pages/index.js src/components/post-list-card.js src/style.css +git commit -m "refactor: unify homepage post list with PostsList/PostsListCard, drop Bootstrap Card styling" +``` + +--- + +### Task 9: Final visual QA and cleanup pass + +**Files:** none created/modified beyond formatting fixes to files already touched by Tasks 1–8. + +- [ ] **Step 1: Run Prettier over every file changed in this plan** + +Run: +```bash +docker compose exec app npx prettier --write \ + src/style.css src/styles/global.scss src/styles/prism-theme.css \ + src/layouts/base.js src/components/bio.js src/components/footer.js \ + src/templates/blog-post.js src/pages/index.js src/components/post-list-card.js \ + gatsby-browser.js +``` +Expected: exits 0 (Prettier reformats in place if needed). + +- [ ] **Step 2: Full production build** + +Stop the dev server first — running `build` and `develop` against the same `.cache/` directory at once is unsupported: +```bash +docker compose stop app +docker compose run --rm app npm run build +docker compose up -d app +``` +Expected: build completes with no errors; `docker compose ps` shows `app` back up afterward. + +- [ ] **Step 3: Visual walkthrough in a real browser** + +Using the browser automation tools, visit and screenshot, at both a desktop width (~1280px) and a mobile width (~375px): +- `http://localhost:8000/` (homepage — post cards, sidebar with nav + bio + categories, footer) +- one individual post page (article typography, code block if the post has one, prev/next nav) +- one `/category//` page + +Confirm: no visual overlap between footer and content; sidebar stacks correctly on mobile; code blocks show the dark green-on-black theme; links/headings show the green accent and monospace treatment; body text is the Inter sans font and reads comfortably at the constrained width. + +- [ ] **Step 4: Commit formatting fixes, if any** + +```bash +git status --porcelain +``` +If this shows any modified files (Prettier made changes), then: +```bash +git add -u +git commit -m "style: run prettier over theme refresh changes" +``` +If it shows nothing, skip the commit — there's nothing to commit. From ba077abd8fc81826b45c12ad772f7a216f399b8d Mon Sep 17 00:00:00 2001 From: Jakub Vyvazil Date: Wed, 2 Sep 2026 14:36:48 +0200 Subject: [PATCH 03/48] chore: swap typeface packages for @fontsource/inter and @fontsource/jetbrains-mono --- gatsby-browser.js | 8 ++++++-- package-lock.json | 48 ++++++++++++++++++++++++++--------------------- package.json | 6 +++--- 3 files changed, 36 insertions(+), 26 deletions(-) diff --git a/gatsby-browser.js b/gatsby-browser.js index 44bf859..e12a619 100644 --- a/gatsby-browser.js +++ b/gatsby-browser.js @@ -1,6 +1,10 @@ // custom typefaces -import "typeface-montserrat" -import "typeface-merriweather" +import "@fontsource/inter/400.css" +import "@fontsource/inter/500.css" +import "@fontsource/inter/700.css" +import "@fontsource/jetbrains-mono/400.css" +import "@fontsource/jetbrains-mono/500.css" +import "@fontsource/jetbrains-mono/700.css" // custom CSS styles import "./src/style.css" diff --git a/package-lock.json b/package-lock.json index 33f6143..2039cf6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,8 @@ "license": "MIT", "dependencies": { "@babel/runtime": "^7.29.7", + "@fontsource/inter": "^5.3.0", + "@fontsource/jetbrains-mono": "^5.3.0", "bootstrap": "^5.3.8", "gatsby": "^5.16.1", "gatsby-plugin-categories": "^2.3.7", @@ -36,9 +38,7 @@ "react-bootstrap": "^2.10.10", "react-dom": "^19.2.8", "react-helmet": "^6.1.0", - "sass": "^1.103.1", - "typeface-merriweather": "^1.1.13", - "typeface-montserrat": "^1.1.13" + "sass": "^1.103.1" }, "devDependencies": { "prettier": "^3.9.6" @@ -2081,6 +2081,24 @@ "integrity": "sha512-HHQigo3rQWKMDzYDLkubN5WQOYXJJE2eNqIQC2axC2iO3mHdwnIR7FgZVvHWtBwAdzBgAP0ECp8KqS8TiMKvgw==", "license": "MIT" }, + "node_modules/@fontsource/inter": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@fontsource/inter/-/inter-5.3.0.tgz", + "integrity": "sha512-RofMylZmjlJEfELXeNHFWBRcSs75rGU/6bV2S2jfnvv/3rPXPGe0LgUJTklcHZ9lM4OZmAVFhcJPnACfb91A3g==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, + "node_modules/@fontsource/jetbrains-mono": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@fontsource/jetbrains-mono/-/jetbrains-mono-5.3.0.tgz", + "integrity": "sha512-fqDfB5I9f1p1TV486aUgB9t8zP84P0O1FtQR5Ol9vjwPy+S+EIGlVYm1cvj2W5shcZMTg2nZFdVMoH5wFu8a1A==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, "node_modules/@gatsbyjs/parcel-namer-relative-to-cwd": { "version": "2.16.0", "resolved": "https://registry.npmjs.org/@gatsbyjs/parcel-namer-relative-to-cwd/-/parcel-namer-relative-to-cwd-2.16.0.tgz", @@ -6386,9 +6404,9 @@ } }, "node_modules/baseline-browser-mapping": { - "version": "2.11.16", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.16.tgz", - "integrity": "sha512-H/bNPUFHewJHyCTdjn1n3Pit5+2GmWT6mmeHImPX+8MA9NA6b67jO4gYmi4jTbCJb2otq34KMZnovndDPqJwhQ==", + "version": "2.11.19", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.19.tgz", + "integrity": "sha512-Grytf1xOxOEMTGRwx6rLGKkTabd4vMg3VrKdj/7joCmV0qgh4QwMMO6xh34YEXQqirAuUdgQGa5orJQQ+69RBw==", "license": "Apache-2.0", "bin": { "baseline-browser-mapping": "dist/cli.cjs" @@ -6833,9 +6851,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001809", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001809.tgz", - "integrity": "sha512-xxWVywk6a6Arlk+hymeycyn/VgqEfLDxupvhH/xiY5SJ/18kmi9o6MiO320DCUzypORHLtvh0I4i04tUhCNHNQ==", + "version": "1.0.30001810", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001810.tgz", + "integrity": "sha512-TITQPUkaz+aVk5GL6NhOdwk1aEaNTSDPsGFWrTuhKGtjTF70jL/Oht2W4c6rXUe5fu7Ie19VIahAXHIIiWWNeg==", "funding": [ { "type": "opencollective", @@ -20815,18 +20833,6 @@ "is-typedarray": "^1.0.0" } }, - "node_modules/typeface-merriweather": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/typeface-merriweather/-/typeface-merriweather-1.1.13.tgz", - "integrity": "sha512-ho6xe/y/uHIKVXsFtK+dJfRCD5KZqJCMYTCcXfuCwQHQbeQ83a7hVkxfRMTEIjZOSXw5SevOjnwJuZ5QgWEHiw==", - "license": "MIT" - }, - "node_modules/typeface-montserrat": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/typeface-montserrat/-/typeface-montserrat-1.1.13.tgz", - "integrity": "sha512-Pklkyj0e+K+6I/t0M6JBDBphpfJkF1k+3qd8qDnp9aVtCC7oGBQWTAcL6+5eArfGe7h73uPwyal73hEkf9YCUA==", - "license": "MIT" - }, "node_modules/typescript": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-7.0.2.tgz", diff --git a/package.json b/package.json index 82fd463..beb87fa 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,8 @@ "author": "Jakub Vyvazil ", "dependencies": { "@babel/runtime": "^7.29.7", + "@fontsource/inter": "^5.3.0", + "@fontsource/jetbrains-mono": "^5.3.0", "bootstrap": "^5.3.8", "gatsby": "^5.16.1", "gatsby-plugin-categories": "^2.3.7", @@ -32,9 +34,7 @@ "react-bootstrap": "^2.10.10", "react-dom": "^19.2.8", "react-helmet": "^6.1.0", - "sass": "^1.103.1", - "typeface-merriweather": "^1.1.13", - "typeface-montserrat": "^1.1.13" + "sass": "^1.103.1" }, "devDependencies": { "prettier": "^3.9.6" From 2c18f58b694ce807055d5b1f4ade3ca6c24ef89a Mon Sep 17 00:00:00 2001 From: Jakub Vyvazil Date: Wed, 2 Sep 2026 14:42:44 +0200 Subject: [PATCH 04/48] style: rework color and typography tokens for the theme refresh --- src/style.css | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/src/style.css b/src/style.css index 87b6ccb..11b897d 100644 --- a/src/style.css +++ b/src/style.css @@ -27,13 +27,13 @@ --spacing-20: 5rem; --spacing-24: 6rem; --spacing-32: 8rem; - --fontFamily-sans: Montserrat, system-ui, -apple-system, BlinkMacSystemFont, + --fontFamily-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - --fontFamily-serif: "Merriweather", "Georgia", Cambria, "Times New Roman", - Times, serif; - --font-body: var(--fontFamily-serif); - --font-heading: var(--fontFamily-sans); + --fontFamily-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", + Menlo, Consolas, "Liberation Mono", monospace; + --font-body: var(--fontFamily-sans); + --font-heading: var(--fontFamily-mono); --fontWeight-normal: 400; --fontWeight-medium: 500; --fontWeight-semibold: 600; @@ -42,9 +42,9 @@ --fontWeight-black: 900; --fontSize-root: 16px; --lineHeight-none: 1; - --lineHeight-tight: 1.1; + --lineHeight-tight: 1.15; --lineHeight-normal: 1.5; - --lineHeight-relaxed: 1.625; + --lineHeight-relaxed: 1.65; /* 1.200 Minor Third Type Scale */ --fontSize-0: 0.833rem; --fontSize-1: 1rem; @@ -54,12 +54,17 @@ --fontSize-5: 2.074rem; --fontSize-6: 2.488rem; --fontSize-7: 2.986rem; - --color-primary: #005b99; - --color-text: #2e353f; - --color-text-light: #4f5969; - --color-heading: #1a202c; - --color-heading-black: black; - --color-accent: #d1dce5; + --color-bg: #fafafa; + --color-surface: #ffffff; + --color-surface-dark: #0d1210; + --color-primary: #067a44; + --color-primary-bright: #00ff9c; + --color-text: #16201a; + --color-text-light: #4b5a4f; + --color-heading: #0f1811; + --color-heading-black: #0a120c; + --color-accent: #d7f2e3; + --color-border: #e3e8e4; } /* HTML elements */ @@ -81,6 +86,7 @@ body { font-family: var(--font-body); font-size: var(--fontSize-1); color: var(--color-text); + background: var(--color-bg); } footer { From c2927f2ed867e90e7370355d7bbe72b71280f215 Mon Sep 17 00:00:00 2001 From: Jakub Vyvazil Date: Wed, 2 Sep 2026 14:47:16 +0200 Subject: [PATCH 05/48] fix: remove fixed-position footer and duplicate CSS overriding the sidebar - Trim global.scss to only Bootstrap imports (remove old fixed footer and .bio { display: block } rules) - Change footer.js to use site-footer class and remove Bootstrap utility classes - Make .global-wrapper a flex column layout with min-height 100vh - Add .global-wrapper > .row flex rule to push footer to bottom - Add .site-footer styling with border-top, centered text, and hover states Fixes footer overlapping on short pages and sidebar layout being flattened by CSS cascade. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_$(uuidgen | head -c 8) --- src/components/footer.js | 4 ++-- src/style.css | 28 ++++++++++++++++++++++++++++ src/styles/global.scss | 31 ------------------------------- 3 files changed, 30 insertions(+), 33 deletions(-) diff --git a/src/components/footer.js b/src/components/footer.js index 4ca5bc7..b336cf8 100644 --- a/src/components/footer.js +++ b/src/components/footer.js @@ -2,8 +2,8 @@ import React from "react" import BuildDate from "./build-date" const Footer = () => ( -
    -

    +

    +

    This is static page generated by{" "} Gatsby.js, built at {" "} using Github's pipelines and hosted by{" "} diff --git a/src/style.css b/src/style.css index 11b897d..686d298 100644 --- a/src/style.css +++ b/src/style.css @@ -93,6 +93,27 @@ footer { padding: var(--spacing-6) var(--spacing-0); } +.site-footer { + border-top: 1px solid var(--color-border); + margin-top: var(--spacing-16); + text-align: center; +} + +.site-footer p { + font-family: var(--font-heading); + font-size: var(--fontSize-0); + color: var(--color-text-light); + margin-bottom: 0; +} + +.site-footer a { + color: var(--color-text-light); +} + +.site-footer a:hover { + color: var(--color-primary); +} + hr { background: var(--color-accent); height: 1px; @@ -250,6 +271,13 @@ a:focus { margin: var(--spacing-0) auto; max-width: var(--maxWidth-wrapper); padding: var(--spacing-10) var(--spacing-5); + min-height: 100vh; + display: flex; + flex-direction: column; +} + +.global-wrapper > .row { + flex: 1 0 auto; } .global-wrapper[data-is-root-path="true"] .bio { diff --git a/src/styles/global.scss b/src/styles/global.scss index 2ecdefb..07b6d5b 100644 --- a/src/styles/global.scss +++ b/src/styles/global.scss @@ -1,33 +1,2 @@ @import "node_modules/bootstrap/scss/bootstrap"; @import "node_modules/bootstrap/scss/grid"; - - -footer { - position: fixed; - bottom: 0; - background: #cfcfcf; - width: 100%; - padding: 0; - left: 0; - & > p { - margin: 0; - padding: 6px; - font-size: 80%; - a { - color: #000; - } - } -} - -.bio { - display: block; - .avatar { - padding-bottom: 2em; - .bio-avatar { - margin: 0 auto; - } - } - .summary { - font-size: 90%; - } -} From df9ace4ae79044919d1db26d6a50b104c1dc00d7 Mon Sep 17 00:00:00 2001 From: Jakub Vyvazil Date: Wed, 2 Sep 2026 14:50:21 +0200 Subject: [PATCH 06/48] fix: make sidebar/content grid responsive and add primary nav links --- src/layouts/base.js | 14 ++++++++++++-- src/style.css | 21 +++++++++++++++++++++ 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/src/layouts/base.js b/src/layouts/base.js index 13030b6..870a761 100644 --- a/src/layouts/base.js +++ b/src/layouts/base.js @@ -25,11 +25,21 @@ const Base = ({ location, title, children }) => { return (

    - diff --git a/src/style.css b/src/style.css index 686d298..5b2dfde 100644 --- a/src/style.css +++ b/src/style.css @@ -288,6 +288,27 @@ a:focus { margin-bottom: var(--spacing-12); } +.sidebar-nav ul { + list-style: none; + padding: 0; + margin: 0 0 var(--spacing-8) 0; + font-family: var(--font-heading); + font-size: var(--fontSize-0); +} + +.sidebar-nav li { + margin-bottom: var(--spacing-2); +} + +.sidebar-nav a { + color: var(--color-text-light); + text-decoration: none; +} + +.sidebar-nav a:hover { + color: var(--color-primary); +} + .main-heading { font-size: var(--fontSize-7); margin: 0; From fc0e7eefd8cb996096a06d5bad19e3db293a3750 Mon Sep 17 00:00:00 2001 From: Jakub Vyvazil Date: Wed, 2 Sep 2026 14:53:58 +0200 Subject: [PATCH 07/48] feat: add a categories list to the sidebar --- src/components/bio.js | 25 ++++++++++++++++++++++++- src/style.css | 36 +++++++++++++++++++++++++++++++++++- 2 files changed, 59 insertions(+), 2 deletions(-) diff --git a/src/components/bio.js b/src/components/bio.js index 43424d0..7327133 100644 --- a/src/components/bio.js +++ b/src/components/bio.js @@ -6,7 +6,7 @@ */ import * as React from "react" -import { useStaticQuery, graphql } from "gatsby" +import { useStaticQuery, graphql, Link } from "gatsby" import { StaticImage } from "gatsby-plugin-image" const Bio = () => { @@ -23,12 +23,21 @@ const Bio = () => { } } } + allMarkdownRemark(limit: 1000) { + group(field: { fields: { category: SELECT } }) { + fieldValue + totalCount + } + } } `) // Set these values by editing "siteMetadata" in gatsby-config.js const author = data.site.siteMetadata?.author const social = data.site.siteMetadata?.social + const categories = data.allMarkdownRemark.group.filter( + ({ fieldValue }) => fieldValue, + ) return (
    @@ -51,6 +60,20 @@ const Bio = () => {

    )}
    + {categories.length > 0 && ( + + )}
    ) } diff --git a/src/style.css b/src/style.css index 5b2dfde..8ca8890 100644 --- a/src/style.css +++ b/src/style.css @@ -343,7 +343,7 @@ a:focus { .bio { display: flex; - margin-bottom: var(--spacing-16); + margin-bottom: var(--spacing-8); } .bio p { @@ -355,6 +355,40 @@ a:focus { margin-bottom: var(--spacing-0); } +.sidebar-heading { + font-family: var(--font-heading); + font-size: var(--fontSize-0); + color: var(--color-text-light); + text-transform: lowercase; + letter-spacing: 0.05em; + margin-bottom: var(--spacing-2); +} + +.sidebar-categories ul { + list-style: none; + padding: 0; + margin: 0; + font-family: var(--font-heading); + font-size: var(--fontSize-0); +} + +.sidebar-categories li { + margin-bottom: var(--spacing-2); +} + +.sidebar-categories a { + color: var(--color-text); + text-decoration: none; +} + +.sidebar-categories a:hover { + color: var(--color-primary); +} + +.sidebar-categories .count { + color: var(--color-text-light); +} + .blog-post header h1 { margin: var(--spacing-0) var(--spacing-0) var(--spacing-4) var(--spacing-0); } From 7839bf55c59002b438b5d3b6179f88691f44dd1f Mon Sep 17 00:00:00 2001 From: Jakub Vyvazil Date: Wed, 2 Sep 2026 15:02:48 +0200 Subject: [PATCH 08/48] style: restyle post meta line and prev/next nav, constrain prose width --- src/style.css | 28 ++++++++++++++++++++++++++-- src/templates/blog-post.js | 20 ++++++++------------ 2 files changed, 34 insertions(+), 14 deletions(-) diff --git a/src/style.css b/src/style.css index 8ca8890..1cee37b 100644 --- a/src/style.css +++ b/src/style.css @@ -393,13 +393,37 @@ a:focus { margin: var(--spacing-0) var(--spacing-0) var(--spacing-4) var(--spacing-0); } -.blog-post header p { - font-size: var(--fontSize-2); +.post-meta { font-family: var(--font-heading); + font-size: var(--fontSize-0); + color: var(--color-text-light); + letter-spacing: 0.02em; +} + +.blog-post section { + max-width: 70ch; } .blog-post-nav ul { margin: var(--spacing-0); + display: flex; + flex-wrap: wrap; + justify-content: space-between; + list-style: none; + padding: 0; + font-family: var(--font-heading); + font-size: var(--fontSize-0); +} + +.blog-post-nav a { + color: var(--color-text); + text-decoration: none; + border-bottom: 1px solid transparent; +} + +.blog-post-nav a:hover { + color: var(--color-primary); + border-bottom-color: var(--color-primary); } .gatsby-highlight { diff --git a/src/templates/blog-post.js b/src/templates/blog-post.js index 87bd87e..0d77f8f 100644 --- a/src/templates/blog-post.js +++ b/src/templates/blog-post.js @@ -23,7 +23,10 @@ const BlogPostTemplate = ({ data, location }) => { >

    {post.frontmatter.title}

    -

    {post.frontmatter.date}

    +

    + {`// ${post.frontmatter.date}`} + {post.frontmatter.category && ` · ${post.frontmatter.category}`} +

    {
    +
    From 8c950e2660c0744e7d4da82fbe8a1c3baaaf41a7 Mon Sep 17 00:00:00 2001 From: Jakub Vyvazil Date: Fri, 4 Sep 2026 11:43:09 +0200 Subject: [PATCH 19/48] fix: restore commented-out avatar/summary block in Bio Was left disabled in a pre-existing uncommitted change; user confirmed it should render. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01HXxyPkq7xMErj3CmKamPKk --- src/components/bio.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/bio.js b/src/components/bio.js index 05abd4d..43424d0 100644 --- a/src/components/bio.js +++ b/src/components/bio.js @@ -32,7 +32,7 @@ const Bio = () => { return (
    - {/*
    +
    { Written by {author.name} {author?.summary || null}

    )} -
    */} +
    ) } From c26200f546eb55b1da50df703633149f3ebec0f8 Mon Sep 17 00:00:00 2001 From: Jakub Vyvazil Date: Fri, 4 Sep 2026 11:47:41 +0200 Subject: [PATCH 20/48] style: merge categories heading into the primary nav list "// categories" was a separate

    in its own block, visually disconnected from the "> home" / "> rss" menu above it (different prefix width, extra margin between blocks). Categories now returns an

  1. rendered directly inside the same
      as home/rss, and a shared .menu-marker fixed-width (3ch) prefix wrapper makes "home", "rss", and "categories" all start at the same column regardless of the ">" vs "//" prefix length. Vertical rhythm between all three now comes from the single shared .sidebar-nav li margin-bottom rule instead of a separate heading margin. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01HXxyPkq7xMErj3CmKamPKk --- src/components/categories.js | 6 +++--- src/layouts/base.js | 10 +++++++--- src/style.css | 16 ++++++++-------- 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/src/components/categories.js b/src/components/categories.js index 3cf93c5..e2fbdc1 100644 --- a/src/components/categories.js +++ b/src/components/categories.js @@ -29,8 +29,8 @@ const Categories = () => { } return ( - + ) } diff --git a/src/layouts/base.js b/src/layouts/base.js index 1e5f788..d0c33d5 100644 --- a/src/layouts/base.js +++ b/src/layouts/base.js @@ -33,14 +33,18 @@ const Base = ({ location, title, children }) => { -
      diff --git a/src/style.css b/src/style.css index ca61b5b..85557a4 100644 --- a/src/style.css +++ b/src/style.css @@ -308,6 +308,11 @@ a:focus { color: var(--color-primary); } +.menu-marker { + display: inline-block; + width: 3ch; +} + .main-heading { font-size: var(--fontSize-3); margin: 0; @@ -410,19 +415,14 @@ a:focus { margin-bottom: var(--spacing-0); } -.sidebar-heading { - font-family: var(--font-heading); - font-size: var(--fontSize-0); +.sidebar-categories { color: var(--color-text-light); - text-transform: lowercase; - letter-spacing: 0.05em; - margin-bottom: var(--spacing-2); } .sidebar-categories ul { list-style: none; - padding: 0; - margin: 0; + padding: 0 0 0 3ch; + margin: var(--spacing-2) 0 0 0; font-family: var(--font-heading); font-size: var(--fontSize-0); } From 1c0ef784b8d73772982e04c9fa5409ca16240e5a Mon Sep 17 00:00:00 2001 From: Jakub Vyvazil Date: Fri, 4 Sep 2026 11:49:04 +0200 Subject: [PATCH 21/48] style: prefix each category link with the same > marker Reuses the shared .menu-marker fixed-width prefix so individual category links line up with the rest of the menu, since they're links too. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01HXxyPkq7xMErj3CmKamPKk --- src/components/categories.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/categories.js b/src/components/categories.js index e2fbdc1..7c7da1d 100644 --- a/src/components/categories.js +++ b/src/components/categories.js @@ -35,6 +35,7 @@ const Categories = () => { {categories.map(({ fieldValue, totalCount }) => (
    • + > {fieldValue} ({totalCount})
    • From f3b43e882800b805868e2ceec828f8576fdbb9b4 Mon Sep 17 00:00:00 2001 From: Jakub Vyvazil Date: Fri, 4 Sep 2026 11:50:40 +0200 Subject: [PATCH 22/48] chore: comment out Bio in the sidebar for now Kept but disabled per request while its design/usage is reconsidered. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01HXxyPkq7xMErj3CmKamPKk --- src/layouts/base.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/layouts/base.js b/src/layouts/base.js index d0c33d5..451e123 100644 --- a/src/layouts/base.js +++ b/src/layouts/base.js @@ -1,7 +1,7 @@ import * as React from "react" import { Link } from "gatsby" import Footer from "./../components/footer" -import Bio from "../components/bio" +// import Bio from "../components/bio" import Categories from "../components/categories" const Base = ({ location, title, children }) => { @@ -45,7 +45,7 @@ const Base = ({ location, title, children }) => {
    - + {/* */}
    {children} From defa8cbd5b5e628be16fb62e30d8fc5a21c12f0a Mon Sep 17 00:00:00 2001 From: Jakub Vyvazil Date: Fri, 4 Sep 2026 11:57:00 +0200 Subject: [PATCH 23/48] fix: stop double-slashing post card links fields.slug already comes with leading/trailing slashes from Gatsby's createFilePath (e.g. "/2026/08/mikrotik-backup/"), so wrapping it again as `/${fields.slug}/` produced "//2026/08/mikrotik-backup//" -- a leading // in an href is parsed as a protocol-relative URL, so browsers were resolving these links to a bogus host named "2026" instead of the post. Pre-existing bug (not introduced by this refresh), previously only hit category/tag pages since the homepage had its own separate, correct markup; became visible everywhere once the homepage was unified onto this shared component. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01HXxyPkq7xMErj3CmKamPKk --- src/components/post-list-card.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/post-list-card.js b/src/components/post-list-card.js index 070ba66..e77c3b4 100644 --- a/src/components/post-list-card.js +++ b/src/components/post-list-card.js @@ -11,7 +11,7 @@ const PostsListCard = ({ frontmatter, fields, excerpt }) => { {fields.category && ` · ${fields.category}`}

    - {title} + {title}

    { __html: frontmatter.description || excerpt, }} /> - + Read more →
  2. From ac884770c1816eb0469b1f175456115f990aa519 Mon Sep 17 00:00:00 2001 From: Jakub Vyvazil Date: Fri, 4 Sep 2026 12:21:14 +0200 Subject: [PATCH 24/48] fix: always show the logo instead of a duplicate home link Non-root pages showed both a "\xe2\x86\x90 home" text link in the header and a "> home" item in the nav menu right below it -- two links to the same place. Show the "\$ happyphpdev_" wordmark everywhere instead (it already links home), and drop the now-redundant header-link-home link/CSS. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01HXxyPkq7xMErj3CmKamPKk --- src/layouts/base.js | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/src/layouts/base.js b/src/layouts/base.js index 451e123..535b80c 100644 --- a/src/layouts/base.js +++ b/src/layouts/base.js @@ -7,23 +7,14 @@ import Categories from "../components/categories" const Base = ({ location, title, children }) => { const rootPath = `${__PATH_PREFIX__}/` const isRootPath = location.pathname === rootPath - let header - if (isRootPath) { - header = ( -

    - - $ happyphpdev - -

    - ) - } else { - header = ( - - ← home + const header = ( +

    + + $ happyphpdev - ) - } +

    + ) return (
    From a7b8568d120eaae1dccd69fce93213399da67930 Mon Sep 17 00:00:00 2001 From: Jakub Vyvazil Date: Fri, 4 Sep 2026 12:21:23 +0200 Subject: [PATCH 25/48] refactor: simplify category/tag archive pages Drop the leftover react-bootstrap Container and empty .category-container/.tag-container wrappers (zero CSS, inconsistent spacing vs. the rest of the theme) and the plain "Category: x" / "Tag: x" heading in favor of a styled archive-header matching the site's other eyebrow+title patterns. Also stop repeating the category on every card on a category page -- it's already the page you're on. New showCategory prop (default true) on PostsList/PostsListCard, set to false only from category.js. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01HXxyPkq7xMErj3CmKamPKk --- src/components/post-list-card.js | 4 ++-- src/components/post-list.js | 10 ++++++++-- src/style.css | 23 ++++++++++++++++------- src/templates/category.js | 18 +++++++++--------- src/templates/tag.js | 14 ++++++-------- 5 files changed, 41 insertions(+), 28 deletions(-) diff --git a/src/components/post-list-card.js b/src/components/post-list-card.js index e77c3b4..5bcef09 100644 --- a/src/components/post-list-card.js +++ b/src/components/post-list-card.js @@ -1,14 +1,14 @@ import React from "react" import { Link } from "gatsby" -const PostsListCard = ({ frontmatter, fields, excerpt }) => { +const PostsListCard = ({ frontmatter, fields, excerpt, showCategory = true }) => { const title = frontmatter.title || fields.slug return (

    {frontmatter.date} - {fields.category && ` · ${fields.category}`} + {showCategory && fields.category && ` · ${fields.category}`}

    {title} diff --git a/src/components/post-list.js b/src/components/post-list.js index e5e9411..ce88615 100644 --- a/src/components/post-list.js +++ b/src/components/post-list.js @@ -1,9 +1,15 @@ import React from "react" import PostsListCard from "./post-list-card" -const PostsList = ({ postEdges }) => { +const PostsList = ({ postEdges, showCategory = true }) => { return postEdges.map(({ node }) => { - return + return ( + + ) }) } diff --git a/src/style.css b/src/style.css index 85557a4..2042d1a 100644 --- a/src/style.css +++ b/src/style.css @@ -351,6 +351,22 @@ a:focus { } } +.archive-header { + margin-bottom: var(--spacing-8); +} + +.archive-eyebrow { + font-family: var(--font-heading); + font-size: var(--fontSize-0); + color: var(--color-text-light); + margin-bottom: var(--spacing-2); +} + +.archive-title { + margin: 0; + font-size: var(--fontSize-5); +} + .post-card { border-bottom: 1px solid var(--color-border); padding-bottom: var(--spacing-8); @@ -394,13 +410,6 @@ a:focus { text-decoration: underline; } -.header-link-home { - font-weight: var(--fontWeight-bold); - font-family: var(--font-heading); - text-decoration: none; - font-size: var(--fontSize-2); -} - .bio { display: flex; margin-bottom: var(--spacing-8); diff --git a/src/templates/category.js b/src/templates/category.js index 9ea24ae..5b19dcf 100644 --- a/src/templates/category.js +++ b/src/templates/category.js @@ -1,6 +1,5 @@ import React from "react" import { graphql } from "gatsby" -import { Container } from "react-bootstrap" import Layout from "../layouts/base" import Seo from "../components/seo" @@ -10,14 +9,15 @@ const CategoryTemplate = ({ location, pageContext, data }) => { const { category } = pageContext return ( -
    - - - -

    Category: {category}

    - -
    -
    + +
    +

    // category

    +

    {category}

    +
    +
    ) } diff --git a/src/templates/tag.js b/src/templates/tag.js index 511f145..d5badfd 100644 --- a/src/templates/tag.js +++ b/src/templates/tag.js @@ -1,6 +1,5 @@ import React from "react" import { graphql } from "gatsby" -import { Container } from "react-bootstrap" import Layout from "../layouts/base" import Seo from "../components/seo" @@ -10,13 +9,12 @@ const TagTemplate = ({ location, pageContext, data }) => { const { tag } = pageContext return ( -
    - - -

    Tag: {tag}

    - -
    -
    + +
    +

    // tag

    +

    {tag}

    +
    +
    ) } From 06c9264f23ce56f98bc996f9ef4640dd042ff6e7 Mon Sep 17 00:00:00 2001 From: Jakub Vyvazil Date: Fri, 4 Sep 2026 12:38:13 +0200 Subject: [PATCH 26/48] refactor: reduce category/tag pages to a plain title list Replace the full PostsList (meta line, excerpt, "read more" link) with a new minimal PostTitleList component on category/tag archive pages, per request -- these are browsing pages, not the homepage, so just the titles as a clickable list is enough. Trims category.js/tag.js's GraphQL queries down to only fields.slug + frontmatter.title (dropping excerpt, timeToRead -- which was already dead, never rendered -- and date). Also reverts the showCategory prop added to PostsList/PostsListCard earlier today: it was only ever passed false from category.js, which no longer renders PostsList at all, so the prop was dead weight. Verified against a real `gatsby build` output (dev mode's page shell can't show this), since it's a GraphQL query shape change. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01HXxyPkq7xMErj3CmKamPKk --- src/components/post-list-card.js | 4 ++-- src/components/post-list.js | 10 ++-------- src/components/post-title-list.js | 16 ++++++++++++++++ src/style.css | 22 ++++++++++++++++++++++ src/templates/category.js | 11 ++--------- src/templates/tag.js | 8 ++------ 6 files changed, 46 insertions(+), 25 deletions(-) create mode 100644 src/components/post-title-list.js diff --git a/src/components/post-list-card.js b/src/components/post-list-card.js index 5bcef09..e77c3b4 100644 --- a/src/components/post-list-card.js +++ b/src/components/post-list-card.js @@ -1,14 +1,14 @@ import React from "react" import { Link } from "gatsby" -const PostsListCard = ({ frontmatter, fields, excerpt, showCategory = true }) => { +const PostsListCard = ({ frontmatter, fields, excerpt }) => { const title = frontmatter.title || fields.slug return (

    {frontmatter.date} - {showCategory && fields.category && ` · ${fields.category}`} + {fields.category && ` · ${fields.category}`}

    {title} diff --git a/src/components/post-list.js b/src/components/post-list.js index ce88615..e5e9411 100644 --- a/src/components/post-list.js +++ b/src/components/post-list.js @@ -1,15 +1,9 @@ import React from "react" import PostsListCard from "./post-list-card" -const PostsList = ({ postEdges, showCategory = true }) => { +const PostsList = ({ postEdges }) => { return postEdges.map(({ node }) => { - return ( - - ) + return }) } diff --git a/src/components/post-title-list.js b/src/components/post-title-list.js new file mode 100644 index 0000000..7b3f017 --- /dev/null +++ b/src/components/post-title-list.js @@ -0,0 +1,16 @@ +import React from "react" +import { Link } from "gatsby" + +const PostTitleList = ({ postEdges }) => ( +
      + {postEdges.map(({ node }) => ( +
    • + + {node.frontmatter.title || node.fields.slug} + +
    • + ))} +
    +) + +export default PostTitleList diff --git a/src/style.css b/src/style.css index 2042d1a..49686c4 100644 --- a/src/style.css +++ b/src/style.css @@ -367,6 +367,28 @@ a:focus { font-size: var(--fontSize-5); } +.post-title-list { + list-style: none; + padding: 0; + margin: 0; +} + +.post-title-list li { + border-bottom: 1px solid var(--color-border); +} + +.post-title-list a { + display: block; + padding: var(--spacing-3) 0; + color: var(--color-heading); + text-decoration: none; + font-size: var(--fontSize-2); +} + +.post-title-list a:hover { + color: var(--color-primary); +} + .post-card { border-bottom: 1px solid var(--color-border); padding-bottom: var(--spacing-8); diff --git a/src/templates/category.js b/src/templates/category.js index 5b19dcf..b922a38 100644 --- a/src/templates/category.js +++ b/src/templates/category.js @@ -3,7 +3,7 @@ import { graphql } from "gatsby" import Layout from "../layouts/base" import Seo from "../components/seo" -import PostsList from "../components/post-list" +import PostTitleList from "../components/post-title-list" const CategoryTemplate = ({ location, pageContext, data }) => { const { category } = pageContext @@ -14,10 +14,7 @@ const CategoryTemplate = ({ location, pageContext, data }) => {

    // category

    {category}

    - + ) } @@ -33,13 +30,9 @@ export const pageQuery = graphql` node { fields { slug - category } - excerpt - timeToRead frontmatter { title - date } } } diff --git a/src/templates/tag.js b/src/templates/tag.js index d5badfd..b95b569 100644 --- a/src/templates/tag.js +++ b/src/templates/tag.js @@ -3,7 +3,7 @@ import { graphql } from "gatsby" import Layout from "../layouts/base" import Seo from "../components/seo" -import PostsList from "../components/post-list" +import PostTitleList from "../components/post-title-list" const TagTemplate = ({ location, pageContext, data }) => { const { tag } = pageContext @@ -14,7 +14,7 @@ const TagTemplate = ({ location, pageContext, data }) => {

    // tag

    {tag}

    - + ) } @@ -30,13 +30,9 @@ export const pageQuery = graphql` node { fields { slug - tags } - excerpt - timeToRead frontmatter { title - date } } } From 1e7ee5e962e1bc9ba35082497f5206c44d6025c6 Mon Sep 17 00:00:00 2001 From: Jakub Vyvazil Date: Fri, 4 Sep 2026 14:08:04 +0200 Subject: [PATCH 27/48] feat: replace post-card border with a git-diffstat-style divider PostsList now interleaves a "+1 post" fake diffstat (flanked by short lines) between cards instead of giving each card its own border-bottom. Only renders between cards, not after the last one -- verified via a real gatsby build (7 cards, 6 dividers) since dev mode's page shell can't show this. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01HXxyPkq7xMErj3CmKamPKk --- src/components/post-list.js | 17 ++++++++++++++--- src/style.css | 29 ++++++++++++++++++++++++++--- 2 files changed, 40 insertions(+), 6 deletions(-) diff --git a/src/components/post-list.js b/src/components/post-list.js index e5e9411..4cc0363 100644 --- a/src/components/post-list.js +++ b/src/components/post-list.js @@ -2,9 +2,20 @@ import React from "react" import PostsListCard from "./post-list-card" const PostsList = ({ postEdges }) => { - return postEdges.map(({ node }) => { - return - }) + return postEdges.map(({ node }, index) => ( + + {index > 0 && ( + + )} + + + )) } export default PostsList diff --git a/src/style.css b/src/style.css index 49686c4..04a31c6 100644 --- a/src/style.css +++ b/src/style.css @@ -389,12 +389,35 @@ a:focus { color: var(--color-primary); } -.post-card { - border-bottom: 1px solid var(--color-border); - padding-bottom: var(--spacing-8); +.post-card:last-of-type { margin-bottom: var(--spacing-8); } +.post-divider { + display: flex; + align-items: center; + gap: var(--spacing-4); + margin: var(--spacing-8) 0; +} + +.post-divider-line { + flex: 1; + height: 1px; + background: var(--color-border); + max-width: 3rem; +} + +.post-divider-stat { + font-family: var(--font-heading); + font-size: var(--fontSize-0); + color: var(--color-text-light); + white-space: nowrap; +} + +.post-divider-plus { + color: var(--color-primary); +} + .post-card-meta { font-family: var(--font-heading); font-size: var(--fontSize-0); From 403b74a2f405ba1085ae82685d9ed549e7a67092 Mon Sep 17 00:00:00 2001 From: Jakub Vyvazil Date: Fri, 4 Sep 2026 14:10:35 +0200 Subject: [PATCH 28/48] fix: center the post divider Missed carrying justify-content: center over from the mockup -- both flex lines cap at max-width: 3rem, so without it the leftover space had nowhere to go and the whole row sat left-aligned by default. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01HXxyPkq7xMErj3CmKamPKk --- src/style.css | 1 + 1 file changed, 1 insertion(+) diff --git a/src/style.css b/src/style.css index 04a31c6..b6787a7 100644 --- a/src/style.css +++ b/src/style.css @@ -396,6 +396,7 @@ a:focus { .post-divider { display: flex; align-items: center; + justify-content: center; gap: var(--spacing-4); margin: var(--spacing-8) 0; } From ee15e44c77bcd66fb91b05296187244e87082467 Mon Sep 17 00:00:00 2001 From: Jakub Vyvazil Date: Fri, 4 Sep 2026 14:22:14 +0200 Subject: [PATCH 29/48] style: replace the post-page
    with the // EOF marker Same treatment as the homepage divider concepts -- extends the site's existing // comment language instead of a plain rule. Verified against a real gatsby build (no
    left in the article body, "// EOF" text present). Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01HXxyPkq7xMErj3CmKamPKk --- src/style.css | 10 ++++++++++ src/templates/blog-post.js | 4 +++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/style.css b/src/style.css index b6787a7..efc3c33 100644 --- a/src/style.css +++ b/src/style.css @@ -536,6 +536,16 @@ a:focus { border-bottom-color: var(--color-primary); } +.eof-marker { + font-family: var(--font-heading); + font-size: var(--fontSize-0); + letter-spacing: 0.08em; + color: var(--color-text-light); + opacity: 0.7; + text-align: center; + margin: var(--spacing-8) 0; +} + .gatsby-highlight { margin-bottom: var(--spacing-8); } diff --git a/src/templates/blog-post.js b/src/templates/blog-post.js index 0d77f8f..72d0a86 100644 --- a/src/templates/blog-post.js +++ b/src/templates/blog-post.js @@ -32,7 +32,9 @@ const BlogPostTemplate = ({ data, location }) => { dangerouslySetInnerHTML={{ __html: post.html }} itemProp="articleBody" /> -
    +

    Read more → diff --git a/src/pages/index.js b/src/pages/index.js index 56013df..0f64385 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -42,7 +42,7 @@ export const pageQuery = graphql` allMarkdownRemark(sort: { frontmatter: { date: DESC } }) { edges { node { - excerpt + excerpt(format: HTML) fields { slug category @@ -50,7 +50,6 @@ export const pageQuery = graphql` frontmatter { date(formatString: "MMMM DD, YYYY") title - description } } } From e1b1fe70d3c41f724b2bdc5afa40014cb98bec19 Mon Sep 17 00:00:00 2001 From: Jakub Vyvazil Date: Fri, 4 Sep 2026 15:39:50 +0200 Subject: [PATCH 38/48] content: add an excerpt marker to the auto-push post Without one, the homepage card's excerpt bled straight into the raw error-message code block instead of stopping after the intro sentence. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01HXxyPkq7xMErj3CmKamPKk --- content/blog/2022/07/auto-push/index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/blog/2022/07/auto-push/index.md b/content/blog/2022/07/auto-push/index.md index b5251e6..5af6b46 100644 --- a/content/blog/2022/07/auto-push/index.md +++ b/content/blog/2022/07/auto-push/index.md @@ -10,6 +10,8 @@ tags: Do you often get this message when you try to push your changes to the remote repository? + + ```bash There is no tracking information for the current branch. Please specify which branch you want to merge with. From f3dddb062b8daa1c4d291008ccd5f23caa0264fc Mon Sep 17 00:00:00 2001 From: Jakub Vyvazil Date: Fri, 4 Sep 2026 15:39:50 +0200 Subject: [PATCH 39/48] fix: write real content for the sqlsrv post, fix wrong description This post was just a bare Dockerfile with no explanation, and its frontmatter description was a copy-paste leftover from the Doctrine Collections post (wrong topic entirely, would have shown up as a misleading SEO meta description). Added an intro paragraph, a closing note on the --allow-untrusted flags, and an excerpt marker so the homepage card doesn't lead with a raw code block. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01HXxyPkq7xMErj3CmKamPKk --- content/blog/2022/10/sqlsrv-docker-alpine/index.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/content/blog/2022/10/sqlsrv-docker-alpine/index.md b/content/blog/2022/10/sqlsrv-docker-alpine/index.md index ddf1b2d..de0b058 100644 --- a/content/blog/2022/10/sqlsrv-docker-alpine/index.md +++ b/content/blog/2022/10/sqlsrv-docker-alpine/index.md @@ -1,7 +1,7 @@ --- title: How to add sqlsrv extension for docker (alpine) date: "2022-10-27" -description: "Did you ever wonder how to annotate Doctrine Collections with PHPDoc? Check out the syntax!" +description: "A working Dockerfile for installing the sqlsrv and pdo_sqlsrv PHP extensions on Alpine." category: "php" tags: - php @@ -10,6 +10,12 @@ tags: - sqlsrv --- +Getting the `sqlsrv` and `pdo_sqlsrv` PHP extensions working on an Alpine-based image is annoying: there's no prebuilt package for musl libc, so you have to install Microsoft's ODBC driver first and then compile the extensions yourself with `pecl`. + + + +Here's a working Dockerfile for PHP 8.1 on Alpine: + ```Dockerfile FROM php:8.1-alpine @@ -24,3 +30,5 @@ RUN wget https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8 rm msodbcsql17_17.5.1.1-1_amd64.apk && \ rm mssql-tools_17.5.1.1-1_amd64.apk ``` + +The `--allow-untrusted` flags are needed because Microsoft's `.apk` packages aren't signed with an Alpine-trusted key. The package URLs above pin a specific driver version, so if Microsoft moves them, check their official ODBC driver documentation for the current download links. From bd067e298c179e3ec69be227499a27da32739021 Mon Sep 17 00:00:00 2001 From: Jakub Vyvazil Date: Fri, 4 Sep 2026 15:40:31 +0200 Subject: [PATCH 40/48] docs: expand the Doctrine Collections post Adds why the generic key/value types matter and, more importantly, that this is pure PHPDoc: PHP ignores it at runtime, it only helps when an IDE or a static analysis tool (PHPStan, Psalm) is actually reading it. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01HXxyPkq7xMErj3CmKamPKk --- .../2022/06/annotate-doctrine-collections/index.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/content/blog/2022/06/annotate-doctrine-collections/index.md b/content/blog/2022/06/annotate-doctrine-collections/index.md index c5dcfc2..7906122 100644 --- a/content/blog/2022/06/annotate-doctrine-collections/index.md +++ b/content/blog/2022/06/annotate-doctrine-collections/index.md @@ -10,8 +10,15 @@ tags: - annotations --- -When working with collections in PHP entities, it's recommended to use the Doctrine\Common\Collections\Collection interface as a type. This will allow you to use either the ArrayCollection or PersistentCollection implementation, depending on your needs. To properly document your code with PHPDoc, you can use the following syntax: +When working with collections in PHP entities, it's recommended to use the `Doctrine\Common\Collections\Collection` interface as a type. This lets you use either the `ArrayCollection` or `PersistentCollection` implementation, depending on your needs, without changing any code that consumes the property. + +The problem is that plain PHP has no generics: `Collection` alone doesn't tell you, or your IDE, what's actually inside it. That's where PHPDoc comes in: + ```php /** @var Collection $articles */ -private Collection $articles; +private Collection $articles; ``` + +The first type parameter is the key type Doctrine uses internally (`int` for a plain array-like collection), and the second is the entity class actually stored inside, `Article` here. Annotate it this way and static analysis tools like PHPStan or Psalm, and IDEs like PhpStorm, understand that iterating over `$articles` gives you `Article` instances, with proper autocompletion and type checking. + +Keep in mind this annotation has no effect at runtime. PHP itself ignores it completely. It only helps if something is actually reading it, your IDE or a static analysis tool in your CI pipeline. From 1952d238eccd8758862c8b35ea11f8fc65d5ff00 Mon Sep 17 00:00:00 2001 From: Jakub Vyvazil Date: Fri, 4 Sep 2026 15:50:14 +0200 Subject: [PATCH 41/48] fix: show full text on homepage for posts without an excerpt marker Only posts that explicitly opt in with "" get truncated with a "Read more" link. Posts without the marker (short announcements, etc.) now show their complete content on the card and skip the "Read more" link entirely, instead of silently falling back to a 140-char prune -- which was never the intent. Determined by checking rawMarkdownBody for the separator string, since Gatsby's excerpt field doesn't expose whether it actually found one. Verified against a real gatsby build: only the two posts carrying the marker show "Read more", the rest render their full HTML. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01HXxyPkq7xMErj3CmKamPKk --- src/components/post-list-card.js | 24 +++++++++++++++++++----- src/pages/index.js | 2 ++ 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/src/components/post-list-card.js b/src/components/post-list-card.js index b3e4757..0cde797 100644 --- a/src/components/post-list-card.js +++ b/src/components/post-list-card.js @@ -1,8 +1,20 @@ import React from "react" import { Link } from "gatsby" -const PostsListCard = ({ frontmatter, fields, excerpt }) => { +const EXCERPT_SEPARATOR = "" + +const PostsListCard = ({ + frontmatter, + fields, + excerpt, + html, + rawMarkdownBody, +}) => { const title = frontmatter.title || fields.slug + const hasMore = Boolean( + rawMarkdownBody && rawMarkdownBody.includes(EXCERPT_SEPARATOR), + ) + const body = hasMore ? excerpt : html return (
    @@ -15,11 +27,13 @@ const PostsListCard = ({ frontmatter, fields, excerpt }) => {
    - - Read more → - + {hasMore && ( + + Read more → + + )}
    ) } diff --git a/src/pages/index.js b/src/pages/index.js index 0f64385..b72c80c 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -43,6 +43,8 @@ export const pageQuery = graphql` edges { node { excerpt(format: HTML) + html + rawMarkdownBody fields { slug category From 7ad051bcc19d5dca10414f26e67b96276aa1e095 Mon Sep 17 00:00:00 2001 From: Jakub Vyvazil Date: Fri, 4 Sep 2026 15:56:46 +0200 Subject: [PATCH 42/48] style: give full-text (no excerpt marker) posts a distinct box treatment post-card--note: inset panel (surface background, bordered, green left accent) so short announcement-style posts visually read as a different kind of content from regular article cards, not just another list item. Verified against a real gatsby build (5 note-styled, 2 regular, matching the 5 posts without a marker vs 2 with one). Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01HXxyPkq7xMErj3CmKamPKk --- src/components/post-list-card.js | 2 +- src/style.css | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/components/post-list-card.js b/src/components/post-list-card.js index 0cde797..83e7da3 100644 --- a/src/components/post-list-card.js +++ b/src/components/post-list-card.js @@ -17,7 +17,7 @@ const PostsListCard = ({ const body = hasMore ? excerpt : html return ( -
    +

    {frontmatter.date} {fields.category && ` · ${fields.category}`} diff --git a/src/style.css b/src/style.css index 8e832de..a595106 100644 --- a/src/style.css +++ b/src/style.css @@ -393,6 +393,14 @@ body a:focus { margin-bottom: var(--spacing-8); } +.post-card--note { + padding: var(--spacing-6); + background: var(--color-surface); + border: 1px solid var(--color-border); + border-left: 3px solid var(--color-primary); + border-radius: 4px; +} + .post-divider { display: flex; align-items: center; From 503e1b97563e89777f0e18d2c6064e4204e51fc6 Mon Sep 17 00:00:00 2001 From: Jakub Vyvazil Date: Fri, 4 Sep 2026 16:11:08 +0200 Subject: [PATCH 43/48] img updated --- .../bitbucket-setup.png | Bin 122413 -> 130518 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/content/blog/2021/06/git-rename-master-to-main/bitbucket-setup.png b/content/blog/2021/06/git-rename-master-to-main/bitbucket-setup.png index 10e1db9fa418f3f1c6b4366481a7ba7a4cd6225b..5973975bd4e68c0e7c75c592fa76c61724c4f92a 100644 GIT binary patch literal 130518 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 P4V)F_RAft@8NdI3%zmPN literal 122413 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®XL4b~M`s{$o*7F@{D&HR-G-vqu@s3>GlRVs6_Bbxt zYxEleD#!s64Iy|I^HaKhzfkCI7xU?ZDkn}vgI>&Di;Ui&g<}#!uMCk74G5XdHNHhh zPRiQEIu-SSh&Ye<=r;i9>S29)qQ55Vz7hDKa0CT@(=qNFJo>mEvWg8aT2Lbfshi`dk?czgz-cwkJ9* zTi@m7%Tc|U4S!qWX=-YG8sLMN4>BRx)~EMAU~F#4Pkp01!FqFcRQPT=0L3tbcr(BW z`bs#~?D@Y?)>NNKm{s$qi`73r!)`}pJY?c~0ividYEtD?9~~<{gE#6>z&qJj^ zCpPnKdK9>|$rRS@8PS%pl$s+c8cO!lD`6Br44DTmVQL|E5%MNyA@#(wg#&?>i`u-_ zrISwsSv#iBhZF<7cOPV?vi5NrgASgr=xGfu=b}J&SX8)9=Nh|lW{B;~ogViB0s_@k z*6YJiV3j$QU<0sz`;!I`Lrd!UDlozEQY2d}g4?G`;(IX@f=C?|D(Y$?6M6yVjW zLzIlRtEIni4>FWprBx*cIsix@mU^`4q=by&3%BJQfI5s%Fq2#Lb_Olls4YCy(9puu zR%@~l0st|~swhkY+b00ZXE1rd$?o;< zg`B&?Ei^JGw&c z2k=3x9iM7PTl9CsL{1FPQyYrzIZv*A&`YlAvG7oQUZ>R|e)^;xr05Ar&dAvwCdK;I zZ1OIYDi2mOKh*H{o+mm0)t3AE<%J;5^zMecF}qM(^0fr;YhzN0vP~iR&W8En8@^jb zc9`&1r>=3-1?NgT56SU`gC0F#P=IpSXi16q7=qvha-v@XjV|23Vm7uqd0fQVm0Zi{ z6V_8be8xV^VlHmLSfE6--S#?-31KqG^^mx8s?=Ks&O1>M_tY0~TCmlK1 z!8)yCkZ2>-QuDAD^F08EDtBeWR}J9=z$Ym?J@=4VL9ExGrX6IU+UGeLVYEDAHvbHT z9Wvp=3=GFNxy{=fbOc^zTj~Tx`prglCdMY@0Q-`8on(cXO$w8TOlB!s2@lfN%La0zkOD(i;W1iUzm1Ngj*;3n#f@!O!g^4g^H-Vs<{J5TNHGJIFfGAm?AV`#^JN) zAv7BX9`dEP!x;_Y6!+NB`>K70b`!LT=MjCbWRc`O)rbcP-cg zjh9bJc9>Lb!5)r?>}dxWr<9KXa7oHJ$YTpYmuV{OQbN5wbgOOK0cP$$As00}`uY;D zE{(;ipGETuvq`r~>tU!>Y%Iu>7p1Nw5Dy8kW9Z<99}i&dzpeE}DYy@VXr z);}RAPL?!Kak{X$eUygK$;(8_9t6Wz0`+I-G0e(Ammr=j+ zAywwRcKhng_i?j|n|CKzbL#FyMD^SB4!}P}pQRYaL>1?rLIhQwzNM%D>AJXube+Ba z7t+=F8`4$Xd;47?SeXtXXnn?G#$%;@mTtUM-S9#8d8!=+R~b-XLI_{*Q(jq{vR##6 zKCtZ5^ao_`62xrOrSumjK1;*Cfa5N-A}&5Dk2`uKEe?QK4Amgda6OOb=RBc!S_9D0 z2&g39q1w(#7qk~>MO5f6z%=BpzcU8EW|tGzHGN_r(@?WdvvxV+oI^+ViGwHn-|qS#dVQMC9dKwP2sdtrxA1uHYWfBOd_V2TnHj95d>Hr~pQQzk z@tPI!A0xx`ZOokytfEf2v?Ynxft$nv`pF?8q1m77k^}5}L zU9X=`0*RY>)elk#koYUlmwY$Z#8vZ!6S24Ae;sH00mg3vHo|%U}WIy zr6EM{n}tdM;jSZkrZ}A%z2<+v3<$In{X5E5-5K*-NGvT2o(O>=((#x*4HvHgK(MoB z)L+vY+ki;%bF)2~j^zW3BX;U^A`oO~K7q9Ouah5?3DI^<*RK)o2@n_q#J{zWF21?< z{)~8UQ0FnEv{PEUZLJG(7Q~p~R4;**ZVpm^mEbvy1-K{>btbh%m3a*9XYlXO0G~lN zbfiN($9qmvi`Hzj2#ob*WGXD44{*ol zftU-#kDVZNi;GFaV6w3}ARhZYwiHaRxcE&UWE$G!z3jQ6G5RF&ui*@^pMc^m?a}mI zl)ls;9liD*fJ;Lw2kED}VFmD9v86rE@aGH#@R+_snGu&$f$6(CJ@Ebh+Z|bMz+?jm z7yaX>0EhyVseJ&&&$doC>Mn=e%yrVt!bc%!5amgvzMOKW^weMQrfu7RnUeow6~qp? zo6WxoD0yoD0|-WAa=~E*55`#vQNdJ(mO zhK^)|+ia8jlfes`faethe%L|JwxBne(^?3!fkH(@2zCc31gFOx2YCU22pW40A_Y{L z7gH(N$E5v4VjM8LbVf^RUsG49Ae2ks1<1sCB@D>e0IgjhyQts+#(T(0<24}f1tGr1 z@kvMlK%80VfLL!cJ3ibB`^cjK>bS1F=-2YzbkW@kVF$0Qoj?CLG7VSYLhGj>a9qA%?1V?E8bN~-u2BJSygFw*N?tr>Q)XZQ_&KkaW^GR)}kCtiH6w#PTIw? z#0w08a#Z1H@Fm^>$)A^FdTSt=0}LGWUQGexZ8kzmAov0K2N;Ob#k*z%fczK4ggp(S z=ZG4%u>(uv21|p8TnqFmx&Bi34sEte*Y8k}{&7YDs7&0mm_py7NK1#-YauTU*QeY- zocAkdSsQZ;_o~VWyYn{|0NB#oU^pUKVcD*hZz~N1lS=p|eUcV%*6#y%|DUFF%&L8- z(m*UV4OB1=9i7h@ikb$QE&cg(bx3;Eq}7k?l@}Yc&jN;(5?f63VU2Tu+d*;ZT~d)5 z81w;|J0svtzjcXICD8r{g+uu-9Pk9ZlC};oreIW$b#1m*5%q9zYYZseY80{)If>7! z+!&8Hg8{NK2N)X2W`KOyvR)Nv4M-RZos+>ZdrSLAi;g>7Wg%-ukdXkGUTAVJThdnk zzm*6;OXWe@4xpIqmZk*vPuT>M1R&JL8krj6@&cELhFQ=w7qm+iXIMdc&}`cQXwVCa zA%VKfA^e&|uQ#jtCjl9TY&@_K8Ng{c>H5A(Q+6wdEHYFQ^7teNY$s$HZn->2C>YEH zBT+rTRYdHyDtiB=+Vefr3xxYwVDPYk1pQE6$}b z_p}KxI9TSAJ!kjje*~`g$8IGkOnvYAKrn@{(YDG2Nv0{FH*lWTr2qch+Sa)GVBx1D zV0x|r`=EUId#3@Ql=EdjVJ^VDhA)ih)_Ja$ze)h<=vVLi|2gbJFur^=!271CVSlqV3a4z~YCZ@ZDVfWq) zctd=k0G_;P*fPDKt0EyT&C=Og(&O%T_`?hOFtybYjXAYI`)(fhrvR4?ROr{5EXQog zRsb9i;GEmrVwkS#-FZM(qWhy=ptXHQo5yBOc9xgbX{0m#_*NNZc-wdI!ux3W27Sgv z+Zg285On>^m*d*TMz@j@3W@oPM_OU1899*t{2AjX@C4efVwPpV1+cZ#loRio+HQ$;8EAvo->65 zUYCr0M?1jM&{rGen0fo zY-VyE%*uW(Se7shb_I_b`P?YE&_CM+F3Xz9Zc;>!RRfmA-|Sc}Vxp&Pa96O)hgHP^ z)Y*NNlymH4@SH~kr+rqK1x8jfIKR<=!y+JafHh@T5rPG|(<|IObR?e7dTL?ePN)A=47+mjNN2TZE{D=B55F(Z7IR*tFNC#s;;qC`w5k++AOjlP;*%2MTOp z6|vJ&BYe?d>L=!9xecd_-lbodiT`Zjr!{L4Bqf@%R7+NI{M1FSkocA%kx8!9=q zp&BhgmM>>hLgfgyB`Rr?i?O0uBn}P71x($dq>GNPB?AQl;apZi(GcdB?nDZBKn_Jh z!#yfYwPOHSy?;G(=$Ll#FD^O;twkY4Ve(%fuzc=7pPFaD1ML`CK%ba|?MB40lfvSV zIs#m~6Sym%8NnisF|=uh!UgFk)icXOY7vz#sGO}!*Z%yyih%d?hZc_5A&=?kBpf>_ za-`hg(hA@xK<`u3X{ozAngM&5JC8$p-hR)y04oKQ25(t*K8DWjh3lisjlr&vcHDYA z!_f4OWfI)du_9=yBKH;Ksrpy%SyG!WV}oTAmZ@sqpejqB?udDrEch(#RtnpR+TQoLif80br@eV&67I+!Wwra{n$*12M)+lIg+Y< z{hHb(&E@St<8!*M6>EMenL^l00xRa2{cz@EtTUfbZChZ`YOJWCtV^Gcgk7c9^~rdU z_#TO6M#mVJa+ln!0|&M7grS!801quRytN^#2ShIsaNA=PTw3eXQ+896#x+gr|s9EHHb<=^EcqORt^5{pz|Chqy~+hK&IvB z>Cw*Gg+fRcgN-LJ0Z8Ij>2e!D*L&W*?Obg7@kYQk|L|*VRV&j>Vtge4|7!Xxpq)oi zmpO)FOs&mxeTO*R#@i0;0o()TK_>=SiqQaDF6V+vU{XO$B0uh!8Jnqvtf9t%S(D7q zOo|UV_$3&y710Leb9*p`;byyF4Ec?@tJQ$p+&=QXla7lsKO|Uu$g!Zx!rb14zPS!T@bQt~JKbe=XiHnjAG*C!teHiw z#zWpSR(T<&PJRplXujxn&37f7@JrtPnS>)@QjKUg+07cLd-t0EpE6Lxe?SlKS_M(5c|4Kkc**nzcWJ z8Dx^jRyy#;Za)+&%OaqFO66y6KETmN%02S-c*cvr>x-FH1;iu_@CS|KJ| zawvGCeY-R4bLk9gV&M<`o{@~*JC8$iN@F@@ft+bCL5(!Gqw{1ncYuYs++2SdlX9TK zFG`h9+KR39aJo5{r^DisX%QP8w;Tn^+A!%_)~RV zOYP<*pq)@*gVlq&<1td_jKuwGX#u+)axBvc3?lVHg+Hh?0Rnn!AwY|jtYlzSif>^g5-8Crjr#ahr2UVw-Yzcd1X;NQYjawq$pzeJourRd3}t z;m40tcf{x1>gWbNFWVZ#y*h-y+^39e}K zjdVWL#BEYjHnnqVa>VlXPW8m2hfdObi(kK|M?Xt(goW}R!avTze1J+gwpm%wsRky2=68aBekbdpSuh*f z7(LX`s?~ioLHxLiVSkI*f#N?5un3x2Pez1ddNelY0sohoIc%#%>or7=Yw({1szNR% z)=qc2O83woZ~8oFv!C$^I%1UXqblsck2o9`niy5h@oP`y{RtiIj_w?7TF+*fc4Noy zFbU0zO`2j7rRSOqQZ1sQ?s8Z9qQa&!@&=Dkqwc{Rm-kHa*!K})a|5Ru_77IAyq=8= ziXyE9wsF$d-9M$B!2a};qOY9EjMYv)>A);ay+_i>VK1{4$d(e60tQ|DD(gNN z^1Nt`@WJ;k3;#)8^bOF6SFR2AIePMJh##N@jjq6Y$Z2A>vHz zc>1bgfB1lSIMy%?{}f!irN#3E_1*OVeIp@fV#ut;i-&gLL_EuOI;3l zEzI)Y?K2o>&vV`^|#g+B4Dj&mq_K{Fxkdl8l%mR{8eB=F4KD_Yfwh%Z}QJ6`Dh*~waC+@j-k0~MgiS%OF{49 z`?!WZVM01a7cY4-4rk?&`7)h(Tt~a0%s4dl?ReXRO(COexUu^_9q~{z7xus*T zRE(x%mdb@Uo{b8f(In{dg-*ZA$X{B&oRg7w!yJgsJ|RPw!{IBkX`w*@!-BqZGR8{3 zM~YWIw*)tEdrsvx8*&qb!#3ZesvqvsAnSQ0$jzV4DMA*InKNex1d5_aKrS_Rc9@~k zKPrZZ*zqbn*n>VOY|}$N*wK(Fp1DL{wz$@&cpO+^D zp(n~p^MM$UcE6^3$gcHZP24U{P9sRvxqd4$;~$rOQnjV{XjM{rFywo?5t1mQO7=)yY4T(Q}+0H;-%)<_&_Z2gzt>3 zE$&WfT$*jWQ0)Pio<-??UOV{gGJ!q3_t<1OY-Fb6n2v^Z{iwLpzzW#0N5H_?yjb0OqZX?_y*9Hlh|^-R zw?s~*sG4Q-#PXFv$7Y`{F(@}#Qy-lz#2y`Tff1{y_w7R_gxPB--{{apY_&5LOcWwV;f7L;ZLR)77VIAzuedao@J$qbQIRByOiCuA_eiMquI;a0i zLRzpDyD?~Z#M_(?v${KdNA9X?Qdg9MTsTtVK-|!>{B&T54)$cd6(1>gy;y6I-fCKT$C1t- z^;1?ifMYwAKLb~xg6M!hZW%@tS@_bwYtR~dFTAtzq1b*L@*RI9ix*s`f>s_u%aQa;fkQv?1sNmV@1Ra@G{T^V$7 zo0Y@8o6Pf~W&>{F6GL2)yiHAdX;}H7eeT`tW%f}^`|XWq1vbaTRl*5@Pl={TRq39y z=0T+f9UJQcA4JpoKEC{w-OWk7G{fMBPSRf;QuK=HW}}Q%QQgz?MoAb2BoJw30j<~@ zZIb)MzS;_+P~Kd5<6>u3KE2dJ4JNoLZ$Diyn2b>4-2}`>1nTXMO78}&&nao~V4c(c z;_)q-K-~N3=_A`P!eJ->r{3tzi4`T@d-UEeFAiRTtn@n8i!?SD85X6EWz%**Z$%PSs%%nA; z%l|0qb!=$Do3EVz$skccHM#(tud}>FN7FkaG<>U_EN}o*#sBMV^)J@I*f%spl8CH< zp}|)Z&u`se%}yF%m=F^sDddO=U@#}gCWo>nd>NH639qV+^<`(sO2nrj&-*eETC|Hz z)D4Y9H#usz8he2wySsGQ4OZXJUS3JMks?%=E3{dhErmv{GS%zUE|+yLQb52^57Eq% zJ?maK67<@s-DZRgUjDJ*kNl#BpDB@wouUjg4@+3$%p}*_Z6eXhjZ!u}V(e*7p+iyW zgp}#G|4wA4P|dm>2+#T<$+RohhcuK;uMf&C+L(8+Q~lQuZ z5eBIJ(~B=*?1mM4i-ooiEzKuQhx@j(q8#e8?`GsTve`?L>@5M6I3Xw4{k~J9+T1)B zSbIeuWveYCV{ya8XccS0tl&Jov(vq79 zFd=A!TCnpLtAkjJ-CWCGp|9*e!is3x<_NSp6>& z@wpwtO!{()Ly$M4zE=MIj2Fmc0-ya06<^cf8yI2`1-KbXu+yFH$#9Z7{mj1@DR>7V z<HX{uSXdEgBKZDv&LO$mqyr{18>qW}JTS1w^e&4chS4dVp_Iq?b z6x)Ck_Yl5CYX5lZ|Jv8%%(ma7-TtqB;pW)*fdkz337BQw?$A?5GnU(p)-w0(k)(`g z{$9Gd3ROG>mA-d+Pg=w#OcK@A1v0_E{_Tkb@O!&j)2pmU8tOfx;9u`9L*ezlFv2j$ zu5(AdzLFWNTgLOxx?9DwZJqXq@FSPE9Xr~;MGNrExu7esZ(auc4E~#Y@c-w9ls}Tm zlmlmFt#8>ZC$YC)pRnzm_&?VQ<#ob4h==uxg!N`gY7TJ2d~tsBDp?PA^?OY96%L^V zi}i*kqEtI4;Ba_ng^HGsh(c-a#D{yz*9<=`oU7#6BEccNzR>2QW(E|5WD$bd6>RHD z-+GZyiG&ZX-MEX{HnuCv?mUS;Jm3uxHV5pdJ{fsY<> zy=huGG_kefXO|D~f5fg6h9-h<#(;dW`D*#e8>6lxIVG)E%U#;vG4`Mp9YATo!hJ5$ zx+F04;V!)Kn=b)_<LH{y-~-0=zJz=-vq8)Ox36oYqkACnEq2-bRMv{NrF zJDST$+=FI6f*W~$W#VYKVQr{pA38=)2&CG+z zvd-t9J2gO^xu4~}8+PQFxv*%P`5gG`jC9kyQ|8Gap)+nPktnfrR|Kx3{h0GdaOrEy zUe`(7iYl7_4|DGw)zr4WjqYYI97RO>Rzws8M1x4Tf`EW@=_*JSklw)xDg>lUD3Ka^ zl-^O1ZfF5Rk5UqPq=pvw-i7=8w%^(3-f_nrcZ~b_j|$0JbItkAw>;1D&ZRJPo@IT- zL|ghh-f^WubZayh4d$p?rb#%4;2H9{br*fGTh95UtaAb%>PTg1aLt-GRz36T2@N!wZVVL!P zTG;V{8xo1DLwiEje-OBDcyDiQKB>EYvj5fs{7CnfCnN~5YZEZDf39qMDtPvUYMArn z7u$V2JQ;62viJtL2qMO10$}2NHm=YBl{dFXM3BGwx^~z8YjvO4u&C%1p8!=sJ|WT( z0#(FT;)mwrVL<&)kM*_5Qdm*&%k=pcD_M(gp2%uS#2kaw^j&j(lGdUxQ2p>h&On8( z;1`+>7+_|m>sUkMAyZD1in7`DvDp{=e2Q0|m|KlJm8c{AF!A=ET#5Mu=mx4>NsY=G z$UqG8_MG%|zt@d@ZX1p*X)qm4g75;EM)`dltcmI$)B$jNeLN#E@lqcgA@^F*N$mdp zr#kjG+Hwrg^!QiqN^m1K>h-O@l3zmh|DBk*hjo!b0}(f3@Y(m|)*#-n{B6d=irU_( zS^$;690&OWBV|N7 zigv>>4X}yR$6q zs=lHALHo5E;#hjUz8AopBkqq+NLM_Qb8g>G;+#wQJ%G@b9=oVM+5A2ms$X(9c6?Ys zCVnf~fT6yrJcE&=yc0PkrVPH2s^L`NwYh60c-J}kg=c_kNs21LRGoPG$-3inZ5jVLiHEp;FP5eJZWefOm%008uz=YT z?6C@Ty+n%)> z&LZo=ujh1B$2+vf`n7k*9h`RViFnIb$3LuV8$^2h?m&}B#r^&n_>p921QHjsD+1H1 zza`_&L1y)>S!D8t-!$_9nVBlH3ka08;}bwxu_3#TzSDnuH}E&yRl(UYJxD-PyJCk% z&zYwcP03~hu;?S&L_uN1c`B+sRh{6XuOtMWbFx22^*(H0lD~tOu zEV&EwMlHFkI*$-S;;xIS?qP-ierntUd7v+Ly}*wBi1FmMTXWZWsohP^PV zt$8+N2h)*+V)x{hG&7s-?wy2SBmVN?nKQDcOOAkvg8cj@0aN{Dyt|^7BQh*1E26*< zI1BRT!f8Gd*kEQwo<4Y;Qve#nUahmbmCc-d2&_iHPOI7C^9_JL6pEy9wnweEfX;jq z`qiuENG|7$LdH1zTuqt}=0yF26I^QoAb(i)sw4L_0VaXVDP8DxkAEh}zIm)|_S|91 z<>l)}LZyRuN9{A-&BC9zq8`YN45jrrEM@(z&IDzr=S1S7>$FVT`%~?6dv-?Kw(K6}{AR*c z-7J`C7Jnp_EkC+gT1PMEO-4Jr#GNAH!_oatDEmP$+Iw!OjoQ@kny3c18?RvpPBgqY zgrmjhKd6L9cii(5=0U)&Sr!R1Qt{TS9MYbi2nzq%cYygo3=0gZt^EvCZX5@;64?J7 zEl0(Hqe#;F|K%4VNtPHdn8@?)ZU7aYL|h=e_)+ zpe$Hi)YEjDe^fVzx3;vreS!a2@lF`~m?b2jU(q}Ng8#mdEEqWkVJUs$_^fZvx>htN z;jRZ|S$5P#Q* z$6i0rXcbQ47yGZH^`|`X_?X`@Gew46axTfQT(4DZKUD=8g=}W~x|-2O zZu&KjAbc@DXIE8?qKVhKA{!xVS`1ttt#{Teaa57#`Y9g8Q`qbEn*!6TJFHse#P^TQk}I5y=4Gumy42Tw z>j&-TDZ zb^lyH)wY5R0Hg}(1wbYEN}F~B=(c1brv92;{QPeq3jf~paDb-m#v1#_i>GQUIVzsiO$4g+Wc zpstBBY36Kj^&mm_iNe#dLN_7c*lrF>d`G?u_>k{H0MkNkdJGbAtEjM)*7PdoI?@4A zht)2VwMm@cL~2NYs%HCWIrcKh7b?mYxN~Whohp74b8b1kul@v=Ah%kxL$&qFd>_AO zFQR;qWS5^;_%5H+t1eicT(=;Ox;kTo<_sAt+CpBdWcSUsD(xbNx^9L$Pic?4#&t*=OB+x3*^vNd6jR0{ub?>25(^7FM(Z)RKKnrMV zPv3-$Vq^IW4kIR~no6>7m?@EZNv4%RT(!B!;yJ$fXm^~X380k)X49&SdOTTI!@3BP zB^C6ow9Qr8AX0e+Cn#ytLw=)4VEkyQcD;xFwD?j-G5HUkR51dp*+@RH489xsCbokv z*RAx>(FmisxmFdjAA6%cak$ZQ+9*(#?fgIqfs(w^U(2!Rh`Xe8!ChVvBC3I0mh2o> z0Op7FW$pwrkD<)T5phwtQHSzHY_*5U3x(EkeZ6OpwP<2n`Om%%?;AaL;s(!(3bD(^ z%_LSAA34ceZ8f)Rr{7o~lAt2f8sN>WKE2&O;(0;}ckLFw(e{M|Cf8$*MQzTIOU6TeC; z-kfpXl#%1YeT@l3!b-H?I9_jlILI`EZH3NA@tAK0_7ndiG0@Bn6-?1I7djUV8PGVg z@jFZR4(FNTTDM%nIeOC6ero&rsOpm-wU9opLL_}7uZ)&wmZ<0S?D;YdztGb5p%;ie z(xlqV45{QvU69#RY7ao?$hT3`y;PMar9k$2*FBY4m_|$q;>k))mHNBbP5BpNFD4GG zx12%vB-phxVi<8$KZBlzSF7fq-l%s40vT4MZr18R^XRxt=kn?uc_#qveW=m23D`K| zt26k)uCE7|`&z6Q=k)W-VwJvHl9KamJF9a3x8Ht^UjX!7SKWm9^8} zo1=AVS$$l9whjs2Lx_{rLFIv<`V~fWIWhqPyyZ7HE*+SdU-^Xh$z>xn8kKwI7(VgF zvDbJIZ_75gWfF0%JScdUzkIUf-#*#@Dfm>d9F>g3jTU!fKRP+K%8s4DY{)@q24Z&F zWL-sy&h1vV-dP${Cwc+*{ap~nXf3F7<@0YiVZ(}~j!E%_{y-y_5v|PG%G_WIY;f=a zRaVqXmEXPWag(}zHVeQr72NSknhK6e_5cD=h})(XZHk*rVsry zx3~DF`Wh(Z>>Z!~MU)`hl^nKoUJAFuIPPLEEz@jFQf<8pMnX@(TGnw=H)D$)bh-L$ zj@s2pG}6Q|oAf?9HvqTZ8+k&jJy|^LR4E{J<6G7k2&n%otBAwI!i?;NqO%|Q>fDoM zBqy%AIM>y_4)|Y!*SoBigjP{uDKMMX%I>ZURF8RLe#NrB$ukAKOBo~Wj>BM>if8J) zf-25Juf)3ii@g-$fi^A$QAP&E_EAF|fkFO((#>uKea;_2KQRZdcI9Kf#z!ZO^=f5! zcg?+!@Hq=5k8>&Ouj=N^udkdxWshd1^@FUwG=yAoUcH~DV|%@= z)nw8%ZbyX>8~`*})8*G-2BbfDxKT@A{4jWp)lrkxtj$-AN=hvq-x&~`}fU69-Jf?F4i@uI@kGGF~^nZ0O1WG~uYYWaqV z6?K!itcII0JiLi-ArF6K==9m3{CW;o_AWXhj+8``ky8hO#V|7wxLuOH)En$ZMzpk? zWyKVz78t=;iRg^##rz35zxgU-?;QLIf8h>vX5AXRQuPavb_i3qXb|!%hW*_XFfy?+ z0TZ;ED+}Rri(3IpkW|l6Z@@tiF%crdhF$$et5}5JMW|gY$&J)LQXd;a0XRY>rtn7f zGS+tsC>O2_m>lVG9xe+|OKTu{rO!&|-YTxY5QPcF%T=trFkY@K-YpXOdc)#q`!J&6 z`)Alrv|6`Yr4G`R)~foJTPbYOGSqb$;XxWv!-k6T>qbm-h$-$Y!-CgS951N3&$K)o%uZ`Qm>_0-VX+7SAU-URi|YrHISC?%O^6tR*CK3OG_mPl zp_Bj4oBz&4dskPp0fq{5UZX75&8}tfuJ|CA`6#u2@A^>`3YETA`y)JC={&SrC$bnuOPkGX7&{5ydz%2=Q-d1rz1Bpg028p4>9HF+sofcBp7ZeDvLv zRNQfpB@oF$g@vcSDYKN`j_>Q=AHxiY-0h{wgy#*}aE+}@?Ws7okI)AU3o{OgxA@iu zQs%zdEh!DR9KD;TIs80^pIZtkVFoC!4RMGvuXWMI!apW+ z5^BuYSTaWnIETGJ$Wv%H`Kt@hq3#L#d2Nt8fgI_jQK^cL9QI@@lfU)I(~~SFr_SYS z>iAv(8C#YOHgs;|!gYY1j{LsDf5qY?NHMmrsuWHMqgfekdcbmJf5V zN(<3TfgY{Ex9`{CB?YyYQ9{;*vx_a2^=PaO2*Lm@Wvd6a3mH(c=YC=UR;7(%6i~I~ zx}Q@f>r#~_B8B=@R@3?GnBMTMPmeF4V>okwYF=y!;Ozua)cNTOFN0`&l+{$wwuxSg z6v$95b#BDjY0dI%>qP*7f7XQbh6W6Yc5yJIRl##ebyTsvvoc@EE8f)Gh4&Kt`9I zU2zN)XW^uWzeGkvk?CHsB$VTh8!>ogU8TrK-4u8n7S6Kn64kbXBm1~GGT`!DQZB|o zuAgloZ8WyA&9VRMjZZ)eBFJ&@f_x+*A}qD0UbEBo_M5ULwu}{J@kvn5fIdMTZZB}U zOrX5RW2)tIX}anFqrkRR9ZLM>!-e{^MUGT}sGt-_mg-KsO{BriY_!z=OiedAAms{6 z;!`3{gL7AF9&!~tM@>46A4~)~?vzaVO+K1v|8W@LP=p3lXF$Z@9c`Vuc(UUk~7M&;9c44Bqe4z=xVAe(31uY3pkh3lP)v+N1Yaz!o@{6mLlsM!Z zOk5fMU+&*%iwv8rv*qV5_exmKDGxa*l>er7I*92-7f9h$<+5Cc42S)~pKo(um;PwZ zDTq&Z^z6s(k4*%K3q1__OYzb51+G&F_%vhl9jfi$uU?%t`L9sV2J53V3!}Cf27kP4 ze1ES;-9I&h=0VLlMr4tbACEY$`5efOoE$drIZa<1q!gaVupTywgiJMW?j?d+!p5EG zuqg=zEu!qQ8KOOHuUN6N(l4)kea`^)*MxI5lDFkD_|4odgbV-%2x&dZ>vwq@&yn5J za$zIR8}y!clZ)o9cXr3IC#y&?Wh|@?Y@TUbcU@(QNddG@YJeJ6SdMace~w(-ySt=E zwO-1FF1CF|W`}AfD25Nu-nayyH-d-9qy$oI~9>*?CB+F+lLIneJJRrdI8skuYA z5Qs)rUkc|j)iezal@(LLUjn8?!;|mDU(nsg%CVzIjDxvX8pAXfpQ+8!Yk_JNI%&sA za1s#!OcF$9k@31CT7%D;^Q5>L@b;?=rx;AJdpPpk2zb=Q;W~T^L=;i=)9qis9i2FT z=4R=(S|K~C>86!_sc#6;R#?BXX8HIgL*A)8c~;K)K9p9bCln?L2{ka4O$*|sYEFRE zHAlNFI(B|n1m<|vsk7hg3<4kqAX>QCS6>w7>#7ZjGnPILzUB0te4Ns@-j(izmh&N$ zOGH*n$L@o;Vf8)YU_4(R$%lZeAkZ4RTmj51}A1J9WpELJ(3SdSncGmuGSS zcDIO;_MLWZ58pFdaAiaS84!X)4YpJb3)%6D@v0$ix@mE?3B<05aiO_=>z4hh)i6v8 z@kszdMkW}gM=Vs-Ri}tqM~>Ib5jnSzEqLnQJz!-|O#V&)NaZV_R5oQPv`hxE;XStk z*~eIj=U^geYRmqeNML9GdhQxaWS1>_RWSg;gHP(Sz&Xfru-)DJk?Aa^)u2L=QT_Tj zM8+mbhuqugM^5m`7`ETV8E;%1q! z*W2qih@kow0cG}~a>sIqsjTAg2j2@;{X`W(Rw;&5YZY(`I^sV8HU~yYzxW(WW`%c)>wBn!)S&;C4BZcrLwHs2^AV8->HhxZ z^^gvgZi_B(qKP65<|QHpko9qZ^g(dnApYkKgbN#9y1H*41|h}gegE8gwzmIG$Or)Q zbdTR<-nv$ViYplxRcaM@H6o1>Z)~uuxZj>R9hS2EDIBOaXa`gW_IjvjDjYsY5SjeE z?67sc_oSZ)N%Ks6b?Ujs7-T*XZ=OZUEj~i9v9=cgniU-bub9W^D|VDg@vi8Wdrp_d z$bmit{w)8@dzN%{k!-XcL{Nl#ZyUOiyC{=9^8lDNm@o7sO~yTQRx+UV zCyv?0Wif<7{lSu&g#0ZPd41Hg@dR81&M(pfx}2RVC{p6yV}(*vYz1CW^J}N&a6bjt zdM~pgNonKJx81J~=0F6so=MubJGQuYif8L37Qc9J`g+Ll0k5u*Ro!$G5 zQkX3|j!R&P(z%huw^xPqMHHKaN>YHI8)f}h?u(*lFn^-+3R@)pFaPf;+7ojrXfjH;bF0Mw*ONBIPVgRcTGU7RMF{eky>T1X0$1_WND`N7q=-3MQe zxH!=It(vBR9R9~rJY4#S=*3B-gV}nb4xo+eTnX|9l^C96e##kE{Lfz$uU^tBUzzwi z>lDIx2MRBckIXleuZZM@g4-5Lx(Gix+ZnC zNdhw)t=IXWR153ajpX`n zYiJFUtPVQ%Kvov12|Za&@+$x==M6W{whSAdtjkF{8NI%4_sQITH{kw=8%8wj5<>OM z#*owI^m$$!*s-l>d5~i2IKHR^ohgWRJe_5}Tm9{@adNwCC>!#MgJE~NQ?u_Nq`$C$9sijK@|b%;&Fhy0@PB{Av~VHuLiFZ z3dW7=*kzQ(2FTd@!%JI4{XZ@7Km(eB#P0Xs$F+MC(khXj3E<_@7P5a^`Qxcge^B>-n;lqW zq@fFz1NjT`GpJuXFI3SUgaPo3R@@KZ@<3;^Uf|m?Xu8^KJ%%pdfO6{v!bv1StisKE7MByDa%?^baL!YNsvIq2`f|rA{h2Yg2 zW8K%EUBh=Rz7&A%dorUZeX!TE%4<{c9+gF+mY;yF_&HrrIkK+LLnzLmQJIm{(X4vF z>nZdioUbyjFt>k9KwbT`@Dekc$dpTKv)d6t)rFb(s# zeBma@NzMgF>S~QwZX_2v)L$BQCsqSh(Ij-zRZ=GKukI!1H5FVcWH@<0XKO!vwGQ<5 zz#vZv(vw`LrE=-3XpPQ~`|_mpc|O4Lg}I5BLM6lFQjwY;JejAj_nFP`h{HRC9BQt&wW&-sb!0Yr}+5K zr}!)4ECAquc!;FKwp!Qj6+$Vf0EgJEuuDr{1^6f$AXkuukbc3Q%1qC$qJ4+$V%03h0m2bo9&} z4?!p7{%l_mm%TB)h4iO@r-g#Y7i)8SImE0Mv+;Ut9GWD4nE(IT^3@+>gi2#Rfb07d zh3WZKHLZ}ZZvH=we*I{Dxpn@I>q-3C3bRr*KgI2ho!g}Yl671a(Br1ZL%npJsBWX* zwv^p)*{xLnkKc_K<1e+XtA{njo1*H8)8Aj1p^wNJq{55Pf>&Nv#^+wG9su&fPkd=`i)dWfIubN4PzJ0!+Xi^S?&YiZa zeV1WxW`KzoO-m#}=c9hVyxj*rNdIhmT*e&ay!rDfcu4!4td*7z0@P=-9<)tKrPb?e zyZ2`3aWwYbMOjmG>#2n!uxENNxPnY{iSxory5EmAuomn*{Sl+MPfw10p&EZdKWDa2is5W<{&86p-K{f)?eFMRmsKtwkz;Otk0sV+Ts1 zTK;^-epVg^fKv+*0r4xqMaLBlT)Dzv6yr{8s#pk!7kmL_nDR_L#`>udCJf31jw|y` z`@GEF^%h9mMXx_GSG1Pq`uw_a{?Hjd{dakJ zXIBLuM|?tTU$MO)fUwNAdq#PVOARq zDb62_zWF(i03};$`nAcv_19YlVHx~$b`PZm%zx-{uz{?kyr%0QcBPK6ux(b|pH>9` z+@&nu3r#sk%?$%Fw%%YhyKsz5WAu zy@HPbvj6uf^O2TnynN+2B^-3TDxs~4b3eY+`NJhic#H$dXXw%vsTMG+^a zxusoaY_R#TeXj{yO4HXu!%v09Da?0qFvIj{c_izH1*xws$IJ`)QdSL$VN?1dOAE?R zn0;Ur455%6)?}z)>m=?S@8T` znez$;_5}mxb3B~V%of;DF)6IR{#+dTl;bU>3jF)EhtN@Q4_6DGuFG>(E`*RbsGBP?xuJ#K=G_00BBiXj)lo^03Fsi%xo%Z0IYYf!K6 zel3l!{iTxjoedUJCB!fnigE#H#fASNRYF*hQ!u_K;>{2=OtYQS1nVnw@JjLz3F+(} z7X|hac2WNV&-M+!r5WkdnKf;jel)t5AAPWZEKDz=_YR&ziQ0}E&Ix} zu6cZnyK|xK7M5Dm81vnwyl^#3aJpXA;Dn<7zpAc9UCfHg9{lF4Hors0VrzZ{Oi}cQ z&^XzTG)^jBugIPyMmNg2hyCWSLd(NbXO&|Sl(y5 z+Lwj5h3paziQ9wY_!I?B=fPR;ViO!^Ymc;92pQ78NNfRnHy^e4|Bkc)iO4%$Y-*~q zTAv?^?7O$CKtM{I{OR0TH7mVR2a|=Ve(!oAJsmso6@3It2F zGv6OLS8$iXZQJd8y>h#1=U8JPK~{)3)$ez?rar)m{wSPX&L`&dBb{hn($n5jWzdQRMWEWqr$hYZe_GjV^0o^!*Mc6=acA zqlQUM*4-NlWQVXFxyH*=A zy_Rl^@_Xgv5s@q*BlAD{^xQL;*fYy6c~7n7yCpqVmd7>p(`Mc8sK0|!G&^RGxE32B z8b6Twh3DB=P0J;AbE7w(vkiNu_W=4LKj3^=ALC{lernO{Vm==!U5 zm(N=r+ipP-9yz|_sg33$>Mexdd?Z|ADx~(mqSYV86g%hd4xAEhUA*u8^7JL<1@NO2 z-&Y>M-oJX@>jl`0so?<{Ob0{3)G$F=$2FlUuIvVn>;5pe`iuLxSkorO?Iz%>M5QWF?abvv4rz!*_`LO8S-#;_a3sjwC~6# zHZfbCH{qhYps6+!z1F!zOnmuV62BanF}EinJ8}4+lyQ?I{vjk#U$r z$eAXmbt+k$mXeS?N^D8C9+bG=Q@R4%sa!hx&T!2_?Jrr#71nFDd^#+$>(rQZVfFHy z=DWrN59k+}7dy`HzLzg$r$#I=dRR0inf56{5QDNP?Ddtr>ap$oy?f*cxB6e%#jM`7 z#Hn?p#VafrL*5)r5%a-9HX5czx*h+r@(n!PgxG_mRVJ*}>X92v|5LmFZFlg_hjwH( z8V_1ab4%U{l~*;)PCv&A6=V^1f7enae-IU(d}3N>qemU0cGIWp+%Qan^R7C< z%7PW@#;-b8h+<5t9W-H!d*W^7#B5pLq)q>Z*z(-mtfr&2{}K;cotZ3KXG85j{VF;H zt6FP(hP&K*6eEhENjNLP_v&nrZ=I;}>7;}o6>fF$?3Sz~6=A{I;LuXRC&2?=pje~u z-omge&gMIc`BHWl(nN1;j0~E*$;HL@nGgP!Qy6f zw|)-qk5k&cd6Tcb<@T$CJsnex&pHdo>HRAM%tuw*(8|~&y(&icBv|>i_zYi^{ZJpS z$tKmXC40%6Su@wN2Qx5n;Eb_Q`92+(i2F-BI0!q?nB?~d@*^<5D)2Pm9t1*d$?OqX#hal;g;+q>koSkapDp6U7=B#HS=lWZdL$1X6kBxNhHAPjwiV%i@ z;{>zz1Wwh-)C#gQ3_w$Svt1yMrJOUf=3{Zj zHPWSCuM0}=99}?>E+bCvc-Er9TCFa5fD8XL1@+8ZLhVb8Ancaj$VuytG&}{)5Qocf z$vEf?a_z9B`qneLLK37AkIW_Gp%bH5D%?66E^FE)ZiY!}HSF}C4j3H}y=g1QWzAXq zhf3R5(fJ^!K(unFfe=H?Z$*bM&Cp?8BeD5ns!?e!hs4V28_hR$H}o>k%{KNH%s9n@gLUV7qh>jpfd5{jH9Jhb#x` z2Ns*bJR!s<)N==sCch6(1-s8Q+h6Vl(oB4$}DrxzE5o}4F_h?|*uYa8qr9D^Zmvg%$w(=(;5FpsHfjf>re7%xF;M}}4TFDpz5N#H{NJq<4Q zeF?+8Zy9fUaI;!_j-0=;vh94n+E!MQAQ?pAKJ$z0+@*K#DbBH>&(r6@n>cywiQ>%Tsc|g)v+&+&lcCF}{&nT() zuG3C6s?6Pvu5dXel;2Ce8ejEBmpqXMnFzXGI4#AdEnQ+_(CbEy$#6sCIqP28i>;Nt z8tBTh%*_YXSvN+}6;(N`38VB$8DNs0@?UCvoLr8Jj=nVB@M1M;Zt_WK%^?JBo9wEp zKQmD2MH-!TWfmDn|C+nWwcbdz80Co)R$RS?cj|RNOG|96=Q2u5%dAOJcA4uPz~M4C zhXlh?x|M5JF=`QcdzvOkY>-mkT~ZX|_5PRT^jOFgF7uz(@V<+=J9KbSk?gRWTZXhS z@7bM~H{bbf{#&ol8I8saw%sPh3iiblIbe@zSPq#%q$gmcGi#Mh_D+XGzXgt-Qn|!y zG0y6DAAiiiA(E;SM1h^FbGL~Ff>NehgI4AD^7BnC9u>o*3~LSot-mx`JeJKI=U760;kr(^+ zk1L22pMj&iZ<)nmikNN^mwpXdiuJkr@_sF*(DI2=vo(+TfQOy!4BV$!f0bj?px?gc zg)}2jEute|Ii5SD)Qm*(PI5l|VK(q(Pr2R6Y59z-==5_lK@=>ZDm!X8jAyyf?bD&L z?<>a?e^5db+mlOo?0pzgmIVnS1VInCy;}3azq3FnhRC5JhgWC^Z`4KbD}c?K1=&&| zwe1wK^#wOjN@r>y%UwVmRekEcQO{YrZJ`x4RG>BI2q9V3)G-liKpAXC4Th9E7oLj^SDA#wr_ZOgdqIUdU+Vt-zUwQXPY8gA! zj8)10_+`t1FHf`+uqL-PpU4lsRK70C%^`Cy1LMYK>0NPW?GEFe9us4^Fv_#qR_+?M zl-|2EWH2G+j4@s|;;5X{5r-tgu-IP8f3zddagpn+c5C&Zl6?jJ#R-D3Hk@gfyy?Ep zzs1obyQsaQBt=Wkef$al>;+BlPR)NgndjdwefEU$K6a1tik!yW-$Ok&7QgIflQI!m z&qXhBy$Czbb%A}$z+jht*%AL+-! z@1ce~;~eAoRmd5&69g4$1v5EtUU}w#Ma@Egme3+4;Bf6HK6bnh-@HHMNa+?F#ci=X z`Y6|4N3m5K{$Y3HOQF8sI|5!-zn+-07`)TL$KYFjOf;3FvEgL*bf8132Sjyjg2@&1 z`5>V-<;vE{&BBm&lgA<_g$c7J$`ze!73NbVccfcMm?4z6fw&PVi(yFKPq}EA=-WOS zSJfjcFI0CTtEb^Ou2rSVRhhO|xl_Eib}YKG#cEoYIzJu!4si|Y>Mw@LeL3nY*8TK~ zjRA3exW9$8Nti5W`03_;lp;7?#EB5!{NYn+8)UqEOmz>PS|V+NRA%YBwsywV5o56Q zD{I^}C}+c4k@c7BTJUrIkUxbPq_WF+yzt!!a7A8(Ft^?-KcAu;Y*3Ru;CL~bh-WMI zKUF$fGFqolS>Hep{}M9=dAW{# zFKzCYZSqPgs-9&uQsIv73=bjSX?}D~@i|dsmq4G(pBk`IS+q7Quut{SoLf|3!wxWs z4h&%pe6{A2`p;c9_HMdR0?)3$Z_|TC$Q+$?&4L|OxnORQLw3FHu*{&{ZrCjvL z^0PWYdl$|3Z`qK-HI&(6fhg{c7QgHwhS}U;sKL48Y}c;F6XA-ax3haPrF9*HD2Nf+ z6m#A*yu4*owACfis$$r_6GmiN2q<^}0T%mC@JOL4VGH%r*AV@F8~5^li#E)0+`nz9Z&kJamP>wp^cGFLuPMe97g+iQZxF=wsYGQn!P4Xqb3>hZk#O_}=?$e98}?Zz34P%? z3sV{@WZx^B6b{>d|FpFB^&YjB2D#Hl(YetA_w9=|3bi9tPt2KTB6iXby$k>2TG}YY zquTQG`>{-IRXQAn-=yRD|gyyDZBvc2-Ne|CS z+i(z=!#XFx>J>p!m3UH5G4lb)9owP zZPNwE$FF;b8jrgf%dMJKTqJU2EOuwc)$|YatQtoX1%#^IQ|YiAa#T|6l4&grPF6=?3kq`RJI=)MEWl= z{8dRaPeP%yrkI9C78ty?j(qERyF|#API%11Ft=0Dq@3{tN~y=Qt?3a-DO+dj zgcrkEm}MZ5u82Q|

    yg9qxg0_@bn!P2O2Bgx2tzFBTT2SyfG5G>hyjT_3!Pi6l{_a|D4`uQGyk?rgG4;>(|=@-h;gTqC} zr|$%B;@1i{CAOV*+(^AP3T<_=)J6NM_Eq`vBguZVFFGFkNaT^rlKtk7X1vaN%#=_Y*|uU zG&Q)$*g!9geeh=z&yEvgUPh{ueO#uCBC_iG4xeTN6EV3cp0^_}6RbFLAfG9`Z4&IT zD2Xg!$&I9fH<@nnE#7zRNRUaXPo zxtL>zlqF3~&4oVpPZMnWFGqKrjaMr7G^*uG)wYY)fXY&Ir!IGoV3sWqRD!xSy50qM zYm5~&U^|%}*@Pqn3Ho7^UYO`;@)sw3k+X-*>k0Y!Zvd25(LNq4?@RV*%+VN@rLgGE zyU}FQS`_9P3dvpHS)llK7K74ILgNyz5!u4naqs8NUIC?gk?sXC?8$2L19hO4M9r$3|_z1xPwHOfrOdHo|wXALEYc7nlx`|2QdwS=0q0}RwOYPDdgEEgT=}YN{VlOM zIULn1F2}KA&T`Q8^2-g;CXcVer>oq=T*ojs7(NZxkg#G$cBohq@2hXHX}E?Sct98> zVXMUrT76t~A~*SI(xZcxvRqf5Qn zXUXlCdi6syo}KDI&+Tm3jJr%K*>K}RtTprJsPO;>?Yr#gq>@msuNa*x;J(1gm}uoP z6A{js>wk&7IWf5`A}RwacEYW&s2c_i7 zKFkyfLz6v{0SSB1yycg~YIsl8HyV17EcmUS2-#Z`6R zO&q+UUS`#_#;JW_eZ;%~Mj{}%W*$j$7JFO|(A`?~#zkiHoVL`08@2;JH>%e)z3v&e zI(VU4TL`3lw1H*!^0t>Rlo2O}Eaj}p;m$5gVTp~&C*ZC$&BW~g@TAWeF_2Vg?Y0?O zjt)Lz5w^#^TN;bLbCC-3nu@LrY?M0tJ4sC>ybB*wBTqW&>pC@YQr+4e3O&nT&}Z@o z@7~X=qA;h99rB7KMR6vt`MJLA`mP-#aJnk_3N>&cKKLDwv|5e|n``ZCg`CmZB?Wim zODu`_^%gejp^EiPBss)|O$i8A+ZakzFJBA}K5>Z6#IJpWQ?Vac{6y-?FglUv#nC zf;8dfS;y;HW_>QFO{|a%#=DBktUhM5fQ+RYj=Z?`^^f5~C`I^a!M__O3_l5?ggGCT zP>DaCh*WQj!z6tqfm78j*R42Uc@5GBT?j8)3o(0yOCTnLD0lP@i!U}CQx`T1gTJ(T)v@V5P!1N~&Vam5 zNXDJ^?rmkysvY&#K#r%BQ_Z82%Zv((xT`DBujW`3w5CQnRRgHUYIPd=bl9x-oLBe{+n(~mtrI3EkYp_=^)fMrRgEiFCgT!>b@TI!1Q5s z%GY+MPJXkAVOb$$r@Lov$-gbm`CUBjndJG0pZO8OqcSn;j=Oq~Phfo5)t*HSJQkC= zAK#H{NP?nowU(#PW~PG>#!1K8FOXE%f7?QMxX*3r&tHD#{_{n`TkcvcoEP}UE;2GY z>t69~U_d@iX=c!e4r+9QUrz8UOf`l|0*U!jZk%)>54?&=v^{D|dz@|%L?+z%ehzgVE$hJ{!~aE%4-QZ`^OeO%Y$rxe>7WN> z|64!*?H;UA_r$r_4}2EPo?ZM4#P8z90-uJ&Nei-C$c7G}iDEuiQ*j_3leRsa z)1Rguepsfcb!&ycTGd%@ysoc$u1Q_cQT7{XXcXt>0E7}~j6*(@q}gs{^IKIr6js4$ zaWZJ+_(n}iZWLdefbtvd-~H9#edK-Gx6J%bn|Ki@49rt}*KujkxyD9ae1k=- z_?KU1K!FE`_p91Hf>a+5_X?^<_(jOkt=coW>P(Sz_GwR+wU3OvlP5cJc8!4ie4)X9 z%b75h2{tnjE!+_h62uenUeuO>9lkS^cm*?HU5E8uxe^X+-C>bqi&S*m6orHRaQBxE z0^q6(gob{ZdGv4oEoTyl6;7{;reBWtG;uQva;c+%1R#pFt>E1eFKw20-n$UZEYp{%z5b1jCX`)PurS zl*fzKLwyQRrkLeNBTUWeTc=k`+`$?^AtK}|SkNi_`=yKZg7Wh~yCbY3fZJ?O7!M|Y zgVZ7gvX^UdlKfb^4|O7Yo^zi-`XV>lEAI9u6k1l!3|3~f?b_1?lMZ_Nn+Wy({`Y$F8F1SyAf=JaC5xY=bk`d zRGtYIS%D;Bk^RD@bFA5#I!h`9qdaw3p(W0jT6aPR#^;0Mr3K+Du!}n83d_Nat!JC2 z!#I;mVXf}jxLVgeb_t%BIc(a(#J)A#;o!#3EW=v|t^(sB5L}zA3foWY%tIveL3s!o+IK$vMAyqOg|O%C?j;6kL>M=`>yo> z3s!esa6N~=2@4^~7XId#!4{AH-Nh>|7}_mvf(9>Zu>{!zR3L0Bk3EpAy^8=t?PQZgs7IELy^C-PLd=L>z z2+Lkm)}h@5x|GF5@=~eCHYCS<;R0>n z)LgFy)Flp>(oP_xfrx1>IXKWILnx-n+zFb2>TbhT(2wiog&e@K5k*8dzRLF+BY@Dh z@Ybb}ySRrd*&}P_3G$nP9lY@g#cQ`y5b}onMiFsR!X~BWtKCYAyg!Umy1FBhV$s4c zF~FXhRC5650!tH4%?^WENw~xeXHS?%Mn&3;Zm(w}*4-s5b^nXK_YP|^>)J=1anudG=m= z?X~XvUTfQB_2g=R)d8U{YTa@*Ft+4E=;H{p3;m-jdJ<9SPH^cfWHdF!=1;@3+7kh| zI~|CM~bcg;}I=gKXQ_2T67p$Mta?mepl>)Lxhu@vfNpM$wwD$ zTaJDRc!2>6xAB@-VE;72d5kpkIxKbxF+PxCmFJ(q5wGTWtThn3J|+!Eel^EPxrtd; z|A`b&q^LO?YLUr$E-|CK3a&_{^vjuKXm8nENk>FSMFRP0}z%EY%>vvJ^0$ zf0aOeYj7k0i`?6Oo8C)RQIG0Pb5B9w7$Ylq?BH^`Cl0T-Kho*OK$iislSYt5JO-7=i?8-0pcPWczuXsi(l=;BbL7GmNU?zW zUIQnf^JKT%ao6eFx23~gYRd?*t~iurQ-HZ;h?Qv?IOY<9kW$r_koX?$RUUkdZ>-kivK|Y*^x4 z?62ye{H=oE=`lF7Pmy?rH5o1J2fX^xT-*T37cB-md1Smuxj=yi2{jJ4NpA_kAQuWS zN*a^n;DHUuu)w((7@ZW$@kP7p5;4AP2?wecpn6x1psY4;?Dz%bYs$_f@xJ^ZL2?DC zz#&J3}O2q;$xPpodoUkzqEWz2e}H#h`wLE@)IN#`>tJMA~ma!2<*ESZ6&%p zX>#emyU~*a^Om==jO(;)4G*%iHf`+;OE;*l5j?ht*M;v0hThHpLb4xv=DeB-x$WmS zq!}JzW<6(yhfi?b|M5^y_VUwlTFu8S1bKB0sP_Bz#UDEEshq0SyjwpSJloTsly=B>nvSxD?p1czF81{TdxEwJ%MB8Pn?oH=!EesP8qtB2XD1B81z@s_E^IR>)Hi zX4b(L`K@odoCwe}s}m$xSxL#vAx?ubKqw$6E(J~4OH@E$rN2aq3-d+xdr|bzzIfU; z#0j2+uGgsUcZRgbdik*Om-oUrXxIh)+vR7WWdn#?Mj&m2GJ$ae5Lk9XnE)K|^S9qY zMenX#e-`d={LTLm-0|n{XV&gIpxRwPc;TdGr3TTNV>EnRDV}%(`%K0+K48#G_~Kt6 zJ-~)FbYq0H;P)Q_qrLjv!^}ppX0-FNChLYTSBI_RIs?d#E9l--V>SyQc8-)pPhyb^ zE>bHF8tD`iO`ThSqnT!_jk?dtY3z&lW%>{_Lfg*m3&FN$BeIMf=mhyE^LSg!|+0uM(L=#t6cLNcQ?WtSZhk)-jpE_4=C5z^mIj}e( zMAEOMej-ab3GR*W+JSNu3=5O%LOOXP>~hr(4r$BS8oV54*$^RG2n7Tpe)O)mSBxTs zb5Ua?&rSBjyib#kDV(c$aj8bmt#M|}Xuu$PMJo;u-r4F|4mo^A$%wVAk75COC-1?E zgC0Z^xftS&_7iiyNpTQ0D$_=NWoFIfJk9XL#h2=pZ>2a{c1oH!=8a`K5*y_MLGAEJ zcnT-#md8={If1)m=2qEGp;H9l;pwps13QKz@0r5fJTUbf&I-8NjqB!EB-aRyQd4ztDOrX@?C5ZO^V(_Tg%0r1M!L-fiK_>q%W z!?VMH-^a|3@4&q)?puYKlu;a)<9483RFv0%P#qQ_>1W;Vf|U|QUFHmF;L(fstZ4$F#(BH>7cZ9eUUb zYkdeJ+SN*RO^f3+cD$HJ^`G=i1-u~)W0$*V+zHRb<@rRGJfFo&F%oeZo6Q0m1sPqh zZ%lCGe3E*XGIKz5b6DhvzR8jz=p}6Np+**!Q*k9dhMjYYLs!m~^w_o=A+o`Oa7vOb z>Zxwj+$b0@(*D`X5a3unGIsnq=%p}UZv-Hl=McIaK2|}v4q#=h%}}D>kV_?1*P%Hp z0hy!Z>_$>*+i(0PrP{r8ckMcZY-NjnT_u;etlKli^KzuA6zF~Iu7@wBghw4~99#w9hbkva41nqevP_kv|~g{@VI9D1M$`4Eh0Lwa3y5s9+8c9CAiP` zn9o$){G;+E3~Pc!a_uIID1u&^Ylz+Tv>YeIt}(JC3VBAyL$_og^iP~x`enq z!MfqFB9qZVU1+a3r?|5Uv~%g8PyqLQyF0c&O3q#B_+sfP8KLXp%d}ex7X5HC2K7P2 z?71_7kh(zK0!$McY*2uqA>Cv)<>bMi1uj#=@4M&yn_rP@Zmik)h6t`?wmVK7!|@jp zRtMJcQ*yx_RdxQ~d-W_t@zPoFDOJIePwAVaf(n*8u(orB&1BvqZe__-$0)B1NBWG3 z_xzw*Abhb!7k6osnWQbXqg$n+;F;sng1rfCWHDo$0uV&Ns07m!y^VI0^hF^u&pbWB zy@DK5d?lx*Z!t)I6jmdj0IwLA9ZBW_sL#nB4zTuKzRRf`42sUZfSp=CZPCx@lBv_r z=tV*gh)JQABhQ9dwn$0RHSHt%%$4O&+&_PD=qRWwKVBbezUc(#Xa{?_tt}zWsUNW} zI5yoCkd}$ix=K!N720REz-PJ7mvy>=1u)VDX{qN;OaQbcz z7-5{CQI0C26|fS>)rMwtM-%S4%L_GNv zSDNhJ&ovi#G98H(F|*v`Gi?uuj&=b9oMk&v1}4ebP*CzeUm#GzbI<7*6jH2XA3jb3=R6D&?5Qr;h>+o#oK@Fvo6e+7+3{NlmRamxqfG$7 ze5Ee{2;p(C=bVF`du8AMVSTaEIBtJGlAGz(_&}*(K4N21&$om*X)M}N^22dG}!3s~GL%=5fW`Ku2$4XN4L3+ml6Uw3d3syG`PJ;PQv20*>D9rjjHV!~@QAglx=Nn%hxd)l_jp8P}E zrqYGcI3wcSGN_8ufaOuE$x(uuY%BQJwkTsD$ zh(iRE3Uss!vK1sLfTTDbZMm^AMo%G+nC&HAg^s{8w>&oP#DlMFo}UIKLo1e%9chSR z3D+Q>8nOOE%v*>jJ{gdvm5A$GQ9)DnxIi#~+Bz~cBkm#0W`*chfKb%9h3<2~9w>Ci zK0$&M4GEMSKU=#>w5$(+Dw}qTRn1WL{rz50A8B@0g*;%Q1b5k4H*AAIzl);Sg4ot3 zX@KB3=!pq{n57_byR>88axcYE%ESWNmnnW<^pKjT+laay0x;BYc3^qS>%=irpcF0y zwZ;`ExK{}(9tLG;j9-vG5TVu`C3)HHF-jD`e$$ns$^cZ_6V>e$6+tkXZEfwYf*OIn zqqSk^`ygvp$X9!C39zJSgI z)eJ%?=6b4gEP^i~sz@v8Np0RC>e-~2N4?^Q>N}QxjT*jvsHq(FSNump0i8vHokg+5 zVMM4eG0f>l0F%ZJqQ}<8)m4{seHQojQL-$1kQm>o!3A1d{>QNzh55>Lw+nmXT#;Jx zYp0wTPJj1?-NLGIEIaX_0&wLH(0O#+JI|$8832_QD9k|`Z_pWZ&%Ay#bZN!7?)#<4 zG8qvRkgU`NfywBC%d9>VIG``$kOHc8C@47yvq|!RnNGX!$PGkrCWKDsxTWrMDg678 z|A^GlF;G9HH$S5Ae+;m~(EN0vt#s?pK4|1`HGmizKw9RB~A`uBbP|0#Rp zHq5gP%rYUqM)=G5)jtRSC{OkHV3ccpKZr{zE895>^%(n`7?g=N$h_C(s;#MJN2l@q zjooK1G7Vd{+wMN6o+$=$B`p1Qnz_Ak{G9iq71#8rjec8#UUux^^(?z#oap_bqDg8-Cb_}hwso*yX{_`s1p|El89grwI7htihU0$ zr{uq0@>*Kc^ZPakv$p>X9-!&?GMs6cS9v3$p?Y2jFa0E#Lq^e^x`w$&i2X!~TNXt7 zsHNIOW=A~6$@*_$Wi3qmtR`Di?RbRvv~gju*3O{P9Ik_3^NI0m59{aDE{_5i@QQ~i z+5d(HeCh99)M&r&=Qnc3oqE@jF$=Na$B>_%*kF2kLzs_P%?dJgNri~3K&Qg}JcBTr z@aKOR8e?9?EXVww2mY_#h*Bjz2jL)~~tGX+nQ!6A>eqC@C@L9UXZw~ZPffd+( zv^TA*B;|vVr!6ZGkaGI?J~YN_bD2CktdwOTd@G zDOHKE3qsAE-bX(;y(aegA0p*pUc+g_<@}MLj9(c8pxqJ4&9}B6fbU@_Mc9t-5&-rH zDqqM{>oSjKSxzbT__)nSVx41mqCne?W!Q8s1%ncvLl9 zj@I$T+i;9F(bCi>1VP0>_F<%tsl%yT!e#R!gP|C>etTvcVyWP8Eb^4Llgc?|6u7~c z*aA8)>G3(>bXjydNKjK=q_oXUh1Y%q%vT|(6dmluc6<8%5Cyn6fS<#ApWeq2u4=~w z4?tsCph4m7^Cu)6c1yWVX8;ou7Nws8d-Aa?D>P>QD){0{oqJ&tR0^Y~PD0agygR*8 z4NZzsz5cd|n@`aop4jDuT0tvV9WjAf118TmW68Mmz|y&!AwEE&Q@5((DTD zhUx(GFmM=9R3wL3eg9L`vv1jf)Ng+OgaUVfhHtkdx$A=Eqcx#W6-b$V@al)m>x)am zs$9J+^Uw9gq!B_mvc!e+9Ohm8nJgiD36J7qP>^QDx^q+aKH?I}kR>W_qRA z?JB5v{8bB{L-Jk}9+m)LeU&xWR6{VDv=BpT)42F1O( zo(GtQ&!Rh(p;=g7VU{n>@$qpwR z8nT~_j2nb%ivY0yh3$kxi1WzxiqYuwIWa+~PHOKkfyvwp4;X7hT=+ldg8=QJw|7UxucSfX`mdLPB6dXZeyJ%e@+6Ptq%whX zFh$>$QO7ao4Qzu$#^$BRIt{&d5iWUP;8*87^&jhJSvB6V<;D-&>22hO?o@8>qv4=o zfGFK~xa8tH+jos zow`aWBEo>!Y#t2NF*Hm9899^!M+usSgcYzf)3; zjLN0BJ&GWZH{e@49AMWD0%Xl2;$y-={NTA|ZXdKJRhDu{VN!u*3)B9PS}CUzEJx*AB#&cbr_{y%6lv>K3YvA)4??A;nhp4A@F4sKrDvK4 zGM$#3KRT~narYln;S9)MR)2h?Q<=9bDQ-3Nt*SkCWlTCS4kXQ@F0UogFcTbmo4SkL z`oSD61v~aAL$;UN{y=;PaIK_zqs*I^ny(Mmn?Mzx{)RUMYetjxxWtzNaatrrnGZ_9 zpehCJ6nZw1$bmmIA4CdNs5D2VDga&q!0C(9vy|pPppFK~MA^1=MAyHZ1|W(2yHS}z zDOf0|7S?Wz%Zl7U9-c5sh519f8wih~(iJ&y=%B|8#6YdK>8Duko@xX*hn$Q~kFN}? z$@+wN>5X&-W4Ug=r)MtfIblA@p!m*F`$xIT4$Zk&gmD3X2KXy#ZdE&{sQKF(1%--k z&DU%S#-IOOGww7qI7ya>bE)2#qxm)3eSTPk zLvGyD;EcVBa?SD2)AKdQ$pt1~3fehrqjdYG4-i(n&YBb&KCK<2`0o_aZap9M*IGq8 zdMiEj`I~qx1vRs)(f)P=OS(nSeY}R=!(KP)8Su6j*xyLJJpks>LkGFxX@P*fQ*kZ7^lzRTzQpx}V5*44k9o)_-7@ASU# z{*b!OXx7{6-%AJm)ZcQ&DtnIPG9%WetZdQjs3ZX&4^6 zdxVcqfD}sVJYqh7t52YTQg3ZaHa8~voayhEOHm>^jfh{xWjs6H=QsQD6cT=3jhF-s zasLVf%CRZFaNTbwE1!7s;QBO+G3lqDok_NS*LEVJrb^xPsp%(8+NTaook6ai3@uQ5 zsXCLxZSnAo$e^IzJ#E^9^E|ogNV;H|hsH6Orf793ai#BS7{J8&>jIkbALA9vg{(&L`S`3qlk zGA|Ic+1RogW?{H{&Ch;-1AO6|*^{v$&qv9Q*6-8o*FT6(>sg&3=GG(`CWYPe@8iuB zm#ljF>?a#pi2*ji!#N=M{dsiQL7KBO)^L$L4N~Us|f$ z^7EA(&=*eWY$aE^%pKylkzch6eaqO*cRO7?<z!eqYT)sim%E>B zTQNpT8TwZfm!~!L=}Xju9{rQQ80Nb|eIdcMMplMysJdx4Te_8*VM$}-t245nbtKyG zaT8A_KDSa0Eh*s_NG{~fiBJvAhVBDZNw2RzhXTT@|G9-w~w@$KUwdu5->@~olI{4lRIRVJya-eNIqfcLvLN}(N``& zqf*pnIu^~W;s2EwHa0f@om-QwOd01)d$#8dOP-BzrX1m>1jQ+t;M2<%vz86xE#Hpn z;}=E->bO_aqST054A$n+rO91r%ze^+9&;zciRA}#$||)-wJ%#5+?J;tik%K|tP ztJisxW=|Wm>LC~LFCHL4Z6zZSd6pxCV+X+bsWX;p7bPD*Htlo6Q$>$)tl93PL=95c-MYelPwk9k-z8%!-dPSj;WdLz1MO5sF*5j z3lZe4vd;H#c^iZ$9A}2u}{h6Q@WWo^}QjdP^?0lQ1d*~wl~_ecwqgnTlF zfTlsf|06-TPW@5T^8)5$~-PcyakbnoFGct6_tQmR$Q6ZWHMxaSNL;Xm6Bk z7cqAR1WX-whZvj8!jsLqhUQvQWa;!~E?S(vccAvYF80Txo)f)-of+T`bO&ciX2J7P z<9XK9?I!j7jdC*dGADUY1%4N!& zJu6WImP+cnZD1U8&l6oM@3QqTvvqdQy_SCM@7s~G9on_;+Me)u<|<)=M~t3ZH2ZS6 z&(%BEg8XTnhwOWsb});UiW+M0k`-&C%=E1|IXf>NT)DPR@BrDdOH{o|OJ7L*2$a2~ zMsM(sWyQN4?H!3E%QX+@MA%B}&B9@B1Swo}Dtak?GlD8P%OqkyeT1#oGibnN2c9f~ z$LgWcYhL5n(=u$E!W9BMd|91 zTR9}uxCx_u&fRf6qgSJ8i7pMSXbJ?#*pAe=vI6hNi;oRza?Kq>ow^}@p3Sk6JFlRi z5E!R4%k)~~d1pftz0Hs}LpxLrRt_z~#wT0q)PDEj%m`t6ZVR4-!BnGnZJuQ;z3TK_ zSIV;Qv=`TY5Q<2gV@YAj21d6zZnXeviS&$~iw=sS#A^~7#2e4<-)pnv zg>3|y)m|{|3FnySEmU-Ib0Ao{^h>l33bv%~4Mc+$6pf{JuR<%UK9+ddxYcb4nx7;Q^Cx68W{p^e^5%)xsIh*+ zPSZZgrGQ$cLY$gXYnp|&|9ms0!?Ry(IHhq(a%JSgR`LZS>!4UxK?ndo>pSSyx2tl9 zImMbXKB~gbaahzDhc*IS@eK~vOlXF=q6H|04POVQ9c_KPlt#GaoK%o+RRcSRbc#dH zJ_KC^2UvTs;8G%%TTdRZ%&q+-~FuO2!W$l{MyVp*f)-q#YVi)G`X$VJL>}t zi_=k=0h7GkvNdHQW5f zK-JF6jO4-%^T>?1Mk_S79Y0!mBAaTOK>heK2W?hPg&8RY=j@3=jVJ;{4w?T#kurWc zAz?F@#9rlUNpDj@dgkqAxHf?NBs4aY#c18|V1sxQEV~xC$92j;Cb+HqMz7IU{!MX0 z`VA$^kr1+PrI+J`OA_?-I!t^j z4^s@a77rb(d^+Nuq(SBlO`i(a4{`ApmzP?bUeHN{&!JORAPdjqQtru{-w6{>&hJ)w z3|)ezH>iAJkoKtI4BSOKq1W=vrO`c!7SWmxrXjf8%^#jUzut%O>B@qKJr~~niKA}R zqYl1LQ{=N4m_<8hm=ZyJatmMYO(7l#>Sax|KZo})?E}Ttfw&W9uuT==%rf9$uWGz@ z!Jm)R`QS|;BiDzDDm9k!j0x7dPrN>+7*T5S{FWL=Y(qomp>BE*_OtDS&vFWwyEYoG zAFrjwLLs+9cN$fWSu1nW{FJEp-UZV3Ibxxl)FK z1_VbIZYN-*2At`z>4iml_bkwEbnv28=XpSqPjhY^a*LP^M|BaT0 zTI)0qWzF?{ z5?#C39uXeC(%+C^F30nh>?Q|f18H5R2Yaxi+X*pV*ZXC|QhFA1)vMy5_#hnLY2mTc z5)%wLQ0V=XiB2YOnIV;r+#wplO64jIQnBXCDD0l2*`(b2#RXf)PHh*ELG>jTo4!e z;tT(HjnB6>#ay{jnd+jr&|N@(2&hqUMix)q4uS3r@cTnBl^_e+HFy@Q(5b9|n znC7pwYB1v^qx2RqtDx%U%B!8;^5%yGb#h$yR;HRhu?qTLOnUG1H|tv$9H<@fRI`%o z6H_iGcqyS~-ndTi__E8aHP?0tHCQ8o_~6|QLhYImXX_fr2)-(LJfe|q0N5PD!^hKPJbP}7})Z>t(v7y z+H2{#qFOXQY5BDz{Buf%vi11;4`ujPdx@vo5$XfD8Bu)walduFO@*;HgzE}wg}z0 z8tt_Bl~v>m{I2g%_QbH2zL6;Rj+_hQM9#D`%EREqPnB0T=vHx+pIh-9Kd_>efDjfo z+8^tr?(iLT#?_>1gJC0tS_+#7JJZvHnYXWO+BG;WLxMif>32DVj_K8P+)XhLzGPVH zg#WcjiDU0FBtj$GPMn6H9~P2Ufe?wrUiUzC40RgC(bm~@LL?rGowaswJAw9OaLKkG zB+sJx_nufE7EWKd6a{XU_D=4C)ZBr>u8DfIgp3Ub9wvIHz!I}F&iCpTpsu}BxSP$i z7nvGmgQ}?O^lA7}szK+L+1*<*a|3oamkXu;?*ys7)o=XY1>XLJ<}mH(CfNJ@%~gP# zIsR|N&3-(Rob{`mDDExno*8pnmMwq64Jqpa+$=2D0gRU;6Yw_}Z)xvu(!S-q#R*+A zJKsOC!Y|GBR^J9s`mg83{{9Po%yo;XoXW9*_dMT@YkNgut>YHzfdke6)lNpr2>5gJ z5DyNXpzrocb{9vlEr*#uTqV8pe-J9P1avICgwc8m(45TnTylTW9o^0^{r19hBXW{y zlZ~m>M-GSYXA65gOf<9E3&Cm7ZnFEcy z-bW{inDddPT?LT4(5I*KQ~Gy&s{ZMf*0_r}cy0gMfEE ze|l?cARarLhVNM}hyq9;ewVm|>;emDFW?W$nIH4`1iDZ6DW06@@XW2j=uS}yj(NJ^ z=l~U4hOZh5JZSRR?7}`}TdG0R^jOM4nyvm zn$Gx;t%K|l`oRO@4qYvP$H1F6p#<2mE|b<@6ZXlcy(2~}cK*=#V$oP*lPC|4ICW`< zcVk*aEG;1p?zw(QcI*@VB6CWeDCbPw**WZebbyo}xXihu|iNBV`t1PZWCHaO&Fwl?s!uc+ri-s5Q zk0BOSnxpuW+`~AHCcuVWLM)yN(R(O-@V@derYvjm{s5pr@O({^Jq~VoIa%g|aBcW8 zg;n$+u|0++p24ov##)G7A=Abd=|^JD4?xJ%c{*Hj5M{ywPt zx(oh3k*DnK&;>wFX}3Du*rXu(kn+eyPCgh)D4^Xt+!HJ+=RT4FPvrqQt9_@7JbVge z+Ea9hbt~8T>B+c~eEm&}Le2VK0@yrrD%}*86iPi+MX>+`qxJRml$)Q5MveB zj_)uT>s7qAa=QEc9qd7mVH!ZkaJs#-}4B{!ByDn~jQD=9F&vX(xs$sQkJ>+7XW!JM; z2Ohiv-(~rB5SawT79$lz9|3qOQ%}YQlR81?LX*o{MXUvkB~AUlX`nDFy}L@>YYMtF zCt8p@fH4>pG|3dZZeM7$~EF60kvQ<%( zK~XXxK{$V6oo6S0T{;X#X57lV#|C{1>2$7N{p&+c{m8qije)@i84$`}7d=3UolNj- zyKz_koTipa5O6&f7Tt~1xbbsO`{Q<18^OViNPH+P*3d{ zI66w(a~|&AYTxcCPf2SgmbA|t0g^fc%JI9%4O^M!sG*4BY|INq+xmEnKm;J@$qswX z0pIfiQ~+W~?rMtr?gV#0*vC5o^BkMv{Cnt|&X0>b5y=CIXiRmXwQ>H%_ljuJ!Dwt= z*oQ-)I<%B%+}9!?>vK!7OCTr0&S7aS6)SdDjeeU1gc(G*D7mX9orbWIPhz}E`_)^> zdR{GWz2a7&NbxC8D(+$cd1|+|=Feh9g$Dhc{Jpkh`xl?LXJxY1*?CUrHi!U5lQ$-P z5V z;BAjkAVH6ymX|F@fj2R5h+`?Rg)mdhAx{5%hGrAR!iJj6S7*%*{baA9G)9qDqp z0}*Tb{8QzkYZ47JH@kK!{Y0KdZCQd0Lg9cba$T-tsu0?@d}cH1XXxIUGnGBzo#PSkat$SW`!0GlmMK>hO&Q#Uu zb>ew+3K{=7c#-UeVtEQJcJX=J0b0`J z1whS?IC?U{fCI(lsdrVyYZ&RjqnwryBkFP=w2`**qpOuZ1dPI5xh)$D4sIVRZ-uVw zLJF=*b6azY2BB~6D#tA6%zc; zM@Xy$kMfDB`)aWj%1yKAA=3qT5G>zBy;n;H7XdUCutu1Ty9HDi&wB&@1L+-RS!)6c z1*mrqAmZV5!f>U9TWs@^LxarUQ~tggUI0u`>I{=$=iQZN?Y*#|+?QRf-~um+*imSM z4`)-#;T+psPu6wZYq`+{S!qY1U}|esFobd4w6=3B?*g5EPB;FB2HfcRZ_$9Zrjn1Y z(3~*T##qlt6hB$GBdjgYex5ZjrsO;%cGfCgT3}|#aYD9f>)o{&IDpdKP?8(7_eJZW zxOt~Sd%#hE&1xNpxevk2KeB3YEi7ESk_ApB1mNkCzILW>6eA`Jab{PS1|fZh+!M&# zU1r=8v6tj2pF0OtiIkzQ$|4ah>~&LQ^vqEh=?oE^RgY}NIl}>i zJ{q83$YYJptcfr51x}vnOi>p1&6{eC{b^wtNB-1zNX+)Lm)ImS+w84QTtP~ssP z9He$WD(iMGB=_Jaw31)3R#FST0mLwVaCm~@u6!;X%I0SnMT*S2N63-EUl?A((@F}O z&hes6tq|fuV0*s&P%Y;Ez^u%?lkfx5a_2MPp0hHblIH4?F=kBo9GFd^yTbH%n+AX< zVStjgI?6mnrV;nVqoJupH{utBaDs1|Wk04HhZTA2_Z9G{A&TR@!>}4F4$N^7xFM-G z^9>+1Jw6BYcjFEjC643=Ag5^k$GZMOvkh>bX4@`N*WZGy7BpiJ_Zsp`v784qEBjuc z3pIA6X$dv~gv}?jWIy|Xe4OygJ(H4q%6F!igWIH;K305DPUTUcUlCcw?a@< z0>nR>Fc-jjlmWIo;^h@z2=UF|)GgV*IUV&j^**?N`?*NGdmsBxyC@R#$V9W&?P~aW z`2HvLJpZe(LU4L{)dvd@Nqv1e!$C&cEifnHPX^4a@un2(Pl7c+V1VpW>MVHT2Z}J< zvjDc~c5aj5S-vD=!dwm4;(kQBn?-aKD2aCYcA#}ZKw$oaq*nt0j^&E)`L=eXS2r!4 zg6f;4oA27p^L)RGpMmn7w0LT!5y95jZAm`-UWX;G^~uNaNrJ6m>1#rt->o_Rp2N0z z>CUG096QJVtaG8PXOp&$UmF+{me7^zq`iah#O3(?HgofKq=eoRnVs1h-oEFWKEgTd z%a^nE!>0C3S!C-rxZ?6)CScGy0KCpL(f2SPec?U;7D)Ldb@JHUlNIIDrF&`CWnSIt znFXaFa2u^A{R#|(I<)F;`5-2>ZMU!{tGVS!Wnh$|C<{ot*n2aD;;ChCw?Ud3gg&p6VqrJaSD>WvG^EG7 zFMQnz0zAnZU+y?D^3bNhtIQ$fTy#(4NrM0SR4c|GNa?7orEvF~(MeyCr}%F9TJ5mz z6eVH5d8{-@=NvIHu@+6!{Mq+9bd0qQDyyixe=OFLv|33k(AreXHe$wH6yE{w*yjUV zC+G>!hVE0W0!8}?$nxPDQ9++lC#i3nBFm1ZrC<6uldUe*mI68?oi*Y=u#3Qr?gwP$ z0q9J5uo~XPa;{J^!F{YGjN{mGb(pa5ZcTyVo_KeKyDcJKe;s^#H1uuAit0`Dw|MI9 zwbHV`KNg;^TzBiUu&%yn!;!;!7a3FN+8XkN&byDw9HNqX;toCFySZhr$DE-*D^$4a6nb7 z6dF{5@Wpm_B05NO#fn-yFXpl~CfAv^e#CPl1G-uH*N^Pix)$n`E=9}9;GbRqA>@F7 zq1AK_v#;XEZi@e`H_ql-7oiq-XI8%^z|KZJ2$p|fRGlF0DuB9?SN3TTqnkI z)Dg|{4fub3lMAhmfacBuMtmokwXU6xZuf-l*|5{xaueLb`YMo!B~wEH_(v;@a?$7> zwxZnZG8(||wt8?jMR$V_7rNa}oDUGTY-Jk4J?N9RE0`8fy_dO;1OS*tT;YC*&=TIW zqW}+>1&ES>zX=t)8Z8S!B5awh_SC7Aae(aa3{QbNx5&vvIkmjsCrv%_1KQsJYAU#E z2LV28ZooANLQZ1aZSfSmm=@AO5fy3(L(S^+elo8y;7n<-pXVu39K5dzBtKPdkW7a> z!nW~AWVV#8B8A390EYjG#F3V4$|^v2bQk>CCEbL{Gvc9RO=uDP`N23(2G zwYOIytYxq1WB}#=9FTxqIbq$*vfU|nNMVD3N;B zz4-=+SAgt{FDHV$3pl5)|IB@2dERr;|MQH1v<2u(K`|T7D@R{2e(R%w3IQ=~l~qT> z!3<3bZsN9AFs;G+DRxIB;!Z2I88O{* zJ8_-^5gaHjxvkV3I65hvOoezFKBxm3M;rMccFscxNo{`Hl}$AX#H+3 z@xLb(h)1NW?H2){;>qi=UeC&%B6jc`C(X}@ihl~MD)ri8-4bvE;$GW1&R%g@%a?DI zYEvl3;Q==ItDulHfj6>p7I-O`|LR)V$?P;rhT8`A^vTcS1=4fn{t%RAb!)l{%-I(Q zTaSIYYuhRy4`eoOSus?G#tLQOIoL^d^V$sL#{xGsb=?u?0znrbezX^uhue>~r$BI~ zC>mr|s0QJ#tAtF=G^RM$-70=;GsJJe4M9lQv{06oP?N6S@FA^cRfKj_G@ugllt%{4 z1kQQC8|Ze|C?rCT$sy^Gzptv!$-UmbNcM&(v9nJA#0EE(U6uNMlY9U*cPiT6dIPje z?6u3KRsq5}NQfwU9B{Fo8`l9Y(HaZoP|`7jHZX8X2dKtuR^%OM!JhV2e*`2Ru=`$8 zbJ{Rs7SWQ);89Y*XR(G(qLQfHS};T%MT;-M!+-er(n+96+TjyN-stfQhtvm#P$V2D zMDD+RvV321s`@!?dKw%SLjDj-4XFT1)GJYi19X)a18U8n!#52RaSK;!9V1)B^8#`~ zv11;wxV%l8V0%!7!Vv+D-3ccFLO_XM6AqD2(qXuVdy5d}tE(v^Ge ze7w7Na1?OjFCXndr+P#BnlgCPI?>|GlmE(8R`>V`t<+HnEzZXZSJomCLt`6==RXGi z&eXhLy0=I*k@1i|15jf`!^4!0!QPF!Uq8MFTfl9LdP+1b^WKk@V@u zbE?W<%;rytT4hXq-#xg#D&ApA_l3&oOIc;hpCU%Yr4DBjisiH zdiR#))}m`!QFwxOo*&oVE+!^>ZstN%NHgqVwA&ho_>GI&`)RazcPRb%by1@cQA1Q> zuIBuUDJaW9LJLrXka({ZOqB||=nsVv-9*cJuqSj87dG`vjqa$}#dv@lD-kAHoG`sQ z5_0ZQ#NogvTMBF*1axL}y-;c>=~1~%kLDgal<<$)5v!=X& z>SvSTIpuhqt^y1WA0KaXf7h?2)AKDFYgD+T6bV=!oN zM1g}E0`cHIrBTqrHMYA%fUbp&a52!-EBUtTgj7<(`$*asiY(IG4Kpl-=CsW&GX6j! z2e{DM*tOsG8Bk>^z*e((G2l&+*Mta2@>>MdMdjq@cNyw;lNu>r*aSw`Q6{d;po}CV z;BXWBjc{tMk;R;IUtTSM9zWg-whz%a?z%$ru#LcL{#UQmT_U1M^dOP_zJNBp zbcV31?{|mdgbC}i8~u7R6q=RT1O-gUwr&8ydbSz}rOTOMd5lG04U;TxQI8}vA+cVmg|v;4 zBhDr;Y|BH<%8uBjynTudEz9MpNes`|7tGtxx`0fcCt80E1%Tb_60{{B#E2s&&T=E6 zoXNF6c^%W+^y=$jMBfmx3oUJr1jQm8tGMM(=77BRGFtORfqvr zfEkuic~*W|)N=aQ{sFcTGS)V=dtDG(FljFeGFk_9WpKWmf}6m}V5qS`cp?J#K?G$K znl<-qN2+`nHhtgF55`%7M+KUzHx;vqUW<=)FAYOlB(z?{?sc=*b6W}#q?j3+wHI3d z2YtW!4jG0|_~T(WM}qcDz;9q67DvIZWvE&%{n5qy(G0|T98*G`t~qv0^&Db%4;^#9 z;-(Wj(T_|p)6#5LQwQFq0APOYQ2|Wc83aNZ73krYN)!B5d;-R{Uj970E>0b$4G^b+ zU!K7~XveId_t-3FI(bC!=7if&>gD@9ci`KS%t}Y>qOOR2a%tjHG#M}n} zKgTFh(pY{i1syFCC_r1*(+)IzSz*fZNBlkgC+842iU__6Z#i`ZHACA?(gZVC3J~Zm( zKuRctfDo`UF_zy+NRdo`o%|?1scIJ)YJNI7)$Kcc&LSraO5FH#YQ=iMwTPa@F|qD+ z5vuE0GPs>2M%3$_o-e-bKTD^2&$iWJdCGs_B%6vV4*cSHWv6HK zoDh${+`lI{NgCTlUa-O z&lKUOE$aV$mq6aQaC;cLIzYJfYx)wQUUT_&J7Wo@>cP94x@N@p2MD{N01D;v-?Q0b zpYk!R4@}KXr65S=9Tiu`CC9kf=S+}ukf>DveP-}5;}+_2aZ~XD`iRQPN8q;bqyNLg zpMPcR%x`0s=ly#T;QuOUxN`6RzAn+19i;jQ^8!Gx)`yRI$wRCzeiyK6aT1y%!jl z`SA54QMpUEp{&)u$Nj7)%Ry8Tt74eHpPd}`xC2A4+yudr@@v+uB)50lpgFY(8(Z4^ z^8Vqs@0B7pJr>`NII&f=c(1%DSla+*}Dzz5s{lxkA~fr$&?4Y^4lFkJxr?rx0T z4<9!_)DQtD$1BO#h3$vo13<6&jYSlcuAy4#&AXMu_FGu?0xfo!uc?-rE_&_D##yeN z{BYrs*71z_>x!+;>1Voi_ctYp>W)0RcM-A|gRL zs0c{!L@7Z;x`6Z=upx*PrAlbhn}C4yrlKGq#LyxwfIvcT0YcB6Kf3SkzWd&L?mhS3 z?|hs+XS3NP|EJ6|&&+RrGxJpijp`}kQiY##99LEY?j!J)N-R(k*yS%%khv>oD|Tt+ zeV+ybdxqi8)$${jv_kn-X)eCysHRJ{evpd0swq}!=@u|F+b%DRoe#=Yibb-q*jfYE z5x@sEf60;k3*IZXHNc`FxjdBDefSKp6gXkP2^_8L4c4Txq~A`aZ~-hGmSrQh)kSjy zyO>Q(*qe@INR5_8#qQ06$h<#sDRY_Maz3|?lILhrPD2A*{Pl0Dz~9$Htl4+%^(X)r zBP8U0t}^qV)D&b09ux%h>{iW^&Dp+#d2bS2fe^{LH^*{WQLP)WNZUrewzt!HjF+5) z?vO8p!wzzb95^kzGu%?`+k4a9`3;xY3KLth_$XY~2LS9o1eGcv*8xt>NGYiYl9rhH z%qm>HWXw`6!@w7HZTW*;#PSz*k@8iKt2rPmFHVhvEdh^!v=cTv&-L-5wEp_R4~Y@m zaVWm4P%B5J(xAD;;!23Ge4QwHZT+*RZ+yssg7c6sOMkbnSpifARfqt-ic@=t2Oh`_GrMxEU198iQCl8KB!~v`AcMpDsyx> zJ$`m#wI(!N|4rG-9menu3o-6Gz>L7gD+$th&9+)?wi>po{q9cQqmyUSQxm@y;URom zN@GU@rUA?Y^5T=zD-c5Lu=-lI!sv(47664jza*m0@~T)(-mxd1~_?# z8X#i|Ru zNNBs!|JU&JnvY>mccWR%TXRrrLU9{ql+HpDU9NSk^$Nfl{$JQcJVRY)SyH%)A?L?D zkPL?Yn&lzT zqEO$W{{1_zUXil-u$%Gvr_K8|f5!F*=wAJ#cd#hj_L*o8`!<1)2RU~aL)w-d8keI~ zHcQD`*)(F6qU9U-zZ}kPE70@iHyF7#7l=#eB3iY%?NJX3Go2c`-d*I7LZGOsx$5;* z-QjoXxHJCUP9wr%XVmCxnCQ6$DCTmGHqjlf=RjPrc;J(ol$S9vvbMT4*>fDRg`_Xy z3TL)|q4|>?ST0_|nB8)*Efy=eKkZ8`&JWkFt<7+8a+XXeHgd}s_Y99e)2LS2XT!{1 zc*Q#~+Hy)LN>u$+cxS?3#taLVEo{8C&(H*Q&Li&QNkb^5fZ|rDCq&!UFUYcP)`#+X zeWdc`>Oky?__hhQDj|6GqrC|(8>0O7zVw7bnolMJu9D1@u76Nzm=rD@$r{$LgpXXw zFhmJ>T)TFC4eCT5P++HBzn+W?`_XRXt3E%!x~aKFY~RZ?c>BTaDpR%%94D?1AP@X7 zYXikY5$ojG_lvl#@1Jekw+MB$6fR=B4(yA7VrCn*UG^jYcK-zYJd}C-Z~gNERnM*` zjfWbcnIz(l?-)zJE6{9+tXlHXyzXV`QR;8O+A9uWrDlPokuH4+mq9GF=<7zE5|$-e zlRQRhmdAT4G>qrNHY}`OogH)fVgIsiVB*^kKV9y|FRi#PR$-fxFAG%HpkHf9`V{O_ zw?Xjban~^O0OBrKGt)ZWPUeKgfO46+Y@Ujg?bAE+Y2RdxDB~^cYXluVSAW-$nyCEy zp*!%Qq6Er?TRE!qxy}pKo;7z6OaYZDNt8Cdb^kNmjn= z6O)GPG)2XMAup>?7-N*Evj!S|Gc%+fuhUYE!1X9rv=*)qyL&MzP`d8(r4lNVUQ-Wfmyw}rjusBj(UzduZa%ESqS|nVKy7Zh z_KUCt`kEwKQ=>y%pM_0G6XZ6|&}7a7e-_Fp?}3JIrI7D_kV1_=b7s`D(}PS6fV`8? zj(4lCFX)$_tDiTgR2aIZ)L&Wubc2Y#d9AO1BV{c~vdDEe?u|s*Xp>I#a(!<35_J4H zYpGdb=ShG0%r(Q#b9I5pI$Ptk43*>zbMIw~FPZycOq(0eahXI;_Z+zX@LONMNwh)P zn37i`W2i8DEElI{d-M)U|CI_2q*vVDdq)~J_FjMDv+|s9^bBh7Ri+4zUDQ#UzEbZ5 zg^QS@#XV*D)Gp0EKHNDvyC`2`J09k-pyp;tvbhnaXLrlnlis7G9b2h0$XI~cF&yVn z)$cGeCT01(3@w4p4-PXX!{P|5-b{=wpMQAmTGcxgpRz!G9X3W%wN`VLVlCd%%iHX* zupq=Or=QJU(Sq6B7MqurZIJ)i66^5Wl=su zjN#0F>yYaYwePI9@H9i!=08w6J>D`N_)+ zEQc~;R?m!#%w3`sWDx6H@_Md&NmcVN_8^;$h|UJVxDzMnpxw4B3K@?EfFIxWZDJ#b z`viSBBRV9GzyZ77?0+tnq1Wi0745K7KB+_-hFK8xvdjk4YlwTz9m zfkRpUN0-xZ-R{-i&+~QN?_|On25tIZe{z{oza)8Kz>BWjjr=v|f zEj!Hc9}YmfiIS3%>dQ-IvBoHR> zE_o^V!CT}Dw?=gjk!7W+*#{1b&>+%y3ptPZ22>18R-TUvMQhp8^67g`$M2J(9v2(& zA-2x31>`>Z%cAmmcK%lWEjc>5QI1HGHT zNx{UdtQ=&J4azzcQEBt)Ey(wDCyr1G;)61l`sBwMg*?IvCdJYTF)qmG=Gb(pLdeP6 z%2PlLNi^!Pn|gBDQX=)6@`<_9N?OzSjGSJvqr3!N?{IO=X=tQmr;Uq9VW*cozI0>YYkdA*}t{L zDWVYZGOxTfKruWxu+Ah8qi6kLkda5MuI3boy zdMxIeLETVJZ@;goq|n+rYSg%TOQ^HO;sxaydv=D!8?`WF0cZXBYCTXX8ED#DQ;J@a%o#?vT&k77`7k4w1dR2WkHW9p)@~yQo7c1}OuJ_Mmpor;HDg12l_}4{wm_~EVV-A)TTyg-}QbY>1lpiaj(B$V5AzqktzCo)- z*_%Z|_N4h)kf7U3MI0wCAua2W9no1#>~9<2QBL616^e8umhu>x70k1Vp01zgF2N=HVKD#YGoL91;9an=PCZkATG0Py^Kr%6M~S23UwpgB zD(JeD6N`32Rk~#89!S2>@^&ajKLcLY(BW~)`W?Vl>&Xai*sE&plnX7hiTn}sv7 zHP1foMCMn^_c?I2tOTrRfz_Gw$KwplJI{Sg>9D}*6re?DtmvLN^@IDFlNrR><7QhU z{bFD5<3IEdGd0t_$);i<7rB^eDh)vh()bQD z3UDcUVk={fxxZZU2$F75`HzDex0Sb)7|MPVl?nG_9oIdRPZMm1G6%de?zT5b-~=39 z!XgXn@|WMsc2}qm+bu`67Glj-cRsYOoohtr0!KB@Vo z@aj(|hv7l+FFk2Hxwf%gv#c4~JJH9|OLrjzxoz5rpQ85DPl5jibrSXwJe`fl*01ID zcQ$D60G|kH&j!Tjz(ljIDc?6h(d7r8C;RPyty@URiNejXnpI@( zTU_9FmeM8)muN_wWW)PY&|Ch<)V)rw`m9UPMR~KMW>19{4qEdnyb|V8yih2!y>?i< zFt+r*EWCz)AS2Fo%rG&#j@WX`OnF7@SHVhCtRK1IVy~u$$Tl4N>1V$~ZvoLxa~W!d zq@jkHrchyu$)MP@=>(6bG<9TT#CVnTbEzNP{%lJ6G#yZ%w|DVyxXFh+^N}~G-A5x{ zi%W`vj(vM7twfvoP;}ylgacS<>PqJFL8jLq$H(AHhX?WmZ?)b6U2;X(&5OuZAe=kq0&Gzn`ArS=)OyMpfM;$?T?m&=2Da>h87;r?nbA+|0s4k}RN> z!_>VTczlrBrF>4440sim*>yH;&2+-n4Fv@ZxEs2T!S3AJnd@F*GHy!ZxujH&9^?|f zECuUMdCmis9|1&=iz?Usd>YNTk6$x^1F!la;IXd{F5O0*jGd(6Dp5Mvr=LvQ>-=#C zD^;*ho$VJ#6e$+_jZ?VzPom*x@(yR3C#~D38#a(H;v(7hKKn8Wp5I5=5=_L3T=^J%jC-k~}`csoAq^?T7h6y3NBU!B!UO%pCQ_Ec)OILFosVmXo{tn2Mni zL2&&zA@NDFKY8^;e+Y(#BTFUCNmD=O9ftKkC}0->i`DY}CI6&trBmfJAn0mgZ7VOo zy?Y~yY%MHWd=M1b{tu59!J%CyIo)r*(HguLIv|46aSYub)Xc~$s`Sh*%%UsA1t?`t z6I0k5C~(M*;B|Mii75&#mYzx@nPT*~xpj(FS1VUHzUEWY`Z72_G%}|XxQcNMMcb(p zO?$s=+WlO~HtS{MPZhgO>%UkFlj;n6%97egNG4HuOD>{itBBr~^s~n z5~1B$Dq4+~=a>gx8o6n{rM@5y9U%?%I{}e_rErW-+%7B4X8?Rhh&P*k9WB# zcn)cF#)UrozD6T-PfOY7oe?VVHG3}LI=dxHrOA_&H(s><9*X7%Hg8?s6RQB zoK1ZHvN;OxlHIvCv-_<&IL+qLStZ_5^|_;gWH6bA%B>{rmvo=OcO2Onv>KDUtCipR zXd@=ceRy7fjrcxQ3#Y(7q%O!+A41pr+M2{CpTP}0U!PSRCATn@26)-`;;hB?ok@s+ z2mi_)tCpei7mKuj72bjEO{9MJBOl!Lzs5E1@6WaE)`AR%L>Ne_Y#zV0SpmG-6T6GJ zR^?S!+nEVnyoF+WzL{27(6{H0AM7h*DTmHLJD}~O!K2~+7@sd1Fha!561e}v=7)U_ zScmq*GYL+h2PA3pncvwF&F3Bc}?~Z*fmr+N_ zVQM&c1i?}MVW%f)CONW~=3m5?uMt`^ed}<2Zc>g9w**8bPxYxsJH_e%+Jhh(st1DS z8of8>-!qEA8}i}QFG9)ozZ=%YalwIWC-=9UyjKRUo2`|ITb#zYxZ~(5{;36pWY{>q zTQ4RlzDWxlI@eO_21bu%nJe6pgs4YI3+TU_{kx;xziPio0`Y^)qvbBr;`5iT35G>h zBu*zQi!p|W+6CwdUcTAZ-rDrkcSh~73rArW{tgja4GkpBU*dA;Ic?RB@ekB_4KlRQ zHD5$nQ5$wBCmN=b6SG3WQ&+$LkD2^Jom*KO`co7$1YXrBM^>8#7@PdfHTj9sWdL)^ zqpI2!s@LphVQL_Z{U`Vue#pA#9GaBeAouFB-uC8X3-zlHt$NOxpk(s+{sT@uH)Kiz zd*0OQZ@cv;^!azO_|yCT`y&1cBZ7y>lF>8e>@dkZ5 zJfPZ(#M^!%aQlw`MBtQN-7%o|0Uc5A`iffZ>C_(r%oRPv@lse{H(gvZd59z1z9kzo znbrOrEuwEX*uf28-mruxHEyk+E}UWVX;Ubsc(|*Q(!0I9+32;$%IF@~{BerhtpX)L zXYrWjD?IPaDE8yh5pX{Gy$&A)`SqBQlUbdZEDx!04aVECFh?iqmy`5Po@uze=6WXn zJp+vL@7{RK?7|z?b5sOrk*aAVR<4ZbMVH@~g~yt# za*Sj)t~&JIkAtvKCP*Cgd=Lp-RJ*}YT+{fiw)r!z^ls)lG6Q%+i3hb{X^($vO?i#r z<3*q@&CTeG6Q;K3*^jks2COE9z3e*%4y9vEXD9m}l@9@u5M{}oCi3m$F9(Ehq}@6` z3&Ue)Rq9%jOf`xSyH4i<1A?<%a32k54~eUYrIq{TGBG{3puRVc5;Xo}b(fw`eO8OSYALsV zN9JyDBxzc;&&k-)zB4UR^eZxA%bEzo`W|yxfTVZz+MSFysYFmjvxQA2g4wKJC3eU5 zQYWY>e}E>6VyZb`W6$mrQ|GU;cnWxj=D_aiHc zK1<#8Aox_gNgCO?;UYv`IK;#eWRgZ7PefcpYz&h;)JW;g;bR_;NRi7(C-dLc9Hx!C zTHIMV0ZXw@wITuft!Kn)UXaZOiOr zL|}HxWLs>f_b?K1kv}emI%kkW6$E^bXkm@bimm97{T!Yp6i5rSvRa)=nm4C}-rkfztjU1t45c2l^?@fn^A_(vw8!^Ay*#`Z`p2eyNA^3rqK`^vQ6rL~UZ zCoUnSdj6rX{zSbXQ1FME`hTY~{~P`MN2i)zz5eXqPQ-_0lbxa=%sZQ{4@>g8l^4e% zxP3bWQocu+{dWISi!kGuXrh4dQx;FQ*%jnso9Onuz4D#og!wq~>Ms~bl>4S1rleMW zt@=v>1z(UW-43uab@m?=udrkJwQmVQ z@C-3cTKse={YXZ{Db&}+1>;-AXR3MB02|6^Hc^$s6s41<+y_1hc|Cb5geB1t>vKA< zxz%Y1T8Z#0T08oxw2$uqF6I?Pm3AuaLx9n_$oU1)wvOE*(VpJ$L;#mg)@MoJ@UnUd zw36L~VY}1FL5iwOTvOfdN~wCdZa?>Xz_0uJ%Mv*H`di)J)-2qVe+XSUV1eNe?AhXn zAF?M*Jx0Dtl@oGek)SFVgEI>H>F|@PFa{V{wD@ziv9GA;a+P#Y7GSJMunMa2rF-_6 zvhnlYT9r991UMC93`4{r2>?L%7kaoeujlA@V0n?o4#w>~oGsY13}CHxPQewxszP3r>BfnjaDaOgZ(4E2 z$-Bejn|>)nREUwA168XSRR6W@dEuk8#rus0?=?q8pRkXA3$a2zocFws##-B|u-#hF zbWYgsV1@mh@VkT3b{ik-cN5&3=Qq0MsXxi;J{xRA^!oyWGE$eXgSduZgKB_FLCwz~ zT0`fk!*|;Q*&FbTdRlOmTnNM1P3XTWz+kF;*k1n*CW}3c6**yCN@Qn4Al~XNKwt;2eyjTYC!8+`vB zHZeUuib-v*g*0_QD#JhU-NBoGMZH*#tc(PZjS9IA9%4#C0DrLPA*TBP&;RKFbNNtfOWn*D~2xLqNL@m z{B(58OYPP?bj?9V2pbvO$f##EC4}uU^;lS7D(`lAU@I_57`Kk?bnAX9n6L;TzIS(} z`V)|g9SLwpGi)_)uM?$IfRcdP**cRh7|!ww5EV>$YWPR-lV9f-HjA-+b0aqVf<79) z4b42#4!~6tlH25B;t0ONgaH8;Tp|tL7UZTx(F^WnL$qqhj|^_127G=Gt4M#BzN(oB z@x13dD=eD?jz0U+}*Bdhh82cTk_y0)4K z=p8}Lv!B0~RxmCck2ruz9t|q2!S58H<`$xqkh2I;ks+%06>q=jIG9&QKK+SO%sH)= zPj_9Cd4Tv*4CvItle^KP>fjPe;3(GJ*#g4z&EWmMqx8y31;io_3LGl9ee-F(=gQm9 zU5jYfu_v#bZiuQ>n{;G}uP0h9t{hjXpRW@$epocVy*J;bT)wZa}Fk3ift zXche-d1i&@!5Lx>_@mAMw-+egUfR&$Ej2#dR`7rjv{~$9wMBmzwh;^I!vqtc!-6X; zj6IYjlx7jVd?6HrhQRTrA*nN@&|eN&%l*G%3;&n+v~$~0QCDriH`6>@G`cJ4?@5F-fUbP;Pzja$1>+VnLuZ{}@pq)8^V|#v7{R#&g!O=WW;j#Am9WfQ1M! z8T^BCwvQ+C)N4s4t(NQ40P1U%Fi+nSsMO+{A2~PGCs|oZOGt3(Yrm6O+fC}FS=SOo zv6>YSz_lo-*@CFcV|#i3#M%!4hz!wjv$jX)=a_yFhHCBXC*4Rw9>9tKI5UmQHg?HP z0&d813(iooFlx|CkM&MYhI#F4*wKgokkZRXkG@!tHdQ*DPDZr%YPPdDAuuHK+}yp;5KQnXpxns4iq87& zc8s8M*F^dRbu__c@I&I zKV+rq39x%Q2u{*Q*QWf!< zz@)=fp4a(_5u$`~3``<=kp<)Eud^D(U2MRia2dm==G0h?(I3(#%8exstxps$@R!~G z2qNa-kPm|tZB_^Eg+S;`7MF+D9&Z(Po_z=J2gC@b0Im&lJqzM@YIv!kQ}}+O${=G{ zdPW9F<`90i^Wp*bjVu|5|>3WC6& z8+4N)IN>_g%OczKMYcAOwSl{nOO{#OAQ_I0h90*U!}HbN$l8vDO(nur6*47r$M<&#?qj3{vcjy$%mP_4!(GK;w&sPYRK)4(UG zAe<+v(xFrraDKIxC$~n}`SZy^=i&A-^%(ljB-;c?Gb|wh`A8T8&;NB4(_9uuC`%v7 zN}Q~AD6K=nLtbX1Q8ms%gcT(hWS7H?t?td5%of#nbkTnX!&W~01&nsKhYMfDjw!f| z+s$FR(@7SuAC^h|9FE)|jZr+RQb~H&D12uwt&^Ab8d1~_6ZS_DM9qJkm#Rs=5maX- zfJMc=%)PdnkUTP5{9IVox$l`YwJ4$?y8xl1y+J zPmKx*x@9exEpo5s47VnPpx<4vPBH$f(bMBp?iHhZm{`jrfzp^pc(o*h}pS zRR0k*i0t&!fXL&roSen+5c@EF@8isULx%`=PRhrog`!2@BWx-CDUHjb_>w9|)mldX z$V*Vl;gf|KS$d9Xe?oCu2D=DO!gS-;k!*-X-Q$KH0A z(yutxah;YGuizFp1*>oiXGlh1xHO}EzPQiSfD z+wMVZ0lA+BtvWIx&V#5Pi}Cy|72`}7kg|H#Swoy^&dX0#PQ=NJpaKX`M*Lu{~NjQ|EGBEf}J0x z9CHQ$GuLy8-U#!le6?=_kT`+e?d>yU_D^!OX8<7(>{@n`gP9)b!nlz0HG<8~S%k!E zS<1lTxw?1X;y*E80Mc9lrA4S^wlj_Zv*%FmW7|CMkcU2%<`_n2I}v?k^L`SJz99r&i8Y6<2tMpME`gy4b*loA$YZ`^ zE3y*cHSiT2ARPE7IK6f>;jy$bkwM=)+o0cM3}>nOxq6RW!pb}31!*kFfj_uTnXV{mDVDf=PSKNY`eK@RX&=Ax|0b?$7SJk} zAqRm#bT}qq4qxexhBe4Y9Y_bVvJzm3bBkR{vHmLH3*DLz_9yE&VQDf_omPq%WO@KQW0r1 zxU@J~BIqePYpu7%9B^F9T5EA9+#sI&#WCeuYZlxqUj`dPm!)g0;vPyMy(tjK7NUis zzn9o#bS+p!_}~gV`pSg1+JQ3-Qh8-+oeX*Or#75Qtf4gI+9L6bSpd%A!js>+=P;)W zffE5nwL>s=4Ku@3tszP!{RTi{4pZNmu;RCaFe`RW0N?W2LfaQTI&JuE6py&+%mpqgDZ2I}^a|y@hK+MGJJ+aaw z-_v&XU{^nLA%|fd8m`c@hH#4Km?=cqxNp=GxUA<}7%=y;3)p9AE+&gfTmrM7-)GM? zqeX^$=!L7*I%E#w+V#e?*XR&O60aIR9P5!gy+IL`%!ntb^%>RC26oV zjZX^9c?6a!v_dbqlfZt!l{<%K^^|c#Mu2 z1W+Dr6#@oNTeNrd@~DTNVIVf8OAY)haCNvuFKO{Mt2@lEobKnaJ?Q?ASS6{BgB7el zFz^Z{h0+)0^VZ!y2hYa|E+5D2$G^L2SO|=%^u+P5bENh7?m@n&I-F7mFq1~0k`7Fv z`#hHu8=#b=Z-&|0l?WLM@`K)45)Gsjqmm%!AU!^}ZlU(*X7qpJ3CfHk(PtZ&MW|Nj z$ES*_Gx2Y>$WU7tS)#I|gWhRK)-=8_BJS!mO!?XjL4Xp6(rb|95#1SUkD3JfNmy3b z&B;+_w=t=DB3O_^A3t+}CY%K<HV~|DSSwgShzw=_LTH?dbV5Y&k=yP0X^4D=DJ2JUKtBMM*Fo(>mb8mLw~eXz-)1~q`vDR~s0VI{9YcPqpGB8h}W|465Ili$vP zy8~?ue(>Q0W{-eI2rV~Aq1w!>JDDXepm6?Y`&W}dL}ho<^qR}8@;%?!0mEJCbI;oG zZ!*@Ej{S}aNNN|qrP5PfE9G*DO-nUqXO6C;Ml6yT)CcsuT^7ewekeAUHoCgx=QKq7jl%Zw{(D!{r=Ag$JY0? zzmmF&flfKbiDZ!BJ>f^TAc*xQZX{3S+w7V$3%7JLH!08A6zu;t3SUjF$G zpxpn$TmEDxZv5qp{g?bu8Pk?Bxu0alQwW(cH*z@V->H(!>?fYZWUf;s|Dk`uT4G(2sa3g5hu=*K&WxX5mx%D%w51Y0_5P7EZ{2nK#}9*96z&yR2Ks# zX8)fI(}1>l0Ll>m6jYULQ=DN69A)4so{;5SbJWl;HIPXNoQ8O90z$%q#{#!bdG%+G ze(&^O-QO6q=lpl!C)A7`AA&0nUGWIzZnS*69$q*WtRfDWAb>0b!8?othGjm=?lGI_ zLN!x^VRDMOp9!L7&vAH$BP7f^U7cgVqGT4lbd?(RrnTFRhCq4nBc~hi5b?l*j#mN$ zY8X-#wL@YO)>PFQ`3=H$I37jKQ`eWP*X6IE!43UT9#9luF6GF|Gx8ZegTX1qav^v| zBX)UDG-!R*uCGSgQ8^gc1Mu;p2xaujL!v~4nzeA^iY`^PWRO3X`tozsjBlsnkVoIfk7k(&jUz` zWtr*cctjDe?+=orZmH@S_(2!>HsLCVnU9)sm{&>14O1){f3yZAg7b~NknjT_io0X8 zuArt?oxxYfQX3?>NJ(5U;gQM8bL{Er~6Ie?<3J0;jk zK!7jkRb)Zjd|-~$oQ17vF}dLfHLNT)%Pi(6krCnY!s4`! z7Mj&JO2TBdbMHu&6GW}+Nw`4uOPa2OPn+^)DzHwAoJMcj-xv^NAqnHlcl^2rdO-Q@ zPrCO-qq!wZ_<=f7kz~*;a^?UJ6_>nY4_tBz6~Y{ERQ2&%&UfG32@ZoeU1X!FxPXIy zwKLfq;8_^P+<3nRmtli3LRtQW&W7n}TB9n}4b0rT+yQ}Uo>r$g(APF{>xX8;24(=- z-k^`m7jEDxFKm;?YY}-OUA$c+Ck3s? zJw^T&`^m|J1exSBDWd}scUU3%kjBI^YYc%xOl9}NUU|Gya?MOh{(NQh-@+*0+ab;k zAvmm6WYjCpaFObTy*h=ya-9oyudChci!g;Vk1(D>s@auMsg)~}C9K}T@(#^b`uHQV^cnDj+9gV;AMqdXiV3voOCn2{(=+Y&`jDM(vN5jZ>=OHx>k zIW!vk=srrhz77o`JV+JwjgCl;>o*og+y{hE*jQczI4ly_KArTY<+W<_tQO_Bk$smD z0uiwK9QxZ>VRg(tcl?e8Zv@Fw0Ct@{*c+7Te+ys({kFf0=0eYg)EBAPCxPh64{Tt| z{WI$B&rsd6U@C6Z<(R4Ks=d)IlK|5&Urx?wG$qmNTeU+S+lHq|osFKAbEOd@i&t?} z8?$N2XyH4<_{uCMf{8+V{T~?x6wLELGF>AjYz1cmpy*`|NqBJhdL|i614$c#$2S8_ zY4-DjY@_xbe=<9bEg{-1(2TftU}WXl$mj=` zt#vr>?B_-Wgo9c4l@yOe;U1p!s+Q@$ot;B)SF9G&;|e98Vna5?yoPK6k}qzacOj-U z`#EJIHmrJZ@URXes5+1TuCMPe_>V$Psc>W?s$^F;o4Qw*)UU(waC;CbZi zk%!_4+rbQ&i%3cgw}L(of*QDYMD3!iahL8H&Yq;HLkOP_cX&*6pi2TNX8GI~W)vEl zr`f&aH|HV_#whXY;;lxgM6W&GMf}zeLaGOer5DASx4QZJlReiQ;;9o;yc1>8Jorm* z^c!gbb&YRa#w-`nf0zSPx)v`9W%HNLH;BELP)=B6VO>sx@Hj$8fKdEF z$OU2y)yy5^fXb>B>R8&tU?fxx%mkAGlG8$n9X+are}w-_zvw&*YZXG{j3y0zS2i?M zV|Kp>sZ=&fPe~)9SE@KpSqzqBBJus{53iWn8`OjLSWM1G%0-pwAVxgC)r6c^(uvGHat_=^30j)ECLru&>1`G&EzNiC^z*g~Ih& zU9{~m&Z;L3wQ6w~bjii|b{Q(p$-A&+Z{tkS-( z`A8$W*>+iWVN9=>YFfo8MrXDb_41%DLx^y6*i_Ifu`QUZtGU2SI-sYaOmLKnOF+6#~en^aYbg9Ib?7`L8ucEO>*V1qb zMk!b#q3lDZny^>*r5-g{yu}?YO`VAsS&-WQdwuQl{gIozN~~Pf$qx>$EVvxoGhPds z!qFNkH=mY0Qu{K%t#VdJD4;)Pq;`P&3zv$XjnZ}aOSC{8YS6r@Ts81_ZofRBIWHc396C_%gJX#%;u6O8dWrkGoLTbs?Y?&}rr6SzdZ zFEn@N3|=Py03G|K@0+CtFCI1Y?zPkn@!p5F0xB_u=%`gF#EXbiG&;B)kTKCSUMz@4wjWaU3*Dmd<`F_0c^}*f#ic>pwc~5VWd3CGEK>j-F z=_@?(1}eO6;70uyuh8f0yBh8pTx#9?p>sYVPPJ{=P~ONks{H=$Lj^GxQF&ewUM$x> z2Kuo16$cP>zlx3M!=?4?At9%&@Z}2zF>3^Ln-u+~(B}%)mHp`eOIyFv{wo}xz zyx_PnP_(ssyh$X!W~MXgiqT@U%$kJ>ii7te&hBW61tgcAfIq#Y2vd^c`wHS?66sc| z35sIx!rv-Kc)U2S_BvU6@r&oUANkZ4X}f@adrLp^`iwK!gmE<9Z8EV|;ww}P$P)9C zib_ruM~&E5^YqZv^M@(E)Vdjw_)T_ceuSt`A50r2=SVE=vCFZ*v@e@+&S z@#?p?{pS!-_mf;82iRSu@vQEjSp z=QfHWs6>QU$b?IL2`jwY9vrQivw{abU6!J5mTxmySlApdljY{rZ!A75&UZDqZ1WBy zE}YK6AzBhsmTu+gB@2s6Yd_-;e7C)avJ(WFXD3~>taz73WM910JhqhW-+xd}+78)) zCcVH}=dktFSiKqpWR3oqMqXU-5w^>?$u1Uev;OT(C;cBZMVNF81h{Y%9SmT3!X~q+G`bQ zoVTAe>gdbXKf#(HlpsV~_+x8Aw`8FX^WrRec|Qes!fZW|*~VO_9w$4#wVkheKDoO} zXQPav-NL@JA(W%4rJ5PzIh)dPY3=EE7ApargQA$4~1y z2jq70AEAxzFI#!YOIo;daIBlSqbBQ3X9)wH>5}9)|LIeh4;&JThbpqHL;6A){9o$p z?(xcH)ZY~okgqepgBBP)9w18%+o`|&rsr93vYiaPbpmsriMokYW+tRr-P-hhXpGZ<15w zE9&PljPdg%2KLGgh9;%`@NmMUJm0-e2aWNZQdfQAy^hDQ`oFp4U0Yboe%koy^GJ-FbIh;JVzK`7mL+X}QXv5(?FE`!27=&<1GgoWX`|zw?w$1?(fytwcpv3eu#g zC0ouJi#YcUGWZeb8N4@tly9Cf-fTM~{|&ADsD-8dqv7T!*ZUIK&p0^i4>s&5%IfkF zs5s&kE^)ECNI(2_VwqeKU1iK=7wYYMyH(A}#klWO^T|=4+MT?gT{mN#YqlW+(s7hN zd7*E=_>#eX*8 z#c>eIvST(O6RVrkxj+B?0cD9Le#~(IxsPW?`vJ)gd}PpF*Lw3&-#U-g409>3m4Xx8f+*yq=& z>EKM>jn$RMKfIQKn; z`{~RLhuBi+Xv2#&AGWr;oc56~dJ;}z5Aea(c+u8C5bg_J*vIeSe>2aFVQpsV*l}?u zTE(HTu4;V@`x6+rWZXTetFoJsgX=7`d+VLXcvvMa;yoG5@`E|kwa$wh4WB$=t(cs2 zQTC7s&m{RG3-v{E`i5Nb!#*g5E=A4BJ7oA>&`npd{^K*ga74s5c};jK* z`I#*k1n`QiB%)NM*Xy2eV?oD}6Kc(N7wyN~k0{@N03W1=H%*P{JnqZ$;Apx;?PYqq z5nsW7a{-HadzW=>DOvo{HCjJx+FQrznw}-5UU|u#QKD{4(-ifoKH33Zr#^E+|Amxj zUfcn=FaKaIu)KDw4x!nv9e$2U!K>bE&_juCbbvwU~cogX~c;_iKR zs-oOpy{!3`^^Vn6YDASu9QqF~!1LRvHntr}Bb*d=na0sM!-5_G>AV&XO9Dp_vL=MC z_$#1$WzPwy5RWlVu=BSv6DQVNSADc&qyq zq_@?>c;Fz%*H`q&sZo|YRvcYuz0L=qI>)+LIJ(Gvg}Zxp$0p1l>1yWtbsuOlur^FO zeWsP84mYr`IamzH*+m?^6meATR`3vSP(RxwfA?zM%oK8uiGGP7acdQ~sQqAL!`Q;ySLYug0Awv&D{2?||d-WKyyG@tIF(0lqF1N|GciJ^MPy?EROwoSJkBgOQRhBxHIMW2wlgHVt0KM zF3(=I;Yt(AXK*iFqIx+jy5G4@tuDQ)vU0Z8CJ;)p4A-8~La|Tf3q6u#*rp$jZo6II zXzCX;;Y-=N>uSr(CrbK(5nhpdy%_7X7OZ^_p0HgWj_f!lIJ;qu@9vhyQ%OIDYIiQ+ zUod^&>#8z-HXKon4G)vQvtYH0KCUe5lkZs1nw5bVDskwIgS6{A5z4N1oQg68JC_0W zfXsK;fu$iuJNx~n`m6+(Wm^8bcxF$mI{UNm=BXcURrlu~jifI$#xIhmPCDDYHVgE? zm%5Rbq$BR{Qs~6eq^Y3QPn^uSVmVHa-Pl9Fba=F2q6#*ocPuBa%FVSjeGhWriybqX zX)ADA`$`Q8J0KDCUQPJZLwajVM;aU;ANQvjh}z%Kd95IsZB$j9SXC{;hW}_&&Jt)6 z$I)6PO$GHTa-FK|f$KVs%bsFjthjK#*x!WoO-A?QX_VaH{h4jjj+kfn>0MqKtpRvb z9Z)M6S5HAJbnEuQRif$TJvFBt7f6E@owsirbGaW$);LoGGWWReh|ZfGyAD(+a|ZXb zTQhh)jL6)pjb8A+<5SFvakqXo^)RvAC{vY;Jz&nq-9_Wov1<#>?7PP&Bg z$HgH~S5|`uw-ZFU`50h@%-N4}T5D~i^l*iw-?kL2K15#`GC?l3S#0a_*G)Pn<6AM0 z^Pfu~YM@|dZ)2>rPUlun$GK5M6fyH(iug8)*!A)pZ6_HgSg&h{#!(+%5z2Dv-};w`#gM{H5zjmP!TNPaylppe*>| z$0=2JefhGID7{Us3htJuozy6IP*o=u<(}RrJF5(Nyu$0ADhq&PUbeP)HvesRfn6<; zfL1=C8=9$-o~1UK!7;q|jz5RsYq;YCtjNgS2i$tFvL4nRq+le-bAGz{)Uwj&XJKMcTBG4S?{g};rsIS!V}OSqSUA2R^)?oLs-qTn&=m_ z*5GZFM6Qs`k6Ryh6mLGpSGw20?auVdgX15Ir^KF-yTvALdn}zNOQ(x)VP0_Qzp@%l zo4@+{jC#~``|C6xiP%S@OvOh;EO_5Ut*&juNe#l_K9u$Z9Iz^-VfBiQMV37Ix4`98 z6c+RNrFzsw=Xbjg%C&AS5?^k+yQ57 z$Hmg|LNzvl?uh;C?N824Hr~ZsSS3MX^IffJL~g5?s_n=%*Sj3c9jB6hV$@zoc_^}@ z7X8?^TK~ZC1}jzfPBSm~-eQpG9_NM-pdsp+v#w2D{*? ztKl>y(wp~O?97JC6NVoxj~jSTkJOxO$$G1GR+C+Pam}f})rtjF&WeE4{1R{Br1(=> z1q;t6XzXiNG5TH>vA4=*;&_v_vmaD7&Amcd7f+Eq>Giq_Ihco@9*qXcVeVxwf^K2fS-@qm*n_asvcwUcZh1qp~L#Z1kO(7s+K4a>mi1ZP7 za#-g7Xzi@Ss@l4L4=N!o4N_tw-Aak1iV7+v4Jt^7bV)bJQ9w{ZN(7V;>29REYXj1- z>4tsB(sRyxe9!OR=RWtj`yauFz4uykjydKS-|-o1j;2w!TuC$L8E8DtRVu;2RVG9< zIm0e9utc9bv;QoKiXrL?O1@B@u%vbPyEmb4!Qc)Ex9wmm*f$4` zr7Ca^=fMe0Nw7n!o3lL)xZA$7*y0 zFN8P7=G`*nJT)sx(l%Pd)za&@&nOVb49>U8_J?flK5ffYE$CbOm0y36Uf)6;=uH$} zVDdt8voa(%qitax6H@>cwz(R%$0}HK^Ylr^+dMHgMdE+$;*Wx+Z|s;0nH@oNT|Wm= z_)VfPR!F_;#qR!{dv6+LP*)LGb!RZ4t;1#o;QhmJJh=_|ad?YW5%g>SOc0gB*kdFz zC`68|82a{qef`zYuH3)eh(5nN(J_{KaK8Um2V~dlS+J}b`ilQQzK!P0j{4R8Dj|pb zS=6ee(6eP;1_{@j8-0~?%m2>dd18Xd4xA`jf^J=5;mNKFX%1$2JZz2IzVj+Gd+A3h0ID}UzE^dDz$ z`YXc+-1=WB5=iO|Hl7QC+xPA(dT;bv@Qf%MH95riG1_eYmk=e{AtO&msD_=c<#~@-W=}@+_uFBowbRLu)o?2s^i8h^6%NjYC$y=E! zSJau2l%V2y%#|%>v9rVO9AbEpgs$A(F5-2Vq7!(b?>qYUo5f0z$Zm=z@=WFjN?ymH z*)u_t!gq&Web;!Ysu)-`L6D8vJCE3f)6_Snmi=#U1>L7_hEBunv8#P00bR^;Lz;Z! zj+y1WCc*rCazpDCkD3~S%Y7E{@a)D^1rnjQkSq<#7pJ2gq^rzNqjBjo=LpoOYqyy3w;I8?LZdXB=LHojC}J zDdWmr`R^6lQFzG>={i3q;>{t*7GR}^-&hV+u#SpBD21w8Yay16raafR|6F&4vC@&%cn6X;Xt28_ofVDf9upR?aPxF7Ar zk6zqmh{~uZC|8t!l4d0C?2&J&bI0uXxeF=QkX5=Uu#(XQNXlWeU{O+3W+Zr!|lx~OKzw01=LQHsL% zOP6MHnkC|UcC+CXO;z)U&Lup2)V6dj_VD3FAt@`iTBVfLbsS^~yQOVh5vg+P$>JL0 zTSFIeXKY|mG`Zy6U|SH6Nf~3i-rjo%4gst$QEAZoy9!fP2R}n!&o7Mxu`hXzpE~sZ zQRQ%z$f+THYfFJ*S%*`qIVM>g7w{5?DV8y!zA?lz`X|aqrPl|GWQpjXgnT*G(ZI## z1wm@nlLcgpycyLM9u|DF(@7rCu&0n>WDC{4K+>X zxX8_p_YeGBPUW%TUX_VvWFU>a9q_>)aV3J~gs)Uyj2wGMQq5zBKWc{sVutYB z=XW;yFTRrgbI~A^h`c(fiDlQ9y$VzJpG`&FM(=yBH70Z0N*pS-ZSu?5z~$J!-L5kF zEOrb%s-mJ40)xd3woi0AA1g@J=fk&>TRTVZohP~V11V(hS^<#|PRnO-YKtMz?_uw5 z^z=ghVzvMGyR>2>#2Ty#C=em+mO~cSc8BDUkDg57(pww;!Ofjh%fAp|ESEWqc8JWO z$*8RArSN^4$DLy-CBGBCUj`E6Kg}TAXmm#WjEJtz(@dTIn9}HxKUM65uDgn+lt(tO z^gujUB^+SbP73=aCL`1JO@^^W8Yh*UraqTSHZfzi`Bq3-f;MiYtuK z>Pnw^%0E+(;{4A$dQ{w5k^&Y)Tk>IlQXOjrk;%Owpx|t1X!J`?6uKK*cy4|{*kO@~ zov~Eu;r))uxXYK*YYt>gEa!~tq$DupnPlv%1dg-yXMUOI{AH!Y-HL&Zs_k;&uj{18 z%&KAg*BpZAfxWLYC%aREvX`^WQvFo$r|OgsikEWNG)XC1)(M()=Vpn~wqh8$#SD2gJt%wop0n*&#G!%63 zF?S3j{9k{;VTF{Ks^MQQV^+y|3YN6?z06xPcpeaI{nX8&k_J~BQc}f>%3}<#M}iEj ziuWQF9TWj-1*VMD1$eB_`;;1faA08-mf#GrCg{yflhTB-Fo;B-6P4B0yBwK0ddztn zYtdg67cQ*kyyhZV%awFv6io>T+ioi>BY~fX6YlEFyce+_|K=j*rjdhOoUqeGSYq2d zG0*W*L87|h>0MHoT)kkr zUl??GZihn`FVe|^df8?RpIp0suqEw{3&d1YYt;Qky9NQO_~flR9$(%{ATxFS@RkkQ z76l5d&yDz+>{mCDuMcU~)Vy1Y*p&m$^7W@G9)l*CpFUTLUS$5fK`JxlLGfm0%Ijs8 zmyywHz1UZzE?%sb;=9*OM-H;tbmjbX?rHGfD|&~_zUhD?Ef%aLTo_-(0Q8j7w)gwL zpL;wEhryxxZH&wg8S~7KRtOe%3VyjEX|0Y&{FqmI!fVA>t&>yMnvzL3h9Ql(T}$fE zuq}P(xH~*P@g|X(65Y<({=B8_F?T$$Zd$OAM+A7z2G`x+0@~n|M&;BEq;e;#@Hf%h6tBVn27!IbGnuxCU?0ho`(;6@#XS| zPq$zz*O&**e^>29Je-iXT`)x61>dxux&7F?QxkVv(oE~P`QzyXi2s5=yA)&)`F5>s zGLCMa*FKYFrNpRX0CsrRYDO82?uASIMh|B0y`8vpYcmgXu|hPZ#~AZc^4BWsriclc z#zjE_x^*2@a%BY9#w*J_4y`2jUy5<0s+w;hBziEx-ZHf?&U(!@YaU>u%fp3U;A!mJ z_{Tz4O0(Y-x1ZKH8;bS9vd(cor>0G-#1|F>s)(01FT>6M+VE!dbUDTi@5-T+-sFVe z2;N;5b~ap2CP_v(Ra#NGKQrBe(tOB$gCB9je8nG{j7F&!4n6HruyFdhRJ0C95@u;z zwq-636L*Rm85>i_*0;7WlicpLb6EP3pUz_+Pbvz9t!|WqTJa7b7ni1{s0dY4bc$lI zXMQa7wCY%N*?ru7FY-cloCN-2!cO^%Wki{(E-hrUArVLMRTAQ`q92q(MxSZnryw1_B@LSVab*DYeFy5GT2kOv;5eHF1vG2U*KL}C1qheSP zUdrfMUBw!2Wn>XNV%1c|HSlm|$&-;zyqOW$xHe5~I_64Aa{Cxqvv=Y}ax3uTSZTE7 zE}PWgqgafF#9>F6bhz>Lkpu3Fm_ghVWr6d;F8(QM~gAn zZ%wcfkYqudLjTAiR{N&LHsY{gG(f%1t6v|>(pYi~y?Cw~2Fk6n_*%&pI61x4?Wb`6 ztd?C&-J>CU5bKYBWu=9XWkvh+g_5YHTp61lXJrC#+$T)$YvsBNUZ#S@RykNpQzm)p zQu@v$ZDby)rWpo9#PVl6bP~e#SjK2@J@oO}h4L+_RNB(UcR6kt*q~20VG0^G`7+hd z{zD%oPfbnBs79BkAKTlVT0r(1_=mMTEkjwQ2f6;$nfod{mzmW8}!Bw`fR||7j)#jK3 z!O{4n*D?zcB$J=opYSF<_EUghWu4~;kzJRl%9{?ocgpkNcinF8nKkTKkq$l;jgA7M zF8QoyujnjBbtl954!RJPgl#HMTRRe(Y8_@FyB*)yFHhs|bc3)%b6xe_7}`q~0@%Cx zf0k$vV;W3|Fd7wqC!rwPS7QJe%WxME4!?#F$$7qjhU=0KdWbIwbu@&RU!k2?;m-uJJDO%{y)GrjQnC;JgOALB$xrOJ}|;q|2O za;mnH6^`)&eeID+6cWS8L*HzeB-WI0hCQO-JnZWZ`Y8i2ZNeYb94-9(quFqSf68_7 zAF_xXagtwt*Z82AXARn5&rhA_L(#-fTt>c+J4ON*`z2fyqFA=u^(6Nra?rBUmnF2= z&pX$uHsZXoQmmznH#R;3$yGJk`YsqmSL4OZdUNc+K)g0oR@b zIfzptqUNq%M4%cWibp}_$2@HKSyTQynV5t1aP|L2lWQ9|OAAW&xWauls50nIhDy?_M6GKLsVkjF*j|$^QGAdd>z-yAoA*)Uyyl=?l<~;kdD}qVwfK7 zmSWhdu9-&pG0b-N4`dWk)i%zUU!1b6+NiWDe)gFVck^nn1EEp!bV zYM6-r^0kNrOzzw{Z7R2AkkE!3nkmH6tnY3AE+V&2(!%o?85M5A838|`u=5bvR42?~ zVZMQf7P$5HrNbO9H7BWOS*id$%B~mX3>iNvUrz`(EU(hH{rJnqhw#LkW@$8Cr5x&v428~!F9w87#%ji0rbHSwg)BZ12l<8EK>%*6ZX`)^dfsi`fc=^5t40#f7kK;V(N%DnmgrI|6 zU+YoGtuKps;LRAG{l*OKqx3)vWL8$Ehd*MM|6K~`G~!p)A|B;2l`!~5F&X*(hL!sH zKx-STrEa}}RK%BP(R0S4a){LSkcnYga(+o+x zS4CZW5)bgu8lL2+ZdcO$6Av0qX1K8`B>i zNlkMN4Qwyo&d54s29deBfgvG_%(k5qmFJmYO&gjmwUT!nqUFkgBol;OGC*{_wBas9 z46i;+*!4WW@WH~k3$C2j|Ihf zcj=reUIb|X1Wgu`S*IJ&M$Mmp33e!bpdO*%I+s;mA}+sVs|7SxNV-I`A?N+#!@?uq z_eUit+9A%dAlX!g_~I}W)JLtZ&7}>xf;!J_mnVXdX-J`5?dpE~%~4h-2gs*v|HcVu zTVU?;FD}ctN%AzZv4uMcQV-Fn>y}qr))a@;_$X6Ynzay3nMa3BXay-{8`1@CJF$qE zUoj3^Q+#ky#`X@!==+j#xwcIx>wye8@%0vv0$$%A(h%{)g{Agh$>Q4kX6X((F%;){ ztXl8W#tc-sOzVFhDp4(1)1c@miO)W%!s%u|DNoVJmX_UZNa!1;^FnWuT6Z;#3J?VEw0S7j0xTtQ|dvdNK-_eqm`OjXWmW)LFnN&7UsIz~b6O|3iU6b7QGK>vEcMR_N-G)E z+mu%?4=r-!DXFPHBz-2z=gm0V{){?rAeyC9kM=G*oew2CRbEGg#wWh@(_k@C51y!! z?c?)-B+jhc&nf4P(-k#z!uIyA%|@r|SY>=CrKb`(61#l6Eav2^R8Au!Q}V-HOVB<8 zBwuy73}qzlJmkfJU}Jnaw{XZv!1SHiA`KpaPE$fat1V&LN50!sKNkRAWs$Q(HMAUDFwkBoi@ zB3K-v;x|bi?si3Ir${Eg20(=LT2x7bHNxz|CyXE3b(AQv)q^w$TOUo?Hqa#-J+BZ6 zrVuBYaiSRQJF@c=0q%*IUGge|G4yHjDiRfc0^#Q@riZrSEfwSP!cBfSLqp&~tCro^ z%RUyfd9s!+-gPjt1iOvqj#o4*&8PR?mobG-E=&A1G62Hu(|RYii7_8t)qBQ3K)9~- zP}4i6=n+G}AW55gb=GoUJbtv^3#s)Gs}5&+7@qKa1D;z6qDoYyxKvh>pZo~{Aho^J zq~NOw=fGq$b=EnleZJPU>L_5DTiCyfw$gd3as~;G!AE~eOQkv7w0!pv5{`-Xhx}Xs zvm$KiS_IMSk&H_CvA*_oFq7P8SGl%vgikHPO|={X$FKKe5zptVGDnQP;C`(Ktzc_e z*FJ#Y$cU(942;elf?QFBESu1VH+Ru}Lb;Xq<2c@r+LyyaorYe}jGgv(d1ku| z>h83?W-;pB?l-jX4jQFy7@hL3S_)G9YIxq5G*ebflO-(-@57~QSU9Sa9jsCDH+%gr zs2_hELJWaON?oQP&41_ueyWx}i=i<4a>k1;Vl~4gB)9vvFX=|SR*eTZ6@U0Zj?zNJ zuVg83WjVp|V3+d1^~D)Zt(L`&BdVi#1h4$`B`R%%$@Uy}8!0U?;(y$g=za(wk+BmA z!m6$XHj0#D+&WyAB1>TvC(EIw3_A{nYfTsv9Pc-Vkkq$XGW4zg#Wr+0@MF65nb!!v zDrqJJ0uMmkpL>RE`4!%oicb6mcg8?Q6^Y4`KFuj}t-ypVs!M~p1OgqBpG3>(&Uav6 z3Ogy=J5X((SV*~c;d0F5kR9tSJ*1TZ;x@{dz-cepflo4Pwi?^ADq4PuhRrvXX$?);Q9 zu*Kl4eZ=Lzooq=|*1u%K2P}*^QVp>zH(H)9JPANxe)UpfO0j-S%Pr*>Y;1CXb-}Ea zk$D3fhXvppLSXI5((!&J@XnP88tSwXD5Di+?8zmrG6RqcShAmxW-t6(zR3r8-J_i{ zz~9RRV|?cFV&9i-A?(?KNA@EZwDCgzk{m=ApGH&wC`XWN7{%g)!sUeBRGYLb;{Y4^ z3^iT>miNrXa_Oagk)UZn(h^~L3^=;GSioK<3QQM&{)z&W2VVYdFclHg^E1(zA@b60 zdL#sa)=H{6J~_qq2J?Ov`W+jUZ}vvyc2**2R>KVADs3=hIx8a*aWdbU&N1jb^F!;n zlAy~DSU)THvI*!ZsrlstMaQ5I!uMN|J+uAQR`+_l(~E|oMCVy-)cXKWPg6>&9|<2b=)dD_RZN$<>(3>j)Qp753?w?M$L%*(dahuq+~aoL z{dIWh9OIjGw>Pm0!v0`sZ9A#%T>7%u?CRRK88+n?qsZ^^ufKP&rcXvd3lC%%mzHT- z7U+{4wuh`}uhyP4{NujW(S3R(mXMIxqXQ!BPkP)^vv>7i4Y?uoJ-M{nxjaS*SGu-M zA!*>0DI5UiVZqGhGHHxb6H@Ep@~qL7|6$+RJd;( zCZ%oIp$SZ%!oD&RQ~*Y6Inn&2q8c_`CAgy{MT+^S<#+i}|yA()a!L>slWLgP$eYhXmk#nXhx=E<|^;8#6P) zJ1m>Bb}8GNJ+E|UMuhehk1}s)tHQGpKQaO9S4)VdMREtdrHQdQ32AWCIe)LZgH`t8)&v&x zg+KypMNLirw8r~8_jvpk+S{_tBeCt8cd&W7$}21Bbo56)aanacoiMiNkiGMolsx5XKhobE94)9Bag)hWw^cgE?aHs^$Q?0R zP}bliW^hw{xrOs6=82KH`HdWfKuoiE=RX|q?*LpxUE(gX&%cWHELl8#siE9wqDu31 zlPbmt&P0?oCwF?CUq$A7($EavztNyLb+l>-tuzVz+8! zyn6f#P0j~*di@Q9?Zn-H$#J_5NtZGGuOileCD3P)77vBS0vW%T&g%qgHs&9MF)*Wq ziYiJT#7#?Cy8UvrhpSh17Mb0vgt(3v4My9&_JwqG*LUJj!n0C~m=<#NnJuY7H5_#t zuMHjP$W0RE@vA$c~>*rrJ1cCOykiQ-&x%G?;K?&C_25WO|No_lN zYinM`2U-D%`-$8#7z2f)E#lz4S!D&cN%YFzJRd`herU6Rxo}DIvHjj6mWBDNmnaFk zg?gnfm{hbJ5F9wlZ?|2ZUS;R~ANwYLS0bSW(wqz-361khjp;o$7G}a2kEv{M(bkA~MX!8cZS+pjt-@lg=HT@36yLdWgQ zwLp;I#D!{dFDDYI4$JOdyxkw|7IsJF>}qwBd)+Mzqgv@9yEgY|$20D}8ue-V;?8%> zCmI1ZmB4=;3&+X)*09MQLx?KL`CyiH+#O?n)mPzpT?%HO?(k@f{iqMEe6Z76&V#DI zhuT|k@aBy6`Y~1>%DlJfDL{A)SW1*na$Pc{xHQ!ExX6hb|%?|}6 z=Vf5~)KVqLv4>6yn`LGdcvk+}rKl5k4al&dqjuykLIr`^fLQjzYOvBo|FfJ@Wpwm+ zqv+3K0+NqX|AQGu8pe=Ucpf*x@m_eu=>=*XsI~{Z&(4783gQMsh?twhLw1nn{Fwx= z-qnB+`0Jz0^!R}lzVl5J7ZVZ=+E>Mo?zd`;-v|M747Wavlx4!)44J0jh|=pTn@lJt zSzi4o7e$CLz!p%nFb(lnDK<;S*fr;EcQ#By$a)V5?LVtUKkrNi-wont09rv$J0p@Q zUBF>_k4W~OeKprB>Z%cEzFSw)5as#lgLBhdB+!%~3+j3efUf}Gsq7TOcG>Y@u8`t}goHL#JsIZFeloVXZrK7?ach|OmJ?GjWS z1Rh>pmzD#~NlMD#)yg_VJUl&4IKg!T2C-enAZ`O4DEGvc5!B{>=X2OlMM1u=pM&5! zh^^ zA_2Bj{>gktNy1lZi1`uBIccm}t~oUbq7MI3IdZ5jpmNPGetzfb)0fT0O+*;^8DSg& zj)wN%K<}D#XwtyBVyFYxSpm(l@^{+mvLDbOB@Tm&oYw*Wbdn_rt{a?0)cwZGo)#Ph|TFbz8 zu0yFt;bRfYhWX0O^WW&S;Az$q<*fet- zA9ZVeOG2b+ln|QjrPv;XO*@m+Lc0th6z6=db=ed|+LD${faC#*RM>sBh^&Qz zJd)JejRGgL;`VK3}c<@{M#F2*!Jj_m%#oO0_Sd7;QYg3=zhkCH>^>3$^)oo zo^$-F48nG}&*%z)K0Ouc5v`YhYsvP)g%l{?B-=>`cCG1x8vO#s4p>bCteL@dtLqFnKOs%40czklO_v^F}+rG-AqncF(U*Q%QaQIsz3ZLdP4h@*X*I+(3lF z(-ywYRz^}l^$kgxkyjGOUp7&!iqCE;=978nV-cX~!Gqhw8EIY*KVIt^ZsoYXR0jAj z0@5P1_t@$8FQDL{sLDlEX1~8o3!?5x9k~4(D5t*B%O?OR$7jg-bPG);fyZR$=KHc~ zAOdgNVEm_Zp?CN+xevf8D7Va9lyQBbWs%4~%hJe{j!8E?!SDZ6#JYdq_=0HPVg&%y z#*&Uu9fj%+3shvkuHPafcRPW!2?3V^6+#~9TmsYc`aGKZr@{Q5!<-)MM+cT@^J5v5%4Y?2%UUK&(G>g3V!w~ z4G%O&5Ck?lQ?_u>>{S2={`fH!tW$%uO#&c~nC9{cETJa>s;^#PPYHM$cMpC=`2XAk zjxb9jZMP}mDHtfs9sGdnde!GW1(W3Ar?(Oz`v z4;nleq2;_M=V-keC)6(jiM>@}o+Y{=_gkW4%21FHT5z(n=Z7$#ofunB5{9o!Qg(g1 zP9-?B&%k)=?(?G3ot;!FzI^7o0YV{z=Os)x4Fm>t%4fv;*)YEz=kvJMNc#mgw;5*t zpXI#PY&2MGB^F<#`&!MpI@PPzv%z%SGVTX3|mXuxbko3pFCU` uZ~ysNrHWKI&Z#B&hT+dcS;qMfaS8J7QWZ%)E Date: Wed, 7 Oct 2026 10:05:13 +0200 Subject: [PATCH 44/48] feat: add Umami analytics script to every page Co-Authored-By: Claude Opus 5.5 --- gatsby-ssr.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 gatsby-ssr.js diff --git a/gatsby-ssr.js b/gatsby-ssr.js new file mode 100644 index 0000000..b66a6d9 --- /dev/null +++ b/gatsby-ssr.js @@ -0,0 +1,12 @@ +const React = require("react") + +exports.onRenderBody = ({ setHeadComponents }) => { + setHeadComponents([ +