From dde589b6242d9141d67ea44bee8d60f845d24889 Mon Sep 17 00:00:00 2001 From: mskdylan Date: Sun, 18 Oct 2026 21:18:19 +0000 Subject: [PATCH] feat(dx): mock API for local development (MSW) so the app runs without a backend (#95) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - npm run dev:mock boots Vite with an MSW service worker covering every endpoint the service layer calls (auth, dependents, health profile, care threads, consultation notes, doctor queue/messages/insights, facility finder/team/fulfillment, payments, account export/delete) - Obviously fake fixtures (example.test personas) in an in-memory DB with a dev panel: role switcher (patient/doctor/facility/admin), scenarios (normal / empty states / forced errors), latency slider, reset - Mocks boot before React's first render (dev-only top-level await) so deep links into protected routes keep the persona session - 26 handler tests drive the real src/services layer through MSW, incl. scenario/latency switches and 404/409 paths - Production bundles stay byte-identical; new CI step npm run check:dist fails if any mock marker leaks into dist/ - Docs: CONTRIBUTING mock-mode section, ROADMAP W7 section, ARCHITECTURE_ ESSENTIALS src/mocks note; shared src/query-client.ts for cache invalidation from the panel πŸ€– Generated with Codebuff Co-Authored-By: Codebuff --- .github/workflows/ci.yml | 2 + ARCHITECTURE_ESSENTIALS.md | 7 + CONTRIBUTING.md | 27 + ROADMAP.md | 27 + package-lock.json | 579 ++++++++++++++- package.json | 3 + public/mockServiceWorker.js | 361 ++++++++++ screenshots/mock-dev-panel-desktop.png | Bin 0 -> 76397 bytes screenshots/mock-dev-panel-mobile.png | Bin 0 -> 45897 bytes screenshots/mock-doctor-dashboard-desktop.png | Bin 0 -> 96924 bytes screenshots/mock-patient-dashboard-mobile.png | Bin 0 -> 43168 bytes .../mock-patient-dependents-desktop.png | Bin 0 -> 88318 bytes screenshots/mock-scenario-empty-desktop.png | Bin 0 -> 55396 bytes screenshots/mock-scenario-error-desktop.png | Bin 0 -> 58110 bytes scripts/check-dist-no-mocks.mjs | 49 ++ src/main.tsx | 23 +- src/mocks/DevPanel.module.css | 159 +++++ src/mocks/DevPanel.tsx | 129 ++++ src/mocks/browser.ts | 9 + src/mocks/db.ts | 12 + src/mocks/fixtures.ts | 665 ++++++++++++++++++ src/mocks/handlers.test.ts | 414 +++++++++++ src/mocks/handlers.ts | 29 + src/mocks/handlers/account.ts | 69 ++ src/mocks/handlers/auth.ts | 79 +++ src/mocks/handlers/care-thread.ts | 20 + src/mocks/handlers/consultation.ts | 49 ++ src/mocks/handlers/dependents.ts | 70 ++ src/mocks/handlers/facility-team.ts | 115 +++ src/mocks/handlers/facility.ts | 57 ++ src/mocks/handlers/health-profile.ts | 69 ++ src/mocks/handlers/insights.ts | 28 + src/mocks/handlers/messaging.ts | 31 + src/mocks/handlers/payments.ts | 94 +++ src/mocks/handlers/queue.ts | 83 +++ src/mocks/helpers.ts | 72 ++ src/mocks/mock-store.ts | 25 + src/mocks/roles.ts | 45 ++ src/mocks/setup.tsx | 32 + src/query-client.ts | 13 + src/vite-env.d.ts | 2 + 41 files changed, 3438 insertions(+), 10 deletions(-) create mode 100644 public/mockServiceWorker.js create mode 100644 screenshots/mock-dev-panel-desktop.png create mode 100644 screenshots/mock-dev-panel-mobile.png create mode 100644 screenshots/mock-doctor-dashboard-desktop.png create mode 100644 screenshots/mock-patient-dashboard-mobile.png create mode 100644 screenshots/mock-patient-dependents-desktop.png create mode 100644 screenshots/mock-scenario-empty-desktop.png create mode 100644 screenshots/mock-scenario-error-desktop.png create mode 100644 scripts/check-dist-no-mocks.mjs create mode 100644 src/mocks/DevPanel.module.css create mode 100644 src/mocks/DevPanel.tsx create mode 100644 src/mocks/browser.ts create mode 100644 src/mocks/db.ts create mode 100644 src/mocks/fixtures.ts create mode 100644 src/mocks/handlers.test.ts create mode 100644 src/mocks/handlers.ts create mode 100644 src/mocks/handlers/account.ts create mode 100644 src/mocks/handlers/auth.ts create mode 100644 src/mocks/handlers/care-thread.ts create mode 100644 src/mocks/handlers/consultation.ts create mode 100644 src/mocks/handlers/dependents.ts create mode 100644 src/mocks/handlers/facility-team.ts create mode 100644 src/mocks/handlers/facility.ts create mode 100644 src/mocks/handlers/health-profile.ts create mode 100644 src/mocks/handlers/insights.ts create mode 100644 src/mocks/handlers/messaging.ts create mode 100644 src/mocks/handlers/payments.ts create mode 100644 src/mocks/handlers/queue.ts create mode 100644 src/mocks/helpers.ts create mode 100644 src/mocks/mock-store.ts create mode 100644 src/mocks/roles.ts create mode 100644 src/mocks/setup.tsx create mode 100644 src/query-client.ts diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 08057e0..c6e0539 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,3 +24,5 @@ jobs: - run: npm run test - run: npm run build + + - run: npm run check:dist diff --git a/ARCHITECTURE_ESSENTIALS.md b/ARCHITECTURE_ESSENTIALS.md index 8532f87..7f39d31 100644 --- a/ARCHITECTURE_ESSENTIALS.md +++ b/ARCHITECTURE_ESSENTIALS.md @@ -25,6 +25,13 @@ those first if you're new to the org, not just this file. ## Where things live - `src/services/` β€” API client calls to `docforum-core`. `api-client.ts` is the only place fetch/base-URL/error-envelope details live. +- `src/mocks/` β€” MSW mock API for `npm run dev:mock` (issue #95). Handlers + mirror the same real/assumed contracts `src/services/` calls, over + obviously fake `example.test` fixtures. Loaded only behind the + `import.meta.env.DEV && VITE_ENABLE_MOCKS` guard in `main.tsx`, before + the first render; production bundles must never contain it β€” CI enforces + this via `npm run check:dist`. When an assumed contract in this file is + reconciled, update `src/mocks/` fixtures/handlers in the same PR. - `src/features/` β€” flow-specific logic (booking, referral-accept, order fulfillment selection, etc.) β€” one feature folder per PRD core flow. - `src/pages/` β€” route-level components. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e3e2051..5c5d33c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -20,6 +20,33 @@ to actually do anything: run `docforum-core`'s backend yourself (see its `CONTRIBUTING.md`), or point `VITE_API_BASE_URL` at a hosted instance. `npm run dev` defaults to `http://localhost:4000`. +### Run with no backend at all: the mock API + +`npm run dev:mock` starts the same Vite dev server with an +[MSW](https://mswjs.io)-backed mock of every endpoint the app calls β€” +no `docforum-core` needed: + +- **Role switcher** β€” jump straight into the patient, doctor, facility or + admin experience (seeded personas with obviously fake data, all + `@example.test` emails). Logging in through the real login screen works + too; any email logs you in as the selected role. +- **Scenarios** β€” toggle empty datasets and forced 500s to see empty and + error states without hand-crafting backend conditions. +- **Latency** β€” delay every response (0–3 s) to check loading states. +- **Reset data** β€” restore the fixture database after in-session + mutations (nothing is persisted; fixtures reset on reload). + +Mock handlers live in `src/mocks/` and sit on top of the fixtures in +`src/mocks/fixtures.ts`. The app still reaches them through the normal +service layer (`src/services/`), so screens behave exactly as they do +against the real API. Mock code is excluded from production builds, and +CI fails if it ever leaks (`npm run check:dist`). + +**When you add a service call to a new endpoint**, add a handler and +fixtures in `src/mocks/` in the same PR, and cover it in +`src/mocks/handlers.test.ts` β€” that's what keeps `dev:mock` honest as the +API grows. + ## 2. Find something to work on Open issues are scoped, real, and tagged with a complexity/point value diff --git a/ROADMAP.md b/ROADMAP.md index 896bcca..1c275a8 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -84,6 +84,12 @@ real API" (no refresh-on-reload flow). a session exists, same caveat as the facility dashboard already had. - [ ] Link transaction hashes/escrows to the Stellar testnet explorer. Tracked as [issue #10](https://github.com/DocForum/docforum-web/issues/10) (Trivial, 100 pts). +## Phase W7 β€” Platform quality: reliability, accessibility, performance, testing +- [x] Mock API for local development (MSW). Tracked as [issue #95](https://github.com/DocForum/docforum-web/issues/95) (High, 200 pts) β€” `npm run dev:mock` serves every endpoint the app uses through the normal service layer via `src/mocks/`: seeded obviously-fake fixtures, a dev-panel role switcher (patient/doctor/facility/admin), scenario toggles (empty states, forced errors), a latency slider, and a fixture reset. 26 handler tests drive the real `src/services/` layer against MSW; CI fails if mock code ever enters a production bundle (`npm run check:dist`). Documented in `CONTRIBUTING.md`. +- [ ] Generate MSW handlers and fixtures from the backend OpenAPI spec. Tracked as [issue #96](https://github.com/DocForum/docforum-web/issues/96) (High, 200 pts) β€” **blocked**: depends on [docforum-core#112](https://github.com/DocForum/docforum-core/issues/112) (OpenAPI 3.1 spec generated from the Zod schemas), which is still open β€” there is no authoritative `openapi.json` to generate from yet. Do not fabricate one; see that issue. +- [ ] Storybook component library with interaction and accessibility tests. Tracked as [issue #97](https://github.com/DocForum/docforum-web/issues/97) (High, 200 pts). +- [ ] Performance budget: route-level code splitting, lazy GSAP, and Lighthouse CI. Tracked as [issue #99](https://github.com/DocForum/docforum-web/issues/99) (High, 200 pts). + ## Changelog - 2026-09-09 β€” Roadmap created, carved out of docforum-core Phase 7 as part of the 3-repo org split. @@ -356,5 +362,26 @@ real API" (no refresh-on-reload flow). - `#50 Doctor practice insights`: private insights page (`/doctor/insights`) with weekly slot utilisation, no-show and late-cancellation rates, referral acceptance turnaround, and messages response time. Includes SVG charts paired with accessible semantic `` alternatives, date range selector (presets + custom), clearly labelled small-sample caveats, and strict peer-comparison suppression (doctor's own confidential data only). Wired into `DoctorDashboardPage`, command palette (`⌘K`), and navigation. - `#51 Facility staff accounts & fulfillment attribution`: dedicated team management page (`/facility/team`) with member list, role assignment (`owner` vs `staff`), email invitations, resend/revoke pending invites, member removal with backend session revocation warning, and last-owner deletion protection. Enforced read-only view and action suppression for staff members. In the fulfillment queue (`/facility`), added action attribution display showing which staff member dispensed/fulfilled each order for PRD Β§7 audit trail. - Updated `ARCHITECTURE_ESSENTIALS.md` "Known assumptions" and `ROADMAP.md`. 24 test files and 112/112 tests passing; typecheck and build green. +- 2026-10-18 β€” Started Phase W7 (platform quality) with the mock API for + local development (#95): `npm run dev:mock` boots Vite with an MSW + service worker intercepting every endpoint the app's service layer + calls (auth, dependents, health profile, care threads, consultation + notes, doctor queue/messages/insights, facility finder/team/fulfillment, + payments, account export/delete). Fixtures are deliberately fake + (`example.test` personas); a dev panel switches roles (patient, doctor, + facility, admin), scenarios (normal / empty states / forced errors), + response latency (0–3s), and resets the in-memory database. Mocks boot + before React's first render (top-level await, dev-only) so deep links + into protected routes work; production builds are byte-for-byte + unaffected β€” `npm run check:dist` (new CI step) fails if any mock + marker leaks into `dist/`. New `src/query-client.ts` shares the app's + QueryClient so the panel can invalidate caches. 26 new handler tests + exercise the real service layer through MSW (node env), including + scenario/latency switches and 404/409 paths; 138/138 tests, typecheck, + build, and the bundle-exclusion check all pass. Also verified in a real + browser (Playwright/Chromium): role switching, empty/error scenarios, + mobile layout, and deep links β€” screenshots in `screenshots/mock-*`. + Issue #96 (generated mocks) confirmed **blocked** on + docforum-core#112, which is still open. diff --git a/package-lock.json b/package-lock.json index fdefee5..5283737 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,6 +23,7 @@ "@types/react-dom": "^19.3.0", "@vitejs/plugin-react": "^4.7.0", "happy-dom": "^20.14.5", + "msw": "^2.15.0", "typescript": "^7.0.2", "vite": "^6.4.3", "vitest": "^4.1.11" @@ -769,6 +770,93 @@ "node": ">=18" } }, + "node_modules/@inquirer/ansi": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-2.0.9.tgz", + "integrity": "sha512-0Ywt3S8tqM6TWUcsRlBFQ1x+X3/o8kktX0ZiKAnByYb9GFDknnOhse1PVtfiD2BXPI8ar+BWx9PV9R0lQIcygw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" + } + }, + "node_modules/@inquirer/confirm": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-6.3.3.tgz", + "integrity": "sha512-ImOBgpl/sJTFp8naeSkNu4S0Sf8F8pxv3/CUx+LoBAdQvCVqFz6rSB2A/oZYsJge3+yphbEDxEkfaRNYq1OU0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^12.0.4", + "@inquirer/type": "4.2.0" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/core": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-12.0.4.tgz", + "integrity": "sha512-M5fB67y7jPObI45vhD82RskWwCSm0scOvenV/I6K8tIi2gfr9DXqQqJ+iw+Wi6SgapikdOiJibYzz1gW47fsDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^2.0.9", + "@inquirer/figures": "^2.0.9", + "@inquirer/type": "4.2.0", + "cli-width": "^4.1.0", + "fast-wrap-ansi": "^0.2.0", + "mute-stream": "^3.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/figures": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-2.0.9.tgz", + "integrity": "sha512-EAWgUTGQ/Umgga51dE3B2PUHbufuXarDfg86uVgoSgNHNNQnyFKcOrQLWVqYMghuSyHh8+2HUH0Js9cTC1WAdg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" + } + }, + "node_modules/@inquirer/type": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-4.2.0.tgz", + "integrity": "sha512-2rnHX8RPo4glJYqnFc/v3nQeIhDcjyRRyaT7MGcfL/8xv/8K03SXYoA2tX06WVSKywWOE/ncbG3dtuzLjR5TCQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.13", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", @@ -819,6 +907,31 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@mswjs/interceptors": { + "version": "0.41.9", + "resolved": "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.41.9.tgz", + "integrity": "sha512-VVPPgHyQ6ShqnrmDWuxjmUIsO9gWyOZFmuOfLd9LfBGQJwZfy0gvv9pbHSJuoFNIYC7ZDX9aoFwowjcdSC4E8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@open-draft/deferred-promise": "^2.2.0", + "@open-draft/logger": "^0.3.0", + "@open-draft/until": "^2.0.0", + "is-node-process": "^1.2.0", + "outvariant": "^1.4.3", + "strict-event-emitter": "^0.5.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@mswjs/interceptors/node_modules/@open-draft/deferred-promise": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@open-draft/deferred-promise/-/deferred-promise-2.2.0.tgz", + "integrity": "sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==", + "dev": true, + "license": "MIT" + }, "node_modules/@napi-rs/lzma-linux-x64-gnu": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-x64-gnu/-/lzma-linux-x64-gnu-1.5.1.tgz", @@ -836,6 +949,31 @@ "node": "^22.20 || ^24.12 || >=25" } }, + "node_modules/@open-draft/deferred-promise": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@open-draft/deferred-promise/-/deferred-promise-3.0.0.tgz", + "integrity": "sha512-XW375UK8/9SqUVNVa6M0yEy8+iTi4QN5VZ7aZuRFQmy76LRwI9wy5F4YIBU6T+eTe2/DNDo8tqu8RHlwLHM6RA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@open-draft/logger": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@open-draft/logger/-/logger-0.3.0.tgz", + "integrity": "sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-node-process": "^1.2.0", + "outvariant": "^1.4.0" + } + }, + "node_modules/@open-draft/until": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@open-draft/until/-/until-2.1.0.tgz", + "integrity": "sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==", + "dev": true, + "license": "MIT" + }, "node_modules/@rolldown/pluginutils": { "version": "1.0.0-beta.27", "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", @@ -1424,6 +1562,23 @@ "@types/react": "^19.3.0" } }, + "node_modules/@types/set-cookie-parser": { + "version": "2.4.10", + "resolved": "https://registry.npmjs.org/@types/set-cookie-parser/-/set-cookie-parser-2.4.10.tgz", + "integrity": "sha512-GGmQVGpQWUe5qglJozEjZV/5dyxbOOZ0LHe/lqyWssB88Y4svNfst0uqBVscdDeIKl5Jy5+aPSvy7mI9tYRguw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/statuses": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/statuses/-/statuses-2.0.6.tgz", + "integrity": "sha512-xMAgYwceFhRA2zY+XbEA7mxYbA093wdiW8Vu6gZPGWy9cmOyU9XesH1tNcEWsKFd5Vzrqx5T3D38PWx1FIIXkA==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/whatwg-mimetype": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/@types/whatwg-mimetype/-/whatwg-mimetype-3.0.2.tgz", @@ -1921,7 +2076,6 @@ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=8" } @@ -2051,6 +2205,51 @@ "node": ">=18" } }, + "node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 12" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", @@ -2128,6 +2327,13 @@ "dev": true, "license": "ISC" }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, "node_modules/es-module-lexer": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.3.2.tgz", @@ -2207,6 +2413,33 @@ "node": ">=12.0.0" } }, + "node_modules/fast-string-truncated-width": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fast-string-truncated-width/-/fast-string-truncated-width-3.0.3.tgz", + "integrity": "sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-string-width": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/fast-string-width/-/fast-string-width-3.0.2.tgz", + "integrity": "sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-string-truncated-width": "^3.0.2" + } + }, + "node_modules/fast-wrap-ansi": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/fast-wrap-ansi/-/fast-wrap-ansi-0.2.2.tgz", + "integrity": "sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-string-width": "^3.0.2" + } + }, "node_modules/fdir": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", @@ -2250,6 +2483,26 @@ "node": ">=6.9.0" } }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/graphql": { + "version": "16.14.2", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.14.2.tgz", + "integrity": "sha512-Chq1s4CY7jmh8gO2qvLIJyfCDIN+EHLFW/9iShnp1z8FjBQMoodWP1kDC36VAMXXIvAjj4ARa7ntfAV2BrjsbA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" + } + }, "node_modules/gsap": { "version": "3.15.0", "resolved": "https://registry.npmjs.org/gsap/-/gsap-3.15.0.tgz", @@ -2298,6 +2551,24 @@ "node": ">=12" } }, + "node_modules/headers-polyfill": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/headers-polyfill/-/headers-polyfill-5.0.1.tgz", + "integrity": "sha512-1TJ6Fih/b8h5TIcv+1+Hw0PDQWJTKDKzFZzcKOiW1wJza3XoAQlkCuXLbymPYB8+ZQyw8mHvdw560e8zVFIWyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/set-cookie-parser": "^2.4.10", + "set-cookie-parser": "^3.0.1" + } + }, + "node_modules/headers-polyfill/node_modules/set-cookie-parser": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-3.1.4.tgz", + "integrity": "sha512-iEmdEew+Tn1BwMGMP8LzGBEPC7Mf1sySjglCeEPb/Vchm9bnGezePvacYcId+fGprQzIng+TBkzqfJ/qS7AsBg==", + "dev": true, + "license": "MIT" + }, "node_modules/indent-string": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", @@ -2308,6 +2579,23 @@ "node": ">=8" } }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-node-process": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-node-process/-/is-node-process-1.2.0.tgz", + "integrity": "sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==", + "dev": true, + "license": "MIT" + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -2389,6 +2677,61 @@ "dev": true, "license": "MIT" }, + "node_modules/msw": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/msw/-/msw-2.15.0.tgz", + "integrity": "sha512-2wQAmKkQKxRuXvYJxVhPGG0wZNBQyD06oJvxqw90XqLvptdqxdlHrFUfEteKkpaNORX3Xzc+HtEl/q0nfmN2wQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@inquirer/confirm": "^6.0.11", + "@mswjs/interceptors": "^0.41.3", + "@open-draft/deferred-promise": "^3.0.0", + "@types/statuses": "^2.0.6", + "cookie": "^1.1.1", + "graphql": "^16.13.2", + "headers-polyfill": "^5.0.1", + "is-node-process": "^1.2.0", + "outvariant": "^1.4.3", + "path-to-regexp": "^6.3.0", + "picocolors": "^1.1.1", + "rettime": "^0.11.11", + "statuses": "^2.0.2", + "strict-event-emitter": "^0.5.1", + "tough-cookie": "^6.0.1", + "type-fest": "^5.5.0", + "until-async": "^3.0.2", + "yargs": "^17.7.2" + }, + "bin": { + "msw": "cli/index.js" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/mswjs" + }, + "peerDependencies": { + "typescript": ">= 4.8.x" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/mute-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-3.0.0.tgz", + "integrity": "sha512-dkEJPVvun4FryqBmZ5KhDo0K9iDXAwn08tMLDinNdRBNPcYEDiWYysLcc6k3mjTMlbP9KyylvRpd4wFtwrT9rw==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, "node_modules/nanoid": { "version": "3.3.19", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.19.tgz", @@ -2432,6 +2775,20 @@ "node": ">=12.20.0" } }, + "node_modules/outvariant": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/outvariant/-/outvariant-1.4.3.tgz", + "integrity": "sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-to-regexp": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", + "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", + "dev": true, + "license": "MIT" + }, "node_modules/pathe": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", @@ -2595,6 +2952,23 @@ "node": ">=8" } }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rettime": { + "version": "0.11.12", + "resolved": "https://registry.npmjs.org/rettime/-/rettime-0.11.12.tgz", + "integrity": "sha512-5ExtR1ppiDBQkVoPw5NAqdbfH4Iq2VOmQKHMtUoaFxA9bo2krzFYBtyq6K40xxbYp+2w/YOr6D+1ToF6tTN53A==", + "dev": true, + "license": "MIT" + }, "node_modules/rollup": { "version": "4.63.2", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.63.2.tgz", @@ -2670,6 +3044,19 @@ "dev": true, "license": "ISC" }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", @@ -2687,6 +3074,16 @@ "dev": true, "license": "MIT" }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/std-env": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.2.0.tgz", @@ -2694,6 +3091,41 @@ "dev": true, "license": "MIT" }, + "node_modules/strict-event-emitter": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/strict-event-emitter/-/strict-event-emitter-0.5.1.tgz", + "integrity": "sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-indent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", @@ -2707,6 +3139,19 @@ "node": ">=8" } }, + "node_modules/tagged-tag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/tagged-tag/-/tagged-tag-1.0.0.tgz", + "integrity": "sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/tinybench": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", @@ -2751,6 +3196,55 @@ "node": ">=14.0.0" } }, + "node_modules/tldts": { + "version": "7.4.18", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.4.18.tgz", + "integrity": "sha512-somxA8xKAUzlAxl0TX/jMSYIbRNFIVGnI96pVGJPeMc5BsHmfVXn6mOJT6U++ELnl04eGfzpfcEuZe8WiASkXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tldts-core": "^7.4.18" + }, + "bin": { + "tldts": "bin/cli.js" + } + }, + "node_modules/tldts-core": { + "version": "7.4.18", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.4.18.tgz", + "integrity": "sha512-KI2PKvCmvQI/xD6ypPqkU0i7oxNXR/O58RLRaHR4svsgVUQ2JE/XC8BtMbG6PSehD27I8sZJRcC1ASnCy6lp3g==", + "dev": true, + "license": "MIT" + }, + "node_modules/tough-cookie": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.2.tgz", + "integrity": "sha512-exgYmnmL/sJpR3upZfXG5PoatXQii55xAiXGXzY+sROLZ/Y+SLcp9PgJNI9Vz37HpQ74WvDcLT8eqm+kV3FzrA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tldts": "^7.0.5" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/type-fest": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.10.0.tgz", + "integrity": "sha512-NoSdpq/WEiAg5sjmBkmV/hfxv6HJH4NqPNrqjtSO5CwRmpsDfaf4begxW34KdJykH/l1yHtwBWQkCRdoXO8mPA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "dependencies": { + "tagged-tag": "^1.0.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/typescript": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-7.0.2.tgz", @@ -2793,6 +3287,16 @@ "dev": true, "license": "MIT" }, + "node_modules/until-async": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/until-async/-/until-async-3.0.2.tgz", + "integrity": "sha512-IiSk4HlzAMqTUseHHe3VhIGyuFmN90zMTpD3Z3y8jeQbzLIq500MVM7Jq2vUAnTKAFPJrqwkzr6PoTcPhGcOiw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/kettanaito" + } + }, "node_modules/update-browserslist-db": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.3.3.tgz", @@ -3006,6 +3510,40 @@ "node": ">=8" } }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/ws": { "version": "8.21.3", "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.3.tgz", @@ -3028,6 +3566,16 @@ } } }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", @@ -3035,6 +3583,35 @@ "dev": true, "license": "ISC" }, + "node_modules/yargs": { + "version": "17.7.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.3.tgz", + "integrity": "sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, "node_modules/zustand": { "version": "5.0.15", "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.15.tgz", diff --git a/package.json b/package.json index 399f8e9..207a770 100644 --- a/package.json +++ b/package.json @@ -5,8 +5,10 @@ "type": "module", "scripts": { "dev": "vite", + "dev:mock": "VITE_ENABLE_MOCKS=true vite", "build": "tsc -b && vite build", "build:pages": "tsc -b && GITHUB_PAGES=true vite build", + "check:dist": "node scripts/check-dist-no-mocks.mjs", "preview": "vite preview", "typecheck": "tsc -b --noEmit", "test": "vitest run" @@ -27,6 +29,7 @@ "@types/react-dom": "^19.3.0", "@vitejs/plugin-react": "^4.7.0", "happy-dom": "^20.14.5", + "msw": "^2.15.0", "typescript": "^7.0.2", "vite": "^6.4.3", "vitest": "^4.1.11" diff --git a/public/mockServiceWorker.js b/public/mockServiceWorker.js new file mode 100644 index 0000000..0c970ef --- /dev/null +++ b/public/mockServiceWorker.js @@ -0,0 +1,361 @@ +/* eslint-disable */ +/* tslint:disable */ + +/** + * Mock Service Worker. + * @see https://github.com/mswjs/msw + * - Please do NOT modify this file. + */ + +const PACKAGE_VERSION = '2.15.0' +const INTEGRITY_CHECKSUM = '03cb67ac84128e63d7cd722a6e5b7f1e' +const IS_MOCKED_RESPONSE = Symbol('isMockedResponse') +const activeClientIds = new Set() + +addEventListener('install', function () { + self.skipWaiting() +}) + +addEventListener('activate', function (event) { + event.waitUntil(self.clients.claim()) +}) + +addEventListener('message', async function (event) { + const clientId = Reflect.get(event.source || {}, 'id') + + if (!clientId || !self.clients) { + return + } + + const client = await self.clients.get(clientId) + + if (!client) { + return + } + + const allClients = await self.clients.matchAll({ + type: 'window', + }) + + switch (event.data) { + case 'KEEPALIVE_REQUEST': { + sendToClient(client, { + type: 'KEEPALIVE_RESPONSE', + }) + break + } + + case 'INTEGRITY_CHECK_REQUEST': { + sendToClient(client, { + type: 'INTEGRITY_CHECK_RESPONSE', + payload: { + packageVersion: PACKAGE_VERSION, + checksum: INTEGRITY_CHECKSUM, + }, + }) + break + } + + case 'MOCK_ACTIVATE': { + activeClientIds.add(clientId) + + sendToClient(client, { + type: 'MOCKING_ENABLED', + payload: { + client: { + id: client.id, + frameType: client.frameType, + }, + }, + }) + break + } + + case 'CLIENT_CLOSED': { + activeClientIds.delete(clientId) + + const remainingClients = allClients.filter((client) => { + return client.id !== clientId + }) + + // Unregister itself when there are no more clients + if (remainingClients.length === 0) { + self.registration.unregister() + } + + break + } + } +}) + +addEventListener('fetch', function (event) { + const requestInterceptedAt = Date.now() + + // Bypass navigation requests. + if (event.request.mode === 'navigate') { + return + } + + // Opening the DevTools triggers the "only-if-cached" request + // that cannot be handled by the worker. Bypass such requests. + if ( + event.request.cache === 'only-if-cached' && + event.request.mode !== 'same-origin' + ) { + return + } + + // Bypass all requests when there are no active clients. + // Prevents the self-unregistered worked from handling requests + // after it's been terminated (still remains active until the next reload). + if (activeClientIds.size === 0) { + return + } + + const requestId = crypto.randomUUID() + event.respondWith(handleRequest(event, requestId, requestInterceptedAt)) +}) + +/** + * @param {FetchEvent} event + * @param {string} requestId + * @param {number} requestInterceptedAt + */ +async function handleRequest(event, requestId, requestInterceptedAt) { + const client = await resolveMainClient(event) + const requestCloneForEvents = event.request.clone() + const response = await getResponse( + event, + client, + requestId, + requestInterceptedAt, + ) + + // Send back the response clone for the "response:*" life-cycle events. + // Ensure MSW is active and ready to handle the message, otherwise + // this message will pend indefinitely. + if (client && activeClientIds.has(client.id)) { + const serializedRequest = await serializeRequest(requestCloneForEvents) + + // Omit the body of server-sent event stream responses. + // Cloning such responses would prevent client-side stream cancelations + // from reaching the original stream (a teed stream only cancels its + // source once both of its branches cancel) and would buffer the + // entire stream into the unconsumed clone indefinitely. + const isEventStreamResponse = response.headers + .get('content-type') + ?.toLowerCase() + .startsWith('text/event-stream') + + // Clone the response so both the client and the library could consume it. + const responseClone = isEventStreamResponse ? null : response.clone() + + sendToClient( + client, + { + type: 'RESPONSE', + payload: { + isMockedResponse: IS_MOCKED_RESPONSE in response, + request: { + id: requestId, + ...serializedRequest, + }, + response: { + type: response.type, + status: response.status, + statusText: response.statusText, + headers: Object.fromEntries(response.headers.entries()), + body: responseClone ? responseClone.body : null, + }, + }, + }, + responseClone && responseClone.body + ? [serializedRequest.body, responseClone.body] + : [], + ) + } + + return response +} + +/** + * Resolve the main client for the given event. + * Client that issues a request doesn't necessarily equal the client + * that registered the worker. It's with the latter the worker should + * communicate with during the response resolving phase. + * @param {FetchEvent} event + * @returns {Promise} + */ +async function resolveMainClient(event) { + const client = await self.clients.get(event.clientId) + + if (activeClientIds.has(event.clientId)) { + return client + } + + if (client?.frameType === 'top-level') { + return client + } + + const allClients = await self.clients.matchAll({ + type: 'window', + }) + + return allClients + .filter((client) => { + // Get only those clients that are currently visible. + return client.visibilityState === 'visible' + }) + .find((client) => { + // Find the client ID that's recorded in the + // set of clients that have registered the worker. + return activeClientIds.has(client.id) + }) +} + +/** + * @param {FetchEvent} event + * @param {Client | undefined} client + * @param {string} requestId + * @param {number} requestInterceptedAt + * @returns {Promise} + */ +async function getResponse(event, client, requestId, requestInterceptedAt) { + // Clone the request because it might've been already used + // (i.e. its body has been read and sent to the client). + const requestClone = event.request.clone() + + function passthrough() { + // Cast the request headers to a new Headers instance + // so the headers can be manipulated with. + const headers = new Headers(requestClone.headers) + + // Remove the "accept" header value that marked this request as passthrough. + // This prevents request alteration and also keeps it compliant with the + // user-defined CORS policies. + const acceptHeader = headers.get('accept') + if (acceptHeader) { + const values = acceptHeader.split(',').map((value) => value.trim()) + const filteredValues = values.filter( + (value) => value !== 'msw/passthrough', + ) + + if (filteredValues.length > 0) { + headers.set('accept', filteredValues.join(', ')) + } else { + headers.delete('accept') + } + } + + return fetch(requestClone, { headers }) + } + + // Bypass mocking when the client is not active. + if (!client) { + return passthrough() + } + + // Bypass initial page load requests (i.e. static assets). + // The absence of the immediate/parent client in the map of the active clients + // means that MSW hasn't dispatched the "MOCK_ACTIVATE" event yet + // and is not ready to handle requests. + if (!activeClientIds.has(client.id)) { + return passthrough() + } + + // Notify the client that a request has been intercepted. + const serializedRequest = await serializeRequest(event.request) + const clientMessage = await sendToClient( + client, + { + type: 'REQUEST', + payload: { + id: requestId, + interceptedAt: requestInterceptedAt, + ...serializedRequest, + }, + }, + [serializedRequest.body], + ) + + switch (clientMessage.type) { + case 'MOCK_RESPONSE': { + return respondWithMock(clientMessage.data) + } + + case 'PASSTHROUGH': { + return passthrough() + } + } + + return passthrough() +} + +/** + * @param {Client} client + * @param {any} message + * @param {Array} transferrables + * @returns {Promise} + */ +function sendToClient(client, message, transferrables = []) { + return new Promise((resolve, reject) => { + const channel = new MessageChannel() + + channel.port1.onmessage = (event) => { + if (event.data && event.data.error) { + return reject(event.data.error) + } + + resolve(event.data) + } + + client.postMessage(message, [ + channel.port2, + ...transferrables.filter(Boolean), + ]) + }) +} + +/** + * @param {Response} response + * @returns {Response} + */ +function respondWithMock(response) { + // Setting response status code to 0 is a no-op. + // However, when responding with a "Response.error()", the produced Response + // instance will have status code set to 0. Since it's not possible to create + // a Response instance with status code 0, handle that use-case separately. + if (response.status === 0) { + return Response.error() + } + + const mockedResponse = new Response(response.body, response) + + Reflect.defineProperty(mockedResponse, IS_MOCKED_RESPONSE, { + value: true, + enumerable: true, + }) + + return mockedResponse +} + +/** + * @param {Request} request + */ +async function serializeRequest(request) { + return { + url: request.url, + mode: request.mode, + method: request.method, + headers: Object.fromEntries(request.headers.entries()), + cache: request.cache, + credentials: request.credentials, + destination: request.destination, + integrity: request.integrity, + redirect: request.redirect, + referrer: request.referrer, + referrerPolicy: request.referrerPolicy, + body: await request.arrayBuffer(), + keepalive: request.keepalive, + } +} diff --git a/screenshots/mock-dev-panel-desktop.png b/screenshots/mock-dev-panel-desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..a4545beabec99dddd4475807b2c493dfa36c60e9 GIT binary patch literal 76397 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
  • ;bK4;WO42A*5 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 literal 0 HcmV?d00001 diff --git a/screenshots/mock-doctor-dashboard-desktop.png b/screenshots/mock-doctor-dashboard-desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..58d8f94c07d598f99b9deed570777548d11467e3 GIT binary patch literal 96924 zcmdSAbx>UE`X)+}on!|B1PBm3xI=J3us*z$5xY8V)ge_&ud z`ug`n;La@PgCGoy7Z~zV?=-y9_u!9pUg|&UJ_2^y-57-jy*_!TYIa1i$+Y16d3;ehCKndtoD zUo$x>@e*u(+3LUp>%@=ARkGJQ>5IR$cit7Hd+; z6$WX$Z4ti9!_VP)>_#vF8JSl?iq%xP>puH4 zpdZULpC3ZYja^!NI!3R|`iVJJv+d)0esOD$6xXt`YHH6+#rx~n*_js_ONFS|DJGol zhHguVnr3%)gAx-or)nc7Yo625(?1Ja_WX;S$^gnxnh|i(Lr_BAh#E0s1~HTwPI{mG z+{t5AtfNS0B@_7T$se&nFL&1N%x|s*`f#LVrRdl$Jkd;)H0K{wwK;#+M7nPo>B;nt zdxnJ)34KwpbIUz5eh~}uiqV!TtVsG4R27!`^|{KQ?Yg#j`1uRbfkFH3nX07UT`bh6 zzGzBLSIA*9`uq3qep@Oby6ATg3`y(A=i3U}qRRjJBl`pSh(Luw20sHg-DMizRE>MF zQmUD5&?#M}I<`Nsy?(a`#R(F#>zn9e7TWGqP6*pvuu24YSOJ_8Q0{)1^;I5gSl}*!@ zn6KJwCStJ=`6)FcZr!*lxlT$gu1rD=kHI4eu2WUcqap>x1=6}B8v^|0e>iRRtO-97 zR?=wRH&ud=GdO>9!z^no|$d3t<~E*B%vuk`u(`Q9gb zx_Wx^8ili^(l9p(5;`R51}`sfMvGTj2~3m!&q&a|4!DO#P%+hO>X|K-39jL|R>dHV z9VywrdZfOANEF?qe$KwpjLdxXhOk{nxB#Og~y8Hb<<0 z0Oc!*B1f3Asq++P&79Xd6i?@C+BX-ETJ^P=mmGvhjMenYwdYTG}>St!w;}7p(Xt@o22E zu`vSK3##dMg^z&&EK~jq2)TjDW66=cm5^(yMh|JOfXz#@;0rmD0oWrEvz&k!2N<7l%O>4A9EC)iG`H8nMDck#vSAW&gQmQQ4Ag;ARoJR6DjL*7;dS|_oEf=;$L zf0|znrZ>76w)}#? zHiD*|ACBoMhTzg)%Zlui3<93MhK+1zZQpIJ>WrX!mD*UmfLB16TacZ&z$@U|$yb&0 z!V@=dNzP8kO)BJ!%6hJ}GAIQ(!KjjZNQ{S9>9?Eo=;i_>u|K$>V9GOHad&`~;QwWb zw{QzW+!ySa5&Si%Or(a@q%q*b@*H^7V&XbqC^s{|sHoBW3iDA{1FJ!AG|B$T3iX|- zX{75Gr-s^QZ$AdcGHz@aw`beKpz|}HR=UV^1`&{O&L-kf+chrJBiyY%f4$0crtNAoStU0JjBSLc!54?oa}?g^CwYxQ z(ka{)wlie~<>eXIq^w%SY?RgpL4{7p)u7Kon7W%ojkbMJxQ9!8j&sE_!+KSX6~?VC zzDU#B9X?D#4jR_0la154iGs+8h#dhtI!CF$1hz&qxL`?TTKmGI8RBBD*SW2&e(LPI$o)ZWtm-CBkHU2E!Yo@_V<|JEY_KGx zUTC(RRkhead*PGbvnLtJ!!8~!OqPaC?l%WAy$soJ1O>Nev*4qd;%Dc_b%Vx*%3my{ zSL1^cw8U~9WhIO=J7^gxW~=#((eK5spPwJ2+43{Ro4_foj=Ly$E|rCqInDIRHhTXT z#{K+xs-?gvwJ|(5MIo-O$lSB@Hf2rfE>dJ)YW8@b#~SvH(4ky;Rm^60+v8x&cv8Mb z0Kcx$VdJy@%$iT&ji)1Cw7Wj8wT*Q_Rmp_1-LFq@{S46-G6FL7YUQ=B)ty~kdpP^v zCr453?Z#uPd8u`KuWbX+L&r3y_|2;aWwwnco4daowLg6L75k{U8}*VyD?4rf^_}7q zwOhV-9>E^rPzHp12Te~JucKoMtIGUL#`vm97IkxdMZooCo8VuDg>uJ4Wg_7EpNo~= z=RwtdJ&S;Y&@R?%*1lh1X6N7+_eA(+A9cXfzQ`!D7)%P&(RmG@cz4ODBsv;t@wgrr zerW8KZ@ya)s5p=?w*x`e;AzRO1<_D($Dl@OW!0_8$}h$e!4P)`}oQ7%IOxw?jBKwlZ!F0)Pqq#NxYr&o) z>4K{t@A>ul!>jlc$#|`6U19T5Fwj6{d(3>O;pPVGRBG$c=ootPcZPoy4zs3flSk3V z>bilEuu#lo|HzP^Zv70|Jc#AjXf(P+yS%}FKWu@qzG?&Jxj$_5Z$c$g)LNrm8SZl~;4sH;bNRa!;t}3SGLawB zmxfE_?&g;Je9bex<9Kccf=0Ou>&+8u?GKq{n60J;Ehu+y$gF9zdmUZtKHlXvlVRiK zG`Q+JXoxShnX(;ZP|gtK;54W;)$KX4NKa3nuRDA#UW`;{OlDO-Sw;s$$%XuFiHbl@ zm1y{$Ub}boDjBtTA?oYx|(s zbgeH+++};YiaxwYTPat_^qBg~lfA{Z{ed-E?48L}UjM~`wZ7?cqp3zo5t-}97#I=^ z3e$GERa<|4X?^4XgMsJIb(r4LGf{X0JmQ?#o;gnEot?F=a zbU0;xOOQR8mO1}$c5$)KP45Qaed+BCh6YWOl=Ssw-PQp0VPQ3>wmV3PmrY1W2v26a zIk}1ts%C5oaFMs3dX}n3LP1C`TxjZZyvUsW&QQ#6>~ixQmTUYPnFjJ>lyf$`=)bD& zh4}c|%$3__e#$vJ=Lt0`{M%E_T7B>8b5M9_=zHnXv>L05;(XL_ZSELKsl=$=m;d8z zgD%!g2(7oV`2A`9L3x>Nj|_@R*Z~oTO*4@q;-@%!Ur~W~_1V41rJA^mkAFbavA02C zOT`^2^l|k}+7yCwxI|r2Z3aud@pK3av>S;#PvIsRN#PepZU_~XiskhPl8L(4j!q29rW!y!A0TrkzrOFtb?}@_ayTK+&(S3FVD3#bVo#wSl0N4!v#hCWf6;mD*SAXr;LBahJg*`MVE zr0!^MJT*!U%*Mjl%S7CWjn~4rl>3+T^iUZ`tH_-B^E3{_>S{}P?^Bdrqvws!cr<6? zs2l?_L*646$PzRaHYbZ0ta_T@Pza9K`D#&SrsKFp{Kg$RGNH=lPF5;7SYn}-UbbgP z@3_OFO4L|f$y#e?rl6(C<7lrqYil~n4FWmLRC4i#-25_CMQ^Wv`;9@Rn{`^ft6irg zRPAzWE@F4xNa`;9i;+3%1 z`QXOj;9#xI3{f9Uq|SEjqa$b3h3Ecc2Ljzy$YrKoX6P6vRK2a;=6%P)4$H49*K^+q zTRS$*_8Cs4m5IdbJI{+)2Wph~X%5V1SQPNQXw4{to2~LXUYNKyJkE4~=RhoAXsFw5 zE`*r{No?Q0K9s1yzp}SSSM`XC+6V0l9%a#NI%|0x-o3?TJJOOroEjYT4Tp?-dwzCk4C^zERq-zJk^b+dyRge|kN5_swplM9+FD(bhrzXb*9ZEzY#^B4aI3z*F73&b-k zP)V0#;K-Lf%*2&<`bTSdE}$}Wf$rFOx)>P7F9foX21%dhx( zu<%U9B5p#dn?poPj3YweA|pb_pe|O^cCt*hV5}Afj`vPu4v-lDS;zkR71-bZ_c3&G za(u*A^X+Z-dS;J+v}~@|H|Y#L?B}lfk9~ZLg`GX-{JZq_fAX;EqMAwZ+OKE7zm$Fd z?8KwKJz#p4CLq?v{-H!b9N`oHE4ofBcCjwgT9M$(fJVQMu~r?UUB}3){U?@<(pmS! zGttqUgr$q`XMStU%$E9=m{6lL<2h(-hhfKg@=>3A=gQRPpQ!RkQoJYfLsWy6lj|#m zoUa!<>0wFi#>{F+iiP^7=EhLTO^d+<`=v_t`268w%?b_{08uKinA6bGt~a{FBxDT> z1tk_grx0IFOBT7cY`?`%RJd@2Hu}|m*ZfqDtsk1)oAMlYNY}7dr8zL>wS~O(Zi4hu z3+*1RoL5|g98C|*LV+k0xjIe1z5$2K&r^ueFlccYYvtM0hJ=LFmS~42v+Dlb#nea)tOcEuGJ8MJ!Za45IV-9W6G7hloDJ$zq)>P!RMVMZU?AJTOF)=amQ$pA`)B&MytMDDlbJgsoS-Dg@ucb0l+o zABTmMLq-g|rEo!7)YaBn$862FbYs7tFdRSXEh#MgZoxzRsRzu7I|r9B2cuz(;w^sA z@#2j;t}*#|C0|s8$R1r&6b%6$LB8(reQy+###Dt|Hj|PI3;p-;1pR7=tDnrHZ3E>wM=K=f2M(!UBjgqp5-Vhx zl&a0KaWE4&ImRDcRSCIn5z4>oWOZ(9MCFF-ulJK&AY6UL{FxCIax%GeYQ~UGvezM; z)t7Cd6dapj5jpNR4lFFi8?0LJYO~hT&q;N4K)%ZYk+hQp;&px`RVtr8D#^Zia4SQ| zSx1T`gVKS936Hakz-_O+@d95nd;x9XeaIlsp>`h;mpD%I@Ryp4I zo*k{s9uxFXqk?g%(nTOL-7mB&4Dbv`I;F$%Ep+8g?&bq&c}49yQy;IcW%7J1y;b;V zW3D!ne=^3pRh9aEvwn#E?%@OU{bD$5h;5-HnbU$%mo6e1l)y$0q{vIiN=mBp;}M*mmrJLn>V^J+b=#8L9T!s;7#MUH#f5;nnO`48 zZV18Q<>j7hw1{NFtL`2)Z0XEGj;dq(wqsn`Q^#@|ie#!Uu zu~hK}(Y#~WeCoQ8o$&Aq*&V~dno_ZM8|HfPRFh}N$J0|23Vx0ugL-;;T*n%#6JgP) zL)6~v?||(FnjX;3_V&S2>qdNd&Y4nCTTyPk+tsI0rbOvpC1}9f&f@@yrQi!ks`+|9 z#CW9jkYG)u;%Cu#s&HNg|1>xy9P7mC#tEJKx1a`kNkx89Zcw{|iMb^IrBiozK9XOc zQf-wp!|KgBH6B`53Q49d6fzvo9k*R*&XIz*q==0jiJewgXE&V-u5WM_IN5-;+iy9j zt54Lhu`-t$U(Sj8-8bzwJTO@?fs@uVr{5TZFWFv+W`X1D8mkJr?A7DWkJo0fNW=B@ z!$#6#?HMgjZG_pM#{%UiU=0zueosIR~-N(X(?4xo+Y|YiQAtW{SIdeE9ey zXRXh%oW|rA^=L5~0`YGtg!ktW%!=Fgv%i!|>z+AXJXsxOloIuHM`>H96Df1h}}zX*xw__B&*(ori;g zFdsXlyE^ja1vFr+nh+|?8BNum+;%1Ds`m=7A=wt5$4_B9x_U%1o|bazv~Vq$`~ zV)6j(pP5c^O3X$|NRk3%%?~Da@?4wFDSfv#6YrV@Jon}q{ju5$ZLJcji)c#7DN(d* z9|o20VvbMTMs1SBRD-B4Bh+-IZm-w3W`@#5PZ0aIwYvg|ffB$ZLaDp^;T$Uc0K88 zozOjb>FMvG)c0%hjV*@-p5&t7>d~^nW_l0;A)0R=(`eph1OlmjO&-G&H7{zdOwORJIWlC`dBl=(le&#%;c+i;K|& z=JEwqt$H$>>TqKRRZLsAMEeCo&sd-j60JS`gv`z$(pb zm49QtpfCl+{>OV|@p+u4defkbuD_ z?&1p_6Wc%NO;`EMEw)@?w)q@OxvjIgZpNN(xNHqO-lK;TD!)j972WEkH|M3HqiE)9YK3=D55;Vpdg#yg|-P z33)%pkYSXQr&z$|Y}ZYF?j?b6w@BH-Pwy&i{eF^e<1eSHb7sz$jn1caO9l#h+hA@c zwU)_Z3s)Z$2~FKfXUf{A`*s?cA$(iiYG0#zqc0H=Jefk?m*b7`u$le1$ga4gB%sEu z_vpFJ@C#109Jcgy@|5!OD)Vu^+sZpFc>LsACACuUyq2-Kq5m}~xun5&Z0Ml%NhrHe z19&%0do;Nm&fNC=Sx&jebcTlNu9`rFk=^gyspVLpa>)!BcL)d?Z}x3IiAl5k1D@^iqtJ+u8j+f2|Fxt;qjsmu zBP|cdghLwqlI$LZt&y}tR3t0oK2FWyxPlgk#1b7)2e!rM1q25&v#;K5oR%`v21jM+ z{rE7}a9EI5GV7>T{2)7BcYs@2AdYHt^yV(DnRPR{ib5w>DfxSU|3$$*rGs9Iozm$^ zqMD7drlbH1+Z9%A#L(#mhw8-206l;byWZcw#}|v=>#_0l_jjJ@>r3W!jbG?}^+f*VAwd*|S$2$%}PBwl*|sfUJun8PD|oYm+=@f8sSAh>>?8=4-E*qM%^Erp8FRWzjCT6nmW3y z#S$8-(qz-pyN)b3YHR_|D07V!E9oD{thyA560&Nxd9PgqaXCZO+wSh(gxl9|wKv~p zq7Hib@^k~1IWxG^b#npKYMLdgIZ6wtDq*tevR4279h4zN&DdH`i`p+d3N=%KEKn&2 zEa_K(l)oo#tZj(0S(%Sgw;O+c#9vF!SfRvQP5(9IbRCgym zKU))3^HVedo=4h$;zg{MsK1lvbSGbt-4~@in`{vl?$-s;R8myuKyI0Xmh3%Ps`Z|V z6MFE#e^}o$4ys8#k*&1#^XG4p_*I8YlcZta#RP9_MFDdu+pH|=>ih`&l!TB%8I^SQ z<_G|W6yyc^bhawi$3}PG4iRns1Gh!~ZQ??%8x&&Jb#|qgKygJ&OVd|zjRJL&NKr(P9g?O@+FnsU+Tr(OKZ;PLO@i4Bgz2;^&gc^E^KJ z?Qk5^M&A~@UR1c7%l%w-g>=7LlHc&h>WsQF8>aS)XemC|mnCeJ&lIYN*%&FA*|YN; z7rnZlFl(B2b#Kbw7xhJ>h1^SAlN(e&@;l76+4P){%~WKFxaQlO@4%ZbV&KlE;|bP0 z`AV@%gd5{MSj3#^63*8KozrSY9yS{0>#fb6Ev>H6X>SJVZX~*fdF>X>PxG+>q{8=j z&szpdFk#$Nh!^SmA1nZ4mQ3ZqGgZ`0u9;GD;o=ezt1Wd~?RC+ccvHWh-c}Rmp5i#2 zDQa??H0&%OT%=oq$}d~!X+OyhQfE|&py2CVT55Nlap18WR=v8v6yx9+8731rJ3D(x zGL>-`3|u%Ev`@Dwu^zANi#W;g|Ml(iXR|x{nvCdKPBV8_ zZ#tml02*p1G17>TOVhH*_NnmKT69{B43uIJ>gK(TqmDPEo@no9a*kTSb zj2-OJe!A*BPuy~Mt9nOmDBVO&L>%c`?LP(LuPS{PhRfiRnx^|bMbC0{zM|eft1}1y z$Rr>KzTQpLIy&ou?gys9%1{6VSFhIF;Ac<6CgZlc>{oq?LzReo#QYf_Pv4v`oXq}a zAij@A_k*e`lnWBY2A6B-!C2_;GPBf)tXlNx3yNHGw8ncvo;Q{aF;1M4b&nO3TnWT~JaC#9ot`{hZGg1$cE zO5^G!v{<7;#9|ts>TuLGKN2~X2}a{wP?x;6r-Rj=EsE>t722KRFF@<+4vjfVutn@$mKzXMX{Ggl3;BbLx4( zUUC~m#uwhaBlU2Vd76a0vpHV2d^m;9uf3SSQa8_pcjEi^!Vgphv)`GR%|57UP4N$= zpt6MVuT@5tk5K3;yW`b~0u`TzzR15>@uyt)H*U_Utkkoz6FPF&&{y;if?rS&w4P4J z_B0E8`xfNxIBqG|d@!FHO3?7*cMRc8or8Ft$`C1{qfY(HCX2+G`#(gJTgzzvGM^fY zVNZ6oDoA^rbz8l&o4HP5h3g`_!94_|_f1G+k~fd)B=awFOsNMCaZ&=8e*}rl918nQ zelQL&FF@Ga3M4_tUJwveAKpIWf^ok2VRmO}n&jWxaDoji14fLD@(ib83Kz%8{aRZ7 zdnNsX>jZBh7OnU;1v^EZK!}D{%-NFa)bEMOQ5NRA%d7Lh$cxm!2TE>!DVg{>b$Zz5 zrS=AlAi0x~l9pA`Yu;`>?Q@YX1)ozvXBO4|Vf8Tm_^1+17H-+F*pv#Q2*=c9jr^V) zPhWB-DfJ7Fa-EQjg89w}G-v~urv{%ts*d@Ogr9(f|BgIEq+6v_MPX22VDWGAjA(|a z6U1$FcdGiWz|8XH0<~@0_Z@Kk8+ILD{UR6LG6e+*c42Nh7PdFS+-v~jBrmNWElO`e z7;9TtXkBcxT~uhRfc*3?#)n4Ul5{u8l){`Humy@2R^wVq=NDz9e^%#cH{@?xL$wGE z;H~iBzjF8L^Pkg9Zck+A{KII$h$(NtWB&6X#{Yy#^{XN~tBjb4{57?Z>1fCuZ63ix zoPXZ&CzK?>TH@ruk6XLw>G{?D9>n->I@T=a!)?c*cZx-J^^wHxu`hVIwQ1f8t| zGnA?4KV+}vnULqWcdIMQ7d-&G>BD17>{~mFH-JidF8BG^jsI|SwmM%L)v@+h2A`plh6h)za{ktH{ z#CG4SIG>H#*;z)FjG;7<_77RvJm8VImxG6MnSd??2x&gUK#SW>m$tg^dW^eBN=mxA zp0epGx$3O{WHwe-S5UZy0o_nsGXB-QIoH_O*eZNR#x0kPK@f5f4))it2^BhdO!bkyg^li&^LA zGAx<1!l;$#)hi|tH+W>R6*AN2cOw^&LL(h!(BvkKpuQ)p;jP6aVvBjREN7U+mY_$$;5ot>+JOpmfCr2CjVBYX_`3Q;w0zy zHP_HcIMctpx~7oue}An~R9JX+V4udBnRv!Z@`_aP`y287bLrd3Lgz>F5AHJl_3^+* zzl;?O4QYd1&i(JMJ@)6NQR4@N@S_!4GgH%C<006tYcq->7>9zx0s{mBjdP+}OD?g~ z&UTs3dI8VCgbDZnx!&(%w7`v5Y%2`t3jo&=57)@L8Q?2?Ogb-fPACFR0AVlR1rVi~wi)+S>w_ko1(?nPOSQvqZas0fOAx z6|k9nH8w^_EggzaZ`A5Tf$t)ppfWKHq*^xBo5Smo4ULW1+Y;NzYH(_5>SN58KkMry zyiXFCI5irU^CQWs&AI$;FOO6CY^9TR+WN=yVBOV~m6cYq(_JcSJ5nF2Y_|>+k~za) zNvo(-7{P_@=RN+$!6B+v&J?B~pny7ct&98qJY1;H{L&>m2fKZYX@_Xh1a<68*=m>S zFxS-?wKlC*x=h(rYKnLqELK_UPM7IFf6hHn9QqYNq$o`bLOl)Z9VqDO^Abz6Lf>=2 ze*JP<{)Lv;kBW#gsI$9jawqHT?Cge}5_1@|xXm4Gn`lm%qa_GQ@r6Gwe>~1N=j1eK zX|S6Mqn3PvO~S2X#JHcSO1h*$>Urq7|HuAvX@L+GxV|x($+@BsE7i}?`ChWwW0&Ll zm#NRnXYZSf!$y~l_dti18C?^!LMt=y6!ZK7cYCrZoDDAMeR8?d^>iddj6RLt=f&Xs~kGdT5| z42)bSzjM*RUl6cra~M~dk42D70E7^J|64&|q*%;CzoqK5b|OR1Ik$ol z3Jbiq9q)sNhKAy_+FbUVeD#u~wvosI1*z@VX-DVBgmYi*^iU`ZJ9|h7?-p{RfabB> zych1mLH*%ki|>YMPZ;5PkmmtBK2AOB^YE%P7Ab#W`$u#O;P_y$nKJn6G`auJ$tG`) z5U;G@sofSmxWOflNqj{@($D$BYPz(@_bZOG*V4gvLo2KPPhXx|&|j6F3@!|$F-F^E zzwNjkFbatMFt5$X0MtJC9QsXe))p2Udz+h8$@B_(jP{}{hSsoTR>r(ymmW-0!t9cz z=6ZX8kcU5vjft6{!vc?_Yqq~zdyGXiFcLr_;4t*{+1mNpc^tn{leu+e7at!V zV9OkwHTTOgdr5RHMM`VE_s{*Qr&p24b3+mKNJkK;>);OY$1?|>^#FAA7*S)Y!>^pf zs}+iRB*KTS*S7iE@3&t6jTE#*x4q!&&5LC7ua=dDVF1G>aO5#EW4|>}Zp1e7n z=J_kof83?h@ArSOfcjiNcll&K-VhN@bHw5t;5YerxdDcqWHx40R8$o;ojG@!d6L>x zwguK7kRv!Rub+AS@NPd%V71b6cpfnMvwi!8YVgG*u>jA_mQB=GU3t(D`w&5!o2Tc^ ziLTiGpEYUTr7HA-+l~ikvg*!6Kh?6#Pzb@_$|U4 z2O9?^|GO5wz0H(aS67E<^D9ZCBevA<;1(h!Y%HBEPz? ze^L5-t_mEllBWNijJ|;wImN1dclQXtHq*&BECE>2@r#MEG3CqgnNiO3Yep4lxnaq{ zblHMYi8$m?v)`4C^Q+%0T_?$1-*DAcRq+Utl7w9J^af#$@HYBPE$w@7 z#5bF%;*G&X*zD!*n>-*p0+#0)7Iva`gB#LityjtK-fzg5friH6XLP+I0tgg&f5r`q zXH@BQrl&*%#DF#c#{IK3#(o)TLYatH3@%^IpK>IwIx4xKZ-WNn84+!+r{CdY4<213 z?*kUG!Nkc4NpW0!d`ez}--3gK6IlA9qfU@OcZ`&jB;T*VZzk$Kdg}=ge_3hiVl9N&d-zK*PB@bk|NiQ3aLax2|vugFTvePxSpd@gyuIB140fZh}Qd` zPAl1dH>)z&Y-%+}A$VN{N>G{-K$N(yMgqR3=G51Mk6u1L@3tyR~ z^ZYhs^S^WlI+**+j2`0>HoG8Fs@J+Xyen{m4>WThbtxhc;y?zHA?SPpEVi^szT)-i z*699pnQf;*a5R+#*7fBjq7`yD0&O;J1rF~R)q5n$Z#FnH)z;ST??nw9=&|(3Qt!?#fEYiO60!^tz(zF zn?e$sxVW+7W~!Jz%2YZ$?4{-Iw0%{z!dD>e@__^hx$h*D?9Mc2KY8*5h;pogOohHz zE`Z7b&ac($IJ>GUtk&H*){0!zZTonQF?)V{EC-XABf-tK>|}#ouO?)6l6chk07&Dx zxz)5B%*{2jrJgA%4Fj>zu+djji%Dx|dz}pd2hsr?Dq$K{a&cdsH2$*oT^@Xh_`V|x zd$Yj)jkXWz^rl zJSLEhB5!qG%fEdX47jn$68!@3=s{Cc(}@j`0zJhc$3I|f_?V@4UR(_xR`kl~1VES@ z6!P%ue(jb9t<&OV0)(USHeo>TEr<0kuh6@hZa`;PDUDyF@FQ*B9`N|-Ci@HTuca1} zv|R%PjO#EkpMR%$rDl~d0Yd~atIyGL$52XjrWk~yCljpN;^nN$l$|XdP6R7XNBs!=-Z<-u61K9Jn0&Ck=y;)Z_g%=eWZ4ahuv<99u& z3>6N83tA4%mg-j3Sj`#iWdd<0_^Yp2kBpssy@O#YzdeoL{hxf`{3_g&)YEbPqTtWb z2{&or{Fa0=`K_mm3(hm_fkYlKNHrv4JF-3Co|>0ek$h-0krh0SiAF!DFz&++F3Qi> zYj83FwkT5cEmwZf;p-#^z7`ht9%jGc zwKvSs5PF7jG?75_{+15oR|WNT4F^ia{X9}S6Qr)7-I+-p;8~|LeAkFAE<%-#+vgYqQ3P;Q%JJOpM9xq{y7BapLO)}W7O<@M|W^q?*l$yYE0Jm%MT@Ac|K}?w8V=cN1WdAFJR_> z1hf3v!Jxj^IT$Y(X_$U*OuKK9&DoGuWME`mJGlx}%}Cs`lv2Pu(#OXl+CU-Jg$>-~*BTvZQgb z%{dp+JR^%s2NJ-?uQsBZ<17|hYGU{^y#5$q*0*J*W|E4-R7ft| zwumZ!{3G}aH6S?IrNIj|5H&pR=~HFD7F=EMFB#7tJPmA*y;%zuAR0;X?=QnT%P&#qJVAG>ZU zxAO66PPyk4h$4J`nxo(2W4xyQvobTzZSH*Mm`RDno`OD&H+jL*^KSA*Q7~v`m|UCo zLfyXfk|x^f_s;>KLd*#`qf5vwH)>@_g*P1U{-C2V@VY^j<>aV4S%v&FJ&mNukdWC% z*O@HIU^PeTv9xQRzn(l%{{E&&8GbDtrc-Y<=7U(g%E&NMyOvLeqRb*AC`6RWwKI9Z zb*ZWIZLK%E0#*ivPF%50*stF7FD!sZN=dGpd|DwFrx&;}FXNSBS4(7-nrci>Pbp+^ zMveIE;>*6JHhoRtEB&DP^|j=Jn{pmqbl>`db3ifGtus@gdm zS@(!8m#z9!hk(L(wqMy3KvCvgPWr*^4HF$Te7q6>Wz-u2ZSqrEFR%poi_arlZd)8h zA?tg{gPo0{lA^>KJax%6K&!T`cZU|6Q1kJ@pQt;?RLBSIKF*fNvp&O!F)0KA_IF$v zkU6;c|KO~ze0q?D7%&c7J-^O7TTp@uH|kVon*wKWa^43G21k>p2-{Z)ZX4Eu+{ca= zewx7J@)Q&jnfUClUqT?k*kt^RE#CU_@&IA(_D9Df3$9O@6-zCTu^g6KC|=?ll-td5 z7z!t|YHN`TEw$hO_$~rLkso`ZZ$qP^lt(G+vWK-RGQxjQ&*e$^IkWlg&$|maAdXIM z4e}L{T4j1#C0cxA{ET+8bx<7n zUQE9tz$i+?hE!HSPK+j3{K#lSbUk%`bO02PExOf2?lv=e%?`uS`&UpA&rl`%x$MU8 zsAJSfJmW?FFqx~4PQPB8r+@>yQYvqTL_k)*$P-*jCg#*Jie}rwl5ooNSw02HuCC%F zrdGRt9oF!4mO+*=uCWyCh$poNAId*)jhXm6-1}cN5`YikajO+;A-nHKq2uiq&3nE1 zeGW#tO##7H#SV=ilNCJM=mRmYE8qDN!U6lK0^Kz3$C!P+Al#)^y}AJ4xS{OTD%?`( z)nu_Gn!M3L93twy2Fk<;;9^zbKh4^2(qdA(Z7qo}%p7l4n0=pNC*;uT)#A1k6@8GY zrfdCvbsyJZs?u&Hn<3?ShQF8R<<1p>Kt=g0@hqdpFw=v;r2U?p2>S(+)+dZC$5_u5 zJ?5nL>r19yi_(~G%@I^3CsQGySr4cPGwUK`W$0HDg-s%}1mwmCP;f4%CqNWYc9Ze~Ri8}S zeEhz^@_S8vDzqAgBAd1ehUyMfEiLpr5>OBjunJ?}3%Ku`^@lLQ(v!HjxYP@j37`W_ z?zZ~+`c%ShvvpucT_|wYU~i#$X|_8TK(B#(e1ERGz9QN&GL^4btBhuo_B)Zrf3N_p z5+nER-_)y|Xem~Z2eYcUOE=S)J%7LX?;rkm3!VpO+a@>b1M!Xys2Xb?_A33tl41%$ zC#&7*hMePUEO;wKWh~Ji-efUCPNZLF*9?@Iozj2>+Cxw-PM3ndv%dkHI*dK#jk8+k z%B#4#lrtqiS9X$2wZ+*G&}yVXi?6iDC$+98=deW9J>xJkAc@LFly z=wWvsUQM4e=3x;TiQDX_QvhQz})zq*OS-IU3Q1?@HC?*SN7hb`;W|OV7-n_S2d6P7!dpKG!Q{g|w`5-Ur?Nnpla6nxIY2 z!tBy?p0vhBYb|#^zGH4SnwI;|Nbmt7VJae0Gfs((O1S((xhOH^Vn(&!mllg-RdJt- z`A*&vFCcr2_{0O`f>hrc*Mtc>j55Ho=c6+}bO$K!6g+kzC#u{6L7J*FG5#WBcvEAc zWbvbLxS?ox7d#urlG*IE;yah+ZqjvKTd7v6b&KIoNtuC5DSC8vc7k5@JKZb`BV^s1 ztyD^wDKugiW&ugW`$OkzC4_xnLI*JU2>}$4P7hgdpyUaifeC(q|wA@z0=a`)&>x_N76 zzw08qb=*B~ZDL|P@OMitB^|Gi_n)RpW{8;8yt+eH?rsA1_0m#$&gr1(=|KO7jX7#B zWet(4@;0y~n!UlxyPx4if3u2N?RHA`Cg1F7XmXkDBoq#o+wzI*E7zqddE+x|%2hAh zwYk=GhKYq`%V+X^*6;?*!D6EM^TWvEOr|))agH|+xcCmb@whDyur=GnbQ6n zN<5l$utaT1(dI&}Di4Aoyijt8HXSLuU&QwTc`hC^9HGJAy;{zfeVQN1_+0Pr^1g(y zjftqKg(<|`@HsM)eUtRZ2}w_muJ;;=hrdT#Kg2-m|H-0-=fCy7W4`4gB?!=1+#hRw zja!eqr4kk>DJ{u!B@==E@@WG1XI)fqOy+uZLU=*@BY+KfMINHH&i--(bLkelLB%OKD<=k;txHGyd~53_qwp$ z9L5vLxf-)uLi+N|)>YVAxm{I1{sp_s@mUPi()1ol*6zTFD{xFsNkU!ME$T`HW3!}L zmh;PVc9bwSVfK%}KaL?zP5TbAo^!X>(bDHRfDlsRQFG$yb646P`fRWw``VT87zYM{ zqGN;Lzp?k0L2vvE2>>j6nOt+9iCD#UEiHmWmcwm~d zx&K@vA&D+%DpNTs;t0E#ypA??aM|4rvbGpSDF2>zTu%ac$S3WRK`t(?X7YpdLJ#|N z+uPA?OsSI_OWm~yRvu+D+s&tL+kG%XlaJ-2mL13`H0|_0nu+kt1J9mU4d~Ya49i`K zXKm5FsR=N{L|DvL%(rUXym2e=!v#p*P7Wtj!ZptVHX)!`Rbh?9^m0E4n>kqljftD{ ztlH>sQYSDeLn*n!RmyI$vk_#uosr_zQkzMep#l+^z2xMiQ2d6vIw^~Nqe;SY+YPt4 z!*|bd#z~#$ny_a=GBURc%Fa`&tK(B%2-T-Uz6DwAG)HTv%B;7ILUM~FKBlLqmnKkB zKF;)tR}C3cuN`r=d*cvSV;Pu!uoyz>G1sxLB6`~=HdHxAort{dN2Qa~62h(LK&BS) z?y+5|fwIckVhi$dF25RslIccAkoT1qGLGA767dr0+la9jB zDmg99`Rus;qeK0QL=YkW>%KR)d=F;q_SZ6dplqLH*()~oG(1p<;V_wR=|`L~9{+Bk zw2cM$y4`yBR;f^%hC!^vINmM=mi+(GZkIN_G zb4A5jdf9mF=$d7xuzqma)~?a%@creC=iOzNjZk?O?X018ur^ZWeOG1(OG}v$#%fBz zC-3K*Z9?3=T665ouq-k%7n_J&R(!*JwYAjg`JGbB)ULqO+wi%DtjCM&V2d`F9>f|y zL3$bb&wCfVi+OKN@?ty5$;%uStU_;Z>hbe=zHtin_s3^B(BaveYHv+)+orZM==B$c z;@W7C@eT%-rGB@;GjFegBmVP3IdZqcBPNOu4yB`Q7ClzgYHXMRQuJ_a0(n z*ua&{#1p}q@|Xpv)mT#u(7eRfWJ^|*&kZn3oQh{ z(+UM!piBfkA1{9(t2rEINM3`uvIt_g{wMNXHGv8fHpO|A{_` zhN8Sqmt1!Q0tyZ)-a}J%bQEb+iB;Uw!gunJ;ZChO^>m0fiJED2y#3X$ z>}+N^`|JKEhebhFpNOhh%l4jmF<;NkqcG))P^Z7d8aZUR#IeJ_rD)Hy0=PI=1Pgtl zdMFepYOn<_Di?S=m^Cl9+5^SL&r|U4Jv<)+I?Q|VHg+?&#kD8zuW9CdTa&4sX|y04 z$lD36;;$QJ0lj9Lw{@f1RV&w6Geo`2dtbnQ@2}Zp**o?Y0y-|a%+^pZJIVzb`jGVs z|yhH5BHzZ6mB(D+IZ>x=}t!bGKfnp}a(nsDY9 zuIt@r(v#zo2Z{`s8)W0Z8gqn1iGtS_$sbVt%?v%dTjA>FDLswgLHoVg2(+tnzMH)E zrYvVFi~4f~nK=YLer!hcYFT~ZnPEjm#gR~Jl)=WeSK@|^U^NjNV<8Cmw{EKhGN%+9jE-fdDPl5UN+9V&Py#f?cS#K_W2Bph#E zvUYLW1x$z|=yu47Z_NoGOtlB zgqL#HW?x%93>^*?AxCrf^5erlh->_{$rKd>wpsbf>{i34zrRg=#>-Br?)zC^*fCyX zosw^B5oz5pP@Jg|U+g8SP`Gxp!W~*^q5^Z%6$ZS=@56jOqTJ<+IXLP^C%w*%&0SsN z?C~b~_&dhSQA2xWCu=0t?s`;0soMk_st2pS@kLarCb)ba2a&fa`T8uLc+hbzx6Gcf zyJO_&Hkj50+z2MK`8rueR_bgK8?#5_yy~#kaufu}hm)J!B>YcselUJ+P^oCtWuOfu z@**8CbirE_dx~~gNGJaB8{f6V)k9u>vdvMZg~`Fw^bkahR-pBXBb%AD?0ghf2OhJo zKccqdl{T;LyHHg4rZ09quH6_%`kWm{tPK~+USx83*LmV96W|kRw=ZvnO2D1fS1rCdyO`Y3^gche_IU`)(wwOu>)l>Dr7i&c{@GN9j+TrQT}Y)v7(rdv;zeN`Xw z@dYj4>}d@oU=h362P+hqkMO=iRastEMnp^;8fa z9(&3vDq&mcPxPzDW*f1>;!=~65XPwIcMg>n$;ap>ic`ZCD3X(o+Y&(UW+Q`viBJBF zt~=2}aRsZb>D+~F^^c6)|Ih-)zTf4vj%zWZ)gDp}-5Mn%CRU8*lNO*tBUJn(L`n^z zLo{&KY-zMACCc<-@VB+9$yLQzu*g zEGdbZxcEd=(^%9(Iw8& zL-!S8Q)yZG>N|uoBf@0@!%S3DgR`+W(U#wXQ^xzTXxJLeS@dl7NvbYt{jgL$b41Sd z@3F_GrwYM0pYaeb)05Yh{hi;)je*wlNmAbvcfy`@(oX!q2JxI21FNwYT36_6L=m4eF+LxCl>NFU+zgQ{2sHv zHe6-gjPtKg@d-SkkH%GVUW&k7dKk#0$%B0M=kFddS47Wfn+0ymsA`T{x(K}!KFjwA z7N0*7@>)`Nsh?7ntWGuj?^BKEBWvZEbG+gkDTcOsCv^Z+E#+Q(nID3n`QK zO8rh07mmI7ljJU-V-7J#~)k&@d_go2jmxXa}f$C>Ch6KHVmzQTXAx zHT9TP_vb4SQo(Vs0yQu0lXvM~CvlcsPiy}UPEJ}G2u_J{O>b;WWV?`uh%{vtzwT9z zl>hkYb8rF=@35M$@24|QO6gMa-#)1zt$N+U#Kl!o3MsYKnJjVg+8A?lSZJXMHsou@lo?d0`AqCKYAoYLf}i@qRnDc44V9VyfLln=0tTEEzp>I+232i`%wade3t z%Kf@~#wb^)u*uoQ{phE3DiJI{lCbd0e-C!{h<3b458bwk8h8 zrTf4*43RI|?AquU_kf4v4?&MSsaxg8G($mCn#d0{~3NmC@$&XjRFx#7ynF)NHJ|< z5)#kD-|=ROWc76os@Y1k(>YsP1-OmD0$$rsAN{U*6Eb7yWNJE$!*sqJw)!jimVS+U zytJ^&CmA&pjrO&XYF-Y;zLEnpO;X#u_(?#ouV?(31K0%eJOE zl1uaF3iZ5-YIe4xW3pCqCO%}pjM78co>T{#?d$OfR?D)O%==*2Ym^!F`eiiD*ES@S zJIoFQHWtf7C3F>cE{_hn#Pe^=ulAD8RA-)N%=+aNu|f{}R&f=@*REZ2 zSs!82(;{G@!6(3V+gXTE+d4iy8XrBlGm1j(UmB~dD!_Gh=}rCo*}svmJ-U~zMy>iI z^-TW03?2hb*8b5BSnNp2@KHNKR3qMKguVd*Sy?hM=eHq_D6N-$wbzW9QLl3DvlGK# zoF9L`wd52P!EOB-%rk@z_?`Nd${!z%a^=fbtmTo$LY}SP?DteA`(k!>cHq#RqIR?^T}Fv%eZ%qHw$J6Cz3B=v`)X>d&2j~;`qO2( z01l&7la3#nTwaG$26X2%h;+p`7@Qr=(kdDn8Kstq`U$m0?fg0pHkTaJqq&f-rjuenvi$z60Ow1;hIZ4 z$nR9#ZWAwBG*)2e05&!c7hBrbiJQL-2B>8$SC{Vb=LM-;v|jfJ1Efzhr)+MgN$l=a-RD;A&f^gqMwkQ^Th3xC=#{xP_x7%WXFx*YCLa9|3C|lTb;;9TdL>qbtdHZt z&rMImw!AuDP#`rFoRE<3sdY-naz-Moe^Hcw9L05YiW^3&dDf-*qWgXYKNT+?YZj)_ z(MGro)_<(7_I~#2nU-m4>L&rWZ9(tdpQ?n|_v?h*b|1OKSNh|Fi8T;xuuTSZEJ{j8 z$BGGsVaeY)tzK+?+!OZMm+AXk&Q5DPS+Ov`Oh`sXqleF;r>w45Z8(2&u;Hg#Ut8PW z+MBEzZLi$oSX7j%>UBJ0!tW6ZZJBqg&Me<>nreHCfY}(=Tzl!ssq{5nFYI8yC^v-m z;q}9l>&LW6DUsH(nQ|#+2GknCLy&O(b%g~WktYB(qLq*TCKCsOS-y6u5NM;2iRenK z<+h!$8b+jshK6P?53=*?=n7|MWrZ{AYE?JEWdB~!7ldg$J&Uv}X8?G=;c_d7$12tI z{!S%p3JepJ>Fe=QlBv2ojy4wre~#hUog|S>$fdiwg-A|BYXvk=l8uL)MyTQ=4^{h9wm)>k&r7zyLh@ zG-X=IhHz$SM9H)0lr8OpqgacJpqGnlKIlu0#GSKa3<2l0vV?qnW8=Bc7_r9(#P|0u zWa~_1qL@>mMvE14+3=*#?(I2uuVj7tbZdRI)bMYAJEu~dZ62R4Q3#sxQ;0Qy2Gt)% zi#10L2Ecb$E`EsI$0ema!%tTrVbV`*sgOr<*^KjB)$v$c$BE&|$<1tVuAUtw*m3`@ zt)6fi9TV8N&g%B+aivG>;ayB}a&jjO4D5M7M@sMEr$;$Cn(b_{rf$b`s51{2D=T_w zVKL)@R;;xZLEG0fq~p3O3-X1eTkVe5(6+MeAQ9s^+Ded5LP|Q%vN?`qiFMsu*@Neo zJ%oIlaa}0vUcLHOsbFqy{uh6w*wzEpLp|)+pQXmw)}DHpt&t`d&tWVzW}s$ky9u_L z)>W5{zGeZW+h2UJK_Z>j5jJNxSwZ87zJp5>9b*dNoRn~}5Qp#>QkZPY@&MOJ{$KX{+MC19Ix(YP;rLDDL5g=*$H-a8mCsGNJGAX;LGU12(&Oa&@RtMIFXnD3?=4$nC&)4WJ zjQ>)(<>m$xBK3St6Vv_9`Ym22CUA@JxwX`#XtR0N6%6Fo1n>Sb>zt7MN(Q%{fJHG8 zXBLEVUU21RWohNx#KF~e8B9@8Q3>}GfLt=cqz)X|tB zRU*phGovr!XYTO)Zd*(RG&MoD~CCzvG&`U0E& z?ei+6gxJT{j^%F_Bb83?-hWyEl8yV}TY}E`FGT#({O58QD1Z@8)VR$O0g~G5=Dl*C z&61bKPu#1%_QmYjXX!GZD)_Ai(|f&_6Xb)srKD9G8@osVCt3_oYg=9gs!R^^U;7 zS}i1mh>2p>Eh#?ZYn$j!_6@{ippV7>)e1%|LnCV0R+2ltzMEQ?#|2Hgyu6%Qm&fJr zTy*rkdv&d7J{P!+m>#ZW804HH$4p}Og2r#x3qoe?7k@#M;NU}hQZO|1@($Vq`R=3vJbJY_euu15m$6h&SQqMZWQ$k3)Q*`3@^rSR z{*1?09m~R3p@X;ZZPHzIj5r>*m1$956PA&t_;COqWf;Su}&yA-r}zbAcR#D4jD`*)V>*FV4euPYw^{P+Lc=Kr_tK=FtWJd`T5 zUkL?0U%h(v_T!|@T$gvr_=vcKgp}~QSqzS>zlk`yf6I|O8rvy8+9OdVAad0-{B`SP za#*k#F9}P?-)u5Cqmhp@ie``6U2Xrt^#_$)b!sw@Gu#rH-<2VaZZhBZd_7%}EcYc} zjmhdhbnJL6Muth_!d?Nv!FMsx`+EnYs`Zm@hV)7LVl8&W+dDe~RJ^#LfKeyqWo<({ zG*Bt`HWzEimKlKXyt%PXK2e3*+iQLu$>j6yxf3x57su1k>P3$x?)^>2#euz`RSkcC z4)5LNb46;jN2Ji?{m!46-q6eQG+~`y*q0VCYqeoMlfdU?jqx`uqB56%&X_2~A$dh#x=pClaIR2oBy^l>7SS%YE{&#CM5jzAiJ5owd^Q z1XKU@*(~=0>TUIER5b>hBHK@a0D`^aKSO zy_EpCaNsn^(9Ji11sgZl@nV8>vEv7$cJ=ek>JKWf8ygo}r$3y;3wwpvvS|dWuPcw7 zf7JgPUVXF278|O}9t_kC?MkblCLXcoDt>OD3IIxp>`fD?z7# zz*wOv=LsJ}Ik~FVd8PoJw>nGw(b4f-aSKdm&j4#EO?RO}cLl8n&*)McShXB=dsRbb zXt2RFs~#4mA2qWZewUfPrkDJv_hQu$4;6&!FrZNbyr+6T71rylhNhxF zV5Fj{BR>v`DS9CvTA!m`wR<|O0;_DQOq9>get&=o`kHVh7>dfRlcg8hva;xb!*Ty? zv54a^3U@pUN)Z1_X-E4@3m0_y-#J~H%lv!imp_M(1xF~KGpgslbUaz$tdcwagiZkU zPB)_7;o7we&L_X;Wf#RLp;9eg7knDw9Lb{jsNxL_9n&-sHlr0HGKI#a``q`DN&#OV zBnY?z-hwi%H8TInDuU*W?0ie{(c|tt-O5)ba47^tWSMq^&TrQj8usHn==yL{nw*^6 z3e4C>#`@~EX7l;a>LbD70_UUh!t}cQGILaDzFzgq3iDu(Q$kO+i+9{lHad`jWPGVZOy2|?B~wbljadMuZHdM3S&$nyrb5&xtmy&uscBu4Bz|V8$?2D zkBNaH&njrN;+kG|<&h^;yNlEN%U}RaI*8q+vc|$H)nG{=pw~&!`(Qd_V%p2-i@8?q zx$GHVd1Q>|zDF9)6zk>|+k(EJ5akrAVtd~kMIKP?O*2e*iw&NdQ#*1(L z!j0PwGnG#Zu6B2`^6^y|YDovIUIb2*-5zOkc!^2GC!?v!o9fKL$*HUR17Y0E=dfXj z`ef(e6fIyE9?m6Qx_@y0q(CG&EnQ(KS0DLYpl-1G*}K2;+C_+_5cc8CX{^)hICl2O z5ApG}a$Nm`<7VyUJWdYWwqHuWcm^lEZ=jpbOhsC5bG-1ZBbQh{wiLTpA(%YuOeFPO z5VgJSi8{5&8*`(Ti>K4m(vH$8H9blVG&7mRU9LF^g2(FzXv=$sfxyMe`pYhzuQ35Z zMvAvQKd)BoZf$MNL`jLe>|$r<9I8k_r&XyEl~2j9gLGeB*kg!~2h;U5BJ|tT{oyxX z=CwWTD!uSv%?Y3ze4SAhHAu z+%gs_5a`|zJdu{dx``6}@fPjE&+pBVGzs}cO>tYaEdH|;=4CUx%?>8I4a1-Z1lSBM z;muRs$tNuO0$~_;zgh7sk}<5L;#12+Vq?)&$I>5XLjWJvpy;(G&*#EBxZiL+?1#2c zl9-zq=;%AUTdq6qQ3p|-q{!WGKVNK2R6nlQXQ45~beoRj=N9|@I96f)Rs`cPp0Yps zEHl=1v{M=woS`kZfdn_4@o|<$VY1B0*0*DP_Vd%RiUXH4Vmh~z;|SLhW+lY))GSyA zl#~^ECpS$|2R?2W`|{@Ie&0bgIjlqP%P8)ws44vQ@M*K8~oLp*FR*C&OK5Dbj6`o$Am6Z;w5?bCbn%P<-bp?=K z$3)Ry0i7L)dV;HH-dHfne7n22vO-ZGmq0S;>v*wCXZg9j>V3I5Cd%_{#H5=Vm$YQ7 ztDr1OgQaA(tN+pYgELq<8tdw~ti~9pmBCux9KpW{#YZpgS0Ewr){#(Gtr zzl^&{T7Q%W;uqo@eB-f6Xr!;X{%K}n!wnp7asUID7O%QW<=NKF%Bd>)8Y>tSk{v&i8x^tNiNAcA0sX?!HUSZju`zVT)#a~Xc{${Ob!BaJ z-3#t8XeyQD<87Lp0?604=1`Q?-a>T6?B+{NhNi$z$7TbuXiFsdoSMW41;TbY`{4N3A!s;sV!~0!Xy0k|`=y=RMX}V_E zIX`%u54&qU3`<>>O<I$Epbr5(6Ds3=-Go$C2Er;XW@WPty_3<2OT;LKMk`A*S23 zrG&eU<9+3~ZOQ}e8QOnkzn-wcb@gi7e2*Z=M=?4M2WPVFjd-+NNLuljqn z=Ho5@<*udM(jw-W8N`+=G3HCA-F@t;gV?<=A(XoIZz$3fmi?bIwP(gdGtJ);`Hx(&)N@l4yukt@i7uig^=t*I~18(F8>cL03U{AZ~)%i-RC`7 zc57yIvo~p>Kf@+D6^M7`?c-#L5gmO2Dcs8=21n7)L!Ts0w35MuB`0lLQuiYeA$o7aeOyt^cTUeb=3w_V8Nq!LEMqvxvkMIIj*E`*xTp?B&n9 zi}co!o1wkER$4cQi!rE9UF780xNV1R{(eui$zz6v2h__^Qr`PGIEFBU zUe`%hk0Tyrjx}Yq9IY;dXR<%f^7^Slx1}OoTSl-QUVaPR=n^rXQb4Tcbqh z29okb+&`n-wlkQle5B1Q-~n<{qJm2}F!uJQ+hI(|2xT`7x+4J(5^$--N0m9vt}Fyu8u!Y_ z6ysnmyF@=V=!qBfFzJPF5W%3fGMeuK$QfnLIS{zUk)sn8PJ+5xqD0oCC1<vNkAr2xR^ z7Ur7#OXicMC`P@ZB25*y#8ukCk>V9R26e~DYC+|ODN?cr4+!p3!mybyWGD26Vxvti%rAtL+~nls{zgI50CQ}^=K^@lT9v-mfCSrWg?tTKN)5cD z&3L7P9LT6L7dN^oo!+>zkSWFs);m$K8yiq;a1DBdO%H7do{wvSNM(2OoaCm3^MRXyba_lTNVkXv3p1b$6?8FUWj- zCU!KlPf106&;NGh7P-IQZDD)!e3)ad4Yvp4Gr$%mON+!VE)f8xjW%hGr&HOcOnJa$ zy1q5-by>lbTx@N0y&H!MwCZw%%eS+=ty5(f!s9oHaPn|)KwlP4&C8p}Qj^8S4TJrZ z{G-T)hOmf*5LTM8pMzqo#>zC+%|M^1a^FL3Z8gP>%8(Q(dRX3}9!1Fq9OQa&{vk)_Gy-Tz2pajA;qd&+@HvD~!4?nck-~*sTE&N~c57Qu{vE8aKS?#gxQC%#y#CZ|VQyY_VZ7R{%BHH} z^4wgK=~CD+oG`9Y&dyNF4B8IuHYeXwZn%$2>@u*M)o&TYVZ&j)G6(S{xp)CJMU7Hx zBp09qN`L*r7Cbd(QIbwA{upYl86Ie=tD^(hvDDPu;#cSI!Hz&8Y)ad**r9p<{=mf2k78f54-gBl(STui!aEf=lWZHBtpij%xpV;@B;OW)`Jj-1n2&Phq$;d4IXc6 zYTk)#HwLIgM>IjU8Ma%@Qq5i4+$;qjAWScsY6C%xH8Dwr`wcQY`6k);nsV~s+T?WI zdZZ-c+~Rc;MJ@0o-=IX5{@$eU;;)@n<;YL63r{@v#;dL%)8ihNb-bXJzw*Kzg)ZGG z@b{U@;Gd|%4DV8StW#;*=qBxM_s8Pm<&Bq#av2yKvzh&|caukb0|D<+2~J_RduDt3 z(PHJIyPi%u4sadt`5}UY+bfID5{?IPkl8pe)8LW`xVoMW`R|jCG?zZ6qIzjHvA?b@6Uj)Y z=e#~~6TZrE{-*jg~DZ8zc*0%1Sy?nJ8? z?Y!8b3sE|RrVNT+wE%m$6Jjm0QH*#bBz>u}i=_N)17*2F1|mtd2|Z&6@xc`1=4x3J zL&siqtu*zP0*>y9#6As;l#5ZZHYBdIHu{fkGvD>|n{;!dZXfoTyXAAG5|7!r&JfSo zYG)Rw+U-*llt9K1E4#nSD$fvccP~)YZQf>+a7y>FqW>_H1eMn8+1F04Nxt2-J!?$L z!YloJ>Iiy4^UmGT{jc>oJ?ydiq{Sx@qbFi`bvY4H&LnQ03cBLCrho4ClsLpfozGbD>qZ3Kut2op${`MiH zAFunK%Kft%hJ}T>My3)gpW-niJf|Vw1%U>TuOhftr?ybN>G@{b85vJ5e4bNhXJ#s% z)~_SP@8Z)x(l<(c{wZF-EA$QVny}{sr@Idh(}QD121$g2EKfVB`PgT^kN?V8T9ODN zqSn@wRXG8}y4T5`_wjCslpvX~yMR$cj%|m`6CR$!wP*(>Esm%e$#2$u8PmUJ8*y#E zSa~!A5j$+xWxAo`%f<1Ddp-$$esowbE)dnEB(;xts~I0WADfk#!RP5rSmaTW8IL;r zd?tM4zCX%K&9|`1#I(ULw5pluq+qlY5#>VW%Xk*`wWD^@}r71Vd4Jb;fle>!JSe51O=6ZG#`Jh9Z8Z_&lKYbef zcMs6J`g&v>>)SueYx6m+WF#hrSW#M!6yabEJLbl43iI*U3?uep3vu`y7UZO)-au-5 zp8ELMU4=#w$3XJ$Yl_a5!F*ub*)pgWgs_nr$?Mh>JYv#K-qc#z9z{+oVV`9?wdI&S zz$av_w^_Etx`jJlhL)%4KY|gcwu6Q4dA_{przomKdQIh#*wrgoLRWx*jKC;uGX?ZU$WfrCk1c9gD=2;LTzN8 zwLL_$b7;WMbA@=57~lBEwlo7+1dIPUg7{>5WJxDrh}I1ekwQssraFcyw*oP8W*Fj_ z`^qWzu*m8#WDHFrGz4hxi5SmkHpO!1OFfyWcB5svB)7afy@4~p3a}jkpX1$5QiJ#B zHPpfd4f-JLl{+pg1B)d*s?zQP2Xk3FmT8drlU zy}GbizA>VQZB3O+ht+ND_9M%Ftejp3MHq_+wUh?W4G6FZ+Q3B4EC^S z3h`vleL_-dFD&dOTP#&19(H~YHN)qDsMood-Hk<*WKio##>V&$&JBYyGz}WGcfJ=fk#9%k|;X*G4}CF zU!Iy}U6WFh0!(=KN%=jiU0cn(Hi>+S!R%>0S-sOVO(`@X`umR;00wOIBi{LHxK*%QuAi%2ArYqfcs)KL+qWVG0SbFZPY}YdB+#365`|jtZK# zR^U#{$g-{Rnww}elO#{*GzicArm06~&0JGX89CxP`%KKyxSEkyZN^84S!m-tQKTPz z$j_9PMA!3ZeH^}3kl^WFA1$6q#LulM$qtsV+!wzYOI;_t7c6svhS@r7ORiIX6s26`O4BG)5f$;~P zdqf;RAsPZ;&de8y+r_KUc#Y)c=O-Mm+`PA>k*b_pV$C1UWJx(PS!MyOH|M|Y_j`8; z+89)_+O`ZRVJeMHL=;)e=Ieuz2pP^I>*a!LV9I1}c_PDf)>m#|cA8zi=JH-8n z6Mx#B>JTL+OI;b*0!f!+XnJ1ne&6PbfN)?hPyqAw1Wo#tqp4kXGvbPiojMK+t>%ch ztlsR6aN641O4~imS`|Ax;Rq0mEFzsu)Cr@_%NM75tjBE4&l(n~x6y__OT5d!efa!B zS4GEb48N2#Kk3K7wD?`)b|#zvPK|@1IlAsFRY4=&4-NH}e&KVuzM{;yJ1C5k8plF% zr&oF7VSzyb>S0Vhc~-SuOx@qHAbB zpIt6PXirMCOh17PASNa$<5N+P;kTGTD$Nbj!(|!(2tSKNGae^}q8P0+J>=`}d&63y zcT9V^pxkv}M)8yOLe`wS`n5Fk?!ty!;Vi#JBUeTOk3mujVU#ty1^-yB( z7zcKc+T~R_rRdOnR%~mW0V2r16cDKD|3d`vgk3EEz6TLRF8o~#esaK7v~T$Td=b_h zG1(d^*%}_%7B6EHKjRY)zURvKwdhwGVk)9JoeIrYh%;9ozFvZ{{v(Y4)R>GewG4Ru z+){%W&~r2-S`%$Ka9mWjvzB^X?YvHWqs1))@zf69h7dVvIFZ2E##wkfEcf zQ@n({SBs|*|C@Y8pnFNaIzUIqz(Kuu@wQYve#RJZn3pg~IQujZ&``F@vDmM~@y7JP zLG!-RFa>}AEav*5E0DJ$wt9Cl3a=l!gRbIuiP411G7Pv?d2-SOhTLp^chFM!|4Rbp zKWB66R=~YIf6RlxyC)=gE4YLUxVU)qbVMdTncZ5|6IMj z*UNPLgYT*G3oaftGhdd{&mIif*M>X->&{k zYV*5ok8-Fm{+1gatfVRZ$Nz%*9+$n&e87fdLx>QcNPzx;G)mp|1DS8oLZ zIeYbxb0V6^h_fFZvT)_YW&xnU6|N6^z`o%)=j!Lo8ut(p#~XZwfGYtcOpRrfYpOtr}tn^Xn10+NH9p%qM>9!6Vd+j%RaP z1+PNx?P*GWKCTnHvHEa6@|=xN!Y!HdDn+d)b^Y$z@J>i_Ltp-626V!t{LXsCuVLsB z9)3lq%3a=br+!o6D%umGjijq+%ZeX~VA2(O>9_|1##&cq?5=j(4^{>$4%ddZ7f_P1g|b)|;hOl7+#dW@02@$@;Yf7fdkw`#G?%qIq$h|uGFVKR z^s8s4{?vj=E%TL;!&yU6xx>PZ8#ln?Mx}%fygrz62smxO>}dcZbGgf8b)GKYBFl@Z zwdg|Fa$eZ+l`Q~yL&tHDMzkQpxB?dxct`?n=XkhFOG}J8MJYDpd@)*Dh|r@Q{H!d~ z9AUDg+B4PjGzZ|P+3Hk!amtHIcUOAv$$TXG^XJda&o{xfi}X4Pc0D|FRg4Kgzfktd z2Wlo<7xi@z7X8-ogG9L6<3vkbyx7;ehPri7BTq~B0c_~R%Ecvdya(HBu;^9;CbA3I zAP0odevRN ztQk{dPqZi0yf_VL4W|R7)ojN%z{%)88ZEIc$l@PI|L8WS1-vgog{E zN9-WKAh}E$fc8;bj-5?mGnrHB>|+cPtwd!tL9a8=nxtz&cq-yyqeG~2kB>bC?Q}`P zxI1l_WA%#NgO+&p%icI279;{HV7%0&##5x*E>}Hw1cmFY+1}>vxLNLV@y;KR+QU^l z0PSGV$cyaB0V!F~-I196b6Ly4Qof=%VcU>O z;jpeTUUb;Ioq$>E&GBwCI8_{1M|20on_q~rD5N~3mW})tbr~W@g{32wf%rnk?>#ei zwBudvZPpnF+4vl|OAwlm|2)1T@{X0&PD21ZM8pptQjMMiq*{!P!Y4B+=>cK%Y4Zh` zL<55SGnI?&duf8clKql(Ws3N&uC5-#=hOmB2>}7Y`c|lZF~|fU9wS$?6Pj%saCc8h zk$0*|txT(!E3E#b{H(!^7LG{oDs=wFP3^9c(X$V`tC^NW5}&*z&%cX+Pf8!@tSc^V z(o=_8Sy@p&tsyq+{4r8&>5H%*OGq=4_=-Kr$EuqwQOux`@6RJT7r$M<*sg7EU@*Nt zTL|1+IJg3?TTgweJz-``#%ow4bv6eH>sSbSr0damVbfqfe9E(I`h|q`HLUPAqwf** z<@=m;0B_X_*mKIsra@V1vl7|4>QyUUiJ}0+QqBU)5F6R0S990Q{FU*`zfuAG8;dUI zYtpPrNvfLEsgogefugI>?dTM|GMK0DmkobnV`DG@*CBW~TNYaKpJZwlHhee%e31K4 zi7v6GG?0xiv3NA@2PMFT9o@!j1^jV96s*B=j<57PHZpYoULleQCh4y6(Pw>p{ChBe z@@1(_Enq*~_t(^mUWV*yc>o|NOEr^`Mhj5$(;sTPYb96CY8F{=A3SiJn)(yVokvJi zzvp_gyWs@*9+mWtA{%hKOVv38-q_N@qDA&!(wg{z9MJJ)qdFikw=|kwW2K%ffdQz4 zC$aHtPNA+%Y2rOV1M5zAsR4|=F|hb5<;yKpXe}*Qsk8>yM_ty|g_(5`RKrZa_?=;w zar`7&%~HMbW|cHx8Vok1Ra!+VgHPEiOD(&?ynCjHTK2}RTmIIgzl_quL&QG2Wm`nb zTjT}5%ghuvU^NJ3N{Cn5f0m$VDH%bhnVsI7z53@$LZHU7YU(_Xo5}Fl`+03wJ|Xm7 zr&hHT_gNv!_h*9Q2GJE~x)YNf+Lgib$&Z;gH^zjj`+Aq%Hj+5&X51x)>kv@~3LXbb z#%~X3t-WSTk}YyYww$Ylz!nh|uFIi^w5b{_+9>5y6<*5$E9_5gar}$PwT%E@ zS1ZVbJsKz@Vg?2VK$ib-Ip052tE>`c`OZGx+6v?>apb;k%A`2e4N$j*+*ZIJ&M7D; zpj~Rg@c!m-4h$xML|Gx`uWWZsIdAel4he<6jQITO1vU(!>I$=32CwU!a&9iJMy&Q=G&baiPGPH&hM-k)!Ah3+@o_P1*Q`FxvbLMl|eSQE1jtY~HOSXZiYd0M+~uYW5DdM2R4j5WH?PeSkeo zQ;4Gou8_C$ZD_$v#`BE4$A zfIhEnsmm>VmoD};_0m?)n$C_B{38D#fBcZf4?C;$oW%V;C|vC1F@fXGA&xuvo<46Z z7Inn4N*)&V|L)s9tf)5l<88Y!ELer8l0as1j&$Be-wp~6meJbIbqRaNOdtcEb|KtO zSSt}xm$9^&>So1xJXl=g3r*N@J2eq8&CK6J@s4Q@7oV$(sHt(<#tRtEgss*HEv2K< zU-|hE^E)n4kx>-hXNil`4Yg4mu>_`+!)51LQwPQ>?mTU59316htz2hPBzPobYoY)V z0|QL#uOLMF*EH2nHv*+vA(qQ%ZzTc(H_>d%f!hb0HD35P3MFWt&pFe+ZIhe=5(mgmB%jTw> zga^UAT>YAAsB?3H@Yv$o#}PzX>#5dP)Ke{m%8ElDEmBtLJw7}QtvR5@mZth)saqWQ zUAxS)wK1x+qO!_5B>%?~My+4g%Y0S!b#Y;>$&|HOMGupWzERV&t<5!vkOg<998yV% ztLduHsx)EcKqv68jDVwYSz1YTWw8&_Lp<-j-*QKcwg(3YwMqU$KC?gc{i6!~1KbK) zp)JJz_x99!IYJ-EM>5(Oe3aUN*~C1po!`?um>|s{3F5}8R70ymx?H3^b=6LVnc)$g z!0T|#9VzD_5Bp~ZfmQxdoWF4LdhnY5FURVVl8%gDVf-$IXYI=ku$JOfb8xY$`wKt* zTiYt?s1NyEhV2`4=Sx+)mVQDzTiBH8oj*(?2463SnjroAzuFp_ z;JFlV8#qD&uxmE{(Fo3S#to;kW$E^8^e@ozI5bN2SI#mu(Dn~55qF#DnX7Elcp5S5Ly-CPoOtH~_la_Oom|nYkVzV|>8!@VJ?$~t^e34k z_Rrrt(OuMN>D)qIB+({wl{b?O??g6hmdW_qNiw0UJA3)qF6MlOdx)ATL>V7@Av?>2 zf{y6g2f54flKwIwyICMhMBXL&^z&1qf@F)nxhqk83dA*_` zsK$BR->DqYme&VL=z_~#bHFJ@jrO`%b>iPt_={q2>}8G2%g|Ug9o<&NeFJig9i`p?!lel z4#Bx`cM0wU5AN>nFirBl-#1e;HFZv%s?$H7$^)CdyL<2MUh7)dx)xA%`}WGh7AIRP0Tk!lbtVi831WT z44>p2lzHU9<1i!#34;H@Vpl|Ije#HG2Oan(&n8JKhsyc=uAxC~`Fkd#*+GOxNJN1> znlyJ~o!d=&*=DZA)FmOJa&&G^dbZ=mDUHm=R;9XccI|+bGEY;(`BvMVP@`hytI}er zSjPY<#2-CMWu9LSFR$+ph?8sG9Og^eEMsjN-5suPLywf{gJR7&MZ905YyA=xmz^5x zenBkwoHMgV>yvO`amD3GOm*I$T+2v!lth0<-J5e$z~cvgmP(P@6p#IWrP-X+tsJ}6 z>PvJH+iwd}*HUD{p(#u{`YV(J{0(9FaRTfRKfBulk=q@uXvX3%L2={hg0wOqtDBoe zzaOKSjA@e9jWt}g+8k^_G7?zyisV@dKta+Mxc2vNaMstmr2iNi8UY?fvwR*iU=Mto zY*P0_-P0>qEK&i{t@w{VLEtZe;B6kTq~iEovrjX2L#KQE>RyCZnXXJ&t@lp>9Tkaq zRvC%J1brfA-SEv+APAk^Hw}z_V4FD&x9-o~2!-O!SD6|sJLZj02*xmJeVpA)^nynL zswirGF{U)~xh{LxXUX+dLEZ0r9Y6`KKUv~Ah>_V*402}6t9k16wuZmcnoK5=rdUo^ z2WB$-Oam~ofXS$*7j1sNTg*cP!1-*6V}rbcZU|9}#d>K-5oAVxql*W$ z&RHiE;VGW(-C>I2R6r+fJ^fZ9GxD9@HJ9dybkvxe+vS(3ICXYSobxrLJHJkhNq=i7 zN|T63Ncb~d>kW0h3Un1lp;*AC7>E*9h4*kvD&4g@^E!vSOhWWm0k82Nt?ZSv3&xfiE4w&`CgUrI7-l}@+C`b~L5oR1T1-?d~a+Nl! zNYsEZDc z?;ogQ-v09T_4fG5r;Hw5R-{rEnD?b`AMvlxCIDw^)G(bKss5~ZH6HqPP^tM$*pN2r|t5tmCld~P*%y=*hUDowvdwfRbq zxUxs`+KqJa1=<$Jv0Xz<&vA7TI{5k@D^>e zbOI~|vWWJY8I>)WZr>a%&gjc4CSjHYk^?jtB54-oiS=1fg)`!@t^?$rV4GV%+o$fb zUIY2OF*6;SovoKyWSE<+_rC}vfFIv3biYX5+!Vn+lL)3kg1o1B1Xf#8DI*=DyWci% zS}f%L9`e+j7xuks|KuYUD5R_)E;%Zq(D!AIBsI|YXF|3oKp|xxIcp%MON#0*{*-wQ z;M*+=o{yY7(EcCkmXDJO+JEXrhEoEe9Ic-pFx(RUglHQ)g0+8#;K4e~(TlgZ@_H%f zpI#4OWo`w6sf9ocwZBF1zG<218%R0fbc_3AtBnAE<<8V^!T{1#qW_C)XMWKA6n9`S z3DFz^s4wDzw1AxO!rLGbj01T*m z)DMe<_uJpDx(>{};iZ6exIQ5M4+t(Y(5W{i0XC+v%WA#`@$)3ZCrrIl_&KIAB@B8U%=p@5ycK6v$<#C+zn=tWASfP zqLE~#TG0(nG*?rXoGNc&>q)+~B|F8Vnf9nEPP{>k^z^Xd8nKk9Q*QO-b>k*; zE`WR!YvmbuU*XJufqB1YrwEumJ_T@P5re=pDEzd<`tWKiX_`qu2$SSLZibKCvX^{6`k))gqJZ~)>S zunWGZ#_o>g^#RQxGBUE!vacsN1HCcyWLc3QUwm!QH2QG3%G4S00Wf0D?e@5%-pGi( z3)=E74<+CO0%SuYdc9|xTF#rlf9m3f1q8(NyK5Dy*nUC=3dv5Fhgx{}(yIeIlgk-~ zb9L(JR#ROD_G1iMj~q{cd+X*7F)@?AV`koUmR>kKy;Xy{6yEvmW*%JV^zpeLiP71v zZA&@^l$RUdb(-!;CH-jfbI6hTq4nbjI)?1mq@J%+ze{74%p6NkHuHS)4bJgQ;>RV} z^R;}S2N%hB)7j;xcW(O1K(z1|C^Qm2sFs|J)1Qovjh$Ci^fRk)ZE4Bw`0~eQZmyy! zk65!$P`)v!aS4jMO=dVNVd`KCQ+3fNRyR4G=mY0(L9GgKTV?BvrVF+rI*=*IE&tyT zdQh+GJU4j`NcSUQ(_9{}<%1GPZ$!oDRjNeBT7mg>u|G3eDZT+jsFQfDtE^-9L82D@ zm)y_WAyj~A_bE#Z+kCdh(EK2rN_yY>QHTkLK}8l+O_ZdkSMIrWL{?B>nIJ|RmO+;V z+5*_$zkjdZo3+1~7eJSYV$hqbvK`eHL>7PLQIsOZm*0?0**Rj5;b~|iUy}eTU91-1 zF+GZ#E}^4`nx&TMv74&W8UT?%yx`rNjv>Z!PtVhgf3x;Cj89iD7)qmH{1gtsZhJ)T z^!-Gk#`)@zS6A5nLzRcl*2r2kjiMSzGJ8OVf@+)fAH0MB-U&1EU z_w-he`#VAc%Cf3&Q?1NwY#nR&upkvlFbEeUxf5}@^mkq8)K{7I#5W`*5vcbU#BWV{ z6z>xefz-IW>x)-BzHLK=wY6NKp;SQeIX)_GtjKl7a5Ni`PGxO(06IRJE%}PwjSQ&zHe+W672_o*D_vRIN1P(rR_c=~LQ*0G@X}F`vWc@nVs`|2JLv(`mN+ zo3kD9V`rO#iN22tsUc-`BS?{6Io1c5t5zPPrtnPj+#EI_4^5}WM}f6oXE}2UvRX}U$CERp#2vM zsHWs%K?or!jzMi3VP=u6Jj*^Oo*wz_{i%oVDZ*~E9TWLAKK04`QN;I({`9tbeN=)Y zF1ol|CdOt4I0)qIxf!S`ovXK6VX+#AD3?6|)+kvyMMr<49G1H}$z2XME-t_0t!|6Q z{cb!I3N4(ea6DRuQ;;kwG6(UUeX9pE;8ft!eTf1vPqbjP(QtZ4d%#L8gND#xQL~^B zaOKP|iqy&LKH&V=6k6bG1O>PnKoLn0kI`tf3NZ~TBILHIv403H3+!!2j4V>O)~M89 z)5{6EzrP1HZ?&+UZ_e+!Wymy}-Po*FO9*G|`JHYvU0|zB=U%;f1u7B``k|>;*xGc4 zC4MeEf8Z-ibaCNRQDHY&tN5mMH9Q$6m6Mfqg#4@o=p!8gmwI?BX*Vgjpnq9=9S+&q z?jSP*pOudMyRln1>XYO3*`D>yL^4K|_-m1b*jR(Py2`FlE;nfrl5%`@ zlN3$e6o@FEm0)a(dbA>|)`|K3`Q ztcXg$&bK9OCAdSxV_BtI{L>Xa*zJC#Qex&yb=~g(R|LX7)@;(%I~?qFnHEt|Y9_58 z8daunV#Vxr*SEtg<{S|YTPsVLSnn~2zc(dW)+TFy?(XWVHXC_vt$wFO+}QNV+s@c< zr$(3F*|blXCmi;0=A!0!M;6%X4e{+~%su67kt+{XPM^(ZvNvxJuR{{G z)6;EAD|Zx~ogMuH0;2PN4-D|q(P;zHS+t@?XL9`oJStvyU*All@I}QbkSRi&AWf0A zv#TQatppCKu~Kq*d3k4Op*`#iESA8Ur<|nCf{}T(@l3q=#l<`>-`qVlkI2x5!ZL(W z*jU)O-Hx9GFuUB~NRnc)7pm+|)qaqawC&iId=(%6;nz=Nj{UbROe&=|8X{l*6wWXd z^m3R?VPoL9Su7}mZ6tI@NJuD^)3#J0e;sH5pdjA}St?{Rsfk5g^u3`;_lWFI+C>gK zh+vpz)st$;s&6tVPSq&w8S%J+skz#Y-blJ?(`nWcVbMb-QCpi zGd2F6PRfcEolw@1p~OwJ$?Dt+vmw4VnFTzC`(N}xAJqL5lNUM$fk+PA)2G%u+fO_( zpzQ7{8!Ib!(Tj45@)Dwwg}tP9*df1Ozj;&RIuqmR<-5JL1&aCxMZ53MUV--v;P;#y zgU=8Al+TQVfJ%t`mMzL@L7gu*;!YH!5C}r^S~z~zABBO@1bGxHUn;eSf zkpuyUtZIHqBIQTeVZo)0rGy2Y$F8N(o{nlqEb>$$D6-S za?rvErt3{7J-Ho%vnnboa&y0^s5r&nu14ts8)e)6aO|5*M_>@OC?eu9GR=oD)vK$~ zSb&;=h15MUp(rM1wa|3;`t{G~iMB>LkqE`ha}S)oKXj-x13(Y$pRYK{5|f(pDYm)|-9qXBt-XQob)P$;+Sbwyel2@j7d^nPgt_YJkayp09h_!x;?vowr4cQsW&&E)|a zaq~-F?YE6l8bM*HuPU|XB^2>~J1$#EN=d~iz!EN|F^LUtl^psPCC{Wb+Z2KdzWpx| za%^F}XdWQtQKk|dB8veH#z-`FlV@;_GFgpIwrxf0*Ft-Vs_KsCB@#?>rj1u^oxWWi zyEQhHuel6|a|5QK+n|;q>z5iqI7nKIkB?7*YGwOXuTOgVN046+1GApT6JYc9rLCnX z*Oh0Z{Xq(c*{ts4r|1e8ydWuNQyJ7{CF6>(tT;4R+mRZ~#|88atx+dl^+s3ci_!Q6 z%;reUT_WDP$W3?!JgRgkBjZ7{cvnV-PDN#(ukGonO-~fB&GO!!{* zpE-xcF3d0PYRK-~+LkmY){ONV%2oL|U+j_g7A`5=zjK~TJT@d=0wGvL6FZhKE3sX+ z54Vb?oMhDgo)4FJ!FhX6Bg{7ju$}Ne08c9|rlYGfJDU=i7hmsp^TgMOoK6>sdMYYR zdNh@qYXJ7!wc$0?uWbE}w^24i4rGwAS+#EhDu{~eLj!e&o_Ib$$-(JPMMXu-WmVvP z6V~D0xjrxx92`<-3(8$zmE{i(5)t+PB!2$$?y z-Hb#IGYw96t+Cu6dc8m)@6EDmd&=Cy+)BCi#=aC`{pvb%Dt;Mo+k$WzG-`Ks4GopO zdV8GhZCz(_%*_>1147Tr4jeBA8;=XIK^ROa9|W?Ikpe7;Pl0AkrH(M#*~x>;?o;c- zL0+B-aZxL`d;je0PAE1qpX)uh`|x%>Lzt88fdn(ksqJL3#`4mY))iEehNc(Twdu$w z$cKI1BGQT6K(8vc&nt&ulFeM7+pNE&{(^}9OM{S1>4X{A>y6zfAJefcvWm&13Pxgu7iG&GbG*^)P&0z#i{1qB7y zpeNCQcQTN~mFWEzkQLxjcloW?pDTJ=u5`9{xgJau`ekRYxB8qsg@eoEUmx7#S?x%m zD2>inV&r!^y#!y1H;if>z92p6nl<7k9@7MqJ&R(R5+%=qjD_`FWD zK%8zu-o;DE5k!nFZQk7jR}hrsW>jhLaFeGQZtaa|X9gQ9@R&HA&--VSl0JC(Mquh- z7}Pp!H2|Feg=)Zc0A96ntrLAf2iOYx<9Q?Rn2J^-%k}rJ&C!40GOCBiT$w{q&vSAC zW1W?TJ7HJ&+^DThfTl3X?&h2j85wyXTXKp8EMZXcF2coRvumII+3l0>K=;M11RWPQ zk;U2y;1U!*X#4z(dEaKHeWUk>E6E(Asb^=J@EuDxN_x?VnLQe63dGq5rmr)P$Y_mV zyE^4TR4gp@0gb2%WjfaXHw^8%duNQ} z-*V=47u#2p#Elm`ngsJ%8#O6+^Vc{13(YH+BbDccGlkriX)XhL6Mql-CF*X`3~=Hz zAzdC<+NU=C`lY#r&TtQh8kt>TqQ_>tjfHeiu|<6(2v^(C5Ml%w3&g@@dHPh4LN7W` zNZ9-f<2Es-)fo(ME-DeK0ouf>(%UQ6D<*b*Ez}o7p98^Tq*lg;_xg1w6y53BAPk>T zBO?TO%Mdr>M_1%qh3=Z}LhQU9>hDd_9;kk{>&A-ls-}qufv}2{&m&1y>ct|!wK`W; z^H#8KBfUShBOzy6Su*@9UuvVj+S>ZM z7)eM-$luTjQ32Q-lKY(-$zo9(CD)JBjm}aTSOhCAj3l2lT1hd$`31SffBTpd{kO3? zxNjq&s+GZ@$j659-d~EGdFw>;aN%PsfAA4?vQTrk>ss1Kwo6_tU+ z0cIC^?06~g*{nzfgug9|=P2IO;rdm44Dx(Vp- zPmA2Kbl*IFX^KZ!tC=$6r#I-{3wba{$Zrnp)1NmJ|9l?|`j@8IaJjhT(8a|{$xK#1 zJfBZWO_`lPZ)4Q_I$7n59Pm=|p}32SFV(t5#Jl@?`ulo%hX&~Ax-%enWH2AJUZY!T z$slUUh>99^9K*d>e;hBs9fP3gi*JbM-sod>c)Mdnhp%D2z(9}0L64=R^2BN zt+HY5lwt5ki~;fS-)5a{eM;HSwI2!0pt*}jKOrDsobB$B2thg-XEvk%wKZwtAwxcH)E2ezdUC1sj+NYe4+V?W06=G)w6pMjiMv?IOvc-`R`>O+=^NrUVU5265h?(rSx!z zL!<0fL8uqS-)!@!K==Of0;vDnQ(IqaaCLyPkjnQs? zT<0a=;dMi;tYHVA3L%Pqa){ZSX5l8q9sA^ey60I26DlU%d2C(oBbfCD@`i$xGC4M} zqw#-dW%>b*6KaJQlNd?ex-}dJd7wnMjGx`@7Ylmb`8N~+e91f9#oT4YFEUyw9wcCy zUj`7MuBPRRiMIdKhJf5BrNV^Lq&O`-NAVyd`0#IP+;RDRtXVv!-=n?&#q6eO;LpUg zO`d_3eOOHm-2&_BGn3mV4u}!5HbDq>)1wjs1TyB{pg`@t3I85@>Fd9TU((W`SuA>^ zq^Uryx))3SUIocjkABK&fd~H?_J0P-u`sNbO zTaaA0gM97k5-x9>mcIZVe)?YzbH%aYIbY0qH2Zwwh-mgh3=-*uZa#Y!_}MnSge10I zPPWOfFK_ek81eJClGjUw?F1I+$~Kr_ z4RwwBU!j_xYjPLuh3|6r(Y*zp|Gm%RMKp?q1wThy{7Z;%v*Y4o_rIyQlzad$=V3Tx zch>|3yQ2enT?W8H-@X2I)m_F%$6{>%>I(~|07l&5`LXUAoobo?s>zpX-)mUzN^=1k z&9ZMFuGoJUS5-~;q3u&0935r&74*;Z*2_RDb5sz}NlE_Qs(Gauf^cz?uflaRU1CO` z43ZJ*mu&*BS@_(qu`mb#Y(#7zw6}^rQJTnpY2B3)vuKXy~DNiKTl!mD}xwg5UNc$-f~%Lfzmww->ja0Jk@ckC>=# zmTHS|rW)xPQW+x(Dry3Yv9BJ>D7pYb{cOFs0X)1LA)jt|faiYhk^nKE1-0B#h96o& zE{&;LbCtwBY^-xDDJfvfNr+0hom^wzkYY^6Reyc$sNU!%E-$~k71>qiIeuhc`b4CZ;m>wcBYtkFkFBKCfaC1O8%-^G#K<`i{nVqv#si{=&+i z6m3f2mNLPG_#`!uo?TdQNxZ1~_iA!sZ{?$M!M0!sE~8iOLzWLwlM zxF8@UQyJnCx8o0p5&^7(Mhddc_h5F4r|J?p@cX#gRId}xuIn4cdmo7 zA(Seqw|uw#65_Vp?k@Kcw&~i-#Eo;(M04dvZD!ljG?*Q^PM=|y0HFKW^Ms`hjMm)f zM7b~dqihAr^?X!3^#+X27*1d5735{p<8re5lWuQs`-7ijV=Hi%mz0D{AR{5U@Hx!< znI2vXk(3A{K6F2i+Izx~y@ypLOTDI4FHWP*_lCKHDVx0k-<2#ZZs} zo7+|Qf&E+%CevyK0atwsUKC1 zH_eNVznukU!h=1WaF$H)LUWpcr21WZ9*Z7x{l(^oV|%k1F>PX?@xeetgU96*9FP|e z5MHpDBiwImY)?9Y{NaMLQ(tfIkK=&^w$YJ^6i&nA9|8z!`*W2CCnr+gX!9CBek^25 zrIs2EaC7GfsMZ6`Nt3zKAlq26SJXW{EsWrPKR4#T*xh)QTSud{u2o3CO6wm{qFuYH$85cm)8}VT46jVBqp}~ zeH7c$G9bDy76%K9fZtX~AOrD6rF^|VI_8IRvzerZ8AI}lEO+L&=6hIWz3VgL@RXE$ zpu-%9x3adzWf}-8`p)t8+uAV&7OO?4K90 z7IP(M-+LVUiDEN`{oAcP7A_XB39yqb$9v=B9%5UVxyaqn2_F{ZWKPdeP>FdovOz(; z;Y$4KKi2K-?O%*VMMPYXo@r~=>CeF*YY)XYTQE5)jKK#w9*Ibw>%SMEqM#V9U-%6^ zMw+}_l`mE4ELnQGeqkvUmg6pta1>mQ9Ut26cTYTM>%PEdg#YWqE!R6oWojE}x@Jn> zEd$~5LvQ-t3#7%c0F*Pu(aQAu2t1Ry$#LakWdv@?F3LY-SlC&8Ly8IiK3WL&m1B?? zHseBz?HPnX;Yj2c`eURUoYQ_5FTFBuxn2(TLZHw5{$1Uo`KwP)IX+R&A_cxhFrEyq z3;FNG@71;8IiZ)c2uK?ypQ*r^i;QfQ*Zeb=Buw*j9JC2a%&EXND<%ex{m1rMuVEGe zxn&Li^Tj7}U27J(+~(IDw1S`1VxW068ttALAfO9c+Qi)gJxz@Z>^3Zu=vBjPaBx&j zT|=msNstK>BbBHv#U-lI+LsY%5Nw%J&Mhy4?p$ zJ-J-f1_Eni3txB$rv=1KQ^PFV-hH#u8%|;63Ge)2_Am;b>`gbBPN-q{xJS94Te5P06*X8s@ z|7Sv`!8;teAb3ps=sZ@=0=L;eDwkE;m-s2xg?pJ?&Mfpn(alcGQie}KRsv>B;9Wz* z?Z=PWWiH>By(bLY=@~iHPSI+laBjB26L-70)T-Evr@ZMpsD%Fwxy$H+* z|JepMF7{^#%2U3ge?LQ!@u|)&LF+j(hJ+?)c!%-GrNQJ~bw%f#a%%BdKpk!2i~j4W zls+I^EZ!n5qW${y@2S9Ie{Lbawu@}=4Wf4Y(u_hp+?+AR3tr4GsXo!OZ)V#`>yvHnnY*!`WxFKz{!HI6jqB5-0!(_xJt} zzT141IFLn6o9k5>zoWK=X4ip~s}4?Y(4HhjG7Ij!S!}#0-OTG`DRQp`QZebf`fsN`nuGXvLiWtB(TTpESAbPd9E%GNx`ZmzFZw zn`=Jc9g2#{_7+Lrq@3Sv-tzKr>}=uV;NUdax>8V6@P7Mk!E&;GnvP-|TWL61Dz~wJ zx*MFgqCcQ)VxrxfRTUV1eX!7YHQdF+OF#a*yS?e6g)$*Q3U^Rf&p;}k-H$@^W2|!<`>QYlveSstmpR33<$TtH5+#qZXD4ZC$ zxH&VzrBR*0f0S6lg$H~zVoIR)8<9)w>hZ|+0GOA6rwvaccEvl*&K))}SFeJ^adVoRiTPrYm4&W>G)BHTY2A>?D!maVo&(%1^aD{q;-83sk1jm>*st0G7F=q$H*D z`LfTb>opn%X5`ns73b27$uk_Q>+2O|rDr#rZC|m5_1?`bRDUy+obSfY zu?|2ylFJ#Is?ZAq0@C|?_{x%`uQ3o2dwNFoImXAJZ~Q==gwYS4FmeWi%GHK`X=z`r ztT2qxVgN@Ev)Qj?uiNA`T- zOk}?ovSJYdM>M%UDjvGknP-Lf)5qoV8v@+tH`bJjd?}uCY!HTCVv={!*dFlSO$1%- z6|Wq*G#gL1*G6w=L*Byq{1*$DHJjU;>XS%hTS%{s&W(%9((6;4uzUT>vp|qie|?}o zF-TnG6#s2zTH0G0nzF~KEPRL2=WuYXKQb0i9!yF>!E3bpNtw&B`l3izQC`0PA_Gm~ z8u9el%6O_bRQa-y7I7jskK?su*#V13YU;vhTS!qaG;3h-XNHJzM|(R>@6WZhHMhg# zmpod`Q%C_GHV0FxDk|&E=kg5!Dq5e#)YKXPh6|$jAp7D+Y^;)kLS=b*Q1I$(BY@t? zD?puQQ0M&uutk6>6_hERxRIQaZltfO5W;`LJ&->{%zJV_b#=4OKsaA%pf7dahn6yM zhH^2eJe?iCCQgi&ng%I575E*?!ccvJjP&nI%!LA9_NZ3bI*Znd z4-Dsxqo46Ko!rGLkycuB;l0kNEZR3MX=C~?F77y8CtNhlZyfmNMBc9zUqTnWi&4KRmiV5MkAjhqetcCXz5rp!RDY?SkTBj2O^-? zc!xf#_^%S-5nL&JHilAKH3Vd3wd1p6%w1j`9a&})g-}W=bGf+O?(XG%!>s&1PBW6a zTMhyq;4_?6dX0$js;9R%9ghs7q2};%{}0g}yJWn8##AjA-!D%;GtM6`d`n~OXmwZ) zT845Cn26gklP_H-7JszWohCIJl*a_tWqFp~7`Q(w{X!rpN>dQw`1kNPEZPs@;FvpC zzpgelZ8W~&hMw>8E`HO_TqraaX3%T@Bq&Wd*T!4-VYc?-+i%FtAmNN`i`1IcP6+NBr(Hr-96N&+jAV;%)Q{tcD}FnF9B)l63I-H ze=_6a;{Kp)^jR_uV~@#P`TgXsWCHAz*daP7JuN*w0lvWJLQH6A z2LUWnV+Yhr6*4NOrcaFYS6&G>{|+CdSIMJ(lh;dK!B$=Io25jPwM{nl>Jpz;K<-!@ zTQOEC6AToB2d599vGG^C;t%b%1dN)^J0p2>JRC!(!4lLxD)k2(Ow?2DxyRZxG-A;) z)Y@-zr%w)#PGIhw0s{kO&t$Q0_BfRC(xJP_PTzUGfAJ=HeibJBoqyqRdRpeimYtdT z3<FgQ_Sfe-6q)@QS6j$+wWhrmBagi(-q>4^dVHy@+}QK!vIZBKHSb*5^;f?F?gW*z zChDuP>XBoO`6j>6q~?$vGA}k z_#9hvnZ>WJ9-Jpn8_}M_uN;=LczV7Lj#w^A=6OzZxZrx$C6#1veSw683Wy8rc4OfH z;u&I$V=_>_DBANw-M^q9*&I{OS&hO9yz=+Xl4Kj3nsL9`&)7>;8s0jl0IVru%XiL4 zyRT(WBCzr4>HDuQwq)EgGN;IVPwO2owB&3n31=oa)tf|@De373K$;mP1EpAu6duPi z^h8~qaG^%3dN)s{_M@|45~Y0v%CZ) zPO^$?7d7y^r2R9adP}oghkFo@{0%7Uj96kj_yJme|;Y`U+e}L;Qc4rsW z8)_!$5Y8Br$%)R+NltsVS~Dzw-?cCXyLmgmGQ(x8QV~Fudv=0BoyxKHJ-b zGae#dM^UMp9$8ua>nO_)zqI<4Oq(pu-%dSkwA~-jIp7GT=(ESVp(${pnMR7$zu1}E zv$w-+(ag!sWwl+Ot*=fxn6+Ym%S!3#OE|->#%XWW&xycbY`Zf|OF?1SF;a_!B6D(zLXfI0+CpN^S{*VyOAUFF-(?sV<;$mr@vKTW8duCMTC*G@2SY|Jj!e z>N1rgUEseZXJoYB$!5bkk)rX#=}}rD5Q%moW>%=%=uZ=o7Iq0UF_M! z;P|6LG9Sl=@{0Xoark5`VMDV1-?7-sHKes_x^{ zKj?GC6le=8RA4g<6m`r!J*0{XpezA~L}J5cMRYWqV<`?Hr%Rv|-Is<4*Jwg#)Y1`h zcqX$}`QvnhFwPVmdT4IdyemQkt^(?n0JqC3=P^xlZb0^WPq`9QwnjpZb^sj{6Ccw6Jwr+S z=F=gh>EbeUwYE|)(sjyhqRL}@=&#s0P^VmdkA-tQJ-Jh~BOc*?ayI&7Zcp`P+-4q! z;3L5tf|pAJ&*_lM&oaGvhai2&kC4Re9G}wY{J=y=nHwW4tq~EqVNHb=aXKBslV2GH z&I*hDu@570EotEZ?&M15p&=pp+<}6P%_Ne$Hq|#-tUf0~@Y9>7wA`>(YXAfK#O2n- zCOtiZf};QEs=Eiqb>QvA`N`44g$*nQ{~LxPT@Homcl#9ie`FLky~`da_O$vg&kGP? z0zalV7h24AS<1+&^iD_m^=(8R3Wr_EJw_rue1qHC9=3NiW=l%U5k*B)`5JDwH^elk z!uFaTN+N_ktIEorA)!iM|Bx72LjPeyX=tIL!6&M#tABNc5T)#MBRehJEM0Uki-5M< zXf@T4p1!=gDj(XxsYvmLD-@@9k|f0jEou1jVrx zbATwn2pH9jJ@NK*?OwZOn^M8FTE}^;jQkfY!nTHCZa%)($Er5g$Sf1-f$UCqG2$xM z54_b8Iz2RY@>$8BHA3v=u3{!R6u8nXVBdie0pHsEIi!cK|*g zpt&j1_uEz`GN{y9L2tYc9h(?2nLOXdbX$uJyn7Iku&JmdkXGY#Ucy5|8!r@h*3%mt>R+k( zxjd4(qo5F-BSBPe(~&I~>byP_&pfYH1qGQ20BNSyV;tK5U37MWTSVrI@;N+~R`WQe zFOryFcB0_R`w{c`x>PQAz4qTQYaC*h9gHpRck8_NXsQ0@KN30Uau623p6OnNtgo-{ z|FJE}^HmY2MOJJM!RM`T5e+5mXhNEUgqnx&gu3>rh;g_LKn3-xQX(VE4R?qzShjx; zhW^8*JltPOOLd}MPwGsZZiMxm(g_Y7N8Mszuj&umiP*A#(4&BtITSZCnywMGPGTUy z#J!P|4x~Rh{2^3OQets@DtKdO9u*UjX%tqI{-Lt>rjDC~sbuZShkzsNftJuD>(mps z`I!2g`s^XBZ81*Sjrx5?>`VOgY-2$-hSHz&fksZzIHULzK}MfG7V)J$zO(HYjBvK% zLPAb~ZE?2vcApPtKDIT1LQhS08TgOC2kz1fg)N-u2ZkMw>EHEAO2_H zev6C$Cgn1N6OB2L=_!BSD?x zxB%8rofj<#c%~68VZNZD>(0VMKep>mgo=qG$}mAozeyZCdV6?*+i;xsv+n}{U8aiA zN$w#yi>PpV>nvq0ki#B zQ1qSwF%Zls78508L;2quBdPs5vM*4tT^w0Uyt;zJ#@?K^-n<^Df1qu)+$gL^qoHZI z@K}k=VWd@|p`>xz-XuatM~5anKEz@H=Yr!IBqX3D_mhT{laQDiSxu-{1KhFDaoMQ1 zAVt2cn^p7c{}Wnwi*<_v_%*OM7Y!GSTZ=H~*wKz>>y55q3}9{1<_C*Oh_N#*E4~*L z41j(Id!9zU+r{Zo4f9I7; z^-%YVM{yLWPsh>H@N)V%i22;+TSr`0>hzYi({-bDs0I!6 z^$iW#;`t4rne7ki&m|_3S)m z9qK&xX>BhEsy`~eVzD|50h@{n9!T3RuXx+nH=tT;rutDkBF!T$FK;R7RiuN10|5Nx zva8Nb_i*SnHDx@!3YhJ)+qTbU_SN{Q-n{9a=hB;guRr&$0oLoI*T+_ap}0@IyFjmI zo~Z5z@M*0~=zAKrT{Z^q_!^hu{)+{4)z&&vP*C6w63~p=>I%Yp$u!+n&NpJ4=J(^T zeqrfC!+@}UCMO`Fd@Zgq*6h~~_X6+nbIpx!2DrYJRqsSHf+Ah~$#IV)CZ;R*iLll2 zzH1jqM{(I-{RQ}eMKdKqg9cdGC`7+E#xw9uXa3M>);dDl;_5jV-@fb!OKBj_H~G`x zJYME#AiaMulD8MJhTm)AUtnx(dbYh4(t)gBpx(?v#uC)0n83yYs*@{fX?IHodVzrL6oa0toCRgonRZWMUm7 zJ9-i^I$brMfWjjuH>#_fsf2l2QpjXfT8LN^AQu}tfuDR1}!-} zGP3kw*yrCg*x0a&>ieDBDHSjLq;)ymygHJ@y>z%DBhBEp|2EnSb&Q|>_T=`qqobpt z0oylTu{dtQy!&!rou`c3?}jI9!6g1%zAh?fwV4Vg$O;cG!^J!*@8qJsI&fzB@@Vn$ zgEp7LYSc+c{n|oQaK&jd{>J0^585}Z?YWl(6!HPdl6@$~G4k>rVGqp~5H1}ChV{c! zBn-ARH*;EYe_*ZrxGpb*Tox#nehUtU_a!9P!Y!$?a@LC>KKO;xIqp5H2m)psGNn@V!kKGa*+=a#(TrVJ%tUcm(PeU9q4`8Kq~ zcYL)?*2M2hE_(G&fMXvSDMvepBo5LKG>ELfHU#(6@jpO9D`m1S5=)F~-1;c!dA)Q@ z1%Pbn%9``uw$R{S{=6@g>~+Kjh=Mj<9xUu}pT9<=FQnwHvrAIvrZLKD{3WY8 z*QbYmgHNaVcbEA)$XhvwveC%gks#DRIq$MYF`PagMU@1g+Ess3ZSj8^haK{~bh{PIv z%9^WsGTW)C!=G^2+*9{{00*;J<_6}lD%MHZ1c+1qeLkdQtRDEk=sO(yNvv9{nqg)y zBolKrn{C}Y66g^T`9U=wzvtWe8HJ+%UJ8Wu%|kmj0c8C93=SPr2P{3|LVspIrlWc@-$#nGu1a5s|pzyeuy+bv*7{;hhHGe2@WZv!yNn zvcviElmOsDh%1^@RJ;`zAF?<(M178gf`pjL>GmmXo=jbHmNFmos7S5;?AS*~eoGzy z#6XhEb#QBOz7X6iXONpBCo}vOL}b{l`D@ z2faY1g}!2;!4#$d1pu$%=>4xL;LX|C!9<3zP_vbul~ww6pY@n1f1c<(VvTm_|9-rS za5y>M5OLdalagAE9sa_CMD_Od_y-36=3w5a0eNT|f`UHKPyl%YW$)QqSNqoXBamb? zX8w{{x5fj~968#-d?g%8FjHw<4aipI2GY4s5-L(`^jx8Seo9~Dze9O-W7jtHB6}Z= zAIRkzn(LWS+P%Jq&h%>O4;dzP?#jK{Qd0|&Kfd(NBKq}J>?!kn!eOa$N=iM0gRl51 z_r^L0r?|KX^0l$B*^Kp1x3>z3dwRrU%%`iJ$+%|R_qMCd+KO1H&aYff z!!B`bR~PLt3LP%ycQ_^~I_wU36tiDCG8PDx8BtPjn9RF=9nuFZXM3|0a0gDiZwQSY zZs&6bQpt-hEAyo*8==Hg3TNjQ#YthQ=3gH)3QbjiJUPKBKDu7aFV1hY-S8~LSK8eE z_T$BKI7pTkCpqOOG-5VtUfzs!=4!Krx8@VU(1cuClz^m82UuS)#|l|R;c>X{k^@t zap>as9gp3IS3v?Nke_0qrVhvy6zoWO=LizUKR*NWdW&gvm#@^OKwNx~%rdIg(58kl z$LYTQ8Cz*-Wuy9=z8Hr2f}>DJd%tQ;LS_#agsY7agc;I*65(FBKK#VAvSL2xt-D>X zBM3S=vECGw9r^t^>?w&z!c)QtlRxnZ36x}Hl2y4G8KTTQ71i}lcT$zpZPPEhdOO-b z5x;YCyB&k$)42EV&K)G2&dkz#xw#X8ORYZ&1(8*(=;U~e3*P8Y9H*zJ`a>yK*8_?8 zljadFm~tyVC%8$?7LRok_=sJgM2l~k*@@UqHi5Ey-t=43X?cuAPTOOfc!+Q$rDV6f zv}W~(+ffQiYT;{THQ7)oN+t~xVlBNYdslmh+Z920YN~txux0<|4?vBx@dVkN!^0@c zv$b;mW?+I^__OSqo!HdQm|A3HKQg`Sz(Pag%4aP1kM+x`sfnAZ`>zF2Vi57BrB)6B zoMCt`v6%JNNpq})K?agh14Ea#f_(PTt&2+sMaQ@k<1DQ^upI(Cl6V}$`#}kj$R`k~ zK%^6akF6rw8-sfT3GqI@z9Ux{%NT^*RsRQJZy8qQ+O}((ARwT0BV7VgBHi8HAT5og zG)hUspu4+UkWi5BmIlc|cMf1(;GEC*to6Rz_Km-D3XJ={;*8_mk2>?IO#5|fy+_Te zd6JTV5L-wAdQ3!bY=6vgId|iJ|MKM#ot~UtxHR(f=LP=Wdi>PvbfJY5Msa~(rGh2C zLN_-c58%5cWF#D2_TLYs3pjwrsA+L)Zf>sf_5Sfx6?&%}XmGtF;xeBoZmzzQ1mLAj zUvG}vj(1Y^ST1t5PQE8t*3DQl-KW3csF+s1k|*Yz)Vyj^Dh1$ zbq)lC)m0|=SAAW5hexKVkE<&yU(JbNBZYr8D)GFlezaq+KW4RFvE(2*5No-)7I(;k zDS|#jLRBu6`|UtaV5qS!o4mTZdh?rZ@?bl=O1j?|N3&NJ{6E&^^a|PDZ6tG4;XLo~ zfk&NUIROsGW9bf(5r{sI9s>m4h~lU?Qg?KrTvtnFc3Od^U?C|cL|76UFI)`}X`_K$ z&U=;4Hs+hR*O62|7ZxL4R3?p#+}ObA83?oTv4bMCB z{EpDO3pZbR$MeMe+vXf5!I^d{>^!p4r2P@Z^JwC_?}84!17*^(@Z<3>zjNR0k68f& zXLJE zH>d+0tLXRrNCwPZ3rcdPN=w*ugaFGcOb0&6Jin&8GX22~PkVa^=oj13ym9KoIV2_V z2mMSP=VlT*Mq(_yp3Y8FL&GNHEfZskHL|orJA1WK-K&*@C?LZ{qn0>NmCuEgm+y-p zVT-j3hZ8Wtz-SYQI|;cQetW$y1OKHfGON4bwT`r!+B)o_DtrG=yHt0A?bd`7Hbb(- zbar5qN12ptTxTeLZ=t-9&RnBLRV;nNSz`S+ZuJHSzk-5_+S=1<_)!+XB`eitG8=hP zIKQ~OOm!_ij;4rt-G_nJ82{F4v%)Zpd}no)5Cg;L{d?P!!lN;oD8lfxbfmnz92z>h zs3!>AB^uwCpiz0|o135Y65>{XcaYoO{2ZvEYI8>Pk}_OHzm}1Zo%(KbyWA<)C3|dp zcAgrMo|98=+?xwjpUu~o6U9v6y+2S<_znUUhE(87Dbsu0|Eicq4qEM-D&MCiqMqq9 zM?Z~HFhH4K{Oc8B`qB$E)_heLJvCEg4}7AxD-UR|iR~2?FENY?|ImcSti5Y|yW>O@9G z*~hc4w)e(i*#8P(0kcCH#2*DsO#9+RGpWemjZ_$}gDxZ%z2-YEJ$Hbp7MAhq8xaZkk0-;Y0~A$FsBThOCm1kQh0^&Obf|T+TPP5lJ&MswJLbJFXXp zA{G`Fho}?T5>a|hu1%i~T7hU|XTi(%_U5q>bWH{yKq*xf;O(GVyI0Z0f~RW2zt~;T zwD8CNtp(5^ypMc?)lT3rF|>L^X!mR~o#|fr5;Oist<1lOcOFb}?N44@TtsfbNyH~I z*%*>g^#Qyu6@nd{+YRg~JG(PygTAS$6#OeNqcx>QWjc9$9+$%D_(}=XdpXl!@p3V| zYd*;dqa2_Hl8bIL--yd=@U93>M<<2JP&5UQ#@uIG$y&QF-beuVnZzfmuxq}ZnU*}E zD<@?`G1nMjKcLDDK)J>>ZTYyoHf}M=>AXqJ$Ov)(A=BL0`D=mGmk8AIeF64NZXG?F z>(sqA3r))-pS7_*F60sOo(o6MzoQ{-ZA=6cf^?N}U~28n8}fJGOzzJXZ}Wn1pO8ln zV2(Fwyu*QgeQ8Z11vxyQOCNy%83V(>=qMdGccb)Y zg)C8kPbMcLJNn$~v)UVbcy!>ge^YL=Ky=D%*crO>JL3r8uQjXBTf|;Lq0p$P_2gtr zXJ@&?%y_bJJOXZYu0h*^!Mmd~T0mCSiT~CUkog7%2M7E58XdZ!T`$*SFv$7X{5UQ} zUCq3Gnt%DI*LnJsm%o^Ld0ZS6#2kmRQu+0Y*Em#%@FJ9B`Xw=OT4EyY92_XdJEIQb zvBKSLqQa+YVA9DJod`>S3eZb7gg<`#=qVtOLpR^xQl!+$FxPMb;4lga`iuy`p&0?a zLn)^%8W>safGK#NfakPFKcJL&cwobDxUYOjaLmajA57($D)Zu-kZ_cjA1c0zcVC0Q=8i$|<8xpI zQ_BAFVK#9r2`R1MdVCT)%h1&Yb(CBhUyN5e+tS{x*-|FO0x8*d2Pj|_ZZgNcALA#|HMty_w+F2@xHgcpynFX8 z9Z^3Hj-G=5fbQTy{?O2EipFO4EonNf;3i77%hs{E$oKO<^%5 z`sbYhr3=r;*2ryPv@Z!9_Nr;k*M5G!dD0($SL^G9;tSnfYy6IP-{`jCxH^qJ!^qf} z35QQCtriS$*X@a*;o>G7t3%TGJaQ$|#yPFGe@|F#gX!O{?YO~*Mo_S&^uRbWA8|BCDkvCDR~QED&NV3JwBy( z2UD@Juq>x4FZ!mG_U7gpv}&V?Y5}A=!T9j zd*mYvX5p-+DtB7_g2^}at>$`0M~gfHoW28u{Vy@4yRB*O<8czVak4Yc- z@C#4R8;}HPy{*G}>%NjV68{WriMH&(LA~bZ$OsgCdud$GK_|;z+S=LyC@J0kVH`xz zi5j}j3G3hG(CsOE;D5O_HDKBqSsRkhdeepH5W)#HO92$JOC#74u`;@+a`{XB+x9^TksoGwkXKSl9=M z3_x^IRB-U2ZKBDwnt4n9><<(=4vaB5l|UCvHlB?o$D59xUgnTCsypX#{p&xKa@Q~z zrEH>QdfDxt_EF%B^~voDP+|E#?NhU`u&}-^{u?oR7Zyc5fJbG#Q{S>aW>c0Ic=4zZ-fOxEuzgmb0K0cX}}6$-{2G z@{Ao^i_YPIikV+j)ZN|l)cv~9CcVz6I}?~G%HRLgb?{S#&|4)A+n3 z1;|M0sJ2!dn1Eu7HTnWW9UurC9aUbwRJfNLZ%XPsd3WyjOC)>zuu3T?`0!&H;+PWm z|0goWc)%ap6_a`QYZh(tvjjxDC9t^Y9wXnss*hI)B+pEQ+ zJVp>x7-Oxju3cW;Ha3#JBVXwZCmyHg4-O5zKIBLTlPo+{05uJ&Q(&d6E-xDzGvkDS zBpeG9Gtxm(5v_n5AQVh3qeOsNAfQSy(9r0Y1$mVG5?<3RK2wyJe{p_7XU2b_3N&F+ zZ=?JHK1xklYkY>k76$`oV|O<)Hc|AgSnhozj(@HYJf(*ZHk1C}2z$k-*)Ra*3UwRE zUBd!H>pxzv0UotPpF!WoFqmeM5SJz|0=y0D`Re%}L**lnl+Ci=@6CHmrr31#^al9( zL-_qeLr-E$l44?_1%=uGK^F!nseon!tWKWezx7=q;I%t0+0ufr*vxC&*zDEWEJRAK ztgfEzEr7Vret%KF5|NMs`2V6MfTOcoDKD(JW^EuvXoA!cB4UIdfI@tZ_M+TvGBqSb z8p2}Kl@1(%hi$m2sNDLek%3lLMM;fn2^BJ$C$|U4RG{`XmX55H`|jKS6ZCgu{S))w zFR*l!B}71B$Bx`+^F=_vhF#axRAVz}^AFqx2L+|_x}Cz>r7DlbM#8VobT;Uio4szE zJ(oGrd|sJ>^A?y0LLf0%ub?@-svtZncCinJXK)@&ep99FD@%D|0cyAIE`V^zXtT6e#`D~;-t4WB!R$F!fAUb)fxsETCHtD;zpl6 zN-QRmONxsvEj5{vq9YdHxD=L^-2$rvz!?z_t2#pF)C4R*px~GVCk-gr__2ogiiod) zRI5z4UbX6NHhJD_-NxuAGJySE4N?x^m7JKAWVoVyx9IcTp4kG6p0CO4NC0*soF_}z z6&-iB?m>F+@xaI&G@)eopvfRQ0tOY1ZT=@yCnycG57Q34wq3z-sd z7q~-x2n+wJ1I%0;T>QG)Dt#MNHxvZUh{;H@fQ_mBa$C-yoqDH<-|Z~=L3)7ALq|f{ z46;g0y4abSnNg0&$Vj72fC~HbntZs_ii^3X(p-Si<7!u@fBFT{OWB3CO5jF=Hgs@y zTWxcjin25FcMir835?i-FOZgY+r1n>4yXd_P$(u5(Lhrp2oVYjpl7~Mf^eS%7FF}B z%DzoW1B4+e&AM8*;|(SWcfiNKsy#%CKX?R!MAz7#@8wna%P44RMF-ce@%)99m3?I~ z;xLr@;M0AFs+5(nsTnDi$eZA2p7A6D`Kw!w%GV8I}Bpx3Tm(K0fM zV@R1O)tLhhsgi0JShym&f`Woz(a_SrH?Wj8b#-+a8DxEV;Yi_E@4`|D)JdLj@`#8D z0*HKGUWJ!nrVsjSII9!<8|ZOVp4@t0f?CXYZ`~3&w7{mH`))c3EF4vf)l0QBy=-l5 z1qANs24Ds$0Gx*2UN5)03m!gvxX>&@89lEl7=xm`^ykpK$;e3AK|-P%EW~aJu7nhB z7f5lkWzN&r^z?uT5jhnS()SoXo=n62<~Ttb+)bUKgi8k}|*Xh;O~TtW4K(Ab#b6jEnBKQhi1 z&*jW30kA1Sp4;Loh`<@z4P>P5?(V>t0iVfWERk)C)4_7j0r~|1)qu4F@Cg*do~d%v zvlV~lHZa`Q2@(TKiIuq|2$=>KHuBm)Uafd;;VqvP|?klh8ZH@1t5Ookoc zP@QjWHJBVA{O4Hz(=98P>3MD5nRqzVGC7PMl;n?C`6 z&aI)Wq^Hif-f(n>WR+>G9%2nC(_3K$nX>fsAD!!D3FBiU*~H$5AYTBH)g`GPK>Y)s zmlX2T-Kp^m!_FT+$`BEQrl&QFC28+(Ffa>Bf&luw9v&W>b&(&$T{Rp0{OY~EADrNm zk~UM2lSl0Pg4M4gV?6x=8(T~b4Fl(&&j6chFPYMGL_o=s6YZtVzxNcX_~1SQHFSiVs8m7TBDQHSBD4 z#|L(|FesVFp^fnzCDXyxXn^w?qXyOM*NTdYjUJMm!rP2`=d6f$i{?sk;W!Mvp~-3v|~_)QS2yIyvH zx#=y{zPW0X;ql-+MI}$$*QY#T7wHd;RgjsHkrDcOdO|L-6tuPbXx}f`h?`3?BdA2{ zu`|5g?4{B>yd)yl@}vngAa@VXD)jGFRfoAZf(G|%t!ccZM6Z2!wG;4W{(ig!LHtRc zlRas}HTL~h9zmkp*(TLSoh|L>du8SL=FXM#j1;c7^i*YEVB8a=9}&7!J>cf-n#C8S zT6gD5iX1N1<#yxBsx-rYuT)}UF^1OxgPNE6Bteq2dM)ScYir6|JpZ)s`FHN(GGn7v zxaYVsXheH@K>a~a!=$Sr(j<+G#{6oOSR$~}4w36LEwl6dwNgj(LIk#)PAYGM5~bH> zal4ZhmrC^saUeoZ&-f>4LlLbE5DR)8JAo1l*#QRUy3hL6+nw*qtN;GGA8GQ~YPRmD zSLH?n+3VqZUKcA{OQ)iWlA5x*fh&3Bx9NM-2+z-dy?=B3Tv}OqT#j&NYv&;B7j{>X zy9&UGUc-k2dnwwe!3JPJgWbZMfV!)DcKB(g**^TRCdQ0EM=Rsv$`wF6V|6+QbUeg$ zH}MkZQ}<~9uUCnP!Xt!k$PyfE8jgjH-AhMJuil^wEENoRzpm_z2J{tyGe=#FkJ1Uc zSu&YC5P>5GtPdtruUiEl^-fL{6!8RVkl%_M4K_M&(Yh$K5TW;`7L;W1nf!Sk79L1H z>MdC(c(r&D)`-LwntNPqEHx8wW-XogHhkIb?~LvPZ_Xc4DXGFYYKn@jysI=Ru|xkq z$7bjwrMqL(o`5-5bGeH@2hC6jWBi!mI0T;|3Q-*CFJbT}N!EdF_%3iVX;-OlGEIvz?&7|LA_ zKmB7Oua$poEs+bT&7{8j800Yw(v^~uosAseECb>t<;SdEKQqG!IcKJ8K((-_dLLL= z0E?MV=ljFJJp)k50Ho%@zA3kZvyPMHUftgKxzo#+#NUs*Qca0xY0h~-kiz@hgN-yJ?dfutHT6Kv9ka z!LGIibOzS?OMtJ*?>rkmDXF4*`}HX5#~Let4%0=Dwt#;S;Qf{fb;?@JIDPwggcavb z`uepy|E+*dgQM5}{_vRDXn)`9T-k&HM0SvOfbw>&3LQ`ipUS3j8m@E=gJlDliBnZ> z>)sC^f2;PTU}d!gHrH?8mVgk>eYu04nak@ZDKpoHp&>v`4JG87pPnuShI`-%JJ{2? z3GIcYe5a?^f+Pa;u7tVCQ+aWBqsh{_w-ZiLdD6u1K9twjul@=|SpbBKOh9%X5sHma zLn=}w&lReb4YvW#46$H8ov-V7+)%%!47#);8D0=q!59-KzU+jYx`-L{sKz z>tv)RWgufH5k@n{q9CWzas4#9I@eqN`$OUUkiuxW&D=-j!OxO*h{jmsZJ@~2bW&KO zJ&gdS!|d!N&vtb{Q3JR;3C8%pg+sx4frsb1)T+_BOtrym2JIWYf@!b}Z2jo!jQE@LUUO)TJgS)4Xruh=R~sYfeA9Q(s1*11=_}Q0=?1M1 zfDj7OWHwl_ozS9t-Gz#RkQ0DJPu)jVB_QzgcpLP^{ZR;|LF>Nx>R`Duw_i(pcfoiM zi$cUt=eu(`JTR1%z%?6$>&Iu{1D3X* z@UM&WP3mk#$LDsgDM=S(TspckY1b>U!tA-$y5>1WRW7qntS~VP=bwd#d#x?YOs{>j z<8lk}X$*J$J&5UO<6%Kxl!CYk*XaHTgTG|@yG3wDq=ej+r*fOJe1z9&^)ftT_$gsS z2m#Ay^H<`1f3D8{(i;S$zzjmHOEZvi#zsXEV&LGQ5hN!=G!>+NKPC|E=qTB-eAMDe z&j+xv1Zaz0Jw2e`&XItOio`g|0{qidfCW%t#&DGyG4mBT;9~pnA3uH!I9q**i3yPf zzy~~>XpWf2RXWiXB)S(z>-1X9zqWkN06+YpUi0pJP3P@s9`e>C$sN;;pZoMv93)b9 z9I|p;O_jO_@3(X;Dq_>F!i7=#mWDT)e?To~{V{ zvk{_^!q`h!Z0*vjb<-S*u{LT&kvXjeO{u!5GHtGm;ou=-ZhY2NJ@Ef+{3Q#S}?=j2B6`y>}{12Q@gq=?I!n1CXb>^1x` zl^H}1TZ$3cb|~)C3y_fGu$asyvRObiFfolmK0Z8>CJ&M;=bdRDvyl}uB~w-w_A=_U zmHoSB7VHf-cQ$YpagWZ5QV zV2}lQTk_sA+Z$F4bi-P(18>0vSS(gyWMVQD2oTL1zW@xgOIcn0(_X5M!(zw5If5B3 z?x{D>*8gbfBTGM|N<`k8T^{w*B2gpWPOFm^(2RA{Ux?sGEG%PqL{L9f@aR#i@^uH} ztLV6EFS54!MvtlXk)XmdPAzp_*sbZaRg;`Uq=`{ahJ~h+sv6j%)|F++pDn+3uJJt{ zXLWUb{q_xKGu+I~Dlex*%dFxTaiDTa{;q#e5Z;Qo8cjg~`2&Hjp6=6)DW8GpxVSyw zIwm15)jPxi&Y%`q(4pFk0Wj|_Kcw|kP=akmUjYWik~B2kprLTOwGfUO4-#hZY-L3* z94;sNwNf~ppc5sNZ2{puA%^D0igFpMg0Yti;8G_1; zczS~D*9x5{`2Y6do>-itj+l)oDmq;DZ?P{(K4t|s)r+L)A5A|1jS-CGwh0{++s^Vi zFVtpNW9+WB-L9yOiWW0?a+_jc?FStwoZw$PZ0Qq!q5pCCWM>-LDcdUBZ<{0g`s4@? zH%RGhVsPT{@E|gr?&WQqG%KuwJ99|_LZX#eJ5%)W_3hg!C_>6Mj1 zB|6{1XqrkxetG%g&0G?(N8{+IB66towi~KtW`RVRU@LXg6-xG~>!pA8iq@nWL~#T_ z0oYkg=fxHsmimI%!zEhvVYc7j?oe?`Q&BjcJg;PCY2uz^t#R~6!B0s^aXC8;-7l9n zL?0bCBqW!TV*{#aFz@&ua6z&q5DeC6;vb%zcwTM@2n)vtRTiqyB@s1U?(f5}Z%h~$ zfc;6NA*HQLlIAq0nOOnvyzZzeeMB4t-HCptgWvjAs|!`(OFo}htPWL_f#79PL^uf?`+lp z<0fNMQ%2p!B!+7KW%he3~RXqeULLCPU`?KJnzP z$#PpdmQ+fFy0g}$RJhz)e#eN;@|vOV5+Ti!LVgxDxdC4Gj{N*Kb`|AaZR5s>X6M zQlUX69bfL-kjLT%Lq8rKkF;i{4f2PE7@z010Q=SJHuZ4S_`qoht zQ~>=%e8D?z0-ysI7Y_JX5Z_r%3z4%HXXpPM<#=NaEh?;^zZGy9vP)eLO8J<~!`Oof(sC#y9Xa2r#!B~iv=FHm4nmh7& zU-MX_OE4ff014W3?cVPUrAg;f#(G9ls*63H1?fc2s9zYMwIvpsLQO}tcRF7KbCT)n z>)!l>hIS42oQ9e@B&cwo)2qq^E7xQV6qZgs;Ieab9Ck-^G(egyp@bIx3<3GFez>kQ ztCQmn@PG+1SXpcp=P0rN;cWr*aTBJn;RSbdewsdTQV853%M#%Nk4_ehEs&D zRmgX3|NNq{E1je{%uh6jFwMBtKZaNMGQ{n}|~RzZPRqscJf)WjrL z8QP`|1QeihnW5!M0&0QI(J?XNe?aiY=Lvgt@C7(_)>+I%3a10ZLEG(kLs3zNEEuo>Bf>F2)MwH$}p9%{L=i<-{DaLxB_gJa{+nm5}Q$%lq9A^ z>+R@S?+ftqi1<7Sh=~_KxmYv=r^cke0flgeOQ+!#86Ato+BOJ8LBaRt7+N)$+9ED@ z%Mpf0<1z(B1oh&58@lt8HVGF^TJ!#sP;tSQg0+oZk7?E_ZEm~P8szW4M1<)|!+ZL= zbJH(vHE15dvVbPcozE5cVa6DsTvCe<^mS`AR0QG{J+S!nDAP=dzD!TSCkRVK#MAIi zP$KIv%qB8dRsDl_-oRY1WnvBIJ!1lfH(J51DuE`M{+p;HBRxMpDyDsU12%QbZtwwM zB*xjv=_!QfTm5T#L4{u8O?zQZNpv-<3e&DlRFmmVDQHhbVY|up#;UG}{4rpi5n9~e;caOZ_o=f>t%LPkc6 zr2yoSl!7cLqg0kDEn;L1h;0rI4jh2R%xksDx|P+vb+45TeFl1c=un1-y80Wpf&56a zDbu*u8p68U9KcAFwu>=+&m}M{5V+jZD{%ydm1tC%k7OeZ5BFVp8XFrQpPWEN#KH+d zQ_%A{J=kH&h4r6brhMDFJp8kKb?RiL7LsBxq+FC|rL~S7PLmIcWIrNPQdlg1sjnAd zgWh$%D?h)yu(l=>*O8cjbrVXJi`V(5)9t56CMHo-YBvN=PGzl!3;W>*>rV1!Kx1s$ zdGlbmpJlgwb7uX?CO)Ga>fzNzBIa$%LqtS`P{KX_FN6fWEJ1VxAEI=BHIRAh0Q8~? z0#PB{C(qLM_ZUa}`>F4im17)f^8-x}4%q>L_=lLFI@zYi}9DTv@D*om+trEmFOHCwE2_W4R?9TsLOo~Zj`z@Ibq>*ANX)) z78aql)^Bwy&a74=zA=;^u{g&RQ#EPssvzd57Y*Om5sx%`0Uo7u=1eU{NjXX_JH3`I zTTA(LhYz;WZ4Y^Yj?T06DZjzAq0E;;zcc#3Udg;de#K#)gb$@m2pj zGC9Cn`1@0yP(@ZLGlvFW*mNx|rk5$RMN&(E^?QX%0JN9pY$ufSy4Ko=w=s27U5zeB zZ`ml=XlQ6SIXgy1?0PT)fF2nbzek81Q{#XyHB|oW5J|bZi_h0Zi;0*~k1H69Tt731 zjCGk+tjZ?8V80Y1iVoXuY-`*N4MCZh++QjS&(J z*_?C!0lIL4LXSpAM;TK1bmG$%3Z&Qzdp>I6KzhR4NATv=Ov ztx@>_-iUIZdny*Z~IsVdWmG42e zpDq}A2qOsp`W1)64#zFZAC=HyYv7u4bCavq#;(DAXE=*0HnyMLQk|ZGvcnZ=l@ARA zHZxz}Y(1i^q;YY}kX>18)#TB88FK7!c~E3x(yy~S_x$`YA)4UL2laq39SsUP&9S=M z#o1W`MbO3!ENtk2wbKFCXwfWnp#*wK>lZ-)Jd@yAQE9KaM8<){#eH`i#S6k6Q_^X) ztodO4*gbY?XvM4w{MhLhQ?7QQ8nc<WFXy1-$2`0{5i(tjp=E)M&l)phjMA4|Xo2$2{ z6880LYUKSrH5HL_gw24@X_Q_fQ^aQR7TEtZXtA%^A8w#e-qq-InoagncOYnJHrflR zT+Yz3?kopC_GCt|?sQr_uli@4!^BV{q)*2=dZeY4M{5lF&B45@%l-#2%5?se!dM0I z$Q}{V&d;}9B7&6b2tKP^UQsn+00S#>Wob!9E{rUg+$b9Huo4N$9x$m9kB$(JszfMO zC5YqvS%LtDzNfggb5QOPK}e<`+6x-mK6)dh^l}R}x68Wkdxi6ZbgCs=vjvY`fW#vf zs(U!+I^USnNr(z+kMD^1=CT7DJj#f+hd(nTsG440ToAu=*d9YzTeJs+Uq+ouem%YL zLcudT8>O%3HUiT*rn6PV&Y|qYHD_=O~qBHoDG=DheEcEaJuSd$#*qd+;nv0W_FG0Dis);;RFvWb#zuM*5USJQT zvG5}wVBW?xpKKS73_9xFw+c(NJpL@kn4%U;vy_^)s4VBHT41{CWo~w35&-@Ky{5W+ z&Lj%!xaFU%EmOm}&80RfD%sSfRd5y3SK4=;5~#VK4e)Ssn%sQJ=}Um19U^%tD7?HV zNK*!rCo+fA&L8aiFW^q#pGE6_iA+lQN!`OpWAassX>k0hU)P=uH{hf{7k!D^PDe{Z z_lo)#)sNQ+aiI3uGf0>F*pZ@L89^l?jgFL3#}l*Rd7$f9PYwQRB)>|+?sepGTX8}l zSiu^c9*IKZMa=9rv5;h-fD{?2cX7cKVfSqD(}hAW;V$9e`VL?vC0dn|5Ra0Q5)rhw z6B7V4V`Q8VURPcIM(#ZIhps-MJLqPD&*H*Zdrz&?V*+4jpdjyYa!f-Dv_s42i+uLe zk=c`0zZDfK&ueOD6ao&zwmzoL-oQwwxhz27D zgD$o>DesNjN*(p#5!b~-K1Rmy6~Mr_yz(mj&_3Z*3pjh-w1l#Q3%8>nU@m9?@e+S7 zsR0BS2nY)D**G(H4U#AzkSNeVXsAh5`=|jXfRXln^GgySa#7Zn6p)ro)u{I67|QpK zc-EH`sX3NrI|4< z0Y-B4u}^ke8yU4XpXJX#F_?3{t;R3!z8K7>Yi|KK$z_^%ZWVX|F zgc6#WnDpdG*TCUk2fyjsXn8>PW*qrB^Ib@Fi-9(W(_kXtDezE5N$|^;N%kEQCX~X< zeUHFGs=9oBpSLzYAuB5wyTkvWi97n$rQAA0{FG%PiP@a{HMOfY;D$Cq#qnh65IMgB z(6H}?gWxAO-Wj_+Img~!h*ay(!1R0a6tz!lzQB*|Y0JYqwfFsJEUZ+uR*ijoL{XvW zk~X{isAKM{HLSVene9HpGb|PyP-%OQad3cCxxSHa?%Ua^bb@JyZ${#VV#eo!t=yz+ z1;3N>Z!MtNZOhc68$QNe`+krRP^pFOOy%|-7k>~6LYBrh5BPJ}}@QN{5PB^*H ztH;^q+R_R*0(^}JgMD|Oef;x_bARU@j(kJ4y&sIAL3ru^%rn zI@=^W+F}{@V=-0~$Ke>XN?Hk~&lfIJut$RK?kCpkOgJJd$4Lsx)J4U8seFa&=`=}L zN8AojOZ|e9Ou=#drGo?Vh9z7K2lsK=Q}>U!tN&Kacgmcwx_hYa8h7B+68ePEQl`H< z_zR~3HdQPrq#v5YfpYLsAU|e%GZIk%!3w?O zMeNUrxEUC37Fc{}rzgN4&sI~NMcVQd9-fx2=r?GcPG7G#y}7t>0R-8@qw9#sNNWT0 z`R{xDn3yWAm^>aric9}hh_unYxvpGzuNb4!bA~Dr7acv@=vfcb#H_jBUg-==SeQWN z6iUFNzn1I=O54CfEn{##<$tY=2^})(yaWA*H;!w`j!90S@(b~PS_JvuK&0K(wN}>$ zKG-0Tjr-_zJ1|y^>*nCoTl0Jw4fYUG_fCdKESS?ft<(2Mf>)mLtmTYZ&L^0o# z`9(p#ef4~Cef{j%HcO3(iG`{t0_OSH9|HqJR76De($k_`QpDn;%{_02Kjq#TP+56} z9oS|_pv$PrD#?_T551tb(t(r>XVcK7h3~cS0T+k*Z%tlN@e$xo6*KAYr-!;HO;~}7 zagtUo?1qPdX~``(c0y%J6{LR>iE(Ew-|RKZ8{{w`iVOWZmyTW?uwA15Pz_Nyy#EOoN{(Z@vgMl(p zcdWrGAk-o*YSdHi>lE>Zg43qMx+4B`PVk_uC65aAy|h zt*A8m$`s0E>1-}6;xRfj6dk8V4qeHFF0iL3*tz$cCtyCs9!dsI`B| zgrx0>G0Hh>&Ae5a#Y$nI?lN7aqNJpzDTwgBqc~PRq87FtQY-Y#AGEsLj^18~_Y%rK zOV@inPbFvyfW|MG+mo7={0$G!&d9~6-^E2rg9F(GAi0KhqC~jEWoEK`IO17$hj zY=pDvk}W7l?J2VVbF=h*v#4_dwn8uoE+?2nt>LGES$ zBVC`6(<$fZ>OVOXL{&lIK4*f)kU389X-iIc{M|i0%iXf3x~?+KMpbeyl6e%zzJF-+ z(FwP$hn;|XOv`x#r^Uw1emM!eJoGjmeU0Q-UxBTpVa^mwFQcDkB*0JQ=ZalR01<<| zDQBNvwYF9s9{zNdeO2>k1yF7-5Y524sz-6c1H|;syDeO^{X3&+ex4|baxne=`K6cMtyB5l-2Ozl@vblJbboKy{FirR>%SkoM$U#W z%LB-HKxPF*Nb<_6(6Jn~I3f?IJH)>C;>&^;lH!iC&ubpM=caBg7 z3D7%?a3|zxV@o=POx2a8rM#=Wsvh+K-VF^aZj;zy0ZyBnxTOsA{Be2M2+y9yC)UNY zc|9%I>Gqk48{inZ5R>Hsr$UsltLA2?#rm~Jqpz=DlGfBQF}I|;y6-<~9B;Tx(7;>D z5MVFU*%%w2ADbQN?7cq93wQ9&`u6QpXYQ&Ir|m{O5d6(dG9n-%PSxxPW1Zl>>FfIS zh5VDt?cNfQe|^>^veDA4qiMmk33o0umjP81i4Q`WqOk+nTixB=oIuZ1C3fa|O!VQu zg??gUOyZAgOZ8gY+PI8Xd}oulXV{ZH$tn9Zy^-4Qw$v&w zNLUOp!8rvlgUN7^jL8~(mnFK4m5#?UAg)3vGZ4{Pf)7<9-A(gYwqu46k&s{>O~B^F zWBTJQeA!vb_Y;$tye$%v@Qr*MauPbKvf@lpG@$Q09w&BSi7lQsFqla012YOb^`9WD zLV}7x|2`!DbcT+_p;30M7cbQ740dzbf=hL|V-gR22IRhmQz&7oIJ!>!=n8QJ;1bKR zIJxGPlcwtD!5%Fn1vK4dseG@i5cr50(c;T3%`7a z!I#%();fS+v@ub1oBt6MHU6MMc&?r|th#?(j9}Vcm3Stkp+ZmkT3A71b+rl}z%7k8 z&E{KkmDt^^OR^!MPyV;X0;oPi3=A4JW%5q(M?f4OXW;kL zrGU?XMX`B(T_1bwC5b+hgoZJ$3mdR9V`wk8xXGm5B?IFMpTWxBz)i$S($MC1tN!*) zU01;D=g0|Af+|D%X{1!Gnmkvx!BhCvPSG%f3bd~8c)F;!CeS7f4W=A7&2JZXPgaNn zkGJ6mowGGL8wAvAt35vLi3$kt7P;>|Y}4g-toK@<{>l{9#52$9(bafqxEJPlY-k|C z5?eO4>weLfunaFO+&*2s$85WS1JWM6N-AAz7H6yM#lcrhWWeO1fNO$Sx4J<~N-NB` zi^jnrKJ8m}azj{s`7_VA`D6eDLvAVHsw>pln0aKno!C-Ddj({s=KfS%Jb|=LBcDBb zlsM@#{;MQK{ouSE7>@`o_y-_!cuU@PCP%~YMshOmr@U{F;QR{yneujXvYudn14^*3 zx~KjlcEK1UYDg=XmiH<2FV2z;p7G;+zY#PBE2)0PFb2#;`!WG0N>5WH{d3_JO;&VdqWrMpcH*V? z74IXEBNc#c0A`A+Kwyo*%8U52ULH`CAZ~iW@cWzkukEwv<2nePLEJ}aUZcF03|GzOj z)VVOvMm)Cp|8ggwb*bl2E7Lw-S=W+Re{W^Be`A6oC}Ky&_5^P?O=00O4X za4<0?m`4?r_&&MGCbKpb#MTBCPWN#j#l6;3s=~Uz17MhU0psGWdQIi&se^_7_@>1V zY-S51OFV+(n4i>%d~S$t6(D9hojN~%rzn~wp`?mJtheg*9wbF7n)b-58NIA#ncY2R zg$0;cc!CT2t-V())iNNLf#4?KlBdMu$mMRfq}KHhGQJ`qk^j$cy%T@J(o`p$zB^ko zFfg1RoR(J_@IHwDNxinT#PhKuuve3!yKh#W zlLrZ}y3hWt1%PLKPIotM^W%2-zYyecHS|YN+RYq8tB!Wq*}Fc_yfL1DfLM6+-&oi< z2OR7yEF&6K?ICFua13`Z9P6(C6Z4g(>C6`k^F&5SD5@|%GZQf(Hyf62D#7YoT1%UB zA3o)yZf+ok`L1L?RvYB~=oJ+mE67HTI8v!oJTrjLDsAuk^U zOoD{9MYS~p$$MTGuFtjStPZKi)GL2Z3Drrua<;iUoi}kI8WJ=#SG;#!7(5nhNJ#PQ zXeUFNF855+UVeT&js>P-$FIKGgWsP&qEkk_=ngiOW3FP>kUBXIottmkovl%0@;TUC zRhnqW&^Eu@RiV(o9iI-Fw z3pdg_Pv4T^Wb4_ncp2sO7D21T5I4P?D>O^ft$*}V@&DxGms{9B?Y9UFL;yK^oW@vX z&W=zVm(KSygH>Sia1WoRT>F*;oI--*N*KKS`TiR|y*K0a#zO|aL@QjEhDL%ec0fg5 z9*^6BoS4rm=kBdJWk38&xMrlGQBawTZ~2r1tnAvyeI-Uqb?a?yZwIQY$8u$AuwLs5 zgik2^^9^B++*8oLZ;vnF`u>Nke0=Ij4QvP{uhW_KrleXQXRKg-*QH3k3d)xWxDXsV zdFjdE*nCLBWadX%oa{fM^E7+4^^f8q-neG(-EEM@q4*f--|L`3G5!8J_@wbrPKeKQ zGvU|o7b0vto2WC@o;jgbTMToq3b%!t+v|ABIqcgDI~SZ-z@N4g#yBr0UEH9sA7=~o z+D>$R#P#Tbx!Rn2d&&By!Sk@Z)Y29AaPvjot54;FYj;vKM5P}HE#C6FPIzvzLQn?J zhfA~D%6Fwd@WD%L_@=QarYT8wetpq-8&1?pP5UE-29tzG$s|1#e1S%H_YlF5{J+8B z(EcI~I7hvH71ku(u3jnKyxb#X^waiu#Xzb_sdG|uLtTkbNm9vy=&7Zvn_63|d*wt} zFwMV7QWMEp&{1TvSCOCp;fME6K;4j#uzue*^7sM2hxeVtnV&+`0V+cJbcM}k1E(-? zduMvmQY8IkdnzfJii+}vUHJlFV(e0|59DXB1nzt!&2Y_tavjV>A4&pLVv{STiV~oj0TC6$>#j+8wX#c1018;BwQ>Wv z8Xzmn1Xm03>7MS-jI2UgPsJoA+jk%tl4laZtyk?Zng6WUCDjs`8=31gKFRa#{c6ug zB?*JI^p`8dgk}f`6QuS$K6Lm_p4@KNLtkPlA&L%^9%qs*PARF|TotCL20^&Qk#iew zt`6pxiDmV;nhccoCU&5Z+-cWryR&6k>oC~>tkRLuq3omX7Hje}49b`!C~QG~)5!!Y zZgTJ3VQHf3IQnUB_ZqT z+HtzWb#=UBYGnny#FK&EWRwClapUN<=4<~CXKx*qb^CUCV*r98H!UsQAT2H3A>G{} z-3`*+-QC?~(cRtM-8Cn2|7M^l$^ z7DjTN{i%Tc^XKeLrf_5Xy{Yj!^T${!GyT5!b093tG1CD!2_~}D!^ePBTl>q8Rcop# z#&3Y?hd&dOK;WIdz4PVKva7)+1)#ux_#g{F2f4cZYHOQ^Tt*|h*4Dl17p`@t(-;WH zA-WQYTbheaxUS}J<2Zq>8=GDqYnmy#C{*ddGd$1xqe+?SO zLjNiO3UBJm6jzObaU9Zh)@EsQ)p_mW;(=}B+TzhJrKt7bIc+8K>Yuaq;NJZ^FP@1^ z0L<+qB0@!>ZB(gC9Wf`pRqhpJJ32jfzr_(8`M-y@5aH4+HVV`C*`8~-p4}iK%#`Gm ztVY(HH4;t@|8BH(va=hzyc%E4tJsl^j9{y@h~Y+}in}z|jzWa8-5MG1i8ZF2C|k_V z$i?fTS=w{)zKb7hHJopR^MT|SXH1Gb%k&8X3YnkqbB}Sq9sDmj`f5!x=_K+vW@PC&$Mn>NPx4QsHaWhQlkzSp=77-Os0yb}$1K^GostV{xpx;z)cIdWLS-<_n#kHt4qAT6)b$$9CYl?(~ zrp;=6C;i8dM-wf`bA{?QHv_Jh5MMYvRb(+D|6~*D5b*w&Qv~i!U0nl~HW!|eQ@;?R zWB-y(Nm4^8eDG}h+5kp#|MettI9rnWBIjrx!71??i8uLim5qrQVU znC*6gG|9y#Vf`$mwm}SbE5*1}^LtlfQ}uR`Z;l~wa=8ClcS^RYpfWJ{dvvK2l63Lz zTz9axZ$s(N^M2=TR;sgifB5(o-A~l)q7z0Nl}_y+a0@z~NNudFGZ!t+aJZZ!msvEo znQBdTiYj&Z0RUzK;wp!My01G5yQ{d-_Xe0SN>v*~yf8>YaVauH_(c3%?;kjR&d##o z;n8vs%nvRu{`m2ueVv+R8x96$f1$7 zDa*I90ljY~n0muQ_mbmbv6frdi zJfzqgVqIfBLlO1joSli(w5_ zXJ>A{`M}8BeYPstR#+YKargzIb%Xn&&mBc_QWO#QekoN9Z)h8 z5Xh*gBr%!Id_YGZM)QvT+6phM$*-oizbd$xH<$_o`=-^>l?3GQf*wq3Y-_9f(?uBU z({8>m2#N+IPbfVq0F-T<+xa%HZyM$%5vJBPDDH<^?69$JcRwCAJb#m{Tv2d)*KH$= ziDa#?2#+g5b5BGG7c4Q~L|e~WxBbeu;l}l|<)q{GmN3%oJHi*CdvolO*5}jS#69HJ zexV7p7FR33n+h6FRy)HuoZ8}q9i!Li13!2}U8HeX-xSbq#+Io% zTRfH;jS>T0#4+%>uE{1-)>PD{GL7Sre%4*@vE3X7IA`uZm;*Sr@DWFVFK*Zr*>IT=~2`(dlic43y_MHLzdD3&syg7)Yr)R>jfB`2bm z_=N>RtnIMfxPE*Eh#1|KlZW%>`$uL{?}A#KfYm6&hfq-ipj}1{Nz5-%?)DERjHI)^ z++g7q2!MTSLP|P_!!9DH9?_bZl^PYTDd2wc_C$%Lfu#Ywwp{J-Zy!2vXA>f8B$}Vnp?2V;KdsV1T;XTUB+XK(@lON12z{&Jo4g7IqJ1TOYmz^yZ zqb?i)?1GK{tKg6m`hTRP>{GAIqy~Z_F58jgAD+BQ)6)pc2xaOmp+P}z57q;4KZPu05atN zfYU+dU<5m2*U|MB2?d4d2rB9Z%p#JI7p2+oFE7I2katPOOvmTvCX=;rMG_~@vLaR@ zy1K~1n;Yv9i=>J{iH3%MKt1uZ1D}M%K&!ztjW9TQ@VJ~TmM8CMa2M;$BU0FE%c=|J zD2mloZvxMeuqeb~F)`4?0qrg-ynp6AX;gYNTQ6G)a;I_~Vo1@}L{C9V){xm&)@i%k zEAtn=dS0nbol(oiSVrW?)^A)C)XwJCAF6{=^3vo)1Zt{$HeUB0yv)gaeesW9nolnq zuC8!|DX|zMsBu&Nk<7&q>2Yax0W)Q2B9yb4m9(@DGc^ee9yfQJHM250a~8%+p!cMq zIfRDCkx2P<=R?5Gj=!|4AS?_633+Wio>kJ0g*`FaO976Iswz8p;>kJ%IQ^$5XZY8^ zqOv!c=9qy?GdOrmFg7;c#elzp$`e8OX6jVDX@lbA~}naz}%>}t}5mU*@QQwvDfT$(Hcu-Az2@Ot;h zP=GfmB8;OJ5f|lh+Iu4$j;kpq-mj*%C}+6~)b>Gf)GEymKkF@Z8jvY8+!tG2S(r91 zFF_e|4Emh<2e-QhrS>P@4R&^{jxTy4s&d4|5@kYeMKo%B3cr@t^&V88bWPOqwWD^X z4$G^@7GVT(bt3tQDk{6@CKPx4UVo)I8trLs|D)LXnJOu9HJEDI3<|kYnn%&wRiLZe z|3I{QylUX`^3Fhlo=t1smrBlv{1VngA;+~H+f|rJRIL^Z0)vP^+>9e6my`R&b{kG& zcvRdi?Nw2YWtBwi1XvPn#;D7Ga=(giQJ^l*tFp3Ij3La)jU)@G8r(#0x->rTAhx;P zL;D9ozc|O*de<#%&<)J&5ki7u(mYbg)_cD>OW083qDh5%17jXEIjd#D6Z{`tel z1;AeJ%JQgEFkL_wS`M|hT*eqlHTg@vzOu0`ko@-F?c zM$bJAtEp>#UgvD90w{0*dp9&V5Wi`>l3&i74JIIfFx6`LS38KV$jXj7f}KXt=?spD zh|!8!2K$fOBK^N(P}0oz$Xk1k6qHE%QEtOP==%lo~*HB_Sc9r6Ka`%bE2g9UVQ;kSgT- z9W=&wiY7|TUcT~DmZQe-oRAlP4_Ok+%r&8=lXbdZymH0>{w6L zPHY#5esgnU-ksq7x>&2m?l^hAz8ki1n?kdJh7$g!H9LOl?w*a#x^iEoj$qy3aQf~~ zueiK)WkKLhM^&fdIs3UC*OE)XT@mxoR(HRR5*){7mF@a8<2Qi*!{&OUTc*wds+Vn0 zP_@;@6;|tkF-5U5<6r|i3~-_#Bz>XPx-KDMyVgvF&3?QaL z2tdEb0%?EgBIcsqz5PU7BR2apKE|JegF{lN)lA0=^^}d3Wpx=~Fu}@O8=z*+q%SVJ zDuRFp8r%Wch=|SRiw}SY1bn*9cKti#-;{aPTmiswc^LuFLrBViu_|JoS!?AHPDA?Z zJ<5I=#@^HN$NX>FfJPiwdG7z7Ho%t6nv~9PTU#nZ>$D|xvO5uxq;ONaU+p}R**!bi za&n9{-tRX30a}YYBfDDG&&;IDTxpM}w^)b=FGxUQtHw}3=&bIvsIHKL+%}OT;yXRH z`BV-i#UU=L%j){5ZIpg7hvU^uP-l|?&CW#O`CN-i*JNv9_0jD7V`*|Q+<9!ce0Jdm zSmJ_cxq^ZMatbo>w4IMcRQxfaKG#1_soJq7l33C^3Xu9lNomv@BV%KkOg0!QZTj*N z4sg^L@mtO2>T^xdHpG|mB+{IZmW12fF2JosSOsisanX^gO*fCNYY|=TBRNHtm6eVT zq-<=nMlvK7WuI-jzW9;RLtb4&zJ_eF-FLaJJiWFiDOI)Ams4piz@jLY)mP3;ER}<6 z406_p5svyrpW2LriXUS=#RmkCjIc`g6}}R#`Q&Q3#r_%M;i@<(Wp=km!OE z&h#e~4r9KExgrhh4qw+eG}dXG0~c+DF+>R^-h4JC0}`@{uLImu1~c+E`cp(NJvPRsg+1iY`@A|SlER&d$TWfSt}o2fZT8h zXgT=KB@gn%I!$3GWr6$PZxCbdAlkXv;US(7s{_8yWYjJ5l{JxNoYvbKwG6F-h@>Q6K%ExFrqP*xr)~@Uz(z)wh)xR=0xgo@H@OfT4st5S`?YSF#Wr`6 zs?1F7lH!tFvDDz7wV?KA`Nm>QCPuxr!hG;OEQGP~T0D#Zaqi~hW27I*X1;KRw%c8} z-Hw6=9h-wGS0P2d=rs*X*0`t?4%-_nGO~opvef;BR?E?e`7?YwpiH^M{A_bl&BD2m zDuE^`+S^rY+U`Pl+M+U0TQVDp$;I-CbZMm_3h?EDvvG9_0+m{2ZA$2%=EWCRyT=7J z*g|0miEsOj<7@n&o?c#X_=NQxLr0=NeX_<85dvxbf4Vf**47Jcw%8m4+~O@TO1g^% z5L{esd44L_<6yV;vFLwOK>=-zet(_eHzJVfV>DeEQ==wi@$pjMViCVn;BW2ri<;_B zJQ}K`=)}1pXoT>`N52x_SD^dA@8VMb+V_?I;1N(*GDIJc>wmg>{hI7bp(2%4_&+Th zY!LM8;o75jv93FjQ}CR?I@R2R;JI|=CO7d13`*e6G^pv zs8Zgym={V2wA)_Il$;2busuNEj)oegKWIccFDDyMf=|r*;?sR_H{FMJ04*jN`22PJ z52-$9(2WY;R1F1M?m)bW>4=z^*q-m{dVTzshpHW6XI zub7CK_VL!^Eu);OK*HUh#I!i^T;#ixD#<`tBHife(_MG_;eL>xOg?G_VQULVrxzyj z8rpSTu`>N*T8xC4n3S|MUO;p-GB;jEY>DZUEgvM^eyyqFe|jqj&4M6`&(XT;X;{tW zwhi}<543BN%=M0fNRcPwwgin=fSA~ z7m|!Ml^HgC-6fDbVX|s7bjwZ}N-Ih^91etl9-!ZANP+Kuz+r1?{$;#Q(Yx+%Cu&G> zd^r9MA#1tLfK{O-Uf!P(SaH%5FY+(;+^(b90jMw>pM!B1>K-*uR-`KzJ@9}wPldSz z&jvZ5;ARycS}D~K3i zBhbR($syR2XUM4-!SY)*+tN9kV1Bj|$d>#s4HMZ_4$v?`$!){!@^h!WX}Iywc|bcP zA(o#fy%McI|kkr(F&8D zR|kJZ08oHS2VwY~`0}^KS6fd}uHLR9Jv~B_4xeRh&qh9{q%%kP8+dfc^S~a>$vZW< zX)w7<(c7LO13QFA-w zJU%-Zaocg^5hdnl>2*_KC17l&>;L_V9RbPC)-3nFtX~Eek;iR-2-pd#2{2GGh~|J7 z`}qNf^Ca>5`xsjKOT_v6_y5=bJ_4rWIhV%+@j|At`a&S=Ww&Ygi;9N$5_1eR$WnvV zMzh@N+!24@&x8C4h4xHe+p2zoJ30m_ohlrizAfLRPx?h;u`{9;S#SM&dp>Cs=u(hl z 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�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.c^B9suCl9(?lr&*cI^CFqevw+z@e! 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

  • 536Cy9-1-E>_RdZC6*LVmB&a$*44JtcPY+1}a*` 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%0A-wbh@?Uy6q6umy?M7 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 g@B{9JA-;h#?*Fss#ef{pMGxR`#N7EKZ8Jc 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 z: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 literal 0 HcmV?d00001 diff --git a/scripts/check-dist-no-mocks.mjs b/scripts/check-dist-no-mocks.mjs new file mode 100644 index 0000000..0083060 --- /dev/null +++ b/scripts/check-dist-no-mocks.mjs @@ -0,0 +1,49 @@ +// Fails (exit 1) if any string that only exists inside src/mocks/** shows +// up in the production bundle in dist/. Run as `npm run check:dist` after +// `npm run build`; wired into CI so mock-mode code can never silently +// ship to production (issue #95). +import { readdirSync, readFileSync } from 'node:fs'; +import { join } from 'node:path'; + +const DIST = join(process.cwd(), 'dist'); + +// Unique literals from src/mocks/** β€” one per mock-only module. +const FORBIDDEN_MARKERS = [ + 'Mock scenario: forced server error (dev panel)', // mocks/helpers.ts + 'mock-access-token', // mocks/fixtures.ts + 'mock-dev-panel-root', // mocks/setup.ts + 'MOCK API', // mocks/DevPanel.tsx (panel title/pill) + 'setupWorker', // msw/browser entry +]; + +function* walk(dir) { + for (const entry of readdirSync(dir, { withFileTypes: true })) { + const path = join(dir, entry.name); + if (entry.isDirectory()) yield* walk(path); + else if (/\.(js|css|html)$/.test(entry.name)) yield path; + } +} + +let leaked = false; +let scanned = 0; + +for (const file of walk(DIST)) { + scanned += 1; + const content = readFileSync(file, 'utf8'); + for (const marker of FORBIDDEN_MARKERS) { + if (content.includes(marker)) { + leaked = true; + console.error(`βœ— mock marker ${JSON.stringify(marker)} found in ${file}`); + } + } +} + +if (leaked) { + console.error( + '\nMock-mode code leaked into the production bundle. Ensure src/mocks/** is only ' + + 'imported behind the `import.meta.env.DEV && VITE_ENABLE_MOCKS` guard in src/main.tsx.', + ); + process.exit(1); +} + +console.log(`βœ“ no mock code in production bundle (${scanned} files scanned)`); diff --git a/src/main.tsx b/src/main.tsx index e67f490..82241c5 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -5,19 +5,24 @@ import { createRoot } from 'react-dom/client'; // under history-API routing. Hash-based routing needs no server config. // Revisit if this ever deploys somewhere with a real rewrite rule. import { HashRouter } from 'react-router-dom'; -import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; +import { QueryClientProvider } from '@tanstack/react-query'; +import { queryClient } from './query-client'; import { useAuthStore } from './store/auth-store'; import App from './App'; import './styles/global.css'; -const queryClient = new QueryClient({ - defaultOptions: { - queries: { - retry: 1, - refetchOnWindowFocus: false, - }, - }, -}); +// Mock API for local development (issue #95) β€” only runs under +// `npm run dev:mock` (a DEV build with VITE_ENABLE_MOCKS=true). In +// production builds import.meta.env.DEV is statically false, so this +// branch is dead code and the mocks chunk is never emitted β€” CI enforces +// that with `npm run check:dist` (scripts/check-dist-no-mocks.mjs). +// Awaited before the first render so the persona session exists when +// route guards first evaluate (deep links would otherwise bounce to the +// login screen mid-boot). +if (import.meta.env.DEV && import.meta.env.VITE_ENABLE_MOCKS === 'true') { + const { startMockApi } = await import('./mocks/setup'); + startMockApi(); +} // Enable preview session when previewRole query param is set (useful for screenshots & review) const urlParams = new URLSearchParams(window.location.search); diff --git a/src/mocks/DevPanel.module.css b/src/mocks/DevPanel.module.css new file mode 100644 index 0000000..0f059b0 --- /dev/null +++ b/src/mocks/DevPanel.module.css @@ -0,0 +1,159 @@ +.panel { + position: fixed; + bottom: var(--space-4); + left: var(--space-4); + z-index: 9999; + width: 264px; + padding: var(--space-4); + background: var(--color-surface); + border: 1px solid var(--color-border-strong); + border-radius: var(--radius-lg); + box-shadow: var(--shadow-lg); + font-family: var(--font-sans); + font-size: 0.8125rem; + color: var(--color-text); +} + +.pill { + position: fixed; + bottom: var(--space-4); + left: var(--space-4); + z-index: 9999; + padding: var(--space-2) var(--space-3); + background: var(--color-accent); + color: var(--color-accent-contrast); + border: none; + border-radius: var(--radius-full); + box-shadow: var(--shadow-md); + font-family: var(--font-sans); + font-size: 0.75rem; + font-weight: 600; + letter-spacing: 0.04em; + cursor: pointer; +} + +.header { + display: flex; + align-items: center; + justify-content: space-between; + gap: var(--space-2); + margin-bottom: var(--space-3); +} + +.title { + font-weight: 600; +} + +.warning { + margin: 0 0 var(--space-3); + padding: var(--space-2); + background: var(--color-warning-surface); + color: var(--color-text); + border-radius: var(--radius-sm); + font-size: 0.75rem; +} + +.group { + margin-bottom: var(--space-3); +} + +.groupLabel { + display: block; + margin-bottom: var(--space-1); + font-size: 0.6875rem; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.06em; + color: var(--color-text-muted); +} + +.segmented { + display: flex; + flex-wrap: wrap; + gap: var(--space-1); +} + +.option { + flex: 1 1 auto; + padding: var(--space-1) var(--space-2); + background: var(--color-surface-alt); + color: var(--color-text); + border: 1px solid var(--color-border); + border-radius: var(--radius-sm); + font-family: inherit; + font-size: 0.75rem; + cursor: pointer; +} + +.option:hover { + background: var(--color-surface-hover); +} + +.optionActive { + background: var(--color-accent); + border-color: var(--color-accent); + color: var(--color-accent-contrast); + font-weight: 600; +} + +.latencyRow { + display: flex; + align-items: center; + gap: var(--space-2); +} + +.latencyRow input[type='range'] { + flex: 1; + accent-color: var(--color-accent); +} + +.latencyValue { + min-width: 3.5rem; + text-align: right; + font-variant-numeric: tabular-nums; + color: var(--color-text-muted); + font-size: 0.75rem; +} + +.actions { + display: flex; + gap: var(--space-2); +} + +.action { + flex: 1; + padding: var(--space-2); + background: var(--color-surface-alt); + color: var(--color-text); + border: 1px solid var(--color-border); + border-radius: var(--radius-sm); + font-family: inherit; + font-size: 0.75rem; + cursor: pointer; +} + +.action:hover { + background: var(--color-surface-hover); +} + +.close { + padding: var(--space-1) var(--space-2); + background: none; + border: 1px solid var(--color-border); + border-radius: var(--radius-sm); + color: var(--color-text-muted); + font-family: inherit; + font-size: 0.75rem; + cursor: pointer; +} + +.close:hover { + color: var(--color-text); +} + +@media (prefers-reduced-motion: reduce) { + .panel, + .pill { + transition: none; + } +} diff --git a/src/mocks/DevPanel.tsx b/src/mocks/DevPanel.tsx new file mode 100644 index 0000000..bf3f93f --- /dev/null +++ b/src/mocks/DevPanel.tsx @@ -0,0 +1,129 @@ +// Development-only panel for mock mode (issue #95): role switcher, scenario +// toggles (empty states / forced errors), artificial latency, and fixture +// reset. Rendered into its own React root from src/mocks/setup.ts β€” the +// application tree itself never imports anything under src/mocks/. +import { useState } from 'react'; +import { queryClient } from '../query-client'; +import { resetDb } from './db'; +import styles from './DevPanel.module.css'; +import { useMockStore, type MockScenario } from './mock-store'; +import { activateMockRole, mockSignOut } from './roles'; +import type { Role } from '../types/models'; + +const ROLES: Role[] = ['patient', 'doctor', 'facility', 'admin']; +const SCENARIOS: MockScenario[] = ['normal', 'empty', 'error']; + +export function DevPanel() { + const [open, setOpen] = useState(true); + const scenario = useMockStore((s) => s.scenario); + const latencyMs = useMockStore((s) => s.latencyMs); + const activeRole = useMockStore((s) => s.activeRole); + const setScenario = useMockStore((s) => s.setScenario); + const setLatencyMs = useMockStore((s) => s.setLatencyMs); + + if (!open) { + return ( + + ); + } + + return ( + + ); +} diff --git a/src/mocks/browser.ts b/src/mocks/browser.ts new file mode 100644 index 0000000..aa4c01a --- /dev/null +++ b/src/mocks/browser.ts @@ -0,0 +1,9 @@ +// MSW service worker for browser mock mode. Only ever loaded from +// src/mocks/setup.ts, which itself is only dynamically imported by +// main.tsx when running `npm run dev:mock` (DEV build + VITE_ENABLE_MOCKS). +// Production builds eliminate that import entirely β€” verified in CI by +// `npm run check:dist` (scripts/check-dist-no-mocks.mjs). +import { setupWorker } from 'msw/browser'; +import { handlers } from './handlers'; + +export const worker = setupWorker(...handlers); diff --git a/src/mocks/db.ts b/src/mocks/db.ts new file mode 100644 index 0000000..194ae27 --- /dev/null +++ b/src/mocks/db.ts @@ -0,0 +1,12 @@ +// Mutable in-memory "database" backing the mock API. Handlers mutate this +// directly (start a visit, add a dependent, fund an intent) so state +// persists across requests for the lifetime of the dev server β€” and resets +// on `Reset fixture data` in the dev panel or on reload. Never imported by +// application code; only by src/mocks/**. +import { createSeedDb, type MockDb } from './fixtures'; + +export let db: MockDb = createSeedDb(); + +export function resetDb(): void { + db = createSeedDb(); +} diff --git a/src/mocks/fixtures.ts b/src/mocks/fixtures.ts new file mode 100644 index 0000000..8b0cd99 --- /dev/null +++ b/src/mocks/fixtures.ts @@ -0,0 +1,665 @@ +// Seed fixtures for the mock API (issue #95). Everything here is +// DELIBERATELY FAKE: names use Placeholder/Example/Demo personas and all +// emails use the RFC 2606 reserved `example.test` domain so no fixture +// can ever be mistaken for a real person or address. Fixtures mirror the +// shapes in src/types/models.ts (which mirror docforum-core's schema) β€” +// see ARCHITECTURE_ESSENTIALS.md "Known assumptions" for which of those +// shapes are still assumed contracts. +import type { + Appointment, + CareThread, + ConsultationAddendum, + ConsultationNote, + DataExport, + Dependent, + DoctorPracticeInsights, + FacilityInvite, + FacilityMember, + FacilityWithDistance, + FulfillmentQueueItem, + HealthEntry, + MessageThread, + PaymentIntent, + RunningDelay, + User, + WalletLink, +} from '../types/models'; + +// --- Personas (one per role the dev panel can switch to) -------------------- + +export const MOCK_ACCESS_TOKEN = 'mock-access-token'; + +export const PATIENT_USER: User = { + id: 'usr-patient-demo', + email: 'pat.placeholder@example.test', + role: 'patient', + createdAt: '2026-01-05T09:00:00.000Z', + updatedAt: '2026-01-05T09:00:00.000Z', +}; + +export const DOCTOR_USER: User = { + id: 'usr-doctor-demo', + email: 'demo.doctor@example.test', + role: 'doctor', + createdAt: '2026-01-06T09:00:00.000Z', + updatedAt: '2026-01-06T09:00:00.000Z', +}; + +export const FACILITY_USER: User = { + id: 'usr-facility-demo', + email: 'frank.facility@example.test', + role: 'facility', + createdAt: '2026-01-07T09:00:00.000Z', + updatedAt: '2026-01-07T09:00:00.000Z', +}; + +export const ADMIN_USER: User = { + id: 'usr-admin-demo', + email: 'al.admin@example.test', + role: 'admin', + createdAt: '2026-01-08T09:00:00.000Z', + updatedAt: '2026-01-08T09:00:00.000Z', +}; + +/** Fixed ids used across fixtures so profile-scoped calls line up. */ +export const PATIENT_PROFILE_ID = 'prf-patient-demo'; +export const DEPENDENT_PROFILE_ID = 'prf-dependent-demo'; +export const DOCTOR_PROFILE_ID = 'prf-doctor-demo'; +export const FACILITY_ID = 'fac-demo-pharmacy'; + +// --- Seed database ----------------------------------------------------------- + +export interface MockDb { + dependents: Dependent[]; + healthEntries: HealthEntry[]; + dataExport: DataExport | null; + careThreads: CareThread[]; + appointments: Appointment[]; + runningDelay: RunningDelay; + messageThreads: MessageThread[]; + consultationNotes: ConsultationNote[]; + insights: DoctorPracticeInsights; + facilities: FacilityWithDistance[]; + facilityMembers: FacilityMember[]; + facilityInvites: FacilityInvite[]; + fulfillmentQueue: FulfillmentQueueItem[]; + walletLink: WalletLink | null; + paymentIntents: PaymentIntent[]; + consultationAddenda: ConsultationAddendum[]; // flattened, noteId-keyed lookups below +} + +export function createSeedDb(): MockDb { + const dependents: Dependent[] = [ + { + id: 'dep-demo-1', + guardianProfileId: PATIENT_PROFILE_ID, + fullName: 'Tyke Placeholder', + dateOfBirth: '2015-04-01', + relationship: 'parent', + handoverStatus: 'invited', + claimEmail: 'tyke.placeholder@example.test', + claimInviteExpiresAt: '2026-10-25T09:00:00.000Z', + createdAt: '2026-02-01T10:00:00.000Z', + updatedAt: '2026-10-10T10:00:00.000Z', + }, + { + id: 'dep-demo-2', + guardianProfileId: PATIENT_PROFILE_ID, + fullName: 'Junior Placeholder', + dateOfBirth: '2010-07-15', + relationship: 'guardian', + handoverStatus: 'not_eligible', + createdAt: '2026-03-01T10:00:00.000Z', + updatedAt: '2026-03-01T10:00:00.000Z', + }, + ]; + + const healthEntries: HealthEntry[] = [ + { + id: 'hev-demo-allergy-1', + patientProfileId: PATIENT_PROFILE_ID, + section: 'allergies', + name: 'Peanuts (fake)', + details: 'Demo fixture β€” severe reaction, carries an auto-injector (not real).', + version: 1, + updatedAt: '2026-05-01T10:00:00.000Z', + createdAt: '2026-05-01T10:00:00.000Z', + }, + { + id: 'hev-demo-condition-1', + patientProfileId: PATIENT_PROFILE_ID, + section: 'conditions', + name: 'Sample asthma (fake)', + details: 'Demo fixture β€” mild, exercise-induced.', + version: 2, + previousValue: 'Sample asthma (fake), mild', + updatedAt: '2026-06-01T10:00:00.000Z', + createdAt: '2026-06-01T10:00:00.000Z', + }, + { + id: 'hev-demo-medication-1', + patientProfileId: PATIENT_PROFILE_ID, + section: 'medications', + name: 'Demo Vitamin D 1000 IU', + details: 'Demo fixture β€” once daily.', + version: 1, + updatedAt: '2026-07-01T10:00:00.000Z', + createdAt: '2026-07-01T10:00:00.000Z', + }, + ]; + + const dataExport: DataExport = { + id: 'exp-demo-1', + patientProfileId: PATIENT_PROFILE_ID, + status: 'ready', + requestedAt: '2026-10-17T09:00:00.000Z', + readyAt: '2026-10-17T09:02:00.000Z', + expiresAt: '2026-10-18T09:02:00.000Z', + fileSizeBytes: 20480, + downloadUrl: null, + errorMessage: null, + }; + + const careThreads: CareThread[] = [ + { + id: 'cth-demo-1', + patientProfileId: PATIENT_PROFILE_ID, + title: 'Demo cough consult (fake)', + doctorName: 'Dr. Ficticia Example', + specialty: 'General practice (demo)', + startedAt: '2026-10-01T09:00:00.000Z', + updatedAt: '2026-10-09T12:00:00.000Z', + status: 'active', + steps: [ + { + id: 'st-demo-1', + stepType: 'appointment', + title: 'Appointment booked (demo)', + description: 'Demo fixture appointment with Dr. Ficticia Example.', + status: 'completed', + timestamp: '2026-10-01T09:00:00.000Z', + }, + { + id: 'st-demo-2', + stepType: 'consultation', + title: 'Consultation completed (demo)', + description: 'Demo consultation notes recorded.', + status: 'completed', + timestamp: '2026-10-08T10:00:00.000Z', + }, + { + id: 'st-demo-3', + stepType: 'order', + title: 'Lab order placed (demo)', + description: 'Fake full blood count sent to Demo Lab.', + status: 'in_progress', + timestamp: '2026-10-08T10:15:00.000Z', + }, + { + id: 'st-demo-4', + stepType: 'payment', + title: 'Escrow funded (demo)', + description: 'Fake payment intent funded and held in escrow.', + status: 'pending', + }, + ], + }, + { + id: 'cth-demo-2', + patientProfileId: PATIENT_PROFILE_ID, + title: 'Demo vaccination visit (fake)', + doctorName: 'Dr. Ficticia Example', + specialty: 'General practice (demo)', + startedAt: '2026-08-10T09:00:00.000Z', + updatedAt: '2026-08-10T11:00:00.000Z', + status: 'completed', + steps: [ + { + id: 'st-demo-5', + stepType: 'appointment', + title: 'Appointment completed (demo)', + description: 'Demo fixture vaccination visit.', + status: 'completed', + timestamp: '2026-08-10T11:00:00.000Z', + }, + ], + }, + ]; + + const appointments: Appointment[] = [ + { + id: 'apt-demo-1', + doctorProfileId: DOCTOR_PROFILE_ID, + patientProfileId: PATIENT_PROFILE_ID, + patientName: 'Pat Placeholder', + startsAt: '2026-10-18T08:00:00.000Z', + endsAt: '2026-10-18T08:30:00.000Z', + status: 'completed', + reason: 'Demo follow-up (fake)', + checkInAt: '2026-10-18T07:55:00.000Z', + startedAt: '2026-10-18T08:05:00.000Z', + completedAt: '2026-10-18T08:28:00.000Z', + }, + { + id: 'apt-demo-2', + doctorProfileId: DOCTOR_PROFILE_ID, + patientProfileId: 'prf-patient-2', + patientName: 'Sam Example', + startsAt: '2026-10-18T09:00:00.000Z', + endsAt: '2026-10-18T09:30:00.000Z', + status: 'in_progress', + reason: 'Demo chest pain assessment (fake)', + checkInAt: '2026-10-18T08:52:00.000Z', + startedAt: '2026-10-18T09:07:00.000Z', + completedAt: null, + }, + { + id: 'apt-demo-3', + doctorProfileId: DOCTOR_PROFILE_ID, + patientProfileId: 'prf-patient-3', + patientName: 'Quinn Example', + startsAt: '2026-10-18T09:30:00.000Z', + endsAt: '2026-10-18T10:00:00.000Z', + status: 'checked_in', + reason: 'Demo prescription review (fake)', + checkInAt: '2026-10-18T09:20:00.000Z', + startedAt: null, + completedAt: null, + }, + { + id: 'apt-demo-4', + doctorProfileId: DOCTOR_PROFILE_ID, + patientProfileId: 'prf-patient-4', + patientName: 'Robin Sample', + startsAt: '2026-10-18T10:00:00.000Z', + endsAt: '2026-10-18T10:30:00.000Z', + status: 'scheduled', + reason: 'Demo new concern (fake)', + checkInAt: null, + startedAt: null, + completedAt: null, + }, + { + id: 'apt-demo-5', + doctorProfileId: DOCTOR_PROFILE_ID, + patientProfileId: 'prf-patient-5', + patientName: 'Morgan Testdata', + startsAt: '2026-10-18T10:30:00.000Z', + endsAt: '2026-10-18T11:00:00.000Z', + status: 'no_show', + reason: 'Demo no-show (fake)', + checkInAt: null, + startedAt: null, + completedAt: null, + }, + ]; + + const runningDelay: RunningDelay = { + computedDelayMin: 12, + manualOverrideMin: null, + effectiveDelayMin: 12, + }; + + const messageThreads: MessageThread[] = [ + { + id: 'mth-demo-1', + patientProfileId: PATIENT_PROFILE_ID, + patientName: 'Pat Placeholder', + lastMessageAt: '2026-10-18T07:10:00.000Z', + unreadCount: 3, + lastPreview: 'Demo message (fake): my cough got worse overnight…', + waitingMinutes: 185, + closingSoon: true, + }, + { + id: 'mth-demo-2', + patientProfileId: 'prf-patient-2', + patientName: 'Sam Example', + lastMessageAt: '2026-10-18T08:45:00.000Z', + unreadCount: 1, + lastPreview: 'Demo message (fake): when should I take the new tablets?', + waitingMinutes: 90, + closingSoon: false, + }, + { + id: 'mth-demo-3', + patientProfileId: 'prf-patient-3', + patientName: 'Quinn Example', + lastMessageAt: '2026-10-17T16:20:00.000Z', + unreadCount: 0, + lastPreview: 'Demo message (fake): thanks doctor!', + waitingMinutes: null, + closingSoon: false, + }, + { + id: 'mth-demo-4', + patientProfileId: 'prf-patient-6', + patientName: 'Casey Fixture', + lastMessageAt: '2026-10-18T08:00:00.000Z', + unreadCount: 2, + lastPreview: 'Demo message (fake): pharmacy says my order is not ready…', + waitingMinutes: 120, + closingSoon: true, + }, + ]; + + const consultationAddenda: ConsultationAddendum[] = [ + { + id: 'cad-demo-1', + noteId: 'not-demo-signed', + content: 'Demo addendum (fake): patient called to confirm dosage.', + createdAt: '2026-10-16T12:00:00.000Z', + }, + ]; + + const consultationNotes: ConsultationNote[] = [ + { + id: 'not-demo-unsigned', + appointmentId: 'apt-demo-2', + content: + 'Demo consultation note (fake). Patient reports mild symptoms. Plan: rest, fluids, review in one week. No real medical data lives in this fixture.', + signedAt: null, + signedBy: null, + autoSignOffAt: '2026-10-19T09:00:00.000Z', + addenda: [], + }, + { + id: 'not-demo-signed', + appointmentId: 'apt-demo-1', + content: 'Demo consultation note (fake), already signed off.', + signedAt: '2026-10-18T08:35:00.000Z', + signedBy: 'Dr. Demo Doctor (fake)', + autoSignOffAt: null, + addenda: consultationAddenda.filter((a) => a.noteId === 'not-demo-signed'), + }, + ]; + + const insights: DoctorPracticeInsights = { + doctorProfileId: DOCTOR_PROFILE_ID, + range: { preset: '30d', startDate: '2026-09-18', endDate: '2026-10-18' }, + generatedAt: '2026-10-18T06:00:00.000Z', + utilisation: { + weeks: [ + { + weekLabel: 'Sep 21', + startDate: '2026-09-21', + endDate: '2026-09-27', + offeredSlots: 40, + bookedSlots: 31, + completedSlots: 28, + utilisationRate: 77.5, + }, + { + weekLabel: 'Sep 28', + startDate: '2026-09-28', + endDate: '2026-10-04', + offeredSlots: 40, + bookedSlots: 34, + completedSlots: 30, + utilisationRate: 85, + }, + { + weekLabel: 'Oct 5', + startDate: '2026-10-05', + endDate: '2026-10-11', + offeredSlots: 40, + bookedSlots: 26, + completedSlots: 24, + utilisationRate: 65, + }, + { + weekLabel: 'Oct 12', + startDate: '2026-10-12', + endDate: '2026-10-18', + offeredSlots: 40, + bookedSlots: 33, + completedSlots: 21, + utilisationRate: 82.5, + }, + ], + overallOfferedSlots: 160, + overallBookedSlots: 124, + overallUtilisationRate: 77.5, + sampleSizeWarning: false, + }, + noShows: { + totalScheduled: 124, + completedVisits: 103, + noShows: 9, + lateCancellations: 5, + onTimeCancellations: 7, + noShowRate: 7.3, + lateCancelRate: 4, + sampleSizeWarning: false, + }, + referrals: { + totalSent: 14, + totalAccepted: 10, + totalPending: 4, + averageAcceptanceHours: 30.5, + medianAcceptanceHours: 22, + breakdownUnder24h: 6, + breakdown24to48h: 3, + breakdownOver48h: 1, + sampleSizeWarning: false, + }, + messages: { + totalThreads: 38, + averageFirstResponseMinutes: 74, + medianFirstResponseMinutes: 41, + respondedWithin2hCount: 24, + respondedWithin24hCount: 35, + rateWithin2h: 63.2, + sampleSizeWarning: false, + }, + }; + + const facilities: FacilityWithDistance[] = [ + { + id: FACILITY_ID, + userId: 'usr-facility-demo', + name: 'Demo Pharmacy (fake)', + type: 'pharmacy', + location: { + address: '1 Fixture Lane', + city: 'Sampleton', + latitude: 6.5244, + longitude: 3.3792, + }, + distanceKm: null, + isOpen: true, + phone: '+000-000-0001 (fake)', + rating: 4.6, + }, + { + id: 'fac-demo-lab', + userId: 'usr-facility-lab', + name: 'Demo Lab (fake)', + type: 'lab', + location: { + address: '2 Fixture Lane', + city: 'Sampleton', + latitude: 6.5312, + longitude: 3.3915, + }, + distanceKm: null, + isOpen: true, + phone: '+000-000-0002 (fake)', + rating: 4.2, + }, + { + id: 'fac-demo-pharmacy-2', + userId: 'usr-facility-pharmacy-2', + name: 'Example Chemist (fake)', + type: 'pharmacy', + location: { + address: '3 Example Street', + city: 'Mockford', + latitude: 6.6, + longitude: 3.45, + }, + distanceKm: null, + isOpen: false, + phone: '+000-000-0003 (fake)', + rating: 3.9, + }, + ]; + + const facilityMembers: FacilityMember[] = [ + { + id: 'fmb-demo-owner', + facilityId: FACILITY_ID, + userId: 'usr-facility-demo', + fullName: 'Frank Facility (fake)', + email: 'frank.facility@example.test', + role: 'owner', + joinedAt: '2026-01-10T09:00:00.000Z', + isCurrentUser: true, + }, + { + id: 'fmb-demo-staff', + facilityId: FACILITY_ID, + userId: 'usr-facility-staff', + fullName: 'Mo Example (fake)', + email: 'mo.example@example.test', + role: 'staff', + joinedAt: '2026-02-14T09:00:00.000Z', + isCurrentUser: false, + }, + ]; + + const facilityInvites: FacilityInvite[] = [ + { + id: 'inv-demo-1', + facilityId: FACILITY_ID, + email: 'new.staff@example.test', + role: 'staff', + invitedBy: 'usr-facility-demo', + invitedAt: '2026-10-15T09:00:00.000Z', + expiresAt: '2026-10-22T09:00:00.000Z', + status: 'pending', + }, + ]; + + const fulfillmentQueue: FulfillmentQueueItem[] = [ + { + id: 'fuq-demo-1', + facilityId: FACILITY_ID, + orderId: 'ord-demo-rx-1', + orderType: 'prescription', + patientName: 'Pat Placeholder', + patientProfileId: PATIENT_PROFILE_ID, + itemName: 'Demo Amoxicillin 500mg (fake)', + instructions: 'Demo instructions (fake): one capsule three times daily for five days.', + status: 'pending', + receivedAt: '2026-10-18T07:30:00.000Z', + attribution: null, + }, + { + id: 'fuq-demo-2', + facilityId: FACILITY_ID, + orderId: 'ord-demo-lab-1', + orderType: 'lab', + patientName: 'Sam Example', + patientProfileId: 'prf-patient-2', + itemName: 'Demo blood panel (fake)', + instructions: 'Demo instructions (fake): fasting sample required.', + status: 'pending', + receivedAt: '2026-10-18T08:05:00.000Z', + attribution: null, + }, + { + id: 'fuq-demo-3', + facilityId: FACILITY_ID, + orderId: 'ord-demo-rx-2', + orderType: 'prescription', + patientName: 'Quinn Example', + patientProfileId: 'prf-patient-3', + itemName: 'Demo Metformin 850mg (fake)', + instructions: null, + status: 'fulfilled', + receivedAt: '2026-10-17T14:00:00.000Z', + attribution: { + action: 'dispensed', + performedByUserId: 'usr-facility-staff', + performedByName: 'Mo Example (fake)', + performedByEmail: 'mo.example@example.test', + performedByRole: 'staff', + timestamp: '2026-10-17T14:40:00.000Z', + notes: 'Demo attribution (fake).', + }, + }, + ]; + + const walletLink: WalletLink = { + id: 'wln-demo-1', + facilityId: FACILITY_ID, + stellarPublicKey: 'GDEMOFAKEKEY000000000000000000000000000000000000000000000000', + createdAt: '2026-09-20T09:00:00.000Z', + updatedAt: '2026-09-20T09:00:00.000Z', + }; + + const paymentIntents: PaymentIntent[] = [ + { + id: 'pin-demo-1', + orderType: 'prescription', + orderId: 'ord-demo-rx-1', + status: 'escrowed', + patientProfileId: PATIENT_PROFILE_ID, + facilityId: FACILITY_ID, + amountStroops: '500000000', + escrowId: 'esc-demo-1 (fake)', + stellarTxHash: 'txdemo000000000000000000000000000000000000000000000000000000000001', + sorobanContractId: 'CD demo contract (fake)', + createdAt: '2026-10-17T10:00:00.000Z', + updatedAt: '2026-10-17T10:05:00.000Z', + }, + { + id: 'pin-demo-2', + orderType: 'lab_order', + orderId: 'ord-demo-lab-1', + status: 'created', + patientProfileId: 'prf-patient-2', + facilityId: FACILITY_ID, + amountStroops: '250000000', + escrowId: null, + stellarTxHash: null, + sorobanContractId: null, + createdAt: '2026-10-18T08:10:00.000Z', + updatedAt: '2026-10-18T08:10:00.000Z', + }, + { + id: 'pin-demo-3', + orderType: 'prescription', + orderId: 'ord-demo-rx-2', + status: 'released', + patientProfileId: 'prf-patient-3', + facilityId: FACILITY_ID, + amountStroops: '750000000', + escrowId: 'esc-demo-3 (fake)', + stellarTxHash: 'txdemo000000000000000000000000000000000000000000000000000000000003', + sorobanContractId: 'CD demo contract (fake)', + createdAt: '2026-10-15T10:00:00.000Z', + updatedAt: '2026-10-16T09:00:00.000Z', + }, + ]; + + return { + dependents, + healthEntries, + dataExport, + careThreads, + appointments, + runningDelay, + messageThreads, + consultationNotes, + insights, + facilities, + facilityMembers, + facilityInvites, + fulfillmentQueue, + walletLink, + paymentIntents, + consultationAddenda, + }; +} diff --git a/src/mocks/handlers.test.ts b/src/mocks/handlers.test.ts new file mode 100644 index 0000000..53932ad --- /dev/null +++ b/src/mocks/handlers.test.ts @@ -0,0 +1,414 @@ +// Tests for the mock API (issue #95). Each test drives the app's REAL +// service layer (src/services/*) through apiFetch β†’ fetch β†’ MSW, proving +// the handlers cover every endpoint the application uses and honour the +// dev panel's scenario/latency switches. Runs in the node environment so +// MSW's fetch interceptor wraps Node's global fetch. +// @vitest-environment node +import { afterAll, beforeAll, beforeEach, describe, expect, it } from 'vitest'; +import { setupServer } from 'msw/node'; +import { handlers } from './handlers'; +import { resetDb } from './db'; +import { useMockStore } from './mock-store'; +import { DOCTOR_USER, MOCK_ACCESS_TOKEN } from './fixtures'; +import { ApiError } from '../services/api-client'; +import * as authService from '../services/auth-service'; +import * as accountService from '../services/account-service'; +import * as careThreadService from '../services/care-thread-service'; +import * as consultationService from '../services/consultation-service'; +import * as dependentsService from '../services/dependents-service'; +import * as facilityService from '../services/facility-service'; +import * as facilityTeamService from '../services/facility-team-service'; +import * as healthService from '../services/health-profile-service'; +import * as insightsService from '../services/insights-service'; +import * as messagingService from '../services/messaging-service'; +import * as paymentsService from '../services/payments-service'; +import * as queueService from '../services/queue-service'; +import { FACILITY_ID, PATIENT_PROFILE_ID } from './fixtures'; + +const server = setupServer(...handlers); + +beforeAll(() => server.listen({ onUnhandledRequest: 'error' })); +afterAll(() => server.close()); +beforeEach(() => { + resetDb(); + useMockStore.setState({ scenario: 'normal', latencyMs: 0, activeRole: 'patient' }); +}); + +describe('auth', () => { + it('logs in a seeded persona by email', async () => { + const session = await authService.login({ + email: DOCTOR_USER.email, + password: 'whatever', + }); + expect(session.user.role).toBe('doctor'); + expect(session.accessToken).toBe(MOCK_ACCESS_TOKEN); + }); + + it('logs an unknown email in as the dev panel active role', async () => { + useMockStore.setState({ activeRole: 'doctor' }); + const session = await authService.login({ + email: 'someone@example.test', + password: 'whatever', + }); + expect(session.user.role).toBe('doctor'); + expect(session.user.email).toBe('someone@example.test'); + }); + + it('rejects missing credentials with a 400 envelope', async () => { + await expect( + authService.login({ email: '', password: '' }), + ).rejects.toMatchObject({ status: 400 }); + }); + + it('signs up a patient and logs out', async () => { + const session = await authService.signup({ + role: 'patient', + email: 'new.person@example.test', + password: 'x', + fullName: 'New Person (fake)', + }); + expect(session.user.role).toBe('patient'); + // apiFetch returns the parsed JSON body β€” `null` for void endpoints. + await expect(authService.logout(session.accessToken)).resolves.toBeNull(); + }); + + it('claims an account', async () => { + await expect( + dependentsService.claimAccount({ token: 't', email: 'a@example.test', password: 'x' }), + ).resolves.toBeNull(); + }); +}); + +describe('dependents', () => { + it('lists seeded dependents and adds a new one', async () => { + const seeded = await dependentsService.listDependents(MOCK_ACCESS_TOKEN); + expect(seeded).toHaveLength(2); + + await dependentsService.addDependent( + { fullName: 'New Fake Dependent', dateOfBirth: '2012-01-01', relationship: 'parent' }, + MOCK_ACCESS_TOKEN, + ); + const after = await dependentsService.listDependents(MOCK_ACCESS_TOKEN); + expect(after).toHaveLength(3); + }); + + it('updates a dependent and manages handover invites', async () => { + const updated = await dependentsService.updateDependent( + 'dep-demo-2', + { fullName: 'Renamed Placeholder', dateOfBirth: '2010-07-15', relationship: 'guardian' }, + MOCK_ACCESS_TOKEN, + ); + expect(updated.fullName).toBe('Renamed Placeholder'); + + const invited = await dependentsService.sendHandoverInvite( + 'dep-demo-2', + 'junior.claim@example.test', + MOCK_ACCESS_TOKEN, + ); + expect(invited.handoverStatus).toBe('invited'); + expect(invited.claimEmail).toBe('junior.claim@example.test'); + + const resent = await dependentsService.resendHandoverInvite('dep-demo-2', MOCK_ACCESS_TOKEN); + expect(resent.claimInviteExpiresAt).toBeTruthy(); + }); + + it('404s on an unknown dependent', async () => { + await expect( + dependentsService.updateDependent( + 'nope', + { fullName: 'x', dateOfBirth: '2000-01-01', relationship: 'parent' }, + MOCK_ACCESS_TOKEN, + ), + ).rejects.toMatchObject({ status: 404 }); + }); +}); + +describe('health profile', () => { + it('lists, adds, versions and deletes entries per section', async () => { + const allergies = await healthService.listHealthEntries( + PATIENT_PROFILE_ID, + 'allergies', + MOCK_ACCESS_TOKEN, + ); + expect(allergies).toHaveLength(1); + + const added = await healthService.addHealthEntry( + PATIENT_PROFILE_ID, + { section: 'allergies', name: 'Dust (fake)' }, + MOCK_ACCESS_TOKEN, + ); + expect(added.version).toBe(1); + + const patched = await healthService.updateHealthEntry( + PATIENT_PROFILE_ID, + added.id, + { name: 'Dust mites (fake)' }, + MOCK_ACCESS_TOKEN, + ); + expect(patched.version).toBe(2); + expect(patched.previousValue).toBe('Dust (fake)'); + + await healthService.removeHealthEntry(PATIENT_PROFILE_ID, added.id, MOCK_ACCESS_TOKEN); + const after = await healthService.listHealthEntries( + PATIENT_PROFILE_ID, + 'allergies', + MOCK_ACCESS_TOKEN, + ); + expect(after).toHaveLength(1); + }); +}); + +describe('account', () => { + it('requests, reads and downloads a data export', async () => { + const requested = await accountService.requestDataExport('pw', MOCK_ACCESS_TOKEN); + expect(requested.status).toBe('ready'); + + const current = await accountService.getDataExportStatus(MOCK_ACCESS_TOKEN); + expect(current?.id).toBe(requested.id); + + const blob = await accountService.downloadDataExport(requested.id, MOCK_ACCESS_TOKEN); + const text = await blob.text(); + expect(text).toContain('FAKE DATA EXPORT'); + }); + + it('deletes the account with a confirmation message', async () => { + const response = await accountService.deleteAccount('pw', 'DELETE', MOCK_ACCESS_TOKEN); + expect(response.success).toBe(true); + expect(response.message).toContain('Mock API'); + }); +}); + +describe('care threads', () => { + it('lists threads for a profile and fetches one by id', async () => { + const threads = await careThreadService.getCareThreads(PATIENT_PROFILE_ID, MOCK_ACCESS_TOKEN); + expect(threads.length).toBeGreaterThan(0); + + const thread = await careThreadService.getCareThreadById(threads[0].id, MOCK_ACCESS_TOKEN); + expect(thread.steps.length).toBeGreaterThan(0); + }); +}); + +describe('consultation notes', () => { + it('fetches by appointment, signs off, and appends addenda', async () => { + const note = await consultationService.getConsultationNote('apt-demo-2', MOCK_ACCESS_TOKEN); + expect(note.signedAt).toBeNull(); + + const signed = await consultationService.signOffNote(note.id, MOCK_ACCESS_TOKEN); + expect(signed.signedAt).toBeTruthy(); + + const addendum = await consultationService.addAddendum( + note.id, + { content: 'Demo addendum (fake).' }, + MOCK_ACCESS_TOKEN, + ); + expect(addendum.noteId).toBe(note.id); + }); + + it('409s when signing off twice', async () => { + await expect( + consultationService.signOffNote('not-demo-signed', MOCK_ACCESS_TOKEN), + ).rejects.toMatchObject({ status: 409 }); + }); +}); + +describe('doctor queue', () => { + it('lists appointments, derives the queue, and starts/complete visits', async () => { + const appointments = await queueService.listTodayAppointments(MOCK_ACCESS_TOKEN); + expect(appointments.length).toBe(5); + + const queue = await queueService.listQueue(MOCK_ACCESS_TOKEN); + expect(queue[0].queuePosition).toBe(1); + + const started = await queueService.startVisit('apt-demo-3', MOCK_ACCESS_TOKEN); + expect(started.status).toBe('in_progress'); + + const completed = await queueService.completeVisit('apt-demo-3', MOCK_ACCESS_TOKEN); + expect(completed.status).toBe('completed'); + + await expect(queueService.completeVisit('apt-demo-4', MOCK_ACCESS_TOKEN)).rejects.toMatchObject({ + status: 409, + }); + }); + + it('applies the running-delay override', async () => { + const delay = await queueService.getRunningDelay(MOCK_ACCESS_TOKEN); + expect(delay.effectiveDelayMin).toBe(delay.computedDelayMin); + + const overridden = await queueService.updateRunningDelay( + { manualOverrideMin: 25 }, + MOCK_ACCESS_TOKEN, + ); + expect(overridden.effectiveDelayMin).toBe(25); + + const cleared = await queueService.updateRunningDelay( + { manualOverrideMin: null }, + MOCK_ACCESS_TOKEN, + ); + expect(cleared.manualOverrideMin).toBeNull(); + expect(cleared.effectiveDelayMin).toBe(cleared.computedDelayMin); + }); +}); + +describe('messaging', () => { + it('filters threads and marks them read', async () => { + const all = await messagingService.listThreads({}, MOCK_ACCESS_TOKEN); + expect(all.threads.length).toBe(4); + expect(messagingService.totalUnread(all.threads)).toBe(6); + + const unread = await messagingService.listThreads({ filter: 'unread' }, MOCK_ACCESS_TOKEN); + expect(unread.threads.every((t) => t.unreadCount > 0)).toBe(true); + + await messagingService.markThreadRead('mth-demo-1', MOCK_ACCESS_TOKEN); + const after = await messagingService.listThreads({}, MOCK_ACCESS_TOKEN); + expect(after.threads.find((t) => t.id === 'mth-demo-1')?.unreadCount).toBe(0); + }); +}); + +describe('insights', () => { + it('returns seeded insights and echoes the requested range', async () => { + const insights = await insightsService.getDoctorPracticeInsights(MOCK_ACCESS_TOKEN); + expect(insights.utilisation.weeks.length).toBeGreaterThan(0); + + const ranged = await insightsService.getDoctorPracticeInsights(MOCK_ACCESS_TOKEN, { + preset: '7d', + startDate: '2026-10-11', + endDate: '2026-10-18', + }); + expect(ranged.range.preset).toBe('7d'); + expect(ranged.range.startDate).toBe('2026-10-11'); + }); +}); + +describe('facility finder', () => { + it('filters by type and sorts by distance when coordinates are given', async () => { + const all = await facilityService.getFacilities({}, MOCK_ACCESS_TOKEN); + expect(all.length).toBe(3); + + const labs = await facilityService.getFacilities({ type: 'lab' }, MOCK_ACCESS_TOKEN); + expect(labs.every((f) => f.type === 'lab')).toBe(true); + + const nearby = await facilityService.getFacilities( + { lat: 6.5244, lng: 3.3792 }, + MOCK_ACCESS_TOKEN, + ); + expect(nearby[0].id).toBe('fac-demo-pharmacy'); + expect(nearby[0].distanceKm).toBeLessThan(0.1); + }); +}); + +describe('facility team', () => { + it('lists members and invites, and sends an invite', async () => { + const members = await facilityTeamService.listFacilityMembers(FACILITY_ID, MOCK_ACCESS_TOKEN); + expect(members).toHaveLength(2); + + const invites = await facilityTeamService.listFacilityInvites(FACILITY_ID, MOCK_ACCESS_TOKEN); + expect(invites).toHaveLength(1); + + const invite = await facilityTeamService.inviteFacilityMember( + FACILITY_ID, + { email: 'more.staff@example.test', role: 'staff' }, + MOCK_ACCESS_TOKEN, + ); + expect(invite.status).toBe('pending'); + + await facilityTeamService.resendFacilityInvite(FACILITY_ID, invite.id, MOCK_ACCESS_TOKEN); + await facilityTeamService.revokeFacilityInvite(FACILITY_ID, invite.id, MOCK_ACCESS_TOKEN); + const after = await facilityTeamService.listFacilityInvites(FACILITY_ID, MOCK_ACCESS_TOKEN); + expect(after).toHaveLength(1); + }); + + it('refuses to remove the last owner', async () => { + await expect( + facilityTeamService.removeFacilityMember(FACILITY_ID, 'fmb-demo-owner', MOCK_ACCESS_TOKEN), + ).rejects.toMatchObject({ status: 409 }); + + const removed = await facilityTeamService.removeFacilityMember( + FACILITY_ID, + 'fmb-demo-staff', + MOCK_ACCESS_TOKEN, + ); + expect(removed.sessionsRevoked).toBe(true); + }); + + it('fulfills queue items with attribution', async () => { + const queue = await facilityTeamService.getFulfillmentQueue(FACILITY_ID, MOCK_ACCESS_TOKEN); + expect(queue).toHaveLength(3); + + const updated = await facilityTeamService.updateFulfillmentItem( + FACILITY_ID, + 'fuq-demo-1', + 'fulfilled', + MOCK_ACCESS_TOKEN, + 'Demo note (fake)', + ); + expect(updated.status).toBe('fulfilled'); + expect(updated.attribution?.performedByRole).toBe('owner'); + expect(updated.attribution?.action).toBe('dispensed'); + }); +}); + +describe('payments', () => { + it('links a wallet and drives an intent through fund β†’ release', async () => { + const wallet = await paymentsService.getOwnWalletLink(MOCK_ACCESS_TOKEN); + expect(wallet?.stellarPublicKey).toContain('GDEMOFAKE'); + + const relinked = await paymentsService.linkWallet('GNEWFAKEKEY', MOCK_ACCESS_TOKEN); + expect(relinked.stellarPublicKey).toBe('GNEWFAKEKEY'); + + const created = await paymentsService.createPaymentIntent( + { + orderType: 'prescription', + orderId: 'ord-mock-new', + patientProfileId: PATIENT_PROFILE_ID, + facilityId: FACILITY_ID, + amountStroops: '123456789', + }, + MOCK_ACCESS_TOKEN, + ); + expect(created.status).toBe('created'); + expect(created.amountStroops).toBe('123456789'); // BigInt-as-string preserved + + const funded = await paymentsService.fundPaymentIntent(created.id, MOCK_ACCESS_TOKEN); + expect(funded.status).toBe('escrowed'); + + const released = await paymentsService.releasePaymentIntent(created.id, MOCK_ACCESS_TOKEN); + expect(released.status).toBe('released'); + + await expect( + paymentsService.refundPaymentIntent(created.id, MOCK_ACCESS_TOKEN), + ).rejects.toMatchObject({ status: 409 }); + }); +}); + +describe('dev panel scenarios', () => { + it('forces 500s in the "error" scenario', async () => { + useMockStore.setState({ scenario: 'error' }); + const error = await dependentsService + .listDependents(MOCK_ACCESS_TOKEN) + .then(() => null) + .catch((e: unknown) => e); + expect(error).toBeInstanceOf(ApiError); + expect((error as ApiError).status).toBe(500); + expect((error as ApiError).message).toContain('forced server error'); + }); + + it('returns empty lists and null singletons in the "empty" scenario', async () => { + useMockStore.setState({ scenario: 'empty' }); + await expect(dependentsService.listDependents(MOCK_ACCESS_TOKEN)).resolves.toEqual([]); + await expect( + queueService.listTodayAppointments(MOCK_ACCESS_TOKEN), + ).resolves.toEqual([]); + await expect( + facilityTeamService.getFulfillmentQueue(FACILITY_ID, MOCK_ACCESS_TOKEN), + ).resolves.toEqual([]); + await expect(accountService.getDataExportStatus(MOCK_ACCESS_TOKEN)).resolves.toBeNull(); + await expect(paymentsService.getOwnWalletLink(MOCK_ACCESS_TOKEN)).resolves.toBeNull(); + }); + + it('delays responses by the configured latency', async () => { + useMockStore.setState({ latencyMs: 200 }); + const started = Date.now(); + await dependentsService.listDependents(MOCK_ACCESS_TOKEN); + expect(Date.now() - started).toBeGreaterThanOrEqual(180); + }); +}); diff --git a/src/mocks/handlers.ts b/src/mocks/handlers.ts new file mode 100644 index 0000000..b1bdb11 --- /dev/null +++ b/src/mocks/handlers.ts @@ -0,0 +1,29 @@ +// All mock handlers, composed. Order matters only where paths could +// overlap β€” specific (`/patients/me/…`) before generic (`/patients/:id/…`). +import { accountHandlers } from './handlers/account'; +import { authHandlers } from './handlers/auth'; +import { careThreadHandlers } from './handlers/care-thread'; +import { consultationHandlers } from './handlers/consultation'; +import { dependentHandlers } from './handlers/dependents'; +import { facilityTeamHandlers } from './handlers/facility-team'; +import { facilityHandlers } from './handlers/facility'; +import { healthProfileHandlers } from './handlers/health-profile'; +import { insightsHandlers } from './handlers/insights'; +import { messagingHandlers } from './handlers/messaging'; +import { paymentsHandlers } from './handlers/payments'; +import { queueHandlers } from './handlers/queue'; + +export const handlers = [ + ...authHandlers, + ...accountHandlers, + ...dependentHandlers, + ...healthProfileHandlers, + ...careThreadHandlers, + ...consultationHandlers, + ...queueHandlers, + ...messagingHandlers, + ...insightsHandlers, + ...facilityHandlers, + ...facilityTeamHandlers, + ...paymentsHandlers, +]; diff --git a/src/mocks/handlers/account.ts b/src/mocks/handlers/account.ts new file mode 100644 index 0000000..3f4aab6 --- /dev/null +++ b/src/mocks/handlers/account.ts @@ -0,0 +1,69 @@ +// Account endpoints: data export lifecycle and account deletion. +import { http, HttpResponse } from 'msw'; +import { db } from '../db'; +import { respond } from '../helpers'; +import { PATIENT_PROFILE_ID } from '../fixtures'; +import { useMockStore } from '../mock-store'; +import type { DataExport } from '../../types/models'; + +export const accountHandlers = [ + http.post( + '*/account/data-export', + respond('json', () => { + const now = new Date(); + const ready: DataExport = { + id: `exp-mock-${Date.now()}`, + patientProfileId: PATIENT_PROFILE_ID, + status: 'ready', + requestedAt: now.toISOString(), + readyAt: now.toISOString(), + expiresAt: new Date(now.getTime() + 24 * 60 * 60 * 1000).toISOString(), + fileSizeBytes: 20480, + downloadUrl: null, + errorMessage: null, + }; + db.dataExport = ready; + return ready; + }), + ), + + http.get('*/account/data-export', respond('nullable', () => db.dataExport)), + + http.get( + '*/account/data-export/:id/download', + async ({ params }) => { + const { scenario, latencyMs } = useMockStore.getState(); + if (latencyMs > 0) await new Promise((r) => setTimeout(r, latencyMs)); + if (scenario === 'error') { + return HttpResponse.json( + { message: 'Mock scenario: forced server error (dev panel)' }, + { status: 500 }, + ); + } + const payload = { + note: 'FAKE DATA EXPORT β€” generated by docforum-web mock API. Contains no real records.', + exportId: String(params.id), + generatedAt: new Date().toISOString(), + profile: { fullName: 'Pat Placeholder (fake)', dateOfBirth: '1990-01-01' }, + allergies: ['Peanuts (fake)'], + medications: ['Demo Vitamin D 1000 IU (fake)'], + }; + return new HttpResponse(JSON.stringify(payload, null, 2), { + headers: { + 'Content-Type': 'application/json', + 'Content-Disposition': 'attachment; filename="docforum-fake-export.json"', + }, + }); + }, + ), + + http.post( + '*/account/delete', + respond('json', () => ({ + success: true, + message: + 'Mock API: account "deleted" (nothing is persisted β€” fixtures reset on reload).', + deletedAt: new Date().toISOString(), + })), + ), +]; diff --git a/src/mocks/handlers/auth.ts b/src/mocks/handlers/auth.ts new file mode 100644 index 0000000..04f6be9 --- /dev/null +++ b/src/mocks/handlers/auth.ts @@ -0,0 +1,79 @@ +// Auth endpoints (signup / login / logout / claim-account). +import { http, HttpResponse } from 'msw'; +import { ADMIN_USER, DOCTOR_USER, FACILITY_USER, MOCK_ACCESS_TOKEN, PATIENT_USER } from '../fixtures'; +import { respond } from '../helpers'; +import { useMockStore } from '../mock-store'; +import type { Role, User } from '../../types/models'; + +const PERSONAS: Record = { + patient: PATIENT_USER, + doctor: DOCTOR_USER, + facility: FACILITY_USER, + admin: ADMIN_USER, +}; + +/** The seeded persona for a role, used by the dev panel role switcher. */ +export function personaForRole(role: Role): User { + return PERSONAS[role]; +} + +/** Find a seeded persona by email (so logging in as one "just works"). */ +export function personaByEmail(email: string): User | undefined { + return Object.values(PERSONAS).find((user) => user.email === email); +} + +function sessionFor(user: User) { + return { user, accessToken: MOCK_ACCESS_TOKEN }; +} + +export const authHandlers = [ + http.post( + '*/auth/signup', + respond('json', async ({ request }) => { + const body = (await request.json().catch(() => ({}))) as { + role?: Role; + email?: string; + password?: string; + fullName?: string; + }; + if (!body.email || !body.password) { + return HttpResponse.json({ message: 'Mock API: email and password are required' }, { status: 400 }); + } + const role: Role = body.role === 'doctor' ? 'doctor' : 'patient'; + return sessionFor({ + ...PERSONAS[role], + id: `usr-mock-${role}-new`, + email: body.email, + createdAt: new Date().toISOString(), + updatedAt: new Date().toISOString(), + }); + }), + ), + + http.post( + '*/auth/login', + respond('json', async ({ request }) => { + const body = (await request.json().catch(() => ({}))) as { + email?: string; + password?: string; + }; + if (!body.email || !body.password) { + return HttpResponse.json({ message: 'Mock API: email and password are required' }, { status: 400 }); + } + // Any seeded persona email logs in as that persona directly. + const known = personaByEmail(body.email); + if (known) return sessionFor(known); + // Anything else logs in as the dev panel's active role, keeping the + // submitted email so the UI feels real. + const role = useMockStore.getState().activeRole; + return sessionFor({ ...PERSONAS[role], email: body.email }); + }), + ), + + http.post('*/auth/logout', respond('void', () => null)), + + http.post( + '*/auth/claim-account', + respond('void', () => null), + ), +]; diff --git a/src/mocks/handlers/care-thread.ts b/src/mocks/handlers/care-thread.ts new file mode 100644 index 0000000..d6c905d --- /dev/null +++ b/src/mocks/handlers/care-thread.ts @@ -0,0 +1,20 @@ +// Care thread timeline endpoints. +import { http } from 'msw'; +import { db } from '../db'; +import { notFound, paramId, respond } from '../helpers'; + +export const careThreadHandlers = [ + http.get( + '*/patients/:profileId/care-threads', + respond('list', () => db.careThreads), + ), + + http.get( + '*/care-threads/:id', + respond('json', ({ params }) => { + const thread = db.careThreads.find((t) => t.id === paramId(params)); + if (!thread) return notFound('care thread'); + return thread; + }), + ), +]; diff --git a/src/mocks/handlers/consultation.ts b/src/mocks/handlers/consultation.ts new file mode 100644 index 0000000..1471382 --- /dev/null +++ b/src/mocks/handlers/consultation.ts @@ -0,0 +1,49 @@ +// Consultation note sign-off and addenda endpoints. +import { http } from 'msw'; +import { db } from '../db'; +import { conflict, notFound, paramId, respond } from '../helpers'; +import type { ConsultationAddendum } from '../../types/models'; + +export const consultationHandlers = [ + http.get( + '*/consultation-notes/:appointmentId', + respond('json', ({ params }) => { + const note = db.consultationNotes.find( + (n) => n.appointmentId === paramId(params, 'appointmentId'), + ); + if (!note) return notFound('consultation note'); + return note; + }), + ), + + http.post( + '*/consultation-notes/:id/sign-off', + respond('json', ({ params }) => { + const note = db.consultationNotes.find((n) => n.id === paramId(params)); + if (!note) return notFound('consultation note'); + if (note.signedAt) return conflict('note is already signed off and immutable'); + note.signedAt = new Date().toISOString(); + note.signedBy = 'Dr. Demo Doctor (fake)'; + note.autoSignOffAt = null; + return note; + }), + ), + + http.post( + '*/consultation-notes/:id/addenda', + respond('json', async ({ params, request }) => { + const note = db.consultationNotes.find((n) => n.id === paramId(params)); + if (!note) return notFound('consultation note'); + const body = (await request.json().catch(() => ({}))) as { content?: string }; + if (!body.content) return conflict('addendum content is required'); + const addendum: ConsultationAddendum = { + id: `cad-mock-${db.consultationNotes.length + 1}-${Date.now()}`, + noteId: note.id, + content: body.content, + createdAt: new Date().toISOString(), + }; + note.addenda = [...note.addenda, addendum]; + return addendum; + }), + ), +]; diff --git a/src/mocks/handlers/dependents.ts b/src/mocks/handlers/dependents.ts new file mode 100644 index 0000000..a4576b1 --- /dev/null +++ b/src/mocks/handlers/dependents.ts @@ -0,0 +1,70 @@ +// Dependents CRUD + handover invite endpoints. Specific `/patients/me/…` +// paths must be registered before generic `/patients/:profileId/…` ones. +import { http } from 'msw'; +import { db } from '../db'; +import { notFound, paramId, respond } from '../helpers'; +import type { Dependent, DependentInput } from '../../types/models'; + +export const dependentHandlers = [ + http.get('*/patients/me/dependents', respond('list', () => db.dependents)), + + http.post( + '*/patients/me/dependents', + respond('json', async ({ request }) => { + const body = (await request.json().catch(() => ({}))) as DependentInput; + const now = new Date().toISOString(); + const dependent: Dependent = { + id: `dep-mock-${Date.now()}`, + guardianProfileId: db.dependents[0]?.guardianProfileId ?? 'prf-patient-demo', + fullName: body.fullName ?? 'Unnamed (fake)', + dateOfBirth: body.dateOfBirth ?? '2000-01-01', + relationship: body.relationship ?? 'guardian', + handoverStatus: 'not_eligible', + createdAt: now, + updatedAt: now, + }; + db.dependents.push(dependent); + return dependent; + }), + ), + + http.patch( + '*/patients/me/dependents/:id', + respond('json', async ({ params, request }) => { + const dependent = db.dependents.find((d) => d.id === paramId(params)); + if (!dependent) return notFound('dependent'); + const body = (await request.json().catch(() => ({}))) as Partial; + Object.assign(dependent, body, { updatedAt: new Date().toISOString() }); + return dependent; + }), + ), + + http.post( + '*/patients/me/dependents/:id/handover-invite', + respond('json', async ({ params, request }) => { + const dependent = db.dependents.find((d) => d.id === paramId(params)); + if (!dependent) return notFound('dependent'); + const body = (await request.json().catch(() => ({}))) as { email?: string }; + dependent.handoverStatus = 'invited'; + dependent.claimEmail = body.email ?? dependent.claimEmail; + dependent.claimInviteExpiresAt = new Date( + Date.now() + 7 * 24 * 60 * 60 * 1000, + ).toISOString(); + dependent.updatedAt = new Date().toISOString(); + return dependent; + }), + ), + + http.post( + '*/patients/me/dependents/:id/handover-invite/resend', + respond('json', ({ params }) => { + const dependent = db.dependents.find((d) => d.id === paramId(params)); + if (!dependent) return notFound('dependent'); + dependent.claimInviteExpiresAt = new Date( + Date.now() + 7 * 24 * 60 * 60 * 1000, + ).toISOString(); + dependent.updatedAt = new Date().toISOString(); + return dependent; + }), + ), +]; diff --git a/src/mocks/handlers/facility-team.ts b/src/mocks/handlers/facility-team.ts new file mode 100644 index 0000000..11bb716 --- /dev/null +++ b/src/mocks/handlers/facility-team.ts @@ -0,0 +1,115 @@ +// Facility team management and fulfillment queue endpoints. +import { http } from 'msw'; +import { db } from '../db'; +import { conflict, notFound, paramId, respond } from '../helpers'; +import { FACILITY_USER } from '../fixtures'; +import type { + FacilityInvite, + FulfillmentActionAttribution, + FulfillmentQueueItem, +} from '../../types/models'; + +export const facilityTeamHandlers = [ + http.get('*/facilities/:facilityId/members', respond('list', () => db.facilityMembers)), + + http.get('*/facilities/:facilityId/invites', respond('list', () => db.facilityInvites)), + + http.post( + '*/facilities/:facilityId/invites', + respond('json', async ({ params, request }) => { + const facilityId = paramId(params, 'facilityId'); + const body = (await request.json().catch(() => ({}))) as { + email?: string; + role?: FacilityInvite['role']; + }; + const invite: FacilityInvite = { + id: `inv-mock-${Date.now()}`, + facilityId, + email: body.email ?? 'mystery@example.test', + role: body.role ?? 'staff', + invitedBy: FACILITY_USER.id, + invitedAt: new Date().toISOString(), + expiresAt: new Date(Date.now() + 7 * 24 * 60 * 60 * 1000).toISOString(), + status: 'pending', + }; + db.facilityInvites.push(invite); + return invite; + }), + ), + + http.post( + '*/facilities/:facilityId/invites/:inviteId/resend', + respond('json', ({ params }) => { + const invite = db.facilityInvites.find((i) => i.id === paramId(params, 'inviteId')); + if (!invite) return notFound('invite'); + invite.expiresAt = new Date(Date.now() + 7 * 24 * 60 * 60 * 1000).toISOString(); + return invite; + }), + ), + + http.delete( + '*/facilities/:facilityId/invites/:inviteId', + respond('json', ({ params }) => { + const inviteId = paramId(params, 'inviteId'); + db.facilityInvites = db.facilityInvites.filter((i) => i.id !== inviteId); + return { success: true }; + }), + ), + + http.delete( + '*/facilities/:facilityId/members/:memberId', + respond('json', ({ params }) => { + const memberId = paramId(params, 'memberId'); + const member = db.facilityMembers.find((m) => m.id === memberId); + if (!member) return notFound('member'); + const owners = db.facilityMembers.filter((m) => m.role === 'owner'); + if (member.role === 'owner' && owners.length <= 1) { + return conflict('cannot remove the last owner of a facility'); + } + db.facilityMembers = db.facilityMembers.filter((m) => m.id !== memberId); + return { + success: true, + memberId, + sessionsRevoked: true, + message: 'Mock API: member removed and their sessions revoked (fixture only).', + }; + }), + ), + + http.get( + '*/facilities/:facilityId/fulfillment-queue', + respond('list', () => db.fulfillmentQueue), + ), + + http.post( + '*/facilities/:facilityId/fulfillment-queue/:itemId/action', + respond('json', async ({ params, request }) => { + const item = db.fulfillmentQueue.find( + (q) => q.id === paramId(params, 'itemId'), + ); + if (!item) return notFound('fulfillment item'); + const body = (await request.json().catch(() => ({}))) as { + action?: 'fulfilled' | 'rejected'; + notes?: string; + }; + const action = body.action === 'rejected' ? 'rejected' : 'fulfilled'; + const attribution: FulfillmentActionAttribution = { + action: + action === 'rejected' + ? 'rejected' + : item.orderType === 'prescription' + ? 'dispensed' + : 'sample_collected', + performedByUserId: FACILITY_USER.id, + performedByName: 'Frank Facility (fake)', + performedByEmail: FACILITY_USER.email, + performedByRole: 'owner', + timestamp: new Date().toISOString(), + notes: body.notes ?? null, + }; + const updated: FulfillmentQueueItem = { ...item, status: action, attribution }; + db.fulfillmentQueue = db.fulfillmentQueue.map((q) => (q.id === item.id ? updated : q)); + return updated; + }), + ), +]; diff --git a/src/mocks/handlers/facility.ts b/src/mocks/handlers/facility.ts new file mode 100644 index 0000000..160b8e1 --- /dev/null +++ b/src/mocks/handlers/facility.ts @@ -0,0 +1,57 @@ +// Facility finder endpoint with optional distance sorting. +import { http } from 'msw'; +import { db } from '../db'; +import { respond } from '../helpers'; +import type { FacilityWithDistance } from '../../types/models'; + +const EARTH_RADIUS_KM = 6371; + +function haversineKm( + lat1: number, + lon1: number, + lat2: number, + lon2: number, +): number { + const toRad = (deg: number) => (deg * Math.PI) / 180; + const dLat = toRad(lat2 - lat1); + const dLon = toRad(lon2 - lon1); + const a = + Math.sin(dLat / 2) ** 2 + + Math.cos(toRad(lat1)) * Math.cos(toRad(lat2)) * Math.sin(dLon / 2) ** 2; + return 2 * EARTH_RADIUS_KM * Math.asin(Math.sqrt(a)); +} + +export const facilityHandlers = [ + http.get( + '*/facilities', + respond('list', ({ request }) => { + const url = new URL(request.url); + const type = url.searchParams.get('type'); + const query = url.searchParams.get('query'); + const lat = url.searchParams.get('lat'); + const lng = url.searchParams.get('lng'); + + let facilities: FacilityWithDistance[] = db.facilities.map((f) => ({ ...f })); + if (type) facilities = facilities.filter((f) => f.type === type); + if (query) { + const q = query.toLowerCase(); + facilities = facilities.filter( + (f) => f.name.toLowerCase().includes(q) || f.location?.city.toLowerCase().includes(q), + ); + } + if (lat !== null && lng !== null) { + const userLat = Number(lat); + const userLng = Number(lng); + for (const facility of facilities) { + facility.distanceKm = facility.location + ? Number( + haversineKm(userLat, userLng, facility.location.latitude, facility.location.longitude).toFixed(2), + ) + : null; + } + facilities.sort((a, b) => (a.distanceKm ?? Infinity) - (b.distanceKm ?? Infinity)); + } + return facilities; + }), + ), +]; diff --git a/src/mocks/handlers/health-profile.ts b/src/mocks/handlers/health-profile.ts new file mode 100644 index 0000000..8661aba --- /dev/null +++ b/src/mocks/handlers/health-profile.ts @@ -0,0 +1,69 @@ +// Health profile entries per section. +import { http } from 'msw'; +import { db } from '../db'; +import { notFound, paramId, respond } from '../helpers'; +import type { HealthEntry, HealthEntryInput } from '../../types/models'; + +const SECTIONS = ['allergies', 'conditions', 'medications']; + +export const healthProfileHandlers = [ + http.get( + '*/patients/:profileId/health/:section', + respond('list', ({ params }) => { + const profileId = paramId(params, 'profileId'); + const section = paramId(params, 'section'); + if (!SECTIONS.includes(section)) return notFound('health section'); + return db.healthEntries.filter( + (e) => e.patientProfileId === profileId && e.section === section, + ); + }), + ), + + http.post( + '*/patients/:profileId/health', + respond('json', async ({ params, request }) => { + const profileId = paramId(params, 'profileId'); + const body = (await request.json().catch(() => ({}))) as HealthEntryInput; + const now = new Date().toISOString(); + const entry: HealthEntry = { + id: `hev-mock-${Date.now()}`, + patientProfileId: profileId, + section: body.section ?? 'allergies', + name: body.name ?? 'Unnamed (fake)', + details: body.details, + version: 1, + updatedAt: now, + createdAt: now, + }; + db.healthEntries.push(entry); + return entry; + }), + ), + + http.patch( + '*/patients/:profileId/health/:entryId', + respond('json', async ({ params, request }) => { + const entry = db.healthEntries.find((e) => e.id === paramId(params, 'entryId')); + if (!entry) return notFound('health entry'); + const body = (await request.json().catch(() => ({}))) as { + name?: string; + details?: string; + }; + entry.previousValue = entry.name; + if (body.name !== undefined) entry.name = body.name; + if (body.details !== undefined) entry.details = body.details; + entry.version += 1; + entry.updatedAt = new Date().toISOString(); + return entry; + }), + ), + + http.delete( + '*/patients/:profileId/health/:entryId', + respond('void', ({ params }) => { + const id = paramId(params, 'entryId'); + db.healthEntries = db.healthEntries.filter((e) => e.id !== id); + return null; + }), + ), +]; diff --git a/src/mocks/handlers/insights.ts b/src/mocks/handlers/insights.ts new file mode 100644 index 0000000..7fd31ef --- /dev/null +++ b/src/mocks/handlers/insights.ts @@ -0,0 +1,28 @@ +// Doctor practice insights endpoint. +import { http } from 'msw'; +import { db } from '../db'; +import { respond } from '../helpers'; + +export const insightsHandlers = [ + http.get( + '*/doctor/insights', + respond('json', ({ request }) => { + const url = new URL(request.url); + const preset = url.searchParams.get('preset'); + const startDate = url.searchParams.get('startDate'); + const endDate = url.searchParams.get('endDate'); + const { insights } = db; + if (preset || startDate || endDate) { + return { + ...insights, + range: { + preset: (preset ?? insights.range.preset) as typeof insights.range.preset, + startDate: startDate ?? insights.range.startDate, + endDate: endDate ?? insights.range.endDate, + }, + }; + } + return insights; + }), + ), +]; diff --git a/src/mocks/handlers/messaging.ts b/src/mocks/handlers/messaging.ts new file mode 100644 index 0000000..e375d35 --- /dev/null +++ b/src/mocks/handlers/messaging.ts @@ -0,0 +1,31 @@ +// Doctor messaging inbox endpoints. +import { http } from 'msw'; +import { db } from '../db'; +import { notFound, paramId, respond } from '../helpers'; +import type { MessageThread } from '../../types/models'; + +export const messagingHandlers = [ + http.get( + '*/doctor/messages/threads', + respond('list', ({ request }) => { + const url = new URL(request.url); + const filter = url.searchParams.get('filter'); + let threads: MessageThread[] = [...db.messageThreads]; + if (filter === 'unread') threads = threads.filter((t) => t.unreadCount > 0); + if (filter === 'closing_soon') threads = threads.filter((t) => t.closingSoon); + // Assumed contract: oldest unanswered first. + threads.sort((a, b) => a.lastMessageAt.localeCompare(b.lastMessageAt)); + return { threads, nextCursor: null }; + }), + ), + + http.post( + '*/message-threads/:id/read', + respond('void', ({ params }) => { + const thread = db.messageThreads.find((t) => t.id === paramId(params)); + if (!thread) return notFound('message thread'); + thread.unreadCount = 0; + return null; + }), + ), +]; diff --git a/src/mocks/handlers/payments.ts b/src/mocks/handlers/payments.ts new file mode 100644 index 0000000..021094f --- /dev/null +++ b/src/mocks/handlers/payments.ts @@ -0,0 +1,94 @@ +// Payments endpoints: wallet link and the payment-intent lifecycle. +// Everything goes through docforum-core's API shape β€” no Stellar calls +// here (hard rule 1). Amounts stay BigInt-as-string. +import { http } from 'msw'; +import { db } from '../db'; +import { conflict, notFound, paramId, respond } from '../helpers'; +import { FACILITY_ID } from '../fixtures'; +import type { PaymentIntent } from '../../types/models'; + +const TRANSITIONS: Record = { + fund: 'escrowed', + release: 'released', + refund: 'refunded', +}; + +export const paymentsHandlers = [ + http.post( + '*/payments/wallet-link', + respond('json', async ({ request }) => { + const body = (await request.json().catch(() => ({}))) as { + stellarPublicKey?: string; + }; + if (!body.stellarPublicKey) { + return conflict('stellarPublicKey is required'); + } + const now = new Date().toISOString(); + db.walletLink = { + id: db.walletLink?.id ?? `wln-mock-${Date.now()}`, + facilityId: FACILITY_ID, + stellarPublicKey: body.stellarPublicKey, + createdAt: db.walletLink?.createdAt ?? now, + updatedAt: now, + }; + return db.walletLink; + }), + ), + + http.get('*/payments/wallet-link', respond('nullable', () => db.walletLink)), + + http.post( + '*/payments/intents', + respond('json', async ({ request }) => { + const body = (await request.json().catch(() => ({}))) as Partial; + const now = new Date().toISOString(); + const intent: PaymentIntent = { + id: `pin-mock-${Date.now()}`, + orderType: body.orderType ?? 'prescription', + orderId: body.orderId ?? `ord-mock-${Date.now()}`, + status: 'created', + patientProfileId: body.patientProfileId ?? 'prf-patient-demo', + facilityId: body.facilityId ?? FACILITY_ID, + amountStroops: body.amountStroops ?? '100000000', + escrowId: null, + stellarTxHash: null, + sorobanContractId: null, + createdAt: now, + updatedAt: now, + }; + db.paymentIntents.unshift(intent); + return intent; + }), + ), + + http.get( + '*/payments/intents/:id', + respond('json', ({ params }) => { + const intent = db.paymentIntents.find((i) => i.id === paramId(params)); + if (!intent) return notFound('payment intent'); + return intent; + }), + ), + + ...(['fund', 'release', 'refund'] as const).map((action) => + http.post( + `*/payments/intents/:id/${action}`, + respond('json', ({ params }) => { + const intent = db.paymentIntents.find((i) => i.id === paramId(params)); + if (!intent) return notFound('payment intent'); + if (intent.status !== 'created' && action === 'fund') { + return conflict(`cannot fund an intent in status "${intent.status}"`); + } + if (intent.status !== 'escrowed' && (action === 'release' || action === 'refund')) { + return conflict(`cannot ${action} an intent in status "${intent.status}"`); + } + intent.status = TRANSITIONS[action]; + intent.escrowId = intent.escrowId ?? `esc-mock-${Date.now()} (fake)`; + intent.stellarTxHash = `txdemo${Date.now().toString().padStart(52, '0')}`; + intent.sorobanContractId = intent.sorobanContractId ?? 'CD mock contract (fake)'; + intent.updatedAt = new Date().toISOString(); + return intent; + }), + ), + ), +]; diff --git a/src/mocks/handlers/queue.ts b/src/mocks/handlers/queue.ts new file mode 100644 index 0000000..976ba95 --- /dev/null +++ b/src/mocks/handlers/queue.ts @@ -0,0 +1,83 @@ +// Doctor queue endpoints: today's appointments, live queue, start/complete +// visits, running delay with manual override. +import { http } from 'msw'; +import { db } from '../db'; +import { conflict, notFound, paramId, respond } from '../helpers'; +import type { Appointment, QueueEntry } from '../../types/models'; + +function deriveQueue(appointments: Appointment[]): QueueEntry[] { + return appointments + .filter((apt) => apt.checkInAt !== null) + .sort((a, b) => String(a.checkInAt).localeCompare(String(b.checkInAt))) + .map((apt, index) => ({ + appointmentId: apt.id, + patientProfileId: apt.patientProfileId, + fullName: apt.patientName, + checkedInAt: String(apt.checkInAt), + queuePosition: index + 1, + status: + apt.status === 'in_progress' + ? 'in_progress' + : apt.status === 'completed' + ? 'completed' + : 'checked_in', + })); +} + +export const queueHandlers = [ + http.get( + '*/doctor/appointments/today', + respond('list', () => + [...db.appointments].sort((a, b) => a.startsAt.localeCompare(b.startsAt)), + ), + ), + + http.get('*/doctor/queue/today', respond('list', () => deriveQueue(db.appointments))), + + http.post( + '*/appointments/:id/start', + respond('json', ({ params }) => { + const apt = db.appointments.find((a) => a.id === paramId(params)); + if (!apt) return notFound('appointment'); + if (apt.status === 'completed') return conflict('cannot start a completed visit'); + if (apt.status === 'in_progress') return apt; // idempotent, per assumed contract + apt.status = 'in_progress'; + apt.startedAt = new Date().toISOString(); + return apt; + }), + ), + + http.post( + '*/appointments/:id/complete', + respond('json', ({ params }) => { + const apt = db.appointments.find((a) => a.id === paramId(params)); + if (!apt) return notFound('appointment'); + if (apt.status === 'scheduled' || apt.status === 'checked_in') { + return conflict('visit has not started yet'); + } + apt.status = 'completed'; + apt.completedAt = new Date().toISOString(); + return apt; + }), + ), + + http.get('*/doctor/queue/running-delay', respond('json', () => db.runningDelay)), + + http.patch( + '*/doctor/queue/running-delay', + respond('json', async ({ request }) => { + const body = (await request.json().catch(() => ({}))) as { + manualOverrideMin?: number | null; + }; + const override = body.manualOverrideMin ?? null; + db.runningDelay = { + ...db.runningDelay, + manualOverrideMin: override, + effectiveDelayMin: override ?? db.runningDelay.computedDelayMin, + }; + return db.runningDelay; + }), + ), +]; + +export { deriveQueue }; diff --git a/src/mocks/helpers.ts b/src/mocks/helpers.ts new file mode 100644 index 0000000..ca1532e --- /dev/null +++ b/src/mocks/helpers.ts @@ -0,0 +1,72 @@ +// Shared plumbing for mock handlers: applies the dev-panel scenario +// (forced errors, empty datasets) and artificial latency uniformly, so +// individual handlers only express the happy path + domain logic. +import { HttpResponse, type PathParams } from 'msw'; +import { useMockStore } from './mock-store'; + +type AnyHttpResponse = HttpResponse; + +export interface MockResolverArgs { + params: PathParams; + request: Request; +} + +export type MockResolveFn = ( + args: MockResolverArgs, +) => unknown | Promise; + +export type ResponseKind = + | 'json' // normal JSON body (mutations and singletons) + | 'list' // array body β€” becomes [] under the "empty" scenario + | 'nullable' // optional singleton β€” becomes null under the "empty" scenario + | 'void'; // body-less success + +const FORCED_ERROR_MESSAGE = 'Mock scenario: forced server error (dev panel)'; + +async function applyScenario(): Promise { + const { scenario, latencyMs } = useMockStore.getState(); + if (latencyMs > 0) { + await new Promise((resolve) => setTimeout(resolve, latencyMs)); + } + if (scenario === 'error') { + return HttpResponse.json({ message: FORCED_ERROR_MESSAGE }, { status: 500 }); + } + return null; +} + +/** + * Wrap a mock resolver so every endpoint honours the dev panel's scenario + * and latency settings. Resolvers may return a bare `HttpResponse` to + * control status codes (404/409); anything else is JSON-serialized. + */ +export function respond( + kind: ResponseKind, + resolve: MockResolveFn, +): (args: MockResolverArgs) => Promise { + return async ({ params, request }) => { + const { scenario } = useMockStore.getState(); + const forced = await applyScenario(); + if (forced) return forced; + if (scenario === 'empty' && kind === 'list') return HttpResponse.json([]); + if (scenario === 'empty' && kind === 'nullable') return HttpResponse.json(null); + + const body = await resolve({ params, request }); + if (body instanceof HttpResponse) return body; + if (kind === 'void') return HttpResponse.json(null); + return HttpResponse.json(body ?? null); + }; +} + +/** 404 helper with the `{ message }` envelope api-client.ts expects. */ +export function notFound(what: string): AnyHttpResponse { + return HttpResponse.json({ message: `Mock API: ${what} not found` }, { status: 404 }); +} + +/** 409 helper with the `{ message }` envelope api-client.ts expects. */ +export function conflict(message: string): AnyHttpResponse { + return HttpResponse.json({ message: `Mock API: ${message}` }, { status: 409 }); +} + +export function paramId(params: PathParams, name = 'id'): string { + return String(params[name]); +} diff --git a/src/mocks/mock-store.ts b/src/mocks/mock-store.ts new file mode 100644 index 0000000..e4476f1 --- /dev/null +++ b/src/mocks/mock-store.ts @@ -0,0 +1,25 @@ +// Dev-panel state for mock mode (issue #95). This is client-only UI state +// for the mock tooling itself β€” not application state, and not part of +// src/store/ (that directory is app state per ARCHITECTURE_ESSENTIALS.md). +import { create } from 'zustand'; +import type { Role } from '../types/models'; + +export type MockScenario = 'normal' | 'empty' | 'error'; + +interface MockState { + scenario: MockScenario; + latencyMs: number; + activeRole: Role; + setScenario: (scenario: MockScenario) => void; + setLatencyMs: (ms: number) => void; + setActiveRole: (role: Role) => void; +} + +export const useMockStore = create((set) => ({ + scenario: 'normal', + latencyMs: 0, + activeRole: 'patient', + setScenario: (scenario) => set({ scenario }), + setLatencyMs: (latencyMs) => set({ latencyMs }), + setActiveRole: (activeRole) => set({ activeRole }), +})); diff --git a/src/mocks/roles.ts b/src/mocks/roles.ts new file mode 100644 index 0000000..d553167 --- /dev/null +++ b/src/mocks/roles.ts @@ -0,0 +1,45 @@ +// Role-switching helpers for mock mode: applies a seeded persona to the +// app's real auth/profile stores and routes to that role's home screen. +import { useAuthStore } from '../store/auth-store'; +import { useProfileStore } from '../store/profile-store'; +import { DEPENDENT_PROFILE_ID, MOCK_ACCESS_TOKEN, PATIENT_PROFILE_ID } from './fixtures'; +import { personaForRole } from './handlers/auth'; +import { useMockStore } from './mock-store'; +import type { Role } from '../types/models'; + +const HOME_BY_ROLE: Record = { + patient: '#/patient', + doctor: '#/doctor', + facility: '#/facility', + admin: '#/admin', +}; + +/** + * Sign in as the seeded persona for `role` (or switch to it). Sets the + * app's real auth session β€” mock handlers only care about the route, not + * the token β€” and routes to the role's dashboard. + */ +export function activateMockRole( + role: Role, + options: { navigate?: boolean } = {}, +): void { + const { navigate = true } = options; + useMockStore.getState().setActiveRole(role); + const persona = personaForRole(role); + useAuthStore.getState().setSession(persona, MOCK_ACCESS_TOKEN); + useProfileStore.getState().setProfiles( + role === 'patient' + ? [ + { id: PATIENT_PROFILE_ID, fullName: 'Pat Placeholder (fake)', isSelf: true }, + { id: DEPENDENT_PROFILE_ID, fullName: 'Tyke Placeholder (fake)', isSelf: false }, + ] + : [], + ); + if (navigate) window.location.hash = HOME_BY_ROLE[role]; +} + +/** Clear the session and land on the login screen (to test the real flow). */ +export function mockSignOut(): void { + useAuthStore.getState().clearSession(); + window.location.hash = '#/login'; +} diff --git a/src/mocks/setup.tsx b/src/mocks/setup.tsx new file mode 100644 index 0000000..9a5e37e --- /dev/null +++ b/src/mocks/setup.tsx @@ -0,0 +1,32 @@ +// Mock-mode bootstrap. Dynamically imported by main.tsx only when running +// `npm run dev:mock` (a DEV build with VITE_ENABLE_MOCKS=true) β€” this +// keeps MSW, the fixtures, and the dev panel entirely out of production +// bundles (enforced in CI by `npm run check:dist`). +import { createRoot } from 'react-dom/client'; +import { worker } from './browser'; +import { DevPanel } from './DevPanel'; +import { activateMockRole } from './roles'; +import { useMockStore } from './mock-store'; + +/** + * Start the mock API and mount the dev panel. Called by main.tsx via + * top-level await BEFORE the first React render, so the persona session + * exists when route guards first evaluate β€” otherwise RequireAuth would + * bounce a deep-linked protected route to #/login before the mocks boot. + */ +export function startMockApi(): void { + worker.start({ onUnhandledRequest: 'bypass' }); + + // Sign the persona in immediately. Navigate to the role's home screen + // unless the URL already deep-links a route, which we leave untouched. + // Logging in through the real login screen works too (handlers answer + // any credentials). + const hash = window.location.hash; + const deepLinked = hash !== '' && hash !== '#/' && hash !== '#'; + activateMockRole(useMockStore.getState().activeRole, { navigate: !deepLinked }); + + const panelRoot = document.createElement('div'); + panelRoot.id = 'mock-dev-panel-root'; + document.body.appendChild(panelRoot); + createRoot(panelRoot).render(); +} diff --git a/src/query-client.ts b/src/query-client.ts new file mode 100644 index 0000000..ef21bc0 --- /dev/null +++ b/src/query-client.ts @@ -0,0 +1,13 @@ +// Single shared React Query client. Exported so the mock dev panel +// (issue #95) can invalidate every cache when the scenario/role changes β€” +// main.tsx mounts the same instance, so app behaviour is unchanged. +import { QueryClient } from '@tanstack/react-query'; + +export const queryClient = new QueryClient({ + defaultOptions: { + queries: { + retry: 1, + refetchOnWindowFocus: false, + }, + }, +}); diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts index d43868c..ebce044 100644 --- a/src/vite-env.d.ts +++ b/src/vite-env.d.ts @@ -2,6 +2,8 @@ interface ImportMetaEnv { readonly VITE_API_BASE_URL?: string; + /** Set only by `npm run dev:mock` β€” enables the MSW mock API (issue #95). */ + readonly VITE_ENABLE_MOCKS?: string; } interface ImportMeta {