From c605ad7d49ba158c285eb7b3e8589de12e832a53 Mon Sep 17 00:00:00 2001 From: Niklas Gorman Date: Mon, 24 Aug 2026 16:22:11 +0200 Subject: [PATCH 1/4] feat: visual regression guard for the Pixi client MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #127. Required before WP-08 starts moving real scenes. compare-rendering.mjs gates the legacy canvas client only, so nothing watched the Pixi one. The worked example is the silt regression in #119: silt assigned to the `terrain` layer, below `structure`, put 31 of its 48 particles behind the hull's opaque fill and passed lint, typecheck, unit, parity and e2e. It was found by reading the diff. Reference frames AND scene statistics, because neither is sufficient. Verified rather than assumed: reintroducing the silt regression fails all three scenes on frame delta (max channel delta 35 against a budget of 24) while no statistic breaches at all. Silt behind the hull and silt drawn correctly produce nearly identical frame-wide numbers, which is exactly the case statistics cannot see. Committed PNG references are viable here because Playwright's headless Chromium rasterises through SwiftShader — software, not the GPU — so captures are byte-identical across runs and across browser processes. Measured before building anything: 0 differing bytes. Whether that holds across operating systems is what CI will now tell us; if it does not, the guard says so rather than quietly passing. Determinism needed more than seeding Math.random. GameController.#tick takes the requestAnimationFrame timestamp and advances both the diver's position and `elapsedRealS`, which drives the bubbles, by however long the frame really took — so waiting a fixed number of milliseconds does not reproduce a scene. The first version of this guard failed against its own freshly recorded references with a max channel delta of 128. rAF is now replaced by a queue the harness steps explicitly, with a virtual clock advancing exactly one 60 Hz frame per step, and scenes are driven in frames rather than milliseconds. Two things worth knowing for anyone extending this: - Statistics are computed from the decoded screenshot, not by reading the live canvas back. Drawing a WebGL canvas into a 2D one returns transparent black without preserveDrawingBuffer, and the first version recorded meanLuma 0 for every scene — zero compares equal to zero, so that half of the guard would have passed whatever the renderer did. There is now an explicit check that refuses to record a uniformly black frame. - The capture pins locale to en-US. The boundary copy is localised and the button is matched by name, so without it the run fails on a German desktop and passes in CI. References live in tests/fixtures/reference-frames/pixi/ and are re-recorded deliberately with `npm run pixi:visual-update`, so an intended change lands in the diff as new frames for review rather than as a raised threshold. Co-Authored-By: Claude Opus 5 --- .github/workflows/deploy.yml | 3 + .github/workflows/pr.yml | 3 + .gitignore | 4 + package.json | 2 + scripts/pixi-visual-check.mjs | 434 ++++++++++++++++++ .../reference-frames/pixi/manifest.json | 45 ++ .../reference-frames/pixi/wreck-descended.png | Bin 0 -> 41725 bytes .../pixi/wreck-exterior-start.png | Bin 0 -> 41376 bytes .../reference-frames/pixi/wreck-torch-on.png | Bin 0 -> 38885 bytes 9 files changed, 491 insertions(+) create mode 100644 scripts/pixi-visual-check.mjs create mode 100644 tests/fixtures/reference-frames/pixi/manifest.json create mode 100644 tests/fixtures/reference-frames/pixi/wreck-descended.png create mode 100644 tests/fixtures/reference-frames/pixi/wreck-exterior-start.png create mode 100644 tests/fixtures/reference-frames/pixi/wreck-torch-on.png diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index c89427e..8108d33 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -39,6 +39,9 @@ jobs: - name: Install Playwright browsers run: npx playwright install --with-deps chromium + - name: Pixi visual regression check + run: npm run pixi:visual-check + - name: Run migration client unit tests run: npm run test:unit diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 85590f8..9b122f4 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -42,6 +42,9 @@ jobs: - name: Install Playwright browsers run: npx playwright install --with-deps chromium + - name: Pixi visual regression check + run: npm run pixi:visual-check + - name: Run migration client unit tests run: npm run test:unit diff --git a/.gitignore b/.gitignore index 5864180..92a6123 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,7 @@ screenshots/ # OS .DS_Store Thumbs.db + +# Debug output from `npm run pixi:visual-check` when a scene breaches its +# budget. The references beside them are committed; these are not. +tests/fixtures/reference-frames/**/*.actual.png diff --git a/package.json b/package.json index af2ee5c..6fe87d1 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,8 @@ "license-check": "license-checker --excludePrivatePackages --onlyAllow \"MIT;ISC;BSD-2-Clause;BSD-3-Clause;Apache-2.0;MPL-2.0;0BSD;CC0-1.0;CC-BY-3.0;Python-2.0;WTFPL;Unlicense;BlueOak-1.0.0\"", "prepare": "husky", "baseline:visual-compare": "node scripts/compare-rendering.mjs", + "pixi:visual-check": "node scripts/pixi-visual-check.mjs", + "pixi:visual-update": "node scripts/pixi-visual-check.mjs --update", "sites:generate": "node scripts/generate-site-resources.mjs", "sites:check": "node scripts/generate-site-resources.mjs --check" }, diff --git a/scripts/pixi-visual-check.mjs b/scripts/pixi-visual-check.mjs new file mode 100644 index 0000000..9f914c9 --- /dev/null +++ b/scripts/pixi-visual-check.mjs @@ -0,0 +1,434 @@ +// ============================================================ +// FILE: scripts/pixi-visual-check.mjs +// PURPOSE: Visual regression guard for the Pixi client (issue #127). +// +// npm run pixi:visual-check verify against the committed references +// npm run pixi:visual-update re-record them, deliberately +// +// WHY THIS EXISTS +// +// `compare-rendering.mjs` gates the legacy canvas client only, so nothing +// watched the Pixi one. The worked example is the silt regression in #119: +// silt was assigned to the `terrain` layer, below `structure`, which put 31 of +// its 48 particles behind the hull's opaque fill. It passed lint, typecheck, +// unit, parity and e2e, and was found by reading the diff. +// +// WHY BOTH FRAMES AND STATISTICS +// +// Scene statistics — mean luminance, contrast, channel spread — are cheap and +// survive intentional art changes, but they cannot see an object that moved or +// vanished: silt drawn behind the hull and silt drawn correctly produce very +// similar frame-wide numbers. Reference frames catch displacement and absence. +// Statistics catch drift the reference set does not cover. Neither alone. +// +// WHY COMMITTED PNGs ARE VIABLE HERE +// +// Playwright's headless Chromium rasterises through SwiftShader — software, not +// the GPU — so captures are byte-identical across runs and across browser +// processes, which is the usual reason pixel baselines are unusable. Measured +// before building this: 0 differing bytes, same browser and fresh process. +// +// The references are decoded by loading them back into the page and drawing +// them to a 2D canvas, so the browser is the PNG decoder and this script needs +// no image dependency. +// ============================================================ + +import { createServer } from 'node:http'; +import { mkdir, readFile, readdir, writeFile } from 'node:fs/promises'; +import { existsSync, statSync, createReadStream } from 'node:fs'; +import path from 'node:path'; +import { chromium } from '@playwright/test'; + +const root = path.resolve(import.meta.dirname, '..'); +const referenceDir = path.join(root, 'tests', 'fixtures', 'reference-frames', 'pixi'); +const args = process.argv.slice(2); +const UPDATE = args.includes('--update'); + +function argValue(name, fallback) { + const i = args.indexOf(name); + if (i === -1) return fallback; + if (!args[i + 1]) throw new Error(`missing value for ${name}`); + return args[i + 1]; +} + +// Budgets, applied per scene. +// +// Captures are byte-identical on this renderer, so anything above zero is +// already slack. These sit low enough that a moved or missing object fails and +// high enough that antialiasing or a driver revision does not. +// +// Raising a threshold to make a run pass is how a visual regression ships. If a +// change is intended, re-record with --update so the diff shows the new frames. +const MAX_CHANNEL_DELTA = Number(argValue('--max-channel-delta', '24')); +const MAX_MEAN_CHANNEL_DELTA = Number(argValue('--max-mean-channel-delta', '0.35')); +const MAX_CHANGED_PIXEL_PERCENT = Number(argValue('--max-changed-pixel-percent', '1.5')); + +// Statistics move for reasons a frame diff can tolerate — a global tint, a +// lighting change — so they get their own, looser budget. Absolute units: +// luminance 0-255, channel spread 0-255. +const MAX_MEAN_LUMA_DELTA = Number(argValue('--max-mean-luma-delta', '3')); +const MAX_SD_LUMA_DELTA = Number(argValue('--max-sd-luma-delta', '3')); +const MAX_CHANNEL_SPREAD_DELTA = Number(argValue('--max-channel-spread-delta', '6')); + +const VIEWPORT = { width: 960, height: 540 }; + +// A deliberately small set. Each scene has to earn its place by exercising a +// layer the others do not. +const SCENES = [ + { + id: 'wreck-exterior-start', + // As mounted: backdrop, terrain, structure and foreground all visible. + frames: 30, + }, + { + id: 'wreck-descended', + // Camera travelled, so culling and marker pooling have resynced. 75 frames + // at 60 Hz is the 1.25 s descent the e2e specs use, expressed in frames so + // it does not depend on how fast the machine ran. + frames: 30, + hold: { key: 'ArrowDown', frames: 75 }, + }, + { + id: 'wreck-torch-on', + // The torch is a foreground element drawn over the structure layer. + frames: 30, + press: 't', + }, +]; + +// Take the clock away from the page entirely. +// +// Seeding Math.random and pinning Date.now is not enough here, and neither is +// waiting a fixed number of milliseconds. GameController.#tick takes the +// requestAnimationFrame timestamp and advances BOTH the diver's position and +// `elapsedRealS` — which drives the bubbles — by however long the frame +// actually took. Two runs of the same script therefore render different scenes, +// and the first version of this guard failed against its own freshly recorded +// references with a max channel delta of 128. +// +// So rAF is replaced by a queue that only runs when the harness says so, with a +// virtual clock advancing exactly one 60 Hz frame per step. Nothing renders +// between steps, and the same step count always produces the same frame. +const PIN_CLOCK = () => { + let seed = 0x5eed1234; + Math.random = () => { + seed = (seed * 1664525 + 1013904223) >>> 0; + return seed / 0x100000000; + }; + + let virtualNow = 0; + let queue = []; + window.requestAnimationFrame = (callback) => queue.push(callback); + window.cancelAnimationFrame = () => {}; + window.performance.now = () => virtualNow; + const EPOCH = 1_735_689_600_000; + Date.now = () => EPOCH + virtualNow; + + // Advance exactly `frames` frames. Callbacks registered during a frame run in + // the next one, matching how rAF actually behaves. + window.__stepFrames = (frames) => { + for (let i = 0; i < frames; i += 1) { + virtualNow += 1000 / 60; + const due = queue; + queue = []; + for (const callback of due) callback(virtualNow); + } + }; +}; + +function startServer(port) { + const MIME = { + '.css': 'text/css; charset=utf-8', '.html': 'text/html; charset=utf-8', + '.js': 'text/javascript; charset=utf-8', '.json': 'application/json; charset=utf-8', + '.map': 'application/json; charset=utf-8', '.png': 'image/png', + '.svg': 'image/svg+xml', '.woff2': 'font/woff2', + }; + const server = createServer((request, response) => { + try { + const url = new URL(request.url || '/', `http://127.0.0.1:${port}`); + let filePath = path.resolve(root, `.${decodeURIComponent(url.pathname)}`); + if (!filePath.startsWith(`${root}${path.sep}`) && filePath !== root) { + response.writeHead(403).end(); + return; + } + if (existsSync(filePath) && statSync(filePath).isDirectory()) { + filePath = path.join(filePath, 'index.html'); + } + if (!existsSync(filePath) || !statSync(filePath).isFile()) { + response.writeHead(404).end(); + return; + } + response.writeHead(200, { + 'Content-Type': MIME[path.extname(filePath).toLowerCase()] || 'application/octet-stream', + 'Cache-Control': 'no-store', + }); + createReadStream(filePath).pipe(response); + } catch { + response.writeHead(400).end(); + } + }); + return new Promise((resolve, reject) => { + server.once('error', reject); + server.listen(port, '127.0.0.1', () => resolve({ + port: server.address().port, + close: () => new Promise(done => server.close(done)), + })); + }); +} + +async function captureScene(browser, baseUrl, scene) { + const context = await browser.newContext({ + viewport: VIEWPORT, + deviceScaleFactor: 1, + // The boundary copy is localised, and the button is matched by name. Without + // this the locale follows the host machine and the run fails on a German + // desktop while passing in CI. + locale: 'en-US', + }); + const page = await context.newPage(); + const errors = []; + page.on('pageerror', e => errors.push(String(e))); + await page.addInitScript(PIN_CLOCK); + await page.goto(`${baseUrl}/dist/?renderer=pixi`); + await page.getByRole('button', { name: /I understand/ }).click(); + await page.locator('[data-wreck-viewport] canvas').waitFor(); + + const step = (frames) => page.evaluate(n => window.__stepFrames(n), frames); + + // Settle the scene, then drive it, entirely in frames. Nothing here waits on + // wall time, so the same script always produces the same pixels. + await step(scene.frames); + if (scene.hold) { + await page.keyboard.down(scene.hold.key); + await step(scene.hold.frames); + await page.keyboard.up(scene.hold.key); + await step(scene.frames); + } + if (scene.press) { + await page.keyboard.press(scene.press); + await step(scene.frames); + } + + const viewport = page.locator('[data-wreck-viewport]'); + const png = await viewport.screenshot(); + await context.close(); + return { png, errors }; +} + +/** + * Decode a capture (and optionally its reference) in the page, and return the + * scene statistics plus the frame delta. + * + * Statistics are taken from the decoded SCREENSHOT rather than by reading the + * live canvas back. Drawing a WebGL canvas into a 2D one returns transparent + * black unless the context was created with preserveDrawingBuffer, which this + * one is not — the first version of this script did exactly that and recorded + * meanLuma 0 for every scene. Zero compares equal to zero, so the statistics + * half of the guard would have passed no matter what the renderer did. + */ +async function analyse(browser, baseUrl, sceneId, freshPng, withReference) { + const context = await browser.newContext({ viewport: VIEWPORT, deviceScaleFactor: 1 }); + const page = await context.newPage(); + await page.goto(`${baseUrl}/dist/`); + const result = await page.evaluate(async ({ referenceUrl, freshBase64, compare }) => { + const decode = async (src) => { + const image = new Image(); + image.src = src; + await image.decode(); + const canvas = document.createElement('canvas'); + canvas.width = image.naturalWidth; + canvas.height = image.naturalHeight; + canvas.getContext('2d').drawImage(image, 0, 0); + return canvas.getContext('2d').getImageData(0, 0, canvas.width, canvas.height); + }; + + // Scene area only, excluding the HUD strips at top and bottom. + const statisticsOf = ({ data, width, height }) => { + const x0 = Math.round(width * 0.08), x1 = Math.round(width * 0.92); + const y0 = Math.round(height * 0.15), y1 = Math.round(height * 0.85); + let n = 0, sum = 0, sum2 = 0, r = 0, g = 0, b = 0; + for (let y = y0; y < y1; y += 1) { + for (let x = x0; x < x1; x += 1) { + const i = (y * width + x) * 4; + const R = data[i], G = data[i + 1], B = data[i + 2]; + const L = 0.2126 * R + 0.7152 * G + 0.0722 * B; + n += 1; sum += L; sum2 += L * L; r += R; g += G; b += B; + } + } + const mean = sum / n; + const means = [r / n, g / n, b / n]; + return { + meanLuma: +mean.toFixed(3), + sdLuma: +Math.sqrt(Math.max(0, sum2 / n - mean * mean)).toFixed(3), + meanRGB: means.map(v => +v.toFixed(3)), + channelSpread: +(Math.max(...means) - Math.min(...means)).toFixed(3), + }; + }; + + const fresh = await decode(`data:image/png;base64,${freshBase64}`); + const statistics = statisticsOf(fresh); + if (!compare) return { statistics }; + + const reference = await decode(referenceUrl); + if (reference.width !== fresh.width || reference.height !== fresh.height) { + return { + statistics, + sizeMismatch: `reference ${reference.width}x${reference.height} vs fresh ${fresh.width}x${fresh.height}`, + }; + } + let changedPixels = 0, totalDelta = 0, maxChannelDelta = 0; + for (let i = 0; i < reference.data.length; i += 4) { + let pixelChanged = false; + for (let c = 0; c < 4; c += 1) { + const delta = Math.abs(reference.data[i + c] - fresh.data[i + c]); + if (delta) { + pixelChanged = true; + totalDelta += delta; + if (delta > maxChannelDelta) maxChannelDelta = delta; + } + } + if (pixelChanged) changedPixels += 1; + } + const pixelCount = reference.width * reference.height; + return { + statistics, + pixelCount, + changedPixels, + changedPixelPercent: +(changedPixels * 100 / pixelCount).toFixed(4), + meanAbsoluteDeltaPerChannel: +(totalDelta / (pixelCount * 4)).toFixed(5), + maxChannelDelta, + }; + }, { + referenceUrl: `/tests/fixtures/reference-frames/pixi/${sceneId}.png`, + freshBase64: freshPng.toString('base64'), + compare: withReference, + }); + await context.close(); + + // A blank readback is the failure this function was rewritten to avoid, so + // refuse to record or compare statistics that say the scene has no light in + // it at all. + if (result.statistics.meanLuma === 0 && result.statistics.channelSpread === 0) { + throw new Error( + `${sceneId}: decoded frame is uniformly black — the capture or decode is broken, ` + + 'not the renderer. Recording this would make the statistics check vacuous.', + ); + } + return result; +} + +function breachesFor(sceneId, frame, statistics, reference) { + const breaches = []; + if (frame.sizeMismatch) { + breaches.push(`${sceneId}: ${frame.sizeMismatch}`); + return breaches; + } + if (frame.maxChannelDelta > MAX_CHANNEL_DELTA) { + breaches.push(`${sceneId}: max channel delta ${frame.maxChannelDelta} exceeds ${MAX_CHANNEL_DELTA}`); + } + if (frame.meanAbsoluteDeltaPerChannel > MAX_MEAN_CHANNEL_DELTA) { + breaches.push(`${sceneId}: mean channel delta ${frame.meanAbsoluteDeltaPerChannel} exceeds ${MAX_MEAN_CHANNEL_DELTA}`); + } + if (frame.changedPixelPercent > MAX_CHANGED_PIXEL_PERCENT) { + breaches.push(`${sceneId}: ${frame.changedPixelPercent}% of pixels changed, over ${MAX_CHANGED_PIXEL_PERCENT}%`); + } + const checks = [ + ['meanLuma', MAX_MEAN_LUMA_DELTA], + ['sdLuma', MAX_SD_LUMA_DELTA], + ['channelSpread', MAX_CHANNEL_SPREAD_DELTA], + ]; + for (const [key, budget] of checks) { + const delta = Math.abs(statistics[key] - reference.statistics[key]); + if (delta > budget) { + breaches.push( + `${sceneId}: ${key} moved ${delta.toFixed(3)} (${reference.statistics[key]} -> ${statistics[key]}), over ${budget}`, + ); + } + } + return breaches; +} + +const server = await startServer(0); +const baseUrl = `http://127.0.0.1:${server.port}`; +const browser = await chromium.launch(); +let failed = false; + +try { + if (!existsSync(path.join(root, 'dist', 'index.html'))) { + throw new Error('dist/ is missing — run `npm run build` first'); + } + await mkdir(referenceDir, { recursive: true }); + + const manifestPath = path.join(referenceDir, 'manifest.json'); + const manifest = UPDATE || !existsSync(manifestPath) + ? null + : JSON.parse(await readFile(manifestPath, 'utf8')); + + if (!UPDATE && !manifest) { + throw new Error('no reference manifest — run `npm run pixi:visual-update` to record one'); + } + + const recorded = {}; + for (const scene of SCENES) { + const { png, errors } = await captureScene(browser, baseUrl, scene); + if (errors.length) { + throw new Error(`${scene.id} raised page errors:\n ${errors.join('\n ')}`); + } + + const analysis = await analyse(browser, baseUrl, scene.id, png, !UPDATE); + const statistics = analysis.statistics; + + if (UPDATE) { + await writeFile(path.join(referenceDir, `${scene.id}.png`), png); + recorded[scene.id] = { statistics }; + console.log(`recorded ${scene.id} meanLuma=${statistics.meanLuma} sd=${statistics.sdLuma} spread=${statistics.channelSpread}`); + continue; + } + + const reference = manifest.scenes[scene.id]; + if (!reference) { + throw new Error(`${scene.id} has no reference — run \`npm run pixi:visual-update\``); + } + const breaches = breachesFor(scene.id, analysis, statistics, reference); + if (breaches.length) { + failed = true; + for (const breach of breaches) console.error(`FAIL ${breach}`); + // Leave the offending capture on disk so it can be looked at. + await writeFile(path.join(referenceDir, `${scene.id}.actual.png`), png); + console.error(` wrote tests/fixtures/reference-frames/pixi/${scene.id}.actual.png`); + } else { + console.log( + `ok ${scene.id} ${analysis.changedPixelPercent}% pixels, max delta ${analysis.maxChannelDelta}, ` + + `luma ${statistics.meanLuma}, spread ${statistics.channelSpread}`, + ); + } + } + + if (UPDATE) { + await writeFile( + manifestPath, + `${JSON.stringify({ + note: 'Regenerate with `npm run pixi:visual-update`. Do not hand-edit.', + viewport: VIEWPORT, + scenes: recorded, + }, null, 2)}\n`, + ); + // A stale .actual.png from an earlier failure would be confusing next to a + // freshly recorded reference. + for (const entry of await readdir(referenceDir)) { + if (entry.endsWith('.actual.png')) { + await writeFile(path.join(referenceDir, entry), Buffer.alloc(0)); + } + } + console.log(`\nrecorded ${Object.keys(recorded).length} reference frames`); + } +} finally { + await browser.close(); + await server.close(); +} + +if (failed) { + console.error('\nPixi visual check failed. If the change is intended, re-record with'); + console.error('`npm run pixi:visual-update` so the new frames land in the diff for review.'); + process.exit(1); +} diff --git a/tests/fixtures/reference-frames/pixi/manifest.json b/tests/fixtures/reference-frames/pixi/manifest.json new file mode 100644 index 0000000..46f0eec --- /dev/null +++ b/tests/fixtures/reference-frames/pixi/manifest.json @@ -0,0 +1,45 @@ +{ + "note": "Regenerate with `npm run pixi:visual-update`. Do not hand-edit.", + "viewport": { + "width": 960, + "height": 540 + }, + "scenes": { + "wreck-exterior-start": { + "statistics": { + "meanLuma": 42.558, + "sdLuma": 29.742, + "meanRGB": [ + 22.363, + 47.375, + 54.312 + ], + "channelSpread": 31.949 + } + }, + "wreck-descended": { + "statistics": { + "meanLuma": 42.711, + "sdLuma": 29.334, + "meanRGB": [ + 22.493, + 47.537, + 54.439 + ], + "channelSpread": 31.946 + } + }, + "wreck-torch-on": { + "statistics": { + "meanLuma": 40.454, + "sdLuma": 29.135, + "meanRGB": [ + 20.743, + 45.156, + 51.917 + ], + "channelSpread": 31.174 + } + } + } +} diff --git a/tests/fixtures/reference-frames/pixi/wreck-descended.png b/tests/fixtures/reference-frames/pixi/wreck-descended.png new file mode 100644 index 0000000000000000000000000000000000000000..1ab5616c6d6d7a34c53ed4b7e93639e6591c0967 GIT binary patch literal 41725 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 literal 0 HcmV?d00001 diff --git a/tests/fixtures/reference-frames/pixi/wreck-exterior-start.png b/tests/fixtures/reference-frames/pixi/wreck-exterior-start.png new file mode 100644 index 0000000000000000000000000000000000000000..ab93721330a81c56b31af92f200773f50cffde0b GIT binary patch literal 41376 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 literal 0 HcmV?d00001 diff --git a/tests/fixtures/reference-frames/pixi/wreck-torch-on.png b/tests/fixtures/reference-frames/pixi/wreck-torch-on.png new file mode 100644 index 0000000000000000000000000000000000000000..427f9b7a932d748371e02e57a52b3e5565186d66 GIT binary patch literal 38885 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 literal 0 HcmV?d00001 From 07f7d93dc7138bb9c5307f1e29e14a465e9048de Mon Sep 17 00:00:00 2001 From: Niklas Gorman Date: Mon, 24 Aug 2026 16:28:32 +0200 Subject: [PATCH 2/4] fix: key reference frames by platform, and seed the linux set from CI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CI disproved the premise this guard was built on. I assumed SwiftShader made captures portable, because it is a software rasteriser and captures were byte-identical across runs and across browser processes on one machine. Frames recorded on win32 differ from the same scenes rendered on linux by a max channel delta of 230 across 10.6% of pixels — structural, not antialiasing noise. Deterministic per platform, not across them. Notably no scene statistic breached, so those ARE portable. But statistics alone cannot see the silt regression this guard exists to catch — measured earlier: silt moved behind the hull fails every scene on frame delta while no statistic moves at all. So dropping to statistics-only in CI would leave the thing unguarded. Loosening the budget past 230 / 10.6% would take it well past the silt regression's delta of 35, which is worse than having no guard: it would report green while the class of defect it was built for shipped. References are therefore keyed by platform, and each environment compares against its own set. win32 is committed here. The linux set is seeded by a temporary CI step that records and uploads it on failure, to be committed and the step removed in the next commit. Co-Authored-By: Claude Opus 5 --- .github/workflows/pr.yml | 15 ++++++++++ scripts/pixi-visual-check.mjs | 27 +++++++++++++++--- .../pixi/{ => win32}/manifest.json | 0 .../pixi/{ => win32}/wreck-descended.png | Bin .../pixi/{ => win32}/wreck-exterior-start.png | Bin .../pixi/{ => win32}/wreck-torch-on.png | Bin 6 files changed, 38 insertions(+), 4 deletions(-) rename tests/fixtures/reference-frames/pixi/{ => win32}/manifest.json (100%) rename tests/fixtures/reference-frames/pixi/{ => win32}/wreck-descended.png (100%) rename tests/fixtures/reference-frames/pixi/{ => win32}/wreck-exterior-start.png (100%) rename tests/fixtures/reference-frames/pixi/{ => win32}/wreck-torch-on.png (100%) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 9b122f4..abf651f 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -45,6 +45,21 @@ jobs: - name: Pixi visual regression check run: npm run pixi:visual-check + # TEMPORARY: seeds the linux reference set, which cannot be recorded from + # a Windows machine. Remove both steps once + # tests/fixtures/reference-frames/pixi/linux/ is committed. + - name: Record linux reference frames + if: failure() + run: npm run pixi:visual-update + + - name: Upload linux reference frames + if: failure() + uses: actions/upload-artifact@v7 + with: + name: pixi-reference-frames-linux + path: tests/fixtures/reference-frames/pixi/linux/ + retention-days: 1 + - name: Run migration client unit tests run: npm run test:unit diff --git a/scripts/pixi-visual-check.mjs b/scripts/pixi-visual-check.mjs index 9f914c9..208703e 100644 --- a/scripts/pixi-visual-check.mjs +++ b/scripts/pixi-visual-check.mjs @@ -37,10 +37,24 @@ import { createServer } from 'node:http'; import { mkdir, readFile, readdir, writeFile } from 'node:fs/promises'; import { existsSync, statSync, createReadStream } from 'node:fs'; import path from 'node:path'; +import os from 'node:os'; import { chromium } from '@playwright/test'; const root = path.resolve(import.meta.dirname, '..'); -const referenceDir = path.join(root, 'tests', 'fixtures', 'reference-frames', 'pixi'); +// References are keyed by platform. +// +// The first version of this guard assumed SwiftShader made captures portable, +// because it is a software rasteriser and captures were byte-identical across +// runs and browser processes on one machine. CI disproved that immediately: +// frames recorded on win32 differed from the same scenes rendered on linux by +// a max channel delta of 230 across 10.6% of pixels — structural, not +// antialiasing noise. Deterministic per platform, not across them. +// +// Loosening the budget to absorb that would take it past the silt regression +// this guard exists to catch (delta 35), so the frames are per-platform +// instead and each environment compares against its own. +const PLATFORM = process.platform; +const referenceDir = path.join(root, 'tests', 'fixtures', 'reference-frames', 'pixi', PLATFORM); const args = process.argv.slice(2); const UPDATE = args.includes('--update'); @@ -299,7 +313,7 @@ async function analyse(browser, baseUrl, sceneId, freshPng, withReference) { maxChannelDelta, }; }, { - referenceUrl: `/tests/fixtures/reference-frames/pixi/${sceneId}.png`, + referenceUrl: `/tests/fixtures/reference-frames/pixi/${PLATFORM}/${sceneId}.png`, freshBase64: freshPng.toString('base64'), compare: withReference, }); @@ -365,7 +379,12 @@ try { : JSON.parse(await readFile(manifestPath, 'utf8')); if (!UPDATE && !manifest) { - throw new Error('no reference manifest — run `npm run pixi:visual-update` to record one'); + throw new Error( + `no reference frames recorded for platform "${PLATFORM}". +` + + 'Record them with `npm run pixi:visual-update` and commit ' + + `tests/fixtures/reference-frames/pixi/${PLATFORM}/.`, + ); } const recorded = {}; @@ -395,7 +414,7 @@ try { for (const breach of breaches) console.error(`FAIL ${breach}`); // Leave the offending capture on disk so it can be looked at. await writeFile(path.join(referenceDir, `${scene.id}.actual.png`), png); - console.error(` wrote tests/fixtures/reference-frames/pixi/${scene.id}.actual.png`); + console.error(` wrote tests/fixtures/reference-frames/pixi/${PLATFORM}/${scene.id}.actual.png`); } else { console.log( `ok ${scene.id} ${analysis.changedPixelPercent}% pixels, max delta ${analysis.maxChannelDelta}, ` + diff --git a/tests/fixtures/reference-frames/pixi/manifest.json b/tests/fixtures/reference-frames/pixi/win32/manifest.json similarity index 100% rename from tests/fixtures/reference-frames/pixi/manifest.json rename to tests/fixtures/reference-frames/pixi/win32/manifest.json diff --git a/tests/fixtures/reference-frames/pixi/wreck-descended.png b/tests/fixtures/reference-frames/pixi/win32/wreck-descended.png similarity index 100% rename from tests/fixtures/reference-frames/pixi/wreck-descended.png rename to tests/fixtures/reference-frames/pixi/win32/wreck-descended.png diff --git a/tests/fixtures/reference-frames/pixi/wreck-exterior-start.png b/tests/fixtures/reference-frames/pixi/win32/wreck-exterior-start.png similarity index 100% rename from tests/fixtures/reference-frames/pixi/wreck-exterior-start.png rename to tests/fixtures/reference-frames/pixi/win32/wreck-exterior-start.png diff --git a/tests/fixtures/reference-frames/pixi/wreck-torch-on.png b/tests/fixtures/reference-frames/pixi/win32/wreck-torch-on.png similarity index 100% rename from tests/fixtures/reference-frames/pixi/wreck-torch-on.png rename to tests/fixtures/reference-frames/pixi/win32/wreck-torch-on.png From 3f667296d3aeb00da97ef80d107b2178a3b3f9ef Mon Sep 17 00:00:00 2001 From: Niklas Gorman Date: Mon, 24 Aug 2026 16:32:35 +0200 Subject: [PATCH 3/4] chore: commit the linux reference set, drop the temporary seeding steps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Recorded by CI, since a Windows machine cannot produce them. Statistics landed within a whisker of the win32 set — meanLuma 42.624 against 42.558, channel spread 31.746 against 31.949 — which is the same result CI reported when it disproved cross-platform pixel identity: the scene statistics are portable and the pixels are not. Both platforms are now covered, so each environment compares against frames recorded where it runs. Co-Authored-By: Claude Opus 5 --- .github/workflows/pr.yml | 15 ------ .../reference-frames/pixi/linux/manifest.json | 45 ++++++++++++++++++ .../pixi/linux/wreck-descended.png | Bin 0 -> 50616 bytes .../pixi/linux/wreck-exterior-start.png | Bin 0 -> 50345 bytes .../pixi/linux/wreck-torch-on.png | Bin 0 -> 47657 bytes 5 files changed, 45 insertions(+), 15 deletions(-) create mode 100644 tests/fixtures/reference-frames/pixi/linux/manifest.json create mode 100644 tests/fixtures/reference-frames/pixi/linux/wreck-descended.png create mode 100644 tests/fixtures/reference-frames/pixi/linux/wreck-exterior-start.png create mode 100644 tests/fixtures/reference-frames/pixi/linux/wreck-torch-on.png diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index abf651f..9b122f4 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -45,21 +45,6 @@ jobs: - name: Pixi visual regression check run: npm run pixi:visual-check - # TEMPORARY: seeds the linux reference set, which cannot be recorded from - # a Windows machine. Remove both steps once - # tests/fixtures/reference-frames/pixi/linux/ is committed. - - name: Record linux reference frames - if: failure() - run: npm run pixi:visual-update - - - name: Upload linux reference frames - if: failure() - uses: actions/upload-artifact@v7 - with: - name: pixi-reference-frames-linux - path: tests/fixtures/reference-frames/pixi/linux/ - retention-days: 1 - - name: Run migration client unit tests run: npm run test:unit diff --git a/tests/fixtures/reference-frames/pixi/linux/manifest.json b/tests/fixtures/reference-frames/pixi/linux/manifest.json new file mode 100644 index 0000000..995b4a3 --- /dev/null +++ b/tests/fixtures/reference-frames/pixi/linux/manifest.json @@ -0,0 +1,45 @@ +{ + "note": "Regenerate with `npm run pixi:visual-update`. Do not hand-edit.", + "viewport": { + "width": 960, + "height": 540 + }, + "scenes": { + "wreck-exterior-start": { + "statistics": { + "meanLuma": 42.624, + "sdLuma": 30.451, + "meanRGB": [ + 22.55, + 47.412, + 54.296 + ], + "channelSpread": 31.746 + } + }, + "wreck-descended": { + "statistics": { + "meanLuma": 42.778, + "sdLuma": 30.054, + "meanRGB": [ + 22.682, + 47.576, + 54.425 + ], + "channelSpread": 31.743 + } + }, + "wreck-torch-on": { + "statistics": { + "meanLuma": 40.519, + "sdLuma": 29.863, + "meanRGB": [ + 20.931, + 45.193, + 51.902 + ], + "channelSpread": 30.971 + } + } + } +} diff --git a/tests/fixtures/reference-frames/pixi/linux/wreck-descended.png b/tests/fixtures/reference-frames/pixi/linux/wreck-descended.png new file mode 100644 index 0000000000000000000000000000000000000000..1397c49c0244ab55e0e7eb6e6c046b4ee9604051 GIT binary patch literal 50616 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%0D8QnB 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 I@&4og1JB3=(*OVf literal 0 HcmV?d00001 diff --git a/tests/fixtures/reference-frames/pixi/linux/wreck-exterior-start.png b/tests/fixtures/reference-frames/pixi/linux/wreck-exterior-start.png new file mode 100644 index 0000000000000000000000000000000000000000..582eb350870f8f4e5327fcca380d1505cd3dad45 GIT binary patch literal 50345 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

2kcv(h9{o^Ip%`R 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⁢UzH35MT+Jy7Xb*;UNJ+?(gMx5i>lBB3AE%dP? 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ⅆsL z38TV-okQ2Xc4nbkL?N`NLyAuHToV&c1Mi?~$LcqE%Jl0G6`@L_lM@WW@o#G#Wga(acx~5+sGckl0SZ({I~TR$0>2gju9ay!()C;VTvZiTp)V^R z3W3PI32Xys0GS)o%m4;mPGOf0`?Z(o*V+uWsfsa&<1eBZ^)~rEVYqWUbG1=Y@E(`# zo3fO%a{W9CUiamPgWeMSL|c-0L#K5m=8D#{}%^9r|*myPM?BZOev zk()LfDKky(I}3zh``y!N665s75B%IvG0N!~3T?pK`6=bi>=wx)L|&fnEt;gMK|bG< zb{hONxUr=n_B4OPN9MbswtzcPie&%6*{)!{x>M}Iz%SHe)$rY$;XcIYb5^kQo0)l2s?}Yc%tIaqzQfbrft(52f!`AA?3Ht zXpc;b?POw>ZFCKYm*g@`md2_zAhBmdODf7)9ddMXrf2FM?Xn)~D%lp;5GMO&R2hg3*W*i+|g83(sK23L}ATAQbm*T>d&R-S-x6u6k& z)iv{I+d7T2o5OPjvTyVXP|EotR*{N#EAH}|jA|+!$VFK8oFZ&o%)7f^DLNCAq`Tud z=!1@1zx>`~x{d1AOjZiUKCB+gYgk;Uy4h?0CKZ~>SyuVX`%Gkuz;O4~?rir^`f6u@ zC-ZMr6@Fd;wxiF7l%le79^`4nd2NGl5 zHJ|NJI*PmQ$K{`2~K8hlHo2oRt87IU$@HuBlF1u|q+gQQ~_?zzWK2w>M z`PYeWGqar@8^K(M+;a4-@P>hbSwWG4`gc36OcWBapq%t%%1{S}3+7C-8{z1c?6c&B z_HLz1Hq&O^13R_sXl?h-7uS}>a=(_9v}}#`G8=gmFpT%&z3GM7_R6~YC9{(`0`Ss> zYa_-(+C2~1Ju5b}#cz+GBig2>28z-=*bbI>yq?(GX{m|TOBlUFU)feCahxgMdR2UF zm^l`-aQid(GzaCgjs7)mB129w2YU;zteY+!{h{!%UFy||0X@(V#iO< z1>$S|nXjr`FWrD!FRdBYP+9x#N&(Wdui_V*eOS%jw^=}gAeu+hGp`U$PcAJA_!y0(}WmN&A|(?9FS>#I=JN=|;bkOR4` z{9(gM!V$-LI*O6@l!D!5DYPJ6_wckNIAvrOR7dHIEwi#JwJMbl36^a$pCo5>c%#^J zT>JgrMXZ#Ww0Z-sZga8FXbf&3`~#=Q((*673bgX_^8B$(6t6f$+L-Jzb`RdL{xQ01 z>i(`0=NpbS8}7h-%5%gy2e7rO>+5#L%PvR^Nq_|~fP&+y=kkVy662}mZ5}s+?UY4+dLdW+-^_4VjQ1hJ$ayY;O5kIEEv=HlI> z!;P3Z_cNm*$t?GL?-!F}AC;8z$9Q~w*nnX&tSG125{&DC?t(=>vT7fKJ-l~4%uqR3 z$mf_w$czaMzO8|=R4S+%kbl|Rv7y{*-koS$2(`wIHNzB@$l;*zZIwVFARa~bee~dK zCKbBTLo}zt#1{|m#Tp|&Cw{Q5lKrJySx@@`FE{Z{v&-=Aw95{{{Tdiap-nxI;s$f*;n1~ z)uuW2Tiwp`>J>?XmvP_RL+YQ{BqsCR=3V(R$Bd55elUkbfqDur@VrQPY%x~c9otkL}y%SrTr7sVAfZH|sqjv_88x&`HmG72z-lV{1V5K&YU zg!5VSD?u+AJl>z}G{5R9T2qXF_fY?EYv)&}N@*xWF+J|c?TrTt?ZCSDpOr~s0Z3n^ zT_2CKR)|ZkV#!?f0k!jlAI-e`w8_QsAyJ3YQkCiC@a5TxV$$iVJLQX5xmW#gsvO3g zwaM~WT@RbXSZ8fmqgms^1W$%1yYtZOgnvqxVR*gc=^v$Hst@gp0doRoPZ;%1?5Sws zFHnYDhGq}nl{ATxB#evt!MyBihIg1gyQg8m9h7(&3oh zb0ck;bkt}tkxrP_am)R1920J97#lo)vXak-o$#hVrDCkGe>g2KvWkTgb7g3aS-0Ds zoWg`3Lo1n7XhDpm555q*pt<)GcJ|;5TwqcOXdKTSH=SDw-}Z5RYx{HQDbygVo#}mq z)~_aEuK0ij;1>yQPtQ(HFZUbRMI^^r@?0r-tak?Cqi0fvd9F^=OGQk#Lvz$GQzhle zjxW-;WRdS>&$`z1g{N&#r}H`dj2rVd%%W{X?SGdV%jcoeR$rfgSX_SLwy==Q`huF4 zgMp5%iqeoe0BQ3T!TYw8ug&QZja1Z9eT2b>+NeUvS8{{|47_GRN+fO`yApD-&4?mS z2vnp`nJzDHj8D_!JtZpZvqBbi8sl7L*SVS~t-@`eMuJu>F>6&cp-v;i7AOsN@ozQLmoR92g4h}iPEvn3UwV}&(IA@l61~ad3-A z?`JZN=`!X_S)VrEG`B1qb*d*#ywyT-j&rSbzwCI?2(rHPn^4~Nysipau?`!=7 zcFBiE$`bx;cTbRR3>v0gxqY_^r{q_3D)CG1Vg*1ei2_zcG2w(I`0u(yEi0x1B?5)- ze)w|sAzi&Y&tfQjaa&E^OuQ`+8(LIkpb`JCc`DJsH?kWeTia?S)ML{gZSTre&;yL} zAKi8ICsFYEJ5qeZMy0Mso7~pGJ)Rp^FcQs}>LA5}5(vhy|7ZfS^>BCLN@Ak=}a?1XM(&ODFW+i`38~ARsk_&?5$))Ri$zyYKEJoS1cJ98I2bZr6ig8Bb zSBF1D-4t$kz$}iKo6C4@ys_hAAJ@>g%W?fdRKnQkBYY6y6uG-H*D|olk%w&e^@WL1 z?)1HtX?*eDGc~~ZeR1-96%}f#Q66mF zd%Vhqi*m}D0`i}8^@BPGBo2<}HQ#L!&kuz?s%G+-=`^{9Aq190!+`4hjsxv5!_&)T)B z{GY>pvBL!s@YN-dXOfZ|RnGIg4Q8h2%}vXa;fwSPZ{G8fmiEHSyc~>i}ZYyXs9cH3ZmMD zeJ?30>K%(vlnQ;#Ac$%G?C0X%t{KSs*uRyc|8ZWVP=B*w5A{n@>v28NYVRKyir;Eb z+HeI@bzbAN8ibQLRKTU>HzZe)|1Iq-Ut9S$7U@H>~=Gg*VY*H@Mo z;(QKMH6Pyw-!^rXORG+i3C~I(E#djhn{}W+V_%Whv8oV2KU?c4=b}J4;QVtcF4D@y z9kw(PV{7qu3fn@_7f6DYPt?RlWz?sM@xDVu=9eWKbj}n7UsNGJBMnUwyG9_%{mOX@ z?_@)Ov=pFLrMA}a^?utbs=T%M>R(Ya1pgIvLx9{-#naQEP`aZvTxj3?XD1htHRqp> z$`7sYT_nxRaL)R&C%MnFWZqJ`a7THSf2Nu+`G`zU^7#^Y{x4NDe~$X1Z;#*k z#F1q1KJ4#5{^l{uG{b6n>rVQwZ~u-i_s{6FX45m{<7Jj90Y#cIlo^t;U4fmQrnA>u zt~7Y=9fCdFN-Ihh^!4hz*yQpuX*zlN zP)0_&Zuw`DX3t`b2i7(jnV9Y}ZZb0(PR-6V0aB)?mbtiAIJ)%{6B@=Kl34Z3+&In0 z&6ASUqQ#Q$7jV=xMJCAlr4v^fI98vChfX7j2T5v01VTuIzvZE5fW~eVIYU08U49mm zA?!OcP$i82=Y`d;vghZJs7Of+?GUw_`Ta|!@Z5_8=#Kc;|`Dvy5oVbDe2 zI@@j@tfE-t;4)qU(Vs`Ol=EW`XqzqMNu!H?l?yU1@bHV33>%A-EJhGzYpn#+SW_Z1<(^8vb zJKOcI^`KcoHF!t=&^*~_=2ASVl38zviP>u*f4hTlShu}J+GZ{t|LpxufT4ytlH>WW zj#)9O4T~VKip(uwSB<4t$9d~BGpRPaY0}g~E#zVAPMQx?O3Rgjt6kTv z7HP$GR0ghbaz?kedsR5LyqlRH=}a%A5cfy}5a;8Mb3f|2$omI5gjb}c`PwmneL8}N zf$fikWv2;TL0DZJ;WDb@4%yX?%h#)?%2~34AEBTpF_3l1_c}`I$8%lR?*#^$&VK!I zyyMUlM4w+Iae8v1h;~CCn?AMPf-l|IOHI?(`wmSg^Ox*%jKcqc3t09%HT({(xWy{+ zSVk&zRrp~&ztm3j#f!B;*u>S&_~5G6w&1GKrL*PwesXdaVBidf?cMIm(ONo6V}^I9 z)Ji52@k>rRS(aRPWkppATqB8Ejrutcl(@y><1>V;%L$9Bw=L4df*OMti_r~or7{OH z&trP6v7r6ESD%+}q)AJ4dd(IoK0n9|&*D8-MGmFC)OG2W%A++O=F-u#31J53wa!R-(n8-z7NH#qq7rB`Ne zF9DxpPrlq@1~D_lrzO03;~7MG)IIl3svV2pM|PAZY40El(j;)FFfAp_cXcPx77?!A zXT?&$XQ_Os($?iiuhi=Er4m`#Ap03&cK#hn84WJ1uiCJPse01|g0qz5%n|d?H67=` zHMN-q42GpZ!xw0Q@e1c9U zzSaXhfaqGZqv3OLenbxhS9GxrR_Ox3P$!2mwifqr z+eHa2zE;P?y+Lj!sSvcH4S3>P#l}^XyWQ9t#rf{v5sH4v%#$W=Fatgmc_JnN<>`+ZDqr1mIC&`Zlwl2%#@56m^wh0pjgSzI~aSnJL24R_#c7B)EdzQjw=7 zJFB6t!d08dJTcQmY8LO^-xmvkN_u+sJ`Kf#XvNl}Z(s%#Gn3hDJ$`Fu9QvG~A$_rK zi)k#HTR$mD(&f-fYVLO*Gz;b6{ES7#Rv2e7F`7&h1t61Wk=XAQ9Bj~98;&$Y$Hr%6 z)t4!{+bFcOJ zM)b)H|Dxl#JIUl=(^W%+MjzdxQ`;(O;Zxoj@9NlgJGs;uei*O9Y zyV4e>kmtdPr?Kk^USmzQxj4z2p~4Vz3mZ#WUhSQE=_3qVT~Fu4N9l@%h}9YtYiW}% zx&+iF1)m@73zPOf#%M&en(KXM7|AOtsXv<0UwalHgIb^axSLGY2VZ*mt7Ndh4m0Ng3 z3ZBMY{rKkQ!OB&4eNWHhV94^mbT`hzEP7SN#&|}zFBA3HweyIVq+@-Vo-WQrJDX*Q zlRG%FWlBGIK{=>GBT79{QSISV7{e97?xFa6OgHc|O{HlL44&5oXXkrFabl7~GVc10 zQqdoFCem7_nlN_BY-yR8Cs7}I$_9C(qyh)3LyBy7|3o^*@YIkq@3*(qJKDZ`PwRcm zXD^g$k_XKqXMOU0_;Q3oZ0gcsiQsTfK5QUzeccC$ZMh2eC8tzx42q(Jj&ggz;4fjf zO%K{yG-e}$ufdu!xw+4H)b+OVm;-!uJ)0IClJa7z5}&Ijt*i-c^Qwe@dtAWyG~me- z(HxBz-5i5PtcqR-4_SsyFcXfPdV0IN60d~|VnJ6mytF^qtlKK7`*cP*cHpm%rmWn% z{Yab!jhdGmb~W(bL5^$8r}oZ{UR1}*&^P$>$K17Oc1Er5ol!x`190P`=?Fl~k8kVf z{#-hBONFXFe>lz#=5izJmjcuYMyd(= zCCq1I=4QI*I-tb)*slCj$!5Qt!*5!M@bJa*!NOpnBMwGcuNBzR;mf|Ir^0j_!nqIa zr@@Y&V?l zf&{oI@W`3SusZj`BfBts;NI6FgPLA00yc48*!DEkmx|@7(80-5BiE%Z2OHaDM*Mda zmFL8EM;3(n>|k>^h~TMLeuf#+=ZzrWd@(HN1z6F7`4@P{#8@e(`yBlaXNz-1recro z%#61vQjS^?{p8T@GKO(Wd~L+WvgES<0h3FYrY(EndRn&X!okV68TqCOPpbIg(8%KJ zaqQ`IyuP1>N3D+GjZkKiGQqBrjPS@QKt(Jd?E?6-wr?qKGpInk>3nlTNY)$*-?|ZqDl$zH)q4KTuoSD=O&LC;|yv#weeQd8~kgAYw zfwUA)b3@^mLJI67`~wO$KBld+PWE+pd7}a9cu?9vRVfs2+tV}RL_1ZBNjE2CFSVgL z*0sg;`nPy@HWKT;Qb|g9-D_Ky73Osmw^Ov;@Ta32Tpb$M0AydcwwY>f^39Sw8eLTz z-4u_x%Pl^sy|ru}oG(KwZ!G>Cu=cw{Ag@RLBTS8oqO|B=g((#AZ0Ls;v>6`WmXU>Prd+()e* zaNqZHVyhqpzV%#5xK?5t4&xh!0G7Pk$u1YU*VrEVI#g{ayKEHLRY^Z6VR+cYkyzTg zo0-u$$|iX`gKP@1E^VKZgVSjDtPRW3fZYsPtnO40P;#bV`TZ!@*jsOz&m$b+rOK&xGxwp5NBye+H7$_ zmunVTx6Rx0Ik5hgPyuW{?$;U`eFS1!bsL>_j`>bG*!8RPZOvENf#eLMBgG(xnpjXt ze3t80H+hUedg6?XO5lm%*}=ilu0ZzXq-g2(+Tas;HrT~D~J4GH*J+Ng?oQhfH43y z-)8#C$wpV}#YN{H?#KM9zum~GbXI_3)jw(u(fu0g5Bb@}xMA}o*J#6aV-5auTt8j0 zn_E$*@Al+>F;@$#;!B22eyMx+WLuY_=V{44U#YtnF+_QfE;B%;M6yiNBnJ)LePZVq zq~M^ZddvQ)%XWyf>0B-})1iMYe(20#5Xvb~`-}V^^gyvqU~=ikx=UN8_BZ|23O`sK zV?^lJ2AR*VEsoo+e0>M)-K~$qWDHG+)z%NGC_9V{n*)MleP4dq*gn+O=G$VK0$|ln z5#d?iMj!hJia!1~>UYkLWX~?MrU@Yb_(4bHIL-%Ld2zS9+#j=m%zx47vtJaDM>YCV z3VBZj3~+%Hza^!d?Y^E_nBP@@#GlPq`v&?FIX0i0iJ2prQ*9%oF4rmFD}LCMK-^@O zYtTVhUPJ`X_NlI}?uzvwg#a_&aJ=X=o`VPWQ`Pb2UjcFk-!Iv%+e{C_N+pZdL5!ci zbna9|d+e-tP1rJU+SnphnsG=_P2?rB7hIcWxj!2AF%Mj?>;|!LRRGeAjrMJ0LRHla z^&V_1yb7d;-3i^FzQ(DrG7XhJh|*5dmO~nM{B& z)YI%+OmvV<0G0<`uk2Ank}eT3sjb6nbdGC0&O==5e}1XiNVG;s@Ei2eQH@&zsMROu zW7q>ooQfw`#wCgjn9TkbkV%SsQ3yPA5?$9&+@`-CVi)5%&=8xXlWA(Vxv4DI^(D9H zV7CQS?`-BkX5ZMBCQ3wiGgJkiyaLa+>4asjgkJS=VO3L#$#oUJb5#r0J<7Ll%9WK6 z`WJZ0s0ePRS5yFRPz*)-Stn`)E!5Hqn2O^@5lV{mla%;x-+IJCudNp5N`-ME@I}r9 zO-*B*%GXIdyaa|gDlF2t4}FRZ$|y%{jaK%i8#h>?C8pI(`M$J+UR@G$>E2FhOFy2@$uNcxrPl6l^-Wl=Nh!Dd2=v|Q zvNF;rYH9;qlM(mo8tWJ>2=TR7=s0EbDKv{tI`t1|e-XXIf9Mk^Z&sp+$sQZf+UMGd z#Nne#>a)uFhO<%p|NraK_N_ z!yp(3IKlFr(@O(oq%TnRvNX7qfH8%=9cxeR-oEE3|5Xk1J?)g;6i!K^1LPT=OQJEs#TBPcuwt(9c>Be;X@YE0(vSZ)4jUq)1spaAlz z&&nm@s|?-)6)|<}jBxJUF9^~H^`{Gv%3}qN6U;KJNz~WrL0hbkp0aQrAD|{tzj}!Z z+YlxZp4KnDkh7&qF1(e>d#&}zkJoH^>?hf_GjZ${cMoyQ7iBv;Gugbhf`s6lsK8~y zWDwX59DrK(711zml1Q*!p2U|-tA3gh4e&Q)GUY%s&*;_!HxVL6F2aa~0@M>@e#cIV zzU!>iI&pCWTZ*j?)jt&WtaP*e#+R;e&tF!VW}S&asq34X1D9uZaYvC+W-TXqIZa_> z)o+_=4;;~UXdOcPCiC41k0vN0rc+C!S=Z1aHhgwMM;EopEW#nRQ9H%ApY}hXp#%Qy zOJOpWlVx2Q#;UiikqDpYVL`a0)i!DhKOURpax8^Rb=w<~`K|q0i5vfAz3fU8N3Q=_ zYl_z^x-9l~Ln*b--bOWYsLvHeT#)O9TjRB+z1%=&V8#%ObBd9+1bHZbfg@jreAGZq z3a{Vi0+fiv9dZU^C1!CKNxWP)?M*ee-|-AO>77EHfQdu(rz)fvO2SyfCa-oI%h~fx*F^W2 za}Ii~fng&pWlTq3j6*6s=9zK&$TZ(yH1sW_;>+s;&srUT>^9OmsIDGpx3Ak>{(RHu zXarzqK^k^ds!)`EvHlKUAKWM?s+f;9ls+GMa*EYPaY)qu189dcqe%+Q+ckFs3y9IaC7 zO?jmLFu-G)ocg*l=<6E_u+dvtu66sUkFgh3XcG)6KkmGhc}7i4saI9Wu>$jy18js> zb*?kRBqbugsC#myH7gpULWUbA_ewYYk!AiSvNUkp9Yt8k?Zi~6pu4H5qmyr^uG0-* zHKbJ+MZ*8Vxjl@zNw(hx^o57rQP^yH>A}lTC!lE${#e1A1APBMd_~nR?V>y{+_fi8 zfqH^0JkE3b%mmAqp5QH0()HPlEUo(JDCHt7eCvHtw6xjWtdibS%p;+iCoE?}PT~!K z(>1A4=6R$~d)Ke|N{b+EQGwExaX$=7bD*ldc0WOfCTZ*~$JKqqPcug14ibyF3zH_oP>!ORwJ#~9 z)0jI|cwpoGrvpuSF%>bMK~C5Lx`3*)<`|KQYK;kNMb4(r*b(ld>j47XPTH}$UfwGg z#jiZygEMAI&2X4U$CdLa4M$1)MbV3^ZBIHAo`5JKNLG9BL|_{b3H;EaQtXNyQk-2o z`;K{%DDui$eLqY?Y~;m$w$@xEzbXxMp3A}AbGw?^G5Ua~^wL*fwU#^Dne58p^^32N zSi|Q=o)I7!E?UTLB1ZweXoK7{B;g375;2eSJH;#ju?fk^v0t8mtCtcIdACBst&?(W z?_VTc>twvMvfh{$K7n>=s$Df}2dH)7&b=J4LX$ILtl4}u(Ziqao~LbE_`Sqc zvsW2|_xNmg@j}PzL#1z{&56+>zN0Y2R)A7D09@l%yOgANFwi6?5?Fi!6y)U*sjhqS zM5J=nGiy3(T!!$HEq~!wlv)%&Uw=fnoZ##fbR(V@(G4|xOS~TjG1D%tP z!*fjmu4iM6WU~Q&ji!>`Cc7v)w;2BuFauua+BI;MSzWcixZxi3i<&vVnUO}YkLxTg ztRgLc^mjoeYL4jlD=GRru zh)mNO=U#M$VGMhA%hA=C8k5)fMNii-X!T`^PTn#e)xnMD1+M&%X1?0>o*BzYg5>Yg zU}k#vo%J+NnNUgp2)g#&*B`U_WT3D~nM0WD==*ztc#_j7U!8k1OG9)hN6u@b=wyl8 zjEqBNe1k5irscCYCHZ##54_6ZYX6#gAK`R-Tu~!Ep^{C^!Ac6h@8-G9M9(=#_?gpH zdJGYeFrEd^`>DMOFf6~ul4Vmub?ep}jc@*EZzBEuaLxTP3}pqlQw$qKa@+Xzps{Of zDPbvu*magSQhZecgVrO;uIZ5L7`zO5(pgN=uKoWQvW5bY20& zgN(;MJ|5elM`*oMLK@iY6&o$sb{yYiAV+~OKm1fqFGYFo-KOCn=Jyy)%b{&qTVoxw zzYz%^M1^Za@^&qELUeTJF{KAJaq0KK-*1l!AtZcqWiv_8|GxqXZ*Y?p$a$%h_axH! zx-WmT@HzGo+Afk28y_8gy?;$(1`%-bL^@~qw1K84N^9b)mh7epneXDVy+Cr=xriMI zgwuiqxz#L9)04>)%kgy~Phi#%DEa+;~^a2sdSwy+gPRP2QL-z<&yVA zd5~(XeLR=HKR_9*KQi9KTE>|W%5(gxy^4QMEVQclcqxQ*cEuV=vD@rQf9q&m{@I5d z)4_WcVJG?*S&h(7eCzhvm=ut&u+lX;K}i3^#1hQzRjRwiuJ5KIGjamRcVxcrfO<>p zuxr{`jI|E^Zxx)KE3B>sZY+mE&i0Em6TId5ahPr9+kd!_kq_FSECI*u_*KWaYxMN1 zd5Td}wZ4$SGL0-Dc>tB+^ounC6P@a{{=1Bf?U)H>a+wnYLzUH3mQ!GJb93wB@^!WU zuz-WbKsG@QUwwUjvE$nx?O#cE#ts*2LmxZSQ(8bu(m^-(~kv@IdAZ1T%3 z))Pd&(u0m|6VvosPY-rB$$QUUA9LF3=_T3k!$zN7R*Y0vRnzZ@Co9SF2_d}mNY{oz3=M=TsXlokM7aSM+t^|pRh>E7PEL+f#US{yRDtdn z=n|RQXv2MubWBV>Wn@(3N_Ip&H2|62Ykc`y~TC@&WN1N;Z1O z^wtAI37@eyocnJe*pz0_)&&+`>*HKysNrZ@+`$1ElN;#Z*S@8Gg)wnmE4?#G z1IJSj_OHzf-rc?`LahwW)d&fhrC=8NwzC&62x)Rd)dXtfqfn?Se89?&j>}4xV{P+W z_8QYF48f;ob!(4!Wna(0d)H&TWX`rCWEEp*N(dt#H@qDQ8*_OrXx4R$94ZYe%y5SI zXi;F$k=g!q9mP86q@YbwDk%`(bY|3Si@i^6)t|rb+In_Slci_U8VGtUqbwJgO^B7y zR3kpJJijO3n6D8kdbBdio-80OIv))ZTLKAsT#2$?wOg4OH^2V~ZAt^=NZcqzvAb!uRpql(d%$4r|*Y^QTCD#7qcOppXr!OQ!I>VT?c)L|~8 zkCqA*RZPca?9)WAyIx&|L@UvR=|e)7_bLL1L0LOH^UvA5gS4yuOx*I^JkBV^m>6(9 ziLa}RRMD@LelfBo@5=w(L2ykewY@E0)NQ8TE zMHDM{NTY7-l%wFwvfOI%D(!?%ln%<6wXfF5{$=%0R>Ek zev5A^>DCPTKH_!SiLqR_FD`+n%s^xL{m_?+Su=n4%$%Hy{JvDXObF@6Sgoxy1{)>L z5kd2|Oi&tsZQ>vS!}k27`ztX%Qf^~&QzJvfVyKxSZjwdDrVhR8%g*+wsIY%m(Vl4d z8ble0Sqi`0(p=k}Y!2%~j6}0M%wy$YdSeB5=D>l(?a!uQ?D>;2;ZYFcpBxfe4i>QR z5-@nH@l_sb-hPLUg@29>MIqrG*TxgYS`A-=TCdm`rx>cH32D8BuI!7t&I<6rSibq{ zn;0oC)tyOqwRq=LXTJ@o3SB3G#WrquJdgVSEk?tFT9-6+g>0>41gB z?H0@n-NfzLdh)%a?K|}SP6Ex#N^i`oowmP3p-~^^foFIi2lME{MsdnrC8V5;VA^T= zH%dM!yI88c_e*!y(-JddcUBi?nzV}^gkYKP-hGlr`UB#|*96;-3(+|F4bDk*7P@=I zUxHjnkhrK>4EspKhGBUeIuQG$zW#~#506{NW5PlsVj?5LI&M|6nngxI&J>X5FUF?2 zCb0~O!`wVvuWia}OLhZX-d+ONJoK9Sw$<1;s0e%g@OE3K9f!a8jgtJq_nS>%DtF2~ zjYcJQCyT=%X%Go(dfw%VH9&A%e9%(~m#HMd=+A)RFAzxAtR5^1WVt*tUCJ~iuXO4Rrh z4>z`_CtB=_S!SgTm+MY_4G-^kZ8s)eYiGnQ#(n$d@{vH0z3(_|b=!6Nc=c(^kAM{y=JW&I_P*fo>}R#8@AZ}z6RwU>N)cJ4crCc0ml(F1Ag z7#bRAVSKMAG1Xf=Tf(Vd=VQy1SYjHh+-%%OQL!!;JR(P(N#KBe7_4Suly${LBldDeD0KDQk_h9uA`7%QB6PG@| z!;&9@w-NCv32zNdJkTd4=K2JDBhllg0ScI*~%=7SoIM)bTRey+SH)(k#yv%|c zx{SwfoSAt05>8%jPpM(_G<5>e`RgyAoq0x_<89|$tI2(=gS5=iD=T#9p-n@BX>TMs zup{$Krc3wQp>b{&HrLR|-RIrYrCbU@ zniq8hv*i#8%)=HhdSDK<+LK+#VUpGML`I7|bG4ON0+M*Dl3ZKk`N(sku2-8Y+MF=p zT1O$A&*Q#x*1cFWdhN)(eG*Nye7{6>Pg>L+u~c#vLj=1GF5AlyYy)f9sKmrj8=GRT zE6Xd&kclw3Em=gkeP?{#{=q?`$5LUZ^u6bSA_o?Aozeqr0(8NZ!0VLbWLM%u?LmyA zj?T``k7lLA)ryyOK%mqoW$X8Ofg|_TTf8u@mbYhpt4QnRnfa-`kBw!e7vhWg27+hi z^~Djm-`iVsk_gF&j!X6JPI^uoK!NDDi@z+gH+KG{l7zT&Ki|i6~b!Ptv zY2B8R!y%eI8EB-!{3=1*I(i-rTT>h|vxG-Ke(wYmbJ(jOlIEi}gTEIB^v_%zo##k! z5y~0ED)~@4Hv0iSIRLm1>E;vPQ~Ig{>O+oDKFIq@mF)OCt~DvGr3_8-5uHw#lz0pB zii%o#;iBFx?zkObPTbP{;Kl?(t2c8m7njOzytW~Co1RD)!Ai#K$MI$XQjmDe3%X{J z!-BFTl&_%-*eQmH&U5}JQ(+3|sCLIqy^4guM;o@Tw)z-hPS5O}XL!#Dp?>GqNcIn; z;>X~UTW$OudF$25XWHgPgAOR^AEA8vTM{ZdbB#g~9Bh(uM=i%JzXt@r8`cv?U~x4< zxo%_HFamgco-2V#|M2)A^2V-^``O(-|BpIBK^?GoF6NowrXZP04e0MF0q;=4_1$(3 z&)l418I5CYZBzC(<@?G<9#tIRQ_>Wzt*p5>YtI(mVudHGUVt8WQh>@C772+Xi>W^%H{*uWs;OL-Aa=}uPDG#6?J5WOB>2tk~qqPWf%m_S%kd-L~2X309)8@a7DYq5OQbl{K&;O8QX$@g*BN z5BBf1Zp9S$m;oR_$LIT`T# zHYB@Y*p4Hu+vOLO!)&0`w!%uLkK3LU&z~(!%4B9?Jc@RJSy@D;19)Lsi2{wo!#D{FOrf? z==V$H%hho~)3(%%ME2=lq+lECeRyzC;Jdz!;zkCGwhUJ+A?8d9CJDQ9VAJ#rD+z%k z&py0nXJPPvuFZ#Y)IxWo8@WJOp6}F1=4)bFIU*a4w94X}_$1HPene2LnXO51DzGEc z(Iu`4m@z$bx}mlFvzjJqQzjNF{FYy3U|_Nmc{Xoc#S2ht-d;-T<|u#=+pr|BBB6Y9 zvSl(6uBegK^3Kr_-sZ@FlCUPb@~JABKRJl50Qh}Vrm8SCx?5c0g|ZPVqG<&iWel30 zu9MkU;x_i#db_d~hm%-98DWFtdt(Y>Mr&$*U)NG9vG40E;aDkPnYns&g9;OiB|9R0 z4OCD#Zf`7q-}3A%@FAPz@*(O2cn>*b3>Oy4%Vkpn-@NGpb|1XT=I!c5_y?Kj0P*TwXbi<>HfoyE9D!nea z;~gb7IcmUQ@Tq4aT3RFh1!f^&_l@}p-OPi}(kTZyOGQFLH3H@>gvX-orkWq}hd#8o zp+dOf(`RV(;Dr+0C_F?5X&X77ufg{pqj}m$rC~kTaFL@W*18Ggc*2rF;K(Pe>^(QO&w03+WlDCBIWr$WLnP+IE~ zWwZcsB}Nc}H*28s*gzdZAw&+TCUalm+(l{mwUhqx#MT(T1J$#Q4cB(uKB9nk6sHRP zjrCm$Rt8gJDw+$A;oT~{FLVz!U+5xyWzIyNNy!$r@7Ss;2nV`oDKu3i|3fHWnRvV@ zli5PMqB+_qq~$~RTeu-H=CSfD`IS!DUX8(kpf7`*I7$|KFXD>CeWcA?A-~`-Xobg< zX>lp1s|d%($8+kmUlT0qk}2W%C8nq-Eh3_9Uxu^sH-o&nFA9XskW94e z)Jfkiq%B*eD4H^wvXHZ={ zV6slqdTE>VTt$f=#0dEG?`@~6FbR7+$MMFsphA?lXx20z8Vcn*o^NOp(%Nhq!+w6& z&7_W;jOfkLXI_1AW#`O)((6qhspt#;atR|8r0lPHQbId?U z)ke}^55=02O}E(ybXlGmUv^VlKH%0%SFl>i2iE;^n=@!+&;(2d^Y@#0`NEYq-qBsN-f0kFuEwl zv7rC&OP2Eg8I6?6@=qqtg^`2xVlI_*g|Np_qfdBr|C{IE#lh;8*n+&)1$e4&{2vop zkK-4pwn`!?5$*=bGiS1KrrZUCd)?gq-&zS{J#sy?wfmVze0}q z;L%by|H)e!u%tOJFVw$8UpX(Iz50JFVO&E|-R~J0nHkek*HN2VPNJjyb;^^>PHAi~ zGh?`4=Eyt1d*#v<&2tGI8g|{pL_}-qLS!k0 z+&#+oOkPc*=j2rI-*+EJ@LbB??>{_jTv>^}_z`>U8lCkDAAJO=?#ltkFEmf1hE!G6 zqH5W?@B4nD&taQPpSp{MJ$ow5L8_5WuNIYg?aLPumg#@f{gZ?A#SxzRz@VVlpAzc} za$+BlZiqf4O^&VG+gRu&C3mg4-S|Mi=+3i#eQFF5`R@pC(N?vFSU~ycmeZx|dgYp$ zBYCllU8X-tZ;edigXWk(cRj;ZZn(tWFj9M5%)|dw=;=e!yOGXRTB#^C)zW_D8y}LE z5=PeTRY^Z*hdx8CDqs78J>xMMr!wxY%DDHSCX@`WPCZfpYF_z z4?yt85#SiGSBNhXm^Q)1)t&VM=s-X)oDaDk&S`3MW#k5u-&ovz(a-4j@84)NIy>h3 zafj>|3Wjh&!vOrazVrzacj@DOZf@@TKX+$2BBuF{XS_Gh+uO-Jlh=S`XA1@sK=h@j zXW=ymaf`W|B%pQ+znNar2{O>Mwo zPk9}>8lIUZuGrx>)o+cYTV8`rmX=gz%2-^|KE;AUEQqWH`ue8+;f3O zX2#^Q&BsKRmy~S7*x$p0jr#}s&HPaXUtwB@YY-hHBL&ioUJ4g`kHu3u7I1PjH8!1I zxiX^YW{}JVIWcK|1yCjfhpUh$Cen=_g`S>r$jk4TWiGS@Gyxie&#;@_r&sr%#;o%& zi0ON(3@m=?{B#zGt!r&f_;3vlw}c$eq}90@o!P!L2~0=NSjb+Vot`czD1alBvMSFu zU9pN9v|6a%hz2(kO>g$WWPHuiShxa&NH&9w6#kd%T{8_plW1q16ZMXu9)&*Yp&x~-AH-&8R zudT~ZktAn%LT-nQ{-EH1Y@dS=%a0BYT7B^18NpDR;Jd|(oe!JK%Zs<>Ykf)h)gTBS zd}eX_y(0vHFcB86-9Xx^)vrsKf?P@awSsOjpn){5h(?*bMu4K?LncVMr^9MZjEvUv z1+$baa~(~Cw>q?#y#Dk#LE(qlj3%b0qOLRRi;Jzm-b&28@uLjtT8|o3&5z=9 zXlJS&$Q6}Y_h2W+J+;a^cWvaU<+_suKLX+|n|M6flzGLgGmZl}itt}tE(s+^ z#v6JsoOK`6c$k|b)mbDIr2U@Q=dQ7CZ7XKz=Q;Gld&*hKVNgrHL@FL8fg>2aR`{M_OAp1D%ZZdIivkJmMPlrdt!v!JO zGYCu&9NYXIKR<kN^tljeU)OIA zLHqkXc6Usv7Z!RrdjeS@o@*m&%wh%x2DeF7>}JtnMkiOV0#6U2b(%wK`lMiymcdje zn6OU3zyA2aeh+iZQn+fPB7=SY?CE|CQIz>EQ_ul+lhNLOa7LpYS83WCEg@De(`dPd zGY^KB80(`lf}7vH0(jJTMFleVlxb&qdi&x$y2)mu7`W8)pIH`3iFpr`*ST3iGo6WN zvgAn<6A)*_?+G|BHyVRGnp!(W~vb z77WtlM>gqd#?box`(~@YMFJi>GiAWV!MQsNA;u&I-yyBW$Rh`qBU-Z15+$WC3SXoz zUWA(i>|y%m1K^TH9qHD9Wcp^RyFbSa3=FScyAF32%#dcc*GtJ_V>|rjzvm|j%CIUd zdRpe-=pd&7&y=jF(47EFhg_?k%FTP~hrXLCLFZ$35N?PX=pHUPRM3^j5}VRupbb!Gbd=? zl$x3Q_IV|#dHN?_(=J( zY;Pn8kKN2@_6b{uuk{qD2n|)5H{P9S3rOCX^L0hM$vWPe%(CfdTwh=8e65rgQKY^* z-KsQA?rhqU#9fX!$O=t7iuT^zoo`f6SkiM}e`gyL1gy%GK)SBq#*R(>(rG`8ptjbr zv~^WUZklc?(#WU-*P5Pf-@%TJcdvk$eQw?Mfa_e~|sTAe7EjPyY~96xd$;&e<71ND-l|Y!~R|?M=#Q+v|}1dgsoa$*NgR z106Xzntg&7Sth;9e6#$okdd#Htdvx{qCuU0Oi}?yD0yCznzq}?56x)tfnPt@7!+`E zSUk_~0rtf{uTx#Gz*w7(9Uu zNeKy(p0Z5$AlQSnQ^DcQsgldU5hj7;mc?ZAU?Q-fAd~~Xy0>t7G|dkH7%7O)qcI(| z2b^yzrt4i9+Lq4nLm?Mi-K1bA1{f%r-j)`N*=dwa@}kIa3Yvr{=Vf* zX5Ui)gNr@>u8z@9NbVEM-}fSXzIjFGdvcnFOb|@$KP(`5xN>+%A17ivP~4Xi7z_*8oN#^v^$QHzF3Jkb%!p?vxo!`dFO_7!@e=wHhOj?B z$k|#(Ypcqn-JVmsUFSyZp$MheK{T2fn(eIYin;xIgGKjrtK^6NNXb#tvoSJy@5INS zA?5S=CETRZ?W4eT^zQEZ`kSRcC+?QN5*f0ZEDY90x+5U|OZEDBxw#PH4o)ktHz}EP z2eZk{%na{CBhpP~3L6@Zr}mf7uM~Unfxr_77))R1!PCaTw9x6XCr5_(W5oM z+gZXXmo#Up$aE=Nu!omVcsmcqK+|7@P#T!Edu3|( zxx0CNi-<6MB{ha`l>#fl>Mk&&urV50$1hUei^O$`dp^ z1|M=sHByaJ{jTl%_XndYRo~3rd+Si}hn-!R-C0lEaRxQ}7g+xhvlw03lL0EyOdRqi z*8AR9pUsA;ClB_&fw*m*!0@4$>S}hrFr|(#ut`nhknb z6Ae*v@M0AeOG>(=^-OP8;B&9Nce1iwQE8%rhBcAw7|#Bdz?J@hU4AT*NDyH{=%b;kq98Kh+_#VInpwlM?AY*Ieyh7y)NTLmhRZ6tX2^UbB_ ziHT{Vc<@P@>py3%~In%eU$VV4upkI$O&gjt_q5~K-T(4>*m_%%2J`Z7J$`?qiBlg9aALkg3! z@6w2K=V-o(e|#ik^dtrA1!gHy0ez$084_Rh z^mJyXW=M(KZgVn@Kp+rQPdux&8BEcNR*&ZBE|8X%mLZ}oN!AIZE0VY~*T(x$5;65F z1-b;6a++!E=9?NGZvZ5vl$H!BpGaL=4p(b?riB^3lN?$Eb);vsyP4p zE;63Gq_px*|29G`MJYicf-V$;F1YyGWS(QbNV&-Tktin)WLdi_V==_nrG#zeM}G&= zi@SnMzkYWhwEH7JLba^2q_?+sd9cd2Z`%76oUsOl>Q0q1Y8}n_7A||81mTZ>wm{n= z3PF$`t=*@Z=7s5h*Ye@VM3vp?{sa%SDq35Y+bAPuZ>}voO>5fZl4=X(^&18PLwmaUc-C@7+}y*+|0rZ=Z*eUG*&GM`mD ze3L(he)aR|9{(M512yUUQwCs(R#syTI48@4k7TdqAEJPWK{MbeHt1{B4^n-L@!NM zAXrKxG$V=_sH-vp3T;Lhrm7MsL2*{?-kP?NW{*I|H<(fL6L%I4$*JLQSqhB}mXY*k zI!9Np4lG#OH^#-Wc2Ww&%}$E%i8$@2W}p5Fyl`@IT5zm6Az{c?U#DAJ<`WjSKRTG{ zNfvbKjJ4X$1OLj(G}Y9K(&{0pe8S=fyLmDDE|sB;Mvq}ARCVqliZY&Z$HXJ)<9IMx zTk+}K!5!IaV`F1zY27RS?>8pvT~80UW_(RLK1Zu;g&K2%K?eu&$ZqR9J!U;j8wEON7oa7 z+rh;iMoII0`U`5Wx1E^owTotJPXpskR#Zg~Hlc&L`3DB%c=C{Kse_7){_+v8flaX`7lhY& zpN!`ym-jcAu@NY9SPbXGd{iPrNkW4Xfw$M?&^i6$Q4v!>i(T=hv~;q;wyTS$x39h3 zYomtxIx)km6=kK6U=ebk-@g=!?9xSRL{%jDcVFljvm4uhK%u|?OVQ$@#jL85mY0U2 zGBGlG(MbQTqvO3~t)~&(Ay)g*-f*rM_usplfPs{+Ld5GThQ9{XWr) zi6Cy0TlfKiF6*6Lz44!OVm32>8Cm_>s91e+bY!L2A&|b$aCkWMHEd{zhpM604Sizc zbDm_kfSKj9-oAImx&$~b@00ytkK2;gyFVseH=eHSIPEMCbc_YNuguNKCI|`&>gmC& z1l8+C#)gyhR#z6e^Sk?Wx1IpKUef!#yrke@Jkq|kRdnNvkzz)%*ALUwVbT{1EHm8N z)wYiwVP8gFsyPS@wfhdGk;~eE`R`ox<99FHP|oh6>VXKY$M=`Kp<3Myqc^7X;Pl?*Lr^L zuRj)dhN~mhJtMez469o{*T4OB#fTU)GlNEdQVWV?6qYx1*JvHBC@V{OXiCQwM#mc# zwA9Zi;f7gSnp?Z8gfgglBk6KlU9vpq?!qi9yKKA6DD-EcEP@uX4RWIrWciaPXCP zU)h-agq{XP-05!)3k#ceU$WKzy}j-A`)7Lgd3TainMI$Xl9GO-!=Uoc61`Ztv?SNm zL|ZMq4n!_K7UOTGD!muGslf^Hzr`FT6eg(h?A^f4Mp~&ihZ*m1FoVp2k${5Kb`)uC zZ50v{n(;a5nesgF*jr0VPyhAn*ZF!?D9GZ?93A;C-%2>LA%z1(62%i2M{K~!^ta#7 z@UDGdcgpO!FE?Fd26?TbAZz6>-FV`&brOo1TRoUojtE5x*0*+;ZTcE)%%Bz)fBjlm zO8Jy5ub>jSKBJHkKz;l6Q`QEG3@Dis~f^ zcwYwO5aOWp{(CdtRk4V#*FU+Mue62Jmw6sUU;;mFm7uA5VeYGi!iqaJo(I!uwFdz9 zR3wnaTn^bd@ok`d>6b5u^D&W&-RUfi)`wqAea|YQTVDZa5+sm^CnvtA=)j6$LErQG z5P?94Iksp@vsczDvx{nMV*zsalWm2I;5e{9L-bFUmpps_UWh?Tg^?`XH$CqNGWPtq zyf5QXv{3yuLc>zWh2*K)^GVd+4x>+Y%FTYQ&AJ_MyFo71Vt0eX4&rni;C$%Gql5fm zNss*vO7z@pt8%&H*9`2w$@MHu;6#<}k^K$=L=43Z=Zi|K>k`-rk!&Sv}@b{EUrn>gdw$@-sCFH-}P6?R_P1<+1cahjlK zL_x}u@Qjyom%RMhdqXC;JDBJ)TY@J5|L-gQLQUQod5y;pLuv(>x$I-Hzkf zE5{?;mG;?fUpE*P5B!)e;=U5d=yQ+#A+Mlb>FcrZlqyb6E|)hm?mxf!=r1qKDJPVa zIGA|v5qaOhy^>Uz_z(z5Pevv->rOVBU1vNarPk@jJKEcW1fDsV0$u2Xfy?Dnex|!i z&gS2Idb%4M`-zMdT&Sj0Oo&g+TlVFrj>A5XrINA@$%?!5U!gzI5|P8#Z|WZUY=$KE z@bG|cr}bFuxEX3!vU79i<>vm>a)5|ROE;E2*Luj$uWde&x@O2q#Ky{sX7Sb_A#oje z3$0AM_UxDm*n0oxA<172t~x8^^`6c89S8~_aC zVw=EQ<(o+EezoUjL$S$EfL>BFCOmxoJ7dQ8LN%_?I^U*!PFnk^s%_!vq=#fD2ZPB@ z?~*S6RhqvDHlef0FQ3&F3bEg!uV!0P*EqNDna(dQ4&)@&)MO_W`lq=SJ{0Cip_Hhr z1JRaMW^RU`-*->DmDg0dqoGvXpyQzUGN3qgHK3sv6$ck0O%?DdkD zO)2N+=aQbgiNY7=QZV6{KV|e4k?2q2z@v{>>r@vnRS;0I_ION>tuHIOX~)H#RKD>( zAJ%2*hh*4;*u!^exeOyie#LCRV{5c&?zn*WG4xlxWVq)UjI|XxDW|g1y(r!~J$S{wM zO}OB#a=Pai7xzg>x^Lez0-VU^_I5~zChO7333^h`z@YZ1k;}wui^A#(V1aaveH2j^ zvn^Y4P<=MWOCKv^@I^&jXt8pF@c$V)PVeDi>hEX`0PjR*5cquwoSw8A(XmC4?od+x zacMHDy45HD7XY`J&E$K%b(ubQ>bt4TS>Wy`$oGg`VRYzI6B^;UgX=}9c{M9DrsqTV>d98y&rvs0olBethbx-WOJ0?m{olTcg>aix>Hdi?hcHwYTe?SDroJSyMJpU^r=rdwaX$fv%b^KxB={`aN9_xdWo2rj9&=;&h*P?-=Wj*&_{Dtjz4JM6I{8y$vdF zLKJ(8?4U_8EFOb@Hej+^A-b#*v6%8C6k>`=BzOe^5Z+SYopyQgc;!on#eUZ=}rFm7B!Cb1_x3;$ia!g4{>1(0x zZqTcg-mZ`T<1$iH@PgDW__oBbHx zXg~hi%65Hrk(*wUCta-Ga)))<=xR9$q9*2C&X?2R`%wQUWfTC8isU#wL8&Dsy<+Jl>_6y)TG zX9rzZ&Tt6B3Fl^Ksp>Bp6B8BW3K9pU6*xILI=diP=9lLMmVm};>Z<#8e`fmx9D19E z^p27AD&Uqcw%Cpnx1uqNzrd!slO}8Rj(8J2sYoDDr3klvnhP0j9kfj3afu8Kf$M>~ zQfD%f`yq{GC3WR%X#eYyCwo~MJaw*{?FLmjZNxd~QAbkWrd!C;=N1&pX^oMjpc68{cKvv-Cx*2kVL|BM- zapw?(>2?5(c|4&Oo1GaGgmd5V@~CvOO0(yO<8N=yxfxg)9O+KJ!?Zo$ zBx}NLm>3R zoBm+Z35rM$`u>22D^=S5XbHCdqAJ3m6_0p*GRxlNsF$2FNX*{OjytcUl2o;aYLTkF z9FQIbap9^ncVvSX@u)~FHl^P(ad4!_fAgL#GrCSheb`L|kjqNjDKV?j_*iospr>sU??FfOroJ;QgWu&F(q4Efpo6 z9FV=Dbx%^ZQrxNtr8*|0k+2&thcz5Oe?D``nXw^X+MO)H4ih0WetuLl?#S#f_oaFI zdYjVE6I%lUM5*;gDus%Df8PP61j>rMLc9(K+we>wAu*-%3XIBePnT}9=fN>#`8gOU zj;t)mY<*uGeOGW<_t9p)zR$@eCyNGY@Ztj)5BrPI3%6Vo4Mn{0$f6?dwg@^YH_Wrg zk7tjaY4JnlmRbSzJNUp&zuJA3k~C7AQOr$5qHf|4Z>}#@a#^ncXY z2zy^r-Te=(!_x(5j;m}G2=u6zsUqm5QNE2TI2|?Vvm@{)Iv(FGH|xGljt)-DNDGUv zwk)q{cT(i*@y-A5B(a}Na#xkEUEi-OG~(EXXle8joY_x6H~%S z9y)y&Kyi|q+}Dx*zq5A>F^^`y1(H0qpIv@{GL4VP!r;!tqDJ3=E$Aoj#z*s{L`8i6 zUiiY=MzqHXD|W8UUVbA0BP*=;l8YOSRbUMl=kNo{2B*F8ijEkVrUS{HJ56TaBLJtO zzSNsJJUo1d{&C@FPW$OTaM9(U?e5*xKCLSE~Om10=%y`@dG^fH-!0xog7>&O2#}7);-U{uSWAI6e@tE zR9@cW#ftNA>0O8}iy=)ms zOmA8VR6|i^Wo58P`zkx5Ly77Ab@9g2ZH`6a)BGc zotxVtaHKQiW3_-NT^9Enoys3lw~-{=$X@@-;uEHd3TK97q9uGi~PJRm`}QZVJ&oq9#6p|VTYeUI6=4FwE*msza|pL~{!a+?D_H#q zCK2n%MWP@sg*iCe4*kMXB;zJOmIqaTSRW=!9j4c+ES@IJ+3oy^SXm{(J& z#_`j?BT{(_wMv_s|D=HztAn!~`z%}NvFnTfFgd9t1JyM>k^(Na{!?Gp6MxXNe(Q*_M zlQlB>?$sIk7lvA&zm&-P2Hb@Q{euO3vY1~#w!?4%iPncFSo*|{Y<@bA-)d1`d1cU_ z;rHV67l+K*??mtI`LEpkCK5NM0jAKvJ`+MOD42p_>lr` zOQp;b&a19JD&!|nNs(FnxJoQ+4V*hb-hjEE)*f*q$QJv`tCUOqYR0E>c9FYGl~->B z^>bdzy7c|zuU&S5g-t3z2gux4@7Dd72YRP7zc5L2vnI0~_q1kicxXJAlNsW@5ricJ#x_s? zqr#t?V0#C0jjO%O3^6r9$$uEZv&5n_RV6lup zJsKr(*&H;Q{OOQG8^gL<`ABBS3v`;1b5rsW6%=#RarRI{{|4T&mf`cq$=|1&(7jFX zxOrgG%KA@2jqc8EEHI#RB(a?z$>3r|y#undH#>-M|7%2tzrRHa+n%dG7lr)v>q!xw zZln@*+`SDSdzF<1!DI(~Us5A#Aaje9BE_9&V!DErO9W>VD2pA^LO~szu4;qg?Qf^FFm&~pf z|04q~@VaiCcAQ#JJCVSlqqTFyqn6sP1!NPKGz<3nxWNlON(%Bxl!tTM@gBGo$zna9 zUR`Iz8!_t3gNkJq>WRE(ryVgDAREA5cpe?SJWye``#Kt;lzcz#9FWSItm^tz zKHq}L*o=MGE9|CFK-mSzYaq@_Sk~v@=u($H%C;FT0$28o>5VmBY_*Npir+h-7Rk71 zWAvV1UDDL+sBv2A?c?xq|NS%5ixD9yY~C6IBOoAX3rmSgj#kpY)|2+W(-F>s(eiYy zAauVA)=WlH-yPgJ_waWaV>}SCyk%!s3JC=gR1^K`{^rh=-y2gZ{zsd2{4akz)W83L zbJn2%b+8_j_UTS=`qasRC4L$T%F8QQFso&OKqe(71@F`SEJhZ?lH%oYIK1^w?mbhw zO+)Q_w#u^~5g{lzT%$Ku#K4fns_N+AYI*mw+*^p{MTQGrN#u=OR^A7nxQz@`G21H( zp+HH{bSEt}Ep2&l=(PsBDg{ZX%gPUj&TK`XUBuf8-Y4Ggu0$X#YF*ZDEZY>t-4X-EaYkxT`h9Ba)6v+liuu{jShh$(yd8sA8{!3E%WpuYj&E_#5pK=ioiv8 z>Pcd@)011!w_7b8A={;Z8CTgjJ*YD2qnCa}K-}A_qchT7`KHo1;Vs&J@bfN|hR$<$ z)pP$x3Gm~5HoA64ea)R7ZKyq0dqdsB0ib!vswsOY?RyEP-0Axo6&0DlO%xi0`H@4g z9+^!|kDK<;X))5o=aG!yr%xo9fw7LUnVG(>iO~3yz2&)CP9^x(7F;ViCPp^FsMbYM zMJ1KjNk?8D@p|HD$2g;gpM#^;O#1{% zNqR17J$v@^QaOCIAe{NEeXVJ_$*yOmF&q$qJ||PO!uHXW&wEBoC-WfrXT9OIL6KPf zasp6P`3^^CXN8NCkPv@Iu(JHMfa4OyRkW}`_OED4;>~eIz-iNsmDQHk0S$;iuIvr( z@dtIZMy%hz^VP(3_H}$Bl=;iHzmKpn7V$}y3dc+Y3dlW$+&40o@cszI#X+GVAt+aq zUHBA=mncyHNXN~^{5Kbt6l4Sgo;+b`W$9H@1CkBa*{#KMoa-WDBA~o4P(!2qqd}{= z{`uit-#|^w%47|{k^B<{{;VN3by#mlZ}<%oS65g5hYxQMkQLVN%#--P^Z!_latF6) zc7b}0ywmjr6JUSD^kSu+eZ~W?aOrG2)9{hwF=WvIKg$Rfi)487+KRz*-Ni>=UVkX7 zn%31O;L1h15uTr8A+_ZCI(=eG)Y(1X8&}^qduiN+LT~l-iHU@K>@4NuBe$EbH<3mG zk=K6{_HaI0ad8x9dvEm6yoF_`$HM%*skOs~dM^h1ft^0GXL{Dw$pJY}+~nL$O-+Zs zVTw#mp-Pf$Yzb=bmB;(vy3b>HlZbkHp0Fts(({RM@Q1sLgtBemoSsQaNMNGaxY}6m z4ebnMrir5$G9KYT^jWxMp;n*b4Ru?hVAjZ;HN~wCT&xVdZrj3wP7V-Y6@BL9%3{ud z-jBt)k4{GO1N@=}(boB0{<)PoSF(CvUk}SHLHP23zIEY;^adYDHD)uvcC?6UVF}5? zQnt72K|=Rb>pP)~{tHRf0v#cE0(Y+G>`N=F2We-UbfmxTHpm$<`*nj%1Q95 z-32?_!omXPvyEqkJ?3e7m!8y{S=mI4N1XuX zbusn*TcD)3H>Ab@Hl5$-0eyYXh?q`vV8j?2t}Ju%^UDqN&u8;7WVlJBdMJra4S)IO z8+&^oZ&p)KiHVj=NZ4DQNwBK(o}d)tJnoq-4jzKxf~s}Y{De95sq^V!$rN+)$$L9n z@m4a;b*%o!m?$K;Gmd^vtGe{U@eIT$smI@{T_l;+%= zESz9W5z>xL5Jy$_YoAovfxl$nootrHkS^}<>gyNN;<_qK4b>vrL1`1~0%yYYUW?SL z-nDGz*w%n2a?lRaE}r}MABy}KX?jQeK7SwyXQJ|eS|F%lHuB=LdC^;B$@WG#?ZD`5 z-Vg!;o^;V~hQD$1pL#nIyk8wHexe{PB`nOfK1P*tQR{Oy-w`7QB^;~VYfMy#Y_1Im z3<#KRa00ZM0cPC3(Wug8J>T8Qdw?!9^V~O-@YXNI3rE&0FN36C zlC#dYTcta0jgEM!GtLHz#V07()78ZN10S2XnNEWvUjWjNB^E{l@;z`z4g$#`LUCBT z&=p9+s8qHby0ds*W+!PyqhOg(xO%>P^LBrU(~J3V8#(2d`Se)&T54XU{>WNTlo6X0 zXU-KF89F)qIlX(dTKhXfKHD77Q~w|WwXGW_I2rQBM&F$HN-2uqS?Qk=`ov!th}P8D zDDP%#uE$ua#pZ$Ex3_Wq79S&rhU{|i;3gO;t2{4ECcTW1Ke^hGP)odc(Gywc696Fr--=2AAl4stUTaJwK0^$uA59<^;C*b>D@65Sq+;e~it(?tDC_ zD*@(dcg>1o+~vUSeVz+s;;mpwW&gC*D+o8xNVtJQv(i_seNGmAlFo~SRyt!zdafJO zp^@rL))|;ujjMEAU1_+Q>lyBs&Atlo=7QA`m~Pj|dfIhpIdzPf!Ecai_Rw|g4Dez= zvnN_#*S;J{u9N`8(z5VaCm<0Ao5&9{HUd1V&v6GE2psnI_Ii6e&(9*IEA1v8t%^IZ zRr_8rfVg=H(NpcE2TcPx-32kN*oP!sMm|XYch%J-$*1_BAkAy-&;da=o;O%aFoTCj z>5b#*W!QY3(FZEc7p=E9Vc)2dBw;mmOvI*^>ULH!igI4HwzgI>Ss2Lag05%EUPpa! zw$SfXukK4cpX4a6n_XA{gF3n|v_BUqt@`xoYaOE+XwyX7$=>Kpd09mopR*DGP!GKt zV7^gnB%E5$^2^dSBl29H(W;Qy5cH(7R+g1*?QBI!R8*Ef8yV>9i{Z96tPR}7DbX2_hu<_UAJ-JK{nWHFt^cBMsiQwgwkvrIjf69i7+n z{u){GZ>H-^4}&y-Casu2NtMDoNj$t#lU0>Zh*vF0z1;On0@Uha`mD-sY6a-_MvIJI zdx)h;-Zs+KIG)wtp|l<1Mg-c$CUpc0lNn-PO*kX&!p!t_ru9key?eX|-+O2UJSqu1ByxJ^LVA1W9cvi9cNLidT$DMI zHXEGhVh-7mYq(dPd>c!E1a6sPVP_|wAR9>7+o=*$MDqK<@-aA#vtt&SQ~XA{dz2om`zP@dK^~sAOi#?b0{7xKs}G zz~S&DhcTp9R~nphJYF0RF&>xUG?Sbv&Z|m@WlIgdH$H|VIUDGb7H515D?EiJE?2Uz?A376iov-G@Bf?FEbqUMgSzi{;WT`#)_$39M6Iii zyjIaBz>DQK&g4;P#jAmSz4DsvdfObETL0ElNy&Op$ty0*R`pp0+L={RF??D7*W4Ts zYV5uj$8DM>eYTsWE`4TL>aOZcWRwgJz8pyp@}<>P8w=}B!`}?#-NpuYX`b>8XT}IPF&B9J7U^PD}q6Ew>fnTIGtLzExxj&ZQZ4v;lT-aohc<#=Y^P zBzna6;OqdD=%kBSJr0+7reiGRG5?f`YN=7T&}WhG1W4^=Wo4~0ZK%+K^63oeK*e;G z%MkT;c_@h=2;#hexSrALuo0vjxVX3|Cg$eUO zc5~Sf;}p?J*2o&NOfvA-ATJjmdfRb(Xepk{=rP%Am{k4MD^2HT*QJjS%}~}u?WAO^ zVRLUqU_Pugi($d;<@+$-8Q_ayKBpxYeofliboxgdwVP*qqcEe|4?u<;V^^!>^-GjA z{243YN7B{$fzRn58L0#^&e0iNpNpx3zBToWa~x0&t+zciI5-!VU;@9&9jTDDgd(D4 zXXlu9o7+R1$;Tz=rb_$%`W7kuNwTbr*wniqws^8?%S3EHDQR2a`xC<3DliMgJ<=XO zu$i)fa#27G@X&q;(+|A-e%2o<%bS25yV>wfHHZ78w*&HF%B| z-=XnSt58oD)j&k6RhYGFF6Qsc)<%$FrCC^7lA*K8R@NPq-TQHG@8PCtnrx7dlpz=d zT&??~E?4jq%o>p18Sda*uDY>mH2Ot3g`w7AqdcVw(Oqc<>>C{NSdgo7>iv?BTjQFq zRTRt0I&kEB@6!TESKt<$4RbR`bG_3M`Akty)->Pf&Yw1ufYrR5YBj+Q?7j)0?^52Y$j7H@W2D#I>6)FHQbD0 zLAU&RH77~gZ{x`{@TP~uMK=-S*jVLiF>p&~=Zee{Jna4#orv+(Ap#;*6>B#ycpi9$ z@SkVcU|swrm8@8W1?hLx0|XzB(U2)~7(by#KTWjOy#{gytnpmM1nRA732}wm*>1v2 z3mDsV+t_Dlr_43$%7%udG$S9cI+fMmOgp3BMM)_pLkbU9Ww@=VLGv4z&GqvYfsCXw z-o(guVeNTz(jzSWfPB|ga(0_H%WKUApFb~b&FeZ72r%bcf5Ke)%ZDJ;%g9OgaLU=9 z$en9%7V-sZ`M37CSrv>U;b{{Ere= z8QH!Dq{G>gVY_Snigm%S4M=HZdN$W`0$gFMu3YSU3G`H$=dIqa{&{;97S%Zt37R=b zg_(AFsFK5pu3du=GdE?&bw##pIMZIq0w!mxtZBI#6JIYke86x*2@+-NcE*(dq37#r^Lu*B7W;pY|r#@lMmtJ zRtO48NWl!WqvLuCJ~O@7Pnukw$m375L{_eaQ1i=1EbSk8C~|Mnv_o2o5)o(*)GSh@H(`Lv_26n?qiGwud}T{?=)fFwe1C z(@w9sj&FLoVJ!tNa@k}!ZpBjKQ%pTjq&PnIxbQwQ)p;YZqtz$VSc&>5(9?qvIF9PB z8})T2{l|QJK~>e%o%vW{F;^N|YH&s6Q%ANOWU=&4!6wg}iNxc1`7NS_Vcwx?S%~52 zn8ODVJS7m9`_gEx69rxxj}hP`Q1E1)T&+Fg-vf#L4@_n}J5~CK(=5DCvM_6Xfd|X} zdBtqOe6G8@D@^+PX;KEyeJw&E?69Q%%gz6H@NG;U@6~b_N8`z(u05v|t2wpij`Ve# zN=}>*zTQJVWfyGG-|)H;N}H^}Vvf@Jb*`?S^cgTwb@(*EBHD zl)b2ZNGi#r&Mi{Xe3xwqX=ZsGX20=GU@pnCt4%d4gd8RC*)5fdtF*7%nuopnxKdb? zEX9y@CS0K-2Y|b0fiCy5m7eQ8vxDy7X&M5;z+~a*@2x zMM`HNZrAFu$CJnU0gcF-Y)2Jobo*>cm*|5ex}&o&%$!7BRT*6O{@pQ4@?o-ufJoDt ze6yHGQt|j4X+~+`;j6ny1PU<(hnx7}xW~uRwYqCbA@ir7%l>i0Y5j8?|R&joL>H+i!k`FqC(x zC7)DS0>9nK-*OSMepVkszNi&&M|&@xDB$wdr2(maI2##tFnlOiNp%h{03077)u$_@ z^=UPAD`%Di!EVO}h<7U;rKEr_ETFp{6($zff!Faqgfn1$0Vk(QIaE$PAf-w!l||_q zgg*66xGHSgS>%@sC(#Diu`wX_J-};y9{u_OUZ_f@Xjzu^t3gqG7(RRFy@SAn4wl`# zn!MnK^Z_2#j7&{0earO*eyi*_f!%zUt69OW!7EyQd0d|$+Kd^)gW&Qq9}ne=X!yW} zlmCKnnCgQV@_Xhjnt)n^sWq|G9JPY0M~1GV%hsREmTFN_ujYBhB32B`qBM;!redqT zq>NTpmlfj)lNFL|ekc|^ztCRqTx=5LLMtuxTKfo^bWrVFb2sQD&%Tp*MMe@bDgO8iF7&FUWmhUy-O-HjDyy+8{RU;Zs1_0dQHoENPq1T} zsS6(I865kewX6HCpb*k>+}u&XM>J1{Y{mq?#K-FVAtG9R?CHcI>Z)$?+M09yjTp&B zOkC70&#XJX?y?|$vgW8@QFgwjq%F9=v6YM?9Hsm8IDh~1-KOCkVS*iP$rBw%3aS`E zQWb0&>I?3)?E${7?DHYy0;Ztq+qHuyyIMGM>f!P`=1x5y`9+_5q&|0wStt{je+js5A;UVpXvX=@K}%H9u~Qn>+fFM?x9f8X5?nMfxw~(CU&=A%V9T+BTbOIE=4M7 zKm$j*K*T#reY&USf`z_m)jlrt#Bm??w{q&4Bg577(|I11WV<^10)Z*^Ru)fb?xwrK zMTpkSLcczmC5gQ85c-q+@@UHJ5ROs+<70t73^U z6NBe6<fs*vHyNQ|Mh?n>o@01*O z&T63oWu@I}O6C^RR=1pgzx}qbz5-Z6eHkjXtro4?Tee5F~*HnwPp!HEai)ACd{gPVp(J*)z7Zs7+*%_3NWqTdCp!@V9tuf$G#8auT z`D{UmxHVw2YTp4Kk+XZF-B5s)VFaQ|=H>4X(!t4gMRQ$Wsr98&Eb_TF+>%-7k^a^G zyFuw0!T(xv5Dgfy(64FXxesW>m0Rn#T47~;dwnh&6Lo3{Kkut+$jG<##uI^H8|Osz zvFU>;UwZF*uYEcscU;p;bCqbMkm_$~u*xefS(_L2hehx&7;K87@_Bx0-NFiQx;1q3 zxZhFoc<(E)iA3u_c^ilp%k38dA8q9BezvqNV|!eoab{m8|3OQo+W(p<-c_+E@h6(= z-k$ARukzD?I~*zswxYl(pvj>Q#H-*X?ero{*E8v3KZ@+ZVk)@(oK*6WW{{(0 z;YeQ@*;W)%g$OYYGSx@QkWuP_4n6G+hVLq(1z&WY!?f>5*~LGo$R9IJ{PILL({Bd4~eL-1l~=v!Ei1tuOhmCiu-e4}RnX zN|3CJsbR?o?ird4-}&16Z7|?L?RY7yreI*eQK~T+g7u-fl8|hp{}{^b3h+gacX=*; zh}@;HVdYO0q>^vug&oQUV|-Su4@BbdMa)5=fDcm{X>b%1`D36Qc+4>vt{mDvS1>+h z&hDTs-lV;bWzFW~h@4*zx5*2zJ)dWUI0J}p9D3JvHs8hktv0ANe=58CVdP%2_2|DW z^(%;QvD!f;w@#Ka((Rwf)Q?b39YQbW^e?l#d<3-9fs@tz%M@|2{2qg@@u71YTL2B} zybMsV$RF?GIu9l(hyIfr$WY6vKjTOf{l|cD01phT)myG6My+BM_n-4U7ub33r=l=d z@b!NZ7@0Hhlqz(QTpa+GESIr7S4-!3v|ka}@6P>6wQXde>1A*N!4q)3=8AtegX5-T zX6y1m&Xa$_y9|6V19w#P9~k4$By)l6NxI9xKH$lgwpYJnFbb708k*PCvbD!{ksXV zG8l4L%+a4paG_TLT*^Q7hdTKa2@QP&dKwg{u1^LP^`jL3jJIC|ENAKqvDp6%SbzpJ zrTwp_STsbSS>WF({QY9pOX-75tT^xR^tC_ZO}-SD`4fl#F{eNA8{{q+FgyL95&X&g zu#$*oXKZjWmMNe-pwd^Fse);xeJ&?H^<2|6?-!17Os~VhR6w1G(66w)-q7 z&pPh(OV1tfXH3?97`%|>|7w@P0EXnJmOiTp>>l?rc9gLN_Dh;p>nYKsRqJ>;D69$~ z{n6tz>Q4LTg=eS*r9TV&AFX}Wv{cE;={R6lrW5@{Q`CnE{LyXoGE`ds3cK#=C z_4^2(dGvR(fA9k=h?JbVQ5IOVe;aW>eo(sDlRvwb^^fN)ztYt|4D&1MU$1o=$lLEI zL$qrR;6)Qb^VT3nQfFg}TUeYyv#@wC%AJ&(1J z_i(^p4k+;rIs)+9Z(nA2$OGkVMT&0EbDwz9`Y+a5BXamTL*gHFOY%Z(j?gwJ>3SXeo#RYfr zT?jl4)U1+9D>x-juU`dMr!bx(hLps7LjX)$FwPO8tWwAc_`^>_Djn>g=}QoD!-O0| zkQUQ2#xFQ-4&9eJblE7X?!JK~Lm_|719u!SbzIDyU|-rx3K))iqIk`{B`cFYVQV7h z(kdjRHj0OC91`L7kGx2x5qpu;&+<+PPgr+A2qiVGC~#goUdG6BP5y%eM*%*6sT&0a zar(yNcVBy_SbnY8ULlfmVml*>)p+&@E2HP9_UM2DwL;fNjW8}wt~Gih6%`^-AruzA z8y-d!7FOUsNyAW;+?AzlOo4CS#g|>4}?tL^{@`Fj1phg zI+@qge9gYBRl7*&Zq3PWhI33CWTL5zm0|mEXp~=YL}B+0zQt@nL}MpO6TVfctE0m< zNoQAkw~{J?H^M|ar&9_*hDLP~Ms?owMn;aeUMV}3>1DTC>DrS@R>&HF=r)dM-=l9z8l3oa~)O^E~9?KWQ2+sLNLxxG#@br1#u? z`_{Qf*-J}L>#2U2%U(Qq*92)7a2L2FAS??Y$FWCyI9Tj(G9G9i&Rj94&_s^Wb>hI2 zpW|_z1J4IuFOH0WJ^&%!8{*DHF0ixdu)YFBCg}lO*gYeZj%;bxjAAZ{DlBQ%eZB3h z8QK_oCd#vJ{10*y5HlFI0PY!yNo3FLcEw4gFpino=9di;`^m5x=d9#5=AL(b3l{fU zba!mtd+u`cbZfeJHpurEO)G&-3Y`U>=lp5+7l&`0tJ9HbY846!-*5H{L03$eZr=Tl zEf5j>$w#$tKU}cCKX1KeaB{kd>)zUUu$epca&}D|1r-I=eBdti*W&znCz0%q@`5V9 zo05XbhZ|cc-*b^PYx|i8FA#jkj|joloZ}C<&WN;(m}NF_A#?@=W(pi+cFu)D=T*gb zFeZ)PKf()&X}%DJE?}r$&;9cDnMogLju-3sq-mU)x%94A1hNOm@=8k9nLTbCN*J3nn<&?M6x;-NjTqYgB3FlF@?Gvmq~m5- z5$^60?*5=-*bv9*zkSU4eDE6U!`(2|aJu^5^)bDXNi)yR7h|Hku!q4ZF?W9!KrfiB z#)l2e!9r*mREM%@IBJVSXmEt`zW3jeF?f7YAUsO-)<#de!n(T8tRRn~l>GgD5~1~`k|K9ni=WFo@#xa=(Rah#>My*+7cy} zXc0jWZMEnTWv#Z#>g_+0@9+H2an7D&-*?`3X70{B_s+e~gC=kj_SAkLUQ;~fsm<{D z2Qz|m2%7fZKrbojmLaFHpr@?GHUDv>t@GMY{p?tS2@JOHoqbE72bB_9VmK{#*W zBZepjSG$81=sT*M&9%x`;UD7Q)VXi`z_uPyg z-<7C;6Io`Xrdtp;J5~VNFyFoY+?M-KNoa= zho&ThMfcVS?63EoGDu8~RDWuEC|JWEKx_psf-%Dj zu);wdvsewX6zp5K92YmYbA@e>nFg;@J}`5#(9wK*6>qPgd#G=mhmSW9Vxo?a+M$DQ zI#o;|&yc@k#+8O&F?BW`A9M89sAC*ei(8TG->ei6l`$qpU=JHyT{kh|;9v*zV=#jC zjSUZnnLir~KzM|QBzzZp90RKYD{w=m%4AvoI_J^nKGc-8Zh*61h}M99n2s1I2pH+? zlYGd?77q!G`MkH!bpb$>oM4QN-|n74jdeehdR+X+mGzB+*LuS~w6ln*ls;PQbW=+D z-GH^@-eS2#GH)t zZ%x$7mfNL5wFZO+{1wPfh0Zela~H{{Z`Kb1@63ynvA+0&&Glc$bL~GGFB~VIX&XJY zTMrqjt>rJf7#p_VYR+H9AVB_%F}}t&n9ygEvO_|TQX$e#X4$?m&wf>gt6=^w7I4_x z0xX&CM9A1ry z2n!?5PAY*i1Y!!QnI;wwd3HGiP8B0GPi6`1EMBsS&~^PnsU4RTcYaG^d)+InmRGvI zoh4dtrRhAcrB}p;+y%g!d(@;NK2ljnxh4NH_pn6Bc0r<>Elz39RE@eV2%T#@2;)dG2EWA~pa+@DH+=wqHYX;Q9 zu!|8^X6Dw@Kd0X5duzi7TU7;}ot+>p+l#m%q9uE_6!;~Sw!G8A`-_ zq*B2~v@xk--gaxxo6D!<2Z%7kxrTy#Wj^cIGHfP_u@e-Tl!O?Ch7f{4kFlYZgSEm= z2F?9YP0zs*)1hDp@zbylfQmhqnF2qIazs9`#XjMeyOVV(BK$HhK(uz zyLP3PWRFSJKY4}eKM6EuF~Tj)!q$${P@;mDH(@&XQO6q@2#^lL&SF^1$a3@R2+`w~; zPfQ@cD=<$YtOyBfYz#Z9-`a*dbG|*tM>R5*E$rjJloOztDRkb*9MyVi=c49z8ya!! zQ}!q&uT1iatz{f1{{$ZeyH<>wjGy+~PVt=hXICbJ`p-@P3hJ6`RE0=A8?RVS(Ld-n ze>Rpo)aKvGf<$Ubz?C8CY zom0?m@HXmM=>O4Iox(Bg!b2dPj`5di|QltB4T77Kv z^z=OR>&i090t3(6WEB-Z&{0#HQ}OR_@t}OMW)SuET9u#{xb}^`RyLN zR7L`B%i_ez6tO|4LYVHBlUtO_7@=QRH~xX%$69q`b%W1hgd*K=II)o3{3~ca{kCN> zUitvzlR?q?vj*`-WsdtIj^688qG0PRg^X3qj*%8*4?a;!0clXYx_Eu5^wi@LkEU5+ zvTsIY^F6LuSl}cbMiVnV_UimWL<2v88RY2XU9GL)2qz&;6F}sbGf9dE7sn^28o;xg zH5{jAa}fZt0%YYw`|Z0*&?|!6C_w8ucuONYTU;SpsKL+P%Y|2qNL94aVz|g$_zgsm zD+Uthv8NA$i8FbehGUYYfv*TaL0aC`A6py0s{D`@T}X#{z0Zf?gTH?I9{x-ttu#}O zbXr9Ius3j~1g<^}c==obrQ*RNx6Qc$#)rSBTbh}@ykH&AMTKr>3JEi_6h+S6gqb!c z13!~3j`NDt+QYn{{w+d6LfR+4J4+HV+b*yh^(Xjl3<9V7m|@Iz%n{9h_W|C#ACYYb zdVuFhMb2(}g9AU@f1!(6;_V%;rT6Tuul3|4VOb~pd&DFXtg#xecR)X?pL13MhPQ9+zxxdHM23jf80o%&R$B zjzwFLMcJt|c!llqRdX%DW0kYzzBHAW;|}Y~VK=AMXGRAG_#O_njefS0h1aI6Z}1f` zdFh)atQH9geGXlT1h?T4LSd4chH*?EC!p~(g>atjfTPDV!7FSVuhskB7(yj3MfYo&bF?%#Q_vG^=A zBQYZ$92m{5JU)V{-A$o%D7-dA0fq~ezf@CYcc zfkm&hq@nOLq9CuTBrq>NFE2hYkJnFkw*l9N-Yo@GS*bck3Fdl3zp>#C`;Va(_Sks_ zhnG$kuk7qz+S$Fb16ry*Wq-DWlJy=8B>-ip9DAma{DcqRB5BFJ0wn z9RUbG`;YF&J$>vvT#r`il9MoYUWO&bWt5bEM7s?>eoV{w7)4(MsPI$t`^{#LZypOn zm4!>XnY|k1Hfr;c`74H6&yBR6$$)3$8QsoO@!Z=cz8&@WXLp}kUL z&&I~`hRxdI9UruUhl+N)&4_zlncS3j)L-s@uKw9k@lUF6wVeDHlY31xn4xzq`F1tL zeI`ID^-P1-$1G)|Fe>+CTVrQ}OTJpX+Q)U-W=aDsa$j2l_O#`d`4)+ZXfp=0{cag= zZS~xccI1Le7>(%VJ2oc|x;ijCbp3mmR84L>luWkk`)nhF`vOhQl$b^ECM%bO#^YD+ zv_cRbK15NvW_s|y2Nhn{bAp=B*RKy&rUO=D61!Z7QA)1BCE(;@UzhNOz?(vJ#(t~* zwzAbSh^*VwzxnqW5J4)APpb8r;h$W6JX7!9jZ4uo)K5uFCzo)8#aFplXb3TB^$)0d@n0iiSfHT=KL^L$52aKjYcEti%Km5NmzAx zwbX8vhui94&Bc+Qk6u%UCdIZ;W)wb22yWfR!d{a`>EE?IFGeWv(i07o?nHI`(SLKx zRPJy)kb3t<*gDWH8u4wNvm-G^oEVIH6F~;GM#UvR_iTB_ zjdaI(uDPtRnG2auj^okWu7*VDNhq{c8yUCAwRFwK1B@A7ozFh<~f(_z6^JUL5rS2aG0V6+PrRfx4Oq1p#?ebTUTyQ$ zAWoSftdlE4LJzya2kcxbagdkRsql|I7v=}CdQRb`7 zO#$%LKB_9$UZsm8S|xYEqHdrjH%;mXE9|dlAmHVJ-~mc|`U6tt6RF08Mu#sM!`Pek zzzGH(L=UmkOTUM!U8ZJz#_V;YC}p{4EZxw^cBUjeokv`tZFE3!!ib30KA(Brbh?L- zs3&9ZW?YPpnTf9cb6fPE(*JAw8RLsJwhw-Q&Vb9if>kzowiKLd;iZR!QA(>LLJ={i z>_**7x~QAiYZbrED1|ED!derREN>?v@(m^VMN(`D6nS!@VXyM<+iKbdBq1DADvS&b z{f>@oC^};q)pY_4B6XeZOUshwHS3J>S+(*m0}I#R74;1K&=nF`SYHaX&;K0%?MaAd zO(;yEL!`d($GE-07&S^WBHTbdteyYt4#@#=M-8g;%5h&V|<66Zc-oK`y!h-}i!nvP|PM)|ClH6KT zLi?>$qJFrh-m-q+#!B3tFA7dM2x zP|6nS_jg_mo(t7`B`uS+FE0bbOPi%4Gl3rKU{i70AGWh|E`g@esEx*Rsq_Vn#<%6n?8zd zITL{DpO&&STJjwo7rA{71x=M8kukklP8AhvW95@ody?awBG+ZXZvC%Dz^vHpZ`9>- zwN=k|e)VHPkKb2x=NwSQx9sX`X!Hll;w#sHs%G2D#WmWQ(UgMnGT068jI?C;!xdgh z^SP`kBDu(m;E@|zPXK~1l5 zQguZ_3T8tw$M=g@uRf1vEZtNcu=Kc_r66MRtsxt{&L9(z`r4b$)yhTnAh$Jgk! zt82qnIad4PG^%pUaaxHcs4I^^x$U9r(@lQr-aTKhYV{?ZVZoybSD+fD$#0u>I?a*jS z5$J1GvuP`|rX*5XoY*8Yt1Fsbp2(oml#y8X{}0=@vQh{ypYt;r6=mhD{nK4z0jFF` zXJ`qOm~O@A@I z&pLD8`+az6zDY}qi)r%8*k@Is5qnW#NJ&PfA!nZ5U)13GEAGEU7ImhWLeR19=42a3 z$7X1|h@fDqbE^Nr6gD94e*r6C9`9K4+TXBP$281qXlw6`+#j~ITzDT9rCgIA>}n!U zy#o1C77d)$mc30GPyofydhtPmPTY>EFDtde%+F%h7xld7i%R;mvDaVHX+v|rv%a}9 zgG7ar%lQof$9{MaWf%YKm|)q33N1}lRR#e&2-K;LcQxGq(9>`Km&%HFgf`1lslvct$DLjYP8=Q9%h$u#cL!whrO zkL9mwgDr{7e8H5U$iarHk>>c7YYUsxx#C_5qW=(^gzB!`KNHLkG<#0P0seIqmnnq zCT3hWr?7r!C#3`a#~VlER6npV*Vyddiy1Wr)${X%c5HzEJmNr%e}S;xEI15h`N&J; zBnBBC?R+{O#d{ho>Rao3L#OD*aT25~j(h%RTawq|XtPTvT=IN*`~eab_sRV=jNu;Y z`MyTKszGI{*oOEkp);O%Naj!DG26Z!vup44dzCewe6HOhfG!6V>fId_jz$dhtE*}i zR{cZ2YvZ>M_G)XZ_M92C4YlZJoxc`RC@Rw?k~6GP41Qq44|99W#=Wyo`XU<@6d35Q zz0P=q5K+XHBPi>APK3UES+cU~DKBipB_BwtM8_PVQyEkUiDX1P`H`QJ=9CSg-AE$p z!6sE#JKMJh;}WOqbLJ_ma)RwI>RB57&(&NKH6ih2?&xLwU7Mk+exkD%`zMvN{xQR~ z87ZKY!O*imb4A=++X|{|rf^e>kyW!2_zI>HwTgS{|K{8{);c1a?CjVE4j1=+-KrXE zmawASC3#&YFElwB=n&1Sufc&JY`d}GOjA?&23<%mGQPergZ^5(6(-j3>Aj?)qlhn;C^sQ%g*+&uP5u&H?S zFNghPK2}nP38tE+?gFUmqTk2z{wfGd4oyr1#Db z!VLzpSbB!ehOa3xa8lhDh8|;w%tt1Y%chKT0{mW$@3$3n?i`*LG}i5UH38j1WL-_b z+mqvd_X|J^M;Ne}x4`Oie0)~(Qn)5ZO9wv8TNe{>`ptSRCR2oqGe0~p5;`(t>?3f> zadr*$MBHMGs8%ZcHi*wjcv*3C(b8tL?6hi%`JPszbUe-*iyjJw>!%w&SIg#;d{}=i z*4TY%J&iAXzx&k0?T+7MRONNImFL>e-k$U@EBhUs2cr@bRo@e~9y{)>GNcYMWJYvl zv>yA7R+NtQbY_}7sSGD3TiEI8#N1zFBbytSBs<-b^QwlTfo32n2^$yt zd%xF`FjXX0;mcaZ#P3*g`Fh$<` z-O3vxVJNsnptQ0})s8r_wytQm4x%yB>W|QQOL}xu{>D)B ziJ17(8iro1$ycA-*cUUh4drQ`wE3}RN_%d&JNz{LjffkjXkD?zZz(t(P`)IV4>-V$W?Mp6sXhhOHB=qco6*8*2le6~=2z z3_l!H+vkXgs5-?XOwPCST@^`hTo3<&HJ`t7U&4jG?{lxDuO=@4#G}_?rz?R6N(d`k zVcd>ik)+7^>Tx7IA?bg7<;+&ydwv^<6TorNO1gdsubeBzrj}p$$u|yuBGaL7wE`sX zZb#^9XWPx&n-2u6HdRwKa}NI?3|cO1wUmbz0C2x}gBSS4HKKvnjkl zJ*y*caq}|=#DHwO`1#3T1(G`pZWSnHYh|PAsjXwG-o&d`iCHY3n-^^M?o7x3$2e%79i~i!5k-~UPDpYMrEAHgBviWA**xr{-iO z-=XlsjPM@KpahYY<6Qv;Az_}eO)kNYFPQEyJDV4kh3u1!UbXghj`9ne+iB&K;E9niSZ ztEYj)e8~W24&H{QVxe;TXAqV?$_CFu-8dI{udFIVk>c*VoQQJ5-5ut=8^RNA zcjKrM7G8?T<8l*6pvnXg$J<#?*q*>-rOliQrw>x9pOXhEJ!wo-=>wYP?7eZJ--m>R1}Y!ZD=T@ z>THE{Z_WZ4f<{1 zObIN5`4!}jYltSGE-miYOk&yys1;Q%ir|)SccfK}451~srcW`=*IWh6)E3XG_^i>^ zRxDkegMqSwJPfV-|8>7-DaX89>ff^m3|$h?{!{VV{cE2=;ND1CPFk1tf)ZQ9w7R)L z+*%puhe$|BI;?kUKE4_5p4a`c1XdL*v4UI49a_lAIM_)zm`j-rS-wdt>Qm%k=j3GP zq_6#4ZdJa$cX$4*n@cWb zcQ-RN9+?aK`Su5eE*i>w2^)UWm)SV+u*ZMVIF%u3Lxm05i!641hE3R zPFO@uF$cB;OPfs(nX35HJWM}nYF<``e=kk|T)iFL2FswOF~`O=M9s#_xKxZO-U++E}a9hR&gP>`ntB z6D{{Q8?P9B?`f;3E;pGkJ&kq{*^0zXbOK`dq|~GkQaY%k4TIMnVU&D2(V1tNYfekc ze{JI*HhFlsnbeE^!W-lJ>gliH1)d=t=eW_MpA*(N=>j~u_OgI7P|H1tv0T=W+K_E` zaM)P6`-Cf%iV}5u1YyIFzWCA5L4+*xE_K0c)+YANx!%;n>(_ZbpMLR^cS|GVLuv>& zdI>c&@GUitb9*v8`7tHAwQn^vx8!E>zCnwu58_rF+bNMIKG*W5#PuK>;ykqTb!Y*V zn2_yNa-FWSu(b*5Ou-Q8t-5ey!?!X}_HH)tFznNIS3h=z^YoRJK8{@(H~&I>Rw!XT zxm%H)4Y=K2bZIn)N57Ck$ha|~+Q)P1;1mTmq#LZn@O8x^Y4-n)=V24OE5Gv>za81z zXvSm+XF$uHU)&)d)3bJloElF28Vh)Dr|^bcUBFEehtKrK!a(FL+wk&y)|6j(EYlyC z`iPb@%7ar>M;x~)=Jw9n+IaRUr-~#2Ioa9G9#3ORN-L}V{@8(*XZyVVZ_)a#tTQBQ zNA~9QYOxpmY2(EYHC_sPZ}FUMxWdI zg~#MdrwMEd+y0oLHCQ_EIy;@H5I=c>&L0#Xmb|-$`5K|DgQ1m{qMrC7WW`+c*hC&* z!cR2xj_qzw6d^am^v3F%_{(KZ(Gnt=^q@_f#qx>%+3Zx3b*Ij^uzxcSRj1ioN9nkw zdARQl2R4_X`+xe_Xq^cj!dhRBU+fPjQJcY9pSo5*)xS8*dX@5opLe#^^cJ6(EPD7X zXtFnFMfp3$rUO-3Y4w}Y9p=h_osJbKA3&ki`*3Vm-$!w1f0T)am6pYMo}=-{&Vveb zIzdYkI)y^UT(!R6ycA|8hgZlhI%n#RdD60?@Z}J5=P#=w)4bkH7r3{c$z>PT6$xvFclLkstXt$ z>PRN}I28Q)v|HE%1@A!#C5s0R7V^PRF}Br?`y3K#7@w7$Wq_ zgCMuy=8Q3QpY3GQlruSelE<{G{CM^4N%*W1YEnHgFn>q!JNo9K3R}VSmxDrni3_a=ww2oRX55rXhvCYlSuv z7D}RKtN%6jZLEliA@xh}t=RSk?^mrE<}a{X1%%bEo2FlWlpH`1-XD#O+%dxgV-sxu z?Pw^-IMhtfXWH8QJ){eweCnbrZvmB;cFn#Chf;B!pRZTRdUBgH;n|HeUwr*w+CF~X zWK!gR+*^sZvgw`EB$T2h&gS1cKjPTg10njC6*J#sQgTVCqLyLr2DuyVr-6(D!*1nL z=hf9U^!+<4E6YV;4ovyLj*Z5qtm`Y`VMLn`tnHlWj}`%s6qOZrh3T$2vjRNNhm>9c zUnR|3gkLlKY(=QB5lMQcMn6>(jJFapvhv(Ol0l@I+f>gh83lxm|Y3f-}eYLyg#8_ zH8kE&u?O}_J7Z^e-;v!7o>qPVfr(bDYp%=`QmVVo3_Cj~3{}s|6Y{@JrShosC*2cp z*@>&7xN%k5%!3M1exWUf$Mtf<7CX%L>(>Y;D}Pph)9|2S-@=fhv;tK=t5{+vA}crp zUJ@D_4^;C?*i32CKJJtXiD_6-hI0#N?x31*weJ%ip(ZcUTaC{Y3kwiC&z0xBqU)Cb zYvu>)R3=0N@0r2@>*c=-hswPUMs8fi+v4ool1~RgK0Lh3vzW_I{=dY#;B$yNqIKd@ zLl!hc5Gr#vN%J>^hiB^oD0KG9OD>PY@$k4}IsgIL-#c>)tM+d1g*sTu>b!JvR{#68 zQFNSRh4TxC3Pro08|9!@0t5Y7t^5X{W?3! z*JNYpM3WJNyF4Yp>(hLA=edYa;Y@wGc`sUTajAN*@BQ#FL6rREw|MFC&urH)hS^zq zz33Repvhty8#Wu8dhH9T zi?6oXIiS*yzapD~`W)Un&XnwIkULTZ0C8eeOT08x!AMIbUkc~GQH_3m&VYw^aY2M! hz8t!nmniERUQo!(-B&KRFMENfEUzI~A@d^W{{i=QqCo%v literal 0 HcmV?d00001 From 635fac42a5c116dfe481bd804d8d44a93da9eb27 Mon Sep 17 00:00:00 2001 From: Niklas Gorman Date: Mon, 24 Aug 2026 17:02:32 +0200 Subject: [PATCH 4/4] fix: capture the torch state the scene claims, build before checking, keep the diff frames MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Three review findings on #133. [1] `wreck-torch-on` captured the torch OFF. GameController starts with torchOn=true, so pressing `t` disabled it: the scene recorded the opposite of its name and duplicated the coverage it claimed to add, while the two scenes that really do show the beam were unlabelled. Renamed to `wreck-torch-off`, which is the state that earns a scene of its own, and every scene now declares the torch state it expects and asserts it against aria-pressed before capturing. A frame is a frame — without an assertion a mislabelled scene records and compares perfectly clean forever. Claiming the wrong state now fails with "the scene is not exercising what its name says". [2] Both commands consumed dist/ without building it, and the checker only verified that dist/index.html existed. Since dist is gitignored and persists locally, `pixi:visual-check` could report 0% delta against an older build after a Pixi source change, and `pixi:visual-update` could record references from stale code. Both now have build prehooks, matching pretest:e2e. [3] On a breach the checker writes .actual.png beside its reference and tells the reviewer to look at it, but neither workflow uploaded that path, so the runner exited and the only copy went with it. That matters more than usual here because the references are platform-keyed: a maintainer on another OS cannot reproduce the failing pixels locally. Both workflows now upload them on failure. Co-Authored-By: Claude Opus 5 --- .github/workflows/deploy.yml | 11 +++++++ .github/workflows/pr.yml | 13 ++++++++ package.json | 8 +++-- scripts/pixi-visual-check.mjs | 31 ++++++++++++++++-- .../reference-frames/pixi/linux/manifest.json | 2 +- ...wreck-torch-on.png => wreck-torch-off.png} | Bin .../reference-frames/pixi/win32/manifest.json | 2 +- ...wreck-torch-on.png => wreck-torch-off.png} | Bin 8 files changed, 59 insertions(+), 8 deletions(-) rename tests/fixtures/reference-frames/pixi/linux/{wreck-torch-on.png => wreck-torch-off.png} (100%) rename tests/fixtures/reference-frames/pixi/win32/{wreck-torch-on.png => wreck-torch-off.png} (100%) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 8108d33..66a083f 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -42,6 +42,17 @@ jobs: - name: Pixi visual regression check run: npm run pixi:visual-check + # As in pr.yml: the breach diagnostic is written to disk and would + # otherwise die with the runner. + - name: Upload Pixi visual diff frames + if: failure() + uses: actions/upload-artifact@v7 + with: + name: pixi-visual-actual-frames + path: tests/fixtures/reference-frames/pixi/**/*.actual.png + if-no-files-found: ignore + retention-days: 7 + - name: Run migration client unit tests run: npm run test:unit diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 9b122f4..6ffaea0 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -45,6 +45,19 @@ jobs: - name: Pixi visual regression check run: npm run pixi:visual-check + # The checker writes .actual.png beside its reference on a breach + # and tells the reviewer to look at it. Without this the runner exits and + # the only copy is gone — and the references are platform-keyed, so a + # maintainer on another OS cannot reproduce these pixels locally. + - name: Upload Pixi visual diff frames + if: failure() + uses: actions/upload-artifact@v7 + with: + name: pixi-visual-actual-frames + path: tests/fixtures/reference-frames/pixi/**/*.actual.png + if-no-files-found: ignore + retention-days: 7 + - name: Run migration client unit tests run: npm run test:unit diff --git a/package.json b/package.json index 6fe87d1..381c11f 100644 --- a/package.json +++ b/package.json @@ -27,10 +27,12 @@ "license-check": "license-checker --excludePrivatePackages --onlyAllow \"MIT;ISC;BSD-2-Clause;BSD-3-Clause;Apache-2.0;MPL-2.0;0BSD;CC0-1.0;CC-BY-3.0;Python-2.0;WTFPL;Unlicense;BlueOak-1.0.0\"", "prepare": "husky", "baseline:visual-compare": "node scripts/compare-rendering.mjs", - "pixi:visual-check": "node scripts/pixi-visual-check.mjs", - "pixi:visual-update": "node scripts/pixi-visual-check.mjs --update", "sites:generate": "node scripts/generate-site-resources.mjs", - "sites:check": "node scripts/generate-site-resources.mjs --check" + "sites:check": "node scripts/generate-site-resources.mjs --check", + "prepixi:visual-check": "npm run build", + "pixi:visual-check": "node scripts/pixi-visual-check.mjs", + "prepixi:visual-update": "npm run build", + "pixi:visual-update": "node scripts/pixi-visual-check.mjs --update" }, "devDependencies": { "@playwright/test": "^1.62.0", diff --git a/scripts/pixi-visual-check.mjs b/scripts/pixi-visual-check.mjs index 208703e..3d39216 100644 --- a/scripts/pixi-visual-check.mjs +++ b/scripts/pixi-visual-check.mjs @@ -91,8 +91,10 @@ const VIEWPORT = { width: 960, height: 540 }; const SCENES = [ { id: 'wreck-exterior-start', - // As mounted: backdrop, terrain, structure and foreground all visible. + // As mounted: backdrop, terrain, structure and foreground all visible, + // including the torch beam, which the controller enables by default. frames: 30, + expectTorch: true, }, { id: 'wreck-descended', @@ -101,12 +103,21 @@ const SCENES = [ // it does not depend on how fast the machine ran. frames: 30, hold: { key: 'ArrowDown', frames: 75 }, + expectTorch: true, }, { - id: 'wreck-torch-on', - // The torch is a foreground element drawn over the structure layer. + id: 'wreck-torch-off', + // The torch beam is a foreground element over the structure layer, so the + // scene that earns its place is the one WITHOUT it — the controller starts + // with the torch on, which the two scenes above already cover. + // + // This was originally named `wreck-torch-on` and pressed `t` to "enable" + // the torch. It disabled it: GameController starts torchOn=true. The scene + // captured the opposite of its name and duplicated coverage it claimed to + // add, and nothing noticed because a frame is a frame. frames: 30, press: 't', + expectTorch: false, }, ]; @@ -223,6 +234,20 @@ async function captureScene(browser, baseUrl, scene) { await step(scene.frames); } + // Assert the scene is the state it claims to be, rather than trusting that + // driving it produced one. A frame is a frame — a scene that silently + // captures the opposite of its name still records and still compares clean. + if (scene.expectTorch !== undefined) { + const pressed = await page.locator('[data-torch]').getAttribute('aria-pressed'); + const actual = pressed === 'true'; + if (actual !== scene.expectTorch) { + throw new Error( + `${scene.id}: expected the torch ${scene.expectTorch ? 'on' : 'off'} but it is ` + + `${actual ? 'on' : 'off'} — the scene is not exercising what its name says.`, + ); + } + } + const viewport = page.locator('[data-wreck-viewport]'); const png = await viewport.screenshot(); await context.close(); diff --git a/tests/fixtures/reference-frames/pixi/linux/manifest.json b/tests/fixtures/reference-frames/pixi/linux/manifest.json index 995b4a3..eaeda54 100644 --- a/tests/fixtures/reference-frames/pixi/linux/manifest.json +++ b/tests/fixtures/reference-frames/pixi/linux/manifest.json @@ -29,7 +29,7 @@ "channelSpread": 31.743 } }, - "wreck-torch-on": { + "wreck-torch-off": { "statistics": { "meanLuma": 40.519, "sdLuma": 29.863, diff --git a/tests/fixtures/reference-frames/pixi/linux/wreck-torch-on.png b/tests/fixtures/reference-frames/pixi/linux/wreck-torch-off.png similarity index 100% rename from tests/fixtures/reference-frames/pixi/linux/wreck-torch-on.png rename to tests/fixtures/reference-frames/pixi/linux/wreck-torch-off.png diff --git a/tests/fixtures/reference-frames/pixi/win32/manifest.json b/tests/fixtures/reference-frames/pixi/win32/manifest.json index 46f0eec..ad62df3 100644 --- a/tests/fixtures/reference-frames/pixi/win32/manifest.json +++ b/tests/fixtures/reference-frames/pixi/win32/manifest.json @@ -29,7 +29,7 @@ "channelSpread": 31.946 } }, - "wreck-torch-on": { + "wreck-torch-off": { "statistics": { "meanLuma": 40.454, "sdLuma": 29.135, diff --git a/tests/fixtures/reference-frames/pixi/win32/wreck-torch-on.png b/tests/fixtures/reference-frames/pixi/win32/wreck-torch-off.png similarity index 100% rename from tests/fixtures/reference-frames/pixi/win32/wreck-torch-on.png rename to tests/fixtures/reference-frames/pixi/win32/wreck-torch-off.png